余苏明的幻想乡

第六 shell脚本开发规范及trap

第六 shell脚本开发规范及trap

@(shell脚本)[学习]

[toc]

基本规范

对于需要环境变量的java程序脚本等,在写脚本前,最好通过export重新声明环境变量,以免在定时任务等场合的使用中出现问题。

shell脚本的调试

shell的语法调试并不是很智能,报错也不是很精准,因此就需要我们在开发规范和书写脚本上多下功夫。

shell脚本调试技巧

  1. 使用dos2unix命令处理windows下的开发脚本
  2. 使用bash命令参数调试,-n不会执行该脚本,仅查询脚本语法是否有问题。
  3. cat -n script.sh 输出行号

    shell开发环境的配置和优化

    利用别名,将vi命令替换为vim
    echo '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 取消屏蔽