stty コマンド

目的

ワークステーションの動作パラメーターの設定、リセット、報告を行います。

構文

stty [ -a ] [ -g ] [ Options ]

説明

stty コマンドは、現在の標準入力であるデバイスに対して、いくつかの I/O オプションを設定します。 このコマンドは、現在の標準出力であるデバイスへ出力を書き出します。

本バージョンのオペレーティング・システムは、標準 X/Open Portability Guide Issue 4 インターフェースを使用して端末を制御し、 POSIX および BSD インターフェースとの互換性を保ちます。 stty コマンドは、POSIX と BSD 準拠のオプションをサポートしていますが、POSIX オプションを使用するようにしてください。 旧バージョンの BSD オプションとそれに対応する POSIX オプションのリストも掲載されています。

tty デバイスからの標準入力をリダイレクトするときは、次のように入力します。


 stty -a </dev/ttyx

stty コマンド (POSIX) は、その tty の open() を待つ間、RS-232 キャリア検出シグナルが入るまで停止します。 この規則の例外が発生するのは、clocal または forcedcd (128 ポートのみ) オプションが設定されている場合です。

フラグ

項目 説明
-a すべてのオプション設定の現在の状態を標準出力に書き出します。
-g 別の stty コマンドで使用できる形式で、オプション設定を標準出力に書き出します。

オプション

stty コマンドは、以下のカテゴリーのオプションをサポートします。

制御モード
制御モード 説明
clocal 回線にモデム制御がないものと想定します。
-clocal 回線にモデム制御があるものと想定します。
cread 受信者を使用可能にします。
-cread 受信者を使用不可にします。
cstopb 1 文字当たり 2 つのストップ・ビットを選択します。
-cstopb 1 文字当たり 1 つのストップ・ビットを選択します。
cs5cs6cs7cs8 文字サイズを選択します。
huphupcl 最後のクローズ時にダイヤルアップ接続をハングアップします。
-hup-hupcl 最後のクローズ時にダイヤルアップ接続をハングアップしません。
parenb パリティーの生成および検出を使用可能にします。
-parenb パリティーの生成および検出を使用不可にします。
parodd 奇数パリティーを選択します。
-parodd 偶数パリティーを選択します。
0 電話回線を即座にハングアップします。
speed ワークステーションの入出力速度を、speed で指定されたビット/秒の数に設定します。 すべての速度がどのハードウェア・インターフェースでもサポートされるとは限りません。 speed に有効な値は、5075110134200300600120018002400480096001920019.23840038.4exta、および extb です。
注: exta1920019.2 は同義です。extb3840038.4 も同義です。
ispeed speed ワークステーションの入力速度を、speed で指定されたビット/秒の数に設定します。 すべての速度がどのハードウェア・インターフェースでもサポートされるとは限りません。また、このオプションがどのハードウェア・インターフェースでもサポートされるとは限りません。 speed に有効な値は、speed オプションと同じです。
ospeed speed ワークステーションの出力速度を、speed で指定されたビット/秒の数に設定します。 すべての速度がどのハードウェア・インターフェースでもサポートされるとは限りません。また、このオプションがどのハードウェア・インターフェースでもサポートされるとは限りません。 speed に有効な値は、speed オプションと同じです。
入力モード
入力モード 説明
brkint ブレーク時に INTR を送信します。
-brkint ブレーク時に INTR を送信しません。
icrnl 入力時に CR を NL にマップします。
-icrnl 入力時に CR を NL にマップしません。
ignbrk 入力時に BREAK を無視します。
-ignbrk 入力時に BREAK を無視しません。
igncr 入力時に CR を無視します。
-igncr 入力時に CR を無視しません。
ignpar パリティー・エラーを無視します。
-ignpar パリティー・エラーを無視しません。
inlcr 入力時に NL を CR にマップします。
-inlcr 入力時に NL を CR にマップしません。
inpck パリティー検査を使用可能にします。
-inpck パリティー検査を使用不可にします。
istrip 入力文字を削除して 7 ビットにします。
-istrip 入力文字を 7 ビットに削除しません。
iuclc 大文字の英字を小文字にマップします。
-iuclc 大文字の英字を小文字にマップしません。
ixany 任意の文字で出力を再開できるようにします。
-ixany START (Ctrl-Q キー・シーケンス) でのみ出力を再開できるようにします。
ixoff 入力キューがほとんど空またはいっぱいになると、START/STOP 文字を送信します。
-ixoff START/STOP 文字を送信しません。
ixon START/STOP 出力制御を使用可能にします。 一度 START/STOP 出力制御を使用可能にすれば、Ctrl-S キー・シーケンスを押してワークステーションへの出力を停止し、Ctrl-Q キー・シーケンスを押して出力を再開できます。
-ixon START/STOP 出力制御を使用不可にします。
imaxbel 入力がオーバーフローすると、BEL 文字をエコーし、最後の入力文字を破棄します。
-imaxbel 入力がオーバーフローすると、すべての入力を破棄します。
parmrk パリティー・エラーに印を付けます。
-parmrk パリティー・エラーに印を付けません。

