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