Linux 환경에서 개발/운영을 하다보면 shell script를 이용해 파일 유무를 확인해야 하는 상황이 정말 많이 발생한다.
현재 나의 개발환경에서는 csh을 많이 쓰고있으며, 파일 유무를 정말 거의 매일 사용하다시피 한다.
이 기능.. 더 이상 검색하지 않기 위해.. 정리해 본다.
일단 기본적인 환경을 구성하기 위한 준비사항은 다음과 같다.
1. 확인하고자 하는 파일
2. 파일을 확인하는 스크립트
touch 명령어를 통해 테스트용 파일을 생성해 준다.
touch a
ls -l
파일 생성이 확인되면 csh 스크립트 파일을 만들어 아래와 같은 내용으로 테스트를 진행한다.
( shebang 은 꼭 써 주도록 하자. ==> #!/bin/csh )
vim b.csh
#!/bin/csh
if ( -e a ) then
echo "found"
else
echo "not found"
endif
그 외에도 -f 옵션을 사용해서도 확인이 가능하다. ( 디렉토리가 아닌 일반 파일인 경우 )
if ( -f a ) then
echo "found"
else
echo "not found"
endif
추가로 파일 유무 말고도 파일의 권한이나, 소유자를 확인할 때, 조건문 내에서 아래의 유용한 표현식을 사용 가능하다.
File status expression
d : 디렉토리
e : 파일 존재
f : 파일이 일반 파일의 경우
o : 사용자가 file 소유자인 경우
r : user has read access to the file
w : user has write access to the file
x : user has execute access to the file
z : file is zero bytes long
다음 포스팅에서는 directory 유무를 확인하는 csh script 를 구성해 보겠다.
'CS > Shell scripts' 카테고리의 다른 글
[bash] 리눅스 쉘 스크립트(shell script) 문자열 바꾸는 방법 (0) | 2022.08.08 |
---|---|
[오늘의 업무/Bash] Shell 문자열에서 원하는 부분만 치환/변경 하는 방법 (0) | 2021.10.07 |
[Bash] 배쉬쉘에서 파일/디렉토리 유무 확인하기 (0) | 2021.10.06 |
[bash] 스크립트 에서 signal 캐치하는 방법 (0) | 2021.08.01 |
[Bash] Bash 스크립트에서 argument로 Option 을 처리 하는 방법 (0) | 2021.07.08 |