2011-07-05 3 views
3

"expr"키워드를 사용해야한다는 사실을 알 수 있습니다.쉘 스크립팅에서 산술 연산 처리

echo `expr a*b` 

어디 우리는 단순히 간단한 산술 연산자를 사용하여 연산 식을 처리 할 수 ​​있습니다 : - EG

.

EG : - 사전에

echo a*b 

감사합니다.

+0

6 $(())

echo $((2*3)) 

결과를 사용하여 산수를 할 수 있습니까? –

+0

bash shell을 사용하고 있습니다. 질문에 언급 된 첫 번째 방법은 산술 표현식을 평가하는 데 사용할 수 없습니까? – Adnan

+0

** ** 아무 것도 시도하지 않았습니까? –

답변

6

두 번째 형식은 거의 확실하게 원하는 것을 수행하지 않습니다. 배쉬에서는 내장 된 숫자 식의 생각 핸들러가 : POSIX의에서

A=4; B=6; echo $((A * B)) 
13

을 그들은 그래서

$((...)) 

로 묶 때 쉘에서 직접 표현식을 평가할 수 쉘 :

a=12 
b=34 
echo $(($a + $b)) 

그리고 항상 그런 것은, 당신은 또한 처리됩니다 발생할 가능성이있는 모든하여 Posix 쉘 아니었지만 :

오래 전에 셸이 산술 연산을 수행하지 않았기 때문에 외부 프로그램 expr이 작성 되었기 때문에 모든 것이 발생했습니다. 요즘에는 expr이 일반적으로 내장되어 있으며 (/ bin에있는 것 외에도) Posix $((...)) 구문을 사용할 수 있습니다. $((...))이 하루 전부터 있었다면 아무런 반응이 없었을 것입니다. expr.

셸은 정확히 매크로 컴퓨터가 아니며 정확하게 매크로 프로세서는 아닙니다. CLI입니다. 인라인 표현식을 사용하지 않습니다. 인용 부호가없는 *은 CLI가 산술을 수행하는 데 필요한 것보다 더 자주 파일을 참조해야하므로 파일 이름 일치를위한 와일드 카드입니다.

2

당신은 당신이 사용하고있는 쉘

관련 문제