Saya mencoba memahami apa yang dilakukan titik masuk Docker ini .
Menurut saya itu adalah pola yang sangat umum ketika menulis Dockerfiles, tetapi keterampilan bash saya terbatas dan saya tidak tahu semua simbol bash kung fu.
Juga, sulit untuk google untuk "-", "$!" dll. Apa ini disebut di dunia bash?
Ringkasnya, apa yang ingin dilakukan garis di bawah ini?
if [ "${1#-}" != "$1" ]; then
set -- haproxy "$@"
fi
shell-script
set
Lucas Pottersky
sumber
sumber
set -- -z 2 3 4
danset -z 2 3 4
. The--
menghentikan-a
makhluk ditafsirkan sebagai pilihan. Dalam hal ini tidak perlu , tapi itu adalah "praktik yang baik" untuk membiasakan diri menggunakan--
ketika Anda perhatikan apa yang terjadi selanjutnya :-)set -- $arg1 $arg2
akan memungkinkan skrip bersumber Anda untuk membaca argumen, jika tidak hanya Bash yang mendukung meneruskan argumen langsung ke skrip bersumber (dan itu bisa sulit untuk diketahui).