将 BASH 设置为 SCO 中的默认值

将 BASH 设置为 SCO 中的默认值

我尝试了无数次,试图将其bash作为 SCO 中的默认 shell,但都失败了。

我已经尝试过以下方法:

  1. 安装的 Bash- 使用bash-2.05a.pkg
  2. 安装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 用户)。

相关内容