Я новичок в написании сценариев оболочки, поэтому мне интересно использовать циклы «Пока» в форме сценария оболочки.
Я знаю, как объявить переменную и использовать цикл while в java
int num = 0;
while(num <= 10)
{
System.out.println(num)
num = num + 1
}
Но я не знаю, как объявлять переменные и использовать их в цикле while в сценарии оболочки.
Вы будете гораздо счастливее, если вместо этого использовать цикл for
(в соответствии с вашим примером)
for i in {0..10}; do
echo "$i"
done
Если вы должны использовать цикл while
, рассмотрите следующее
i=0
while [[ $i -le 10 ]]; do
echo "$i"
i=$((i+=1))
done
Существуют различные способы сделать это, но сценарий оболочки, который наиболее близко отражает ваш пример 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).
Еще один простой способ:
num=0
while (($num <= 10)); do
echo "$num"
((num++))
done
Это будет работать в bash, но не в стандартной оболочке POSIX.
Этот сайт Bash Scripting должен помочь вам, обычно вам не нужно объявлять переменные перед их использованием: