Enquanto loop ajuda no Shell Script [fechado]

1

Sou novo em scripts de shell, por isso estou curioso sobre o uso da forma While Loops in Shell Script.

Eu sei como declarar uma variável e usar um loop while em java

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

Mas eu não sei como declarar variáveis e usá-las em um loop while em um Script da Shell.

    
por Schmidty15 27.10.2013 / 21:22

4 respostas

1

Você ficará muito mais feliz usando um loop for (de acordo com seu exemplo)

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

Se você precisar usar um loop while , considere o seguinte

i=0
while [[ $i -le 10 ]]; do
    echo "$i"
    i=$((i+=1))
done
    
por kiri 27.10.2013 / 21:49
3

Existem várias maneiras de fazer isso, mas o script de shell que mais se aproxima do seu exemplo de Java é este:

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

Uma maneira mais 'shell-ish' de conseguir o mesmo seria

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

Mas observe que a construção {0..9} é um 'bashism', que não funcionará no shell padrão (POSIX).

    
por zwets 27.10.2013 / 21:29
0

Mais uma maneira simples:

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

Isso funcionará no bash, mas não em um shell POSIX padrão.

    
por Radu Rădeanu 27.10.2013 / 22:03
-2

Este site Bash Scripting deve ajudá-lo, geralmente você não precisa declarar variáveis antes de usá-las:

link

    
por labarna 27.10.2013 / 21:24