其中~jacksonc/temp/
有两个文件,test.txt
和space test.txt
,均通过 Windows(使用 Samba)放置在那里。
使用 bash,如果我输入
cat ~jacksonc/temp/t[tab]
,它会自动完成
cat ~jacksonc/temp/test.txt
但是,如果我输入
cat ~jacksonc/temp/s[tab]
它会自动完成
cat /home/jacksonc/temp/space\ test.txt
我的问题不是关于反斜杠的,我知道它为什么在那里。但我很好奇为什么空格会导致 ~ 扩大?
答案1
我可以想象因为你的系统有 bash_completion 脚本http://bash-completion.alioth.debian.org/安装,这可以改变此类事物的行为。
通常可以通过 readline 选项关闭此扩展。在您的~/.inputrc
文件中输入以下内容:
expand-tilde off