Copyright (c) 1999 Sheldon Hearn

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

$FreeBSD: /repoman/r/ncvs/src/share/man/man1/builtin.1,v 1.25 2005/09/09 17:02:08 garys Exp $

.Dd February 23, 2005 .Dt BUILTIN 1 .Os .Sh NAME .Nm builtin , .Nm ! , .Nm % , .Nm . , .Nm : , .Nm @ , .Nm { , .Nm } , .Nm alias , .Nm alloc , .Nm bg , .Nm bind , .Nm bindkey , .Nm break , .Nm breaksw , .Nm builtins , .Nm case , .Nm cd , .Nm chdir , .Nm command , .Nm complete , .Nm continue , .Nm default , .Nm dirs , .Nm do , .Nm done , .Nm echo , .Nm echotc , .Nm elif , .Nm else , .Nm end , .Nm endif , .Nm endsw , .Nm esac , .Nm eval , .Nm exec , .Nm exit , .Nm export , .Nm false , .Nm fc , .Nm fg , .Nm filetest , .Nm fi , .Nm for , .Nm foreach , .Nm getopts , .Nm glob , .Nm goto , .Nm hash , .Nm hashstat , .Nm history , .Nm hup , .Nm if , .Nm jobid , .Nm jobs , .Nm kill , .Nm limit , .Nm local , .Nm log , .Nm login , .Nm logout , .Nm ls-F , .Nm nice , .Nm nohup , .Nm notify , .Nm onintr , .Nm popd , .Nm printenv , .Nm pushd , .Nm pwd , .Nm read , .Nm readonly , .Nm rehash , .Nm repeat , .Nm return , .Nm sched , .Nm set , .Nm setenv , .Nm settc , .Nm setty , .Nm setvar , .Nm shift , .Nm source , .Nm stop , .Nm suspend , .Nm switch , .Nm telltc , .Nm test , .Nm then , .Nm time , .Nm times , .Nm trap , .Nm true , .Nm type , .Nm ulimit , .Nm umask , .Nm unalias , .Nm uncomplete , .Nm unhash , .Nm unlimit , .Nm unset , .Nm unsetenv , .Nm until , .Nm wait , .Nm where , .Nm which , .Nm while .Nd shell built-in commands .Sh SYNOPSIS .Nm .Op Fl options .Op Ar args ... .Sh DESCRIPTION Shell builtin commands are commands that can be executed within the running shell's process. Note that, in the case of .Xr csh 1 builtin commands, the command is executed in a subshell if it occurs as any component of a pipeline except the last.

p If a command specified to the shell contains a slash .Dq / , the shell will not execute a builtin command, even if the last component of the specified command matches the name of a builtin command. Thus, while specifying .Dq Ic echo causes a builtin command to be executed under shells that support the .Nm echo builtin command, specifying .Dq Ic /bin/echo or .Dq Ic ./echo does not.

p While some builtin commands may exist in more than one shell, their operation may be different under each shell which supports them. Below is a table which lists shell builtin commands, the standard shells that support them and whether they exist as standalone utilities.

p Only builtin commands for the .Xr csh 1 and .Xr sh 1 shells are listed here. Consult a shell's manual page for details on the operation of its builtin commands. Beware that the .Xr sh 1 manual page, at least, calls some of these commands .Dq built-in commands and some of them .Dq reserved words . Users of other shells may need to consult an .Xr info 1 page or other sources of documentation.

