Perguntas com a marcação «control-flow»

O fluxo de controle se refere à ordem em que o código do computador é executado quando um programa ou script está em execução. Os exemplos incluem loops (o código é repetido) e condicionais em que uma ramificação é executada em vez de outra. Use esta tag para perguntas sobre o fluxo de controle em scripts ou programas - não perguntas sobre o controle de fluxo do terminal.

94
Uso confuso de && e || operadores

Eu estava vasculhando um /etc/rc.d/init.d/sendmailarquivo (eu sei que isso quase nunca é usado, mas estou estudando para um exame) e fiquei um pouco confuso sobre &&os ||operadores e. Eu li onde eles podem ser usados ​​em declarações como: if [ test1 ] && [ test2 ]; then echo...

73
Pressione espaço para continuar

Como interrompo um script bash até que um usuário tenha pressionado Space? Eu gostaria de ter a pergunta no meu script Pressione espaço para continuar ou CTRL+ Cpara sair e o script deve parar e aguardar até que o espaço seja

61
Como fazer um loop pelas linhas de um arquivo?

Digamos que eu tenho este arquivo: hello world hello world Este programa #!/bin/bash for i in $(cat $1); do echo "tester: $i" done saídas tester: hello tester: world tester: hello tester: world Eu gostaria que a foriteração de cada linha ignorasse individualmente os espaços em branco, ou...

25
Bash "for" loop sem uma parte "in foo bar ..."

Recentemente, eu estava olhando para um código que me confundiu porque funciona e eu não esperava. O código se reduz a este exemplo #!/bin/bash for var; do echo "$var" done Quando executado com argumentos de linha de comando, os imprime $ ./test a b c a b c É isso, que é (para mim) inesperado....

10
Envie a tarefa para segundo plano em um "se"

Por que é isso? if true; then sleep 3 &; fi bash: syntax error near unexpected token `;' Eu quero correr sleep 3 em segundo plano, para que o comando ["sleep 3" seja apenas um exemplo] seja executado no estilo "paralell", para que termine mais rapidamente. Mas eu estou entendendo...

9
Maneira mais eficiente de executar 2 loops

Atualmente, uso dois whileloops diferentes para iniciar meu gerenciador de janelas, dwm , e a barra de status que imprime as informações do sistema nele. Minha solução no momento é executá-los consecutivamente no mesmo script, assim: while true; do $HOME/Scripts/dwm-status sleep 2s done...