The shell is certainly one of the most significant programs of the Linux system as it allows the interfacing and the dialogue between user and system. Through the shell it is possible to issue commands to the system and it is also used as a programming environment through script shells that contain system commands.
There are different types of shells, but the vast majority of features all derive from the Bourne Shell. Many Unix-like systems continue to have
/bin/sh, which will be the Bourne Shell, or a symbolic link or hard link to a compatible shell even when other shells are used by most users.
Almost all modern Linux distributions use the
/ bin/bash, an improved version of
/bin/sh. The BASH Shell is the GNU replacement for the Bourne shell written by Brian Fox for the GNU Project as free software. The Bash Shell command syntax is a superset of the Bourne shell command syntax and supports brace expansion, command line completion, basic debugging and signal handling.
Since Bash is the default shell in many systems, all you need to start a bash shell is to log in to the system and, if it isn’t a server, to open your terminal application. The opened window is your terminal gifted of a flaming BASH shell. Start with typing
help after the
$ prompt, so you ask the shell to execute the help command. This command shows you the version of BASH you are running and a list of commands you can use.
Also, Bash scripting is an extremely useful and powerful part of the system administration and development. Here a basic script, write it in a file and save it as
echo 'Hello, World!'
Now, make it executable:
$ chmod u+x hellobash
And, in the end, launch it:
The result will let you astonishing!
To go deeper with BASH, terminal, commands, and shells, take a look at these references:
- What is Bash? – https://www.gnu.org/software/bash/manual/html_node/What-is-Bash_003f.html
- Bash Guide for Beginners – https://www.tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html
- Learning the shell – http://linuxcommand.org/lc3_lts0010.php
- Bash scripting cheatsheet – https://devhints.io/bash