Imported from ../bash-2.03.tar.gz.
This commit is contained in:
parent
bc4cd23ce9
commit
b72432fdcc
191 changed files with 10113 additions and 3553 deletions
306
doc/FAQ
306
doc/FAQ
|
@ -1,4 +1,4 @@
|
|||
This is the Bash FAQ, version 2.13, for Bash version 2.02.
|
||||
This is the Bash FAQ, version 3.0, for Bash version 2.03.
|
||||
|
||||
This document contains a set of frequently-asked questions concerning
|
||||
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
|
||||
|
@ -20,87 +20,87 @@ Contents:
|
|||
|
||||
Section A: The Basics
|
||||
|
||||
1) What is it?
|
||||
2) What's the latest version?
|
||||
3) Where can I get it?
|
||||
4) On what machines will bash run?
|
||||
5) Will bash run on operating systems other than Unix?
|
||||
6) How can I build bash with gcc?
|
||||
7) How can I make bash my login shell?
|
||||
8) I just changed my login shell to bash, and now I can't FTP into my
|
||||
machine. Why not?
|
||||
9) What's the `POSIX 1003.2 standard'?
|
||||
10) What is the bash `posix mode'?
|
||||
A1) What is it?
|
||||
A2) What's the latest version?
|
||||
A3) Where can I get it?
|
||||
A4) On what machines will bash run?
|
||||
A5) Will bash run on operating systems other than Unix?
|
||||
A6) How can I build bash with gcc?
|
||||
A7) How can I make bash my login shell?
|
||||
A8) I just changed my login shell to bash, and now I can't FTP into my
|
||||
machine. Why not?
|
||||
A9) What's the `POSIX 1003.2 standard'?
|
||||
A10) What is the bash `posix mode'?
|
||||
|
||||
Section B: The latest version
|
||||
|
||||
11) What's new in version 2.02?
|
||||
12) Are there any user-visible incompatibilities between bash-2.02 and
|
||||
B1) What's new in version 2.03?
|
||||
B2) Are there any user-visible incompatibilities between bash-2.03 and
|
||||
bash-1.14.7?
|
||||
|
||||
Section C: Differences from other Unix shells
|
||||
|
||||
13) How does bash differ from sh, the Bourne shell?
|
||||
14) How does bash differ from the Korn shell, version ksh88?
|
||||
15) Which new features in ksh-93 are not in bash, and which are?
|
||||
C1) How does bash differ from sh, the Bourne shell?
|
||||
C2) How does bash differ from the Korn shell, version ksh88?
|
||||
C3) Which new features in ksh-93 are not in bash, and which are?
|
||||
|
||||
Section D: Why does bash do some things differently than other Unix shells?
|
||||
|
||||
16) Why does bash run a different version of `command' than
|
||||
D1) Why does bash run a different version of `command' than
|
||||
`which command' says it will?
|
||||
17) Why doesn't bash treat brace expansions exactly like csh?
|
||||
18) Why doesn't bash have csh variable modifiers?
|
||||
19) How can I make my csh aliases work when I convert to bash?
|
||||
20) How can I pipe standard output and standard error from one command to
|
||||
D2) Why doesn't bash treat brace expansions exactly like csh?
|
||||
D3) Why doesn't bash have csh variable modifiers?
|
||||
D4) How can I make my csh aliases work when I convert to bash?
|
||||
D5) How can I pipe standard output and standard error from one command to
|
||||
another, like csh does with `|&'?
|
||||
21) Now that I've converted from ksh to bash, are there equivalents to
|
||||
D6) Now that I've converted from ksh to bash, are there equivalents to
|
||||
ksh features like autoloaded functions and the `whence' command?
|
||||
|
||||
Section E: How can I get bash to do certain things, and why does bash do
|
||||
things the way it does?
|
||||
|
||||
22) Why is the bash builtin `test' slightly different from /bin/test?
|
||||
23) Why does bash sometimes say `Broken pipe'?
|
||||
24) How can I get bash to read and display eight-bit characters?
|
||||
25) How do I write a function `x' to replace builtin command `x', but
|
||||
E1) Why is the bash builtin `test' slightly different from /bin/test?
|
||||
E2) Why does bash sometimes say `Broken pipe'?
|
||||
E3) How can I get bash to read and display eight-bit characters?
|
||||
E4) How do I write a function `x' to replace builtin command `x', but
|
||||
still invoke the command from within the function?
|
||||
26) When I have terminal escape sequences in my prompt, why does bash
|
||||
E5) When I have terminal escape sequences in my prompt, why does bash
|
||||
wrap lines at the wrong column?
|
||||
27) How can I find the value of a shell variable whose name is the value
|
||||
E6) How can I find the value of a shell variable whose name is the value
|
||||
of another shell variable?
|
||||
28) If I pipe the output of a command into `read variable', why doesn't
|
||||
E7) If I pipe the output of a command into `read variable', why doesn't
|
||||
the output show up in $variable when the read command finishes?
|
||||
29) I have a bunch of shell scripts that use backslash-escaped characters
|
||||
E8) I have a bunch of shell scripts that use backslash-escaped characters
|
||||
in arguments to `echo'. Bash doesn't interpret these characters. Why
|
||||
not, and how can I make it understand them?
|
||||
30) Why doesn't a while or for loop get suspended when I type ^Z?
|
||||
31) How can I make the bash `time' reserved word print timing output that
|
||||
looks like the output from my system's /usr/bin/time?
|
||||
E9) Why doesn't a while or for loop get suspended when I type ^Z?
|
||||
E10) How can I make the bash `time' reserved word print timing output that
|
||||
looks like the output from my system's /usr/bin/time?
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
32) Why can't I use command line editing in my `cmdtool'?
|
||||
33) I built bash on Solaris 2. Why do globbing expansions and filename
|
||||
F1) Why can't I use command line editing in my `cmdtool'?
|
||||
F2) I built bash on Solaris 2. Why do globbing expansions and filename
|
||||
completion chop off the first few characters of each filename?
|
||||
34) Why does bash dump core after I interrupt username completion or
|
||||
F3) Why does bash dump core after I interrupt username completion or
|
||||
`~user' tilde expansion on a machine running NIS?
|
||||
35) I'm running SVR4.2. Why is the line erased every time I type `@'?
|
||||
36) Why does bash report syntax errors when my C News scripts use a
|
||||
F4) I'm running SVR4.2. Why is the line erased every time I type `@'?
|
||||
F5) Why does bash report syntax errors when my C News scripts use a
|
||||
redirection before a subshell command?
|
||||
|
||||
Section G: Where do I go from here?
|
||||
|
||||
37) How do I report bugs in bash, and where should I look for fixes and
|
||||
G1) How do I report bugs in bash, and where should I look for fixes and
|
||||
advice?
|
||||
38) What kind of bash documentation is there?
|
||||
39) What's coming in future versions?
|
||||
40) What's on the bash `wish list'?
|
||||
41) When will the next release appear?
|
||||
G2) What kind of bash documentation is there?
|
||||
G3) What's coming in future versions?
|
||||
G4) What's on the bash `wish list'?
|
||||
G5) When will the next release appear?
|
||||
|
||||
----------
|
||||
Section A: The Basics
|
||||
|
||||
1) What is it?
|
||||
A1) What is it?
|
||||
|
||||
Bash is a Unix command interpreter (shell). It is an implementation of
|
||||
the Posix 1003.2 shell standard, and resembles the Korn and System V
|
||||
|
@ -118,26 +118,26 @@ Bash was originally written by Brian Fox of the Free Software
|
|||
Foundation. The current developer and maintainer is Chet Ramey
|
||||
of Case Western Reserve University.
|
||||
|
||||
2) What's the latest version?
|
||||
A2) What's the latest version?
|
||||
|
||||
The latest version is 2.02, first made available on Monday, 20 April, 1998.
|
||||
The latest version is 2.03, first made available on Friday, 19 Feburary 1999.
|
||||
|
||||
3) Where can I get it?
|
||||
A3) Where can I get it?
|
||||
|
||||
Bash is the GNU project's shell, and so is available from the
|
||||
master GNU archive site, prep.ai.mit.edu, and its mirrors. The
|
||||
master GNU archive site, ftp.gnu.org, and its mirrors. The
|
||||
latest version is also available for FTP from ftp.cwru.edu.
|
||||
The following URLs tell how to get version 2.02:
|
||||
The following URLs tell how to get version 2.03:
|
||||
|
||||
ftp://prep.ai.mit.edu/pub/gnu/bash-2.02.tar.gz
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-2.02.tar.gz
|
||||
ftp://ftp.gnu.org/pub/gnu/bash-2.03.tar.gz
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-2.03.tar.gz
|
||||
|
||||
Formatted versions of the documentation are available with the URLs:
|
||||
|
||||
ftp://prep.ai.mit.edu/pub/gnu/bash-doc-2.02.tar.gz
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-doc-2.02.tar.gz
|
||||
ftp://ftp.gnu.org/pub/gnu/bash-doc-2.03.tar.gz
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-doc-2.03.tar.gz
|
||||
|
||||
4) On what machines will bash run?
|
||||
A4) On what machines will bash run?
|
||||
|
||||
Bash has been ported to nearly every version of UNIX. All you
|
||||
should have to do to build it on a machine for which a port
|
||||
|
@ -147,10 +147,10 @@ itself accordingly, using a script created by GNU autoconf.
|
|||
|
||||
More information appears in the file `INSTALL' in the distribution.
|
||||
|
||||
5) Will bash run on operating systems other than Unix?
|
||||
A5) Will bash run on operating systems other than Unix?
|
||||
|
||||
Configuration specifics for Unix-like systems such as QNX and
|
||||
LynxOS are included in the distribution. Bash-2.02 should
|
||||
LynxOS are included in the distribution. Bash-2.03 should
|
||||
compile and run on Minix 2.0 (patches were contributed), but I
|
||||
don't believe anyone has built bash-2.x on earlier Minix versions
|
||||
yet.
|
||||
|
@ -162,12 +162,12 @@ project. For more information about the project, look at the URL
|
|||
|
||||
http://www.cygnus.com/misc/gnu-win32
|
||||
|
||||
Cygnus has ported bash-1.14.7, and their port is part of the current
|
||||
gnu-win32 release. Cygnus has also done a port of bash-2.01 to the
|
||||
GNU-Win32 environment, and it should be available as part of their next
|
||||
release.
|
||||
Cygnus originally ported bash-1.14.7, and that port was part of their
|
||||
early GNU-Win32 releases. Cygnus has also done a port of bash-2.01 to the
|
||||
GNU-Win32 environment, and it is available as part of their current
|
||||
release. (They may have upgraded by now.)
|
||||
|
||||
Bash-2.02 should require no local Cygnus changes to build and run under
|
||||
Bash-2.03 should require no local Cygnus changes to build and run under
|
||||
GNU-WIN32.
|
||||
|
||||
The Cygnus port works only on Intel machines. There is a port of bash
|
||||
|
@ -175,9 +175,19 @@ The Cygnus port works only on Intel machines. There is a port of bash
|
|||
|
||||
ftp://ftp.gnustep.org//pub/win32/bash-alpha-nt-1.01.tar.gz
|
||||
|
||||
Softway Systems has ported bash-2.01.1 to their Interix (nee OpenNT)
|
||||
Softway Systems has ported bash-2.01 to their Interix (nee OpenNT)
|
||||
system, a Unix subsystem for NT that replaces the Microsoft POSIX
|
||||
subsystem. Check out http://www.interix.com for more information.
|
||||
Some support for Interix has been incorporated into bash, beginning
|
||||
with Bash-2.03. It should be easier to build bash on Interix now,
|
||||
but Interix users should fetch
|
||||
|
||||
ftp://ftp.interix.com/pub/tw/unsup/bash.diffs.tar.gz
|
||||
|
||||
and read the README.OpenNT file in that archive. It will detail the
|
||||
arguments configure needs to build on Interix. A configure cache
|
||||
file for Interix is in the bash distribution in cross-build/opennt.cache;
|
||||
copy that to `config.cache' before starting configure.
|
||||
|
||||
D. J. Delorie has ported bash-1.14.7 to run under MS-DOS, as part of
|
||||
the DJGPP project. For more information on the project, see
|
||||
|
@ -201,12 +211,12 @@ ftp://hobbes.nmsu.edu/pub/os2/util/shell/bash-2.0(253).zip
|
|||
I haven't looked at either, but the second appears to be a binary-only
|
||||
distribution. Beware.
|
||||
|
||||
6) How can I build bash with gcc?
|
||||
A6) How can I build bash with gcc?
|
||||
|
||||
Bash configures to use gcc by default if it is available. Read the
|
||||
file INSTALL in the distribution for more information.
|
||||
|
||||
7) How can I make bash my login shell?
|
||||
A7) How can I make bash my login shell?
|
||||
|
||||
Some machines let you use `chsh' to change your login shell. Other
|
||||
systems use `passwd -s' or `passwd -e'. If one of these works for
|
||||
|
@ -252,7 +262,7 @@ This will cause login shells to replace themselves with bash running as
|
|||
a login shell. Once you have this working, you can copy your initialization
|
||||
code from ~/.profile to ~/.bash_profile.
|
||||
|
||||
8) I just changed my login shell to bash, and now I can't FTP into my
|
||||
A8) I just changed my login shell to bash, and now I can't FTP into my
|
||||
machine. Why not?
|
||||
|
||||
You must add the full pathname to bash to the file /etc/shells. As
|
||||
|
@ -262,7 +272,7 @@ this before you can make bash your login shell.
|
|||
Most versions of ftpd use this file to prohibit `special' users
|
||||
such as `uucp' and `news' from using FTP.
|
||||
|
||||
9) What's the `POSIX 1003.2 standard'?
|
||||
A9) What's the `POSIX 1003.2 standard'?
|
||||
|
||||
POSIX is a name originally coined by Richard Stallman for a
|
||||
family of open system standards based on UNIX. There are a
|
||||
|
@ -297,7 +307,7 @@ line editing. Only vi-style line editing commands have been
|
|||
standardized; emacs editing commands were left out due to
|
||||
objections.
|
||||
|
||||
10) What is the bash `posix mode'?
|
||||
A10) What is the bash `posix mode'?
|
||||
|
||||
Although bash is an implementation of the POSIX.2 shell
|
||||
specification, there are areas where the bash default behavior
|
||||
|
@ -314,9 +324,29 @@ Reference Manual.
|
|||
|
||||
Section B: The latest version
|
||||
|
||||
11) What's new in version 2.02?
|
||||
B1) What's new in version 2.03?
|
||||
|
||||
Bash-2.02 has a number of new features. Here's a short list:
|
||||
Bash-2.03 has a very few new features, in keeping with the convention
|
||||
that odd-numbered releases provide mainly bug fixes. A number of new
|
||||
features were added to Readline, mostly at the request of the Cygnus
|
||||
folks.
|
||||
|
||||
a new shopt option, `restricted_shell', so that startup files can test
|
||||
whether or not the shell was started in restricted mode
|
||||
filename generation is now performed on the words between ( and ) in
|
||||
compound array assignments (this is really a bug fix)
|
||||
OLDPWD is now auto-exported, as POSIX.2 requires
|
||||
ENV and BASH_ENV are read-only variables in a restricted shell
|
||||
Bash may now be linked against an already-installed Readline library,
|
||||
as long as the Readline library is version 4 or newer
|
||||
All shells begun with the `--login' option will source the login shell
|
||||
startup files, even if the shell is not interactive
|
||||
|
||||
There are lots of changes to the version of the Readline library released
|
||||
along with Bash-2.03. For a complete list of the changes, read the file
|
||||
CHANGES in the Bash-2.03 distribution.
|
||||
|
||||
Bash-2.02 contained the following new features:
|
||||
|
||||
a new version of malloc (based on the old GNU malloc code in previous
|
||||
bash versions) that is more page-oriented, more conservative
|
||||
|
@ -382,15 +412,15 @@ grammar tighter and smaller (66 reduce-reduce conflicts gone)
|
|||
lots of code now smaller and faster
|
||||
test suite greatly expanded
|
||||
|
||||
12) Are there any user-visible incompatibilities between bash-2.02 and
|
||||
B2) Are there any user-visible incompatibilities between bash-2.03 and
|
||||
bash-1.14.7?
|
||||
|
||||
There are a few incompatibilities between version 1.14.7 and version 2.02.
|
||||
They are detailed in the file COMPAT in the bash-2.02 distribution.
|
||||
There are a few incompatibilities between version 1.14.7 and version 2.03.
|
||||
They are detailed in the file COMPAT in the bash-2.03 distribution.
|
||||
|
||||
Section C: Differences from other Unix shells
|
||||
|
||||
13) How does bash differ from sh, the Bourne shell?
|
||||
C1) How does bash differ from sh, the Bourne shell?
|
||||
|
||||
This is a non-comprehensive list of features that differentiate bash
|
||||
from the SVR4.2 shell. The bash manual page explains these more
|
||||
|
@ -481,11 +511,12 @@ Implementation differences:
|
|||
bash allows multiple option arguments when invoked (e.g. -x -v);
|
||||
sh allows only a single option argument (`sh -x -v' attempts
|
||||
to open a file named `-v', and, on SunOS 4.1.4, dumps core.
|
||||
On Solaris 2, sh goes into an infinite loop.)
|
||||
On Solaris 2.4 and earlier versions, sh goes into an infinite
|
||||
loop.)
|
||||
sh exits a script if any builtin fails; bash exits only if one of
|
||||
the POSIX.2 `special' builtins fails
|
||||
|
||||
14) How does bash differ from the Korn shell, version ksh88?
|
||||
C2) How does bash differ from the Korn shell, version ksh88?
|
||||
|
||||
Things bash has or uses that ksh88 does not:
|
||||
long invocation options
|
||||
|
@ -541,9 +572,9 @@ Implementation differences:
|
|||
bash has exported functions
|
||||
bash command search finds functions before builtins
|
||||
|
||||
15) Which new features in ksh-93 are not in bash, and which are?
|
||||
C3) Which new features in ksh-93 are not in bash, and which are?
|
||||
|
||||
New things in ksh-93 not in bash-2.02:
|
||||
New things in ksh-93 not in bash-2.03:
|
||||
associative arrays
|
||||
floating point arithmetic
|
||||
++, --, comma arithmetic operators
|
||||
|
@ -564,7 +595,7 @@ New things in ksh-93 not in bash-2.02:
|
|||
read -t/-d
|
||||
`.' can execute shell functions
|
||||
|
||||
New things in ksh-93 present in bash-2.02:
|
||||
New things in ksh-93 present in bash-2.03:
|
||||
?: arithmetic operator
|
||||
expansions: ${!param}, ${param:offset[:len]}, ${param/pat[/str]}
|
||||
compound array assignment
|
||||
|
@ -588,16 +619,37 @@ New things in ksh-93 present in bash-2.02:
|
|||
|
||||
Section D: Why does bash do some things differently than other Unix shells?
|
||||
|
||||
16) Why does bash run a different version of `command' than
|
||||
D1) Why does bash run a different version of `command' than
|
||||
`which command' says it will?
|
||||
|
||||
`which' is actually a csh script that assumes you're running csh.
|
||||
It reads the csh startup files from your home directory and uses
|
||||
those to determine which `command' will be invoked. Since bash
|
||||
doesn't use any of those startup files, there's a good chance
|
||||
that your bash environment differs from your csh environment.
|
||||
On many systems, `which' is actually a csh script that assumes
|
||||
you're running csh. In tcsh, `which' and its cousin `where'
|
||||
are builtins. On other Unix systems, `which' is a perl script
|
||||
that uses the PATH environment variable.
|
||||
|
||||
17) Why doesn't bash treat brace expansions exactly like csh?
|
||||
The csh script version reads the csh startup files from your
|
||||
home directory and uses those to determine which `command' will
|
||||
be invoked. Since bash doesn't use any of those startup files,
|
||||
there's a good chance that your bash environment differs from
|
||||
your csh environment. The bash `type' builtin does everything
|
||||
`which' does, and will report correct results for the running
|
||||
shell. If you're really wedded to the name `which', try adding
|
||||
the following function definition to your .bashrc:
|
||||
|
||||
which()
|
||||
{
|
||||
builtin type -p "$@"
|
||||
}
|
||||
|
||||
If you're moving from tcsh and would like to bring `where' along
|
||||
as well, use this function:
|
||||
|
||||
where()
|
||||
{
|
||||
builtin type -a "$@"
|
||||
}
|
||||
|
||||
D2) Why doesn't bash treat brace expansions exactly like csh?
|
||||
|
||||
The only difference between bash and csh brace expansion is that
|
||||
bash requires a brace expression to contain at least one unquoted
|
||||
|
@ -608,7 +660,7 @@ compatibility.
|
|||
|
||||
Bash, ksh, zsh, and pd-ksh all implement brace expansion this way.
|
||||
|
||||
18) Why doesn't bash have csh variable modifiers?
|
||||
D3) Why doesn't bash have csh variable modifiers?
|
||||
|
||||
Posix has specified a more powerful, albeit somewhat more cryptic,
|
||||
mechanism cribbed from ksh, and bash implements it.
|
||||
|
@ -663,7 +715,7 @@ Given
|
|||
$b:e ${b##*.} xxx
|
||||
|
||||
|
||||
19) How can I make my csh aliases work when I convert to bash?
|
||||
D4) How can I make my csh aliases work when I convert to bash?
|
||||
|
||||
Bash uses a different syntax to support aliases than csh does.
|
||||
The details can be found in the documentation. We have provided
|
||||
|
@ -706,7 +758,7 @@ simply `cshtobash' to convert your normal interactive
|
|||
environment, or as `cshtobash ~/.login' to convert your login
|
||||
environment.
|
||||
|
||||
20) How can I pipe standard output and standard error from one command to
|
||||
D5) How can I pipe standard output and standard error from one command to
|
||||
another, like csh does with `|&'?
|
||||
|
||||
Use
|
||||
|
@ -716,7 +768,7 @@ The key is to remember that piping is performed before redirection, so
|
|||
file descriptor 1 points to the pipe when it is duplicated onto file
|
||||
descriptor 2.
|
||||
|
||||
21) Now that I've converted from ksh to bash, are there equivalents to
|
||||
D6) Now that I've converted from ksh to bash, are there equivalents to
|
||||
ksh features like autoloaded functions and the `whence' command?
|
||||
|
||||
There are features in ksh-88 that do not have direct bash equivalents.
|
||||
|
@ -735,7 +787,7 @@ read var?prompt read -p prompt var
|
|||
Section E: How can I get bash to do certain things, and why does bash do
|
||||
things the way it does?
|
||||
|
||||
22) Why is the bash builtin `test' slightly different from /bin/test?
|
||||
E1) Why is the bash builtin `test' slightly different from /bin/test?
|
||||
|
||||
The specific example used here is [ ! x -o x ], which is false.
|
||||
|
||||
|
@ -764,7 +816,7 @@ of the 3 Arg case.
|
|||
|
||||
As you can see, the test becomes (not (x or x)), which is false.
|
||||
|
||||
23) Why does bash sometimes say `Broken pipe'?
|
||||
E2) Why does bash sometimes say `Broken pipe'?
|
||||
|
||||
If a sequence of commands appears in a pipeline, and one of the
|
||||
reading commands finishes before the writer has finished, the
|
||||
|
@ -779,7 +831,11 @@ will try to write on a pipe without a reader. In that case, bash
|
|||
will print `Broken pipe' to stderr when ps is killed by a
|
||||
SIGPIPE.
|
||||
|
||||
24) How can I get bash to read and display eight-bit characters?
|
||||
You can build a version of bash that will not report SIGPIPE errors
|
||||
by uncommenting the definition of DONT_REPORT_SIGPIPE in the file
|
||||
config-top.h.
|
||||
|
||||
E3) How can I get bash to read and display eight-bit characters?
|
||||
|
||||
This is a process requiring several steps.
|
||||
|
||||
|
@ -813,7 +869,7 @@ this. These variables can be set in your .inputrc or using the bash
|
|||
The `set' commands between the single quotes may also be placed
|
||||
in ~/.inputrc.
|
||||
|
||||
25) How do I write a function `x' to replace builtin command `x', but
|
||||
E4) How do I write a function `x' to replace builtin command `x', but
|
||||
still invoke the command from within the function?
|
||||
|
||||
This is why the `command' and `builtin' builtins exist. The
|
||||
|
@ -834,7 +890,7 @@ something like the following:
|
|||
This could also be written using `command' instead of `builtin';
|
||||
the version above is marginally more efficient.
|
||||
|
||||
26) When I have terminal escape sequences in my prompt, why does bash
|
||||
E5) When I have terminal escape sequences in my prompt, why does bash
|
||||
wrap lines at the wrong column?
|
||||
|
||||
Readline, the line editing library that bash uses, does not know
|
||||
|
@ -850,10 +906,10 @@ characters in the prompt strings take up no screen space.
|
|||
Use the \[ escape to begin a sequence of non-printing characters,
|
||||
and the \] escape to signal the end of such a sequence.
|
||||
|
||||
27) How can I find the value of a shell variable whose name is the value
|
||||
E6) How can I find the value of a shell variable whose name is the value
|
||||
of another shell variable?
|
||||
|
||||
Bash-2.02 supports this directly. You can use
|
||||
Versions of Bash newer than Bash-2.0 support this directly. You can use
|
||||
|
||||
${!var}
|
||||
|
||||
|
@ -875,13 +931,13 @@ parameter:
|
|||
|
||||
The expansion of the quoted portions of this expression will be
|
||||
deferred until `eval' runs, while the `$#' will be expanded
|
||||
before `eval' is executed. In bash-2.02,
|
||||
before `eval' is executed. In versions of bash later than bash-2.0,
|
||||
|
||||
echo ${!#}
|
||||
|
||||
does the same thing.
|
||||
|
||||
28) If I pipe the output of a command into `read variable', why doesn't
|
||||
E7) If I pipe the output of a command into `read variable', why doesn't
|
||||
the output show up in $variable when the read command finishes?
|
||||
|
||||
This has to do with the parent-child relationship between Unix
|
||||
|
@ -937,7 +993,7 @@ this.
|
|||
This is the general approach -- in most cases you will not need to
|
||||
set $IFS to a different value.
|
||||
|
||||
29) I have a bunch of shell scripts that use backslash-escaped characters
|
||||
E8) I have a bunch of shell scripts that use backslash-escaped characters
|
||||
in arguments to `echo'. Bash doesn't interpret these characters. Why
|
||||
not, and how can I make it understand them?
|
||||
|
||||
|
@ -957,7 +1013,7 @@ configure with the --enable-usg-echo-default option to turn this
|
|||
on. Be aware that this will cause some of the tests run when you
|
||||
type `make tests' to fail.
|
||||
|
||||
30) Why doesn't a while or for loop get suspended when I type ^Z?
|
||||
E9) Why doesn't a while or for loop get suspended when I type ^Z?
|
||||
|
||||
This is a consequence of how job control works on Unix. The only
|
||||
thing that can be suspended is the process group. This is a single
|
||||
|
@ -972,8 +1028,8 @@ If you want to be able to stop the entire loop, you need to put it
|
|||
within parentheses, which will force the loop into a subshell that
|
||||
may be stopped (and subsequently restarted) as a single unit.
|
||||
|
||||
31) How can I make the bash `time' reserved word print timing output that
|
||||
looks like the output from my system's /usr/bin/time?
|
||||
E10) How can I make the bash `time' reserved word print timing output that
|
||||
looks like the output from my system's /usr/bin/time?
|
||||
|
||||
The bash command timing code looks for a variable `TIMEFORMAT' and
|
||||
uses its value as a format string to decide how to display the
|
||||
|
@ -1006,7 +1062,7 @@ The ksh format can be emulated with:
|
|||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
32) Why can't I use command line editing in my `cmdtool'?
|
||||
F1) Why can't I use command line editing in my `cmdtool'?
|
||||
|
||||
The problem is `cmdtool' and bash fighting over the input. When
|
||||
scrolling is enabled in a cmdtool window, cmdtool puts the tty in
|
||||
|
@ -1034,7 +1090,7 @@ The bash command-line editing should behave better in the new
|
|||
cmdtool. If this works, you can put the assignment to TERMCAP
|
||||
in your bashrc file.
|
||||
|
||||
33) I built bash on Solaris 2. Why do globbing expansions and filename
|
||||
F2) I built bash on Solaris 2. Why do globbing expansions and filename
|
||||
completion chop off the first few characters of each filename?
|
||||
|
||||
This is the consequence of building bash on SunOS 5 and linking
|
||||
|
@ -1054,7 +1110,7 @@ If you have installed the Sun C compiler, you may also need to
|
|||
put /usr/ccs/bin and /opt/SUNWspro/bin into your $PATH before
|
||||
/usr/ucb.
|
||||
|
||||
34) Why does bash dump core after I interrupt username completion or
|
||||
F3) Why does bash dump core after I interrupt username completion or
|
||||
`~user' tilde expansion on a machine running NIS?
|
||||
|
||||
This is a famous and long-standing bug in the SunOS YP (sorry, NIS)
|
||||
|
@ -1077,7 +1133,7 @@ times; that's probably why this has never been fixed. You can
|
|||
run configure with the `--without-gnu-malloc' option to use
|
||||
the C library malloc and avoid the problem.
|
||||
|
||||
35) I'm running SVR4.2. Why is the line erased every time I type `@'?
|
||||
F4) I'm running SVR4.2. Why is the line erased every time I type `@'?
|
||||
|
||||
The `@' character is the default `line kill' character in most
|
||||
versions of System V, including SVR4.2. You can change this
|
||||
|
@ -1088,7 +1144,7 @@ change the line kill character to control-u, type
|
|||
|
||||
where the `^' and `U' can be two separate characters.
|
||||
|
||||
36) Why does bash report syntax errors when my C News scripts use a
|
||||
F5) Why does bash report syntax errors when my C News scripts use a
|
||||
redirection before a subshell command?
|
||||
|
||||
The actual command in question is something like
|
||||
|
@ -1100,7 +1156,7 @@ is, in fact, a syntax error. Redirections may only precede `simple
|
|||
commands'. A subshell construct such as the above is one of the shell's
|
||||
`compound commands'. A redirection may only follow a compound command.
|
||||
|
||||
The file CWRU/sh-redir-hack in the bash-2.02 distribution is an
|
||||
The file CWRU/sh-redir-hack in the bash-2.03 distribution is an
|
||||
(unofficial) patch to parse.y that will modify the grammar to
|
||||
support this construct. It will not apply with `patch'; you must
|
||||
modify parse.y by hand. Note that if you apply this, you must
|
||||
|
@ -1109,7 +1165,7 @@ number of reduce/reduce conflicts into the shell grammar.
|
|||
|
||||
Section G: Where do I go from here?
|
||||
|
||||
37) How do I report bugs in bash, and where should I look for fixes and
|
||||
G1) How do I report bugs in bash, and where should I look for fixes and
|
||||
advice?
|
||||
|
||||
Use the `bashbug' script to report bugs. It is built and
|
||||
|
@ -1117,7 +1173,7 @@ installed at the same time as bash. It provides a standard
|
|||
template for reporting a problem and automatically includes
|
||||
information about your configuration and build environment.
|
||||
|
||||
`bashbug' sends its reports to bug-bash@prep.ai.mit.edu, which
|
||||
`bashbug' sends its reports to bug-bash@gnu.org, which
|
||||
is a large mailing list gatewayed to the usenet newsgroup gnu.bash.bug.
|
||||
|
||||
Bug fixes, answers to questions, and announcements of new releases
|
||||
|
@ -1125,24 +1181,23 @@ are all posted to gnu.bash.bug. Discussions concerning bash features
|
|||
and problems also take place there.
|
||||
|
||||
To reach the bash maintainers directly, send mail to
|
||||
bash-maintainers@prep.ai.mit.edu.
|
||||
bash-maintainers@gnu.org.
|
||||
|
||||
38) What kind of bash documentation is there?
|
||||
G2) What kind of bash documentation is there?
|
||||
|
||||
First, look in the doc directory in the bash distribution. It should
|
||||
contain at least the following files:
|
||||
|
||||
bash.1 an extensive, thorough Unix-style manual page
|
||||
builtins.1 a manual page covering just bash builtin commands
|
||||
bashref.texi a reference manual in GNU info format
|
||||
bash.html an HTML version of the manual page
|
||||
bashref.html an HTML version of the reference manual
|
||||
bashref.texi a reference manual in GNU tex`info format
|
||||
bashref.info an info version of the reference manual
|
||||
FAQ this file
|
||||
article.ms text of an article written for The Linux Journal
|
||||
readline.3 a man page describing readline
|
||||
|
||||
Postscript files created from the above source are available in
|
||||
the documentation distribution.
|
||||
Postscript, HTML, and ASCII files created from the above source are
|
||||
available in the documentation distribution.
|
||||
|
||||
There is additional documentation available for anonymous FTP from host
|
||||
ftp.cwru.edu in the `pub/bash' directory.
|
||||
|
@ -1158,14 +1213,14 @@ A second edition of this book is available, published in January, 1998.
|
|||
The ISBN number is 1-56592-347-2. Look for it in the same fine bookstores
|
||||
or on the web.
|
||||
|
||||
39) What's coming in future versions?
|
||||
G3) What's coming in future versions?
|
||||
|
||||
These are features I plan to include in a future version of bash.
|
||||
|
||||
a bash debugger (a minimally-tested version is included with bash-2.02)
|
||||
Programmable completion a la zsh
|
||||
Programmable completion a la zsh/tcsh
|
||||
|
||||
40) What's on the bash `wish list' for future versions?
|
||||
G4) What's on the bash `wish list' for future versions?
|
||||
|
||||
These are features that may or may not appear in a future version of bash.
|
||||
|
||||
|
@ -1177,14 +1232,17 @@ timeouts for the `read' builtin
|
|||
the ksh-93 ${!prefix*} and ${!prefix@} operators
|
||||
arithmetic ++ and -- prefix and postfix operators
|
||||
date-stamped command history
|
||||
a way to bind readline editing key sequences to shell commands
|
||||
a mechanism to open network connections and assign them to file descriptors
|
||||
using redirection (like ksh /dev/{tcp,udp})
|
||||
|
||||
41) When will the next release appear?
|
||||
G5) When will the next release appear?
|
||||
|
||||
The next version will appear sometime in 1998. Never make
|
||||
The next version will appear sometime in 1999. Never make
|
||||
predictions.
|
||||
|
||||
|
||||
This document is Copyright 1995, 1996, 1998 by Chester Ramey.
|
||||
This document is Copyright 1995-1999 by Chester Ramey.
|
||||
|
||||
Permission is hereby granted, without written agreement and
|
||||
without license or royalty fees, to use, copy, and distribute
|
||||
|
|
|
@ -134,7 +134,7 @@ have access to all of the shell facilities.
|
|||
|
||||
Help
|
||||
|
||||
Bash includes a built-in help factility.
|
||||
Bash includes a built-in help facility.
|
||||
|
||||
Shell Optional Behavior
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# This Makefile is for the Bash/documentation directory -*- text -*-.
|
||||
#
|
||||
SHELL = @MAKE_SHELL@
|
||||
RM = rm -f
|
||||
|
||||
topdir = @top_srcdir@
|
||||
|
@ -84,11 +85,17 @@ RLUSER = $(RL_LIBDIR)/doc/rluser.texinfo
|
|||
all: ps info dvi text html
|
||||
nodvi: ps info text html
|
||||
|
||||
ps: bash.ps bashbug.ps readline.ps article.ps builtins.ps
|
||||
dvi: bashref.dvi bashref.ps
|
||||
info: bashref.info
|
||||
text: bash.0 bashbug.0 builtins.0 readline.0
|
||||
html: bashref.html bash.html
|
||||
PSFILES = bash.ps bashbug.ps readline.ps article.ps builtins.ps
|
||||
DVIFILES = bashref.dvi bashref.ps
|
||||
INFOFILES = bashref.info
|
||||
MAN0FILES = bash.0 bashbug.0 builtins.0 readline.0
|
||||
HTMLFILES = bashref.html bash.html
|
||||
|
||||
ps: ${PSFILES}
|
||||
dvi: ${DVIFILES}
|
||||
info: ${INFOFILES}
|
||||
text: ${MAN0FILES}
|
||||
html: ${HTMLFILES}
|
||||
|
||||
bashref.dvi: $(srcdir)/bashref.texi $(HSUSER) $(RLUSER)
|
||||
TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/bashref.texi
|
||||
|
@ -101,7 +108,7 @@ bashref.info: $(srcdir)/bashref.texi $(HSUSER) $(RLUSER)
|
|||
$(MAKEINFO) --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi
|
||||
|
||||
bashref.html: bashref.texi $(HSUSER) $(RLUSER)
|
||||
$(TEXI2HTML) -I $(TEXINPUTDIR) $(srcdir)/bashref.texi
|
||||
$(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/bashref.texi
|
||||
|
||||
bash.dvi: bash.texinfo $(HSUSER) $(RLUSER)
|
||||
TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) bash.texinfo
|
||||
|
@ -125,7 +132,9 @@ article.ps: article.ms
|
|||
$(MAN2HTML): ${topdir}/support/man2html.c
|
||||
-( cd ${BUILD_DIR}/support ; ${MAKE} ${MFLAGS} man2html)
|
||||
|
||||
faq: faq.news faq.news2 faq.mail faq.version
|
||||
CREATED_FAQ = faq.news faq.news2 faq.mail faq.version
|
||||
|
||||
faq: ${CREATED_FAQ}
|
||||
|
||||
faq.version: FAQ.version FAQ
|
||||
sh mkfaqvers FAQ.version > $@
|
||||
|
@ -143,15 +152,16 @@ faq.mail: FAQ FAQ.headers.mail faq.version
|
|||
cat FAQ.headers.mail faq.version FAQ > $@
|
||||
|
||||
clean:
|
||||
$(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps \
|
||||
*.pgs *.bt *.bts *.rw *.rws *.fns *.kys *.tps *.vrs *.o \
|
||||
core rluser.texinfo hsuser.texinfo
|
||||
$(RM) *.aux *.bak *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps \
|
||||
*.pgs *.bt *.bts *.rw *.rws *.fns *.kys *.tps *.vrs *.o
|
||||
${RM} core *.core
|
||||
|
||||
distclean mostlyclean: clean
|
||||
$(RM) Makefile
|
||||
|
||||
maintainer-clean: clean
|
||||
$(RM) *.0 *.ps *.dvi *.info *.txt
|
||||
${RM} ${PSFILES} ${DVIFILES} ${INFOFILES} ${MAN0FILES} ${HTMLFILES}
|
||||
${RM} ${CREATED_FAQ}
|
||||
$(RM) Makefile
|
||||
|
||||
installdirs:
|
||||
|
@ -166,7 +176,7 @@ install: info installdirs
|
|||
# uncomment the next line to install the readline man page
|
||||
# -$(INSTALL_DATA) $(srcdir)/readline.3 $(man3dir)/readline.${man3ext}
|
||||
# uncomment the next line to install the builtins man page
|
||||
# $(INSTALL_DATA) builtins.1 $(man1dir)/bash_builtins.${man1ext}
|
||||
# $(INSTALL_DATA) $(srcdir)/builtins.1 $(man1dir)/bash_builtins.${man1ext}
|
||||
-$(INSTALL_DATA) $(srcdir)/bashref.info $(infodir)/bash.info
|
||||
# run install-info if it is present to update the info directory
|
||||
if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
This directory contains the bash documentation.
|
||||
|
||||
FAQ - a set of frequently-asked questions about Bash with answers
|
||||
INTRO - a short introduction to bash
|
||||
article.ms - an article I wrote about bash for The Linux Journal
|
||||
bash.1 - the bash man page
|
||||
builtins.1 - a man page that documents the builtins, extracted from bash.1
|
||||
features.texi - the `bash reference manual'
|
||||
features.info - the `bash reference manual' processed by `makeinfo'
|
||||
bashref.texi - the `bash reference manual'
|
||||
bashref.info - the `bash reference manual' processed by `makeinfo'
|
||||
readline.3 - the readline man page
|
||||
|
||||
The `.ps' files are postscript versions of the above. The `.html'
|
||||
|
|
102
doc/bash.1
102
doc/bash.1
|
@ -6,11 +6,11 @@
|
|||
.\" Case Western Reserve University
|
||||
.\" chet@ins.CWRU.Edu
|
||||
.\"
|
||||
.\" Last Change: Wed Apr 1 12:16:09 EST 1998
|
||||
.\" Last Change: Wed Jan 20 16:47:14 EST 1999
|
||||
.\"
|
||||
.\" bash_builtins, strip all but Built-Ins section
|
||||
.if \n(zZ=1 .ig zZ
|
||||
.TH BASH 1 "1998 Apr 1" GNU
|
||||
.TH BASH 1 "1999 Jan 20" GNU
|
||||
.\"
|
||||
.\" There's some problem with having a `@'
|
||||
.\" in a tagged paragraph with the BSD man macros.
|
||||
|
@ -50,8 +50,8 @@ bash \- GNU Bourne-Again SHell
|
|||
[options]
|
||||
[file]
|
||||
.SH COPYRIGHT
|
||||
.if n Bash is Copyright (C) 1989, 1991, 1993, 1995, 1996 by the Free Software Foundation, Inc.
|
||||
.if t Bash is Copyright \(co 1989, 1991, 1993, 1995, 1996 by the Free Software Foundation, Inc.
|
||||
.if n Bash is Copyright (C) 1989-1999 by the Free Software Foundation, Inc.
|
||||
.if t Bash is Copyright \(co 1989-1999 by the Free Software Foundation, Inc.
|
||||
.SH DESCRIPTION
|
||||
.B Bash
|
||||
is an \fBsh\fR-compatible command language interpreter that
|
||||
|
@ -260,7 +260,8 @@ section.
|
|||
.PP
|
||||
When
|
||||
.B bash
|
||||
is invoked as an interactive login shell, it first reads and
|
||||
is invoked as an interactive login shell, or as a non-interactive shell
|
||||
with the \fB\-\-login\fP option, it first reads and
|
||||
executes commands from the file \fI/etc/profile\fP, if that
|
||||
file exists.
|
||||
After reading that file, it looks for \fI~/.bash_profile\fP,
|
||||
|
@ -313,7 +314,8 @@ it tries to mimic the startup behavior of historical versions of
|
|||
.B sh
|
||||
as closely as possible,
|
||||
while conforming to the POSIX standard as well.
|
||||
When invoked as an interactive login shell, it first attempts to
|
||||
When invoked as an interactive login shell, or a non-interactive
|
||||
shell with the \fB\-\-login\fP option, it first attempts to
|
||||
read and execute commands from
|
||||
.I /etc/profile
|
||||
and
|
||||
|
@ -338,7 +340,7 @@ files, the
|
|||
option has no effect.
|
||||
A non-interactive shell invoked with the name
|
||||
.B sh
|
||||
does not attempt to read any startup files.
|
||||
does not attempt to read any other startup files.
|
||||
When invoked as
|
||||
.BR sh ,
|
||||
.B bash
|
||||
|
@ -375,6 +377,14 @@ option may be used to inhibit this behavior, and the
|
|||
option may be used to force another file to be read, but
|
||||
\fIrshd\fP does not generally invoke the shell with those options
|
||||
or allow them to be specified.
|
||||
.PP
|
||||
If the shell is started with the effective user (group) id not equal to the
|
||||
real user (group) id, and the \fB\-p\fP option is not supplied, no startup
|
||||
files are read, shell functions are not inherited from the environment,
|
||||
the \fBSHELLOPTS\fP variable, if it appears in the environment, is ignored,
|
||||
and the effective user id is set to the real user id.
|
||||
If the \fB\-p\fP option is supplied at invocation, the startup behavior is
|
||||
the same, but the effective user id is not reset.
|
||||
.SH DEFINITIONS
|
||||
.PP
|
||||
The following definitions are used throughout the rest of this
|
||||
|
@ -646,7 +656,7 @@ operators do not execute \fIexpression2\fP if the value of
|
|||
\fIexpression1\fP is sufficient to determine the return value of
|
||||
the entire conditional expression.
|
||||
.TP
|
||||
\fBfor\fP \fIname\fP [ \fBin\fP \fIword\fP; ] \fBdo\fP \fIlist\fP ; \fBdone\fP
|
||||
\fBfor\fP \fIname\fP [ \fBin\fP \fIword\fP ] ; \fBdo\fP \fIlist\fP ; \fBdone\fP
|
||||
The list of words following \fBin\fP is expanded, generating a list
|
||||
of items. The variable \fIname\fP is set to each element of this list
|
||||
in turn, and \fIlist\fP is executed each time. If the \fBin\fP
|
||||
|
@ -659,7 +669,7 @@ The return status is the exit status of the last command that executes.
|
|||
If the expansion of the items following \fBin\fP results in an empty
|
||||
list, no commands are executed, and the return status is 0.
|
||||
.TP
|
||||
\fBselect\fP \fIname\fP [ \fBin\fP \fIword\fP; ] \fBdo\fP \fIlist\fP ; \fBdone\fP
|
||||
\fBselect\fP \fIname\fP [ \fBin\fP \fIword\fP ] ; \fBdo\fP \fIlist\fP ; \fBdone\fP
|
||||
The list of words following \fBin\fP is expanded, generating a list
|
||||
of items. The set of expanded words is printed on the standard
|
||||
error, each preceded by a number. If the \fBin\fP
|
||||
|
@ -2095,9 +2105,9 @@ In the first form, only the first match is replaced.
|
|||
The second form causes all matches of \fIpattern\fP to be
|
||||
replaced with \fIstring\fP.
|
||||
If \fIpattern\fP begins with \fB#\fP, it must match at the beginning
|
||||
of \fIstring\fP.
|
||||
of the expanded value of \fIparameter\fP.
|
||||
If \fIpattern\fP begins with \fB%\fP, it must match at the end
|
||||
of \fIstring\fP.
|
||||
of the expanded value of \fIparameter\fP.
|
||||
If \fIstring\fP is null, matches of \fIpattern\fP are deleted
|
||||
and the \fB/\fP following \fIpattern\fP may be omitted.
|
||||
If
|
||||
|
@ -2985,6 +2995,9 @@ True if \fIfile\fP exists and is a regular file.
|
|||
.B \-g \fIfile\fP
|
||||
True if \fIfile\fP exists and is set-group-id.
|
||||
.TP
|
||||
.B \-h \fIfile\fP
|
||||
True if \fIfile\fP exists and is a symbolic link.
|
||||
.TP
|
||||
.B \-k \fIfile\fP
|
||||
True if \fIfile\fP exists and its ``sticky'' bit is set.
|
||||
.TP
|
||||
|
@ -4032,6 +4045,12 @@ regardless of what the terminal claims it can support. The name
|
|||
.B meta\-flag
|
||||
is a synonym for this variable.
|
||||
.TP
|
||||
.B isearch\-terminators (``C\-[C\-J'')
|
||||
The string of characters that should terminate an incremental
|
||||
search without subsequently executing the character as a command.
|
||||
If this variable has not been given a value, the characters
|
||||
\fIESC\fP and \fIC\-J\fP will terminate an incremental search.
|
||||
.TP
|
||||
.B keymap (emacs)
|
||||
Set the current readline keymap. The set of valid keymap names is
|
||||
\fIemacs, emacs\-standard, emacs\-meta, emacs\-ctlx, vi,
|
||||
|
@ -4159,8 +4178,10 @@ As each character of the search string is typed, readline displays
|
|||
the next entry from the history matching the string typed so far.
|
||||
An incremental search requires only as many characters as needed to
|
||||
find the desired history entry.
|
||||
The Escape character is used to terminate an incremental search.
|
||||
Control-J will also terminate the search.
|
||||
The characters present in the value of the \fIisearch-terminators\fP
|
||||
variable are used to terminate an incremental search.
|
||||
If that variable has not been assigned a value the Escape and
|
||||
Control-J characters will terminate an incremental search.
|
||||
Control-G will abort an incremental search and restore the original
|
||||
line.
|
||||
When the search is terminated, the history entry containing the
|
||||
|
@ -4341,6 +4362,11 @@ then return
|
|||
Delete the character behind the cursor. When given a numeric argument,
|
||||
save the deleted text on the kill ring.
|
||||
.TP
|
||||
.B forward\-backward\-delete\-char
|
||||
Delete the character under the cursor, unless the cursor is at the
|
||||
end of the line, in which case the character behind the cursor is
|
||||
deleted. By default, this is not bound to a key.
|
||||
.TP
|
||||
.B quoted\-insert (C\-q, C\-v)
|
||||
Add the next character typed to the line verbatim. This is
|
||||
how to insert characters like \fBC\-q\fP, for example.
|
||||
|
@ -4487,6 +4513,13 @@ through the list.
|
|||
This command is intended to be bound to \fBTAB\fP, but is unbound
|
||||
by default.
|
||||
.TP
|
||||
.B delete\-char\-or\-list
|
||||
Deletes the character under the cursor if not at the beginning or
|
||||
end of the line (like \fBdelete-char\fP).
|
||||
If at the end of the line, behaves identically to
|
||||
\fBpossible-completions\fP.
|
||||
This command is unbound by default.
|
||||
.TP
|
||||
.B complete\-filename (M\-/)
|
||||
Attempt filename completion on the text before point.
|
||||
.TP
|
||||
|
@ -4588,7 +4621,7 @@ Undo all changes made to this line. This is like executing the
|
|||
.B undo
|
||||
command enough times to return the line to its initial state.
|
||||
.TP
|
||||
.B tilde\-expand (M\-~)
|
||||
.B tilde\-expand (M\-&)
|
||||
Perform tilde expansion on the current word.
|
||||
.TP
|
||||
.B set\-mark (C\-@, M\-<space>)
|
||||
|
@ -6210,13 +6243,17 @@ The characters in
|
|||
.SM
|
||||
.B IFS
|
||||
are used to split the line into words.
|
||||
The backslash character (\fB\e\fP) may be used to remove any special
|
||||
meaning for the next character read and for line continuation.
|
||||
Options, if supplied, have the following meanings:
|
||||
.RS
|
||||
.PD 0
|
||||
.TP
|
||||
.B \-r
|
||||
A backslash-newline pair is not ignored, and
|
||||
the backslash is considered to be part of the line.
|
||||
Backslash does not act as an escape character.
|
||||
The backslash is considered to be part of the line.
|
||||
In particular, a backslash-newline pair may not be used as a line
|
||||
continuation.
|
||||
.TP
|
||||
.B \-p
|
||||
Display \fIprompt\fP, without a
|
||||
|
@ -6487,11 +6524,16 @@ Turn on
|
|||
.I privileged
|
||||
mode. In this mode, the
|
||||
.B $ENV
|
||||
file is not processed, shell functions are not inherited from the
|
||||
environment, and the variable
|
||||
The \fBSHELLOPTS\fP variable, if it appears in the environment, is ignored.
|
||||
This is enabled automatically on startup if the effective user (group)
|
||||
id is not equal to the real user (group) id.
|
||||
and
|
||||
.B $BASH_ENV
|
||||
files are not processed, shell functions are not inherited from the
|
||||
environment, and the \fBSHELLOPTS\fP variable, if it appears in the
|
||||
environment, is ignored.
|
||||
If the shell is started with the effective user (group) id not equal to the
|
||||
real user (group) id, and the \fB\-p\fP option is not supplied, these actions
|
||||
are taken and the effective user id is set to the real user id.
|
||||
If the \fB\-p\fP option is supplied at startup, the effective user id is
|
||||
not reset.
|
||||
Turning this option off causes the effective user
|
||||
and group ids to be set to the real user and group ids.
|
||||
.TP 8
|
||||
|
@ -6794,6 +6836,15 @@ being expanded as described in
|
|||
.B PROMPTING
|
||||
above. This option is enabled by default.
|
||||
.TP 8
|
||||
.B restricted_shell
|
||||
The shell sets this option if it is started in restricted mode (see
|
||||
.SM
|
||||
.B "RESTRICTED SHELL"
|
||||
below).
|
||||
The value may not be changed.
|
||||
This is not reset when the startup files are executed, allowing
|
||||
the startup files to discover whether or not a shell is restricted.
|
||||
.TP 8
|
||||
.B shift_verbose
|
||||
If set, the
|
||||
.B shift
|
||||
|
@ -7232,9 +7283,11 @@ with the exception that the following are disallowed or not performed:
|
|||
changing directories with \fBcd\fP
|
||||
.IP \(bu
|
||||
setting or unsetting the values of
|
||||
.B SHELL
|
||||
.BR SHELL ,
|
||||
.BR PATH ,
|
||||
.BR ENV ,
|
||||
or
|
||||
.B PATH
|
||||
.B BASH_ENV
|
||||
.IP \(bu
|
||||
specifying command names containing
|
||||
.B /
|
||||
|
@ -7313,6 +7366,9 @@ The personal initialization file, executed for login shells
|
|||
.FN ~/.bashrc
|
||||
The individual per-interactive-shell startup file
|
||||
.TP
|
||||
.FN ~/.bash_logout
|
||||
The individual login shell cleanup file, executed when a login shell exits
|
||||
.TP
|
||||
.FN ~/.inputrc
|
||||
Individual \fIreadline\fP initialization file
|
||||
.PD
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH BASHBUG 1 "1995 August 10" GNU
|
||||
.TH BASHBUG 1 "1998 July 30" GNU
|
||||
.SH NAME
|
||||
bashbug \- report a bug in bash
|
||||
.SH SYNOPSIS
|
||||
|
@ -14,7 +14,7 @@ invokes the editor specified by the environment variable
|
|||
on a temporary copy of the bug report format outline. The user must
|
||||
fill in the appropriate fields and exit the editor.
|
||||
.B bashbug
|
||||
then mails the completed report to \fIbug-bash@prep.ai.mit.edu\fP, or
|
||||
then mails the completed report to \fIbug-bash@gnu.org\fP, or
|
||||
\fIaddress\fP. If the report cannot be mailed, it is saved in the
|
||||
file \fIdead.bashbug\fP in the invoking user's home directory.
|
||||
.PP
|
||||
|
|
402
doc/bashref.info
402
doc/bashref.info
|
@ -9,11 +9,11 @@ END-INFO-DIR-ENTRY
|
|||
This text is a brief description of the features that are present in
|
||||
the Bash shell.
|
||||
|
||||
This is Edition 2.2, last updated 1 April 1998,
|
||||
This is Edition 2.3, last updated 20 January 1999,
|
||||
of `The GNU Bash Reference Manual',
|
||||
for `Bash', Version 2.02.
|
||||
for `Bash', Version 2.03.
|
||||
|
||||
Copyright (C) 1991, 1993, 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991-1999 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
|
@ -38,8 +38,8 @@ Bash Features
|
|||
This text is a brief description of the features that are present in
|
||||
the Bash shell.
|
||||
|
||||
This is Edition 2.2, last updated 1 April 1998, of `The GNU Bash
|
||||
Reference Manual', for `Bash', Version 2.02.
|
||||
This is Edition 2.3, last updated 20 January 1999, of `The GNU Bash
|
||||
Reference Manual', for `Bash', Version 2.03.
|
||||
|
||||
Copyright (C) 1991, 1993, 1996 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -1232,15 +1232,16 @@ parameter that is unset.
|
|||
against its value is replaced with STRING. In the first form,
|
||||
only the first match is replaced. The second form causes all
|
||||
matches of PATTERN to be replaced with STRING. If PATTERN begins
|
||||
with `#', it must match at the beginning of STRING. If PATTERN
|
||||
begins with `%', it must match at the end of STRING. If STRING is
|
||||
null, matches of PATTERN are deleted and the `/' following PATTERN
|
||||
may be omitted. If PARAMETER is `@' or `*', the substitution
|
||||
operation is applied to each positional parameter in turn, and the
|
||||
expansion is the resultant list. If PARAMETER is an array
|
||||
variable subscripted with `@' or `*', the substitution operation
|
||||
is applied to each member of the array in turn, and the expansion
|
||||
is the resultant list.
|
||||
with `#', it must match at the beginning of the expanded value of
|
||||
PARAMETER. If PATTERN begins with `%', it must match at the end
|
||||
of the expanded value of PARAMETER. If STRING is null, matches of
|
||||
PATTERN are deleted and the `/' following PATTERN may be omitted.
|
||||
If PARAMETER is `@' or `*', the substitution operation is applied
|
||||
to each positional parameter in turn, and the expansion is the
|
||||
resultant list. If PARAMETER is an array variable subscripted
|
||||
with `@' or `*', the substitution operation is applied to each
|
||||
member of the array in turn, and the expansion is the resultant
|
||||
list.
|
||||
|
||||
|
||||
File: bashref.info, Node: Command Substitution, Next: Arithmetic Expansion, Prev: Shell Parameter Expansion, Up: Shell Expansions
|
||||
|
@ -1982,14 +1983,16 @@ standard.
|
|||
The return status is zero.
|
||||
|
||||
`.'
|
||||
. FILENAME
|
||||
. FILENAME [ARGUMENTS]
|
||||
Read and execute commands from the FILENAME argument in the
|
||||
current shell context. If FILENAME does not contain a slash, the
|
||||
`$PATH' variable is used to find FILENAME. The current directory
|
||||
is searched if FILENAME is not found in `$PATH'. The return
|
||||
status is the exit status of the last command executed, or zero if
|
||||
no commands are executed. If FILENAME is not found, or cannot be
|
||||
read, the return status is non-zero.
|
||||
is searched if FILENAME is not found in `$PATH'. If any ARGUMENTS
|
||||
are supplied, they become the positional parameters when FILENAME
|
||||
is executed. Otherwise the positional parameters are unchanged.
|
||||
The return status is the exit status of the last command executed,
|
||||
or zero if no commands are executed. If FILENAME is not found, or
|
||||
cannot be read, the return status is non-zero.
|
||||
|
||||
`break'
|
||||
break [N]
|
||||
|
@ -2762,8 +2765,9 @@ of the files exist but cannot be read, Bash reports an error. Tildes
|
|||
are expanded in file names as described above under Tilde Expansion
|
||||
(*note Tilde Expansion::.).
|
||||
|
||||
When Bash is invoked as an interactive login shell, it first reads
|
||||
and executes commands from the file `/etc/profile', if that file exists.
|
||||
When Bash is invoked as an interactive login shell, or as a
|
||||
non-interactive shell with the `--login' option, it first reads and
|
||||
executes commands from the file `/etc/profile', if that file exists.
|
||||
After reading that file, it looks for `~/.bash_profile',
|
||||
`~/.bash_login', and `~/.profile', in that order, and reads and
|
||||
executes commands from the first one that exists and is readable. The
|
||||
|
@ -2798,16 +2802,17 @@ name.
|
|||
behavior of historical versions of `sh' as closely as possible, while
|
||||
conforming to the POSIX standard as well.
|
||||
|
||||
When invoked as an interactive login shell, it first attempts to read
|
||||
and execute commands from `/etc/profile' and `~/.profile', in that
|
||||
order. The `--noprofile' option may be used to inhibit this behavior.
|
||||
When invoked as an interactive shell with the name `sh', Bash looks for
|
||||
the variable `ENV', expands its value if it is defined, and uses the
|
||||
When invoked as an interactive login shell, or as a non-interactive
|
||||
shell with the `--login' option, it first attempts to read and execute
|
||||
commands from `/etc/profile' and `~/.profile', in that order. The
|
||||
`--noprofile' option may be used to inhibit this behavior. When
|
||||
invoked as an interactive shell with the name `sh', Bash looks for the
|
||||
variable `ENV', expands its value if it is defined, and uses the
|
||||
expanded value as the name of a file to read and execute. Since a
|
||||
shell invoked as `sh' does not attempt to read and execute commands
|
||||
from any other startup files, the `--rcfile' option has no effect. A
|
||||
non-interactive shell invoked with the name `sh' does not attempt to
|
||||
read any startup files.
|
||||
read any other startup files.
|
||||
|
||||
When invoked as `sh', Bash enters POSIX mode after the startup files
|
||||
are read.
|
||||
|
@ -2827,6 +2832,14 @@ may be used to force another file to be read, but `rshd' does not
|
|||
generally invoke the shell with those options or allow them to be
|
||||
specified.
|
||||
|
||||
If Bash is started with the effective user (group) id not equal to
|
||||
the real user (group) id, and the `-p' option is not supplied, no
|
||||
startup files are read, shell functions are not inherited from the
|
||||
environment, the `SHELLOPTS' variable, if it appears in the
|
||||
environment, is ignored, and the effective user id is set to the real
|
||||
user id. If the `-p' option is supplied at invocation, the startup
|
||||
behavior is the same, but the effective user id is not reset.
|
||||
|
||||
|
||||
File: bashref.info, Node: Is This Shell Interactive?, Next: Bash Builtins, Prev: Bash Startup Files, Up: Bash Features
|
||||
|
||||
|
@ -3126,15 +3139,18 @@ been extended in Bash.
|
|||
assigned to the last NAME. If there are fewer words read from the
|
||||
standard input than names, the remaining names are assigned empty
|
||||
values. The characters in the value of the `IFS' variable are
|
||||
used to split the line into words. If no names are supplied, the
|
||||
used to split the line into words. The backslash character `\'
|
||||
may be used to remove any special meaning for the next character
|
||||
read and for line continuation. If no names are supplied, the
|
||||
line read is assigned to the variable `REPLY'. The return code is
|
||||
zero, unless end-of-file is encountered. Options, if supplied,
|
||||
have the following meanings:
|
||||
|
||||
`-r'
|
||||
If this option is given, a backslash-newline pair is not
|
||||
ignored, and the backslash is considered to be part of the
|
||||
line.
|
||||
If this option is given, backslash does not act as an escape
|
||||
character. The backslash is considered to be part of the
|
||||
line. In particular, a backslash-newline pair may not be
|
||||
used as a line continuation.
|
||||
|
||||
`-p PROMPT'
|
||||
Display PROMPT, without a trailing newline, before attempting
|
||||
|
@ -3287,6 +3303,13 @@ been extended in Bash.
|
|||
expansion after being expanded (*note Printing a Prompt::.).
|
||||
This option is enabled by default.
|
||||
|
||||
`restricted_shell'
|
||||
The shell sets this option if it is started in restricted mode
|
||||
(*note The Restricted Shell::.). The value may not be
|
||||
changed. This is not reset when the startup files are
|
||||
executed, allowing the startup files to discover whether or
|
||||
not a shell is restricted.
|
||||
|
||||
`shift_verbose'
|
||||
If this is set, the `shift' builtin prints an error message
|
||||
when the shift count exceeds the number of positional
|
||||
|
@ -3527,11 +3550,14 @@ The Set Builtin
|
|||
Turn on privileged mode. In this mode, the `$BASH_ENV' and
|
||||
`$ENV' files are not processed, shell functions are not
|
||||
inherited from the environment, and the `SHELLOPTS' variable,
|
||||
if it appears in the environment, is ignored. This is
|
||||
enabled automatically on startup if the effective user
|
||||
(group) id is not equal to the real user (group) id. Turning
|
||||
this option off causes the effective user and group ids to be
|
||||
set to the real user and group ids.
|
||||
if it appears in the environment, is ignored. If the shell
|
||||
is started with the effective user (group) id not equal to the
|
||||
real user (group) id, and the `-p' option is not supplied,
|
||||
these actions are taken and the effective user id is set to
|
||||
the real user id. If the `-p' option is supplied at startup,
|
||||
the effective user id is not reset. Turning this option off
|
||||
causes the effective user and group ids to be set to the real
|
||||
user and group ids.
|
||||
|
||||
`-t'
|
||||
Exit after reading and executing one command.
|
||||
|
@ -3640,6 +3666,9 @@ checked.
|
|||
`-g FILE'
|
||||
True if FILE exists and its set-group-id bit is set.
|
||||
|
||||
`-h FILE'
|
||||
True if FILE exists and is a symbolic link.
|
||||
|
||||
`-k FILE'
|
||||
True if FILE exists and its "sticky" bit is set.
|
||||
|
||||
|
@ -4450,7 +4479,8 @@ the standard shell. A restricted shell behaves identically to `bash'
|
|||
with the exception that the following are disallowed:
|
||||
* Changing directories with the `cd' builtin.
|
||||
|
||||
* Setting or unsetting the values of the `SHELL' or `PATH' variables.
|
||||
* Setting or unsetting the values of the `SHELL', `PATH', `ENV', or
|
||||
`BASH_ENV' variables.
|
||||
|
||||
* Specifying command names containing slashes.
|
||||
|
||||
|
@ -5346,18 +5376,19 @@ string. There are two search modes: INCREMENTAL and NON-INCREMENTAL.
|
|||
search string. As each character of the search string is typed,
|
||||
Readline displays the next entry from the history matching the string
|
||||
typed so far. An incremental search requires only as many characters
|
||||
as needed to find the desired history entry. The <ESC> character is
|
||||
used to terminate an incremental search. <C-j> will also terminate the
|
||||
search. <C-g> will abort an incremental search and restore the
|
||||
original line. When the search is terminated, the history entry
|
||||
containing the search string becomes the current line. To find other
|
||||
matching entries in the history list, type <C-s> or <C-r> as
|
||||
appropriate. This will search backward or forward in the history for
|
||||
the next entry matching the search string typed so far. Any other key
|
||||
sequence bound to a Readline command will terminate the search and
|
||||
execute that command. For instance, a <RET> will terminate the search
|
||||
and accept the line, thereby executing the command from the history
|
||||
list.
|
||||
as needed to find the desired history entry. The characters present in
|
||||
the value of the ISEARCH-TERMINATORS variable are used to terminate an
|
||||
incremental search. If that variable has not been assigned a value,
|
||||
the <ESC> and <C-J> characters will terminate an incremental search.
|
||||
<C-g> will abort an incremental search and restore the original line.
|
||||
When the search is terminated, the history entry containing the search
|
||||
string becomes the current line. To find other matching entries in the
|
||||
history list, type <C-s> or <C-r> as appropriate. This will search
|
||||
backward or forward in the history for the next entry matching the
|
||||
search string typed so far. Any other key sequence bound to a Readline
|
||||
command will terminate the search and execute that command. For
|
||||
instance, a <RET> will terminate the search and accept the line,
|
||||
thereby executing the command from the history list.
|
||||
|
||||
Non-incremental searches read the entire search string before
|
||||
starting to search for matching history lines. The search string may be
|
||||
|
@ -5471,6 +5502,20 @@ Variable Settings
|
|||
longer than the width of the screen, instead of wrapping onto
|
||||
a new screen line. By default, this variable is set to `off'.
|
||||
|
||||
`input-meta'
|
||||
If set to `on', Readline will enable eight-bit input (it will
|
||||
not strip the eighth bit from the characters it reads),
|
||||
regardless of what the terminal claims it can support. The
|
||||
default value is `off'. The name `meta-flag' is a synonym
|
||||
for this variable.
|
||||
|
||||
`isearch-terminators'
|
||||
The string of characters that should terminate an incremental
|
||||
search without subsequently executing the character as a
|
||||
command (*note Searching::.). If this variable has not been
|
||||
given a value, the characters <ESC> and <C-J> will terminate
|
||||
an incremental search.
|
||||
|
||||
`keymap'
|
||||
Sets Readline's idea of the current keymap for key binding
|
||||
commands. Acceptable `keymap' names are `emacs',
|
||||
|
@ -5489,13 +5534,6 @@ Variable Settings
|
|||
asterisk (`*') at the start of history lines which have been
|
||||
modified. This variable is `off' by default.
|
||||
|
||||
`input-meta'
|
||||
If set to `on', Readline will enable eight-bit input (it will
|
||||
not strip the eighth bit from the characters it reads),
|
||||
regardless of what the terminal claims it can support. The
|
||||
default value is `off'. The name `meta-flag' is a synonym
|
||||
for this variable.
|
||||
|
||||
`output-meta'
|
||||
If set to `on', Readline will display characters with the
|
||||
eighth bit set directly rather than as a meta-prefixed escape
|
||||
|
@ -5929,6 +5967,11 @@ Commands For Changing Text
|
|||
Delete the character behind the cursor. A numeric argument means
|
||||
to kill the characters instead of deleting them.
|
||||
|
||||
`forward-backward-delete-char ()'
|
||||
Delete the character under the cursor, unless the cursor is at the
|
||||
end of the line, in which case the character behind the cursor is
|
||||
deleted. By default, this is not bound to a key.
|
||||
|
||||
`quoted-insert (C-q, C-v)'
|
||||
Add the next character typed to the line verbatim. This is how to
|
||||
insert key sequences like <C-q>, for example.
|
||||
|
@ -6083,6 +6126,12 @@ Letting Readline Type For You
|
|||
This command is intended to be bound to `TAB', but is unbound by
|
||||
default.
|
||||
|
||||
`delete-char-or-list ()'
|
||||
Deletes the character under the cursor if not at the beginning or
|
||||
end of the line (like `delete-char'). If at the end of the line,
|
||||
behaves identically to `possible-completions'. This command is
|
||||
unbound by default.
|
||||
|
||||
`complete-filename (M-/)'
|
||||
Attempt filename completion on the text before point.
|
||||
|
||||
|
@ -6180,7 +6229,7 @@ Some Miscellaneous Commands
|
|||
Undo all changes made to this line. This is like executing the
|
||||
`undo' command enough times to get back to the beginning.
|
||||
|
||||
`tilde-expand (M-~)'
|
||||
`tilde-expand (M-&)'
|
||||
Perform tilde expansion on the current word.
|
||||
|
||||
`set-mark (C-@)'
|
||||
|
@ -6562,6 +6611,11 @@ that the Bash `configure' recognizes.
|
|||
for which this should be turned off, and `configure' disables this
|
||||
option automatically for a number of systems.
|
||||
|
||||
`--with-installed-readline'
|
||||
Define this to make bash link with a locally-installed version of
|
||||
Readline rather than the version in lib/readline. This works only
|
||||
with readline 4.0 and later versions.
|
||||
|
||||
`--with-purify'
|
||||
Define this to use the Purify memory allocation checker from Pure
|
||||
Software.
|
||||
|
@ -6857,6 +6911,7 @@ Parameter and Variable Index
|
|||
* IGNOREEOF: Bash Variables.
|
||||
* input-meta: Readline Init File Syntax.
|
||||
* INPUTRC: Bash Variables.
|
||||
* isearch-terminators: Readline Init File Syntax.
|
||||
* keymap: Readline Init File Syntax.
|
||||
* LANG: Bash Variables.
|
||||
* LC_ALL: Bash Variables.
|
||||
|
@ -6923,6 +6978,7 @@ Function Index
|
|||
* copy-forward-word (): Commands For Killing.
|
||||
* copy-region-as-kill (): Commands For Killing.
|
||||
* delete-char (C-d): Commands For Text.
|
||||
* delete-char-or-list (): Commands For Completion.
|
||||
* delete-horizontal-space (): Commands For Killing.
|
||||
* digit-argument (M-0, M-1, ... M--): Numeric Arguments.
|
||||
* do-uppercase-version (M-a, M-b, M-X, ...): Miscellaneous Commands.
|
||||
|
@ -6934,6 +6990,7 @@ Function Index
|
|||
* end-of-history (M->): Commands For History.
|
||||
* end-of-line (C-e): Commands For Moving.
|
||||
* exchange-point-and-mark (C-x C-x): Miscellaneous Commands.
|
||||
* forward-backward-delete-char (): Commands For Text.
|
||||
* forward-char (C-f): Commands For Moving.
|
||||
* forward-search-history (C-s): Commands For History.
|
||||
* forward-word (M-f): Commands For Moving.
|
||||
|
@ -6960,7 +7017,6 @@ Function Index
|
|||
* self-insert (a, b, A, 1, !, ...): Commands For Text.
|
||||
* set-mark (C-@): Miscellaneous Commands.
|
||||
* start-kbd-macro (C-x (): Keyboard Macros.
|
||||
* tilde-expand (M-~): Miscellaneous Commands.
|
||||
* transpose-chars (C-t): Commands For Text.
|
||||
* transpose-words (M-t): Commands For Text.
|
||||
* undo (C-_, C-x C-u): Miscellaneous Commands.
|
||||
|
@ -7092,120 +7148,120 @@ Concept Index
|
|||
|
||||
|
||||
Tag Table:
|
||||
Node: Top1197
|
||||
Node: Introduction3153
|
||||
Node: What is Bash?3378
|
||||
Node: What is a shell?4472
|
||||
Node: Definitions6494
|
||||
Node: Basic Shell Features9155
|
||||
Node: Shell Syntax10378
|
||||
Node: Shell Operation10667
|
||||
Node: Quoting11961
|
||||
Node: Escape Character12986
|
||||
Node: Single Quotes13458
|
||||
Node: Double Quotes13787
|
||||
Node: ANSI-C Quoting14685
|
||||
Node: Locale Translation15554
|
||||
Node: Comments15975
|
||||
Node: Shell Commands16589
|
||||
Node: Simple Commands17100
|
||||
Node: Pipelines17659
|
||||
Node: Lists19186
|
||||
Node: Looping Constructs20641
|
||||
Node: Conditional Constructs22246
|
||||
Node: Command Grouping28184
|
||||
Node: Shell Functions29561
|
||||
Node: Shell Parameters31525
|
||||
Node: Positional Parameters32851
|
||||
Node: Special Parameters33600
|
||||
Node: Shell Expansions36221
|
||||
Node: Brace Expansion38144
|
||||
Node: Tilde Expansion39705
|
||||
Node: Shell Parameter Expansion42037
|
||||
Node: Command Substitution48379
|
||||
Node: Arithmetic Expansion49653
|
||||
Node: Process Substitution50498
|
||||
Node: Word Splitting51392
|
||||
Node: Filename Expansion52844
|
||||
Node: Pattern Matching54808
|
||||
Node: Quote Removal57197
|
||||
Node: Redirections57483
|
||||
Node: Executing Commands63553
|
||||
Node: Simple Command Expansion64220
|
||||
Node: Command Search and Execution66143
|
||||
Node: Command Execution Environment68146
|
||||
Node: Environment70600
|
||||
Node: Exit Status72257
|
||||
Node: Signals73454
|
||||
Node: Shell Scripts75349
|
||||
Node: Bourne Shell Features77385
|
||||
Node: Bourne Shell Builtins78115
|
||||
Node: Bourne Shell Variables92056
|
||||
Node: Other Bourne Shell Features93761
|
||||
Node: Major Differences From The Bourne Shell94504
|
||||
Node: Bash Features106693
|
||||
Node: Invoking Bash107796
|
||||
Node: Bash Startup Files111981
|
||||
Node: Is This Shell Interactive?115540
|
||||
Node: Bash Builtins116511
|
||||
Node: The Set Builtin137351
|
||||
Node: Bash Conditional Expressions143960
|
||||
Node: Bash Variables147033
|
||||
Node: Shell Arithmetic159463
|
||||
Node: Aliases161511
|
||||
Node: Alias Builtins164086
|
||||
Node: Arrays164702
|
||||
Node: The Directory Stack167723
|
||||
Node: Printing a Prompt171073
|
||||
Node: The Restricted Shell172736
|
||||
Node: Bash POSIX Mode174072
|
||||
Node: Job Control178233
|
||||
Node: Job Control Basics178699
|
||||
Node: Job Control Builtins182898
|
||||
Node: Job Control Variables187190
|
||||
Node: Using History Interactively188340
|
||||
Node: Bash History Facilities189019
|
||||
Node: Bash History Builtins191360
|
||||
Node: History Interaction194728
|
||||
Node: Event Designators197280
|
||||
Node: Word Designators198207
|
||||
Node: Modifiers199456
|
||||
Node: Command Line Editing200773
|
||||
Node: Introduction and Notation201433
|
||||
Node: Readline Interaction202471
|
||||
Node: Readline Bare Essentials203663
|
||||
Node: Readline Movement Commands205203
|
||||
Node: Readline Killing Commands206168
|
||||
Node: Readline Arguments207883
|
||||
Node: Searching208857
|
||||
Node: Readline Init File210475
|
||||
Node: Readline Init File Syntax211514
|
||||
Node: Conditional Init Constructs220379
|
||||
Node: Sample Init File222817
|
||||
Node: Bindable Readline Commands225986
|
||||
Node: Commands For Moving226736
|
||||
Node: Commands For History227583
|
||||
Node: Commands For Text230412
|
||||
Node: Commands For Killing232146
|
||||
Node: Numeric Arguments234295
|
||||
Node: Commands For Completion235421
|
||||
Node: Keyboard Macros238991
|
||||
Node: Miscellaneous Commands239549
|
||||
Node: Readline vi Mode243869
|
||||
Node: Installing Bash244747
|
||||
Node: Basic Installation245824
|
||||
Node: Compilers and Options248734
|
||||
Node: Compiling For Multiple Architectures249468
|
||||
Node: Installation Names251125
|
||||
Node: Specifying the System Type251850
|
||||
Node: Sharing Defaults252554
|
||||
Node: Operation Controls253219
|
||||
Node: Optional Features254124
|
||||
Node: Reporting Bugs260319
|
||||
Node: Builtin Index261390
|
||||
Node: Reserved Word Index264793
|
||||
Node: Variable Index266251
|
||||
Node: Function Index271456
|
||||
Node: Concept Index275885
|
||||
Node: Top1187
|
||||
Node: Introduction3146
|
||||
Node: What is Bash?3371
|
||||
Node: What is a shell?4465
|
||||
Node: Definitions6487
|
||||
Node: Basic Shell Features9148
|
||||
Node: Shell Syntax10371
|
||||
Node: Shell Operation10660
|
||||
Node: Quoting11954
|
||||
Node: Escape Character12979
|
||||
Node: Single Quotes13451
|
||||
Node: Double Quotes13780
|
||||
Node: ANSI-C Quoting14678
|
||||
Node: Locale Translation15547
|
||||
Node: Comments15968
|
||||
Node: Shell Commands16582
|
||||
Node: Simple Commands17093
|
||||
Node: Pipelines17652
|
||||
Node: Lists19179
|
||||
Node: Looping Constructs20634
|
||||
Node: Conditional Constructs22239
|
||||
Node: Command Grouping28177
|
||||
Node: Shell Functions29554
|
||||
Node: Shell Parameters31518
|
||||
Node: Positional Parameters32844
|
||||
Node: Special Parameters33593
|
||||
Node: Shell Expansions36214
|
||||
Node: Brace Expansion38137
|
||||
Node: Tilde Expansion39698
|
||||
Node: Shell Parameter Expansion42030
|
||||
Node: Command Substitution48426
|
||||
Node: Arithmetic Expansion49700
|
||||
Node: Process Substitution50545
|
||||
Node: Word Splitting51439
|
||||
Node: Filename Expansion52891
|
||||
Node: Pattern Matching54855
|
||||
Node: Quote Removal57244
|
||||
Node: Redirections57530
|
||||
Node: Executing Commands63600
|
||||
Node: Simple Command Expansion64267
|
||||
Node: Command Search and Execution66190
|
||||
Node: Command Execution Environment68193
|
||||
Node: Environment70647
|
||||
Node: Exit Status72304
|
||||
Node: Signals73501
|
||||
Node: Shell Scripts75396
|
||||
Node: Bourne Shell Features77432
|
||||
Node: Bourne Shell Builtins78162
|
||||
Node: Bourne Shell Variables92273
|
||||
Node: Other Bourne Shell Features93978
|
||||
Node: Major Differences From The Bourne Shell94721
|
||||
Node: Bash Features106910
|
||||
Node: Invoking Bash108013
|
||||
Node: Bash Startup Files112198
|
||||
Node: Is This Shell Interactive?116342
|
||||
Node: Bash Builtins117313
|
||||
Node: The Set Builtin138717
|
||||
Node: Bash Conditional Expressions145533
|
||||
Node: Bash Variables148666
|
||||
Node: Shell Arithmetic161096
|
||||
Node: Aliases163144
|
||||
Node: Alias Builtins165719
|
||||
Node: Arrays166335
|
||||
Node: The Directory Stack169356
|
||||
Node: Printing a Prompt172706
|
||||
Node: The Restricted Shell174369
|
||||
Node: Bash POSIX Mode175730
|
||||
Node: Job Control179891
|
||||
Node: Job Control Basics180357
|
||||
Node: Job Control Builtins184556
|
||||
Node: Job Control Variables188848
|
||||
Node: Using History Interactively189998
|
||||
Node: Bash History Facilities190677
|
||||
Node: Bash History Builtins193018
|
||||
Node: History Interaction196386
|
||||
Node: Event Designators198938
|
||||
Node: Word Designators199865
|
||||
Node: Modifiers201114
|
||||
Node: Command Line Editing202431
|
||||
Node: Introduction and Notation203091
|
||||
Node: Readline Interaction204129
|
||||
Node: Readline Bare Essentials205321
|
||||
Node: Readline Movement Commands206861
|
||||
Node: Readline Killing Commands207826
|
||||
Node: Readline Arguments209541
|
||||
Node: Searching210515
|
||||
Node: Readline Init File212263
|
||||
Node: Readline Init File Syntax213302
|
||||
Node: Conditional Init Constructs222508
|
||||
Node: Sample Init File224946
|
||||
Node: Bindable Readline Commands228115
|
||||
Node: Commands For Moving228865
|
||||
Node: Commands For History229712
|
||||
Node: Commands For Text232541
|
||||
Node: Commands For Killing234508
|
||||
Node: Numeric Arguments236657
|
||||
Node: Commands For Completion237783
|
||||
Node: Keyboard Macros241615
|
||||
Node: Miscellaneous Commands242173
|
||||
Node: Readline vi Mode246493
|
||||
Node: Installing Bash247371
|
||||
Node: Basic Installation248448
|
||||
Node: Compilers and Options251358
|
||||
Node: Compiling For Multiple Architectures252092
|
||||
Node: Installation Names253749
|
||||
Node: Specifying the System Type254474
|
||||
Node: Sharing Defaults255178
|
||||
Node: Operation Controls255843
|
||||
Node: Optional Features256748
|
||||
Node: Reporting Bugs263158
|
||||
Node: Builtin Index264229
|
||||
Node: Reserved Word Index267632
|
||||
Node: Variable Index269090
|
||||
Node: Function Index274363
|
||||
Node: Concept Index278853
|
||||
|
||||
End Tag Table
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
@c %**end of header
|
||||
|
||||
@ignore
|
||||
last change: Wed Mar 25 11:36:48 EST 1998
|
||||
Last Change: Wed Jan 20 16:46:26 EST 1999
|
||||
@end ignore
|
||||
|
||||
@set EDITION 2.2
|
||||
@set VERSION 2.02
|
||||
@set UPDATED 1 April 1998
|
||||
@set UPDATE-MONTH April 1998
|
||||
@set EDITION 2.3
|
||||
@set VERSION 2.03
|
||||
@set UPDATED 20 January 1999
|
||||
@set UPDATE-MONTH January 1999
|
||||
|
||||
@iftex
|
||||
@finalout
|
||||
|
@ -36,7 +36,7 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
|
|||
of @cite{The GNU Bash Reference Manual},
|
||||
for @code{Bash}, Version @value{VERSION}.
|
||||
|
||||
Copyright (C) 1991, 1993, 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991-1999 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
|
@ -64,13 +64,13 @@ by the Free Software Foundation.
|
|||
@titlepage
|
||||
@title Bash Reference Manual
|
||||
@subtitle Reference Documentation for Bash
|
||||
@subtitle Edition @value{EDITION}, for @code{bash} Version @value{VERSION}.
|
||||
@subtitle @value{UPDATED}
|
||||
@subtitle Edition @value{EDITION}, for @code{Bash} Version @value{VERSION}.
|
||||
@subtitle @value{UPDATE-MONTH}
|
||||
@author Chet Ramey, Case Western Reserve University
|
||||
@author Brian Fox, Free Software Foundation
|
||||
@page
|
||||
@vskip 0pt plus 1filll
|
||||
Copyright @copyright{} 1991, 1993, 1996 Free Software Foundation, Inc.
|
||||
Copyright @copyright{} 1991-1999 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
|
@ -1428,9 +1428,9 @@ In the first form, only the first match is replaced.
|
|||
The second form causes all matches of @var{pattern} to be
|
||||
replaced with @var{string}.
|
||||
If @var{pattern} begins with @samp{#}, it must match at the beginning
|
||||
of @var{string}.
|
||||
of the expanded value of @var{parameter}.
|
||||
If @var{pattern} begins with @samp{%}, it must match at the end
|
||||
of @var{string}.
|
||||
of the expanded value of @var{parameter}.
|
||||
If @var{string} is null, matches of @var{pattern} are deleted
|
||||
and the @code{/} following @var{pattern} may be omitted.
|
||||
If @var{parameter} is @samp{@@} or @samp{*},
|
||||
|
@ -2285,13 +2285,16 @@ The return status is zero.
|
|||
@item .
|
||||
@btindex .
|
||||
@example
|
||||
. @var{filename}
|
||||
. @var{filename} [@var{arguments}]
|
||||
@end example
|
||||
Read and execute commands from the @var{filename} argument in the
|
||||
current shell context. If @var{filename} does not contain a slash,
|
||||
the @code{$PATH} variable is used to find
|
||||
@var{filename}. The current directory is searched if @var{filename}
|
||||
is not found in @code{$PATH}.
|
||||
If any @var{arguments} are supplied, they become the positional
|
||||
parameters when @var{filename} is executed. Otherwise the positional
|
||||
parameters are unchanged.
|
||||
The return status is the exit status of the last command executed, or
|
||||
zero if no commands are executed. If @var{filename} is not found, or
|
||||
cannot be read, the return status is non-zero.
|
||||
|
@ -3245,7 +3248,8 @@ If any of the files exist but cannot be read, Bash reports an error.
|
|||
Tildes are expanded in file names as described above under
|
||||
Tilde Expansion (@pxref{Tilde Expansion}).
|
||||
|
||||
When Bash is invoked as an interactive login shell, it first reads and
|
||||
When Bash is invoked as an interactive login shell, or as a
|
||||
non-interactive shell with the @samp{--login} option, it first reads and
|
||||
executes commands from the file @file{/etc/profile}, if that file exists.
|
||||
After reading that file, it looks for @file{~/.bash_profile},
|
||||
@file{~/.bash_login}, and @file{~/.profile}, in that order, and reads
|
||||
|
@ -3285,7 +3289,8 @@ If Bash is invoked with the name @code{sh}, it tries to mimic the
|
|||
startup behavior of historical versions of @code{sh} as closely as
|
||||
possible, while conforming to the @sc{POSIX} standard as well.
|
||||
|
||||
When invoked as an interactive login shell, it first attempts to read
|
||||
When invoked as an interactive login shell, or as a non-interactive
|
||||
shell with the @samp{--login} option, it first attempts to read
|
||||
and execute commands from @file{/etc/profile} and @file{~/.profile}, in
|
||||
that order.
|
||||
The @samp{--noprofile} option may be used to inhibit this behavior.
|
||||
|
@ -3296,7 +3301,7 @@ Since a shell invoked as @code{sh} does not attempt to read and execute
|
|||
commands from any other startup files, the @samp{--rcfile} option has
|
||||
no effect.
|
||||
A non-interactive shell invoked with the name @code{sh} does not attempt
|
||||
to read any startup files.
|
||||
to read any other startup files.
|
||||
|
||||
When invoked as @code{sh}, Bash enters @sc{POSIX} mode after
|
||||
the startup files are read.
|
||||
|
@ -3319,6 +3324,14 @@ The @samp{--norc} option may be used to inhibit this behavior, and the
|
|||
@code{rshd} does not generally invoke the shell with those options or
|
||||
allow them to be specified.
|
||||
|
||||
If Bash is started with the effective user (group) id not equal to the
|
||||
real user (group) id, and the @code{-p} option is not supplied, no startup
|
||||
files are read, shell functions are not inherited from the environment,
|
||||
the @code{SHELLOPTS} variable, if it appears in the environment, is ignored,
|
||||
and the effective user id is set to the real user id.
|
||||
If the @code{-p} option is supplied at invocation, the startup behavior is
|
||||
the same, but the effective user id is not reset.
|
||||
|
||||
@node Is This Shell Interactive?
|
||||
@section Is This Shell Interactive?
|
||||
@cindex interactive shell
|
||||
|
@ -3676,6 +3689,8 @@ If there are fewer words read from the standard input than names,
|
|||
the remaining names are assigned empty values.
|
||||
The characters in the value of the @code{IFS} variable
|
||||
are used to split the line into words.
|
||||
The backslash character @samp{\} may be used to remove any special
|
||||
meaning for the next character read and for line continuation.
|
||||
If no names are supplied, the line read is assigned to the
|
||||
variable @code{REPLY}.
|
||||
The return code is zero, unless end-of-file is encountered.
|
||||
|
@ -3683,8 +3698,10 @@ Options, if supplied, have the following meanings:
|
|||
|
||||
@table @code
|
||||
@item -r
|
||||
If this option is given, a backslash-newline pair is not ignored, and
|
||||
the backslash is considered to be part of the line.
|
||||
If this option is given, backslash does not act as an escape
|
||||
character. The backslash is considered to be part of the line.
|
||||
In particular, a backslash-newline pair may not be used as a line
|
||||
continuation.
|
||||
|
||||
@item -p @var{prompt}
|
||||
Display @var{prompt}, without a
|
||||
|
@ -3853,6 +3870,13 @@ If set, prompt strings undergo variable and parameter expansion after
|
|||
being expanded (@pxref{Printing a Prompt}).
|
||||
This option is enabled by default.
|
||||
|
||||
@item restricted_shell
|
||||
The shell sets this option if it is started in restricted mode
|
||||
(@pxref{The Restricted Shell}).
|
||||
The value may not be changed.
|
||||
This is not reset when the startup files are executed, allowing
|
||||
the startup files to discover whether or not a shell is restricted.
|
||||
|
||||
@item shift_verbose
|
||||
If this is set, the @code{shift}
|
||||
builtin prints an error message when the shift count exceeds the
|
||||
|
@ -4120,9 +4144,12 @@ In this mode, the @code{$BASH_ENV} and @code{$ENV} files are not
|
|||
processed, shell functions are not inherited from the environment,
|
||||
and the @code{SHELLOPTS} variable, if it appears in the environment,
|
||||
is ignored.
|
||||
This is enabled automatically
|
||||
on startup if the effective user (group) id is not equal to the real
|
||||
user (group) id. Turning this option off causes the effective user
|
||||
If the shell is started with the effective user (group) id not equal to the
|
||||
real user (group) id, and the @code{-p} option is not supplied, these actions
|
||||
are taken and the effective user id is set to the real user id.
|
||||
If the @code{-p} option is supplied at startup, the effective user id is
|
||||
not reset.
|
||||
Turning this option off causes the effective user
|
||||
and group ids to be set to the real user and group ids.
|
||||
|
||||
@item -t
|
||||
|
@ -4235,6 +4262,9 @@ True if @var{file} exists and is a regular file.
|
|||
@item -g @var{file}
|
||||
True if @var{file} exists and its set-group-id bit is set.
|
||||
|
||||
@item -h @var{file}
|
||||
True if @var{file} exists and is a symbolic link.
|
||||
|
||||
@item -k @var{file}
|
||||
True if @var{file} exists and its "sticky" bit is set.
|
||||
|
||||
|
@ -5101,8 +5131,8 @@ with the exception that the following are disallowed:
|
|||
@item
|
||||
Changing directories with the @code{cd} builtin.
|
||||
@item
|
||||
Setting or unsetting the values of the @code{SHELL} or @code{PATH}
|
||||
variables.
|
||||
Setting or unsetting the values of the @code{SHELL}, @code{PATH},
|
||||
@code{ENV}, or @code{BASH_ENV} variables.
|
||||
@item
|
||||
Specifying command names containing slashes.
|
||||
@item
|
||||
|
@ -5815,6 +5845,11 @@ The @file{NOTES} file contains a list of systems for
|
|||
which this should be turned off, and @code{configure} disables this
|
||||
option automatically for a number of systems.
|
||||
|
||||
@item --with-installed-readline
|
||||
Define this to make bash link with a locally-installed version of Readline
|
||||
rather than the version in lib/readline. This works only with readline 4.0
|
||||
and later versions.
|
||||
|
||||
@item --with-purify
|
||||
Define this to use the Purify memory allocation checker from Pure
|
||||
Software.
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
.\" Case Western Reserve University
|
||||
.\" chet@ins.CWRU.Edu
|
||||
.\"
|
||||
.\" Last Change: Thu Feb 19 10:26:47 EST 1998
|
||||
.\" Last Change: Thu Dec 31 10:16:30 EST 1998
|
||||
.\"
|
||||
.TH READLINE 3 "1998 Feb 19" GNU
|
||||
.TH READLINE 3 "1998 Dec 31" GNU
|
||||
.\"
|
||||
.\" File Name macro. This used to be `.PN', for Path Name,
|
||||
.\" but Sun doesn't seem to like that very much.
|
||||
|
@ -22,6 +22,7 @@ readline \- get a line from a user with editing
|
|||
.LP
|
||||
.nf
|
||||
.ft B
|
||||
#include <stdio.h>
|
||||
#include <readline.h>
|
||||
#include <history.h>
|
||||
.ft
|
||||
|
@ -380,6 +381,19 @@ When set to \fBOn\fP, makes readline use a single line for display,
|
|||
scrolling the input horizontally on a single screen line when it
|
||||
becomes longer than the screen width rather than wrapping to a new line.
|
||||
.TP
|
||||
.B input\-meta (Off)
|
||||
If set to \fBOn\fP, readline will enable eight-bit input (that is,
|
||||
it will not strip the high bit from the characters it reads),
|
||||
regardless of what the terminal claims it can support. The name
|
||||
.B meta\-flag
|
||||
is a synonym for this variable.
|
||||
.TP
|
||||
.B isearch\-terminators (``C\-[C\-J'')
|
||||
The string of characters that should terminate an incremental
|
||||
search without subsequently executing the character as a command.
|
||||
If this variable has not been given a value, the characters
|
||||
\fIESC\fP and \fIC\-J\fP will terminate an incremental search.
|
||||
.TP
|
||||
.B keymap (emacs)
|
||||
Set the current readline keymap. The set of legal keymap names is
|
||||
\fIemacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
|
||||
|
@ -400,11 +414,6 @@ appended.
|
|||
If set to \fBOn\fP, history lines that have been modified are displayed
|
||||
with a preceding asterisk (\fB*\fP).
|
||||
.TP
|
||||
.B meta\-flag (Off)
|
||||
If set to \fBOn\fP, readline will enable eight-bit input (that is,
|
||||
it will not strip the high bit from the characters it reads),
|
||||
regardless of what the terminal claims it can support.
|
||||
.TP
|
||||
.B output\-meta (Off)
|
||||
If set to \fBOn\fP, readline will display characters with the
|
||||
eighth bit set directly rather than as a meta-prefixed escape
|
||||
|
@ -509,8 +518,10 @@ As each character of the search string is typed, readline displays
|
|||
the next entry from the history matching the string typed so far.
|
||||
An incremental search requires only as many characters as needed to
|
||||
find the desired history entry.
|
||||
The Escape character is used to terminate an incremental search.
|
||||
Control-J will also terminate the search.
|
||||
The characters present in the value of the \fIisearch-terminators\fP
|
||||
variable are used to terminate an incremental search.
|
||||
If that variable has not been assigned a value the Escape and
|
||||
Control-J characters will terminate an incremental search.
|
||||
Control-G will abort an incremental search and restore the original
|
||||
line.
|
||||
When the search is terminated, the history entry containing the
|
||||
|
@ -647,6 +658,11 @@ the last character typed was not bound to \fBBdelete\-char\fP, then return
|
|||
Delete the character behind the cursor. When given a numeric argument,
|
||||
save the deleted text on the kill ring.
|
||||
.TP
|
||||
.B forward\-backward\-delete\-char
|
||||
Delete the character under the cursor, unless the cursor is at the
|
||||
end of the line, in which case the character behind the cursor is
|
||||
deleted. By default, this is not bound to a key.
|
||||
.TP
|
||||
.B quoted\-insert (C\-q, C\-v)
|
||||
Add the next character that you type to the line verbatim. This is
|
||||
how to insert characters like \fBC\-q\fP, for example.
|
||||
|
@ -798,6 +814,13 @@ of matches; a negative argument may be used to move backward
|
|||
through the list.
|
||||
This command is intended to be bound to \fBTAB\fP, but is unbound
|
||||
by default.
|
||||
.TP
|
||||
.B delete\-char\-or\-list
|
||||
Deletes the character under the cursor if not at the beginning or
|
||||
end of the line (like \fBdelete-char\fP).
|
||||
If at the end of the line, behaves identically to
|
||||
\fBpossible-completions\fP.
|
||||
This command is unbound by default.
|
||||
.PD
|
||||
.SS Keyboard Macros
|
||||
.PP
|
||||
|
@ -847,7 +870,7 @@ Undo all changes made to this line. This is like executing the
|
|||
.B undo
|
||||
command enough times to return the line to its initial state.
|
||||
.TP
|
||||
.B tilde\-expand (M\-~)
|
||||
.B tilde\-expand (M\-&)
|
||||
Perform tilde expansion on the current word.
|
||||
.TP
|
||||
.B set\-mark (C\-@, M-<space>)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue