Я пытаюсь реализовать перенаправление >
и <
для моей оболочки, но в моем случае, скажем, я делаю ls > output.txt
, он создает новый файл, но не записывает его в файл.Вот предварительный просмотр моего кода:
pid = fork();
if (pid == 0){
int i = 0;
for (i=0; args[i]!='\0'; i++){
int fd;
if (strcmp(args[i], ">")==0){
fd = open(args[i+1], O_CREAT|O_TRUNC | O_WRONLY, 0600);
dup2(fd, STDOUT_FILENO);
close(fd);
}
if(strcmp(args[i], "<")==0){
fd = open(args[i+1],O_RDONLY);
dup2(fd, STDOUT_FILENO);
close(fd);
}