在腳本退出之前執行命令

在腳本退出之前執行命令

我正在使用 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?如:有沒有辦法讓腳本tshwctl --clsdio=65 在按下 ctrl+C 時退出之前執行?

答案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

相關內容