我的 bash 中的目录列表区分大小写有问题。例如
$ touch nohupa nohuPb
$ ls nohup*
nohupa nohuPb
但是我确实希望它只列出 nohupa 而不是 nohuPb。因为 nohuPb 有大写 P。我不知道我的 .bashrc 集中的哪个变量 * 可以忽略大小写。
任何想法 ?
我的 bash 中的目录列表区分大小写有问题。例如
$ touch nohupa nohuPb
$ ls nohup*
nohupa nohuPb
但是我确实希望它只列出 nohupa 而不是 nohuPb。因为 nohuPb 有大写 P。我不知道我的 .bashrc 集中的哪个变量 * 可以忽略大小写。
任何想法 ?
就是nocaseglob这个原因。
nocaseglob
如果设置,bash 在执行路径名扩展时以不区分大小写的方式匹配文件名(请参阅上面的路径名扩展)。
测试
$ touch fooab fooAb
$ ls
fooAb fooab
$ shopt -s nocaseglob
$ ls fooa*
fooAb fooab
$ shopt -u nocaseglob
$ ls fooa*
fooab
看起来你的外壳有这个nocaseglob设置。您可以使用shell built-in被调用的shopt. 使用它的选项和它-s的选项。enable-udisable
如需更多参考,您可以访问此处。