Changes

Jump to: navigation, search

Scripts on Linux

264 bytes added, 09:15, 16 September 2008
no edit summary
When an attempt is made to execute a file, the kernel will check the file [[Linux Permissions|permissions]]. If the effective user has permission to execute the file, it will be opened and the first few bytes examined for a 'magic number', which will identify the type of executable. If no magic number is found, and the file is a text file, it will be interpreted by the current shell (identified by the SHELL environment variable).
If the first two characters of the file are "#!" (which is considered a magic number), then the rest of the first line of the file is used as the absolute path and arguments for the interpreter. This is called a "shbang" line, from "#" (sharp) and "!" (bang). Therefore, using this as the first line of your a [[BASH]] script:
#!/bin/bash
Will force the kernel to launch /bin/bash as the interpreter for the For a Perl script. This ensures that bash will used even if the user prefers ksh, csh, or some other shell for their command-line work.use:
#!/usr/bin/perl This force the kernel to execute the appropriate interpreter for the script regardless of the current shell. There are three requirements for a valid bash [[BASH]] script:
# The first line of the script must be <code>#!/bin/bash</code>
# The rest of the file must contain bash [[BASH]] commands.
# The file must be made executable (see [[Linux Permissions]]).
 
Remember, in order to execute a script, the directory containing the script must be in a directory in the [[BASH_Variables#Common_Environment_Variables|PATH]], or the script must be specified by a pathname which includes a slash (e.g., ./scriptname or an absolute path).
 
[[Category:Linux]]

Navigation menu