typeset [± HLRZfilrtux [n]] [name [= value]]...
whence [-pv] name...
typeset はシェル変数と関数の属性と値を設定します。関数内で typeset を実行すると、name が示す変数の新しいインスタンスが生成されます。関数が完了すると、その変数の値と型が復元されます。このコマンドには、以下の属性を指定できます。
このフラグは UNIX 以外のマシン上で、UNIX とホスト名ファイルとのマッピング情報を提供します。
左詰めを行い、先行する空白文字を value から取り除きます。n は、0 以外であればフィールドの幅を定義します。0 の場合、フィールドの幅は最初に代入される値の幅で決定されます。変数に値を代入したとき、フィールド幅より短ければ右側にブランクが詰められ、長ければ切り捨てられます。-Z フラグも指定されていれば、先行する 0 を削除します。-R フラグは無効になります。
右詰めを行い、 先行する空白文字を挿入します。n は、ゼロ以外であればフィールドの幅を定義します。0 の場合、フィールドの幅は最初に代入される値の幅で決定されます。変数に値を代入したとき、フィールド幅より短ければ左側にブランクが詰められ、長ければ終端が切り捨てられます。-L フラグは無効になります。
最初の、空白文字でない文字が数字で、 かつ -L フラグが設定されていない場合、 右詰めを行い先頭に 0 を詰めます。n は、 0 以外であればフィールドの幅を定義します。 0 の場合、 フィールドの幅は最初に代入される値の幅で決定されます。
名前は、変数名ではなく関数名を指します。代入は行われません。このフラグと共に指定できる他のフラグは、-t、-u、-x だけです。-t フラグは、この関数の実行トレースを有効にします。-u フラグは、この関数に「未定義」を示すマークを付けます。関数が参照されると、 関数定義を見つけるために FPATH 変数が検索されます。-x フラグを指定すると、名前で呼び出されるシェル手続き全体で関数定義が有効になります。
パラメータを整数とします。これにより算術演算が高速化されます。n は、ゼロ以外であればその値を底として定義します。0 の場合、最初の代入で底が決定されます。
大文字をすべて小文字に変換します。大文字への変換を示す -u フラグを無効にします。
name に「読み取り専用」のマークを付け、これらの名前が後続の割り当てでは変更できないようにします。
変数にタグを付けます。タグはユーザーが定義可能で、シェルに対して特別の意味を持ちません。
小文字をすべて大文字に変換します。小文字への変換を示す -l フラグを無効にします。
指定された name に対し、あとで実行されるコマンドの環境へ 自動的にエクスポートされるようにマークを付けます。
-i 属性は、-R、-L、-Z、-f と同時に指定することはできません。
- の代わりに + を使用すると、これらのフラグは無効になります。name 引数をまったく指定せずにフラグを指定すると、これらのフラグが設定されている変数の名前 (および選択により値も) が一覧表示されます。具体的には - を付加すれば名前と値が、+ を付加すれば名前だけが表示されます。name 引数とフラグを 1 つも指定しないと、すべての変数の名前と属性が表示されます。
whence コマンドは、 name ごとに、 コマンド名として使用される場合に どのように解釈されるかを指示します。
-v フラグは、より詳細に表示します。
-p フラグは、name が別名、関数名、予約語の場合でも、それに対するパス検索を行います。
1 つまたは 2 つのアスタリスク (*) が先頭に付加されている ksh(1) コマンドは、以下のような特殊な処理を受けます。
コマンドが完了しても、コマンドの直前の 変数代入リストは依然として有効です。
入出力のリダイレクトは変数代入後に行われます。
エラーが発生すると、それを含むスクリプトは中止されます。
変数代入形式で、** を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号のあとに実行され、ワード分割とファイル名生成は実行されません。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWcsu |