小编Dev*_*ris的帖子

shopt -s extglob 没有按预期工作

我试图在 wordpress 安装中递归更改文件权限,影响 public_html 文档根文件夹下的所有内容,不包括某些文件夹。

我已经设置了 extglob shopt -s extglob

当我运行以下命令时,它无法排除我希望它排除的文件夹 ls -R -alh ./public_html/!(*uploads*) | grep uploads

上面列出了上传文件夹中的许多文件——它不应该列出任何文件。

当然上面的命令只是一个测试;我将chmod在实际脚本中使用。

我尝试了许多不同的组合,但都失败了;例如,以下内容:

ls -R -alh ./public_html/!(wp-content/uploads*)
Run Code Online (Sandbox Code Playgroud)

ls: 无法访问 ./public_html/!(wp-content/uploads*): 没有那个文件或目录

这是我第一次尝试在 shell 命令中使用排除项,我可能犯了一个简单的错误。

任何想法我做错了什么?

请注意:问题的目的是为了更好地理解 extglob 而不是寻找替代方案。我可以编写替代脚本,但因为在我无法理解语法之前我从未使用过 extglob。

ls bash wildcards

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

标签 统计

bash ×1

ls ×1

wildcards ×1