UNIX: The Complete Reference, Second Edition by Kenneth H. Rosen et al.
You can start another shell after you log in by using the name of the shell as a command; for example, to start the Korn shell, you could type ksh at the command prompt. This type of shell is not a login shell, and you do not have to log in again to use it, but it is still an interactive shell, meaning that you interact with the shell by typing in commands (as opposed to using the shell to run a script, as discussed in Chapter 20). The instances of the shell that run in a terminal window when you are using a graphical interface are also interactive non-login shells. When you start a non-login shell, it does not read your .profile, .bash_profile, or .login file (or your .logout file), but it will still read the second shell configuration file (such as .bashrc). This means that you can test changes to your .bashrc by starting another instance of the shell, but if you are testing changes to your .profile or .login, you must log out and then back in to see the results.
I was going through above lines and I don't understand what it means by interactive shell. Is it true that .profile is not read if I am using terminal?
Moreover, what does it mean when you say that bourne is not is an interactive shell while bash/csh is an interactive shell?
The Bourne shell can be used as an interactive shell, just like bash or tcsh.
Isn't Bourne shell the same asbash
? – Mr.Web Sep 03 '18 at 17:56bash
is a more recent shell that is designed to besh
-compatible, but it has many features unknown insh
. In reality, on many systems, the shell that purports to besh
these days is likely actually to beash
,dash
or some other more recent shell in the Bourne family. FreeBSD, for example, usesash
as itssh
implementation. – D_Bye Sep 03 '18 at 23:29