Linux 命令行实用技巧与高级特性
1. 信号处理与陷阱(Traps)
在编写脚本时,尤其是大型复杂脚本,需要考虑用户在脚本运行过程中注销或关机的情况。此时,系统会向受影响的进程发送信号,脚本应能做出相应处理,以确保程序正常有序终止。
1.1 陷阱机制
Bash 提供了trap命令来实现信号处理。其语法如下:
trap argument signal [signal...]其中,argument是一个字符串,会被当作命令执行;signal是触发执行该命令的信号。
1.2 简单示例
以下是一个简单的信号处理示例:
#!/bin/bash # trap-demo: simple signal handling demo trap "echo 'I am ignoring you.'" SIGINT SIGTERM for i in {1..5}; do echo "Iteration $i of 5" sleep 5 done当用户在脚本运行时按下CTRL - C(发送SIGINT信号),脚本会忽略该信号并打印信息。
1.3 使用函数处理信号
为了更方