複数の <<< を使う

複数の <<< を使う

<<<をリダイレクトすることについて疑問に思いますbash。内容が仮想ファイルにあるように、次のチェーンを前のコマンドにリダイレクトすることがわかります。はい

$ cut -d. -f1 <<< A.B
A
$ cut -d. -f1 <<< 'A.B
> C.D'
A
C 

しかし、何度も使用するとどうなるかわかりません。はい

$ cut -d. -f1 <<< A.B <<< C.D
C

私は次のような結果を期待しました:

A
C

シェルが最後のリダイレクトだけを考慮するのはなぜですか?ファイルにダミーラインを追加するには?ファイルをインポートcommandして処理するために、次の例のようなことをしたいと思います。virtual linemy_file

command <<< "virtual line" my_file 

ノートbash:バージョンを使用しています4.4.12(1)-release (x86_64-pc-linux-gnu)

ベストアンサー1

<<<標準入力をリダイレクトします。 stdinをリダイレクトして再度リダイレクトすると、最初のリダイレクトが失われます。

コマンドに「process stdin」を表す方法がある場合(たとえば、forがcatダッシュの場合)、次のようにコマンドの前に行を追加できます。

cat - input_file <<< 'virtual line'

おすすめ記事