我正在使用 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
在所有用例中运行命令