Categories: 명령어

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

 

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

Recent Posts

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

4주 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

4주 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

4주 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

4주 ago

윈도우 11 설치 시 Microsoft 계정 로그인 없이 로컬 계정 만들기

언제부턴가 윈도우 11을 처음 설치할 때 마이크로소프트(Microsoft) 계정 로그인을 강제로 요구하게 되었습니다. 물론 마이크로소프트 계정이…

6개월 ago

에어팟 프로 2 케이스 스피커 소리를 완전히 끄는 방법

애플 에어팟 프로 2 (AirPods Pro 2) 케이스에는 스피커가 내장되어 있습니다. 그런데 간혹 아무 것도…

9개월 ago