第六 shell脚本开发规范及trap
@(shell脚本)[学习]
[toc]
基本规范
对于需要环境变量的java程序脚本等,在写脚本前,最好通过export重新声明环境变量,以免在定时任务等场合的使用中出现问题。
shell脚本的调试
shell的语法调试并不是很智能,报错也不是很精准,因此就需要我们在开发规范和书写脚本上多下功夫。
shell脚本调试技巧
- 使用
dos2unix
命令处理windows下的开发脚本 - 使用
bash
命令参数调试,-n不会执行该脚本,仅查询脚本语法是否有问题。 cat -n script.sh
输出行号shell开发环境的配置和优化
利用别名,将vi命令替换为vimecho 'alias vi=vim' >> /etc/profile
Linux信号及trap命令
信号列表
信号 | 说明 |
---|---|
HUP(1) | 挂起,通常因终端掉线或用户退出而引发 |
INT(2) | 中断,通常因按下Ctrl+c组合键引发 |
QUIT(3) | 退出,通常因按下Ctrl+\组合键而引发 |
ABRT(6) | 中止,通常因某些严重的执行错误而引发 |
ALRM(14) | 报警,通常用来处理超时 |
TERM(15) | 终止,通常在系统关机时发送 |
TSTP(20) | 停止进程的运行,但该信号可以被处理和忽略,通常因按下Ctrl+z组合键而引发 |
使用trap控制信号
trap command signal
signal指接收到的信号,command指接收到该信号应采取的行动
使用trap '' siganl
屏蔽信号,trap ':' siganl
取消屏蔽