[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]

Commands Reference, Volume 3


ksh Command

Purpose

Invokes the Korn shell.

Syntax

ksh [ -i ] [ { + | - } { a e f h k m n t u v x } ] [ -o Option ... ] [ -c String | -s | -r | File [ Parameter ] ]

Note: Preceding a flag with + (plus) rather than - (minus) turns off the flag.

Description

The ksh command invokes the Korn shell, which is an interactive command interpreter and a command programming language. The shell carries out commands either interactively from a terminal keyboard or from a file.

The Korn shell is backwardly compatible with the Bourne shell (invoked with the bsh command) and contains most of the Bourne shell features as well as several of the best features of the C shell.

For more information about the Korn shell, refer to "Korn Shell" in AIX 5L Version 5.1 System User's Guide: Operating System and Devices.

Note: The ksh wait built in behaves in a manner similar to the parent wait() API.

An enchanced version of the korn shell, called ksh93, is also available. The enhanced Korn shell has additional features that are not available in the default Korn shell. For information regarding these additional features, refer to Enhanced Korn Shell in AIX 5L Version 5.1 System User's Guide: Operating System and Devices.

Flags


-a Exports automatically all subsequent parameters that are defined.
-c String Causes the Korn shell to read commands from the String variable. This flag cannot be used with the -s flag or with the File[Parameter] parameter.
-e Executes the ERR trap, if set, and exits if a command has a nonzero exit status. This mode is disabled while reading profiles.
-f Disables file name substitution.
-h Designates each command as a tracked alias when first encountered.
-i Indicates that the shell is interactive. An interactive shell is also indicated if shell input and output are attached to a terminal (as determined by the ioctl subroutine). In this case, the TERM environment variable is ignored (so that the kill 0 command does not kill an interactive shell) and the INTR signal is caught and ignored (so that a wait state can be interrupted). In all cases, the QUIT signal is ignored by the shell.
-k Places all parameter assignment arguments in the environment for a command, not just those arguments that precede the command name.
-m Runs background jobs in a separate process and prints a line upon completion. The exit status of background jobs is reported in a completion message. On systems with job control, this flag is turned on automatically for interactive shells.
-n Reads commands and checks them for syntax errors, but does not execute them. This flag is ignored for interactive shells.
-o Option Prints the current option settings and an error message if you do not specify an argument. You can use this flag to enable any of the following options:

allexport
Same as the -a flag.

errexit
Same as the -e flag.

bgnice
Runs all background jobs at a lower priority. This is the default mode.

emacs
Enters an emacs-style inline editor for command entry.

gmacs
Enters a gmacs-style inline editor for command entry.

ignoreeof
Does not exit the shell when it encounters an end-of-file character. You must use the exit command, or override the flag and exit the shell by pressing the Ctrl-D key sequence more than 11 times.

keyword
Same as the -k flag.

markdirs
Appends a / (slash) to all directory names that are a result of filename substitution.

monitor
Same as the -m flag.

noclobber
Prevents redirection from truncating existing files. When you specify this option, use the redirection symbol >| (right caret, pipe symbol) to truncate a file.

noexec
Same as the -n flag.

noglob
Same as the -f flag.

nolog
Prevents function definitions from being saved in the history file.

nounset
Same as the -u flag.

privileged
Same as the -p flag.

verbose
Same as the -v flag.

trackall
Same as the -h flag.

vi
Enters the insert mode of a vi-style inline editor for command entry. Entering escape character 033 puts the editor into the move mode. A return sends the line.

viraw
Processes each character as it is typed in vi mode.

xtrace
Same as the -x flag.

You can set more than one option on a single ksh command line.

-r Runs a restricted shell. With a restricted shell you cannot:
  • Change the current working directory.
  • Set the value of the SHELL, ENV, or PATH variable.
  • Specify the pathname of a command that contains a / (slash).
  • Redirect output of a command with > (right caret), >| (right caret, pipe symbol), <> (left caret, right caret), or >> (two right carets).
-s Causes the ksh command to read commands from the standard input. Shell output, except for the output of the special commands, is written to file descriptor 2. This parameter cannot be used with the -c flag or with the File[Parameter] parameter.
-t Exits after reading and executing one command.
-u Treats unset parameters as errors when substituting.
-v Prints shell input lines as they are read.
-x Prints executed commands and their arguments.

Files


/usr/bin/ksh Contains the path name to the Korn shell.
/tmp/sh* Contains temporary files that are created when a shell is opened.

Related Information

The env command.

The profile file format.

Korn Shell and Enhanced Korn Shell in AIX 5L Version 5.1 System User's Guide: Operating System and Devices.


[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]