shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Script com tratamento de parâmetros


From: Tiago Tarifa
Subject: Script com tratamento de parâmetros
Date: Thu, 20 Oct 2016 15:42:26 -0200

Pessoal,

Eu fiz um script e gostaria de tratar os parâmetros passados antes mesmo de executar a função de cada um deles. Vou explicar melhor abaixo:

O script chama-se restaura.sh e tem os seguintes parâmetros:

"Estrutura: restaura.sh [opções] <arquivoDeConfiguração> [lista-pacotes.txt]

OPÇÕES:
  -c, --conf            Restaura o sistema baseado no arquivo Confs<dataDoBackup>.tar.bz2
                            opcionalmente gera a lista de pacotes.Ex.:
                            dj-restaura.sh -c arquivo-confs.tar.bz2 lista-pacotes.txt
  -s, --sistema       Restaura o sistema através do arquivo Sistema<dataDoBackup>.tar.bz2
  -u, --desfazer     Volta o backup feito da ultima alteração do sistema.
  -f, --force            Não faz perguntas.

  -h, --help            Mostra esta ajuda e sai.
  -V, --version       Mostra a versão e sai."

O que não pode acontecer:
-c ou --conf se chamado 2 ou mais vezes, tipo: 
$ restaura.sh -cf --conf ....

Também não pode chamar o (-u|--desfazer) com o (-c|--conf) e/ou com (-s|--sistema)
$ restaura.sh -s arquivo -u -c arquivo2 arquivo_lista

Eu tentei usar expressões regulares com o grep de várias formas. A que melhor cheguei foi esta:
$ grep -Eo -- '-[[:alpha:]]*(h|c)|--(conf|desfazer)' <<<$@ | wc -l

Também tentei com a opção -c do grep, mas parece que ele conta apenas quantas linhas casou com a ER e não quantas vezes a ER casou com a linha. 

Alguém tem uma dica, exemplo ou até mesmo link de algum padrão que já é seguido?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]