[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19. Working context

This section describes commands that display or alter the context in which you are working: the current directory, the terminal settings, and so forth. See also the user-related commands in the next section.

19.1 pwd: Print working directory  Print working directory.
19.2 stty: Print or change terminal characteristics  Print or change terminal characteristics.
19.3 printenv: Print all or some environment variables  Print environment variables.
19.4 tty: Print file name of terminal on standard input  Print file name of terminal on standard input.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.1 pwd: Print working directory

pwd prints the fully resolved name of the current directory. That is, all components of the printed name will be actual directory names--none will be symbolic links.

Because most shells have a built-in command by the same name, using the unadorned command name in a script or interactively may get you different functionality than that described here.

The only options are a lone `--help' or `--version'. See section 2. Common options.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2 stty: Print or change terminal characteristics

stty prints or changes terminal characteristics, such as baud rate. Synopses:

 
stty [option] [setting]...
stty [option]

If given no line settings, stty prints the baud rate, line discipline number (on systems that support it), and line settings that have been changed from the values set by `stty sane'. By default, mode reading and setting are performed on the tty line connected to standard input, although this can be modified by the `--file' option.

stty accepts many non-option arguments that change aspects of the terminal line operation, as described below.

The program accepts the following options. Also see 2. Common options.

`-a'
`--all'
Print all current settings in human-readable form. This option may not be used in combination with any line settings.

`-F device'
`--file=device'
Set the line opened by the filename specified in device instead of the tty line connected to standard input. This option is necessary because opening a POSIX tty requires use of the O_NONDELAY flag to prevent a POSIX tty from blocking until the carrier detect line is high if the clocal flag is not set. Hence, it is not always possible to allow the shell to open the device in the traditional manner.

`-g'
`--save'
Print all current settings in a form that can be used as an argument to another stty command to restore the current settings. This option may not be used in combination with any line settings.

Many settings can be turned off by preceding them with a `-'. Such arguments are marked below with "May be negated" in their description. The descriptions themselves refer to the positive case, that is, when not negated (unless stated otherwise, of course).

Some settings are not available on all POSIX systems, since they use extensions. Such arguments are marked below with "Non-POSIX" in their description. On non-POSIX systems, those or other settings also may not be available, but it's not feasible to document all the variations: just try it and see.

19.2.1 Control settings  
19.2.2 Input settings  
19.2.3 Output settings  
19.2.4 Local settings  
19.2.5 Combination settings  
19.2.6 Special characters  
19.2.7 Special settings  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2.1 Control settings

Control settings:

`parenb'
Generate parity bit in output and expect parity bit in input. May be negated.

`parodd'
Set odd parity (even if negated). May be negated.

`cs5'
`cs6'
`cs7'
`cs8'
Set character size to 5, 6, 7, or 8 bits.

`hup'
`hupcl'
Send a hangup signal when the last process closes the tty. May be negated.

`cstopb'
Use two stop bits per character (one if negated). May be negated.

`cread'
Allow input to be received. May be negated.

`clocal'
Disable modem control signals. May be negated.

`crtscts'
Enable RTS/CTS flow control. Non-POSIX. May be negated.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2.2 Input settings

`ignbrk'
Ignore break characters. May be negated.

`brkint'
Make breaks cause an interrupt signal. May be negated.

`ignpar'
Ignore characters with parity errors. May be negated.

`parmrk'
Mark parity errors (with a 255-0-character sequence). May be negated.

`inpck'
Enable input parity checking. May be negated.

`istrip'
Clear high (8th) bit of input characters. May be negated.

`inlcr'
Translate newline to carriage return. May be negated.

`igncr'
Ignore carriage return. May be negated.

`icrnl'
Translate carriage return to newline. May be negated.

`ixon'
Enable XON/XOFF flow control (that is, CTRL-S/CTRL-Q). May be negated.

`ixoff'
`tandem'
Enable sending of stop character when the system input buffer is almost full, and start character when it becomes almost empty again. May be negated.

`iuclc'
Translate uppercase characters to lowercase. Non-POSIX. May be negated.

`ixany'
Allow any character to restart output (only the start character if negated). Non-POSIX. May be negated.

`imaxbel'
Enable beeping and not flushing input buffer if a character arrives when the input buffer is full. Non-POSIX. May be negated.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2.3 Output settings

These arguments specify output-related operations.

`opost'
Postprocess output. May be negated.

`olcuc'
Translate lowercase characters to uppercase. Non-POSIX. May be negated.

`ocrnl'
Translate carriage return to newline. Non-POSIX. May be negated.

`onlcr'
Translate newline to carriage return-newline. Non-POSIX. May be negated.

`onocr'
Do not print carriage returns in the first column. Non-POSIX. May be negated.

`onlret'
Newline performs a carriage return. Non-POSIX. May be negated.

`ofill'
Use fill (padding) characters instead of timing for delays. Non-POSIX. May be negated.

`ofdel'
Use delete characters for fill instead of null characters. Non-POSIX. May be negated.

`nl1'
`nl0'
Newline delay style. Non-POSIX.

`cr3'
`cr2'
`cr1'
`cr0'
Carriage return delay style. Non-POSIX.

`tab3'
`tab2'
`tab1'
`tab0'
Horizontal tab delay style. Non-POSIX.

`bs1'
`bs0'
Backspace delay style. Non-POSIX.

`vt1'
`vt0'
Vertical tab delay style. Non-POSIX.

`ff1'
`ff0'
Form feed delay style. Non-POSIX.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2.4 Local settings

`isig'
Enable interrupt, quit, and suspend special characters. May be negated.

`icanon'
Enable erase, kill, werase, and rprnt special characters. May be negated.

`iexten'
Enable non-POSIX special characters. May be negated.

`echo'
Echo input characters. May be negated.

`echoe'
`crterase'
Echo erase characters as backspace-space-backspace. May be negated.

`echok'
Echo a newline after a kill character. May be negated.

`echonl'
Echo newline even if not echoing other characters. May be negated.

`noflsh'
Disable flushing after interrupt and quit special characters. May be negated.

`xcase'
Enable input and output of uppercase characters by preceding their lowercase equivalents with `\', when icanon is set. Non-POSIX. May be negated.

`tostop'
Stop background jobs that try to write to the terminal. Non-POSIX. May be negated.

`echoprt'
`prterase'
Echo erased characters backward, between `\' and `/'. Non-POSIX. May be negated.

`echoctl'
`ctlecho'
Echo control characters in hat notation (`^c') instead of literally. Non-POSIX. May be negated.

`echoke'
`crtkill'
Echo the kill special character by erasing each character on the line as indicated by the echoprt and echoe settings, instead of by the echoctl and echok settings. Non-POSIX. May be negated.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2.5 Combination settings

Combination settings:

`evenp'
`parity'
Same as parenb -parodd cs7. May be negated. If negated, same as -parenb cs8.

`oddp'
Same as parenb parodd cs7. May be negated. If negated, same as -parenb cs8.

`nl'
Same as -icrnl -onlcr. May be negated. If negated, same as icrnl -inlcr -igncr onlcr -ocrnl -onlret.

`ek'
Reset the erase and kill special characters to their default values.

`sane'
Same as:
 
cread -ignbrk brkint -inlcr -igncr icrnl -ixoff
-iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr
-onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
ff0 isig icanon iexten echo echoe echok -echonl
-noflsh -xcase -tostop -echoprt echoctl echoke
and also sets all special characters to their default values.

`cooked'
Same as brkint ignpar istrip icrnl ixon opost isig icanon, plus sets the eof and eol characters to their default values if they are the same as the min and time characters. May be negated. If negated, same as raw.

`raw'
Same as:
 
-ignbrk -brkint -ignpar -parmrk -inpck -istrip
-inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany
-imaxbel -opost -isig -icanon -xcase min 1 time 0
May be negated. If negated, same as cooked.

`cbreak'
Same as -icanon. May be negated. If negated, same as icanon.

`pass8'
Same as -parenb -istrip cs8. May be negated. If negated, same as parenb istrip cs7.

`litout'
Same as -parenb -istrip -opost cs8. May be negated. If negated, same as parenb istrip opost cs7.

`decctlq'
Same as -ixany. Non-POSIX. May be negated.

`tabs'
Same as tab0. Non-POSIX. May be negated. If negated, same as tab3.

`lcase'
`LCASE'
Same as xcase iuclc olcuc. Non-POSIX. May be negated.

`crt'
Same as echoe echoctl echoke.

`dec'
Same as echoe echoctl echoke -ixany intr ^C erase ^? kill C-u.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2.6 Special characters

The special characters' default values vary from system to system. They are set with the syntax `name value', where the names are listed below and the value can be given either literally, in hat notation (`^c'), or as an integer which may start with `0x' to indicate hexadecimal, `0' to indicate octal, or any other digit to indicate decimal.

For GNU stty, giving a value of ^- or undef disables that special character. (This is incompatible with Ultrix stty, which uses a value of `u' to disable a special character. GNU stty treats a value `u' like any other, namely to set that special character to U.)

`intr'
Send an interrupt signal.

`quit'
Send a quit signal.

`erase'
Erase the last character typed.

`kill'
Erase the current line.

`eof'
Send an end of file (terminate the input).

`eol'
End the line.

`eol2'
Alternate character to end the line. Non-POSIX.

`swtch'
Switch to a different shell layer. Non-POSIX.

`start'
Restart the output after stopping it.

`stop'
Stop the output.

`susp'
Send a terminal stop signal.

`dsusp'
Send a terminal stop signal after flushing the input. Non-POSIX.

`rprnt'
Redraw the current line. Non-POSIX.

`werase'
Erase the last word typed. Non-POSIX.

`lnext'
Enter the next character typed literally, even if it is a special character. Non-POSIX.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2.7 Special settings

`min n'
Set the minimum number of characters that will satisfy a read until the time value has expired, when -icanon is set.

`time n'
Set the number of tenths of a second before reads time out if the minimum number of characters have not been read, when -icanon is set.

`ispeed n'
Set the input speed to n.

`ospeed n'
Set the output speed to n.

`rows n'
Tell the tty kernel driver that the terminal has n rows. Non-POSIX.

`cols n'
`columns n'
Tell the kernel that the terminal has n columns. Non-POSIX.

`size'
Print the number of rows and columns that the kernel thinks the terminal has. (Systems that don't support rows and columns in the kernel typically use the environment variables LINES and COLUMNS instead; however, GNU stty does not know anything about them.) Non-POSIX.

`line n'
Use line discipline n. Non-POSIX.

`speed'
Print the terminal speed.

`n'
Set the input and output speeds to n. n can be one of: 0 50 75 110 134 134.5 150 200 300 600 1200 1800 2400 4800 9600 19200 38400 exta extb. exta is the same as 19200; extb is the same as 38400. 0 hangs up the line if -clocal is set.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.3 printenv: Print all or some environment variables

printenv prints environment variable values. Synopsis:

 
printenv [option] [variable]...

If no variables are specified, printenv prints the value of every environment variable. Otherwise, it prints the value of each variable that is set, and nothing for those that are not set.

The only options are a lone `--help' or `--version'. See section 2. Common options.

Exit status:

 
0 if all variables specified were found
1 if at least one specified variable was not found
2 if a write error occurred


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.4 tty: Print file name of terminal on standard input

tty prints the file name of the terminal connected to its standard input. It prints `not a tty' if standard input is not a terminal. Synopsis:

 
tty [option]...

The program accepts the following option. Also see 2. Common options.

`-s'
`--silent'
`--quiet'
Print nothing; only return an exit status.

Exit status:

 
0 if standard input is a terminal
1 if standard input is not a terminal
2 if given incorrect arguments
3 if a write error occurs


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Jeff Bailey on December, 28 2002 using texi2html