On Fri, Jun 10, 2011 at 03:53:15AM +0000, Grail Dane wrote: > Just wondering, as I can't find by googling, if it is at all possible to > do a processsubstitution into a while loop within an upstart script?
> Example:
> while read -r DEVICE
> do
> ip link set dev $DEVICE up
> done< <(ip link | awk '/^[0-9]/ && !/UP/ && gsub(/:/,""){print $2})
> When issuing the start command on the script I get:
> /proc/self/fd/10: line 6: syntax error near unexpected '<'init:
> network-interfaces main process (1367) terminated with status 2start: Job
> failed to start Would appreciated if someone would identify if i have done
> something wrong or if this not a supported feature?
The <() syntax is not part of the POSIX standard, it's a bash extension.
Upstart uses /bin/sh to interpret scripts, as is customary; chances are
you're running on a system where /bin/sh is not bash, and as a result this
syntax is not supported.
A supported syntax would be:
ip link | awk '/^[0-9]/ && !/UP/ && gsub(/:/,""){print $2}' |
while read -r DEVICE
do
ip link set dev $DEVICE up
done
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
[email protected] [email protected]
signature.asc
Description: Digital signature
-- upstart-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/upstart-devel
