문자열 연산자
연산자 | 사용법 | 설명 |
-z | if [ -z $변수 ] | 문자열 길이가 0이면 참 |
-n | if [ -n $변수 ] | 문자열 길이가 0이 아니면 참 |
예제1
#!/bin/bash
if [ -z $1 ]
then
echo True
else
echo False
fi
예제2
#!/bin/bash
if [ -n "$1" ]
then
echo True
else
echo False
fi
비교 연산자
예제1) 변수값이 서로 같은지 체크
equal의 줄임말인 -eq 연산자 또는 = 기호 사용
예제2) 변수값이 서로 다른지 체크
not equal의 줄임말인 -ne 연산자 또는 != 기호 사용
예제3) 변수값의 크기를 비교 - 문자형 연산자
-gt (greater than) == ">"
-ge (greater than or equal) == ">="
-lt (less than) == "<"
-le (less than or equal) == "<="
비교 연산자는 리다이렉션 기호와 헷갈리지 않게 중첩 소괄호 (( ))를 사용한다.
문자열 비교 연산자
변수의 값이 문자열일 경우에는 문자형 연산자 사용 않고 기호 연산자를 사용한다.
'<' 기호 사용할 경우 리다이렉션 기호와 헷갈리지 않게 중첩 대괄호 [[ ]]를 사용한다.
예제4)
논리 연산자
논리 연산자에는 AND, OR 연산자가 있으며, and의 약자인 -a와 or의 약자인 -o를 사용한다.
대괄호[ ]나 중첩 대괄호[[ ]]를 사용하면 &&와 || 사용 가능.
예제1) AND, OR 연산 문자형
예제2) AND, OR 기호 연산자
디렉터리 연산자
디렉터리 연산자는 특정 디렉터리 내의 파일 목록 중에 디렉터리가 있는지 체크할 때 유용하다.
연산자 | 사용법 | 설명 |
-d | if [ -d $변수 ] | 변수 유형이 디렉터리면 참 |
-e | if [ -e $변수 ] | 변수 유형이 디렉터리이거나 파일이면 참 |
예제)
HOME값이 디렉터리라면 True
HOME 디렉터리내에 a.txt 파일이 있으면 True
파일 연산자
예제1) 파일 여부 체크
-f 연산자를 이용하여 입력한 값이 파일인지 확인
-L 연산자를 이용하여 해당 파일이 심볼릭 링크인지 확인
예제2) 파일 권한 체크
-r 연산자는 파일에 읽기 권한이 있는지 여부 체크
-w는 쓰기 권한, -x는 실행 권한이 있는지 체크
-s는 빈 파일 여부 체크
예제3) 파일 소유권 체크
-O 소유자와 파일의 소유자가 같은지 확인
-G 그룹과 파일의 그룹이 같은지 확인
출처: 처음 배우는 셸 스크립트
'Linux' 카테고리의 다른 글
[Linux] 시스템 구축 - 사용자 계정 만들기 스크립트 (0) | 2024.05.21 |
---|---|
[Linux] grep (0) | 2024.05.21 |
[Linux] 셸 스크립트 for, while 기초 다지기 (0) | 2024.05.21 |
[Linux] 셸 스크립트 조건문 if, switch-case 기초 다지기 (0) | 2024.05.21 |
[Linux] 셸 스크립트 기초 문법 알아보기 (0) | 2024.05.21 |