相关疑难解决方法(0)

为什么 nullglob 不是默认值?

在大多数 shellnullglob中不是默认的。这意味着,例如,如果您运行此命令

ls *
Run Code Online (Sandbox Code Playgroud)

在一个空目录中,它会将*glob扩展为一个 literal *,而不是一个空的参数列表。有一些方法可以改变这种行为,这样*在一个空目录中将返回一个空的参数列表,这看起来更直观。

那么,是否有理由nullglob默认禁用?如果是,那是什么原因?

shell wildcards

76
推荐指数
1
解决办法
2万
查看次数

ls 忽略“没有匹配项”

我想列出的所有文件的文件夹,名为中foldername有扩展testatestbtest

我的直接想法是跑 ls ./foldername/*.{a,b,}test

这工作正常,除非扩展名没有任何内容atest,在这种情况下我会收到错误消息zsh: no matches found: ./foldername/*.atest

有什么办法可以简单地忽略此错误并打印确实存在的文件?

我需要它在 ZSH 和 BASH 中工作。

ls bash zsh shell-script wildcards

11
推荐指数
2
解决办法
9168
查看次数

标签 统计

wildcards ×2

bash ×1

ls ×1

shell ×1

shell-script ×1

zsh ×1