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 문을 다루지 않습니다.
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
반응형