CLI/터미널

[리눅스] 쉘스크립트 사칙연산, 비교연산, 논리연산

씩씩한 IT블로그 2023. 4. 22. 22:28
반응형

쉘 에서의 연산자

- 쉘에서는 연산자가 없으므로 외부 프로그램을 이용해야함.

- awk, expr등이 있음

- expr 표현식은 다음과 같이 쓴다.

a = $(expr 3 + 4) #표현식을 넣을때는 $()를 쓴다

 

사칙 연산자

1. 더하기

expr 2 + 2

2.빼기

expr 10 - 5

3. 곱하기

expr 4 \* 3

4. 나누기

expr 4 / 5

5. 나머지

expr 6 % 5

 

비교 연산자

1. 같음 

a = b
a -eq b

2. 같지않음

a != b
a -ne b

3. 크다 (왼쪽값 > 오른쪽값)

a -gt b

4. 작다 (왼쪽값 < 오른쪽값)

a -lt b

5. 크거나 같다 (왼쪽값 >= 오른쪽값)

a -ge b

6. 작거나 같다 (왼쪽값 <= 오른쪽값)

a -le b

 

ex)

if [ $1 -eq $2 ]; then
	echo "s1 is equal as $2"
fi

if [ $1 -ne $2 ]; then
	echo "s1 is not equal as $2"
fi

if [ $1 -gt $2 ]; then
	echo "s1 is greater than $2"
fi

if [ $1 -lt $2 ]; then
	echo "s1 is less than $2"
fi

if [ $1 -ge $2 ]; then
	echo "s1 greater equal as $2"
fi

if [ $1 -le $2 ]; then
	echo "s1 less equal as $2"
fi

 

논리 연산자

1. or

a -o b

2. and

a -a b

 

ex)

if [ !false ]; then
	echo "not false is true"
fi

if [ $1 -gt $2 -o $1 -eq $2 ]; then
	echo "$1 is greater than or equal to $2"
fi

if [ $1 -lt $2 -a $1 -lt $3 ]; then
	echo "$1 is less than $2 and $1 is less than $3"
fi

 

반응형