Specify a Default with $:
The $
: operator can
be used as an alternative to the -a
switch (or in
conjunction with it). The $
: operator, when it stands between the
$(
and $)
, specifies a default
to use instead of the
key
, should a lookup
fail:
R$- . uucp $: $(uucp $1 $: $1.uucp $)
Here, the $-
part
of the LHS is looked up in the uucp
database. If it is
found, the $(
to
the $)
in the RHS
expression is replaced by the data from that
database. If it is not found, the $
: causes the expression
to be replaced with the $-
LHS part and a .uucp
suffix ($1.uucp
).
This version of our rule further simplifies the contents of the database file. With this rule, the database file would contain information such as the following:
lady lady sonya sonya
The -a
is still
used as before to append a .localuucp
to each successful
match:
Kuucp hash -a.localuucp /etc/mail/uucp
In the RHS expression, the $
: must follow the
key
or it loses its
special meaning:
$(name key $: default $)
If the $:
default
wrongly precedes the key
,
it is used as the key, lookups fail, and
replacements are not as expected. If the $
: is present but the
default
is missing, a
failed lookup returns an empty workspace.
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.