Linux

Linux(반복문)_2024-08-09

앵보몬 2024. 8. 9. 15:25
728x90
반응형

for 문

  • for 문의 기본형식은 다음과 같습니다.
for 변수명 in 변수값1 변수값2 변수값3 ...
do
    수행문
done

#!/bin/bash

for i in {1..5}
do
   echo "$i"
done

 

한 줄 for 문

  • 셸 프롬프트에서 한 줄 for문을 사용할 수 있습니다.
for i in {2..10};do ping -c 1 -w 1 192.168.0.$i;done

192.168.0.2 ~ 192.168.0.10 까지 ping 을 시도합니다.

  • for 문으로 ping 해서 응답있는 IP 만 출력합니다.
for i in {2..254};do ping -c 1 -w 1 -q 192.168.0.$i &>/dev/null && echo 192.168.0.$i;done

 

while 문

  • while 문의 기본형식은 다음과 같습니다.
while [ 조건문 ]
do
    수행문
done

#!/bin/bash

find . -name "my *" |  
while read file  
do  
rm "$file"
done

 

한 줄 while 문

  • 셸 프롬프트에서 한 줄 while 반복문을 사용할 수 있습니다.
while true;do df -h;sleep 5;clear;done

5초 마다 df -h 결과를 출력합니다.

while read line;do echo $line;done < /path/to/file.txt

file.txt 파일을 한 줄씩 읽어와 한 줄씩 출력합니다.

알아두기조건이 참일 때 반복하는 while 문과 달리, 조건이 거짓일 때 반복하는 until 문도 있습니다. 그러나 대부분의 상황에서 while 문으로 until 문의 기능을 대체할 수 있기 때문에, 여기서는 until 문을 다루지 않습니다.

https://wikidocs.net/230120

 

for문 예제

#!/bin/bash

#현재 디렉토리의 *.txt를 가진 모든 이름 출력
for file in *.txt # * 모든 파일
        do
                echo $file
        done
#!/bin/bash

#현재 디렉토리의 *.txt를 가진 모든 이름 출력
#num 변수에 1부터 10까지의 숫자를 순서대로 할당
for num in {1..10}
do
        echo $num
done
#!/bin/bash

# 1부터 5까지의 숫자를 생성하여 num 변수에 할당
for num in $(seq 1 5)
do
        #파일 이름을 생성
        filename="${num}.txt"

        #파일 생성
        touch "$filename"
        echo "파일 생성:$filename"
done


 

while문 예제

#!/bin/bash

while true
do
        read -p "문자열 입력 (quit으로 종료): " input
        if [ "$input" = "quit" ]; then
                break
        fi
        echo "입력한 문자열: $input"

done

 

728x90
반응형