.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man1/builtin.1,v 1.20 2002/07/23 14:38:07 tjr Exp $
+.\" $FreeBSD: /repoman/r/ncvs/src/share/man/man1/builtin.1,v 1.25 2005/09/09 17:02:08 garys Exp $
.\"
-.Dd September 1, 1999
+.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 jobs ,
.Nm kill ,
.Nm limit ,
+.Nm local ,
.Nm log ,
.Nm login ,
.Nm logout ,
.Nm readonly ,
.Nm rehash ,
.Nm repeat ,
+.Nm return ,
.Nm sched ,
.Nm set ,
.Nm setenv ,
.Nm test ,
.Nm then ,
.Nm time ,
+.Nm times ,
.Nm trap ,
.Nm true ,
.Nm type ,
.Nm where ,
.Nm which ,
.Nm while
-.Nd shell builtin commands
+.Nd shell built-in commands
.Sh SYNOPSIS
.Nm
.Op Fl options
Thus, while specifying
.Dq Ic echo
causes a builtin command to be executed under shells that support the
-builtin echo command,
+.Nm echo
+builtin command,
specifying
-.Dq Pa /bin/echo
+.Dq Ic /bin/echo
or
-.Dq Pa ./echo
+.Dq Ic ./echo
does not.
.Pp
While some builtin commands may exist in more than one shell, their
and
.Xr sh 1
shells are listed here.
-Consult the appropriate manual page for
-details on the operation of any given builtin command under those shells.
-Users of other shells will need to consult the documentation supplied
-with the other shells.
+Consult a shell's manual page for
+details on the operation 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.
+.Pp
+Commands marked
+.Dq Li No**
+under
+.Em External
+do exist externally,
+but are implemented as scripts using a builtin command of the same name.
.Bl -column ".Ic uncomplete" ".Em External" ".Xr csh 1" ".Xr sh 1" -offset indent
.It Xo
.Em "Command External" Ta Xr csh 1 Ta Xr sh 1
.Xc
-.It Ic alias Ta Yes Ta Yes Ta Yes
+.It Ic ! Ta \&No Ta \&No Ta \&Yes
+.It Ic % Ta \&No Ta Yes Ta \&No
+.It Ic . Ta \&No Ta \&No Ta Yes
+.It Ic : Ta \&No Ta Yes Ta Yes
+.It Ic @ Ta \&No Ta Yes Ta Yes
+.It Ic { Ta \&No Ta \&No Ta \&Yes
+.It Ic } Ta \&No Ta \&No Ta \&Yes
+.It Ic alias Ta \&No** Ta Yes Ta Yes
.It Ic alloc Ta \&No Ta Yes Ta \&No
-.It Ic bg Ta Yes Ta Yes Ta Yes
+.It Ic bg Ta No** Ta Yes Ta Yes
.It Ic bind Ta \&No Ta \&No Ta Yes
.It Ic bindkey Ta \&No Ta Yes Ta \&No
.It Ic break Ta \&No Ta Yes Ta \&Yes
.It Ic breaksw Ta \&No Ta Yes Ta \&No
+.It Ic builtin Ta \&No Ta \&No Ta Yes
.It Ic builtins Ta \&No Ta Yes Ta \&No
.It Ic case Ta \&No Ta Yes Ta Yes
-.It Ic cd Ta Yes Ta Yes Ta Yes
-.It Ic chdir Ta \&No Ta Yes Ta \&No
-.It Ic command Ta Yes Ta \&No Ta Yes
+.It Ic cd Ta \&No** Ta Yes Ta Yes
+.It Ic chdir Ta \&No Ta Yes Ta \&Yes
+.It Ic command Ta \&No** Ta \&No Ta Yes
.It Ic complete Ta \&No Ta Yes Ta \&No
.It Ic continue Ta \&No Ta Yes Ta \&Yes
.It Ic default Ta \&No Ta Yes Ta \&No
.It Ic exit Ta \&No Ta Yes Ta Yes
.It Ic export Ta \&No Ta \&No Ta Yes
.It Ic false Ta Yes Ta \&No Ta Yes
-.It Ic fc Ta Yes Ta \&No Ta Yes
-.It Ic fg Ta Yes Ta Yes Ta Yes
+.It Ic fc Ta \&No** Ta \&No Ta Yes
+.It Ic fg Ta \&No** Ta Yes Ta Yes
.It Ic filetest Ta \&No Ta Yes Ta \&No
.It Ic fi Ta \&No Ta \&No Ta Yes
.It Ic for Ta \&No Ta \&No Ta Yes
.It Ic foreach Ta \&No Ta Yes Ta \&No
-.It Ic getopts Ta Yes Ta \&No Ta Yes
+.It Ic getopts Ta \&No** Ta \&No Ta Yes
.It Ic glob Ta \&No Ta Yes Ta \&No
.It Ic goto Ta \&No Ta Yes Ta \&No
.It Ic hash Ta \&No Ta \&No Ta Yes
.It Ic hup Ta \&No Ta Yes Ta \&No
.It Ic if Ta \&No Ta Yes Ta \&Yes
.It Ic jobid Ta \&No Ta \&No Ta Yes
-.It Ic jobs Ta Yes Ta Yes Ta Yes
+.It Ic jobs Ta \&No** Ta Yes Ta Yes
.It Ic kill Ta Yes Ta Yes Ta \&No
.It Ic limit Ta \&No Ta Yes Ta \&No
+.It Ic local Ta \&No Ta \&No Ta Yes
.It Ic log Ta \&No Ta Yes Ta \&No
.It Ic login Ta Yes Ta Yes Ta \&No
.It Ic logout Ta \&No Ta Yes Ta \&No
.It Ic printenv Ta Yes Ta Yes Ta \&No
.It Ic pushd Ta \&No Ta Yes Ta \&No
.It Ic pwd Ta Yes Ta \&No Ta Yes
-.It Ic read Ta Yes Ta \&No Ta Yes
+.It Ic read Ta \&No** Ta \&No Ta Yes
.It Ic readonly Ta \&No Ta \&No Ta Yes
.It Ic rehash Ta \&No Ta Yes Ta \&No
.It Ic repeat Ta \&No Ta Yes Ta \&No
+.It Ic return Ta \&No Ta \&No Ta Yes
.It Ic sched Ta \&No Ta Yes Ta \&No
.It Ic set Ta \&No Ta Yes Ta \&Yes
.It Ic setenv Ta \&No Ta Yes Ta \&No
.It Ic test Ta Yes Ta \&No Ta Yes
.It Ic then Ta \&No Ta \&No Ta Yes
.It Ic time Ta Yes Ta Yes Ta \&No
+.It Ic times Ta \&No Ta \&No Ta Yes
.It Ic trap Ta \&No Ta \&No Ta Yes
.It Ic true Ta Yes Ta \&No Ta Yes
.It Ic type Ta \&No Ta \&No Ta Yes
.It Ic ulimit Ta \&No Ta \&No Ta Yes
-.It Ic umask Ta Yes Ta Yes Ta Yes
-.It Ic unalias Ta Yes Ta Yes Ta Yes
+.It Ic umask Ta \&No** Ta Yes Ta Yes
+.It Ic unalias Ta \&No** Ta Yes Ta Yes
.It Ic uncomplete Ta \&No Ta Yes Ta \&No
.It Ic unhash Ta \&No Ta Yes Ta \&No
.It Ic unlimit Ta \&No Ta Yes Ta \&No
.It Ic unset Ta \&No Ta Yes Ta Yes
.It Ic unsetenv Ta \&No Ta Yes Ta \&No
.It Ic until Ta \&No Ta \&No Ta Yes
-.It Ic wait Ta Yes Ta Yes Ta Yes
+.It Ic wait Ta \&No** Ta Yes Ta Yes
.It Ic where Ta \&No Ta Yes Ta \&No
.It Ic which Ta Yes Ta Yes Ta \&No
.It Ic while Ta \&No Ta Yes Ta \&Yes
.Xr csh 1 ,
.Xr echo 1 ,
.Xr false 1 ,
+.Xr info 1 ,
.Xr kill 1 ,
.Xr login 1 ,
.Xr nice 1 ,