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
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout