while

Achim Dreyer adreyer at math.uni-paderborn.de
Sun Nov 25 20:40:03 CET 2001


On Fri, 23 Nov 2001, Hans-Joachim Hoetger wrote:

> > > neue shell aufzumachen. Eine Variable, die ich vor der
> > > while-shleife setze und in der schleife incrementiere ist
> > > nach der Schleife wieder auf dem initialen Wert.
[..]

> > Abhilfe:
> >   Umleitung von stdin


> Hmm, vielleicht habe ich ja einen Knoten im Gehirn.Kannst Du mir
> mal auf die Spr=FCnge helfen?

Es wird nur eine neue Shell (Subprozess..) aufgemacht, wenn die
Standardeingabe für die while-Schleife von einem UNIX-Socket stammt.

Problem:

DEV=""
while read dev xx; do
  DEV="DEV $dev"
done < /etc/fstab
echo "$DEV"


korrekt:

DEV=""
exec 4<&0
exec 0</etc/fstab
while read dev xx; do
  DEV="DEV $dev"
done
exec 0<&4
echo "$DEV"




Regards,
Achim Dreyer

-----------------------------------------------------------------------
A. Dreyer, UNIX System Administrator and Internet Security Consultant







More information about the Linux mailing list