我想在标准终端应用程序中运行的自动脚本中发出 2-3 条快速、连续的警报。
我已经能够使用 发出单个警报echo -e '\a'
。但是,当我尝试使用 发出多个警报时echo -e '\a\a'
,两个警报之间有明显的(约 1 秒)延迟。
如果我以交互方式输入命令,我可以通过输入echo -e '\a'
、按向上箭头检索最后一个命令并再次按回车键来触发快速、连续的警报。除了我输入第二个命令所花的时间外,第一个和第二个警报之间没有明显的延迟。
但是,我希望能够通过自动脚本执行此操作,因此我希望能够避免警报之间的延迟,而不必通过键盘手动输入命令。
规格:MacBook Pro(14 英寸,2021 年)/ Apple M1 Pro 芯片 / macOS Monterey 12.3.1
目的是能够发出远程执行的长时间运行命令的失败/成功信号。在本地运行这些类型的命令时,我使用包装器say
通过文本转语音告诉我命令是成功还是失败。对于远程执行的命令,如果文本转语音不是选项或不值得麻烦,我希望能够使用警报数量来了解命令的状态,而无需在多个警报之间长时间延迟。
答案1
看来你不能同时发出两声蜂鸣。
两声哔声之间必须稍作停顿。
我建议您使用以下功能来运行您想要的蜂鸣声量:
beepFunction () {
for ((i=0 ; i<$1 ; i++))
do
echo -e "\a"
sleep 0.2
done
}
这里我们用“sleep”来暂停0.2秒。
然后您可以用这种方式调用该函数:
# 4 beep
beepFunction 4
如果您更喜欢单行解决方案,则可以使用以下代码:
# 4 beep (0 to 3)
for v in {0..3} ; do echo -e "\a" ; sleep 0.2 ; done