Busybox ash でプログラミングするとstr
、次のプログラムでは、期待どおりにすべてのwhile
ループで変更されますが、while ループの後、str
再び空になります。/tmp/term_mon_ttys
テストファイルです。
#!/bin/ash
cnt=0
str=
cat /tmp/term_mon_ttys | while read line; do
str="$str $cnt"
cnt=`expr $cnt + 1`
done
echo $str
ただし、上記のコードを
#!/bin/ash
cnt=0
str=
while [ $cnt -lt 5 ]; do
str="$str $cnt"
cnt=`expr $cnt + 1`
done
echo $str
while
ループの後、 str は になり0 1 2 3 4
ます。
誰もこの問題に気づきましたか?