如何控制 bash 的大括号扩展以做正确的事情(zsh 会自动执行)?

ico*_*ast 2 bash brace-expansion

在 zsh 中,我从这两个大括号扩展中得到了预期的结果:

$ touch file-{001..100}
$ touch file-{1..100}
Run Code Online (Sandbox Code Playgroud)

第一个为我提供了名为 file-001、file-002 等的文件,一直到 file-100。第二个给了我名为 file-1、file-2 等的文件,一直到 file-100。

然而,在 bash 中,两者都给我命名为 file-1、file-2 等的文件。这让我觉得这是 bash 大括号扩展中的一个相当大的错误(或设计缺陷)。

在这种情况下,有没有办法配置 bash 来做正确的事情?

Gil*_*il' 5

这是旧版本 bash 中的一个错误,已在 bash 4.1 alpha 中修复。从变更日志

毫米。修复了在大括号扩展中导致以零为前缀的术语不包含正确位数的错误。