このカール/タールの例におけるネイキッドダッシュの意味

このカール/タールの例におけるネイキッドダッシュの意味

私は知っているこの回答さまざまなUnixユーティリティは、ユーザーが通常のファイルの代わりにstdinまたはstdoutを使用したいことを指定するためにデフォルトのダッシュを使用します。

しかし、これは次の構文を理解するのにはあまり役に立ちません(デフォルトでは、ディレクトリにPerlコピーをインストールするHerokuビルドパックから入手しました)。全体的に、Perlは$ PERL_PACKAGEのURLからダウンロードされ、tarにパイプされ、$ VENDORED_PERLディレクトリに抽出されます。

curl $PERL_PACKAGE -s -o - | tar xzf - -C $VENDORED_PERL

しかし、詳細は少し混乱しています。 -o は出力ファイルを指定するために使用されます。代わりにstdoutなので、そのオプションを使用し、オプションをまったく使用しない代わりにダッシュを使用する理由を理解できません。

tarの場合、私の考えはパイプから入力を受け取るので、入力ファイルを使用しないように言うのでしょうか?

たぶん、パイプラインの仕組みに関するいくつかの要件がありません。

ベストアンサー1

f -また、「標準入力から読み込む」/「標準出力に書き込み」を意味しますtar。ただし、デフォルトのソース/ターゲットはtarバージョンと実装によって異なる可能性があるため、コマンドに追加する方が安全です。

-o -必要でない場合は、curlコマンドの作成者がそれを知らなかった可能性があり、この明示的な情報を使用すると、コマンドを理解しやすくなると思ったかもしれません。

おすすめ記事