가상 머신의 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"