Linux Shell 常常會丟工作讓他去執行, ex: make, find … 等等.
通常都會等一段時間後, 回去在檢查看看是否工作已經完成, 然後繼續後續的事宜.
要怎麼讓工作完成後自動使用聲音通知呢?
從 Thinker 看到此篇文章: 怎麼發出 beep 聲?
使用 "echo $'\07'" 可以於 Shell 發出 Beep 的聲音. (Mac OS 也可以使用)
於是 Thinker 的方法是: "make ; echo $'\07'", 這樣 shell 會就在完成 make 後, 自動發出 beep 聲通知你.
這個非常實用, 只是偶爾打錯字也會出現 Beep 的聲音, 會搞混, 所以我採用下述方法:
echo $'\07'; sleep 1; echo $'\07'; sleep 1; echo $'\07'; sleep 1; echo $'\07'; sleep 1; echo $'\07';
ex:
$ find / -name test.txt; echo $'\07'; sleep 1; echo $'\07'; sleep 1; echo $'\07'; sleep 1; echo $'\07'; sleep 1; echo $'\07';
會連續叫五聲 Beep 來通知 (Sleep 1 是間隔一秒叫一聲, 如果沒有 Sleep, 只會聽到一聲而已), 這樣就可以確定是工作完成囉~ 🙂
good!看似简单一个技巧,其实可以解决很多问题。
感谢分享。btw,我拿来转到新浪微博啦~~ ^_^
發email會不會更好
不會, 因為這樣子還要跑個 SMTP, 簡單的工作就不要讓他在跑一圈了. 🙂
分享一個 相似的威力加強版方法
我是有個舊的 RS232 modem,
linux主機上,有接一台舊的 rs232 modem 數據機
在make的後面加上 撥我的手機號碼,
在去茶水間倒水 可以看有沒有來電 知道有沒有make 完。
runscript / minicom
https://www.systutorials.com/docs/linux/man/1-runscript/
https://stackoverflow.com/questions/24610085/minicom-send-automate-script
http://www.thegeekstuff.com/2013/05/modem-at-command/
linux主機上,有接一台舊的 ide 光碟機
在make的後面加上 eject 指令 ,
在去找同事幫忙看問題時 可以看有沒有光碟機拖盤彈出
來知道有沒有make 完。
https://askubuntu.com/questions/226638/how-to-eject-a-cd-dvd-from-the-command-line
註: build code的 linux 主機放在我實驗桌上。
哈哈,感謝提供,你的作法都很有意思~