6.21. Bash-3.2

The Bash package contains the Bourne-Again SHell.

6.21.1. Installation of Bash

If you downloaded the Bash documentation tarball and wish to install HTML documentation, issue the following commands:

tar -xvf ../bash-doc-3.2.tar.gz

The following patch contains updates from the maintainer. The maintainer of Bash only releases these patches to fix serious issues:

patch -Np1 -i ../bash-3.2-fixes-3.patch

When bash is cross-compiled, it cannot test for the presence of named pipes. If you used su to become an unprivileged user, this combination will cause Bash to build without process substitution.

echo "bash_cv_sys_named_pipes=yes" > config.cache

Prepare Bash for compilation:

./configure --build=${CLFS_HOST} --host=${CLFS_TARGET} \
    --prefix=/usr --bindir=/bin --cache-file=config.cache \
    --without-bash-malloc --with-installed-readline

The meaning of the 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:


Install the package:

make DESTDIR=${CLFS} htmldir=/usr/share/doc/bash-3.2 install

Create /bin/sh:

ln -sv bash ${CLFS}/bin/sh

6.21.2. Contents of Bash

Installed programs: bash, bashbug, and sh (link to bash)

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