名称
stty ― ターミナルポートに対するオプションの設定
構文
stty [-a | -g | options]
説明
stty は、現在の標準入力になっているデバイスに対するターミナル
I/O オプションの設定と、現在の設定状態の報告を行います。 このコマンドは次の 4 つの形式で指定できます。
| stty | | システム定義のオプションの設定状態を報告します。 |
| stty -a | | 現在のオプション設定状態をすべて報告します。 |
| stty -g | | 別の stty コマンドに対する引き数として使用できる形式で、現在の設定状態を報告します。 |
| stty options | | options で定義したターミナルの I/O オプションを設定します。 |
以下の制御モードからローカルモードまでの各項に示した各モードは
非同期回線に関連しています。これらの各モードの詳細については、 termio(7) を参照してください。ハードウェアフロー制御モードの項に示したモードの
詳細については、 termiox(7) を参照してください。
組み合わせモードの項に示す各オプションは、 その前の項に示したオプションを使用して実現されます。
無意味なオプションの組み合わせも多数ありますが、 妥当性のチェックは行われません。
options は、次のモードオプションの中から選択します。
制御モード
| rows number | | ターミナルウィンドウの行数を number に設定します。 |
| columns number | | ターミナルウィンドウのカラム数 (幅) を number に設定します。 columns の省略形として cols を使用することができます。 |
| parenb (-parenb) | | パリティの生成と検出の機能をオン (オフ) にします。 |
| parodd (-parodd) | | 奇数 (偶数) パリティを選択します。 |
| cs5 cs6 cs7 cs8 | | 文字サイズを選択します termio(7) 参照)。 |
| 0 | | 電話回線をただちに切断します。 |
| 50 75 110 134.5 150 200 300 600 900
1200 1800 2400 |
| | | |
| 3600 4800 7200 9600 19200 38400 57600
115200 230400 exta extb |
| | | 可能ならば、ターミナルのボーレートを指定の値に設定します
(ハードウェア インタフェースによっては、ここに示した速度をサポートしない場合があります)。
38400 より大きい速度は、シリーズ 700 のみでサポートされます。 |
| ispeed number | | ターミナルの入力ボーレートを number に設定します。 number がゼロの場合、入力ボーレートは出力ボーレートの値に設定されます。 |
| ospeed number | | ターミナルの出力ボーレートを number に設定します。 number がゼロの場合には、モデム制御回線が解放され、それにより回線が切断されます。 |
| hupcl (-hupcl) | | 最後のクローズ時に、モデム接続を切断します (切断しません)。 |
| hup (-hup) | | hupcl (-hupcl)
と同じです。 |
| cstopb (-cstopb) | | 1 文字について 2 ビット (1 ビット) のストップビットを使用します。 |
| cread (-cread) | | 受信側をオン (オフ) にします。 |
| crts (-crts) | | 送信要求をオン (オフ) にします。 |
| clocal (-clocal) | | 回線をモデム制御なし (モデム制御付き) として操作します。 |
| loblk (-loblk) | | 現在のレイヤ以外のレイヤからの出力をブロックします
(ブロックしません)。 |
| +resetGSP | | コンソールの GSP (Guardian Service Processor) をリセットします。 このモードは、スーパーユーザーだけが使用できます。
また、このモードは、一部のハードウェアでのみサポートされています。 |
入力モード
| ignbrk (-ignbrk) | | 入力時にブレークを無視します (無視しません)。 |
| ienqak (-ienqak) | | ENQ-ACK ハンドシェークをオン (オフ) にします。 |
| brkint (-brkint) | | ブレークで INTR シグナルを生成します (生成しません)。 |
| ignpar (-ignpar) | | パリティエラーを無視します (無視しません)。 |
| parmrk (-parmrk) | | パリティエラーをマークします (マークしません)。 termio(7) を参照してください。 |
| inpck (-inpck) | | 入力パリティチェックをオン (オフ) にします。 |
| istrip (-istrip) | | 入力文字を 7 ビットにストリップします (スト リップしません)。 |
| inlcr (-inlcr) | | 入力時に改行文字 (NL) を復帰文字 (CR) に変換します
(変換しません)。 |
| igncr (-igncr) | | 入力時に CR を無視します (無視しません)。 |
| icrnl (-icrnl) | | 入力時に CR を改行文字に変換します (変換しません)。 |
| iuclc (-iuclc) | | 入力時に大文字を小文字に変換します (変換しません)。 |
| ixon (-ixon) | | START/STOP 出力制御をオン (オフ) にします。出力は
ASCII DC3 を送信すると停止し、 ASCII DC1 を送信すると開始します。 |
| ixany (-ixany) | | 任意の文字 (DC1 のみ) により、出力を再開します。 |
| ixoff (-ixoff) | | 入力待ち行列が空/いっぱいに近づいたときに START/STOP
文字を送るように (送らないように) システムに要求します。 |
| imaxbel (-imaxbel) |
| | | 入力行が長すぎるときに BEL をエコーします (エコーしません)。 |
出力モード
| opost (-opost) | | 出力の後処理を行います (出力の後処理を行いません。
他の出力モードをすべて無視します)。 |
| olcuc (-olcuc) | | 出力時に小文字を大文字に変換します (変換しません)。 |
| onlcr (-onlcr) | | 出力時に改行文字 (NL) を復帰/改行 (CR/NL) の文字シーケンスに 変換します
(変換しません)。 |
| ocrnl (-ocrnl) | | 出力時に CR を改行文字に変換します (変換しません)。 |
| onocr (-onocr) | | カラム 0 で CR を出力しません (出力します)。 |
| onlret (-onlret) | | ターミナル上で、改行文字が CR として機能します (機能しません)。 |
| ofill (-ofill) | | 遅延処理に充填文字を使用します (タイミングを使用します)。 |
| ofdel (-ofdel) | | DEL ( NUL) を充填文字とします。 |
| cr0 cr1 cr2 cr3 | | 復帰用の遅延形式を選択します termio(7) 参照)。 |
| nl0 nl1 | | 改行文字用の遅延形式を選択します termio(7) 参照)。 |
| tab0 tab1 tab2 tab3 |
| | | 水平タブ用の遅延形式を選択します termio(7) 参照)。 |
| bs0 bs1 | | バックスペース用の遅延形式を選択します termio(7) 参照)。 |
| ff0 ff1 | | 改ページ用の遅延形式を選択します termio(7) 参照)。 |
| vt0 vt1 | | 垂直タブ用の遅延形式を選択します termio(7) 参照)。 |
ローカルモード
| isig (-isig) | | 特殊制御文字 INTR および QUIT に対する文字のチェックをオン
(オフ) にします。 |
| icanon (-icanon) | | 正規化入力 (ERASE と KILL) をオン (オフ) にします。 |
| iexten (-iexten) | | 現在 icanon, isig, または ixon による制御の対象外となっているインプリメンテーション定義の特殊制御文字を
使用可能 (使用不能) にします。 |
| xcase (-xcase) | | 大文字および小文字を正規化して (未処理のまま) 表現します。 |
| echo (-echo) | | 入力文字をすべてエコーバックします (エコーバックしません)。 |
| echoe (-echoe) | | ERASE 文字をバックスペース - スペース - バックスペースという
文字列としてエコーします (その形式ではエコーしません)。 注記: このモードでは、多くの
CRT ターミナルで、 ERASE の対象となった文字が画面上から消去されます。
ただし、このモードはカラム位置を記録して いない ため、エスケープされた文字, タブ, および バックスペースは正しく消去されないことがあります。 |
| echok (-echok) | | KILL 文字の入力後に改行文字をエコーします (エコーしません)。 |
| lfkc (-lfkc) | | (現在は使用されていません) echok (-echok)
と同じです。 |
| echonl (-echonl) | | 改行文字をエコーします (エコーしません)。 |
| noflsh (-noflsh) | | INTR または QUIT の後にフラッシュします (フラッシュしません)。 |
| echoctl (-echoctl) |
| | | 削除文字としての制御文字 (^? ) を エコーします (エコーしません)。 |
| echoprt (-echoprt) |
| | | 文字を消去するときに消去文字をエコーします (エコーしません)。 |
| echoke (-echoke) | | 行削除の行全体を BS-SP-BS 消去します (BS-SP-BS 消去しません) |
| flusho (-flusho) | | 出力がフラッシュされます (フラッシュされません)。 |
| pendin (-pendin) | | 次の読み取り文字、または入力文字で保留の出力を再入力します
(再入力しません)。 |
| tostop (-tostop) | | バックグラウンドジョブが出力を実行しようとすると
SIGTTOU シグナルを生成します (生成しません)。 |
ハードウェアフロー制御モード
以下のオプションは、termiox インタフェースを通じてハードウェアフロー制御を
サポートしているデバイスで使用するためのものです。 この機能がサポートされている場合には、
このインタフェースを使用しなければなりません。
| rtsxoff (-rtsxoff) |
| | | 入力時の RTS ハードウェアフロー制御をオン (オフ)
にします termiox(7) 参照)。 |
| ctsxon (-ctsxon) | | 出力時の CTS ハードウェアフロー制御をオン (オフ)
にします termiox(7) 参照)。 |
制御の指定方法
| control-character c |
| | | control-character を c に設定します。ここで、 control-character は erase, kill, intr, quit, eof, eol, eol2, rprnt, flush, werase, lnext, min または time です
(min と time は -icanon で使用されます。 termio(7) を参照してください)。 ジョブ制御をサポートするシステムでは、 susp 文字と dsusp 文字を設定することもできます。
シェルレイヤをサポートするシステムでは shl(1) 参照)、 swtch を設定することもできます。 c の前に (シェルからエスケープされた) アクセント符号
(^) を付けると、対応する制御文字が値として使用されます
(例えば、 ^d は Ctrl-d を表します)。
^? は DEL と解釈され、 ^- は未定義として解釈されます。 |
| line i | | 回線制御手順を i に設定します。 i は、ゼロから 127 (10 進) の範囲の値です termio(7) 参照)。 |
組み合わせモード
| evenp または parity | | parenb と cs7 をオンにします。 |
| oddp | | parenb, cs7 および parodd をオンにします。 |
| -parity, -evenp または -oddp |
| | | parenb をオフにし、 cs8 を設定します。 |
| raw (-raw または cooked) |
| | | 入出力を raw モードで (すなわち、入力時の ERASE, KILL,
INTR, QUIT, EOT の処理と出力時の後処理なしで) 実行します (cooked
モードで実行します)。 「警告」の項を参照してください。 |
| nl (-nl) | | icrnl と onlcr の設定を解除します
(設定します)。また、 -nl は inlcr, igncr, ocrnl および onlret の設定を解除します。 |
| lcase (-lcase) | | xcase, iuclc および olcuc を設定します
(設定を解除します)。 |
| LCASE (-LCASE) | | lcase (-lcase)
と同じです。 |
| tabs (-tabs または tab3) |
| | | 出力時にタブをそのまま使用します (スペースに展開します)。 |
| ek | | ERASE および KILL 文字をデフォルトの # および @ にリセットします。 |
| sane | | すべてのモードを一定の適切な標準値にリセットします。 |
| term | | すべてのモードをターミナルタイプ term に適合する値に設定します。ここで、 term は tty33, tty37, vt05, tn300, ti700, hp または tek のいずれかです。 |
報告機能
| size | | ターミナルウィンドウの大きさを 標準出力に rows-and-columns
の形式で出力します。 |
| +queryGSP | | コンソールの GSP (Guardian Service Processor) の状態を出力します。
この機能は、スーパーユーザーだけが使用できます。 また、この機能は、一部のハードウェアでのみサポートされています。 |
制御文字のデフォルト割り当て
ターミナルポートをオープンすると、各制御文字がそれぞれのデフォルト
値に割り当てられます (termio(7) を参照)。
使用するデフォルト値は、System V インタフェース定義第 3 版 (SVID3)
に従って定義されます。ただし、 werase, および lnext の各制御文字は例外で、
これらは、HP-UX の旧リリースとのバイナリ互換を保持する目的で、すべて _POSIX_VDISABLE にセットされます。
各制御文字のデフォルト値は、 stty を使用して、
stdin を /dev/ttyconf にリダイレクトすることにより、変更できます。
上記の「説明」の項で示した 4 つのコマンド形式のどれを 使用してもかまいません。ただし、制御文字のデフォルトだけが
報告、または変更されます。 その他のモードに対するデフォルトには影響はありません。
これらのデフォルトは、システムの全ターミナルポートに適用されるので、
特定のポートを変更しても、これをオープン (再オープン) しない限り、有効
にはならない点に注意してください。 システムが稼働中は、システムコンソールは再オープンせず、デフォルト制御文字列の指定は有効になりません。
デフォルトの制御文字の割り当てを変更する場合は、注意が必要です。制御文字の値 をデフォルトとして割り当てる前に、アプリケーション上でテストするようにしてください。
多言語化対応
環境変数
LC_CTYPE は、出力の際に有効な制御文字を決定します。
環境内で LC_CTYPE が指定されていない場合、または空の文字列の場合には、
LANG の値が、その変数のデフォルトとして使用されます。 LANG が指定されていない場合、または空の文字列の場合には、
LANG の代わりに "C" lang(5) 参照)
がデフォルトとして使用されます。 いずれかの多言語化対応変数に無効な値が設定されている場合、 stty は、すべての多言語化対応変数が
"C" に設定されているものとして動作します。 environ(5) を参照してください。
サポートされるコードセット
シングルバイトの文字コードセットがサポートされています。
例
このコマンドは、行削除文字を ^X (Ctrl-X)
に、また割り込み文字を ^C にそれぞれ設定します。このコマンドは、通常 .login または .profile ファイルに指定しておき、ユーザーがログインセッションごとに毎回 ^X と ^C を設定しなくて済むようにするのが普通です。
stty kill '^X' intr '^C' werase '^W' </dev/ttyconf
のコマンドは、削除行文字に対するデフォルト値を ^X (Ctrl-X)
に、 割り込み文字を ^C に、また ワード消去文字を ^W にそれぞれセットします。
このコマンドを実行した後にオープンされたターミナルポートでは、 kill, intr,
および werase の各制御文字に 新しいデフォルトが適用されます。
警告
raw モードを使用すると、副作用を生じることがあります。
副作用の内容は過去のリリースごとに異なっており、 また将来のリリースについても同様です。
そのため、ある特定の副作用に依存した形でアプリケーションを使用すると、
将来、予想外の結果が生じる可能性があります。 したがって、そのような使用形態は避けるようにしてください。
制約
サポートされていない機能の詳細については、 termio(7) の「制約」の項を参照してください。
参照
shl(1), tabs(1), ioctl(2), termio(7), termiox(7)
標準準拠
stty: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2