小编Fer*_*ndo的帖子

避免Bash循环中的通配符扩展

我想使用列表作为for循环的参数;但是双引号的列表不会被理解为列表,没有双引号的通配符将被评估为文件名。

A="a* b*"

for ex in "$A"; do
    echo "$ex";
done

for ex in $A; do
    echo "$ex";
done
Run Code Online (Sandbox Code Playgroud)

第一个打印:

a* b*
Run Code Online (Sandbox Code Playgroud)

后者打印:

a.txt
b.txt
Run Code Online (Sandbox Code Playgroud)

我想要:

a*
b*
Run Code Online (Sandbox Code Playgroud)

我该如何进行这项工作?

bash shell for-loop list wildcard

1
推荐指数
1
解决办法
1140
查看次数

标签 统计

bash ×1

for-loop ×1

list ×1

shell ×1

wildcard ×1