Networking Guide
Chapter 13, Configuring the NFS automounter

Simplifying map syntax

Simplifying map syntax

automount recognizes the ``&'' and ``'' characters as having a special meaning within maps. Using these characters as string substitutions within automount maps reduces redundancy in each line of a map and saves a user from having to duplicate information. 

Ampersand (&)

Suppose you have an indirect map with a lot of subdirectories specified, for example:

   john                         moscow:/home/moscow:john
   mary                         moscow:/home/moscow:mary
   joe                          moscow:/home/moscow:joe
   able                         prague:/export/home:able
   baker                        sydney:/export/home:baker
                [.  .  .]
Consider using string substitutions. If the string in the ``key'' field is repeated in the ``location'' field, you can use the ampersand character (&) in place of the key value string wherever it appears in the ``location'' field.

Using the ampersand, the above map now looks like:

   john                         moscow:/home/moscow:&
   mary                         moscow:/home/moscow:&
   joe                          moscow:/home/moscow:&
   able                         prague:/export/home:&
   baker                        sydney:/export/home:&
                [.  .  .]
Suppose the name of the server is the same as the key itself, for instance:
   moscow                       moscow:/home/moscow
   sydney                       sydney:/home/sydney
   prague                       prague:/home/prague
   milan                        milan:/home/milan
   zurich                       zurich:/home/zurich
                [.  .  .]
The use of the ampersand results in:
   moscow                       &:/home/&
   sydney                       &:/home/&
   prague                       &:/home/&
   milan                        &:/home/&
   zurich                       &:/home/&
                [.  .  .]

You can also use key substitutions in a direct map:

   /usr/man                     moscow,seattle,zurich:/usr/man
This could be written as:
   /usr/man                     moscow,seattle,zurich:&
Notice that the ampersand substitution uses the whole key string, so if the key in a direct map starts with a ``/'' (as it should), that slash is carried over, and you could not do something like this:
   /progs                  &1,&2,&3:/export/src/progs
This is because automount interprets it as:
   /progs     /progs1,/progs2,/progs3:/export/src/progs


Asterisk ()

Notice that all the entries in the ampersand indirect map examples have the same format. This permits you to use the usual substitute character, the asterisk (). The asterisk reduces the whole thing to:

          &:/home/&
Here each ampersand is substituted by the value of any given key. This tells automount to mount /home/server from any known server.

Once automount reads the substitute key, it does not continue reading the map, so that the following map is viable:

   milan           &:/export/&
   zurich          &:/export/&
                  &:/home/&
In the next map the last two entries are always ignored:
                  &:/home/&
   milan           &:/export/&
   zurich          &:/export/&