산술 계산을 수행하기 위해 Linux 제한 Bash 쉘

산술 계산을 수행하기 위해 Linux 제한 Bash 쉘

가상 머신의 CPU 및 메모리 리소스를 계산하는 쉘 스크립트가 있습니다. 한 가지 작업으로 rbash 셸에서 수학적 계산을 수행하고 싶습니다. 가능한 해결 방법을 안내해 주시겠습니까?

나는 다음과 같은 것을 시도 해왔다

echo $a / 1024 | bc

다음 대체를 시도하고 있는데 다음 오류가 발생합니다. 나에게 말해줄 수 있나요?

두 변수 모두 소수 값도 갖습니다. 0.4, 10.0처럼 빼서 값을 구해야 합니다.

for used_cores in `echo (( $config_cpu - $free_cpu )) | grep [0-9] || echo NA`
do
echo $used_cores
done

실수:

bash: command substitution: line 12: syntax error near unexpected token `('

이 질문은 참조 질문과 다른 것 같습니다. 이것에 대해 생각해 볼 수 있나요?

답변1

정수 값 $a(예제 값을 제공하지 않음)의 경우 명령은 스크립트 외부에서도 echo $a / 1024 | bc작동해야 합니다 rbash.

정수 산술을 사용하는 경우(알려지지 않은 경우인 것 같음 bc) 다음을 호출할 필요조차 없을 수도 있습니다.

echo $(( a/1024 ))

"나를 위해 일해라".

답변2

이것은 일반 쉘이므로 산술 연산자가 작동합니다.

value=$(( a / 1024 ))
echo "$value"

관련 정보