반응형
Bash에서 어떻게 고리를 벗어날 수 있을까?
텍스트를 처리하기 위해 Bash 스크립트를 작성하려고 합니다.이 스크립트는 약간의 루프가 필요할 수 있습니다.
예를 들어 C의 while loop은 다음과 같습니다.
int done = 0;
while(1) {
...
if(done) break;
}
나는 그것에 상당하는 Bash 스크립트를 쓰고 싶다.하지만 제가 주로 사용하는 것은 제가 읽은 모든 고전적인 예에서 보듯이, 다음과 같습니다.
while read something;
do
...
done
어떻게 해야 하는지에 대한 도움은 없다.while(1){}
그리고.break;
C에서 잘 정의되어 널리 사용되고 있으며 stdin의 데이터를 읽을 필요가 없습니다.
위의 C 코드와 동등한 Bash를 사용할 수 있는 사람이 있습니까?
에서도 크게 다르지 않다bash
.
workdone=0
while : ; do
...
if [ "$workdone" -ne 0 ]; then
break
fi
done
:
no-op 명령어입니다.종료 상태는 항상0 이므로 루프는 다음 시간까지 실행됩니다.workdone
0이 아닌 값이 지정됩니다.
값을 설정하고 테스트할 수 있는 방법은 여러 가지가 있습니다.workdone
루프를 종료하려면 , 상기의 것은 POSIX 호환 쉘로 동작합니다.
while true ; do
...
if [ something ]; then
break
fi
done
언급URL : https://stackoverflow.com/questions/18488651/how-to-break-out-of-a-loop-in-bash
반응형
'programing' 카테고리의 다른 글
어레이를 루프하여 인덱스와 값을 모두 인쇄 (0) | 2023.04.15 |
---|---|
EPPlus를 사용하여 열 또는 셀을 읽기 전용으로 만듭니다. (0) | 2023.04.15 |
POI HSSF API를 사용하여 Excel 셀에서 날짜 값 읽기 (0) | 2023.04.15 |
목록에 개체가 이미 있는지 확인하는 방법 (0) | 2023.04.15 |
switch 문을 문자열에 적용할 수 없는 이유는 무엇입니까? (0) | 2023.04.15 |