繁体   English   中英

将多个变量分配给命令的多个输出

[英]assign multiple variables to multiple out put of a command

你能告诉我如何为下面的命令示例的输出分配一个唯一变量吗? 请注意,在每台主机上,命令的输出都不同。 所以我可以有 10 行或只有 1 行,我需要为每个输出分配变量

稍后我需要使用这些变量 - 我不想使用数组 - 我知道如何使用数组来做到这一点

命令

ls | grep jpa | cut -f2 -d_

输出

env5
env6
env7 

我想你可以使用read

IFS=$'\n' read -rd '' first second third < <(ls | grep jpa | cut -f2 -d_)
  • IFS=$'\n'在换行符上分隔字段
  • -d ''使每条记录结束\0 (或隐式 EOF)

我仍然建议您使用数组来验证您是否获得了预期的金额。 验证后,您始终可以将数组中的3字段分配给单独的变量。

此外,使用ls作为输入通常不是一个好主意。 请改用适当的通配符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM