I found that sh is a symbolic link to bash
lrwxrwxrwx 1 root root 4 May 9 15:23 /bin/sh -> bash
I tried to find a reason and i found out that bash is a implementation of sh and can behave like sh or POSIX. So scripts with #!/bin/sh are invoked by bash with a try to mimic behaviour of sh. And there are other impletations too like dash, csh etc. While reading this answer when invoked with /bin/sh bash moves to POSIX mode after reading startup files. I don't have much experience with shells but as these answers are stating : there is no sh by default in some systems and bash or any other shell is doing the homework for sh. And i want some expert opinion on this matter.
- When invoked with sh Bash enters POSIX mode after reading startup files. But what are these startup files?
- So the point is if bash is doing the work of sh in my system than does this means that there is no sh in my system and all the scripts with sh is invoked by bash or any other shell to which sh points to.