Sponsored Content
Full Discussion: POSIX compliance...
Operating Systems OS X (Apple) POSIX compliance... Post 302976886 by Don Cragun on Thursday 7th of July 2016 02:24:13 PM
Old 07-07-2016
Some shells (such as bash and 1993 or later versions of ksh) provide:
Code:
for((n=1; n<=100; n++))
do	echo "process n=$n"
done

but this is an extension that is not yet specified by the standards. As you said, standard ways to do the same thing require an initialization step before the loop, such as in:
Code:
n=1
while [ $n -le 100 ]
do	echo "process n=$n"
	n=$((n + 1))
done

and in:
Code:
n=0
while [ $((++n <= 100)) -eq 1 ]
do	echo "process n=$n"
done

Note: As noted by Scrutinizer in post #8, the POSIX standards do not require $((++n)) to work. (It works with a recent bash and with a 1993 or later version of ksh, but is an extension to the requirements specified by the standards.)
Code:
n=0
while [ $(((n += 1) <= 100)) -eq 1 ]
do	echo "process n=$n"
done

should work in an POSIX-conforming shell.

Last edited by Don Cragun; 07-10-2016 at 04:56 PM.. Reason: Add note.
This User Gave Thanks to Don Cragun For This Post:
 

5 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

sudo & Sox compliance

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

man synopsis standard compliance

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

PCI DSS Compliance : Insecure Communication Has Been Detected

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

Looking for PCI Compliance tool for Redhat Lix.

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

Password compliance setting

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
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)
All times are GMT -4. The time now is 06:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy