SunOS 5.8 Last change: 13 Aug 1999 BSD

stty - set the options for a terminal

stty [ -a ] [ -g ]

stty [ modes ]

sets terminal I/O options for the device that is the current standard input

Without arguments reports the settings of certain options.

A character preceded by a caret (^), the value of the control character (for example, ^h is ; in this case, is the same as the ``back-space'' key). The sequence "^" means that an option has a null value.

Operands described in the Combination Modes section are implemented using options in the earlier sections.
Many combinations of options make no sense, but no sanity checking is performed.
Hardware flow control and clock modes options may not be supported by all hardware interfaces.

-a Write to standard output all of the option settings

-g Report current settings in a form that can be used as an argument to another stty command in termiostype output if the underlying driver supports it; otherwise, termio-type output

OPERANDS
prefix keyword with - to reverse the sense of the option

Control Modes

parenb Enable (disable) parity generation and detection.
parext Enable (disable) extended parity generation and detection for mark and space parity.
parodd Select odd (even) parity, or mark (space) parity if parext is enabled.
cs5 cs6 cs7 cs8 Select character size (see termio(7I)).
0 Hang up line immediately.
hupcl Hang up (do not hang up) connection on last close.
hup Same as hupcl(-hupcl).
cstopb Use two (one) stop bits per character.
cread Enable (disable) the receiver.
crtscts Enable output hardware flow control:
Raise RTS (Request to Send) modem control line.
Suspends output until the CTS (Clear to Send) line is raised.
crtsxoff Enable input hardware flow control:
Raise the RTS (Request to Send) modem control line to receive data.
Suspends input when RTS is low.
clocal a line without (with) modem control.
loblk Block (do not block) output from a non-current layer.
defeucw Set the widths of characters to the values defined in the current locale specified by LC_CTYPE. Width is expressed in terms of bytes per character, and screen or display columns per character.
110 300 600 1200                       Set terminal baud rate
1800 2400 4800 9600
19200 38400 357600 76800 115200 153600 230400 307200 460800
ispeed 0 110 ... Set terminal input baud rate. If the input baud rate is 0, use the value of the output baud rate.
ospeed 0 110 ... Set terminal output baud rate. hardware supports split baud rates.
Setting output baud rate to 0, hangs up the line immediately.

Input Modes

brkint Signal (do not signal) INTR on break.
ignbrk Ignore (do not ignore) break on input.
inpck Enable (disable) input parity checking.
ignpar Ignore (do not ignore) parity errors.
parmrk Mark (do not mark) parity errors (see termio(7I)).
istrip Strip (do not strip) input characters to seven bits.
inlcr Map (do not map) NL to CR on input.
icrnl Map (do not map) CR to NL on input.
igncr Ignore (do not ignore) CR on input.
iuclc Map (do not map) upper-case alphabetics to lower case on input.
ixon Enable (disable) START/STOP output control.
Output is stopped by sending STOP control character and started by sending the START control character.
ixany Allow any character (only DC1 aka XON) to restart output.
ixoff the system should send (not send) START/STOP characters when the input queue is nearly empty/full.
imaxbel Echo (do not echo) BEL when the input line is too long.

Output Modes

opost Post-process output (do not post-process output; ignore all other output modes).
olcuc Map (do not map) lower-case alphabetics to upper case on output.
onlcr Map (do not map) NL to CR-NL on output.
ocrnl Map (do not map) CR to NL on output.
onocr Do not (do) output CRs at column zero.
onlret On the terminal NL performs (does not perform) the CR function.
Some mechanical terminals have no character buffer and require time to move. These delays introduce fill characters which delay the actual data characters until after the movments is complete. This is a rather complicated algorithm which insert a different number of fill characters depending on the calculated delay required based on the current position of the printhead.
ofdel Fill characters are DELs (NULs).
ofill Use fill characters (use timing) for delays.
cr0 cr1 cr2
cr3
carriage returns (see termio(7I) for these).
nl0 nl1 … line-feeds
tab0 tab1 tab2 tab3 … horizontal tabs
bs0 bs1 delay backspaces
ff0 ff1 delay form-feeds
vt0 vt1 delay vertical tabs

