Итак, как работает терминал Linux.Перенаправление ввода и вывода
Если я что-то вроде ls -l
и введите команду ls -l > hello.txt
, он пишет, что было в ls -l
к hello.txt
.
Я делаю терминал самостоятельно, и я пытаюсь сделать так, чтобы, когда пользователь вводит в ту же команду ls -l > asdf.txt
, что он записывает ls -l в любой текстовый файл, который вводит пользователь.
Итак, вот что у меня есть. Моя мини-терминальная оболочка работает уже.
FILE *fp
if (strcmp(args[1], ">") == 0) {
fp = freopen(args[2], "w+", stdout);
}
fclose(fp);
Как я могу перейти к выводу того, что находится в 0-м аргументе в текстовый файл? Так что, w > hello.txt
будет выводиться в hello.txt
?
Возможный дубликат [Как записать файл с C в Linux] (http://stackoverflow.com/questions/2008267/how-to-write-a-file-with- c-in-linux) –
фактически выводит вывод команды «ls -l» в файл – Pooya
@Pooya Yeah. Вот что я хотел сказать. – JJang