String 如何将空字符串传递给bash for循环

String 如何将空字符串传递给bash for循环,string,bash,for-loop,String,Bash,For Loop,我想将一个空字符串作为值之一传递给bash for循环,如下所示: for var in "" A B C; do ... done VARS="" A B C for var in $VARS; do ... 这很有效。但是,我希望将可能的值存储在变量中,如下所示: for var in "" A B C; do ... done VARS="" A B C for var in $VARS; do ... 在这里,空字符串被忽略(如果我在“$VARS”

我想将一个空字符串作为值之一传递给bash for循环,如下所示:

for var in "" A B C; do
    ...
done
VARS="" A B C
for var in $VARS; do
    ...
这很有效。但是,我希望将可能的值存储在变量中,如下所示:

for var in "" A B C; do
    ...
done
VARS="" A B C
for var in $VARS; do
    ...

在这里,空字符串被忽略(如果我在“$VARS”中对var使用
,则所有值都被连接)。有什么简单的方法可以解决这个问题吗?

你不能。不要那样做。使用数组

这是一个版本的


而且您几乎不想使用未加引号的变量(如$VARS中的var
)。

我建议使用数组

#!/bin/bash

array=("" 1 2 "")

for i in "${array[@]}";do
    echo $i
done
注意:“${array[@]}”周围的引号很重要,否则将无法使用。对于前面的评论。