Скрипт 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
Другие вопросы по тегам