我在BASH中运行各种脚本.它们使用各种程序,但主要用于编译.例如:
#!/bin/bash
cp file1.txt file2.txt
pdflatex file.txt
bibtex file
pdflatex file.txt
Run Code Online (Sandbox Code Playgroud)
有时,程序会遇到错误,会打印出来并停止脚本完成.是否有任何方法让BASH脚本触发铃声,通知我已找到错误并且脚本已停止?
您可以使用该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...
Run Code Online (Sandbox Code Playgroud)
这样,几乎任何信号(除了9或KILL不能被捕获)都将导致您的函数执行.该\a会发出声音独立于硬件的方式,终端钟(尽管它几乎总是ASCII 0×07).
但是,为什么要将自己限制在一个可能听不到的铃声上.您可以使用mail命令和手机服务提供商的电子邮件网关向自己发送短信.例如,在Verizon中,您可以发送电子邮件至phone@vtext.com,其中phone是您的电话号码,不带破折号.
function exit_shell {
echo -e "Goodbye!" | mailx -s "Command failed!" $phone@vtext.com
}
trap exit_shell 1 2 3 4 5 6 7 8 10 11 12 13 14 15
Run Code Online (Sandbox Code Playgroud)
或者,您可以找到命令行Twitter客户端或Facebook客户端,并使用您的状态更新所有朋友.