stty

端末ラインの設定を変更・表示する

stty - 端末ラインの設定を変更・表示する
引き数無しで実行された場合、 stty は転送レート (baud rate)、ライン制御番号 (line discipline number: サポートされているシステムの場合)、 および `stty sane' の設定から変更された行設定 (line settings) を表示する。 デフォルトでは、 モードの取得と設定は標準入力に接続されている端末に対して行われる (しかし --file も見よ)。 stty は以下をオプション以外の引き数とみなし、対応する端末制御を変更する。 機能の前の [ - ] は、 ` - ' を前置することによってその機能を無効にできることを意味している。 一部の引き数は POSIX 準拠でない拡張機能を利用しているので、 すべてのシステムで有効とは限らない。このような引き数には `(np)' という印を付けてある。

コントロールの設定

[-]parenb 出力にパリティビット (parity bit) を付加し、 入力にもパリティビットがあるものとする。 [-]parodd 奇数パリティに設定する (- がつくと偶数)。 cs5 cs6 cs7 cs8 文字のサイズをそれぞれ 5, 6, 7, 8 ビットに設定する。 [-]hupcl [-]hup tty の最後のプロセスが終了したら hangup シグナルを送る。 [-]cstopb 文字あたり二つのストップビットを用いる (`-' がつくと一つ)。 [-]cread 入力の受信を許可する。 [-]clocal モデムのコントロール信号を無効にする。 [-]crtscts (np) RTS/CTS によるハンドシェークを有効にする。

入力の設定

[-]ignbrk ブレーク (break) 文字を無視する。 [-]brkint ブレークによって割り込みシグナルを発生する。 [-]ignpar パリティエラーの起こった文字を無視する。 [-]parmrk パリティエラーをマークする (255-0 の文字配列を用いる)。 [-]inpck 入力のパリティチェック機能を有効にする。 [-]istrip 入力文字の高位ビット (8 番目のビット) をクリアする。 [-]inlcr 改行 (newline) 文字を復帰 (carriage return) 文字に変換する。 [-]igncr 復帰文字を無視する [-]icrnl 復帰文字を改行文字に変換する [-]ixon XON/XOFF によるフローコントロールを有効にする。 [-]ixoff [-]tandem システムの入力バッファが一杯になりかけたとき stop 文字を送り、 再び空になりかけたときに start 文字を送る機能を有効にする。 [-]iuclc (np) 大文字を小文字に変換する。 [-]ixany (np) どの文字でも出力を再開できるようにする (`-ixany' で start 文字のみになる) [-]imaxbel (np) 入力バッファが一杯なのに文字が入力されたときには、 ビープ音を発生して入力バッファをフラッシュしないようにする。

出力の設定

[-]opost プロセス終了後に出力。 [-]olcuc (np) 小文字を大文字に変換。 [-]ocrnl (np) 復帰文字 (carriage return) を改行 (newline) 文字に変換。 [-]onlcr (np) 改行を復帰+改行に変換。 [-]onocr (np) 最初の桁の改行文字を出力しない。 [-]onlret (np) 改行文字によって復帰動作を行う。 [-]ofill (np) 遅延のタイミング動作に fill (文字埋め) 文字を用いる。 [-]ofdel (np) fill 動作にヌル文字でなく delete 文字を用いる。 nl1 nl0 (np) 改行の遅延形式。 cr3 cr2 cr1 cr0 (np) 復帰の遅延形式。 tab3 tab2 tab1 tab0 (np) 水平タブの遅延形式。 bs1 bs0 (np) バックスペースの遅延形式。 vt1 vt0 (np) 垂直タブの遅延形式。 ff1 ff0 (np) 改ページ (form feed) の遅延形式。

ローカルな設定

[-]isig interrupt, quit, suspend 各特殊文字を有効にする。 [-]icanon erase, kill, werase, rprnt 各特殊文字を有効にする。 [-]iexten POSIX 準拠でない特殊文字を有効にする。 [-]echo 入力文字をエコーする。 [-]echoe, [-]crterase erase 文字をバックスペース+空白+バックスペースとしてエコーする。 [-]echok kill 文字の後に newline 文字をエコーする。 [-]echonl 他の文字がエコーされない場合でも newline だけをエコーする。 [-]noflsh interrupt および quit 特殊文字の後にフラッシュを行わない。 [-]xcase (np) icanon が設定されている場合、 入出力の大文字を対応する小文字に `\' を前置して表示可能にする。 [-]tostop (np) 端末に出力しようとしたバックグラウンドジョブを停止する。 [-]echoprt [-]prterase (np) 消去された文字を '\' と `/' に挟んで後方にエコーする。 [-]echoctl [-]ctlecho (np) コントロール文字を文字どおりに出力する代わりに ハット表示 (`^c') する。 [-]echoke [-]crtkill (np) kill 文字のエコーを、(echoctl と echok 設定の代わりに) echoprt と echoe 設定で指定された方法でラインを消去することによって行う。

設定の組み合わせ

