텍스트 파일에 대한 에코 계산

텍스트 파일에 대한 에코 계산

저는 쉘 스크립트를 사용하여 초과 근무 시간을 계산하는 프로젝트를 진행 중입니다. 두 개의 입력이 있고 내 숫자가 800 = 8시간을 초과하는지 알고 싶습니다. 더 큰 경우 결과를 내 텍스트 파일에 인쇄해야 합니다. 내 차이점을 인쇄해야 합니다.

if [ $var1 -gt 800 ]; then
`expr $var1-800`
echo Overtime: "" >> $path 

그러면 계산 결과를 인쇄하는 방법을 모르기 때문에 길을 잃습니다.

답변1

최신 bash로 이것을 시도해 보십시오(백틱이나 를 사용하지 마십시오 expr):

if ((var1 > 800)); then
    overtime=$((var1 - 800)) # variable assignation with the arithmetic 
    echo "Overtime: $overtime"
fi

또는 간단하게:

if ((var1 > 800)); then
    overtime="Overtime: $((var1 - 800))" # concatenation of string + arithmetic
fi

확인하다bash 산술

답변2

if (( var1 > 800 )); then
    printf 'Overtime: %d\n' "$(( var1 - 800 ))" >>"$path"
fi

expr백틱은 더 이상 사용되지 않으며 여기서는 명령 대체도 필요하지 않습니다.

관련 정보