STTY(1) User Commands STTY(1)

NAME


stty - set the options for a terminal

SYNOPSIS


/usr/bin/stty [-a] [-g]


/usr/bin/stty [modes]


/usr/xpg4/bin/stty [-a | -g]


/usr/xpg4/bin/stty [modes]


/usr/xpg6/bin/stty [-a | -g]


/usr/xpg6/bin/stty [modes]


DESCRIPTION


The stty utility sets certain terminal I/O options for the device that is
the current standard input. Without arguments, stty reports the settings
of certain options.


In this report, if a character is preceded by a caret (^), then the value
of that option is the corresponding control character (for example, ^h is
CTRL-h. In this case, recall that CTRL-h is the same as the BACKSPACE
key). The sequence ^@ means that an option has a null value.


See termio(4I) 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, see
termiox(4I).


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

OPTIONS


The following options are supported:

-a
Writes to standard output all of the option settings for the
terminal.


-g
Reports current settings in a form that can be used as an argument
to another stty command. Emits termios-type output if the
underlying driver supports it. Otherwise, it emits termio-type
output.


OPERANDS


The following mode operands are supported:

Control Modes


parenb(-parenb)
Enable (disable) parity generation and detection.


parext(-parext)
Enable (disable) extended parity generation and
detection for mark and space parity.


parodd(-parodd)
Select odd (even) parity, or mark (space) parity
if parext is enabled.


cs5 cs6 cs7 cs8
Select character size (see termio(4I)).


0
Hang up line immediately.


hupcl (-hupcl)
Hang up (do not hang up) connection on last
close.


hup (-hup)
Same as hupcl(-hupcl).


cstopb (-cstopb)
Use two (one) stop bits per character.


cread (-cread)
Enable (disable) the receiver.


crtscts (-crtscts)
Enable output hardware flow control. Raise the
RTS (Request to Send) modem control line.
Suspends output until the CTS (Clear to Send)
line is raised.


