Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

@(1csh)

alias(1csh)

bg(1csh)

break(1csh)

cd(1csh)

chdir(1csh)

continue(1csh)

csh(1csh)

dirs(1csh)

echo(1csh)

eval(1csh)

exec(1csh)

exit(1csh)

fg(1csh)

glob(1csh)

goto(1csh)

hashstat(1csh)

history(1csh)

jobs(1csh)

kill(1csh)

limit(1csh)

logout(1csh)

nice(1csh)

nohup(1csh)

notify(1csh)

onintr(1csh)

popd(1csh)

pushd(1csh)

rehash(1csh)

repeat(1csh)

set(1sh)

setenv(1csh)

sh(1sh)

shift(1csh)

source(1csh)

stop(1csh)

suspend(1csh)

time(1csh)

umask(1csh)

unhash(1csh)

unalias(1csh)

unlimit(1csh)

unset(1sh)

unsetenv(1csh)

wait(1csh)

which(1csh)



SET(1CSH)               COMMAND REFERENCE               SET(1CSH)



NAME
     set, unset - set and unset shell variables (csh built-in)

SYNOPSIS
     set [ expression... ]
     unset pattern

DESCRIPTION
     The set command is used to set and change the values of
     csh(1csh) variables.  Shell variables can either be single
     words or vectors (arrays) of words.  If no arguments are
     given, the names and values of all shell variables are
     printed, with vectors surrounded by parentheses.  The
     expression arguments may have the following forms:

     name         The named variable is set to the null string.

     name=word    The named variable is set to the word given.
                  The word is subject to substitutions, so
                  special characters must be escaped or quoted.

     name[index]=word
                  The index'th component of the vector name is
                  set to the value of word. The component must
                  already exist.

     name=(wordlist)
                  The named vector is set to the list of values
                  in the wordlist.

     In all cases, variable expansion is done before any
     assignment, so the command sequence:

          set x=hello
          set x=goodbye y=(you say $x)

     will set the variable x to ``goodbye'' and the vector y to
     ``( you say hello )'', not ``( you say goodbye )''.

     The unset command is used to delete variables that match the
     given pattern. The command unset * unsets all variables.

     The following variables have special meaning to the shell.
     Of these, argv, cwd, home, path, prompt, shell and status
     are always set by the shell.  Except for cwd and status this
     setting occurs only at initialization; these variables will
     not then be modified unless this is done explicitly by you,
     the user.

     Though shell variables are not environment variables (see
     setenv(1csh)), the variables path, and cdpath, are imported
     by the shell, and the values of home, term, user, path, and



Printed 4/6/89                                                  1





SET(1CSH)               COMMAND REFERENCE               SET(1CSH)



     cdpath are exported to the environment.  The shell variable
     path and the environment variable PATH are always maintained
     together, whereas cdpath and CDPATH are maintained together
     but the values may be changed (see cd(1sh) and cd(1csh) for
     more information).

     Following is a description of variables which affect built-
     in commands:

     argv      Set to the arguments to the shell, it is from this
               variable that positional parameters are
               substituted; for example, $1 is replaced by
               $argv[1], and so forth.

     cdpath    Gives a list of alternate directories searched to
               find subdirectories in chdir commands.  This
               variable is maintained along with the CDPATH
               environment variable.

     complete  When set, this variable enables command completion
               in interactive shells.

     cwd       The full pathname of the current directory.  See
               CAVEATS.

     dirname   Set to the default directory to change to when the
               argument to cd(1csh) or pushd(1csh) is not found
               in the current directory or in the list of
               directories found in the cdpath variable.

     echo      Set when the -x command line option is given.
               Causes each command and its arguments to be echoed
               just before it is executed.  For non-builtin
               commands all expansions occur before echoing.
               Builtin commands are echoed before command and
               filename substitution, since these substitutions
               are then done selectively.  In all cases,
               redirection is not taken into account, so the
               commands:

               set echo
               cat /etc/group >& foo

               will result in echoing ``cat /etc/group'' to the
               original standard error, instead of into the file
               ``foo''.

     hardpaths When symbolic links are followed when changing
               directories, the value of the variable cwd and the
               values on the directory stack may not be proper
               pathnames.  When this variable is set, each change
               of directory causes the current directory to be



Printed 4/6/89                                                  2





SET(1CSH)               COMMAND REFERENCE               SET(1CSH)



               expanded to not include symbolic links.  This
               should only be used when accuracy is required, as
               it makes directory changes much slower.

     histchars Can be given a string value to change the
               characters used in history substitution.  The
               first character of its value is used as the
               history substitution character, replacing the
               default character !.  The second character of its
               value replaces the character ^ in quick
               substitutions.

     history   Can be given a numeric value to control the size
               of the history list.  Any command which has been
               referenced in this many events will not be
               discarded.  Too large values of history may run
               the shell out of memory.  The last executed
               command is always saved on the history list.

     home      The home directory of the invoker, initialized
               from the environment.  The filename expansion of
               the tilde (~) refers to this variable.

     ignoreeof If set, the shell ignores end-of-file from input
               devices which are terminals.  This prevents shells
               from accidentally being killed by <CTRL-D>'s.

     list      When set to nothing, this variable enables file
               and command listing using the ^D character in
               interactive mode.  If set to `f', filename marking
               is turned on.  If set to `l', filename marking is
               turned on and symbolic links are specially marked.

     listpathnum
               This modifies the output of file listing (see the
               list variable) so that the number of the path
               element where each of the commands is found is
               printed.

     mail      The files where the shell checks for mail.  This
               is done after each command completion, which will
               result in a prompt if a specified interval has
               elapsed.  The shell says You have new mail if the
               file exists with an access time not greater than
               its modify time.

               If the first word of the value of mail is numeric
               it specifies a different mail checking interval,
               in seconds, than the default, which is 10 minutes.

               If multiple mail files are specified, then the
               shell says New mail in filename when there is mail



