bash - 在 Bash vs ZSH 中结合 heredoc 和输入重定向
问题描述
以下代码在 ZSH 上运行没有问题,将 heredoc 与文件 test.csv 的内容相结合:
cat <<EOF <test.csv
id,name,age
EOF
如何在 Bash 中编写相同的命令?
解决方案
$(<file)
将在 Bash 和 Zsh 中工作:
cat <<EOF
id,name,age
$(<test.csv)
EOF
它也可以在 Ksh 中工作(我相信它来自那里并被移植到 Bash 和 Zsh)。它的行为就像$(cat file)
它不会调用cat
并完全由 shell 本身处理。
它在 Bash 文档命令替换部分中进行了描述:
命令替换 $(cat file) 可以替换为等效但更快的 $(< file)。
推荐阅读
- python-3.x - pandas concat ValueError - 传递的值与索引暗示的不匹配
- c++ - MPI-Parallel HDF5:C++ 中的 H5Pset_fapl_mpio 等效项
- google-maps - Flutter 应用程序未在应用程序中显示地图视图
- database - 使用 postgresql python 将数据存储更新为每一天的历史数据
- php - 如何使用 strotime 更新 mysql unix 时间戳
- javascript - 将一个用逗号包裹的数字字符串更改为 parsefloat(例如 3.00)
- mysql - MySQL选择发件人和收件人之间的最后一个转换消息
- hibernate - Hibernate 正在加入一个我没有要求的表
- owl - 将属性与 OWL/Protege 中的类关联
- python - Django:页面没有正确重定向