出力モード

出力モード 説明
bs0, bs1 バックスペースに対して、遅延のスタイルを選択します (bs0 は遅延なしを示します)。
cr0,  cr1, cr2, cr3 CR 文字に対して、遅延のスタイルを選択します (cr0 は遅延なしを示します)。
ff0, ff1 用紙送りに対して、遅延のスタイルを選択します (ff0 は遅延なしを示します)。
nl0, nl1 NL 文字に対して、遅延のスタイルを選択します (nl0 は遅延なしを示します)。
ofill 遅延に対して、充てん文字を使用します。
-ofill 遅延に対してタイミングを使用します。
ocrnl CR 文字を NL 文字にマップします。
-ocrnl CR 文字を NL 文字にマップしません。
olcuc 出力時に、小文字の英字を大文字にマップします。
-olcuc 出力時に、小文字の英字を大文字にマップしません。
onlcr NL 文字を CR-NL 文字にマップします。
-onlcr NL 文字を CR-NL 文字にマップしません。
onlret 端末上で、NL が CR として機能します。
-onlret 端末上で、NL は CR として機能しません。
onocr カラム 0 に CR 文字を出力しません。
-onocr カラム 0 に CR 文字を出力します。
opost 出力を処理します。
-opost 出力を処理しません。つまり、他のすべての出力オプションを無視します。
ofdel 充てん文字として DEL 文字を使用します。
-ofdel 充てん文字として NUL 文字を使用します。
tab0tab1tab2 水平タブに対して、遅延のスタイルを選択します (tab0 は遅延なしを示します)。
tab3 タブ文字を可変数のスペースに拡張します。
vt0, vt1 垂直タブに対して、遅延のスタイルを選択します (vt0 は遅延なしを示します)。
ローカル・モード
ローカル・モード 説明
echo 入力されたすべての文字をエコーします。
-echo 文字をエコーしません。
echoctl 制御文字を ^X (Ctrl-X) としてエコーします。 この X は、制御文字のコードに 8 進の 100 を追加して与えられた文字です。
-echoctl 制御文字を ^X (Ctrl-X) としてエコーしません。
echoe ERASE 文字を「バックスペース・スペース・バックスペース」という文字列としてエコーします。
注: このモードはカラムの位置を追跡しないので、タブやエスケープ・ シーケンスなどを消去すると、予想外の結果を招くことがあります。
-echoe ERASE 文字をエコーせず、バックスペースのみをエコーします。
echok KILL 文字の後の NL 文字をエコーします。
-echok KILL 文字の後の NL 文字をエコーしません。
echoke 出力行上の個々の文字を消去することによって、KILL 文字をエコーします。
-echoke KILL 文字のみをエコーします。
echonl NL 文字をエコーします。
-echonl NL 文字をエコーしません。
echoprt 消去された文字を / (スラッシュ) および ¥ (円記号) を付けて逆方向にエコーします。
-echoprt 消去された文字を / (スラッシュ) および ¥ (円記号) を付けて逆方向にエコーしません。
icanon 正規入力を使用可能にします (正規入力により、ERASE 文字および KILL 文字による入力行の編集が可能になります)。 正規モードの入力については、 「Communications Programming Concepts」の『Line Discipline Module (ldterm)』のセクションを参照してください。
-icanon 正規入力を使用不可にします。
iexten 入力データのインストール定義関数を認識させるように指定します。 制御文字 (eol2、dsusp、reprint、discard、werase、lnext) を認識するためには、iexten が設定されていることが必要です。 これらのモードに関連する関数 (imaxbel echoke echoprt、および echoctl) の場合も、iexten が設定されている必要があります。
-iexten 入力データの導入定義関数を認識しないように指定します。
isig 特殊制御文字 INTR、SUSP および QUIT に対する文字の検査を使用可能にします。
-isig 特殊制御文字 INTR、SUSP および QUIT に対する文字の検査を使用不可にします。
noflsh INTR、SUSP、または QUIT の制御文字の後にバッファーをクリアしません。
-noflsh INTR、SUSP、または QUIT の制御文字の後にバッファーをクリアします。
pending 次に読み取り操作が保留になるか、または次に入力が到着したときに、ロー・モードから正規モードに切り替わった後で保留されている入力を再入力させます。 保留は内部状態ビットです。
-pending テキストを保留しません。
tostop バックグラウンド出力のための SIGTOU を送信します。
-tostop バックグラウンド出力のための SIGTOU を送信しません。
xcase 入力時に大文字をエコーし、出力時に前に ¥ (円記号) を付けて大文字を表示します。
-xcase 入力時に大文字をエコーしません。

