Typeset 組込みコマンドは変数または関数を表示・設定します。
typeset [-gprxX] [変数…] [変数=値…]
typeset -f[pr] [関数…]
-f (--functions) オプションを付けずに実行すると、typeset コマンドは変数を出力または設定します。-f (--functions) オプションを付けて実行すると、typeset コマンドは関数を出力または設定します。
-p (--print) オプションを付けて実行すると、typeset コマンドはオペランドで指定した変数または関数を標準出力に出力します。-p (--print) オプションを付けずに実行すると、typeset コマンドはオペランドで指定した変数または関数を設定します。オペランドを一つも与えずに実行すると、-p (--print) オプションの有無にかかわらず typeset コマンドは全ての変数または関数を出力します (このとき -g (--global) オプションがあれば本当にすべての変数を、そうでないときはローカル変数だけを出力します)。
-f, --functions
-g, --global
-p, --print
-r, --readonly
-x, --export
-x, --unexport
変数は存在するがその値は存在しない状態になります (このような変数はパラメータ展開では存在しない変数として扱います)。
-p (--print) オプションを指定したときでもこの変数は出力ではなく設定されます。
エラーがない限り typeset コマンドの終了ステータスは 0 です。
既にローカル変数が存在する場合、それを無視してグローバル変数を新しく作ることはできません (-g (--global) オプションを指定していても既存のローカル変数が再設定されます)。
POSIX には typeset コマンドに関する規定はありません。
Export コマンドは typeset コマンドに -gx オプションを付けたものと同じです。Readonly コマンドは typeset コマンドに -gr オプションを付けたものと同じです。