fix for LINENO after shell errors; fix for crash with !&; new read -E option

This commit is contained in:
Chet Ramey
2023-08-18 16:41:55 -04:00
parent 50ffbc9ddc
commit b64a7d8cbe
43 changed files with 7277 additions and 6868 deletions
+58
View File
@@ -7428,3 +7428,61 @@ MANIFEST
lib/sh/unicode.c
- u32cconv: prefer nl_langinfo to locale_charset like locale.c:
locale_isutf8()
execute_cmd.c
- uw_restore_lineno: an unwind-protect fuction to restore a saved
line_number
- execute_command: add an unwind-protect to restore line_number in
case execute_simple_command longjmps back to top_level or a
return context.
Side effect of https://savannah.gnu.org/support/index.php?110919
- execute_for_command, execute_select_command, execute_case_command:
add unwind-protect to restore line_number (could also do it for
if, while, until but those don't modify line_number)
- execute_command_internal: add_unwind_protect to restore line number
for arith, cond, function def commands
8/14
----
execute_cmd.c
- execute_simple_command: don't call savestring on the_printed_command_except_trap
if it's NULL.
From a report by Grisha Levit <grishalevit@gmail.com>
8/15
----
lib/readline/rltty.c
- prepare_terminal_settings: replace USE_XON_XOFF macro with private
variable _rl_use_tty_xon_xoff (initially set to 1); if it's set to
0 disable the tty start and stop characters. Prep for making it a
bindable variable setting
builtins/read.def
- edit_line: now takes a third argument saying whether or not to
set rl_attempted_completion_function to NULL to use readline's
default filename completion (the default)
- read_builtin: new option -E to use readline and use the bash
default completion (that is, leave rl_attempted_completion_function
unchanged)
From a suggestion by konsolebox <konsolebox@gmail.com> back in 5/2021
doc/bash.1,doc/bashref.texi
- read: document new -E option
8/17
----
aclocal.m4
- BASH_CHECK_LIB_TERMCAP: add a check for bash_cv_termcap_lib ==
"libcurses"; set TERMCAP_LIB=-lcurses in this case
8/18
----
subst.c
- bash_variable_assignment_error: new function, implements default mode
behavior for variable assignment errors
- posix_variable_assignment_error: new function, implements posix mode
behavior for variable assignment errors
- parameter_brace_expand_rhs,expand_declaration_argument,
do_assignment_statements: call posix_variable_assignment_error or
bash_variable_assignment_error as appropriate
+1 -1
View File
@@ -731,7 +731,7 @@ support/fixlinks f 755
support/install.sh f 755
support/texi2dvi f 755
support/texi2html f 755
support/xenix-link.sh f 755
#support/xenix-link.sh f 755
support/shobj-conf f 755
support/rlvers.sh f 755
examples/INDEX.txt f
Vendored
+3
View File
@@ -955,6 +955,9 @@ TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libncurses; then
TERMCAP_LIB=-lncurses
TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libcurses; then
TERMCAP_LIB=-lcurses
TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libc; then
TERMCAP_LIB=
TERMCAP_DEP=
+23 -8
View File
@@ -22,7 +22,7 @@ $PRODUCES read.c
$BUILTIN read
$FUNCTION read_builtin
$SHORT_DOC read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
$SHORT_DOC read [-Eers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
Read a line from the standard input and split it into fields.
Reads a single line from the standard input, or from file descriptor FD
@@ -41,6 +41,8 @@ Options:
-d delim continue until the first character of DELIM is read, rather
than newline
-e use Readline to obtain the line
-E use Readline to obtain the line and use the bash default
completion instead of Readline's default completion
-i text use TEXT as the initial text for Readline
-n nchars return after reading NCHARS characters rather than waiting
for a newline, but honor a delimiter if fewer than
@@ -121,7 +123,7 @@ struct ttsave
#if defined (READLINE)
static void uw_reset_attempted_completion_function (void *);
static int set_itext (void);
static char *edit_line (char *, char *);
static char *edit_line (char *, char *, int);
static void set_eol_delim (int);
static void reset_eol_delim (void *);
static void set_readline_timeout (sh_timer *t, time_t, long);
@@ -215,7 +217,8 @@ read_builtin (WORD_LIST *list)
size_t size;
volatile int i;
int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul;
int raw, edit, nchars, silent, have_timeout, ignore_delim, fd;
int edit, use_bash_completion;
int raw, nchars, silent, have_timeout, ignore_delim, fd;
int lastsig, t_errno;
int mb_cur_max;
unsigned int tmsec, tmusec;
@@ -247,6 +250,7 @@ read_builtin (WORD_LIST *list)
USE_VAR(input_is_pipe);
/* USE_VAR(raw); */
USE_VAR(edit);
USE_VAR(use_bash_completion);
USE_VAR(tmsec);
USE_VAR(tmusec);
USE_VAR(nchars);
@@ -268,6 +272,7 @@ read_builtin (WORD_LIST *list)
i = 0; /* Index into the string that we are reading. */
raw = edit = 0; /* Not reading raw input by default. */
use_bash_completion = 0;
silent = 0;
arrayname = prompt = (char *)NULL;
fd = 0; /* file descriptor to read from */
@@ -284,7 +289,7 @@ read_builtin (WORD_LIST *list)
ignore_delim = nflag = 0;
reset_internal_getopt ();
while ((opt = internal_getopt (list, "ersa:d:i:n:p:t:u:N:")) != -1)
while ((opt = internal_getopt (list, "Eersa:d:i:n:p:t:u:N:")) != -1)
{
switch (opt)
{
@@ -302,6 +307,12 @@ read_builtin (WORD_LIST *list)
edit = 1;
#endif
break;
case 'E':
#if defined (READLINE)
edit = use_bash_completion = 1;
#endif
break;
case 'i':
#if defined (READLINE)
itext = list_optarg;
@@ -649,7 +660,7 @@ read_builtin (WORD_LIST *list)
if (rlbuf == 0)
{
reading = 1;
rlbuf = edit_line (prompt ? prompt : "", itext);
rlbuf = edit_line (prompt ? prompt : "", itext, use_bash_completion);
reading = 0;
rlind = 0;
}
@@ -1197,7 +1208,7 @@ set_itext (void)
}
static char *
edit_line (char *p, char *itext)
edit_line (char *p, char *itext, int keep_completion_func)
{
char *ret;
size_t len;
@@ -1206,7 +1217,10 @@ edit_line (char *p, char *itext)
initialize_readline ();
old_attempted_completion_function = rl_attempted_completion_function;
rl_attempted_completion_function = (rl_completion_func_t *)NULL;
/* If we don't indicate that we want to keep the attempted completion
function, reset it so we use the default readline word completion. */
if (keep_completion_func == 0)
rl_attempted_completion_function = (rl_completion_func_t *)NULL;
bashline_set_event_hook ();
if (itext)
{
@@ -1217,7 +1231,8 @@ edit_line (char *p, char *itext)
ret = readline (p);
rl_attempted_completion_function = old_attempted_completion_function;
if (keep_completion_func == 0)
rl_attempted_completion_function = old_attempted_completion_function;
old_attempted_completion_function = (rl_completion_func_t *)NULL;
bashline_reset_event_hook ();
Vendored
+24 -9
View File
@@ -1,5 +1,5 @@
#! /bin/sh
# From configure.ac for Bash 5.3, version 5.056.
# From configure.ac for Bash 5.3, version 5.057.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for bash 5.3-devel.
#
@@ -5961,6 +5961,9 @@ TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libncurses; then
TERMCAP_LIB=-lncurses
TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libcurses; then
TERMCAP_LIB=-lcurses
TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libc; then
TERMCAP_LIB=
TERMCAP_DEP=
@@ -9055,8 +9058,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
LIBS=$save_LIBS
test $gl_pthread_api = yes && break
done
echo "$as_me:9058: gl_pthread_api=$gl_pthread_api" >&5
echo "$as_me:9059: LIBPTHREAD=$LIBPTHREAD" >&5
echo "$as_me:9061: gl_pthread_api=$gl_pthread_api" >&5
echo "$as_me:9062: LIBPTHREAD=$LIBPTHREAD" >&5
gl_pthread_in_glibc=no
# On Linux with glibc >= 2.34, libc contains the fully functional
@@ -9082,7 +9085,7 @@ rm -rf conftest*
;;
esac
echo "$as_me:9085: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
echo "$as_me:9088: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
# since it is defined as a macro on OSF/1.)
@@ -9236,7 +9239,7 @@ fi
fi
fi
echo "$as_me:9239: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
echo "$as_me:9242: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -9464,8 +9467,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
LIBS=$save_LIBS
test $gl_pthread_api = yes && break
done
echo "$as_me:9467: gl_pthread_api=$gl_pthread_api" >&5
echo "$as_me:9468: LIBPTHREAD=$LIBPTHREAD" >&5
echo "$as_me:9470: gl_pthread_api=$gl_pthread_api" >&5
echo "$as_me:9471: LIBPTHREAD=$LIBPTHREAD" >&5
gl_pthread_in_glibc=no
# On Linux with glibc >= 2.34, libc contains the fully functional
@@ -9491,7 +9494,7 @@ rm -rf conftest*
;;
esac
echo "$as_me:9494: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
echo "$as_me:9497: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
# since it is defined as a macro on OSF/1.)
@@ -9645,7 +9648,7 @@ fi
fi
fi
echo "$as_me:9648: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
echo "$as_me:9651: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -16449,6 +16452,12 @@ if test "x$ac_cv_func_dcgettext" = xyes
then :
printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h
fi
ac_fn_c_check_func "$LINENO" "locale_charset" "ac_cv_func_locale_charset"
if test "x$ac_cv_func_locale_charset" = xyes
then :
printf "%s\n" "#define HAVE_LOCALE_CHARSET 1" >>confdefs.h
fi
ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy"
if test "x$ac_cv_func_mempcpy" = xyes
@@ -16487,6 +16496,9 @@ if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
INTL_DEP='${INTL_LIBDIR}/libintl.a'
INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
printf "%s\n" "#define HAVE_LOCALE_CHARSET 1" >>confdefs.h
fi
@@ -21832,6 +21844,9 @@ TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libncurses; then
TERMCAP_LIB=-lncurses
TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libcurses; then
TERMCAP_LIB=-lcurses
TERMCAP_DEP=
elif test $bash_cv_termcap_lib = libc; then
TERMCAP_LIB=
TERMCAP_DEP=
+5 -2
View File
@@ -21,7 +21,7 @@ dnl Process this file with autoconf to produce a configure script.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_REVISION([for Bash 5.3, version 5.056])dnl
AC_REVISION([for Bash 5.3, version 5.057])dnl
define(bashvers, 5.3)
define(relstatus, devel)
@@ -927,7 +927,8 @@ AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
dnl AC_FUNC_MALLOC
AC_DEFINE([HAVE_MALLOC])
AC_FUNC_MMAP
AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext \
locale_charset mempcpy \
munmap mremap stpcpy strcspn])
INTL_DEP= INTL_INC= LIBINTL_H=
@@ -935,6 +936,8 @@ if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
INTL_DEP='${INTL_LIBDIR}/libintl.a'
INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
AC_DEFINE([HAVE_LOCALE_CHARSET], 1)
fi
AC_SUBST(INTL_DEP)
AC_SUBST(INTL_INC)
+2 -2
View File
@@ -157,9 +157,9 @@ BASHREF_FILES = $(srcdir)/bashref.texi $(srcdir)/fdl.texi $(srcdir)/version.texi
# $(RM) $@
# -${TEXI2PDF} $<
all: ps info dvi text html $(MAN2HTML)
all: info dvi text html pdf $(MAN2HTML)
nodvi: ps info text html
everything: all pdf
everything: all ps
PSFILES = bash.ps bashbug.ps article.ps builtins.ps rbash.ps
DVIFILES = bashref.dvi bashref.ps
+579 -564
View File
File diff suppressed because it is too large Load Diff
+23 -7
View File
@@ -5,14 +5,14 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Thu Aug 10 10:49:52 EDT 2023
.\" Last Change: Tue Aug 15 16:02:58 EDT 2023
.\"
.\" bash_builtins, strip all but Built-Ins section
.\" avoid a warning about an undefined register
.\" .if !rzY .nr zY 0
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2023 August 10" "GNU Bash 5.3"
.TH BASH 1 "2023 August 15" "GNU Bash 5.3"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -7552,13 +7552,13 @@ The second is to select portions of that line for inclusion into
the current one.
The line selected from the history is the \fIevent\fP,
and the portions of that line that are acted upon are \fIwords\fP.
The line is broken into words in the same fashion as when reading input,
so that several \fImetacharacter\fP-separated words surrounded by
quotes are considered one word.
The \fIevent designator\fP selects the event, the optional
\fIword designator\fP selects words from the event, and
various optional \fImodifiers\fP are available to manipulate the
selected words.
The line is broken into words in the same fashion as when reading input,
so that several \fImetacharacter\fP-separated words surrounded by
quotes are considered one word.
.PP
History expansions are introduced by the appearance of the
history expansion character, which is \^\fB!\fP\^ by default.
@@ -9777,7 +9777,7 @@ The return status is 0 unless an error occurs while
reading the name of the current directory or an
invalid option is supplied.
.TP
\fBread\fP [\fB\-ers\fP] [\fB\-a\fP \fIaname\fP] [\fB\-d\fP \fIdelim\fP] [\fB\-i\fP \fItext\fP] [\fB\-n\fP \fInchars\fP] [\fB\-N\fP \fInchars\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-u\fP \fIfd\fP] [\fIname\fP ...]
\fBread\fP [\fB\-Eers\fP] [\fB\-a\fP \fIaname\fP] [\fB\-d\fP \fIdelim\fP] [\fB\-i\fP \fItext\fP] [\fB\-n\fP \fInchars\fP] [\fB\-N\fP \fInchars\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-u\fP \fIfd\fP] [\fIname\fP ...]
One line is read from the standard input, or from the file descriptor
\fIfd\fP supplied as an argument to the \fB\-u\fP option,
split into words as described
@@ -9827,16 +9827,32 @@ when it reads a NUL character.
.B \-e
If the standard input
is coming from a terminal,
\fBread\fP uses
.B readline
(see
.SM
.B READLINE
.ie \n(zZ=1 in \fIbash(1)\fP)
.el above)
is used to obtain the line.
to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses readline's default filename completion.
.TP
.B \-E
If the standard input
is coming from a terminal,
\fBread\fP uses
.B readline
(see
.SM
.B READLINE
.ie \n(zZ=1 in \fIbash(1)\fP)
.el above)
to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses bash's default completion, including
programmable completion.
.TP
.B \-i \fItext\fP
If
.B readline
+40 -11
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2023 August 2<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2023 August 15<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -9548,12 +9548,20 @@ The second is to select portions of that line for inclusion into
the current one.
The line selected from the history is the <I>event</I>,
and the portions of that line that are acted upon are <I>words</I>.
Various <I>modifiers</I> are available to manipulate the selected words.
The line is broken into words in the same fashion as when reading input,
so that several <I>metacharacter</I>-separated words surrounded by
quotes are considered one word.
The <I>event designator</I> selects the event, the optional
<I>word designator</I> selects words from the event, and
various optional <I>modifiers</I> are available to manipulate the
selected words.
<P>
History expansions are introduced by the appearance of the
history expansion character, which is <B>!</B> by default.
History expansions may appear anywhere in the input, but do not nest.
<P>
Only backslash (<B>\</B>) and single quotes can quote
the history expansion character, but the history expansion character is
also treated as quoted if it immediately precedes the closing double quote
@@ -9562,10 +9570,8 @@ in a double-quoted string.
Several characters inhibit history expansion if found immediately
following the history expansion character, even if it is unquoted:
space, tab, newline, carriage return,
<B>=</B>, <B>;</B>, <B>&amp;</B>, and <B>|</B>.
If the <B>extglob</B> shell option is enabled, <B>(</B> will also
inhibit expansion.
space, tab, newline, carriage return, <B>=</B>,
and the other shell metacharacters defined above.
<P>
Several shell options settable with the
@@ -9632,6 +9638,10 @@ writing the history file.
An event designator is a reference to a command line entry in the
history list.
The event designator
consists of the portion of the word beginning with the history
expansion character and ending with the word designator if present,
or the end of the word.
Unless the reference is absolute, events are relative to the current
position in the history list.
<P>
@@ -12268,7 +12278,7 @@ option is used, the pathname printed may contain symbolic links.
The return status is 0 unless an error occurs while
reading the name of the current directory or an
invalid option is supplied.
<DT><B>read</B> [<B>-ers</B>] [<B>-a</B> <I>aname</I>] [<B>-d</B> <I>delim</I>] [<B>-i</B> <I>text</I>] [<B>-n</B> <I>nchars</I>] [<B>-N</B> <I>nchars</I>] [<B>-p</B> <I>prompt</I>] [<B>-t</B> <I>timeout</I>] [<B>-u</B> <I>fd</I>] [<I>name</I> ...]<DD>
<DT><B>read</B> [<B>-Eers</B>] [<B>-a</B> <I>aname</I>] [<B>-d</B> <I>delim</I>] [<B>-i</B> <I>text</I>] [<B>-n</B> <I>nchars</I>] [<B>-N</B> <I>nchars</I>] [<B>-p</B> <I>prompt</I>] [<B>-t</B> <I>timeout</I>] [<B>-u</B> <I>fd</I>] [<I>name</I> ...]<DD>
One line is read from the standard input, or from the file descriptor
<I>fd</I> supplied as an argument to the <B>-u</B> option,
split into words as described
@@ -12328,6 +12338,7 @@ when it reads a NUL character.
<DD>
If the standard input
is coming from a terminal,
<B>read</B> uses
<B>readline</B>
(see
@@ -12336,9 +12347,27 @@ is coming from a terminal,
</FONT>
above)
is used to obtain the line.
to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses readline's default filename completion.
<DT><B>-E</B>
<DD>
If the standard input
is coming from a terminal,
<B>read</B> uses
<B>readline</B>
(see
<FONT SIZE=-1><B>READLINE</B>
</FONT>
above)
to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses bash's default completion, including
programmable completion.
<DT><B>-i </B><I>text</I>
<DD>
@@ -15086,7 +15115,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2023 August 2<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2023 August 15<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -15192,7 +15221,7 @@ There may be only one active coprocess at a time.
<DT><A HREF="#lbDI">BUGS</A><DD>
</DL>
<HR>
This document was created by man2html from /usr/local/src/bash/bash-20230808/doc/bash.1.<BR>
Time: 09 August 2023 10:01:14 EDT
This document was created by man2html from /usr/local/src/bash/bash-20230812/doc/bash.1.<BR>
Time: 15 August 2023 16:12:02 EDT
</BODY>
</HTML>
+176 -161
View File
@@ -1,9 +1,9 @@
This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 2 August 2023).
Bash shell (version 5.3, 15 August 2023).
This is Edition 5.3, last updated 2 August 2023, of 'The GNU Bash
This is Edition 5.3, last updated 15 August 2023, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.3.
Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -26,10 +26,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 2 August 2023). The Bash home page is
Bash shell (version 5.3, 15 August 2023). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 2 August 2023, of 'The GNU Bash
This is Edition 5.3, last updated 15 August 2023, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -4263,7 +4263,7 @@ standard.
assignment error occurs.
'read'
read [-ers] [-a ANAME] [-d DELIM] [-i TEXT] [-n NCHARS]
read [-Eers] [-a ANAME] [-d DELIM] [-i TEXT] [-n NCHARS]
[-N NCHARS] [-p PROMPT] [-t TIMEOUT] [-u FD] [NAME ...]
One line is read from the standard input, or from the file
@@ -4299,6 +4299,12 @@ standard.
was not previously active) editing settings, but uses
Readline's default filename completion.
'-E'
Readline (*note Command Line Editing::) is used to obtain the
line. Readline uses the current (or default, if line editing
was not previously active) editing settings, but uses Bash's
default completion, including programmable completion.
'-i TEXT'
If Readline is being used to read the line, TEXT is placed
into the editing buffer before editing begins.
@@ -10414,13 +10420,19 @@ functions about quoting still in effect from previous lines.
History expansion takes place in two parts. The first is to
determine which line from the history list should be used during
substitution. The second is to select portions of that line for
inclusion into the current one. The line selected from the history is
called the "event", and the portions of that line that are acted upon
are called "words". Various "modifiers" are available to manipulate the
selected words. The line is broken into words in the same fashion that
Bash does, so that several words surrounded by quotes are considered one
word. History expansions are introduced by the appearance of the
history expansion character, which is '!' by default.
inclusion into the current one.
The line selected from the history is called the "event", and the
portions of that line that are acted upon are called "words". The line
is broken into words in the same fashion that Bash does, so that several
words surrounded by quotes are considered one word. The "event
designator" selects the event, the optional "word designator" selects
words from the event, and various optional "modifiers" are available to
manipulate the selected words.
History expansions are introduced by the appearance of the history
expansion character, which is '!' by default. History expansions may
appear anywhere in the input, but do not nest.
History expansion implements shell-like quoting conventions: a
backslash can be used to remove the special handling for the next
@@ -10468,12 +10480,15 @@ File: bash.info, Node: Event Designators, Next: Word Designators, Up: History
An event designator is a reference to a command line entry in the
history list. Unless the reference is absolute, events are relative to
the current position in the history list.
the current position in the history list. The event designator consists
of the portion of the word beginning with the history expansion
character, and ending with the word designator if one is present, or the
end of the word.
'!'
Start a history substitution, except when followed by a space, tab,
the end of the line, '=', ';', '&', '|', or '(' (when the 'extglob'
shell option is enabled using the 'shopt' builtin).
the end of the line, '=', or the rest of the shell metacharacters
defined above (*note Definitions::).
'!N'
Refer to command line N.
@@ -11433,13 +11448,13 @@ the baseline reference.
variable as a default if no non-option arguments are supplied. The
Bash 'read' builtin also accepts a prompt string with the '-p'
option and will use Readline to obtain the line when given the '-e'
option. The 'read' builtin also has additional options to control
input: the '-s' option will turn off echoing of input characters as
they are read, the '-t' option will allow 'read' to time out if
input does not arrive within a specified number of seconds, the
'-n' option will allow reading only a specified number of
characters rather than a full line, and the '-d' option will read
until a particular character rather than newline.
or '-E' options. The 'read' builtin also has additional options to
control input: the '-s' option will turn off echoing of input
characters as they are read, the '-t' option will allow 'read' to
time out if input does not arrive within a specified number of
seconds, the '-n' option will allow reading only a specified number
of characters rather than a full line, and the '-d' option will
read until a particular character rather than newline.
* The 'return' builtin may be used to abort execution of scripts
executed with the '.' or 'source' builtins (*note Bourne Shell
@@ -12148,7 +12163,7 @@ D.1 Index of Shell Builtin Commands
* pwd: Bourne Shell Builtins.
(line 218)
* read: Bash Builtins. (line 513)
* readarray: Bash Builtins. (line 610)
* readarray: Bash Builtins. (line 616)
* readonly: Bourne Shell Builtins.
(line 228)
* return: Bourne Shell Builtins.
@@ -12157,7 +12172,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 268)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 619)
* source: Bash Builtins. (line 625)
* suspend: Job Control Builtins.
(line 116)
* test: Bourne Shell Builtins.
@@ -12168,12 +12183,12 @@ D.1 Index of Shell Builtin Commands
(line 389)
* true: Bourne Shell Builtins.
(line 451)
* type: Bash Builtins. (line 624)
* typeset: Bash Builtins. (line 662)
* ulimit: Bash Builtins. (line 668)
* type: Bash Builtins. (line 630)
* typeset: Bash Builtins. (line 668)
* ulimit: Bash Builtins. (line 674)
* umask: Bourne Shell Builtins.
(line 456)
* unalias: Bash Builtins. (line 774)
* unalias: Bash Builtins. (line 780)
* unset: Bourne Shell Builtins.
(line 474)
* wait: Job Control Builtins.
@@ -12759,7 +12774,7 @@ D.5 Concept Index
* functions, shell: Shell Functions. (line 6)
* history builtins: Bash History Builtins.
(line 6)
* history events: Event Designators. (line 8)
* history events: Event Designators. (line 11)
* history expansion: History Interaction. (line 6)
* history list: Bash History Facilities.
(line 6)
@@ -12849,138 +12864,138 @@ D.5 Concept Index

