Linux shell脚本日期算术

时间:2012-10-09 07:40:07

标签: linux shell date

我有一个shell脚本

 #!/bin/bash
START=$(date +%s)
echo "  Start| $START "
# do something
# start your script work here
#  
# your logic ends here
END=$(date +%s)
echo "  End|  $END "
DIFF=$(( $END-$START ))
echo "  Diff in seconds|"  $DIFF

仍然收到此错误   开始| 1349769151   结束| 1349769151  “)49769151rror:无效的算术运算符(错误标记为”

我知道它是基本的,所以我已经搜索并调试了两天。 但仍然无法解决这个问题。 Plz帮忙!

2 个答案:

答案 0 :(得分:3)

START和END不是日期格式,无法减去。如果你只想测量执行时间,那么只使用%s,它会在几秒钟内给你带来差异。

START=$(date +%s)
echo "  Start| $START "
# do something
# start your script work here
#  
# your logic ends here
END=$(date +%s)
echo "  End|  $END "
DIFF=$(( $END-$START ))
echo "Diff in seconds:" $DIFF

答案 1 :(得分:2)

您正在尝试使用字符串执行算术运算:它不起作用。

我建议您将日期打印为date "+%s"的时间戳,并将这些数字用于数学运算。