Przekierowanie wewnątrz wywołania execvp () nie działa
Implementowałem mały program, który wykonuje daną komendę za pomocą execvp (). Działa dobrze, gdy nie używa przekierowania, ale gdy uruchomię polecenie, takie jak:
cat file1.txt > redirected.txt
cat wyświetla następujące komunikaty o błędach i kończy się niepowodzeniem:
cat: >: No such file or directory
cat: redirected.txt: No such file or directory
Zrobiłem trochę kopania i zaczynam myśleć, że być może execvp () nie może wykonywać przekierowań, ponieważ nie działa w powłoce. Czy to oznacza, że musiałbym ręcznie wybrać, kiedy nastąpi przekierowanie i użyć potoków w moim kodzie fork / exec, aby obejść to ograniczenie? Czy jest lepszy sposób niż użycie execvp ()?
Dzięki!