And*_*ili 7 command-line auto-completion dash-shell sh
我不太喜欢 Linux,我有以下疑问:客户端为我提供了一个 Ubuntu 18.04.3 LTS 虚拟机,我可以通过 SSH 访问它。(我使用 MobaxTerm 作为 SSH 客户端,但这应该不是问题。)使用的 shell 是sh.
问题是在 shell 中,自动完成功能没有像我预期的那样使用Tab密钥工作。
它只是简单地放置了经典的制表符空格。
为什么?如何更改此配置?
sh由dashUbuntu提供。许多外壳程序,包括bash和zsh,都具有易于交互使用的复杂功能。dash故意非常小,并且不提供此类功能。特别是,它不提供制表符补全。
即使是精简的 Ubuntu 系统通常bash也会安装,因为它被认为是必不可少的包——我们应该能够假设它甚至在另一个包依赖它的情况之外也存在。通常bash是 Ubuntu 上的默认用户 shell——即默认情况下新用户获得的登录 shell——尽管这可以重新配置。
我建议您使用bash或其他易于交互使用的 shell。您可以bash通过运行以下命令查看该 VM 中是否可用:
bash
Run Code Online (Sandbox Code Playgroud)
假设您$PATH的设置合理,bash如果可用,它将运行。您可以确保选项卡完成工作bash- 它应该,但没有理由不检查 - 然后在将来通过以下两种方法之一获得选项卡完成:
bash在需要选项卡完成和其他bash功能时运行。bash使用该chsh命令将您的用户帐户的登录 shell 更改为。请注意,bash-completion通常还会安装一个名为的单独包。这提供了可编程的制表符补全——即根据上下文而变化的制表符补全,例如,知道命令的标志和其他语法。可能已经bash安装但没有安装bash-completion。
(要确定任何特定package-- bash,bash-completion或其他任何东西-安装就可以使用。有关一个包,你可以使用更多的信息和。)apt list package-nameapt show package-nameapt policy package-name
| 归档时间: |
|
| 查看次数: |
6148 次 |
| 最近记录: |