Many of the special C shell variables are simply used as flags; that is, they
need not be set to any particular value. The shell simply tests
whether they exist or not. They are set simply by saying:
-
The
cdpath
(
14.5
)
variable stores a list of directories.
You can
cd
to subdirectories of these by typing just the subdirectory
name.
-
If the
echo
(
8.17
)
variable is set, the shell will show the command
line, after all variable and
history (
11.7
)
substitutions, before executing
it. (This is very handy for debugging scripts such as
.cshrc
.)
If the
verbose
(
8.17
)
variable is set, the shell will show the command
line after history substitution but before any other substitutions.
The Bourne shell
-v
and
-x
options (
46.1
)
work like the
verbose
and
echo
variables.
-
If the
filec
or
complete
variable is set, the shell performs
filename completion (
9.8
)
.
The
fignore
(
9.9
)
variable makes filename completion skip filenames that end
with certain characters like
.o
.
-
The
cwd
(
14.13
)
variable shows the absolute pathname of the current directory.
The
cd
,
pushd
, and
popd
commands set it.
-
The
hardpaths
(
14.13
)
variable fixes errors in the
cwd
variable that occur when
you
cd
through symbolic links.
-
Use the
histchars
(
11.15
)
variable to set different history characters than
exclamation point (
!
) and caret (
^
).
-
The
history
(
11.1
)
variable stores the number of shell command lines to save.
The
savehist
(
11.11
)
variable stores the number of lines of shell history
to be saved when you log out. This amount of history is saved in
a file called
.history
in your home directory, and
the lines are restored the next time you log in.
-
If you set
ignoreeof
(
3.5
)
,
the shell won't respond to the end-of-file character (CTRL-d) and will
require you to type
logout
or
exit
(
38.4
)
to log out.
This can
save you from ending the shell accidentally (or logging out).
-
The shell can tell you about new
electronic mail (
1.33
)
or changes in other files with the
mail
(
21.8
)
variable.
-
Stop the
>
redirection character from overwriting files with
noclobber
(
13.6
)
.
-
The
noglob
variable stops
wildcard expansion (
15.1
)
.
(There's an example in article
5.4
.)
-
Set
nonomatch
when you want the C shell to
treat nonmatching wildcards
like the Bourne shell does . (
15.4
)
-
The
notify
(
12.6
)
variable asks the shell to tell you right away if a
background job finishes or is stopped.
-
The list of directories that the shell searches for commands is stored in
path
(
6.5
)
.
-
Your login name from the
USER
or
LOGNAME
(
6.3
)
environment variable is also stored
in the C shell variable named
user
.
-
The shell's command-line prompt is set by the
prompt
(
7.2
)
variable.
(The
PS1
(
6.3
)
environment variable is the Bourne shell equivalent.
You can set the Bourne shell's
secondary prompt (
9.13
)
,
too, in
PS2
.)
-
The
exit status (
44.7
)
of the last command is stored in the
csh
variable named
status
and the
sh
?
(question mark) variable.
-
If a job takes more CPU seconds than the number set in the
time
(
39.3
)
variable,
the
csh
will print a line of statistics about the job.