7.7. Built-in Commands
Examples to be entered as a command line
are shown with the $ prompt. Otherwise,
examples should be treated as code fragments
that might be included in a shell script.
For convenience, some of the reserved words used by multiline commands
also are included.
# | # Ignore all text that follows on the same line. # is used in shell
scripts as the comment character and is not really a command.
| #! | #!shell Used as the first line of a script to
invoke the named shell (with optional arguments).
Some older, non-Linux systems do not support scripts starting with
this line. For example:
#!/bin/bash
| : | : Null command. Returns an exit status of 0.
Sometimes used as the first character in a file to denote a bash script.
Shell variables can be placed after the :
to expand them to their values.
Example
Check whether someone is logged in:
if who | grep $1 > /dev/null
then : # do nothing
# if pattern is found
else echo "User $1 is not logged in"
fi
|
. | . file [arguments] Same as source.
| alias | alias [-p] [name[='cmd']] Assign a shorthand name as a synonym for cmd.
If ='cmd' is omitted, print the alias for name;
if name also is omitted or if [-p] is specified, print all aliases.
See also unalias.
| bg | bg [jobIDs] Put current job or jobIDs in the background.
See Section 7.8, "Job Control" later in this chapter.
|
bind | bind [options] bind [options] key:function Print or set the bindings that allow keys to invoke functions
such as cursor movement and line editing. Typical syntax choices for
keys are "\C-t"
for Ctrl-T and "\M-t" or "\et" for Esc T (quoting is needed to escape
the sequences from the shell). Function names can be seen though the
-l option.
Options
- -f filename
Consult filename for bindings, which should
be in the same format as on the bind
command line.
- -l
Print all Readline functions, which are functions that can be
bound to keys.
- -m keymap
Specify a keymap for this and further bindings. Possible keymaps are
emacs, emacs-standard, emacs-meta,
emacs-ctlx, vi, vi-move,
vi-command, and vi-insert.
- -p
Display all functions and the keys that invoke them, in the
format by which keys can be set.
- -q function
Display the key bindings that invoke function.
- -r key
Remove the binding attached to key, so it
no longer works.
- -s
Display all macros and the keys that invoke them, in the format
by which keys can be set.
- -u function
Remove all the bindings attached to
function, so no keys will invoke it.
- -v
Display all Readline variables (settings that affect history and
line editing) and their current settings, in the format by which
variables can be set.
- -x key:command
Bind key to a shell command (recent; not in all bash versions in common use).
- -P
Display all bound keys and the functions they invoke.
- -S
Display all macros and the keys that invoke them.
- -V
Display all Readline variables (settings that affect history and
line editing) and their current settings.
Example
Bind Ctrl-T to copy-forward-word,
the function that copies the part of the word following the cursor so
it can be repasted:
$ bind "\C-t":copy-forward-word
| break | break [n] Exit from the innermost (most deeply nested)
for, while, or until loop,
or from the n innermost levels of the loop.
Also exits from a select list.
| builtin | builtin command [arguments] Execute command, which must be a shell built-in. Useful
for invoking built-ins within scripts of the same name.
|
case | case string in regex) commands ;; ... esac If string matches regular expression regex,
perform the following commands. Proceed down the list of
regular expressions until one is found (to catch all
remaining strings, use * as regex at the end).
| cd | cd [dir&] With no arguments, change to home directory of user.
Otherwise, change working directory to dir. If dir is a
relative pathname but is not in the current directory, then the CDPATH
variable is searched.
| command | command [options] command [arguments] Execute command; do not perform function look-up (i.e.,
refuse to run any command that is neither in PATH nor a
built-in). Set exit status to that returned by command, unless
command cannot be found, in which case exit with a status of
127.
- -p
Search default path, ignoring the PATH variable's value.
- --
Treat everything that follows as an argument, not an option.
| continue | continue [n] Skip remaining commands in a for, while, or until loop,
resuming with the next iteration of the loop
(or skipping n loops).
| declare | declare [options] [name[=value]] typeset [options] [name[=value]] Print or set variables. Options prefaced by + instead of -
are inverted in meaning.
- -a
Treat the following names as array variables.
- -f
Treat the following names as functions.
- -i
Expect variable to be an integer, and evaluate its assigned value.
- -p
Print names and settings of all shell variables and functions;
take no other action.
- -r
Do not allow variables to be reset later.
- -x
Mark variables for subsequent export.
- -F
Print names of all shell functions; take no other action.
| dirs | dirs [options] Print directories currently remembered for pushd/popd operations.
Options
- +entry
Print entryth entry (list starts at 0).
- -entry
Print entryth entry from end of list.
- -l
Long listing.
| disown | disown [options] [jobIDs] Let job run, but disassociate it from the shell. By default, do
not even list the job as an active job; commands like jobs and fg will
no longer recognize it. When -h
is specified, the job is recognized but simply is kept from being
killed when the shell dies.
Options
- -a
Act on all jobs.
- -h
Do not pass a SIGHUP signal received by the shell on to the job.
| echo | echo [options] [string] Write string to standard output, terminated by a newline.
If no string is supplied, echo a newline.
In bash, echo is just an alias for print -.
(See also echo in Chapter 3, "Linux Commands").
- -e
Enable interpretation of escape characters:
- \a
Audible alert
- \b
Backspace
- \c
Suppress the terminating newline (same as -n)
- \f
Form feed
- \n
Newline
- \r
Carriage return
- \t
Horizontal tab
- \v
Vertical tab
- \\
Backslash
- \nnn
The character in the ASCII set corresponding to the octal number nnn.
- \xnnn
The character in the ASCII set corresponding to the hexadecimal number nnn.
- -n
Do not append a newline to the output.
- -E
Disable interpretation of escape characters.
| enable | enable [options] [built-in ...] Enable (or when -n is specified, disable) built-in
shell commands. Without built-in argument or
with -p option, print enabled
built-ins. With -a, print the status of
all built-ins. You can disable shell commands in order to
define your own functions with the same names.
Options
- -a
Display all built-ins, both enabled and disabled.
- -n builtin
Disable builtin.
- -p
Display enabled built-ins.
- -s
Restrict display to special built-ins defined by POSIX standard.
|
eval | eval [command args...] Perform command, passing args.
| exec | exec [options] [command] Execute command in place of the current process
(instead of creating a new process). exec also is useful for
opening, closing, or copying file descriptors.
Options
- -a name
Tell command that it was invoked as
name.
- -c
Remove all environment variables from the process when the new command
runs.
- -l
Treat the new process as if the user were logging in.
Examples
$ trap 'exec 2>&-' 0 Close standard error when
shell script exits (signal 0)
$ exec /bin/tcsh Replace current shell with extended C shell
$ exec < infile Reassign standard input to infile
| exit | exit [n] Exit a shell script with status n (e.g., exit 1).
n can be zero (success) or nonzero (failure).
If n is not given, exit status will be that of the most recent command.
exit can be issued at the command line to close a window (log out).
Example
if [ $# -eq 0 ]; then
echo "Usage: $0 [-c] [-d] file(s)"
exit 1 # Error status
fi
| export | export [options] [variables] export [options] [name=[value]]... Pass (export) the value of one or more shell variables,
giving global meaning to the variables (which are local by default).
For example, a variable defined in one shell script must be
exported if its value will be used in other programs
called by the script. If no variables are given,
export lists the variables exported by the current shell. If
name and value are specified, assign value to a
variable name.
Options
- --
Treat all subsequent strings as arguments, not options.
- -f
Expect variables to be functions.
- -n
Unexport variable.
- -p
List variables exported by current shell.
| fc | fc [options] [first] [last] fc -e - [old=new] [command] Display or edit commands in the history list.
(Use only one of -l or -e.)
fc provides capabilities similar to the C shell's history and
! syntax. first and last are numbers or
strings specifying the range of commands to display or edit.
If last is omitted, fc applies to a single command (specified
by first). If both first and last are omitted,
fc edits the previous command or lists the last 16.
The second form of fc takes a history command,
replaces old string with new string,
and executes the modified command. If no strings are
specified, command is just reexecuted. If no command
is given either, the previous command is reexecuted.
command is a number or string like first.
See examples under Section 7.6, "Command History".
Options
- -e [editor]
Invoke editor to edit the specified history commands.
The default editor is set by the shell variable FCEDIT.
- -l [first last]
List the specified command or range of commands, or list the last 16.
- -n
Suppress command numbering from the -l listing.
- -r
Reverse the order of the -l listing.
- -s pattern=newpattern
Edit command(s), replacing all occurrences of pattern
with newpattern. Then reexecute.
|
fg | fg [jobIDs] Bring current job or jobIDs to the foreground.
See Section 7.8, "Job Control".
| for | for x [in list] do commands done Assign each word in list to x in turn and execute commands.
If list is omitted, $@ (positional parameters) is assumed.
Examples
Paginate all files in the current directory; save each result:
for file in *
do
pr $file > $file.tmp
done
Search chapters for a list of words (like fgrep -f):
for item in `cat program_list`
do
echo "Checking chapters for"
echo "references to program $item..."
grep -c "$item.[co]" chap*
done
| function | function command { ... } Define a function. Refer to arguments the same way as
positional parameters in a shell script ($1, etc.) and
terminate with }.
| getopts | getopts string name [args] Process command-line arguments (or args, if specified) and check
for legal options. getopts
is used in shell script loops and is intended to ensure standard syntax for
command-line options. string contains the option letters
to be recognized by getopts when running the shell script.
Valid
options are processed in turn and stored in the shell variable name.
If an option letter is followed by a
colon, the option must be followed by one or more arguments.
| hash | hash [-r] [commands] Search for commands and remember the
directory in which each command resides. Hashing causes the shell to
remember the association between a "name" and the absolute pathname of
an executable, so that future executions don't require a search of
PATH. With no arguments, hash lists the current hashed
commands. The display shows hits (the number of times the
command is called by the shell) and command (the full pathname).
| help | help [-s] [string] Print help text on all built-in commands or those matching
string. With -s, display only brief syntax, otherwise
display summary paragraph also.
| history | history [options] history [lines] Print a numbered command history, denoting modified commands with a *.
Include commands from previous sessions.
You may specify how many lines of history to print.
Options
- -a [file]
bash maintains a file called .bash_history in the user's home
directory, a record of previous sessions' commands.
Ask bash to append the current
session's commands to .bash_history or to
file.
- -c
Clear history list: remove all previously entered commands from
the list remembered by the shell.
- -n [file]
Append to the history list those lines in the
.bash_history file or in file
that have not yet been included.
- -r [file]
Use .bash_history or
file as the history list, instead of the working
history list.
- -s command
Add command to working history list
without executing it.
- -w [file]
Overwrite .bash_history or
file with working history list.
| if | if test-cmds Begin a conditional statement. Possible formats are:
if test-cmds if test-cmds if test-cmds
then then then
cmds1 cmds1 cmds1
fi else elif test-cmds
cmds2 then
fi cmds2
...
else
cmdsn
fi
Usually, the initial if and any elif lines execute one
test or [] command (although any series of commands is
permitted). When if succeeds (that is, the last of its
test-cmds returns 0), cmds1 are performed;
otherwise each succeeding elif or else line is tried.
|
jobs | jobs [options] [jobIDs] List all running or stopped jobs, or those specified by
jobIDs. For example, you can check whether a long
compilation or text format is still running. Also useful before
logging out. See also Section 7.8, "Job Control" later in this chapter.
Options
- -l
List job IDs and process group IDs.
- -n
List only jobs whose status changed since last notification.
- -p
List process group IDs only.
- -r
List active, running jobs only.
- -s
List stopped jobs only.
- -x command [arguments]
Execute command. If jobIDs are specified, replace them with
command.
| kill | kill [options] IDs Terminate each specified process ID or job
ID. You must own the process or be a privileged
user. See also Section 7.8, "Job Control".
Options
- -signal
The signal number (from ps -f) or name (from kill -l).
With a signal number of 9, the kill cannot be caught. The default is TERM.
- --
Consider all subsequent strings to be arguments, not options.
- -l
List the signal names. (Used by itself.)
- -s signal
Specify signal. May be a name.
| let | let expressions Perform arithmetic as specified by one or more integer
expressions. expressions
consist of numbers, operators, and shell variables (which don't need a
preceding $). Expressions must be
quoted if they contain spaces or other special characters. For more
information and examples, see Section 7.5, "Arithmetic Expressions" earlier in this
chapter. See also expr in Chapter 3, "Linux Commands".
Examples
Both of the following examples add 1 to variable i:
let i=i+1
let "i = i + 1"
| local | local [options] [variable[=value]] [variable2[=value]] ... Without arguments, print all local variables.
Otherwise, create (and set, if specified) one or more local variables.
See the declare built-in
command for options.
|
logout | logout [status] Exit the shell, returning status as exit
status to invoking program if specified. Can be used only in a login
shell. Otherwise, use exit.
| popd | popd [options] Manipulate the directory stack. By default, remove the top directory
and cd to it.
Options
- +n
Remove the nth directory in the stack, counting from 0.
- -n
Remove nth entry from the bottom of the stack, counting
from 0.
| printf | printf string [arguments] Format a string like the C library printf function. Standard percent-sign formats
are recognized in string, such as %i for integer. Escape sequences such as
\n can be included in
string and are automatically recognized; if you
want to include them in arguments, specify a
string of %b. You
can escape characters in arguments to output a
string suitable for input to other commands by specifying a
string of %q.
Examples
$ printf "Previous command: %i\n" "$(($HISTCMD-1))"
Previous command: 534
$ echo $PAGER
less -E
$ printf "%q\n" "\t$PAGER"
\\tless\ -E
The last command probably would be used to record a setting in a file
where it could be read and assigned by another shell script.
| pushd | pushd directory pushd [options] By default, switch top two directories on stack. If specified, add
a new directory to the top of the stack instead, and cd to it.
Options
- +n
Rotate the stack to place the nth (counting from 0)
directory at the top.
- -n
Rotate the stack to place the nth directory from the bottom
of the stack at the top.
| pwd | pwd [-P] Display the current working directory's absolute pathname. By
default, any symbolic directories used when reaching the current
directory are displayed, but with the -P option the real names are displayed
instead.
| read | read [options] variable1 [variable2 ...] Read one line of standard input, and assign each word (as
defined by IFS) to the corresponding variable,
with all leftover words assigned to the last variable. If only one
variable is specified, the entire line will be assigned to that
variable. The return status is 0 unless EOF is
reached, a distinction that is useful for running loops over input
files. If no variable names are provided, read the entire string into
the environment variable REPLY.
Options
- -a var
Read each word into an element of var,
which is treated as an array variable.
- -d char
Stop reading the line at char instead of at
the newline.
- -e
Line editing and command history are enabled during input.
- -n num
Read only num characters from the line.
- -p string
Display the prompt string to the user
before reading each line, if input is interactive.
- -r
Raw mode; ignore \ as a line continuation character.
- -s
Do not echo the characters entered by the user (useful for
reading a password).
- -t seconds
Time out and return without setting any variables if input is
interactive and no input has been entered for
seconds seconds.
Examples
$ read first last address
Sarah Caldwell 123 Main Street
$ echo "$last, $first\n$address"
Caldwell, Sarah
123 Main Street
The following commands, which read a password into the variable
$user_pw and then display its value,
use recently added options that are not in all versions of bash in current use.
$ read -sp "Enter password (will not appear on screen)" user_pw
Enter password (will not appear on screen)
$ echo $user_pw
You weren't supposed to know!
The following script reads input from the system's password file,
which uses colons to delimit fields (making it a popular subject for
examples of input parsing).
IFS=:
cat /etc/passwd |
while
read account pw user group gecos home shell
do
echo "Account name $account has user info: $gecos"
done
| readonly | readonly [options] [variable1 variable2 ...] Prevent the specified shell variables from being assigned new values.
Variables can be accessed (read) but not overwritten. In bash, the syntax
variable=value can be used
to assign a new value that cannot be changed.
Options
- -a
Treat the following names as array variables.
- -f
Treat the following names as functions, and set them read-only
so that they cannot be changed.
- -p
Display all read-only variables (default).
|
return | return [n] Used inside a function definition. Exit the function with status
n or with the exit status of the previously executed command.
| select | select name [ in wordlist ; ] do commands done Choose a value for name by displaying the words in
wordlist to the user and prompting for a choice. Store
user input in the variable REPLY and the chosen word in
name. Then execute commands repeatedly until they
execute a break or return. Default prompt can be changed by
setting the PS3 shell variable.
| set | set [options] [arg1 arg2 ...] With no arguments, set prints the
values of all variables known to the current shell. Options can be
enabled (-option) or disabled
(+option). Options also can be set when the
shell is invoked, via bash. Arguments
are assigned in order to $1, $2, and so on.
Options
- -
Turn off -v and -x, and turn off option processing.
- --
Used as the last option; -- turns off option processing
so that arguments beginning with - are not misinterpreted as options.
(For example, you can set $1 to -1.) If no arguments are given
after --, unset the positional parameters.
- -a
From now on, automatically mark variables for export
after defining or changing them.
- -b
Report background job status at termination, instead of waiting for next
shell prompt.
- -e
Exit if a command yields a nonzero exit status.
- -f
Do not expand filename metacharacters
(e.g., * ? [ ]). Wildcard expansion
is sometimes called globbing.
- -h
Locate commands as they are defined, and remember them.
- -k
Assignment of environment variables (var=value)
will take effect regardless of where they appear on the command line. Normally, assignments must precede the command name.
- -m
Monitor mode.
Enable job control; background jobs executes in a separate process
group. -m usually is set automatically.
- -n
Read commands, but don't execute. Useful for checking errors, particularly for shell scripts.
- -o [m]
List shell modes, or turn on mode m.
Many modes can be set by other options. The modes can be turned off
through the +o option. Modes are:
- allexport
Same as -a.
- braceexpand
Same as -B.
- emacs
Enter Emacs editing mode (on by default).
- errexit
Same as -e.
- hashall
Same as -h.
- histexpand
Same as -H.
- history
Default. Preserve command history.
- ignoreeof
Don't allow use of a single Ctrl-D (the end-of-file or EOF character) to log off; use the exit command to log off. This has the same
effect as setting the shell variable IGNOREEOF=1.
- interactive-comments
Treat all words beginning with #, and all
subsequent words, as comments.
- keyword
Same as -k.
- monitor
Same as -m.
- noclobber
Same as -C.
- noexec
Same as -n.
- noglob
Same as -f.
- notify
Same as -b.
- nounset
Same as -u.
- onecmd
Same as -t.
- physical
Same as -P.
- posix
Match POSIX standard.
- privileged
Same as -p.
- verbose
Same as -v.
- vi
Enable vi-style command-line editing.
- xtrace
Same as -x.
- +o [m]
Display modes or turn off mode m. See the
-o option for a list of modes.
- -p
Start up as a privileged user; don't process $HOME/.profile.
- -t
Exit after one command is executed.
- -u
Indicate an error when user tries to use a variable that is undefined.
- -v
Show each shell command line when read.
- -x
Show commands and arguments when executed, preceded by a
+ or the prompt defined by the PS4
shell variable. This provides step-by-step debugging of shell scripts.
(Same as -o xtrace.)
- -B
Default. Enable brace expansion.
- -C
Don't allow output redirection (>) to overwrite an existing file.
- -H
Default. Enable ! and !! commands.
- -P
Print absolute pathnames in response to
pwd. By default, bash
includes symbolic links in its response to pwd.
Examples
set -- "$num" -20 -30 Set $1 to $num, $2 to -20, $3 to -30
set -vx Read each command line; show it;
execute it; show it again (with arguments)
set +x Stop command tracing
set -o noclobber Prevent file overwriting
set +o noclobber Allow file overwriting again
| shift | shift [n] Shift positional arguments (e.g., $2
becomes $1). If n
is given, shift to the left n places.
| source | source file [arguments] Read and execute lines in
file. file does not have to
be executable but must reside in a directory searched by PATH.
| suspend | suspend [-f] Same as Ctrl-Z. Often used to stop an
su command.
Option
- -f
Force suspend, even if shell is a login shell.
| test | test condition or [ condition ] Evaluate a condition and, if its value is true,
return a zero exit status; otherwise, return a nonzero exit status. An
alternate form of the command uses [] rather than the word
test. condition is
constructed using the following expressions. Conditions are true if
the description holds true.
File conditions
- -a file
file exists.
- -b file
file is a block special file.
- -c file
file is a character special file.
- -d file
file is a directory.
- -e file
file exists.
- -f file
file is a regular file.
- -g file
file has the set-group-ID bit set.
- -h file
file is a symbolic link.
- -k file
file has its sticky bit
(no longer used) set.
- -p file
file is a named pipe (FIFO).
- -r file
file is readable.
- -s file
file has a size greater than 0.
- -t [n]
The open file descriptor n is associated with a terminal device;
default n is 1.
- -u file
file has its set-user-ID bit set.
- -w file
file is writable.
- -x file
file is executable.
- -G file
file's group is the process's effective group ID.
- -L file
file is a symbolic link.
- -N file
file has been modified since its last time of access.
- -O file
file's owner is the process's effective user ID.
- -S file
file is a socket.
- f1 -ef f2
Files f1 and f2 are
linked (refer to same file through a hard link).
- f1 -nt f2
File f1 is newer than f2.
- f1 -ot f2
File f1 is older than f2.
String conditions
- -n s1
String s1 has nonzero length.
- -o s1
Shell option s1 is set. Shell options are
described under the set built-in
command.
- -z s1
String s1 has 0 length.
- s1 = s2
Strings s1 and s2 are identical.
- s1 == s2
Strings s1 and s2 are identical.
- s1 != s2
Strings s1 and s2 are not identical.
- s1 < s2
String s1 is lower in the alphabet (or
other sort in use) than s2. By default, the check
is performed character-by-character against the ASCII character set.
- s1 > s2
String s1 is higher in the alphabet (or
other sort in use) than s2.
- string
string is not null.
Integer comparisons
- n1 -eq n2
n1 equals n2.
- n1 -ge n2
n1 is greater than or equal to n2.
- n1 -gt n2
n1 is greater than n2.
- n1 -le n2
n1 is less than or equal to n2.
- n1 -lt n2
n1 is less than n2.
- n1 -ne n2
n1 does not equal n2.
Combined forms
- ! condition
True if condition is false.
- condition1 -a condition2
True if both conditions are true.
- condition1 -o condition2
True if either condition is true.
Examples
Each of the following examples shows the first line of various statements
that might use a test condition:
while test $# -gt 0 While there are arguments . . .
while [ -n "$1" ] While the first argument is nonempty . . .
if [ $count -lt 10 ] If $count is less than 10 . . .
if [ -d RCS ] If the RCS directory exists . . .
if [ "$answer" != "y" ] If the answer is not y . . .
if [ ! -r "$1" -o ! -f "$1" ] If the first argument is not a
readable file or a regular file . . .
| times | times Print accumulated process times for user and system.
| trap | trap [-l] [ [commands] signals] Execute commands if any of
signals is received. Common signals include 0,
1, 2, and 15. Multiple commands should be quoted as a group and
separated by semicolons internally. If commands
is the null string (i.e., trap ""signals), then
signals will be ignored by the shell. If
commands is omitted entirely, reset processing of
specified signals to the default action. If both
commands and signals are
omitted, list current trap assignments. See examples at the end of
this entry and under exec.
Option
- -l
List signals.
Signals
Signals are listed along with what triggers them.
- 0
Exit from shell (usually when shell script finishes).
- 1
Hang up (usually logout).
- 2
Interrupt (usually through Ctrl-C).
- 3
Quit.
- 4
Illegal instruction.
- 5
Trace trap.
- 6
Abort.
- 7
Unused.
- 8
Floating-point exception.
- 9
Termination.
- 10
User-defined.
- 11
Reference to invalid memory.
- 12
User-defined.
- 13
Write to a pipe without a process to read it.
- 14
Alarm timeout.
- 15
Software termination (usually via kill).
- 16
Unused.
- 17
Termination of child process.
- 18
Continue (if stopped).
- 19
Stop process.
- 20
Process suspended (usually through Ctrl-Z).
- 21
Background process has tty input.
- 22
Background process has tty output.
- 23
-
Unused.
- 24
-
Unused.
- 25
-
Unused.
- 26
-
Unused.
- 27
Unused.
- 28
-
Unused.
- 29
I/O possible on a channel.
Examples
trap "" 2 Ignore signal 2 (interrupts)
trap 2 Obey interrupts again
Remove a $tmp file when the shell program exits or if the user
logs out, presses Ctrl-C, or does a kill:
trap "rm -f $tmp; exit" 0 1 2 15
| type | type [options] commands Report absolute pathname of programs invoked for
commands and whether or not they are hashed.
- --
Consider all subsequent strings to be arguments, not options.
- -a, -all
Print all occurrences of command, not just that which would be
invoked.
- -p, -path
Print the hashed value of command, which may differ from
the first appearance of command in the PATH.
- -t, -type
Determine and state if command is an alias, keyword, function,
built-in, or file.
Example
$ type mv read
mv is /bin/mv
read is a shell built-in
| typeset | typeset See declare.
| ulimit | ulimit [options] [n] Print the value of one or more resource limits, or, if
n is specified, set a resource limit to
n. Resource limits can be either hard (-H) or soft (-S). By default, ulimit sets both limits or prints the soft
limit. The options determine which resource is acted on.
Options
- --
Consider all subsequent strings to be arguments, not options.
- -a
Print all current limits.
- -H
Hard resource limit.
- -S
Soft resource limit.
Specific limits
These options limit specific resource sizes.
- -c
Core files.
- -d
Size of processes' data segments.
- -f
Size of shell-created files.
- -l
Size of memory that the process can lock.
- -m
Resident set size.
- -n
Number of file descriptors. On many systems, this cannot
be set.
- -p
Pipe size, measured in blocks of 512 bytes.
- -s
Stack size.
- -t
Amount of CPU time, counted in seconds.
- -u
Number of processes per user.
- -v
Virtual memory used by shell.
| umask | umask [nnn] umask [-p] [-S] Display file creation mask or set file creation mask to octal value
nnn. The file creation mask determines which
permission bits are turned off (e.g., umask
002 produces rw-rw-r--).
Options
- -p
Display mask within an umask
command so that a caller can read and execute it.
- -S
Display umask symbolically, rather than in octal.
| unalias | unalias [-a] names Remove names from the alias list. See also
alias.
Option
- -a
Remove all aliases.
| unset | unset [options] names Erase definitions of functions or variables listed in
names.
Options
- -f
Expect name to refer to a function.
- -v
Expect name to refer to a variable (default).
| until | until test-commands do commands done Execute test-commands
(usually a test or [ ]
command), and if the exit status is nonzero (that is, the test fails),
perform commands; repeat.
| wait | wait [ID] Pause in execution until all background jobs complete (exit status 0
will be returned), or pause until the specified background process
ID or job ID completes (exit
status of ID is returned). Note that the shell
variable $! contains the process ID of the most recent background
process. If job control is not in effect, ID can
be only a process ID number. See Section 7.8, "Job Control".
Example
wait $! Wait for last background process to finish
| while | while test-commands do commands done Execute test-commands (usually a test or []
command) and if the exit status is 0, perform
commands; repeat.
|
| | | 7.6. Command History | | 7.8. Job Control |
Copyright © 2001 O'Reilly & Associates. All rights reserved.
|