我被这种方法困住了,它会扫描argv以查找是否使用<或>来指示输入或输出重定向
//命令[参数] [
我正在实现重定向方法,该方法打开一个文件以从中读取/写入文件。 任何帮助将不胜感激。
void do_redirect(char **argv)
{
int i;
for(i=0; argv[i]; i++)
{
if (!strcmp(argv[i],"<")) {
int fp1 = open(argv[i+1] , O_WRONLY|O_CREAT, 0);
dup2(fp1, STDIN_FILENO);
argv[i]=NULL;
close(fp1);
}
else if (!strcmp(argv[i],">")) {
int fp2 = open(argv[i+1] , O_WRONLY|O_CREAT, 0);
dup2(fp2, STDOUT_FILENO);
argv[i]=NULL;
close(fp2);
}
}
}