crtsxoff (-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 (-clocal)
Assume a line without (with) modem control.


defeucw
Set the widths of multibyte characters to the
values defined in the current locale specified by
LC_CTYPE. Internally, width is expressed in terms
of bytes per character, and screen or display
columns per character.


110 300 600 1200 1800
2400 4800 9600 19200
38400 357600 76800 115200
153600 230400 307200 460800
921600 1000000 1152000 1500000
2000000 2500000 3000000 3500000
4000000

Set terminal baud rate to the number given, if possible. (All speeds
are not supported by all hardware interfaces.)


ispeed 0 110 300 600 1200
1800 2400 4800 9600 19200
38400 57600 76800 115200
153600 230400 307200 460800
921600 1000000 1152000 1500000
2000000 2500000 3000000 3500000
4000000

Set terminal input baud rate to the number given, if possible. (Not
all hardware supports split baud rates.) If the input baud rate is
set to 0, the input baud rate is specified by the value of the output
baud rate.


ospeed 0 110 300 600 1200
1800 2400 4800 9600 19200
38400 57600 76800 115200
153600 230400 307200 460800
921600 1000000 1152000 1500000
2000000 2500000 3000000 3500000
4000000

Set terminal output baud rate to the number given, if possible. (Not
all hardware supports split baud rates.) If the output baud rate is
set to 0, the line is hung up immediately.


Input Modes


ignbrk (-ignbrk)
Ignore (do not ignore) break on input.


brkint (-brkint)
Signal (do not signal) INTR on break.


ignpar (-ignpar)
Ignore (do not ignore) parity errors.


parmrk (-parmrk)
Mark (do not mark) parity errors (see termio(4I)).


inpck (-inpck)
Enable (disable) input parity checking.


istrip (-istrip)
Strip (do not strip) input characters to seven
bits.


inlcr (-inlcr)
Map (do not map) NL to CR on input.


igncr (-igncr)
Ignore (do not ignore) CR on input.


icrnl (-icrnl)
Map (do not map) CR to NL on input.


iuclc (-iuclc)
Map (do not map) upper-case alphabetics to lower
case on input.


ixon (-ixon)
Enable (disable) START/STOP output control. Output
is stopped by sending STOP control character and
started by sending the START control character.


ixany (-ixany)
Allow any character (only DC1) to restart output.


ixoff (-ixoff)
Request that the system send (not send) START/STOP
characters when the input queue is nearly
empty/full.


imaxbel (-imaxbel)
Echo (do not echo) BEL when the input line is too
long. If imaxbel is set, the ASCII BEL character
(07 hex) is echoed if the input stream overflows.
Further input is not stored, but any input already
present is not disturbed. If -imaxbel is set, no
BEL character is echoed, and all unread input
present in the input queue is discarded if the
input stream overflows.


Output Modes


opost (-opost)
Post-process output (do not post-process output;
ignore all other output modes).


olcuc (-olcuc)
Map (do not map) lower-case alphabetics to upper
case on output.


onlcr (-onlcr)
Map (do not map) NL to CR-NL on output.


ocrnl (-ocrnl)
Map (do not map) CR to NL on output.


onocr (-onocr)
Do not (do) output CRs at column zero.


onlret (-onlret)
On the terminal NL performs (does not perform) the
CR function.


ofill (-ofill)
Use fill characters (use timing) for delays.


ofdel (-ofdel)
Fill characters are DELs (NULs).


cr0 cr1 cr2 cr3
Select style of delay for carriage returns (see
termio(4I)).


nl0 nl1
Select style of delay for line-feeds (see
termio(4I)).


tab0 tab1 tab2 tab3
Select style of delay for horizontal tabs (see
termio(4I)).


bs0 bs1
Select style of delay for backspaces (see
termio(4I)).


ff0 ff1
Select style of delay for form-feeds (see
termio(4I)).


vt0 vt1
Select style of delay for vertical tabs (see
termio(4I)).


Local Modes


isig(-isig)
Enable (disable) the checking of characters against
the special control characters INTR, QUIT, SWTCH,
and SUSP. For information on SWTCH, see NOTES.


icanon (-icanon)
Enable (disable) canonical input (ERASE and KILL
processing). Does not set MIN or TIME.


xcase (-xcase)
Canonical (unprocessed) upper/lower-case
presentation.


echo (-echo)
Echo back (do not echo back) every character typed.


echoe (-echoe)
Echo (do not echo) ERASE character as a backspace-
space-backspace string. This mode erases the
ERASEed character on many CRT terminals; however,
it does not keep track of column position and, as a
result, it might be confusing for escaped
characters, tabs, and backspaces.


echok(-echok)
Echo (do not echo) NL after KILL character.


lfkc (-lfkc)
The same as echok(-echok); obsolete.


echonl (-echonl)
Echo (do not echo) NL.


noflsh (-noflsh)
Disable (enable) flush after INTR, QUIT, or SUSP.


stwrap (-stwrap)
Disable (enable) truncation of lines longer than 79
characters on a synchronous line.


tostop (-tostop)
Send (do not send) SIGTTOU when background
processes write to the terminal.


echoctl (-echoctl)
Echo (do not echo) control characters as ^char,
delete as ^?.


echoprt (-echoprt)
Echo (do not echo) erase character as character is
``erased''.


echoke (-echoke)
BS-SP-BS erase (do not BS-SP-BS erase) entire line
on line kill.


flusho (-flusho)
Output is (is not) being flushed.


pendin (-pendin)
Retype (do not retype) pending input at next read
or input character.


iexten (-iexten)
Enable (disable) special control characters not
currently controlled by icanon, isig, ixon, or
ixoff: VEOL, VSWTCH, VREPRINT, VDISCARD, VDSUSP,
VWERASE, and VLNEXT.


stflush (-stflush)
Enable (disable) flush on a synchronous line after
every write(2).


stappl (-stappl)
Use application mode (use line mode) on a
synchronous line.


Hardware Flow Control Modes


rtsxoff (-rtsxoff)
Enable (disable) RTS hardware flow control on
input.


ctsxon (-ctsxon)
Enable (disable) CTS hardware flow control on
output.


dtrxoff (-dtrxoff)
Enable (disable) DTR hardware flow control on
input.


cdxon (-cdxon)
Enable (disable) CD hardware flow control on
output.


isxoff (-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 timing
(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 signal
element timing (DTE source) lead, CCITT V.24 circuit 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,
erase2, intr, kill, lnext, quit, reprint, start,
stop, susp, status, swtch, or werase (ctab is
used with -stappl, see termio(4I)). For
information on swtch, see NOTES.


c
If c is a single character, the control
character is 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 (-icanon).


line i
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


/usr/bin/stty, /usr/xpg6/bin/stty
nl (-nl)
Unset (set) icrnl, onlcr. In addition -nl unsets inlcr,
igncr, ocrnl, and onlret.


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


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


LCASE (-LCASE)
Same as lcase (-lcase).


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


ek
Reset ERASE, ERASE2, and KILL characters back to
normal DEL, CTRL-h, and CTRL-u, respectively.


sane
Reset 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. 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 can:

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.

ENVIRONMENT VARIABLES


See environ(7) for descriptions of the following environment variables
that affect the execution of stty: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES,
and NLSPATH.

EXIT STATUS


The following exit values are returned:

0
Successful completion.


>0
An error occurred.


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:

/usr/xpg4/bin/stty

+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|Standard | See standards(7). |
+--------------------+-------------------+

/usr/xpg6/bin/stty

+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|Standard | See standards(7). |
+--------------------+-------------------+

SEE ALSO


tabs(1), ioctl(2), write(2), getwidth(3C), termio(4I), termiox(4I),
ldterm(4M), attributes(7), environ(7), standards(7)

NOTES


Solaris does not support any of the actions implied by swtch, which was
used by the sxt driver on System V release 4. Solaris allows the swtch
value to be set, and prints it out if set, but it does not perform the
swtch action.


The job switch functionality on Solaris is actually handled by job
control. susp is the correct setting for this.

August 13, 2021 STTY(1)