Bash에서 다단계 계산으로 변수 만들기

Bash에서 다단계 계산으로 변수 만들기

다단계 계산의 결과인 변수를 생성하려고 하는데 올바른 형식을 찾을 수 없습니다.

variableA=$(( variable1 / variable2 ) * 100)

이것을 실행할 때 구문 오류가 발생합니다. 누구든지 위의 올바른 형식을 제안할 수 있습니까?

variableA또한 정수로 반올림하고 싶으 므로 이에 대한 제안이 있는 사람이 있으면 좋을 것입니다.

답변1

전체 표현식을 안에 넣어야합니다이중 괄호:

variableA=$(( (variable1 / variable2) * 100 ))

Bash는 정수 산술만 처리하므로 변수 중 하나에 정수가 아닌 값이 포함되어 있으면 구문 오류가 발생합니다. 이 문제를 해결하려면 값의 첫 번째 마침표부터 모든 항목을 제거하면 됩니다.

variableA=$(( (${variable1%%.*} / ${variable2%%.*}) * 100 ))

관련 정보