2009-07-17 75 views
34

我有一些長時間運行的腳本,需要輸入/交互才能繼續,但是當我切換到另一個窗口時,我希望通過聲音通知任務已完成,現在正在等待輸入。在一個bash腳本/命令中,我怎樣才能使PC發出嘟嘟聲,或播放聲音文件?

我寧願能夠播放音頻片段(* .mp3,* .ogg等),但不會在乎是否唯一的解決方案是使PC揚聲器發出嘟嘟聲。

任何想法?我可以安裝任何CLI實用程序,播放聲音,然後我可以在需要時執行。

僅供參考:我的系統正在運行WinXP Pro。

更新: Doh!我的Windows>控制面板>聲音>默認蜂鳴聲:設置爲(無)。 Grrr ...

問題已解決。

回答

31

嘗試這種情況:

回波^ g

(^ G由CTRL + G獲得)。

注意:您不能將此代碼複製並粘貼到批處理文件中,它將不起作用。爲了獲得在文件中的^ G字,輸入一個cmd窗口:

回波^ g> beep.txt

(再次,^ G由CTRL + G獲得)。

然後你將有一個名爲beep.txt的文件,用記事本打開它,會有一個方形字符。這是我們的^ G,一旦它被保存在一個文件中。

然後,您可以將它複製並粘貼到批處理文件中以發出聲音(不要忘記在其前面放置「echo」)。

+0

我們在談論一個.bat或.cmd文件,對吧? 你說你正在運行Windows XP,但你說的是一個「bash」腳本,它是一個linux命令解釋器。 – FWH 2009-07-17 13:52:40

+0

它可能是我猜測的任何東西...... a * .sh,別名,* .bat或* .cmd。我應該澄清一下,我目前正在運行一個別名......這反映了一堆調用運行* .sh腳本的問題。所以我可以把「聲音」位放在那裏。 – scunliffe 2009-07-17 13:56:49

+23

在大多數shell(但不是command/cmd)中,需要Ctrl-V Ctrl-G才能輸入^ G。 – ephemient 2009-07-17 20:52:18

76

這將使嗶音從bash的內

echo -en "\007" 
5

拷貝CON beep.bat [確定]

@迴響[確定]

回波一個[Ctrl + G] [ Enter]

[Ctrl + Z] [Enter]

beep.bat如下

PROMPT_COMMAND="echo -en '\a'"

然後bash將發出嘟嘟聲在每次顯示提示時間[確定]

5

通過設置此變量。當你不需要它了,

unset PROMPT_COMMAND

2

要播放從Windows命令行的系統聲音,你可以運行:

rundll32 user32.dll,MessageBeep 

應該在所有Windows版本中使用。

相關問題