When I type bash in to linux cli, it gives me bash-3.2$ so what does it do?


When you run bash you are creating a new bash subshell within your current shell (even if your current shell was already bash), the $SHLVL environment variable will also be incremented within that new shell.

  • I realized that running import subprocess; subprocess.call(['bash']) starts a new bash subshell in your Python REPL. – bjd2385 Dec 29 '16 at 18:45

It's a shell - think of it like the cmd window in Windows(if that's what you're used to). It allows you to execute commands. I would have a look through the wikipedia entry as a starting point.

Not the answer you're looking for? Browse other questions tagged or ask your own question.