Скрипт tcsh - выполнение команды с аргументами и запись вывода в файл
У меня есть программа readtree, которая будет читать древовидную структуру и выводить вывод в оболочку. Я хочу перенаправить вывод этой оболочки в файл. Эта программа принимает только 1 аргумент: имя файла.
Я попытался выполнить это со следующим:
./readtree filename.tree 1>&! writtenOutput.txt
и даже
./readtree filename.tree
1>&! writtenOutput.txt
Но в любом случае оболочка думает, что "1>&! writOutput.txt" являются дополнительными аргументами, и моя программа выдает ошибку, сообщающую, что передано более одного аргумента.
Мой вопрос заключается в том, как я должен сообщить оболочке, чтобы отделить команду перенаправления вывода от аргументов программы, которую я хочу запустить? Кроме того, скажем, я передал переменную программе в качестве аргумента
например. ./program firstArgument $secondArgument
1>&! writtenOutput.txt
Нужен ли мне какой-то дополнительный синтаксис для учета аргумента переменной?
Спасибо за помощь!
1 ответ
Посмотрите здесь: http://www.tcsh.org/tcsh.html/Input_output.html
Есть хорошее руководство по доступным опциям для перенаправления.
Если вы хотите разделить stderr и stdout, вы можете использовать:
(command > output-file) >& error-file