Bash 减去两个变量
我有一个bash脚本,它将一些时间戳缩减为Bash 减去两个变量,bash,shell,unix,Bash,Shell,Unix,我有一个bash脚本,它将一些时间戳缩减为SS.sss格式,并将其存储在一个变量中: s1=$(echo $t1 | cut -c7-) s2=$(echo $t2 | cut -c7-) 我想从$s1中减去$s2(并存储为$s3),但我无法使expr工作-还有其他选项吗?expr仅处理整数算术运算。您可以使用bc: s3=$(echo "$s1 - $s2" | bc) 您可以执行大多数bash计算,如下所示: s3="$((s2 - s1))" 如果我没记错的话,这些仅限于对整数的基本
SS.sss
格式,并将其存储在一个变量中:
s1=$(echo $t1 | cut -c7-)
s2=$(echo $t2 | cut -c7-)
我想从
$s1
中减去$s2
(并存储为$s3
),但我无法使expr
工作-还有其他选项吗?expr
仅处理整数算术运算。您可以使用bc
:
s3=$(echo "$s1 - $s2" | bc)
您可以执行大多数bash计算,如下所示:
s3="$((s2 - s1))"
如果我没记错的话,这些仅限于对整数的基本运算
s3="$(echo "$s2 - $s1" | bc)"
可能更好。s1和s2看起来像什么?也检查一下
s1
和s2
的格式是SS。sss
来自时间戳,例如24.260。$(…)
是POSIX标准的一部分,但不支持浮点运算。我已接受此答案作为我的接受答案,因为此答案适用于我的系统,而另一个答案则不适用。由于某些原因,此版本将不适用于我的系统-但感谢您的帮助!它应该是$(…)
,而不是$(…)
.Oops,谢谢您的编辑开发。我脑子里有算术表达式。