728x90
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
'리눅스' 카테고리의 다른 글
[리눅스] OpenLDAP 설치 및 구성 (0) | 2022.11.14 |
---|---|
[draft] Shell 스크립트 if 조건문 (0) | 2022.11.14 |
[draft] 우분투에 OpenSSL을 최신 버전으로 업그레이드하는 방법 (0) | 2022.11.07 |
Ansible을 위한 기본 Bash 완성을 설치하는 방법 (0) | 2022.11.07 |
[리눅스] watchdog: BUG: soft lockup - CPU#0 stuck for 63s! (0) | 2022.11.07 |