我正在使用gnome上的timeout函数等待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
最佳答案
使用带引号参数的子shell包装重定向,这样timeout
就看不到它们:
timeout --preserve-status 1 sh -c 'exec myscript < inp.txt > out.txt 2> Error.log'
关于linux - 在超时内给出命令错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50655759/