MST

星途 面试题库

面试题:Bash中trap命令的基础应用

在Bash脚本中,如何使用trap命令捕获SIGINT信号(通常由Ctrl+C触发),并在捕获到该信号时输出一段自定义的提示信息,告知用户脚本即将中断?
39.8万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
#!/bin/bash

# 定义捕获SIGINT信号时执行的函数
trap_handler() {
    echo "脚本即将中断,你按下了Ctrl+C。"
    exit 1
}

# 捕获SIGINT信号并关联到trap_handler函数
trap trap_handler SIGINT

# 这里是脚本的主要内容,示例为一个简单的循环
for ((i = 1; i <= 10; i++)); do
    echo "当前计数: $i"
    sleep 1
done

上述脚本中:

  1. trap_handler函数定义了捕获到SIGINT信号时要执行的操作,这里输出一段提示信息并以状态码1退出脚本。
  2. trap trap_handler SIGINT语句将SIGINT信号与handler函数关联起来。
  3. 主循环用于模拟脚本的正常运行。