사칙연산

cal.sh

#!/bin/bash

echo -e "숫자 두 개를 입력해주세요\c"
read -a num

echo "${num[0]}와(과) ${num[1]}을(를) 입력하셨네요"

add=`echo "scale=2; ${num[0]} + ${num[1]}" |bc
sub=`echo "scale=2; ${num[0]} - ${num[1]}" |bc
mul=`echo "scale=2; ${num[0]} * ${num[1]}" |bc
div=`echo "scale=2; ${num[0]} / ${num[1]}" |bc

echo "${num[0]} + ${num[1]} = $add"
echo "${num[0]} - ${num[1]} = $sub"
echo "${num[0]} * ${num[1]} = $mul"
echo "${num[0]} / ${num[1]} = $div"

add=~~ 는 add 변수를 선언함과 동시에 초기값을 넣어주겠다는 의미다. 주의할 점은 변수명= 의 형태로 (변수명과 = 을 붙여서)써야 변수로 인식된다는 것이다.

add= 뒤에 `echo ~~` 에서 왜 echo가 들어가야 하는지는 추후에 추가하도록 하겠다.

scale은 소수점 뒤의 몇 자리까지 표현할 지를 지정하는 인수이다. scale을 지정하지 않으면 연산이 수행되지 않으니 반드시 지정해주어야 한다.

scale=2; 에서 ;은 여기까지가 한 덩어리의 명령구문이라고 프로그램에 알려주는 기호다. ; 앞에 있는 명령구문까지 다 실행한 후, 다음 명령구문으로 넘어가는 것이다.

젤 뒤에 오는 |bc가 수식을 연산가능하게 만들어주는 핵심이다. |bc를 넣어주는 것으로 앞에 오는 + - * / 의 사칙연산이 수행된다.

  • 사칙연산.txt
  • Last modified: 2019/04/23 08:25
  • by jonghoon