Korn Shell (ksh) Variables

In the Korn Shell (ksh), variables are used to store and manipulate data. Ksh supports both scalar and array variables.

Scalar Variables:

  • Scalar variables hold a single value at a time.
  • You can assign a value to a scalar variable using the equals sign (=).
  • Variable names are case-sensitive and consist of letters, digits, and underscores. They must start with a letter or an underscore.

Array Variables:

  • Array variables can store multiple values using indices.
  • You can assign values to specific indices of an array variable.
  • To refer to the entire array, use @ or *.

Special Variables:

Ksh also has special variables that have predefined meanings. For example:

  • $0: The name of the script or shell.
  • $1, $2, etc.: Represent the positional parameters.
  • $#: The number of positional parameters.
  • $?: The exit status of the last command. A value of 0 usually indicates success, and non-zero values indicate an error.
  • $$: The process ID of the shell.
  • $!: The process ID of the last background command.

Input/Output/Errors:

  • $*: All positional parameters as a single word (not recommended, use "$@" instead).
  • $@: All positional parameters as separate words (preferred over $*).
  • $#: The number of positional parameters.

Read-Only Variables:

  • Some variables in ksh are read-only and provide information about the shell environment.
  • Examples include RANDOM (generates a random number) and LINENO (current line number in the script).

Similar Posts