У меня есть простой скрипт, который используется для запуска другой программы. Эта другая программа может иногда выдавать SIGSEGV
, что нарушает мой вывод. Поэтому я добавил пару строк, которые должны временно перенаправить stderr
на /dev/null
, так что SIGSEGV
игнорируется. Вот черновик моего кода:
exec 2> /dev/null
progname >& ./tmp/run.txt && run_status='OK'
exec 2>1
Проблема в том, что последняя строка не делает то, что я хочу. Первая строка, очевидно, работает и перенаправляет stderr
. Предполагается, что последняя строка возвращает stderr
туда, где она была раньше (что я только предположил, совпадает с stdout
).
Любая помощь будет оценена!