我尝试了无数次,试图将其bash
作为 SCO 中的默认 shell,但都失败了。
我已经尝试过以下方法:
- 安装的 Bash- 使用
bash-2.05a.pkg
- 安装Readline- 使用
readline-4.2a.pkg
我使用以下方法安装了它们:
pkgadd -d - < bash-2.05a.pkg
pkgadd -d - < readline-4.2a.pkg
然后我将 bash 添加到我的.profile
.这是内容:
stty intr '^C'
#SHELL=/bin/sh
SHELL=/usr/local/bin/bash
HOME=/
PATH=/bin:/etc:/usr/bin:/tcb/bin:/usr/local/bin
# set terminal type
#eval `tset -m scoansi:${TERM:-scoansi} -m :\?${TERM:-scoansi} -e -r -s -Q`
TERM=bash
export TERM PATH SHELL HOME
[ -x /bin/mesg ] && mesg n # if mesg is installed...
if [ -f $HOME/.kshrc -a -r $HOME/.kshrc ]; then
# ksh88: intent is that $ENV is set only for interactive shells,
# ksh93 easier since it doesn't source $ENV when run non-interactively.
# $_ is set to 1. $_flags (shell flags, e.g. ismh) is set to 0
# Then one of the two is subtracted from their sum:
# either $_, if ${-%%*i*} evaluates to null (will for an interactive shell),
# or $_flags (for a non-interactive shell - i not set ).
# ENV will only be set if the result is 0, since only ENVFILE[0] is set.
ENV='${_ENVFILE[(_=1)+(_$-=0)-_${-%%*i*}]}'
_ENVFILE=/.kshrc
export ENV _ENVFILE
fi
我在网上查了一下,有人建议我这样做:
# cat /etc/shells
# @(#) shells 95.1 00/10/29
#
/bin/csh
/bin/sh
/bin/ksh
/usr/bin/scosh
/bin/bash
/usr/bin/bash
# exec /bin/bash
/bin/bash: not found
我什至尝试在机器上搜索所有与 相关的内容bash
,如下所示:
#find / -name bash*
/usr/local/bin/bash
/usr/local/bin/bashbug
/usr/local/info/bash.info
/usr/local/man/man1/bash.1
/usr/local/man/man1/bashbug.1
/usr/options/bash.name
/opt/K/SCO/lynx/5.0.7a/usr/lib/lynx/lynx_help/keystrokes/bashlike_edit_help.html
/opt/bash-2.05a.pkg
/var/adm/pkg/bash
(笔记:那里没有 bash.rc)
#find / -name .bash*
# (nothing)
那么如何设置bash
为SCO中的默认shell呢?
答案1
好的,我发现,我需要使用scoadmin
.完成后,我安装了 SCO Maintenance Pack 5,并重新启动了机器。
现在当我输入:
# bash
bash-3.1#
在机器上使用 bash 效果很好!
编辑
这也适用于标准用户(不仅仅是 root 用户)。