При программировании с зоной Busybox str
в следующей программе будет изменен в каждом while
петле, как и ожидалось, но после цикла str
снова станет пустым. /tmp/term_mon_ttys
является тестовым файлом.Ошибка Busybox ash - не может конкатрировать строки во время цикла?
#!/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
, то становится ул 0 1 2 3 4
.
Кто-нибудь заметил эту проблему?