[-]evenp [-]parity -parodd cs7 と同じ。 `-' が付いた場合は -parenb cs8 と同じ。 [-]oddp -icrnl -onlcr と同じ。 `-' が付いた場合は -inlcr -igncr onlcr -ocrnl -onlret と同じ。 [-]nl -icrnl -onlcr と同じ。 `-' が付いた場合は -inlcr -igncr onlcr -ocrnl -onlret と同じ。 erase と kill の特殊文字をデフォルトの値に戻す。 sane cread -ignbrk brkint -inlcr -igncr icrnl -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke と同じ。 また同時にすべての特殊文字をデフォルトの値に戻す。 [-]cooked brkint ignpar istrip icrnl ixon opost isig icanon に加え、 eof と eol 文字が min および time 文字と同じになっている場 合はこれらをデフォルトの値に戻す。 `-' が付いた場合は raw と同じ。 [-]raw -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 と同じ。 `-' が付いた場合は cooked と同じ。 [-]cbreak -icanon と同じ。 [-]pass8 -parenb -istrip cs8 と同じ。 `-' が付いた場合は parenb istrip cs7 と同じ。 [-]litout -parenb -istrip -opost cs8 と同じ。 `-' が付いた場合は parenb istrip opost cs7 と同じ。 [-]decctlq (np) -ixany と同じ。 [-]tabs (np) tab0 と同じ。 `-' が付いた場合は tab3 と同じ。 [-]lcase [-]LCASE (np) xcase iuclc olcuc と同じ。 crt echoe echoctl echoke と同じ。 dec echoe echoctl echoke -ixany に加え、 interrupt 特殊文字を Ctrl-C に、 erase を Del に、 kill を Ctrl-U に設定する。

特殊文字

特殊文字のデフォルト値はシステムによってまったく異なる。 これらは `name value' といった書式で指定される。 name には以下のリストのどれかを指定する。 value には、文字そのまま、ハット表示 (`^c')、 あるいは数値 (`0x' ではじまる場合は 16 進、`0' は 8 進、その他は 10 進) による指定ができる。 `^-' または `undef' を value に与えた場合には、 その特殊文字は無効になる。
intr 割り込み (interrupt) シグナルを送る。 quit 終了 (quit) シグナルを送る。 erase 最後にタイプされた文字を消去する。 kill 現在の行を消去する。 eof ファイル終了 (end of file) を知らせる (入力を終了する)。 eol 行末 (end of the line)。 eol2 (np) 行末を表す別の文字 swtch (np) 別のシェル層 (shell layer) にスイッチする。 start 停止している出力を再開する。 stop 出力を停止する。 susp 端末に停止 (stop) シグナルを送る。 dsusp (np) 入力をフラッシュしてから端末に停止 (stop) シグナルを送る。 rprnt (np) 現在の行を再表示する。 werase (np) 最後にタイプされた単語 (word) を消去する。 lnext (np) 次にタイプされる文字を (特殊文字であっても) そのままの文字 として受け取る。

特殊な設定

-icanon が設定されているとき、 制限時間中で読み込み成功とみなされる文字数の最小値を設定する。 time N -icanon が設定されているとき、 最小文字数が読み込まれなかった場合に読み込みが時間切れになるまでの時間を 10 秒単位で設定する。 ispeed N 入力の速度を N に設定する。 ospeed N 出力の速度を N に設定する。 rows N (np) カーネルに端末が N 行であることを伝える。 cols N columns N (np) カーネルに端末が N 桁であることを伝える。 size (np) カーネルが保持している端末の行数および桁数を表示する (行・桁をカーネルでサポートしていないシステムでは、代わりに LINES および COLUMNS 環境変数が良く用いられる。しかし GNU stty はこれらを全く参照しない)。 line N (np) ライン制御番号 (line discipline) の N を用いる。 speed 端末の速度を表示する。 N 入出力の速度を N に設定する。 N は以下の数値のうちのどれか: 0 50 75 110 134 134.5 150 200 300 600 1200 1800 2400 4800 9600 19200 38400 exta extb。 exta は 19200 と同じ。 extb は 38400 と同じ。 0 は -clocal が設定されている場合には回線を切断する。
-a, --all
現在のすべての設定を人間に読める形式で出力する。 このオプションは設定指示と組み合わせて使うことはできない。
-g, --save
現在のすべての設定を、別の stty に引き数として渡せる形式で出力する。これは現在の設定を保存して再利用す るために用いる。
-F DEVICE, --file=DEVICE
モードの読み込みや設定を、標準入力に接続されている端末でなく DEVICE に対して行う。
デバイスで clocal が設定されていないときにシェルがそのデバイスを (< /dev/ttyS1 のように) オープンしようとしたときには、 clocal が再設定されるまでその操作はブロックされるように POSIX では要求している。なぜかというと、シェルは stty --file とは異なり、デバイスを O_NONBLOCK で開くことはできないからである。
--help
標準出力に使用方法のメッセージを出力して正常終了する。
--version
標準出力にバージョン情報を出力して正常終了する。
プログラムのバグについては bug-sh-utils@gnu.org に報告してください。 ページの更新は Ragnar Hojland Espinosa <ragnar@ragnar-hojland.com> が行っています。