BUILTIN(1) – General Commands Manual
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,
printf,
pushd,
pwd,
read,
readonly,
rehash,
repeat,
return,
sched,
set,
setenv,
settc,
setty,
setvar,
shift,
source,
stop,
suspend,
switch,
telltc,
test,
then,
time,
times,
trap,
true,
type,
ulimit,
umask,
unalias,
uncomplete,
unhash,
unlimit,
unset,
unsetenv,
until,
wait,
where,
which,
while – shell built-in commands
SYNOPSIS
See the built-in command description in the appropriate shell manual page.
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 component
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 of its builtin commands.
Beware that the
sh(1)
manual page, at least, calls some of these commands
“built-in commands”
and some of them
“reserved 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
**[** Yes No 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 Yes
**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
**printf** Yes No Yes
**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
**times** No No Yes
**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),
dash(1),
echo(1),
false(1),
info(1),
kill(1),
login(1),
nice(1),
nohup(1),
printenv(1),
printf(1),
pwd(1),
sh(1),
test(1),
time(1),
true(1),
which(1),
zsh(1)
HISTORY
The
builtin
manual page first appeared in
FreeBSD 3.4.
AUTHORS
This manual page was written by
Sheldon Hearn <[email protected]>.
macOS 12.6 – December 21, 2010