如何在不区分大小写的 mksh 中使文件名匹配
how to make filename match in mksh case insensitive
我在 Windows 10 上使用 mksh(MirBSD Korn Shell)。我习惯了旧的 UWin ksh,不关心 Win7 上的大小写,并且已经被绊倒了好几次由于大小写 'ls' 看不到文件的次数:
PC> ls *old
ls: cannot access '*old': No such file or directory
PC> ls *OLD
filename.OLD testing.OLD
我尝试过 "set completion-ignore-case on"、"typeset -l"、"shopt -s nocaseglob" 和类似的 bash 主义。什么适用于 ksh?
注意:这不是要求在正则表达式中不区分大小写。
谢谢
mksh
开发者在这里。
这不会发生(尤其是因为文件系统通常是 case-sensitive,甚至在 Windows/NT 和 Mac OSX 上也可以设置为它) .
您可以使用 ls *.[Oo][Ll][Dd]
明确地 glob case-insensitively,仅此而已。
我在 Windows 10 上使用 mksh(MirBSD Korn Shell)。我习惯了旧的 UWin ksh,不关心 Win7 上的大小写,并且已经被绊倒了好几次由于大小写 'ls' 看不到文件的次数:
PC> ls *old
ls: cannot access '*old': No such file or directory
PC> ls *OLD
filename.OLD testing.OLD
我尝试过 "set completion-ignore-case on"、"typeset -l"、"shopt -s nocaseglob" 和类似的 bash 主义。什么适用于 ksh?
注意:这不是要求在正则表达式中不区分大小写。 谢谢
mksh
开发者在这里。
这不会发生(尤其是因为文件系统通常是 case-sensitive,甚至在 Windows/NT 和 Mac OSX 上也可以设置为它) .
您可以使用 ls *.[Oo][Ll][Dd]
明确地 glob case-insensitively,仅此而已。