`echo 'hi' | tee> abc`はなぜ複数のファイルを生成しますが、 `echo 'hi'> abc`は生成しませんか?

`echo 'hi' | tee> abc`はなぜ複数のファイルを生成しますが、 `echo 'hi'> abc`は生成しませんか?

私の環境:zsh、macOS


関連コマンド:

  1. echo 'hi' | tee > a b c
  2. echo 'hi' > a b c
  • aコマンド1は名前があり、内容をb含むファイルを生成します。chi
  • aコマンド2はcontentというファイルを生成しますhi b c

AFAIK、ちょうどコマンド1を使用してくださいいいえ >次のマンページに文書化されていますtee

echo 'hi' | tee a b c

>上記のコード(コマンド1など)を追加すると、まだ複数のファイルが生成されますが、コマンド2は1つのファイルのみが生成される理由を理解するのに役立ちます。

ベストアンサー1

リダイレクト(>この場合)は、次のパラメータをリダイレクトターゲットとして「使用」します。だから

echo 'hi' | tee > a b c

等しい

echo 'hi' | tee b c > a

tee入力をにコピーbし、c標準出力をにコピーしますa

echo 'hi' > a b c

等しい

echo 'hi' b c > a

標準出力に出力しhi b c、これはa

おすすめ記事