我目前正在编写一个脚本,该脚本可以从我的桌面上删除所有 PNG 文件。我想创建一组文件路径,然后rm对每个文件路径使用该命令。
这是相关的代码:
#!/usr/bin/env bash
shopt -s nullglob
files=("$HOME"/Desktop/*.png)
files_found="${#files[@]}"
shopt -u nullglob
Run Code Online (Sandbox Code Playgroud)
建议我shopt在没有匹配文件的情况下使用。
然而我在 MacOS 上,刚刚发现它shopt不适用于 ZSH。当我运行脚本时,我得到了command not found: shopt.
我发现 ZSH 有一个等效的名称setopt,但是在阅读文档后,我无法完全弄清楚哪个选项是在这种情况下使用的正确选项。我似乎也找不到任何例子。
有人能指出我正确的方向吗?
中对应的选项zsh是CSH_NULL_GLOB(记录在man zshoptions).b
setopt CSH_NULL_GLOB
Run Code Online (Sandbox Code Playgroud)
(据我所知,模式消失而不是按字面意思对待的想法来自csh。)
| 归档时间: |
|
| 查看次数: |
4488 次 |
| 最近记录: |