我的macOS上的bash在我double-tab而不是文件和文件夹时从$路径显示所有(可能(的命令。同样,当我可以使用一次选项卡时,它根本不起作用。诸如CD
之类的命令正常工作。
我不知道问题在哪里 - $路径对我来说似乎很正常:
/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的终端下相同的行为。所以我相信,问题更深。
您可以帮忙吗?
bash中的命令行完成是通过 readline 实现的,这是许多GNU和其他开源源产品使用的知名实用程序库。
基本完成使用{tab}键,实际完成取决于上下文。如果文本不以特殊字符开头,则列出了命令时,只有命令不匹配时列出了文件名。
如果可以完成完成,则提供足够的字符以使完成独特,然后将完成,否则第二个{tab}将提供可能性列表。
来自man bash
(完成(:
bash尝试完成将文本视为变量(如果文本 从$(开始,用户名(如果文本以〜的开头(,主机名 (如果文本以 @(或命令(包括别名和 函数(依次。如果这些都不会产生匹配项,则文件名 尝试完成。