Próbuję zrozumieć, co robi ten punkt wejścia Docker .
Wydaje mi się, że jest to bardzo powszechny wzorzec podczas pisania Dockerfiles, ale moje umiejętności bash są ograniczone i nie mam pojęcia o wszystkich specjalnych symbolach bash kung fu.
Poza tym trudno google wpisać „-”, „$!” itp. Jakie są one nazywane w świecie bash?
Podsumowując, co próbuje zrobić poniższy wiersz?
if [ "${1#-}" != "$1" ]; then
set -- haproxy "$@"
fi
shell-script
set
Lucas Pottersky
źródło
źródło
set -- -z 2 3 4
iset -z 2 3 4
.--
Zatrzymuje-a
interpretowane jako opcja. W tym przypadku nie jest to konieczne , ale „dobrą praktyką” jest przyzwyczajenie się do używania,--
gdy masz pewność, co następuje :-)set -- $arg1 $arg2
pozwoli skryptowi na odczytanie argumentów, w przeciwnym razie tylko Bash obsługuje przekazywanie argumentów bezpośrednio do skryptu źródłowego (i może to być trudne do zauważenia).