BUILTIN(1) MidnightBSD General Commands Manual 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, 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 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

Externalcsh(1)mksh(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
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), echo(1), false(1), info(1), kill(1), login(1), mksh(1,) nice(1), nohup(1), printenv(1), pwd(1), test(1), time(1), true(1), which(1)

HISTORY

The builtin manual page first appeared in FreeBSD 3.4. Several commands, including setvar, are no longer present as the default /bin/sh changed to mksh(1) in MidnightBSD 0.3.

AUTHORS

This manual page was written by Sheldon Hearn 〈sheldonh@FreeBSD.org〉 and revised for MidnightBSD 0.3 by
Lucas Holt 〈luke@MidnightBSD.org〉.

MidnightBSD 0.3 March 27, 2009 MidnightBSD 0.3