控制台上自动完成?

控制台上自动完成?

我配置了一个基本的 FreeBSD 系统。令我惊讶的是控制台不支持自动完成。事实上,它在 root 帐户上支持,但在普通用户帐户上不支持。我猜这是由某种 shell 选择引起的。 (1) root 帐户的默认 shell 是什么?(支持自动完成)或者 (2) 有什么推荐的 shell? (3) 我如何知道我正在使用的 shell。

答案1

默认csh。推荐root登录shell csh。

在/root/.cshrc中添加:

set autolist = ambiguous
set complete = enhance

您也可以安装 bash(zsh) 并运行它。但我不建议更改 root shell。因为 bash(zsh) 具有更多共享库依赖项,升级可能会破坏您的系统(root 登录)。

或者安装 bash 并更改登录 bash。不过,在升级系统之前,请将 shell 改回来。

更改外壳:

chsh USER -s SHELL
chsh root -s /usr/local/bin/bash

答案2

您可能希望为您的用户帐户安装并使用 shell shell,例如 bash 或 zsh。我不确定这是否适用于 freebsh,但在 linux 上,您可以使用chsh系统允许的任何列出的 shell 更改您的登录 shell。

如果这不是您的问题,发布有关您正在使用的 shell 的说明可能会有所帮助。您可以通过查看 $SHELL 的值来找到它。

相关内容