回显计算到文本文件

回显计算到文本文件

我正在做一个项目,用 shell 脚本计算我的加班时间。我有两个输入,想知道我的数字是否超过 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反引号已经过时了,您甚至不需要在这里进行命令替换。

相关内容