Как сделать одну строку для цикла в оболочке Android
Это работает на bash
for i in {1..5}; do echo $i; done
out put is 1 2 3 4 5 Но на оболочке Android выход равен {1..5}
Ответ 1
i=0; while [ $(($i)) -le 5 ]; do i=$(($i + 1)); echo $i; done;
Протестировано на оболочке adb в Galaxy Tab 4 7 "- Спасибо Lynch за большую часть ответа. 'Expr не работает в оболочке по умолчанию.
Ответ 2
Ты пробовал,
for ((i=1; i<=5; i++)) do echo $i; done
Edit-
или вы можете использовать последовательность,
for i in 'seq 1 5'; do echo $i; done
Ответ 3
Если ваша оболочка - sh, то используйте следующую команду:
for i in 'seq 1 5'; do echo $i; done
редактировать
У вас, вероятно, нет программы seq. Вместо этого попробуйте эту команду:
i=1; while [ $i -le 5 ] ; do echo $i; i='expr $i + 1'; done
Ответ 4
Если ваша последовательность не слишком велика, вы можете просто перечислить значения, представляющие интерес. Итак, в стандартной оболочке ADB для Android:
for i in 1 2 3; do echo $i; done
Returns:
1
2
3
или:
for i in 5 11 7; do echo $i; done
Returns:
5
11
7
или даже:
for i in apple orange banana; do echo $i; done
Returns:
apple
orange
banana