在一个bash脚本/命令中,我怎样才能使PC发出嘟嘟声,或播放声音文件?

我有一些长时间运行的脚本,需要input/交互才能继续,但是当我切换到另一个窗口时,我希望通过声音通知任务已完成,现在正在等待input。

我宁愿能够播放audio片段(* .mp3,* .ogg等),但不会在意是否唯一的解决办法是使PC扬声器发出嘟嘟声。

有任何想法吗? 我可以安装任何CLI实用程序,播放声音,反过来我可以在需要时执行。

仅供参考:我的系统正在运行WinXP Pro。

更新:哦! 我的Windows>控制面板>声音>默认哔声:被设置为(无) 。 哎呀…

问题解决了。

尝试这个:

回声^ G

(^ G由ctrl + G获得)。

注意:你不能将这段代码复制并粘贴到一个batch file中,这将不起作用。 要获得文件中的^ G字符,请inputcmd窗口:

echo ^ G> beep.txt

(再次,通过ctrl + G获得^ G)。

然后你会有一个名为beep.txt的文件,用记事本打开,会有一个方形的字符。 这是我们的^ G一旦它被保存在一个文件中。

然后,您可以将其复制并粘贴到batch file中以发出声音(不要忘记在其前面放置“echo”)。

这将在bash内发出哔哔声

echo -en "\007" 

复制con beep.bat [Enter]

@echo关[Enter]

回声[Ctrl + G] [Enter]

[Ctrl + Z] [Enter]

beep.bat [Enter]

通过设置这个variables如下

PROMPT_COMMAND="echo -en '\a'"

那么bash会在每次显示提示时发出提示音。 当你不需要它了,

unset PROMPT_COMMAND

要从Windows命令行播放系统声音,您可以运行:

 rundll32 user32.dll,MessageBeep 

它应该适用于所有版本的Windows。

spd-say

预装在Ubuntu 14.04上:

 sleep 2; spd-say 'get back to work' 

无限循环与-w如果你需要额外的动力:

 sleep 2; while true; do spd-say -w 'get back to work'; done 

属于包装speech-dispatcher : http : //releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest为盲人我想?

同样问问Ubuntu: https : //askubuntu.com/questions/277215/make-a-sound-once-process-is-complete