| Previous | Table of Contents | Next |
Variable/Attribute Assignment Format
| variable= | declare variable and set it to null |
| typeset variable= | declare variable and set it to null. If used within a function, then a local variable is declared. |
| variable=value | assign value to variable |
| typeset variable=value | assign value to variable. If used within a function, then a local variable is declared. |
| typeset attribute variable=value | assign attribute and value to variable |
| typeset attribute variable | assign attribute to variable |
| typeset +attribute variable | remove attribute from variable (except readonly) |
Variable/Attribute Listing Format
| typeset attribute | display a list of variable names and their values that have attribute set |
| typeset +attribute | display a list of variable names that have attribute set |
Variables can have one or more attributes that specify their internal representation, scope, or the way they are displayed.
Variable Attribute Assignment Format
| typeset H variable | Set UNIX to host-name file mapping for non-UNIX systems |
| typeset i variable | Set variable to be integer type |
| typeset in variable | Set variable to be integer type with base n |
| typeset l variable | Set variable to lower case |
| typeset L variable | Left justify variable; the field width is specified by the first assignment |
| typeset Ln variable | Left justify variable; set field width to n |
| typeset LZn variable | Left justify variable; set field width to n and strip leading zeros |
| typeset r variable | Set variable to be readonly (same as readonly) |
| typeset R variable | Right justify variable; the field width is specified by the first assignment |
| typeset Rn variable | Right justify variable; set field width to n |
| typeset RZn variable | Right justify variable; set field width to n and fill with leading zeros |
| typeset t variable | Set the user-defined attribute for variable. This has no meaning to the Korn shell. |
| typeset u variable | Set variable to upper case |
| typeset x variable | Automatically export variable to the environment (same as export) |
| typeset Z variable | Same as typeset RZ |
Variable values can be accessed and manipulated using variable expansion. Basic expansion is done by preceding the variable name with the $ character. Other types of expansion can be used to return portions or the length of variables, use default or alternate values, assign default or alternate values, and more.
Variable Expansion Format
| ${variable} | value of variable |
| ${#variable} | length of variable |
| ${variable:word} | value of variable if set and not null, else print word. If : is omitted, variable is only checked if it is set. |
| ${variable:=word} | value of variable if set and not null, else variable is set to word, then expanded. If : is omitted, variable is only checked if it is set. |
| ${variable:?} | value of variable if set and not null, else print "variable: parameter null or not set". If : is omitted, variable is only checked if it is set. |
| ${variable:?word} | value of variable if set and not null, else print value of word and exit. If : is omitted, variable is only checked if it is set. |
| ${variable:+word} | value of word if variable is set and not null, else nothing is substituted. If : is omitted, variable is only checked if it is set. |
| ${variable#pattern} | value of variable without the smallest beginning portion that matches pattern |
| ${variable##pattern} | value of variable without the largest beginning portion that matches pattern |
| ${variable%pattern} | value of variable without the smallest ending portion that matches pattern |
| ${variable%%pattern} | value of variable without the largest ending portion that matches pattern |
Some special parameters are automatically set by the Korn shell, and usually cannot be directly set or modified.
Special Parameters
| $# | number of positional parameters |
| $@ | all positional parameters ("$1", "$2", ..., "$n") |
| $* | all positional parameters ("$1 $2 ... $n") |
| $? | exit status of the last command |
| $$ | process id of the current shell |
| $ | current options in effect |
| $! | process id of the last background command or co-process |
| Previous | Table of Contents | Next |