Diferença de bash entre espera e sono

Diferença de bash entre espera e sono
Bash é uma poderosa linguagem de script de shell usada em sistemas operacionais baseados em UNIX. Os dois dos comandos mais usados ​​em Bash são espere e dormir e ambos os comandos são usados ​​para pausar a execução de um script de bash, mas eles funcionam de maneira diferente.

Este artigo explorará as diferenças entre espere e dormir comandos em bash e forneça exemplos para cada comando.

Comando do sono

O dormir O comando é usado para pausar a execução de um script para um número especificado de segundos e é frequentemente usado para introduzir os atrasos entre os comandos ou para pausar um script antes de continuar a execução, abaixo está a sintaxe para o dormir comando:

dormir

Onde os segundos é o número de segundos para pausar o script, para uma ilustração adicional, dei um exemplo de código de bash que apenas faz uma pausa na execução do código por 5 segundos, aqui está um exemplo:

#!/BIN/BASH
eco "iniciando um processo de longa duração."
# Pausa por 5 segundos
sono 5
eco "continuando com o script."

O código imprime uma mensagem para indicar que estamos iniciando um processo de longa duração e depois usa o comando do sono para pausar o script por 5 segundos antes de continuar com o próximo comando e uma vez que o dormir O tempo acabou com o script continuará sua execução:

Comando de espera

O espere O comando é usado para pausar a execução de um script até que todos os processos infantis tenham concluído. É frequentemente usado em conjunto com o Operador, que permite que um script execute vários comandos simultaneamente, abaixo está a sintaxe para o espere comando

espere

Para uma ilustração adicional, dei um exemplo de código de bash que aguarda para executar todos os processos em segundo plano usando o comando Wait e assim que todos os processos forem concluídos, ele imprime uma mensagem de tarefa concluída:

#!/BIN/BASH
# Defina uma função que executa uma tarefa demorada
função time_consuming_task
eco "Tarefa de consumo de tempo inicial $ 1"
Durma US $ 2
eco "Tarefa de demora concluída $ 1"

# Inicie várias tarefas demoradas em segundo plano
time_consuming_task "Task 1" 5 &
time_consuming_task "Task 2" 3 &
time_consuming_task "Task 3" 7 &
# Aguarde todas as tarefas de segundo plano
espere
# Imprima uma mensagem indicando que todas as tarefas concluíram
eco "todas as tarefas demoradas foram concluídas."

Aqui definimos uma função chamada time_consuming_task que simula uma tarefa demorada usando o dormir comando para pausar a execução do script por uma quantidade especificada de tempo. Em seguida, começamos várias instâncias dessa função em segundo plano usando o símbolo &.

Depois de iniciar as tarefas de segundo plano, usamos o espere comando para pausar a execução do script até que todas as tarefas de segundo plano sejam concluídas. Por fim, imprimimos uma mensagem indicando que todas as tarefas demoradas foram concluídas:

É assim que o espere O comando pode ser usado para controlar a execução de tarefas de fundo em bash. Ao usar o comando Wait, podemos garantir que nosso script aguarde que todas as tarefas de segundo plano terminem antes de continuar com o próximo comando. Isso pode ser particularmente útil quando precisamos executar várias tarefas demoradas em paralelo e precisam esperar que todas as tarefas sejam concluídas antes de passar para a próxima etapa

Diferença entre espera e sono

A principal diferença entre espere e dormir é aquele espere é usado para pausar um script até que todos os processos infantis tenham concluído, enquanto dormir é usado para pausar um script para um número especificado de segundos. O espere é normalmente usado em conjunto com o Operador para permitir que um script execute vários comandos simultaneamente, enquanto dormir é usado para introduzir atrasos entre os comandos ou para pausar um script antes de continuar a execução.

Conclusão

O espere e dormir são dois comandos comumente usados ​​em bash que são usados ​​para pausar a execução de um script. O espere é usado para pausar um script até que todos os processos infantis tenham concluído, enquanto dormir é usado para pausar um script para um número especificado de segundos. Ao entender as diferenças entre esses comandos, você pode usá -los efetivamente em seus scripts bash para melhorar a eficiência e automatizar tarefas.