[shell] 파일 유무나 특정 상태에 따른 동작 처리하기

쉘 스크립트에서 파일의 존재 여부나 특정 상태에 따라 조건부로 동작을 처리해야 하는 경우가 있습니다. 이를 위해 다양한 방법을 사용할 수 있지만, test 명령어나 [[ 키워드를 사용하는 것이 일반적입니다.

1. 파일 존재 여부 확인하기

특정 파일이 존재하는지 확인하기 위해서는 -f 옵션을 사용하여 처리할 수 있습니다. 아래의 예제에서는 if 문을 사용하여 파일이 존재하는지 확인하는 방법을 보여줍니다.

if [ -f "/path/to/file" ]; then
  echo "파일이 존재합니다."
else
  echo "파일이 존재하지 않습니다."
fi

-f 옵션은 파일이 존재하고 일반 파일인지 여부를 확인합니다.

2. 디렉토리 존재 여부 확인하기

특정 디렉토리가 존재하는지 확인하기 위해서는 -d 옵션을 사용하여 처리할 수 있습니다. 아래의 예제에서는 if 문을 사용하여 디렉토리가 존재하는지 확인하는 방법을 보여줍니다.

if [ -d "/path/to/directory" ]; then
  echo "디렉토리가 존재합니다."
else
  echo "디렉토리가 존재하지 않습니다."
fi

-d 옵션은 디렉토리가 존재하는지 확인합니다.

3. 파일의 읽기 가능 여부 확인하기

파일이 읽기 가능한지 확인하기 위해서는 -r 옵션을 사용하여 처리할 수 있습니다. 아래의 예제에서는 if 문을 사용하여 파일이 읽기 가능한지 확인하는 방법을 보여줍니다.

if [ -r "/path/to/file" ]; then
  echo "파일을 읽을 수 있습니다."
else
  echo "파일을 읽을 수 없습니다."
fi

-r 옵션은 파일이 읽기 가능한지 확인합니다.

이와 같이, test 명령어와 [[ 키워드를 사용하여 파일의 존재 여부나 특정 상태를 확인하고 조건부로 동작을 처리할 수 있습니다.

참고 자료