Linux shell modules
to check in terminal which shell/version is used : echo $SHEL
dash
is a shell that has poor usability when used as an interactive log-in shell,
but is faster in executing POSIX-compliant scripts than Bash , also has a 9 times less memory footprint
In most distros f.i. , it is used with the boot process, because booting gets faster this way.
bash
has many more features and is preferable when used interactively (also contains many more programming features).
Bash is typically provided as the default interactive shell.
But Debian and Debian-derivatives like Ubuntu provide Dash as the /bin/sh implementation,
thereby causing scripts with #!/bin/sh shebangs to be interpreted by Dash rather than Bash by default.
For scripts that require Bash for execution, Bash will still be used as the interpreter if the shebang is #!/bin/bash. {wm : this is not certain}
or execute with bash “shell-script-name”
main diff between bash & dash
Bash Supports the same scripting commands as Dash as well as its own additional commands, Dash Only supports POSIX compliant features.
Bash is designed for human beings and provides a superset of POSIX functionality, Dash is for non-interactive script execution.
Bash supports tab completion and Supports a command history.
Dash is only 100K compared to Bash’s 900K.
zie : https://diffzi.com/bash-vs-dash/
rbash
Restricted Shell is a Linux Shell that restrict some of the features of bash shell
The restriction is implemented for the command as well as script running in restricted shell.
provides an additional layer for security to bash shell in Linux.
{wm : waarschijnlijk toe te wijzen aan een non adin user zodat hij geen kwaad kan uithalen}
precieze beperkingen rbash : eens opzoeken als de nood daartoe is.