首页 > 解决方案 > 在 Bash vs ZSH 中结合 heredoc 和输入重定向

问题描述

以下代码在 ZSH 上运行没有问题,将 heredoc 与文件 test.csv 的内容相结合:

cat <<EOF <test.csv
id,name,age
EOF

如何在 Bash 中编写相同的命令?

标签: bashzshcatio-redirectionheredoc

解决方案


$(<file)将在 Bash 和 Zsh 中工作:

cat <<EOF
id,name,age
$(<test.csv)
EOF

它也可以在 Ksh 中工作(我相信它来自那里并被移植到 Bash 和 Zsh)。它的行为就像$(cat file)它不会调用cat并完全由 shell 本身处理。

它在 Bash 文档命令替换部分中进行了描述:

命令替换 $(cat file) 可以替换为等效但更快的 $(< file)。


推荐阅读