%EB%8A%94%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EC%8B%9C%EB%8F%84%ED%95%98%EB%8A%94%20%EA%B2%BD%EC%9A%B0%EC%97%90%EB%8F%84%20%EC%B6%9C%EB%A0%A5%EC%9D%B4%20%ED%91%9C%EC%8B%9C%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8F%84%EB%A1%9D%20%EB%B0%A9%EC%A7%80%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
잘못된 작업을 수행하는 bash 스크립트가 있습니다. 그래서 Ctrl-C를 눌러 중지했습니다.
이제 터미널에 표시되는 출력은 실행 중인 프로세스에서 생성된 모든 출력입니다. Ctrl-C는 무언가를 출력하려는 프로세스가 이미 수행 중인 작업을 실행/완료한 경우에도 출력 인쇄를 방지합니다.
그래서 저는 이렇게 합니다:
for i in *; do rm -vf $i; done
removed 'file'
이제 화면의 모든 메시지가 삭제되었으며 다른 메시지는 삭제되지 않았는지 확인할 수 있습니까 ?
관련 정보일 수도 있습니다. 저는 SSH를 통해 스크린 세션에서 작업하고 있습니다.
답변1
본질적으로예.
쉘 프로세스가 Ctrl-C
인터럽트를 포착한 후 중지합니다.
for
그러나 루프의 백그라운드에서 cmd가 실행될 수 있다는 등 몇 가지 주의 사항이 있습니다 .
또한 일부 명령은 너무 빨리 실행되어 셸에서 빠른 응답을 얻지 못합니다(특히원격으로 연결하세요! )가지다또는언제실제로 Ctrl-C를 사용하여 "인터럽트"를 받았습니다.