GNU Info

Info Node: (gawk.info)Comments

(gawk.info)Comments


Next: Quoting Prev: Executable Scripts Up: Running gawk
Enter node , (file) or (file)node

Comments in `awk' Programs
--------------------------

   A "comment" is some text that is included in a program for the sake
of human readers; it is not really an executable part of the program.
Comments can explain what the program does and how it works.  Nearly all
programming languages have provisions for comments, as programs are
typically hard to understand without them.

   In the `awk' language, a comment starts with the sharp sign
character (`#') and continues to the end of the line.  The `#' does not
have to be the first character on the line. The `awk' language ignores
the rest of a line following a sharp sign.  For example, we could have
put the following into `advice':

     # This program prints a nice friendly message.  It helps
     # keep novice users from being afraid of the computer.
     BEGIN    { print "Don't Panic!" }

   You can put comment lines into keyboard-composed throw-away `awk'
programs, but this usually isn't very useful; the purpose of a comment
is to help you or another person understand the program when reading it
at a later time.

   *Caution:* As mentioned in *Note One-Shot Throw-Away `awk' Programs:
One-shot, you can enclose small to medium programs in single quotes, in
order to keep your shell scripts self-contained.  When doing so,
_don't_ put an apostrophe (i.e., a single quote) into a comment (or
anywhere else in your program). The shell interprets the quote as the
closing quote for the entire program. As a result, usually the shell
prints a message about mismatched quotes, and if `awk' actually runs,
it will probably print strange messages about syntax errors.  For
example, look at the following:

     $ awk '{ print "hello" } # let's be cute'
     >

   The shell sees that the first two quotes match, and that a new
quoted object begins at the end of the command-line.  It therefore
prompts with the secondary prompt, waiting for more input.  With Unix
`awk', closing the quoted string produces this result:

     $ awk '{ print "hello" } # let's be cute'
     > '
     error--> awk: can't open file be
     error-->  source line number 1

   Putting a backslash before the single quote in `let's' wouldn't help,
since backslashes are not special inside single quotes.  The next
node describes the shell's quoting rules.


automatically generated by info2www version 1.2.2.9