J'essaie de comprendre ce que fait ce point d' entrée Docker .
Il me semble que c’est un modèle très courant dans Dockerfiles, mais mes compétences en bash sont limitées et je n’ai aucune idée de tous les symboles spéciaux de bash, le kung fu.
En outre, il est difficile de google pour "-", "$!" etc. Comment s'appellent-ils dans le monde bash?
Pour résumer, que tente de faire la ligne ci-dessous?
if [ "${1#-}" != "$1" ]; then
set -- haproxy "$@"
fi
shell-script
set
Lucas Pottersky
la source
la source
set -- -z 2 3 4
etset -z 2 3 4
. Les--
arrête d'-a
être interprété comme une option. Dans ce cas, ce n'est pas nécessaire , mais c'est une "bonne pratique" de prendre l'habitude de l'utiliser--
quand vous saurez que ce qui suit est vraiment le suivant :-)set -- $arg1 $arg2
permettra à votre script source de lire les arguments, sinon seul Bash prend en charge la transmission directe des arguments à un script source (ce qui peut être délicat à noter).