Cálculo do eco para o arquivo de texto [duplicado]

1

Estou trabalhando em um projeto para calcular minhas horas extras no trabalho com um script de shell. Eu tenho duas entradas e quero descobrir se o meu número é mais de 800 = 8 horas; se é maior, então tem que imprimir o resultado para o meu arquivo de texto. Tem que imprimir minha diferença.

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

e depois estou perdido porque não sei como imprimir o resultado do meu cálculo.

    
por peter 22.02.2018 / 14:34

2 respostas

1

Tente isso usando o bash moderno (não use backticks ou expr ):

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

Ou simplesmente:

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

Verifique bash aritmética

    
por 22.02.2018 / 14:39
0
if (( var1 > 800 )); then
    printf 'Overtime: %d\n' "$(( var1 - 800 ))" >>"$path"
fi

expr e backticks são antiquados, e você nem precisa de uma substituição de comando aqui.

    
por 22.02.2018 / 14:39