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

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

$touch file-{001..100}
$touch file-{1..100}

第一个给我文件名为file-001,file-002等,一直到文件-100.第二个给我文件名为file-1,file-2等,一直到文件-100.

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

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

最佳答案
这是旧版bash中的一个错误,修复了bash 4.1 alpha.从changelog

mm. Fixed a bug that in brace expansion that caused zero-prefixed terms to not contain the correct number of digits.

转载注明原文:如何控制bash的大括号扩展来做正确的事情(zsh会自动执行)? - 代码日志