Как я могу записать вывод терминала в файл, но оставить окно терминала активным, чтобы позволить отвечать на запросы?
Я пытаюсь запустить большой скрипт, который запрашивает ответы по пути. Я хочу запустить его в подробном режиме и, таким образом, будет значительный вывод, и я хотел бы захватить его. Поэтому я хотел бы запустить его так, чтобы я мог отвечать на вопросы, а также отправлять вывод в файл.
Можно ли это сделать?
Благодарю.
Майк
1 ответ
При ответе вы вводите данные через дескриптор файла 0, например, STDIN, а программа показывает вывод по дескриптору файла 1, например, STDOUT. Как вы можете видеть, эти двое работают над разными файловыми дескрипторами, и манипулирование одним не должно мешать работе другого.
Обратите внимание, что существует также файловый дескриптор 2, т. Е. STDERR, обычно используемый для отображения сообщений об ошибках.
В вашем случае запустите скрипт как:
./myscript.sh >~/script.out
Теперь вы можете предоставить входные ответы на вопросы скрипта через STDIN, а выходные данные программы будут сохранены в ~/script.out
,
Вы также можете сохранить ошибку, например, в другом файле:
./myscript.sh >~/script.out 2>~/script.err
STDOUT будет сохранен в ~/script.out
и STDERR будет сохранен в ~/script.err
,
Вы можете сохранить вывод и ошибку как в одном файле:
./myscript.sh >~/script.all 2>&1
Сейчас ~/script.all
будет содержать выходные данные и сообщения об ошибках (если таковые имеются) от myscript.sh
,