Installation of Bash Bash has different default behavior when called as an interactive and a non-interactive shell. It is possible to change this by opening the config-top.h file and commenting out the line: #define NON_INTERACTIVE_LOGIN_SHELLS Bash has a number of bugs in it that cause it to not behave the way it is expected at times. Fix this behaviour with the following patch: patch -Np1 -i ../bash-&bash-patch-version;.patch Prepare Bash for compilation: ./configure --prefix=/usr --bindir=/bin Compile the package: make Test the results: make tests Install the package: make install And reload the newly compiled bash program: exec /bin/bash --login set +h