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

标签 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 "$VARS",则所有值都被连接起来)。有解决这个问题的简单方法吗?

最佳答案

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

这是 Bash FAQ 050 的一个版本.

VARS=("" A B C)
for var in "${VARS[@]}"; do
    : ...
done

而且您几乎从不想要使用不带引号的变量(例如for var in $VARS)。

关于string - 如何将空字符串传递给 bash for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33126201/

相关文章:

c# - 使用开始和结束标记分割字符串

c# - 从数组中捕获字符串

c - strcat 在第一个字符串的开头粘贴第二个字符串

linux - 无法使用变量扩展名在 bash 循环中分配正确的文件名

linux - 从文件中的多行添加整数

返回单词组成字母的 Java 程序

python - 将由空格分隔的整数字符串更改为 int 列表

bash - EOFD 是什么意思?

loops - Lua 上的 For 循环

c - 我需要帮助理解这段 C 代码