[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    stty(1) manual page Table of Contents

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 ]

Availability

/usr/bin/stty

SUNWcsu

/usr/xpg4/bin/stty

SUNWxcu4

Description

The stty command sets certain terminal I/O options for the device that is the current standard input; without arguments, it 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 ‘‘back-space’’ 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, below, see termiox(7I) .

Operands described in the Combination Modes section are implemented using options in the earlier sections. Note that 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.

Options

The following options are supported:
-a
Write to standard output all of the option settings for the terminal.
-g
Report 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(7I) ).
  • Hang up line immediately.
  • 110 300 600 1200 1800 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.)

    ispeed 0 110 300 600 1200 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 will be 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
    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 will be hung up 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.
    loblk (-loblk)
    Block (do not block) output from a non-current layer.
    defeucw
    Set the widths of multibyte Extended Unix Code (EUC) characters in struct eucioc to default values for the current locale specified by LC_CTYPE ; width is expressed in terms of bytes per character, and screen or display columns per character (see getwidth(3I) and ldterm(7M) ).

    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(7I) ).
    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.

    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 CR s 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 DEL s (NUL s).
    cr0 cr1 cr2 cr3
    Select style of delay for carriage returns (see termio(7I) ).
    nl0 nl1
    Select style of delay for line-feeds (see termio(7I) ).
    tab0 tab1 tab2 tab3
    Select style of delay for horizontal tabs (see termio(7I) ).
    bs0 bs1
    Select style of delay for backspaces (see termio(7I) ).
    ff0 ff1
    Select style of delay for form-feeds (see termio(7I) ).
    vt0 vt1
    Select style of delay for vertical tabs (see termio(7I) ).

    Local Modes

    isig (-isig)
    Enable (disable) the checking of characters against the special control characters INTR , QUIT , SWTCH , and SUSP .
    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. Note: This mode will erase the ERASE ed 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 (-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: VEOLZ , VSWTCH , VREPRINT , VDISCARD , VDSUSP , VWERASE , 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 tranmitter 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.
    ^cValue^cValue^cValue
    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).
    linei
    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

    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 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.

    Environment

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

    Exit Status

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

    See Also

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


    Table of Contents