luc*_*svc 3 bash command-line readline autocomplete tab-completion
我正在写一个Dockerfile
我正在使用选项卡(我通常在任何地方都使用)进行格式化的文件。
但是我复制了一个多行命令,其中第二行以两个制表符开头,即:
apt-get -y update && \
apt-get -y install collectd \ # begin two tabs
Run Code Online (Sandbox Code Playgroud)
第一行正确执行,但第二行尝试“自动完成”,显示所有可能的命令,然后:
> stall collectd
# [ apt-get updating ]
bash: stall: command not found
Run Code Online (Sandbox Code Playgroud)
我了解“自动完成”行为,但是stall collectd
?为什么 Bash 会吃掉这apt-get -y in
部分?
您可以禁用bash
按下tab键时的完成行为:
bind 'set disable-completion on'
Run Code Online (Sandbox Code Playgroud)
现在,tab键只是在编辑器中缩进该行。这只是暂时的。在下一个 shell 会话中它没有被设置。如果你想让它永久添加到你的~/.inputrc
.
要重新启用tab密钥使用:
bind 'set disable-completion off'
Run Code Online (Sandbox Code Playgroud)