builtin(1)
NAME
- builtin, !, %, ., :, @, {, }, alias, alloc, bg, bind,
- bindkey, break,
 breaksw, builtins, case, cd, chdir, command, complete,
- continue, default,
 dirs, do, done, echo, echotc, elif, else, end, endif, endsw,
- esac, eval,
 exec, exit, export, false, fc, fg, filetest, fi, for,
- foreach, getopts,
 glob, goto, hash, hashstat, history, hup, if, jobid, jobs,
- kill, limit,
 local, log, login, logout, ls-F, nice, nohup, notify,
- onintr, popd,
 printenv, pushd, pwd, read, readonly, rehash, repeat,
- return, sched, set,
 setenv, settc, setty, setvar, shift, source, stop, suspend,
- switch,
 telltc, test, then, time, trap, true, type, ulimit, umask,
- unalias,
 uncomplete, unhash, unlimit, unset, unsetenv, until, wait,
- where, which,
 while - shell built-in commands
SYNOPSIS
builtin [-options] [args ...]
DESCRIPTION
- Shell builtin commands are commands  that  can  be  executed
- within the running shell's process. Note that, in the case of csh(1)
- builtin commands,
 the command is executed in a subshell if it occurs as any
- component of a
 pipeline except the last.
- If a command specified to the shell contains a slash ``/'',
- the shell
 will not execute a builtin command, even if the last compo
- nent of the
 specified command matches the name of a builtin command.
- Thus, while
 specifying ``echo'' causes a builtin command to be executed
- under shells
 that support the echo builtin command, specifying
- ``/bin/echo'' or
 ``./echo'' does not.
- 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.
- Only builtin commands for the csh(1) and sh(1) shells are
- listed here.
 Consult a shell's manual page for details on the operation
- its builtin
 commands. Beware that the sh(1) manual page, at least,
- calls some of
 these commands ``built-in commands'' and some of them ``re
- served words''.
 Users of other shells may need to consult an info(1) page or
- other
 sources of documentation.
- Commands marked ``No**'' under External do exist externally,
- but are
 implemented as scripts using a builtin command of the same
- name.
 Command External csh(1) sh(1) ! No No Yes
 % No Yes No
 . No No Yes
 : No Yes Yes
 @ No Yes Yes
 { No No Yes
 } No No Yes
 alias No** Yes Yes
 alloc No Yes No
 bg No** Yes Yes
 bind No No Yes
 bindkey No Yes No
 break No Yes Yes
 breaksw No Yes No
 builtin No No Yes
 builtins No Yes No
 case No Yes Yes
 cd No** Yes Yes
 chdir No Yes Yes
 command No** No Yes
 complete No Yes No
 continue No Yes Yes default No Yes No
 dirs No Yes No
 do No No Yes
 done No No Yes
 echo Yes Yes Yes
 echotc No Yes No
 elif No No Yes
 else No Yes Yes
 end No Yes No
 endif No Yes No
 endsw No Yes No
 esac No No Yes
 eval No Yes Yes
 exec No Yes Yes
 exit No Yes Yes
 export No No Yes
 false Yes No Yes
 fc No** No Yes
 fg No** Yes Yes
 filetest No Yes No
 fi No No Yes
 for No No Yes
 foreach No Yes No
 getopts No** No Yes
 glob No Yes No
 goto No Yes No
 hash No No Yes
 hashstat No Yes No
 history No Yes No
 hup No Yes No
 if No Yes Yes
 jobid No No Yes
 jobs No** Yes Yes
 kill Yes Yes No
 limit No Yes No
 local No No Yes
 log No Yes No
 login Yes Yes No
 logout No Yes No
 ls-F No Yes No
 nice Yes Yes No
 nohup Yes Yes No
 notify No Yes No
 onintr No Yes No
 popd No Yes No
 printenv Yes Yes No
 pushd No Yes No
 pwd Yes No Yes
 read No** No Yes
 readonly No No Yes rehash No Yes No
 repeat No Yes No
 return No No Yes
 sched No Yes No
 set No Yes Yes
 setenv No Yes No
 settc No Yes No
 setty No Yes No
 setvar No No Yes
 shift No Yes Yes
 source No Yes No
 stop No Yes No
 suspend No Yes No
 switch No Yes No
 telltc No Yes No
 test Yes No Yes
 then No No Yes
 time Yes Yes No
 trap No No Yes
 true Yes No Yes
 type No No Yes
 ulimit No No Yes
 umask No** Yes Yes
 unalias No** Yes Yes
 uncomplete No Yes No unhash No Yes No
 unlimit No Yes No
 unset No Yes Yes
 unsetenv No Yes No
 until No No Yes
 wait No** Yes Yes
 where No Yes No
 which Yes Yes No
 while No Yes Yes
SEE ALSO
- csh(1),  echo(1),  false(1),  info(1),  kill(1),   login(1),
- nice(1), nohup(1),
 printenv(1), pwd(1), sh(1), test(1), time(1), true(1),
- which(1)
HISTORY
The builtin manual page first appeared in FreeBSD 3.4.
AUTHORS
- This manual page was written by Sheldon Hearn <shel
- donh@FreeBSD.org>.
- BSD February 23, 2005