在bash脚本/命令中,如何使PC发出蜂鸣声或播放声音文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在bash脚本/命令中,如何使PC发出蜂鸣声或播放声音文件?相关的知识,希望对你有一定的参考价值。
我有一些长时间运行的脚本需要输入/交互才能继续,但是当我切换到另一个窗口时,我希望(通过声音)通知任务已完成并且现在正在等待输入。
我更喜欢能够播放音频片段(* .mp3,* .ogg等),但是如果唯一的解决方案是使PC扬声器发出蜂鸣声,则无关紧要。
有任何想法吗?我可以安装任何我可以安装的CLI实用程序播放声音,反过来我可以在需要时执行。
仅供参考:我的系统正在运行WinXP Pro。
更新:Doh!我的Windows>控制面板>声音>默认蜂鸣声:设置为(无)。哎呀...
问题解决了。
试试这个:
回声^ G.
(^ G由ctrl + G获得)。
注意:您无法将此代码复制并粘贴到批处理文件中,它将无法正常工作。要在文件中获取^ G字符,请键入cmd窗口:
echo ^ G> beep.txt
(再次,^ G通过ctrl + G获得)。
然后你将有一个名为beep.txt的文件,用记事本打开它,会有一个方形字符。一旦将其保存在文件中,这就是我们的^ G.
然后,您可以将其复制并粘贴到批处理文件中以发出声音(不要忘记在其前面放置“echo”)。
这将在bash中发出哔哔声
echo -en " 07"
copy con beep.bat [Enter]
@echo off [Enter]
echo [Ctrl + G] [Enter]
[Ctrl + Z] [回车]
beep.bat [Enter]
通过设置此变量如下
PROMPT_COMMAND="echo -en 'a'"
然后bash每次显示提示时都会发出哔哔声。当你不再需要它时
unset PROMPT_COMMAND
spd-say
sleep 2; spd-say 'get back to work'
如果你需要额外的动力,有-w
的无限循环:
sleep 2; while true; do spd-say -w 'get back to work'; done
通过软件包speech-dispatcher
预装在Ubuntu 14.04上:http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest我认为是盲人吗?
另见:https://askubuntu.com/questions/277215/how-to-make-a-sound-once-a-process-is-complete
还添加一个弹出窗口
这个组合是救生员,b
代表beep
:
b() ( spd-say 'done'; zenity --info --text "$(date);$(pwd)" & )
然后:
super-slow-command;b
如果我在房间的某个地方,我会听到它,并知道长期工作已经完成。
否则,当我回到计算机时,我会看到弹出窗口。
相关:How to show a GUI message box from a bash script in linux?
听听你的冷却器
我当然是在开玩笑,但是为了编译,我注意到我经常使用这个队列下意识地使用这个队列。当冷却器停止哼唱一段时间后,这意味着编译结束了!
要从Windows命令行播放系统声音,您可以运行:
rundll32 user32.dll,MessageBeep
它应该适用于所有版本的Windows。
以上是关于在bash脚本/命令中,如何使PC发出蜂鸣声或播放声音文件?的主要内容,如果未能解决你的问题,请参考以下文章