Skip to content

11. 연산자(Operators)


변수 할당 연산자(Assignment Operator)는 다음과 같다.


연산자 설명
= 변수값을 초기화하거나 변경


산술 연산자(Arithmetic Operators)는 다음과 같다.


연산자 설명
+ 더하기
- 빼기
* 곱하기
/ 나누기
** 누승(Exponentiation)
% 나머지
+= 더하기 후 할당
-= 빼기 후 할당
*= 곱하기 후 할당
/= 나누기 후 할당
%= 나머지 후 할당


비트 연산자(Bitwise Operators)는 다음과 같다.


연산자 설명
<< 비트 왼쪽 시프트(시프트 한 번당 2를 곱함)
<<= 비트 왼쪽 시프트 후 할당
>> 비트 오른쪽 시프트(시프트 한 번당 2로 나눔)
>>= 비트 오른쪽 시프트 후 할당
& 비트 AND
&= 비트 AND 후 할당
| 비트 OR
|= 비트 OR 후 할당
~ 비트 Negate
! 비트 NOT
^ 비트 XOR
^= 비트 XOR 후 할당


논리 연산자(Logical Operators)는 다음과 같다.


연산자 설명
&& 논리 AND
|| 논리 OR


기타 연산자는 다음과 같다.


연산자 설명
, 두 개 이상의 산술 연산을 묶어줌


#!/bin/bash

n=1
echo -n "$n "
# 1

# let "n = n + 1"과 동일
let "n = $n + 1"
echo -n "$n "
# 1 2

# ":"가 없으면 "$((n = $n + 1))"을
# 명령어로 해석함
: $((n = $n + 1))
echo -n "$n "
# 1 2 3

n=$(($n + 1))
echo -n "$n "
# 1 2 3 4

exit 0
#!/bin/bash

a=24
b=47

# [[ "$a" -eq 24 && "$b" -eq 47 ]]과 동일
if [ "$a" -eq 24 ] && [ "$b" -eq 47 ]; then
    echo "첫 번째 테스트 성공"
else
    echo "첫 번째 테스트 실패"
fi
# 첫 번째 테스트 성공

if [ "$a" -eq 98 ] || [ "$b" -eq 47 ]; then
    echo "두 번째 테스트 성공"
else
    echo "두 번째 테스트 실패"
fi
# 두 번째 테스트 성공

if [ "$a" -eq 24 -a "$b" -eq 47 ]; then
    echo "세 번째 테스트 성공"
else
    echo "세 번째 테스트 실패"
fi
# 세 번째 테스트 성공

if [ "$a" -eq 98 -o "$b" -eq 47 ]; then
    echo "네 번째 테스트 성공"
else
    echo "네 번째 테스트 실패"
fi
# 네 번째 테스트 성공

a=rhino
b=crocodile

if [ "$a" = rhino ] && [ "$b" = crocodile ]; then
    echo "다섯 번째 테스트 성공"
else
    echo "다섯 번째 테스트 실패"
fi
# 다섯 번째 테스트 성공

exit 0
#!/bin/bash

# 산술식 내의 연산을 차례로 실시하며, 마지막 연산의 결과를 리턴
let "t1 = ((5 + 3, 7 - 1, 15 - 4))"
echo "t1 = $t1"
# t1 = 11

# "a"에 9를 할당하며, 마지막 연산의 결과를 리턴
let "t2 = ((a = 9, 15 / 3))"
echo "t2 = ${t2}    a = ${a}"
# t2 = 5    a = 9

exit 0

References