07-06-2016
Hi Barry,
That looks quite neat and Posixy!
Some comments and ideas:
- The sleep command is not used in a POSIX compliant ways, since it gets fed a float here, and in POSIX it can only handle integers. An alternative is maybe to fill the hourglass more or less from the start, depending on the number of minutes / seconds, and compensate the rest with the first sleep command.
- Instead of using awk to cut the first 6 characters you could use "${platform%"${platform#??????}"}" or better yet, replace the if statements with one case statement and use it pattern matching capability CYGWIN*), so you do not need to cut the platform string.
- The awk command substitutions in the 2nd for loop take time and will skew the time slightly. An alternative is to use parameter expansions or predefine the strings so that it does not add as much to the time used by the sleep commands..
- Perhaps you could have a seconds countdown instead of the static number.
- If more time is entered than what the hourglass can handle, graphically turn the hourglass (nice scripting challenge?)
This User Gave Thanks to Scrutinizer For This Post:
5 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hello,
I am trying to convince my boss to stop allowing our users to login as root (superuser). Currently our users login to our unix server with their own account, then as needed, they will do an su and put in the root password.
This scares me, for a bunch of reasons. Mainly, one is that we... (1 Reply)
Discussion started by: rwallaceisg
1 Replies
2. UNIX for Dummies Questions & Answers
In different online sources, I found bits and pieces of information about those square and angular brackets and pipes. From what I have read, I can conclude it looks like this:
1. Options outside any brackets are mandatory
2. Options inside these < .. > are mandatory too
3. Options inside ... (4 Replies)
Discussion started by: vkleban
4 Replies
3. Cybersecurity
From the nessus scanner tool report i got below vulnerability
PCI DSS Compliance : Insecure Communication Has Been Detected
http://www.tenable.com/plugins/index.php?view=single&id=56208
As per the description given in above link - I am not able to understand
How to find insecure port... (2 Replies)
Discussion started by: saurabh84g
2 Replies
4. Red Hat
Hi i am in new to Linux world . I have been assigned to a project to find out a tool that will fulfill the PCI compliance for Linux servers for Audit process. anyone have any recommendation on that. Do Rad hat have any native application or plug-ins which we can use for that. (1 Reply)
Discussion started by: sahasuman
1 Replies
5. HP-UX
I need to set password compliance for some servers in my company.
However, the requirements are that we need to set different password policies for 3 different user groups within the company. These are :
System Users: i.e root, etc
Batch/Application Users: oracle, bscs, etc
Standard User:... (0 Replies)
Discussion started by: anaigini45
0 Replies
LEARN ABOUT DEBIAN
io::async::timer
IO::Async::Timer(3pm) User Contributed Perl Documentation IO::Async::Timer(3pm)
NAME
"IO::Async::Timer" - base class for Notifiers that use timed delays
DESCRIPTION
This module provides a subclass of IO::Async::Notifier for implementing notifiers that use timed delays. For specific implementations, see
one of the subclasses:
o IO::Async::Timer::Absolute - event callback at a fixed future time
o IO::Async::Timer::Countdown - event callback after a fixed delay
o IO::Async::Timer::Periodic - event callback at regular intervals
CONSTRUCTOR
$timer = IO::Async::Timer->new( %args )
Constructs a particular subclass of "IO::Async::Timer" object, and returns it. This constructor is provided for backward compatibility to
older code which doesn't use the subclasses. New code should directly construct a subclass instead.
mode => STRING
The type of timer to create. Currently the only allowed mode is "countdown" but more types may be added in the future.
Once constructed, the "Timer" will need to be added to the "Loop" before it will work. It will also need to be started by the "start"
method.
METHODS
$running = $timer->is_running
Returns true if the Timer has been started, and has not yet expired, or been stopped.
$timer->start
Starts the Timer. Throws an error if it was already running.
If the Timer is not yet in a Loop, the actual start will be deferred until it is added. Once added, it will be running, and will expire at
the given duration after the time it was added.
As a convenience, $timer is returned. This may be useful for starting timers at construction time:
$loop->add( IO::Async::Timer->new( ... )->start );
$timer->stop
Stops the Timer if it is running. If it has not yet been added to the "Loop" but there is a start pending, this will cancel it.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>
perl v5.14.2 2012-10-24 IO::Async::Timer(3pm)