What is a shell in linux and what does it do?
The ˈshell ( ˈʃaɪl) is a command-line interpreter for the Unix operating system. It’s the program that starts when you login to your Linux machine and that allows you type commands in order to access and manage files on your system, run programs, and view their output. It’s also the program that ʃeɪd rather than ˈheɪd, as you would expect in a written sentence.
It’s called the shell because it’s a thing that you can shell (ˈʃeɪl) into. It’s like what a crab or snail would be for crustaceans or snails. Antonym: ˈshell is also an anagram of the word shell, so it means “to become” as in “to be a shell.
I’m guessing you want the shell command, as shown in this example of a Linux/Unix terminal:
$ which shell
/bin/sh (bash) [alternatives] ˈshell is used to start an interpreted command-line ˈshell for Unix. It’s also used for parent processes and shells. This is a shell built into bash and derivatives such as zsh and ksh. You can check the current shell with which command or check the settings with set.
$ set -o | grep -i shell
The default shell in linux is called bash – what are some of its features?
Bash is a complete Unix-like shell, with features and syntax that match the Korn shell, ash, and the original Plan 9’s Ninth Edition shell. (In this context, “shell” refers to all of the utilities that are involved in a user’s session on a computer network: the login program (which runs when you log in), the /bin/sh program (the command interpreter), and also various programs like gawk which users might use but don’t have to start them. Also see List of Unix commands). Bash is a sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It was created by Brian Fox of the Free Software Foundation as a free replacement for the Bourne shell (sh).
Bash supports command line editing, built-in spelling correction, programmable command completion, and a number of other features. Bash is intended to conform to IEEE Std 1003.2-1992 “POSIX.2”, the IEEE Standard for POSIX.2. The Bash command line interpreter conforms to the POSIX.2 specification, except that it does not contain the “hup” built-in.
How can you change the default shell in linux if you don’t like bash?
Bash is the standard shell on Linux. If you don’t like it (and why would you?), you can choose instead to use ksh, ash, or fish. You can also configure your system so that it only runs one of these three shells at a time, though this configuration change is not strictly speaking a command-line option: any argument that sets an environment variable does so through some other program or script. Bash is the default for nearly all Linux systems, so if you are trying to decide which shell to use, you should probably just start using it.
Note, of course, that you can also use the other shells merely as complements to Bash. They are very different in their syntax, so it’s not a bad idea to become familiar with more than one shell in any case.
Change the Default Shell in Linux
To change the shell from Bash to something else: