bash中两个变量之间的差为0

时间:2019-05-30 23:46:03

标签: bash shell sh

当我减去两个变量的值时,尽管变量值的差异并非如此,但我总是返回0。

我正在尝试编写一个脚本,该脚本将给我自上次更新文件以来经过的时间。我有一个变量'CurTime',它是从时间点开始的当前时间,以秒为单位,还有一个变量'FileUpdated',它是文件从时间开始以来的秒数。

File="test.txt"
FileUpdated= date -r $File "+%s"
CurTime= date +%s
TimeDiff=$(( CurTime - FileUpdated ))
echo $TimeDiff

我上次运行脚本时,它打印的CurTime值为1559259780,文件更新的时间为1559252608,因此我希望返回值7172,但是接收到的输出为0。

1 个答案:

答案 0 :(得分:0)

问题在于如何定义变量。我进行了更改,以下脚本起作用了:

File="test.txt"
echo $File
FileUpdated=$(date -r $File "+%s")
echo $FileUpdated
CurTime=$(date +%s)
echo $CurTime
TimeDiff=$((CurTime-FileUpdated))
echo $TimeDiff