ksh93 Command
Purpose
Invokes the Enhanced Korn shell.
Syntax
ksh93 [ + | - a b c C e f h i k m n o p r s t u v x BDP ] [+-R file] [ +-o Option ] [arg...].
+
(plus) rather than -
(minus) turns
off the flag.Description
The ksh93 command invokes the Enhanced 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 Enhanced Korn shell has additional features that are not available in the default Korn shell.
Flags
Item | Description |
---|---|
-B | Enables brace pattern field generation, and brace group expansion. This is set by default. |
-D | Does not execute the script, but results in the set of output strings in double quotation marks preceded by $. These strings are needed for localization of the script in different languages. |
-P | If the -P or -o profiles are present, the shell is called a profile shell. |
-a | Exports automatically all subsequent parameters that are defined. |
-b | Job completion messages are printed as soon as a background job changes state rather than waiting for the next prompt. |
-c | Causes commands to be read from the first argument. The remaining arguments become positional parameters starting from 0. |
-C | Prevents existing files from getting truncated when redirection
> is used. O_EXCL mode is used to create files.
Requires >| to truncate a file when -C option is
used. |
-e | If not contained within a || or && command, or following an if while or until command, or in the pipeline following !, 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 generation. |
-h | Designates each command as a tracked alias when first encountered. Note: The tracked alias feature is now obsolete.
|
-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 | (obsolete) 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. Note: ksh93 -n outputs a
warning message for certain syntax. These messages are warnings. Even though these warnings are
issued, the execution of the scripts is unaltered. The following are known warning messages:
|
-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:
|
|
|
|
|
|
|
-p | Disables processing of the $HOME/.profile file and uses the /etc/suid_profile file instead of the ENV file. This mode is on whenever the effective uid (gid) is not equal to the real uid (gid). Turning this off causes the effective uid and gid to be set to the real uid and gid. |
-r | Runs a restricted shell. With a restricted shell you cannot:
|
Item | Description |
---|---|
-R File | A cross reference database is generated when the -R File option is used. This can be used to find definitions and references for variables and commands by a separate utility. |
-s | Causes the ksh93 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. |
Audit Support
To enable the auditing feature in the enhanced Korn shell, complete the following steps:
- To enable the auditing feature in the ksh93u command, the
/etc/ksh_audit file must have an output filename an identification value for the
user. For example,
/tmp/ksh_auditfile;205;0
. - You can configure the auditing feature to generate a detailed record for every executable command. You can use the record to monitor, track, and audit activities for one or more users on a system, including the system administrators.
- To enable the auditing feature in the ksh93 command, the file /etc/ksh_audit must be created and configured by specifying the location of the audit_log file and an identification value for the user. You can separate the identification values by using a semicolon.
For example, the text /tmp/ksh_auditfile;0;100;205 in the
/etc/ksh_audit file refers to the location of the log file
(/tmp/ksh_auditfile
), and the user identification values which are, 0
(root), 100, and 205 respectively.
- The users awaiting audit must have Read and Write permissions for the configuration and log files.
- When the
EXTENDED_HISTORY
environment variable is switched on, the audit entries will have a timestamp information with non-printable characters at the end of the entry. By default, theEXTENDED_HISTORY
environment variable is turned on. However, you can manually turn it on by running the export EXTENDED_HISTORY=ON command. To disable theEXTENDED_HISTORY
environment variable, you can run the unset EXTENDED_HISTORY command. - The
EXTENDED_HISTORY
environment variable allows you to view a detailed tracking report for all commands that are executed in the shell.
Exit Status
Item | Description |
---|---|
0 | Successful completion. |
>0 | An error occurred. |
Location
/usr/bin/ksh93