Linux Shell Script의 기본적인 내용을 정리합니다.
1. 파일관련연산
파일관련연산자 | 의미 |
---|---|
-d |
파일이 디렉토리인지 체크 |
-e |
파일이 존재하는지 체크 |
-a |
파일이 존재하는지 체크 |
-r |
파일이 읽기 가능인지 체크 |
-w |
파일이 쓰기 가능인지 체크 |
-x |
파일이 실행 가능인지 체크 |
-o |
사용자가 해당파일의 소유자인지 체크 |
-z |
해당파일의 크기가 0이면 참 |
-f |
파일이 일반적인 파일인지 체크 |
-g |
파일이 SGID 퍼미션을 가졌는지 체크 |
-s |
파일의 크기가 0이 아닌지 체크 (0이 아니면 true 0이면 false) |
-u |
파일이 SUID 퍼미션을 가졌는지 체크 |
-h |
심볼릭 링크파일 |
예) test에서 -f 연산자를 사용하여 일반적인 파일인지 체크
if test -f /etc/passwd
then
예) 대괄호가 test 역할을 함. 대괄호 앞뒤 사이에 공백문자가 있어야함.
if [ -f /etc/passwd ];then
2. 산술비교 연산자
연산자 | 의미 |
---|---|
x -eq y |
x가 y와 같은지 체크 |
x -ne y |
x가 y와 같지 않은지 체크 |
x -lt y |
x가 y 보다 작은지 체크 |
x -le y |
x가 y 보다 작거나 같은지 체크 |
x -gt y |
x가 y 보다 큰지 체크 |
x -ge y |
x가 y 보다 크거나 같은지 체크 |
3. 문자열 비교연산자
연산자 | 의미 |
---|---|
x = y |
문자열 x가 문자열 y와 같은지 체크 |
x != y |
문자열 x가 문자열 y와 다른지 체크 |
-n x |
문자열 x가 널 문자가 아니면 true로 간주함 |
-z x |
문자열 x가 널 문자이면 true로 간주함. |
4. 논리연산
조건1 -a 조건2 # AND
조건1 -o 조건2 # OR
조건1 && 조건2 # 양쪽 다 성립
조건1 || 조건2 # 한쪽 또는 양쪽다 성립
!조건 # 조건이 성립하지 않음
true # 조건이 언제나 성립
false # 조건이 언제나 성립하지 않음