help-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SECONDS=0 does not reset SECONDS, or I'm missing something


From: Pier Paolo Grassi
Subject: Re: SECONDS=0 does not reset SECONDS, or I'm missing something
Date: Thu, 4 Jun 2020 15:52:05 +0200

from a simple test and observation it does seem that the increment is made
at clock increment, not "from when you reset the variable"
ubuntu 16.04 kernel 4.4.0-179-generic

Il giorno gio 4 giu 2020 alle ore 15:46 dan braun <dan@tekvax.com> ha
scritto:

> Andreas,
>
> I have found that many times operations take much less than a second to
> complete.
> Therefore a single second may not be enough resolution for the task.
>
> I sometimes use the following;
> #nano seconds
> # date +%N
> 688264274
>
> #epoch seconds
> # date +%s
> 1591274861
>
> # sleep 500 milliseconds
> # sleep 0.500
>
> Cheers,
> Dan
> --
> Dan Braun (dan @ tekvax . com )
> Broadcast Engineering
> Burlington, Ontario, Canada
>
>
> On Thu, 4 Jun 2020 at 09:03, Andreas Kusalananda Kähäri <
> andreas.kahari@abc.se> wrote:
>
> > On Thu, Jun 04, 2020 at 03:00:40PM +0200, Kusalananda Kähäri wrote:
> > > On Thu, Jun 04, 2020 at 08:48:34AM -0400, Steve Amerige wrote:
> > > > On 6/4/2020 6:14 AM, Andreas Kusalananda Kähäri wrote:
> > > > >   #!/usr/local/bin/bash -x
> > > > >
> > > > >   for name do
> > > > >           SECONDS=0
> > > > >           rm -r -f "$name"
> > > > >           [[ SECONDS -gt 0 ]] && sleep "$SECONDS"
> > > > >   done
> > > > >
> > > > > What I noticed was that the script would go to sleep for a second
> > > > > every second, even if the deletion of directories was quick.  This
> > > > > indicates that SECONDS=0 didn't properly reset the SECONDS timer.
> > > >
> > > > Note that your script doesn't have a semicolon after "for name":
> > > >
> > > > for name; do
> > > > ...
> > > > done
> > >
> > > That's because it doesn't need one.
> > >
> > > >From the manual:
> > >
> > >       for name [ [ in [ word ... ] ] ; ] do list ; done
> > >
> > > That is, "for name in do list; done" is valid.
> >
> > Sorry, I meant "for name do list; done" above, which is what I have in
> > my code.
> >
> >
> > --
> > Andreas (Kusalananda) Kähäri
> > SciLifeLab, NBIS, ICM
> > Uppsala University, Sweden
> >
> > .
> >
> >
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]