DragonFly On-Line Manual Pages
BUILTIN(1) DragonFly 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, let,
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, termname, test, then, time, times, trap, true,
type, ulimit, umask, unalias, uncomplete, unhash, unlimit, unset,
unsetenv, until, wait, where, which, while, wordexp, wordexp2 - 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 External csh(1) sh(1)
! No No Yes
% No Yes No
. No No Yes
: No Yes Yes
@ No Yes No
[ 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
let No No 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
termname 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
wordexp No No Yes
wordexp2 No No Yes
Note that the wordexp and wordexp2 commands are only meant to be used by
wordexp(3) and not by the user.
SEE ALSO
csh(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), wordexp(3)
HISTORY
The builtin manual page first appeared in FreeBSD 3.4.
AUTHORS
This manual page was written by Sheldon Hearn <sheldonh@FreeBSD.org>.
DragonFly 5.9-DEVELOPMENT October 9, 2020 DragonFly 5.9-DEVELOPMENT
read(n) Tcl Built-In Commands read(n)
______________________________________________________________________________
NAME
read - Read from a channel
SYNOPSIS
read ?-nonewline? channelId
read channelId numChars
______________________________________________________________________________
DESCRIPTION
In the first form, the read command reads all of the data from
channelId up to the end of the file. If the -nonewline switch is
specified then the last character of the file is discarded if it is a
newline. In the second form, the extra argument specifies how many
characters to read. Exactly that many characters will be read and
returned, unless there are fewer than numChars left in the file; in
this case all the remaining characters are returned. If the channel is
configured to use a multi-byte encoding, then the number of characters
read may not be the same as the number of bytes read.
ChannelId must be an identifier for an open channel such as the Tcl
standard input channel (stdin), the return value from an invocation of
open or socket, or the result of a channel creation command provided by
a Tcl extension. The channel must have been opened for input.
If channelId is in nonblocking mode, the command may not read as many
characters as requested: once all available input has been read, the
command will return the data that is available rather than blocking for
more input. If the channel is configured to use a multi-byte encoding,
then there may actually be some bytes remaining in the internal buffers
that do not form a complete character. These bytes will not be
returned until a complete character is available or end-of-file is
reached. The -nonewline switch is ignored if the command returns
before reaching the end of the file.
Read translates end-of-line sequences in the input into newline
characters according to the -translation option for the channel. See
the fconfigure manual entry for a discussion on ways in which
fconfigure will alter input.
USE WITH SERIAL PORTS
For most applications a channel connected to a serial port should be
configured to be nonblocking: fconfigure channelId -blocking 0. Then
read behaves much like described above. Care must be taken when using
read on blocking serial ports:
read channelId numChars
In this form read blocks until numChars have been received from
the serial port.
read channelId
In this form read blocks until the reception of the end-of-file
character, see fconfigure -eofchar. If there no end-of-file
character has been configured for the channel, then read will
block forever.
EXAMPLE
This example code reads a file all at once, and splits it into a list,
with each line in the file corresponding to an element in the list:
set fl [open /proc/meminfo]
set data [read $fl]
close $fl
set lines [split $data \n]
SEE ALSO
file(n), eof(n), fblocked(n), fconfigure(n), Tcl_StandardChannels(3)
KEYWORDS
blocking, channel, end of line, end of file, nonblocking, read,
translation, encoding
Tcl 8.1 read(n)