Linux Bash shell script

Linux Bash Shell Script 파일과 문자열 비교

임베디드 친구 2025. 1. 22. 08:54
반응형

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 스크립트는 다양한 작업을 자동화하는 데 강력한 도구가 될 수 있습니다.

반응형