[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
awk
Programs
Once you have learned awk
, you may want to write self-contained
awk
scripts, using the `#!' script mechanism. You can do
this on many Unix systems(7) as well as on the GNU system.
For example, you could update the file `advice' to look like this:
#! /bin/awk -f BEGIN { print "Don't Panic!" } |
After making this file executable (with the chmod
utility),
simply type `advice'
at the shell and the system arranges to run awk
(8) as if you had
typed `awk -f advice':
$ chmod +x advice $ advice -| Don't Panic! |
Self-contained awk
scripts are useful when you want to write a
program that users can invoke without their having to know that the program is
written in awk
.
Some systems limit the length of the interpreter name to 32 characters. Often, this can be dealt with by using a symbolic link.
You should not put more than one argument on the `#!'
line after the path to awk
. It does not work. The operating system
treats the rest of the line as a single argument and passes it to awk
.
Doing this leads to confusing behavior--most likely a usage diagnostic
of some sort from awk
.
Finally,
the value of ARGV[0]
(see section 7.5 Built-in Variables)
varies depending upon your operating system.
Some systems put `awk' there, some put the full pathname
of awk
(such as `/bin/awk'), and some put the name
of your script (`advice'). Don't rely on the value of ARGV[0]
to provide your script name.