redirect.c

来自「一个实现基本功能的shell命令解释器」· C语言 代码 · 共 36 行

C
36
字号
#include "myfun.h"int redirect(char *buff){	pid_t pid;	int i, fd, wt, num;	char temp[MAX/8] = "\0";	char *argv[5];	num = cmd_cut(buff, argv);	for(i=0; i<num; i++)	{		if(strncmp(argv[i], ">", 1) == 0)		{			argv[i] = NULL;			break;		}	}	strcpy(temp, "/bin/");	strcat(temp, argv[0]);	pid = fork();//just a test func! 	if(pid == 0)	{		if((fd = open(argv[i+1], O_RDWR | O_CREAT)) < 0)			printf("error\n");		close(1);		dup2(fd, 1);		close(fd);		execv(temp, argv);		exit(1);	}	else if(pid > 0)	{		wait(&wt);	}	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?