p Commands marked .Dq Li No** under .Em External do exist externally, but are implemented as scripts using a builtin command of the same name. l -column ".Ic uncomplete" ".Em External" ".Xr csh 1" ".Xr sh 1" -offset indent t Xo .Em "Command External" Ta Xr csh 1 Ta Xr sh 1 .Xc t Ic ! Ta No Ta No Ta Yes t Ic % Ta No Ta Yes Ta No t Ic . Ta No Ta No Ta Yes t Ic : Ta No Ta Yes Ta Yes t Ic @ Ta No Ta Yes Ta Yes t Ic { Ta No Ta No Ta Yes t Ic } Ta No Ta No Ta Yes t Ic alias Ta No** Ta Yes Ta Yes t Ic alloc Ta No Ta Yes Ta No t Ic bg Ta No** Ta Yes Ta Yes t Ic bind Ta No Ta No Ta Yes t Ic bindkey Ta No Ta Yes Ta No t Ic break Ta No Ta Yes Ta Yes t Ic breaksw Ta No Ta Yes Ta No t Ic builtin Ta No Ta No Ta Yes t Ic builtins Ta No Ta Yes Ta No t Ic case Ta No Ta Yes Ta Yes t Ic cd Ta No** Ta Yes Ta Yes t Ic chdir Ta No Ta Yes Ta Yes t Ic command Ta No** Ta No Ta Yes t Ic complete Ta No Ta Yes Ta No t Ic continue Ta No Ta Yes Ta Yes t Ic default Ta No Ta Yes Ta No t Ic dirs Ta No Ta Yes Ta No t Ic do Ta No Ta No Ta Yes t Ic done Ta No Ta No Ta Yes t Ic echo Ta Yes Ta Yes Ta Yes t Ic echotc Ta No Ta Yes Ta No t Ic elif Ta No Ta No Ta Yes t Ic else Ta No Ta Yes Ta Yes t Ic end Ta No Ta Yes Ta No t Ic endif Ta No Ta Yes Ta No t Ic endsw Ta No Ta Yes Ta No t Ic esac Ta No Ta No Ta Yes t Ic eval Ta No Ta Yes Ta Yes t Ic exec Ta No Ta Yes Ta Yes t Ic exit Ta No Ta Yes Ta Yes t Ic export Ta No Ta No Ta Yes t Ic false Ta Yes Ta No Ta Yes t Ic fc Ta No** Ta No Ta Yes t Ic fg Ta No** Ta Yes Ta Yes t Ic filetest Ta No Ta Yes Ta No t Ic fi Ta No Ta No Ta Yes t Ic for Ta No Ta No Ta Yes t Ic foreach Ta No Ta Yes Ta No t Ic getopts Ta No** Ta No Ta Yes t Ic glob Ta No Ta Yes Ta No t Ic goto Ta No Ta Yes Ta No t Ic hash Ta No Ta No Ta Yes t Ic hashstat Ta No Ta Yes Ta No t Ic history Ta No Ta Yes Ta No t Ic hup Ta No Ta Yes Ta No t Ic if Ta No Ta Yes Ta Yes t Ic jobid Ta No Ta No Ta Yes t Ic jobs Ta No** Ta Yes Ta Yes t Ic kill Ta Yes Ta Yes Ta No t Ic limit Ta No Ta Yes Ta No t Ic local Ta No Ta No Ta Yes t Ic log Ta No Ta Yes Ta No t Ic login Ta Yes Ta Yes Ta No t Ic logout Ta No Ta Yes Ta No t Ic ls-F Ta No Ta Yes Ta No t Ic nice Ta Yes Ta Yes Ta No t Ic nohup Ta Yes Ta Yes Ta No t Ic notify Ta No Ta Yes Ta No t Ic onintr Ta No Ta Yes Ta No t Ic popd Ta No Ta Yes Ta No t Ic printenv Ta Yes Ta Yes Ta No t Ic pushd Ta No Ta Yes Ta No t Ic pwd Ta Yes Ta No Ta Yes t Ic read Ta No** Ta No Ta Yes t Ic readonly Ta No Ta No Ta Yes t Ic rehash Ta No Ta Yes Ta No t Ic repeat Ta No Ta Yes Ta No t Ic return Ta No Ta No Ta Yes t Ic sched Ta No Ta Yes Ta No t Ic set Ta No Ta Yes Ta Yes t Ic setenv Ta No Ta Yes Ta No t Ic settc Ta No Ta Yes Ta No t Ic setty Ta No Ta Yes Ta No t Ic setvar Ta No Ta No Ta Yes t Ic shift Ta No Ta Yes Ta Yes t Ic source Ta No Ta Yes Ta No t Ic stop Ta No Ta Yes Ta No t Ic suspend Ta No Ta Yes Ta No t Ic switch Ta No Ta Yes Ta No t Ic telltc Ta No Ta Yes Ta No t Ic test Ta Yes Ta No Ta Yes t Ic then Ta No Ta No Ta Yes t Ic time Ta Yes Ta Yes Ta No t Ic times Ta No Ta No Ta Yes t Ic trap Ta No Ta No Ta Yes t Ic true Ta Yes Ta No Ta Yes t Ic type Ta No Ta No Ta Yes t Ic ulimit Ta No Ta No Ta Yes t Ic umask Ta No** Ta Yes Ta Yes t Ic unalias Ta No** Ta Yes Ta Yes t Ic uncomplete Ta No Ta Yes Ta No t Ic unhash Ta No Ta Yes Ta No t Ic unlimit Ta No Ta Yes Ta No t Ic unset Ta No Ta Yes Ta Yes t Ic unsetenv Ta No Ta Yes Ta No t Ic until Ta No Ta No Ta Yes t Ic wait Ta No** Ta Yes Ta Yes t Ic where Ta No Ta Yes Ta No t Ic which Ta Yes Ta Yes Ta No t Ic while Ta No Ta Yes Ta Yes .El .Sh SEE ALSO .Xr csh 1 , .Xr echo 1 , .Xr false 1 , .Xr info 1 , .Xr kill 1 , .Xr login 1 , .Xr nice 1 , .Xr nohup 1 , .Xr printenv 1 , .Xr pwd 1 , .Xr sh 1 , .Xr test 1 , .Xr time 1 , .Xr true 1 , .Xr which 1 .Sh HISTORY The .Nm manual page first appeared in .Fx 3.4 . .Sh AUTHORS This manual page was written by .An Sheldon Hearn Aq sheldonh@FreeBSD.org .