繁体   English   中英

带有*的意外bash目录列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM