The command interpreter for the Bourne shell (sh) or the Korn shell (ksh) can be invoked as follows:
sh [options] [arguments] ksh [options] [arguments]
ksh and sh can execute commands from a terminal, from a file (when the first argument is an executable script), or from standard input (if no arguments remain or if -s
is specified). ksh and sh automatically print prompts if standard input is a terminal, or if -i
is given on the command line.
Arguments are assigned in order to the positional parameters $1
, $2
, etc. If array assignment is in effect (-A
or +A
), arguments are assigned as array elements. If the first argument is an executable script, commands are read from it, and the remaining arguments are assigned to $1
, $2
, etc.
-c
strRead commands from string str.
-D
Print all $"..."
strings in the program. ksh93 only.
-i
Create an interactive shell (prompt for input).
-I
fileCreate a cross-reference database for variable and command definitions and references. May not be compiled in. ksh93 only.
-p
Start up as a privileged user (Bourne shell: don't set the effective user and group IDs to those of the real user and group IDs. Korn shell: don't process $HOME/.profile).
-r
Create a restricted shell (same as rksh or rsh).
-s
Read commands from standard input; output from built-in commands goes to file descriptor 1; all other shell output goes to file descriptor 2.
The remaining options to sh and ksh are listed under the set built-in command.