Como obter argumentos com bandeiras em Bash

Como obter argumentos com bandeiras em Bash
Bash é um shell e a linguagem de comando amplamente usada usada nos sistemas UNIX e Linux. Ele fornece várias maneiras de transmitir argumentos para scripts de conchas, incluindo o uso de sinalizadores para passar argumentos opcionais, este artigo, discutirá como obter argumentos com bandeiras em bash.

Obtendo argumentos com bandeiras em Bash

Para obter argumentos com bandeiras em Bash, você pode usar o comando "getopts". O comando "getopts" é uma função interna no Bash que pode ser usado para analisar opções e argumentos da linha de comando. Leva Três argumentos: a sequência da opção, a variável para armazenar a opção atual, e o nome da variável para armazenar os argumentos restantes. Aqui está um exemplo:

#!/BIN/BASH
enquanto getopts ": x: y:" opt; fazer
Caso $ OPT em
x)
arg1 = "$ optarg"
;;
y)
arg2 = "$ optarg"
;;
\?)
eco "inválido: -$ optarg"> & 2
;;
:)
eco "opção -$ optarg requer um argumento."> & 2
;;
ESAC
feito
turno $ ((optind-1))
eco "argumento 1: $ arg1"
eco "argumento 2: $ arg2"

Aqui, o comando "getopts" é usado para analisar as opções da linha de comando "-x" e "-y". O caractere ":" após cada opção indica que a opção requer um argumento e a variável "opt" armazena a opção atual, e as variáveis ​​"arg1" e "arg2" armazenam os argumentos correspondentes.

A declaração "case" é usada para lidar com cada opção; portanto, se a opção for "x", o argumento será armazenado em "Arg1". Se a opção for "y", o argumento será armazenado em "Arg2".Uma mensagem de erro é mostrada quando uma opção inválida é dada, bem como quando nenhum argumento é fornecido, mesmo que uma opção exigir um.

O optarg é usado para armazenar o valor do argumento que é aprovado com as opções -x ou -y, enquanto o Optind -1 é usado para mudar os parâmetros posicionais para excluir as opções e seus argumentos, deixando apenas os argumentos de não opção.

Depois de analisar as opções, o comando "shift" é usado para remover as opções da lista de argumentos. Isso garante que os argumentos restantes sejam armazenados na variável correta.Para usar o script com sinalizadores, você pode executar o script com as opções e argumentos da bandeira, como este:

./ - -

Conclusão

Usando sinalizadores para transmitir argumentos opcionais para scripts agitados pode tornar os scripts mais flexíveis e poderosos e com o comando "getopts", você pode analisar facilmente argumentos e opções de linha de comando. Seguindo o exemplo deste artigo, você pode implementar sinalizadores em seus próprios scripts e manusear com facilidade.