[shell script] 이중 괄호, 이중 대괄호

이중 괄호와 이중 대괄호를 이용해 수식과 문자열에 대한 계산을 수행할 수 있습니다.

이중 괄호

(( expression ))

이중 괄호 안에 수식을 쓰면 수식이 계산됩니다.

$ cat test1
#!/bin/bash
val1=10
(( val2 = $val1 ** 2 ))
echo $val2

$ ./test1
100

**는 제곱을 의미합니다.

이중 괄호를 이용하면 if문에서 -gt, -le 와 같은 가독성이 떨어지는 숫자 비교 대신 기호를 활용할 수 있게 됩니다.

$ cat test1
#!/bin/bash
val1=10
if (( $val1 > 90 ))
then
        echo True
else
        echo False
fi

$ ./test1
False

이중 대괄호

이중 대괄호 기능은 bash 쉘에서 동작합니다.

이중 대괄호는 문자열의 비교를 위해 사용됩니다.

[[ expression ]]

예를 들어, 아래 코드는 현재 사용자가 h로 시작하는지에 대한 조건을 [[ $USER == h* ]]로 표현했습니다.
h*는 정규표현식입니다.

$ cat test1
#!/bin/bash
if [[ $USER == h* ]]
then
        echo "Hello $USER"
else
        echo "Who are you?"
fi

$ ./test1
Hello hyeob

좋은 웹페이지 즐겨찾기