리눅스
Linux Shell Script 산술연산
donggi
2022. 1. 8. 02:42
쉘 스크립트에서의 연산
- 쉘 스크립트는 타입이 존재하지 않으며 모든 데이터는 문자열로 처리됩니다.
- 변수를 사용하려면 $ 를 사용해야하고 변수 선언 시에는 $를 사용하지 않습니다.
- 쉘 스크립트는 변수를 기본적으로 문자열로 저장하기 때문에 산술 연산을 하기 위해서 별도의 문법이 필요합니다.
bash
는 계산을 쉽게 처리할 수 있도록 3가지 방법을 제공합니다
- expr
- [ ]
- (( ))
expr
- expr은 명령어이기 때문에 연산자와 피연산자는 space로 구분되어야 합니다.
5+1 6
expr 은 여러 개의 변수로 연산 할 때 소괄호를 사용하고 연산자 앞에\
를 붙여줍니다12
VAR1=3 VAR2=4 result=$(expr $VAR1 \* $VAR2) echo result
expr 5+1 expr 5 + 1
[ ]
[ ] 연산은 대괄호를 사용하고, 연산자 앞에 \
를 붙여줄 필요가 없습니다.
VAR1=3
VAR2=4
result=$[VAR1 * VAR2]
echo result
12
(( ))
이중 소괄호는 산술 연산을 위한 전용 문법으로 문자열은 다루지 않고 숫자만 처리해줍니다. 따라서 문자가 들어가게 되면 변수로 해석하기 때문에 이중 소괄호에서 $ 문자를 사용하지 않아도 됩니다.
VAR=3
VAR=4
result=$((VAR3 * VAR4))
echo result
12
제가 궁금했던 부분만 정리해보았습니다. 아래 적힌 링크를 참조하였고 링크 접속하시면 더 다양하고 좋은 내용이 많이 있습니다.
https://charactermail.tistory.com/193
https://jhnyang.tistory.com/191
https://storycompiler.tistory.com/111