Local Modes

isig Enable (disable) checking of characters against the special control characters INTR, QUIT, SWTCH, and SUSP.
icanon Enable (disable) canonical input (ERASE and KILL pro- cessing). Does not set MIN or TIME.
xcase Canonical (unprocessed) upper/lower-case presentation.
echo Echo back (do not echo back) every character typed.
echoe Echo (do not echo) ERASE character as a backspace- space-backspace string. Note: This mode will erase the ERASEed character on many CRT terminals; however, it does not keep track of column position and, as a result, it may be confusing for escaped characters, tabs, and backspaces.
echok Echo (do not echo) NL after KILL character.
lfkc The same as echok(-echok); obsolete.
echonl Echo (do not echo) NL.
noflsh Disable (enable) flush after INTR, QUIT, or SUSP.
stwrap Disable (enable) truncation of lines longer than 79 characters on a synchronous line.
tostop Send (do not send) SIGTTOU when background processes write to the terminal.
echoctl Echo (do not echo) control characters as ^char, delete as ^?.
echoprt Echo (do not echo) erase character as character is ``erased''.
echoke BS-SP-BS erase (do not BS-SP-BS erase) entire line on line kill.
flusho Output is (is not) being flushed.
pendin Retype (do not retype) pending input at next read or input character.
iexten Enable (disable) special control characters not currently controlled by icanon, isig, ixon, or ixoff: VEOLZ, VSWTCH, VREPRINT, VDISCARD, VDSUSP, VWERASE, and VLNEXT.
stflush Enable (disable) flush on a synchronous line after every write(2).
stappl Use application mode (use line mode) on a synchronous line.

Hardware Flow Control Modes

rtsxoff Enable (disable) RTS hardware flow control on input.
ctsxon Enable (disable) CTS hardware flow control on output.
dtrxoff Enable (disable) DTR hardware flow control on input.
cdxon Enable (disable) CD hardware flow control on output.
isxoff Enable (disable) isochronous hardware flow control on input.

Clock Modes

xcibrg Get transmit clock from internal baud rate generator.
xctset Get the transmit clock from transmitter signal element timing (DCE source) lead, CCITT V.24 circuit 114, EIA-232-D pin 15.
xcrset Get transmit clock from receiver signal element timing (DCE source) lead, CCITT V.24 circuit 115, EIA-232-D pin 17.
rcibrg Get receive clock from internal baud rate generator.
rctset Get receive clock from transmitter signal element tim- ing (DCE source) lead, CCITT V.24 circuit 114, EIA- 232-D pin 15.
rcrset Get receive clock from receiver signal element timing (DCE source) lead, CCITT V.24 circuit 115, EIA-232-D pin 17.
tsetcoff Transmitter signal element timing clock not provided.
tsetcrbrg Output receive baud rate generator on transmitter sig- nal element timing (DTE source) lead, CCITT V.24 cir- cuit 113, EIA-232-D pin 24.
tsetctbrg Output transmit baud rate generator on transmitter signal element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
tsetctset Output transmitter signal element timing (DCE source) on transmitter signal element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
tsetcrset Output receiver signal element timing (DCE source) on transmitter signal element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
rsetcoff Receiver signal element timing clock not provided.
rsetcrbrg Output receive baud rate generator on receiver signal element timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
rsetctbrg Output transmit baud rate generator on receiver signal element timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
rsetctset Output transmitter signal element timing (DCE source) on receiver signal element timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
rsetcrset Output receiver signal element timing (DCE source) on receiver signal element timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.

Control Assignments

control-character c .Set control-character to c,
where:
control-character is : ctab, discard, dsusp, eof, eol, eol2, erase, intr, kill, lnext, quit, reprint, start, stop, susp, swtch, or werase (ctab is used with -stappl, see termio(7I)).

c If c is a single character, the control character will be set to that character.

