무한 반복되는 프로그램을 실행하려고 해서 강제로 중단시켜야 합니다. 프로그램을 실행한 후 삭제하고 싶어요. 몇 단계만 거치면 됩니다:
./MyProg
- Control+C
rm MyProg
그런데 이 작업을 자주 해야 하기 때문에 1단계와 3단계를 한 줄에 넣어서 기록을 더 쉽게 기억할 수 있도록 하고 싶습니다.
나는 다음을 시도했지만 모든 경우에 Control+ Cbreak는 실행 프로그램뿐만 아니라 전체 줄을 종료하므로 파일이 삭제되지 않습니다.
./MyProg && rm MyProg
./MyProg; rm MyProg
./MyProg || rm MyProg
전체 명령줄에 영향을 주지 않고 실행 중인 프로그램에만 인터럽트가 영향을 미치도록 만드는 방법은 무엇입니까?
답변1
trap
프로그램이 종료된 후 프로그램 내의 메커니즘을 사용하여 MyProg
정리할 수 있습니다 .
trap "rm MyProg" EXIT
MyProg가 bash 스크립트가 아닌 경우 프로그램을 bash 스크립트로 래핑할 수 있습니다.