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를 넣어주는 것으로 앞에 오는 + - * / 의 사칙연산이 수행된다.