ハードウェア・フロー制御モード

以下のオプションは、X/Open Portability Guide Issue 4 標準への拡張機能です。
項目 説明
cdxon 出力時に CD ハードウェア・フロー制御モードを使用可能にします。
-cdxon 出力時に CD ハードウェア・フロー制御モードを使用不可にします。
ctsxon 出力時に CTS ハードウェア・フロー制御モードを使用可能にします。
-ctsxon 出力時に CTS ハードウェア・フロー制御モードを使用不可にします。
dtrxoff 入力時に DTR ハードウェア・フロー制御モードを使用可能にします。
-dtrxoff 入力時に DTR ハードウェア・フロー制御モードを使用不可にします。
rtsxoff 入力時に RTS ハードウェア・フロー制御モードを使用可能にします。
-rtsxoff 入力時に RTS ハードウェア・フロー制御モードを使用不可にします。

制御文字の割り当て

文字列に制御文字を割り当てるには、以下のように入力します。

stty Control String
Control パラメーターとして、intr、 quit、 erase、 kill、 eof、 eol、 eol2、 start、 stop、 susp、 dsusp、 reprint、 discard、 werase、 lnext、 min、 または time 文字を指定できます。(-icanon オプションには min または time 文字を使用してください)。
注: min および time の値は、 文字の値ではなく、整数値として解釈されます。

String パラメーターには、c などの 任意の 1 文字を使用できます。 この制御割り当ての例を以下に示します。

stty stop c

制御文字を割り当てるもう 1 つの方法は、 ¥^ (円記号、脱字記号) から成る文字の並びの後に 1 文字が付いた文字列を入力する方法です。^ (脱字記号) の後の 1 文字が以下の表の ^c (脱字記号、c) 欄にリストされている場合、対応する制御文字の値が設定されます。例えば、? (疑問符) を使用して DEL 制御文字を割り当てるには、 以下のように、¥^? (円記号、脱字記号、疑問符) 文字列を入力します。

stty erase ¥^?
stty における脱字記号制御文字
^c
a, A <SOH>
b, B <STX>
c, C <ETX>
d, D <EOT>
e, E <ENQ>
f, F <ACK>
g, G <BEL>
h, H <BS>
i, I <HT>
j, J <LF>
k, K <VT>
l, L <FF>
m, M <CR>
n, N <SO>
o, O <SI>
p, P <DLE>
q, Q <DC1>
r, R <DC2>
s, S <DC3>
t, T <DC4>
u, U <NAK>
v, V <SYN>
w, W <ETB>
x, X <CAN>
y, Y <EM>
z, Z <SUB>
[ <ESC>
¥ <FS>
] <GS>
^ <RS>
_ <US>
? <DEL>
@ <NUL>
結合モード 説明
cooked -raw オプションを参照してください。
ek ERASE 文字と KILL 文字を、それぞれ Ctrl-H および Ctrl-U キー・シーケンスに設定します。
evenp parenbcs7 を使用可能にします。
-evenp parenb を使用不可にして cs8 を設定します。
lcaseLCASE xcaseiuclc、 および olcuc を設定します。 大文字だけを使用するワークステーションに使用されます。
-lcase-LCASE -xcase-iuclc、 および -olcuc を設定します。
nl -icrnl および -onlcr を設定します。
-nl icrnlonlcr-inlcr-igncr-ocrnl、 および -onlret を設定します。
oddp parenbcs7、 および parodd を使用可能にします。
-oddp parenb を使用不可にして cs8 を設定します。
parity evenp オプションを参照してください。
-parity -evenp オプションを参照してください。
sane パラメーターを妥当な値にリセットします。
raw ロー・モード入力 (消去、抹消、割り込みなどの入力処理を行いません) を使用可能にします。 パリティー・ビットは逆に渡されます。
-raw 正規入力モードを使用可能にします。
tabs タブを保存します。
-tabstab3 出力時にタブをスペースに置き換えます。
ウィンドウ・サイズ  説明
cols ncolumns n 端末 (ウィンドウ) のサイズを、桁数 n で記録します。
rows n 端末 (ウィンドウ) のサイズを、行数 n で記録します。
size 端末 (ウィンドウ) のサイズを、標準出力に表示します (最初に行、次に桁)。

