Как сделать одну строку для цикла в оболочке 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