반응형
Bash 스크립트에서 파일과 문자열 비교는 자주 사용되는 기능 중 하나입니다. 파일의 존재 여부나 유형을 확인하거나, 문자열 값의 동일성과 불일치를 검사하는 작업은 자동화된 스크립트 작성에서 중요한 역할을 합니다. 이번 포스팅에서는 파일과 문자열 비교에 사용하는 주요 연산자들과 예제를 통해 그 사용법을 알아보겠습니다.
1. 파일 비교 연산자
Bash에서는 파일의 상태나 속성을 확인하기 위해 다양한 연산자를 제공합니다. 대표적인 연산자는 다음과 같습니다:
연산자 | 설명 |
---|---|
-e |
파일이 존재하는지 확인 |
-f |
일반 파일인지 확인 |
-d |
디렉토리인지 확인 |
예제 1: 파일 존재 여부 확인
#!/bin/bash
# 확인할 파일 경로
FILE="/path/to/your/file.txt"
if [ -e "$FILE" ]; then
echo "$FILE 파일이 존재합니다."
else
echo "$FILE 파일이 존재하지 않습니다."
fi
예제 2: 파일 유형 확인
#!/bin/bash
# 확인할 경로
PATH_TO_CHECK="/path/to/your/directory"
if [ -f "$PATH_TO_CHECK" ]; then
echo "$PATH_TO_CHECK 는 일반 파일입니다."
elif [ -d "$PATH_TO_CHECK" ]; then
echo "$PATH_TO_CHECK 는 디렉토리입니다."
else
echo "$PATH_TO_CHECK 는 일반 파일도 디렉토리도 아닙니다."
fi
2. 문자열 비교 연산자
Bash에서는 문자열 비교를 위해 다음과 같은 연산자를 제공합니다:
연산자 | 설명 |
---|---|
== |
문자열이 같은지 비교 |
!= |
문자열이 다른지 비교 |
-z |
문자열이 비어 있는지 확인 |
-n |
문자열이 비어 있지 않은지 확인 |
예제 3: 문자열 동일성과 불일치 비교
#!/bin/bash
# 문자열 변수 선언
STRING1="hello"
STRING2="world"
if [ "$STRING1" == "$STRING2" ]; then
echo "두 문자열은 같습니다."
else
echo "두 문자열은 다릅니다."
fi
예제 4: 문자열 비어 있는지 확인
#!/bin/bash
# 문자열 변수 선언
STRING=""
if [ -z "$STRING" ]; then
echo "STRING은 비어 있습니다."
else
echo "STRING은 비어 있지 않습니다."
fi
예제 5: 문자열 비어 있지 않은지 확인
#!/bin/bash
# 문자열 변수 선언
STRING="Bash Scripting"
if [ -n "$STRING" ]; then
echo "STRING은 비어 있지 않습니다."
else
echo "STRING은 비어 있습니다."
fi
3. 파일 비교와 문자열 비교를 결합한 스크립트
다음은 파일과 문자열 비교를 결합하여 동작하는 간단한 예제 스크립트입니다.
예제 6: 파일과 문자열 비교 결합
#!/bin/bash
# 파일 경로와 문자열 변수
FILE="/path/to/your/file.txt"
EXPECTED_CONTENT="Hello World"
# 파일 존재 여부 확인
if [ -e "$FILE" ]; then
echo "$FILE 파일이 존재합니다."
# 파일 내용 읽기
ACTUAL_CONTENT=$(cat "$FILE")
# 파일 내용 비교
if [ "$ACTUAL_CONTENT" == "$EXPECTED_CONTENT" ]; then
echo "파일 내용이 예상한 내용과 일치합니다."
else
echo "파일 내용이 예상한 내용과 다릅니다."
fi
else
echo "$FILE 파일이 존재하지 않습니다."
fi
4. 요약
- 파일 비교 연산자
-e
,-f
,-d
를 사용하여 파일의 존재 여부와 유형을 확인할 수 있습니다. - 문자열 비교 연산자
==
,!=
,-z
,-n
을 활용하여 문자열의 동일성과 비어 있는지 여부를 검사할 수 있습니다. - 파일과 문자열 비교를 결합하면 보다 유연한 스크립트를 작성할 수 있습니다.
위 예제 스크립트를 응용하여 원하는 조건을 만족하는 스크립트를 작성해 보세요. Bash 스크립트는 다양한 작업을 자동화하는 데 강력한 도구가 될 수 있습니다.
반응형
'Linux Bash shell script' 카테고리의 다른 글
Linux Bash Shell Script에서 배열 및 리스트 순회 (0) | 2025.01.24 |
---|---|
Bash Shell Script 반복문(for, while, until) 이해하기 (0) | 2025.01.23 |
Linux Bash Shell Script 조건문 [ if-else, elif ] 사용법 (0) | 2025.01.21 |
Bash Shell Script 변수와 사용자 입력 이해하기 (0) | 2025.01.20 |
변수와 사용자 입력 (0) | 2025.01.19 |