Expr 및 calc 명령 : 터미널에서 수학 식 풀기

저는 항상 스크립트를 프로그래밍하는 사람 중 한 명입니다. 세게 때리다 일상적인 상황을 해결하기 위해 (AP/라우터의 암호 해독, 프로세스 자동화 등).

어떤 경우에는 수학 표현식의 값을 변수에 할당하거나 단순히 수학 표현식으로 작업해야 하는 경우가 있습니다. 여기서 bash 및 수학 표현식, 계산이 그리 친숙하지 않은 문제에 직면하게 됩니다. bash는 파이썬과 같지 않습니다. 우리는 무엇을 말할 수 있습니까? 변수 = 1+5/6 (예를 들어) Bash에서는 다음 명령을 사용해야 합니다. 특급 o 트레이싱

Expr 명령

즉, expr 명령은 터미널에서 수학 표현식을 해결하는 데 도움이 되며 이를 통해 필요한 것을 계산할 수 있습니다. 예를 들어 1 + 2 * 8 / 3의 결과를 표시하려면 다음과 같이 터미널에 입력합니다.

expr 1 + 2 \* 8 / 3

별표 * 앞에 백슬래시를 넣었습니다. -» \ ... \를 넣지 않으면 expr이 별표를 곱셈 기호로 해석하지 않기 때문에 필요합니다.

그리고 그 결과가 화면에 나타납니다. 다음은 몇 가지 예가 포함된 스크린샷입니다.

스크린샷_expr1

최종 계산(14/4 및 13/4)에서 볼 수 있듯이 14를 4로 나눈 값은 실제로 3.5이고 13을 4로 나눈 값은 실제로 3.25입니다. 두 경우 모두에서 어떻게 3을 나타낼 수 있습니까? expr 명령은 소수점 이하 자릿수를 표시하지 않습니다. 즉, 쉼표 뒤에 오는 것은 표시하지 않고 정수만 표시합니다.

수학식(예: 10/2)의 결과를 변수에 할당하려는 경우 다음과 같습니다.

variable=`expr 10 / 2`

그런 다음 다음과 같이 확인합니다.

echo $variable

각 문자 사이에 공백이 있는 것이 중요합니다. 즉, 각 숫자, 각 더하기, 빼기, 곱하기 또는 나누기 기호 사이에 공백이 있어야 합니다.

Calc 명령

이것은 이전 것과 달리 십진법으로 정확합니다. 예를 들면 다음과 같습니다.

calc 15 / 4

다음과 같이 표시됩니다. 3.75

다음은 몇 가지 예가 포함된 스크린샷입니다.

스크린샷_계산

expr과 달리 calc를 사용할 때는 이전 이미지에서 볼 수 있듯이 각 문자 사이에 공백이 없는 것이 좋습니다. 즉, 숫자와 기호 사이에 공백이 없는 것이 좋습니다. * 앞에 \를 붙일 필요가 없는 것처럼

글쎄, 이것은 기본적으로 내가 당신에게 말하고 싶었던 것입니다.

그러나 각 명령(특히 calc)에 대한 다른 흥미로운 팁이 여전히 있으므로 설명서를 읽어 보시기 바랍니다.

man calc

man expr

안부


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   엘라 브

    수학 계산에 Bash를 사용하는 것이 확실히 좋지는 않지만 매우 유용합니다. 소수점 이하 자릿수 😀

    1.    와다

      Mr. elav 우리는 여전히 bash 계산기를 가지고 있습니다 🙂 -l 인수를 사용하여 표준 수학 라이브러리를 사용하도록 할 수 있습니다
      그런 것

      $ echo "(4/8)+(6/9)" | bc -l
      1.166666666666666666666666

      ha

      1.    엘라 브

        ????

      2.    엘리오타임3000

        훌륭한. 이렇게 하면 순수 X11을 사용할 때 XCalc를 설치하는 번거로움을 피할 수 있습니다.

      3.    KZKG ^ 가아라

        오 몰랐어요 굿!!

  2.   clow_eriol

    감사합니다, 꽤 유용합니다 😉

    1.    KZKG ^ 가아라

      감사합니다 ^ _ ^

  3.   녹 투이도

    감사합니다. 시스템 계산기는 기본 연산의 경쟁자가 되었습니다.

    1.    KZKG ^ 가아라

      읽어 주셔서 감사합니다 🙂

  4.   호아킨

    좋은 팁!

  5.   페드로 라라

    나는 그것을 좋아하지 않았다.