2009-07-17 16 views
34

私は、入力/インタラクションが必要なブレークを持つ長時間実行されているスクリプトをいくつか持っていますが、別のウィンドウに切り替えると、タスクが完了して入力を待っていることを通知されたいと思います。bashスクリプト/コマンドで、どのようにPCのビープ音を鳴らすか、サウンドファイルを再生できますか?

私はオーディオクリップ(* .mp3、* .oggなど)を再生することができますが、唯一の解決策がPCスピーカーのビープ音を鳴らすことであれば気にしません。

アイデア?私は、私が順番に、私は必要なときに実行することができるサウンドを再生することができますインストールすることができます任意のCLIユーティリティには開いています。

FYI:My SystemはWinXP Proを実行しています。

更新日: Doh! Windowsの[コントロールパネル]> [サウンド]> [デフォルトのビープ音]を(なし)に設定しました。 Grrr ...

問題を解決しました。

答えて

31

は、これを試してください

エコー^ G

(^ Gは、CTRL + Gにより得られます)。

注:このコードをコピーしてバッチファイルに貼り付けることはできません。機能しません。 CMDウィンドウで^ Gファイルの文字、タイプ得るために:

beep.txt

エコー^ G>を(再び、^ Gは、CTRL + Gにより得られます)。

次にbeep.txtという名前のファイルがあり、メモ帳で開くと、正方形の文字が表示されます。一旦ファイルに保存されると、これは私たちの^ Gです。

これをコピーしてバッチファイルに貼り付けてサウンドを作ります(その前に "echo"を置くことを忘れないでください)。

+0

私たちは.batファイルまたは.cmdファイルについて話しています。 あなたはWindows XPを使っていると言いましたが、あなたはLinuxのコマンドインタープリタである "bash"スクリプトについて話しています。 – FWH

+0

それは私が推測する何でもかまいません... * .sh、エイリアス、* .batまたは* .cmd。私は現在、エイリアスを実行していることを明らかにする必要があります。エスコは、* .shスクリプトを実行するための呼び出しをエコーし​​ます。だから私はどこにでも "音"ビットを置くことができた。 – scunliffe

+23

ほとんどのシェル(command/cmdではありません)では、^ Gを入力するためにCtrl-V Ctrl-Gが必要です。 – ephemient

76

これは

が[エコーは[Ctrl + G]

[Enter]をオフ@echo [Enter]を詐欺beep.batコピー

echo -en "\007" 
+11

もっと簡単な選択肢: 'echo -ne '\ a''と' printf' \ a''です。また、いくつかのLinuxディストリビューション(Ubuntuなど)では、ベル音が抑止されていることに注意してください - http://askubuntu.com/questions/19906/beep-in-shell-script-not-working – mklement0

+2

Cygwinでは、ターミナルオプションでビープ音を有効にします。 – pbies

+0

私のClearOSサーバでは、bashスクリプトでecho -en "\ a">/dev/consoleを使用しています。 – Arun

5

bashの内からビープ音を行いますEnter]

[Enter]

beep.bat

PROMPT_COMMAND="echo -en '\a'"

を次のようにbashが、それはプロンプトを示すたびにビープ音であろう、この変数を設定することにより

+0

FYI:Notepad.exeはctrl-gが気に入らなかったので、このファイルをメモ帳で編集して保存したときにビープ音は鳴りません。 ASCIIとUnicodeの問題の可能性が最も高い私はその後、上記のコマンドを入力して作成したファイルを編集するためにNotepad ++を使いました。 –

5

を[入力]。あなたは、Ubuntuの14.04にプリインストールされ、もう

unset PROMPT_COMMAND

2

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-dispatcherhttp://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest私はそう思いますか?

のUbuntuを依頼で同じ:https://askubuntu.com/questions/277215/make-a-sound-once-process-is-complete

+0

ここでUbuntuプラットフォームを指していると思いますが、リンクとバージョン番号が確認されています。 OPは、もともと特定のプラットフォームに言及していませんでしたが、今質問はWindows XP(sic)と言います。これらはシステムによって異なります。 macOSでは、コマンドラインの音声合成プログラム 'say'がデフォルトでインストールされます。他の多くのシステムでは、おそらく別の名前のパッケージを見つける必要があります。私は 'espeak'がLinuxでかなり人気があると聞きます。 – tripleee

2

あなたが実行できるWindowsのコマンドラインからのシステムサウンドを再生するには:

rundll32 user32.dll,MessageBeep 

これは、Windowsのすべてのバージョンで動作するはずです。

+0

この 'rundll32.exe cmdext.dll、MessageBeepStub' – npocmaka