これが何かを理解しようとしています。Dockerエントリポイントは次のことを行います。。
これはDockerfileを書くときに非常に一般的なパターンのようですが、私のbash技術は限られており、特別なbash表記法のトリックをすべて知りません。
また、「--」、「$!」などを検索するのも難しいです。 bashの世界ではこれを何と呼びますか?
全体的に、次のコード行は何をしようとしていますか?
if [ "${1#-}" != "$1" ]; then
set -- haproxy "$@"
fi
ベストアンサー1
このset
コマンド(オプションが設定されていない場合)は、位置引数を設定します。
$ set a b c
$ echo $1
a
$ echo $2
b
$ echo $3
c
これが--
「以後は何もオプションとして扱わない」という基準だ
これは"$@"
すべて既存の場所パラメータです。
だから注文は
set -- haproxy "$@"
haproxy
などの前にこの単語を入れます。$1
$2
例えば
$ echo $1,$2,$3
a,b,c
$ set -- haproxy "$@"
$ echo $1,$2,$3,$4
haproxy,a,b,c