What is default shell for terminal?

Let's say, I opened a terminal and entered / executed some shell commands.

But I didn't invoke explicitly Bash or any other shell.

What shell was used by default?


Solution 1:

The one specified on your line in /etc/passwd (it is a : separated line and the shell is the final one).

For example mine:

chris:x:1000:1000:Chris,,,:/home/chris:/bin/bash

Here it is /bin/bash (the Ubuntu default)

You can also use chsh:

$ chsh
Password: 
Changing the login shell for chris
Enter the new value, or press ENTER for the default
        Login Shell [/bin/bash]:

This is telling me my shell is /bin/bash and letting me change it.

Finally, echo $SHELL will do the same:

$ echo $SHELL
/bin/bash

Solution 2:

typing the following will display what shell the terminal opened with:

echo $SHELL

However, to find out what shell you are currently in (you may have changed it) type

ps -p $$

e.g. you will see that the shell is bash in the example output

  PID TTY          TIME CMD
 3500 pts/0    00:00:01 bash

Another method is to use

echo $0

this will simply return the name of the current shell.