在使用 linx CShell 时,您可以选择按向上/向下箭头来选择最后输入的命令或命令缓冲区。这甚至适用于 Windows。
但是,在我最近切换到的 Solaris 上工作时,这不起作用。我猜shell也是一个CShell。
请告诉我在 Solaris 上具有此功能需要什么组合键?
在使用 linx CShell 时,您可以选择按向上/向下箭头来选择最后输入的命令或命令缓冲区。这甚至适用于 Windows。
但是,在我最近切换到的 Solaris 上工作时,这不起作用。我猜shell也是一个CShell。
请告诉我在 Solaris 上具有此功能需要什么组合键?
Solaris 中的默认 shell 具有命令历史记录,但您也可以使用 Bash 代替,它对用户更友好。只需在命令行输入“bash”(不带引号)。您还可以编辑 /etc/passwd 以使 bash 成为您的默认 shell。
Solaris 的“官方”默认 shell 实际上sh
是原始的 Bourne shell(有关详细信息,请参阅Solaris高级用户指南的第 10 章)。如果您想将其更改为csh
or tcsh
——而你不是root
(通常认为使用除默认值之外的任何内容都是不好的做法sh
)root
——只需发出passwd -e /path/to/shell_of_your_choice <loginname>
. 我猜这可能看起来像passwd -e /bin/csh <loginname>
,但您可能首先要确保它存在。
可能是 Korn shell 在这种情况下尝试 <ESC>k。bash 至少允许您使用“set -o vi”或“set -o emacs”切换模式。
也许你可以使用!! 命令,重复上一个。
使用“echo $SHELL”查看您的登录 shell。如果是 ksh 或 bash,请尝试“set -o emacs”。如果可行,您将能够使用 ^P 返回命令。^R 让您搜索命令,^F 和 ^B 在命令内移动。
如果你不能改变你的默认 shell,或者你只是想尝试一个可行的,你可以从你的命令行启动任何其他 shell。我向您推荐 tcsh,它可以使用箭头键进行良好的命令行编辑和历史记录。在提示符下键入 /bin/tcsh 进行尝试。如果您喜欢 tcsh,可以使用较早的响应来更改您的默认 shell。确保您的 $HOME/.cshrc 文件中有以下内容:
set filec set history=1000 # 或其他一些较大的数字 set autologout=0 # 如果您是在您的帐户下远程登录。
我希望这有帮助。
如果您通过键入使用 BASH,您会暂时启用历史记录
HISTSIZE=1000
这将启用向上和向下键并存储 1000 个命令。终端断开后,所有历史都将消失。
这适用于 solaris 10。
对于永久解决方案,将这些行添加到 ~/.bashrc
HISTSIZE=1000
HISTFILESIZE=1000