Я пытаюсь передать некоторые аргументы в вызов execv:
char *const paramList[] = {"/bin/grep", "-rn", "comrade",
"/home/sgspectra/Documents/testing_grep/",
">>", "output.txt", NULL};
Я считаю, что ">>" и "output.txt" читаются как аргументы для дополнительных каталогов для поиска, а не для отправки вывода в "output.txt". Можно ли отправить аргумент, который указывал бы, что только предыдущий аргумент является каталогом?
>>
- это оболочка. Дляexecxxx()
оболочка не задействована. - person wildplasser   schedule 25.09.2018exec
не выполняет перенаправление. Вам нужно открытьoutput.txt
в режиме добавления, а затем использоватьdup2
для замены стандартного дескриптора выходного файла. И это должно произойти до того, как вы позвонитеexec
. - person user3386109   schedule 25.09.2018