> 或 >>;
2> 或 2>>;
>, 1> |
標準輸出至檔案,該檔案被覆蓋或建立。 | ||
>>, 1>> |
標準輸出至檔案,該檔案被建立或累加。 | ||
| command | 2> |
裝置或檔案 | 錯誤輸出至檔案,該檔案被覆蓋或建立。 |
2>> |
錯誤輸出至檔案,該檔案被建立或累加。 |
[dywang@deyu zzz]$ ./mainfun3 /sbin/blkid a File renaming error 18: Unknown error [dywang@deyu zzz]$ ./mainfun3 /sbin/blkid a > /dev/null [dywang@deyu zzz]$ ./mainfun3 /sbin/blkid a 2> /dev/null File renaming error 18: Unknown error
[dywang@deyu zzz]$ vim mainfun4.c
[dywang@deyu zzz]$ cat mainfun4.c
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int argc, char *argv[] ) {
int result;
if(argc < 3) {
printf("Require TWO arguments\n" );
return(1);
}
result = rename( argv[1], argv[2] );
if( result != 0 ) {
fprintf(stderr,"File renaming error ");
switch(errno) {
case EPERM:
fprintf(stderr, "%d: Operation not permitted\n", errno);
break;
case ENOENT:
fprintf(stderr, "%d: File not found\n", errno);
break;
case EACCES:
fprintf(stderr, "%d: Permission denied\n", errno);
break;
default:
fprintf(stderr, "%d: Unknown error\n", errno);
}
return(2);
}
printf("%d: %s renamed to %s\n", errno, argv[1], argv[2]);
return(0);
}
[dywang@deyu zzz]$ gcc -o mainfun4 mainfun4.c
[dywang@deyu zzz]$ ./mainfun4 /sbin/blkid a > /dev/null File renaming error 18: Unknown error [dywang@deyu zzz]$ ./mainfun4 /sbin/blkid a 2> /dev/null