SSH会话中的Bash自动完成


9

当我从SSH登录到计算机时,bash似乎不希望自动完成命令(现在让我烦恼的是没有自动完成apt-get)。是否有一些设置可以让bash在ssh会话中自动完成?

Answers:


7

简而言之:source /etc/bash_completion应该做到这一点(在SSH会话的shell中运行)。

长话短说:为了使bash完成工作有效,您必须告诉bash如何完成每个命令的参数。这需要长时间调用bash内置命令complete。因此,通常将它们收集在单独的脚本中(或中的多个脚本/etc/bash.complete.d/*),这些脚本将全部加载。

作为一个普通的shell脚本,你总是可以加载bash_completion在任何shell 启动脚本~/.bash_profile~/.bash_login~/.bashrc

进一步阅读:

  • 手册页中的“ 可编程完成”部分bash(1)
  • 为帮助文本complete命令(运行:help completebash

很好,行得通。您能解释为什么要这样做吗?对于SSH会话,bash不像自动完成那样。有没有办法让它在每个ssh会话中都这样做?至少对于特定用户(我)?
法尔马里(Falmarri)2010年

@Falmarri用更多信息更新了答案;这会回答您进一步的问题吗?
Riccardo Murri 2010年

啊是有道理的,是的
Falmarri
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.