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
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.
- Options
-c
str
Read commands from string str
.
-D
Print all $"..."
strings in the program. ksh93
only.
-i
Create an interactive shell (prompt for input).
-I
file
Create 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.