tar -fの柔軟性

tar -fの柔軟性

たとえば、次のコマンドではtar -xzv機能しますがtar -xzvf失敗します。

wget ${target_url} -O - | tar -xzv --strip-components 1 -C ${web_application_root}/${domain}

私が理解しているように、データストリームをSTDOUTにダウンロードwgetし、それをSTDINにパイプしてそのデータtarでディレクトリファイルを作成(上書き)します。ファイルに保存されていないデータストリームがシェル用のファイルではないため、失敗が発生することを
理解してください。したがって、tar「ファイルを使用します」と言うと、操作は中断されます。tar -xzvf-f

私が気づかなかった場合が一つあり-f、パイピング時に取り除かなければならないことを忘れてしまった場合もありました。このような場合は、ほとんど常に-fwithを使用したために発生した可能性が高いですtar
tar版ありますか?それとも、-fデータストリームがファイルに保存されない場合を無視するtarを作成する調整はありますか?

関連項目:
1。tarで-fを使用するのはなぜですか?
2.-fオプションなしでtarを抽出しました
三。wgetからtarにストリームをパイプして特定の場所に抽出することは失敗します。

答え1

-ftarストリームやファイルなどの動作を変更しません。使用するアーカイブ名を指定してください。

tarオプションにパラメータがない場合を処理するバリエーションもなく、-fこれを行う信頼できる方法もありません。 〜のようにカスたとえば、常にパラメータを取る必要があることを覚えておく必要があります-f。エラーの発生を減らす1つの方法は、常にエラーを隔離することfです-xzvf-f

必要に応じて常に使用するのが最善です-f。これにより、-オプションのない動作(コンパイル時のオプションと変数によって異なります)に依存することを回避できます。問題を解決する1つの方法は、常に作業後に開始し、適切なときに変更することです。tar-fTAPE-f --

関連情報