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)