Estoy tratando de entender lo que hace este punto de entrada de Docker .
Me parece que es un patrón muy común cuando escribo Dockerfiles, pero mis habilidades de bash son limitadas y no tengo idea de todos los símbolos especiales de bash kung fu.
Además, es difícil buscar en Google "-", "$!" ¿Cómo se llaman estos en bash world?
Para resumir, ¿cuál es la línea que sigue tratando de hacer?
if [ "${1#-}" != "$1" ]; then
set -- haproxy "$@"
fi
shell-script
set
Lucas Pottersky
fuente
fuente
set -- -z 2 3 4
yset -z 2 3 4
. El--
deja de-a
ser interpretado como una opción. En este caso no es necesario , pero es una "buena práctica" adquirir el hábito de usar--
cuando esté seguro de lo que sigue :-)set -- $arg1 $arg2
obtiene un script dentro de otro script, el uso permitirá que su script de origen lea los argumentos, de lo contrario, solo Bash admite pasar argumentos directamente a un script de origen (y eso puede ser difícil de notar).