몇 가지 예를 시도했지만 명확하지 않습니다.
첫 번째 예
#!/bin/bash
i=0
while [ $i -lt 10 ]
do
echo "$i"
i=`echo "$i + 1" | bc`
done
출력 ===> 0,1,2,3,4,5,6,7,8,9
이제 while "while [ true ] "를 실행하면 출력이 무한 루프로 표시됩니다. //동의합니다. //
그러나 while "while [ false ]"를 다시 실행하면 출력이 무한 루프로 표시됩니다. /동의하지 않습니다/
두 번째 while 루프를 설명할 수 있나요? 실제로 어떻게 작동하나요?
while [ false ] #give the infinite loop
while [ true ] #give the infinite loop
while [ 0 ] #give the infinite loop
while [ 1 ] #give the infinite loop
while [ `ls` ]
while [ `echo 1` ] #give the infinite loop
while((0)) #loop not execute
while((1)) #give the infinite loop
답변1
명령도 아니고 부울 값도 while [ false ]
아닙니다 . 명령은 사용하지만 false
연산자 는 사용하지 않으며, 비어 있지 않은 문자열이 있는지 확인합니다. 물론 . 그런 의미에서는 와 같습니다 .while
[ ... ]
[ false ]
[ faaaalseeee ]
네 말 뜻은:
while true; do ...
while false; do ...