我有一个linux shell脚本,我需要每隔30分钟运行一次,所以我正在使用这样的无限for循环:
for ((i=0;;i++))
do
clear;
./myscript.sh;
sleep 30m;
done
我希望在清除之前添加一行代码,以便在每次脚本执行之前,系统会生成警报音或声音,这将使用户意识到已经过了30分钟的间隔并且脚本再次执行。有办法吗?
我目前在我的系统中没有任何外部.wav文件,可以作为警报播放。善意的建议。
答案 0 :(得分:1)
您可以向BEL
发出^G
个字符(字符代码7,/dev/console
)。请注意,只允许root用户这样做。
使用正确的转义码,您甚至可以控制嘟嘟声的长度和频率。
例如,下面的代码在cron作业中构成了布谷鸟钟: - )
#!/bin/sh
h=$(((`date +%k`+11)%12+1))
echo -en "\033[11;200]" >/dev/console
for ((i=0; i<h; i++)); do
echo -en "\033[10;600]\a"
usleep 200000
echo -en "\033[10;490]\a"
usleep 500000
done >/dev/console
echo -en "\033[10;750]\033[11;100]" >/dev/console
答案 1 :(得分:1)
对于简单的音调,您可以使用beep
命令。您可以在debian存储库中找到此命令,包名称为beep。
这是一个简单的脚本,您可以在命令行中使用它。