Sometimes i see that few scripts are executed through \"sh\" command and sometimes through \"./\" command.I am not able to understand the exact difference between them.Please he
In simple words, sh file1
executing sh command/executable with file1 as a parameter. In this case file1 doesn't require execute privilege as sh executable read and intercept the commands in the file.
./file1
its nothing but running/executing an executable file file1, hence it requires executable privileges. In this case it executes on the shell mentioned in the shebang #!/bin/sh
if its not mentioned then its on the current shell.
Hoping the above statements are not chaos :)