Este tutorial analisará os loops, um conceito fundamental em scripts e programação em geral. Vamos nos concentrar especificamente em como os loops funcionam.
Para estrutura básica de loop
Antes de usarmos exemplos de scripts para loops, discutimos a estrutura. Para loops adotar a sintaxe geral:
para- em
fazer
feito
Você pode passar na lista de itens como uma matriz, uma série de literais de cordas (separados por espaços) ou uma variedade de números.
Vamos agora considerar alguns exemplos e ilustrar como funcionar loops.
Exemplo 1
Considere o exemplo mostrado abaixo. Voltamos sobre uma lista de valores de string e imprimimos a string atual no loop.
#!/usr/bin/zsh
Para beber em vinho de café com chá aquático
fazer
eco "bebida: $ bebida"
feito
Depois de executar o script, você deve ver cada item na lista impressa, conforme mostrado no exemplo abaixo:
$ ./para.sh
Beber água
Beba chá
Bebida: café
Beba vinho
Exemplo 2
Você também pode especificar o valor da lista no loop for uma sequência de números. Você faz isso definindo os valores iniciantes e finais. A sintaxe está abaixo:
Inicio fim
Veja o exemplo para o loop abaixo dos valores de loop 10 vezes.
#!/usr/bin/zsh
para i em 1… 10
fazer
eco "Número: $ i"
feito
Você deve obter todos os números entre 1 e 10 impressos para o terminal.
Número 1
Número 2
..
Número: 8
Número 9
Número: 10
Exemplo 3
Em alguns casos, ao usar o intervalo de números, você precisa pular os valores por um intervalo específico. Por exemplo, para imprimir os números pares entre 10 e 20, você precisará usar um intervalo de 2.
Você pode fazer isso especificando o incremento como o terceiro argumento dos intervalos de números.
A sintaxe é:
Start… fim… incremento
Abaixo está um código de exemplo:
#!/usr/bin/zsh
para eu em 10… 20… 2
fazer
eco "Número: $ i"
feito
O código de exemplo acima deve imprimir todos os números pares entre 10 e 20. Abaixo está um exemplo de saída:
Número: 10
Número: 12
..
Número: 20
Exemplo 4
Outro caso de uso comum para um loop é iterar em uma variedade de itens. Considere o exemplo mostrado abaixo:
#!/usr/bin/zsh
bancos de dados = ('mysql' 'pósgresql' 'mongodb' 'redis' 'fauna' 'barata db')
para db em "$ bancos de dados [@]"; do
eco "banco de dados: $ db"
feito
O acima para o loop iterará cada item na matriz e o imprimirá.
Banco de dados: MySQL
Banco de dados: PostGresql
..
Banco de dados: fauna
Banco de dados: DB de barata
Quebrar e continuar as declarações
Você também pode usar o intervalo e continuar as palavras -chave para controlar o fluxo do loop dentro de um script ZSH.
Vamos começar com a palavra -chave quebrada.
Quebrar palavra -chave
Você pode usar a palavra -chave quebrada para encerrar o fluxo de loop atual e passar o controle para o seguinte bloco. O principal uso disso é encerrar o fluxo de loop se uma condição específica for verdadeira.
Por exemplo:
#!/usr/bin/zsh
Para DB em Mysql PostgreSql MongoDB Redis Fauna Cockroach; Faça
se [["$ db" == 'MongoDB']]; então
quebrar
fi
eco "banco de dados: $ db"
feito
No exemplo acima, lidamos com o item e quebramos o fluxo de loop se o item atual for mongodb.
Aqui está um exemplo de saída:
Banco de dados: MySQL
Banco de dados: PostGresql
Continue a palavra -chave
Por outro lado, a palavra -chave continua sai da iteração atual do loop e pula para a próxima iteração.
Por exemplo:
#!/usr/bin/zsh
para i em 1… 10; fazer
se [["$ i" == '5']]; então
continuar
fi
eco "Número: $ i"
feito
Quando o loop estiver na 5ª iteração, ele pulará e pulará para o próximo valor no intervalo. Essa funcionalidade levará ao 5º valor não ser impresso.
Conclusão
Este tutorial discutiu como implementar loops em um script ZSH. É bom observar que o ZSH é baseado em bash; Portanto, a funcionalidade de loop criada para o Bash também funcionará para o ZSH.