What does the line: #!/usr/bin/sh do?

Status
Not open for further replies.

lokem

Posts: 653   +0
Hi all,

Hope someone here is familiar with shell scripts...

Anyway, at the top of a script, there'll almost always be a line like #!/usr/bin/sh

Anyone know what that line does exactly?

Does this mean that the script will be called using /usr/bin/sh <scriptname>?

TIA.
 
If I'm not wrong, the location of the language installation files on the server. (the wording might be wrong but you get the idea ;) )
 
If I'm not wrong, the location of the language installation files on the server. (the wording might be wrong but you get the idea ;) )

Language installation file? Uhh... DO you mean the shell exec file?
 
i'm no huge expert but usually that line means what shell you have to run the program in to get it to work. when i used to do korn shell programming in junior year of college we always had to put !/bin/sh (or wahtever the syntax is) so that the shell will run the script as korn instead of maybe a c shell script. same thing for perl, etc. if the shell you're trying to execute the program in matches that line then you're ok. its just to make sure that if the shell is different from the language of the program that it runs on the right compiler instead of for example a korn shell script trying to compile on gcc or something like that.
 
http://ibm1.cicrp.jussieu.fr/info/en_US/a_doc_lib/cmds/aixcmds5/sh.htm

sh Command

Purpose
Invokes the default shell.

Syntax
Refer to the syntax of the ksh command. The /usr/bin/sh file is linked to the Korn shell.

Description
The sh command invokes the default shell and uses its syntax and flags. The shell linked to the /usr/bin/sh path is the default shell. The standard configuration of the operating system links the /usr/bin/sh path to the Korn shell. See "Korn Shell" in AIX 5L Version 5.1 System User's Guide: Operating System and Devices for specific information about Korn shell features.


Flags
Refer to the flags for the Korn shell (ksh command).


Files

/usr/bin/sh Contains the sh command.


This is much like to run perl scripts, you have to type in something along the effect of #!/usr/bin/perl

This line is called a "shebang line".
 
Status
Not open for further replies.
Back