bash - 如何在bash中的多行字符串变量的每一行上运行命令?
问题描述
该变量$type
是一个多行字符串变量,包含:
car
plane
你可以得到上面发出的输出echo "$type"
。
我有一个some_command
用作$type
它的参数之一。
在 bash 中,您将如何执行some_command
以使其逐行运行$type
?即首先some_command
将运行使用car
,然后它将再次运行使用plane
,然后一旦该行为空,循环将停止,即没有剩余的值可以执行some_command
。
解决方案
最简单的方法(在我看来)是使用xargs
with argument -L
(limit):
echo "$type" | xargs -L 1 some_command
xargs
获取每个输入行并将值作为参数传递给some_command
.
some_command
也可能有其他论点。xargs
在其参数列表的末尾添加输入行并执行它。(但是,可以使用 . 将输入行插入到不同的位置-J
。)
推荐阅读
- python - 当列表以特定元素开始并以特定元素结束时,python中的列表切片列表?
- python - Pytorch 中的图像翻译,使用 affine_grid 和 grid_sample 函数
- postgresql - Rust 配方依赖于其他配方中的库
- asp.net-core - .exe 作为 Windows 服务错误 1053,以用户身份运行并且可以正常工作
- javascript - 在 asp net mvc 中获取引荐来源网址
- typo3 - 删除 Typ3 上的文件不会删除我的 FileReference
- python - 从 Pyspark 数据帧中包含 100 个文件的目录中仅加载前几个 .XML 文件(例如 10 个 xml)
- c# - SSH.NET 比 FileZilla 慢
- python - Find index in sorted array, np.searchsorted() vs. np.where()
- azure - Azure认知搜索如何将字段与AND运算符完全匹配