macos:Bash 显示命令而不是文件
macos: Bash shows commands instead files
当我双 TAB 而不是文件和文件夹时,Bash 在我的 macOS 上显示来自 $PATH 的所有(可能)命令。当我可以使用一次 TAB 时也是如此——它根本不起作用。 CD
之类的命令可以正常工作。
我不知道问题出在哪里 - $PATH 对我来说似乎很正常:
/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
~/.profile 是这样的:
export PATH=/usr/local/php5/bin:$PATH
export PATH="$HOME/.yarn/bin:$PATH"
~/.bash_profile 只有这个:
export PATH="/usr/local/sbin:$PATH"
PhpStorm 终端下的相同行为。所以我相信,问题在更深的地方。
你能帮忙吗?
Command-line Bash 中的完成是通过 readline 实现的,它是许多 GNU 和其他开源产品使用的 well-known 实用程序库。
基本完成是使用{TAB}键,实际完成取决于上下文。如果文本不以特殊字符开头,则在命令匹配时列出命令,只有在命令不匹配时才列出文件名。
如果可以完成,提供足够的字符使完成唯一,然后完成,否则第二个 {TAB} 将给出可能性列表。
来自 man bash
(完成):
Bash 尝试完成将文本视为变量(如果文本
以 $ 开头)、用户名(如果文本以 ~ 开头)、主机名
(如果文本以 @ 开头),或命令(包括别名和
功能)依次。如果其中的 none 个匹配,则文件名
尝试完成。
Bash 在我的 macOS 上显示来自 $PATH 的所有(可能)命令。当我可以使用一次 TAB 时也是如此——它根本不起作用。 CD
之类的命令可以正常工作。
我不知道问题出在哪里 - $PATH 对我来说似乎很正常:
/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
~/.profile 是这样的:
export PATH=/usr/local/php5/bin:$PATH
export PATH="$HOME/.yarn/bin:$PATH"
~/.bash_profile 只有这个:
export PATH="/usr/local/sbin:$PATH"
PhpStorm 终端下的相同行为。所以我相信,问题在更深的地方。
你能帮忙吗?
Command-line Bash 中的完成是通过 readline 实现的,它是许多 GNU 和其他开源产品使用的 well-known 实用程序库。
基本完成是使用{TAB}键,实际完成取决于上下文。如果文本不以特殊字符开头,则在命令匹配时列出命令,只有在命令不匹配时才列出文件名。
如果可以完成,提供足够的字符使完成唯一,然后完成,否则第二个 {TAB} 将给出可能性列表。
来自 man bash
(完成):
Bash 尝试完成将文本视为变量(如果文本 以 $ 开头)、用户名(如果文本以 ~ 开头)、主机名 (如果文本以 @ 开头),或命令(包括别名和 功能)依次。如果其中的 none 个匹配,则文件名 尝试完成。