我有一个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帮忙!
答案 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"
的时间戳,并将这些数字用于数学运算。