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