Tag Table:
Node: Top888
Node: Introduction2799
Node: What is Bash?3012
Node: What is a shell?4123
Node: Definitions6658
Node: Basic Shell Features9606
Node: Shell Syntax10822
Node: Shell Operation11845
Node: Quoting13135
Node: Escape Character14436
Node: Single Quotes14918
Node: Double Quotes15263
Node: ANSI-C Quoting16538
Node: Locale Translation17847
Node: Creating Internationalized Scripts19155
Node: Comments23269
Node: Shell Commands23884
Node: Reserved Words24819
Node: Simple Commands25572
Node: Pipelines26223
Node: Lists29206
Node: Compound Commands30998
Node: Looping Constructs32007
Node: Conditional Constructs34499
Node: Command Grouping48984
Node: Coprocesses50459
Node: GNU Parallel53119
Node: Shell Functions54033
Node: Shell Parameters61915
Node: Positional Parameters66300
Node: Special Parameters67199
Node: Shell Expansions70410
Node: Brace Expansion72495
Node: Tilde Expansion75226
Node: Shell Parameter Expansion77844
Node: Command Substitution96434
Node: Arithmetic Expansion99895
Node: Process Substitution100860
Node: Word Splitting101977
Node: Filename Expansion104022
Node: Pattern Matching106952
Node: Quote Removal111951
Node: Redirections112243
Node: Executing Commands121933
Node: Simple Command Expansion122600
Node: Command Search and Execution124707
Node: Command Execution Environment127091
Node: Environment130123
Node: Exit Status131783
Node: Signals133564
Node: Shell Scripts137010
Node: Shell Builtin Commands140034
Node: Bourne Shell Builtins142069
Node: Bash Builtins165202
Node: Modifying Shell Behavior197845
Node: The Set Builtin198187
Node: The Shopt Builtin209158
Node: Special Builtins225293
Node: Shell Variables226269
Node: Bourne Shell Variables226703
Node: Bash Variables228804
Node: Bash Features263860
Node: Invoking Bash264870
Node: Bash Startup Files270906
Node: Interactive Shells276034
Node: What is an Interactive Shell?276442
Node: Is this Shell Interactive?277088
Node: Interactive Shell Behavior277900
Node: Bash Conditional Expressions281526
Node: Shell Arithmetic286165
Node: Aliases289123
Node: Arrays292014
Node: The Directory Stack298572
Node: Directory Stack Builtins299353
Node: Controlling the Prompt303610
Node: The Restricted Shell306572
Node: Bash POSIX Mode309179
Node: Shell Compatibility Mode325337
Node: Job Control333578
Node: Job Control Basics334035
Node: Job Control Builtins339034
Node: Job Control Variables344826
Node: Command Line Editing345979
Node: Introduction and Notation347647
Node: Readline Interaction349267
Node: Readline Bare Essentials350455
Node: Readline Movement Commands352241
Node: Readline Killing Commands353198
Node: Readline Arguments355116
Node: Searching356157
Node: Readline Init File358340
Node: Readline Init File Syntax359598
Node: Conditional Init Constructs383620
Node: Sample Init File387813
Node: Bindable Readline Commands390934
Node: Commands For Moving392135
Node: Commands For History394183
Node: Commands For Text399174
Node: Commands For Killing403149
Node: Numeric Arguments405850
Node: Commands For Completion406986
Node: Keyboard Macros411174
Node: Miscellaneous Commands411859
Node: Readline vi Mode417894
Node: Programmable Completion418798
Node: Programmable Completion Builtins426575
Node: A Programmable Completion Example437692
Node: Using History Interactively442937
Node: Bash History Facilities443618
Node: Bash History Builtins446626
Node: History Interaction451714
Node: Event Designators455331
Node: Word Designators456698
Node: Modifiers458560
Node: Installing Bash460365
Node: Basic Installation461499
Node: Compilers and Options465218
Node: Compiling For Multiple Architectures465956
Node: Installation Names467645
Node: Specifying the System Type469751
Node: Sharing Defaults470465
Node: Operation Controls471135
Node: Optional Features472090
Node: Reporting Bugs483306
Node: Major Differences From The Bourne Shell484637
Node: GNU Free Documentation License501483
Node: Indexes526657
Node: Builtin Index527108
Node: Reserved Word Index534206
Node: Variable Index536651
Node: Function Index553782
Node: Concept Index567500
Node: Top890
Node: Introduction2803
Node: What is Bash?3016
Node: What is a shell?4127
Node: Definitions6662
Node: Basic Shell Features9610
Node: Shell Syntax10826
Node: Shell Operation11849
Node: Quoting13139
Node: Escape Character14440
Node: Single Quotes14922
Node: Double Quotes15267
Node: ANSI-C Quoting16542
Node: Locale Translation17851
Node: Creating Internationalized Scripts19159
Node: Comments23273
Node: Shell Commands23888
Node: Reserved Words24823
Node: Simple Commands25576
Node: Pipelines26227
Node: Lists29210
Node: Compound Commands31002
Node: Looping Constructs32011
Node: Conditional Constructs34503
Node: Command Grouping48988
Node: Coprocesses50463
Node: GNU Parallel53123
Node: Shell Functions54037
Node: Shell Parameters61919
Node: Positional Parameters66304
Node: Special Parameters67203
Node: Shell Expansions70414
Node: Brace Expansion72499
Node: Tilde Expansion75230
Node: Shell Parameter Expansion77848
Node: Command Substitution96438
Node: Arithmetic Expansion99899
Node: Process Substitution100864
Node: Word Splitting101981
Node: Filename Expansion104026
Node: Pattern Matching106956
Node: Quote Removal111955
Node: Redirections112247
Node: Executing Commands121937
Node: Simple Command Expansion122604
Node: Command Search and Execution124711
Node: Command Execution Environment127095
Node: Environment130127
Node: Exit Status131787
Node: Signals133568
Node: Shell Scripts137014
Node: Shell Builtin Commands140038
Node: Bourne Shell Builtins142073
Node: Bash Builtins165206
Node: Modifying Shell Behavior198141
Node: The Set Builtin198483
Node: The Shopt Builtin209454
Node: Special Builtins225589
Node: Shell Variables226565
Node: Bourne Shell Variables226999
Node: Bash Variables229100
Node: Bash Features264156
Node: Invoking Bash265166
Node: Bash Startup Files271202
Node: Interactive Shells276330
Node: What is an Interactive Shell?276738
Node: Is this Shell Interactive?277384
Node: Interactive Shell Behavior278196
Node: Bash Conditional Expressions281822
Node: Shell Arithmetic286461
Node: Aliases289419
Node: Arrays292310
Node: The Directory Stack298868
Node: Directory Stack Builtins299649
Node: Controlling the Prompt303906
Node: The Restricted Shell306868
Node: Bash POSIX Mode309475
Node: Shell Compatibility Mode325633
Node: Job Control333874
Node: Job Control Basics334331
Node: Job Control Builtins339330
Node: Job Control Variables345122
Node: Command Line Editing346275
Node: Introduction and Notation347943
Node: Readline Interaction349563
Node: Readline Bare Essentials350751
Node: Readline Movement Commands352537
Node: Readline Killing Commands353494
Node: Readline Arguments355412
Node: Searching356453
Node: Readline Init File358636
Node: Readline Init File Syntax359894
Node: Conditional Init Constructs383916
Node: Sample Init File388109
Node: Bindable Readline Commands391230
Node: Commands For Moving392431
Node: Commands For History394479
Node: Commands For Text399470
Node: Commands For Killing403445
Node: Numeric Arguments406146
Node: Commands For Completion407282
Node: Keyboard Macros411470
Node: Miscellaneous Commands412155
Node: Readline vi Mode418190
Node: Programmable Completion419094
Node: Programmable Completion Builtins426871
Node: A Programmable Completion Example437988
Node: Using History Interactively443233
Node: Bash History Facilities443914
Node: Bash History Builtins446922
Node: History Interaction452010
Node: Event Designators455820
Node: Word Designators457355
Node: Modifiers459217
Node: Installing Bash461022
Node: Basic Installation462156
Node: Compilers and Options465875
Node: Compiling For Multiple Architectures466613
Node: Installation Names468302
Node: Specifying the System Type470408
Node: Sharing Defaults471122
Node: Operation Controls471792
Node: Optional Features472747
Node: Reporting Bugs483963
Node: Major Differences From The Bourne Shell485294
Node: GNU Free Documentation License502149
Node: Indexes527323
Node: Builtin Index527774
Node: Reserved Word Index534872
Node: Variable Index537317
Node: Function Index554448
Node: Concept Index568166

