A maneira oficial e melhor é usar o getopts
embutido para analisar as opções da linha de comando.
Veja a man page para mais informações.
Uma nota pode ser importante: bash
não suporta opções longas.
Se você gosta de scripts para lidar com opções longas, você tem dois shells que os suportam: ksh93
e bosh
. Ambos os shells suportam opções longas da maneira como são suportadas pela função getopt(3)
no libc no Solaris. Veja a man page do bosh (a partir de agora na página 43:
getopts "f:(file)(input-file)o:(output-file)" OPT
suporta, por exemplo, uma opção -f
com um argumento e essa opção tem uma opção longa
alias --file
e um segundo alias para esta opção --input-file
O ksh93 também suporta isto, apesar de não estar documentado na página do manual do ksh93.