| 日本−日本語 |
|
|
|
![]() |
HP-UX リファレンス: セクション 1 : ユーザーコマンド (A~M) > kkeysh(1)HP-UX 11i Version 2: September 2004 |
|
名称keysh ― コンテキスト認識型のソフトキーシェル 説明keysh は、標準のコーンシェルを拡張したものです。通常のコーンシェルの機能については、 ksh(1) を参照してください。 keysh ではコーンシェルの機能とメニューシステムの使いやすさを組み合わせた 階層形式のソフトキーメニューとコンテキスト認識型のヘルプが提供されるので、 ユーザーはこれを利用してコマンド行を作成することができます。 また、 keysh は完全なデータ駆動型として動作するので、 必要に応じてメニューやヘルプを拡張することができます。 keysh を呼び出す場合は、環境変数 $TERM により terminfo(4) データベースの定義に従ってターミナルタイプが指定されていなければなりません (下記の 「環境変数」 参照)。 コマンド入力keysh ではコマンド行の構文解析を逐次行うので、 ソフトキーのラベルには適宜、状況に応じた 選択項目 が表示されることになります。 ユーザーは、これらのソフトキーを選択して、判読できる ソフトキーコマンド をコマンド行として作成できます。 keysh ではソフトキーのコマンドを自動的に HP-UX の対応するコマンド に置き換えて、これを実行します。 また、ソフトキーをすべて無視して、通常のコーンシェルの場合と同じように、 HP-UX コマンドを直接入力することもできます。 コマンドの入力中は通常、 keysh により画面の下の部分に状態行が表示されます。 この 状態行 には、ホスト名、現在のディレクトリ、日時の情報が示されます。 keysh では、現在選択されたソフトキーの実行を完了する前に、ユーザーによる特定の入力操作が必要になった場合は、状態行の位置に、一時的に プロンプトメッセージ を表示します。このメッセージには、ユーザーが行うべき操作について簡単な説明が示されます。 ソフトキーの型keysh では、次の 4 種類の基本ソフトキーが表示されます。
コマンド行の編集keysh は、通常のコーンシェルのコマンド行編集モードをサポートしています。また keysh は、 terminfo(4) データベースの定義に基づいて、大部分のターミナルで行われるカーソル移動、および編集キーの操作を認識します。次の編集キーを認識できます。
ソフトキー表示コマンドvisibles の設定オプションを使用可能にすると (下記の 設定 の項参照)、 keysh は別のコマンドの入力が必要になった時点で、 必ずソフトキーラベルに設定したソフトキーコマンドのリストを表示します。 これはトップレベルのソフトキーメニューです。 ソフトキーコマンドのいずれかを選択すると、 keysh によりそのコマンド名がコマンド行に挿入され、次にこのコマンドで使用できる主なパラメータとオプションを示すサブメニューが表示されます。 この時点で、オプションのソフトキーを (左から右の順に) 選択しても、またパラメータ ソフトキーの位置にテキストを入力してもかまいません。 keysh は自動的に階層構造のソフトキーメニューを進みます。 このとき、ソフトキーラベルには必ず、現在選択できる一連の項目が表示されます。 なお、 keysh はコマンドセパレータ (パイプ記号やセミコロンなど) を検出すると、 自動的にトップレベルのソフトキーメニューを表示します。 これにより、コマンド行に示すセパレータ以降のコマンドも同様に、 ソフトキーとして使用できるようになります。 ソフトキー非表示コマンドinvisibles の設定オプションを使用可能にすると (下記の 設定 の項参照)、 keysh は通常の HP-UX コマンドの入力を認識した時点でソフトキーラベルに現在選択できる項目を表示して、 ソフトキーを使用できる機会を一度だけ与えます。 トップレベルのソフトキーメニューオプションと同様に、 ソフトキーを無視して通常の HP-UX オプションを直接入力することができます。 バックアップ ソフトキーbackups の設定オプションを使用可能にすると (下記の 設定 の項参照)、 keysh はほかに表示するソフトキーがない場合 (コマンドが実行中の場合など) は必ず、 バックアップ ソフトキー を表示して、ターミナルの該当するファンクションキーに対応させます。 バックアップ ソフトキーにより、 一般によく見られる静的なソフトキーの制御が可能になります。 通常の HP-UX コマンドkeysh がトップレベルのソフトキーメニューを表示しているときに、 通常の HP-UX コマンドを入力すると、 keysh は単にバックアップ ソフトキーを表示するだけなので、 ユーザーはそのまま処理を続けることができます。 keysh では、これ以降、コマンドセパレータを検出すると、 トップレベルのソフトキーメニューを再表示します。 ターミナルセッションマネージャ上での keysh の使用法keysh をターミナルセッションマネージャ tsm(1)参照) のもとで使用すると、バックアップ ソフトキーの代わりに、 tsm ソフトキーが表示されます。この操作モードは、環境変数 $KEYTSM をセットすることにより、変更できます (下記の 環境変数 参照)。 また、 keysh を tsm と併用すると、状態行に tsm ウィンドウ番号が自動的に表示されます。 設定keysh の設定機能には、トップレベルの Keysh_config ソフトキーコマンドまたは内蔵コマンド kc によりアクセスすることができます。設定の主な機能は、次のとおりです。
keysh の設定を変更するたびに、 keysh によりユーザーの $HOME/.keyshrc ファイルが自動的に更新されます。これ以降に keysh を呼び出すと、既存の設定に基づいて、 keysh 自身の設定が変更されます。 ソフトキーの追加, 配置, 削除標準ソフトキー (下記の 標準ソフトキーの定義 参照) はいずれも、 kc softkey add コマンドを使用して、トップレベルのソフトキーメニューに追加することができます。また、必要に応じて、 with_label オプションを使用することにより、ソフトキーラベルに別の名称 (一般には、わかりにくい HP-UX コマンドの代わりに) を割り当てることもできます。 デフォルトでは、追加されたソフトキーは、トップレベルのソフトキーメニューの最後に示す --More-- バンクの最後に置かれます。この位置は、 kc softkey add コマンドの and_place オプションまたは kc softkey move コマンドによって、変更することもできます。 from_user または from_file のオプションを使用して、標準ソフトキー以外に、 カスタム ソフトキーファイルから特殊なソフトキーを追加することができます。 ソフトキーファイルのフォーマットについては、 softkeys(4) を参照してください。 特定のソフトキーファイルからソフトキーを追加すると、必ず残りのソフトキーもすべて自動的にロードされ、表示不可能のソフトキーコマンドとして提供されます。また、ファイル中のソフトキーはすべて、 kc softky add invisibles コマンドにより、表示不可能のソフトキーコマンドとしてロードすることができます。 トップレベルのソフトキーメニューで表示されるソフトキーは、 kc softkey delete コマンドにより削除することができます。 バックアップ ソフトキーの指定バックアップ ソフトキーは、通常、ユーザーの $HOME/.softkeys ファイルに指定します。基本的なバックアップ ソフトキーを定義する行の形式は、次のとおりです。
ここで、 <softkey> は表示されるソフトキーラベル、 <string> はターミナルのファンクションキーを対応させるテキスト文字列をそれぞれ表します。バックアップ ソフトキーは、計 8 個まで指定することができます。 バックアップ ソフトキーは、 keysh がそれをプログラムで対応させる前に kc softkey add backups コマンドによって明示的に追加しておかなければなりません。 グローバルオプションの選択各グローバルオプションは kc option コマンドによって、設定することができます。 次のグローバルオプションがあります。
状態行の項目の選択画面の下方に表示する状態行には、 kc status_line コマンドによってさまざまな項目を設定することができます。 次の項目を設定できます。
keysh の再開kc restart コマンドを実行すると、 keysh は $HOME/.keyshrc ファイルを再度読み取ります。このコマンドは通常、 keysh を別のウィンドウで指定した別の設定に更新する際に使用します。 また、 kc restart default コマンドを使用すると、 keysh は $HOME/.keyshrc ファイルを強制的に削除して、デフォルトの設定から再起動されます。 その他の設定変更の取り消しkc undo コマンドを使用することにより、 keysh は $HOME/.keyshrc ファイルをもとの内容で書き直す (すなわち、 keysh を呼び出して以降、加えられた変更内容をすべて取り消す) ことができます。 keysh 機能の制限keysh の機能は、ユーザー個人の希望に応じて、 その適用範囲を自由に設定することができます。 通常の HP-UX コマンド名 (コマンドオプションは必ずしも含みません) を 使い慣れたユーザー、あるいは tsm ソフトキーを表示しておきたいユーザーは、 kc options visibles off コマンドにより、 keysh がコマンドの入力待ちの間に、トップレベルのソフトキーメニューの表示を抑制することができます。この場合、 keysh は必要に応じて、バックアップ ソフトキーまたは tsm ソフトキーを適宜表示します ($HOME/.keyshrc ファイルを編集して、表示可能のソフトキーを記述した行を削除すれば、 keysh の起動時間が大幅に短縮されます)。 さらに、HP-UX コマンドのオプションにも慣れているユーザーの場合は、 kc options invisibles off コマンドによって、表示不可能のソフトキーコマンドも抑制させることができます。 また、バックアップ ソフトキーが不要のユーザーについては、 kc options backups off コマンドにより、バックアップ ソフトキーのプログラミングを抑制させることができます。 なお、 visiblesk, invisibles, および backups がすべてオフになっていると、 keysh はソフトキーの処理を まったく 行わなくなります。この場合、 keysh はコーンシェルに置き換わって、状態行を表示したり、カーソルの移動や編集キーの操作を認識するようになります。 例トップレベルのソフトキーメニューの最後に od od(1) を参照) というソフトキーを追加して、 Octal_dump というラベルを付けます。 kc softkey add od with_label Octal_dump トップレベルのソフトキーメニューの最初に paste(1) というソフトキーを追加して、 Paste というラベルを付けます。 kc softkey add paste and_place as_first_softkey トップレベルのソフトキーメニューにある ls(1) ソフトキーの直前に、 ~rpt/.softkeys ファイルの emacs というカスタム ソフトキーを追加します。 kc softkey add emacs from_user rpt and_place before_softkey ls 表示不可能のソフトキーをすべて、 ~rpt/.softkeys ファイルから追加します。 kc softkey add invisibles from_user rpt $HOME/.softkeys ファイルからバックアップ ソフトキーを追加します。 kc softkey add backups トップレベルのソフトキーメニューから Edit_file ソフトキーを削除します。 kc softkey delete Edit_file --Help-- ソフトキーを使用不能に設定します。 kc options help off 状態行にユーザー名を設定します。 kc status_line user_name on 状態行に、最後に実行したコマンドの終了値を設定します。
現在のディレクトリにある大きい方から 10 個のファイルをリストします。
標準ソフトキーの定義Copy_files, Move_files, Print_files, Set_file_attribs, Switch adjust, ar, bdf, cal, cancel, cat, cd, cdb, chatr, chgrp, chmod, chown, cmp, col, comm, cpio, cut, dd, df, diff, dircmp, disable, du, elm, enable, exit, find, fold, grep, head, jobs, kill, lp, lpstat, ls, mailx, make, man, mkdir, more, nm, nroff, od, paste, pg, pr, ps, remsh, rlogin, rm, rmdir, sdiff, set, shar, sort, tail, tar, tee, touch, tr, umask, uname, vi, wc, who, write, xd, xdb 環境変数
KSH との相違点keysh は ksh(1) の拡張バージョンですが、 ksh(1) とは次の点で異なります。 画面の更新keysh 表示出力の内容を効率的に活用することにより、ターミナルで使用可能な機能を有効利用します。コーンシェルでは、コマンド行の大半を表示しなおす場合がよくあります。これとは異なり keysh では該当する部分だけを対象に文字の追加や削除を行うことができます。 この機能により、特に環境変数 $KEYKSH をセットしている場合など、低速モデムの回線を使用する際に、 処理速度を大幅に向上させることができます (上記の 環境変数 参照)。 emacs モードの編集新しいコマンド、 <ESC>v は、vi モードの v コマンドの機能を実行するものです。 最初の ^N コマンドでは、前に実行されたコマンドを伴ったヒストリ行が呼び出されます。 これにより、一連のヒストリコマンドを簡単に繰り返すことができます。 gmacs の編集モードはサポートされていません。 emacs の編集モードは、 GNU emacs (18.54) の ^T の定義に準拠しています。 ^@ および <ESC> n ^K のコマンドは、サポートされていません。 M-<letter> および M-]<letter> のエイリアス機能 (真のソフトキー支援機能としては) はサポートされていません。 警告keysh では、環境変数 $TERM が $HOME/.profile ファイルに正しくセットされていなければなりません。 また、標準サイズ以外のターミナルで keysh を実行する場合は、 $LINES と $COLUMNS の環境変数も必須になります。これらの環境変数がセットされていない場合は、エラーメッセージが出力されるか、または画面の内容が正しく表示されなくなります。 keysh では、オプション ソフトキーは左から右の順に選択しなければなりません。 コマンド行で編集する場合は、カーソルを前に戻して、ソフトキーの順序を入れ換えることができますが、これはコマンドエラーになります。 keysh は $PS1, $PS2, および $PS3 を初期化して、タイプを 読み取り専用 に設定します (これを変更することはできません)。 これ以外のステータス情報を表示させる場合は、 $KEYSH を使用します。 keysh は通常、自動的に $HOME/.keyshrc ファイルを保守します。ただし、起動時エラーが発生したり、またこれが定常的に起きることがあります。この場合は、 kc restart default コマンド (ファイルを削除して、デフォルトの設定に戻る)、あるいは kc write コマンド (ファイルを現在の設定で更新する) のいずれかを実行してください。 keysh では、HP-UX コマンドのエイリアスを多用しないようにする必要があります。エイリアスが多く設定しすぎると、コマンドの変換で予想外の結果が出ることがあります。 keysh はコマンド行で使用したパラメータ数を予測する場合に、 コーンシェルの拡張機構の効果は考慮していないので、 実際に指定した実際のパラメータ数より少なく見積ることがあります。 emacs モードまたは vi モードの編集コマンド <ESC>* を使用して、これらのパラメータを事前に拡張しておくことができます。 なお、emacs モードの編集コマンド <ESC>v または vi モードの v を使用して、事前に変換されたソフトキーを編集することはできません (これ以降のコマンドは変換されないからです)。 keysh ではソフトキーを追加しすぎると、コーンシェルのデータサイズの制限 (1M バイト) を超えることがあり、誤動作の原因になります。 keysh では、 terminfo(4) のエントリーで pfkey の機能として定義されたものに限って、ファンクションキーをプログラム設定できます。同様に、 keysh で使用できるターミナルのハードウェア ソフトキーのラベルも、 terminfo(4) のエントリーで pln 機能として定義されているもの (同時に lh が 2 に指定されているもの) だけに限られます。 $KEYESC のデフォルト値は、ローカルおよびネットワークの環境の両方で必要な応答が得られるように設定されています。 入力した emacs モードまたは vi モードの編集コマンドを keysh が誤ってターミナルのエスケープシーケンスとみなす場合は、 この値を小さく設定してください。 バックアップ ソフトキーで使用するリテラルのキーシーケンス中に \n (改行) を指定すると、HP ターミナルでは正しく表示されなくなります。 代わりに、 \r (キャリッジリターン) を使用してください。 keysh は、ソフトキーラベルをシミュレートしている場合は、 tsm のソフトキーは表示しません。 ヘルプの表示中は、ページプログラムに送られる環境変数と引き数の数には制限があります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||