[英]Unexpected bash directory listing with *
我的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
看起来你的shell有nocaseglob
集。 您可以使用名为shopt
shell built-in
来取消设置。 使用-s
选项enable
它,使用-u
选项disable
它。
有关更多参考,请访问此处 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.