답변:
some_command
테스트 조건으로 사용할 수 있습니다 .
while ! some_command; do sleep 1; done
some_command
오류와 함께 종료되는 한 조건은 그대로 유지 됩니다.
또는 추가 검사를 수행하려는 경우 더 자세한 방법을 사용하십시오.
while ! some_command
do
# add more if desired
sleep 1
done
while ! some_command; do several; commands; sleep 1; done
이것이 until
루프의 목적입니다.
until some_command
do sleep 1
done
while
루프 의 논리적 부정입니다 .
until
루프until
루프는 계속 실행한다 한 화합물 목록 길이만큼 다른 화합물리스트 0이 아닌 종료 상태를 갖는다.
until 루프의 형식은 다음과 같습니다.
Compound-list-1까지 복합 목록 2를 수행 끝난
until
명령이 완료한다. 그렇지 않으면 복합리스트 -2 가 실행되고 프로세스가 반복된다.당신은 할 수 있습니다 :
false
while [ $? -ne 0 ] ; do
sleep 1
some_command
done
이것은 항상 1 초 먼저 잠을자는 단점이 있습니다.
여러 명령 중 하나를 종료하여 0으로 종료하려면 다음을 수행하십시오.
while true; do
if [ some_command ] ; then break ; fi
if [ some_other_command ] ; then break ; fi
sleep 1
done
물론 그것은 단지 작동합니다 some_command
[
하고 ]
명령 주변.