Como chamar uma parte diferente de um script com -x

1

Eu estou projetando um script para instalar muitos dos meus aplicativos comuns, mas eu queria saber se há uma maneira de adicionar uma tag -t para ir uma parte diferente de um script, então chamado-tutorial e nada apenas lista de ajuda por isso?

    
por 9291Sam 09.05.2017 / 15:16

1 resposta

2

Sim, mas você teria que fazer algumas análises de linha de comando.

Isto é sem usar getopt :

case "$1" in
  -t) do_tutorial
      exit 0 ;;
  -i) do_install "$2"
      exit 0 ;;
  -h) do_usage
      exit 0 ;;
  *)  do_usage >&2
      exit 1 ;;
esac

Este é apenas um exemplo, mas será necessária a primeira coisa após o nome do script na linha de comando ( $1 , o sinalizador) e, dependendo do seu valor, fará coisas diferentes. Em seguida, você teria funções que implementam os diferentes comportamentos necessários para dar suporte a cada sinalizador na linha de comando, por exemplo,

do_usage () {
  cat <<USAGE_END
Usage:  script [ -i "component" | -h | -t ]

Options:

  -i "component"    Install "component"
  -h                Show this help text
  -t                Show tutorial

USAGE_END
}

Procure em getopt ou getopts de Bash para saber como fazer uma análise de linha de comando mais complicada.

Um exemplo simples de getopts usage: link

    
por 09.05.2017 / 15:36

Tags