Printed 4/6/89                                                  3





SET(1CSH)               COMMAND REFERENCE               SET(1CSH)



               in filename.

               If this variable is not set, no checking for mail
               is done.

     noclobber As described in the section on Input/output,
               restrictions are placed on output redirection to
               insure that files are not accidentally destroyed,
               and that >> redirections refer to existing files.

     noglob    If set, filename expansion is inhibited.  This is
               most useful in shell scripts which are not dealing
               with filenames, or after a list of filenames has
               been obtained and further expansions are not
               desirable.

     nonomatch If set, it is not an error for a filename
               expansion to not match any existing files; rather
               the primitive pattern is returned.  It is still an
               error for the primitive pattern to be malformed;
               for example, echo [ still gives an error.

     notify    If set, the shell notifies asynchronously of job
               completions.  The default is to gather present job
               completions just before printing a prompt.

     path      Each word of the path variable specifies a
               directory in which commands are to be sought for
               execution.  A null word specifies the current
               directory.  If there is no path variable then only
               full pathnames will execute.  The usual search
               path is ., /bin, and /usr/bin, but this may vary
               from system to system.  For the superuser, the
               default search path is /etc, /bin, and /usr/bin. A
               shell which is given neither the -c nor the -t
               option will normally hash the contents of the
               directories in the path variable after reading
               .cshrc, and each time the path variable is reset.
               If new commands are added to these directories
               while the shell is active, it may be necessary to
               give the rehash or the commands may not be found.

     prompt    The string which is printed before each command is
               read from an interactive terminal input.  If a !
               appears in the string it will be replaced by the
               current event number unless a preceding \ is
               given.  Default is % , or # , for the superuser.

     savehist  is given a numeric value to control the number of
               entries of the history list that are saved in
               ~/.history when the user logs out.  Any command
               which has been referenced in this many events will



Printed 4/6/89                                                  4





SET(1CSH)               COMMAND REFERENCE               SET(1CSH)



               be saved.  During start up, the shell sources
               ~/.history into the history list enabling history
               to be saved across logins.  Too large values of
               savehist will slow down the shell during start up.

     shell     The file in which the shell resides.

     status    The status returned by the last command.  If it
               terminated abnormally, then 0200 is added to the
               status.  Built-in commands which fail return exit
               status 1, all other built-in commands set status
               0.

     time      Controls automatic timing of commands and time
               summary format.  If the first value in the vector
               is set, then any command which takes more than
               this many CPU seconds will cause a time and
               resource usage summary to be printed when it
               terminates.  If the second  value in the vector is
               set, that value controls the summary format.  See
               time(1csh) for the summary format values and the
               default format.

     vbell     If set to nothing, command completion errors will
               be signaled by the visible bell (:vb:) sequence
               from the termcap entry (see termcap(5t)) instead
               of the terminal bell.  If set to anything else,
               the value of the variable is printed.

     verbose   Set by the -v command line option, causes the
               words of each command to be printed after history
               substitution.

EXAMPLES
     The following command line sets the value of the variable
     `Here' to the current working directory, the vector `files'
     to the names of the files in the current directory which
     begin with the letter `t', and the fourth element of the
     variable `junk' to the word ``foo''.  If `junk' does not
     already exist and have at least four elements, an error
     message will result.

          set Here="`pwd`" files=( t* ) junk[4]=foo

     This example unsets the values of all single-letter
     variables.

          unset ?

DIAGNOSTICS
     name: undefined variable.
        An element of the variable name was assigned to, but the



Printed 4/6/89                                                  5





SET(1CSH)               COMMAND REFERENCE               SET(1CSH)



        name has never been assigned.

     set: subscript out of range.
        An element of a variable was assigned to, but that
        element does not exist.

CAVEATS
     The value of the variable cwd is not always correct,
     especially when symbolic links are followed.  If this
     variable is required to be correct, the variable hardpaths
     should be set.

     When command completion or file listing are turned on,
     terminal echo mode will always be turned on and the terminal
     will always be set to cooked input mode.  This is done to
     ensure that command completion and file listing behave
     properly.  If you need to change these terminal
     characteristics, you must turn off command completion and
     file listing.

SEE ALSO
     @(1csh), alias(1csh), bg(1csh), break(1csh), cd(1csh),
     chdir(1csh), continue(1csh), csh(1csh), dirs(1csh),
     echo(1csh), eval(1csh), exec(1csh), exit(1csh), fg(1csh),
     glob(1csh), goto(1csh), hashstat(1csh), history(1csh),
     jobs(1csh), kill(1csh), limit(1csh), logout(1csh),
     nice(1csh), nohup(1csh), notify(1csh), onintr(1csh),
     popd(1csh), pushd(1csh), rehash(1csh), repeat(1csh),
     set(1sh), setenv(1csh), sh(1sh), shift(1csh), source(1csh),
     stop(1csh), suspend(1csh), time(1csh), umask(1csh),
     unhash(1csh), unalias(1csh), unlimit(1csh), unset(1sh),
     unsetenv(1csh), wait(1csh), and which(1csh).























Printed 4/6/89                                                  6



%%index%%
na:288,139;
sy:427,250;
de:677,2443;3480,2909;6749,3244;10353,3443;14156,1988;
ex:16144,637;
di:16781,234;17375,165;
ca:17540,689;
se:18229,1548;
%%index%%000000000179

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026