What is #!?
The "shebang" syntax is the number sign followed by an exclaimation point and is embedded in most UNIX scripting languages to tell the computer what interpreter to use to run the script when the script is executed. This goes on the first line of your script, followed by the path to the program that will run, or interpret, you script, followed by a space and any other options you want to pass to the interpreter, finished by a carriage return. Nothing else can go on this line as seen in the Perl script below:
# My first "Hello World!" script in Perl
print "Hello World! ";
#!/bin/perl <-- Tells a computer to use the perl executable to run the script to follow.
#!/bin/ksh <-- Tells a computer to use the UNIX ksh (k shell) to run the script to follow.
... and so on...
Shebang - A comment in shell scripting