Copyright 1989 AT&T
Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
Copyright (c) 2014, Joyent, Inc. All Rights Reserved
Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/.
The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text
are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical
and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
This notice shall appear on any product containing this material.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
/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]
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(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, see termiox(7I).
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.
The following options are supported: -a
Writes to standard output all of the option settings for the terminal.
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.
The following mode operands are supported:
Enable (disable) parity generation and detection.
Enable (disable) extended parity generation and detection for mark and space parity.
Select odd (even) parity, or mark (space) parity if parext is enabled.
Select character size (see termio(7I)).
Hang up line immediately.
Hang up (do not hang up) connection on last close.
Same as hupcl(-hupcl).
Use two (one) stop bits per character.
Enable (disable) the receiver.
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.
Enable input hardware flow control. Raise the RTS (Request to Send) modem control line to receive data. Suspends input when RTS is low.
Assume a line without (with) modem control.
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.
2400 4800 9600 19200
38400 357600 76800 115200
153600 230400 307200 460800
Set terminal baud rate to the number given, if possible. (All speeds are not supported by all hardware interfaces.)
1800 2400 4800 9600 19200
38400 57600 76800 115200
153600 230400 307200 460800
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.
1800 2400 4800 9600 19200
38400 57600 76800 115200
153600 230400 307200 460800
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.
Ignore (do not ignore) break on input.
Signal (do not signal) INTR on break.
Ignore (do not ignore) parity errors.
Mark (do not mark) parity errors (see termio(7I)).
Enable (disable) input parity checking.
Strip (do not strip) input characters to seven bits.
Map (do not map) NL to CR on input.
Ignore (do not ignore) CR on input.
Map (do not map) CR to NL on input.
Map (do not map) upper-case alphabetics to lower case on input.
Enable (disable) START/STOP output control. Output is stopped by sending STOP control character and started by sending the START control character.
Allow any character (only DC1) to restart output.
Request that the system send (not send) START/STOP characters when the input queue is nearly empty/full.
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.
Post-process output (do not post-process output; ignore all other output modes).
Map (do not map) lower-case alphabetics to upper case on output.
Map (do not map) NL to CR-NL on output.
Map (do not map) CR to NL on output.
Do not (do) output CRs at column zero.
On the terminal NL performs (does not perform) the CR function.
Use fill characters (use timing) for delays.
Fill characters are DELs (NULs).
Select style of delay for carriage returns (see termio(7I)).
Select style of delay for line-feeds (see termio(7I)).
Select style of delay for horizontal tabs (see termio(7I)).
Select style of delay for backspaces (see termio(7I)).
Select style of delay for form-feeds (see termio(7I)).
Select style of delay for vertical tabs (see termio(7I)).
Enable (disable) the checking of characters against the special control characters INTR, QUIT, SWTCH, and SUSP. For information on SWTCH, see NOTES.
Enable (disable) canonical input (ERASE and KILL processing). Does not set MIN or TIME.
Canonical (unprocessed) upper/lower-case presentation.
Echo back (do not echo back) every character typed.
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.
Echo (do not echo) NL after KILL character.
The same as echok(-echok); obsolete.
Echo (do not echo) NL.
Disable (enable) flush after INTR, QUIT, or SUSP.
Disable (enable) truncation of lines longer than 79 characters on a synchronous line.
Send (do not send) SIGTTOU when background processes write to the terminal.
Echo (do not echo) control characters as ^char, delete as ^?.
Echo (do not echo) erase character as character is ``erased''.
BS-SP-BS erase (do not BS-SP-BS erase) entire line on line kill.
Output is (is not) being flushed.
Retype (do not retype) pending input at next read or input character.
Enable (disable) special control characters not currently controlled by icanon, isig, ixon, or ixoff: VEOL, VSWTCH, VREPRINT, VDISCARD, VDSUSP, VWERASE, and VLNEXT.
Enable (disable) flush on a synchronous line after every write(2).
Use application mode (use line mode) on a synchronous line.
Enable (disable) RTS hardware flow control on input.
Enable (disable) CTS hardware flow control on output.
Enable (disable) DTR hardware flow control on input.
Enable (disable) CD hardware flow control on output.
Enable (disable) isochronous hardware flow control on input.
Get transmit clock from internal baud rate generator.
Get the transmit clock from transmitter signal element timing (DCE source) lead, CCITT V.24 circuit 114, EIA-232-D pin 15.
Get transmit clock from receiver signal element timing (DCE source) lead, CCITT V.24 circuit 115, EIA-232-D pin 17.
Get receive clock from internal baud rate generator.
Get receive clock from transmitter signal element timing (DCE source) lead, CCITT V.24 circuit 114, EIA-232-D pin 15.
Get receive clock from receiver signal element timing (DCE source) lead, CCITT V.24 circuit 115, EIA-232-D pin 17.
Transmitter signal element timing clock not provided.
Output receive baud rate generator on transmitter signal element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
Output transmit baud rate generator on transmitter signal element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
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.
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.
Receiver signal element timing clock not provided.
Output receive baud rate generator on receiver signal element timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
Output transmit baud rate generator on receiver signal element timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
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.
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.
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(7I)). For information on swtch, see NOTES.
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> \e <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> |
time number
Set the value of min or time to number. MIN and TIME are used in Non-Canonical mode input processing (-icanon).
Set line discipline to i ( 0< i <127).
Set the current terminal characteristics to the saved settings produced by the -g option.
Enable parenb and cs7, or disable parodd.
Enable parenb, cs7, and parodd.
Enable parenb, cs7, and parext.
Enable parenb, cs7, parodd, and parext.
Disable parenb, and set cs8.
Disable parenb and parodd, and set cs8.
Disable parenb and parext, and set cs8.
Disable parenb, parodd, and parext, and set cs8.
Enable (disable) raw input and output. Raw mode is equivalent to setting:
stty cs8 -icanon min 1 time 0 -isig -xcase \e -inpck -opost
Unset (set) icrnl, onlcr. In addition -nl unsets inlcr, igncr, ocrnl, and onlret.
Set (unset) icrnl. In addition, -nl unsets inlcr, igncr, ocrnl, and onlret; -nl sets onlcr, and nl unsets onlcr.
Set (unset) xcase, iuclc, and olcuc.
Same as lcase (-lcase).
Preserve (expand to spaces) tabs when printing.
Reset ERASE, ERASE2, and KILL characters back to normal DEL, CTRL-h, and CTRL-u, respectively.
Reset all modes to some reasonable values.
Set all modes suitable for the terminal type term, where term is one of tty33, tty37, vt05, tn300, ti700, or tek.
Set normal asynchronous communications where clock settings are xcibrg, rcibrg, tsetcoff and rsetcoff.
Set window size to n rows.
Set window size to n columns.
Set window size to n columns. cols is a shorthand alias for columns.
Set vertical window size to n pixels.
Set horizontal window size to n pixels.
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.
See environ(5) for descriptions of the following environment variables that affect the execution of stty: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following exit values are returned: 0
Successful completion.
An error occurred.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
Interface Stability Committed |
Standard See standards(5). |
ATTRIBUTE TYPE ATTRIBUTE VALUE |
Interface Stability Committed |
Standard See standards(5). |
tabs(1), ioctl(2), write(2), getwidth(3C), attributes(5), environ(5), standards(5), ldterm(7M), termio(7I), termiox(7I)
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.