Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have tried countless times, trying to get bash as the default shell in SCO, and have failed.

I have tried the following:

  1. Installed Bash - using bash-2.05a.pkg
  2. Installed Readline - using readline-4.2a.pkg

I installed them by using:

pkgadd -d - < bash-2.05a.pkg
pkgadd -d - < readline-4.2a.pkg

I then added bash to my .profile. This is the contents:

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

I had a look online, and people have suggested I do this:

# 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

I have even tried searching the machine for all to do with bash, like this:

#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

(Note: No bash.rc there)

#find / -name .bash*
# (nothing)

So how do I set bash as the default shell in SCO?

share|improve this question
    
Doesn't SCO specify a user's shell in /etc/passwd? Also you obivously need to run /usr/local/bin/bash to start a bash ... –  Bananguin Nov 13 '13 at 10:57
    
@Bananguin How do you mean run that? If I just run that as is, I get an error back: dynamic linker : /usr/local/bin/bash : could not open /usr/lib/libthread.so.1 Killed –  Kevdog777 Nov 13 '13 at 10:59
    
Does that file exist on your system? –  Bananguin Nov 13 '13 at 11:02
    
/etc/passwd does, and I can see the user that I have, and their entry in that file: test:x:200:50::/u/test:/bin/sh. I went to the: /usr/local/bin/ and it shows bash and bahsbug there. –  Kevdog777 Nov 13 '13 at 11:06
    
I meant /usr/lib/libthread.so.1. Apparently bash needs that library but it can't be loaded. –  Bananguin Nov 13 '13 at 11:07

1 Answer 1

up vote 2 down vote accepted

OK, I found out, that I needed to verify the System and the Software, using scoadmin. Then once that was done, I installed SCO Maintenance Pack 5, and rebooted the machine.

Now when I type:

# bash
bash-3.1#

Getting bash on the machine works great!

Edit
This also works with the standard user too (not just the root user).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.