我使用此脚本监控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,所以可能有一个简单的解决方案来解决这个问题,但我还没有找到一个!
答案 0 :(得分:2)
一些设计为使用ctrl-c中断的程序在使用sigterm终止时行为不一样,这是默认情况下将发送的超时。尝试使用选项-s INT
代替超时发送sigint。