Lines Matching +full:a +full:- +full:8

19 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31 .\" - Tags in lists are bold, except in the FILES section where they are
34 .\" - References are bold for section headings and environment and shell
38 .\" - Be careful with the .B and .I macros: they handle only a limited number
42 .\" - Indent in multiples of 4, usually 8.
44 .\" - Use `', not '' or "", except of course in shell syntax examples.
45 .\" '' at the beginning of a line will vanish!
47 .\" - Use \` for literal back-quote (`).
49 .\" - Use \e for literal backslash (\).
51 .\" - Use \-, not -.
53 .\" - Include the tilde when naming dot files. `~/.login', not `.login'.
55 .\" - Refer to external commands in man page format, e.g., `csh(1)'. However,
59 .\" - Say `the shell', not `tcsh', unless distinguishing between tcsh and csh.
61 .\" - Say `shell variable'/`environment variable' instead of `variable'
65 .\" - Use the simple present tense. `The shell uses', not `The shell will use'.
67 .\" - IMPORTANT: Cross-reference as much as possible. Commands, variables,
69 .\" descriptive section, or at least in the reference-section description
70 .\" of another command (or whatever) which is mentioned in a description
71 .\" section. Remember to note OS-specific things in "OS variant support",
75 .\" - tcsh.man2html depends heavily on the specific nroff commands used in the
82 tcsh \- C shell with file name completion and command line editing
84 .B tcsh \fR[\fB\-bcdefFimnqstvVxX\fR] [\fB\-Dname\fR[\fB=value\fR]] [arg ...]
86 .B tcsh \-l
90 It is a command language interpreter usable both as an interactive login
91 shell and a shell script command processor.
92 It includes a command-line editor (see \fBThe command-line editor\fR),
95 a history mechanism (see \fBHistory substitution\fR),
97 and a C-like syntax.
106 If the first argument (argument 0) to the shell is `\-' then it is a
107 login shell. A login shell can be also specified by invoking the shell with
108 the \fB\-l\fR flag as the only argument.
112 .B \-b
113 Forces a ``break'' from option processing, causing any
114 further shell arguments to be treated as non-option arguments. The remaining
116 options to a shell script without confusion or possible subterfuge. The shell
117 will not run a set-user ID script without this option.
119 .B \-c
121 must be a single argument),
125 .B \-d
127 \fBStartup and shutdown\fR, whether or not it is a login shell. (+)
129 .B \-D\fIname\fR[=\fIvalue\fR]
132 .B \-e
134 yields a non-zero exit status.
136 .B \-f
140 .B \-F
143 .B \-i
144 The shell is interactive and prompts for its top-level input, even if
145 it appears to not be a terminal. Shells are interactive without this option if
148 .B \-l
149 The shell is a login shell. Applicable only if \fB\-l\fR is the only
152 .B \-m
154 user. Newer versions of \fIsu\fR(1) can pass \fB\-m\fR to the shell. (+)
156 .B \-n
160 .B \-q
162 it is used under a debugger. Job control is disabled. (u)
164 .B \-s
167 .B \-t
168 The shell reads and executes a single line of input. A `\e' may be used to
171 .B \-v
175 .B \-x
179 .B \-V
182 .B \-X
183 Is to \fB\-x\fR as \fB\-V\fR is to \fB\-v\fR.
185 .B \-\-help
186 Print a help message on the standard output and exit. (+)
188 .B \-\-version
193 \fB\-c\fR, \fB\-i\fR, \fB\-s\fR, or \fB\-t\fR options were given, the first
194 argument is taken as the name of a file of commands, or ``script'', to
198 with this shell, the shell uses such a `standard' shell to execute a script
199 whose first character is not a `#', i.e., that does not start with a
204 A login shell begins by executing commands from the system files
217 Non-login shells read only \fI/etc/csh.cshrc\fR and \fI~/.tcshrc\fR
226 \fItcsh\fR can have only a \fI~/.cshrc\fR which checks for the existence of the
227 \fBtcsh\fR shell variable (q.v.) before using \fItcsh\fR-specific commands,
228 or can have both a \fI~/.cshrc\fR and a \fI~/.tcshrc\fR which \fIsource\fRs
236 The shell repeatedly reads a line of command input, breaks it into words,
242 When a login shell terminates it sets the \fBlogout\fR shell variable to
251 We first describe \fBThe command-line editor\fR.
257 .SS "The command-line editor (+)"
258 Command-line input can be edited using key sequences much like those used in
263 \fIemacs\fR(1)\-style key bindings are used by default
265 but \fIbindkey\fR can change the key bindings to \fIvi\fR(1)\-style bindings en masse.
272 .TP 8
274 \fIdown-history\fR
275 .TP 8
277 \fIup-history\fR
278 .TP 8
280 \fIbackward-char\fR
281 .TP 8
283 \fIforward-char\fR
287 unless doing so would alter another single-character binding.
295 commands with a short description of each.
299 Note that editor commands do not have the same notion of a ``word'' as does the
300 shell. The editor delimits words with any non-alphanumeric characters not in
305 The shell is often able to complete words when given a unique abbreviation.
306 Type part of a word (for example `ls /usr/lost') and hit the tab key to
307 run the \fIcomplete-word\fR editor command.
310 (Note the terminal `/'; completion adds a `/' to the
311 end of completed directories and a space to the end of other completed words,
312 to speed typing and provide a visual indicator of successful completion.
316 If the word is already complete (perhaps there is a `/usr/lost' on your
318 a `/' or space is added to the end if it isn't already there.
321 text pushes the rest of the line to the right. Completion in the middle of a word
328 Completion can find a command in any directory in \fBpath\fR or if
329 given a full pathname.
334 complete should be completed as a filename, command or variable.
336 `;', `|', `|&', `&&' or `||' is considered to be a command.
337 A word beginning with `$' is considered to be a variable.
338 Anything else is a filename. An empty line is `completed' as a filename.
340 You can list the possible completions of a word at any time by typing `^D'
341 to run the \fIdelete-char-or-list-or-eof\fR editor command.
342 The shell lists the possible completions using the \fIls\-F\fR builtin (q.v.)
358 libtermcap.a@ libtermlib.a@
365 A filename to be completed can contain variables, your own or others' home
391 \fIexpand-variables\fR editor command.
393 \fIdelete-char-or-list-or-eof\fR lists at only the end of the line;
394 in the middle of a line it deletes the character under the cursor and
396 `M-^D', bound to the editor command \fIlist-choices\fR, lists completion
397 possibilities anywhere on a line, and \fIlist-choices\fR (or any one of the
399 listed under \fIdelete-char-or-list-or-eof\fR) can be bound to `^D' with
402 The \fIcomplete-word-fwd\fR and \fIcomplete-word-back\fR editor commands
407 The shell variable \fBfignore\fR can be set to a list of suffixes to be
430 Note that a `\e' was needed in front of `~' to prevent it from being
436 (`.', `\-' and `_') to be word separators and hyphens and underscores to
443 and typed `mail \-f c.l.c[tab]', it would be completed to
444 `mail \-f comp.lang.c', and ^D would list `comp.lang.c' and `comp.lang.c++'.
445 `mail \-f c..c++[^D]' would list `comp.lang.c++' and `comp.std.c++'. Typing
446 `rm a\-\-file[^D]' in the following directory
448 A_silly_file a-hyphenated-file another_silly_file
455 ignores case and differences between a hyphen and an underscore word
456 separator only when the user types a lowercase character or a hyphen.
459 Typing `rm a\-\-file[^D]' in the directory of the previous example would
460 still list all three files, but typing `rm A\-\-file' would match only
467 match, even if more typing might result in a longer match:
486 \fBautoexpand\fR can be set to run the \fIexpand-history\fR editor command
488 spelling-correct the word to be completed (see \fBSpelling correction\fR)
491 \fBmatchbeep\fR can be set to make completion beep or not beep in a variety
493 \fBnostat\fR can be set to a list of directories and/or patterns that
503 Completion and listing do not work on glob-patterns (see \fBFilename substitution\fR),
504 but the \fIlist-glob\fR and \fIexpand-glob\fR editor commands perform
505 equivalent functions for glob-patterns.
510 Individual words can be spelling-corrected with the \fIspell-word\fR
511 editor command (usually bound to M-s and M-S)
512 and the entire input buffer with \fIspell-line\fR (usually bound to M-$).
526 CORRECT>ls /usr/bin (y|n|e|a)?
533 Spelling correction recognizes user-defined completions (see the
534 \fIcomplete\fR builtin command). If an input word in a position for
535 which a completion is defined resembles a word in the completion list,
536 spelling correction registers a misspelling and suggests the latter
537 word as a correction. However, if the input word does not match any of
539 not register a misspelling.
545 `bindkey' lists key bindings and `bindkey \-l' lists and briefly describes
552 given in parentheses. `^\fIcharacter\fR' means a control character and
553 `M-\fIcharacter\fR' a meta character, typed as escape-\fIcharacter\fR
554 on terminals without a meta key. Case counts, but commands that are bound
555 to letters by default are bound to both lower- and uppercase letters for
557 .TP 8
558 .B backward-char \fR(^B, left)
559 Move back a character.
561 .TP 8
562 .B backward-delete-word \fR(M-^H, M-^?)
563 Cut from beginning of current word to cursor \- saved in cut buffer.
565 .TP 8
566 .B backward-word \fR(M-b, M-B)
569 .TP 8
570 .B beginning-of-line \fR(^A, home)
573 .TP 8
574 .B capitalize-word \fR(M-c, M-C)
577 .TP 8
578 .B complete-word \fR(tab)
579 Completes a word as described under \fBCompletion and listing\fR.
580 .TP 8
581 .B complete-word-back \fR(not bound)
582 Like \fIcomplete-word-fwd\fR, but steps up from the end of the list.
583 .TP 8
584 .B complete-word-fwd \fR(not bound)
588 .TP 8
589 .B complete-word-raw \fR(^X-tab)
590 Like \fIcomplete-word\fR, but ignores user-defined completions.
591 .TP 8
592 .B copy-prev-word \fR(M-^_)
594 See also \fIinsert-last-word\fR.
596 .TP 8
597 .B dabbrev-expand \fR(M-/)
599 the current is a leading substring, wrapping around the history list
601 Repeating \fIdabbrev-expand\fR without any intervening typing
603 much like \fIhistory-search-backward\fR does.
604 .TP 8
605 .B delete-char \fR(not bound)
607 See also \fIdelete-char-or-list-or-eof\fR.
609 .TP 8
610 .B delete-char-or-eof \fR(not bound)
611 Does \fIdelete-char\fR if there is a character under the cursor
612 or \fIend-of-file\fR on an empty line.
613 See also \fIdelete-char-or-list-or-eof\fR.
615 .TP 8
616 .B delete-char-or-list \fR(not bound)
617 Does \fIdelete-char\fR if there is a character under the cursor
618 or \fIlist-choices\fR at the end of the line.
619 See also \fIdelete-char-or-list-or-eof\fR.
620 .TP 8
621 .B delete-char-or-list-or-eof \fR(^D)
622 Does \fIdelete-char\fR if there is a character under the cursor,
623 \fIlist-choices\fR at the end of the line
624 or \fIend-of-file\fR on an empty line.
625 See also those three commands, each of which does only a single action, and
626 \fIdelete-char-or-eof\fR, \fIdelete-char-or-list\fR and \fIlist-or-eof\fR,
627 each of which does a different two out of the three.
628 .TP 8
629 .B delete-word \fR(M-d, M-D)
630 Cut from cursor to end of current word \- save in cut buffer.
632 .TP 8
633 .B down-history \fR(down-arrow, ^N)
634 Like \fIup-history\fR, but steps down, stopping at the original input line.
635 .TP 8
636 .B downcase-word \fR(M-l, M-L)
639 .TP 8
640 .B end-of-file \fR(not bound)
643 See also \fIdelete-char-or-list-or-eof\fR.
644 .TP 8
645 .B end-of-line \fR(^E, end)
648 .TP 8
649 .B expand-history \fR(M-space)
652 See also \fImagic-space\fR, \fItoggle-literal-history\fR and
654 .TP 8
655 .B expand-glob \fR(^X-*)
656 Expands the glob-pattern to the left of the cursor.
658 .TP 8
659 .B expand-line \fR(not bound)
660 Like \fIexpand-history\fR, but
662 .TP 8
663 .B expand-variables \fR(^X-$)
666 .TP 8
667 .B forward-char \fR(^F, right)
670 .TP 8
671 .B forward-word \fR(M-f, M-F)
674 .TP 8
675 .B history-search-backward \fR(M-p, M-P)
676 Searches backwards through the history list for a command beginning with
679 The search string may be a glob-pattern (see \fBFilename substitution\fR)
681 \fIup-history\fR and \fIdown-history\fR will proceed from the
684 See also \fIhistory-search-forward\fR and \fIi-search-back\fR.
685 .TP 8
686 .B history-search-forward \fR(M-n, M-N)
687 Like \fIhistory-search-backward\fR, but searches forward.
688 .TP 8
689 .B i-search-back \fR(not bound)
690 Searches backward like \fIhistory-search-backward\fR, copies the first match
693 typed to extend the search, \fIi-search-back\fR may be typed to continue
695 necessary, (\fIi-search-back\fR must be bound to a
699 .RS +8
702 .TP 8
705 .TP 8
706 delete (or any character bound to \fIbackward-delete-char\fR)
707 Undoes the effect of the last character typed and deletes a character
709 .TP 8
713 .TP 8
719 Any other character not bound to \fIself-insert-command\fR terminates the
721 is then interpreted as normal input. In particular, a carriage return
723 See also \fIi-search-fwd\fR and \fIhistory-search-backward\fR.
726 .TP 8
727 .B i-search-fwd \fR(not bound)
728 Like \fIi-search-back\fR, but searches forward.
730 .TP 8
731 .B insert-last-word \fR(M-_)
733 See also \fIcopy-prev-word\fR.
734 .TP 8
735 .B list-choices \fR(M-^D)
737 See also \fIdelete-char-or-list-or-eof\fR and \fIlist-choices-raw\fR.
738 .TP 8
739 .B list-choices-raw \fR(^X-^D)
740 Like \fIlist-choices\fR, but ignores user-defined completions.
741 .TP 8
742 .B list-glob \fR(^X-g, ^X-G)
743 Lists (via the \fIls\-F\fR builtin) matches to the glob-pattern
745 .TP 8
746 .B list-or-eof \fR(not bound)
747 Does \fIlist-choices\fR
748 or \fIend-of-file\fR on an empty line.
749 See also \fIdelete-char-or-list-or-eof\fR.
750 .TP 8
751 .B magic-space \fR(not bound)
753 like \fIexpand-history\fR, and inserts a space.
754 \fImagic-space\fR is designed to be bound to the space bar,
756 .TP 8
757 .B normalize-command \fR(^X-?)
761 useful with commands that take commands as arguments, e.g., `dbx' and `sh \-x'.
762 .TP 8
763 .B normalize-path \fR(^X-n, ^X-N)
766 .TP 8
767 .B overwrite-mode \fR(unbound)
769 .TP 8
770 .B run-fg-editor \fR(M-^Z)
772 looks for a stopped job where the file name portion of its first word
779 If such a job is found, it is restarted as if `fg %\fIjob\fR' had been
784 .B run-help \fR(M-h, M-H)
787 to use a pager; \fIrun-help\fR is designed for short help files.
789 command name as a sole argument. Else,
790 documentation should be in a file named \fIcommand\fR.help, \fIcommand\fR.1,
791 \fIcommand\fR.6, \fIcommand\fR.8 or \fIcommand\fR, which should be in one
794 .TP 8
795 .B self-insert-command \fR(text characters)
801 See also \fIoverwrite-mode\fR.
802 .TP 8
803 .B sequence-lead-in \fR(arrow prefix, meta prefix, ^X)
804 Indicates that the following characters are part of a
805 multi-key sequence. Binding a command to a multi-key sequence really creates
806 two bindings: the first character to \fIsequence-lead-in\fR and the
807 whole sequence to the command. All sequences beginning with a character
808 bound to \fIsequence-lead-in\fR are effectively bound to \fIundefined-key\fR
810 .TP 8
811 .B spell-line \fR(M-$)
813 \fIspell-word\fR, but ignores words whose first character is one of
814 `\-', `!', `^' or `%', or which contain `\e', `*' or `?', to avoid problems
817 .TP 8
818 .B spell-word \fR(M-s, M-S)
821 Checks each component of a word which appears to be a pathname.
822 .TP 8
823 .B toggle-literal-history \fR(M-r, M-R)
825 See also \fIexpand-history\fR and the \fBautoexpand\fR shell variable.
826 .TP 8
827 .B undefined-key \fR(any unbound key)
829 .TP 8
830 .B up-history \fR(up-arrow, ^P)
834 .TP 8
835 .B upcase-word \fR(M-u, M-U)
838 .TP 8
839 .B vi-beginning-of-next-word \fR(not bound)
842 .TP 8
843 .B vi-eword \fR(not bound)
846 .TP 8
847 .B vi-search-back \fR(?)
848 Prompts with `?' for a search string (which may be a glob-pattern, as with
849 \fIhistory-search-backward\fR), searches for it and copies it into the
855 .TP 8
856 .B vi-search-fwd \fR(/)
857 Like \fIvi-search-back\fR, but searches forward.
858 .TP 8
859 .B which-command \fR(M-?)
860 Does a \fIwhich\fR (see the description of the builtin command) on the
862 .TP 8
863 .B yank-pop \fR(M-y)
864 When executed immediately after a \fIyank\fR or another \fIyank-pop\fR,
867 this string will be considered the most recently killed by a later
868 \fIyank\fR command. Repeating \fIyank-pop\fR will cycle through the
876 When the shell's input is not a terminal, the character `#' is taken to begin a
880 A special character (including a blank or tab) may be prevented from having
882 with a backslash (`\e') or enclosing it in single (`''), double (`"') or
883 backward (`\`') quotes. When not otherwise quoted a newline preceded by a `\e'
884 is equivalent to a blank, but inside quotes this sequence results in a
892 character of a word for which an \fIalias\fR has been defined prevents
894 with a backslash.) \fBHistory substitution\fR is prevented by
899 Text inside single or double quotes becomes a single word (or part of one).
902 below) can a double-quoted string yield parts of more than one word;
903 single-quoted strings never do. Backward quotes are special: they signal
923 variable can be set to a number to save that many commands. The \fBhistdup\fR
939 The \fIhistory\fR builtin command can print, store in a file, restore
945 stream, making it easy to repeat commands, repeat arguments of a previous
947 command with little typing and a high degree of confidence.
950 the input stream, but they do not nest. The `!' may be preceded by a `\e' to
951 prevent its special meaning; for convenience, a `!' is passed unchanged when it
952 is followed by a blank, tab, newline, `=' or `('. History substitutions also
956 line which contains a history substitution is printed before it is executed.
958 A history substitution may have an ``event specification'', which indicates
959 the event from which words are to be taken, a ``word designator'',
960 which selects particular words from the chosen event, and/or a ``modifier'',
967 .TP 8
969 A number, referring to a particular event
970 .TP 8
971 \-\fIn\fR
973 .TP 8
978 .TP 8
980 The previous event (equivalent to `\-1')
981 .TP 8
984 .TP 8
987 The second `?' can be omitted if it is immediately followed by a newline.
993 \ 9 8:30 nroff \-man wumpus.man
995 10 8:31 cp wumpus.man wumpus.man.old
997 11 8:36 vi wumpus.man
999 12 8:37 diff wumpus.man.old wumpus.man
1003 `!11' and `!\-2' refer to event 11.
1013 necessary. For example, `!vdoc' would look for a command beginning with
1024 To select words from an event we can follow the event specification by a `:'
1025 and a designator for the desired words. The words of an input line are
1031 .TP 8
1034 .TP 8
1037 .TP 8
1040 .TP 8
1043 .TP 8
1046 .TP 8
1047 .I x\-y
1048 A range of words
1049 .TP 8
1050 .I \-y
1051 Equivalent to \fI`0\-y'\fR
1052 .TP 8
1054 Equivalent to `^\-$', but returns nothing if the event contains only 1 word
1055 .TP 8
1057 Equivalent to \fI`x\-$'\fR
1058 .TP 8
1059 .I x\-
1067 from the previous event) or `diff !\-2:2 !\-2:1' to select and swap the
1069 `diff' we might have said `diff !\-2:1\-2' or simply `diff !\-2:*'.
1072 `!n:\- hurkle.man' would reuse the first two words from the `nroff' command
1073 to say `nroff \-man hurkle.man'.
1076 omitted if the argument selector begins with a `^', `$', `*', `%' or `\-'.
1079 an argument selector beginning with `\-' will be interpreted as an event
1082 A history reference may have a word designator but no event specification.
1087 The word or words in a history reference can be edited, or ``modified'',
1088 by following it with one or more modifiers, each preceded by a `:':
1092 .TP 8
1094 Remove a trailing pathname component, leaving the head.
1095 .TP 8
1098 .TP 8
1100 Remove a filename extension `.xxx', leaving the root name.
1101 .TP 8
1104 .TP 8
1107 .TP 8
1110 .TP 8
1113 \fIl\fR is simply a string like \fIr\fR, not a regular expression as in
1116 a `\e' can be used to quote the delimiter inside \fIl\fR and \fIr\fR.
1118 If \fIl\fR is empty (``''), the \fIl\fR from a previous substitution or the
1119 \fIs\fR from a previous search or event number in event specification is used.
1120 The trailing delimiter may be omitted if it is immediately followed by a newline.
1121 .TP 8
1124 .TP 8
1127 .TP 8
1128 a (+)
1129 Apply the following modifier as many times as possible to a single word.
1130 `a' and `g' can be used together to apply a modifier globally.
1133 .TP 8
1136 .TP 8
1139 .TP 8
1142 but in addition preserve empty variables as a string containing a NUL.
1147 > tcsh -f -c 'echo ${#argv}' $args:gQ
1151 .TP 8
1164 We might follow `mail \-s "I forgot my password" rot' with `!:s/rot/root' to
1165 correct the spelling of `root' (but see \fBSpelling correction\fR for a
1168 There is a special abbreviation for substitutions.
1183 In \fIcsh\fR, the result would be `wumpus.1:r'. A substitution followed by a
1186 > mv a.out /usr/games/wumpus
1192 > setenv PATH !{\-2$:h}:$PATH
1202 The \fIup-\fR and \fIdown-history\fR, \fIhistory-search-backward\fR and
1203 \fI-forward\fR, \fIi-search-back\fR and \fI-fwd\fR,
1204 \fIvi-search-back\fR and \fI-fwd\fR, \fIcopy-prev-word\fR
1205 and \fIinsert-last-word\fR editor commands search for
1207 The \fItoggle-literal-history\fR editor command switches between the
1209 \fIexpand-history\fR and \fIexpand-line\fR expand history substitutions
1212 The shell maintains a list of aliases which can be set, unset and printed by
1213 the \fIalias\fR and \fIunalias\fR commands. After a command line is parsed
1215 left-to-right, is checked to see if it has an alias. If so, the first word is
1216 replaced by the alias. If the alias contains a history reference, it undergoes
1218 previous input line. If the alias does not contain a history reference, the
1221 Thus if the alias for `ls' were `ls \-l' the command `ls /usr' would become `ls
1222 \-l /usr', the argument list here being undisturbed. If the alias for `lookup'
1225 example, `alias print 'pr \e!* | lpr'' defines a ``command'' (`print') which
1230 previous example) it is flagged to prevent a loop. Other loops are detected and
1235 The shell maintains a list of variables, each of which has as value a list of
1243 (+) Variables may be made read-only with `set \-r' (q.v.).
1244 Read-only variables may not be modified or unset;
1246 Once made read-only, a variable cannot be made writable,
1247 so `set \-r' should be used with caution.
1248 Environment variables cannot be made read-only.
1255 For instance, the \fBverbose\fR variable is a toggle which causes command
1256 input to be echoed. The \fB\-v\fR command line option sets this variable.
1260 calculations to be performed and the result assigned to a variable. Variable
1263 the second and subsequent words of multi-word values are ignored.
1267 expansion can be prevented by preceding the `$' with a `\e' except within `"'s
1271 if at all. A `$' is passed unchanged if followed by a blank, tab, or
1272 end-of-line.
1281 substitution may eventually be command and filename substituted. Within `"', a
1282 variable whose value consists of multiple words expands to a (portion of a)
1284 the `:q' modifier is applied to a substitution the variable will expand to
1285 multiple words with each word separated by a blank and quoted to prevent later
1289 the shell input. Except as noted, it is an error to reference a variable which
1294 .TP 8
1297 by a blank. Braces insulate \fIname\fR from following characters which would
1299 letters and digits starting with a letter. The underscore character is
1300 considered a letter. If \fIname\fR is not a shell variable, but is set in the
1305 .TP 8
1309 a single number or two numbers separated by a `\-'.
1310 The first word of a variable's value is numbered `1'.
1311 If the first number of a range is omitted it defaults to `1'.
1312 If the last member of a range is omitted it defaults to `$#\fIname\fR'.
1314 It is not an error for a range to be empty if the
1316 .TP 8
1322 .TP 8
1325 .TP 8
1332 Braces may be needed to insulate a variable substitution from a literal colon
1340 .TP 8
1343 .TP 8
1349 .TP 8
1352 .TP 8
1357 .TP 8
1362 .TP 8
1365 .TP 8
1368 .TP 8
1371 .TP 8
1375 .TP 8
1378 .TP 8
1380 Substitutes a line from the standard input, with no further interpretation
1381 thereafter. It can be used to read from the keyboard in a shell script.
1383 \fItcsh\fR does not. Furthermore, when \fItcsh\fR is waiting for a line to be
1388 The editor command \fIexpand-variables\fR, normally bound to `^X-$',
1395 occurs very late, after input-output redirection is performed, and in a child
1398 Command substitution is indicated by a command enclosed in `\`'. The output
1399 from such a command is broken into separate words at blanks, tabs and newlines,
1405 final newline does not force a new word in any case. It is thus possible for a
1406 command substitution to yield only part of a word, even if the command outputs
1407 a complete line.
1413 If a word contains any of the characters `*', `?', `[' or `{' or begins with
1414 the character `~' it is a candidate for filename substitution, also known as
1415 ``globbing''. This word is then regarded as a pattern (``glob-pattern''), and
1419 In matching filenames, the character `.' at the beginning of a filename or
1420 immediately following a `/', as well as the character `/' must be matched
1428 Within `[...]', a pair of
1429 characters separated by `\-' matches any character lexically between the two.
1431 (+) Some glob-patterns can be negated:
1435 An entire glob-pattern can also be negated with `^':
1445 Glob-patterns which do not use `?', `*', or `[]' or which use `{}' or `~'
1448 The metanotation `a{b,c,d}e' is a shorthand for `abe ace ade'.
1449 Left-to-right order is preserved: `/usr/source/s1/{oldls,ls}.c' expands
1451 sorted separately at a low level to preserve this order:
1455 but it is possible to get an error from a command to which the expanded list
1458 As a special case the words `{', `}' and `{}' are passed undisturbed.
1460 The character `~' at the beginning of a filename refers to home directories.
1462 reflected in the value of the \fBhome\fR shell variable. When followed by a
1463 name consisting of letters, digits and `\-' characters the shell searches for a
1466 `~' is followed by a character other than a letter or `/' or appears elsewhere
1467 than at the beginning of a word, it is left undisturbed.
1468 A command like `setenv MANPATH /usr/man:/usr/local/man:~/lib/man' does not,
1471 It is an error for a glob-pattern containing `*', `?', `[' or `~', with or
1472 without `^', not to match any files. However, only one pattern in a list of
1473 glob-patterns must match a file (so that, e.g., `rm *.a *.c *.o' would fail
1474 only if there were no files in the current directory ending in `.a', `.c', or
1475 `.o'), and if the \fBnonomatch\fR shell variable is set a pattern (or list
1480 a file glob pattern that matches any string of characters including `/',
1481 recursively traversing any existing sub-directories. For example,
1483 If used by itself, it will match zero or more sub-directories
1488 in a subdirectory name or in the filename itself).
1489 To prevent problems with recursion, the `**' glob-pattern will not
1490 descend into a symbolic link containing a directory. To override this,
1494 and the \fIexpand-glob\fR editor command, normally bound to `^X-*', can be
1497 The directory stack is a list of directories, numbered from zero, used by the
1499 \fIdirs\fR can print, store in a file, restore and clear the directory stack
1506 the directory stack. The special case `=\-' expands to the last directory in
1509 > dirs \-v
1525 > echo =\-
1529 The \fBnoglob\fR and \fBnonomatch\fR shell variables and the \fIexpand-glob\fR
1534 \fIAny\fR filename may be expanded to a full path when the
1537 the \fInormalize-path\fR editor command does it on demand.
1538 The \fInormalize-command\fR editor command expands commands in PATH into
1540 Finally, \fIcd\fR and \fIpushd\fR interpret `\-' as the old working directory
1542 This is not a substitution at all, but an abbreviation recognized by only
1548 A simple command is a sequence of words, the first of which specifies the
1549 command to be executed. A series of simple commands joined by `|' characters
1550 forms a pipeline. The output of each command in a pipeline is connected to the
1558 A simple command, pipeline or sequence may be placed in parentheses, `()',
1559 to form a simple command, which may in turn be a component of a pipeline or
1560 sequence. A command, pipeline or sequence can be executed
1562 .SS "Builtin and non-builtin command execution"
1563 Builtin commands are executed within the shell. If any component of a
1564 pipeline except the last is a builtin command, the pipeline is executed
1565 in a subshell.
1567 Parenthesized commands are always executed in a subshell.
1579 When a command to be executed is found not to be a builtin command the shell
1581 \fBpath\fR names a directory in which the shell will look for the
1582 command. If the shell is not given a \fB\-f\fR option, the shell
1584 try an \fIexecve\fR(2) in only a directory where there is a possibility that the
1585 command resides there. This greatly speeds command location when a large
1593 If the shell was given a \fB\-f\fR argument.
1596 For each directory component of \fBpath\fR which does not begin with a `/'.
1599 If the command contains a `/'.
1602 vector with the given command name to form a path name of a file which it
1606 (i.e., it is neither an executable binary nor a script that specifies its
1607 interpreter), then it is assumed to be a file containing shell commands and
1608 a new shell is spawned to read it. The \fIshell\fR special alias may be set
1618 The standard input and standard output of a command may be redirected with the
1622 .TP 8
1626 .TP 8
1628 Read the shell input up to a line which is identical to \fIword\fR. \fIword\fR
1631 line. Unless a quoting `\e', `"', `' or `\`' appears in \fIword\fR variable and
1643 .TP 8
1648 .RS +8
1651 If the shell variable \fBnoclobber\fR is set, then the file must not exist or be a
1652 character special file (e.g., a terminal or `/dev/null') or an error results.
1670 .TP 8
1677 A command receives the environment in which the shell was invoked as modified
1678 by the input-output parameters and the presence of the command in a pipeline.
1679 Thus, unlike some previous shells, commands run from a file of shell commands
1684 that the default standard input for a command run detached is \fInot\fR
1686 If this is a terminal and if the process attempts to read from the terminal,
1689 Diagnostic output may be directed through a pipe with the standard output.
1693 standard output, but `(\fIcommand\fR > \fIoutput-file\fR) >& \fIerror-file\fR'
1694 is often an acceptable workaround. Either \fIoutput-file\fR or
1695 \fIerror-file\fR may be `/dev/tty' to send output to the terminal.
1698 command lines, we now turn to a variety of its useful features.
1700 The shell contains a number of commands which can be used to regulate the
1707 \fIif-then-else\fR form of the \fIif\fR statement, require that the major
1708 keywords appear in a single simple command on an input line as shown below.
1711 a loop is being read and performs seeks in this internal buffer to
1713 allows, backward \fIgoto\fRs will succeed on non-seekable inputs.)
1716 use expressions with a common syntax. The expressions can include any
1725 < > << >> + \- * / % ! ~ ( )
1728 `>=' `<' and `>', `<<' and `>>', `+' and `\-', `*' `/' and `%' being, in
1731 `=~' and `!~' are like `!=' and `==' except that the right hand side is a
1732 glob-pattern (see \fBFilename substitution\fR) against which the left hand
1754 objects. They are of the form \fB\-\fIop file\fR, where \fIop\fR is one of
1769 Executable in the path or shell builtin, e.g., `\-X ls' and `\-X ls\-F' are
1770 generally true, but `\-X /bin/ls' is not (+)
1782 Non-zero size (+)
1806 Set-user-ID bit is set (+)
1809 Set-group-ID bit is set (+)
1815 \fIfile\fR (which must be a digit) is an open file descriptor
1816 for a terminal device (+)
1822 Applies subsequent operators in a multiple-operator test to a symbolic link
1833 These operators may be combined for conciseness: `\-\fIxy file\fR' is
1834 equivalent to `\-\fIx file\fR && \-\fIy file\fR'. (+) For example, `\-fx' is true
1837 \fBL\fR may be used in a multiple-operator test to apply subsequent operators
1838 to a symbolic link rather than to the file to which the link points.
1839 For example, `\-lLo' is true for links owned by the invoking user.
1841 non-links. \fBL\fR has a different meaning when it is the last operator
1842 in a multiple-operator test; see below.
1845 which expect \fIfile\fR to be a file with operators which do not
1846 (e.g., \fBX\fR and \fBt\fR). Following \fBL\fR with a non-file operator
1854 .TP 8
1855 .B A
1857 .TP 8
1858 .B A:
1859 Like \fBA\fR, but in timestamp format, e.g., `Fri May 14 16:36:10 1993'
1860 .TP 8
1863 .TP 8
1866 .TP 8
1869 .TP 8
1872 .TP 8
1875 .TP 8
1878 .TP 8
1881 .TP 8
1883 The name of the file pointed to by a symbolic link
1884 .TP 8
1887 .TP 8
1890 .TP 8
1893 .TP 8
1895 Equivalent to `\-P \fIfile\fR & \fImode\fR', e.g., `\-P22 \fIfile\fR' returns
1898 .TP 8
1901 .TP 8
1904 .TP 8
1907 .TP 8
1910 .TP 8
1913 .TP 8
1919 Only one of these operators may appear in a multiple-operator test, and it
1920 must be the last. Note that \fBL\fR has a different meaning at the end of and
1921 elsewhere in a multiple-operator test. Because `0' is a valid return value
1923 return `\-1', and \fBF\fR returns `:'.
1926 variable), the result of a file inquiry is based on the permission bits of
1928 For example, if one tests a file with \fB\-w\fR whose permissions would
1929 ordinarily allow writing but which is on a file system mounted read-only,
1930 the test will succeed in a POSIX shell but fail in a non-POSIX shell.
1935 The shell associates a \fIjob\fR with each pipeline. It keeps a table of
1937 numbers. When a job is started asynchronously with `&', the shell prints a
1943 had one (top-level) process, whose process id was 1234.
1945 If you are running a job and wish to do something else you may hit the suspend
1947 which sends a STOP signal to the current job. The shell will then normally
1951 be in long format, like `jobs \-l'.
1956 (See also the \fIrun-fg-editor\fR editor command.)
1957 A `^Z' takes effect immediately and is like an interrupt
1962 The `^]' key sends a delayed suspend signal, which does not generate a STOP
1963 signal until a program attempts to \fIread\fR(2) it, to the current job.
1964 This can usefully be typed ahead when you have prepared some commands for a
1969 A job being run in the background stops if it tries to read from the
1976 introduces a job name. If you wish to refer to job number 1, you can name it
1977 as `%1'. Just naming a job brings it to the foreground; thus `%1' is a synonym
1979 resumes job 1 in the background, just like `bg %1'. A job can also be named
1981 normally restart a suspended \fIex\fR(1) job, if there were only one suspended
1983 `%?\fIstring\fR' to specify a job whose text contains \fIstring\fR, if there
1986 The shell maintains a notion of the current and previous jobs. In output
1987 pertaining to jobs, the current job is marked with a `+' and the previous job
1988 with a `\-'. The abbreviations `%+', `%', and (by analogy with the syntax of
1989 the \fIhistory\fR mechanism) `%%' all refer to the current job, and `%\-' refers
1993 on some systems. It is an artifact from a `new' implementation of the tty
1998 The shell learns immediately whenever a process changes state. It normally
1999 informs you whenever a job becomes blocked so that no further progress is
2000 possible, but only right before it prints a prompt. This is done so that it
2003 background jobs. There is also a shell command \fInotify\fR which marks a
2006 starting a background job to mark it.
2011 will not warn you a second time, and the suspended jobs will be terminated.
2018 The \fIsched\fR builtin command puts commands in a scheduled-event list,
2019 to be executed by the shell at a given time.
2026 command gets executed, and when a job is started or is brought into the
2030 after a given number of minutes of inactivity.
2035 of commands which exit with a status other than zero.
2041 command after the completion of any process that takes more than a given
2053 In either case, 7-bit ASCII is the default character code
2056 causes a check for possible changes in these respects.
2060 (e.g., a 'en_CA.UTF-8' would yield "UTF-8" as a character code).
2064 ISO 8859-1 character set is used
2069 characters in the range \e200\-\e377, i.e., those that have
2070 M-\fIchar\fR bindings, are automatically rebound to \fIself-insert-command\fR.
2071 The corresponding binding for the escape-\fIchar\fR sequence, if any, is
2074 is set. This may be useful for the simulated NLS or a primitive real NLS
2075 which assumes full ISO 8859-1. Otherwise, all M-\fIchar\fR bindings in the
2076 range \e240\-\e377 are effectively undone.
2082 If the tty is not in 8 bit mode, other 8 bit characters are printed by
2084 never changes the 7/8 bit mode of the tty and tracks user-initiated
2085 changes of 7/8 bit mode. NLS users (or, for that matter, those who want to
2086 use a meta key) may need to explicitly set
2087 the tty in 8 bit mode through the appropriate \fIstty\fR(1)
2090 A number of new builtin commands are provided to support features in
2094 On systems that support TCF (aix-ibm370, aix-ps2),
2110 Under Harris CX/UX, \fIucb\fR or \fIatt\fR runs a command under the specified
2131 \fBecho_style\fR shell variables and the system-dependent locations of
2135 The shell ignores quit signals unless started with \fB\-q\fR.
2136 Login shells catch the terminate signal, but non-login shells inherit the
2144 The shell exits on a hangup (see also the \fBlogout\fR shell variable). By
2145 default, the shell's children do too, but the shell does not send them a
2146 hangup when it exits. \fIhup\fR arranges for the shell to send a hangup to
2147 a child when it exits, and \fInohup\fR sets a child to ignore hangups.
2153 the tty in a confused state do not interfere with the shell.
2158 it takes typed-ahead characters anyway.
2173 .TP 8
2175 A synonym for the \fIfg\fR builtin command.
2176 .TP 8
2178 A synonym for the \fIbg\fR builtin command.
2179 .TP 8
2189 .B @ \fIname\fB++\fR|\fB--
2191 .TP 8
2192 .B @ \fIname\fR[\fIindex\fR]\fB++\fR|\fB--
2195 .RS +8
2208 The fourth and fifth forms increment (`++') or decrement (`\-\-') \fIname\fR
2216 .TP 8
2225 .TP 8
2229 category. The categories start at size 8 and double at each step. This
2231 may use a different memory allocator.
2232 .TP 8
2236 \fIjob\fR may be a number, a string, `', `%', `+' or `\-' as described
2239 .B bindkey \fR[\fB\-l\fR|\fB\-d\fR|\fB\-e\fR|\fB\-v\fR|\fB\-u\fR] (+)
2241 \fBbindkey \fR[\fB\-a\fR] [\fB\-b\fR] [\fB\-k\fR] [\fB\-r\fR] [\fB\-\-\fR] \fIkey \fR(+)
2243 .TP 8
2244 \fBbindkey \fR[\fB\-a\fR] [\fB\-b\fR] [\fB\-k\fR] [\fB\-c\fR|\fB\-s\fR] [\fB\-\-\fR] \fIkey command…
2253 .RS +8
2255 .B \-l
2256 Lists all editor commands and a short description of each.
2258 .B \-d
2260 as per \fB-e\fR and \fB-v\fR below.
2262 .B \-e
2263 Binds all keys to \fIemacs\fR(1)\-style bindings.
2266 .B \-v
2267 Binds all keys to \fIvi\fR(1)\-style bindings.
2270 .B \-a
2271 Lists or changes key-bindings in the alternative key map.
2274 .B \-b
2276 a control character written ^\fIcharacter\fR (e.g., `^A') or
2277 C-\fIcharacter\fR (e.g., `C-A'),
2278 a meta character written M-\fIcharacter\fR (e.g., `M-A'),
2279 a function key written F-\fIstring\fR (e.g., `F-string'),
2280 or an extended prefix key written X-\fIcharacter\fR (e.g., `X-A').
2282 .B \-k
2283 \fIkey\fR is interpreted as a symbolic arrow key name, which may be one of
2286 .B \-r
2288 Be careful: `bindkey \-r' does \fInot\fR bind \fIkey\fR to
2289 \fIself-insert-command\fR (q.v.), it unbinds \fIkey\fR completely.
2291 .B \-c
2292 \fIcommand\fR is interpreted as a builtin or external command instead of an
2295 .B \-s
2296 \fIcommand\fR is taken as a literal string and treated as terminal input
2300 .B \-\-
2301 Forces a break from option processing, so the next word is taken as \fIkey\fR
2302 even if it begins with '\-'.
2304 .B \-u \fR(or any invalid option)
2305 Prints a usage message.
2308 \fIkey\fR may be a single character or a string.
2309 If a command is bound to a string, the first character of the string is bound to
2310 \fIsequence-lead-in\fR and the entire string is bound to the command.
2313 them with the editor command \fIquoted-insert\fR, normally bound to `^V') or
2314 written caret-character style, e.g., `^A'. Delete is written `^?'
2315 (caret-question mark). \fIkey\fR and \fIcommand\fR can contain backslashed
2318 .TP 8
2322 .TP 8
2325 .TP 8
2328 .TP 8
2331 .TP 8
2334 .TP 8
2337 .TP 8
2340 .TP 8
2343 .TP 8
2352 .TP 8
2353 .B bs2cmd \fIbs2000-command\fR (+)
2354 Passes \fIbs2000-command\fR to the BS2000 command interpreter for
2355 execution. Only non-interactive commands can be executed, and it is
2357 of the current process, like /EXECUTE or /CALL-PROCEDURE. (BS2000 only)
2358 .TP 8
2362 current line are executed. Multi-level breaks are thus
2364 .TP 8
2366 Causes a break from a \fIswitch\fR, resuming after the \fIendsw\fR.
2367 .TP 8
2370 .TP 8
2372 A synonym for the \fIlogout\fR builtin command.
2375 .TP 8
2377 A label in a \fIswitch\fR statement as discussed below.
2378 .TP 8
2379 .B cd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] [\I--\fR] [\fIname\fR]
2380 If a directory \fIname\fR is given, changes the shell's working directory
2382 variable is not set, in which case a \fIname\fR is required.
2383 If \fIname\fR is `\-' it is interpreted as the previous working directory
2385 If \fIname\fR is not a subdirectory of the current directory
2387 \fBcdpath\fR is checked to see if it has a subdirectory \fIname\fR. Finally, if
2388 all else fails but \fIname\fR is a shell variable whose value
2389 begins with `/' or '.', then this is tried to see if it is a directory, and
2390 the \fB\-p\fR option is implied.
2391 .RS +8
2393 With \fB\-p\fR, prints the final directory stack, just like \fIdirs\fR.
2394 The \fB\-l\fR, \fB\-n\fR and \fB\-v\fR flags have the same effect on \fIcd\fR
2395 as on \fIdirs\fR, and they imply \fB\-p\fR. (+)
2396 Using \fB\-\-\fR forces a break from option processing so the next word
2397 is taken as the directory \fIname\fR even if it begins with '\-'. (+)
2401 .TP 8
2403 A synonym for the \fIcd\fR builtin command.
2404 .TP 8
2409 .RS +8
2411 \fIcommand\fR may be a full command name or a glob-pattern
2412 (see \fBFilename substitution\fR). It can begin with `\-' to indicate that
2422 Current-word completion.
2423 \fIpattern\fR is a glob-pattern which must match the beginning of the current word on
2430 Next-word completion.
2431 \fIpattern\fR is a glob-pattern which must match the beginning of the previous word on
2438 Position-dependent completion.
2439 \fIpattern\fR is a numeric range, with the same syntax used to index shell
2448 .TP 8
2449 .B a
2451 .TP 8
2454 .TP 8
2457 .TP 8
2460 .TP 8
2463 .TP 8
2466 .TP 8
2469 .TP 8
2472 .TP 8
2475 .TP 8
2478 .TP 8
2481 .TP 8
2484 .TP 8
2487 .TP 8
2490 .TP 8
2493 .TP 8
2496 .TP 8
2499 .TP 8
2502 .TP 8
2505 .TP 8
2507 Like \fBn\fR, but prints \fIselect\fR when \fIlist-choices\fR is used.
2508 .TP 8
2511 .TP 8
2514 .TP 8
2517 .TP 8
2523 \fIselect\fR is an optional glob-pattern.
2526 The last three types of completion may not have a \fIselect\fR
2528 the \fIlist-choices\fR editor command is used.
2530 \fIsuffix\fR is a single character to be appended to a successful
2532 case the fourth delimiter can also be omitted), a slash is appended to
2533 directories and a space to other words.
2548 completes only the first word following `cd' (`p/1') with a directory.
2549 \fBp\fR-type completion can also be used to narrow down command completion:
2555 > complete \-co* 'p/0/(compress)/'
2564 The leading `\-' indicates that this completion is to be used with only
2567 > complete find 'n/\-user/u/'
2569 is an example of \fBn\fR-type completion. Any word following `find' and
2570 immediately following `\-user' is completed from the list of users.
2572 > complete cc 'c/\-I/d/'
2574 demonstrates \fBc\fR-type completion. Any word following `cc' and beginning
2575 with `\-I' is completed as a directory. `\-I' is not taken as part of the
2580 > complete alias 'p/1/a/'
2596 Words can be completed from a variable evaluated at completion time,
2614 or from a command run at completion time:
2618 > kill \-9 [^D]
2631 before the next-word completion.
2633 the next-word completion were specified first it would always match
2634 and the positional completion would never be executed. This is a
2635 common mistake when defining a completion.
2637 The \fIselect\fR pattern is useful when a command takes files with only
2642 completes `cc' arguments to files ending in only `.c', `.a', or `.o'.
2643 \fIselect\fR can also exclude files, using negation of a glob-pattern as
2650 mechanism using the \fIcomplete-word-raw\fR or \fIlist-choices-raw\fR
2654 respectively, but they use the \fIselect\fR argument in a different way: to
2655 restrict completion to files beginning with a particular path prefix. For
2661 to complete `elm \-f =' as if it were `elm \-f ~/Mail/'. Note that we used `@'
2664 beginning of a word.
2666 \fIsuffix\fR is used to add a nonstandard suffix
2675 Finally, here's a complex example for inspiration:
2679 \&'n/\-name/f/' 'n/\-newer/f/' 'n/\-{,n}cpio/f/' \e
2681 \&\'n/\-exec/c/' 'n/\-ok/c/' 'n/\-user/u/' \e
2683 \&'n/\-group/g/' 'n/\-fstype/(nfs 4.2)/' \e
2685 \&'n/\-type/(b c d f l p s)/' \e
2687 \'c/\-/(name newer cpio ncpio exec ok user \e
2697 This completes words following `\-name', `\-newer', `\-cpio' or `ncpio'
2699 words following `\-exec' or `\-ok' to commands, words following `user'
2701 and words following `\-fstype' or `\-type' to members of the
2703 (note the use of \fBc\fR-type completion)
2704 and completes anything not otherwise completed to a directory. Whew.
2707 is a tilde substitution (beginning with `~') or a variable (beginning with `$').
2710 .TP 8
2714 .TP 8
2716 Labels the default case in a \fIswitch\fR statement.
2719 .B dirs \fR[\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR]
2721 .B dirs \-S\fR|\fB\-L \fR[\fIfilename\fR] (+)
2723 .TP 8
2724 .B dirs \-c \fR(+)
2727 With \fB\-l\fR, `~' or `~\fIname\fP' in the output is expanded explicitly
2729 With \fB\-n\fR, entries are wrapped before they reach the edge of the screen. (+)
2730 With \fB\-v\fR, entries are printed one per line, preceded by their stack positions. (+)
2731 If more than one of \fB\-n\fR or \fB\-v\fR is given, \fB\-v\fR takes precedence.
2732 \fB\-p\fR is accepted but does nothing.
2734 .RS +8
2736 With \fB\-S\fR, the second form saves the directory stack to \fIfilename\fR
2737 as a series of \fIcd\fR and \fIpushd\fR commands.
2738 With \fB\-L\fR, the shell sources \fIfilename\fR, which is presumably
2739 a directory stack file saved by the \fB\-S\fR option or the \fBsavedirs\fR
2744 Note that login shells do the equivalent of `dirs \-L' on startup
2745 and, if \fBsavedirs\fR is set, `dirs \-S' before exiting.
2751 .TP 8
2752 .B echo \fR[\fB\-n\fR] \fIword\fR ...
2754 output, separated by spaces and terminated with a newline.
2757 .TP 8
2758 .B echotc \fR[\fB\-sv\fR] \fIarg\fR ... (+)
2762 \&'echotc ts 0; echo "This is a test."; echotc fs' prints "This is a test."
2764 .RS +8
2769 from a shell script less verbose on slow terminals, or limit command
2774 > @ history\-\-
2777 One should use double quotes when setting a shell variable to a terminal
2785 > echo \-n "$tosl";date; echo \-n "$frsl"
2787 With \fB\-s\fR, nonexistent capabilities return the empty string rather
2789 With \fB\-v\fR, messages are verbose.
2798 .TP 8
2803 .TP 8
2810 See \fItset\fR(1) for a sample use of \fIeval\fR.
2811 .TP 8
2814 .TP 8
2819 .TP 8
2823 \fIjob\fR may be a number, a string, `', `%', `+' or `\-' as described
2825 See also the \fIrun-fg-editor\fR editor command.
2826 .TP 8
2827 .B filetest \-\fIop file\fR ... (+)
2828 Applies \fIop\fR (which is a file inquiry operator as described under
2829 \fBFile inquiry operators\fR) to each \fIfile\fR and returns the results as a
2830 space-separated list.
2836 .TP 8
2846 the loop are executed. If you make a mistake typing in a
2849 .TP 8
2852 .TP 8
2855 .TP 8
2857 Like \fIecho\fR, but the `-n' parameter is not recognized and words are
2859 programs which wish to use the shell to filename expand a list of words.
2860 .TP 8
2862 \fIword\fR is filename and command-substituted to
2863 yield a string of the form `label'. The shell rewinds its
2864 input as much as possible, searches for a line of the
2867 .TP 8
2869 Prints a statistics line indicating how effective the
2872 \fBpath\fR where the hash function indicates a possible hit, and
2873 in each component which does not begin with a `/'.
2878 .B history \fR[\fB\-hTr\fR] [\fIn\fR]
2880 .B history \-S\fR|\fB\-L|\fB\-M \fR[\fIfilename\fR] (+)
2882 .TP 8
2883 .B history \-c \fR(+)
2886 With \fB\-h\fR, the history list is printed without leading numbers. If
2887 \fB-T\fR is specified, timestamps are printed also in comment form.
2889 produce files suitable for loading with 'history \-L' or 'source \-h'.)
2890 With \fB\-r\fR, the order of printing is most recent
2893 .RS +8
2895 With \fB\-S\fR, the second form saves the history list to \fIfilename\fR.
2896 If the first word of the \fBsavehist\fR shell variable is set to a
2907 With \fB\-L\fR, the shell appends \fIfilename\fR, which is presumably a
2908 history list saved by the \fB\-S\fR option or the \fBsavehist\fR mechanism,
2910 \fB\-M\fR is like \fB\-L\fR, but the contents of \fIfilename\fR are merged
2914 `history \-L' is exactly like 'source \-h' except that it does not require a
2917 Note that login shells do the equivalent of `history \-L' on startup
2918 and, if \fBsavehist\fR is set, `history \-S' before exiting.
2927 .TP 8
2929 With \fIcommand\fR, runs \fIcommand\fR such that it will exit on a hangup
2930 signal and arranges for the shell to send it a hangup signal when the shell
2933 Without an argument, causes the non-interactive shell only to
2934 exit on a hangup for the remainder of the script.
2936 .TP 8
2942 \fIcommand\fR must be a simple command, not an alias, a pipeline, a command list
2943 or a parenthesized command list, but it may have arguments.
2945 false and \fIcommand\fR is thus \fInot\fR executed; this is a bug.
2959 .TP 8
2964 number of \fIelse-if\fR pairs are possible; only one \fIendif\fR is
2970 .TP 8
2971 .B inlib \fIshared-library\fR ... (+)
2972 Adds each \fIshared-library\fR to the current environment. There is no way
2973 to remove a shared library. (Domain/OS only)
2974 .TP 8
2975 .B jobs \fR[\fB\-l\fR]
2976 Lists the active jobs. With \fB\-l\fR, lists process
2981 .TP 8
2982 .B kill \fR[\fB\-s \fIsignal\fR] \fB%\fIjob\fR|\fIpid\fR ...
2984 .TP 8
2985 .B kill \-l
2988 \fIjob\fR may be a number, a string, `', `%', `+' or `\-' as described
2992 There is no default \fIjob\fR; saying just `kill' does not send a signal
2994 or HUP (hangup), then the job or process is sent a
2998 .TP 8
2999 .B limit \fR[\fB\-h\fR] [\fIresource\fR [\fImaximum-use\fR]]
3001 process it creates to not individually exceed \fImaximum-use\fR on
3002 the specified \fIresource\fR. If no \fImaximum-use\fR is given, then
3004 all limitations are given. If the \fB\-h\fR flag is given, the
3006 hard limits impose a ceiling on the values of the current
3007 limits. Only the super-user may raise the hard limits, but
3008 a user may lower or raise the current limits within the legal range.
3009 .RS +8
3014 the maximum number of cpu-seconds to be used by each process
3024 the maximum size of the automatically-extended stack region
3030 the maximum amount of physical memory a process
3031 may have allocated to it at a given time
3034 the maximum amount of virtual memory a process
3035 may have allocated to it at a given time (address space)
3038 the maximum amount of virtual memory a process
3039 may have allocated to it at a given time
3042 the maximum amount of memory a process
3049 the maximum number of pseudo-terminals for this user
3058 the maximum size which a process may lock into memory using mlock(2)
3089 the maximum nice priority the user is allowed to raise mapped from [19...-20]
3097 \fImaximum-use\fR may be given as a (floating point or
3098 integer) number followed by a scale factor. For all limits
3100 (1024 bytes); a scale factor of `m' or `megabytes' or `g' or `gigabytes'
3102 while `m' for minutes or `h' for hours, or a time of the
3105 If \fImaximum-use\fR is `unlimited',
3112 .TP 8
3117 .TP 8
3119 Terminates a login shell, replacing it with an instance of
3122 .TP 8
3124 Terminates a login shell. Especially useful if \fBignoreeof\fR is set.
3125 .TP 8
3126 .B ls\-F \fR[\-\fIswitch\fR ...] [\fIfile\fR ...] (+)
3127 Lists files like `ls \-F', but much faster. It identifies each type of
3128 special file in the listing with a special character:
3130 .RS +8
3167 Symbolic link to a non-directory
3170 Symbolic link to a directory
3176 \fBlistlinks\fR also slows down \fIls\-F\fR and causes partitions holding
3179 If the \fBlistflags\fR shell variable is set to `x', `a' or `A', or any
3180 combination thereof (e.g., `xA'), they are used as flags to \fIls\-F\fR,
3181 making it act like `ls \-xF', `ls \-Fa', `ls \-FA' or a combination
3182 (e.g., `ls \-FxA').
3183 On machines where `ls \-C' is not the default, \fIls\-F\fR acts like `ls \-CF',
3184 unless \fBlistflags\fR contains an `x', in which case it acts like `ls \-xF'.
3185 \fIls\-F\fR passes its arguments to \fIls\fR(1) if it is given any switches,
3186 so `alias ls ls\-F' generally does the right thing.
3188 The \fBls\-F\fR builtin can list files using different colors depending on the
3193 .B migrate \fR[\fB\-\fIsite\fR] \fIpid\fR|\fB%\fIjobid\fR ... (+)
3195 .TP 8
3196 .B migrate \-\fIsite\fR (+)
3199 The second form is equivalent to `migrate \-\fIsite\fR $$': it migrates the
3204 .TP 8
3205 .B newgrp \fR[\fB\-\fR] \fI[group]\fR (+)
3209 .TP 8
3215 the process gets. The super-user may specify negative
3216 priority by using `nice \-number ...'. Command is always
3217 executed in a sub-shell, and the restrictions placed on
3219 .TP 8
3223 Without an argument, causes the non-interactive shell only to
3226 .TP 8
3231 \fIjob\fR may be a number, a string, `', `%', `+' or `\-' as described
3234 .TP 8
3235 .B onintr \fR[\fB\-\fR|\fIlabel\fR]
3240 With `\-', causes all interrupts to be ignored.
3241 With \fIlabel\fR, causes the shell to execute a `goto \fIlabel\fR'
3242 when an interrupt is received or a child process terminates because it was
3244 .IP "" 8
3247 .TP 8
3248 .B popd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] \fR[\fB+\fIn\fR]
3250 With a number `+\fIn\fR', discards the \fIn\fR'th entry in the stack.
3251 .IP "" 8
3254 prevent this and the \fB\-p\fR flag can be given to override \fBpushdsilent\fR.
3255 The \fB\-l\fR, \fB\-n\fR and \fB\-v\fR flags have the same effect on \fIpopd\fR
3257 .TP 8
3261 .TP 8
3262 .B pushd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] [\fIname\fR|\fB+\fIn\fR]
3268 If \fIname\fR is `\-' it is interpreted as the previous working directory
3272 With a number `+\fIn\fR', rotates the \fIn\fRth element of the
3276 .IP "" 8
3279 prevent this and the \fB\-p\fR flag can be given to override \fBpushdsilent\fR.
3280 The \fB\-l\fR, \fB\-n\fR and \fB\-v\fR flags have the same effect on \fIpushd\fR
3282 .TP 8
3288 in. With \fBautorehash\fR, a new command will be found
3290 the same name which is located in a different directory already
3293 .TP 8
3299 .TP 8
3308 .TP 8
3309 .B sched \-\fIn\fR (+)
3310 The first form prints the scheduled-event list.
3312 the scheduled-event list is printed.
3313 The second form adds \fIcommand\fR to the scheduled-event list.
3316 .RS +8
3321 The time may be in 12-hour AM/PM format
3328 > sched +2:15 /usr/lib/uucp/uucico \-r1 \-sother
3330 A relative time specification may not use AM/PM format.
3335 1 Wed Apr 4 15:42 /usr/lib/uucp/uucico \-r1 \-sother
3339 > sched \-2
3343 1 Wed Apr 4 15:42 /usr/lib/uucp/uucico \-r1 \-sother
3345 A command in the scheduled-event list is executed just before the first
3349 A command which comes due while the shell
3351 However, normal operation of an already-running command will not
3352 be interrupted so that a scheduled-event list element may be run.
3356 Its major disadvantage is that it may not run a command at exactly the
3360 This provides a mechanism for changing one's working environment
3370 .B set [\-r] [\-f|\-l] \fIname\fR\fB=(\fIwordlist\fB)\fR ... (+)
3374 .B set \-r \fR(+)
3376 .B set \-r \fIname\fR ... (+)
3378 .TP 8
3379 .B set \-r \fIname\fR\fB=\fIword\fR ... (+)
3381 Variables which contain more than a single word print as a
3387 If \fB\-r\fR is specified, the value is set read-only. If \fB\-f\fR or
3388 \fB\-l\fR are specified, set only unique words keeping their order.
3389 \fB\-f\fR prefers the first occurrence of a word, and \fB\-l\fR the last.
3392 The sixth form lists only the names of all shell variables that are read-only.
3393 The seventh form makes \fIname\fR read-only, whether or not it has a value.
3395 make \fIname\fR read-only at the same time.
3397 .IP "" 8
3398 These arguments can be repeated to set and/or make read-only multiple variables
3399 in a single set command. Note, however, that variable expansion
3404 .TP 8
3409 .TP 8
3412 .TP 8
3415 .TP 8
3422 .TP 8
3423 .B setty \fR[\fB\-d\fR|\fB\-q\fR|\fB\-x\fR] [\fB\-a\fR] [[\fB+\fR|\fB\-\fR]\fImode\fR] (+)
3426 \fB\-d\fR, \fB\-q\fR or \fB\-x\fR tells \fIsetty\fR to act
3428 \fB\-d\fR, \fB\-q\fR or \fB\-x\fR, `execute' is used.
3429 .IP "" 8
3431 which are fixed on (`+mode') or off (`\-mode').
3433 With \fB\-a\fR, lists all tty modes in the chosen set
3435 With \fB+\fImode\fR, \fB\-\fImode\fR or \fImode\fR, fixes \fImode\fR on or off
3439 .TP 8
3443 .TP 8
3449 .TP 8
3450 .B source \fR[\fB\-h\fR] \fIname\fR [\fIargs\fR ...]
3456 An error in a \fIsource\fR at any level terminates all nested
3458 With \fB\-h\fR, commands are placed on the history list instead of being
3459 executed, much like `history \-L'.
3460 .TP 8
3463 \fIjob\fR may be a number, a string, `', `%', `+' or `\-' as described
3467 .TP 8
3470 been sent a stop signal with \fB^Z\fR. This is most often used to
3489 .TP 8
3495 of the labels match before a `default' label is found, then
3498 a line. The command \fIbreaksw\fR causes execution to continue
3503 .TP 8
3506 .TP 8
3512 .TP 8
3514 Executes \fIcommand\fR (which must be a simple command, not an alias,
3515 a pipeline, a command list or a parenthesized command list)
3516 and prints a time summary as described under the \fBtime\fR variable.
3519 Without \fIcommand\fR, prints a time summary for the current shell and its
3521 .TP 8
3528 .TP 8
3534 .TP 8
3539 .TP 8
3543 .TP 8
3546 .TP 8
3547 .B unlimit \fR[\fB\-hf\fR] [\fIresource\fR]
3550 With \fB\-h\fR, the corresponding hard limits are removed.
3551 Only the super-user may do this.
3554 With \fB\-f\fR errors are ignored.
3555 .TP 8
3557 Removes all variables whose names match \fIpattern\fR, unless they are read-only.
3558 `unset *' thus removes all variables unless they are read-only;
3559 this is a bad idea.
3561 .TP 8
3565 this is a bad idea.
3567 .TP 8
3573 .TP 8
3578 .TP 8
3581 .TP 8
3586 .TP 8
3590 .TP 8
3596 See also the \fIwhich-command\fR editor command.
3602 .TP 8
3606 evaluates non-zero.
3610 If the input is a terminal, the user is prompted the first time
3616 .TP 8
3619 .TP 8
3622 working on an X window system using \fIxterm\fR(1) and a re-parenting window
3624 .RS +8
3626 > alias cwdcmd 'echo \-n "^[]2;${HOST}:$cwd ^G"'
3629 to be the name of the host, a colon, and the full current working directory.
3630 A fancier way to do that is
3632 > alias cwdcmd 'echo \-n "^[]2;${HOST}:$cwd^G^[]1;${HOST}^G"'
3637 Note that putting a \fIcd\fR, \fIpushd\fR or \fIpopd\fR in \fIcwdcmd\fR
3641 .TP 8
3645 .RS +8
3647 > alias jobcmd 'echo \-n "^[]2\e;\e!#:q^G"'
3651 .TP 8
3653 Invoked by the \fBrun-help\fR editor command. The command name for which help
3656 .RS +8
3658 > alias helpcommand '\e!:1 --help'
3663 the customary Unix `-h'), except by using a table of many commands.
3665 .TP 8
3667 Runs every \fBtperiod\fR minutes. This provides a convenient means for
3670 .RS +8
3680 .TP 8
3683 .RS +8
3691 .TP 8
3694 .RS +8
3696 > alias postcmd 'echo \-n "^[]2\e;\e!#:q^G"'
3700 .TP 8
3703 specify an interpreter. The first word should be a full path name to the
3719 shell variable to match (unless the shell variable is read-only) and vice
3723 .TP 8
3725 If set, filename completion adds `/' to the end of directories and a space
3728 .TP 8
3732 .TP 8
3734 If set, all times are shown in 12-hour AM/PM format.
3735 .TP 8
3740 .TP 8
3745 .TP 8
3747 If set, the \fIspell-word\fR editor command is invoked automatically before
3749 .TP 8
3751 If set, the \fIexpand-history\fR editor command is invoked automatically
3753 only history will be expanded and a second completion will expand filenames.
3754 .TP 8
3759 .TP 8
3764 When the shell automatically logs out, it prints `auto-logout', sets the
3770 under a window system (i.e., the \fBDISPLAY\fR environment variable is set),
3771 the tty is a pseudo-tty (pty) or the shell was not so compiled (see the
3775 .TP 8
3778 \fBpath\fR variable will be recomputed if a command is not found in the hash
3783 .TP 8
3789 .TP 8
3792 If set, tcsh use `tcsh.${catalog}' as a message catalog instead of
3794 .TP 8
3796 A list of directories in which \fIcd\fR should search for
3798 .TP 8
3800 If not set, \fIcd\fR requires a directory \fIname\fR, and will not go to the
3803 .TP 8
3805 If set, it enables color display for the builtin \fBls\-F\fR and it passes
3806 \fB\-\-color=auto\fR to \fBls\fR. Alternatively, it can be set to only
3807 \fBls\-F\fR or only \fBls\fR to enable color to only one command. Setting
3808 it to nothing is equivalent to setting it to \fB(ls\-F ls)\fR.
3809 .TP 8
3813 .TP 8
3815 If set, the command which was passed to the shell with the \fB-c\fR flag (q.v.).
3816 .TP 8
3820 .TP 8
3825 periods, hyphens and underscores (`.', `\-' and `_') as word
3828 characters explicitly and matches lowercase and hyphens in a
3829 case-insensitive manner; it will treat periods, hyphens and underscores
3831 .TP 8
3833 If set to a list of commands, the shell will continue the listed
3834 commands, instead of starting a new one.
3835 .TP 8
3838 .RS +8
3842 .TP 8
3844 If set to `cmd', commands are automatically spelling-corrected.
3847 .TP 8
3851 .TP 8
3855 .TP 8
3859 .TP 8
3861 The default location in which `dirs \-S' and `dirs \-L' look for
3862 a history file. If unset, \fI~/.cshdirs\fR is used.
3865 .TP 8
3875 .TP 8
3878 If set to `euc', it enables display and editing EUC-kanji(Japanese) code.
3879 If set to `sjis', it enables display and editing Shift-JIS(Japanese) code.
3883 multi-byte code format:
3884 .RS +8
3894 0 ... not used for multi-byte characters.
3896 1 ... used for the first byte of a multi-byte character.
3898 2 ... used for the second byte of a multi-byte character.
3900 3 ... used for both the first byte and second byte of a multi-byte character.
3904 .\" each nybble as a character. What's going on here? It this 3-byte code
3907 .\" a complete example), I could fix the text to be grammatically correct.
3914 used for multi-byte characters. The 3rd character (0x02) is set to '1',
3915 indicating that it is used for the first byte of a multi-byte character.
3917 the second byte of a multi-byte character. The 5th and 6th characters
3919 byte of a multi-byte character.
3921 The GNU fileutils version of ls cannot display multi-byte
3922 filenames without the -N ( --literal ) option. If you are using
3924 example, "ls-F -l" cannot display multi-byte filenames.
3931 .TP 8
3935 .TP 8
3938 executed. For non-builtin commands all expansions occur before
3941 Set by the \fB\-x\fR command line option.
3942 .TP 8
3946 .RS +8
3948 .TP 8
3950 Don't echo a newline if the first argument is `\-n'; the default for \fIcsh\fR.
3951 .TP 8
3954 .TP 8
3956 Recognize both the `\-n' flag and backslashed escape sequences; the default
3958 .TP 8
3967 .TP 8
3969 If set, the command-line editor is used. Set by default in interactive
3971 .TP 8
3973 A list of command names for the \fIrun-fg-editor\fR editor command to match.
3976 .TP 8
3981 .TP 8
3984 .TP 8
3987 .TP 8
3990 .TP 8
3997 .TP 8
4000 .TP 8
4002 If set, wild-card glob patterns will match files and directories beginning
4004 .TP 8
4007 characters including `/' traversing any existing sub-directories. (e.g.
4009 If used by itself, it will match zero or more sub-directories
4013 To prevent problems with recursion, the `**' glob-pattern will not
4014 descend into a symbolic link containing a directory. To override this,
4016 .TP 8
4019 .TP 8
4021 If set, the incremental search match (in \fIi-search-back\fR and
4022 \fIi-search-fwd\fR) and the region between the mark and the cursor are
4024 .IP "" 8
4028 .TP 8
4030 A string value determining the characters used in \fBHistory
4035 .TP 8
4044 .TP 8
4046 The default location in which `history \-S' and `history \-L' look for
4047 a history file. If unset, \fI~/.history\fR is used. \fBhistfile\fR is
4053 .TP 8
4057 also the \fItoggle-literal-history\fR editor command.
4058 .TP 8
4065 .TP 8
4069 .TP 8
4071 If set to the empty string or `0' and the input device is a terminal,
4072 the \fIend-of-file\fR command (usually generated by the user by typing
4076 EOF's to avoid infinite loops. If set to a number \fIn\fR, the shell
4077 ignores \fIn - 1\fR consecutive \fIend-of-file\fRs and exits on the
4078 \fIn\fRth. (+) If unset, `1' is used, i.e., the shell exits on a
4080 .TP 8
4082 If set, the shell treats a directory name typed as a command as though
4083 it were a request to change to that directory. If set to \fIverbose\fR,
4085 is inhibited in non-interactive shell scripts, or for command strings
4087 executing a like-named command, but it is done after alias
4089 .TP 8
4093 .TP 8
4101 .TP 8
4107 (kill) strings of text, e.g. \fIbackward-delete-word\fR,
4108 \fIkill-line\fR, etc, as well as the \fIcopy-region-as-kill\fR command.
4110 into the command-line, while \fIyank-pop\fR (see \fBEditor commands\fR)
4112 .TP 8
4114 If set to `x', `a' or `A', or any combination thereof (e.g., `xA'), they
4115 are used as flags to \fIls\-F\fR, making it act like `ls \-xF', `ls
4116 \-Fa', `ls \-FA' or a combination (e.g., `ls \-FxA'): `a' shows all
4117 files (even if they start with a `.'), `A' shows all files but `.' and
4120 .TP 8
4122 If set, all jobs are listed when a job is suspended. If set to `long',
4124 .TP 8
4126 If set, the \fIls\-F\fR builtin command shows the type of file to which
4128 .TP 8
4130 The maximum number of items which the \fIlist-choices\fR editor command
4132 .TP 8
4134 The maximum number of rows of items which the \fIlist-choices\fR editor
4136 .TP 8
4138 Set by the shell if it is a login shell. Setting or unsetting it
4139 within a shell has no effect. See also \fBshlvl\fR.
4140 .TP 8
4142 Set by the shell to `normal' before a normal logout, `automatic' before
4143 an automatic logout, and `hangup' if the shell was killed by a hangup
4146 .TP 8
4148 A list of files and directories to check for incoming mail, optionally
4149 preceded by a numeric word. Before each prompt, if 10 minutes have
4153 and has a modification time greater than its access time.
4155 .RS +8
4158 If you are in a login shell, then no mail file is reported unless it has
4163 If a file specified in \fBmail\fR is a directory, the shell will count each
4164 file within that directory as a separate message, and will report `You have
4169 If the first word of \fBmail\fR is numeric it is taken as a different mail
4175 .TP 8
4182 .TP 8
4186 .TP 8
4191 .TP 8
4195 .TP 8
4199 with filenames, or after a list of filenames has been obtained and further
4201 .TP 8
4205 .TP 8
4207 If set, a \fBFilename substitution\fR or \fBDirectory stack substitution\fR
4212 .TP 8
4214 A list of directories (or glob-patterns which match directories; see
4215 \fBFilename substitution\fR) that should not be \fIstat\fR(2)ed during a
4218 .TP 8
4221 The default is to present job completions just before printing a prompt.
4222 .TP 8
4225 .TP 8
4227 The old working directory, equivalent to the `\-' used by \fIcd\fR and \fIpushd\fR.
4229 .TP 8
4233 .TP 8
4238 .TP 8
4240 A list of directories in which to look for executable commands.
4241 A null word specifies the current directory.
4244 variable or, if \fBPATH\fR does not exist, to a system-dependent default
4248 A shell which is given neither the \fB\-c\fR nor the \fB\-t\fR option
4251 If one adds a new command to a directory in \fBpath\fR while the shell
4252 is active, one may need to do a \fIrehash\fR for the shell to find it.
4253 .TP 8
4255 If set and an interactive program exits with a non-zero status, the shell
4257 .TP 8
4263 .RS +8
4273 happens only if the shell has already used `~\fIuser\fR' in a pathname
4278 trailing components if a digit \fIn\fR is given.
4308 The time of day in 12-hour AM/PM format.
4311 Like `%t', but in 24-hour format (but see the \fBampm\fR shell variable).
4314 The `precise' time of day in 12-hour AM/PM format, with seconds.
4317 Like `%p', but in 24-hour format (but see the \fBampm\fR shell variable).
4326 A single `%'.
4370 Includes \fIstring\fR as a literal escape sequence.
4385 eight-bit-clean shells; see the \fBversion\fR shell variable.
4387 The bold, standout and underline sequences are often used to distinguish a
4400 .TP 8
4407 .TP 8
4412 Set by default to `CORRECT>%R (y|n|e|a)? ' in interactive shells.
4413 .TP 8
4415 If set (to a two-character string), the `%#' formatting sequence in the
4418 .TP 8
4421 .TP 8
4424 .TP 8
4426 If set, completion completes on an exact match even if a longer match is
4428 .TP 8
4432 .TP 8
4435 .TP 8
4437 The string to print on the right-hand side of the screen (after
4445 .TP 8
4447 If set, the shell does `dirs \-S' before exiting.
4448 If the first word is set to a number, at most that many directory stack
4450 .TP 8
4452 If set, the shell does `history \-S' before exiting.
4453 If the first word is set to a number, at most that many lines are saved.
4463 .TP 8
4469 .TP 8
4474 of \fBBuiltin and non-builtin command execution\fR.) Initialized to the
4475 (system-dependent) home of the shell.
4476 .TP 8
4481 .TP 8
4484 command in a pipeline is propagated to \fBstatus\fR. (This is also the
4489 .RS +8
4491 If the \fBanyerror\fR variable is unset, the exit status of a pipeline
4493 status of a backquote expansion is \fInot\fR propagated to \fBstatus\fR.
4495 If a command terminated abnormally, then 0200 is added to the status.
4499 .TP 8
4503 .RS +8
4505 If set to `chase', whenever the current directory changes to a directory
4506 containing a symbolic link, it is expanded to the real name of the directory
4508 this is a bug.
4510 If set to `ignore', the shell tries to construct a current directory
4512 This means that \fIcd\fRing through a symbolic link and then `cd ..'ing
4518 builtins. Unfortunately, this does not work for hard-to-recognize filenames,
4522 which should be expanded. A compromise is to use `ignore' and use the
4523 editor command \fInormalize-path\fR (bound by default to ^X-n) when necessary.
4531 > ln \-s from/src to/dst
4591 filenames are passed to non-builtin commands.
4593 .TP 8
4598 .TP 8
4602 .TP 8
4604 If set to a number, then the \fItime\fR builtin (q.v.) executes automatically
4606 If there is a second word, it is used as a format string for the output
4610 .RS +8
4683 The number of pages which are zero-filled on demand.
4686 The number of times a process's resident set size was increased by the kernel.
4689 The number of times a process's resident set size was decreased by the kernel.
4705 Note that the CPU percentage can be higher than 100% on multi-processors.
4707 .TP 8
4710 .TP 8
4713 .TP 8
4716 .TP 8
4719 .TP 8
4723 Set by the \fB\-v\fR command line option.
4724 .TP 8
4728 \fBOSTYPE\fR and \fBMACHTYPE\fR) and a comma-separated
4732 .RS +8
4742 The shell is multibyte encoding clean (like UTF-8)
4759 \fIvi\fR(1)\-style editing is the default rather than \fIemacs\fR(1)\-style
4765 \fIbye\fR is a synonym for \fIlogout\fR and \fIlog\fR
4796 .TP 8
4798 .RS +8
4799 If unset, various key bindings change behavior to be more \fBemacs\fR(1)\-style:
4802 If set, various key bindings change behavior to be more \fBvi\fR(1)\-style:
4807 This variable is unset by \fIbindkey\fR \fB-e\fR and
4808 set by \fIbindkey\fR \fB-v\fR.
4813 .TP 8
4815 If set, a screen flash is used rather than the audible bell.
4817 .TP 8
4819 A list of user/terminal pairs to watch for logins and logouts.
4824 .RS +8
4829 oneself (or a trespasser) on any terminal.
4832 word of \fBwatch\fR can be set to a number to check every so many minutes.
4838 builtin command triggers a \fBwatch\fR report at any time. All current logins
4843 .TP 8
4848 .RS +8
4871 If unset, `%n has %a %l from %m.' is used, or `%n has %a %l.' on systems
4874 .TP 8
4876 A list of non-alphanumeric characters to be considered part of a word by the
4877 \fIforward-word\fR, \fIbackward-word\fR etc., editor commands.
4879 if \fBvimode\fR is unset, `*?_\-.[]~=' is used as the default;
4882 .TP 8
4885 .TP 8
4888 .TP 8
4892 .TP 8
4894 The pathname to a default editor.
4895 Used by the \fIrun-fg-editor\fR editor command if the
4898 .TP 8
4901 .TP 8
4904 .TP 8
4908 .TP 8
4912 will be removed in a future version.
4913 .TP 8
4915 A colon-separated list of directories in which the \fIrun-help\fR editor
4917 .TP 8
4921 .TP 8
4925 .TP 8
4928 .TP 8
4931 file format; a colon-separated list of expressions of the form
4932 "\fIxx=string\fR", where "\fIxx\fR" is a two-character variable name. The
4935 .RS +8
4940 Normal (non-filename) text
4992 all C\-language source files blue you would specify \fB"*.c=34"\fR.
4995 Control characters can be written either in C\-style\-escaped
4996 notation, or in stty\-like ^\-notation. The C\-style notation
4997 adds \fB^[\fR for Escape, \fB\_\fR for a normal space character,
5002 Each file will be written as \fB<lc>\fR \fB<color-code>\fR
5010 ISO 6429 color sequences but a different system.
5017 .RS +8
5084 A few terminal programs do not recognize the default end code
5085 properly. If all text gets colorized after you do a directory
5087 numerical codes for your standard fore- and background colors.
5089 .TP 8
5092 .TP 8
5094 If set, printable characters are not rebound to \fIself-insert-command\fR.
5096 .TP 8
5099 .TP 8
5101 A colon-separated list of directories in which to look for executables.
5102 Equivalent to the \fBpath\fR shell variable, but in a different format.
5103 .TP 8
5107 .TP 8
5112 .TP 8
5115 .TP 8
5118 .TP 8
5121 .TP 8
5124 .TP 8
5127 .TP 8
5130 .TP 8
5132 The pathname to a default full-screen editor.
5133 Used by the \fIrun-fg-editor\fR editor command if the
5143 A/UX, AMIX, Cray and IRIX have no equivalent in \fIcsh\fR(1),
5151 A/UX, AMIX, Cray and IRIX use \fI/etc/cshrc\fR.
5179 A/UX, AMIX, Cray and IRIX have no equivalent in \fIcsh\fR(1),
5187 Used to interpret shell scripts not starting with a `#'.
5199 This manual describes \fItcsh\fR as a single entity,
5203 A command-line editor, which supports \fIemacs\fR(1)\-style
5204 or \fIvi\fR(1)\-style key bindings.
5205 See \fBThe command-line editor\fR and \fBEditor commands\fR.
5214 typed commands, including documentation lookup (\fIrun-help\fR),
5215 quick editor restarting (\fIrun-fg-editor\fR) and
5216 command resolution (\fIwhich-command\fR).
5218 An enhanced history mechanism. Events in the history list are time-stamped.
5222 the \fI*-history\fR, \fIhistory-search-*\fR, \fIi-search-*\fR, \fIvi-search-*\fR and
5223 \fItoggle-literal-history\fR editor commands
5230 the \fInormalize-command\fR and \fInormalize-path\fR editor commands.
5232 Negation in glob-patterns. See \fBFilename substitution\fR.
5234 New \fBFile inquiry operators\fR (q.v.) and a \fIfiletest\fR
5237 A variety of \fBAutomatic, periodic and timed events\fR (q.v.) including
5245 and system-dependent file locations (see \fBFILES\fR).
5247 Extensive terminal-management capabilities. See \fBTerminal management\fR.
5249 New builtin commands including \fIbuiltins\fR, \fIhup\fR, \fIls\-F\fR,
5258 A new syntax for including useful information in the prompt string
5263 Read-only variables. See \fBVariable substitution\fR.
5265 When a suspended command is restarted, the shell prints the directory
5270 of the form `a ; b ; c' are also not handled gracefully when stopping is
5274 to a subshell, i.e., `( a ; b ; c )'.
5277 this will inspire someone to work on a good virtual terminal interface.
5278 In a virtual terminal interface much more interesting things could be
5285 built-in commands. This would allow control commands to be placed anywhere,
5298 Glob-patterns which do not use `?', `*' or `[]' or which use `{}' or `~'
5301 The single-command form of \fIif\fR does output redirection even if
5304 \fIls\-F\fR includes file identification characters when sorting filenames
5315 In 1964, DEC produced the PDP-6. The PDP-10 was a later re-implementation. It
5316 was re-christened the DECsystem-10 in 1970 or so when DEC brought out the
5319 TENEX was created at Bolt, Beranek & Newman (a Cambridge, Massachusetts
5321 1972 as an experiment in demand-paged virtual memory operating systems. They
5322 built a new pager for the DEC PDP-10 and created the OS to go with it. It was
5325 In 1975, DEC brought out a new model of the PDP-10, the KL10; they intended to
5326 have only a version of TENEX, which they had licensed from BBN, for the new
5327 box. They called their version TOPS-20 (their capitalization is trademarked).
5328 A lot of TOPS-10 users (`The OPerating System for PDP-10') objected; thus DEC
5329 found themselves supporting two incompatible systems on the same hardware--but
5330 then there were 6 on the PDP-11!
5332 TENEX, and TOPS-20 to version 3, had command completion
5333 via a user-code-level subroutine library called ULTCMD. With version 3, DEC
5339 and TOPS-20, and created a version of csh which mimicked them.
5343 The number of arguments to a command which involves filename expansion is
5350 substitutions on a single line to 20.
5355 malloc(3), setlocale(3), tty(4), a.out(5), termcap(5), environ(7),
5358 This manual documents tcsh 6.22.04 (Astron) 2021-04-26.
5374 Paul Placeway, Ohio State CIS Dept., 1983-1993
5378 Karl Kleinpaste, CCI 1983-4
5383 \fIls\-F\fR and \fIwhich\fR builtins and numerous bug fixes, modifications
5392 Christos S. Zoulas, Cornell U. EE Dept., 1987-94
5393 Ports to HPUX, SVR2 and SVR3, a SysV version of getwd.c, SHORT_STRINGS support
5394 and a new version of sh.glob.c
5397 A/UX port
5423 Per Hedeland, Ellemtel, Sweden, 1990-
5440 A/UX 2.0 (re)port
5446 \fBshlvl\fR, Mach support, \fIcorrect-line\fR, 8-bit printing
5451 Jaap Vermeulen, Sequent, 1990-91
5452 Vi mode fixes, expand-line, window change fixes, Symmetry port
5454 Martin Boyer, Institut de recherche d'Hydro-Quebec, 1991
5470 Bruce Sterling Woodcock, sterling@netcom.com, 1991-1995
5475 \fIcomplete-word-fwd\fR and \fIcomplete-word-back\fR
5481 VMS-POSIX port
5500 Read-only variables
5502 Dave Schweisguth, Yale University, 1993-4
5508 Luke Mewburn, RMIT University, 1994-6