pertze
05-04-2005, 14:32
Hallo allerseits,
ich habe folgendes Problem mit der Variablenbelegung in einer Schleife:
[...]
COLUMNS=0
find /usr/test | while read line; do
if [ `echo $line | awk -F / '{print NF-1}'` -gt $COLUMNS ]; then
COLUMNS=`echo $line | awk -F / '{print NF-1}'`
fi
done
[...]
Das Problem ist, dass COLUMNS keinen Wert zugewiesen bekommt.
Ein
echo $COLUMNS
ergibt immer 0.
COLUMNS scheint nur in der Schleife gueltig zu sein, ich muss in dem Script aber mit dem Wert von COLUMNS weiter arbeiten.
Dachte schon irgendwas anderes ist faul, aber es stimmt alles.
Ein simples
find /usr/test | while read line; do BLA=`uname`; echo $BLA; done; echo -e "\nHier muesste was stehen: $BLA"
beweist es. In der Schleife ist $BLA belegt, danach steht ein leerer String in $BLA.
Ich steh irgendwie auf'm Schlauch :confused:
Hoffe jemand kann mir helfen, danke!
ich habe folgendes Problem mit der Variablenbelegung in einer Schleife:
[...]
COLUMNS=0
find /usr/test | while read line; do
if [ `echo $line | awk -F / '{print NF-1}'` -gt $COLUMNS ]; then
COLUMNS=`echo $line | awk -F / '{print NF-1}'`
fi
done
[...]
Das Problem ist, dass COLUMNS keinen Wert zugewiesen bekommt.
Ein
echo $COLUMNS
ergibt immer 0.
COLUMNS scheint nur in der Schleife gueltig zu sein, ich muss in dem Script aber mit dem Wert von COLUMNS weiter arbeiten.
Dachte schon irgendwas anderes ist faul, aber es stimmt alles.
Ein simples
find /usr/test | while read line; do BLA=`uname`; echo $BLA; done; echo -e "\nHier muesste was stehen: $BLA"
beweist es. In der Schleife ist $BLA belegt, danach steht ein leerer String in $BLA.
Ich steh irgendwie auf'm Schlauch :confused:
Hoffe jemand kann mir helfen, danke!