You need to use the pkg_add commandto install BASH package which is available in a binary packages format over the Internet. You can also install bash package using OpenBSD CD during installation. This page shows how to install bash shell on OpenBSD.
OpenBSD Install BASH Shell Command
First, Login as a root user, either use su - or sudo or doas command as per your environment:
$ su -
Search for OpenBSD installation path
One can set up PKG_PATH using export command. You can make things really easy by using the PKG_PATH environment variable. Just point it to your favorite location, and pkg_add will automatically look there for any package you specify, and also fetch and install the necessary dependencies of this package automatically (see mirror list here).
$ export PKG_PATH=ftp://mirror.planetunix.net/pub/OpenBSD/`uname -r`/packages/`machine -a`/
Or add to your ~/.profile (sh/ksh/bash) file as follows:
echo 'export PKG_PATH=https://cdn.openbsd.org/pub/OpenBSD/`uname -r`/packages/`machine -a`/' >> ~/.profile
Caution: The PKG_PATH variable MUST end in a slash (/).
Please note that the /etc/installurl file contains a single line specifying an OpenBSD mirror server URL. You can view it with the help of cat command:
$ cat /etc/installurl
Update the file as follows if it is empty, run the echo command:
echo 'https://cdn.openbsd.org/pub/OpenBSD/' > /etc/installurl
Now search for bash package, run:
# pkg_info search bash
OpenBSD Install bash shell binary package
Use pkg_add command as follows (older version):
# pkg_add -i -v bash
On newer system skip the -i option:
# pkg_add -v bash
One can use doas as follows (if configured on your system):
$ doas -u root pkg_add -v bash
Sample outputs from OpenBSD 4.x:
parsing bash-3.2 Dependencies for bash-3.2 resolve to: gettext-0.14.6, libiconv-1.9.2p3 (todo: libiconv-1.9.2p3,gettext-0.14.6) bash-3.2:parsing libiconv-1.9.2p3 bash-3.2:libiconv-1.9.2p3: complete bash-3.2:parsing gettext-0.14.6 Dependencies for gettext-0.14.6 resolve to: expat-2.0.0, libiconv-1.9.2p3 (todo: expat-2.0.0) bash-3.2:parsing expat-2.0.0 bash-3.2:expat-2.0.0: complete bash-3.2:gettext-0.14.6: complete Shell /usr/local/bin/bash appended to /etc/shells bash-3.2: complete
Sample outputs from OpenBSD 5.9 (please note that you no longer need to pass the -i option to OpenBSD):
To use bash shell, just enter bash command:
How do I setup bash as a login and default shell for my account?
Type the following chsh command to change the user’s shell to new shell called /usr/local/bin/bash (the following will change root shell to bash):
# chsh -s /usr/local/bin/bash
Set bash shell as a default login shell for user nixcraft:
# chsh -s /usr/local/bin/bash nixcraft
You just learned about setting up gnu/bash shell using the pkg_add on OpenBSD system.