- a\bal\bli\bia\bas\bs
- a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be
- a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
- The first form prints all aliases. The second form prints the
- alias for name. The final form assigns the specified _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt as
- the alias of _\bn_\ba_\bm_\be; _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is command and filename substituted.
- _\bN_\ba_\bm_\be is not allowed to be _\ba_\bl_\bi_\ba_\bs or _\bu_\bn_\ba_\bl_\bi_\ba_\bs.
-
- a\bal\bll\blo\boc\bc
- Shows the amount of dynamic memory acquired, broken down into used
- and free memory. With an argument shows the number of free and
- used blocks in each size category. The categories start at size 8
- and double at each step. This command's output may vary across
- system types, since systems other than the VAX may use a different
- memory allocator.
-
- b\bbg\bg
- b\bbg\bg %\b%_\bj_\bo_\bb ...
- Puts the current or specified jobs into the background, continuing
- them if they were stopped.
-
- b\bbr\bre\bea\bak\bk
- Causes execution to resume after the e\ben\bnd\bd of the nearest enclosing
- f\bfo\bor\bre\bea\bac\bch\bh or w\bwh\bhi\bil\ble\be. The remaining commands on the current line are
- executed. Multi-level breaks are thus possible by writing them all
- on one line.
-
- b\bbr\bre\bea\bak\bks\bsw\bw
- Causes a break from a s\bsw\bwi\bit\btc\bch\bh, resuming after the e\ben\bnd\bds\bsw\bw.
-
- c\bca\bas\bse\be _\bl_\ba_\bb_\be_\bl:
- A label in a s\bsw\bwi\bit\btc\bch\bh statement as discussed below.
-
- c\bcd\bd
- c\bcd\bd _\bn_\ba_\bm_\be
- c\bch\bhd\bdi\bir\br
- c\bch\bhd\bdi\bir\br _\bn_\ba_\bm_\be
- Change the shell's working directory to directory _\bn_\ba_\bm_\be. If no ar-
- gument is given then change to the home directory of the user. If
- _\bn_\ba_\bm_\be is not found as a subdirectory of the current directory (and
- does not begin with `/', `./' or `../'), then each component of the
- variable c\bcd\bdp\bpa\bat\bth\bh is checked to see if it has a subdirectory _\bn_\ba_\bm_\be.
- Finally, if all else fails but _\bn_\ba_\bm_\be is a shell variable whose value
- begins with `/', then this is tried to see if it is a directory.
-
- c\bco\bon\bnt\bti\bin\bnu\bue\be
- Continue execution of the nearest enclosing w\bwh\bhi\bil\ble\be or f\bfo\bor\bre\bea\bac\bch\bh. The
- rest of the commands on the current line are executed.
-
- d\bde\bef\bfa\bau\bul\blt\bt:
- Labels the default case in a s\bsw\bwi\bit\btc\bch\bh statement. The default should
- come after all c\bca\bas\bse\be labels.
-
- d\bdi\bir\brs\bs
- Prints the directory stack; the top of the stack is at the left,
- the first directory in the stack being the current directory.
-
- e\bec\bch\bho\bo _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
- e\bec\bch\bho\bo -\b-n\bn _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
- The specified words are written to the shells standard output,
- separated by spaces, and terminated with a newline unless the -\b-n\bn
- option is specified.
-
- e\bel\bls\bse\be
- e\ben\bnd\bd
- e\ben\bnd\bdi\bif\bf
- e\ben\bnd\bds\bsw\bw
- See the description of the f\bfo\bor\bre\bea\bac\bch\bh, i\bif\bf, s\bsw\bwi\bit\btc\bch\bh, and w\bwh\bhi\bil\ble\be state-
- ments below.
-
- e\bev\bva\bal\bl _\ba_\br_\bg ...
- (As in sh(1).) The arguments are read as input to the shell and the
- resulting command(s) executed in the context of the current shell.
- This is usually used to execute commands generated as the result of
- command or variable substitution, since parsing occurs before these
- substitutions. See tset(1) for an example of using e\bev\bva\bal\bl.
-
- e\bex\bxe\bec\bc _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- The specified command is executed in place of the current shell.
-
- e\bex\bxi\bit\bt
- e\bex\bxi\bit\bt (_\be_\bx_\bp_\br)
- The shell exits either with the value of the s\bst\bta\bat\btu\bus\bs variable (first
- form) or with the value of the specified e\bex\bxp\bpr\br (second form).
-
- f\bfg\bg
- f\bfg\bg %\b%_\bj_\bo_\bb ...
- Brings the current or specified jobs into the foreground,
- continuing them if they were stopped.
-
- f\bfo\bor\bre\bea\bac\bch\bh _\bn_\ba_\bm_\be (_\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt)
- ...
- e\ben\bnd\bd The variable n\bna\bam\bme\be is successively set to each member of w\bwo\bor\brd\bdl\bli\bis\bst\bt
- and the sequence of commands between this command and the matching
- e\ben\bnd\bd are executed. (Both f\bfo\bor\bre\bea\bac\bch\bh and e\ben\bnd\bd must appear alone on
- separate lines.) The builtin command c\bco\bon\bnt\bti\bin\bnu\bue\be may be used to con-
- tinue the loop prematurely and the builtin command b\bbr\bre\bea\bak\bk to ter-
- minate it prematurely. When this command is read from the termi-
- nal, the loop is read up once prompting with `?' before any state-
- ments in the loop are executed. If you make a mistake typing in a
- loop at the terminal you can rub it out.
-
- g\bgl\blo\bob\bb _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
- Like e\bec\bch\bho\bo but no `\' escapes are recognized and words are delimited
- by null characters in the output. Useful for programs which wish
- to use the shell to filename expand a list of words.
-
- g\bgo\bot\bto\bo _\bw_\bo_\br_\bd
- The specified w\bwo\bor\brd\bd is filename and command expanded to yield a
- string of the form `label'. The shell rewinds its input as much as
- possible and searches for a line of the form `label:' possibly pre-
- ceded by blanks or tabs. Execution continues after the specified
- line.
-
- h\bha\bas\bsh\bhs\bst\bta\bat\bt
- Print a statistics line indicating how effective the internal hash
- table has been at locating commands (and avoiding e\bex\bxe\bec\bc's). An e\bex\bxe\bec\bc
- is attempted for each component of the _\bp_\ba_\bt_\bh where the hash function
- indicates a possible hit, and in each component which does not be-
- gin with a `/'.
-
- h\bhi\bis\bst\bto\bor\bry\by
- h\bhi\bis\bst\bto\bor\bry\by _\bn
- h\bhi\bis\bst\bto\bor\bry\by -\b-r\br _\bn
- h\bhi\bis\bst\bto\bor\bry\by -\b-h\bh _\bn
- Displays the history event list; if _\bn is given only the _\bn most re-
- cent events are printed. The -\b-r\br option reverses the order of prin-
- tout to be most recent first rather than oldest first. The -\b-h\bh op-
- tion causes the history list to be printed without leading numbers.
- This is used to produce files suitable for sourceing using the -h
- option to s\bso\bou\bur\brc\bce\be.
-
- i\bif\bf (_\be_\bx_\bp_\br)
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd If the specified expression evaluates true, then the single
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd with arguments is executed. Variable substitution on
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd happens early, at the same time it does for the rest of the
- i\bif\bf _\bc_\bo_\bm_\bm_\ba_\bn_\bd. _\bC_\bo_\bm_\bm_\ba_\bn_\bd must be a simple command, not a pipeline, a
- command list, or a parenthesized command list. Input/output
- redirection occurs even if _\be_\bx_\bp_\br is false, when command is n\bno\bot\bt exe-
- cuted (this is a bug).
-
- i\bif\bf (_\be_\bx_\bp_\br) _\bt_\bh_\be_\bn
- ...
- e\bel\bls\bse\be i\bif\bf (_\be_\bx_\bp_\br_\b2) t\bth\bhe\ben\bn
- ...
- e\bel\bls\bse\be
- ...
- e\ben\bnd\bdi\bif\bf
- If the specified _\be_\bx_\bp_\br is true then the commands to the first e\bel\bls\bse\be
- are executed; otherwise if _\be_\bx_\bp_\br_\b2 is true then the commands to the
- second e\bel\bls\bse\be are executed, etc. Any number of e\bel\bls\bse\be-\b-i\bif\bf pairs are
- possible; only one e\ben\bnd\bdi\bif\bf is needed. The e\bel\bls\bse\be part is likewise op-
- tional. (The words e\bel\bls\bse\be and e\ben\bnd\bdi\bif\bf must appear at the beginning of
- input lines; the i\bif\bf must appear alone on its input line or after an
- e\bel\bls\bse\be.)
-
- j\bjo\bob\bbs\bs
- j\bjo\bob\bbs\bs -\b-l\bl
- Lists the active jobs; given the -\b-l\bl options lists process id's in
- addition to the normal information.
-
- k\bki\bil\bll\bl %\b%_\bj_\bo_\bb
- k\bki\bil\bll\bl _\bp_\bi_\bd
- k\bki\bil\bll\bl -\b-s\bsi\big\bg_\bp_\bi_\bd ...
- k\bki\bil\bll\bl -\b-l\bl
- Sends either the TERM (terminate) signal or the specified signal to
- the specified jobs or processes. Signals are either given by
- number or by names (as given in /_\bu_\bs_\br/_\bi_\bn_\bc_\bl_\bu_\bd_\be/_\bs_\bi_\bg_\bn_\ba_\bl._\bh, stripped of
- the prefix ``SIG''). The signal names are listed by ``kill -l''.
- There is no default, saying just `kill' does not send a signal to
- the current job. If the signal being sent is TERM (terminate) or
- HUP (hangup), then the job or process will be sent a CONT (contin-
- ue) signal as well.
-
- l\bli\bim\bmi\bit\bt
- l\bli\bim\bmi\bit\bt _\br_\be_\bs_\bo_\bu_\br_\bc_\be
- l\bli\bim\bmi\bit\bt _\br_\be_\bs_\bo_\bu_\br_\bc_\be _\bm_\ba_\bx_\bi_\bm_\bu_\bm-_\bu_\bs_\be
- l\bli\bim\bmi\bit\bt -\b-h\bh
- l\bli\bim\bmi\bit\bt -\b-h\bh _\br_\be_\bs_\bo_\bu_\br_\bc_\be
- l\bli\bim\bmi\bit\bt -\b-h\bh _\br_\be_\bs_\bo_\bu_\br_\bc_\be _\bm_\ba_\bx_\bi_\bm_\bu_\bm-_\bu_\bs_\be
- Limits the consumption by the current process and each process it
- creates to not individually exceed _\bm_\ba_\bx_\bi_\bm_\bu_\bm-_\bu_\bs_\be on the specified
- _\br_\be_\bs_\bo_\bu_\br_\bc_\be. If no _\bm_\ba_\bx_\bi_\bm_\bu_\bm-_\bu_\bs_\be is given, then the current limit is
- printed; if no _\br_\be_\bs_\bo_\bu_\br_\bc_\be is given, then all limitations are given.
- If the -\b-h\bh flag is given, the hard limits are used instead of the
- current limits. The hard limits impose a ceiling on the values of
- the current limits. Only the super-user may raise the hard limits,
- but a user may lower or raise the current limits within the legal
- range.
-
- Resources controllable currently include _\bc_\bp_\bu_\bt_\bi_\bm_\be (the maximum
- number of cpu-seconds to be used by each process), _\bf_\bi_\bl_\be_\bs_\bi_\bz_\be (the
- largest single file which can be created), _\bd_\ba_\bt_\ba_\bs_\bi_\bz_\be (the maximum
- growth of the data+stack region via sbrk(2) beyond the end of the
- program text), _\bs_\bt_\ba_\bc_\bk_\bs_\bi_\bz_\be (the maximum size of the automatically-
- extended stack region), and _\bc_\bo_\br_\be_\bd_\bu_\bm_\bp_\bs_\bi_\bz_\be (the size of the largest
- core dump that will be created).
-
- The _\bm_\ba_\bx_\bi_\bm_\bu_\bm-_\bu_\bs_\be may be given as a (floating point or integer)
- number followed by a scale factor. For all limits other than
- _\bc_\bp_\bu_\bt_\bi_\bm_\be the default scale is `k' or `kilobytes' (1024 bytes); a
- scale factor of `m' or `megabytes' may also be used. For _\bc_\bp_\bu_\bt_\bi_\bm_\be
- the default scaling is `seconds', while `m' for minutes or `h' for
- hours, or a time of the form `mm:ss' giving minutes and seconds may
- be used.
-
- For both _\br_\be_\bs_\bo_\bu_\br_\bc_\be names and scale factors, unambiguous prefixes of
- the names suffice.
-
- l\blo\bog\bgi\bin\bn
- Terminate a login shell, replacing it with an instance of
- /_\bb_\bi_\bn/_\bl_\bo_\bg_\bi_\bn. This is one way to log off, included for compatibility
- with sh(1).
-
- l\blo\bog\bgo\bou\but\bt
- Terminate a login shell. Especially useful if i\big\bgn\bno\bor\bre\bee\beo\bof\bf is set.
-
- n\bni\bic\bce\be
- n\bni\bic\bce\be +_\bn_\bu_\bm_\bb_\be_\br
- n\bni\bic\bce\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- n\bni\bic\bce\be +_\bn_\bu_\bm_\bb_\be_\br _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- The first form sets the scheduling priority for this shell to 4.
- The second form sets the priority to the given _\bn_\bu_\bm_\bb_\be_\br. The final
- two forms run command at priority 4 and _\bn_\bu_\bm_\bb_\be_\br respectively. The
- greater the number, the less cpu the process will get. The super-
- user may specify negative priority by using `nice -number ...'.
- Command is always executed in a sub-shell, and the restrictions
- placed on commands in simple i\bif\bf statements apply.
-
- n\bno\boh\bhu\bup\bp
- n\bno\boh\bhu\bup\bp _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- The first form can be used in shell scripts to cause hangups to be
- ignored for the remainder of the script. The second form causes
- the specified command to be run with hangups ignored. All
- processes detached with `&' are effectively n\bno\boh\bhu\bup\bp'ed.
-
- n\bno\bot\bti\bif\bfy\by
- n\bno\bot\bti\bif\bfy\by %\b% _\bj_\bo_\bb ...
- Causes the shell to notify the user asynchronously when the status
- of the current or specified jobs changes; normally notification is
- presented before a prompt. This is automatic if the shell variable
- n\bno\bot\bti\bif\bfy\by is set.
-
- o\bon\bni\bin\bnt\btr\br
- o\bon\bni\bin\bnt\btr\br -\b-
- o\bon\bni\bin\bnt\btr\br _\bl_\ba_\bb_\be_\bl
- Control the action of the shell on interrupts. The first form
- restores the default action of the shell on interrupts which is to
- terminate shell scripts or to return to the terminal command input
- level. The second form `onintr -' causes all interrupts to be
- ignored. The final form causes the shell to execute a `goto label'
- when an interrupt is received or a child process terminates because
- it was interrupted.
-
- In any case, if the shell is running detached and interrupts are
- being ignored, all forms of o\bon\bni\bin\bnt\btr\br have no meaning and interrupts
- continue to be ignored by the shell and all invoked commands.
-
- p\bpo\bop\bpd\bd
- p\bpo\bop\bpd\bd +_\bn
- Pops the directory stack, returning to the new top directory. With
- an argument `+_\bn' discards the _\bn'th entry in the stack. The
- elements of the directory stack are numbered from 0 starting at the
- top.
-
- p\bpu\bus\bsh\bhd\bd
- p\bpu\bus\bsh\bhd\bd _\bn_\ba_\bm_\be
- p\bpu\bus\bsh\bhd\bd _\bn
- With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two elements of the
- directory stack. Given a _\bn_\ba_\bm_\be argument, p\bpu\bus\bsh\bhd\bd changes to the new
- directory (ala c\bcd\bd) and pushes the old current working directory (as
- in c\bcs\bsw\bw) onto the directory stack. With a numeric argument, rotates
- the _\bn'th argument of the directory stack around to be the top
- element and changes to it. The members of the directory stack are
- numbered from the top starting at 0.
- r\bre\beh\bha\bas\bsh\bh
- Causes the internal hash table of the contents of the directories
- in the p\bpa\bat\bth\bh variable to be recomputed. This is needed if new com-
- mands are added to directories in the p\bpa\bat\bth\bh while you are logged in.
- This should only be necessary if you add commands to one of your
- own directories, or if a systems programmer changes the contents of
- one of the system directories.
-
- r\bre\bep\bpe\bea\bat\bt _\bc_\bo_\bu_\bn_\bt _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- The specified _\bc_\bo_\bm_\bm_\ba_\bn_\bd which is subject to the same restrictions as
- the _\bc_\bo_\bm_\bm_\ba_\bn_\bd in the one line i\bif\bf statement above, is executed _\bc_\bo_\bu_\bn_\bt
- times. I/O redirections occur exactly once, even if _\bc_\bo_\bu_\bn_\bt is 0.
-
- s\bse\bet\bt
- s\bse\bet\bt _\bn_\ba_\bm_\be
- s\bse\bet\bt _\bn_\ba_\bm_\be=_\bw_\bo_\br_\bd
- s\bse\bet\bt _\bn_\ba_\bm_\be[index]=_\bw_\bo_\br_\bd
- s\bse\bet\bt _\bn_\ba_\bm_\be=(_\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt)
- The first form of the command shows the value of all shell
- variables. Variables which have other than a single word as value
- print as a parenthesized word list. The second form sets n\bna\bam\bme\be to
- the null string. The third form sets n\bna\bam\bme\be to the single w\bwo\bor\brd\bd. The
- fourth form sets the _\bi_\bn_\bd_\be_\bx'th component of name to word; this
- component must already exist. The final form sets _\bn_\ba_\bm_\be to the list
- of words in _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt. In all cases the value is command and
- filename expanded.
-
- These arguments may be repeated to set multiple values in a single
- set command. Note however, that variable expansion happens for all
- arguments before any setting occurs.
-
- s\bse\bet\bte\ben\bnv\bv
- s\bse\bet\bte\ben\bnv\bv _\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
- s\bse\bet\bte\ben\bnv\bv _\bn_\ba_\bm_\be
- The first form lists all current environment variables. The last
- form sets the value of environment variable _\bn_\ba_\bm_\be to be _\bv_\ba_\bl_\bu_\be, a
- single string. The second form sets _\bn_\ba_\bm_\be to an empty string. The
- most commonly used environment variable USER, TERM, and PATH are
- automatically imported to and exported from the c\bcs\bsh\bh variables _\bu_\bs_\be_\br,
- [_\bt_\be_\br_\bm], and _\bp_\ba_\bt_\bh; there is no need to use s\bse\bet\bte\ben\bnv\bv for these.
-
- s\bsh\bhi\bif\bft\bt
- s\bsh\bhi\bif\bft\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be
- The members of a\bar\brg\bgv\bv are shifted to the left, discarding a\bar\brg\bgv\bv[1].
- It is an error for a\bar\brg\bgv\bv not to be set or to have less than one word
- as value. The second form performs the same function on the speci-
- fied variable.
-
- s\bso\bou\bur\brc\bce\be _\bn_\ba_\bm_\be
- s\bso\bou\bur\brc\bce\be -\b-h\bh _\bn_\ba_\bm_\be
- The shell reads commands from n\bna\bam\bme\be. S\bSo\bou\bur\brc\bce\be commands may be nested;
- if they are nested too deeply the shell may run out of file
- descriptors. An error in a s\bso\bou\bur\brc\bce\be at any level terminates all
- nested s\bso\bou\bur\brc\bce\be commands. Normally input during s\bso\bou\bur\brc\bce\be commands is
- not placed on the history list; the -h option causes the commands
- to be placed in the history list without being executed.
-
- s\bst\bto\bop\bp
- s\bst\bto\bop\bp %\b%_\bj_\bo_\bb ...
- Stops the current or specified job which is executing in the
- background.
-
- s\bsu\bus\bsp\bpe\ben\bnd\bd
- Causes the shell to stop in its tracks, much as if it had been sent
- a stop signal with ^\b^Z\bZ. This is most often used to stop shells
- started by su(1).
- s\bsw\bwi\bit\btc\bch\bh (_\bs_\bt_\br_\bi_\bn_\bg)
- c\bca\bas\bse\be _\bs_\bt_\br_\b1:
- ...
- b\bbr\bre\bea\bak\bks\bsw\bw
- ...
- d\bde\bef\bfa\bau\bul\blt\bt:
- ...
- b\bbr\bre\bea\bak\bks\bsw\bw
- e\ben\bnd\bds\bsw\bw
- Each case label is successively matched, against the specified
- _\bs_\bt_\br_\bi_\bn_\bg which is first command and filename expanded. The file
- metacharacters `*', `?' and `[...]' may be used in the case labels,
- which are variable expanded. If none of the labels match before a
- `default' label is found, then the execution begins after the de-
- fault label. Each case label and the default label must appear at
- the beginning of a line. The command b\bbr\bre\bea\bak\bks\bsw\bw causes execution to
- continue after the e\ben\bnd\bds\bsw\bw. Otherwise control may fall through case
- labels and default labels as in C. If no label matches and there
- is no default, execution continues after the e\ben\bnd\bds\bsw\bw.
-
- t\bti\bim\bme\be
- t\bti\bim\bme\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- With no argument, a summary of time used by this shell and its
- children is printed. If arguments are given the specified simple
- command is timed and a time summary as described under the t\bti\bim\bme\be
- variable is printed. If necessary, an extra shell is created to
- print the time statistic when the command completes.
-
- u\bum\bma\bas\bsk\bk
- u\bum\bma\bas\bsk\bk _\bv_\ba_\bl_\bu_\be
- The file creation mask is displayed (first form) or set to the
- specified value (second form). The mask is given in octal. Common
- values for the mask are 002 giving all access to the group and read
- and execute access to others or 022 giving all access except no
- write access for users in the group or others.
-
- u\bun\bna\bal\bli\bia\bas\bs _\bp_\ba_\bt_\bt_\be_\br_\bn
- All aliases whose names match the specified pattern are discarded.
- Thus all aliases are removed by `unalias *'. It is not an error
- for nothing to be u\bun\bna\bal\bli\bia\bas\bse\bed\bd.
-
- u\bun\bnh\bha\bas\bsh\bh
- Use of the internal hash table to speed location of executed pro-
- grams is disabled.
-
- u\bun\bnl\bli\bim\bmi\bit\bt
- u\bun\bnl\bli\bim\bmi\bit\bt _\br_\be_\bs_\bo_\bu_\br_\bc_\be
- u\bun\bnl\bli\bim\bmi\bit\bt -\b-h\bh
- u\bun\bnl\bli\bim\bmi\bit\bt -\b-h\bh _\br_\be_\bs_\bo_\bu_\br_\bc_\be
- Removes the limitation on _\br_\be_\bs_\bo_\bu_\br_\bc_\be. If no _\br_\be_\bs_\bo_\bu_\br_\bc_\be is specified,
- then all _\br_\be_\bs_\bo_\bu_\br_\bc_\be limitations are removed. If -\b-h\bh is given, the
- corresponding hard limits are removed. Only the super-user may do
- this.
-
- u\bun\bns\bse\bet\bt _\bp_\ba_\bt_\bt_\be_\br_\bn
- All variables whose names match the specified pattern are removed.
- Thus all variables are removed by `unset *'; this has noticeably
- distasteful side-effects. It is not an error for nothing to be
- u\bun\bns\bse\bet\bt.
-
- u\bun\bns\bse\bet\bte\ben\bnv\bv _\bp_\ba_\bt_\bt_\be_\br_\bn
- Removes all variables whose name match the specified pattern from
- the environment. See also the s\bse\bet\bte\ben\bnv\bv command above and prin-
- tenv(1).
-
-
- w\bwa\bai\bit\bt
- All background jobs are waited for. It the shell is interactive,
- then an interrupt can disrupt the wait, at which time the shell
- prints names and job numbers of all jobs known to be outstanding.
-
- w\bwh\bhi\bil\ble\be (_\be_\bx_\bp_\br)
- ...
- e\ben\bnd\bd While the specified expression evaluates non-zero, the commands
- between the w\bwh\bhi\bil\ble\be and the matching end are evaluated. B\bBr\bre\bea\bak\bk and
- c\bco\bon\bnt\bti\bin\bnu\bue\be may be used to terminate or continue the loop prematurely.
- (The w\bwh\bhi\bil\ble\be and e\ben\bnd\bd must appear alone on their input lines.) Prompt-
- ing occurs here the first time through the loop as for the f\bfo\bor\bre\bea\bac\bch\bh
- statement if the input is a terminal.
-
- %\b% _\bj_\bo_\bb
- Brings the specified job into the foreground.
-
- %\b% _\bj_\bo_\bb &\b&
- Continues the specified job in the background.
-
- @\b@
- @\b@ _\bn_\ba_\bm_\be = _\be_\bx_\bp_\br
- @\b@ _\bn_\ba_\bm_\be[index] =expr
- The first form prints the values of all the shell variables. The
- second form sets the specified _\bn_\ba_\bm_\be to the value of _\be_\bx_\bp_\br. If the
- expression contains `<', `>', `&' or `' then at least this part of
- the expression must be placed within `(' `)'. The third form as-
- signs the value of _\be_\bx_\bp_\br to the _\bi_\bn_\bd_\be_\bx'th argument of _\bn_\ba_\bm_\be. Both
- _\bn_\ba_\bm_\be and its _\bi_\bn_\bd_\be_\bx'th component must already exist.
-
-
- The operators `*=', `+=', etc are available as in C. The space
- separating the name from the assignment operator is optional. Spaces
- are, however, mandatory in separating components of _\be_\bx_\bp_\br which would oth-
- erwise be single words.
-
- Special postfix `++' and `--' operators increment and decrement _\bn_\ba_\bm_\be
- respectively, i.e. `@ i++'.
-
- P\bPr\bre\be-\b-d\bde\bef\bfi\bin\bne\bed\bd a\ban\bnd\bd e\ben\bnv\bvi\bir\bro\bon\bnm\bme\ben\bnt\bt v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
+
+
+
+ a\bal\bli\bia\bas\bs
+ a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be
+ a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
+ The first form prints all aliases. The second form prints
+ the alias for name. The final form assigns the specified
+ _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt as the alias of _\bn_\ba_\bm_\be; _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is command and
+ filename substituted. _\bN_\ba_\bm_\be is not allowed to be _\ba_\bl_\bi_\ba_\bs or
+ _\bu_\bn_\ba_\bl_\bi_\ba_\bs.
+
+ a\bal\bll\blo\boc\bc Shows the amount of dynamic memory acquired, broken down
+ into used and free memory. With an argument shows the num-
+ ber of free and used blocks in each size category. The
+ categories start at size 8 and double at each step. This
+ command's output may vary across system types, since sys-
+ tems other than the VAX may use a different memory alloca-
+ tor.
+
+ b\bbg\bg
+ b\bbg\bg %\b%_\bj_\bo_\bb _\b._\b._\b.
+ Puts the current or specified jobs into the background,
+ continuing them if they were stopped.
+
+ b\bbr\bre\bea\bak\bk Causes execution to resume after the e\ben\bnd\bd of the nearest en-
+ closing f\bfo\bor\bre\bea\bac\bch\bh or w\bwh\bhi\bil\ble\be. The remaining commands on the
+ current line are executed. Multi-level breaks are thus
+ possible by writing them all on one line.
+
+ b\bbr\bre\bea\bak\bks\bsw\bw
+ Causes a break from a s\bsw\bwi\bit\btc\bch\bh, resuming after the e\ben\bnd\bds\bsw\bw.
+
+ c\bca\bas\bse\be _\bl_\ba_\bb_\be_\bl:
+ A label in a s\bsw\bwi\bit\btc\bch\bh statement as discussed below.
+
+ c\bcd\bd
+ c\bcd\bd _\bn_\ba_\bm_\be
+ c\bch\bhd\bdi\bir\br
+ c\bch\bhd\bdi\bir\br _\bn_\ba_\bm_\be
+ Change the shell's working directory to directory _\bn_\ba_\bm_\be. If
+ no argument is given then change to the home directory of
+ the user. If _\bn_\ba_\bm_\be is not found as a subdirectory of the
+ current directory (and does not begin with `/', `./' or
+ `../'), then each component of the variable c\bcd\bdp\bpa\bat\bth\bh is
+ checked to see if it has a subdirectory _\bn_\ba_\bm_\be. Finally, if
+ all else fails but _\bn_\ba_\bm_\be is a shell variable whose value be-
+ gins with `/', then this is tried to see if it is a direc-
+ tory.
+
+ c\bco\bon\bnt\bti\bin\bnu\bue\be
+ Continue execution of the nearest enclosing w\bwh\bhi\bil\ble\be or
+ f\bfo\bor\bre\bea\bac\bch\bh. The rest of the commands on the current line are
+ executed.
+
+ d\bde\bef\bfa\bau\bul\blt\bt:
+ Labels the default case in a s\bsw\bwi\bit\btc\bch\bh statement. The default
+ should come after all c\bca\bas\bse\be labels.
+
+ d\bdi\bir\brs\bs Prints the directory stack; the top of the stack is at the
+ left, the first directory in the stack being the current
+ directory.
+
+ e\bec\bch\bho\bo _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
+ e\bec\bch\bho\bo -\b-n\bn _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
+ The specified words are written to the shell's standard
+ output, separated by spaces, and terminated with a newline
+ unless the -\b-n\bn option is specified.
+
+ e\bel\bls\bse\be
+ e\ben\bnd\bd
+ e\ben\bnd\bdi\bif\bf
+ e\ben\bnd\bds\bsw\bw See the description of the f\bfo\bor\bre\bea\bac\bch\bh, i\bif\bf, s\bsw\bwi\bit\btc\bch\bh, and w\bwh\bhi\bil\ble\be
+ statements below.
+
+ e\bev\bva\bal\bl _\ba_\br_\bg _\b._\b._\b.
+ (As in sh(1).) The arguments are read as input to the
+ shell and the resulting command(s) executed in the context
+ of the current shell. This is usually used to execute com-
+ mands generated as the result of command or variable sub-
+ stitution, since parsing occurs before these substitutions.
+ See tset(1) for an example of using e\bev\bva\bal\bl.
+
+ e\bex\bxe\bec\bc _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ The specified command is executed in place of the current
+ shell.
+
+ e\bex\bxi\bit\bt
+ e\bex\bxi\bit\bt _\b(_\be_\bx_\bp_\br)
+ The shell exits either with the value of the s\bst\bta\bat\btu\bus\bs vari-
+ able (first form) or with the value of the specified e\bex\bxp\bpr\br
+ (second form).
+
+ f\bfg\bg
+ f\bfg\bg %\b%_\bj_\bo_\bb _\b._\b._\b.
+ Brings the current or specified jobs into the foreground,
+ continuing them if they were stopped.
+
+ f\bfo\bor\bre\bea\bac\bch\bh _\bn_\ba_\bm_\be _\b(_\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt_\b)
+ ...
+ e\ben\bnd\bd The variable n\bna\bam\bme\be is successively set to each member of
+ w\bwo\bor\brd\bdl\bli\bis\bst\bt and the sequence of commands between this command
+ and the matching e\ben\bnd\bd are executed. (Both f\bfo\bor\bre\bea\bac\bch\bh and e\ben\bnd\bd
+ must appear alone on separate lines.) The builtin command
+ c\bco\bon\bnt\bti\bin\bnu\bue\be may be used to continue the loop prematurely and
+ the builtin command b\bbr\bre\bea\bak\bk to terminate it prematurely.
+ When this command is read from the terminal, the loop is
+ read once prompting with `?' before any statements in the
+ loop are executed. If you make a mistake typing in a loop
+ at the terminal you can rub it out.
+
+ g\bgl\blo\bob\bb _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
+ Like e\bec\bch\bho\bo but no `\' escapes are recognized and words are
+ delimited by null characters in the output. Useful for
+ programs that wish to use the shell to filename expand a
+ list of words.
+
+ g\bgo\bot\bto\bo _\bw_\bo_\br_\bd
+ The specified w\bwo\bor\brd\bd is filename and command expanded to
+ yield a string of the form `label'. The shell rewinds its
+ input as much as possible and searches for a line of the
+ form `label:' possibly preceded by blanks or tabs. Execu-
+ tion continues after the specified line.
+
+ h\bha\bas\bsh\bhs\bst\bta\bat\bt
+ Print a statistics line showing how effective the internal
+ hash table has been at locating commands (and avoiding
+ e\bex\bxe\bec\bc's). An e\bex\bxe\bec\bc is attempted for each component of the
+ _\bp_\ba_\bt_\bh where the hash function indicates a possible hit, and
+ in each component that does not begin with a `/'.
+
+ h\bhi\bis\bst\bto\bor\bry\by
+
+
+ h\bhi\bis\bst\bto\bor\bry\by _\bn
+ h\bhi\bis\bst\bto\bor\bry\by -\b-r\br _\bn
+ h\bhi\bis\bst\bto\bor\bry\by -\b-h\bh _\bn
+ Displays the history event list; if _\bn is given only the _\bn
+ most recent events are printed. The -\b-r\br option reverses the
+ order of printout to be most recent first instead of oldest
+ first. The -\b-h\bh option causes the history list to be printed
+ without leading numbers. This format produces files suit-
+ able for sourcing using the -h option to s\bso\bou\bur\brc\bce\be.
+
+ i\bif\bf (_\be_\bx_\bp_\br command)
+ If the specified expression evaluates true, then the single
+ _\bc_\bo_\bm_\bm_\ba_\bn_\bd with arguments is executed. Variable substitution
+ on _\bc_\bo_\bm_\bm_\ba_\bn_\bd happens early, at the same time it does for the
+ rest of the i\bif\bf command. _\bC_\bo_\bm_\bm_\ba_\bn_\bd must be a simple command,
+ not a pipeline, a command list, or a parenthesized command
+ list. Input/output redirection occurs even if _\be_\bx_\bp_\br is
+ false, i.e., when command is n\bno\bot\bt executed (this is a bug).
+
+ i\bif\bf (_\be_\bx_\bp_\br) t\bth\bhe\ben\bn
+ ...
+ e\bel\bls\bse\be i\bif\bf (_\be_\bx_\bp_\br_\b2) t\bth\bhe\ben\bn
+ ...
+ e\bel\bls\bse\be
+ ...
+ e\ben\bnd\bdi\bif\bf If the specified _\be_\bx_\bp_\br is true then the commands up to the
+ first e\bel\bls\bse\be are executed; otherwise if _\be_\bx_\bp_\br_\b2 is true then
+ the commands up to the second e\bel\bls\bse\be are executed, etc. Any
+ number of e\bel\bls\bse\be-\b-i\bif\bf pairs are possible; only one e\ben\bnd\bdi\bif\bf is
+ needed. The e\bel\bls\bse\be part is likewise optional. (The words
+ e\bel\bls\bse\be and e\ben\bnd\bdi\bif\bf must appear at the beginning of input lines;
+ the i\bif\bf must appear alone on its input line or after an
+ e\bel\bls\bse\be.)
+
+ j\bjo\bob\bbs\bs
+ j\bjo\bob\bbs\bs -\b-l\bl
+ Lists the active jobs; the -\b-l\bl option lists process id's in
+ addition to the normal information.
+
+ k\bki\bil\bll\bl %\b%_\bj_\bo_\bb
+ k\bki\bil\bll\bl _\bp_\bi_\bd
+ k\bki\bil\bll\bl -\b-s\bsi\big\bg _\bp_\bi_\bd _\b._\b._\b.
+ k\bki\bil\bll\bl -\b-l\bl
+ Sends either the TERM (terminate) signal or the specified
+ signal to the specified jobs or processes. Signals are ei-
+ ther given by number or by names (as given in
+ _\b/_\bu_\bs_\br_\b/_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b/_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh_\b, stripped of the prefix ``SIG'').
+ The signal names are listed by ``kill -l''. There is no
+ default, just saying `kill' does not send a signal to the
+ current job. If the signal being sent is TERM (terminate)
+ or HUP (hangup), then the job or process will be sent a
+ CONT (continue) signal as well.
+
+ l\bli\bim\bmi\bit\bt
+ l\bli\bim\bmi\bit\bt _\br_\be_\bs_\bo_\bu_\br_\bc_\be
+ l\bli\bim\bmi\bit\bt _\br_\be_\bs_\bo_\bu_\br_\bc_\be _\bm_\ba_\bx_\bi_\bm_\bu_\bm_\b-_\bu_\bs_\be
+ l\bli\bim\bmi\bit\bt -\b-h\bh
+ l\bli\bim\bmi\bit\bt -\b-h\bh _\br_\be_\bs_\bo_\bu_\br_\bc_\be
+ l\bli\bim\bmi\bit\bt -\b-h\bh _\br_\be_\bs_\bo_\bu_\br_\bc_\be _\bm_\ba_\bx_\bi_\bm_\bu_\bm_\b-_\bu_\bs_\be
+ Limits the consumption by the current process and each pro-
+ cess it creates to not individually exceed _\bm_\ba_\bx_\bi_\bm_\bu_\bm_\b-_\bu_\bs_\be on
+ the specified _\br_\be_\bs_\bo_\bu_\br_\bc_\be. If no _\bm_\ba_\bx_\bi_\bm_\bu_\bm_\b-_\bu_\bs_\be is given, then
+ the current limit is printed; if no _\br_\be_\bs_\bo_\bu_\br_\bc_\be is given, then
+ all limitations are given. If the -\b-h\bh flag is given, the
+ hard limits are used instead of the current limits. The
+ hard limits impose a ceiling on the values of the current
+ limits. Only the super-user may raise the hard limits, but
+ a user may lower or raise the current limits within the le-
+ gal range.
+
+ Resources controllable currently include _\bc_\bp_\bu_\bt_\bi_\bm_\be (the maxi-
+ mum number of cpu-seconds to be used by each process),
+ _\bf_\bi_\bl_\be_\bs_\bi_\bz_\be (the largest single file that can be created),
+ _\bd_\ba_\bt_\ba_\bs_\bi_\bz_\be (the maximum growth of the data+stack region via
+ sbrk(2) beyond the end of the program text), _\bs_\bt_\ba_\bc_\bk_\bs_\bi_\bz_\be (the
+ maximum size of the automatically-extended stack region),
+ and _\bc_\bo_\br_\be_\bd_\bu_\bm_\bp_\bs_\bi_\bz_\be (the size of the largest core dump that
+ will be created).
+
+ The _\bm_\ba_\bx_\bi_\bm_\bu_\bm_\b-_\bu_\bs_\be may be given as a (floating point or inte-
+ ger) number followed by a scale factor. For all limits
+ other than _\bc_\bp_\bu_\bt_\bi_\bm_\be the default scale is `k' or `kilobytes'
+ (1024 bytes); a scale factor of `m' or `megabytes' may also
+ be used. For _\bc_\bp_\bu_\bt_\bi_\bm_\be the default scale is `seconds'; a
+ scale factor of `m' for minutes or `h' for hours, or a time
+ of the form `mm:ss' giving minutes and seconds also may be
+ used.
+
+ For both _\br_\be_\bs_\bo_\bu_\br_\bc_\be names and scale factors, unambiguous pre-
+ fixes of the names suffice.
+
+ l\blo\bog\bgi\bin\bn Terminate a login shell, replacing it with an instance of
+ _\b/_\bb_\bi_\bn_\b/_\bl_\bo_\bg_\bi_\bn_\b. This is one way to log off, included for com-
+ patibility with sh(1).
+
+ l\blo\bog\bgo\bou\but\bt Terminate a login shell. Especially useful if i\big\bgn\bno\bor\bre\bee\beo\bof\bf is
+ set.
+
+ n\bni\bic\bce\be
+ n\bni\bic\bce\be _\b+_\bn_\bu_\bm_\bb_\be_\br
+ n\bni\bic\bce\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ n\bni\bic\bce\be _\b+_\bn_\bu_\bm_\bb_\be_\br _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ The first form sets the scheduling priority for this shell
+ to 4. The second form sets the priority to the given
+ _\bn_\bu_\bm_\bb_\be_\br. The final two forms run command at priority 4 and
+ _\bn_\bu_\bm_\bb_\be_\br respectively. The greater the number, the less cpu
+ the process will get. The super-user may specify negative
+ priority by using `nice -number ...'. _\bC_\bo_\bm_\bm_\ba_\bn_\bd is always
+ executed in a sub-shell, and the restrictions placed on
+ commands in simple i\bif\bf statements apply.
+
+ n\bno\boh\bhu\bup\bp
+ n\bno\boh\bhu\bup\bp _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ The first form can be used in shell scripts to cause
+ hangups to be ignored for the remainder of the script. The
+ second form causes the specified command to be run with
+ hangups ignored. All processes detached with `&' are ef-
+ fectively n\bno\boh\bhu\bup\bp'ed.
+
+ n\bno\bot\bti\bif\bfy\by
+ n\bno\bot\bti\bif\bfy\by %\b%_\bj_\bo_\bb _\b._\b._\b.
+ Causes the shell to notify the user asynchronously when the
+ status of the current or specified jobs change; normally
+ notification is presented before a prompt. This is auto-
+ matic if the shell variable n\bno\bot\bti\bif\bfy\by is set.
+
+ o\bon\bni\bin\bnt\btr\br
+ o\bon\bni\bin\bnt\btr\br -\b-
+ o\bon\bni\bin\bnt\btr\br _\bl_\ba_\bb_\be_\bl
+ Control the action of the shell on interrupts. The first
+ form restores the default action of the shell on interrupts
+ which is to terminate shell scripts or to return to the
+ terminal command input level. The second form `onintr -'
+ causes all interrupts to be ignored. The final form causes
+ the shell to execute a `goto label' when an interrupt is
+ received or a child process terminates because it was in-
+ terrupted.
+
+ In any case, if the shell is running detached and inter-
+ rupts are being ignored, all forms of o\bon\bni\bin\bnt\btr\br have no mean-
+ ing and interrupts continue to be ignored by the shell and
+ all invoked commands. Finally o\bon\bni\bin\bnt\btr\br statements are ig-
+ nored in the system startup files where interrupts are dis-
+ abled (/etc/csh.cshrc, /etc/csh.login).
+
+ p\bpo\bop\bpd\bd
+ p\bpo\bop\bpd\bd _\b+_\bn
+ Pops the directory stack, returning to the new top directo-
+ ry. With an argument `+ _\bn' discards the _\bn'th entry in the
+ stack. The members of the directory stack are numbered
+ from the top starting at 0.
+
+ p\bpu\bus\bsh\bhd\bd
+ p\bpu\bus\bsh\bhd\bd _\bn_\ba_\bm_\be
+ p\bpu\bus\bsh\bhd\bd _\bn
+ With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two elements of
+ the directory stack. Given a _\bn_\ba_\bm_\be argument, p\bpu\bus\bsh\bhd\bd changes
+ to the new directory (ala c\bcd\bd) and pushes the old current
+ working directory (as in c\bcs\bsw\bw) onto the directory stack.
+ With a numeric argument, p\bpu\bus\bsh\bhd\bd rotates the _\bn'th argument of
+ the directory stack around to be the top element and
+ changes to it. The members of the directory stack are num-
+ bered from the top starting at 0.
+
+ r\bre\beh\bha\bas\bsh\bh Causes the internal hash table of the contents of the di-
+ rectories in the p\bpa\bat\bth\bh variable to be recomputed. This is
+ needed if new commands are added to directories in the p\bpa\bat\bth\bh
+ while you are logged in. This should only be necessary if
+ you add commands to one of your own directories, or if a
+ systems programmer changes the contents of a system direc-
+ tory.
+
+ r\bre\bep\bpe\bea\bat\bt _\bc_\bo_\bu_\bn_\bt _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ The specified _\bc_\bo_\bm_\bm_\ba_\bn_\bd which is subject to the same restric-
+ tions as the _\bc_\bo_\bm_\bm_\ba_\bn_\bd in the one line i\bif\bf statement above, is
+ executed _\bc_\bo_\bu_\bn_\bt times. I/O redirections occur exactly once,
+ even if _\bc_\bo_\bu_\bn_\bt is 0.
+
+ s\bse\bet\bt
+ s\bse\bet\bt _\bn_\ba_\bm_\be
+ s\bse\bet\bt _\bn_\ba_\bm_\be=word
+ s\bse\bet\bt _\bn_\ba_\bm_\be_\b[_\bi_\bn_\bd_\be_\bx_\b]=word
+ s\bse\bet\bt _\bn_\ba_\bm_\be=(wordlist)
+ The first form of the command shows the value of all shell
+ variables. Variables that have other than a single word as
+ their value print as a parenthesized word list. The second
+ form sets _\bn_\ba_\bm_\be to the null string. The third form sets
+ _\bn_\ba_\bm_\be to the single _\bw_\bo_\br_\bd. The fourth form sets the _\bi_\bn_\bd_\be_\bx'th
+ component of _\bn_\ba_\bm_\be to _\bw_\bo_\br_\bd; this component must already ex-
+ ist. The final form sets _\bn_\ba_\bm_\be to the list of words in
+ _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt. The value is always command and filename expand-
+ ed.
+
+ These arguments may be repeated to set multiple values in a
+ single set command. Note however, that variable expansion
+ happens for all arguments before any setting occurs.
+
+
+
+ s\bse\bet\bte\ben\bnv\bv
+ s\bse\bet\bte\ben\bnv\bv _\bn_\ba_\bm_\be
+ s\bse\bet\bte\ben\bnv\bv _\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
+ The first form lists all current environment variables. It
+ is equivalent to printenv(1). The last form sets the value
+ of environment variable _\bn_\ba_\bm_\be to be _\bv_\ba_\bl_\bu_\be, a single string.
+ The second form sets _\bn_\ba_\bm_\be to an empty string. The most
+ commonly used environment variables USER, TERM, and PATH
+ are automatically imported to and exported from the c\bcs\bsh\bh
+ variables _\bu_\bs_\be_\br, _\bt_\be_\br_\bm, and _\bp_\ba_\bt_\bh; there is no need to use
+ s\bse\bet\bte\ben\bnv\bv for these.
+
+ s\bsh\bhi\bif\bft\bt
+ s\bsh\bhi\bif\bft\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be
+ The members of a\bar\brg\bgv\bv are shifted to the left, discarding
+ a\bar\brg\bgv\bv[1]. It is an error for a\bar\brg\bgv\bv not to be set or to have
+ less than one word as value. The second form performs the
+ same function on the specified variable.
+
+ s\bso\bou\bur\brc\bce\be _\bn_\ba_\bm_\be
+ s\bso\bou\bur\brc\bce\be -\b-h\bh _\bn_\ba_\bm_\be
+ The shell reads commands from _\bn_\ba_\bm_\be. S\bSo\bou\bur\brc\bce\be commands may be
+ nested; if they are nested too deeply the shell may run out
+ of file descriptors. An error in a s\bso\bou\bur\brc\bce\be at any level
+ terminates all nested s\bso\bou\bur\brc\bce\be commands. Normally input dur-
+ ing s\bso\bou\bur\brc\bce\be commands is not placed on the history list; the
+ -h option causes the commands to be placed on the history
+ list without being executed.
+
+ s\bst\bto\bop\bp
+ s\bst\bto\bop\bp %\b%_\bj_\bo_\bb _\b._\b._\b.
+ Stops the current or specified jobs that are executing in
+ the background.
+
+ s\bsu\bus\bsp\bpe\ben\bnd\bd
+ Causes the shell to stop in its tracks, much as if it had
+ been sent a stop signal with ^\b^Z\bZ. This is most often used to
+ stop shells started by su(1).
+
+ s\bsw\bwi\bit\btc\bch\bh _\b(_\bs_\bt_\br_\bi_\bn_\bg_\b)
+ c\bca\bas\bse\be _\bs_\bt_\br_\b1:
+ ...
+ b\bbr\bre\bea\bak\bks\bsw\bw
+ ...
+ d\bde\bef\bfa\bau\bul\blt\bt:
+ ...
+ b\bbr\bre\bea\bak\bks\bsw\bw
+ e\ben\bnd\bds\bsw\bw Each case label is successively matched against the speci-
+ fied _\bs_\bt_\br_\bi_\bn_\bg which is first command and filename expanded.
+ The file metacharacters `*', `?' and `[...]' may be used
+ in the case labels, which are variable expanded. If none
+ of the labels match before the `default' label is found,
+ then the execution begins after the default label. Each
+ case label and the default label must appear at the begin-
+ ning of a line. The command b\bbr\bre\bea\bak\bks\bsw\bw causes execution to
+ continue after the e\ben\bnd\bds\bsw\bw. Otherwise control may fall
+ through case labels and the default label as in C. If no
+ label matches and there is no default, execution continues
+ after the e\ben\bnd\bds\bsw\bw.
+
+ t\bti\bim\bme\be
+ t\bti\bim\bme\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ With no argument, a summary of time used by this shell and
+ its children is printed. If arguments are given the speci-
+ fied simple command is timed and a time summary as de-
+ scribed under the t\bti\bim\bme\be variable is printed. If necessary,
+ an extra shell is created to print the time statistic when
+ the command completes.
+
+ u\bum\bma\bas\bsk\bk
+ u\bum\bma\bas\bsk\bk _\bv_\ba_\bl_\bu_\be
+ The file creation mask is displayed (first form) or set to
+ the specified value (second form). The mask is given in
+ octal. Common values for the mask are 002 giving all ac-
+ cess to the group and read and execute access to others or
+ 022 giving all access except write access for users in the
+ group or others.
+
+ u\bun\bna\bal\bli\bia\bas\bs _\bp_\ba_\bt_\bt_\be_\br_\bn
+ All aliases whose names match the specified pattern are
+ discarded. Thus all aliases are removed by `unalias *'.
+ It is not an error for nothing to be u\bun\bna\bal\bli\bia\bas\bse\bed\bd.
+
+ u\bun\bnh\bha\bas\bsh\bh Use of the internal hash table to speed location of execut-
+ ed programs is disabled.
+
+ u\bun\bnl\bli\bim\bmi\bit\bt
+ u\bun\bnl\bli\bim\bmi\bit\bt _\br_\be_\bs_\bo_\bu_\br_\bc_\be
+ u\bun\bnl\bli\bim\bmi\bit\bt -\b-h\bh
+ u\bun\bnl\bli\bim\bmi\bit\bt -\b-h\bh _\br_\be_\bs_\bo_\bu_\br_\bc_\be
+ Removes the limitation on _\br_\be_\bs_\bo_\bu_\br_\bc_\be. If no _\br_\be_\bs_\bo_\bu_\br_\bc_\be is spec-
+ ified, then all _\br_\be_\bs_\bo_\bu_\br_\bc_\be limitations are removed. If -\b-h\bh is
+ given, the corresponding hard limits are removed. Only the
+ super-user may do this.
+
+ u\bun\bns\bse\bet\bt _\bp_\ba_\bt_\bt_\be_\br_\bn
+ All variables whose names match the specified pattern are
+ removed. Thus all variables are removed by `unset *'; this
+ has noticeably distasteful side-effects. It is not an er-
+ ror for nothing to be u\bun\bns\bse\bet\bt.
+
+ u\bun\bns\bse\bet\bte\ben\bnv\bv _\bp_\ba_\bt_\bt_\be_\br_\bn
+ Removes all variables whose name match the specified pat-
+ tern from the environment. See also the s\bse\bet\bte\ben\bnv\bv command
+ above and printenv(1).
+
+ w\bwa\bai\bit\bt Wait for all background jobs. If the shell is interactive,
+ then an interrupt can disrupt the wait. After the inter-
+ rupt, the shell prints names and job numbers of all jobs
+ known to be outstanding.
+ w\bwh\bhi\bic\bch\bh _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ Displays the resolved command that will be executed by the
+ shell.
+
+ w\bwh\bhi\bil\ble\be _\b(_\be_\bx_\bp_\br_\b)
+ ...
+ e\ben\bnd\bd While the specified expression evaluates non-zero, the com-
+ mands between the w\bwh\bhi\bil\ble\be and the matching e\ben\bnd\bd are evaluated.
+ B\bBr\bre\bea\bak\bk and c\bco\bon\bnt\bti\bin\bnu\bue\be may be used to terminate or continue the
+ loop prematurely. (The w\bwh\bhi\bil\ble\be and e\ben\bnd\bd must appear alone on
+ their input lines.) Prompting occurs here the first time
+ through the loop as for the f\bfo\bor\bre\bea\bac\bch\bh statement if the input
+ is a terminal.
+
+ %\b%_\bj_\bo_\bb Brings the specified job into the foreground.
+
+ %\b%_\bj_\bo_\bb &\b& Continues the specified job in the background.
+
+ @\b@
+ @\b@_\bn_\ba_\bm_\be= expr
+
+ @\b@_\bn_\ba_\bm_\be_\b[_\bi_\bn_\bd_\be_\bx_\b]= expr
+ The first form prints the values of all the shell vari-
+ ables. The second form sets the specified _\bn_\ba_\bm_\be to the val-
+ ue of _\be_\bx_\bp_\br. If the expression contains `<', `>', `&' or `|'
+ then at least this part of the expression must be placed
+ within `(' `)'. The third form assigns the value of _\be_\bx_\bp_\br
+ to the _\bi_\bn_\bd_\be_\bx'th argument of _\bn_\ba_\bm_\be. Both _\bn_\ba_\bm_\be and its
+ _\bi_\bn_\bd_\be_\bx'th component must already exist.
+
+ The operators `*=', `+=', etc are available as in C. The space separat-
+ ing the name from the assignment operator is optional. Spaces are, how-
+ ever, mandatory in separating components of _\be_\bx_\bp_\br which would otherwise be
+ single words.
+
+ Special postfix `++' and `--' operators increment and decrement _\bn_\ba_\bm_\be re-
+ spectively, i.e., `@ i++'.
+
+ P\bPr\bre\be-\b-d\bde\bef\bfi\bin\bne\bed\bd a\ban\bnd\bd e\ben\bnv\bvi\bir\bro\bon\bnm\bme\ben\bnt\bt v\bva\bar\bri\bia\bab\bbl\ble\bes\bs