Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       elmalias	- expand and display Elm address aliases

       elmalias	[ -adenrsuvV ] [ -f format ] [ name  ... ]

       $lib/prlong [ options ... ] < file

       Elmalias	 allows	 you  to examine information about aliases.  The alias
       databases are consulted for each	name on	 the  command  line,  and  the
       alias value is displayed, one value per line of output.	If name	is not
       a known alias, then it is displayed unchanged.  If no name is given  on
       the  command line then all alias	values in the databases	are displayed.
       All of these actions are	default	behaviors that may be modified by com-
       mand line options.

       There  are  two	possible  alias	 databases, a user-specific alias file
       (usually	in $HOME/.elm/aliases) and a system-wide alias	file  (usually
       in  $lib/aliases).  By default both files are searched, first the user-
       specific	file and then the system-wide file.  If	an alias file does not
       exist  then  elmalias silently ignores it and continues on.  The	-s and
       -u command line options (discussed shortly) can restrict	what files are
       files searched.

       There  are  two	types of aliases, Person aliases and Group aliases.  A
       Person alias expands to an individual address and a  Group  alias  con-
       tains  a	 list of addresses, some of which may be aliases.  By default,
       elmalias	displays the defined value of an alias,	 regardless  of	 type.
       The  -e command line option (discussed shortly) fully expands out Group

       The default output produced is just  the	 ``Address''  information  for
       each  name on the command line.	A number of command line options (dis-
       cussed shortly) may be used to select different output  information  or
       specify	a format of your choosing.  The	following information is main-
       tained in the alias databases, and may  be  accessed  by	 the  elmalias

	    o Alias (the alias name)
	    o Last Name
	    o Name (the	user's full name)
	    o Comment (not displayed in	mail headers)
	    o Address (the alias value)
	    o Type (Person, Group, or Unknown)

       When  the name specified	on the command line is not a known alias, both
       the ``Alias'' and ``Address'' information will display as the name, the
       ``Type''	 information  will display as ``Unknown'', and all other items
       will be blank.

       The available command line options are:

       -a     Selects an alternative output format.  The ``Alias'' information
	      is  displayed in addition	to and preceding the usual ``Address''

       -d     Turns debugging on. Has no effect	unless elmalias	 was  compiled
	      with debugging enabled.

       -e     Tells  elmalias  to fully	expand group aliases.  This option can
	      be used only when	names are given	on the command line.

       -f     The output produced will be in  the  specified  format.	Format
	      specifications will be discussed shortly.

       -n     Selects an alternative output format.  The ``Name'' information,
	      if it exists, is displayed in  addition  to  and	following  the
	      usual ``Address''	information.  The ``Name'' will	be enclosed in

       -r     If a specified name does not correspond to a  known  alias  then
	      elmalias will display a message and exit with a nonzero status.

       -s     Normally	elmalias  examines  both the user-specific and system-
	      wide alias files.	 This option requests that  elmalias  use  the
	      system-wide  alias file, and unless the -u option	is also	speci-
	      fied the user-specific alias file	will be	ignored.

       -u     Normally elmalias	examines both the  user-specific  and  system-
	      wide  alias  files.   This option	requests that elmalias use the
	      user-specific alias file,	and unless the -s option is also spec-
	      ified the	system-wide alias file will be ignored.

       -v     Selects  a  verbose  output  format.  Both the ``Alias'' and the
	      ``Name'' information will	be displayed in	addition to the	 ``Ad-
	      dress'' information.  The	``Alias'' information will precede the
	      ``Address'' information, and the ``Name''	 information  will  be
	      enclosed	in parenthesis and follow it.  If there	is no ``Name''
	      information for this alias then that portion of the output  will
	      be ignored.

       -V     Selects  a very verbose, multi-line output format.  Displays all
	      available	information on aliases.

       The output produced by elmalias is fully	customizable with the  -f  op-
       tion.   The  format  string  uses a syntax similar to date(1) (System V
       version)	and printf(3).	The following field descriptors	may be used in
       format specifications:

	    %a	 Alias (the alias name)
	    %l	 Last Name
	    %n	 Name (the user's full name)
	    %c	 Comment (not displayed	in mail	headers)
	    %v	 Address (the alias value)
	    %t	 Type (Person, Group, or Unknown)

       Field  widths  in a [-][m][.n] format (again, similar to	printf(3)) may
       also be used.  For example, "%-20.20a" means print the ``Alias''	infor-
       mation left justified in	a field	twenty characters long,	with the value
       truncated to twenty characters.

       The following special character sequences are also recognized in	format

	    \b	 A backspace.
	    \f	 A formfeed.
	    \n	 A newline.
	    \r	 A return.
	    \t	 A tab.
	    \c	 Literal character ``c''.

       There is	a very simplistic conditional evaluation mechanism that	may be
       used in format specifications.  The conditional	text  should  be  sur-
       rounded	by  question  marks, and a single character that specifies the
       condition immediately follows the first question	mark.	The  condition
       characters  correspond to the ``%'' field specifier characters, and the
       condition is true if the	corresponding alias information	is defined and
       nonempty.  For example, if you want to display the ``Name'' information
       surrounded by parenthesis, but omit it if the information is not	avail-
       able, you may use ``?n(%n)?'' in	the format specification.

       The  command line switches that select an alternative format correspond
       to the following	format specifiers.

	    default   "%v"
	    -a	 "%-20.20a %v"
	    -n	 "%v?n (%n)?"
	    -v	 "%-20.20a %v?n	(%n)?"
	    -V	 "Alias:\t\t%a\n\
		 ?n  Name:\t\t%n\n?\
		 ?l  Last Name:\t%l\n?\
		 ?c  Comment:\t%c\n?"

       The prlong utility formats long amounts of data,	folding	across	multi-
       ple  lines.  It is useful to reformat output of elmalias.  Prlong reads
       data from its standard input, one line at a time, and tries to place as
       much  information  as possible on each output line.  A field seperator,
       by default a single space, seperates each input record  in  the	output
       lines.	Every  output  line is preceded	by a leader field.  By default
       the leader of the first output line is an empty string, and the	leader
       for  all	 subsequent  output  lines is a	single tab.  prlong will never
       split an	input record.  If an input record exceeds the  maximum	output
       line length, it will appear unmodified on an output line	all by itself.

       The following options may be used to modify the prlong behavior.

       -w width	   Constrains  output  lines  to  width	columns	in length (not
		   counting an appended	newline	character).  The default is 78
		   columns.  The width calculation assumes that	tabstops occur
		   every eight spaces.

       -f string   Seperates each input	record with the	indicated string  when
		   displayed to	the output.  The default is a single space.

       -1 string   Specifies the leader	string used for	the first line of out-
		   put.	 (This option is the digit ``one''.)  The  default  is
		   an empty string.

       -l string   Specifies  the  leader  string  for all subsequent lines of
		   output.  (This option is a lower-case ``ell''.) The default
		   is a	single tab.

       Consider	an aliases.text	file that contains:

	    friends = List of Friends =	tom, dick, harry
	    tom	= Tom Smith = sleepy!tom
	    dick = Dick	Jones =	dopey!dick
	    harry = = grumpy!harry

       Below are shown some example commands and the output produced.

	    $ elmalias friends
	    $ elmalias mike
	    $ elmalias -r mike
	    elmalias: "mike" is	not a known alias
	    $ elmalias -n friends
	    tom,dick,harry (List of Friends)
	    $ elmalias -a friends
	    friends		 tom,dick,harry
	    $ elmalias -V friends
	    Alias:	    friends
	      Address:	    tom,dick,harry
	      Type:	    Group
	      Name:	    List of Friends
	      Last Name:    List of Friends
	    $ elmalias -e friends
	    $ elmalias -ve friends
	    tom (Tom Smith)
	    dick (Dick Jones)
	    $ elmalias -f "alias %a is \"%v\" ?n(%n)?" -e friends
	    alias tom is "" (Tom Smith)
	    alias dick is ""	(Dick Jones)
	    alias harry	is ""
	    $ elmalias -en friends | /usr/lib/elm/prlong -w40	(Tom Smith)	(Dick Jones)
	    $ elmalias -en friends | /usr/lib/elm/prlong -1 "To: " -f ", " -w40
	    To: (Tom Smith),	(Dick Jones),

       The  checkalias(1L)  and	listalias(1L) scripts distributed with the Elm
       package provide further examples	of the elmalias	and prlong utilities.

       Elm Development Group

       checkalias(1L), elm(1L),	listalias(1L), newalias(1L)

       There is	no centralized,	comprehensive interface	to the Elm  2.4	 alias
       system,	so every program in the	Elm suite that uses aliases implements
       its own interfaces.  It's possible for inconsistencies to creep in  be-
       tween  what  elmalias says and what some	Elm utility does.  If you find
       an inconsistency	please report it to us!

       Boy, there sure are a lot of command line switches in this thing.

       Note that the precedence	of aliases is  user  file  then	 system	 file.
       This means that a user can 'overload' an	alias by having	one defined in
       the system file also defined in theirs.	This shouldn't turn out	to  be
       a  problem,  but	 is  something for the system administrator to keep in
       mind when creating the system alias file.

       Bill Pemberton

       Copyright 1993-1995 by The USENET Community Trust

USENET Community Trust		Elm Version 2.5			  ELMALIAS(1L)


Want to link to this manual page? Use this URL:

home | help