Справка цикла while в сценарии оболочки [closed]

Я новичок в написании сценариев оболочки, поэтому мне интересно использовать циклы «Пока» в форме сценария оболочки.

Я знаю, как объявить переменную и использовать цикл while в java

int num = 0;
while(num <= 10)
{
    System.out.println(num)
    num = num + 1
}

Но я не знаю, как объявлять переменные и использовать их в цикле while в сценарии оболочки.

1
задан 28 October 2013 в 06:50

4 ответа

Вы будете гораздо счастливее, если вместо этого использовать цикл for (в соответствии с вашим примером)

for i in {0..10}; do
    echo "$i"
done

Если вы должны использовать цикл while, рассмотрите следующее

i=0
while [[ $i -le 10 ]]; do
    echo "$i"
    i=$((i+=1))
done
0
ответ дан 28 October 2013 в 06:50

Существуют различные способы сделать это, но сценарий оболочки, который наиболее близко отражает ваш пример Java, состоит в следующем:

num=0
while test $num -le 10; do
    echo $num
    num=$((num+1))
done

Более «shell-ish» способ добиться того же самого будет ]

printf '%s\n' {0..9}

Но обратите внимание, что конструкция {0..9} является «башизмом», который не будет работать в стандартной оболочке (POSIX).

0
ответ дан 28 October 2013 в 06:50

Еще один простой способ:

num=0
while (($num <= 10)); do
    echo "$num"
    ((num++))
done

Это будет работать в bash, но не в стандартной оболочке POSIX.

0
ответ дан 28 October 2013 в 06:50

Этот сайт Bash Scripting должен помочь вам, обычно вам не нужно объявлять переменные перед их использованием:

http://tldp.org/HOWTO/Bash-Prog-Intro- МЕТОДИЧЕСКИЕ-7.html

0
ответ дан 28 October 2013 в 06:50

Другие вопросы по тегам:

Похожие вопросы: