我在BASH中運行各種腳本。這些使用各種程序,但主要用於編譯。例如:腳本發生錯誤時播放提示
#!/bin/bash
cp file1.txt file2.txt
pdflatex file.txt
bibtex file
pdflatex file.txt
有時候,一個程序會運行一個錯誤,它會打印出來並停止腳本的結束。有沒有辦法讓BASH腳本觸發一個響鈴,通知我發現了錯誤並且腳本已經停止?
我在BASH中運行各種腳本。這些使用各種程序,但主要用於編譯。例如:腳本發生錯誤時播放提示
#!/bin/bash
cp file1.txt file2.txt
pdflatex file.txt
bibtex file
pdflatex file.txt
有時候,一個程序會運行一個錯誤,它會打印出來並停止腳本的結束。有沒有辦法讓BASH腳本觸發一個響鈴,通知我發現了錯誤並且腳本已經停止?
echo -e "\007"
007是用於BEL或鍾ASCII。
這個系統嗶嗶?
除了cctan的答案(可以禁用)中的終端鈴聲,沒有通用的方法來做到這一點。在Linux中,可以使用「aplay」命令從命令行播放聲音文件。
可以使用trap
命令定義的退出功能,並通知您:
function exit_shell {
echo -e "Goodbye!\a"
}
trap exit_shell 1 2 3 4 5 6 7 8 10 11 12 13 14 15
# And the rest of your script goes here...
這樣一來,幾乎任何信號(除了9
或KILL
這不能被捕獲)會導致你的函數執行。 \a
將以獨立於硬件的方式發出終端響鈴(儘管它幾乎總是ASCII 0x07)。
但是,爲什麼限制自己只能聽起來可能不響。您可以使用mail
命令和手機服務提供商的電子郵件網關向您發送短信。例如,在Verizon,您可以發送電子郵件至[email protected],其中電話是您的電話號碼,不帶破折號。
function exit_shell {
echo -e "Goodbye!" | mailx -s "Command failed!" [email protected]
}
trap exit_shell 1 2 3 4 5 6 7 8 10 11 12 13 14 15
或者,你可以找到一個command line Twitter client或Facebook client,並與您的狀態更新您所有的朋友。
這太棒了!太棒了 :) – derrylwc 2012-12-21 22:38:22