Question: what is the difference between login shell and non login shell?
Answer: If the output is the name of our shell, prepended by a dash, then it is a login shell. For example -bash, -su etc. A Non login shell is started by a program without a login. In this case, the program just passes the name of the shell executable.