스크립트가 종료되기 전에 명령 실행

스크립트가 종료되기 전에 명령 실행

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

관련 정보