Bash의 루프 예제

Bash의 루프 예제

Bash에 "루프"의 예가 있습니까?

for i in {1..5}; do echo $i; done
1
2
3
4
5

그리고

for i in 1 2 3 4 5; do echo "Welcome $i times"; done
Welcome 1 times
Welcome 2 times
Welcome 3 times
Welcome 4 times
Welcome 5 times

그리고

# {START..END..INCREMENT}
for i in {0..10..2}; do echo "Welcome $i times"; done
Welcome 0 times
Welcome 2 times
Welcome 4 times
Welcome 6 times
Welcome 8 times
Welcome 10 times

그리고

for i in $(seq 1 3 20); do echo "Welcome $i times"; done
Welcome 1 times
Welcome 4 times
Welcome 7 times
Welcome 10 times
Welcome 13 times
Welcome 16 times
Welcome 19 times

그리고

for (( c=1; c<=5; c++ )); do echo "Welcome $c times..."; done
Welcome 1 times...
Welcome 2 times...
Welcome 3 times...
Welcome 4 times...
Welcome 5 times...

답변1

for는 중복됩니다.

echo -e "\n"{1..5}

1 
2 
3 
4 
5

echo -e "\nWelcome "{1..5}" times"

Welcome 1 times 
Welcome 2 times 
Welcome 3 times 
Welcome 4 times 
Welcome 5 times

재귀 함수:

toN () { max=$2 ; cur=$1; echo $cur; if (( cur < max )); then toN $((cur+1)) $max ; fi }
toN 0 5
0
1
2
3
4
5

while 루프는 약간 지루할 것입니다. 그렇죠?

i=0; while ((i < 4)); do echo $((++i)); done ;

Bash의 잘 알려지지 않은 대화형 루프는 다음을 사용하여 구축할 수 있습니다 select.

select x in cat lolcat foo bar quit
do
  echo $x
  if [[ "$x" == "quit" ]]
  then
    break
  fi
done 

1) cat
2) lolcat
3) foo
4) bar
5) quit
#? 1
cat
#? 2
lolcat
#? 2
lolcat
#? 1
cat
#? 5
quit

관련 정보