산술 연산

MySprtlty·2022년 7월 10일
0

Bash Shell Script

목록 보기
9/11
post-thumbnail

🏷️산술 연산

  • 엄밀히 따지면, 셸 명령어에 해당하는 내용이다.
  • 그러나 조건문과 반복문을 사용할 때, 함께 사용하면 유용하기에 정리한다.

📌정수 연산

  • 명령어 expr을 이용한다.
    • expr stands for expression
  • expr에서 사용가능한 연산자의 종류는 크게 3가지로 나눌 수 있다.

산술 연산자

연산자설명
값1 + 값2덧셈
값1 - 값2뺄셈
값1 * 값2곱셈
값1 / 값2나눗셈
값1 % 값2나머지 연산 (modulo)

논리 연산자

연산자설명
값1 | 값2논리합 연산
값1 & 값2논리곱 연산

비교 연산자

연산자설명
값1 < 값2less than
값1 <= 값2less than or eqaul
값1 > 값2greater than
값1 >= 값2greater than or equal
값1 = 값2equal
값1 != 값2not equal
  • 비교 연산자들은 참이면 1을 return하고, 거짓이면 0을 return한다.
  • 셸에서 expr명령을 사용해보자.
    • 🖇️cf) *는 와일드 카드이므로, ' '(작은따옴표)로 감싸준다.
    • 🖇️cf) $는 프롬프트
$ expr 10 '*' 4

📌실수 연산

  • expr명령어는 실수 연산을 할 수 없다.
  • 실수 연산을 하기 위해선 bc명령어를 사용하는 것이 좋다.
    • bc stands for basic calculator
  • bcexpr와 다르게 interactive모드로 동작하므로, 셸 스크립트에서 사용하기 위해선 |(파이프)로 bc표준입력에 전달해야 한다.
  • 다음은 사용 가능한 연산자인데, expr명령과 거의 같다.
연산자설명
값1 + 값2덧셈
값1 - 값2뺄셈
값1 * 값2곱셈
값1 / 값2나눗셈
값1 % 값2나머지 연산 (modulo)
값1 ^ 값2제곱
  • -l옵션을 사용하면, libc에 정의된 함수도 사용할 수 있다.
  • 또한, interactive모드에서 변수 scale의 값을 설정하면, 계산 정밀도를 지정할 수 있다.
    • 🔍ex) scale=10
  • 다음은 bc를 사용하는 셸 스크립트다.
#!/bin/sh

x=3.14
y=2.71
echo "scale=15; $x * $y" | bc
profile
2Co 4:7

0개의 댓글