다단계 계산의 결과인 변수를 생성하려고 하는데 올바른 형식을 찾을 수 없습니다.
variableA=$(( variable1 / variable2 ) * 100)
이것을 실행할 때 구문 오류가 발생합니다. 누구든지 위의 올바른 형식을 제안할 수 있습니까?
variableA
또한 정수로 반올림하고 싶으 므로 이에 대한 제안이 있는 사람이 있으면 좋을 것입니다.
답변1
전체 표현식을 안에 넣어야합니다이중 괄호:
variableA=$(( (variable1 / variable2) * 100 ))
Bash는 정수 산술만 처리하므로 변수 중 하나에 정수가 아닌 값이 포함되어 있으면 구문 오류가 발생합니다. 이 문제를 해결하려면 값의 첫 번째 마침표부터 모든 항목을 제거하면 됩니다.
variableA=$(( (${variable1%%.*} / ${variable2%%.*}) * 100 ))