Mac OS X bash 并不总是为根目录添加尾部斜杠

Vit*_*ian 5 bash macos

我正在使用终端版本 2.2.3 (303.2)。

问题是当我尝试从 root 开始更改目录时,我必须双击某些目录才能获得尾部斜杠。

例如,我开始输入

cd /etTab

它给了我:

/etc

然后我必须再次点击 Tab 以获得所需的尾部斜杠

/etc/

然后,最后,我可以Tab使用单选项卡点击所有其他目录。

我怎样才能解决这个问题?我非常想念 Ubuntu 的 bash。

jau*_*ume 10

这是因为,在 OS X 上,/etc是一个符号链接:

$ l /etc
lrwxr-xr-x 1 root 11 2012-09-22 09:02 /etc -> private/etc/
Run Code Online (Sandbox Code Playgroud)

也就是说,/etc 一个文件,而不是一个目录。

如果你尝试一个真实的目录,比如/usr,你会看到预期的行为:

cd /us TAB

cd /usr/

您可以使用以下命令强制 Bash 将符号链接目录视为目录:

bind 'set mark-symlinked-directories on'
Run Code Online (Sandbox Code Playgroud)

将它添加到您的.bashrc源代码中(即从中读取和执行命令),如下所示:

. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

或重新打开终端。