반응형
Shell 스크립트 for 반복문
기본 구문
for 변수 in [범위](리스트, 배열, 묶음)
do
명령(작업할 내용)
done
기본 형태
리스트에 대한 반복
#!/bin/bash
for item in item1 item2 item3
do
echo "Processing $item"
done
C 스타일 반복문
#!/bin/bash
for ((i=0; i<5; i++));
do
echo "Number: $i"
done
범위에 대해 반복
#!/bin/bash
for i in 1..5
do
echo "Number: $i"
done
배열에 대해 반복
#!/bin/bash
ARRAY=("apple", "banana", "melon")
for value in "${ARRAY[@]}";
do
echo ${value}
done
파일 목록에 대한 반복
#!/bin/bash
for file in /etc/*
do
if [ "${file}" == "/etc/shadow" ]; then
echo yes
break
fi
done
#!/bin/bash
FILES="$@"
for file in ${FILES}
do
if [ -f ${file}.bak ]; then
echo "${file}.bak file exists"
continue
fi
cp ${file} ${file}.bak
done
예제 스크립트
다양한 방법을 조합하여 실제 스크립트에서 for 문을 사용할 수 있습니다. 예를 들어, 특정 확장자의 파일을 찾아서 처리하는 스크립트를 작성해보겠습니다.
#!/bin/bash
# 디렉터리 내의 모든 .txt 파일에 대해 반복
for file in /path/to/directory/*.txt
do
# 파일이 존재하는지 확인
if [ -e "$file" ]; then
echo "Processing $file"
# 파일 내용을 출력 (또는 다른 작업 수행)
cat "$file"
else
echo "No .txt files found"
fi
done
이 스크립트는 지정된 디렉터리 내의 모든 .txt 파일을 찾아서 각 파일의 내용을 출력합니다. 파일이 존재하지 않는 경우 적절한 메시지를 출력합니다.
728x90
반응형
'스크립트' 카테고리의 다른 글
[shell] bash colors (0) | 2021.01.25 |
---|---|
리눅스에서 패스워드를 변경하는 스크립트 (0) | 2021.01.25 |
myip 스크립트 (0) | 2020.11.04 |
[shell] 쉘 프로그래밍 (0) | 2020.09.04 |
MariaDB_alldump.sh (0) | 2018.06.27 |