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