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

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

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

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

例如,我开始输入

cd /etTab

它给了我:

/etc

然后我必须再次按下 Tab 键才能得到所需的尾部斜杠

/etc/

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

我该如何解决这个问题?我太怀念 Ubuntu 的 bash 了。

答案1

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

$ l /etc
lrwxr-xr-x 1 root 11 2012-09-22 09:02 /etc -> private/etc/

那是,/etc 一个文件,而不是一个目录。

如果您尝试一个真实的目录,例如/usr,您将看到预期的行为:

cd /us TAB

cd /usr/

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

bind 'set mark-symlinked-directories on'

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

. ~/.bashrc

或重新打开终端。

答案2

不幸的是,目前对我来说最简单的方法是从切换/bin/bashbin/zsh(终端首选项- Shell 打开)。

不过遗憾的是,我无法轻松地使用 bash“从盒子里”实现所需的行为。

我还必须导出我的别名等等......

相关内容