Profile photo for Sudip Bhandari

As a demonstration of the point made clear by the existing answers I would like to add an example.

  1. #!/bin/sh 
  2. sleep 50 

let’s save it as a.sh and make it executable

  1. sudo chmod +x a.sh 

Let's run it in the background and stat the process.

  1. ./a.sh& 
  2. [1] 11660 

On looking at the process details:

  1. ps -fp 11660 
  2. UID PID PPID C STIME TTY TIME CMD 
  3. sudipbh+ 11660 11330 0 15:30 pts/7 00:00:00 /bin/sh ./a.sh 

We can see that the content of the file is passed as an argument to the program /bin/sh.

In Bash scripting, this enables the script author to mention the exact interpreter to be used by the program and if it’s not found the user can take it as a cue to install the required interpreter.

The same idea would be extended to other interpreted languages like python.

View 11 other answers to this question
About · Careers · Privacy · Terms · Contact · Languages · Your Ad Choices · Press ·
© Quora, Inc. 2025