![bash - 루프 내에서 명령을 중지하지만 루프를 계속합니다.](https://linux55.com/image/135837/bash%20-%20%EB%A3%A8%ED%94%84%20%EB%82%B4%EC%97%90%EC%84%9C%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%A4%91%EC%A7%80%ED%95%98%EC%A7%80%EB%A7%8C%20%EB%A3%A8%ED%94%84%EB%A5%BC%20%EA%B3%84%EC%86%8D%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 다음과 같은 루프를 실행하고 있습니다 :
for ip in 10.0.0.1 10.0.0.2 10.0.0.3; do traceroute $ip; done
현재 추적 경로가 지루해지면(최대 30홉에 도달하기 전) 종료하고 다음 추적 경로로 이동할 수 있기를 원합니다. 하지만 Ctrl+를 누르면 c전체 for
루프가 종료됩니다.
traceroute
내가 필요한 것은 current 를 종료 하거나 루프를 보내는 방법이라고 생각합니다 continue
.
이 문제그리고이것비슷한 일이 진행되고 있지만 상황은 더 복잡합니다. 프롬프트에서 무언가를 실행할 때 이를 수행하는 합리적인 방법이 있습니까?
답변1
사용덫:
trap "echo ctr+c pressed" INT TERM;for ip in 10.0.0.1 10.0.0.2 10.0.0.3; do traceroute $ip; done