【发布时间】:2017-10-25 03:08:15
【问题描述】:
我想将一个 bash 变量指定为两个词段的集合。 bash 变量类似于字符串列表,其中每个字符串是用引号括起来的两个单独的单词)。然后,我尝试在 for 循环中使用此变量,以便每次迭代将循环变量分配给两个词段之一。
这是我的代码:
#!/bin/bash
variable='"var one" "var two" "var three"'
for i in $variable
do
echo $i
done
我想要的输出是:
var one
var two
var three
但是我现在得到的是
"var
one"
"var
two"
"var
three"
【问题讨论】:
-
为什么不使用数组?
-
您将字符串列表放入字符串中。为什么不将字符串列表放入 list —— 或者更确切地说,放入数组中?
-
相关:BashFAQ #50 -- 字符串不能安全地用于存储列表,原因与它们不能用于存储命令相同。
-
@Inian 是的,这就是答案,我不知道如何在 bash 中循环遍历数组,而且我一般对 bash 数组也不太了解
标签: bash for-loop variable-assignment