我的 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
-u
disable
如需更多参考,您可以访问此处。