重定向在不同shell下是有区别的

来源:互联网 发布:如何查询服务器端口 编辑:程序博客网 时间:2024/06/05 19:27

试验AUPE里fcntl函数获取文件状态的程序

#include<unistd.h>#include<stdio.h>#include<fcntl.h>#include<errno.h>#include<stdlib.h>#include<string.h>int main(int argc,char**argv){if(argc != 2){perror("error");exit(1);}int flag;int id;id = atoi(argv[1]);flag = fcntl(id,F_GETFL);if(flag == -1){perror("fcntl error");exit(1);}switch(flag & O_ACCMODE){case O_RDONLY:printf("read only\n");break;case O_WRONLY:printf("write only\n");break;case O_RDWR:printf("read write\n");break;default:fputs("invalid access mode\n",stderr);exit(1);}if(flag & O_APPEND){printf(", append");}if(flag & O_NONBLOCK){printf(", nonblock");}putchar('\n');return 0;}


 ./a.out 5 5<>tmp     //bash,ksh下使用文件描述符5打开tmp文件,得到是读写属性                                          
read write

./a.out 5 5<>tmp     //csh下则报错,说明csh不行
Missing name for redirect.

0 0
原创粉丝点击