bash shell 에서 정수 연산을 필요로하는 경우가 가끔 있습니다.


그러나 변수형이 따로 없는 셀에서 사칙연산을 수행하는데 어려움을 겪는 경우가 많아서 간단히 정리해보겠습니다.


기본적인 문법은 $$((....)) 식으로 사용하면 됩니다.


NUM1="1"

NUM2=$(($NUM1+1))

echo $NUM2


==> 2


이와 같은 식입니다.

사용 가능한 연산자는 +, -, *, /, %, <<, >> 등입니다.


그리고 관계 연산자도 사용 가능합니다. >, <, >=, <=, ==, !=, &&, ||


echo $((3>2))

==> 1

echo $((3<2))

==> 0


야간 헷갈릴 수도 있는데 조건 연산의 경우에는 다른 연산자를 사용합니다.


-lt : 작다

-gt : 크다

-le, -ge : 작거나 같다, 크거나 같다.

-eq : 같다

-ne : 같지 않다.


if [ "3" -gt "2" ] ; then

    echo "True"

else

    echo "False"

fi


==>True


이와 같이 사용하게 됩니다. if, while 같이 조건에 대해 사용하는 경우에만 위 연산자를 사용합니다.


한 번 알고있으면 셀 코딩을 하면서 생기는 불편함을 많이 줄일 수 있어서 정리해보았습니다.


감사합니다.