End Tag Table
BIN
View File
Binary file not shown.
+76 -76
View File
@@ -158,8 +158,8 @@
@xrdef{Modifying Shell Behavior-snt}{Section@tie 4.3}
@xrdef{The Set Builtin-title}{The Set Builtin}
@xrdef{The Set Builtin-snt}{Section@tie 4.3.1}
@xrdef{Modifying Shell Behavior-pg}{68}
@xrdef{The Set Builtin-pg}{68}
@xrdef{Modifying Shell Behavior-pg}{69}
@xrdef{The Set Builtin-pg}{69}
@xrdef{The Shopt Builtin-title}{The Shopt Builtin}
@xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2}
@xrdef{The Shopt Builtin-pg}{73}
@@ -172,72 +172,72 @@
@xrdef{Bourne Shell Variables-snt}{Section@tie 5.1}
@xrdef{Bash Variables-title}{Bash Variables}
@xrdef{Bash Variables-snt}{Section@tie 5.2}
@xrdef{Shell Variables-pg}{80}
@xrdef{Bourne Shell Variables-pg}{80}
@xrdef{Bash Variables-pg}{80}
@xrdef{Shell Variables-pg}{81}
@xrdef{Bourne Shell Variables-pg}{81}
@xrdef{Bash Variables-pg}{81}
@xrdef{Bash Features-title}{Bash Features}
@xrdef{Bash Features-snt}{Chapter@tie 6}
@xrdef{Invoking Bash-title}{Invoking Bash}
@xrdef{Invoking Bash-snt}{Section@tie 6.1}
@xrdef{Bash Features-pg}{93}
@xrdef{Invoking Bash-pg}{93}
@xrdef{Bash Features-pg}{94}
@xrdef{Invoking Bash-pg}{94}
@xrdef{Bash Startup Files-title}{Bash Startup Files}
@xrdef{Bash Startup Files-snt}{Section@tie 6.2}
@xrdef{Bash Startup Files-pg}{95}
@xrdef{Bash Startup Files-pg}{96}
@xrdef{Interactive Shells-title}{Interactive Shells}
@xrdef{Interactive Shells-snt}{Section@tie 6.3}
@xrdef{What is an Interactive Shell?-title}{What is an Interactive Shell?}
@xrdef{What is an Interactive Shell?-snt}{Section@tie 6.3.1}
@xrdef{Interactive Shells-pg}{96}
@xrdef{Interactive Shells-pg}{97}
@xrdef{Is this Shell Interactive?-title}{Is this Shell Interactive?}
@xrdef{Is this Shell Interactive?-snt}{Section@tie 6.3.2}
@xrdef{Interactive Shell Behavior-title}{Interactive Shell Behavior}
@xrdef{Interactive Shell Behavior-snt}{Section@tie 6.3.3}
@xrdef{What is an Interactive Shell?-pg}{97}
@xrdef{Is this Shell Interactive?-pg}{97}
@xrdef{Interactive Shell Behavior-pg}{97}
@xrdef{What is an Interactive Shell?-pg}{98}
@xrdef{Is this Shell Interactive?-pg}{98}
@xrdef{Interactive Shell Behavior-pg}{98}
@xrdef{Bash Conditional Expressions-title}{Bash Conditional Expressions}
@xrdef{Bash Conditional Expressions-snt}{Section@tie 6.4}
@xrdef{Bash Conditional Expressions-pg}{98}
@xrdef{Bash Conditional Expressions-pg}{99}
@xrdef{Shell Arithmetic-title}{Shell Arithmetic}
@xrdef{Shell Arithmetic-snt}{Section@tie 6.5}
@xrdef{Shell Arithmetic-pg}{100}
@xrdef{Shell Arithmetic-pg}{101}
@xrdef{Aliases-title}{Aliases}
@xrdef{Aliases-snt}{Section@tie 6.6}
@xrdef{Arrays-title}{Arrays}
@xrdef{Arrays-snt}{Section@tie 6.7}
@xrdef{Aliases-pg}{102}
@xrdef{Arrays-pg}{102}
@xrdef{Aliases-pg}{103}
@xrdef{Arrays-pg}{103}
@xrdef{The Directory Stack-title}{The Directory Stack}
@xrdef{The Directory Stack-snt}{Section@tie 6.8}
@xrdef{The Directory Stack-pg}{104}
@xrdef{The Directory Stack-pg}{105}
@xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
@xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
@xrdef{Directory Stack Builtins-pg}{105}
@xrdef{Directory Stack Builtins-pg}{106}
@xrdef{Controlling the Prompt-title}{Controlling the Prompt}
@xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
@xrdef{Controlling the Prompt-pg}{106}
@xrdef{Controlling the Prompt-pg}{107}
@xrdef{The Restricted Shell-title}{The Restricted Shell}
@xrdef{The Restricted Shell-snt}{Section@tie 6.10}
@xrdef{Bash POSIX Mode-title}{Bash and POSIX}
@xrdef{Bash POSIX Mode-snt}{Section@tie 6.11}
@xrdef{The Restricted Shell-pg}{108}
@xrdef{Bash POSIX Mode-pg}{108}
@xrdef{The Restricted Shell-pg}{109}
@xrdef{Bash POSIX Mode-pg}{109}
@xrdef{Shell Compatibility Mode-title}{Shell Compatibility Mode}
@xrdef{Shell Compatibility Mode-snt}{Section@tie 6.12}
@xrdef{Shell Compatibility Mode-pg}{113}
@xrdef{Shell Compatibility Mode-pg}{114}
@xrdef{Job Control-title}{Job Control}
@xrdef{Job Control-snt}{Chapter@tie 7}
@xrdef{Job Control Basics-title}{Job Control Basics}
@xrdef{Job Control Basics-snt}{Section@tie 7.1}
@xrdef{Job Control-pg}{117}
@xrdef{Job Control Basics-pg}{117}
@xrdef{Job Control-pg}{118}
@xrdef{Job Control Basics-pg}{118}
@xrdef{Job Control Builtins-title}{Job Control Builtins}
@xrdef{Job Control Builtins-snt}{Section@tie 7.2}
@xrdef{Job Control Builtins-pg}{118}
@xrdef{Job Control Builtins-pg}{119}
@xrdef{Job Control Variables-title}{Job Control Variables}
@xrdef{Job Control Variables-snt}{Section@tie 7.3}
@xrdef{Job Control Variables-pg}{120}
@xrdef{Job Control Variables-pg}{121}
@xrdef{Command Line Editing-title}{Command Line Editing}
@xrdef{Command Line Editing-snt}{Chapter@tie 8}
@xrdef{Introduction and Notation-title}{Introduction to Line Editing}
@@ -246,145 +246,145 @@
@xrdef{Readline Interaction-snt}{Section@tie 8.2}
@xrdef{Readline Bare Essentials-title}{Readline Bare Essentials}
@xrdef{Readline Bare Essentials-snt}{Section@tie 8.2.1}
@xrdef{Command Line Editing-pg}{121}
@xrdef{Introduction and Notation-pg}{121}
@xrdef{Readline Interaction-pg}{121}
@xrdef{Command Line Editing-pg}{122}
@xrdef{Introduction and Notation-pg}{122}
@xrdef{Readline Interaction-pg}{122}
@xrdef{Readline Movement Commands-title}{Readline Movement Commands}
@xrdef{Readline Movement Commands-snt}{Section@tie 8.2.2}
@xrdef{Readline Killing Commands-title}{Readline Killing Commands}
@xrdef{Readline Killing Commands-snt}{Section@tie 8.2.3}
@xrdef{Readline Bare Essentials-pg}{122}
@xrdef{Readline Movement Commands-pg}{122}
@xrdef{Readline Bare Essentials-pg}{123}
@xrdef{Readline Movement Commands-pg}{123}
@xrdef{Readline Arguments-title}{Readline Arguments}
@xrdef{Readline Arguments-snt}{Section@tie 8.2.4}
@xrdef{Searching-title}{Searching for Commands in the History}
@xrdef{Searching-snt}{Section@tie 8.2.5}
@xrdef{Readline Killing Commands-pg}{123}
@xrdef{Readline Arguments-pg}{123}
@xrdef{Searching-pg}{123}
@xrdef{Readline Killing Commands-pg}{124}
@xrdef{Readline Arguments-pg}{124}
@xrdef{Searching-pg}{124}
@xrdef{Readline Init File-title}{Readline Init File}
@xrdef{Readline Init File-snt}{Section@tie 8.3}
@xrdef{Readline Init File Syntax-title}{Readline Init File Syntax}
@xrdef{Readline Init File Syntax-snt}{Section@tie 8.3.1}
@xrdef{Readline Init File-pg}{124}
@xrdef{Readline Init File Syntax-pg}{124}
@xrdef{Readline Init File-pg}{125}
@xrdef{Readline Init File Syntax-pg}{125}
@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
@xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2}
@xrdef{Conditional Init Constructs-pg}{133}
@xrdef{Conditional Init Constructs-pg}{134}
@xrdef{Sample Init File-title}{Sample Init File}
@xrdef{Sample Init File-snt}{Section@tie 8.3.3}
@xrdef{Sample Init File-pg}{135}
@xrdef{Sample Init File-pg}{136}
@xrdef{Bindable Readline Commands-title}{Bindable Readline Commands}
@xrdef{Bindable Readline Commands-snt}{Section@tie 8.4}
@xrdef{Commands For Moving-title}{Commands For Moving}
@xrdef{Commands For Moving-snt}{Section@tie 8.4.1}
@xrdef{Bindable Readline Commands-pg}{138}
@xrdef{Commands For Moving-pg}{138}
@xrdef{Bindable Readline Commands-pg}{139}
@xrdef{Commands For Moving-pg}{139}
@xrdef{Commands For History-title}{Commands For Manipulating The History}
@xrdef{Commands For History-snt}{Section@tie 8.4.2}
@xrdef{Commands For History-pg}{139}
@xrdef{Commands For History-pg}{140}
@xrdef{Commands For Text-title}{Commands For Changing Text}
@xrdef{Commands For Text-snt}{Section@tie 8.4.3}
@xrdef{Commands For Text-pg}{141}
@xrdef{Commands For Text-pg}{142}
@xrdef{Commands For Killing-title}{Killing And Yanking}
@xrdef{Commands For Killing-snt}{Section@tie 8.4.4}
@xrdef{Commands For Killing-pg}{142}
@xrdef{Commands For Killing-pg}{143}
@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
@xrdef{Numeric Arguments-snt}{Section@tie 8.4.5}
@xrdef{Numeric Arguments-pg}{143}
@xrdef{Numeric Arguments-pg}{144}
@xrdef{Commands For Completion-title}{Letting Readline Type For You}
@xrdef{Commands For Completion-snt}{Section@tie 8.4.6}
@xrdef{Commands For Completion-pg}{144}
@xrdef{Commands For Completion-pg}{145}
@xrdef{Keyboard Macros-title}{Keyboard Macros}
@xrdef{Keyboard Macros-snt}{Section@tie 8.4.7}
@xrdef{Keyboard Macros-pg}{145}
@xrdef{Keyboard Macros-pg}{146}
@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
@xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8}
@xrdef{Miscellaneous Commands-pg}{146}
@xrdef{Miscellaneous Commands-pg}{147}
@xrdef{Readline vi Mode-title}{Readline vi Mode}
@xrdef{Readline vi Mode-snt}{Section@tie 8.5}
@xrdef{Programmable Completion-title}{Programmable Completion}
@xrdef{Programmable Completion-snt}{Section@tie 8.6}
@xrdef{Readline vi Mode-pg}{148}
@xrdef{Programmable Completion-pg}{148}
@xrdef{Readline vi Mode-pg}{149}
@xrdef{Programmable Completion-pg}{149}
@xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
@xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
@xrdef{Programmable Completion Builtins-pg}{151}
@xrdef{Programmable Completion Builtins-pg}{152}
@xrdef{A Programmable Completion Example-title}{A Programmable Completion Example}
@xrdef{A Programmable Completion Example-snt}{Section@tie 8.8}
@xrdef{A Programmable Completion Example-pg}{155}
@xrdef{A Programmable Completion Example-pg}{156}
@xrdef{Using History Interactively-title}{Using History Interactively}
@xrdef{Using History Interactively-snt}{Chapter@tie 9}
@xrdef{Bash History Facilities-title}{Bash History Facilities}
@xrdef{Bash History Facilities-snt}{Section@tie 9.1}
@xrdef{Bash History Builtins-title}{Bash History Builtins}
@xrdef{Bash History Builtins-snt}{Section@tie 9.2}
@xrdef{Using History Interactively-pg}{158}
@xrdef{Bash History Facilities-pg}{158}
@xrdef{Bash History Builtins-pg}{158}
@xrdef{Using History Interactively-pg}{159}
@xrdef{Bash History Facilities-pg}{159}
@xrdef{Bash History Builtins-pg}{159}
@xrdef{History Interaction-title}{History Expansion}
@xrdef{History Interaction-snt}{Section@tie 9.3}
@xrdef{History Interaction-pg}{160}
@xrdef{History Interaction-pg}{161}
@xrdef{Event Designators-title}{Event Designators}
@xrdef{Event Designators-snt}{Section@tie 9.3.1}
@xrdef{Event Designators-pg}{161}
@xrdef{Event Designators-pg}{162}
@xrdef{Word Designators-title}{Word Designators}
@xrdef{Word Designators-snt}{Section@tie 9.3.2}
@xrdef{Word Designators-pg}{163}
@xrdef{Modifiers-title}{Modifiers}
@xrdef{Modifiers-snt}{Section@tie 9.3.3}
@xrdef{Word Designators-pg}{162}
@xrdef{Modifiers-pg}{162}
@xrdef{Modifiers-pg}{164}
@xrdef{Installing Bash-title}{Installing Bash}
@xrdef{Installing Bash-snt}{Chapter@tie 10}
@xrdef{Basic Installation-title}{Basic Installation}
@xrdef{Basic Installation-snt}{Section@tie 10.1}
@xrdef{Installing Bash-pg}{164}
@xrdef{Basic Installation-pg}{164}
@xrdef{Installing Bash-pg}{165}
@xrdef{Basic Installation-pg}{165}
@xrdef{Compilers and Options-title}{Compilers and Options}
@xrdef{Compilers and Options-snt}{Section@tie 10.2}
@xrdef{Compiling For Multiple Architectures-title}{Compiling For Multiple Architectures}
@xrdef{Compiling For Multiple Architectures-snt}{Section@tie 10.3}
@xrdef{Installation Names-title}{Installation Names}
@xrdef{Installation Names-snt}{Section@tie 10.4}
@xrdef{Compilers and Options-pg}{165}
@xrdef{Compiling For Multiple Architectures-pg}{165}
@xrdef{Compilers and Options-pg}{166}
@xrdef{Compiling For Multiple Architectures-pg}{166}
@xrdef{Specifying the System Type-title}{Specifying the System Type}
@xrdef{Specifying the System Type-snt}{Section@tie 10.5}
@xrdef{Sharing Defaults-title}{Sharing Defaults}
@xrdef{Sharing Defaults-snt}{Section@tie 10.6}
@xrdef{Operation Controls-title}{Operation Controls}
@xrdef{Operation Controls-snt}{Section@tie 10.7}
@xrdef{Installation Names-pg}{166}
@xrdef{Specifying the System Type-pg}{166}
@xrdef{Sharing Defaults-pg}{166}
@xrdef{Installation Names-pg}{167}
@xrdef{Specifying the System Type-pg}{167}
@xrdef{Sharing Defaults-pg}{167}
@xrdef{Optional Features-title}{Optional Features}
@xrdef{Optional Features-snt}{Section@tie 10.8}
@xrdef{Operation Controls-pg}{167}
@xrdef{Optional Features-pg}{167}
@xrdef{Operation Controls-pg}{168}
@xrdef{Optional Features-pg}{168}
@xrdef{Reporting Bugs-title}{Reporting Bugs}
@xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
@xrdef{Reporting Bugs-pg}{173}
@xrdef{Reporting Bugs-pg}{174}
@xrdef{Major Differences From The Bourne Shell-title}{Major Differences From The Bourne Shell}
@xrdef{Major Differences From The Bourne Shell-snt}{Appendix@tie @char66{}}
@xrdef{Major Differences From The Bourne Shell-pg}{174}
@xrdef{Major Differences From The Bourne Shell-pg}{175}
@xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
@xrdef{GNU Free Documentation License-snt}{Appendix@tie @char67{}}
@xrdef{GNU Free Documentation License-pg}{180}
@xrdef{GNU Free Documentation License-pg}{181}
@xrdef{Indexes-title}{Indexes}
@xrdef{Indexes-snt}{Appendix@tie @char68{}}
@xrdef{Builtin Index-title}{Index of Shell Builtin Commands}
@xrdef{Builtin Index-snt}{Section@tie @char68.1}
@xrdef{Indexes-pg}{188}
@xrdef{Builtin Index-pg}{188}
@xrdef{Indexes-pg}{189}
@xrdef{Builtin Index-pg}{189}
@xrdef{Reserved Word Index-title}{Index of Shell Reserved Words}
@xrdef{Reserved Word Index-snt}{Section@tie @char68.2}
@xrdef{Variable Index-title}{Parameter and Variable Index}
@xrdef{Variable Index-snt}{Section@tie @char68.3}
@xrdef{Reserved Word Index-pg}{189}
@xrdef{Variable Index-pg}{190}
@xrdef{Reserved Word Index-pg}{190}
@xrdef{Variable Index-pg}{191}
@xrdef{Function Index-title}{Function Index}
@xrdef{Function Index-snt}{Section@tie @char68.4}
@xrdef{Function Index-pg}{192}
@xrdef{Function Index-pg}{193}
@xrdef{Concept Index-title}{Concept Index}
@xrdef{Concept Index-snt}{Section@tie @char68.5}
@xrdef{Concept Index-pg}{194}
@xrdef{Concept Index-pg}{195}
+21 -21
View File
@@ -23,39 +23,39 @@
\entry{unset}{57}{\code {unset}}
\entry{alias}{57}{\code {alias}}
\entry{bind}{57}{\code {bind}}
\entry{builtin}{58}{\code {builtin}}
\entry{builtin}{59}{\code {builtin}}
\entry{caller}{59}{\code {caller}}
\entry{command}{59}{\code {command}}
\entry{declare}{59}{\code {declare}}
\entry{echo}{61}{\code {echo}}
\entry{enable}{62}{\code {enable}}
\entry{help}{62}{\code {help}}
\entry{let}{62}{\code {let}}
\entry{let}{63}{\code {let}}
\entry{local}{63}{\code {local}}
\entry{logout}{63}{\code {logout}}
\entry{mapfile}{63}{\code {mapfile}}
\entry{printf}{64}{\code {printf}}
\entry{read}{65}{\code {read}}
\entry{readarray}{66}{\code {readarray}}
\entry{source}{66}{\code {source}}
\entry{type}{66}{\code {type}}
\entry{source}{67}{\code {source}}
\entry{type}{67}{\code {type}}
\entry{typeset}{67}{\code {typeset}}
\entry{ulimit}{67}{\code {ulimit}}
\entry{unalias}{68}{\code {unalias}}
\entry{set}{68}{\code {set}}
\entry{unalias}{69}{\code {unalias}}
\entry{set}{69}{\code {set}}
\entry{shopt}{73}{\code {shopt}}
\entry{dirs}{105}{\code {dirs}}
\entry{popd}{105}{\code {popd}}
\entry{pushd}{105}{\code {pushd}}
\entry{bg}{118}{\code {bg}}
\entry{fg}{118}{\code {fg}}
\entry{jobs}{118}{\code {jobs}}
\entry{kill}{119}{\code {kill}}
\entry{wait}{119}{\code {wait}}
\entry{disown}{120}{\code {disown}}
\entry{suspend}{120}{\code {suspend}}
\entry{compgen}{151}{\code {compgen}}
\entry{complete}{151}{\code {complete}}
\entry{compopt}{154}{\code {compopt}}
\entry{fc}{159}{\code {fc}}
\entry{history}{159}{\code {history}}
\entry{dirs}{106}{\code {dirs}}
\entry{popd}{106}{\code {popd}}
\entry{pushd}{106}{\code {pushd}}
\entry{bg}{119}{\code {bg}}
\entry{fg}{119}{\code {fg}}
\entry{jobs}{119}{\code {jobs}}
\entry{kill}{120}{\code {kill}}
\entry{wait}{120}{\code {wait}}
\entry{disown}{121}{\code {disown}}
\entry{suspend}{121}{\code {suspend}}
\entry{compgen}{152}{\code {compgen}}
\entry{complete}{152}{\code {complete}}
\entry{compopt}{155}{\code {compopt}}
\entry{fc}{160}{\code {fc}}
\entry{history}{160}{\code {history}}
+21 -21
View File
@@ -7,22 +7,22 @@
\initial {A}
\entry{\code {alias}}{57}
\initial {B}
\entry{\code {bg}}{118}
\entry{\code {bg}}{119}
\entry{\code {bind}}{57}
\entry{\code {break}}{50}
\entry{\code {builtin}}{58}
\entry{\code {builtin}}{59}
\initial {C}
\entry{\code {caller}}{59}
\entry{\code {cd}}{50}
\entry{\code {command}}{59}
\entry{\code {compgen}}{151}
\entry{\code {complete}}{151}
\entry{\code {compopt}}{154}
\entry{\code {compgen}}{152}
\entry{\code {complete}}{152}
\entry{\code {compopt}}{155}
\entry{\code {continue}}{50}
\initial {D}
\entry{\code {declare}}{59}
\entry{\code {dirs}}{105}
\entry{\code {disown}}{120}
\entry{\code {dirs}}{106}
\entry{\code {disown}}{121}
\initial {E}
\entry{\code {echo}}{61}
\entry{\code {enable}}{62}
@@ -32,28 +32,28 @@
\entry{\code {export}}{51}
\initial {F}
\entry{\code {false}}{51}
\entry{\code {fc}}{159}
\entry{\code {fg}}{118}
\entry{\code {fc}}{160}
\entry{\code {fg}}{119}
\initial {G}
\entry{\code {getopts}}{51}
\initial {H}
\entry{\code {hash}}{52}
\entry{\code {help}}{62}
\entry{\code {history}}{159}
\entry{\code {history}}{160}
\initial {J}
\entry{\code {jobs}}{118}
\entry{\code {jobs}}{119}
\initial {K}
\entry{\code {kill}}{119}
\entry{\code {kill}}{120}
\initial {L}
\entry{\code {let}}{62}
\entry{\code {let}}{63}
\entry{\code {local}}{63}
\entry{\code {logout}}{63}
\initial {M}
\entry{\code {mapfile}}{63}
\initial {P}
\entry{\code {popd}}{105}
\entry{\code {popd}}{106}
\entry{\code {printf}}{64}
\entry{\code {pushd}}{105}
\entry{\code {pushd}}{106}
\entry{\code {pwd}}{52}
\initial {R}
\entry{\code {read}}{65}
@@ -61,22 +61,22 @@
\entry{\code {readonly}}{53}
\entry{\code {return}}{53}
\initial {S}
\entry{\code {set}}{68}
\entry{\code {set}}{69}
\entry{\code {shift}}{53}
\entry{\code {shopt}}{73}
\entry{\code {source}}{66}
\entry{\code {suspend}}{120}
\entry{\code {source}}{67}
\entry{\code {suspend}}{121}
\initial {T}
\entry{\code {test}}{53}
\entry{\code {times}}{55}
\entry{\code {trap}}{55}
\entry{\code {true}}{56}
\entry{\code {type}}{66}
\entry{\code {type}}{67}
\entry{\code {typeset}}{67}
\initial {U}
\entry{\code {ulimit}}{67}
\entry{\code {umask}}{56}
\entry{\code {unalias}}{68}
\entry{\code {unalias}}{69}
\entry{\code {unset}}{57}
\initial {W}
\entry{\code {wait}}{119}
\entry{\code {wait}}{120}
+51 -51
View File
@@ -75,55 +75,55 @@
\entry{signal handling}{46}{signal handling}
\entry{shell script}{47}{shell script}
\entry{special builtin}{79}{special builtin}
\entry{login shell}{95}{login shell}
\entry{interactive shell}{95}{interactive shell}
\entry{startup files}{95}{startup files}
\entry{login shell}{96}{login shell}
\entry{interactive shell}{96}{interactive shell}
\entry{shell, interactive}{96}{shell, interactive}
\entry{expressions, conditional}{98}{expressions, conditional}
\entry{arithmetic, shell}{100}{arithmetic, shell}
\entry{shell arithmetic}{100}{shell arithmetic}
\entry{expressions, arithmetic}{100}{expressions, arithmetic}
\entry{evaluation, arithmetic}{100}{evaluation, arithmetic}
\entry{arithmetic evaluation}{100}{arithmetic evaluation}
\entry{arithmetic operators}{100}{arithmetic operators}
\entry{unary arithmetic operators}{100}{unary arithmetic operators}
\entry{binary arithmetic operators}{100}{binary arithmetic operators}
\entry{conditional arithmetic operator}{100}{conditional arithmetic operator}
\entry{bitwise arithmetic operators}{100}{bitwise arithmetic operators}
\entry{alias expansion}{102}{alias expansion}
\entry{arrays}{102}{arrays}
\entry{directory stack}{104}{directory stack}
\entry{prompting}{106}{prompting}
\entry{restricted shell}{108}{restricted shell}
\entry{POSIX description}{108}{POSIX description}
\entry{POSIX Mode}{109}{POSIX Mode}
\entry{Compatibility Level}{113}{Compatibility Level}
\entry{Compatibility Mode}{113}{Compatibility Mode}
\entry{job control}{117}{job control}
\entry{foreground}{117}{foreground}
\entry{background}{117}{background}
\entry{suspending jobs}{117}{suspending jobs}
\entry{Readline, how to use}{120}{Readline, how to use}
\entry{interaction, readline}{121}{interaction, readline}
\entry{notation, readline}{122}{notation, readline}
\entry{command editing}{122}{command editing}
\entry{editing command lines}{122}{editing command lines}
\entry{killing text}{123}{killing text}
\entry{yanking text}{123}{yanking text}
\entry{kill ring}{123}{kill ring}
\entry{initialization file, readline}{124}{initialization file, readline}
\entry{variables, readline}{125}{variables, readline}
\entry{programmable completion}{148}{programmable completion}
\entry{completion builtins}{151}{completion builtins}
\entry{History, how to use}{157}{History, how to use}
\entry{command history}{158}{command history}
\entry{history list}{158}{history list}
\entry{history builtins}{158}{history builtins}
\entry{history expansion}{160}{history expansion}
\entry{event designators}{161}{event designators}
\entry{history events}{161}{history events}
\entry{installation}{164}{installation}
\entry{configuration}{164}{configuration}
\entry{Bash installation}{164}{Bash installation}
\entry{Bash configuration}{164}{Bash configuration}
\entry{startup files}{96}{startup files}
\entry{interactive shell}{97}{interactive shell}
\entry{shell, interactive}{97}{shell, interactive}
\entry{expressions, conditional}{99}{expressions, conditional}
\entry{arithmetic, shell}{101}{arithmetic, shell}
\entry{shell arithmetic}{101}{shell arithmetic}
\entry{expressions, arithmetic}{101}{expressions, arithmetic}
\entry{evaluation, arithmetic}{101}{evaluation, arithmetic}
\entry{arithmetic evaluation}{101}{arithmetic evaluation}
\entry{arithmetic operators}{101}{arithmetic operators}
\entry{unary arithmetic operators}{101}{unary arithmetic operators}
\entry{binary arithmetic operators}{101}{binary arithmetic operators}
\entry{conditional arithmetic operator}{101}{conditional arithmetic operator}
\entry{bitwise arithmetic operators}{101}{bitwise arithmetic operators}
\entry{alias expansion}{103}{alias expansion}
\entry{arrays}{103}{arrays}
\entry{directory stack}{105}{directory stack}
\entry{prompting}{107}{prompting}
\entry{restricted shell}{109}{restricted shell}
\entry{POSIX description}{109}{POSIX description}
\entry{POSIX Mode}{110}{POSIX Mode}
\entry{Compatibility Level}{114}{Compatibility Level}
\entry{Compatibility Mode}{114}{Compatibility Mode}
\entry{job control}{118}{job control}
\entry{foreground}{118}{foreground}
\entry{background}{118}{background}
\entry{suspending jobs}{118}{suspending jobs}
\entry{Readline, how to use}{121}{Readline, how to use}
\entry{interaction, readline}{122}{interaction, readline}
\entry{notation, readline}{123}{notation, readline}
\entry{command editing}{123}{command editing}
\entry{editing command lines}{123}{editing command lines}
\entry{killing text}{124}{killing text}
\entry{yanking text}{124}{yanking text}
\entry{kill ring}{124}{kill ring}
\entry{initialization file, readline}{125}{initialization file, readline}
\entry{variables, readline}{126}{variables, readline}
\entry{programmable completion}{149}{programmable completion}
\entry{completion builtins}{152}{completion builtins}
\entry{History, how to use}{158}{History, how to use}
\entry{command history}{159}{command history}
\entry{history list}{159}{history list}
\entry{history builtins}{159}{history builtins}
\entry{history expansion}{161}{history expansion}
\entry{event designators}{162}{event designators}
\entry{history events}{162}{history events}
\entry{installation}{165}{installation}
\entry{configuration}{165}{configuration}
\entry{Bash installation}{165}{Bash installation}
\entry{Bash configuration}{165}{Bash configuration}
+51 -51
View File
@@ -1,24 +1,24 @@
\initial {A}
\entry{alias expansion}{102}
\entry{arithmetic evaluation}{100}
\entry{alias expansion}{103}
\entry{arithmetic evaluation}{101}
\entry{arithmetic expansion}{35}
\entry{arithmetic operators}{100}
\entry{arithmetic, shell}{100}
\entry{arrays}{102}
\entry{arithmetic operators}{101}
\entry{arithmetic, shell}{101}
\entry{arrays}{103}
\initial {B}
\entry{background}{117}
\entry{Bash configuration}{164}
\entry{Bash installation}{164}
\entry{binary arithmetic operators}{100}
\entry{bitwise arithmetic operators}{100}
\entry{background}{118}
\entry{Bash configuration}{165}
\entry{Bash installation}{165}
\entry{binary arithmetic operators}{101}
\entry{bitwise arithmetic operators}{101}
\entry{Bourne shell}{5}
\entry{brace expansion}{24}
\entry{builtin}{3}
\initial {C}
\entry{command editing}{122}
\entry{command editing}{123}
\entry{command execution}{43}
\entry{command expansion}{43}
\entry{command history}{158}
\entry{command history}{159}
\entry{command search}{43}
\entry{command substitution}{34}
\entry{command timing}{10}
@@ -31,20 +31,20 @@
\entry{commands, shell}{9}
\entry{commands, simple}{9}
\entry{comments, shell}{9}
\entry{Compatibility Level}{113}
\entry{Compatibility Mode}{113}
\entry{completion builtins}{151}
\entry{conditional arithmetic operator}{100}
\entry{configuration}{164}
\entry{Compatibility Level}{114}
\entry{Compatibility Mode}{114}
\entry{completion builtins}{152}
\entry{conditional arithmetic operator}{101}
\entry{configuration}{165}
\entry{control operator}{3}
\entry{coprocess}{18}
\initial {D}
\entry{directory stack}{104}
\entry{directory stack}{105}
\initial {E}
\entry{editing command lines}{122}
\entry{editing command lines}{123}
\entry{environment}{45}
\entry{evaluation, arithmetic}{100}
\entry{event designators}{161}
\entry{evaluation, arithmetic}{101}
\entry{event designators}{162}
\entry{execution environment}{44}
\entry{exit status}{3, 45}
\entry{expansion}{24}
@@ -54,44 +54,44 @@
\entry{expansion, parameter}{26}
\entry{expansion, pathname}{36}
\entry{expansion, tilde}{25}
\entry{expressions, arithmetic}{100}
\entry{expressions, conditional}{98}
\entry{expressions, arithmetic}{101}
\entry{expressions, conditional}{99}
\initial {F}
\entry{field}{3}
\entry{filename}{3}
\entry{filename expansion}{36}
\entry{foreground}{117}
\entry{foreground}{118}
\entry{functions, shell}{19}
\initial {H}
\entry{history builtins}{158}
\entry{history events}{161}
\entry{history expansion}{160}
\entry{history list}{158}
\entry{History, how to use}{157}
\entry{history builtins}{159}
\entry{history events}{162}
\entry{history expansion}{161}
\entry{history list}{159}
\entry{History, how to use}{158}
\initial {I}
\entry{identifier}{3}
\entry{initialization file, readline}{124}
\entry{installation}{164}
\entry{interaction, readline}{121}
\entry{interactive shell}{95, 96}
\entry{initialization file, readline}{125}
\entry{installation}{165}
\entry{interaction, readline}{122}
\entry{interactive shell}{96, 97}
\entry{internationalization}{7}
\entry{internationalized scripts}{7}
\initial {J}
\entry{job}{3}
\entry{job control}{3, 117}
\entry{job control}{3, 118}
\initial {K}
\entry{kill ring}{123}
\entry{killing text}{123}
\entry{kill ring}{124}
\entry{killing text}{124}
\initial {L}
\entry{localization}{7}
\entry{login shell}{95}
\entry{login shell}{96}
\initial {M}
\entry{matching, pattern}{37}
\entry{metacharacter}{3}
\initial {N}
\entry{name}{3}
\entry{native languages}{7}
\entry{notation, readline}{122}
\entry{notation, readline}{123}
\initial {O}
\entry{operator, shell}{3}
\initial {P}
@@ -103,46 +103,46 @@
\entry{pattern matching}{37}
\entry{pipeline}{10}
\entry{POSIX}{3}
\entry{POSIX description}{108}
\entry{POSIX Mode}{109}
\entry{POSIX description}{109}
\entry{POSIX Mode}{110}
\entry{process group}{3}
\entry{process group ID}{3}
\entry{process substitution}{35}
\entry{programmable completion}{148}
\entry{prompting}{106}
\entry{programmable completion}{149}
\entry{prompting}{107}
\initial {Q}
\entry{quoting}{6}
\entry{quoting, ANSI}{6}
\initial {R}
\entry{Readline, how to use}{120}
\entry{Readline, how to use}{121}
\entry{redirection}{39}
\entry{reserved word}{3}
\entry{reserved words}{9}
\entry{restricted shell}{108}
\entry{restricted shell}{109}
\entry{return status}{4}
\initial {S}
\entry{shell arithmetic}{100}
\entry{shell arithmetic}{101}
\entry{shell function}{19}
\entry{shell script}{47}
\entry{shell variable}{21}
\entry{shell, interactive}{96}
\entry{shell, interactive}{97}
\entry{signal}{4}
\entry{signal handling}{46}
\entry{special builtin}{4, 79}
\entry{startup files}{95}
\entry{startup files}{96}
\entry{string translations}{7}
\entry{suspending jobs}{117}
\entry{suspending jobs}{118}
\initial {T}
\entry{tilde expansion}{25}
\entry{token}{4}
\entry{translation, native languages}{7}
\initial {U}
\entry{unary arithmetic operators}{100}
\entry{unary arithmetic operators}{101}
\initial {V}
\entry{variable, shell}{21}
\entry{variables, readline}{125}
\entry{variables, readline}{126}
\initial {W}
\entry{word}{4}
\entry{word splitting}{36}
\initial {Y}
\entry{yanking text}{123}
\entry{yanking text}{124}
BIN
View File
Binary file not shown.
+114 -114
View File
@@ -1,114 +1,114 @@
\entry{beginning-of-line (C-a)}{138}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{138}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{138}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{138}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{138}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{138}{\code {backward-word (M-b)}}
\entry{shell-forward-word (M-C-f)}{138}{\code {shell-forward-word (M-C-f)}}
\entry{shell-backward-word (M-C-b)}{138}{\code {shell-backward-word (M-C-b)}}
\entry{previous-screen-line ()}{138}{\code {previous-screen-line ()}}
\entry{next-screen-line ()}{139}{\code {next-screen-line ()}}
\entry{clear-display (M-C-l)}{139}{\code {clear-display (M-C-l)}}
\entry{clear-screen (C-l)}{139}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{139}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{139}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{139}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{139}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{139}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{139}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{139}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{139}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{139}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{140}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{140}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{140}{\code {history-search-backward ()}}
\entry{history-substring-search-forward ()}{140}{\code {history-substring-search-forward ()}}
\entry{history-substring-search-backward ()}{140}{\code {history-substring-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{140}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{140}{\code {yank-last-arg (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{140}{\code {operate-and-get-next (C-o)}}
\entry{fetch-history ()}{141}{\code {fetch-history ()}}
\entry{end-of-file (usually C-d)}{141}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{141}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{141}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{141}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{141}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{141}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{141}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{141}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{142}{\code {transpose-words (M-t)}}
\entry{shell-transpose-words (M-C-t)}{142}{\code {shell-transpose-words (M-C-t)}}
\entry{upcase-word (M-u)}{142}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{142}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{142}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{142}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{142}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{142}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{142}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{142}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{143}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{143}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word (M-C-d)}{143}{\code {shell-kill-word (M-C-d)}}
\entry{shell-backward-kill-word ()}{143}{\code {shell-backward-kill-word ()}}
\entry{unix-word-rubout (C-w)}{143}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{143}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{143}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{143}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{143}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{143}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{143}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{143}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{143}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{143}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{144}{\code {universal-argument ()}}
\entry{complete (TAB)}{144}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{144}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{144}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{144}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{144}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{144}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{144}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{145}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{145}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{145}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{145}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{145}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{145}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{145}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{145}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{145}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{145}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{145}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{145}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{145}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{145}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{146}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{146}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{146}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{146}{\code {abort (C-g)}}
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{146}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{146}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{146}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{146}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{146}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{146}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{146}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{146}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{146}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{146}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{147}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{147}{\code {dump-functions ()}}
\entry{dump-variables ()}{147}{\code {dump-variables ()}}
\entry{dump-macros ()}{147}{\code {dump-macros ()}}
\entry{spell-correct-word (C-x s)}{147}{\code {spell-correct-word (C-x s)}}
\entry{glob-complete-word (M-g)}{147}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{147}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{147}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{148}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{148}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{148}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{148}{\code {magic-space ()}}
\entry{alias-expand-line ()}{148}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{148}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{148}{\code {insert-last-argument (M-. or M-_)}}
\entry{edit-and-execute-command (C-x C-e)}{148}{\code {edit-and-execute-command (C-x C-e)}}
\entry{beginning-of-line (C-a)}{139}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{139}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{139}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{139}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{139}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{139}{\code {backward-word (M-b)}}
\entry{shell-forward-word (M-C-f)}{139}{\code {shell-forward-word (M-C-f)}}
\entry{shell-backward-word (M-C-b)}{139}{\code {shell-backward-word (M-C-b)}}
\entry{previous-screen-line ()}{139}{\code {previous-screen-line ()}}
\entry{next-screen-line ()}{140}{\code {next-screen-line ()}}
\entry{clear-display (M-C-l)}{140}{\code {clear-display (M-C-l)}}
\entry{clear-screen (C-l)}{140}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{140}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{140}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{140}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{140}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{140}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{140}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{140}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{140}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{140}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{141}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{141}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{141}{\code {history-search-backward ()}}
\entry{history-substring-search-forward ()}{141}{\code {history-substring-search-forward ()}}
\entry{history-substring-search-backward ()}{141}{\code {history-substring-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{141}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{141}{\code {yank-last-arg (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{141}{\code {operate-and-get-next (C-o)}}
\entry{fetch-history ()}{142}{\code {fetch-history ()}}
\entry{end-of-file (usually C-d)}{142}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{142}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{142}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{142}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{142}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{142}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{142}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{142}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{143}{\code {transpose-words (M-t)}}
\entry{shell-transpose-words (M-C-t)}{143}{\code {shell-transpose-words (M-C-t)}}
\entry{upcase-word (M-u)}{143}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{143}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{143}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{143}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{143}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{143}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{143}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{143}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{144}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{144}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word (M-C-d)}{144}{\code {shell-kill-word (M-C-d)}}
\entry{shell-backward-kill-word ()}{144}{\code {shell-backward-kill-word ()}}
\entry{unix-word-rubout (C-w)}{144}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{144}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{144}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{144}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{144}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{144}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{144}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{144}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{144}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{144}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{145}{\code {universal-argument ()}}
\entry{complete (TAB)}{145}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{145}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{145}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{145}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{145}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{145}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{145}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{146}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{146}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{146}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{146}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{146}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{146}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{146}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{146}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{146}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{146}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{146}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{146}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{146}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{146}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{147}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{147}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{147}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{147}{\code {abort (C-g)}}
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{147}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{147}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{147}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{147}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{147}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{147}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{147}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{147}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{147}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{147}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{148}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{148}{\code {dump-functions ()}}
\entry{dump-variables ()}{148}{\code {dump-variables ()}}
\entry{dump-macros ()}{148}{\code {dump-macros ()}}
\entry{spell-correct-word (C-x s)}{148}{\code {spell-correct-word (C-x s)}}
\entry{glob-complete-word (M-g)}{148}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{148}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{148}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{149}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{149}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{149}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{149}{\code {magic-space ()}}
\entry{alias-expand-line ()}{149}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{149}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{149}{\code {insert-last-argument (M-. or M-_)}}
\entry{edit-and-execute-command (C-x C-e)}{149}{\code {edit-and-execute-command (C-x C-e)}}
+114 -114
View File
@@ -1,134 +1,134 @@
\initial {A}
\entry{\code {abort (C-g)}}{146}
\entry{\code {accept-line (Newline or Return)}}{139}
\entry{\code {alias-expand-line ()}}{148}
\entry{\code {abort (C-g)}}{147}
\entry{\code {accept-line (Newline or Return)}}{140}
\entry{\code {alias-expand-line ()}}{149}
\initial {B}
\entry{\code {backward-char (C-b)}}{138}
\entry{\code {backward-delete-char (Rubout)}}{141}
\entry{\code {backward-kill-line (C-x Rubout)}}{142}
\entry{\code {backward-kill-word (M-\key {DEL})}}{143}
\entry{\code {backward-word (M-b)}}{138}
\entry{\code {beginning-of-history (M-<)}}{139}
\entry{\code {beginning-of-line (C-a)}}{138}
\entry{\code {bracketed-paste-begin ()}}{141}
\entry{\code {backward-char (C-b)}}{139}
\entry{\code {backward-delete-char (Rubout)}}{142}
\entry{\code {backward-kill-line (C-x Rubout)}}{143}
\entry{\code {backward-kill-word (M-\key {DEL})}}{144}
\entry{\code {backward-word (M-b)}}{139}
\entry{\code {beginning-of-history (M-<)}}{140}
\entry{\code {beginning-of-line (C-a)}}{139}
\entry{\code {bracketed-paste-begin ()}}{142}
\initial {C}
\entry{\code {call-last-kbd-macro (C-x e)}}{146}
\entry{\code {capitalize-word (M-c)}}{142}
\entry{\code {character-search (C-])}}{146}
\entry{\code {character-search-backward (M-C-])}}{146}
\entry{\code {clear-display (M-C-l)}}{139}
\entry{\code {clear-screen (C-l)}}{139}
\entry{\code {complete (\key {TAB})}}{144}
\entry{\code {complete-command (M-!)}}{145}
\entry{\code {complete-filename (M-/)}}{144}
\entry{\code {complete-hostname (M-@)}}{145}
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{145}
\entry{\code {complete-username (M-~)}}{145}
\entry{\code {complete-variable (M-$)}}{145}
\entry{\code {copy-backward-word ()}}{143}
\entry{\code {copy-forward-word ()}}{143}
\entry{\code {copy-region-as-kill ()}}{143}
\entry{\code {call-last-kbd-macro (C-x e)}}{147}
\entry{\code {capitalize-word (M-c)}}{143}
\entry{\code {character-search (C-])}}{147}
\entry{\code {character-search-backward (M-C-])}}{147}
\entry{\code {clear-display (M-C-l)}}{140}
\entry{\code {clear-screen (C-l)}}{140}
\entry{\code {complete (\key {TAB})}}{145}
\entry{\code {complete-command (M-!)}}{146}
\entry{\code {complete-filename (M-/)}}{145}
\entry{\code {complete-hostname (M-@)}}{146}
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{146}
\entry{\code {complete-username (M-~)}}{146}
\entry{\code {complete-variable (M-$)}}{146}
\entry{\code {copy-backward-word ()}}{144}
\entry{\code {copy-forward-word ()}}{144}
\entry{\code {copy-region-as-kill ()}}{144}
\initial {D}
\entry{\code {dabbrev-expand ()}}{145}
\entry{\code {delete-char (C-d)}}{141}
\entry{\code {delete-char-or-list ()}}{144}
\entry{\code {delete-horizontal-space ()}}{143}
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{143}
\entry{\code {display-shell-version (C-x C-v)}}{148}
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{146}
\entry{\code {downcase-word (M-l)}}{142}
\entry{\code {dump-functions ()}}{147}
\entry{\code {dump-macros ()}}{147}
\entry{\code {dump-variables ()}}{147}
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{145}
\entry{\code {dabbrev-expand ()}}{146}
\entry{\code {delete-char (C-d)}}{142}
\entry{\code {delete-char-or-list ()}}{145}
\entry{\code {delete-horizontal-space ()}}{144}
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{144}
\entry{\code {display-shell-version (C-x C-v)}}{149}
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{147}
\entry{\code {downcase-word (M-l)}}{143}
\entry{\code {dump-functions ()}}{148}
\entry{\code {dump-macros ()}}{148}
\entry{\code {dump-variables ()}}{148}
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{146}
\initial {E}
\entry{\code {edit-and-execute-command (C-x C-e)}}{148}
\entry{\code {end-kbd-macro (C-x ))}}{145}
\entry{\code {\i {end-of-file} (usually C-d)}}{141}
\entry{\code {end-of-history (M->)}}{139}
\entry{\code {end-of-line (C-e)}}{138}
\entry{\code {exchange-point-and-mark (C-x C-x)}}{146}
\entry{\code {edit-and-execute-command (C-x C-e)}}{149}
\entry{\code {end-kbd-macro (C-x ))}}{146}
\entry{\code {\i {end-of-file} (usually C-d)}}{142}
\entry{\code {end-of-history (M->)}}{140}
\entry{\code {end-of-line (C-e)}}{139}
\entry{\code {exchange-point-and-mark (C-x C-x)}}{147}
\initial {F}
\entry{\code {fetch-history ()}}{141}
\entry{\code {forward-backward-delete-char ()}}{141}
\entry{\code {forward-char (C-f)}}{138}
\entry{\code {forward-search-history (C-s)}}{139}
\entry{\code {forward-word (M-f)}}{138}
\entry{\code {fetch-history ()}}{142}
\entry{\code {forward-backward-delete-char ()}}{142}
\entry{\code {forward-char (C-f)}}{139}
\entry{\code {forward-search-history (C-s)}}{140}
\entry{\code {forward-word (M-f)}}{139}
\initial {G}
\entry{\code {glob-complete-word (M-g)}}{147}
\entry{\code {glob-expand-word (C-x *)}}{147}
\entry{\code {glob-list-expansions (C-x g)}}{147}
\entry{\code {glob-complete-word (M-g)}}{148}
\entry{\code {glob-expand-word (C-x *)}}{148}
\entry{\code {glob-list-expansions (C-x g)}}{148}
\initial {H}
\entry{\code {history-and-alias-expand-line ()}}{148}
\entry{\code {history-expand-line (M-^)}}{148}
\entry{\code {history-search-backward ()}}{140}
\entry{\code {history-search-forward ()}}{140}
\entry{\code {history-substring-search-backward ()}}{140}
\entry{\code {history-substring-search-forward ()}}{140}
\entry{\code {history-and-alias-expand-line ()}}{149}
\entry{\code {history-expand-line (M-^)}}{149}
\entry{\code {history-search-backward ()}}{141}
\entry{\code {history-search-forward ()}}{141}
\entry{\code {history-substring-search-backward ()}}{141}
\entry{\code {history-substring-search-forward ()}}{141}
\initial {I}
\entry{\code {insert-comment (M-#)}}{147}
\entry{\code {insert-completions (M-*)}}{144}
\entry{\code {insert-last-argument (M-. or M-_)}}{148}
\entry{\code {insert-comment (M-#)}}{148}
\entry{\code {insert-completions (M-*)}}{145}
\entry{\code {insert-last-argument (M-. or M-_)}}{149}
\initial {K}
\entry{\code {kill-line (C-k)}}{142}
\entry{\code {kill-region ()}}{143}
\entry{\code {kill-whole-line ()}}{142}
\entry{\code {kill-word (M-d)}}{143}
\entry{\code {kill-line (C-k)}}{143}
\entry{\code {kill-region ()}}{144}
\entry{\code {kill-whole-line ()}}{143}
\entry{\code {kill-word (M-d)}}{144}
\initial {M}
\entry{\code {magic-space ()}}{148}
\entry{\code {menu-complete ()}}{144}
\entry{\code {menu-complete-backward ()}}{144}
\entry{\code {magic-space ()}}{149}
\entry{\code {menu-complete ()}}{145}
\entry{\code {menu-complete-backward ()}}{145}
\initial {N}
\entry{\code {next-history (C-n)}}{139}
\entry{\code {next-screen-line ()}}{139}
\entry{\code {non-incremental-forward-search-history (M-n)}}{140}
\entry{\code {non-incremental-reverse-search-history (M-p)}}{139}
\entry{\code {next-history (C-n)}}{140}
\entry{\code {next-screen-line ()}}{140}
\entry{\code {non-incremental-forward-search-history (M-n)}}{141}
\entry{\code {non-incremental-reverse-search-history (M-p)}}{140}
\initial {O}
\entry{\code {operate-and-get-next (C-o)}}{140}
\entry{\code {overwrite-mode ()}}{142}
\entry{\code {operate-and-get-next (C-o)}}{141}
\entry{\code {overwrite-mode ()}}{143}
\initial {P}
\entry{\code {possible-command-completions (C-x !)}}{145}
\entry{\code {possible-completions (M-?)}}{144}
\entry{\code {possible-filename-completions (C-x /)}}{145}
\entry{\code {possible-hostname-completions (C-x @)}}{145}
\entry{\code {possible-username-completions (C-x ~)}}{145}
\entry{\code {possible-variable-completions (C-x $)}}{145}
\entry{\code {prefix-meta (\key {ESC})}}{146}
\entry{\code {previous-history (C-p)}}{139}
\entry{\code {previous-screen-line ()}}{138}
\entry{\code {print-last-kbd-macro ()}}{146}
\entry{\code {possible-command-completions (C-x !)}}{146}
\entry{\code {possible-completions (M-?)}}{145}
\entry{\code {possible-filename-completions (C-x /)}}{146}
\entry{\code {possible-hostname-completions (C-x @)}}{146}
\entry{\code {possible-username-completions (C-x ~)}}{146}
\entry{\code {possible-variable-completions (C-x $)}}{146}
\entry{\code {prefix-meta (\key {ESC})}}{147}
\entry{\code {previous-history (C-p)}}{140}
\entry{\code {previous-screen-line ()}}{139}
\entry{\code {print-last-kbd-macro ()}}{147}
\initial {Q}
\entry{\code {quoted-insert (C-q or C-v)}}{141}
\entry{\code {quoted-insert (C-q or C-v)}}{142}
\initial {R}
\entry{\code {re-read-init-file (C-x C-r)}}{146}
\entry{\code {redraw-current-line ()}}{139}
\entry{\code {reverse-search-history (C-r)}}{139}
\entry{\code {revert-line (M-r)}}{146}
\entry{\code {re-read-init-file (C-x C-r)}}{147}
\entry{\code {redraw-current-line ()}}{140}
\entry{\code {reverse-search-history (C-r)}}{140}
\entry{\code {revert-line (M-r)}}{147}
\initial {S}
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{141}
\entry{\code {set-mark (C-@)}}{146}
\entry{\code {shell-backward-kill-word ()}}{143}
\entry{\code {shell-backward-word (M-C-b)}}{138}
\entry{\code {shell-expand-line (M-C-e)}}{148}
\entry{\code {shell-forward-word (M-C-f)}}{138}
\entry{\code {shell-kill-word (M-C-d)}}{143}
\entry{\code {shell-transpose-words (M-C-t)}}{142}
\entry{\code {skip-csi-sequence ()}}{146}
\entry{\code {spell-correct-word (C-x s)}}{147}
\entry{\code {start-kbd-macro (C-x ()}}{145}
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{142}
\entry{\code {set-mark (C-@)}}{147}
\entry{\code {shell-backward-kill-word ()}}{144}
\entry{\code {shell-backward-word (M-C-b)}}{139}
\entry{\code {shell-expand-line (M-C-e)}}{149}
\entry{\code {shell-forward-word (M-C-f)}}{139}
\entry{\code {shell-kill-word (M-C-d)}}{144}
\entry{\code {shell-transpose-words (M-C-t)}}{143}
\entry{\code {skip-csi-sequence ()}}{147}
\entry{\code {spell-correct-word (C-x s)}}{148}
\entry{\code {start-kbd-macro (C-x ()}}{146}
\initial {T}
\entry{\code {tilde-expand (M-&)}}{146}
\entry{\code {transpose-chars (C-t)}}{141}
\entry{\code {transpose-words (M-t)}}{142}
\entry{\code {tilde-expand (M-&)}}{147}
\entry{\code {transpose-chars (C-t)}}{142}
\entry{\code {transpose-words (M-t)}}{143}
\initial {U}
\entry{\code {undo (C-_ or C-x C-u)}}{146}
\entry{\code {universal-argument ()}}{144}
\entry{\code {unix-filename-rubout ()}}{143}
\entry{\code {unix-line-discard (C-u)}}{142}
\entry{\code {unix-word-rubout (C-w)}}{143}
\entry{\code {upcase-word (M-u)}}{142}
\entry{\code {undo (C-_ or C-x C-u)}}{147}
\entry{\code {universal-argument ()}}{145}
\entry{\code {unix-filename-rubout ()}}{144}
\entry{\code {unix-line-discard (C-u)}}{143}
\entry{\code {unix-word-rubout (C-w)}}{144}
\entry{\code {upcase-word (M-u)}}{143}
\initial {Y}
\entry{\code {yank (C-y)}}{143}
\entry{\code {yank-last-arg (M-. or M-_)}}{140}
\entry{\code {yank-nth-arg (M-C-y)}}{140}
\entry{\code {yank-pop (M-y)}}{143}
\entry{\code {yank (C-y)}}{144}
\entry{\code {yank-last-arg (M-. or M-_)}}{141}
\entry{\code {yank-nth-arg (M-C-y)}}{141}
\entry{\code {yank-pop (M-y)}}{144}
+75 -28
View File
@@ -4,9 +4,9 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This text is a brief description of the features that are present in
the Bash shell (version 5.3, 19 July 2023).
the Bash shell (version 5.3, 15 August 2023).
This is Edition 5.3, last updated 19 July 2023,
This is Edition 5.3, last updated 15 August 2023,
of The GNU Bash Reference Manual,
for Bash, Version 5.3.
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<span id="Bash-Features-1"></span><h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 5.3, 19 July 2023).
the Bash shell (version 5.3, 15 August 2023).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 5.3, last updated 19 July 2023,
<p>This is Edition 5.3, last updated 15 August 2023,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.3.
</p>
@@ -2578,6 +2578,14 @@ is not null; if the colon is omitted, the operator tests only for existence.
<pre class="example">$ v=123
$ echo ${v-unset}
123
$ echo ${v:-unset-or-null}
123
$ unset v
$ echo ${v-unset}
unset
$ v=
$ echo ${v:-unset-or-null}
unset-or-null
</pre></div>
</dd>
@@ -5003,7 +5011,7 @@ Aliases are described in <a href="#Aliases">Aliases</a>.
<pre class="example">bind [-m <var>keymap</var>] [-lpsvPSVX]
bind [-m <var>keymap</var>] [-q <var>function</var>] [-u <var>function</var>] [-r <var>keyseq</var>]
bind [-m <var>keymap</var>] -f <var>filename</var>
bind [-m <var>keymap</var>] -x <var>keyseq:shell-command</var>
bind [-m <var>keymap</var>] -x <var>keyseq[: ]shell-command</var>
bind [-m <var>keymap</var>] <var>keyseq:function-name</var>
bind [-m <var>keymap</var>] <var>keyseq:readline-command</var>
bind <var>readline-command-line</var>
@@ -5088,6 +5096,15 @@ initialization file.
<dt><span><code>-x <var>keyseq:shell-command</var></code></span></dt>
<dd><p>Cause <var>shell-command</var> to be executed whenever <var>keyseq</var> is
entered.
The separator between <var>keyseq</var> and <var>shell-command</var> is either
whitespace or a colon optionally followed by whitespace.
If the separator is whitespace, <var>shell-command</var>
must be enclosed in double quotes and Readline expands any of its
special backslash-escapes in <var>shell-command</var> before saving it.
If the separator is a colon, any enclosing double quotes are optional, and
Readline does not expand the command string before saving it.
Since the entire key binding expression must be a single argument, it
should be enclosed in quotes.
When <var>shell-command</var> is executed, the shell sets the
<code>READLINE_LINE</code> variable to the contents of the Readline line
buffer and the <code>READLINE_POINT</code> and <code>READLINE_MARK</code> variables
@@ -5309,8 +5326,9 @@ backslash-escaped characters is enabled.
The <samp>-E</samp> option disables the interpretation of these escape characters,
even on systems where they are interpreted by default.
The <code>xpg_echo</code> shell option may be used to
dynamically determine whether or not <code>echo</code> expands these
escape characters by default.
dynamically determine whether or not <code>echo</code>
interprets any options and
expands these escape characters by default.
<code>echo</code> does not interpret <samp>--</samp> to mean the end of options.
</p>
<p><code>echo</code> interprets the following escape sequences:
@@ -5617,7 +5635,7 @@ occurs.
</dd>
<dt id='index-read'><span><code>read</code><a href='#index-read' class='copiable-anchor'> &para;</a></span></dt>
<dd><div class="example">
<pre class="example">read [-ers] [-a <var>aname</var>] [-d <var>delim</var>] [-i <var>text</var>] [-n <var>nchars</var>]
<pre class="example">read [-Eers] [-a <var>aname</var>] [-d <var>delim</var>] [-i <var>text</var>] [-n <var>nchars</var>]
[-N <var>nchars</var>] [-p <var>prompt</var>] [-t <var>timeout</var>] [-u <var>fd</var>] [<var>name</var> &hellip;]
</pre></div>
@@ -5661,6 +5679,13 @@ Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses Readline&rsquo;s default filename completion.
</p>
</dd>
<dt><span><code>-E</code></span></dt>
<dd><p>Readline (see <a href="#Command-Line-Editing">Command Line Editing</a>) is used to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses Bash&rsquo;s default completion, including
programmable completion.
</p>
</dd>
<dt><span><code>-i <var>text</var></code></span></dt>
<dd><p>If Readline is being used to read the line, <var>text</var> is placed into
the editing buffer before editing begins.
@@ -6226,7 +6251,7 @@ and group ids to be set to the real user and group ids.
</p>
</dd>
<dt><span><code>-r</code></span></dt>
<dd><p>Enable restricted shell mode.
<dd><p>Enable restricted shell mode (see <a href="#The-Restricted-Shell">The Restricted Shell</a>).
This option cannot be unset once it has been set.
</p>
</dd>
@@ -6784,6 +6809,9 @@ leaving them open when the command completes.
<dt><span><code>xpg_echo</code></span></dt>
<dd><p>If set, the <code>echo</code> builtin expands backslash-escape sequences
by default.
If the <code>posix</code> shell option (see <a href="#The-Set-Builtin">The Set Builtin</a>) is also enabled,
<code>echo</code> does not
interpret any options.
</p>
</dd>
</dl>
@@ -7490,8 +7518,10 @@ not tested, and are added to the history regardless of the value of
</p>
</dd>
<dt id='index-HISTFILE'><span><code>HISTFILE</code><a href='#index-HISTFILE' class='copiable-anchor'> &para;</a></span></dt>
<dd><p>The name of the file to which the command history is saved. The
default value is <samp>~/.bash_history</samp>.
<dd><p>The name of the file to which the command history is saved.
Bash assigns a default value of <samp>~/.bash_history</samp>.
If <code>HISTFILE</code> is unset or null,
the command history is not saved when a shell exits.
</p>
</dd>
<dt id='index-HISTFILESIZE'><span><code>HISTFILESIZE</code><a href='#index-HISTFILESIZE' class='copiable-anchor'> &para;</a></span></dt>
@@ -8013,7 +8043,8 @@ standard. See <a href="#Bash-POSIX-Mode">Bash and POSIX</a>, for a description
</p>
</dd>
<dt><span><code>--restricted</code></span></dt>
<dd><p>Make the shell a restricted shell (see <a href="#The-Restricted-Shell">The Restricted Shell</a>).
<dd><p>Equivalent to <samp>-r</samp>.
Make the shell a restricted shell (see <a href="#The-Restricted-Shell">The Restricted Shell</a>).
</p>
</dd>
<dt><span><code>--verbose</code></span></dt>
@@ -8947,7 +8978,7 @@ and an index of -1 refers to the last element.
<p>Referencing an array variable without a subscript is equivalent to
referencing with a subscript of 0.
Any reference to a variable using a valid subscript is legal, and
<code>bash</code> will create an array if necessary.
Bash will create an array if necessary.
</p>
<p>An array variable is considered set if a subscript has been assigned a
value. The null string is a valid value.
@@ -9468,7 +9499,7 @@ the normal Bash files.
name, rather than on all assignment statements on the line.
</li><li> The default history file is <samp>~/.sh_history</samp> (this is the
default value of <code>$HISTFILE</code>).
default value the shell assigns to <code>$HISTFILE</code>).
</li><li> Redirection operators do not perform filename expansion on the word
in the redirection unless the shell is interactive.
@@ -9690,7 +9721,7 @@ processing the &lsquo;<samp>&lt;</samp>&rsquo; and &lsquo;<samp>&gt;</samp>&rsqu
</li><li> The <code>test</code> builtin&rsquo;s <samp>-t</samp> unary primary requires an argument.
Historical versions of <code>test</code> made the argument optional in certain
cases, and bash attempts to accommodate those for backwards compatibility.
cases, and Bash attempts to accommodate those for backwards compatibility.
</li><li> Command substitutions don&rsquo;t set the &lsquo;<samp>?</samp>&rsquo; special parameter. The exit
status of a simple command without a command word is still the exit status
@@ -13074,8 +13105,8 @@ named by <code>$HISTFILE</code>.
If the <code>histappend</code> shell option is set (see <a href="#Bash-Builtins">Bash Builtin Commands</a>),
the lines are appended to the history file,
otherwise the history file is overwritten.
If <code>HISTFILE</code>
is unset, or if the history file is unwritable, the history is not saved.
If <code>HISTFILE</code> is unset or null,
or if the history file is unwritable, the history is not saved.
After saving the history, the history file is truncated
to contain no more than <code>$HISTFILESIZE</code> lines.
If <code>HISTFILESIZE</code> is unset, or set to null, a non-numeric value, or
@@ -13088,7 +13119,7 @@ When the history file is read, lines beginning with the history
comment character followed immediately by a digit are interpreted
as timestamps for the following history entry.
</p>
<p>The builtin command <code>fc</code> may be used to list or edit and re-execute
<p>The <code>fc</code> builtin command may be used to list or edit and re-execute
a portion of the history list.
The <code>history</code> builtin may be used to display or modify the history
list and manipulate the history file.
@@ -13097,8 +13128,9 @@ are available in each editing mode that provide access to the
history list (see <a href="#Commands-For-History">Commands For Manipulating The History</a>).
</p>
<p>The shell allows control over which commands are saved on the history
list. The <code>HISTCONTROL</code> and <code>HISTIGNORE</code>
variables may be set to cause the shell to save only a subset of the
list.
The <code>HISTCONTROL</code> and <code>HISTIGNORE</code>
variables are used to cause the shell to save only a subset of the
commands entered.
The <code>cmdhist</code>
shell option, if enabled, causes the shell to attempt to save each
@@ -13247,6 +13279,7 @@ the history list as a single entry.
when any of the <samp>-w</samp>, <samp>-r</samp>, <samp>-a</samp>, or <samp>-n</samp> options
is used, Bash uses <var>filename</var> as the history file.
If not, then the value of the <code>HISTFILE</code> variable is used.
If <code>HISTFILE</code> is unset or null, these options have no effect.
</p>
<p>The return value is 0 unless an invalid option is encountered, an
error occurs while reading or writing the history file, an invalid
@@ -13283,14 +13316,21 @@ expansion functions about quoting still in effect from previous lines.
<p>History expansion takes place in two parts. The first is to determine
which line from the history list should be used during substitution.
The second is to select portions of that line for inclusion into the
current one. The line selected from the history is called the
<em>event</em>, and the portions of that line that are acted upon are
called <em>words</em>. Various <em>modifiers</em> are available to manipulate
the selected words. The line is broken into words in the same fashion
current one.
</p>
<p>The line selected from the history is called the <em>event</em>,
and the portions of that line that are acted upon are called <em>words</em>.
The line is broken into words in the same fashion
that Bash does, so that several words
surrounded by quotes are considered one word.
History expansions are introduced by the appearance of the
The <em>event designator</em> selects the event, the optional
<em>word designator</em> selects words from the event, and
various optional <em>modifiers</em> are available to manipulate the
selected words.
</p>
<p>History expansions are introduced by the appearance of the
history expansion character, which is &lsquo;<samp>!</samp>&rsquo; by default.
History expansions may appear anywhere in the input, but do not nest.
</p>
<p>History expansion implements shell-like quoting conventions:
a backslash can be used to remove the special handling for the next character;
@@ -13349,13 +13389,17 @@ Next: <a href="#Word-Designators" accesskey="n" rel="next">Word Designators</a>,
history list.
Unless the reference is absolute, events are relative to the current
position in the history list.
The event designator consists of the portion of the word beginning
with the history expansion character, and ending with the word designator
if one is present, or the end of the word.
<span id="index-history-events"></span>
</p>
<dl compact="compact">
<dt><span><code>!</code></span></dt>
<dd><p>Start a history substitution, except when followed by a space, tab,
the end of the line, &lsquo;<samp>=</samp>&rsquo; or &lsquo;<samp>(</samp>&rsquo; (when the
<code>extglob</code> shell option is enabled using the <code>shopt</code> builtin).
the end of the line, &lsquo;<samp>=</samp>&rsquo;,
or the rest of the shell metacharacters defined above
(see <a href="#Definitions">Definitions</a>).
</p>
</dd>
<dt><span><code>!<var>n</var></code></span></dt>
@@ -13409,6 +13453,8 @@ Next: <a href="#Modifiers" accesskey="n" rel="next">Modifiers</a>, Previous: <a
<span id="Word-Designators-1"></span><h4 class="subsection">9.3.2 Word Designators</h4>
<p>Word designators are used to select desired words from the event.
They are optional; if the word designator isn&rsquo;t supplied, the history
expansion uses the entire event.
A &lsquo;<samp>:</samp>&rsquo; separates the event specification from the word designator. It
may be omitted if the word designator begins with a &lsquo;<samp>^</samp>&rsquo;, &lsquo;<samp>$</samp>&rsquo;,
&lsquo;<samp>*</samp>&rsquo;, &lsquo;<samp>-</samp>&rsquo;, or &lsquo;<samp>%</samp>&rsquo;. Words are numbered from the beginning
@@ -14527,7 +14573,8 @@ the <samp>-r</samp> option, and will use the <code>REPLY</code> variable as a
default if no non-option arguments are supplied.
The Bash <code>read</code> builtin
also accepts a prompt string with the <samp>-p</samp> option and will use
Readline to obtain the line when given the <samp>-e</samp> option.
Readline to obtain the line when given the <samp>-e</samp> or <samp>-E</samp>
options.
The <code>read</code> builtin also has additional options to control input:
the <samp>-s</samp> option will turn off echoing of input characters as
they are read, the <samp>-t</samp> option will allow <code>read</code> to time out
+176 -161
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.8 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 2 August 2023).
Bash shell (version 5.3, 15 August 2023).
This is Edition 5.3, last updated 2 August 2023, of 'The GNU Bash
This is Edition 5.3, last updated 15 August 2023, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.3.
Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 2 August 2023). The Bash home page is
Bash shell (version 5.3, 15 August 2023). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 2 August 2023, of 'The GNU Bash
This is Edition 5.3, last updated 15 August 2023, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -4264,7 +4264,7 @@ standard.
assignment error occurs.
'read'
read [-ers] [-a ANAME] [-d DELIM] [-i TEXT] [-n NCHARS]
read [-Eers] [-a ANAME] [-d DELIM] [-i TEXT] [-n NCHARS]
[-N NCHARS] [-p PROMPT] [-t TIMEOUT] [-u FD] [NAME ...]
One line is read from the standard input, or from the file
@@ -4300,6 +4300,12 @@ standard.
was not previously active) editing settings, but uses
Readline's default filename completion.
'-E'
Readline (*note Command Line Editing::) is used to obtain the
line. Readline uses the current (or default, if line editing
was not previously active) editing settings, but uses Bash's
default completion, including programmable completion.
'-i TEXT'
If Readline is being used to read the line, TEXT is placed
into the editing buffer before editing begins.
@@ -10415,13 +10421,19 @@ functions about quoting still in effect from previous lines.
History expansion takes place in two parts. The first is to
determine which line from the history list should be used during
substitution. The second is to select portions of that line for
inclusion into the current one. The line selected from the history is
called the "event", and the portions of that line that are acted upon
are called "words". Various "modifiers" are available to manipulate the
selected words. The line is broken into words in the same fashion that
Bash does, so that several words surrounded by quotes are considered one
word. History expansions are introduced by the appearance of the
history expansion character, which is '!' by default.
inclusion into the current one.
The line selected from the history is called the "event", and the
portions of that line that are acted upon are called "words". The line
is broken into words in the same fashion that Bash does, so that several
words surrounded by quotes are considered one word. The "event
designator" selects the event, the optional "word designator" selects
words from the event, and various optional "modifiers" are available to
manipulate the selected words.
History expansions are introduced by the appearance of the history
expansion character, which is '!' by default. History expansions may
appear anywhere in the input, but do not nest.
History expansion implements shell-like quoting conventions: a
backslash can be used to remove the special handling for the next
@@ -10469,12 +10481,15 @@ File: bashref.info, Node: Event Designators, Next: Word Designators, Up: Hist
An event designator is a reference to a command line entry in the
history list. Unless the reference is absolute, events are relative to
the current position in the history list.
the current position in the history list. The event designator consists
of the portion of the word beginning with the history expansion
character, and ending with the word designator if one is present, or the
end of the word.
'!'
Start a history substitution, except when followed by a space, tab,
the end of the line, '=', ';', '&', '|', or '(' (when the 'extglob'
shell option is enabled using the 'shopt' builtin).
the end of the line, '=', or the rest of the shell metacharacters
defined above (*note Definitions::).
'!N'
Refer to command line N.
@@ -11434,13 +11449,13 @@ the baseline reference.
variable as a default if no non-option arguments are supplied. The
Bash 'read' builtin also accepts a prompt string with the '-p'
option and will use Readline to obtain the line when given the '-e'
option. The 'read' builtin also has additional options to control
input: the '-s' option will turn off echoing of input characters as
they are read, the '-t' option will allow 'read' to time out if
input does not arrive within a specified number of seconds, the
'-n' option will allow reading only a specified number of
characters rather than a full line, and the '-d' option will read
until a particular character rather than newline.
or '-E' options. The 'read' builtin also has additional options to
control input: the '-s' option will turn off echoing of input
characters as they are read, the '-t' option will allow 'read' to
time out if input does not arrive within a specified number of
seconds, the '-n' option will allow reading only a specified number
of characters rather than a full line, and the '-d' option will
read until a particular character rather than newline.
* The 'return' builtin may be used to abort execution of scripts
executed with the '.' or 'source' builtins (*note Bourne Shell
@@ -12149,7 +12164,7 @@ D.1 Index of Shell Builtin Commands
* pwd: Bourne Shell Builtins.
(line 218)
* read: Bash Builtins. (line 513)
* readarray: Bash Builtins. (line 610)
* readarray: Bash Builtins. (line 616)
* readonly: Bourne Shell Builtins.
(line 228)
* return: Bourne Shell Builtins.
@@ -12158,7 +12173,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 268)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 619)
* source: Bash Builtins. (line 625)
* suspend: Job Control Builtins.
(line 116)
* test: Bourne Shell Builtins.
@@ -12169,12 +12184,12 @@ D.1 Index of Shell Builtin Commands
(line 389)
* true: Bourne Shell Builtins.
(line 451)
* type: Bash Builtins. (line 624)
* typeset: Bash Builtins. (line 662)
* ulimit: Bash Builtins. (line 668)
* type: Bash Builtins. (line 630)
* typeset: Bash Builtins. (line 668)
* ulimit: Bash Builtins. (line 674)
* umask: Bourne Shell Builtins.
(line 456)
* unalias: Bash Builtins. (line 774)
* unalias: Bash Builtins. (line 780)
* unset: Bourne Shell Builtins.
(line 474)
* wait: Job Control Builtins.
@@ -12760,7 +12775,7 @@ D.5 Concept Index
* functions, shell: Shell Functions. (line 6)
* history builtins: Bash History Builtins.
(line 6)
* history events: Event Designators. (line 8)
* history events: Event Designators. (line 11)
* history expansion: History Interaction. (line 6)
* history list: Bash History Facilities.
(line 6)
@@ -12850,138 +12865,138 @@ D.5 Concept Index

Tag Table:
Node: Top891
Node: Introduction2805
Node: What is Bash?3021
Node: What is a shell?4135
Node: Definitions6673
Node: Basic Shell Features9624
Node: Shell Syntax10843
Node: Shell Operation11869
Node: Quoting13162
Node: Escape Character14466
Node: Single Quotes14951
Node: Double Quotes15299
Node: ANSI-C Quoting16577
Node: Locale Translation17889
Node: Creating Internationalized Scripts19200
Node: Comments23317
Node: Shell Commands23935
Node: Reserved Words24873
Node: Simple Commands25629
Node: Pipelines26283
Node: Lists29269
Node: Compound Commands31064
Node: Looping Constructs32076
Node: Conditional Constructs34571
Node: Command Grouping49059
Node: Coprocesses50537
Node: GNU Parallel53200
Node: Shell Functions54117
Node: Shell Parameters62002
Node: Positional Parameters66390
Node: Special Parameters67292
Node: Shell Expansions70506
Node: Brace Expansion72594
Node: Tilde Expansion75328
Node: Shell Parameter Expansion77949
Node: Command Substitution96542
Node: Arithmetic Expansion100006
Node: Process Substitution100974
Node: Word Splitting102094
Node: Filename Expansion104142
Node: Pattern Matching107075
Node: Quote Removal112077
Node: Redirections112372
Node: Executing Commands122065
Node: Simple Command Expansion122735
Node: Command Search and Execution124845
Node: Command Execution Environment127232
Node: Environment130267
Node: Exit Status131930
Node: Signals133714
Node: Shell Scripts137163
Node: Shell Builtin Commands140190
Node: Bourne Shell Builtins142228
Node: Bash Builtins165364
Node: Modifying Shell Behavior198010
Node: The Set Builtin198355
Node: The Shopt Builtin209329
Node: Special Builtins225467
Node: Shell Variables226446
Node: Bourne Shell Variables226883
Node: Bash Variables228987
Node: Bash Features264046
Node: Invoking Bash265059
Node: Bash Startup Files271098
Node: Interactive Shells276229
Node: What is an Interactive Shell?276640
Node: Is this Shell Interactive?277289
Node: Interactive Shell Behavior278104
Node: Bash Conditional Expressions281733
Node: Shell Arithmetic286375
Node: Aliases289336
Node: Arrays292230
Node: The Directory Stack298791
Node: Directory Stack Builtins299575
Node: Controlling the Prompt303835
Node: The Restricted Shell306800
Node: Bash POSIX Mode309410
Node: Shell Compatibility Mode325571
Node: Job Control333815
Node: Job Control Basics334275
Node: Job Control Builtins339277
Node: Job Control Variables345072
Node: Command Line Editing346228
Node: Introduction and Notation347899
Node: Readline Interaction349522
Node: Readline Bare Essentials350713
Node: Readline Movement Commands352502
Node: Readline Killing Commands353462
Node: Readline Arguments355383
Node: Searching356427
Node: Readline Init File358613
Node: Readline Init File Syntax359874
Node: Conditional Init Constructs383899
Node: Sample Init File388095
Node: Bindable Readline Commands391219
Node: Commands For Moving392423
Node: Commands For History394474
Node: Commands For Text399468
Node: Commands For Killing403446
Node: Numeric Arguments406150
Node: Commands For Completion407289
Node: Keyboard Macros411480
Node: Miscellaneous Commands412168
Node: Readline vi Mode418206
Node: Programmable Completion419113
Node: Programmable Completion Builtins426893
Node: A Programmable Completion Example438013
Node: Using History Interactively443261
Node: Bash History Facilities443945
Node: Bash History Builtins446956
Node: History Interaction452047
Node: Event Designators455667
Node: Word Designators457037
Node: Modifiers458902
Node: Installing Bash460710
Node: Basic Installation461847
Node: Compilers and Options465569
Node: Compiling For Multiple Architectures466310
Node: Installation Names468002
Node: Specifying the System Type470111
Node: Sharing Defaults470828
Node: Operation Controls471501
Node: Optional Features472459
Node: Reporting Bugs483678
Node: Major Differences From The Bourne Shell485012
Node: GNU Free Documentation License501861
Node: Indexes527038
Node: Builtin Index527492
Node: Reserved Word Index534593
Node: Variable Index537041
Node: Function Index554175
Node: Concept Index567896
Node: Top893
Node: Introduction2809
Node: What is Bash?3025
Node: What is a shell?4139
Node: Definitions6677
Node: Basic Shell Features9628
Node: Shell Syntax10847
Node: Shell Operation11873
Node: Quoting13166
Node: Escape Character14470
Node: Single Quotes14955
Node: Double Quotes15303
Node: ANSI-C Quoting16581
Node: Locale Translation17893
Node: Creating Internationalized Scripts19204
Node: Comments23321
Node: Shell Commands23939
Node: Reserved Words24877
Node: Simple Commands25633
Node: Pipelines26287
Node: Lists29273
Node: Compound Commands31068
Node: Looping Constructs32080
Node: Conditional Constructs34575
Node: Command Grouping49063
Node: Coprocesses50541
Node: GNU Parallel53204
Node: Shell Functions54121
Node: Shell Parameters62006
Node: Positional Parameters66394
Node: Special Parameters67296
Node: Shell Expansions70510
Node: Brace Expansion72598
Node: Tilde Expansion75332
Node: Shell Parameter Expansion77953
Node: Command Substitution96546
Node: Arithmetic Expansion100010
Node: Process Substitution100978
Node: Word Splitting102098
Node: Filename Expansion104146
Node: Pattern Matching107079
Node: Quote Removal112081
Node: Redirections112376
Node: Executing Commands122069
Node: Simple Command Expansion122739
Node: Command Search and Execution124849
Node: Command Execution Environment127236
Node: Environment130271
Node: Exit Status131934
Node: Signals133718
Node: Shell Scripts137167
Node: Shell Builtin Commands140194
Node: Bourne Shell Builtins142232
Node: Bash Builtins165368
Node: Modifying Shell Behavior198306
Node: The Set Builtin198651
Node: The Shopt Builtin209625
Node: Special Builtins225763
Node: Shell Variables226742
Node: Bourne Shell Variables227179
Node: Bash Variables229283
Node: Bash Features264342
Node: Invoking Bash265355
Node: Bash Startup Files271394
Node: Interactive Shells276525
Node: What is an Interactive Shell?276936
Node: Is this Shell Interactive?277585
Node: Interactive Shell Behavior278400
Node: Bash Conditional Expressions282029
Node: Shell Arithmetic286671
Node: Aliases289632
Node: Arrays292526
Node: The Directory Stack299087
Node: Directory Stack Builtins299871
Node: Controlling the Prompt304131
Node: The Restricted Shell307096
Node: Bash POSIX Mode309706
Node: Shell Compatibility Mode325867
Node: Job Control334111
Node: Job Control Basics334571
Node: Job Control Builtins339573
Node: Job Control Variables345368
Node: Command Line Editing346524
Node: Introduction and Notation348195
Node: Readline Interaction349818
Node: Readline Bare Essentials351009
Node: Readline Movement Commands352798
Node: Readline Killing Commands353758
Node: Readline Arguments355679
Node: Searching356723
Node: Readline Init File358909
Node: Readline Init File Syntax360170
Node: Conditional Init Constructs384195
Node: Sample Init File388391
Node: Bindable Readline Commands391515
Node: Commands For Moving392719
Node: Commands For History394770
Node: Commands For Text399764
Node: Commands For Killing403742
Node: Numeric Arguments406446
Node: Commands For Completion407585
Node: Keyboard Macros411776
Node: Miscellaneous Commands412464
Node: Readline vi Mode418502
Node: Programmable Completion419409
Node: Programmable Completion Builtins427189
Node: A Programmable Completion Example438309
Node: Using History Interactively443557
Node: Bash History Facilities444241
Node: Bash History Builtins447252
Node: History Interaction452343
Node: Event Designators456156
Node: Word Designators457694
Node: Modifiers459559
Node: Installing Bash461367
Node: Basic Installation462504
Node: Compilers and Options466226
Node: Compiling For Multiple Architectures466967
Node: Installation Names468659
Node: Specifying the System Type470768
Node: Sharing Defaults471485
Node: Operation Controls472158
Node: Optional Features473116
Node: Reporting Bugs484335
Node: Major Differences From The Bourne Shell485669
Node: GNU Free Documentation License502527
Node: Indexes527704
Node: Builtin Index528158
Node: Reserved Word Index535259
Node: Variable Index537707
Node: Function Index554841
Node: Concept Index568562

End Tag Table
+43 -68
View File
@@ -1,12 +1,12 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30) 26 JUL 2023 11:16
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=etex 2021.8.30) 16 AUG 2023 10:12
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**\input /usr/local/src/bash/bash-20230724/doc/bashref.texi \input /usr/local/s
rc/bash/bash-20230724/doc/bashref.texi
(/usr/local/src/bash/bash-20230724/doc/bashref.texi
(/usr/local/src/bash/bash-20230724/doc/texinfo.tex
**\nonstopmode \input /usr/local/src/bash/bash-20230812/doc/bashref.texi \input
/usr/local/src/bash/bash-20230812/doc/bashref.texi
(/usr/local/src/bash/bash-20230812/doc/bashref.texi
(/usr/local/src/bash/bash-20230812/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
@@ -162,23 +162,20 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
texinfo.tex: doing @include of version.texi
(/usr/local/src/bash/bash-20230724/doc/version.texi) [1{/opt/local/var/db/texmf
/fonts/map/pdftex/updmap/pdftex.map}] [2]
(/usr/local/build/bash/bash-20230724/doc/bashref.toc [-1] [-2] [-3]) [-4]
(/usr/local/build/bash/bash-20230724/doc/bashref.toc)
(/usr/local/build/bash/bash-20230724/doc/bashref.toc) Chapter 1
(/usr/local/src/bash/bash-20230812/doc/version.texi) [1] [2]
(/usr/local/build/bash/bash-20230812/doc/bashref.toc [-1] [-2] [-3]) [-4]
Chapter 1
\openout0 = `bashref.toc'.
(/usr/local/build/bash/bash-20230724/doc/bashref.aux)
(/usr/local/build/bash/bash-20230812/doc/bashref.aux)
\openout1 = `bashref.aux'.
Chapter 2 [1] [2]
Chapter 2
[1] [2]
@cpindfile=@write2
\openout2 = `bashref.cp'.
[3] Chapter 3 [4] [5] [6] [7]
[3] Chapter 3 [4] [5] [6] [7]
@vrindfile=@write3
\openout3 = `bashref.vr'.
@@ -229,8 +226,8 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 724--725
[49] [50] [51]
[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
[67]
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5386--5386
[67] [68]
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5401--5401
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -243,7 +240,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5386--5386
.etc.
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5387--5387
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5402--5402
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -255,16 +252,16 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5387--5387
.@texttt t
.etc.
[68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] Chapter 5 [79] [80]
[81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] Chapter 6 [92] [93]
[94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106]
[107] [108] [109] [110] [111] [112] [113] [114] [115] Chapter 7 [116] [117]
[118] [119]
[69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] Chapter 5 [80] [81]
[82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] Chapter 6 [93] [94]
[95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107]
[108] [109] [110] [111] [112] [113] [114] [115] [116] Chapter 7 [117] [118]
[119] [120]
texinfo.tex: doing @include of rluser.texi
(/usr/local/src/bash/bash-20230724/lib/readline/doc/rluser.texi
Chapter 8 [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130]
[131]
(/usr/local/src/bash/bash-20230812/lib/readline/doc/rluser.texi
Chapter 8 [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131]
[132]
Underfull \hbox (badness 7540) in paragraph at lines 878--884
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
-tion
@@ -290,7 +287,7 @@ e func-tion
.@texttt v
.etc.
[132] [133] [134] [135]
[133] [134] [135] [136]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1112--1112
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
@@ -303,19 +300,19 @@ gnored[]
.@texttt t
.etc.
[136] [137]
[137] [138]
@fnindfile=@write6
\openout6 = `bashref.fn'.
[138] [139] [140] [141] [142] [143] [144] [145] [146] [147]
[148] [149] [150] [151] [152] [153] [154] [155] [156])
[139] [140] [141] [142] [143] [144] [145] [146] [147] [148]
[149] [150] [151] [152] [153] [154] [155] [156] [157])
texinfo.tex: doing @include of hsuser.texi
(/usr/local/src/bash/bash-20230724/lib/readline/doc/hsuser.texi Chapter 9
[157] [158] [159] [160] [161] [162]) Chapter 10 [163] [164] [165] [166]
[167]
Underfull \hbox (badness 10000) in paragraph at lines 9711--9720
(/usr/local/src/bash/bash-20230812/lib/readline/doc/hsuser.texi Chapter 9
[158] [159] [160] [161] [162] [163]) Chapter 10 [164] [165] [166] [167]
[168]
Underfull \hbox (badness 10000) in paragraph at lines 9729--9738
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
@@ -328,7 +325,7 @@ entation[]@textrm '[],
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 9711--9720
Underfull \hbox (badness 10000) in paragraph at lines 9729--9738
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
@@ -340,42 +337,20 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
.@texttt a
.etc.
[168] [169] [170] [171] Appendix A [172] Appendix B [173] [174] [175] [176]
[177] [178] Appendix C [179]
[169] [170] [171] [172] Appendix A [173] Appendix B [174] [175] [176] [177]
[178] [179] Appendix C [180]
texinfo.tex: doing @include of fdl.texi
(/usr/local/src/bash/bash-20230724/doc/fdl.texi
[180] [181] [182] [183] [184] [185] [186]) Appendix D [187] [188] [189]
[190] [191] [192] [193] [194] [195] [196] )
(/usr/local/src/bash/bash-20230812/doc/fdl.texi
[181] [182] [183] [184] [185] [186] [187]) Appendix D [188] [189] [190]
[191] [192] [193] [194] [195] [196] [197] )
Here is how much of TeX's memory you used:
4103 strings out of 497086
47611 string characters out of 6206517
142120 words of memory out of 5000000
4869 multiletter control sequences out of 15000+600000
3531 strings out of 497096
40273 string characters out of 6206923
87718 words of memory out of 5000000
4700 multiletter control sequences out of 15000+600000
34315 words of font info for 116 fonts, out of 8000000 for 9000
51 hyphenation exceptions out of 8191
16i,6n,16p,389b,983s stack positions out of 5000i,500n,10000p,200000b,80000s
{/opt/local/share/texmf-texlive/font
s/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type
1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
lic/amsfonts/cm/cmcsc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/
amsfonts/cm/cmmi10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfo
nts/cm/cmmi12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/c
m/cmmi9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr1
0.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb><
/opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/
local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/loc
al/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/sh
are/texmf-texlive/fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/t
exmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-
texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texli
ve/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fon
ts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/typ
e1/public/cm-super/sfrm1440.pfb>
Output written on bashref.pdf (202 pages, 811039 bytes).
PDF statistics:
2814 PDF objects out of 2984 (max. 8388607)
2565 compressed objects within 26 object streams
330 named destinations out of 1000 (max. 500000)
1157 words of extra memory for PDF output out of 10000 (max. 10000000)
16i,6n,16p,402b,942s stack positions out of 5000i,500n,10000p,200000b,80000s
Output written on bashref.dvi (203 pages, 847040 bytes).
BIN
View File
Binary file not shown.
+4559 -4450
View File
File diff suppressed because it is too large Load Diff
+9 -2
View File
@@ -5063,7 +5063,7 @@ occurs.
@item read
@btindex read
@example
read [-ers] [-a @var{aname}] [-d @var{delim}] [-i @var{text}] [-n @var{nchars}]
read [-Eers] [-a @var{aname}] [-d @var{delim}] [-i @var{text}] [-n @var{nchars}]
[-N @var{nchars}] [-p @var{prompt}] [-t @var{timeout}] [-u @var{fd}] [@var{name} @dots{}]
@end example
@@ -5104,6 +5104,12 @@ Readline (@pxref{Command Line Editing}) is used to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses Readline's default filename completion.
@item -E
Readline (@pxref{Command Line Editing}) is used to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses Bash's default completion, including
programmable completion.
@item -i @var{text}
If Readline is being used to read the line, @var{text} is placed into
the editing buffer before editing begins.
@@ -10244,7 +10250,8 @@ the @option{-r} option, and will use the @env{REPLY} variable as a
default if no non-option arguments are supplied.
The Bash @code{read} builtin
also accepts a prompt string with the @option{-p} option and will use
Readline to obtain the line when given the @option{-e} option.
Readline to obtain the line when given the @option{-e} or @option{-E}
options.
The @code{read} builtin also has additional options to control input:
the @option{-s} option will turn off echoing of input characters as
they are read, the @option{-t} option will allow @code{read} to time out
+79 -79
View File
@@ -60,84 +60,84 @@
@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{49}
@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{49}
@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{57}
@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{68}
@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{68}
@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{69}
@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{69}
@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{73}
@numsecentry{Special Builtins}{4.4}{Special Builtins}{79}
@numchapentry{Shell Variables}{5}{Shell Variables}{80}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{80}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{80}
@numchapentry{Bash Features}{6}{Bash Features}{93}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{93}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{95}
@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{96}
@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{97}
@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{97}
@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{97}
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{98}
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{100}
@numsecentry{Aliases}{6.6}{Aliases}{102}
@numsecentry{Arrays}{6.7}{Arrays}{102}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{104}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{105}
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{106}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{108}
@numsecentry{Bash and POSIX}{6.11}{Bash POSIX Mode}{108}
@numsubsecentry{What is POSIX?}{6.11.1}{}{108}
@numsubsecentry{Bash POSIX Mode}{6.11.2}{}{109}
@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{113}
@numchapentry{Job Control}{7}{Job Control}{117}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{117}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{118}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{120}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{121}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{121}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{121}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{122}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{122}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{123}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{123}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{123}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{124}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{124}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{133}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{135}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{138}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{138}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{139}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{141}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{142}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{143}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{144}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{145}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{146}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{148}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{148}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{151}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{155}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{158}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{158}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{158}
@numsecentry{History Expansion}{9.3}{History Interaction}{160}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{161}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{162}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{162}
@numchapentry{Installing Bash}{10}{Installing Bash}{164}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{164}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{165}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{165}
@numsecentry{Installation Names}{10.4}{Installation Names}{166}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{166}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{166}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{167}
@numsecentry{Optional Features}{10.8}{Optional Features}{167}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{173}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{174}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{178}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{180}
@appentry{Indexes}{D}{Indexes}{188}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{188}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{189}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{190}
@appsecentry{Function Index}{D.4}{Function Index}{192}
@appsecentry{Concept Index}{D.5}{Concept Index}{194}
@numchapentry{Shell Variables}{5}{Shell Variables}{81}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{81}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{81}
@numchapentry{Bash Features}{6}{Bash Features}{94}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{94}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{96}
@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{97}
@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{98}
@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{98}
@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{98}
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{99}
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{101}
@numsecentry{Aliases}{6.6}{Aliases}{103}
@numsecentry{Arrays}{6.7}{Arrays}{103}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{105}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{106}
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{107}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{109}
@numsecentry{Bash and POSIX}{6.11}{Bash POSIX Mode}{109}
@numsubsecentry{What is POSIX?}{6.11.1}{}{109}
@numsubsecentry{Bash POSIX Mode}{6.11.2}{}{110}
@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{114}
@numchapentry{Job Control}{7}{Job Control}{118}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{118}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{119}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{121}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{122}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{122}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{122}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{123}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{123}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{124}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{124}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{124}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{125}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{125}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{134}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{136}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{139}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{139}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{140}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{142}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{143}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{144}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{145}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{146}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{147}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{149}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{149}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{152}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{156}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{159}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{159}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{159}
@numsecentry{History Expansion}{9.3}{History Interaction}{161}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{162}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{163}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{164}
@numchapentry{Installing Bash}{10}{Installing Bash}{165}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{165}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{166}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{166}
@numsecentry{Installation Names}{10.4}{Installation Names}{167}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{167}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{167}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{168}
@numsecentry{Optional Features}{10.8}{Optional Features}{168}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{174}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{175}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{179}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{181}
@appentry{Indexes}{D}{Indexes}{189}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{189}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{190}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{191}
@appsecentry{Function Index}{D.4}{Function Index}{193}
@appsecentry{Concept Index}{D.5}{Concept Index}{195}
+157 -157
View File
@@ -18,160 +18,160 @@
\entry{$!}{24}{\code {$!}}
\entry{0}{24}{\code {0}}
\entry{$0}{24}{\code {$0}}
\entry{CDPATH}{80}{\code {CDPATH}}
\entry{HOME}{80}{\code {HOME}}
\entry{IFS}{80}{\code {IFS}}
\entry{MAIL}{80}{\code {MAIL}}
\entry{MAILPATH}{80}{\code {MAILPATH}}
\entry{OPTARG}{80}{\code {OPTARG}}
\entry{OPTIND}{80}{\code {OPTIND}}
\entry{PATH}{80}{\code {PATH}}
\entry{PS1}{80}{\code {PS1}}
\entry{PS2}{80}{\code {PS2}}
\entry{_}{80}{\code {_}}
\entry{$_}{80}{\code {$_}}
\entry{BASH}{81}{\code {BASH}}
\entry{BASHOPTS}{81}{\code {BASHOPTS}}
\entry{BASHPID}{81}{\code {BASHPID}}
\entry{BASH_ALIASES}{81}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{81}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{81}{\code {BASH_ARGV}}
\entry{BASH_ARGV0}{82}{\code {BASH_ARGV0}}
\entry{BASH_CMDS}{82}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{82}{\code {BASH_COMMAND}}
\entry{BASH_COMPAT}{82}{\code {BASH_COMPAT}}
\entry{BASH_ENV}{82}{\code {BASH_ENV}}
\entry{BASH_EXECUTION_STRING}{82}{\code {BASH_EXECUTION_STRING}}
\entry{BASH_LINENO}{82}{\code {BASH_LINENO}}
\entry{BASH_LOADABLES_PATH}{83}{\code {BASH_LOADABLES_PATH}}
\entry{BASH_MONOSECONDS}{83}{\code {BASH_MONOSECONDS}}
\entry{BASH_REMATCH}{83}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{83}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{83}{\code {BASH_SUBSHELL}}
\entry{BASH_TRAPSIG}{83}{\code {BASH_TRAPSIG}}
\entry{BASH_VERSINFO}{83}{\code {BASH_VERSINFO}}
\entry{BASH_VERSION}{84}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{84}{\code {BASH_XTRACEFD}}
\entry{CHILD_MAX}{84}{\code {CHILD_MAX}}
\entry{COLUMNS}{84}{\code {COLUMNS}}
\entry{COMP_CWORD}{84}{\code {COMP_CWORD}}
\entry{COMP_LINE}{84}{\code {COMP_LINE}}
\entry{COMP_POINT}{84}{\code {COMP_POINT}}
\entry{COMP_TYPE}{84}{\code {COMP_TYPE}}
\entry{COMP_KEY}{85}{\code {COMP_KEY}}
\entry{COMP_WORDBREAKS}{85}{\code {COMP_WORDBREAKS}}
\entry{COMP_WORDS}{85}{\code {COMP_WORDS}}
\entry{COMPREPLY}{85}{\code {COMPREPLY}}
\entry{COPROC}{85}{\code {COPROC}}
\entry{DIRSTACK}{85}{\code {DIRSTACK}}
\entry{EMACS}{85}{\code {EMACS}}
\entry{ENV}{85}{\code {ENV}}
\entry{EPOCHREALTIME}{85}{\code {EPOCHREALTIME}}
\entry{EPOCHSECONDS}{85}{\code {EPOCHSECONDS}}
\entry{EUID}{86}{\code {EUID}}
\entry{EXECIGNORE}{86}{\code {EXECIGNORE}}
\entry{FCEDIT}{86}{\code {FCEDIT}}
\entry{FIGNORE}{86}{\code {FIGNORE}}
\entry{FUNCNAME}{86}{\code {FUNCNAME}}
\entry{FUNCNEST}{86}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{86}{\code {GLOBIGNORE}}
\entry{GLOBSORT}{86}{\code {GLOBSORT}}
\entry{GROUPS}{87}{\code {GROUPS}}
\entry{histchars}{87}{\code {histchars}}
\entry{HISTCMD}{87}{\code {HISTCMD}}
\entry{HISTCONTROL}{87}{\code {HISTCONTROL}}
\entry{HISTFILE}{87}{\code {HISTFILE}}
\entry{HISTFILESIZE}{88}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{88}{\code {HISTIGNORE}}
\entry{HISTSIZE}{88}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{88}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{88}{\code {HOSTFILE}}
\entry{HOSTNAME}{88}{\code {HOSTNAME}}
\entry{HOSTTYPE}{88}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{89}{\code {IGNOREEOF}}
\entry{INPUTRC}{89}{\code {INPUTRC}}
\entry{INSIDE_EMACS}{89}{\code {INSIDE_EMACS}}
\entry{LANG}{89}{\code {LANG}}
\entry{LC_ALL}{89}{\code {LC_ALL}}
\entry{LC_COLLATE}{89}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{89}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{89}{\code {LC_MESSAGES}}
\entry{LC_NUMERIC}{89}{\code {LC_NUMERIC}}
\entry{LC_TIME}{89}{\code {LC_TIME}}
\entry{LINENO}{89}{\code {LINENO}}
\entry{LINES}{89}{\code {LINES}}
\entry{MACHTYPE}{89}{\code {MACHTYPE}}
\entry{MAILCHECK}{89}{\code {MAILCHECK}}
\entry{MAPFILE}{90}{\code {MAPFILE}}
\entry{OLDPWD}{90}{\code {OLDPWD}}
\entry{OPTERR}{90}{\code {OPTERR}}
\entry{OSTYPE}{90}{\code {OSTYPE}}
\entry{PIPESTATUS}{90}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{90}{\code {POSIXLY_CORRECT}}
\entry{PPID}{90}{\code {PPID}}
\entry{PROMPT_COMMAND}{90}{\code {PROMPT_COMMAND}}
\entry{PROMPT_DIRTRIM}{90}{\code {PROMPT_DIRTRIM}}
\entry{PS0}{90}{\code {PS0}}
\entry{PS3}{90}{\code {PS3}}
\entry{PS4}{90}{\code {PS4}}
\entry{PWD}{90}{\code {PWD}}
\entry{RANDOM}{91}{\code {RANDOM}}
\entry{READLINE_ARGUMENT}{91}{\code {READLINE_ARGUMENT}}
\entry{READLINE_LINE}{91}{\code {READLINE_LINE}}
\entry{READLINE_MARK}{91}{\code {READLINE_MARK}}
\entry{READLINE_POINT}{91}{\code {READLINE_POINT}}
\entry{REPLY}{91}{\code {REPLY}}
\entry{SECONDS}{91}{\code {SECONDS}}
\entry{SHELL}{91}{\code {SHELL}}
\entry{SHELLOPTS}{91}{\code {SHELLOPTS}}
\entry{SHLVL}{91}{\code {SHLVL}}
\entry{SRANDOM}{91}{\code {SRANDOM}}
\entry{TIMEFORMAT}{92}{\code {TIMEFORMAT}}
\entry{TMOUT}{92}{\code {TMOUT}}
\entry{TMPDIR}{92}{\code {TMPDIR}}
\entry{UID}{92}{\code {UID}}
\entry{auto_resume}{120}{\code {auto_resume}}
\entry{active-region-start-color}{125}{\code {active-region-start-color}}
\entry{active-region-end-color}{125}{\code {active-region-end-color}}
\entry{bell-style}{125}{\code {bell-style}}
\entry{bind-tty-special-chars}{125}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{126}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{126}{\code {colored-completion-prefix}}
\entry{colored-stats}{126}{\code {colored-stats}}
\entry{comment-begin}{126}{\code {comment-begin}}
\entry{completion-display-width}{126}{\code {completion-display-width}}
\entry{completion-ignore-case}{126}{\code {completion-ignore-case}}
\entry{completion-map-case}{126}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{126}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{126}{\code {completion-query-items}}
\entry{convert-meta}{127}{\code {convert-meta}}
\entry{disable-completion}{127}{\code {disable-completion}}
\entry{echo-control-characters}{127}{\code {echo-control-characters}}
\entry{editing-mode}{127}{\code {editing-mode}}
\entry{emacs-mode-string}{127}{\code {emacs-mode-string}}
\entry{enable-active-region}{127}{\code {enable-active-region}}
\entry{enable-bracketed-paste}{128}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{128}{\code {enable-keypad}}
\entry{expand-tilde}{128}{\code {expand-tilde}}
\entry{history-preserve-point}{128}{\code {history-preserve-point}}
\entry{history-size}{128}{\code {history-size}}
\entry{horizontal-scroll-mode}{128}{\code {horizontal-scroll-mode}}
\entry{input-meta}{129}{\code {input-meta}}
\entry{meta-flag}{129}{\code {meta-flag}}
\entry{isearch-terminators}{129}{\code {isearch-terminators}}
\entry{keymap}{129}{\code {keymap}}
\entry{mark-modified-lines}{129}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{129}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{130}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{130}{\code {menu-complete-display-prefix}}
\entry{output-meta}{130}{\code {output-meta}}
\entry{page-completions}{130}{\code {page-completions}}
\entry{revert-all-at-newline}{130}{\code {revert-all-at-newline}}
\entry{search-ignore-case}{130}{\code {search-ignore-case}}
\entry{show-all-if-ambiguous}{130}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{130}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{131}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{131}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{131}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{131}{\code {vi-ins-mode-string}}
\entry{visible-stats}{131}{\code {visible-stats}}
\entry{CDPATH}{81}{\code {CDPATH}}
\entry{HOME}{81}{\code {HOME}}
\entry{IFS}{81}{\code {IFS}}
\entry{MAIL}{81}{\code {MAIL}}
\entry{MAILPATH}{81}{\code {MAILPATH}}
\entry{OPTARG}{81}{\code {OPTARG}}
\entry{OPTIND}{81}{\code {OPTIND}}
\entry{PATH}{81}{\code {PATH}}
\entry{PS1}{81}{\code {PS1}}
\entry{PS2}{81}{\code {PS2}}
\entry{_}{81}{\code {_}}
\entry{$_}{81}{\code {$_}}
\entry{BASH}{82}{\code {BASH}}
\entry{BASHOPTS}{82}{\code {BASHOPTS}}
\entry{BASHPID}{82}{\code {BASHPID}}
\entry{BASH_ALIASES}{82}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{82}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{82}{\code {BASH_ARGV}}
\entry{BASH_ARGV0}{83}{\code {BASH_ARGV0}}
\entry{BASH_CMDS}{83}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{83}{\code {BASH_COMMAND}}
\entry{BASH_COMPAT}{83}{\code {BASH_COMPAT}}
\entry{BASH_ENV}{83}{\code {BASH_ENV}}
\entry{BASH_EXECUTION_STRING}{83}{\code {BASH_EXECUTION_STRING}}
\entry{BASH_LINENO}{83}{\code {BASH_LINENO}}
\entry{BASH_LOADABLES_PATH}{84}{\code {BASH_LOADABLES_PATH}}
\entry{BASH_MONOSECONDS}{84}{\code {BASH_MONOSECONDS}}
\entry{BASH_REMATCH}{84}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{84}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{84}{\code {BASH_SUBSHELL}}
\entry{BASH_TRAPSIG}{84}{\code {BASH_TRAPSIG}}
\entry{BASH_VERSINFO}{84}{\code {BASH_VERSINFO}}
\entry{BASH_VERSION}{85}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{85}{\code {BASH_XTRACEFD}}
\entry{CHILD_MAX}{85}{\code {CHILD_MAX}}
\entry{COLUMNS}{85}{\code {COLUMNS}}
\entry{COMP_CWORD}{85}{\code {COMP_CWORD}}
\entry{COMP_LINE}{85}{\code {COMP_LINE}}
\entry{COMP_POINT}{85}{\code {COMP_POINT}}
\entry{COMP_TYPE}{85}{\code {COMP_TYPE}}
\entry{COMP_KEY}{86}{\code {COMP_KEY}}
\entry{COMP_WORDBREAKS}{86}{\code {COMP_WORDBREAKS}}
\entry{COMP_WORDS}{86}{\code {COMP_WORDS}}
\entry{COMPREPLY}{86}{\code {COMPREPLY}}
\entry{COPROC}{86}{\code {COPROC}}
\entry{DIRSTACK}{86}{\code {DIRSTACK}}
\entry{EMACS}{86}{\code {EMACS}}
\entry{ENV}{86}{\code {ENV}}
\entry{EPOCHREALTIME}{86}{\code {EPOCHREALTIME}}
\entry{EPOCHSECONDS}{86}{\code {EPOCHSECONDS}}
\entry{EUID}{87}{\code {EUID}}
\entry{EXECIGNORE}{87}{\code {EXECIGNORE}}
\entry{FCEDIT}{87}{\code {FCEDIT}}
\entry{FIGNORE}{87}{\code {FIGNORE}}
\entry{FUNCNAME}{87}{\code {FUNCNAME}}
\entry{FUNCNEST}{87}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{87}{\code {GLOBIGNORE}}
\entry{GLOBSORT}{87}{\code {GLOBSORT}}
\entry{GROUPS}{88}{\code {GROUPS}}
\entry{histchars}{88}{\code {histchars}}
\entry{HISTCMD}{88}{\code {HISTCMD}}
\entry{HISTCONTROL}{88}{\code {HISTCONTROL}}
\entry{HISTFILE}{88}{\code {HISTFILE}}
\entry{HISTFILESIZE}{89}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{89}{\code {HISTIGNORE}}
\entry{HISTSIZE}{89}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{89}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{89}{\code {HOSTFILE}}
\entry{HOSTNAME}{89}{\code {HOSTNAME}}
\entry{HOSTTYPE}{89}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{90}{\code {IGNOREEOF}}
\entry{INPUTRC}{90}{\code {INPUTRC}}
\entry{INSIDE_EMACS}{90}{\code {INSIDE_EMACS}}
\entry{LANG}{90}{\code {LANG}}
\entry{LC_ALL}{90}{\code {LC_ALL}}
\entry{LC_COLLATE}{90}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{90}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{90}{\code {LC_MESSAGES}}
\entry{LC_NUMERIC}{90}{\code {LC_NUMERIC}}
\entry{LC_TIME}{90}{\code {LC_TIME}}
\entry{LINENO}{90}{\code {LINENO}}
\entry{LINES}{90}{\code {LINES}}
\entry{MACHTYPE}{90}{\code {MACHTYPE}}
\entry{MAILCHECK}{90}{\code {MAILCHECK}}
\entry{MAPFILE}{91}{\code {MAPFILE}}
\entry{OLDPWD}{91}{\code {OLDPWD}}
\entry{OPTERR}{91}{\code {OPTERR}}
\entry{OSTYPE}{91}{\code {OSTYPE}}
\entry{PIPESTATUS}{91}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{91}{\code {POSIXLY_CORRECT}}
\entry{PPID}{91}{\code {PPID}}
\entry{PROMPT_COMMAND}{91}{\code {PROMPT_COMMAND}}
\entry{PROMPT_DIRTRIM}{91}{\code {PROMPT_DIRTRIM}}
\entry{PS0}{91}{\code {PS0}}
\entry{PS3}{91}{\code {PS3}}
\entry{PS4}{91}{\code {PS4}}
\entry{PWD}{91}{\code {PWD}}
\entry{RANDOM}{92}{\code {RANDOM}}
\entry{READLINE_ARGUMENT}{92}{\code {READLINE_ARGUMENT}}
\entry{READLINE_LINE}{92}{\code {READLINE_LINE}}
\entry{READLINE_MARK}{92}{\code {READLINE_MARK}}
\entry{READLINE_POINT}{92}{\code {READLINE_POINT}}
\entry{REPLY}{92}{\code {REPLY}}
\entry{SECONDS}{92}{\code {SECONDS}}
\entry{SHELL}{92}{\code {SHELL}}
\entry{SHELLOPTS}{92}{\code {SHELLOPTS}}
\entry{SHLVL}{92}{\code {SHLVL}}
\entry{SRANDOM}{92}{\code {SRANDOM}}
\entry{TIMEFORMAT}{93}{\code {TIMEFORMAT}}
\entry{TMOUT}{93}{\code {TMOUT}}
\entry{TMPDIR}{93}{\code {TMPDIR}}
\entry{UID}{93}{\code {UID}}
\entry{auto_resume}{121}{\code {auto_resume}}
\entry{active-region-start-color}{126}{\code {active-region-start-color}}
\entry{active-region-end-color}{126}{\code {active-region-end-color}}
\entry{bell-style}{126}{\code {bell-style}}
\entry{bind-tty-special-chars}{126}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{127}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{127}{\code {colored-completion-prefix}}
\entry{colored-stats}{127}{\code {colored-stats}}
\entry{comment-begin}{127}{\code {comment-begin}}
\entry{completion-display-width}{127}{\code {completion-display-width}}
\entry{completion-ignore-case}{127}{\code {completion-ignore-case}}
\entry{completion-map-case}{127}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{127}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{127}{\code {completion-query-items}}
\entry{convert-meta}{128}{\code {convert-meta}}
\entry{disable-completion}{128}{\code {disable-completion}}
\entry{echo-control-characters}{128}{\code {echo-control-characters}}
\entry{editing-mode}{128}{\code {editing-mode}}
\entry{emacs-mode-string}{128}{\code {emacs-mode-string}}
\entry{enable-active-region}{128}{\code {enable-active-region}}
\entry{enable-bracketed-paste}{129}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{129}{\code {enable-keypad}}
\entry{expand-tilde}{129}{\code {expand-tilde}}
\entry{history-preserve-point}{129}{\code {history-preserve-point}}
\entry{history-size}{129}{\code {history-size}}
\entry{horizontal-scroll-mode}{129}{\code {horizontal-scroll-mode}}
\entry{input-meta}{130}{\code {input-meta}}
\entry{meta-flag}{130}{\code {meta-flag}}
\entry{isearch-terminators}{130}{\code {isearch-terminators}}
\entry{keymap}{130}{\code {keymap}}
\entry{mark-modified-lines}{130}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{130}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{131}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{131}{\code {menu-complete-display-prefix}}
\entry{output-meta}{131}{\code {output-meta}}
\entry{page-completions}{131}{\code {page-completions}}
\entry{revert-all-at-newline}{131}{\code {revert-all-at-newline}}
\entry{search-ignore-case}{131}{\code {search-ignore-case}}
\entry{show-all-if-ambiguous}{131}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{131}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{132}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{132}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{132}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{132}{\code {vi-ins-mode-string}}
\entry{visible-stats}{132}{\code {visible-stats}}
+157 -157
View File
@@ -11,7 +11,7 @@
\entry{\code {$-}}{23}
\entry{\code {$?}}{23}
\entry{\code {$@}}{23}
\entry{\code {$_}}{80}
\entry{\code {$_}}{81}
\entry{\code {$0}}{24}
\initial {*}
\entry{\code {*}}{23}
@@ -22,182 +22,182 @@
\initial {@}
\entry{\code {@}}{23}
\initial {_}
\entry{\code {_}}{80}
\entry{\code {_}}{81}
\initial {0}
\entry{\code {0}}{24}
\initial {A}
\entry{\code {active-region-end-color}}{125}
\entry{\code {active-region-start-color}}{125}
\entry{\code {auto_resume}}{120}
\entry{\code {active-region-end-color}}{126}
\entry{\code {active-region-start-color}}{126}
\entry{\code {auto_resume}}{121}
\initial {B}
\entry{\code {BASH}}{81}
\entry{\code {BASH_ALIASES}}{81}
\entry{\code {BASH_ARGC}}{81}
\entry{\code {BASH_ARGV}}{81}
\entry{\code {BASH_ARGV0}}{82}
\entry{\code {BASH_CMDS}}{82}
\entry{\code {BASH_COMMAND}}{82}
\entry{\code {BASH_COMPAT}}{82}
\entry{\code {BASH_ENV}}{82}
\entry{\code {BASH_EXECUTION_STRING}}{82}
\entry{\code {BASH_LINENO}}{82}
\entry{\code {BASH_LOADABLES_PATH}}{83}
\entry{\code {BASH_MONOSECONDS}}{83}
\entry{\code {BASH_REMATCH}}{83}
\entry{\code {BASH_SOURCE}}{83}
\entry{\code {BASH_SUBSHELL}}{83}
\entry{\code {BASH_TRAPSIG}}{83}
\entry{\code {BASH_VERSINFO}}{83}
\entry{\code {BASH_VERSION}}{84}
\entry{\code {BASH_XTRACEFD}}{84}
\entry{\code {BASHOPTS}}{81}
\entry{\code {BASHPID}}{81}
\entry{\code {bell-style}}{125}
\entry{\code {bind-tty-special-chars}}{125}
\entry{\code {blink-matching-paren}}{126}
\entry{\code {BASH}}{82}
\entry{\code {BASH_ALIASES}}{82}
\entry{\code {BASH_ARGC}}{82}
\entry{\code {BASH_ARGV}}{82}
\entry{\code {BASH_ARGV0}}{83}
\entry{\code {BASH_CMDS}}{83}
\entry{\code {BASH_COMMAND}}{83}
\entry{\code {BASH_COMPAT}}{83}
\entry{\code {BASH_ENV}}{83}
\entry{\code {BASH_EXECUTION_STRING}}{83}
\entry{\code {BASH_LINENO}}{83}
\entry{\code {BASH_LOADABLES_PATH}}{84}
\entry{\code {BASH_MONOSECONDS}}{84}
\entry{\code {BASH_REMATCH}}{84}
\entry{\code {BASH_SOURCE}}{84}
\entry{\code {BASH_SUBSHELL}}{84}
\entry{\code {BASH_TRAPSIG}}{84}
\entry{\code {BASH_VERSINFO}}{84}
\entry{\code {BASH_VERSION}}{85}
\entry{\code {BASH_XTRACEFD}}{85}
\entry{\code {BASHOPTS}}{82}
\entry{\code {BASHPID}}{82}
\entry{\code {bell-style}}{126}
\entry{\code {bind-tty-special-chars}}{126}
\entry{\code {blink-matching-paren}}{127}
\initial {C}
\entry{\code {CDPATH}}{80}
\entry{\code {CHILD_MAX}}{84}
\entry{\code {colored-completion-prefix}}{126}
\entry{\code {colored-stats}}{126}
\entry{\code {COLUMNS}}{84}
\entry{\code {comment-begin}}{126}
\entry{\code {COMP_CWORD}}{84}
\entry{\code {COMP_KEY}}{85}
\entry{\code {COMP_LINE}}{84}
\entry{\code {COMP_POINT}}{84}
\entry{\code {COMP_TYPE}}{84}
\entry{\code {COMP_WORDBREAKS}}{85}
\entry{\code {COMP_WORDS}}{85}
\entry{\code {completion-display-width}}{126}
\entry{\code {completion-ignore-case}}{126}
\entry{\code {completion-map-case}}{126}
\entry{\code {completion-prefix-display-length}}{126}
\entry{\code {completion-query-items}}{126}
\entry{\code {COMPREPLY}}{85}
\entry{\code {convert-meta}}{127}
\entry{\code {COPROC}}{85}
\entry{\code {CDPATH}}{81}
\entry{\code {CHILD_MAX}}{85}
\entry{\code {colored-completion-prefix}}{127}
\entry{\code {colored-stats}}{127}
\entry{\code {COLUMNS}}{85}
\entry{\code {comment-begin}}{127}
\entry{\code {COMP_CWORD}}{85}
\entry{\code {COMP_KEY}}{86}
\entry{\code {COMP_LINE}}{85}
\entry{\code {COMP_POINT}}{85}
\entry{\code {COMP_TYPE}}{85}
\entry{\code {COMP_WORDBREAKS}}{86}
\entry{\code {COMP_WORDS}}{86}
\entry{\code {completion-display-width}}{127}
\entry{\code {completion-ignore-case}}{127}
\entry{\code {completion-map-case}}{127}
\entry{\code {completion-prefix-display-length}}{127}
\entry{\code {completion-query-items}}{127}
\entry{\code {COMPREPLY}}{86}
\entry{\code {convert-meta}}{128}
\entry{\code {COPROC}}{86}
\initial {D}
\entry{\code {DIRSTACK}}{85}
\entry{\code {disable-completion}}{127}
\entry{\code {DIRSTACK}}{86}
\entry{\code {disable-completion}}{128}
\initial {E}
\entry{\code {echo-control-characters}}{127}
\entry{\code {editing-mode}}{127}
\entry{\code {emacs-mode-string}}{127}
\entry{\code {EMACS}}{85}
\entry{\code {enable-active-region}}{127}
\entry{\code {enable-bracketed-paste}}{128}
\entry{\code {enable-keypad}}{128}
\entry{\code {ENV}}{85}
\entry{\code {EPOCHREALTIME}}{85}
\entry{\code {EPOCHSECONDS}}{85}
\entry{\code {EUID}}{86}
\entry{\code {EXECIGNORE}}{86}
\entry{\code {expand-tilde}}{128}
\entry{\code {echo-control-characters}}{128}
\entry{\code {editing-mode}}{128}
\entry{\code {emacs-mode-string}}{128}
\entry{\code {EMACS}}{86}
\entry{\code {enable-active-region}}{128}
\entry{\code {enable-bracketed-paste}}{129}
\entry{\code {enable-keypad}}{129}
\entry{\code {ENV}}{86}
\entry{\code {EPOCHREALTIME}}{86}
\entry{\code {EPOCHSECONDS}}{86}
\entry{\code {EUID}}{87}
\entry{\code {EXECIGNORE}}{87}
\entry{\code {expand-tilde}}{129}
\initial {F}
\entry{\code {FCEDIT}}{86}
\entry{\code {FIGNORE}}{86}
\entry{\code {FUNCNAME}}{86}
\entry{\code {FUNCNEST}}{86}
\entry{\code {FCEDIT}}{87}
\entry{\code {FIGNORE}}{87}
\entry{\code {FUNCNAME}}{87}
\entry{\code {FUNCNEST}}{87}
\initial {G}
\entry{\code {GLOBIGNORE}}{86}
\entry{\code {GLOBSORT}}{86}
\entry{\code {GROUPS}}{87}
\entry{\code {GLOBIGNORE}}{87}
\entry{\code {GLOBSORT}}{87}
\entry{\code {GROUPS}}{88}
\initial {H}
\entry{\code {histchars}}{87}
\entry{\code {HISTCMD}}{87}
\entry{\code {HISTCONTROL}}{87}
\entry{\code {HISTFILE}}{87}
\entry{\code {HISTFILESIZE}}{88}
\entry{\code {HISTIGNORE}}{88}
\entry{\code {history-preserve-point}}{128}
\entry{\code {history-size}}{128}
\entry{\code {HISTSIZE}}{88}
\entry{\code {HISTTIMEFORMAT}}{88}
\entry{\code {HOME}}{80}
\entry{\code {horizontal-scroll-mode}}{128}
\entry{\code {HOSTFILE}}{88}
\entry{\code {HOSTNAME}}{88}
\entry{\code {HOSTTYPE}}{88}
\entry{\code {histchars}}{88}
\entry{\code {HISTCMD}}{88}
\entry{\code {HISTCONTROL}}{88}
\entry{\code {HISTFILE}}{88}
\entry{\code {HISTFILESIZE}}{89}
\entry{\code {HISTIGNORE}}{89}
\entry{\code {history-preserve-point}}{129}
\entry{\code {history-size}}{129}
\entry{\code {HISTSIZE}}{89}
\entry{\code {HISTTIMEFORMAT}}{89}
\entry{\code {HOME}}{81}
\entry{\code {horizontal-scroll-mode}}{129}
\entry{\code {HOSTFILE}}{89}
\entry{\code {HOSTNAME}}{89}
\entry{\code {HOSTTYPE}}{89}
\initial {I}
\entry{\code {IFS}}{80}
\entry{\code {IGNOREEOF}}{89}
\entry{\code {input-meta}}{129}
\entry{\code {INPUTRC}}{89}
\entry{\code {INSIDE_EMACS}}{89}
\entry{\code {isearch-terminators}}{129}
\entry{\code {IFS}}{81}
\entry{\code {IGNOREEOF}}{90}
\entry{\code {input-meta}}{130}
\entry{\code {INPUTRC}}{90}
\entry{\code {INSIDE_EMACS}}{90}
\entry{\code {isearch-terminators}}{130}
\initial {K}
\entry{\code {keymap}}{129}
\entry{\code {keymap}}{130}
\initial {L}
\entry{\code {LANG}}{8, 89}
\entry{\code {LC_ALL}}{89}
\entry{\code {LC_COLLATE}}{89}
\entry{\code {LC_CTYPE}}{89}
\entry{\code {LC_MESSAGES}}{8, 89}
\entry{\code {LC_NUMERIC}}{89}
\entry{\code {LC_TIME}}{89}
\entry{\code {LINENO}}{89}
\entry{\code {LINES}}{89}
\entry{\code {LANG}}{8, 90}
\entry{\code {LC_ALL}}{90}
\entry{\code {LC_COLLATE}}{90}
\entry{\code {LC_CTYPE}}{90}
\entry{\code {LC_MESSAGES}}{8, 90}
\entry{\code {LC_NUMERIC}}{90}
\entry{\code {LC_TIME}}{90}
\entry{\code {LINENO}}{90}
\entry{\code {LINES}}{90}
\initial {M}
\entry{\code {MACHTYPE}}{89}
\entry{\code {MAIL}}{80}
\entry{\code {MAILCHECK}}{89}
\entry{\code {MAILPATH}}{80}
\entry{\code {MAPFILE}}{90}
\entry{\code {mark-modified-lines}}{129}
\entry{\code {mark-symlinked-directories}}{129}
\entry{\code {match-hidden-files}}{130}
\entry{\code {menu-complete-display-prefix}}{130}
\entry{\code {meta-flag}}{129}
\entry{\code {MACHTYPE}}{90}
\entry{\code {MAIL}}{81}
\entry{\code {MAILCHECK}}{90}
\entry{\code {MAILPATH}}{81}
\entry{\code {MAPFILE}}{91}
\entry{\code {mark-modified-lines}}{130}
\entry{\code {mark-symlinked-directories}}{130}
\entry{\code {match-hidden-files}}{131}
\entry{\code {menu-complete-display-prefix}}{131}
\entry{\code {meta-flag}}{130}
\initial {O}
\entry{\code {OLDPWD}}{90}
\entry{\code {OPTARG}}{80}
\entry{\code {OPTERR}}{90}
\entry{\code {OPTIND}}{80}
\entry{\code {OSTYPE}}{90}
\entry{\code {output-meta}}{130}
\entry{\code {OLDPWD}}{91}
\entry{\code {OPTARG}}{81}
\entry{\code {OPTERR}}{91}
\entry{\code {OPTIND}}{81}
\entry{\code {OSTYPE}}{91}
\entry{\code {output-meta}}{131}
\initial {P}
\entry{\code {page-completions}}{130}
\entry{\code {PATH}}{80}
\entry{\code {PIPESTATUS}}{90}
\entry{\code {POSIXLY_CORRECT}}{90}
\entry{\code {PPID}}{90}
\entry{\code {PROMPT_COMMAND}}{90}
\entry{\code {PROMPT_DIRTRIM}}{90}
\entry{\code {PS0}}{90}
\entry{\code {PS1}}{80}
\entry{\code {PS2}}{80}
\entry{\code {PS3}}{90}
\entry{\code {PS4}}{90}
\entry{\code {PWD}}{90}
\entry{\code {page-completions}}{131}
\entry{\code {PATH}}{81}
\entry{\code {PIPESTATUS}}{91}
\entry{\code {POSIXLY_CORRECT}}{91}
\entry{\code {PPID}}{91}
\entry{\code {PROMPT_COMMAND}}{91}
\entry{\code {PROMPT_DIRTRIM}}{91}
\entry{\code {PS0}}{91}
\entry{\code {PS1}}{81}
\entry{\code {PS2}}{81}
\entry{\code {PS3}}{91}
\entry{\code {PS4}}{91}
\entry{\code {PWD}}{91}
\initial {R}
\entry{\code {RANDOM}}{91}
\entry{\code {READLINE_ARGUMENT}}{91}
\entry{\code {READLINE_LINE}}{91}
\entry{\code {READLINE_MARK}}{91}
\entry{\code {READLINE_POINT}}{91}
\entry{\code {REPLY}}{91}
\entry{\code {revert-all-at-newline}}{130}
\entry{\code {RANDOM}}{92}
\entry{\code {READLINE_ARGUMENT}}{92}
\entry{\code {READLINE_LINE}}{92}
\entry{\code {READLINE_MARK}}{92}
\entry{\code {READLINE_POINT}}{92}
\entry{\code {REPLY}}{92}
\entry{\code {revert-all-at-newline}}{131}
\initial {S}
\entry{\code {search-ignore-case}}{130}
\entry{\code {SECONDS}}{91}
\entry{\code {SHELL}}{91}
\entry{\code {SHELLOPTS}}{91}
\entry{\code {SHLVL}}{91}
\entry{\code {show-all-if-ambiguous}}{130}
\entry{\code {show-all-if-unmodified}}{130}
\entry{\code {show-mode-in-prompt}}{131}
\entry{\code {skip-completed-text}}{131}
\entry{\code {SRANDOM}}{91}
\entry{\code {search-ignore-case}}{131}
\entry{\code {SECONDS}}{92}
\entry{\code {SHELL}}{92}
\entry{\code {SHELLOPTS}}{92}
\entry{\code {SHLVL}}{92}
\entry{\code {show-all-if-ambiguous}}{131}
\entry{\code {show-all-if-unmodified}}{131}
\entry{\code {show-mode-in-prompt}}{132}
\entry{\code {skip-completed-text}}{132}
\entry{\code {SRANDOM}}{92}
\initial {T}
\entry{\code {TEXTDOMAIN}}{8}
\entry{\code {TEXTDOMAINDIR}}{8}
\entry{\code {TIMEFORMAT}}{92}
\entry{\code {TMOUT}}{92}
\entry{\code {TMPDIR}}{92}
\entry{\code {TIMEFORMAT}}{93}
\entry{\code {TMOUT}}{93}
\entry{\code {TMPDIR}}{93}
\initial {U}
\entry{\code {UID}}{92}
\entry{\code {UID}}{93}
\initial {V}
\entry{\code {vi-cmd-mode-string}}{131}
\entry{\code {vi-ins-mode-string}}{131}
\entry{\code {visible-stats}}{131}
\entry{\code {vi-cmd-mode-string}}{132}
\entry{\code {vi-ins-mode-string}}{132}
\entry{\code {visible-stats}}{132}
+513 -507
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2023 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Thu Aug 10 10:49:27 EDT 2023
@set LASTCHANGE Tue Aug 15 16:02:41 EDT 2023
@set EDITION 5.3
@set VERSION 5.3
@set UPDATED 10 August 2023
@set UPDATED 15 August 2023
@set UPDATED-MONTH August 2023
+11 -4
View File
@@ -100,13 +100,14 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins -I${srcdir} \
.c.o:
$(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $<
ALLPROG = print truefalse sleep finfo logname basename dirname fdflags \
tty pathchk tee head mkdir rmdir mkfifo mktemp printenv id whoami \
uname sync push ln unlink realpath strftime mypid setpgid seq rm \
accept csv dsv cut stat getconf kv
OTHERPROG = necho hello cat pushd asort
SUBDIRS = perl
all: $(SHOBJ_STATUS)
supported: $(ALLPROG)
@@ -262,14 +263,20 @@ pushd: pushd.o
clean:
$(RM) $(ALLPROG) $(OTHERPROG) *.o
-( cd perl && ${MAKE} ${MFLAGS} $@ )
-for subdir in $(SUBDIRS); do \
( cd $$subdir && test -f Makefile && ${MAKE} ${MFLAGS} $@ ) ; \
done
mostlyclean: clean
-( cd perl && ${MAKE} ${MFLAGS} $@ )
-for subdir in $(SUBDIRS); do \
( cd $$subdir && test -f Makefile && ${MAKE} ${MFLAGS} $@ ) ; \
done
distclean maintainer-clean: clean
$(RM) Makefile Makefile.inc Makefile.sample pushd.c
-( cd perl && ${MAKE} ${MFLAGS} $@ )
-for subdir in $(SUBDIRS); do \
( cd $$subdir && test -f Makefile && ${MAKE} ${MFLAGS} $@ ) ; \
done
installdirs:
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(loadablesdir)
+20 -2
View File
@@ -381,6 +381,12 @@ uw_close (void *fd)
close ((intptr_t) fd); /* XXX */
}
static void
uw_restore_lineno (void *line)
{
line_number = (intptr_t) line;
}
/* Return the line number of the currently executing command. */
int
executing_line_number (void)
@@ -884,11 +890,15 @@ execute_command_internal (COMMAND *command, int asynchronous, int pipe_in, int p
if (command->flags & CMD_STDIN_REDIR)
command->value.Simple->flags |= CMD_STDIN_REDIR;
begin_unwind_frame ("simple_lineno");
add_unwind_protect (uw_restore_lineno, (void *) (intptr_t) save_line_number);
SET_LINE_NUMBER (command->value.Simple->line);
exec_result =
execute_simple_command (command->value.Simple, pipe_in, pipe_out,
asynchronous, fds_to_close);
line_number = save_line_number;
discard_unwind_frame ("simple_lineno");
/* The temporary environment should be used for only the simple
command immediately following its definition. */
@@ -1085,6 +1095,9 @@ execute_command_internal (COMMAND *command, int asynchronous, int pipe_in, int p
#endif
line_number_for_err_trap = save_line_number = line_number; /* XXX */
begin_unwind_frame ("misc_compound");
add_unwind_protect (uw_restore_lineno, (void *) (intptr_t) save_line_number);
#if defined (DPAREN_ARITHMETIC)
if (command->type == cm_arith)
exec_result = execute_arith_command (command->value.Arith);
@@ -1099,6 +1112,7 @@ execute_command_internal (COMMAND *command, int asynchronous, int pipe_in, int p
exec_result = execute_intern_function (command->value.Function_def->name,
command->value.Function_def);
line_number = save_line_number;
discard_unwind_frame ("misc_compound");
if (was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
{
@@ -2916,6 +2930,7 @@ execute_for_command (FOR_COM *for_command)
begin_unwind_frame ("for");
add_unwind_protect (uw_dispose_words, releaser);
add_unwind_protect (uw_restore_lineno, (void *) (intptr_t) save_line_number);
#if 0
if (lexical_scoping)
@@ -3450,6 +3465,7 @@ execute_select_command (SELECT_COM *select_command)
begin_unwind_frame ("select");
add_unwind_protect (uw_dispose_words, releaser);
add_unwind_protect (uw_restore_lineno, (void *) (intptr_t) save_line_number);
if (select_command->flags & CMD_IGNORE_RETURN)
select_command->action->flags |= CMD_IGNORE_RETURN;
@@ -3594,6 +3610,7 @@ execute_case_command (CASE_COM *case_command)
begin_unwind_frame ("case");
add_unwind_protect (xfree, word);
add_unwind_protect (uw_restore_lineno, (void *) (intptr_t) save_line_number);
#define EXIT_CASE() goto exit_case_command
@@ -4432,7 +4449,7 @@ execute_simple_command (SIMPLE_COM *simple_command, int pipe_in, int pipe_out, i
if (dofork)
{
char *p;
char *p, *xc;
/* Do this now, because execute_disk_command will do it anyway in the
vast majority of cases. */
@@ -4441,7 +4458,8 @@ execute_simple_command (SIMPLE_COM *simple_command, int pipe_in, int pipe_out, i
/* Don't let a DEBUG trap overwrite the command string to be saved with
the process/job associated with this child. */
fork_flags = async ? FORK_ASYNC : 0;
if (make_child (p = savestring (the_printed_command_except_trap), fork_flags) == 0)
xc = the_printed_command_except_trap;
if (make_child (p = xc ? savestring (xc) : savestring (""), fork_flags) == 0)
{
already_forked = 1;
cmdflags |= CMD_NO_FORK;
+1 -1
View File
@@ -208,7 +208,7 @@ info dvi ps pdf html:
# update these someday
$(OBJECTS): ${top_builddir}/config.h libgnuintl.h
$(OBJECTS): ${top_builddir}/config.h libgnuintl.h libintl.h
bindtextdom.o dcgettext.o dcigettext.o dcngettext.o dgettext.o dngettext.o finddomain.o gettext.o intl-compat.o loadmsgcat.o localealias.o ngettext.o textdomain.o: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
dcigettext.o loadmsgcat.o: $(srcdir)/hash-string.h
explodename.o l10nflist.o: $(srcdir)/loadinfo.h
+4 -4
View File
@@ -288,14 +288,14 @@ current one.
The line selected from the history is called the @dfn{event},
and the portions of that line that are acted upon are called @dfn{words}.
The dfn{event designator} selects the event, the optional
The line is broken into words in the same fashion
that Bash does, so that several words
surrounded by quotes are considered one word.
The @dfn{event designator} selects the event, the optional
@dfn{word designator} selects words from the event, and
various optional @dfn{modifiers} are available to manipulate the
selected words.
The line is broken into words in the same fashion
that Bash does, so that several words
surrounded by quotes are considered one word.
History expansions are introduced by the appearance of the
history expansion character, which is @samp{!} by default.
History expansions may appear anywhere in the input, but do not nest.
+15 -13
View File
@@ -49,6 +49,8 @@
extern int errno;
#endif /* !errno */
int _rl_use_tty_xon_xoff = 1;
rl_vintfunc_t *rl_prep_term_function = rl_prep_terminal;
rl_voidfunc_t *rl_deprep_term_function = rl_deprep_terminal;
@@ -275,15 +277,16 @@ prepare_terminal_settings (int meta_flag, TIOTYPE oldtio, TIOTYPE *tiop)
}
#if defined (TIOCGETC)
# if defined (USE_XON_XOFF)
/* Get rid of terminal output start and stop characters. */
tiop->tchars.t_stopc = -1; /* C-s */
tiop->tchars.t_startc = -1; /* C-q */
if (_rl_use_tty_xon_xoff == 0)
{
/* Get rid of terminal output start and stop characters. */
tiop->tchars.t_stopc = -1; /* C-s */
tiop->tchars.t_startc = -1; /* C-q */
/* If there is an XON character, bind it to restart the output. */
if (oldtio.tchars.t_startc != -1)
rl_bind_key (oldtio.tchars.t_startc, rl_restart_output);
# endif /* USE_XON_XOFF */
/* If there is an XON character, bind it to restart the output. */
if (oldtio.tchars.t_startc != -1)
rl_bind_key (oldtio.tchars.t_startc, rl_restart_output);
}
/* If there is an EOF char, bind _rl_eof_char to it. */
if (oldtio.tchars.t_eofc != -1)
@@ -514,14 +517,13 @@ prepare_terminal_settings (int meta_flag, TIOTYPE oldtio, TIOTYPE *tiop)
if ((unsigned char) oldtio.c_cc[VEOF] != (unsigned char) _POSIX_VDISABLE)
_rl_eof_char = oldtio.c_cc[VEOF];
#if defined (USE_XON_XOFF)
if (_rl_use_tty_xon_xoff == 0)
#if defined (IXANY)
tiop->c_iflag &= ~(IXON | IXANY);
tiop->c_iflag &= ~(IXON | IXANY);
#else
/* `strict' Posix systems do not define IXANY. */
tiop->c_iflag &= ~IXON;
/* `strict' Posix systems do not define IXANY. */
tiop->c_iflag &= ~IXON;
#endif /* IXANY */
#endif /* USE_XON_XOFF */
/* Only turn this off if we are using all 8 bits. */
if (((tiop->c_cflag & CSIZE) == CS8) || meta_flag)
+1 -1
View File
@@ -56,7 +56,7 @@
#if defined (HAVE_LOCALE_CHARSET)
extern const char *locale_charset (void);
#else
extern char *get_locale_var (char *);
extern char *get_locale_var (const char *);
#endif
extern int locale_utf8locale;
+37 -18
View File
@@ -371,6 +371,9 @@ static WORD_LIST *expand_declaration_argument (WORD_LIST *, WORD_LIST *);
static WORD_LIST *shell_expand_word_list (WORD_LIST *, int);
static WORD_LIST *expand_word_list_internal (WORD_LIST *, int);
static void posix_variable_assignment_error (int);
static void bash_variable_assignment_error (int);
static int do_assignment_statements (WORD_LIST *, char *, int);
/* **************************************************************** */
@@ -8023,14 +8026,14 @@ parameter_brace_expand_rhs (char *name, char *value,
if ((v == 0 || readonly_p (v)) && interactive_shell == 0 && posixly_correct)
{
last_command_exit_value = EXECUTION_FAILURE;
exp_jump_to_top_level (FORCE_EOF);
posix_variable_assignment_error (1);
}
else
{
if (vname != name)
free (vname);
last_command_exit_value = EX_BADUSAGE;
exp_jump_to_top_level (DISCARD);
bash_variable_assignment_error (0);
}
}
@@ -12850,7 +12853,7 @@ expand_declaration_argument (WORD_LIST *tlist, WORD_LIST *wcmd)
if (t == 0)
{
last_command_exit_value = EXECUTION_FAILURE;
exp_jump_to_top_level (DISCARD);
bash_variable_assignment_error (0);
}
}
@@ -12943,6 +12946,34 @@ shell_expand_word_list (WORD_LIST *tlist, int eflags)
return (new_list);
}
/* Handle a variable assignment error in default mode. */
static inline void
bash_variable_assignment_error (int force_exit)
{
if (interactive_shell == 0 && force_exit)
exp_jump_to_top_level (FORCE_EOF);
else if (interactive_shell == 0)
exp_jump_to_top_level (DISCARD); /* XXX - maybe change later */
else
exp_jump_to_top_level (DISCARD);
}
/* Handle a variable assignment error in posix mode. */
static inline void
posix_variable_assignment_error (int force_exit)
{
#if defined (STRICT_POSIX)
if (posixly_correct && interactive_shell == 0)
#else
if (posixly_correct && interactive_shell == 0 && executing_command_builtin == 0)
#endif
exp_jump_to_top_level (FORCE_EOF);
else if (force_exit)
exp_jump_to_top_level (FORCE_EOF);
else
exp_jump_to_top_level (DISCARD);
}
/* Perform assignment statements optionally preceding a command name COMMAND.
If COMMAND == NULL, is_nullcmd usually == 1. Follow the POSIX rules for
variable assignment errors. */
@@ -12983,14 +13014,7 @@ do_assignment_statements (WORD_LIST *varlist, char *command, int is_nullcmd)
if (is_nullcmd) /* assignment statement */
{
last_command_exit_value = EXECUTION_FAILURE;
#if defined (STRICT_POSIX)
if (posixly_correct && interactive_shell == 0)
#else
if (posixly_correct && interactive_shell == 0 && executing_command_builtin == 0)
#endif
exp_jump_to_top_level (FORCE_EOF);
else
exp_jump_to_top_level (DISCARD);
posix_variable_assignment_error (0);
}
/* In posix mode, assignment errors in the temporary environment
cause a non-interactive shell executing a special builtin to
@@ -13004,14 +13028,9 @@ do_assignment_statements (WORD_LIST *varlist, char *command, int is_nullcmd)
{
last_command_exit_value = EXECUTION_FAILURE;
#if defined (STRICT_POSIX)
exp_jump_to_top_level ((interactive_shell == 0) ? FORCE_EOF : DISCARD);
posix_variable_assignment_error (1);
#else
if (interactive_shell == 0 && is_special_builtin)
exp_jump_to_top_level (FORCE_EOF);
else if (interactive_shell == 0)
exp_jump_to_top_level (DISCARD); /* XXX - maybe change later */
else
exp_jump_to_top_level (DISCARD);
bash_variable_assignment_error (is_special_builtin);
#endif
}
else
+1 -1
View File
@@ -115,7 +115,7 @@ TEST
2
./errors4.sub: line 20: var: readonly variable
after readonly assignment
./errors4.sub: line 26: break: x: numeric argument required
./errors4.sub: line 29: break: x: numeric argument required
1
2
./errors4.sub: line 20: var: readonly variable
+7
View File
@@ -65,6 +65,13 @@ this is ohio-state
1
0
1
1 hi 1
2 hi 0
!
!
0
1
0
testb
expand_aliases on
1
+16
View File
@@ -65,3 +65,19 @@ echo $?
echo $?
rm -f /tmp/notwrite
!; echo 1 hi $?
!& echo 2 hi $?
(echo !)
#echo !(echo c)
echo !>/dev/null
echo !</dev/null
! &
echo $?
!
echo $?
{ time & } 2>/dev/null
echo $?
+4
View File
@@ -148,6 +148,10 @@ echo four ; echo two
\!
\!
\!
1 hi 1
2 hi 0
!
!
a
b
c
+8
View File
@@ -34,3 +34,11 @@ echo "\!"
echo "$( echo '\!' )"
echo '\!'
# more stop characters post-bash-5.2
!; echo 1 hi $?
!& echo 2 hi $?
(echo !)
echo !>/dev/null
echo !</dev/null