在 SunOS 5.10 中,我无法让 bash 自动完成功能(当按下 TAB 时)起作用。箭头键也不会浏览历史。此外,即使PS1
设置为\u@\h:\w\$
,在命令提示符下它也会显示u@h:w$
。有什么想法可以解决吗?
这是命令的结果pkginfo -l SUNWbash
:
PKGINST: SUNWbash
NAME: GNU Bourne-Again shell (bash)
CATEGORY: system
ARCH: i386
VERSION: 11.10.0,REV=2005.01.08.01.09
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
DESC: GNU Bourne-Again shell (bash) version 3.0
PSTAMP: sfw10-patch-x20070430084427
INSTDATE: Aug 28 2012 15:01
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 3 installed pathnames
2 shared pathnames
2 directories
1 executables
1194 blocks used (approx)
顺便说一句,我是ssh
从 Max OSX 进行连接的。
我什至无法了解 bash 的版本:bash --version
命令创建一个子 shell。
答案1
在 Solaris 10 中,普通的 Bourne Shell 仍然是默认 shell,而不是 Bash。随着 2011 年 Solaris 11 的发布,这种情况发生了变化。
对于 Solaris 10,假设您的用户是“john”,请执行以下操作。
- 更改为根:
su - root
- 执行 :
usermod -s /usr/bin/bash john
。
您需要完全从“john”注销并再次登录。
答案2
要使用箭头键恢复自动完成和历史导航(无需像 peterh 建议的那样更改交互式 shell,尽管这完全没问题),请尝试以下命令:
$ set -o emacs
如果这不起作用,请尝试:
$ export EDITOR=emacs
复制任何适合您的命令,~/.profile
只要您打开终端,就会自动设置它。
答案3
这修复了我的 Solaris 10:
tcsh
set autolist
TAB应该从那里开始在您的终端中工作。