Многострочный синтаксис для конвейерной передачи heredoc; это портативный?

Я знаком с этим синтаксисом:

cmd1 << EOF | cmd2
text
EOF

, но только что обнаружил, что bash позволяет мне писать:

cmd1 << EOF |
text
EOF
cmd2

(heredoc используется как ввод в cmd1, а вывод cmd1 передается по конвейеру в cmd2). Это кажется очень странным синтаксисом. Это переносимо?

121
задан William Pursell 29 March 2018 в 17:38
поделиться