我有一个简单问题,就是我需要通过 cd 进入很长的目录,但我想知道简单的方法。
mosquito@mosquito-K56CB:~/Downloads$ ls | grep Guns
Guns n' Roses - Appetite for Destruction (Japanese Edition) 1987
Guns n' Roses - Use Your Illusion I 1991
当然,我可以直接复制名称并将其放置如下:cd "Guns n' Roses - Appetite for Destruction (Japanese Edition) 1987"
但是为什么当我输入cd Guns
tab 时,它会结束行:cd Guns\ n\'\ Roses\ -\
那么根据我的理解,我应该开始用 tab 写 App..,它应该完成整个名称,但事实并非如此。并且按两次 tab 也没有显示任何内容。我在这里遗漏了什么?
答案1
编辑:实际上,在 中尝试相同的目录名称时bash
,我得到了相同的错误。'
从目录名称中删除 可以使其正常工作,所以我猜这是bash
制表符补全中的一个错误。
编辑2: 根据这个问题,这是一个已知的错误,将在未来的版本中修复。
您仍然可以尝试zsh
替代品并安装 Grml zsh 配置,它确实会将您带到一个全新的制表符补全水平:
sudo apt-get install zsh
wget -O ~/.zshrc http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
wget -O ~/.zshrc.local http://git.grml.org/f/grml-etc-core/etc/skel/.zshrc
zsh
如果您喜欢它并且希望将其用作默认 shell,请运行chsh -s /usr/bin/zsh
。