2

在使用 linx CShell 时,您可以选择按向上/向下箭头来选择最后输入的命令或命令缓冲区。这甚至适用于 Windows。

但是,在我最近切换到的 Solaris 上工作时,这不起作用。我猜shell也是一个CShell。

请告诉我在 Solaris 上具有此功能需要什么组合键?

4

7 回答 7

5

Solaris 中的默认 shell 具有命令历史记录,但您也可以使用 Bash 代替,它对用户更友好。只需在命令行输入“bash”(不带引号)。您还可以编辑 /etc/passwd 以使 bash 成为您的默认 shell。

于 2008-09-19T05:01:29.443 回答
3

Solaris 的“官方”默认 shell 实际上sh是原始的 Bourne shell(有关详细信息,请参阅Solaris高级用户指南的第 10 章)。如果您想将其更改为cshor tcsh——而你不是root(通常认为使用除默认值之外的任何内容都是不好的做法shroot——只需发出passwd -e /path/to/shell_of_your_choice <loginname>. 我猜这可能看起来像passwd -e /bin/csh <loginname>,但您可能首先要确保它存在。

于 2008-09-19T09:28:24.560 回答
0

可能是 Korn shell 在这种情况下尝试 <ESC>k。bash 至少允许您使用“set -o vi”或“set -o emacs”切换模式。

于 2008-09-19T05:00:58.523 回答
0

也许你可以使用!! 命令,重复上一个。

于 2008-09-19T05:03:10.190 回答
0

使用“echo $SHELL”查看您的登录 shell。如果是 ksh 或 bash,请尝试“set -o emacs”。如果可行,您将能够使用 ^P 返回命令。^R 让您搜索命令,^F 和 ^B 在命令内移动。

于 2008-09-19T05:03:58.610 回答
0

如果你不能改变你的默认 shell,或者你只是想尝试一个可行的,你可以从你的命令行启动任何其他 shell。我向您推荐 tcsh,它可以使用箭头键进行良好的命令行编辑和历史记录。在提示符下键入 /bin/tcsh 进行尝试。如果您喜欢 tcsh,可以使用较早的响应来更改您的默认 shell。确保您的 $HOME/.cshrc 文件中有以下内容:

set filec set history=1000 # 或其他一些较大的数字 set autologout=0 # 如果您是在您的帐户下远程登录。

我希望这有帮助。

于 2008-10-28T18:49:08.797 回答
0

如果您通过键入使用 BASH,您会暂时启用历史记录

HISTSIZE=1000

这将启用向上和向下键并存储 1000 个命令。终端断开后,所有历史都将消失。

这适用于 solaris 10。

对于永久解决方案,将这些行添加到 ~/.bashrc

HISTSIZE=1000
HISTFILESIZE=1000
于 2015-12-09T07:42:18.483 回答