带有*的意外bash目录列表

ARH*_*ARH 9 bash bash-completion

我的bash中存在区分大小写的目录列表的问题.例如

   $ touch  nohupa nohuPb
   $ ls nohup*
   nohupa  nohuPb
Run Code Online (Sandbox Code Playgroud)

但是我确实期待它只列出nohupa而不是nohuPb.因为nohuPb有大写字母P.我不知道我的.bashrc集合中哪个变量*工作忽略大小写.

任何的想法 ?

c00*_*ter 9

nocaseglob就是原因.

nocaseglob
如果设置,bash在执行路径名扩展时以不区分大小写的方式匹配文件名(请参阅上面的路径名扩展).

测试

$ touch fooab fooAb
$ ls
fooAb fooab
$ shopt -s nocaseglob
$ ls fooa*
fooAb fooab
$ shopt -u nocaseglob
$ ls fooa*
fooab
Run Code Online (Sandbox Code Playgroud)