Elapsed time ?
Benjamin Franz
snowhare at nihongo.org
Sun Mar 12 12:55:47 UTC 2006
On Sun, 12 Mar 2006, M. Lewis wrote:
>
> I'm trying to get the elapsed time. The following gives me '1', however I
> would like it to give me 1.98333333. Where am I missing the boat?
>
>
> #!/bin/sh
>
> TIME1=`date +%s`
> echo $TIME1
> sleep 119
> TIME2=`date +%s`
> echo $TIME2
>
>
> ELTIME=$[ ($TIME2 - $TIME1)/60 ]
> echo $ELTIME
Do you need elapsed time _in_ your script or elapsed time _for_ your
script/program? If the latter,
time myscriptname
will give you good numbers (see 'man time' for info on 'time' options) a
lot easier.
If the former, look at the '%N' option to date (IOW: date '+%s.%N')
(otherwise you have up to a full second error in the timing) and bc for
floating point arithmetic.
#!/bin/sh
TIME1=`date '+%s.%N'`
echo $TIME1
sleep 2
TIME2=`date '+%s.%N'`
echo $TIME2
ELTIME=`echo "($TIME2 - $TIME1)/60" | bc -l`
echo $ELTIME
--
Benjamin Franz
If you can't handle reality, it *will* handle you.
More information about the fedora-list
mailing list