这是一个创建于 3791 天前的主题,其中的信息可能已经有所发展或是发生改变。
我有个在linux下的脚本,里面有个for循环,要循环20次,在ubuntu里可以这样:
for ((i=0;i<20;i++))
do
....
done
但是在DD_WRT里面,我试了很多格式,发现只有这种写法可以被支持
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13省略....
do
....
done
甚至连for i in {1..20}这样的写法都不行,追踪下来看到DD_WRT的shell直接把{1..20}作为一个参数来运行了.
是我写法有问题吗?还是DD_WRT精简的连shell都砍掉了这么多支持?
3 条回复 • 2014-05-21 19:45:27 +08:00
|
|
1
little_cup 2014-05-21 19:31:48 +08:00 via Android
应该是ash和bash的区别。 我记得似乎while ... do可用。
|
|
|
2
LazyZhu 2014-05-21 19:36:16 +08:00
那是ash,且是busybox的ash,结果可想而知
|
|
|
3
leavic 2014-05-21 19:45:27 +08:00
|