3

我有一个 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: 算术运算符无效(错误标记为 "

我知道这是基本的,所以我已经搜索和调试了两天。但仍然没有任何工作。请帮忙!

4

2 回答 2

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
于 2012-10-09T07:44:13.803 回答
2

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

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

于 2012-10-09T07:44:47.797 回答