Como usar a opção Bash “Set -x”

Como usar a opção Bash “Set -x”

O comando definido do Linux é usado para definir e não definir opções específicas. Essas opções gerenciam o comportamento de um determinado script e permitem a execução da tarefa sem erro. Neste artigo, usamos a opção "X" com o comando set que informa a festa para exibir as declarações à medida que são processadas. É imensamente útil para depuração quando precisamos determinar quais linhas foram executadas e em que sequência. A operação Set -x pode ser empregada diretamente em um shell aberto ou dentro de um script bash. Nos exemplos a seguir, usamos o comando set com a opção "x" para ativar e desativar as várias funcionalidades.

Exemplo 1: Programar usando o set -x em um script de bash

Aqui, criamos o “Bash1.Arquivo SH ”e forneça o script para usar a opção Set -x. Usamos o comando "set -x" para ativar a depuração, porque o script bash não permite a depuração por padrão. Primeiro inserimos o comando sh-band em nosso script. Depois disso, usamos o modificador de "conjunto" com sua bandeira "-x" para ativar a depuração. Em seguida, declaramos o comando "Echo" que fornece a declaração "minha primeira declaração". O mesmo assim em declaração de eco, definimos outra declaração "minha segunda declaração" usando o modificador "Echo". Em seguida, executamos o script Bash abrindo o terminal para mostrar os resultados de permitir a depuração do comando set -x.

#!/BIN/BASH
set -x
eco "minha primeira declaração"
eco "minha segunda declaração"

No terminal, invocamos a palavra -chave "Bash" para a compilação do "Bash1.arquivo sh ”. Depois disso, executamos o arquivo fornecido que imprime o comando de eco com o símbolo "+" junto com a declaração resultante dos comandos de eco.

Exemplo 2: Programar usando o set -x em um modo desativado em um script de bash

No exemplo recente, demonstramos a maneira de permitir a depuração usando o comando "set -x". Agora, fornecemos uma maneira de desativar a depuração no script Bash usando o comando "set", mas com a opção "X" em um formato diferente. Aqui, construímos o script em um “Bash2.sh ”. Primeiro, usamos o comando "set -x", que permite a depuração de Bash. Em seguida, definimos o comando "Echo" para imprimir a instrução "Print Declarection1". Depois disso, implantamos o comando "set +x" para desativar a depuração do script Bash. A diferença em ativar e desativar a depuração é que usamos a opção "X" com o símbolo negativo "-" para ativar a depuração. O "X" com o símbolo positivo "+" indica desativar a depuração do Bash.

#!/BIN/BASH
set -x
eco "Print Declaração1"
set +x
eco "Print Declaration2"

O script Bash anterior é executado no terminal usando o “Bash ./Bash2.sh ”comando. O resultado deste script imprime o comando "Echo" com a saída desse comando de eco porque a depuração está ativada. Então, o comando "set +x" é impresso onde desativamos a depuração. O modo de desativação de depurar a festa simplesmente imprime a saída do comando Echo, como visto na imagem a seguir:

Exemplo 3: Programa usando o set -x no comando shebang line em um script bash

Temos outra maneira de ativar a depuração em Bash, incluindo a bandeira "-x" na linha Shebang. Aqui, criamos o script dentro do “Bash3.sh ”. Começamos definindo o “#!/bin/bash -x ”Shebang Comando, onde a opção“ -x ”também é declarada para permitir a depuração do script de bash fornecido. Em seguida, criamos o atributo "MyName" ao qual atribuímos um valor "Linux". O atributo é definido ainda mais com o comando echo para imprimir seu valor. Depois disso, desativamos a depuração com a instrução "set +x". Declaramos o atributo "mysalary" e o inicializamos com o valor "7000" para depuração. A palavra -chave "eco" é chamada sobre o atributo "mysalary" para produzir o valor. Em seguida, definimos um caso novamente para ativar a depuração no script Bash. Para isso, definimos o comando "set +x". Depois disso, definimos o atributo "MyLanguage" novamente com o valor "inglês" para examinar o modo ativado de depuração.

#!/bin/bash -x
MyName = Linux
eco $ myname
set +x
Mysalary = 7000
eco $ mysalary
set -x
MyLanguage = inglês
eco $ myLanguage

Quando o “Bash3.SH ”é executado no terminal, primeiro imprime a expressão“ myname = linux ”e a declaração de eco com seu valor resultante. O valor “7000” é o valor resultante da expressão de eco onde a depuração não é ativada. Em seguida, também é a expressão impressa “mylanguage = inglês” e a expressão de eco com o valor de saída “inglês”, pois o modo de depuração é ativado.

Exemplo 4: Programar usando o set -x em um script de bash para a expressão condicional

Agora, usamos o comando "set -x" para depurar a declaração condicional que executa o resultado, bem como imprime cada etapa da saída do script Bash para uma melhor compreensão do script. Aqui, geramos o script Bash no “Bash4.arquivo sh ”. A primeira etapa do script é declarar o comando "set -x". Ao usar o comando "set -x", ativamos o modo de depuração do nosso script Bash. Em seguida, criamos o atributo "y" e especificamos um valor numérico de "50". Depois disso, implantamos o loop while, onde a condição é dada como "$ y -gt 0". A declaração "fazer e fazer" tem a operação para satisfazer a condição enquanto. O comando "Echo" é atribuído com uma variável "$ y" que imprime o valor decremento a cada vez até que o loop for encerrado.

set -x
y = 50
enquanto [$ y -gt 0]; fazer
y = $ [$ y-10]
eco $ y
sono 1
feito

A saída é exibida com cada etapa do script, onde os valores condicionais são atualizados.

Conclusão

O uso do comando "set -x" em Bash é um processo de depuração que soluciona o código reconhecendo os bugs no script. O "set -x" é ajudado quando é um desafio para os usuários desenvolver um script sem erros, especialmente quando compreende um grande número de linhas. Fornecemos os scripts bash usando os comandos "set -x" e "set +x" para demonstração. Além disso, também podemos usar a opção "X" no terminal como "Bash -x ./Nome do arquivo.sh ”se não quisermos usar o comando“ set -x ”no script. Alcançamos o mesmo resultado fazendo isso.