現在、configure.acビルドスクリプトからこの行を読み取ります。 Googleで回答を検索しましたが、見つかりませんでした。
私はそれがシェルスクリプトであると仮定しますが、これが何を意味するのか、特に --
?
set -- "$progname" "$@"
回答:
回答№1は2ザ --
は、bash組み込みコマンドであり、多くのUNIXコマンドがコマンドオプションの終了を示すために使用するものです。したがって、次のようなものがある場合:
grep -- -v file
その -v
grepオプションとして解釈されることはありませんが、パラメータ(したがって、 -v
)。
ザ $@
スクリプトに渡されるすべてのパラメーターのリストです(これは set
コマンドはその一部です)。
ザ --
スクリプトの一部として渡されたオプションが、次のオプションとして解釈されないことを保証します。 set
、ただし、コマンドのオプションとして $progname
変数。
回答№2の場合は0
から help set
:
-- Assign any remaining arguments to the positional parameters. If there are no remaining arguments, the positional parameters are unset.
の理由 --
たとえそうであっても "$progname"
または "$@"
ダッシュを含む場合、コマンドラインオプションとして解釈されません。
set
に保存されている位置パラメータを変更します $@
。そのため、この場合、追加します "$progname"
スクリプトが受け取る位置パラメータの先頭まで。