bash - 手动将字符串列表传递给管道
问题描述
如果一个命令返回一个字符串列表,我可以将它传递给另一个命令。
例如:
command1 | command2
可以说command1
返回 2 行。有没有办法在命令行上做同样的事情而没有生成这些行的命令?
我知道下面这行不通,但也许可以更好地解释我的意思:
("string 1", "string 2) | command2
我想手动指定 2 行发送到管道中,而不是使用命令来生成它们。
那可能吗?
解决方案
您可以使用echo
命令:
{ echo "string 1"; echo "string 2"; } | command2
或printf
使用一个命令来完成:
printf 'string 1\nstring 2\n' | command2
但如果它有很多行,那么 here-doc 通常更容易:
command2 <<EOF
string 1
string 2
EOF
推荐阅读
- java - 如何将两个通用队列组合在一起?
- react-native - 无法在未安装的组件上找到节点(react-sortable-hoc)
- javascript - 在 Vue 中使用 i18n.detectLanguage()
- ckan - ckan 2.9 只允许上传某些文件类型
- javascript - 在 index.html 文件中加载脚本时设置授权标头
- python - 图中每个节点与列表中元素之间的最短路径
- r - 使用 rep() 和 seq() 创建序列
- r - 无法在 RStudio 中安装软件包
- ios - SwifUI Map iOS 14 手柄拖动和放大手势
- swagger - 如何使用 swagger-request-validator-mockmvc:2.19.1 版本