【发布时间】:2018-09-28 02:01:58
【问题描述】:
我想把所有变量都粘贴到一个变量中
A=('blah')
AA=('blah2')
AAA=('blah3')
AAB=('blah4')
AAC=('blah5')
#^^lets pretend theres 100 more of these ^^
#Variable composition
#after AAA, is AAB then AAC then AAD etc etc, does that 100 times
我希望它们都放入这个 MASTER 变量中
#MASTER=${A}${AA}${AAA} (<-- insert AAB, AAC and 100 more variables here)
我显然不想在这个表达式中输入 100 个变量,因为可能有更简单的方法可以做到这一点。另外,我会做更多这样的事情,因此我需要自动化。
我对 sed、awk 比较陌生,有没有办法将这 100 个变量附加到主变量中?
出于这个特定目的,我不想要一个数组。
【问题讨论】:
-
你需要的是一个数组。你听说过吗?
-
这些变量的名称模式是什么?你能告诉我们更多关于这 100 个来自哪里的信息吗?
-
添加了一些编辑以进一步澄清我的错误。
-
除非你所有的名字都相似,否则你别无选择,只能全部输入。您可以尝试
for x in ${!A*}; do MASTER+="${!x}"; done,但它假定A*与您要连接的变量名称集完全匹配。您还可以使用多种模式:例如for x in ${!A*} ${!B*}; do。 -
顺便说一句,
A=('blah')定义了一个包含一个元素的数组。你真的想要那里的括号吗?