我的~/Documents
目录是一个符号链接:
nathan@nathan-desktop:~$ stat Documents
File: Documents -> /mnt/nathan/extended/Documents
如果我想cd
进入目录,我可以输入:
c d space D o c tab
...并且 tab 补全将按预期附加uments
到末尾cd Doc
。然而,它不是/
即使符号链接指向目录,也要附加一个尾随的。
有没有办法让 Bash 做到这一点?
答案1
启用以下mark-symlinked-directories
选项阅读线。有几种方法可以做到这一点:
定制您的阅读行通过将命令放入
.inputrc
文件中:创建或编辑
~/.inputrc
并添加以下行:$include /etc/inputrc set mark-symlinked-directories on
登录/注销或按ctrl+x和ctrl+r重新加载设置。
定制您的阅读行通过将命令放入
.bashrc
文件中(或.profile
文件中):编辑
~/.bashrc
并添加此行:bind 'set mark-symlinked-directories on'
登录/注销或来源文件:
source ~/.bashrc
自定义阅读行
.sh
通过在目录中创建文件为所有用户/etc/profile.d
:创建一个如下所示的文件:
/etc/profile.d/mark-symlinked-directories.sh
#!/bin/sh bind 'set mark-symlinked-directories on'
不需要此文件的可执行权限。
登录/注销。就是这样。
进一步阅读:
我发现一个简单的方法是用 doubletab来完成:
c d space D o c tab tab
第一个tab将附加uments
,第二个将附加/
,第三个将打印包含的目录列表。