带有*的意外bash目录列表

时间:2012-01-12 00:50:43

标签: bash bash-completion

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

   $ touch  nohupa nohuPb
   $ ls nohup*
   nohupa  nohuPb

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

有什么想法吗?

2 个答案:

答案 0 :(得分:9)

nocaseglob导致了这一点。

  

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

测试

$ touch fooab fooAb
$ ls
fooAb fooab
$ shopt -s nocaseglob
$ ls fooa*
fooAb fooab
$ shopt -u nocaseglob
$ ls fooa*
fooab

答案 1 :(得分:2)

看起来您的shell设置了nocaseglob。您可以使用名为shell built-in的{​​{1}}取消设置。使用shopt选项-senable选项-u

如需更多参考,请访问here