Дай ошибку команды в тайм-аут - PullRequest
0 голосов
/ 02 июня 2018

Я использую функцию времени ожидания в gnome, чтобы подождать 1 секунду моего скрипта, который читает входные данные из inp.txt.Мне нужно записать вывод сценария в out.txt, поэтому я код, как это

timeout 1 myscript < inp.txt > out.txt

Проблема, с которой я столкнулся, заключается в том, что если myscript не работает (ошибка сегментации и т. Д.), Он выводит ошибку на экран.Я хочу сохранить эти сообщения в чем-то вроде Error.log, но я не понимаю, как это сделать.Я пытался

timeout 1 myscript < inp.txt > out.txt 2> Error.log

Но это дает мне это вместо ошибки myscript.

timeout: the monitored command dumped core

1 Ответ

0 голосов
/ 02 июня 2018

Используйте подоболочку с аргументами в кавычках для переноса перенаправлений, чтобы timeout не видел их:

timeout --preserve-status 1  sh -c 'exec myscript < inp.txt > out.txt 2> Error.log'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...