Como verificar a existência do argumento de entrada em um script de shell bash

Como verificar a existência do argumento de entrada em um script de shell bash
Bash Shell Script é uma ferramenta poderosa para automatizar tarefas repetitivas e executar operações complexas na linha de comando. Um dos conceitos fundamentais em scripts de shell é aceitar argumentos de entrada do usuário ou de outros scripts. Ao lidar com argumentos de entrada, é essencial verificar se o argumento de entrada existe ou não para evitar comportamentos inesperados no script. Este artigo discutirá maneiras diferentes de verificar a existência de argumentos de entrada em um script de shell bash.

Como verificar a existência do argumento de entrada em um script de shell bash

Existem três maneiras diferentes:

  1. Usando o comando "teste"
  2. Usando a variável "$#"
  3. Usando a opção "-n"

Método 1: Usando o comando "teste"

O comando "teste", também conhecido como o comando "[", é um comando embutido em bash que testa para várias condições. Uma das condições que podemos testar usando o comando "teste" é se existe uma variável ou não. Aqui está um código de exemplo para verificar se existe um argumento de entrada usando o comando "teste":

#!/BIN/BASH
Se [-z "$ 1"]
então
eco "o argumento de entrada está faltando."
saída 1
fi
eco "o argumento de entrada existe."

Aqui a opção "-z" é usada com o comando "teste" para verificar se o argumento de entrada é uma string vazia ou não. O script produzirá uma mensagem de erro e sairá com um código de status de 1 se o argumento de entrada for uma string vazia. Caso contrário, o script continuará executando, abaixo, eu forneci e a entrada de argumentos para o código, para exibir a mensagem de existência de entrada do argumento:

Método 2: Usando a variável "$#"

O "$#" A variável armazena o número de argumentos de entrada passados ​​para um script. Se o script espera pelo menos um argumento de entrada, podemos verificar se o "$#" A variável é maior que zero. Aqui está um exemplo de código para verificar se pelo menos um argumento de entrada existe usando o "$#" variável:

#!/BIN/BASH
Se [$# -EQ 0]
então
eco "o argumento de entrada está faltando."
saída 1
fi
eco "o argumento de entrada existe."

Aqui o “-EQ” O operador é usado para verificar se o "$#" A variável é igual a zero ou não e se a variável "$#" for igual a zero, o script exibirá uma mensagem de erro e sairá com um código de status de 1. Caso contrário, o script continuará executando, abaixo, eu forneci e a entrada de argumentos para o código, para exibir a mensagem de existência de entrada do argumento:

Método 3: Usando a opção "-n"

O "-N" a opção é usada para verificar se uma variável não está vazia. Podemos usar esta opção para verificar se o argumento de entrada existe ou não. Abaixo, dei um código de exemplo que verifica se existe um argumento de entrada usando o "-N" opção:

#!/BIN/BASH
Se [-n "$ 1"]
então
eco "o argumento de entrada existe."
outro
eco "o argumento de entrada está faltando."
saída 1
fi

Aqui o "-N" A opção é usada para verificar se o argumento de entrada não está vazio e se o argumento de entrada não estiver vazio, o script exibirá uma mensagem de sucesso. Caso contrário, o script exibirá uma mensagem de erro e sairá com um código de status de 1, abaixo, eu forneci e a entrada de argumentos para o código, para que ele exiba a mensagem de existência de entrada do argumento:

Conclusão

Na shell script, verificar a existência de argumentos de entrada é uma etapa essencial para garantir que o script seja executado conforme o esperado. Podemos usar técnicas diferentes para verificar a existência de argumentos de entrada, como usar o comando "teste", a variável "$#" ou a opção "-n". Ao implementar essas técnicas, criamos scripts de shell mais robustos e confiáveis ​​que podem lidar com argumentos de entrada.