ToolkitX
知识库工具箱

高级脚本技巧

信号处理、临时文件、锁机制、调试

25min·高级

01. 信号处理

Bash 可以捕获和处理系统信号。trap 命令用于定义信号处理函数。
bash
# 捕获退出
cleanup() {
echo "清理临时文件..."
rm -f /tmp/script_$$
}
trap cleanup EXIT

# 捕获 Ctrl+C
trap 'echo "收到 SIGINT"; exit 1' INT

# 忽略信号
trap '' INT    # 忽略 Ctrl+C
trap - INT    # 恢复默认处理

02. 调试技巧

Bash 提供了多种调试手段:set 选项、trap 调试、PS4 自定义调试前缀。
bash
# set -x:打印每个命令
set -x
echo "调试模式"
set +x

# set -e:出错即退出
set -e

# set -u:使用未定义变量时报错
set -u

# 严格模式
set -euo pipefail

知识测验

1/5正确 0

trap cleanup EXIT 的作用是什么?

下一节

实战脚本示例

下一节