Como ecoar os comandos do shell enquanto são executados em bash
Os comandos ecoando em Bash ajudam os usuários e desenvolvedores a entender o que está acontecendo em seus scripts. Ao exibir os comandos à medida que são executados, os usuários podem verificar se o script está funcionando como pretendido e identificar quaisquer erros ou comportamento inesperado, aqui estão algumas maneiras de ecoar os comandos do shell em Bash:
Método 1: Usando o comando set
O comando set em Bash pode ser usado para ativar ou desativar opções e definir parâmetros de shell. Definindo o -x Opção, você pode ativar o rastreamento da concha, o que fará com que o Bash imprima cada comando antes de ser executado.
#!/BIN/BASH
set -x
eco "Olá, Linux!"
set +x
A saída deste script incluirá o comando que está sendo executado:
Método 2: Usando a armadilha de depuração
A armadilha de depuração é uma armadilha especial que é executada antes de cada comando em um script bash. Ao definir uma função para a armadilha de depuração, você pode imprimir cada comando antes de ser executado:
#!/BIN/BASH
Debug de função
eco "$ Bash_Command"
Depuração de depuração do Trap
eco "Olá, mundo!"
armadilha - depuração
A saída deste script incluirá o comando que está sendo executado:
Método 3: Usando a opção Bash -x
Você também pode ativar xtrace modo passando pelo -x opção para o comando Bash ao executar um script. Para ilustrar o uso de -x Opção Aqui está um script simples de bash que apenas imprime uma string usando o comando echo:
#!/BIN/BASH
eco "Olá, Linux!"
Para executar este script com o modo XTRACE ativado, você pode executar o script usando a sintaxe abaixo:
Bash -x
Neste exemplo, a festa -x O comando executa o script com xtrace Modo ativado, fazendo com que o shell imprimisse cada comando antes de ser executado. O comando Echo então imprime "Olá Mundo!” para o console:
Conclusão
Ecoar os comandos do shell à medida que são executados é uma maneira poderosa de depurar scripts bash. Usando o definir comando, o -x opção e a Armadilha de depuração, Você pode imprimir facilmente cada comando antes de ser executado.