반달가면 이글루에서 백업 - http://bahndal.egloos.com/517067
특정 파일 또는 디렉토리가 존재하는지 확인하는 방법이다. 스크립트의 인자(argument)로 파일이나 디렉토리를 입력받았을 경우 인자의 유효성을 확인할 때 요긴하게 사용 가능.
우선 파일의 존재 여부를 확인해 보자. if 조건문에서 test 명령의 -e 옵션을 사용하면 된다. 아래의 예시를 참고하자.
file_name="my_file.txt"
# 파일이 있을 경우 메세지 출력
if test -e $file_name
then echo "$file_name 파일을 찾았습니다."
fi
# 파일이 없을 경우 메세지 출력(! 사용)
if ! test -e $file_name
then echo "$file_name 파일이 없습니다."
fi
디렉토리의 존재 여부는 -d 옵션을 사용하면 된다.
dir_name="/var/log/"
# 디렉토리가 있을 경우 메세지 출력
if test -d $dir_name
then echo "$dir_name 디렉토리를 찾았습니다."
fi
test 명령은 대괄호([ ])로 대체해서 쓸 수도 있다. 바로 위의 if 조건문 예시를 아래과 같이 써도 된다.
if [ -d $dir_name ]
then echo "$dir_name 디렉토리를 찾았습니다."
fi
대괄호를 사용할 때는 띄어쓰기에 주의하자. 대괄호 안의 표현과 대괄호 사이에 반드시 공백이 한칸 들어가야 한다.
'bash script' 카테고리의 다른 글
[bash: grep] 특정 길이의 문자열에 대한 검색 (0) | 2021.07.06 |
---|---|
[bash: stat, date] 현재 파일이 전송되고 있는 중인지 판단하기 (0) | 2021.06.28 |
[bash: grep] 문자열 검색과 파일명 확인의 조합 (0) | 2021.05.10 |
[bash: awk] 여러 종류의 단어 구분자를 지정해서 단어 선택하기 (0) | 2021.04.16 |
[bash: find, mkdir] 디렉토리 구조 복사하기 (0) | 2021.03.30 |