Bash使用超时将输出写入文件会导致错误

时间:2015-02-28 07:57:54

标签: bash

我使用此脚本监控iBeacon蓝牙设备,它按预期工作。

sudo beacon scan -c

但是我最近将它改为运行几秒钟并将结果输出到如下文件:

sudo timeout 5 beacon scan -c > result.txt

问题是这没有任何输出,可能是命令中有错误。另外,将错误流写入文件会给我一个错误。

sudo timeout 5 beacon scan -c &> result.txt

result.txt的内容:

Set scan parameters failed: Input/output error

感觉bash正试图将&> result.txt作为参数应用于beacon scan命令。我不是很擅长bash,所以可能有一个简单的解决方案来解决这个问题,但我还没有找到一个!

1 个答案:

答案 0 :(得分:2)

一些设计为使用ctrl-c中断的程序在使用sigterm终止时行为不一样,这是默认情况下将发送的超时。尝试使用选项-s INT代替超时发送sigint。