JooTC
linux-logo-red

expr과 bc 리눅스 연산 명령어 알아보기

expr 또는 bc 명령어


리눅스에서 변수의 계산 또는 명령어 결과간의 계산은 아래 두 명령어를 통해 가능합니다.

expr : 간단한 연산을 위해 사용됨

bc : 복잡한 연산을 위해 사용됨, Pipe 사용

 

터미널에서 수식 계산은 일반적으로 expr, bc를 사용합니다.

여기서 expr명령어는 간단한 연산을 위해 사용되며, 아래 예시와 같이 사용할 수 있습니다.

[my@host ~]# expr 1  +  2  +  3
6
[my@host ~]# expr 1  +  2
3
[my@host ~]# expr 1  +  2  +  3
6
[my@host ~]# expr 1  -  4
-3
[my@host ~]# expr 10  /  5
2
[my@host ~]# expr 2  \*  8
16
[my@host ~]# expr 1  +  3  +  5  -  7  \*  9
-54

 

각 연산마다 띄어쓰기가 있어야 하며,  <  >  =  |  & 와 같은 비교연산자, 논리연산자를 사용할 수 있습니다. (0 과 1의 값이 출력될 것입니다.)

 

여기서 주의하실 점은 <,  >,  |,  &,  * 기호는 이스케이프문자로 표시되어야 합니다. \ 를 사용하여 \<,  \>,  \|,  \&,  \* 로 입력해주세요. (bc 명령어는 해당되지 않음)

 

expr명령어는 괄호 식 처럼 복잡한 수식을 처리할 수 없는 문제가 있습니다. 

반면 bc는 복잡한 계산이 가능하며 띄어쓰기와 이스케이프문자 변환이 필요없다는 장점이 있습니다.

bc는 echo와 pipe를 사용하거나, bc 명령어만 입력하여 사용합니다. (bc의 논리연산자는 2개를 사용해야 합니다)

[my@host ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
12+150*(40-22)
2712
6&&4
1
 
// 또는 이렇게도 사용 가능합니다.
[my@host ~]# echo "4+34*(43+23)-24" | bc
2224
[my@host ~]# echo "3&&5||3" | bc
1

 

이 글에 대해 어떻게 생각하시나요?
유용한 포스트였나요? 여러분의 의견을 하단의 Vote와 댓글로 남겨주세요 🙂
유용합니다!
아쉽습니다.

여러분의 의견을 댓글로 남겨주세요.

avatar
error: s