Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Linux shell script Date arithmetic

Tags:

date

linux

shell

I have a shell script

 #!/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

Still getting this error Start| 1349769151 End| 1349769151 ")49769151rror: invalid arithmetic operator (error token is "

I know it is basic, so I have been searched and debug for two days already. But still gets nothing works on this. Plz help!

like image 452
user452187 Avatar asked Apr 20 '26 17:04

user452187


1 Answers

The START and END are not in date format which can't be subtracted. If you just want to measure the execution time then use only %s which will give you difference in seconds.

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
like image 82
P.P Avatar answered Apr 22 '26 09:04

P.P