相关疑难解决方法(0)

如何在Bash脚本中为一个变量赋一个glob表达式?

当在bash脚本中执行以下两行代码时,"ls"会抱怨文件不存在:

dirs=/content/{dev01,dev02}
ls -l $dirs
Run Code Online (Sandbox Code Playgroud)

当我使用-x选项运行脚本时,它似乎是在单引号内传递变量(这会阻止globbing):

+ dirs=/content/{dev01,dev01}
+ ls -l '/content/{dev01,dev01}'
ls: /content/{dev01,dev01}: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我从交互式shell(无引号)执行"ls"命令,它将返回两个目录.

我一直在阅读Bash参考手册(第3.2版)并且看不到任何原因导致文件名通配不发生(我没有将-f传递给shell),或者我可以设置的任何东西以确保全球化发生了.

bash glob

42
推荐指数
4
解决办法
3万
查看次数

标签 统计

bash ×1

glob ×1