In the POSIX locale, if c is preceded by a caret (^) indicating an escape from the shell and is one of those listed in the ^c column of the following table, then its value used (in the Value column) is the corresponding control character
For example:
^d is a CTRL-D).
^? is interpreted as DEL and
^- is interpreted as undefined.

     __________________________________________________________
    |     ^c    Value    |     ^c    Value   |     ^c Value    |
    | a, A        SOH    |  l,  L    FF      |   w,  W ETB     |
    | b, B        STX    |  m,  M    CR      |   x,  X CAN     |
    | c, C         ETX   |  n,  N    SO      |   y,  Y EM      |
    | d, D         EOT   |  o,  O    SI      |   z,  Z SUB     |
    | e,  E        ENQ   |  p,  P    DLE     |   [     ESC     |
    | f,  F        ACK   |  q,  Q    DC1     |         FS      |
    | g,  G        BEL   |  r,  R    DC2     |   ]     GS      |
    | h,  H        BS    |  s,  S    DC3     |   ^     RS      |
    | i,  I        HT    |  t,  T    DC4     |   _     US      |
    | j,  J        LF    |  u,  U    NAK     |   ?     DEL     |
    | k,  K        VT    |  v,   V   SYN     |

     min number 
time number Set the value of min or time to number.
MIN and TIME are used in Non-Canonical mode input processing

line Set line discipline to i ( 0< i <127).

Combination Modes

saved settings Set the current terminal characteristics to the saved settings produced by the -g option.

evenp or parity Enable parenb and cs7, or disable parodd.

oddp Enable parenb, cs7, and parodd.

spacep Enable parenb, cs7, and parext.

markp Enable parenb, cs7, parodd, and parext.

-parity, or -evenp Disable parenb, and set cs8.

-oddp Disable parenb and parodd, and set cs8.

-spacep Disable parenb and parext, and set cs8.

-markp Disable parenb, parodd, and parext, and set cs8.

raw (-raw or cooked) Enable (disable) raw input and output.
Raw mode is equivalent to setting:

stty cs8 -icanon min 1 time 0 -isig -xcase -inpck -opost

nl Unset (set) icrnl, onlcr. In addition -nl unsets inlcr, igncr, ocrnl, and onlret.

nl Set (unset) icrnl. In addition, -nl unsets inlcr, igncr, ocrnl, and onlret; -nl sets onlcr, and nl unsets onlcr.

lcase Set (unset) xcase, iuclc, and olcuc.

LCASE Same as lcase (-lcase).

tabs tab3) Preserve (expand to spaces) tabs when printing.

ek Reset ERASE and KILL characters back to normal # and @.

sane Resets all modes to some reasonable values.

term Set all modes suitable for the terminal type term, where term is one of tty33, tty37, vt05, tn300, ti700, or tek.

async Set normal asynchronous communications where clock settings are xcibrg, rcibrg, tsetcoff and rsetcoff.

Window Size

rows n Set window size to n rows.

columns n

Set window size to n columns.

cols n Set window size to n columns. Note that cols is a shorthand alias for columns.

ypixels n Set vertical window size to n pixels.

xpixels n Set horizontal window size to n pixels.

USAGE

The -g flag is designed to facilitate the saving and restoring of terminal state from the shell level. For example, a program may:

saveterm="$(stty -g)" # save terminal state stty (new settings) # set new state ... # ... stty $saveterm # restore terminal state

Since the -a format is so loosely specified, scripts that save and restore terminal settings should use the -g option.

See termio(7I) for detailed information about the modes listed from Control Modes through Local Modes. For detailed information about the modes listed under Hardware Flow Control Modes and Clock Modes, below, see termiox(7I).

ENVIRONMENT VARIABLES LC_CTYPE, LC_MESSAGES, and NLSPATH.

EXIT STATUS The following exit values are returned:
0 Successful completion.
>0 An error occurred.

SEE ALSO
tabs(1), ioctl(2), write(2), getwidth(3C), attributes(5), environ(5), ldterm(7M), termio(7I), termiox(7I)