Bash 숫자 계산

1 개요

리눅스 숫자 계산
리눅스 숫자 연산
→ 단, 나누기 소수점 계산은 안됨
→ 모두 정수형으로 취급됨
  • awk, bc를 활용하면 소수점 계산도 가능

2 방법 1: bash 변수 처리

x=3
y=4
z=$((x+y))
echo $z
# 7
echo $((x-y))
echo $((x*y))
echo $((x/y))
# -1
# 12
# 0
echo $((12/5))
# 2

3 방법 2: let 명령어

x=3
y=4
let z=$x+$y
echo $z
# 7
let z=$x-$y
echo $z
# -1
let z=$x*$y
echo $z
# 12
let z=$x/$y
echo $z
# 0
let z=12/5
echo $z
# 2

4 방법 3: expr 명령어

  • 숫자와 연산자 사이를 띄어써야 함
x=3
y=4
expr $x + $y
# 7
expr $x - $y
expr $x \* $y
expr $x / $y
# -1
# 12
# 0
expr 12 / 5
# 2

5 방법 4: awk 명령어 ★

  • 장점1: 리눅스 기본 명령어
  • 장점2: 소수점 계산 가능
  • 단점: 파이프로 변수 전달
x=3
y=4
echo $x $y | awk '{print $1+$2}'
# 7
echo $x $y | awk '{print $1-$2}'
# -1
echo $x $y | awk '{print $1*$2}'
# 12
echo $x $y | awk '{print $1/$2}'
# 0.75

6 방법 5: bc 명령어

x=3
y=4
echo "$x+$y" | bc
# 7
echo "$x-$y" | bc
echo "$x*$y" | bc
echo "$x/$y" | bc
# -1
# 12
# 0
echo "12/5" | bc
# 2
echo "12/5" | bc -l
# 2.40000000000000000000

7 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}