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