何かの前に「@」を付けると、どのような影響がありますか (Java 実行コマンドのクラスパス エントリを含むファイルのパスなど)。
ファイルの内容に関係していることは知っていますが、想像できるように、Google で検索しようとするのは少し難しいです。それについて話しているマンページも見つかりません。
何かの前に「@」を付けると、どのような影響がありますか (Java 実行コマンドのクラスパス エントリを含むファイルのパスなど)。
ファイルの内容に関係していることは知っていますが、想像できるように、Google で検索しようとするのは少し難しいです。それについて話しているマンページも見つかりません。
この@
文字は、Unix コマンド ラインでは一般的な意味を持ちません。いくつかの一般的なユーティリティで使用されています。a で始まるコマンドは、実行前に行をエコーしないように@
指示Makefile
します。make
GNU Autoconf は@
、 で囲まれた変数 ( など) を@srcdir@
、 によって発見された置換で置き換えconfigure
ます。
異なるプログラムでは異なることを意味する場合があります。規則として、コマンドラインの @file は次のように解釈できます。
ファイルからコマンド ライン オプションを読み取ります。読み込まれたオプションは、元の @file オプションの代わりに挿入されます。ファイルが存在しない場合、または読み取れない場合、オプションは文字どおりに扱われ、削除されません。ファイル内のオプションは空白で区切られています。オプション全体を一重引用符または二重引用符で囲むことにより、空白文字をオプションに含めることができます。含める文字の前にバックスラッシュを付けることで、任意の文字 (バックスラッシュを含む) を含めることができます。ファイル自体に追加の @file オプションを含めることができます。そのようなオプションは再帰的に処理されます。 @file のドキュメントから
ld
シェルはいくつかのパラメーターを特別に扱います。これらのパラメータは参照のみ可能です。それらへの割り当ては許可されていません。
(...)
@
1 から始まる定位置パラメーターに展開されます。展開が二重引用符内で発生すると、各パラメーターは個別の単語に展開されます。つまり、「$@」は「$1」「$2」に相当します…。二重引用符で囲まれた展開が単語内で発生した場合、最初のパラメーターの展開は元の単語の先頭部分と結合され、最後のパラメーターの展開は元の単語の最後の部分と結合されます。位置パラメータがない場合、"$@" と $@ は何も展開されません (つまり、それらは削除されます)。
(...)
エスケープせずに、任意のプログラムのパラメーターで @ (アットマーク) を使用できます。
パラメータでこのようなものを渡す必要がある$@
場合は、エスケープする必要があります$
(ドル記号)。