Estou tentando entender o que esse ponto de entrada do Docker faz .
Parece-me que esse é um padrão muito comum ao escrever Dockerfiles, mas minhas habilidades no bash são limitadas e não tenho idéia de todos os símbolos especiais do bash kung fu.
Além disso, é difícil pesquisar no Google por "-", "$!" etc. Como eles são chamados no mundo do bash?
Resumindo, o que a linha abaixo está tentando fazer?
if [ "${1#-}" != "$1" ]; then
set -- haproxy "$@"
fi
shell-script
set
Lucas Pottersky
fonte
fonte
set -- -z 2 3 4
eset -z 2 3 4
. O--
pára a-a
ser interpretado como uma opção. Neste caso não é necessário , mas de "boas práticas" para adquirir o hábito de usar--
quando você está nota certeza do que está a seguir :-)set -- $arg1 $arg2
permitirá que o script de origem leia os argumentos; caso contrário, apenas o Bash suportará a passagem de argumentos diretamente para um script de origem (e isso pode ser difícil de notar).