stashr在bash脚本中的临时重定向
发布时间:2020-12-15 21:20:28 所属栏目:安全 来源:网络整理
导读:我有一个简单的脚本,用于启动另一个程序.这个其他程序有时会产生一个SIGSEGV,这会破坏我的输出.因此我添加了几行,它们应该暂时将stderr重定向到/ dev / null,以便忽略SIGSEGV.以下是我的代码草稿: exec 2 /dev/nullprogname ./tmp/run.txt run_status='OK'e
我有一个简单的脚本,用于启动另一个程序.这个其他程序有时会产生一个SIGSEGV,这会破坏我的输出.因此我添加了几行,它们应该暂时将stderr重定向到/ dev / null,以便忽略SIGSEGV.以下是我的代码草稿:
exec 2> /dev/null progname >& ./tmp/run.txt && run_status='OK' exec 2>1 问题是最后一行不能满足我的要求.第一行显然有效,并重定向stderr.最后一行应该将stderr返回到之前的位置(我假设它与stdout相同). 任何帮助都会得到满足! 解决方法
另一种选择是:
exec 3> /dev/stderr 2> /dev/null progname >& ./tmp/run.txt && run_status='OK' exec 2>&3 甚至 exec 3>&2 2> /dev/null progname >& ./tmp/run.txt && run_status='OK' exec 2>&3 这样,脚本保留了脚本的stdout和stderr的分离(即脚本stdout和stderr可以单独重定向. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |