如何让 Linux 用户更熟悉 Solaris shell?

Nic*_*ias 5 linux solaris shell bash ksh

我多年来一直是 linux 用户。非常习惯于 bash shell,习惯于大多数主流发行版附带的 linux shell 键映射。我也是linux 中的快乐vim用户,并且喜欢我的箭头键。

刚刚开始一项工作,其中 90% 的系统是 solaris,管理员的默认 shell 是 ksh。键映射,诸如自动完成和历史记录之类的东西没有按照他们应该的方式工作,并且让我发疯。

如何在solaris中获得以下工作:

  • 箭头键在 shell 中工作,就像他们在 bash 中所做的那样,比如 RHEL、ubuntu。这意味着使用箭头键滚动浏览我的历史记录或编辑我当前的命令行

  • 选项卡完成工作,以便我可以使用选项卡完成文件名/目录路径,或者如果有多个匹配项,则向我显示匹配项。

  • Vim 以它们在 linux 中的方式工作,所以当我使用箭头键时,我不会得到 ABCD。我希望它使光标移动。

Joe*_* H. 1

这几乎是不可能回答的,因为当有如此多的风格时,“linux”没有任何意义,并且它们可以在各种配置文件/登录/shell rc 脚本中将任何内容设置为默认值。

首先,正如您已经提到的那样,更改 shell,但随后您可能需要查看“set”。根据您对箭头键行为不符合您的意愿的评论,请尝试:

set -o emacs
set -o vi
Run Code Online (Sandbox Code Playgroud)

也有可能您设置了错误的终端仿真,但自动检测在过去一年左右已经有了很大的进步。

您还可以查看您最喜欢的框,然后复制您的设置(假设您设置了相同的 shell)。测试时保持会话处于登录状态,否则您可能必须通过 ftp 登录才能将更改后的配置文件移开。

更新:根据bash手册页,您应该看看:

   /etc/profile
          The systemwide initialization file, executed for login shells
   ~/.bash_profile
          The personal initialization file, executed for login shells
   ~/.bashrc
          The individual per-interactive-shell startup file
   ~/.bash_logout
          The individual login shell cleanup file, executed when  a  login
          shell exits
   ~/.inputrc
          Individual readline initialization file
Run Code Online (Sandbox Code Playgroud)

这些文件也可能调用其他文件。