私はこの構文に精通しています:
cmd1 << EOF | cmd2
text
EOF
しかし、bashを使用すると次のように記述できることがわかりました。
cmd1 << EOF |
text
EOF
cmd2
(ヒアドキュメントはcmd1への入力として使用され、cmd1の出力はcmd2にパイプされます)。これは非常に奇妙な構文のようです。ポータブルですか?
これの便利な使用例の1つは、スペースで区切られたテーブルをタブ区切りのテーブルに変換して、Googleスプレッドシートに貼り付ける場合です。一時ファイルを作成する必要はありません。
—
Sridhar Sarnobat
1つ目はz-shellでは機能しませんでした。2つ目は疎外されるため、私は好きではありません。コマンドから、シェルパイプラインのイディオマシー(?)が失われます。
—
Sridhar Sarnobat
big-long-command1 with lots of args << EOF | big-long-command2 with lots of args
。「奇数構文」が最良の方法のようです。