Previous Section  < Day Day Up >  Next Section

12.14. Built-In Commands

The Korn shell has a number of built-in commands, as shown in Table 12.15.

Table 12.15. Built-In Commands and Their Functions

Command

Function

:

Do-nothing command; returns exit status 0.

. file

The dot command reads and executes a command from file.

break

See "The break Command" on page 699.

continue

See "The continue Command" on page 700.

cd

Changes directory.

echo [ args ]

Displays arguments.

eval command

Shell scans the command line twice before execution.

exec command

Runs command in place of this shell.

exit [ n ]

Exit the shell with status n.

export [ var ]

Makes var known to subshells.

fc –e [ editor ] [ lnr ] first last

Used to edit commands in the history list. If no editor is specified, the value of FCEDIT is used; if FCEDIT is not set, /bin/ed is used. Usually history is aliased to fc –l.

EXAMPLES

fc –l

Lists the last 16 commands on the history list.

fc –e emacs grep

Reads the last grep command into the emacs editor.

fc 25 30

Reads commands 25 through 30 into the editor specified in FCEDIT, by default the ed editor.

fc –e –

Re-executes the last command.

fc –e – Tom=Joe 28

Replaces Tom with Joe in history command 28.

fg

Brings the last background job to the foreground.

fg %n

Brings job number n to the foreground. Type jobs to find the correct job number.

jobs [–l]

Lists the active jobs by number and with the –l option by PID number.

EXAMPLES


$ jobs

[3] + Running       sleep 50&

[1] – Stopped        vi

[2]  Running         sleep%


kill [–signal process ]

Sends the signal to the PID number or job number of process. See /usr/include/sys/signal.h for a list of signals.

SIGNALS

SIGHUP1 /* hangup (disconnect) */

SIGINT 2 /* interrupt */

SIGQUIT 3 /* quit */

SIGILL 4 /* illegal instruction (not reset when caught) */

SIGTRAP 5 /* trace trap (not reset when caught) */

SIGIOT 6 /* IOT instruction */

SIGABRT 6 /* used by abort, replace SIGIOT in the future */

SIGEMT 7 /* EMT instruction */

SIGFPE 8 /* floating-point exception */

SIGKILL 9 /* kill (cannot be caught or ignored) */

SIGBUS 10 /* bus error */

SIGSEGV 11 /* segmentation violation */

SIGSYS 12 /* bad argument to system call */

SIGPIPE 13 /* write on a pipe with no one to read it */

SIGALRM 14 /* alarm clock */

SIGTERM 15 /* software termination signal from kill */

SIGURG 16 /* urgent condition on I/O channel */

SIGSTOP 17 /* sendable stop signal not from tty */

SIGTSTP 18 /* stop signal from tty */

SIGCONT 19 /* continue a stopped process */

 

EXAMPLES

(To use the kill command and a signal name, strip off the SIG prefix and precede the signal name with a dash.)


kill –INT %3

kill –HUP 1256

kill –9 %3

kill %1


getopts

Used in shell scripts to parse command line and check for legal options.

hash

Lists all tracked aliases.

login [ username ]

 

newgrp [ arg ]

Changes your real group ID to the group ID.

print –[nrRsup]

Replacement for echo. See print.

pwd

Print present working directory.

read [ var ]

Read line from standard input into variable var.

readonly [ var ]

Make variable var readonly. Cannot be reset.

return [ n ]

Exit value given to a function.

set [ –aefhknoptuvx– [–o option] [–A arrayname] [ arg ] ]

Examples

set

Lists all variables and their values.

set +

Lists all variables without their values.

set –o

Lists all option settings.

set a b c

Resets positional parameters $1, $2, $3.

set –s

Sorts $1, $2, and $3 alphabetically.

set –o vi

Sets the vi option.

set –xv

Turns on the xtrace and verbose options for debugging.

set ––

Unsets all positional parameters.

set –– "$x"

Sets $1 to the value of x, even if x is –x.

set == $x

Does pathname expansion on each item in x and then sets the positional parameters to each item.

set –A name tom dick harry name[0] is set to tom; name[1] is set to dick;
                       name[2] is set to harry.
set +A name joe name[0] is reset to joe, the rest of the array is left
                alone; name[1] is dickname[2] is harry.

(To set options, use the –o flag; to unset options, use the +o flag.)

set –o ignoreeof

Options:

allexport

After setting this, exports any variable defined or changed.

bgnice

Runs background jobs with a lesser priority; used instead of nice.

emacs

Sets the emacs built-in editor.

errexit

The shell exits when a command returns a nonzero exit status.

gmacs

Sets the built-in gmacs editor.

ignoreeof

Ignores the EOF (Ctrl-D) key from terminating the shell. Must use exit to exit.

keyword

Adds keyword arguments occurring anywhere on the command line to the environment of the shell.

markdirs

Puts a trailing backslash on all directory names resulting from filename expansion.

monitor

Sets job control.

noclobber

Prevents overwriting files using the redirection operator, >. Use >| to force overwrite.

noexec

Same as ksh –n; reads commands but does not execute them. Used to check for syntax errors in shell scripts.

noglob

Disables pathname expansion with ksh wildcard metacharacters.

nolog

Function definitions will not be stored in the history file.

nounset

Displays an error if a variable has not been set.

privileged

Turns on privileged mode for setuid programs.

trackall

Ksh causes each command to become a tracked alias; automatically turned on for interactive shells.

verbose

Echos each line of input to standard error; useful in debugging.

vi

Sets the vi built-in editor.

viraw

Specifies vi character at a time input.

xtrace

Expands each command and displays it in the PS4 prompt, with variables expanded.

shift [ n ]

Shifts positional parameters to the left n times.

times

Prints accumulated user and system times for processes run from this shell.

trap [ arg ] [ n ]

When shell receives signal n ( 0, 1, 2, or 15 ), arg is executed.

type [ command ]

Prints the type of command; for example, pwd is a built-in shell. In ksh, an alias for whence –v.

typeset [ options ] [ var ]

Sets attributes and values for shell variables and functions.

ulimit [ options size ]

Sets maximum limits on processes.

EXAMPLES

ulimit –a

Display all limits:

Time (seconds) unlimited.

File (blocks) unlimited.

Data (kbytes) 524280.

Stack (kbytes) 8192.

Memory (kbytes) unlimited.

Core dump (blocks) unlimited.

 

Other Options:

 

–c size

Limits core dumps to size blocks.

 

–d size

Limits the data size (of executables) to size blocks.

 

–f size

Limits the size of files to size blocks (default).

 

–m size

Limits the size of physical memory to size K bytes.

 

–s size

Limits the size of the stack area to size K bytes.

 

–t secs

Limits process execution time to secs seconds.

umask [ mask ]

Without argument, prints out file creation mask for permissions.

umask [ octal digits ]

User file creation mode mask for owner, group, and others.

unset [ name ]

Unsets value of variable or function.

wait [ pid#n ]

Waits for background process with PID number n and report termination status.

whence [ command ]

Prints information about the command, like ucb whereis.

EXAMPLES

 

whence –v happy

happy is a function

 

whence –v addon

addon is an undefined function

 

whence –v ls

ls is a tracked alias for /bin/ls

 

whence ls

/bin/ls


    Previous Section  < Day Day Up >  Next Section