'Linux/Shell Programming'에 해당되는 글 1건

  1. 2021.01.04 쉘스크립트에서 사용하는 비교연산자 정리

 

비교 연산자

 

정수 비교

연산자 의미 표현
-eq 같음 if [ $a -eq $b ]
-ne 같지 않음 if [ $a -ne $b ]
-gt 보다 큼 if [ $a -qt $b ]
-ge 크거나 같음 if [ $a -ge $b ]
-lt 보다 작음 if [ $a -lt $b ]
-le 작거나 같음 if [ $a -le $b ]
> 보다 큼 (($a > $b))
>= 크거나 같음 (($a >= $b))
< 보다 작음 (($a < $b))
<= 작거나 같음 (($a <= $b))

 

문자열 비교

연산자 의미 표현
= 같음 if [ "$a" = "$b" ]
== 같음 if [ "$a" == "$b" ]
!= 같지않음 if [ "$a" != "$b" ]
-z 문자열이 null, 길이가 0 if [ -z "$a" ]
! -z 문자열이 null이 아님 if [ ! -z "$a" ]
-n 문자열이 null이 아님 if [ -n "$a" ]
> ASCII 값이 보다 큼 if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
< ASCII 값이 보다 작음 if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]

참고

[[ "$a" == a* ]] -> $a가 "a"로 시작하면 참

[[ "$a" == "a*" ]] -> $a가 "a*" 와 같다면 참

[ "$a" == a* ] -> 잘못된 표현

[ "$a" == "a*" ] -> $a가 "a*"와 같다면 참

 

복합비교

연산자 의미 표현
-a 논리 and if [ $a -qa 0 -a $b -eq 1 ]
-o 논리 or if [ $a -qa 0 -o $b -eq 1 ]
&& 논리 and if [ $a -eq 0 ] && [ $b -eq 1 ]
if [[ $a -eq 0 && $b -eq 1]]
|| 논리 or if [ $a -eq 0 ] || [ $b -eq 1 ]
if [[ $a -eq 0 || $b -eq 1 ]]

 

파일 비교

연산자 의미 표현
-d Directory if [ -d FILE ]
-f File if [ -f FILE ]
-e Exist if [ -e FILE ]
-r Readable if [ -r FILE ]
-w Writable if [ -w FILE ]
-x Execuable if [ -x FILE ]
-s   if [ -s FILE ]
-O Same Owner if [ -O FILE ]
-G Same Group if [ -G FILE ]
-nt Newer Than if [ FILE1 -nt FILE2 ]
-ot Older Than if [ FILE1 -ot FILE2 ]

 

출처 : m.blog.naver.com/PostView.nhn?blogId=mmarine&logNo=70094622832&proxyReferer=https:%2F%2Fwww.google.com%2F


to Top