Sintaxe:
Getopts Optsstring Nome [args]
Opções:
Algumas opções de getopts principalmente usadas são mencionadas aqui.
Marcação | Descrição |
-o ou -Options | Identifique a opção de um caractere. |
-L ou -LONOTOPTIONS | Identifique as opções de vários caracteres. |
-n ou -name | Relatório erros vindos do comando getopts |
-Q ou -quiet | Desative o relatório de erro |
-T ou -teste | Teste a versão getopts |
-A ou - -Alternativo | Permitir uma opção longa com um único '-' |
Exemplo 1: Usando um único opção
Este exemplo mostra o uso muito simples do comando getopts. Crie um arquivo bash chamado 'getOpts1.Sh 'com o seguinte código para testar o código. Aqui, enquanto o Loop continuará para a opção do comando getopts. Declaração do caso verificará a opção. Se a opção for 'c', o script imprimirá 'minha cor favorita é azul'. Se a opção for 'f', o script imprimirá 'minha comida favorita é sorvete'. Se a opção for '-m', o script imprimirá 'meu filme favorito é Titanic'. Para qualquer outro valor de opção, "Você precisa usar: [-c] ou [-f] ou [-m]" irá imprimir.
#!/BIN/BASH
# Leia a opção e armazene na variável, opção $
enquanto a opção Getopts "CFM"; fazer
caso $ opção em
c) #para opção C
eco "minha cor favorita é azul"
;;
f) #para opção f
eco "minha comida favorita é sorvete"
;;
m) #para opção m
eco "Meu filme favorito é Titanic"
;;
\? ) #Para opção inválida
eco "você tem que usar: [-c] ou [-f] ou [-m]"
;;
ESAC
feito
Execute o script usando quatro opções, '-c', '-f', '-m' e '-k'.
$ BASH GETOPTS1.sh -c
$ BASH GETOPTS1.sh -f
$ BASH GETOPTS1.sh -m
$ BASH GETOPTS1.sh -k
Saída:
Exemplo 2: Usando a opção com um único argumento
Este exemplo mostra o uso do comando GOTOPTS com um argumento. Crie um arquivo bash chamado 'getOpts2.Sh 'com o seguinte código para testar o código. Aqui, ':' é usado com 'p' para definir que o comando assumirá o argumento com a opção. O script imprimirá o valor do argumento com outra string se o argumento com a opção '-p' fornecer no tempo de execução. Se alguma opção fornecerá em vez de '-p', ele mostrará uma mensagem de erro com o valor da opção. Se a opção '-p' fornecerá sem qualquer argumento que outra mensagem de erro imprimirá.
#!/BIN/BASH
enquanto getopts "P:" opte; fazer
caso $ opt em
p) #print o valor do argumento
eco "eu gosto de $ optarg programação"
;;
\? )
#Print Option Erro
eco "Opção inválida: $ optarg" 1> & 2
;;
:)
#Print Argument Erro
eco "Opção inválida: $ optarg requer um argumento" 1> & 2
;;
ESAC
feito
Execute o script com a opção -p e o valor do argumento 'bash', com apenas opção -p e com a opção -t.
$ BASH GOTOPTS2.sh -p bash
$ BASH GOTOPTS2.sh -p
$ BASH GOTOPTS2.sh -t
Saída:
Exemplo 3: Usando a opção com vários argumentos
Este exemplo mostra os usos do comando GOTOPTS com vários argumentos. Crie um script bash chamado GRTOPTS3.SH com o seguinte código para testar o script. De acordo com o script, os valores de argumento separados por vírgula serão fornecidos da linha de comando.
Aqui, a opção '-f' e a variável ifs são usados para dividir os argumentos e armazenados em uma matriz, $ numarr. Se os argumentos separados por vírgula serão fornecidos, ele imprimirá o número total de argumentos. Duas opções apoiarão o comando. A soma dos valores do argumento será calculada e impressa se a opção '-a' fornecerá os argumentos. A multiplicação dos valores do argumento será calculada e impressa se a opção '-m' fornecerá os argumentos.
#!/BIN/BASH
enquanto getopts "A: M:" opte; fazer
set -f; Ifs = ','
NUMARR = ($ 2)
eco "Número total de argumentos = $ #numarr [@]"
Caso $ OPT em
a) resultado = 0
para i em "$ numarr [@]"; fazer
((resultado = $ resultado+$ i))
feito
eco "a soma de todos os argumentos = $ resultado" ;;
m) resultado = 1
para i em "$ numarr [@]"; fazer
((resultado = $ resultado*$ i))
feito
eco "a multiplicação de todos os argumentos = $ resultado" ;;
*) eco "opção ou argumento inválido"
saída 1
ESAC
feito
Execute os scripts com a opção '-a' e três argumentos, com a opção '-m' e três argumentos e a opção '-t' sem nenhum argumento.
$ BASH GOTOPTS3.SH -A 3,2,5
$ BASH GOTOPTS3.sh -m 3,2,5
$ BASH GOTOPTS3.sh -t
Saída:
Exemplo-4: Usando várias opções e argumentos
Este exemplo mostra o uso do comando GOTOPTS com várias opções e vários argumentos. Crie um arquivo bash chamado 'getOpts4.SH com o seguinte código para testar o exemplo. Aqui, duas opções funcionarão com dois argumentos separadamente. Se nenhuma das opções fornecerá, ele imprimirá uma mensagem de erro.
#!/BIN/BASH
enquanto getopts "n: m:" opt; fazer
Caso $ OPT em
n)
#Lerendo o primeiro argumento
eco "o nome do aluno é $ optarg"> & 2
;;
m)
#Leitura do segundo argumento
eco "e as marcas é $ optarg"> & 2
;;
*)
#Mensagem de erro de impressão
eco "opção ou argumento inválido $ optarg"
;;
ESAC
feito
Quando o script será executado pela opção '-n' com a opção 'ella' e '-m' com 85, então duas declarações de caso serão verdadeiras e imprimirão duas saídas. Quando o script será executado apenas pela opção '-n' com 'ella', apenas uma declaração de caso será verdadeira e imprimirá uma saída. Quando o script é executado pela opção '-p', uma mensagem de erro será impressa.
$ BASH GOTOPTS4.sh -n ella -m 85
$ BASH GOTOPTS4.sh -n ella
$ BASH GOTOPTS4.sh -p ella
Os usos básicos do comando 'getopts' são mostrados neste tutorial usando os exemplos acima. Espero que, depois de praticar este tutorial, você poderá usar as opções e argumentos da linha de comando em seu script Bash.