我试图在 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。