【问题标题】:Unexpected bash directory listing with *带有 * 的意外 bash 目录列表
【发布时间】:2012-01-12 00:50:42
【问题描述】:

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

   $ touch  nohupa nohuPb
   $ ls nohup*
   nohupa  nohuPb

但我确实希望它只列出 nohupa 而不是 nohuPb。因为 nohuPb 有大写 P。 我不知道我的 .bashrc 集中的哪个变量可以忽略大小写。

有什么想法吗?

【问题讨论】:

    标签: bash bash-completion


    【解决方案1】:

    nocaseglob 造成的。

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

    测试

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

    【讨论】:

      【解决方案2】:

      看起来你的 shell 设置了nocaseglob。您可以使用名为shoptshell built-in 取消设置。使用-s 选项到enable 它和-u 选项到disable 它。

      更多参考您可以访问here

      【讨论】:

        猜你喜欢
        • 2020-10-16
        • 1970-01-01
        • 1970-01-01
        • 2013-04-20
        • 2012-09-11
        • 2019-08-27
        • 1970-01-01
        • 1970-01-01
        • 2016-01-05
        相关资源
        最近更新 更多