Special shell variables
The variables described in this section have special meaning to the
shell.
The shell sets addsuffix, argv, autologout, command, echo_style, edit,
gid, group, home, loginsh, oid, path, prompt, prompt2, prompt3, shell,
shlvl, tcsh, term, tty, uid, user and version at startup; they do not
change thereafter unless changed by the user. The shell updates cwd,
dirstack, owd and status when necessary, and sets logout on logout.
The shell synchronizes afsuser, group, home, path, shlvl, term and user
with the environment variables of the same names: whenever the environ-
ment variable changes the shell changes the corresponding shell vari-
able to match (unless the shell variable is read-only) and vice versa.
Note that although cwd and PWD have identical meanings, they are not
synchronized in this manner, and that the shell automatically intercon-
verts the different formats of path and PATH.
addsuffix (+)
If set, filename completion adds `/' to the end of directories
and a space to the end of normal files when they are matched
exactly. Set by default.
afsuser (+)
If set, autologout's autolock feature uses its value instead of
the local username for kerberos authentication.
ampm (+)
If set, all times are shown in 12-hour AM/PM format.
argv The arguments to the shell. Positional parameters are taken
from argv, i.e., `$1' is replaced by `$argv[1]', etc. Set by
default, but usually empty in interactive shells.
autocorrect (+)
If set, the spell-word editor command is invoked automatically
before each completion attempt.
autoexpand (+)
If set, the expand-history editor command is invoked automati-
cally before each completion attempt.
autolist (+)
If set, possibilities are listed after an ambiguous completion.
If set to `ambiguous', possibilities are listed only when no
new characters are added by completion.
autologout (+)
The first word is the number of minutes of inactivity before
automatic logout. The optional second word is the number of
minutes of inactivity before automatic locking. When the shell
automatically logs out, it prints `auto-logout', sets the vari-
able logout to `automatic' and exits. When the shell automati-
cally locks, the user is required to enter his password to con-
tinue working. Five incorrect attempts result in automatic
logout. Set to `60' (automatic logout after 60 minutes, and no
locking) by default in login and superuser shells, but not if
the shell thinks it is running under a window system (i.e., the
DISPLAY environment variable is set), the tty is a pseudo-tty
(pty) or the shell was not so compiled (see the version shell
variable). See also the afsuser and logout shell variables.
backslash_quote (+)
If set, backslashes (`\') always quote `\', `'', and `"'. This
may make complex quoting tasks easier, but it can cause syntax
errors in csh(1) scripts.
catalog The file name of the message catalog. If set, tcsh use
`tcsh.${catalog}' as a message catalog instead of default
`tcsh'.
cdpath A list of directories in which cd should search for subdirecto-
ries if they aren't found in the current directory.
color If set, it enables color display for the builtin ls-F and it
passes --color=auto to ls. Alternatively, it can be set to
only ls-F or only ls to enable color to only one command. Set-
ting it to nothing is equivalent to setting it to (ls-F ls).
colorcat
If set, it enables color escape sequence for NLS message files.
And display colorful NLS messages.
command (+)
If set, the command which was passed to the shell with the -c
flag (q.v.).
complete (+)
If set to `enhance', completion 1) ignores case and 2) consid-
ers periods, hyphens and underscores (`.', `-' and `_') to be
word separators and hyphens and underscores to be equivalent.
continue (+)
If set to a list of commands, the shell will continue the
listed commands, instead of starting a new one.
continue_args (+)
Same as continue, but the shell will execute:
echo `pwd` $argv > ~/.<cmd>_pause; %<cmd>
correct (+)
If set to `cmd', commands are automatically spelling-corrected.
If set to `complete', commands are automatically completed. If
set to `all', the entire command line is corrected.
cwd The full pathname of the current directory. See also the
dirstack and owd shell variables.
dextract (+)
If set, `pushd +n' extracts the nth directory from the direc-
tory stack rather than rotating it to the top.
dirsfile (+)
The default location in which `dirs -S' and `dirs -L' look for
a history file. If unset, ~/.cshdirs is used. Because only
~/.tcshrc is normally sourced before ~/.cshdirs, dirsfile
should be set in ~/.tcshrc rather than ~/.login.
dirstack (+)
An array of all the directories on the directory stack.
`$dirstack[1]' is the current working directory, `$dirstack[2]'
the first directory on the stack, etc. Note that the current
working directory is `$dirstack[1]' but `=0' in directory stack
substitutions, etc. One can change the stack arbitrarily by
setting dirstack, but the first element (the current working
directory) is always correct. See also the cwd and owd shell
variables.
dspmbyte (+)
If set to `euc', it enables display and editing EUC-
kanji(Japanese) code. If set to `sjis', it enables display and
editing Shift-JIS(Japanese) code. If set to `big5', it enables
display and editing Big5(Chinese) code. If set to `utf8', it
enables display and editing Utf8(Unicode) code. If set to the
following format, it enables display and editing of original
multi-byte code format:
> set dspmbyte = 0000....(256 bytes)....0000
The table requires just 256 bytes. Each character of 256 char-
acters corresponds (from left to right) to the ASCII codes
0x00, 0x01, ... 0xff. Each character is set to number 0,1,2
and 3. Each number has the following meaning:
0 ... not used for multi-byte characters.
1 ... used for the first byte of a multi-byte character.
2 ... used for the second byte of a multi-byte character.
3 ... used for both the first byte and second byte of a
multi-byte character.
Example:
If set to `001322', the first character (means 0x00 of the
ASCII code) and second character (means 0x01 of ASCII code) are
set to `0'. Then, it is not used for multi-byte characters.
The 3rd character (0x02) is set to '2', indicating that it is
used for the first byte of a multi-byte character. The 4th
character(0x03) is set '3'. It is used for both the first byte
and the second byte of a multi-byte character. The 5th and 6th
characters (0x04,0x05) are set to '2', indicating that they are
used for the second byte of a multi-byte character.
The GNU fileutils version of ls cannot display multi-byte file-
names without the -N ( --literal ) option. If you are using
this version, set the second word of dspmbyte to "ls". If not,
for example, "ls-F -l" cannot display multi-byte filenames.
Note:
This variable can only be used if KANJI and DSPMBYTE has been
defined at compile time.
dunique (+)
If set, pushd removes any instances of name from the stack
before pushing it onto the stack.
echo If set, each command with its arguments is echoed just before
it is executed. For non-builtin commands all expansions occur
before echoing. Builtin commands are echoed before command and
filename substitution, because these substitutions are then
done selectively. Set by the -x command line option.
echo_style (+)
The style of the echo builtin. May be set to
bsd Don't echo a newline if the first argument is `-n'.
sysv Recognize backslashed escape sequences in echo strings.
both Recognize both the `-n' flag and backslashed escape
sequences; the default.
none Recognize neither.
Set by default to the local system default. The BSD and System
V options are described in the echo(1) man pages on the appro-
priate systems.
edit (+)
If set, the command-line editor is used. Set by default in
interactive shells.
ellipsis (+)
If set, the `%c'/`%.' and `%C' prompt sequences (see the prompt
shell variable) indicate skipped directories with an ellipsis
(`...') instead of `/<skipped>'.
fignore (+)
Lists file name suffixes to be ignored by completion.
filec In tcsh, completion is always used and this variable is ignored
by default. If edit is unset, then the traditional csh comple-
tion is used. If set in csh, filename completion is used.
gid (+) The user's real group ID.
group (+)
The user's group name.
histchars
A string value determining the characters used in History sub-
stitution (q.v.). The first character of its value is used as
the history substitution character, replacing the default char-
acter `!'. The second character of its value replaces the
character `^' in quick substitutions.
histdup (+)
Controls handling of duplicate entries in the history list. If
set to `all' only unique history events are entered in the his-
tory list. If set to `prev' and the last history event is the
same as the current command, then the current command is not
entered in the history. If set to `erase' and the same event
is found in the history list, that old event gets erased and
the current one gets inserted. Note that the `prev' and `all'
options renumber history events so there are no gaps.
histfile (+)
The default location in which `history -S' and `history -L'
look for a history file. If unset, ~/.history is used. hist-
file is useful when sharing the same home directory between
different machines, or when saving separate histories on dif-
ferent terminals. Because only ~/.tcshrc is normally sourced
before ~/.history, histfile should be set in ~/.tcshrc rather
than ~/.login.
histlit (+)
If set, builtin and editor commands and the savehist mechanism
use the literal (unexpanded) form of lines in the history list.
See also the toggle-literal-history editor command.
history The first word indicates the number of history events to save.
The optional second word (+) indicates the format in which his-
tory is printed; if not given, `%h\t%T\t%R\n' is used. The
format sequences are described below under prompt; note the
variable meaning of `%R'. Set to `100' by default.
home Initialized to the home directory of the invoker. The filename
expansion of `~' refers to this variable.
ignoreeof
If set to the empty string or `0' and the input device is a
terminal, the end-of-file command (usually generated by the
user by typing `^D' on an empty line) causes the shell to print
`Use "exit" to leave tcsh.' instead of exiting. This prevents
the shell from accidentally being killed. If set to a number
n, the shell ignores n - 1 consecutive end-of-files and exits
on the nth. (+) If unset, `1' is used, i.e., the shell exits
on a single `^D'.
implicitcd (+)
If set, the shell treats a directory name typed as a command as
though it were a request to change to that directory. If set
to verbose, the change of directory is echoed to the standard
output. This behavior is inhibited in non-interactive shell
scripts, or for command strings with more than one word.
Changing directory takes precedence over executing a like-named
command, but it is done after alias substitutions. Tilde and
variable expansions work as expected.
inputmode (+)
If set to `insert' or `overwrite', puts the editor into that
input mode at the beginning of each line.
killdup (+)
Controls handling of duplicate entries in the kill ring. If
set to `all' only unique strings are entered in the kill ring.
If set to `prev' and the last killed string is the same as the
current killed string, then the current string is not entered
in the ring. If set to `erase' and the same string is found in
the kill ring, the old string is erased and the current one is
inserted.
killring (+)
Indicates the number of killed strings to keep in memory. Set
to `30' by default. If unset or set to less than `2', the
shell will only keep the most recently killed string.
listflags (+)
If set to `x', `a' or `A', or any combination thereof (e.g.,
`xA'), they are used as flags to ls-F, making it act like `ls
-xF', `ls -Fa', `ls -FA' or a combination (e.g., `ls -FxA'):
`a' shows all files (even if they start with a `.'), `A' shows
all files but `.' and `..', and `x' sorts across instead of
down. If the second word of listflags is set, it is used as
the path to `ls(1)'.
listjobs (+)
If set, all jobs are listed when a job is suspended. If set to
`long', the listing is in long format.
listlinks (+)
If set, the ls-F builtin command shows the type of file to
which each symbolic link points.
listmax (+)
The maximum number of items which the list-choices editor com-
mand will list without asking first.
listmaxrows (+)
The maximum number of rows of items which the list-choices edi-
tor command will list without asking first.
loginsh (+)
Set by the shell if it is a login shell. Setting or unsetting
it within a shell has no effect. See also shlvl.
logout (+)
Set by the shell to `normal' before a normal logout, `auto-
matic' before an automatic logout, and `hangup' if the shell
was killed by a hangup signal (see Signal handling). See also
the autologout shell variable.
mail The names of the files or directories to check for incoming
mail, separated by whitespace, and optionally preceded by a
numeric word. Before each prompt, if 10 minutes have passed
since the last check, the shell checks each file and says `You
have new mail.' (or, if mail contains multiple files, `You have
new mail in name.') if the filesize is greater than zero in
size and has a modification time greater than its access time.
If you are in a login shell, then no mail file is reported
unless it has been modified after the time the shell has
started up, to prevent redundant notifications. Most login
programs will tell you whether or not you have mail when you
log in.
If a file specified in mail is a directory, the shell will
count each file within that directory as a separate message,
and will report `You have n mails.' or `You have n mails in
name.' as appropriate. This functionality is provided primar-
ily for those systems which store mail in this manner, such as
the Andrew Mail System.
If the first word of mail is numeric it is taken as a different
mail checking interval, in seconds.
Under very rare circumstances, the shell may report `You have
mail.' instead of `You have new mail.'
matchbeep (+)
If set to `never', completion never beeps. If set to
`nomatch', it beeps only when there is no match. If set to
`ambiguous, it beeps when there are multiple matches. If set
to `notunique', it beeps when there is one exact and other
longer matches. If unset, `ambiguous' is used.
nobeep (+)
If set, beeping is completely disabled. See also visiblebell.
noclobber
If set, restrictions are placed on output redirection to insure
that files are not accidentally destroyed and that `>>' redi-
rections refer to existing files, as described in the
Input/output section.
noding If set, disable the printing of `DING!' in the prompt time
specifiers at the change of hour.
noglob If set, Filename substitution and Directory stack substitution
(q.v.) are inhibited. This is most useful in shell scripts
which do not deal with filenames, or after a list of filenames
has been obtained and further expansions are not desirable.
nokanji (+)
If set and the shell supports Kanji (see the version shell
variable), it is disabled so that the meta key can be used.
nonomatch
If set, a Filename substitution or Directory stack substitution
(q.v.) which does not match any existing files is left
untouched rather than causing an error. It is still an error
for the substitution to be malformed, e.g., `echo [' still
gives an error.
nostat (+)
A list of directories (or glob-patterns which match directo-
ries; see Filename substitution) that should not be stat(2)ed
during a completion operation. This is usually used to exclude
directories which take too much time to stat(2), for example
/afs.
notify If set, the shell announces job completions asynchronously.
The default is to present job completions just before printing
a prompt.
oid (+) The user's real organization ID. (Domain/OS only)
owd (+) The old working directory, equivalent to the `-' used by cd and
pushd. See also the cwd and dirstack shell variables.
path A list of directories in which to look for executable commands.
A null word specifies the current directory. If there is no
path variable then only full path names will execute. path is
set by the shell at startup from the PATH environment variable
or, if PATH does not exist, to a system-dependent default some-
thing like `(/usr/local/bin /usr/bsd /bin /usr/bin .)'. The
shell may put `.' first or last in path or omit it entirely
depending on how it was compiled; see the version shell vari-
able. A shell which is given neither the -c nor the -t option
hashes the contents of the directories in path after reading
~/.tcshrc and each time path is reset. If one adds a new com-
mand to a directory in path while the shell is active, one may
need to do a rehash for the shell to find it.
printexitvalue (+)
If set and an interactive program exits with a non-zero status,
the shell prints `Exit status'.
prompt The string which is printed before reading each command from
the terminal. prompt may include any of the following
formatting sequences (+), which are replaced by the given
information:
%/ The current working directory.
%~ The current working directory, but with one's home direc-
tory represented by `~' and other users' home directories
represented by `~user' as per Filename substitution.
`~user' substitution happens only if the shell has already
used `~user' in a pathname in the current session.
%c[[0]n], %.[[0]n]
The trailing component of the current working directory, or
n trailing components if a digit n is given. If n begins
with `0', the number of skipped components precede the
trailing component(s) in the format `/<skipped>trailing'.
If the ellipsis shell variable is set, skipped components
are represented by an ellipsis so the whole becomes
`...trailing'. `~' substitution is done as in `%~' above,
but the `~' component is ignored when counting trailing
components.
%C Like %c, but without `~' substitution.
%h, %!, !
The current history event number.
%M The full hostname.
%m The hostname up to the first `.'.
%S (%s)
Start (stop) standout mode.
%B (%b)
Start (stop) boldfacing mode.
%U (%u)
Start (stop) underline mode.
%t, %@
The time of day in 12-hour AM/PM format.
%T Like `%t', but in 24-hour format (but see the ampm shell
variable).
%p The `precise' time of day in 12-hour AM/PM format, with
seconds.
%P Like `%p', but in 24-hour format (but see the ampm shell
variable).
\c c is parsed as in bindkey.
^c c is parsed as in bindkey.
%% A single `%'.
%n The user name.
%j The number of jobs.
%d The weekday in `Day' format.
%D The day in `dd' format.
%w The month in `Mon' format.
%W The month in `mm' format.
%y The year in `yy' format.
%Y The year in `yyyy' format.
%l The shell's tty.
%L Clears from the end of the prompt to end of the display or
the end of the line.
%$ Expands the shell or environment variable name immediately
after the `$'.
%# `>' (or the first character of the promptchars shell vari-
able) for normal users, `#' (or the second character of
promptchars) for the superuser.
%{string%}
Includes string as a literal escape sequence. It should be
used only to change terminal attributes and should not move
the cursor location. This cannot be the last sequence in
prompt.
%? The return code of the command executed just before the
prompt.
%R In prompt2, the status of the parser. In prompt3, the cor-
rected string. In history, the history string.
`%B', `%S', `%U' and `%{string%}' are available in only eight-
bit-clean shells; see the version shell variable.
The bold, standout and underline sequences are often used to
distinguish a superuser shell. For example,
> set prompt = "%m [%h] %B[%@]%b [%/] you rang? "
tut [37] [2:54pm] [/usr/accts/sys] you rang? _
If `%t', `%@', `%T', `%p', or `%P' is used, and noding is not
set, then print `DING!' on the change of hour (i.e, `:00' min-
utes) instead of the actual time.
Set by default to `%# ' in interactive shells.
prompt2 (+)
The string with which to prompt in while and foreach loops and
after lines ending in `\'. The same format sequences may be
used as in prompt (q.v.); note the variable meaning of `%R'.
Set by default to `%R? ' in interactive shells.
prompt3 (+)
The string with which to prompt when confirming automatic
spelling correction. The same format sequences may be used as
in prompt (q.v.); note the variable meaning of `%R'. Set by
default to `CORRECT>%R (y|n|e|a)? ' in interactive shells.
promptchars (+)
If set (to a two-character string), the `%#' formatting
sequence in the prompt shell variable is replaced with the
first character for normal users and the second character for
the superuser.
pushdtohome (+)
If set, pushd without arguments does `pushd ~', like cd.
pushdsilent (+)
If set, pushd and popd do not print the directory stack.
recexact (+)
If set, completion completes on an exact match even if a longer
match is possible.
recognize_only_executables (+)
If set, command listing displays only files in the path that
are executable. Slow.
rmstar (+)
If set, the user is prompted before `rm *' is executed.
rprompt (+)
The string to print on the right-hand side of the screen (after
the command input) when the prompt is being displayed on the
left. It recognizes the same formatting characters as prompt.
It will automatically disappear and reappear as necessary, to
ensure that command input isn't obscured, and will appear only
if the prompt, command input, and itself will fit together on
the first line. If edit isn't set, then rprompt will be
printed after the prompt and before the command input.
savedirs (+)
If set, the shell does `dirs -S' before exiting. If the first
word is set to a number, at most that many directory stack
entries are saved.
savehist
If set, the shell does `history -S' before exiting. If the
first word is set to a number, at most that many lines are
saved. (The number must be less than or equal to history.) If
the second word is set to `merge', the history list is merged
with the existing history file instead of replacing it (if
there is one) and sorted by time stamp and the most recent
events are retained. (+)
sched (+)
The format in which the sched builtin command prints scheduled
events; if not given, `%h\t%T\t%R\n' is used. The format
sequences are described above under prompt; note the variable
meaning of `%R'.
shell The file in which the shell resides. This is used in forking
shells to interpret files which have execute bits set, but
which are not executable by the system. (See the description
of Builtin and non-builtin command execution.) Initialized to
the (system-dependent) home of the shell.
shlvl (+)
The number of nested shells. Reset to 1 in login shells. See
also loginsh.
status The status returned by the last command. If it terminated
abnormally, then 0200 is added to the status. Builtin commands
which fail return exit status `1', all other builtin commands
return status `0'.
symlinks (+)
Can be set to several different values to control symbolic link
(`symlink') resolution:
If set to `chase', whenever the current directory changes to a
directory containing a symbolic link, it is expanded to the
real name of the directory to which the link points. This does
not work for the user's home directory; this is a bug.
If set to `ignore', the shell tries to construct a current
directory relative to the current directory before the link was
crossed. This means that cding through a symbolic link and
then `cd ..'ing returns one to the original directory. This
affects only builtin commands and filename completion.
If set to `expand', the shell tries to fix symbolic links by
actually expanding arguments which look like path names. This
affects any command, not just builtins. Unfortunately, this
does not work for hard-to-recognize filenames, such as those
embedded in command options. Expansion may be prevented by
quoting. While this setting is usually the most convenient, it
is sometimes misleading and sometimes confusing when it fails
to recognize an argument which should be expanded. A compro-
mise is to use `ignore' and use the editor command normalize-
path (bound by default to ^X-n) when necessary.
Some examples are in order. First, let's set up some play
directories:
> cd /tmp
> mkdir from from/src to
> ln -s from/src to/dst
Here's the behavior with symlinks unset,
> cd /tmp/to/dst; echo $cwd
/tmp/to/dst
> cd ..; echo $cwd
/tmp/from
here's the behavior with symlinks set to `chase',
> cd /tmp/to/dst; echo $cwd
/tmp/from/src
> cd ..; echo $cwd
/tmp/from
here's the behavior with symlinks set to `ignore',
> cd /tmp/to/dst; echo $cwd
/tmp/to/dst
> cd ..; echo $cwd
/tmp/to
and here's the behavior with symlinks set to `expand'.
> cd /tmp/to/dst; echo $cwd
/tmp/to/dst
> cd ..; echo $cwd
/tmp/to
> cd /tmp/to/dst; echo $cwd
/tmp/to/dst
> cd ".."; echo $cwd
/tmp/from
> /bin/echo ..
/tmp/to
> /bin/echo ".."
..
Note that `expand' expansion 1) works just like `ignore' for
builtins like cd, 2) is prevented by quoting, and 3) happens
before filenames are passed to non-builtin commands.
tcsh (+)
The version number of the shell in the format `R.VV.PP', where
`R' is the major release number, `VV' the current version and
`PP' the patchlevel.
term The terminal type. Usually set in ~/.login as described under
Startup and shutdown.
time If set to a number, then the time builtin (q.v.) executes auto-
matically after each command which takes more than that many
CPU seconds. If there is a second word, it is used as a format
string for the output of the time builtin. (u) The following
sequences may be used in the format string:
%U The time the process spent in user mode in cpu seconds.
%S The time the process spent in kernel mode in cpu seconds.
%E The elapsed (wall clock) time in seconds.
%P The CPU percentage computed as (%U + %S) / %E.
%W Number of times the process was swapped.
%X The average amount in (shared) text space used in Kbytes.
%D The average amount in (unshared) data/stack space used in
Kbytes.
%K The total space used (%X + %D) in Kbytes.
%M The maximum memory the process had in use at any time in
Kbytes.
%F The number of major page faults (page needed to be brought
from disk).
%R The number of minor page faults.
%I The number of input operations.
%O The number of output operations.
%r The number of socket messages received.
%s The number of socket messages sent.
%k The number of signals received.
%w The number of voluntary context switches (waits).
%c The number of involuntary context switches.
Only the first four sequences are supported on systems without
BSD resource limit functions. The default time format is `%Uu
%Ss %E %P %X+%Dk %I+%Oio %Fpf+%Ww' for systems that support
resource usage reporting and `%Uu %Ss %E %P' for systems that
do not.
Under Sequent's DYNIX/ptx, %X, %D, %K, %r and %s are not avail-
able, but the following additional sequences are:
%Y The number of system calls performed.
%Z The number of pages which are zero-filled on demand.
%i The number of times a process's resident set size was
increased by the kernel.
%d The number of times a process's resident set size was
decreased by the kernel.
%l The number of read system calls performed.
%m The number of write system calls performed.
%p The number of reads from raw disk devices.
%q The number of writes to raw disk devices.
and the default time format is `%Uu %Ss $E %P %I+%Oio
%Fpf+%Ww'. Note that the CPU percentage can be higher than
100% on multi-processors.
tperiod (+)
The period, in minutes, between executions of the periodic spe-
cial alias.
tty (+) The name of the tty, or empty if not attached to one.
uid (+) The user's real user ID.
user The user's login name.
verbose If set, causes the words of each command to be printed, after
history substitution (if any). Set by the -v command line
option.
version (+)
The version ID stamp. It contains the shell's version number
(see tcsh), origin, release date, vendor, operating system and
machine (see VENDOR, OSTYPE and MACHTYPE) and a comma-separated
list of options which were set at compile time. Options which
are set by default in the distribution are noted.
8b The shell is eight bit clean; default
7b The shell is not eight bit clean
nls The system's NLS is used; default for systems with NLS
lf Login shells execute /etc/csh.login before instead of after
/etc/csh.cshrc and ~/.login before instead of after
~/.tcshrc and ~/.history.
dl `.' is put last in path for security; default
nd `.' is omitted from path for security
vi vi-style editing is the default rather than emacs
dtr Login shells drop DTR when exiting
bye bye is a synonym for logout and log is an alternate name
for watchlog
al autologout is enabled; default
kan Kanji is used if appropriate according to locale settings,
unless the nokanji shell variable is set
sm The system's malloc(3) is used
hb The `#!<program> <args>' convention is emulated when exe-
cuting shell scripts
ng The newgrp builtin is available
rh The shell attempts to set the REMOTEHOST environment vari-
able
afs The shell verifies your password with the kerberos server
if local authentication fails. The afsuser shell variable
or the AFSUSER environment variable override your local
username if set.
An administrator may enter additional strings to indicate dif-
ferences in the local version.
visiblebell (+)
If set, a screen flash is used rather than the audible bell.
See also nobeep.
watch (+)
A list of user/terminal pairs to watch for logins and logouts.
If either the user is `any' all terminals are watched for the
given user and vice versa. Setting watch to `(any any)'
watches all users and terminals. For example,
set watch = (george ttyd1 any console $user any)
reports activity of the user `george' on ttyd1, any user on the
console, and oneself (or a trespasser) on any terminal.
Logins and logouts are checked every 10 minutes by default, but
the first word of watch can be set to a number to check every
so many minutes. For example,
set watch = (1 any any)
reports any login/logout once every minute. For the impatient,
the log builtin command triggers a watch report at any time.
All current logins are reported (as with the log builtin) when
watch is first set.
The who shell variable controls the format of watch reports.
who (+) The format string for watch messages. The following sequences
are replaced by the given information:
%n The name of the user who logged in/out.
%a The observed action, i.e., `logged on', `logged off' or
`replaced olduser on'.
%l The terminal (tty) on which the user logged in/out.
%M The full hostname of the remote host, or `local' if the
login/logout was from the local host.
%m The hostname of the remote host up to the first `.'. The
full name is printed if it is an IP address or an X Window
System display.
%M and %m are available on only systems that store the remote
hostname in /etc/utmp. If unset, `%n has %a %l from %m.' is
used, or `%n has %a %l.' on systems which don't store the
remote hostname.
wordchars (+)
A list of non-alphanumeric characters to be considered part of
a word by the forward-word, backward-word etc., editor com-
mands. If unset, `*?_-.[]~=' is used.
Related commands:
OS X Syntax