Installing Bash 5.0 from source on Debian

tl;dr

If you never install a big package on a GNU/Linux system it may be dounting, but once you figure out it’s really fun. Get the source on here and see list of new features from here.

The installition usually consist of 3 steps:

  1. Configure
  2. Build
  3. Install the build

The configure step is about deciding what features you want, you may not all the feature or use just some of them. Enabling and disabling done on this step. If you want to see what features are available, issue:

./configure --help

Remember to use ./ to run binaries not on the path. Use -h or --help as go to command whenever you don’t know where to start.

The build step is where the source files compiled to executable binaries. It’s usually done with make. The -j parameter indicates how many core you dedicate for this job which affects the speed, eventually time. To see full list of parameter of the make:

make --help

And on installing the build step, the compiled binaries copied to apropriate directories. You can choose these directories on configure step. Installation made by another make command but this requires super user permission:

sudo make install

That’s it, if everything goes right (most of time it does not) Bash 5.0 is installed. You can ensure by checking its version:

bash --version

tl;dr

./configure  --enable-alias --enable-arith-for-command --enable-brace-expansion --enable-bang-history --enable-array-variables --enable-cond-command --enable-history --enable-multibyte --enable-function-import  --enable-job-control  --enable-help-builtin  --enable-net-redirections --enable-select  --enable-single-help-strings
make -j 7
sudo make install