Como ler argumentos da linha de comando em uma festa

Como ler argumentos da linha de comando em uma festa

Ao trabalhar com scripts Bash, você pode encontrar situações em que precisa passar argumentos para o seu script através da linha de comando. Neste artigo, exploraremos as diferentes maneiras de ler argumentos da linha de comando em Bash e fornecer exemplos de cada método.

Quais são os argumentos da linha de comando em bash

Os argumentos da linha de comando em Bash são os parâmetros que são passados ​​para um script ou comando bash quando for executado a partir da linha de comando. Eles são usados ​​para personalizar o comportamento do script ou comando e podem incluir opções, sinalizadores ou valores usados ​​pelo script ou comando para executar tarefas específicas.

Como ler argumentos da linha de comando em uma festa

Para modificar o comportamento dos argumentos da linha de comando do script, são usados ​​principalmente que incluem opções ou sinalizadores. Por exemplo, você pode ter um script que executa uma operação de backup e deseja incluir uma opção para especificar a pasta de destino para o backup. Aqui estão as três maneiras pelas quais se pode ler argumentos da linha de comando no script Bash:

    • Usando $ sinal
    • Usando turno
    • Usando o comando getOps

Como ler argumentos da linha de comando usando $ comando em bash

A maneira mais básica de ler os argumentos da linha de comando em Bash é usar as variáveis ​​$ 0, US $ 1, US $ 2, etc. Essas variáveis ​​representam o nome do script ($ 0) e os parâmetros posicionais passados ​​para o script (US $ 1, US $ 2, etc.). Aqui está um exemplo de código Bash que usa o comando $ para ler argumentos da linha de comando:

#!/BIN/BASH
eco "Nome do script: $ 0"
eco "argumento1: $ 1"
eco "argumento2: $ 2"


Este script lê argumentos de linha de comando em bash usando as variáveis ​​de $ 0, $ 1 e $ 2. A variável de $ 0 contém o nome do próprio script, enquanto US $ 1 e US $ 2 contêm os argumentos da primeira e do segundo comando, respectivamente, e para transmitir argumentos para o script aqui é a sintaxe:


Aqui, o nome do arquivo pode ser incluído como um argumento se eles começarem de US $ 0 e assim. A variável $ 0 contém o nome do próprio script, enquanto US $ 1 e US $ 2 contêm os argumentos da primeira e do segundo comando, respectivamente e abaixo é a saída para ele:

Como ler argumentos da linha de comando usando o comando Shift em Bash

O comando "shift" em Bash permite que você mude os parâmetros posicionais para a esquerda, descartando o primeiro argumento e movendo o restante por uma posição. Isso pode ser útil se você precisar processar argumentos em um loop ou se deseja lidar com argumentos em uma ordem específica. Aqui está um exemplo:

!/BIN/BASH
eco "Nome do script: $ 0"
enquanto ["$#" -gt 0]; fazer
eco "argumento1": $ 1
mudança
feito


O script começa imprimindo o nome do script usando a variável $ 0, que contém o nome do script, como foi chamado da linha de comando. A próxima seção do script é um loop de tempo que verifica se existem argumentos restantes da linha de comando para processar. Faz isso verificando o valor da variável $# especial, que contém o número de argumentos da linha de comando.

O loop então imprime o argumento atual usando a variável $ 1, que contém o primeiro argumento, e depois usa o comando Shift para remover o primeiro argumento da lista de argumentos da linha de comando. Isso muda todos os argumentos restantes em uma posição, de modo que US $ 1 se torna o segundo argumento, US $ 2 se torna o terceiro argumento e assim por diante.

Como ler argumentos da linha de comando usando getopts

O "Comando GOTOPTS em Bash permite analisar argumentos e opções da linha de comando, isso é útil quando você precisa dar argumentos ou bandeiras opcionais ao seu script. Aqui está um código de exemplo que usa o comando GOTOPTS e leu dois argumentos da linha de comando:

#!/BIN/BASH
enquanto getopts ": a: b:" opt; fazer
Caso $ OPT em
a) arg1 = "$ optarg"
;;
b) arg2 = "$ optarg"
;;
\?) eco "opção inválida -$ optarg"> & 2
;;
ESAC
feito
eco "argumento 1: $ arg1"
eco "argumento 2: $ arg2"


O comando GOTOPTS é usado para iterar sobre as opções e argumentos da linha de comando. São necessários dois argumentos: um é uma sequência de todas as opções esperadas e o outro é o nome da variável que manterá o valor da opção atualmente processada.

Neste script, as opções esperadas são -a e -b, que são seguidas por seus argumentos correspondentes. O comando GOTOPTS analisa essas opções e argumentos e os atribui à variável $ opt.

A declaração do caso é então usada para processar cada opção. Se a opção for -a, o valor do argumento correspondente será atribuído à variável $ arg1. Se a opção for -b, o valor do argumento correspondente será atribuído à variável $ arg2. Se uma opção inválida for detectada, uma mensagem de erro será impressa no console.

Depois que todas as opções e argumentos foram processados, o script imprime os valores de $ arg1 e $ arg2 para o console usando o comando echo, aqui está a saída para o código:

Conclusão

Os argumentos da linha de comando no Bash são usados ​​para passar parâmetros para um script ou comando quando for executado na linha de comando. Eles podem incluir valores, opções ou sinalizadores que modificam o comportamento do script e são essenciais para personalizar o comportamento dos scripts e comandos do Bash. Existem três maneiras de ler os argumentos da linha de comando e esses são: usando $ signo, usando o comando getops e usando o shift e tudo isso é mencionado neste guia.