在脚本退出之前运行命令

在脚本退出之前运行命令

我正在使用 bash 脚本测试一些硬件。

#!/bin/bash
tshwctl --setdio=65
for i in $(seq 0 1000)
do
 ./adc1
sleep 1
done
tshwctl --clrdio=65

如果我在循环完成之前按下 Ctrl+C,引脚 65 将不会被取消设置。(当然我可以稍后取消设置)有没有办法在按下后执行一个进程Ctrl+C?例如:有没有办法在按下 ctrl+C 时脚本退出之前执行脚本tshwctl --clsdio=65

答案1

您可以在shebang之后使用#!/bin/bash

trap 'tshwctl --clsdio=65 &>/dev/null' 1 2 3 15

或者您可以--clsdio从底部脚本中删除并使用:

trap 'tshwctl --clsdio=65 &>/dev/null' EXIT

EXIT在所有用例中运行命令

http://mywiki.wooledge.org/SignalTrap

相关内容