【问题标题】:mac bash terminal replaces one "\" with three "\\\" when pressing tab on folder with spaces on namemac bash终端在名称上有空格的文件夹上按制表符时将一个“\”替换为三个“\\\”
【发布时间】:2020-08-20 06:39:21
【问题描述】:

我正在尝试检查我的 bash_profile、bashrc 和 /etc/profile,但我没有 ~/.inputrc,所以每次我使用波浪号“~”时,我都会疯狂地想弄清楚我做了什么我想自动完成目录的名称,它将任何文件夹替换为在 mac 上显示为 "~/Sample/Folder\ Space/" 的空格,如果我在此文件夹上或 Sample 之后按 tab,它将把它变成 "~/Sample/Folder\\\ Space/",我得到目录不存在的错误,这是真的..我忘记了我按下的是什么.. ughhhh

【问题讨论】:

  • 只是想更新这一点,我去了另一台具有相同操作系统和相同 bash 版本等的机器,没有 inputrc 文件,/etc/ 中的所有文件都相同,例如 rc.common, bashrc , bashrc_Apple_terminal,shopt 变量,我认为设置不同,bash-auto-completion 是相同的,当我输入终端 ~/Sample/Folder\ Space\ 时,它基本上会在空格部分的路径中添加反斜杠,将其变为 ~ /Sample/Folder\\\ Space\ 示例:使用终端:``` 我输入以下用户 $ ~/Folder 然后我按两次或更多用户 $ ~/Folder --becomes-- user$ ~/Folder\\ \名称/```

标签: bash macos terminal


【解决方案1】:

你为什么不直接创建一个新的~/.inputrc 重新启动终端窗口呢? 您可以将以下条目放入新的~/.inputrc

set completion-ignore-case on
set show-all-if-ambiguous on
TAB: menu-complete

步骤:

  1. 从您的终端输入nano ~/.inputrc 粘贴以下内容 单独的行

    set completion-ignore-case on
    set show-all-if-ambiguous on
    TAB: menu-complete
    
  2. 点击Control+O 将更改保存到~/.inputrc,然后点击 control+X退出。

  3. 打开一个新的终端窗口或选项卡,或键入“登录”以打开一个新会话,其中的规则生效。

  4. 键入并点击tab 键。

【讨论】:

  • 所以我已经完成了这个并且它有效,但我正在寻找一个原因,如果我从来没有 inputrc 文件,为什么突然它开始发生......我实际上是一个高级用户mac 和 linux 但有点更多地研究终端或系统控制的其他部分发生了什么变化,因为就像我说我的 ~ 家中从来没有 inputrc 并且它发生在一些 brew 安装或重建和编译 nano 为这个系统...但我会将您的答案标记为可以接受,以防其他人遇到同样的问题。
猜你喜欢
  • 2016-06-23
  • 2022-01-27
  • 1970-01-01
  • 2015-01-02
  • 2020-09-26
  • 1970-01-01
  • 2013-06-14
  • 2015-05-20
  • 1970-01-01
相关资源
最近更新 更多