8.34. Bash-5.1.8

The Bash package contains the Bourne-Again SHell.

Approximate build time: 1.6 SBU
Required disk space: 50 MB

8.34.1. Installation of Bash

Prepare Bash for compilation:

./configure --prefix=/usr                      \
            --docdir=/usr/share/doc/bash-5.1.8 \
            --without-bash-malloc              \

The meaning of the new configure option:


This option tells Bash to use the readline library that is already installed on the system rather than using its own readline version.

Compile the package:


Skip down to Install the package if not running the test suite.

To prepare the tests, ensure that the tester user can write to the sources tree:

chown -Rv tester .

The testsuite of the package is designed to be run as a non-root user that owns the terminal connected to standard input. To satisfy the requirement, spawn a new pseudo terminal using Expect and run the tests as the tester user:

su -s /usr/bin/expect tester << EOF
set timeout -1
spawn make tests
expect eof
lassign [wait] _ _ _ value
exit $value

Install the package:

make install

Run the newly compiled bash program (replacing the one that is currently being executed):

exec /bin/bash --login +h


The parameters used make the bash process an interactive login shell and continues to disable hashing so that new programs are found as they become available.

8.34.2. Contents of Bash

Installed programs: bash, bashbug, and sh (link to bash)
Installed directory: /usr/include/bash, /usr/lib/bash, and /usr/share/doc/bash-5.1.8

Short Descriptions


A widely-used command interpreter; it performs many types of expansions and substitutions on a given command line before executing it, thus making this interpreter a powerful tool


A shell script to help the user compose and mail standard formatted bug reports concerning bash


A symlink to the bash program; when invoked as sh, bash tries to mimic the startup behavior of historical versions of sh as closely as possible, while conforming to the POSIX standard as well