旧バージョンのオプション

以下の BSD オプションは、stty コマンドによってサポートされます。 それぞれ、推奨の POSIX オプションを記載してあります。
項目 説明
all すべての現行設定を表示するには、stty -a コマンドを使用してください。
crt パラメーターを妥当な値にリセットするには、 sane オプションを使用してください。
crtbs -echoe オプションを使用してください。
crterase echoe オプションを使用してください。
-crterase -echoe オプションを使用してください。
crtkill echoke オプションを使用してください。
-crtkill echok および -echoke オプションを使用してください。
ctlecho echoctl オプションを使用してください。
-ctlecho -echoctl オプションを使用してください。
decctlq -ixany オプションを使用してください。
-decctlq ixany オプションを使用してください。
even evenp オプションを使用してください。
-even -evenp オプションを使用してください。
everything すべての現行設定を表示するには、stty -a コマンドを使用してください。
litout -opost オプションを使用してください。
-litout opost オプションを使用してください。
odd oddp オプションを使用してください。
-odd -oddp オプションを使用してください。
pass8 -istrip オプションを使用してください。
-pass8 istrip オプションを使用してください。
prterase echoprt オプションを使用してください。
speed 現行設定を表示するには、stty コマンドを使用してください。
tandem ixoff オプションを使用してください。
-tandem -ixoff オプションを使用してください。

  1. ワークステーション構成の簡潔なリストを表示するには、以下のように入力します。
    stty
    これによって、デフォルトではない設定がリストされます。
  2. ワークステーション構成の完全なリストを表示するには、以下のように入力します。
    stty  -a
  3. 画面上でのリストのスクロールを停止するキー・シーケンスを使用可能にするには、以下のように入力します。
    stty ixon ixany
    これによって、ixon モードが設定されます。 このモードでは、Ctrl-S キー・シーケンスを押すことにより、ランナウェイ・リストのスクロールを停止できます。 ixany フラグを指定すると、任意のキーを押すことによりリスト表示を再開できます。 通常のワークステーション構成には、ixon および ixany フラグが含まれているので、これらのフラグを設定すると、再開に Ctrl-Q キー・シーケンスのみが使用できる Ctrl-S キー・シーケンスによって、リスト表示を停止できます。
  4. 構成が修正不可能になってしまい、その構成をリセットするには、以下のように入力します。
    Ctrl-J stty  sane Ctrl-J
    コマンドの前後で Enter キーの代わりに Ctrl-J キー・シーケンスを押してください。 通常、システムは Enter キー処理を制御するパラメーターが破壊された場合に、Ctrl-J キー・シーケンスを認識します。

    画面に表示される情報が異常となる場合や、Enter キーを押してもシステムが応答しないことが時々あります。 互換性のないパラメーターまたはユーザーが理解できないことを行うパラメーターを指定して stty コマンドを使用した場合に、このようなことが起こります。 また、画面指向のアプリケーションが異常終了し、ワークステーション構成をリセットする機会がない場合にも、発生します。

    stty sane コマンドを入力すると、妥当な構成が設定されますが、通常の構成とは多少異なる場合があります。

  5. 端末の構成を保管および復元するには、以下のように入力します。
    OLDCONFIG=`stty -g`          # save configuration
    stty -echo                   # do not display password
    echo "Enter password: ¥c"
    read PASSWD                  # get the password
    stty $OLDCONFIG              # restore configuration
    このコマンドによって、ワークステーションの構成が保管され、エコーがオフになり、パスワードが読み取られ、元の構成が復元されます。

    stty -echo コマンドを入力すると、エコーはオフになります。つまり、キーボードでパスワードを入力しても、パスワードは画面に表示されません。このアクションは、メッセージを画面に表示する echo コマンドとは無関係です。

ファイル

項目 説明
/usr/bin/stty stty コマンドが入っています。