微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从每行一次的变量输出运行命令? -扑

如何解决如何从每行一次的变量输出运行命令? -扑

感谢您抽出宝贵的时间来帮助您!

我正在尝试以变量作为参数运行命令1次。事实是,变量有多行,我需要为每行作为参数运行1次命令。

示例脚本

VAR1=command1

"${VAR1}" | xargs -L1 -d "\n command2$i

VAR1的示例输出

1111
2222
3333
4444
5555

我需要每行运行一次command2,所以

command2 1111
command2 2222
command2 3333
command2 4444
command2 5555

我也尝试过这个,

VAR1=command1

"${VAR1}" | while read line ; do command2$i

还有这个

VAR1=command1

"${VAR1}" | while read line ; do command2"${VAR1}"

感谢您的光临!

解决方法

对于xargs,您可以使用“此处字符串”:

xargs -L1 command2 <<< "$var1"

或者简单地

printf '%s\n' "$var1"  | xargs -L1 command2

类似地,对于循环,但是您需要真正使用循环变量:

while read -r line ; do
    command2 "$line"
done <<< "$var1"

或者再次

printf '%s\n' "$var1" | while read -r line ; do
    command2 "$line"
done

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。