mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-28 07:59:50 +02:00
interim fix for generic list functions to avoid pointer aliasing issues; documentation updates
This commit is contained in:
@@ -12855,3 +12855,25 @@ subst.c
|
||||
old `quoted' is now (flags & W_QUOTED); changed all callers
|
||||
appropriately
|
||||
|
||||
5/7
|
||||
---
|
||||
list.c,externs.h
|
||||
- list_reverse: change to use a void * scheme instead of GENERIC_LIST *
|
||||
scheme as a temporary fix for strict pointer aliasing issues
|
||||
Originally from Sam James <sam@gentoo.org>
|
||||
|
||||
general.h
|
||||
- REVERSE_LIST: change to use new void * argument scheme for now
|
||||
|
||||
list.c,externs.h
|
||||
- wlist_append,wlist_length: new WORD_LIST * specific versions of
|
||||
list_append and list_length, since all callers use WORD_LIST *
|
||||
arguments
|
||||
|
||||
subst.c,pcomplete.c,execute_cmd.c,
|
||||
builtins/common.c,builtins/printf.def,
|
||||
lib/sh/stringvec.c,lib/sh/stringlist.c
|
||||
- wlist_append,wlist_length: change callers to use new functions instead
|
||||
of list_append/list_length, since they're always called with
|
||||
WORD_LIST * arguments
|
||||
|
||||
|
||||
+2
-1
@@ -202,7 +202,8 @@ GCC_LINT_FLAGS = -O -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wno-parentheses
|
||||
-Wmissing-declarations -Winline \
|
||||
-Wmissing-prototypes -Wredundant-decls \
|
||||
-Wformat-security -pedantic \
|
||||
-Werror=incompatible-pointer-types
|
||||
-fstrict-aliasing -Wstrict-aliasing \
|
||||
-Werror=incompatible-pointer-types
|
||||
|
||||
GCC_LINT_CFLAGS = $(BASE_CCFLAGS) $(CPPFLAGS) $(GCC_LINT_FLAGS)
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/* common.c - utility functions for all builtins */
|
||||
|
||||
/* Copyright (C) 1987-2024 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1987-2026 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -384,7 +384,7 @@ remember_args (WORD_LIST *list, int destructive)
|
||||
{
|
||||
dispose_words (rest_of_args);
|
||||
rest_of_args = copy_word_list (list);
|
||||
posparam_count += list_length ((GENERIC_LIST *)list);
|
||||
posparam_count += wlist_length (list);
|
||||
}
|
||||
|
||||
if (destructive)
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
This file is printf.def, from which is created printf.c.
|
||||
It implements the builtin "printf" in Bash.
|
||||
|
||||
Copyright (C) 1997-2025 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2026 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -273,7 +273,7 @@ init_numarg ()
|
||||
size_t len;
|
||||
WORD_LIST *l;
|
||||
|
||||
len = list_length ((GENERIC_LIST *)orig_arglist);
|
||||
len = wlist_length (orig_arglist);
|
||||
narg_argv = (char **)xmalloc ((len + 2) * sizeof (char *)); /* +2 because we don't use 0 */
|
||||
|
||||
for (narg_argc = 1, l = orig_arglist; l; l = l->next)
|
||||
|
||||
+51
-45
@@ -152,80 +152,86 @@ IINNVVOOCCAATTIIOONN
|
||||
includes ii if the shell is interactive, so a shell script or a startup
|
||||
file can test this state.
|
||||
|
||||
The following paragraphs describe how bbaasshh executes its startup files.
|
||||
If any of the files exist but cannot be read, bbaasshh reports an error.
|
||||
Tildes are expanded in filenames as described below under TTiillddee EExxppaann--
|
||||
A _n_o_n_-_i_n_t_e_r_a_c_t_i_v_e _s_h_e_l_l is, not surprisingly, one that does not satisfy
|
||||
the tests for interactivity given above. A non-interactive shell is
|
||||
usually started to run commands from a script file supplied as an argu-
|
||||
ment (a _s_h_e_l_l _s_c_r_i_p_t) or from a string supplied with the --cc option.
|
||||
|
||||
The following paragraphs describe how bbaasshh executes its startup files.
|
||||
If any of the files exist but cannot be read, bbaasshh reports an error.
|
||||
Tildes in filenames are expanded as described below under TTiillddee EExxppaann--
|
||||
ssiioonn in the EEXXPPAANNSSIIOONN section.
|
||||
|
||||
When bbaasshh is invoked as an interactive login shell, or as a non-inter-
|
||||
active shell with the ----llooggiinn option, it first reads and executes com-
|
||||
mands from the file _/_e_t_c_/_p_r_o_f_i_l_e, if that file exists. After reading
|
||||
When bbaasshh is invoked as an interactive login shell, or as a non-inter-
|
||||
active shell with the ----llooggiinn option, it first reads and executes com-
|
||||
mands from the file _/_e_t_c_/_p_r_o_f_i_l_e, if that file exists. After reading
|
||||
that file, it looks for _~_/_._b_a_s_h___p_r_o_f_i_l_e, _~_/_._b_a_s_h___l_o_g_i_n, and _~_/_._p_r_o_f_i_l_e,
|
||||
in that order, and reads and executes commands from the first one that
|
||||
exists and is readable. The ----nnoopprrooffiillee option may be used when the
|
||||
in that order, and reads and executes commands from the first one that
|
||||
exists and is readable. The ----nnoopprrooffiillee option may be used when the
|
||||
shell is started to inhibit this behavior.
|
||||
|
||||
When an interactive login shell exits, or a non-interactive login shell
|
||||
executes the eexxiitt builtin command, bbaasshh reads and executes commands
|
||||
executes the eexxiitt builtin command, bbaasshh reads and executes commands
|
||||
from the file _~_/_._b_a_s_h___l_o_g_o_u_t, if it exists.
|
||||
|
||||
When an interactive shell that is not a login shell is started, bbaasshh
|
||||
reads and executes commands from _~_/_._b_a_s_h_r_c, if that file exists. The
|
||||
----nnoorrcc option inhibits this behavior. The ----rrccffiillee _f_i_l_e option causes
|
||||
When an interactive shell that is not a login shell is started, bbaasshh
|
||||
reads and executes commands from _~_/_._b_a_s_h_r_c, if that file exists. The
|
||||
----nnoorrcc option inhibits this behavior. The ----rrccffiillee _f_i_l_e option causes
|
||||
bbaasshh to use _f_i_l_e instead of _~_/_._b_a_s_h_r_c.
|
||||
|
||||
When bbaasshh is started non-interactively, to run a shell script, for ex-
|
||||
ample, it looks for the variable BBAASSHH__EENNVV in the environment, expands
|
||||
its value if it appears there, and uses the expanded value as the name
|
||||
of a file to read and execute. BBaasshh behaves as if the following com-
|
||||
mand were executed:
|
||||
When bbaasshh is started non-interactively, it looks for the variable
|
||||
BBAASSHH__EENNVV in the environment, expands its value if it appears there, and
|
||||
uses the expanded value as the name of a file to read and execute.
|
||||
BBaasshh behaves as if the following command were executed:
|
||||
|
||||
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
|
||||
|
||||
but does not use the value of the PPAATTHH variable to search for the file-
|
||||
name.
|
||||
|
||||
If bbaasshh is invoked with the name sshh, it tries to mimic the startup be-
|
||||
havior of historical versions of sshh as closely as possible, while con-
|
||||
forming to the POSIX standard as well. When invoked as an interactive
|
||||
login shell, or a non-interactive shell with the ----llooggiinn option, it
|
||||
first attempts to read and execute commands from _/_e_t_c_/_p_r_o_f_i_l_e and
|
||||
If bbaasshh is invoked with the name sshh, it tries to mimic the startup be-
|
||||
havior of historical versions of sshh as closely as possible, while con-
|
||||
forming to the POSIX standard as well. When invoked as an interactive
|
||||
login shell, or a non-interactive shell with the ----llooggiinn option, it
|
||||
first attempts to read and execute commands from _/_e_t_c_/_p_r_o_f_i_l_e and
|
||||
_~_/_._p_r_o_f_i_l_e, in that order. The ----nnoopprrooffiillee option inhibits this behav-
|
||||
ior. When invoked as an interactive shell with the name sshh, bbaasshh looks
|
||||
for the variable EENNVV, expands its value if it is defined, and uses the
|
||||
expanded value as the name of a file to read and execute. Since a
|
||||
shell invoked as sshh does not attempt to read and execute commands from
|
||||
any other startup files, the ----rrccffiillee option has no effect. A non-in-
|
||||
teractive shell invoked with the name sshh does not attempt to read any
|
||||
for the variable EENNVV, expands its value if it is defined, and uses the
|
||||
expanded value as the name of a file to read and execute. Since a
|
||||
shell invoked as sshh does not attempt to read and execute commands from
|
||||
any other startup files, the ----rrccffiillee option has no effect. A non-in-
|
||||
teractive shell invoked with the name sshh does not attempt to read any
|
||||
other startup files.
|
||||
|
||||
When invoked as sshh, bbaasshh enters posix mode after reading the startup
|
||||
When invoked as sshh, bbaasshh enters posix mode after reading the startup
|
||||
files.
|
||||
|
||||
When bbaasshh is started in posix mode, as with the ----ppoossiixx command line
|
||||
When bbaasshh is started in posix mode, as with the ----ppoossiixx command line
|
||||
option, it follows the POSIX standard for startup files. In this mode,
|
||||
interactive shells expand the EENNVV variable and read and execute com-
|
||||
mands from the file whose name is the expanded value. No other startup
|
||||
files are read.
|
||||
interactive shells expand the EENNVV variable and read and execute com-
|
||||
mands from the file whose name is the expanded value. A posix-mode
|
||||
shell does not attempt to read any other startup files, even when in-
|
||||
voked as a login shell.
|
||||
|
||||
BBaasshh attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by the historical
|
||||
and rarely-seen remote shell daemon, usually _r_s_h_d, or the secure shell
|
||||
daemon _s_s_h_d. If bbaasshh determines it is being run non-interactively in
|
||||
this fashion, it reads and executes commands from _~_/_._b_a_s_h_r_c, if that
|
||||
file exists and is readable. BBaasshh does not read this file if invoked
|
||||
as sshh. The ----nnoorrcc option inhibits this behavior, and the ----rrccffiillee op-
|
||||
tion makes bbaasshh use a different file instead of _~_/_._b_a_s_h_r_c, but neither
|
||||
_r_s_h_d nor _s_s_h_d generally invoke the shell with those options or allow
|
||||
connected to a network connection, as when executed by the secure shell
|
||||
daemon _s_s_h_d or the historical and rarely-seen remote shell daemon, usu-
|
||||
ally _r_s_h_d. If bbaasshh determines it is being run non-interactively in
|
||||
this fashion, it reads and executes commands from _~_/_._b_a_s_h_r_c, if that
|
||||
file exists and is readable. BBaasshh does not read this file if invoked
|
||||
as sshh. The ----nnoorrcc option inhibits this behavior, and the ----rrccffiillee op-
|
||||
tion makes bbaasshh use a different file instead of _~_/_._b_a_s_h_r_c, but neither
|
||||
_s_s_h_d nor _r_s_h_d generally invoke the shell with those options or allow
|
||||
them to be specified.
|
||||
|
||||
If the shell is started with the effective user (group) id not equal to
|
||||
the real user (group) id, and the --pp option is not supplied, no startup
|
||||
files are read, shell functions are not inherited from the environment,
|
||||
the SSHHEELLLLOOPPTTSS, BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they ap-
|
||||
pear in the environment, are ignored, and the effective user id is set
|
||||
to the real user id. If the --pp option is supplied at invocation, the
|
||||
startup behavior is the same, but the effective user id is not reset.
|
||||
the SSHHEELLLLOOPPTTSS, BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they ap-
|
||||
pear in the environment, are ignored, and the effective user id is set
|
||||
to the real user id. If the --pp option is supplied at invocation, the
|
||||
startup behavior is the same, but bbaasshh does not reset the effective
|
||||
user id.
|
||||
|
||||
DDEEFFIINNIITTIIOONNSS
|
||||
The following definitions are used throughout the rest of this docu-
|
||||
@@ -7622,4 +7628,4 @@ BBUUGGSS
|
||||
|
||||
Array variables may not (yet) be exported.
|
||||
|
||||
GNU Bash 5.3 2026 March 3 _B_A_S_H(1)
|
||||
GNU Bash 5.3 2026 April 29 _B_A_S_H(1)
|
||||
|
||||
+19
-10
@@ -5,7 +5,7 @@
|
||||
.\" Case Western Reserve University
|
||||
.\" chet.ramey@case.edu
|
||||
.\"
|
||||
.\" Last Change: Tue Mar 3 10:52:34 EST 2026
|
||||
.\" Last Change: Wed May 6 16:08:33 EDT 2026
|
||||
.\"
|
||||
.\" For bash_builtins, strip all but "SHELL BUILTIN COMMANDS" section
|
||||
.\" For rbash, strip all but "RESTRICTED SHELL" section
|
||||
@@ -22,7 +22,7 @@
|
||||
.ds zX \" empty
|
||||
.if \n(zZ=1 .ig zZ
|
||||
.if \n(zY=1 .ig zY
|
||||
.TH BASH 1 "2026 March 3" "GNU Bash 5.3"
|
||||
.TH BASH 1 "2026 May 6" "GNU Bash 5.3"
|
||||
.\"
|
||||
.ie \n(.g \{\
|
||||
.ds ' \(aq
|
||||
@@ -376,13 +376,21 @@ includes
|
||||
if the shell is interactive,
|
||||
so a shell script or a startup file can test this state.
|
||||
.PP
|
||||
A \fInon-interactive shell\fP is, not surprisingly, one that does not
|
||||
satisfy the tests for interactivity given above.
|
||||
A non-interactive shell is usually started to run commands from a script
|
||||
file supplied as an argument (a \fIshell script\fP)
|
||||
or from a string supplied with the
|
||||
.B \-c
|
||||
option.
|
||||
.PP
|
||||
The following paragraphs describe how
|
||||
.B bash
|
||||
executes its startup files.
|
||||
If any of the files exist but cannot be read,
|
||||
.B bash
|
||||
reports an error.
|
||||
Tildes are expanded in filenames as described below under
|
||||
Tildes in filenames are expanded as described below under
|
||||
.B "Tilde Expansion"
|
||||
in the
|
||||
.SM
|
||||
@@ -429,7 +437,7 @@ to use \fIfile\fP instead of
|
||||
.PP
|
||||
When
|
||||
.B bash
|
||||
is started non-interactively, to run a shell script, for example, it
|
||||
is started non-interactively, it
|
||||
looks for the variable
|
||||
.SM
|
||||
.B BASH_ENV
|
||||
@@ -504,13 +512,14 @@ In this mode, interactive shells expand the
|
||||
.B ENV
|
||||
variable and read and execute commands from the file
|
||||
whose name is the expanded value.
|
||||
No other startup files are read.
|
||||
A posix-mode shell does not attempt to read any other startup files,
|
||||
even when invoked as a login shell.
|
||||
.PP
|
||||
.B Bash
|
||||
attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by
|
||||
the historical and rarely-seen remote shell daemon, usually \fIrshd\fP,
|
||||
or the secure shell daemon \fIsshd\fP.
|
||||
the secure shell daemon \fIsshd\fP
|
||||
or the historical and rarely-seen remote shell daemon, usually \fIrshd\fP.
|
||||
If
|
||||
.B bash
|
||||
determines it is being run non-interactively in this fashion,
|
||||
@@ -526,7 +535,7 @@ option inhibits this behavior, and the
|
||||
option makes \fBbash\fP use a different file instead of
|
||||
.FN \*~/.bashrc ,
|
||||
but neither
|
||||
\fIrshd\fP nor \fIsshd\fP generally invoke the shell with those options
|
||||
\fIsshd\fP nor \fIrshd\fP generally invoke the shell with those options
|
||||
or allow them to be specified.
|
||||
.PP
|
||||
If the shell is started with the effective user (group) id not equal to the
|
||||
@@ -544,7 +553,7 @@ and
|
||||
variables, if they appear in the environment, are ignored,
|
||||
and the effective user id is set to the real user id.
|
||||
If the \fB\-p\fP option is supplied at invocation, the startup behavior is
|
||||
the same, but the effective user id is not reset.
|
||||
the same, but \fBbash\fP does not reset the effective user id.
|
||||
.SH DEFINITIONS
|
||||
The following definitions are used throughout the rest of this
|
||||
document.
|
||||
@@ -5038,7 +5047,7 @@ all lines of the here-document are subjected to
|
||||
parameter expansion, command substitution, and arithmetic expansion,
|
||||
the character sequence
|
||||
.B \e<newline>
|
||||
is treated literally, and
|
||||
is treated as a line continuation, and
|
||||
.B \e
|
||||
must be used to quote the characters
|
||||
.BR \e ,
|
||||
|
||||
+20
-12
@@ -1,5 +1,5 @@
|
||||
<!-- Creator : groff version 1.23.0 -->
|
||||
<!-- CreationDate: Mon Mar 16 15:46:12 2026 -->
|
||||
<!-- CreationDate: Wed Apr 29 10:18:50 2026 -->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
@@ -458,11 +458,19 @@ determined by <i>isatty</i>(3)), or one started with the
|
||||
<b>i</b> if the shell is interactive, so a shell script or a
|
||||
startup file can test this state.</p>
|
||||
|
||||
<p style="margin-left:9%; margin-top: 1em">A
|
||||
<i>non-interactive shell</i> is, not surprisingly, one that
|
||||
does not satisfy the tests for interactivity given above. A
|
||||
non-interactive shell is usually started to run commands
|
||||
from a script file supplied as an argument (a <i>shell
|
||||
script</i>) or from a string supplied with the
|
||||
<b>−c</b> option.</p>
|
||||
|
||||
<p style="margin-left:9%; margin-top: 1em">The following
|
||||
paragraphs describe how <b>bash</b> executes its startup
|
||||
files. If any of the files exist but cannot be read,
|
||||
<b>bash</b> reports an error. Tildes are expanded in
|
||||
filenames as described below under <b>Tilde Expansion</b> in
|
||||
<b>bash</b> reports an error. Tildes in filenames are
|
||||
expanded as described below under <b>Tilde Expansion</b> in
|
||||
the <b><small>EXPANSION</small></b> section.</p>
|
||||
|
||||
<p style="margin-left:9%; margin-top: 1em">When <b>bash</b>
|
||||
@@ -493,8 +501,7 @@ interactive shell that is not a login shell is started,
|
||||
<A HREF="file:~/.bashrc"><i>~/.bashrc</i></A>.</p>
|
||||
|
||||
<p style="margin-left:9%; margin-top: 1em">When <b>bash</b>
|
||||
is started non-interactively, to run a shell script, for
|
||||
example, it looks for the variable
|
||||
is started non-interactively, it looks for the variable
|
||||
<b><small>BASH_ENV</small></b> in the environment, expands
|
||||
its value if it appears there, and uses the expanded value
|
||||
as the name of a file to read and execute. <b>Bash</b>
|
||||
@@ -539,14 +546,15 @@ is started in posix mode, as with the
|
||||
the <small>POSIX</small> standard for startup files. In this
|
||||
mode, interactive shells expand the
|
||||
<b><small>ENV</small></b> variable and read and execute
|
||||
commands from the file whose name is the expanded value. No
|
||||
other startup files are read.</p>
|
||||
commands from the file whose name is the expanded value. A
|
||||
posix-mode shell does not attempt to read any other startup
|
||||
files, even when invoked as a login shell.</p>
|
||||
|
||||
<p style="margin-left:9%; margin-top: 1em"><b>Bash</b>
|
||||
attempts to determine when it is being run with its standard
|
||||
input connected to a network connection, as when executed by
|
||||
the historical and rarely-seen remote shell daemon, usually
|
||||
<i>rshd</i>, or the secure shell daemon <i>sshd</i>. If
|
||||
the secure shell daemon <i>sshd</i> or the historical and
|
||||
rarely-seen remote shell daemon, usually <i>rshd</i>. If
|
||||
<b>bash</b> determines it is being run non-interactively in
|
||||
this fashion, it reads and executes commands from
|
||||
<A HREF="file:~/.bashrc"><i>~/.bashrc</i></A>, if that file exists and is readable.
|
||||
@@ -554,7 +562,7 @@ this fashion, it reads and executes commands from
|
||||
The <b>−−norc</b> option inhibits this behavior,
|
||||
and the <b>−−rcfile</b> option makes <b>bash</b>
|
||||
use a different file instead of <A HREF="file:~/.bashrc"><i>~/.bashrc</i></A>, but
|
||||
neither <i>rshd</i> nor <i>sshd</i> generally invoke the
|
||||
neither <i>sshd</i> nor <i>rshd</i> generally invoke the
|
||||
shell with those options or allow them to be specified.</p>
|
||||
|
||||
<p style="margin-left:9%; margin-top: 1em">If the shell is
|
||||
@@ -567,8 +575,8 @@ inherited from the environment, the
|
||||
variables, if they appear in the environment, are ignored,
|
||||
and the effective user id is set to the real user id. If the
|
||||
<b>−p</b> option is supplied at invocation, the
|
||||
startup behavior is the same, but the effective user id is
|
||||
not reset.</p>
|
||||
startup behavior is the same, but <b>bash</b> does not reset
|
||||
the effective user id.</p>
|
||||
|
||||
<h2>DEFINITIONS
|
||||
<a name="DEFINITIONS"></a>
|
||||
|
||||
+119
-96
@@ -1,9 +1,9 @@
|
||||
This is bash.info, produced by makeinfo version 7.2 from bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.3, 16 March 2026).
|
||||
Bash shell (version 5.3, 29 April 2026).
|
||||
|
||||
This is Edition 5.3, last updated 16 March 2026, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 29 April 2026, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Copyright © 1988-2026 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, 16 March 2026). The Bash home page is
|
||||
Bash shell (version 5.3, 29 April 2026). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.3, last updated 16 March 2026, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 29 April 2026, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -3361,7 +3361,7 @@ File: bash.info, Node: Shell Scripts, Prev: Executing Commands, Up: Basic She
|
||||
3.8 Shell Scripts
|
||||
=================
|
||||
|
||||
A shell script is a text file containing shell commands. When such a
|
||||
A “shell script” is a text file containing shell commands. When such a
|
||||
file is used as the first non-option argument when invoking Bash, and
|
||||
neither the ‘-c’ nor ‘-s’ option is supplied (*note Invoking Bash::),
|
||||
Bash reads and executes commands from the file, then exits. This mode
|
||||
@@ -6666,6 +6666,12 @@ standard input and standard error are both connected to terminals (as
|
||||
determined by isatty(3)), or one started with the ‘-i’ option. *Note
|
||||
Interactive Shells::, for more information.
|
||||
|
||||
A “non-interactive shell” is, not surprisingly, one that does not
|
||||
satisfy the tests for interactivity given above. A non-interactive
|
||||
shell is usually started to run commands from a script file supplied as
|
||||
an argument (*note Shell Scripts::) or from a string supplied with the
|
||||
‘-c’ option.
|
||||
|
||||
If arguments remain after option processing, and neither the ‘-c’ nor
|
||||
the ‘-s’ option has been supplied, the first argument is treated as the
|
||||
name of a file containing shell commands (*note Shell Scripts::). When
|
||||
@@ -6677,6 +6683,22 @@ If no commands are executed, the exit status is 0. Bash first attempts
|
||||
to open the file in the current directory, and, if no file is found,
|
||||
searches the directories in ‘PATH’ for the script.
|
||||
|
||||
For example, the following command starts an interactive shell:
|
||||
|
||||
bash
|
||||
|
||||
whereas this command will read and execute commands from ‘filename’:
|
||||
|
||||
bash filename
|
||||
|
||||
This command will execute ‘echo hello’:
|
||||
|
||||
bash -c 'echo hello'
|
||||
|
||||
and this will execute the same command read from the standard input:
|
||||
|
||||
echo echo hello | bash
|
||||
|
||||
|
||||
File: bash.info, Node: Bash Startup Files, Next: Interactive Shells, Prev: Invoking Bash, Up: Bash Features
|
||||
|
||||
@@ -6684,8 +6706,8 @@ File: bash.info, Node: Bash Startup Files, Next: Interactive Shells, Prev: In
|
||||
======================
|
||||
|
||||
This section describes how Bash executes its startup files. If any of
|
||||
the files exist but cannot be read, Bash reports an error. Tildes are
|
||||
expanded in filenames as described above under Tilde Expansion (*note
|
||||
the files exist but cannot be read, Bash reports an error. Tildes in
|
||||
filenames are expanded as described above under Tilde Expansion (*note
|
||||
Tilde Expansion::).
|
||||
|
||||
Interactive shells are described in *note Interactive Shells::.
|
||||
@@ -6763,21 +6785,22 @@ Invoked in POSIX mode
|
||||
When Bash is started in POSIX mode, as with the ‘--posix’ command line
|
||||
option, it follows the POSIX standard for startup files. In this mode,
|
||||
interactive shells expand the ‘ENV’ variable and read and execute
|
||||
commands from the file whose name is the expanded value. No other
|
||||
startup files are read.
|
||||
commands from the file whose name is the expanded value. A posix-mode
|
||||
shell does not attempt to read any other startup files, even when
|
||||
invoked as a login shell.
|
||||
|
||||
Invoked by remote shell daemon
|
||||
..............................
|
||||
|
||||
Bash attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by the historical
|
||||
and rarely-seen remote shell daemon, usually ‘rshd’, or the secure shell
|
||||
daemon ‘sshd’. If Bash determines it is being run non-interactively in
|
||||
connected to a network connection, as when executed by the secure shell
|
||||
daemon ‘sshd’. or the historical and rarely-seen remote shell daemon,
|
||||
usually ‘rshd’. If Bash determines it is being run non-interactively in
|
||||
this fashion, it reads and executes commands from ‘~/.bashrc’, if that
|
||||
file exists and is readable. Bash does not read this file if invoked as
|
||||
‘sh’. The ‘--norc’ option inhibits this behavior, and the ‘--rcfile’
|
||||
option makes Bash use a different file instead of ‘~/.bashrc’, but
|
||||
neither ‘rshd’ nor ‘sshd’ generally invoke the shell with those options
|
||||
neither ‘sshd’ nor ‘rshd’ generally invoke the shell with those options
|
||||
or allow them to be specified.
|
||||
|
||||
Invoked with unequal effective and real UID/GIDs
|
||||
@@ -6789,8 +6812,8 @@ files are read, shell functions are not inherited from the environment,
|
||||
the ‘SHELLOPTS’, ‘BASHOPTS’, ‘CDPATH’, and ‘GLOBIGNORE’ variables, if
|
||||
they appear in the environment, are ignored, and the effective user id
|
||||
is set to the real user id. If the ‘-p’ option is supplied at
|
||||
invocation, the startup behavior is the same, but the effective user id
|
||||
is not reset.
|
||||
invocation, the startup behavior is the same, but Bash does not reset
|
||||
the effective user id.
|
||||
|
||||
|
||||
File: bash.info, Node: Interactive Shells, Next: Bash Conditional Expressions, Prev: Bash Startup Files, Up: Bash Features
|
||||
@@ -13791,87 +13814,87 @@ Node: Environment140986
|
||||
Node: Exit Status142889
|
||||
Node: Signals144948
|
||||
Node: Shell Scripts149896
|
||||
Node: Shell Builtin Commands153194
|
||||
Node: Bourne Shell Builtins155535
|
||||
Node: Bash Builtins182254
|
||||
Node: Modifying Shell Behavior219989
|
||||
Node: The Set Builtin220331
|
||||
Node: The Shopt Builtin232325
|
||||
Node: Special Builtins249378
|
||||
Node: Shell Variables250367
|
||||
Node: Bourne Shell Variables250801
|
||||
Node: Bash Variables253309
|
||||
Node: Bash Features292593
|
||||
Node: Invoking Bash293607
|
||||
Node: Bash Startup Files300191
|
||||
Node: Interactive Shells305433
|
||||
Node: What is an Interactive Shell?305841
|
||||
Node: Is this Shell Interactive?306503
|
||||
Node: Interactive Shell Behavior307327
|
||||
Node: Bash Conditional Expressions311088
|
||||
Node: Shell Arithmetic316505
|
||||
Node: Aliases319832
|
||||
Node: Arrays322966
|
||||
Node: The Directory Stack330668
|
||||
Node: Directory Stack Builtins331465
|
||||
Node: Controlling the Prompt335910
|
||||
Node: The Restricted Shell338794
|
||||
Node: Bash POSIX Mode341887
|
||||
Node: Shell Compatibility Mode361703
|
||||
Node: Job Control370710
|
||||
Node: Job Control Basics371167
|
||||
Node: Job Control Builtins377535
|
||||
Node: Job Control Variables384323
|
||||
Node: Command Line Editing385554
|
||||
Node: Introduction and Notation387257
|
||||
Node: Readline Interaction389609
|
||||
Node: Readline Bare Essentials390797
|
||||
Node: Readline Movement Commands392605
|
||||
Node: Readline Killing Commands393601
|
||||
Node: Readline Arguments395624
|
||||
Node: Searching396714
|
||||
Node: Readline Init File398957
|
||||
Node: Readline Init File Syntax400260
|
||||
Node: Conditional Init Constructs427211
|
||||
Node: Sample Init File431596
|
||||
Node: Bindable Readline Commands434716
|
||||
Node: Commands For Moving436254
|
||||
Node: Commands For History438718
|
||||
Node: Commands For Text444109
|
||||
Node: Commands For Killing448234
|
||||
Node: Numeric Arguments451022
|
||||
Node: Commands For Completion452174
|
||||
Node: Keyboard Macros457870
|
||||
Node: Miscellaneous Commands458571
|
||||
Node: Readline vi Mode466114
|
||||
Node: Programmable Completion467091
|
||||
Node: Programmable Completion Builtins476827
|
||||
Node: A Programmable Completion Example488564
|
||||
Node: Using History Interactively493909
|
||||
Node: Bash History Facilities494590
|
||||
Node: Bash History Builtins498325
|
||||
Node: History Interaction505920
|
||||
Node: Event Designators510870
|
||||
Node: Word Designators512448
|
||||
Node: Modifiers514840
|
||||
Node: Installing Bash516777
|
||||
Node: Basic Installation517893
|
||||
Node: Compilers and Options521769
|
||||
Node: Compiling For Multiple Architectures522519
|
||||
Node: Installation Names524272
|
||||
Node: Specifying the System Type526506
|
||||
Node: Sharing Defaults527252
|
||||
Node: Operation Controls527966
|
||||
Node: Optional Features528985
|
||||
Node: Reporting Bugs541708
|
||||
Node: Major Differences From The Bourne Shell543065
|
||||
Node: GNU Free Documentation License564492
|
||||
Node: Indexes589669
|
||||
Node: Builtin Index590120
|
||||
Node: Reserved Word Index597218
|
||||
Node: Variable Index599663
|
||||
Node: Function Index617076
|
||||
Node: Concept Index631209
|
||||
Node: Shell Builtin Commands153200
|
||||
Node: Bourne Shell Builtins155541
|
||||
Node: Bash Builtins182260
|
||||
Node: Modifying Shell Behavior219995
|
||||
Node: The Set Builtin220337
|
||||
Node: The Shopt Builtin232331
|
||||
Node: Special Builtins249384
|
||||
Node: Shell Variables250373
|
||||
Node: Bourne Shell Variables250807
|
||||
Node: Bash Variables253315
|
||||
Node: Bash Features292599
|
||||
Node: Invoking Bash293613
|
||||
Node: Bash Startup Files300843
|
||||
Node: Interactive Shells306165
|
||||
Node: What is an Interactive Shell?306573
|
||||
Node: Is this Shell Interactive?307235
|
||||
Node: Interactive Shell Behavior308059
|
||||
Node: Bash Conditional Expressions311820
|
||||
Node: Shell Arithmetic317237
|
||||
Node: Aliases320564
|
||||
Node: Arrays323698
|
||||
Node: The Directory Stack331400
|
||||
Node: Directory Stack Builtins332197
|
||||
Node: Controlling the Prompt336642
|
||||
Node: The Restricted Shell339526
|
||||
Node: Bash POSIX Mode342619
|
||||
Node: Shell Compatibility Mode362435
|
||||
Node: Job Control371442
|
||||
Node: Job Control Basics371899
|
||||
Node: Job Control Builtins378267
|
||||
Node: Job Control Variables385055
|
||||
Node: Command Line Editing386286
|
||||
Node: Introduction and Notation387989
|
||||
Node: Readline Interaction390341
|
||||
Node: Readline Bare Essentials391529
|
||||
Node: Readline Movement Commands393337
|
||||
Node: Readline Killing Commands394333
|
||||
Node: Readline Arguments396356
|
||||
Node: Searching397446
|
||||
Node: Readline Init File399689
|
||||
Node: Readline Init File Syntax400992
|
||||
Node: Conditional Init Constructs427943
|
||||
Node: Sample Init File432328
|
||||
Node: Bindable Readline Commands435448
|
||||
Node: Commands For Moving436986
|
||||
Node: Commands For History439450
|
||||
Node: Commands For Text444841
|
||||
Node: Commands For Killing448966
|
||||
Node: Numeric Arguments451754
|
||||
Node: Commands For Completion452906
|
||||
Node: Keyboard Macros458602
|
||||
Node: Miscellaneous Commands459303
|
||||
Node: Readline vi Mode466846
|
||||
Node: Programmable Completion467823
|
||||
Node: Programmable Completion Builtins477559
|
||||
Node: A Programmable Completion Example489296
|
||||
Node: Using History Interactively494641
|
||||
Node: Bash History Facilities495322
|
||||
Node: Bash History Builtins499057
|
||||
Node: History Interaction506652
|
||||
Node: Event Designators511602
|
||||
Node: Word Designators513180
|
||||
Node: Modifiers515572
|
||||
Node: Installing Bash517509
|
||||
Node: Basic Installation518625
|
||||
Node: Compilers and Options522501
|
||||
Node: Compiling For Multiple Architectures523251
|
||||
Node: Installation Names525004
|
||||
Node: Specifying the System Type527238
|
||||
Node: Sharing Defaults527984
|
||||
Node: Operation Controls528698
|
||||
Node: Optional Features529717
|
||||
Node: Reporting Bugs542440
|
||||
Node: Major Differences From The Bourne Shell543797
|
||||
Node: GNU Free Documentation License565224
|
||||
Node: Indexes590401
|
||||
Node: Builtin Index590852
|
||||
Node: Reserved Word Index597950
|
||||
Node: Variable Index600395
|
||||
Node: Function Index617808
|
||||
Node: Concept Index631941
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
Binary file not shown.
+56
-56
@@ -198,10 +198,10 @@
|
||||
@xrdef{Interactive Shell Behavior-pg}{104}
|
||||
@xrdef{Bash Conditional Expressions-title}{Bash Conditional Expressions}
|
||||
@xrdef{Bash Conditional Expressions-snt}{Section@tie 6.4}
|
||||
@xrdef{Bash Conditional Expressions-pg}{105}
|
||||
@xrdef{Bash Conditional Expressions-pg}{106}
|
||||
@xrdef{Shell Arithmetic-title}{Shell Arithmetic}
|
||||
@xrdef{Shell Arithmetic-snt}{Section@tie 6.5}
|
||||
@xrdef{Shell Arithmetic-pg}{107}
|
||||
@xrdef{Shell Arithmetic-pg}{108}
|
||||
@xrdef{Aliases-title}{Aliases}
|
||||
@xrdef{Aliases-snt}{Section@tie 6.6}
|
||||
@xrdef{Aliases-pg}{109}
|
||||
@@ -230,161 +230,161 @@
|
||||
@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}{125}
|
||||
@xrdef{Job Control Basics-pg}{125}
|
||||
@xrdef{Job Control-pg}{126}
|
||||
@xrdef{Job Control Basics-pg}{126}
|
||||
@xrdef{Job Control Builtins-title}{Job Control Builtins}
|
||||
@xrdef{Job Control Builtins-snt}{Section@tie 7.2}
|
||||
@xrdef{Job Control Builtins-pg}{126}
|
||||
@xrdef{Job Control Builtins-pg}{127}
|
||||
@xrdef{Job Control Variables-title}{Job Control Variables}
|
||||
@xrdef{Job Control Variables-snt}{Section@tie 7.3}
|
||||
@xrdef{Job Control Variables-pg}{129}
|
||||
@xrdef{Job Control Variables-pg}{130}
|
||||
@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}
|
||||
@xrdef{Introduction and Notation-snt}{Section@tie 8.1}
|
||||
@xrdef{Readline Interaction-title}{Readline Interaction}
|
||||
@xrdef{Readline Interaction-snt}{Section@tie 8.2}
|
||||
@xrdef{Command Line Editing-pg}{130}
|
||||
@xrdef{Introduction and Notation-pg}{130}
|
||||
@xrdef{Readline Interaction-pg}{130}
|
||||
@xrdef{Command Line Editing-pg}{131}
|
||||
@xrdef{Introduction and Notation-pg}{131}
|
||||
@xrdef{Readline Interaction-pg}{131}
|
||||
@xrdef{Readline Bare Essentials-title}{Readline Bare Essentials}
|
||||
@xrdef{Readline Bare Essentials-snt}{Section@tie 8.2.1}
|
||||
@xrdef{Readline Movement Commands-title}{Readline Movement Commands}
|
||||
@xrdef{Readline Movement Commands-snt}{Section@tie 8.2.2}
|
||||
@xrdef{Readline Bare Essentials-pg}{131}
|
||||
@xrdef{Readline Movement Commands-pg}{131}
|
||||
@xrdef{Readline Bare Essentials-pg}{132}
|
||||
@xrdef{Readline Movement Commands-pg}{132}
|
||||
@xrdef{Readline Killing Commands-title}{Readline Killing Commands}
|
||||
@xrdef{Readline Killing Commands-snt}{Section@tie 8.2.3}
|
||||
@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}{132}
|
||||
@xrdef{Readline Arguments-pg}{132}
|
||||
@xrdef{Readline Killing Commands-pg}{133}
|
||||
@xrdef{Readline Arguments-pg}{133}
|
||||
@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{Searching-pg}{133}
|
||||
@xrdef{Readline Init File-pg}{133}
|
||||
@xrdef{Readline Init File Syntax-pg}{133}
|
||||
@xrdef{Searching-pg}{134}
|
||||
@xrdef{Readline Init File-pg}{134}
|
||||
@xrdef{Readline Init File Syntax-pg}{134}
|
||||
@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
|
||||
@xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2}
|
||||
@xrdef{Conditional Init Constructs-pg}{143}
|
||||
@xrdef{Conditional Init Constructs-pg}{144}
|
||||
@xrdef{Sample Init File-title}{Sample Init File}
|
||||
@xrdef{Sample Init File-snt}{Section@tie 8.3.3}
|
||||
@xrdef{Sample Init File-pg}{144}
|
||||
@xrdef{Sample Init File-pg}{145}
|
||||
@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}{147}
|
||||
@xrdef{Commands For Moving-pg}{147}
|
||||
@xrdef{Bindable Readline Commands-pg}{148}
|
||||
@xrdef{Commands For Moving-pg}{148}
|
||||
@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}{148}
|
||||
@xrdef{Commands For History-pg}{149}
|
||||
@xrdef{Commands For Text-title}{Commands For Changing Text}
|
||||
@xrdef{Commands For Text-snt}{Section@tie 8.4.3}
|
||||
@xrdef{Commands For Text-pg}{150}
|
||||
@xrdef{Commands For Text-pg}{151}
|
||||
@xrdef{Commands For Killing-title}{Killing And Yanking}
|
||||
@xrdef{Commands For Killing-snt}{Section@tie 8.4.4}
|
||||
@xrdef{Commands For Killing-pg}{151}
|
||||
@xrdef{Commands For Killing-pg}{152}
|
||||
@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
|
||||
@xrdef{Numeric Arguments-snt}{Section@tie 8.4.5}
|
||||
@xrdef{Commands For Completion-title}{Letting Readline Type For You}
|
||||
@xrdef{Commands For Completion-snt}{Section@tie 8.4.6}
|
||||
@xrdef{Numeric Arguments-pg}{153}
|
||||
@xrdef{Commands For Completion-pg}{153}
|
||||
@xrdef{Numeric Arguments-pg}{154}
|
||||
@xrdef{Commands For Completion-pg}{154}
|
||||
@xrdef{Keyboard Macros-title}{Keyboard Macros}
|
||||
@xrdef{Keyboard Macros-snt}{Section@tie 8.4.7}
|
||||
@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
|
||||
@xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8}
|
||||
@xrdef{Keyboard Macros-pg}{155}
|
||||
@xrdef{Miscellaneous Commands-pg}{155}
|
||||
@xrdef{Keyboard Macros-pg}{156}
|
||||
@xrdef{Miscellaneous Commands-pg}{156}
|
||||
@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}{158}
|
||||
@xrdef{Programmable Completion-pg}{158}
|
||||
@xrdef{Readline vi Mode-pg}{159}
|
||||
@xrdef{Programmable Completion-pg}{159}
|
||||
@xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
|
||||
@xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
|
||||
@xrdef{Programmable Completion Builtins-pg}{161}
|
||||
@xrdef{Programmable Completion Builtins-pg}{162}
|
||||
@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}{165}
|
||||
@xrdef{A Programmable Completion Example-pg}{166}
|
||||
@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{Using History Interactively-pg}{168}
|
||||
@xrdef{Bash History Facilities-pg}{168}
|
||||
@xrdef{Using History Interactively-pg}{169}
|
||||
@xrdef{Bash History Facilities-pg}{169}
|
||||
@xrdef{Bash History Builtins-title}{Bash History Builtins}
|
||||
@xrdef{Bash History Builtins-snt}{Section@tie 9.2}
|
||||
@xrdef{Bash History Builtins-pg}{169}
|
||||
@xrdef{Bash History Builtins-pg}{170}
|
||||
@xrdef{History Interaction-title}{History Expansion}
|
||||
@xrdef{History Interaction-snt}{Section@tie 9.3}
|
||||
@xrdef{History Interaction-pg}{171}
|
||||
@xrdef{History Interaction-pg}{172}
|
||||
@xrdef{Event Designators-title}{Event Designators}
|
||||
@xrdef{Event Designators-snt}{Section@tie 9.3.1}
|
||||
@xrdef{Event Designators-pg}{172}
|
||||
@xrdef{Event Designators-pg}{173}
|
||||
@xrdef{Word Designators-title}{Word Designators}
|
||||
@xrdef{Word Designators-snt}{Section@tie 9.3.2}
|
||||
@xrdef{Word Designators-pg}{173}
|
||||
@xrdef{Word Designators-pg}{174}
|
||||
@xrdef{Modifiers-title}{Modifiers}
|
||||
@xrdef{Modifiers-snt}{Section@tie 9.3.3}
|
||||
@xrdef{Modifiers-pg}{174}
|
||||
@xrdef{Modifiers-pg}{175}
|
||||
@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}{175}
|
||||
@xrdef{Basic Installation-pg}{175}
|
||||
@xrdef{Installing Bash-pg}{176}
|
||||
@xrdef{Basic Installation-pg}{176}
|
||||
@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}{176}
|
||||
@xrdef{Compiling For Multiple Architectures-pg}{176}
|
||||
@xrdef{Compilers and Options-pg}{177}
|
||||
@xrdef{Compiling For Multiple Architectures-pg}{177}
|
||||
@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}{177}
|
||||
@xrdef{Specifying the System Type-pg}{177}
|
||||
@xrdef{Sharing Defaults-pg}{177}
|
||||
@xrdef{Installation Names-pg}{178}
|
||||
@xrdef{Specifying the System Type-pg}{178}
|
||||
@xrdef{Sharing Defaults-pg}{178}
|
||||
@xrdef{Optional Features-title}{Optional Features}
|
||||
@xrdef{Optional Features-snt}{Section@tie 10.8}
|
||||
@xrdef{Operation Controls-pg}{178}
|
||||
@xrdef{Optional Features-pg}{178}
|
||||
@xrdef{Operation Controls-pg}{179}
|
||||
@xrdef{Optional Features-pg}{179}
|
||||
@xrdef{Reporting Bugs-title}{Reporting Bugs}
|
||||
@xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
|
||||
@xrdef{Reporting Bugs-pg}{184}
|
||||
@xrdef{Reporting Bugs-pg}{185}
|
||||
@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}{185}
|
||||
@xrdef{Major Differences From The Bourne Shell-pg}{186}
|
||||
@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}{192}
|
||||
@xrdef{GNU Free Documentation License-pg}{193}
|
||||
@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}{200}
|
||||
@xrdef{Builtin Index-pg}{200}
|
||||
@xrdef{Indexes-pg}{201}
|
||||
@xrdef{Builtin Index-pg}{201}
|
||||
@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}{201}
|
||||
@xrdef{Variable Index-pg}{202}
|
||||
@xrdef{Reserved Word Index-pg}{202}
|
||||
@xrdef{Variable Index-pg}{203}
|
||||
@xrdef{Function Index-title}{Function Index}
|
||||
@xrdef{Function Index-snt}{Section@tie @char68.4}
|
||||
@xrdef{Function Index-pg}{204}
|
||||
@xrdef{Function Index-pg}{205}
|
||||
@xrdef{Concept Index-title}{Concept Index}
|
||||
@xrdef{Concept Index-snt}{Section@tie @char68.5}
|
||||
@xrdef{Concept Index-pg}{206}
|
||||
@xrdef{Concept Index-pg}{207}
|
||||
|
||||
+12
-12
@@ -47,15 +47,15 @@
|
||||
\entry{dirs}{112}{\code {dirs}}
|
||||
\entry{popd}{113}{\code {popd}}
|
||||
\entry{pushd}{113}{\code {pushd}}
|
||||
\entry{bg}{126}{\code {bg}}
|
||||
\entry{fg}{127}{\code {fg}}
|
||||
\entry{jobs}{127}{\code {jobs}}
|
||||
\entry{kill}{127}{\code {kill}}
|
||||
\entry{wait}{128}{\code {wait}}
|
||||
\entry{disown}{128}{\code {disown}}
|
||||
\entry{suspend}{128}{\code {suspend}}
|
||||
\entry{compgen}{161}{\code {compgen}}
|
||||
\entry{complete}{162}{\code {complete}}
|
||||
\entry{compopt}{165}{\code {compopt}}
|
||||
\entry{fc}{169}{\code {fc}}
|
||||
\entry{history}{170}{\code {history}}
|
||||
\entry{bg}{127}{\code {bg}}
|
||||
\entry{fg}{128}{\code {fg}}
|
||||
\entry{jobs}{128}{\code {jobs}}
|
||||
\entry{kill}{128}{\code {kill}}
|
||||
\entry{wait}{129}{\code {wait}}
|
||||
\entry{disown}{129}{\code {disown}}
|
||||
\entry{suspend}{129}{\code {suspend}}
|
||||
\entry{compgen}{162}{\code {compgen}}
|
||||
\entry{complete}{163}{\code {complete}}
|
||||
\entry{compopt}{166}{\code {compopt}}
|
||||
\entry{fc}{170}{\code {fc}}
|
||||
\entry{history}{171}{\code {history}}
|
||||
|
||||
+12
-12
@@ -7,7 +7,7 @@
|
||||
\initial {A}
|
||||
\entry{\code {alias}}{61}
|
||||
\initial {B}
|
||||
\entry{\code {bg}}{126}
|
||||
\entry{\code {bg}}{127}
|
||||
\entry{\code {bind}}{61}
|
||||
\entry{\code {break}}{53}
|
||||
\entry{\code {builtin}}{63}
|
||||
@@ -15,14 +15,14 @@
|
||||
\entry{\code {caller}}{63}
|
||||
\entry{\code {cd}}{53}
|
||||
\entry{\code {command}}{63}
|
||||
\entry{\code {compgen}}{161}
|
||||
\entry{\code {complete}}{162}
|
||||
\entry{\code {compopt}}{165}
|
||||
\entry{\code {compgen}}{162}
|
||||
\entry{\code {complete}}{163}
|
||||
\entry{\code {compopt}}{166}
|
||||
\entry{\code {continue}}{54}
|
||||
\initial {D}
|
||||
\entry{\code {declare}}{64}
|
||||
\entry{\code {dirs}}{112}
|
||||
\entry{\code {disown}}{128}
|
||||
\entry{\code {disown}}{129}
|
||||
\initial {E}
|
||||
\entry{\code {echo}}{65}
|
||||
\entry{\code {enable}}{66}
|
||||
@@ -32,18 +32,18 @@
|
||||
\entry{\code {export}}{54}
|
||||
\initial {F}
|
||||
\entry{\code {false}}{55}
|
||||
\entry{\code {fc}}{169}
|
||||
\entry{\code {fg}}{127}
|
||||
\entry{\code {fc}}{170}
|
||||
\entry{\code {fg}}{128}
|
||||
\initial {G}
|
||||
\entry{\code {getopts}}{55}
|
||||
\initial {H}
|
||||
\entry{\code {hash}}{56}
|
||||
\entry{\code {help}}{67}
|
||||
\entry{\code {history}}{170}
|
||||
\entry{\code {history}}{171}
|
||||
\initial {J}
|
||||
\entry{\code {jobs}}{127}
|
||||
\entry{\code {jobs}}{128}
|
||||
\initial {K}
|
||||
\entry{\code {kill}}{127}
|
||||
\entry{\code {kill}}{128}
|
||||
\initial {L}
|
||||
\entry{\code {let}}{67}
|
||||
\entry{\code {local}}{67}
|
||||
@@ -65,7 +65,7 @@
|
||||
\entry{\code {shift}}{57}
|
||||
\entry{\code {shopt}}{78}
|
||||
\entry{\code {source}}{72}
|
||||
\entry{\code {suspend}}{128}
|
||||
\entry{\code {suspend}}{129}
|
||||
\initial {T}
|
||||
\entry{\code {test}}{57}
|
||||
\entry{\code {times}}{59}
|
||||
@@ -79,4 +79,4 @@
|
||||
\entry{\code {unalias}}{74}
|
||||
\entry{\code {unset}}{61}
|
||||
\initial {W}
|
||||
\entry{\code {wait}}{128}
|
||||
\entry{\code {wait}}{129}
|
||||
|
||||
+33
-33
@@ -81,12 +81,12 @@
|
||||
\entry{startup files}{102}{startup files}
|
||||
\entry{interactive shell}{104}{interactive shell}
|
||||
\entry{shell, interactive}{104}{shell, interactive}
|
||||
\entry{expressions, conditional}{105}{expressions, conditional}
|
||||
\entry{arithmetic, shell}{107}{arithmetic, shell}
|
||||
\entry{shell arithmetic}{107}{shell arithmetic}
|
||||
\entry{expressions, arithmetic}{107}{expressions, arithmetic}
|
||||
\entry{evaluation, arithmetic}{107}{evaluation, arithmetic}
|
||||
\entry{arithmetic evaluation}{107}{arithmetic evaluation}
|
||||
\entry{expressions, conditional}{106}{expressions, conditional}
|
||||
\entry{arithmetic, shell}{108}{arithmetic, shell}
|
||||
\entry{shell arithmetic}{108}{shell arithmetic}
|
||||
\entry{expressions, arithmetic}{108}{expressions, arithmetic}
|
||||
\entry{evaluation, arithmetic}{108}{evaluation, arithmetic}
|
||||
\entry{arithmetic evaluation}{108}{arithmetic evaluation}
|
||||
\entry{arithmetic operators}{108}{arithmetic operators}
|
||||
\entry{unary arithmetic operators}{108}{unary arithmetic operators}
|
||||
\entry{binary arithmetic operators}{108}{binary arithmetic operators}
|
||||
@@ -101,30 +101,30 @@
|
||||
\entry{POSIX Mode}{117}{POSIX Mode}
|
||||
\entry{Compatibility Level}{122}{Compatibility Level}
|
||||
\entry{Compatibility Mode}{122}{Compatibility Mode}
|
||||
\entry{job control}{125}{job control}
|
||||
\entry{foreground}{125}{foreground}
|
||||
\entry{background}{125}{background}
|
||||
\entry{suspending jobs}{125}{suspending jobs}
|
||||
\entry{Readline, how to use}{129}{Readline, how to use}
|
||||
\entry{interaction, readline}{130}{interaction, readline}
|
||||
\entry{notation, readline}{131}{notation, readline}
|
||||
\entry{command editing}{131}{command editing}
|
||||
\entry{editing command lines}{131}{editing command lines}
|
||||
\entry{killing text}{132}{killing text}
|
||||
\entry{yanking text}{132}{yanking text}
|
||||
\entry{kill ring}{132}{kill ring}
|
||||
\entry{initialization file, readline}{133}{initialization file, readline}
|
||||
\entry{variables, readline}{134}{variables, readline}
|
||||
\entry{programmable completion}{158}{programmable completion}
|
||||
\entry{completion builtins}{161}{completion builtins}
|
||||
\entry{History, how to use}{167}{History, how to use}
|
||||
\entry{command history}{168}{command history}
|
||||
\entry{history list}{168}{history list}
|
||||
\entry{history builtins}{169}{history builtins}
|
||||
\entry{history expansion}{171}{history expansion}
|
||||
\entry{event designators}{172}{event designators}
|
||||
\entry{history events}{172}{history events}
|
||||
\entry{installation}{175}{installation}
|
||||
\entry{configuration}{175}{configuration}
|
||||
\entry{Bash installation}{175}{Bash installation}
|
||||
\entry{Bash configuration}{175}{Bash configuration}
|
||||
\entry{job control}{126}{job control}
|
||||
\entry{foreground}{126}{foreground}
|
||||
\entry{background}{126}{background}
|
||||
\entry{suspending jobs}{126}{suspending jobs}
|
||||
\entry{Readline, how to use}{130}{Readline, how to use}
|
||||
\entry{interaction, readline}{131}{interaction, readline}
|
||||
\entry{notation, readline}{132}{notation, readline}
|
||||
\entry{command editing}{132}{command editing}
|
||||
\entry{editing command lines}{132}{editing command lines}
|
||||
\entry{killing text}{133}{killing text}
|
||||
\entry{yanking text}{133}{yanking text}
|
||||
\entry{kill ring}{133}{kill ring}
|
||||
\entry{initialization file, readline}{134}{initialization file, readline}
|
||||
\entry{variables, readline}{135}{variables, readline}
|
||||
\entry{programmable completion}{159}{programmable completion}
|
||||
\entry{completion builtins}{162}{completion builtins}
|
||||
\entry{History, how to use}{168}{History, how to use}
|
||||
\entry{command history}{169}{command history}
|
||||
\entry{history list}{169}{history list}
|
||||
\entry{history builtins}{170}{history builtins}
|
||||
\entry{history expansion}{172}{history expansion}
|
||||
\entry{event designators}{173}{event designators}
|
||||
\entry{history events}{173}{history events}
|
||||
\entry{installation}{176}{installation}
|
||||
\entry{configuration}{176}{configuration}
|
||||
\entry{Bash installation}{176}{Bash installation}
|
||||
\entry{Bash configuration}{176}{Bash configuration}
|
||||
|
||||
+33
-33
@@ -1,24 +1,24 @@
|
||||
\initial {A}
|
||||
\entry{alias expansion}{109}
|
||||
\entry{arithmetic evaluation}{107}
|
||||
\entry{arithmetic evaluation}{108}
|
||||
\entry{arithmetic expansion}{37}
|
||||
\entry{arithmetic operators}{108}
|
||||
\entry{arithmetic, shell}{107}
|
||||
\entry{arithmetic, shell}{108}
|
||||
\entry{arrays}{110}
|
||||
\initial {B}
|
||||
\entry{background}{125}
|
||||
\entry{Bash configuration}{175}
|
||||
\entry{Bash installation}{175}
|
||||
\entry{background}{126}
|
||||
\entry{Bash configuration}{176}
|
||||
\entry{Bash installation}{176}
|
||||
\entry{binary arithmetic operators}{108}
|
||||
\entry{bitwise arithmetic operators}{108}
|
||||
\entry{Bourne shell}{5}
|
||||
\entry{brace expansion}{25}
|
||||
\entry{builtin}{3}
|
||||
\initial {C}
|
||||
\entry{command editing}{131}
|
||||
\entry{command editing}{132}
|
||||
\entry{command execution}{46}
|
||||
\entry{command expansion}{45}
|
||||
\entry{command history}{168}
|
||||
\entry{command history}{169}
|
||||
\entry{command search}{46}
|
||||
\entry{command substitution}{36}
|
||||
\entry{command timing}{10}
|
||||
@@ -33,19 +33,19 @@
|
||||
\entry{comments, shell}{9}
|
||||
\entry{Compatibility Level}{122}
|
||||
\entry{Compatibility Mode}{122}
|
||||
\entry{completion builtins}{161}
|
||||
\entry{completion builtins}{162}
|
||||
\entry{conditional arithmetic operator}{108}
|
||||
\entry{configuration}{175}
|
||||
\entry{configuration}{176}
|
||||
\entry{control operator}{3}
|
||||
\entry{coprocess}{18}
|
||||
\initial {D}
|
||||
\entry{directory stack}{112}
|
||||
\entry{dollar-single quote quoting}{6}
|
||||
\initial {E}
|
||||
\entry{editing command lines}{131}
|
||||
\entry{editing command lines}{132}
|
||||
\entry{environment}{48}
|
||||
\entry{evaluation, arithmetic}{107}
|
||||
\entry{event designators}{172}
|
||||
\entry{evaluation, arithmetic}{108}
|
||||
\entry{event designators}{173}
|
||||
\entry{execution environment}{47}
|
||||
\entry{exit status}{3, 48}
|
||||
\entry{expansion}{25}
|
||||
@@ -55,34 +55,34 @@
|
||||
\entry{expansion, parameter}{27}
|
||||
\entry{expansion, pathname}{39}
|
||||
\entry{expansion, tilde}{26}
|
||||
\entry{expressions, arithmetic}{107}
|
||||
\entry{expressions, conditional}{105}
|
||||
\entry{expressions, arithmetic}{108}
|
||||
\entry{expressions, conditional}{106}
|
||||
\initial {F}
|
||||
\entry{field}{3}
|
||||
\entry{filename}{3}
|
||||
\entry{filename expansion}{39}
|
||||
\entry{foreground}{125}
|
||||
\entry{foreground}{126}
|
||||
\entry{functions, shell}{19}
|
||||
\initial {H}
|
||||
\entry{history builtins}{169}
|
||||
\entry{history events}{172}
|
||||
\entry{history expansion}{171}
|
||||
\entry{history list}{168}
|
||||
\entry{History, how to use}{167}
|
||||
\entry{history builtins}{170}
|
||||
\entry{history events}{173}
|
||||
\entry{history expansion}{172}
|
||||
\entry{history list}{169}
|
||||
\entry{History, how to use}{168}
|
||||
\initial {I}
|
||||
\entry{identifier}{3}
|
||||
\entry{initialization file, readline}{133}
|
||||
\entry{installation}{175}
|
||||
\entry{interaction, readline}{130}
|
||||
\entry{initialization file, readline}{134}
|
||||
\entry{installation}{176}
|
||||
\entry{interaction, readline}{131}
|
||||
\entry{interactive shell}{102, 104}
|
||||
\entry{internationalization}{7}
|
||||
\entry{internationalized scripts}{8}
|
||||
\initial {J}
|
||||
\entry{job}{3}
|
||||
\entry{job control}{3, 125}
|
||||
\entry{job control}{3, 126}
|
||||
\initial {K}
|
||||
\entry{kill ring}{132}
|
||||
\entry{killing text}{132}
|
||||
\entry{kill ring}{133}
|
||||
\entry{killing text}{133}
|
||||
\initial {L}
|
||||
\entry{localization}{7}
|
||||
\entry{login shell}{102}
|
||||
@@ -92,7 +92,7 @@
|
||||
\initial {N}
|
||||
\entry{name}{3}
|
||||
\entry{native languages}{7}
|
||||
\entry{notation, readline}{131}
|
||||
\entry{notation, readline}{132}
|
||||
\initial {O}
|
||||
\entry{operator, shell}{3}
|
||||
\initial {P}
|
||||
@@ -109,20 +109,20 @@
|
||||
\entry{process group}{3}
|
||||
\entry{process group ID}{3}
|
||||
\entry{process substitution}{38}
|
||||
\entry{programmable completion}{158}
|
||||
\entry{programmable completion}{159}
|
||||
\entry{prompting}{114}
|
||||
\initial {Q}
|
||||
\entry{quoting}{6}
|
||||
\entry{quoting, ANSI}{6}
|
||||
\initial {R}
|
||||
\entry{Readline, how to use}{129}
|
||||
\entry{Readline, how to use}{130}
|
||||
\entry{redirection}{41}
|
||||
\entry{reserved word}{4}
|
||||
\entry{reserved words}{9}
|
||||
\entry{restricted shell}{115}
|
||||
\entry{return status}{4}
|
||||
\initial {S}
|
||||
\entry{shell arithmetic}{107}
|
||||
\entry{shell arithmetic}{108}
|
||||
\entry{shell function}{19}
|
||||
\entry{shell script}{50}
|
||||
\entry{shell variable}{22}
|
||||
@@ -132,7 +132,7 @@
|
||||
\entry{special builtin}{4, 85}
|
||||
\entry{startup files}{102}
|
||||
\entry{string translations}{8}
|
||||
\entry{suspending jobs}{125}
|
||||
\entry{suspending jobs}{126}
|
||||
\initial {T}
|
||||
\entry{tilde expansion}{26}
|
||||
\entry{token}{4}
|
||||
@@ -141,9 +141,9 @@
|
||||
\entry{unary arithmetic operators}{108}
|
||||
\initial {V}
|
||||
\entry{variable, shell}{22}
|
||||
\entry{variables, readline}{134}
|
||||
\entry{variables, readline}{135}
|
||||
\initial {W}
|
||||
\entry{word}{4}
|
||||
\entry{word splitting}{38}
|
||||
\initial {Y}
|
||||
\entry{yanking text}{132}
|
||||
\entry{yanking text}{133}
|
||||
|
||||
+117
-117
@@ -1,117 +1,117 @@
|
||||
\entry{beginning-of-line (C-a)}{147}{\code {beginning-of-line (C-a)}}
|
||||
\entry{end-of-line (C-e)}{147}{\code {end-of-line (C-e)}}
|
||||
\entry{forward-char (C-f)}{147}{\code {forward-char (C-f)}}
|
||||
\entry{backward-char (C-b)}{147}{\code {backward-char (C-b)}}
|
||||
\entry{forward-word (M-f)}{147}{\code {forward-word (M-f)}}
|
||||
\entry{backward-word (M-b)}{147}{\code {backward-word (M-b)}}
|
||||
\entry{shell-forward-word (M-C-f)}{147}{\code {shell-forward-word (M-C-f)}}
|
||||
\entry{shell-backward-word (M-C-b)}{147}{\code {shell-backward-word (M-C-b)}}
|
||||
\entry{previous-screen-line ()}{148}{\code {previous-screen-line ()}}
|
||||
\entry{next-screen-line ()}{148}{\code {next-screen-line ()}}
|
||||
\entry{clear-display (M-C-l)}{148}{\code {clear-display (M-C-l)}}
|
||||
\entry{clear-screen (C-l)}{148}{\code {clear-screen (C-l)}}
|
||||
\entry{redraw-current-line ()}{148}{\code {redraw-current-line ()}}
|
||||
\entry{accept-line (Newline or Return)}{148}{\code {accept-line (Newline or Return)}}
|
||||
\entry{previous-history (C-p)}{148}{\code {previous-history (C-p)}}
|
||||
\entry{next-history (C-n)}{148}{\code {next-history (C-n)}}
|
||||
\entry{beginning-of-history (M-<)}{148}{\code {beginning-of-history (M-<)}}
|
||||
\entry{end-of-history (M->)}{148}{\code {end-of-history (M->)}}
|
||||
\entry{reverse-search-history (C-r)}{148}{\code {reverse-search-history (C-r)}}
|
||||
\entry{forward-search-history (C-s)}{149}{\code {forward-search-history (C-s)}}
|
||||
\entry{non-incremental-reverse-search-history (M-p)}{149}{\code {non-incremental-reverse-search-history (M-p)}}
|
||||
\entry{non-incremental-forward-search-history (M-n)}{149}{\code {non-incremental-forward-search-history (M-n)}}
|
||||
\entry{history-search-backward ()}{149}{\code {history-search-backward ()}}
|
||||
\entry{history-search-forward ()}{149}{\code {history-search-forward ()}}
|
||||
\entry{history-substring-search-backward ()}{149}{\code {history-substring-search-backward ()}}
|
||||
\entry{history-substring-search-forward ()}{149}{\code {history-substring-search-forward ()}}
|
||||
\entry{yank-nth-arg (M-C-y)}{149}{\code {yank-nth-arg (M-C-y)}}
|
||||
\entry{yank-last-arg (M-. or M-_)}{149}{\code {yank-last-arg (M-. or M-_)}}
|
||||
\entry{operate-and-get-next (C-o)}{150}{\code {operate-and-get-next (C-o)}}
|
||||
\entry{fetch-history ()}{150}{\code {fetch-history ()}}
|
||||
\entry{end-of-file (usually C-d)}{150}{\code {\i {end-of-file} (usually C-d)}}
|
||||
\entry{delete-char (C-d)}{150}{\code {delete-char (C-d)}}
|
||||
\entry{backward-delete-char (Rubout)}{150}{\code {backward-delete-char (Rubout)}}
|
||||
\entry{forward-backward-delete-char ()}{150}{\code {forward-backward-delete-char ()}}
|
||||
\entry{quoted-insert (C-q or C-v)}{150}{\code {quoted-insert (C-q or C-v)}}
|
||||
\entry{self-insert (a, b, A, 1, !, ...{})}{150}{\code {self-insert (a, b, A, 1, !, \dots {})}}
|
||||
\entry{bracketed-paste-begin ()}{150}{\code {bracketed-paste-begin ()}}
|
||||
\entry{transpose-chars (C-t)}{151}{\code {transpose-chars (C-t)}}
|
||||
\entry{transpose-words (M-t)}{151}{\code {transpose-words (M-t)}}
|
||||
\entry{shell-transpose-words (M-C-t)}{151}{\code {shell-transpose-words (M-C-t)}}
|
||||
\entry{upcase-word (M-u)}{151}{\code {upcase-word (M-u)}}
|
||||
\entry{downcase-word (M-l)}{151}{\code {downcase-word (M-l)}}
|
||||
\entry{capitalize-word (M-c)}{151}{\code {capitalize-word (M-c)}}
|
||||
\entry{overwrite-mode ()}{151}{\code {overwrite-mode ()}}
|
||||
\entry{kill-line (C-k)}{151}{\code {kill-line (C-k)}}
|
||||
\entry{backward-kill-line (C-x Rubout)}{152}{\code {backward-kill-line (C-x Rubout)}}
|
||||
\entry{unix-line-discard (C-u)}{152}{\code {unix-line-discard (C-u)}}
|
||||
\entry{kill-whole-line ()}{152}{\code {kill-whole-line ()}}
|
||||
\entry{kill-word (M-d)}{152}{\code {kill-word (M-d)}}
|
||||
\entry{backward-kill-word (M-DEL)}{152}{\code {backward-kill-word (M-\key {DEL})}}
|
||||
\entry{shell-kill-word (M-C-d)}{152}{\code {shell-kill-word (M-C-d)}}
|
||||
\entry{shell-backward-kill-word ()}{152}{\code {shell-backward-kill-word ()}}
|
||||
\entry{unix-word-rubout (C-w)}{152}{\code {unix-word-rubout (C-w)}}
|
||||
\entry{unix-filename-rubout ()}{152}{\code {unix-filename-rubout ()}}
|
||||
\entry{delete-horizontal-space ()}{152}{\code {delete-horizontal-space ()}}
|
||||
\entry{kill-region ()}{152}{\code {kill-region ()}}
|
||||
\entry{copy-region-as-kill ()}{152}{\code {copy-region-as-kill ()}}
|
||||
\entry{copy-backward-word ()}{152}{\code {copy-backward-word ()}}
|
||||
\entry{copy-forward-word ()}{152}{\code {copy-forward-word ()}}
|
||||
\entry{yank (C-y)}{152}{\code {yank (C-y)}}
|
||||
\entry{yank-pop (M-y)}{153}{\code {yank-pop (M-y)}}
|
||||
\entry{digit-argument (M-0, M-1, ...{} M--)}{153}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
|
||||
\entry{universal-argument ()}{153}{\code {universal-argument ()}}
|
||||
\entry{complete (TAB)}{153}{\code {complete (\key {TAB})}}
|
||||
\entry{possible-completions (M-?)}{153}{\code {possible-completions (M-?)}}
|
||||
\entry{insert-completions (M-*)}{153}{\code {insert-completions (M-*)}}
|
||||
\entry{menu-complete ()}{153}{\code {menu-complete ()}}
|
||||
\entry{menu-complete-backward ()}{154}{\code {menu-complete-backward ()}}
|
||||
\entry{export-completions ()}{154}{\code {export-completions ()}}
|
||||
\entry{delete-char-or-list ()}{154}{\code {delete-char-or-list ()}}
|
||||
\entry{complete-filename (M-/)}{154}{\code {complete-filename (M-/)}}
|
||||
\entry{possible-filename-completions (C-x /)}{154}{\code {possible-filename-completions (C-x /)}}
|
||||
\entry{complete-username (M-~)}{154}{\code {complete-username (M-~)}}
|
||||
\entry{possible-username-completions (C-x ~)}{154}{\code {possible-username-completions (C-x ~)}}
|
||||
\entry{complete-variable (M-$)}{154}{\code {complete-variable (M-$)}}
|
||||
\entry{possible-variable-completions (C-x $)}{154}{\code {possible-variable-completions (C-x $)}}
|
||||
\entry{complete-hostname (M-@)}{154}{\code {complete-hostname (M-@)}}
|
||||
\entry{possible-hostname-completions (C-x @)}{155}{\code {possible-hostname-completions (C-x @)}}
|
||||
\entry{complete-command (M-!)}{155}{\code {complete-command (M-!)}}
|
||||
\entry{possible-command-completions (C-x !)}{155}{\code {possible-command-completions (C-x !)}}
|
||||
\entry{dynamic-complete-history (M-TAB)}{155}{\code {dynamic-complete-history (M-\key {TAB})}}
|
||||
\entry{dabbrev-expand ()}{155}{\code {dabbrev-expand ()}}
|
||||
\entry{complete-into-braces (M-{\indexlbrace })}{155}{\code {complete-into-braces (M-{\tt \char 123})}}
|
||||
\entry{start-kbd-macro (C-x ()}{155}{\code {start-kbd-macro (C-x ()}}
|
||||
\entry{end-kbd-macro (C-x ))}{155}{\code {end-kbd-macro (C-x ))}}
|
||||
\entry{call-last-kbd-macro (C-x e)}{155}{\code {call-last-kbd-macro (C-x e)}}
|
||||
\entry{print-last-kbd-macro ()}{155}{\code {print-last-kbd-macro ()}}
|
||||
\entry{re-read-init-file (C-x C-r)}{155}{\code {re-read-init-file (C-x C-r)}}
|
||||
\entry{abort (C-g)}{155}{\code {abort (C-g)}}
|
||||
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{156}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
|
||||
\entry{prefix-meta (ESC)}{156}{\code {prefix-meta (\key {ESC})}}
|
||||
\entry{undo (C-_ or C-x C-u)}{156}{\code {undo (C-_ or C-x C-u)}}
|
||||
\entry{revert-line (M-r)}{156}{\code {revert-line (M-r)}}
|
||||
\entry{tilde-expand (M-&)}{156}{\code {tilde-expand (M-&)}}
|
||||
\entry{set-mark (C-@)}{156}{\code {set-mark (C-@)}}
|
||||
\entry{exchange-point-and-mark (C-x C-x)}{156}{\code {exchange-point-and-mark (C-x C-x)}}
|
||||
\entry{character-search (C-])}{156}{\code {character-search (C-])}}
|
||||
\entry{character-search-backward (M-C-])}{156}{\code {character-search-backward (M-C-])}}
|
||||
\entry{skip-csi-sequence ()}{156}{\code {skip-csi-sequence ()}}
|
||||
\entry{insert-comment (M-#)}{156}{\code {insert-comment (M-#)}}
|
||||
\entry{dump-functions ()}{157}{\code {dump-functions ()}}
|
||||
\entry{dump-variables ()}{157}{\code {dump-variables ()}}
|
||||
\entry{dump-macros ()}{157}{\code {dump-macros ()}}
|
||||
\entry{execute-named-command (M-x)}{157}{\code {execute-named-command (M-x)}}
|
||||
\entry{spell-correct-word (C-x s)}{157}{\code {spell-correct-word (C-x s)}}
|
||||
\entry{glob-complete-word (M-g)}{157}{\code {glob-complete-word (M-g)}}
|
||||
\entry{glob-expand-word (C-x *)}{157}{\code {glob-expand-word (C-x *)}}
|
||||
\entry{glob-list-expansions (C-x g)}{157}{\code {glob-list-expansions (C-x g)}}
|
||||
\entry{shell-expand-line (M-C-e)}{157}{\code {shell-expand-line (M-C-e)}}
|
||||
\entry{shell-expand-and-requote-line ()}{157}{\code {shell-expand-and-requote-line ()}}
|
||||
\entry{history-expand-line (M-^)}{158}{\code {history-expand-line (M-^)}}
|
||||
\entry{magic-space ()}{158}{\code {magic-space ()}}
|
||||
\entry{alias-expand-line ()}{158}{\code {alias-expand-line ()}}
|
||||
\entry{history-and-alias-expand-line ()}{158}{\code {history-and-alias-expand-line ()}}
|
||||
\entry{insert-last-argument (M-. or M-_)}{158}{\code {insert-last-argument (M-. or M-_)}}
|
||||
\entry{edit-and-execute-command (C-x C-e)}{158}{\code {edit-and-execute-command (C-x C-e)}}
|
||||
\entry{display-shell-version (C-x C-v)}{158}{\code {display-shell-version (C-x C-v)}}
|
||||
\entry{beginning-of-line (C-a)}{148}{\code {beginning-of-line (C-a)}}
|
||||
\entry{end-of-line (C-e)}{148}{\code {end-of-line (C-e)}}
|
||||
\entry{forward-char (C-f)}{148}{\code {forward-char (C-f)}}
|
||||
\entry{backward-char (C-b)}{148}{\code {backward-char (C-b)}}
|
||||
\entry{forward-word (M-f)}{148}{\code {forward-word (M-f)}}
|
||||
\entry{backward-word (M-b)}{148}{\code {backward-word (M-b)}}
|
||||
\entry{shell-forward-word (M-C-f)}{148}{\code {shell-forward-word (M-C-f)}}
|
||||
\entry{shell-backward-word (M-C-b)}{148}{\code {shell-backward-word (M-C-b)}}
|
||||
\entry{previous-screen-line ()}{149}{\code {previous-screen-line ()}}
|
||||
\entry{next-screen-line ()}{149}{\code {next-screen-line ()}}
|
||||
\entry{clear-display (M-C-l)}{149}{\code {clear-display (M-C-l)}}
|
||||
\entry{clear-screen (C-l)}{149}{\code {clear-screen (C-l)}}
|
||||
\entry{redraw-current-line ()}{149}{\code {redraw-current-line ()}}
|
||||
\entry{accept-line (Newline or Return)}{149}{\code {accept-line (Newline or Return)}}
|
||||
\entry{previous-history (C-p)}{149}{\code {previous-history (C-p)}}
|
||||
\entry{next-history (C-n)}{149}{\code {next-history (C-n)}}
|
||||
\entry{beginning-of-history (M-<)}{149}{\code {beginning-of-history (M-<)}}
|
||||
\entry{end-of-history (M->)}{149}{\code {end-of-history (M->)}}
|
||||
\entry{reverse-search-history (C-r)}{149}{\code {reverse-search-history (C-r)}}
|
||||
\entry{forward-search-history (C-s)}{150}{\code {forward-search-history (C-s)}}
|
||||
\entry{non-incremental-reverse-search-history (M-p)}{150}{\code {non-incremental-reverse-search-history (M-p)}}
|
||||
\entry{non-incremental-forward-search-history (M-n)}{150}{\code {non-incremental-forward-search-history (M-n)}}
|
||||
\entry{history-search-backward ()}{150}{\code {history-search-backward ()}}
|
||||
\entry{history-search-forward ()}{150}{\code {history-search-forward ()}}
|
||||
\entry{history-substring-search-backward ()}{150}{\code {history-substring-search-backward ()}}
|
||||
\entry{history-substring-search-forward ()}{150}{\code {history-substring-search-forward ()}}
|
||||
\entry{yank-nth-arg (M-C-y)}{150}{\code {yank-nth-arg (M-C-y)}}
|
||||
\entry{yank-last-arg (M-. or M-_)}{150}{\code {yank-last-arg (M-. or M-_)}}
|
||||
\entry{operate-and-get-next (C-o)}{151}{\code {operate-and-get-next (C-o)}}
|
||||
\entry{fetch-history ()}{151}{\code {fetch-history ()}}
|
||||
\entry{end-of-file (usually C-d)}{151}{\code {\i {end-of-file} (usually C-d)}}
|
||||
\entry{delete-char (C-d)}{151}{\code {delete-char (C-d)}}
|
||||
\entry{backward-delete-char (Rubout)}{151}{\code {backward-delete-char (Rubout)}}
|
||||
\entry{forward-backward-delete-char ()}{151}{\code {forward-backward-delete-char ()}}
|
||||
\entry{quoted-insert (C-q or C-v)}{151}{\code {quoted-insert (C-q or C-v)}}
|
||||
\entry{self-insert (a, b, A, 1, !, ...{})}{151}{\code {self-insert (a, b, A, 1, !, \dots {})}}
|
||||
\entry{bracketed-paste-begin ()}{151}{\code {bracketed-paste-begin ()}}
|
||||
\entry{transpose-chars (C-t)}{152}{\code {transpose-chars (C-t)}}
|
||||
\entry{transpose-words (M-t)}{152}{\code {transpose-words (M-t)}}
|
||||
\entry{shell-transpose-words (M-C-t)}{152}{\code {shell-transpose-words (M-C-t)}}
|
||||
\entry{upcase-word (M-u)}{152}{\code {upcase-word (M-u)}}
|
||||
\entry{downcase-word (M-l)}{152}{\code {downcase-word (M-l)}}
|
||||
\entry{capitalize-word (M-c)}{152}{\code {capitalize-word (M-c)}}
|
||||
\entry{overwrite-mode ()}{152}{\code {overwrite-mode ()}}
|
||||
\entry{kill-line (C-k)}{152}{\code {kill-line (C-k)}}
|
||||
\entry{backward-kill-line (C-x Rubout)}{153}{\code {backward-kill-line (C-x Rubout)}}
|
||||
\entry{unix-line-discard (C-u)}{153}{\code {unix-line-discard (C-u)}}
|
||||
\entry{kill-whole-line ()}{153}{\code {kill-whole-line ()}}
|
||||
\entry{kill-word (M-d)}{153}{\code {kill-word (M-d)}}
|
||||
\entry{backward-kill-word (M-DEL)}{153}{\code {backward-kill-word (M-\key {DEL})}}
|
||||
\entry{shell-kill-word (M-C-d)}{153}{\code {shell-kill-word (M-C-d)}}
|
||||
\entry{shell-backward-kill-word ()}{153}{\code {shell-backward-kill-word ()}}
|
||||
\entry{unix-word-rubout (C-w)}{153}{\code {unix-word-rubout (C-w)}}
|
||||
\entry{unix-filename-rubout ()}{153}{\code {unix-filename-rubout ()}}
|
||||
\entry{delete-horizontal-space ()}{153}{\code {delete-horizontal-space ()}}
|
||||
\entry{kill-region ()}{153}{\code {kill-region ()}}
|
||||
\entry{copy-region-as-kill ()}{153}{\code {copy-region-as-kill ()}}
|
||||
\entry{copy-backward-word ()}{153}{\code {copy-backward-word ()}}
|
||||
\entry{copy-forward-word ()}{153}{\code {copy-forward-word ()}}
|
||||
\entry{yank (C-y)}{153}{\code {yank (C-y)}}
|
||||
\entry{yank-pop (M-y)}{154}{\code {yank-pop (M-y)}}
|
||||
\entry{digit-argument (M-0, M-1, ...{} M--)}{154}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
|
||||
\entry{universal-argument ()}{154}{\code {universal-argument ()}}
|
||||
\entry{complete (TAB)}{154}{\code {complete (\key {TAB})}}
|
||||
\entry{possible-completions (M-?)}{154}{\code {possible-completions (M-?)}}
|
||||
\entry{insert-completions (M-*)}{154}{\code {insert-completions (M-*)}}
|
||||
\entry{menu-complete ()}{154}{\code {menu-complete ()}}
|
||||
\entry{menu-complete-backward ()}{155}{\code {menu-complete-backward ()}}
|
||||
\entry{export-completions ()}{155}{\code {export-completions ()}}
|
||||
\entry{delete-char-or-list ()}{155}{\code {delete-char-or-list ()}}
|
||||
\entry{complete-filename (M-/)}{155}{\code {complete-filename (M-/)}}
|
||||
\entry{possible-filename-completions (C-x /)}{155}{\code {possible-filename-completions (C-x /)}}
|
||||
\entry{complete-username (M-~)}{155}{\code {complete-username (M-~)}}
|
||||
\entry{possible-username-completions (C-x ~)}{155}{\code {possible-username-completions (C-x ~)}}
|
||||
\entry{complete-variable (M-$)}{155}{\code {complete-variable (M-$)}}
|
||||
\entry{possible-variable-completions (C-x $)}{155}{\code {possible-variable-completions (C-x $)}}
|
||||
\entry{complete-hostname (M-@)}{155}{\code {complete-hostname (M-@)}}
|
||||
\entry{possible-hostname-completions (C-x @)}{156}{\code {possible-hostname-completions (C-x @)}}
|
||||
\entry{complete-command (M-!)}{156}{\code {complete-command (M-!)}}
|
||||
\entry{possible-command-completions (C-x !)}{156}{\code {possible-command-completions (C-x !)}}
|
||||
\entry{dynamic-complete-history (M-TAB)}{156}{\code {dynamic-complete-history (M-\key {TAB})}}
|
||||
\entry{dabbrev-expand ()}{156}{\code {dabbrev-expand ()}}
|
||||
\entry{complete-into-braces (M-{\indexlbrace })}{156}{\code {complete-into-braces (M-{\tt \char 123})}}
|
||||
\entry{start-kbd-macro (C-x ()}{156}{\code {start-kbd-macro (C-x ()}}
|
||||
\entry{end-kbd-macro (C-x ))}{156}{\code {end-kbd-macro (C-x ))}}
|
||||
\entry{call-last-kbd-macro (C-x e)}{156}{\code {call-last-kbd-macro (C-x e)}}
|
||||
\entry{print-last-kbd-macro ()}{156}{\code {print-last-kbd-macro ()}}
|
||||
\entry{re-read-init-file (C-x C-r)}{156}{\code {re-read-init-file (C-x C-r)}}
|
||||
\entry{abort (C-g)}{156}{\code {abort (C-g)}}
|
||||
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{157}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
|
||||
\entry{prefix-meta (ESC)}{157}{\code {prefix-meta (\key {ESC})}}
|
||||
\entry{undo (C-_ or C-x C-u)}{157}{\code {undo (C-_ or C-x C-u)}}
|
||||
\entry{revert-line (M-r)}{157}{\code {revert-line (M-r)}}
|
||||
\entry{tilde-expand (M-&)}{157}{\code {tilde-expand (M-&)}}
|
||||
\entry{set-mark (C-@)}{157}{\code {set-mark (C-@)}}
|
||||
\entry{exchange-point-and-mark (C-x C-x)}{157}{\code {exchange-point-and-mark (C-x C-x)}}
|
||||
\entry{character-search (C-])}{157}{\code {character-search (C-])}}
|
||||
\entry{character-search-backward (M-C-])}{157}{\code {character-search-backward (M-C-])}}
|
||||
\entry{skip-csi-sequence ()}{157}{\code {skip-csi-sequence ()}}
|
||||
\entry{insert-comment (M-#)}{157}{\code {insert-comment (M-#)}}
|
||||
\entry{dump-functions ()}{158}{\code {dump-functions ()}}
|
||||
\entry{dump-variables ()}{158}{\code {dump-variables ()}}
|
||||
\entry{dump-macros ()}{158}{\code {dump-macros ()}}
|
||||
\entry{execute-named-command (M-x)}{158}{\code {execute-named-command (M-x)}}
|
||||
\entry{spell-correct-word (C-x s)}{158}{\code {spell-correct-word (C-x s)}}
|
||||
\entry{glob-complete-word (M-g)}{158}{\code {glob-complete-word (M-g)}}
|
||||
\entry{glob-expand-word (C-x *)}{158}{\code {glob-expand-word (C-x *)}}
|
||||
\entry{glob-list-expansions (C-x g)}{158}{\code {glob-list-expansions (C-x g)}}
|
||||
\entry{shell-expand-line (M-C-e)}{158}{\code {shell-expand-line (M-C-e)}}
|
||||
\entry{shell-expand-and-requote-line ()}{158}{\code {shell-expand-and-requote-line ()}}
|
||||
\entry{history-expand-line (M-^)}{159}{\code {history-expand-line (M-^)}}
|
||||
\entry{magic-space ()}{159}{\code {magic-space ()}}
|
||||
\entry{alias-expand-line ()}{159}{\code {alias-expand-line ()}}
|
||||
\entry{history-and-alias-expand-line ()}{159}{\code {history-and-alias-expand-line ()}}
|
||||
\entry{insert-last-argument (M-. or M-_)}{159}{\code {insert-last-argument (M-. or M-_)}}
|
||||
\entry{edit-and-execute-command (C-x C-e)}{159}{\code {edit-and-execute-command (C-x C-e)}}
|
||||
\entry{display-shell-version (C-x C-v)}{159}{\code {display-shell-version (C-x C-v)}}
|
||||
|
||||
+117
-117
@@ -1,137 +1,137 @@
|
||||
\initial {A}
|
||||
\entry{\code {abort (C-g)}}{155}
|
||||
\entry{\code {accept-line (Newline or Return)}}{148}
|
||||
\entry{\code {alias-expand-line ()}}{158}
|
||||
\entry{\code {abort (C-g)}}{156}
|
||||
\entry{\code {accept-line (Newline or Return)}}{149}
|
||||
\entry{\code {alias-expand-line ()}}{159}
|
||||
\initial {B}
|
||||
\entry{\code {backward-char (C-b)}}{147}
|
||||
\entry{\code {backward-delete-char (Rubout)}}{150}
|
||||
\entry{\code {backward-kill-line (C-x Rubout)}}{152}
|
||||
\entry{\code {backward-kill-word (M-\key {DEL})}}{152}
|
||||
\entry{\code {backward-word (M-b)}}{147}
|
||||
\entry{\code {beginning-of-history (M-<)}}{148}
|
||||
\entry{\code {beginning-of-line (C-a)}}{147}
|
||||
\entry{\code {bracketed-paste-begin ()}}{150}
|
||||
\entry{\code {backward-char (C-b)}}{148}
|
||||
\entry{\code {backward-delete-char (Rubout)}}{151}
|
||||
\entry{\code {backward-kill-line (C-x Rubout)}}{153}
|
||||
\entry{\code {backward-kill-word (M-\key {DEL})}}{153}
|
||||
\entry{\code {backward-word (M-b)}}{148}
|
||||
\entry{\code {beginning-of-history (M-<)}}{149}
|
||||
\entry{\code {beginning-of-line (C-a)}}{148}
|
||||
\entry{\code {bracketed-paste-begin ()}}{151}
|
||||
\initial {C}
|
||||
\entry{\code {call-last-kbd-macro (C-x e)}}{155}
|
||||
\entry{\code {capitalize-word (M-c)}}{151}
|
||||
\entry{\code {character-search (C-])}}{156}
|
||||
\entry{\code {character-search-backward (M-C-])}}{156}
|
||||
\entry{\code {clear-display (M-C-l)}}{148}
|
||||
\entry{\code {clear-screen (C-l)}}{148}
|
||||
\entry{\code {complete (\key {TAB})}}{153}
|
||||
\entry{\code {complete-command (M-!)}}{155}
|
||||
\entry{\code {complete-filename (M-/)}}{154}
|
||||
\entry{\code {complete-hostname (M-@)}}{154}
|
||||
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{155}
|
||||
\entry{\code {complete-username (M-~)}}{154}
|
||||
\entry{\code {complete-variable (M-$)}}{154}
|
||||
\entry{\code {copy-backward-word ()}}{152}
|
||||
\entry{\code {copy-forward-word ()}}{152}
|
||||
\entry{\code {copy-region-as-kill ()}}{152}
|
||||
\entry{\code {call-last-kbd-macro (C-x e)}}{156}
|
||||
\entry{\code {capitalize-word (M-c)}}{152}
|
||||
\entry{\code {character-search (C-])}}{157}
|
||||
\entry{\code {character-search-backward (M-C-])}}{157}
|
||||
\entry{\code {clear-display (M-C-l)}}{149}
|
||||
\entry{\code {clear-screen (C-l)}}{149}
|
||||
\entry{\code {complete (\key {TAB})}}{154}
|
||||
\entry{\code {complete-command (M-!)}}{156}
|
||||
\entry{\code {complete-filename (M-/)}}{155}
|
||||
\entry{\code {complete-hostname (M-@)}}{155}
|
||||
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{156}
|
||||
\entry{\code {complete-username (M-~)}}{155}
|
||||
\entry{\code {complete-variable (M-$)}}{155}
|
||||
\entry{\code {copy-backward-word ()}}{153}
|
||||
\entry{\code {copy-forward-word ()}}{153}
|
||||
\entry{\code {copy-region-as-kill ()}}{153}
|
||||
\initial {D}
|
||||
\entry{\code {dabbrev-expand ()}}{155}
|
||||
\entry{\code {delete-char (C-d)}}{150}
|
||||
\entry{\code {delete-char-or-list ()}}{154}
|
||||
\entry{\code {delete-horizontal-space ()}}{152}
|
||||
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{153}
|
||||
\entry{\code {display-shell-version (C-x C-v)}}{158}
|
||||
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{156}
|
||||
\entry{\code {downcase-word (M-l)}}{151}
|
||||
\entry{\code {dump-functions ()}}{157}
|
||||
\entry{\code {dump-macros ()}}{157}
|
||||
\entry{\code {dump-variables ()}}{157}
|
||||
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{155}
|
||||
\entry{\code {dabbrev-expand ()}}{156}
|
||||
\entry{\code {delete-char (C-d)}}{151}
|
||||
\entry{\code {delete-char-or-list ()}}{155}
|
||||
\entry{\code {delete-horizontal-space ()}}{153}
|
||||
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{154}
|
||||
\entry{\code {display-shell-version (C-x C-v)}}{159}
|
||||
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{157}
|
||||
\entry{\code {downcase-word (M-l)}}{152}
|
||||
\entry{\code {dump-functions ()}}{158}
|
||||
\entry{\code {dump-macros ()}}{158}
|
||||
\entry{\code {dump-variables ()}}{158}
|
||||
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{156}
|
||||
\initial {E}
|
||||
\entry{\code {edit-and-execute-command (C-x C-e)}}{158}
|
||||
\entry{\code {end-kbd-macro (C-x ))}}{155}
|
||||
\entry{\code {\i {end-of-file} (usually C-d)}}{150}
|
||||
\entry{\code {end-of-history (M->)}}{148}
|
||||
\entry{\code {end-of-line (C-e)}}{147}
|
||||
\entry{\code {exchange-point-and-mark (C-x C-x)}}{156}
|
||||
\entry{\code {execute-named-command (M-x)}}{157}
|
||||
\entry{\code {export-completions ()}}{154}
|
||||
\entry{\code {edit-and-execute-command (C-x C-e)}}{159}
|
||||
\entry{\code {end-kbd-macro (C-x ))}}{156}
|
||||
\entry{\code {\i {end-of-file} (usually C-d)}}{151}
|
||||
\entry{\code {end-of-history (M->)}}{149}
|
||||
\entry{\code {end-of-line (C-e)}}{148}
|
||||
\entry{\code {exchange-point-and-mark (C-x C-x)}}{157}
|
||||
\entry{\code {execute-named-command (M-x)}}{158}
|
||||
\entry{\code {export-completions ()}}{155}
|
||||
\initial {F}
|
||||
\entry{\code {fetch-history ()}}{150}
|
||||
\entry{\code {forward-backward-delete-char ()}}{150}
|
||||
\entry{\code {forward-char (C-f)}}{147}
|
||||
\entry{\code {forward-search-history (C-s)}}{149}
|
||||
\entry{\code {forward-word (M-f)}}{147}
|
||||
\entry{\code {fetch-history ()}}{151}
|
||||
\entry{\code {forward-backward-delete-char ()}}{151}
|
||||
\entry{\code {forward-char (C-f)}}{148}
|
||||
\entry{\code {forward-search-history (C-s)}}{150}
|
||||
\entry{\code {forward-word (M-f)}}{148}
|
||||
\initial {G}
|
||||
\entry{\code {glob-complete-word (M-g)}}{157}
|
||||
\entry{\code {glob-expand-word (C-x *)}}{157}
|
||||
\entry{\code {glob-list-expansions (C-x g)}}{157}
|
||||
\entry{\code {glob-complete-word (M-g)}}{158}
|
||||
\entry{\code {glob-expand-word (C-x *)}}{158}
|
||||
\entry{\code {glob-list-expansions (C-x g)}}{158}
|
||||
\initial {H}
|
||||
\entry{\code {history-and-alias-expand-line ()}}{158}
|
||||
\entry{\code {history-expand-line (M-^)}}{158}
|
||||
\entry{\code {history-search-backward ()}}{149}
|
||||
\entry{\code {history-search-forward ()}}{149}
|
||||
\entry{\code {history-substring-search-backward ()}}{149}
|
||||
\entry{\code {history-substring-search-forward ()}}{149}
|
||||
\entry{\code {history-and-alias-expand-line ()}}{159}
|
||||
\entry{\code {history-expand-line (M-^)}}{159}
|
||||
\entry{\code {history-search-backward ()}}{150}
|
||||
\entry{\code {history-search-forward ()}}{150}
|
||||
\entry{\code {history-substring-search-backward ()}}{150}
|
||||
\entry{\code {history-substring-search-forward ()}}{150}
|
||||
\initial {I}
|
||||
\entry{\code {insert-comment (M-#)}}{156}
|
||||
\entry{\code {insert-completions (M-*)}}{153}
|
||||
\entry{\code {insert-last-argument (M-. or M-_)}}{158}
|
||||
\entry{\code {insert-comment (M-#)}}{157}
|
||||
\entry{\code {insert-completions (M-*)}}{154}
|
||||
\entry{\code {insert-last-argument (M-. or M-_)}}{159}
|
||||
\initial {K}
|
||||
\entry{\code {kill-line (C-k)}}{151}
|
||||
\entry{\code {kill-region ()}}{152}
|
||||
\entry{\code {kill-whole-line ()}}{152}
|
||||
\entry{\code {kill-word (M-d)}}{152}
|
||||
\entry{\code {kill-line (C-k)}}{152}
|
||||
\entry{\code {kill-region ()}}{153}
|
||||
\entry{\code {kill-whole-line ()}}{153}
|
||||
\entry{\code {kill-word (M-d)}}{153}
|
||||
\initial {M}
|
||||
\entry{\code {magic-space ()}}{158}
|
||||
\entry{\code {menu-complete ()}}{153}
|
||||
\entry{\code {menu-complete-backward ()}}{154}
|
||||
\entry{\code {magic-space ()}}{159}
|
||||
\entry{\code {menu-complete ()}}{154}
|
||||
\entry{\code {menu-complete-backward ()}}{155}
|
||||
\initial {N}
|
||||
\entry{\code {next-history (C-n)}}{148}
|
||||
\entry{\code {next-screen-line ()}}{148}
|
||||
\entry{\code {non-incremental-forward-search-history (M-n)}}{149}
|
||||
\entry{\code {non-incremental-reverse-search-history (M-p)}}{149}
|
||||
\entry{\code {next-history (C-n)}}{149}
|
||||
\entry{\code {next-screen-line ()}}{149}
|
||||
\entry{\code {non-incremental-forward-search-history (M-n)}}{150}
|
||||
\entry{\code {non-incremental-reverse-search-history (M-p)}}{150}
|
||||
\initial {O}
|
||||
\entry{\code {operate-and-get-next (C-o)}}{150}
|
||||
\entry{\code {overwrite-mode ()}}{151}
|
||||
\entry{\code {operate-and-get-next (C-o)}}{151}
|
||||
\entry{\code {overwrite-mode ()}}{152}
|
||||
\initial {P}
|
||||
\entry{\code {possible-command-completions (C-x !)}}{155}
|
||||
\entry{\code {possible-completions (M-?)}}{153}
|
||||
\entry{\code {possible-filename-completions (C-x /)}}{154}
|
||||
\entry{\code {possible-hostname-completions (C-x @)}}{155}
|
||||
\entry{\code {possible-username-completions (C-x ~)}}{154}
|
||||
\entry{\code {possible-variable-completions (C-x $)}}{154}
|
||||
\entry{\code {prefix-meta (\key {ESC})}}{156}
|
||||
\entry{\code {previous-history (C-p)}}{148}
|
||||
\entry{\code {previous-screen-line ()}}{148}
|
||||
\entry{\code {print-last-kbd-macro ()}}{155}
|
||||
\entry{\code {possible-command-completions (C-x !)}}{156}
|
||||
\entry{\code {possible-completions (M-?)}}{154}
|
||||
\entry{\code {possible-filename-completions (C-x /)}}{155}
|
||||
\entry{\code {possible-hostname-completions (C-x @)}}{156}
|
||||
\entry{\code {possible-username-completions (C-x ~)}}{155}
|
||||
\entry{\code {possible-variable-completions (C-x $)}}{155}
|
||||
\entry{\code {prefix-meta (\key {ESC})}}{157}
|
||||
\entry{\code {previous-history (C-p)}}{149}
|
||||
\entry{\code {previous-screen-line ()}}{149}
|
||||
\entry{\code {print-last-kbd-macro ()}}{156}
|
||||
\initial {Q}
|
||||
\entry{\code {quoted-insert (C-q or C-v)}}{150}
|
||||
\entry{\code {quoted-insert (C-q or C-v)}}{151}
|
||||
\initial {R}
|
||||
\entry{\code {re-read-init-file (C-x C-r)}}{155}
|
||||
\entry{\code {redraw-current-line ()}}{148}
|
||||
\entry{\code {reverse-search-history (C-r)}}{148}
|
||||
\entry{\code {revert-line (M-r)}}{156}
|
||||
\entry{\code {re-read-init-file (C-x C-r)}}{156}
|
||||
\entry{\code {redraw-current-line ()}}{149}
|
||||
\entry{\code {reverse-search-history (C-r)}}{149}
|
||||
\entry{\code {revert-line (M-r)}}{157}
|
||||
\initial {S}
|
||||
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{150}
|
||||
\entry{\code {set-mark (C-@)}}{156}
|
||||
\entry{\code {shell-backward-kill-word ()}}{152}
|
||||
\entry{\code {shell-backward-word (M-C-b)}}{147}
|
||||
\entry{\code {shell-expand-and-requote-line ()}}{157}
|
||||
\entry{\code {shell-expand-line (M-C-e)}}{157}
|
||||
\entry{\code {shell-forward-word (M-C-f)}}{147}
|
||||
\entry{\code {shell-kill-word (M-C-d)}}{152}
|
||||
\entry{\code {shell-transpose-words (M-C-t)}}{151}
|
||||
\entry{\code {skip-csi-sequence ()}}{156}
|
||||
\entry{\code {spell-correct-word (C-x s)}}{157}
|
||||
\entry{\code {start-kbd-macro (C-x ()}}{155}
|
||||
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{151}
|
||||
\entry{\code {set-mark (C-@)}}{157}
|
||||
\entry{\code {shell-backward-kill-word ()}}{153}
|
||||
\entry{\code {shell-backward-word (M-C-b)}}{148}
|
||||
\entry{\code {shell-expand-and-requote-line ()}}{158}
|
||||
\entry{\code {shell-expand-line (M-C-e)}}{158}
|
||||
\entry{\code {shell-forward-word (M-C-f)}}{148}
|
||||
\entry{\code {shell-kill-word (M-C-d)}}{153}
|
||||
\entry{\code {shell-transpose-words (M-C-t)}}{152}
|
||||
\entry{\code {skip-csi-sequence ()}}{157}
|
||||
\entry{\code {spell-correct-word (C-x s)}}{158}
|
||||
\entry{\code {start-kbd-macro (C-x ()}}{156}
|
||||
\initial {T}
|
||||
\entry{\code {tilde-expand (M-&)}}{156}
|
||||
\entry{\code {transpose-chars (C-t)}}{151}
|
||||
\entry{\code {transpose-words (M-t)}}{151}
|
||||
\entry{\code {tilde-expand (M-&)}}{157}
|
||||
\entry{\code {transpose-chars (C-t)}}{152}
|
||||
\entry{\code {transpose-words (M-t)}}{152}
|
||||
\initial {U}
|
||||
\entry{\code {undo (C-_ or C-x C-u)}}{156}
|
||||
\entry{\code {universal-argument ()}}{153}
|
||||
\entry{\code {unix-filename-rubout ()}}{152}
|
||||
\entry{\code {unix-line-discard (C-u)}}{152}
|
||||
\entry{\code {unix-word-rubout (C-w)}}{152}
|
||||
\entry{\code {upcase-word (M-u)}}{151}
|
||||
\entry{\code {undo (C-_ or C-x C-u)}}{157}
|
||||
\entry{\code {universal-argument ()}}{154}
|
||||
\entry{\code {unix-filename-rubout ()}}{153}
|
||||
\entry{\code {unix-line-discard (C-u)}}{153}
|
||||
\entry{\code {unix-word-rubout (C-w)}}{153}
|
||||
\entry{\code {upcase-word (M-u)}}{152}
|
||||
\initial {Y}
|
||||
\entry{\code {yank (C-y)}}{152}
|
||||
\entry{\code {yank-last-arg (M-. or M-_)}}{149}
|
||||
\entry{\code {yank-nth-arg (M-C-y)}}{149}
|
||||
\entry{\code {yank-pop (M-y)}}{153}
|
||||
\entry{\code {yank (C-y)}}{153}
|
||||
\entry{\code {yank-last-arg (M-. or M-_)}}{150}
|
||||
\entry{\code {yank-nth-arg (M-C-y)}}{150}
|
||||
\entry{\code {yank-pop (M-y)}}{154}
|
||||
|
||||
+46
-12
@@ -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, 16 March 2026).
|
||||
the Bash shell (version 5.3, 29 April 2026).
|
||||
|
||||
This is Edition 5.3, last updated 16 March 2026,
|
||||
This is Edition 5.3, last updated 29 April 2026,
|
||||
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
|
||||
<h1 class="top" id="Bash-Features-1"><span>Bash Features<a class="copiable-link" href="#Bash-Features-1"> ¶</a></span></h1>
|
||||
|
||||
<p>This text is a brief description of the features that are present in
|
||||
the Bash shell (version 5.3, 16 March 2026).
|
||||
the Bash shell (version 5.3, 29 April 2026).
|
||||
The Bash home page is <a class="url" href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
|
||||
</p>
|
||||
<p>This is Edition 5.3, last updated 16 March 2026,
|
||||
<p>This is Edition 5.3, last updated 29 April 2026,
|
||||
of <cite class="cite">The GNU Bash Reference Manual</cite>,
|
||||
for <code class="code">Bash</code>, Version 5.3.
|
||||
</p>
|
||||
@@ -4611,7 +4611,7 @@ Previous: <a href="#Executing-Commands" accesskey="p" rel="prev">Executing Comma
|
||||
<h3 class="section" id="Shell-Scripts-1"><span>3.8 Shell Scripts<a class="copiable-link" href="#Shell-Scripts-1"> ¶</a></span></h3>
|
||||
<a class="index-entry-id" id="index-shell-script"></a>
|
||||
|
||||
<p>A shell script is a text file containing shell commands.
|
||||
<p>A <em class="dfn">shell script</em> is a text file containing shell commands.
|
||||
When such a file is used as the first non-option argument when
|
||||
invoking Bash, and neither the <samp class="option">-c</samp> nor <samp class="option">-s</samp> option
|
||||
is supplied (see <a class="pxref" href="#Invoking-Bash">Invoking Bash</a>),
|
||||
@@ -8875,6 +8875,14 @@ connected to terminals (as determined by
|
||||
or one started with the <samp class="option">-i</samp> option.
|
||||
See <a class="xref" href="#Interactive-Shells">Interactive Shells</a>, for more information.
|
||||
</p>
|
||||
<p>A <em class="dfn">non-interactive shell</em> is, not surprisingly, one that does not
|
||||
satisfy the tests for interactivity given above.
|
||||
A non-interactive shell is usually started to run commands from a script
|
||||
file supplied as an argument (see <a class="pxref" href="#Shell-Scripts">Shell Scripts</a>)
|
||||
or from a string supplied with the
|
||||
<samp class="option">-c</samp>
|
||||
option.
|
||||
</p>
|
||||
<p>If arguments remain after option processing, and neither the
|
||||
<samp class="option">-c</samp> nor the <samp class="option">-s</samp>
|
||||
option has been supplied, the first argument is treated as
|
||||
@@ -8892,6 +8900,31 @@ and, if no file is found, searches the directories in
|
||||
<code class="env">PATH</code>
|
||||
for the script.
|
||||
</p>
|
||||
<p>For example, the following command starts an interactive shell:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example-preformatted">bash
|
||||
</pre></div>
|
||||
|
||||
<p>whereas this command will read and execute commands from <samp class="file">filename</samp>:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example-preformatted">bash filename
|
||||
</pre></div>
|
||||
|
||||
<p>This command will execute ‘<samp class="samp">echo hello</samp>’:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example-preformatted">bash -c 'echo hello'
|
||||
</pre></div>
|
||||
|
||||
<p>and this will execute the same command
|
||||
read from the standard input:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example-preformatted">echo echo hello | bash
|
||||
</pre></div>
|
||||
|
||||
<hr>
|
||||
</div>
|
||||
<div class="section-level-extent" id="Bash-Startup-Files">
|
||||
@@ -8904,7 +8937,7 @@ Next: <a href="#Interactive-Shells" accesskey="n" rel="next">Interactive Shells<
|
||||
|
||||
<p>This section describes how Bash executes its startup files.
|
||||
If any of the files exist but cannot be read, Bash reports an error.
|
||||
Tildes are expanded in filenames as described above under
|
||||
Tildes in filenames are expanded as described above under
|
||||
Tilde Expansion (see <a class="pxref" href="#Tilde-Expansion">Tilde Expansion</a>).
|
||||
</p>
|
||||
<p>Interactive shells are described in <a class="ref" href="#Interactive-Shells">Interactive Shells</a>.
|
||||
@@ -9000,15 +9033,16 @@ standard for startup files.
|
||||
In this mode, interactive shells expand the <code class="env">ENV</code> variable
|
||||
and read and execute commands from the file whose name is the
|
||||
expanded value.
|
||||
No other startup files are read.
|
||||
A posix-mode shell does not attempt to read any other startup files,
|
||||
even when invoked as a login shell.
|
||||
</p>
|
||||
<h4 class="subsubheading" id="Invoked-by-remote-shell-daemon"><span>Invoked by remote shell daemon<a class="copiable-link" href="#Invoked-by-remote-shell-daemon"> ¶</a></span></h4>
|
||||
|
||||
<p>Bash
|
||||
attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by
|
||||
the historical and rarely-seen remote shell daemon, usually <code class="code">rshd</code>,
|
||||
or the secure shell daemon <code class="code">sshd</code>.
|
||||
the secure shell daemon <code class="code">sshd</code>.
|
||||
or the historical and rarely-seen remote shell daemon, usually <code class="code">rshd</code>.
|
||||
If
|
||||
Bash
|
||||
determines it is being run non-interactively in this fashion,
|
||||
@@ -9023,7 +9057,7 @@ option inhibits this behavior, and the
|
||||
option makes Bash use a different file instead of
|
||||
<samp class="file">~/.bashrc</samp>,
|
||||
but neither
|
||||
<code class="code">rshd</code> nor <code class="code">sshd</code> generally invoke the shell with those
|
||||
<code class="command">sshd</code> nor <code class="command">rshd</code> generally invoke the shell with those
|
||||
options or allow them to be specified.
|
||||
</p>
|
||||
<h4 class="subsubheading" id="Invoked-with-unequal-effective-and-real-uid_002fgids"><span>Invoked with unequal effective and real <small class="sc">UID/GID</small>s<a class="copiable-link" href="#Invoked-with-unequal-effective-and-real-uid_002fgids"> ¶</a></span></h4>
|
||||
@@ -9035,7 +9069,7 @@ the <code class="env">SHELLOPTS</code>, <code class="env">BASHOPTS</code>, <code
|
||||
variables, if they appear in the environment, are ignored, and the effective
|
||||
user id is set to the real user id.
|
||||
If the <samp class="option">-p</samp> option is supplied at invocation, the startup behavior is
|
||||
the same, but the effective user id is not reset.
|
||||
the same, but Bash does not reset the effective user id.
|
||||
</p>
|
||||
<hr>
|
||||
</div>
|
||||
@@ -9671,7 +9705,7 @@ There is no maximum
|
||||
limit on the size of an array, nor any requirement that members
|
||||
be indexed or assigned contiguously.
|
||||
Indexed arrays are referenced using arithmetic expressions
|
||||
that must expand to an integer (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>))
|
||||
that must expand to an integer (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>)
|
||||
and are zero-based;
|
||||
associative arrays use arbitrary strings.
|
||||
Unless otherwise noted, indexed array indices must be non-negative integers.
|
||||
|
||||
+119
-96
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 7.2 from
|
||||
bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.3, 16 March 2026).
|
||||
Bash shell (version 5.3, 29 April 2026).
|
||||
|
||||
This is Edition 5.3, last updated 16 March 2026, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 29 April 2026, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Copyright © 1988-2026 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, 16 March 2026). The Bash home page is
|
||||
Bash shell (version 5.3, 29 April 2026). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.3, last updated 16 March 2026, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 29 April 2026, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -3362,7 +3362,7 @@ File: bashref.info, Node: Shell Scripts, Prev: Executing Commands, Up: Basic
|
||||
3.8 Shell Scripts
|
||||
=================
|
||||
|
||||
A shell script is a text file containing shell commands. When such a
|
||||
A “shell script” is a text file containing shell commands. When such a
|
||||
file is used as the first non-option argument when invoking Bash, and
|
||||
neither the ‘-c’ nor ‘-s’ option is supplied (*note Invoking Bash::),
|
||||
Bash reads and executes commands from the file, then exits. This mode
|
||||
@@ -6667,6 +6667,12 @@ standard input and standard error are both connected to terminals (as
|
||||
determined by isatty(3)), or one started with the ‘-i’ option. *Note
|
||||
Interactive Shells::, for more information.
|
||||
|
||||
A “non-interactive shell” is, not surprisingly, one that does not
|
||||
satisfy the tests for interactivity given above. A non-interactive
|
||||
shell is usually started to run commands from a script file supplied as
|
||||
an argument (*note Shell Scripts::) or from a string supplied with the
|
||||
‘-c’ option.
|
||||
|
||||
If arguments remain after option processing, and neither the ‘-c’ nor
|
||||
the ‘-s’ option has been supplied, the first argument is treated as the
|
||||
name of a file containing shell commands (*note Shell Scripts::). When
|
||||
@@ -6678,6 +6684,22 @@ If no commands are executed, the exit status is 0. Bash first attempts
|
||||
to open the file in the current directory, and, if no file is found,
|
||||
searches the directories in ‘PATH’ for the script.
|
||||
|
||||
For example, the following command starts an interactive shell:
|
||||
|
||||
bash
|
||||
|
||||
whereas this command will read and execute commands from ‘filename’:
|
||||
|
||||
bash filename
|
||||
|
||||
This command will execute ‘echo hello’:
|
||||
|
||||
bash -c 'echo hello'
|
||||
|
||||
and this will execute the same command read from the standard input:
|
||||
|
||||
echo echo hello | bash
|
||||
|
||||
|
||||
File: bashref.info, Node: Bash Startup Files, Next: Interactive Shells, Prev: Invoking Bash, Up: Bash Features
|
||||
|
||||
@@ -6685,8 +6707,8 @@ File: bashref.info, Node: Bash Startup Files, Next: Interactive Shells, Prev:
|
||||
======================
|
||||
|
||||
This section describes how Bash executes its startup files. If any of
|
||||
the files exist but cannot be read, Bash reports an error. Tildes are
|
||||
expanded in filenames as described above under Tilde Expansion (*note
|
||||
the files exist but cannot be read, Bash reports an error. Tildes in
|
||||
filenames are expanded as described above under Tilde Expansion (*note
|
||||
Tilde Expansion::).
|
||||
|
||||
Interactive shells are described in *note Interactive Shells::.
|
||||
@@ -6764,21 +6786,22 @@ Invoked in POSIX mode
|
||||
When Bash is started in POSIX mode, as with the ‘--posix’ command line
|
||||
option, it follows the POSIX standard for startup files. In this mode,
|
||||
interactive shells expand the ‘ENV’ variable and read and execute
|
||||
commands from the file whose name is the expanded value. No other
|
||||
startup files are read.
|
||||
commands from the file whose name is the expanded value. A posix-mode
|
||||
shell does not attempt to read any other startup files, even when
|
||||
invoked as a login shell.
|
||||
|
||||
Invoked by remote shell daemon
|
||||
..............................
|
||||
|
||||
Bash attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by the historical
|
||||
and rarely-seen remote shell daemon, usually ‘rshd’, or the secure shell
|
||||
daemon ‘sshd’. If Bash determines it is being run non-interactively in
|
||||
connected to a network connection, as when executed by the secure shell
|
||||
daemon ‘sshd’. or the historical and rarely-seen remote shell daemon,
|
||||
usually ‘rshd’. If Bash determines it is being run non-interactively in
|
||||
this fashion, it reads and executes commands from ‘~/.bashrc’, if that
|
||||
file exists and is readable. Bash does not read this file if invoked as
|
||||
‘sh’. The ‘--norc’ option inhibits this behavior, and the ‘--rcfile’
|
||||
option makes Bash use a different file instead of ‘~/.bashrc’, but
|
||||
neither ‘rshd’ nor ‘sshd’ generally invoke the shell with those options
|
||||
neither ‘sshd’ nor ‘rshd’ generally invoke the shell with those options
|
||||
or allow them to be specified.
|
||||
|
||||
Invoked with unequal effective and real UID/GIDs
|
||||
@@ -6790,8 +6813,8 @@ files are read, shell functions are not inherited from the environment,
|
||||
the ‘SHELLOPTS’, ‘BASHOPTS’, ‘CDPATH’, and ‘GLOBIGNORE’ variables, if
|
||||
they appear in the environment, are ignored, and the effective user id
|
||||
is set to the real user id. If the ‘-p’ option is supplied at
|
||||
invocation, the startup behavior is the same, but the effective user id
|
||||
is not reset.
|
||||
invocation, the startup behavior is the same, but Bash does not reset
|
||||
the effective user id.
|
||||
|
||||
|
||||
File: bashref.info, Node: Interactive Shells, Next: Bash Conditional Expressions, Prev: Bash Startup Files, Up: Bash Features
|
||||
@@ -13792,87 +13815,87 @@ Node: Environment141130
|
||||
Node: Exit Status143036
|
||||
Node: Signals145098
|
||||
Node: Shell Scripts150049
|
||||
Node: Shell Builtin Commands153350
|
||||
Node: Bourne Shell Builtins155694
|
||||
Node: Bash Builtins182416
|
||||
Node: Modifying Shell Behavior220154
|
||||
Node: The Set Builtin220499
|
||||
Node: The Shopt Builtin232496
|
||||
Node: Special Builtins249552
|
||||
Node: Shell Variables250544
|
||||
Node: Bourne Shell Variables250981
|
||||
Node: Bash Variables253492
|
||||
Node: Bash Features292779
|
||||
Node: Invoking Bash293796
|
||||
Node: Bash Startup Files300383
|
||||
Node: Interactive Shells305628
|
||||
Node: What is an Interactive Shell?306039
|
||||
Node: Is this Shell Interactive?306704
|
||||
Node: Interactive Shell Behavior307531
|
||||
Node: Bash Conditional Expressions311295
|
||||
Node: Shell Arithmetic316715
|
||||
Node: Aliases320045
|
||||
Node: Arrays323182
|
||||
Node: The Directory Stack330887
|
||||
Node: Directory Stack Builtins331687
|
||||
Node: Controlling the Prompt336135
|
||||
Node: The Restricted Shell339022
|
||||
Node: Bash POSIX Mode342118
|
||||
Node: Shell Compatibility Mode361937
|
||||
Node: Job Control370947
|
||||
Node: Job Control Basics371407
|
||||
Node: Job Control Builtins377778
|
||||
Node: Job Control Variables384569
|
||||
Node: Command Line Editing385803
|
||||
Node: Introduction and Notation387509
|
||||
Node: Readline Interaction389864
|
||||
Node: Readline Bare Essentials391055
|
||||
Node: Readline Movement Commands392866
|
||||
Node: Readline Killing Commands393865
|
||||
Node: Readline Arguments395891
|
||||
Node: Searching396984
|
||||
Node: Readline Init File399230
|
||||
Node: Readline Init File Syntax400536
|
||||
Node: Conditional Init Constructs427490
|
||||
Node: Sample Init File431878
|
||||
Node: Bindable Readline Commands435001
|
||||
Node: Commands For Moving436542
|
||||
Node: Commands For History439009
|
||||
Node: Commands For Text444403
|
||||
Node: Commands For Killing448531
|
||||
Node: Numeric Arguments451322
|
||||
Node: Commands For Completion452477
|
||||
Node: Keyboard Macros458176
|
||||
Node: Miscellaneous Commands458880
|
||||
Node: Readline vi Mode466426
|
||||
Node: Programmable Completion467406
|
||||
Node: Programmable Completion Builtins477145
|
||||
Node: A Programmable Completion Example488885
|
||||
Node: Using History Interactively494233
|
||||
Node: Bash History Facilities494917
|
||||
Node: Bash History Builtins498655
|
||||
Node: History Interaction506253
|
||||
Node: Event Designators511206
|
||||
Node: Word Designators512787
|
||||
Node: Modifiers515182
|
||||
Node: Installing Bash517122
|
||||
Node: Basic Installation518241
|
||||
Node: Compilers and Options522120
|
||||
Node: Compiling For Multiple Architectures522873
|
||||
Node: Installation Names524629
|
||||
Node: Specifying the System Type526866
|
||||
Node: Sharing Defaults527615
|
||||
Node: Operation Controls528332
|
||||
Node: Optional Features529354
|
||||
Node: Reporting Bugs542080
|
||||
Node: Major Differences From The Bourne Shell543440
|
||||
Node: GNU Free Documentation License564870
|
||||
Node: Indexes590050
|
||||
Node: Builtin Index590504
|
||||
Node: Reserved Word Index597605
|
||||
Node: Variable Index600053
|
||||
Node: Function Index617469
|
||||
Node: Concept Index631605
|
||||
Node: Shell Builtin Commands153356
|
||||
Node: Bourne Shell Builtins155700
|
||||
Node: Bash Builtins182422
|
||||
Node: Modifying Shell Behavior220160
|
||||
Node: The Set Builtin220505
|
||||
Node: The Shopt Builtin232502
|
||||
Node: Special Builtins249558
|
||||
Node: Shell Variables250550
|
||||
Node: Bourne Shell Variables250987
|
||||
Node: Bash Variables253498
|
||||
Node: Bash Features292785
|
||||
Node: Invoking Bash293802
|
||||
Node: Bash Startup Files301035
|
||||
Node: Interactive Shells306360
|
||||
Node: What is an Interactive Shell?306771
|
||||
Node: Is this Shell Interactive?307436
|
||||
Node: Interactive Shell Behavior308263
|
||||
Node: Bash Conditional Expressions312027
|
||||
Node: Shell Arithmetic317447
|
||||
Node: Aliases320777
|
||||
Node: Arrays323914
|
||||
Node: The Directory Stack331619
|
||||
Node: Directory Stack Builtins332419
|
||||
Node: Controlling the Prompt336867
|
||||
Node: The Restricted Shell339754
|
||||
Node: Bash POSIX Mode342850
|
||||
Node: Shell Compatibility Mode362669
|
||||
Node: Job Control371679
|
||||
Node: Job Control Basics372139
|
||||
Node: Job Control Builtins378510
|
||||
Node: Job Control Variables385301
|
||||
Node: Command Line Editing386535
|
||||
Node: Introduction and Notation388241
|
||||
Node: Readline Interaction390596
|
||||
Node: Readline Bare Essentials391787
|
||||
Node: Readline Movement Commands393598
|
||||
Node: Readline Killing Commands394597
|
||||
Node: Readline Arguments396623
|
||||
Node: Searching397716
|
||||
Node: Readline Init File399962
|
||||
Node: Readline Init File Syntax401268
|
||||
Node: Conditional Init Constructs428222
|
||||
Node: Sample Init File432610
|
||||
Node: Bindable Readline Commands435733
|
||||
Node: Commands For Moving437274
|
||||
Node: Commands For History439741
|
||||
Node: Commands For Text445135
|
||||
Node: Commands For Killing449263
|
||||
Node: Numeric Arguments452054
|
||||
Node: Commands For Completion453209
|
||||
Node: Keyboard Macros458908
|
||||
Node: Miscellaneous Commands459612
|
||||
Node: Readline vi Mode467158
|
||||
Node: Programmable Completion468138
|
||||
Node: Programmable Completion Builtins477877
|
||||
Node: A Programmable Completion Example489617
|
||||
Node: Using History Interactively494965
|
||||
Node: Bash History Facilities495649
|
||||
Node: Bash History Builtins499387
|
||||
Node: History Interaction506985
|
||||
Node: Event Designators511938
|
||||
Node: Word Designators513519
|
||||
Node: Modifiers515914
|
||||
Node: Installing Bash517854
|
||||
Node: Basic Installation518973
|
||||
Node: Compilers and Options522852
|
||||
Node: Compiling For Multiple Architectures523605
|
||||
Node: Installation Names525361
|
||||
Node: Specifying the System Type527598
|
||||
Node: Sharing Defaults528347
|
||||
Node: Operation Controls529064
|
||||
Node: Optional Features530086
|
||||
Node: Reporting Bugs542812
|
||||
Node: Major Differences From The Bourne Shell544172
|
||||
Node: GNU Free Documentation License565602
|
||||
Node: Indexes590782
|
||||
Node: Builtin Index591236
|
||||
Node: Reserved Word Index598337
|
||||
Node: Variable Index600785
|
||||
Node: Function Index618201
|
||||
Node: Concept Index632337
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
+68
-43
@@ -1,12 +1,12 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025/MacPorts 2025.74524_1) (preloaded format=etex 2025.9.16) 2 FEB 2026 15:27
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025/MacPorts 2025.74524_1) (preloaded format=pdfetex 2025.9.16) 29 APR 2026 10:19
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
%&-line parsing enabled.
|
||||
**\nonstopmode \input /usr/local/src/bash/bash-20260130/doc/bashref.texi \input
|
||||
/usr/local/src/bash/bash-20260130/doc/bashref.texi
|
||||
(/usr/local/src/bash/bash-20260130/doc/bashref.texi
|
||||
(/usr/local/src/bash/bash-20260130/doc/texinfo.tex
|
||||
**\input /usr/local/src/bash/bash-20260428/doc/bashref.texi \input /usr/local/s
|
||||
rc/bash/bash-20260428/doc/bashref.texi
|
||||
(/usr/local/src/bash/bash-20260428/doc/bashref.texi
|
||||
(/usr/local/src/bash/bash-20260428/doc/texinfo.tex
|
||||
Loading texinfo [version 2015-11-22.14]:
|
||||
\outerhsize=\dimen16
|
||||
\outervsize=\dimen17
|
||||
@@ -162,20 +162,23 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
|
||||
texinfo.tex: doing @include of version.texi
|
||||
|
||||
|
||||
(/usr/local/src/bash/bash-20260130/doc/version.texi) [1] [2]
|
||||
(/usr/local/build/bash/bash-20260130/doc/bashref.toc [-1] [-2] [-3]) [-4]
|
||||
Chapter 1
|
||||
(/usr/local/src/bash/bash-20260428/doc/version.texi) [1{/opt/local/var/db/texmf
|
||||
/fonts/map/pdftex/updmap/pdftex.map}] [2]
|
||||
(/usr/local/build/bash/bash-20260428/doc/bashref.toc [-1] [-2] [-3]) [-4]
|
||||
(/usr/local/build/bash/bash-20260428/doc/bashref.toc)
|
||||
(/usr/local/build/bash/bash-20260428/doc/bashref.toc) Chapter 1
|
||||
\openout0 = `bashref.toc'.
|
||||
|
||||
(/usr/local/build/bash/bash-20260130/doc/bashref.aux)
|
||||
|
||||
(/usr/local/build/bash/bash-20260428/doc/bashref.aux)
|
||||
\openout1 = `bashref.aux'.
|
||||
|
||||
[1] Chapter 2
|
||||
[2]
|
||||
[1] Chapter 2 [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'.
|
||||
|
||||
@@ -219,16 +222,17 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 765--766
|
||||
@rwindfile=@write4
|
||||
\openout4 = `bashref.rw'.
|
||||
|
||||
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]
|
||||
[24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38]
|
||||
[39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] Chapter 4 [51]
|
||||
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20{/opt/local/share/texmf-t
|
||||
exlive/fonts/enc/dvips/cm-super/cm-super-t1.enc}] [21] [22] [23] [24]
|
||||
[25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39]
|
||||
[40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] Chapter 4 [51]
|
||||
@btindfile=@write5
|
||||
\openout5 = `bashref.bt'.
|
||||
|
||||
|
||||
[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
|
||||
[67] [68] [69] [70] [71] [72] [73]
|
||||
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5964--5964
|
||||
[52]
|
||||
[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67]
|
||||
[68] [69] [70] [71] [72] [73]
|
||||
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5981--5981
|
||||
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
|
||||
-] [@textttsl ar-gu-ment []@texttt ][]
|
||||
|
||||
@@ -241,7 +245,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5964--5964
|
||||
.etc.
|
||||
|
||||
|
||||
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5965--5965
|
||||
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5982--5982
|
||||
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
|
||||
-] [@textttsl ar-gu-ment []@texttt ][]
|
||||
|
||||
@@ -257,12 +261,12 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5965--5965
|
||||
[87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] Chapter 6 [99]
|
||||
[100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111]
|
||||
[112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123]
|
||||
Chapter 7 [124] [125] [126] [127] [128]
|
||||
[124] Chapter 7 [125] [126] [127] [128] [129]
|
||||
texinfo.tex: doing @include of rluser.texi
|
||||
|
||||
|
||||
(/usr/local/src/bash/bash-20260130/lib/readline/doc/rluser.texi Chapter 8
|
||||
[129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
|
||||
(/usr/local/src/bash/bash-20260428/lib/readline/doc/rluser.texi Chapter 8
|
||||
[130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141]
|
||||
Underfull \hbox (badness 7540) in paragraph at lines 969--975
|
||||
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
|
||||
-tion
|
||||
@@ -288,7 +292,7 @@ e func-tion
|
||||
.@texttt v
|
||||
.etc.
|
||||
|
||||
[141] [142] [143] [144]
|
||||
[142] [143] [144] [145]
|
||||
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1215--1215
|
||||
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
|
||||
gnored[]
|
||||
@@ -301,19 +305,19 @@ gnored[]
|
||||
.@texttt t
|
||||
.etc.
|
||||
|
||||
[145] [146]
|
||||
[146] [147]
|
||||
@fnindfile=@write6
|
||||
\openout6 = `bashref.fn'.
|
||||
|
||||
[147] [148] [149] [150] [151] [152] [153] [154] [155] [156]
|
||||
[157] [158] [159] [160] [161] [162] [163] [164] [165] [166])
|
||||
[148] [149] [150] [151] [152] [153] [154] [155] [156] [157]
|
||||
[158] [159] [160] [161] [162] [163] [164] [165] [166] [167])
|
||||
texinfo.tex: doing @include of hsuser.texi
|
||||
|
||||
|
||||
(/usr/local/src/bash/bash-20260130/lib/readline/doc/hsuser.texi Chapter 9
|
||||
[167] [168] [169] [170] [171] [172] [173]) Chapter 10 [174] [175] [176]
|
||||
[177] [178]
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 10793--10802
|
||||
(/usr/local/src/bash/bash-20260428/lib/readline/doc/hsuser.texi Chapter 9
|
||||
[168] [169] [170] [171] [172] [173] [174]) Chapter 10 [175] [176] [177]
|
||||
[178] [179]
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 10855--10864
|
||||
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
|
||||
entation[]@textrm '[],
|
||||
|
||||
@@ -326,7 +330,7 @@ entation[]@textrm '[],
|
||||
.etc.
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 10793--10802
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 10855--10864
|
||||
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
|
||||
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
|
||||
|
||||
@@ -338,21 +342,42 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
|
||||
.@texttt a
|
||||
.etc.
|
||||
|
||||
[179] [180] [181] [182] Appendix A [183] Appendix B [184] [185] [186] [187]
|
||||
[188] [189] [190] Appendix C [191]
|
||||
[180] [181] [182] [183] Appendix A [184] Appendix B [185] [186] [187] [188]
|
||||
[189] [190] [191] Appendix C [192]
|
||||
texinfo.tex: doing @include of fdl.texi
|
||||
|
||||
|
||||
(/usr/local/src/bash/bash-20260130/doc/fdl.texi [192] [193] [194] [195]
|
||||
[196] [197] [198]) Appendix D [199] [200] [201] [202] [203] [204] [205]
|
||||
[206] [207] [208] )
|
||||
(/usr/local/src/bash/bash-20260428/doc/fdl.texi [193] [194] [195] [196]
|
||||
[197] [198] [199]) Appendix D [200] [201] [202] [203] [204] [205] [206]
|
||||
[207] [208] [209] )
|
||||
Here is how much of TeX's memory you used:
|
||||
3531 strings out of 495830
|
||||
40273 string characters out of 6171293
|
||||
88550 words of memory out of 5000000
|
||||
4884 multiletter control sequences out of 15000+600000
|
||||
4117 strings out of 495820
|
||||
47665 string characters out of 6170887
|
||||
145121 words of memory out of 5000000
|
||||
5053 multiletter control sequences out of 15000+600000
|
||||
34315 words of font info for 116 fonts, out of 8000000 for 9000
|
||||
701 hyphenation exceptions out of 8191
|
||||
16i,6n,16p,402b,942s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
16i,6n,16p,389b,983s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
|
||||
cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
|
||||
csc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10
|
||||
.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb>
|
||||
</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/
|
||||
local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/
|
||||
share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/t
|
||||
exmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-
|
||||
texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-tex
|
||||
live/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/
|
||||
fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
|
||||
/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type
|
||||
1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
|
||||
lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
|
||||
-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
|
||||
/sfrm1440.pfb>
|
||||
Output written on bashref.pdf (215 pages, 814924 bytes).
|
||||
PDF statistics:
|
||||
2954 PDF objects out of 2984 (max. 8388607)
|
||||
2691 compressed objects within 27 object streams
|
||||
343 named destinations out of 1000 (max. 500000)
|
||||
1157 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
Output written on bashref.dvi (214 pages, 903700 bytes).
|
||||
|
||||
Binary file not shown.
+1
-1
@@ -18,4 +18,4 @@
|
||||
\entry{]]}{15}{\code {]]}}
|
||||
\entry{{\indexlbrace }}{18}{\code {{\tt \char 123}}}
|
||||
\entry{{\indexrbrace }}{18}{\code {{\tt \char 125}}}
|
||||
\entry{function}{19}{\code {function}}
|
||||
\entry{function}{20}{\code {function}}
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@
|
||||
\initial {F}
|
||||
\entry{\code {fi}}{13}
|
||||
\entry{\code {for}}{12}
|
||||
\entry{\code {function}}{19}
|
||||
\entry{\code {function}}{20}
|
||||
\initial {I}
|
||||
\entry{\code {if}}{13}
|
||||
\entry{\code {in}}{13}
|
||||
|
||||
+45
-8
@@ -3570,7 +3570,7 @@ If @var{word} is unquoted,
|
||||
and the here-document text is treated similarly to a double-quoted string:
|
||||
all lines of the here-document are subjected to
|
||||
parameter expansion, command substitution, and arithmetic expansion,
|
||||
the character sequence @code{\newline} is treated literally,
|
||||
the character sequence @code{\newline} is treated as a line continuation,
|
||||
and @samp{\} must be used to quote the characters
|
||||
@samp{\}, @samp{$}, and @samp{`};
|
||||
however, double quote characters have no special meaning.
|
||||
@@ -4105,7 +4105,7 @@ itself (scenario 1 above), for compatibility.
|
||||
@section Shell Scripts
|
||||
@cindex shell script
|
||||
|
||||
A shell script is a text file containing shell commands.
|
||||
A @dfn{shell script} is a text file containing shell commands.
|
||||
When such a file is used as the first non-option argument when
|
||||
invoking Bash, and neither the @option{-c} nor @option{-s} option
|
||||
is supplied (@pxref{Invoking Bash}),
|
||||
@@ -7992,6 +7992,14 @@ connected to terminals (as determined by
|
||||
or one started with the @option{-i} option.
|
||||
@xref{Interactive Shells}, for more information.
|
||||
|
||||
A @dfn{non-interactive shell} is, not surprisingly, one that does not
|
||||
satisfy the tests for interactivity given above.
|
||||
A non-interactive shell is usually started to run commands from a script
|
||||
file supplied as an argument (@pxref{Shell Scripts})
|
||||
or from a string supplied with the
|
||||
@option{-c}
|
||||
option.
|
||||
|
||||
If arguments remain after option processing, and neither the
|
||||
@option{-c} nor the @option{-s}
|
||||
option has been supplied, the first argument is treated as
|
||||
@@ -8009,13 +8017,41 @@ and, if no file is found, searches the directories in
|
||||
@env{PATH}
|
||||
for the script.
|
||||
|
||||
For example, the following command starts an interactive shell:
|
||||
|
||||
@example
|
||||
bash
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
whereas this command will read and execute commands from @file{filename}:
|
||||
|
||||
@example
|
||||
bash filename
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
This command will execute @samp{echo hello}:
|
||||
|
||||
@example
|
||||
bash -c 'echo hello'
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
and this will execute the same command
|
||||
read from the standard input:
|
||||
|
||||
@example
|
||||
echo echo hello | bash
|
||||
@end example
|
||||
|
||||
@node Bash Startup Files
|
||||
@section Bash Startup Files
|
||||
@cindex startup files
|
||||
|
||||
This section describes how Bash executes its startup files.
|
||||
If any of the files exist but cannot be read, Bash reports an error.
|
||||
Tildes are expanded in filenames as described above under
|
||||
Tildes in filenames are expanded as described above under
|
||||
Tilde Expansion (@pxref{Tilde Expansion}).
|
||||
|
||||
Interactive shells are described in @ref{Interactive Shells}.
|
||||
@@ -8113,15 +8149,16 @@ standard for startup files.
|
||||
In this mode, interactive shells expand the @env{ENV} variable
|
||||
and read and execute commands from the file whose name is the
|
||||
expanded value.
|
||||
No other startup files are read.
|
||||
A posix-mode shell does not attempt to read any other startup files,
|
||||
even when invoked as a login shell.
|
||||
|
||||
@subsubheading Invoked by remote shell daemon
|
||||
|
||||
Bash
|
||||
attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by
|
||||
the historical and rarely-seen remote shell daemon, usually @code{rshd},
|
||||
or the secure shell daemon @code{sshd}.
|
||||
the secure shell daemon @code{sshd}.
|
||||
or the historical and rarely-seen remote shell daemon, usually @code{rshd}.
|
||||
If
|
||||
Bash
|
||||
determines it is being run non-interactively in this fashion,
|
||||
@@ -8136,7 +8173,7 @@ option inhibits this behavior, and the
|
||||
option makes Bash use a different file instead of
|
||||
@file{~/.bashrc},
|
||||
but neither
|
||||
@code{rshd} nor @code{sshd} generally invoke the shell with those
|
||||
@command{sshd} nor @command{rshd} generally invoke the shell with those
|
||||
options or allow them to be specified.
|
||||
|
||||
@subsubheading Invoked with unequal effective and real @sc{uid/gid}s
|
||||
@@ -8148,7 +8185,7 @@ the @env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH}, and @env{GLOBIGNORE}
|
||||
variables, if they appear in the environment, are ignored, and the effective
|
||||
user id is set to the real user id.
|
||||
If the @option{-p} option is supplied at invocation, the startup behavior is
|
||||
the same, but the effective user id is not reset.
|
||||
the same, but Bash does not reset the effective user id.
|
||||
|
||||
@node Interactive Shells
|
||||
@section Interactive Shells
|
||||
|
||||
+57
-57
@@ -74,8 +74,8 @@
|
||||
@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{104}
|
||||
@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{104}
|
||||
@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{104}
|
||||
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{105}
|
||||
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{107}
|
||||
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{106}
|
||||
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{108}
|
||||
@numsecentry{Aliases}{6.6}{Aliases}{109}
|
||||
@numsecentry{Arrays}{6.7}{Arrays}{110}
|
||||
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{112}
|
||||
@@ -86,58 +86,58 @@
|
||||
@numsubsecentry{What is POSIX?}{6.11.1}{}{116}
|
||||
@numsubsecentry{Bash POSIX Mode}{6.11.2}{}{117}
|
||||
@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{122}
|
||||
@numchapentry{Job Control}{7}{Job Control}{125}
|
||||
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{125}
|
||||
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{126}
|
||||
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{129}
|
||||
@numchapentry{Command Line Editing}{8}{Command Line Editing}{130}
|
||||
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{130}
|
||||
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{130}
|
||||
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{131}
|
||||
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{131}
|
||||
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{132}
|
||||
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{132}
|
||||
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{133}
|
||||
@numsecentry{Readline Init File}{8.3}{Readline Init File}{133}
|
||||
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{133}
|
||||
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{143}
|
||||
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{144}
|
||||
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{147}
|
||||
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{147}
|
||||
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{148}
|
||||
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{150}
|
||||
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{151}
|
||||
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{153}
|
||||
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{153}
|
||||
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{155}
|
||||
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{155}
|
||||
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{158}
|
||||
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{158}
|
||||
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{161}
|
||||
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{165}
|
||||
@numchapentry{Using History Interactively}{9}{Using History Interactively}{168}
|
||||
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{168}
|
||||
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{169}
|
||||
@numsecentry{History Expansion}{9.3}{History Interaction}{171}
|
||||
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{172}
|
||||
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{173}
|
||||
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{174}
|
||||
@numchapentry{Installing Bash}{10}{Installing Bash}{175}
|
||||
@numsecentry{Basic Installation}{10.1}{Basic Installation}{175}
|
||||
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{176}
|
||||
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{176}
|
||||
@numsecentry{Installation Names}{10.4}{Installation Names}{177}
|
||||
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{177}
|
||||
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{177}
|
||||
@numsecentry{Operation Controls}{10.7}{Operation Controls}{178}
|
||||
@numsecentry{Optional Features}{10.8}{Optional Features}{178}
|
||||
@appentry{Reporting Bugs}{A}{Reporting Bugs}{184}
|
||||
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{185}
|
||||
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{190}
|
||||
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{192}
|
||||
@appentry{Indexes}{D}{Indexes}{200}
|
||||
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{200}
|
||||
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{201}
|
||||
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{202}
|
||||
@appsecentry{Function Index}{D.4}{Function Index}{204}
|
||||
@appsecentry{Concept Index}{D.5}{Concept Index}{206}
|
||||
@numchapentry{Job Control}{7}{Job Control}{126}
|
||||
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{126}
|
||||
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{127}
|
||||
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{130}
|
||||
@numchapentry{Command Line Editing}{8}{Command Line Editing}{131}
|
||||
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{131}
|
||||
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{131}
|
||||
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{132}
|
||||
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{132}
|
||||
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{133}
|
||||
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{133}
|
||||
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{134}
|
||||
@numsecentry{Readline Init File}{8.3}{Readline Init File}{134}
|
||||
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{134}
|
||||
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{144}
|
||||
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{145}
|
||||
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{148}
|
||||
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{148}
|
||||
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{149}
|
||||
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{151}
|
||||
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{152}
|
||||
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{154}
|
||||
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{154}
|
||||
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{156}
|
||||
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{156}
|
||||
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{159}
|
||||
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{159}
|
||||
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{162}
|
||||
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{166}
|
||||
@numchapentry{Using History Interactively}{9}{Using History Interactively}{169}
|
||||
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{169}
|
||||
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{170}
|
||||
@numsecentry{History Expansion}{9.3}{History Interaction}{172}
|
||||
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{173}
|
||||
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{174}
|
||||
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{175}
|
||||
@numchapentry{Installing Bash}{10}{Installing Bash}{176}
|
||||
@numsecentry{Basic Installation}{10.1}{Basic Installation}{176}
|
||||
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{177}
|
||||
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{177}
|
||||
@numsecentry{Installation Names}{10.4}{Installation Names}{178}
|
||||
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{178}
|
||||
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{178}
|
||||
@numsecentry{Operation Controls}{10.7}{Operation Controls}{179}
|
||||
@numsecentry{Optional Features}{10.8}{Optional Features}{179}
|
||||
@appentry{Reporting Bugs}{A}{Reporting Bugs}{185}
|
||||
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{186}
|
||||
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{191}
|
||||
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{193}
|
||||
@appentry{Indexes}{D}{Indexes}{201}
|
||||
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{201}
|
||||
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{202}
|
||||
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{203}
|
||||
@appsecentry{Function Index}{D.4}{Function Index}{205}
|
||||
@appsecentry{Concept Index}{D.5}{Concept Index}{207}
|
||||
|
||||
+47
-47
@@ -130,50 +130,50 @@
|
||||
\entry{TMOUT}{99}{\code {TMOUT}}
|
||||
\entry{TMPDIR}{99}{\code {TMPDIR}}
|
||||
\entry{UID}{99}{\code {UID}}
|
||||
\entry{auto_resume}{129}{\code {auto_resume}}
|
||||
\entry{active-region-start-color}{134}{\code {active-region-start-color}}
|
||||
\entry{active-region-end-color}{134}{\code {active-region-end-color}}
|
||||
\entry{bell-style}{134}{\code {bell-style}}
|
||||
\entry{bind-tty-special-chars}{135}{\code {bind-tty-special-chars}}
|
||||
\entry{blink-matching-paren}{135}{\code {blink-matching-paren}}
|
||||
\entry{colored-completion-prefix}{135}{\code {colored-completion-prefix}}
|
||||
\entry{colored-stats}{135}{\code {colored-stats}}
|
||||
\entry{comment-begin}{135}{\code {comment-begin}}
|
||||
\entry{completion-display-width}{135}{\code {completion-display-width}}
|
||||
\entry{completion-ignore-case}{135}{\code {completion-ignore-case}}
|
||||
\entry{completion-map-case}{135}{\code {completion-map-case}}
|
||||
\entry{completion-prefix-display-length}{135}{\code {completion-prefix-display-length}}
|
||||
\entry{completion-query-items}{136}{\code {completion-query-items}}
|
||||
\entry{convert-meta}{136}{\code {convert-meta}}
|
||||
\entry{disable-completion}{136}{\code {disable-completion}}
|
||||
\entry{echo-control-characters}{136}{\code {echo-control-characters}}
|
||||
\entry{editing-mode}{136}{\code {editing-mode}}
|
||||
\entry{emacs-mode-string}{136}{\code {emacs-mode-string}}
|
||||
\entry{enable-active-region The}{137}{\code {enable-active-region The}}
|
||||
\entry{enable-bracketed-paste}{137}{\code {enable-bracketed-paste}}
|
||||
\entry{enable-keypad}{137}{\code {enable-keypad}}
|
||||
\entry{enable-meta-key}{137}{\code {enable-meta-key}}
|
||||
\entry{expand-tilde}{137}{\code {expand-tilde}}
|
||||
\entry{force-meta-prefix}{137}{\code {force-meta-prefix}}
|
||||
\entry{history-preserve-point}{138}{\code {history-preserve-point}}
|
||||
\entry{history-size}{138}{\code {history-size}}
|
||||
\entry{horizontal-scroll-mode}{138}{\code {horizontal-scroll-mode}}
|
||||
\entry{input-meta}{138}{\code {input-meta}}
|
||||
\entry{meta-flag}{138}{\code {meta-flag}}
|
||||
\entry{isearch-terminators}{138}{\code {isearch-terminators}}
|
||||
\entry{keymap}{138}{\code {keymap}}
|
||||
\entry{mark-modified-lines}{139}{\code {mark-modified-lines}}
|
||||
\entry{mark-symlinked-directories}{139}{\code {mark-symlinked-directories}}
|
||||
\entry{match-hidden-files}{139}{\code {match-hidden-files}}
|
||||
\entry{menu-complete-display-prefix}{139}{\code {menu-complete-display-prefix}}
|
||||
\entry{output-meta}{139}{\code {output-meta}}
|
||||
\entry{page-completions}{139}{\code {page-completions}}
|
||||
\entry{revert-all-at-newline}{140}{\code {revert-all-at-newline}}
|
||||
\entry{search-ignore-case}{140}{\code {search-ignore-case}}
|
||||
\entry{show-all-if-ambiguous}{140}{\code {show-all-if-ambiguous}}
|
||||
\entry{show-all-if-unmodified}{140}{\code {show-all-if-unmodified}}
|
||||
\entry{show-mode-in-prompt}{140}{\code {show-mode-in-prompt}}
|
||||
\entry{skip-completed-text}{140}{\code {skip-completed-text}}
|
||||
\entry{vi-cmd-mode-string}{140}{\code {vi-cmd-mode-string}}
|
||||
\entry{vi-ins-mode-string}{141}{\code {vi-ins-mode-string}}
|
||||
\entry{visible-stats}{141}{\code {visible-stats}}
|
||||
\entry{auto_resume}{130}{\code {auto_resume}}
|
||||
\entry{active-region-start-color}{135}{\code {active-region-start-color}}
|
||||
\entry{active-region-end-color}{135}{\code {active-region-end-color}}
|
||||
\entry{bell-style}{135}{\code {bell-style}}
|
||||
\entry{bind-tty-special-chars}{136}{\code {bind-tty-special-chars}}
|
||||
\entry{blink-matching-paren}{136}{\code {blink-matching-paren}}
|
||||
\entry{colored-completion-prefix}{136}{\code {colored-completion-prefix}}
|
||||
\entry{colored-stats}{136}{\code {colored-stats}}
|
||||
\entry{comment-begin}{136}{\code {comment-begin}}
|
||||
\entry{completion-display-width}{136}{\code {completion-display-width}}
|
||||
\entry{completion-ignore-case}{136}{\code {completion-ignore-case}}
|
||||
\entry{completion-map-case}{136}{\code {completion-map-case}}
|
||||
\entry{completion-prefix-display-length}{136}{\code {completion-prefix-display-length}}
|
||||
\entry{completion-query-items}{137}{\code {completion-query-items}}
|
||||
\entry{convert-meta}{137}{\code {convert-meta}}
|
||||
\entry{disable-completion}{137}{\code {disable-completion}}
|
||||
\entry{echo-control-characters}{137}{\code {echo-control-characters}}
|
||||
\entry{editing-mode}{137}{\code {editing-mode}}
|
||||
\entry{emacs-mode-string}{137}{\code {emacs-mode-string}}
|
||||
\entry{enable-active-region The}{138}{\code {enable-active-region The}}
|
||||
\entry{enable-bracketed-paste}{138}{\code {enable-bracketed-paste}}
|
||||
\entry{enable-keypad}{138}{\code {enable-keypad}}
|
||||
\entry{enable-meta-key}{138}{\code {enable-meta-key}}
|
||||
\entry{expand-tilde}{138}{\code {expand-tilde}}
|
||||
\entry{force-meta-prefix}{138}{\code {force-meta-prefix}}
|
||||
\entry{history-preserve-point}{139}{\code {history-preserve-point}}
|
||||
\entry{history-size}{139}{\code {history-size}}
|
||||
\entry{horizontal-scroll-mode}{139}{\code {horizontal-scroll-mode}}
|
||||
\entry{input-meta}{139}{\code {input-meta}}
|
||||
\entry{meta-flag}{139}{\code {meta-flag}}
|
||||
\entry{isearch-terminators}{139}{\code {isearch-terminators}}
|
||||
\entry{keymap}{139}{\code {keymap}}
|
||||
\entry{mark-modified-lines}{140}{\code {mark-modified-lines}}
|
||||
\entry{mark-symlinked-directories}{140}{\code {mark-symlinked-directories}}
|
||||
\entry{match-hidden-files}{140}{\code {match-hidden-files}}
|
||||
\entry{menu-complete-display-prefix}{140}{\code {menu-complete-display-prefix}}
|
||||
\entry{output-meta}{140}{\code {output-meta}}
|
||||
\entry{page-completions}{140}{\code {page-completions}}
|
||||
\entry{revert-all-at-newline}{141}{\code {revert-all-at-newline}}
|
||||
\entry{search-ignore-case}{141}{\code {search-ignore-case}}
|
||||
\entry{show-all-if-ambiguous}{141}{\code {show-all-if-ambiguous}}
|
||||
\entry{show-all-if-unmodified}{141}{\code {show-all-if-unmodified}}
|
||||
\entry{show-mode-in-prompt}{141}{\code {show-mode-in-prompt}}
|
||||
\entry{skip-completed-text}{141}{\code {skip-completed-text}}
|
||||
\entry{vi-cmd-mode-string}{141}{\code {vi-cmd-mode-string}}
|
||||
\entry{vi-ins-mode-string}{142}{\code {vi-ins-mode-string}}
|
||||
\entry{visible-stats}{142}{\code {visible-stats}}
|
||||
|
||||
+47
-47
@@ -26,9 +26,9 @@
|
||||
\initial {0}
|
||||
\entry{\code {0}}{24}
|
||||
\initial {A}
|
||||
\entry{\code {active-region-end-color}}{134}
|
||||
\entry{\code {active-region-start-color}}{134}
|
||||
\entry{\code {auto_resume}}{129}
|
||||
\entry{\code {active-region-end-color}}{135}
|
||||
\entry{\code {active-region-start-color}}{135}
|
||||
\entry{\code {auto_resume}}{130}
|
||||
\initial {B}
|
||||
\entry{\code {BASH}}{87}
|
||||
\entry{\code {BASH_ALIASES}}{87}
|
||||
@@ -52,16 +52,16 @@
|
||||
\entry{\code {BASH_XTRACEFD}}{90}
|
||||
\entry{\code {BASHOPTS}}{87}
|
||||
\entry{\code {BASHPID}}{87}
|
||||
\entry{\code {bell-style}}{134}
|
||||
\entry{\code {bind-tty-special-chars}}{135}
|
||||
\entry{\code {blink-matching-paren}}{135}
|
||||
\entry{\code {bell-style}}{135}
|
||||
\entry{\code {bind-tty-special-chars}}{136}
|
||||
\entry{\code {blink-matching-paren}}{136}
|
||||
\initial {C}
|
||||
\entry{\code {CDPATH}}{86}
|
||||
\entry{\code {CHILD_MAX}}{90}
|
||||
\entry{\code {colored-completion-prefix}}{135}
|
||||
\entry{\code {colored-stats}}{135}
|
||||
\entry{\code {colored-completion-prefix}}{136}
|
||||
\entry{\code {colored-stats}}{136}
|
||||
\entry{\code {COLUMNS}}{90}
|
||||
\entry{\code {comment-begin}}{135}
|
||||
\entry{\code {comment-begin}}{136}
|
||||
\entry{\code {COMP_CWORD}}{90}
|
||||
\entry{\code {COMP_KEY}}{90}
|
||||
\entry{\code {COMP_LINE}}{91}
|
||||
@@ -69,36 +69,36 @@
|
||||
\entry{\code {COMP_TYPE}}{91}
|
||||
\entry{\code {COMP_WORDBREAKS}}{91}
|
||||
\entry{\code {COMP_WORDS}}{91}
|
||||
\entry{\code {completion-display-width}}{135}
|
||||
\entry{\code {completion-ignore-case}}{135}
|
||||
\entry{\code {completion-map-case}}{135}
|
||||
\entry{\code {completion-prefix-display-length}}{135}
|
||||
\entry{\code {completion-query-items}}{136}
|
||||
\entry{\code {completion-display-width}}{136}
|
||||
\entry{\code {completion-ignore-case}}{136}
|
||||
\entry{\code {completion-map-case}}{136}
|
||||
\entry{\code {completion-prefix-display-length}}{136}
|
||||
\entry{\code {completion-query-items}}{137}
|
||||
\entry{\code {COMPREPLY}}{91}
|
||||
\entry{\code {convert-meta}}{136}
|
||||
\entry{\code {convert-meta}}{137}
|
||||
\entry{\code {COPROC}}{91}
|
||||
\initial {D}
|
||||
\entry{\code {DIRSTACK}}{91}
|
||||
\entry{\code {disable-completion}}{136}
|
||||
\entry{\code {disable-completion}}{137}
|
||||
\initial {E}
|
||||
\entry{\code {echo-control-characters}}{136}
|
||||
\entry{\code {editing-mode}}{136}
|
||||
\entry{\code {emacs-mode-string}}{136}
|
||||
\entry{\code {echo-control-characters}}{137}
|
||||
\entry{\code {editing-mode}}{137}
|
||||
\entry{\code {emacs-mode-string}}{137}
|
||||
\entry{\code {EMACS}}{92}
|
||||
\entry{\code {enable-active-region The}}{137}
|
||||
\entry{\code {enable-bracketed-paste}}{137}
|
||||
\entry{\code {enable-keypad}}{137}
|
||||
\entry{\code {enable-meta-key}}{137}
|
||||
\entry{\code {enable-active-region The}}{138}
|
||||
\entry{\code {enable-bracketed-paste}}{138}
|
||||
\entry{\code {enable-keypad}}{138}
|
||||
\entry{\code {enable-meta-key}}{138}
|
||||
\entry{\code {ENV}}{92}
|
||||
\entry{\code {EPOCHREALTIME}}{92}
|
||||
\entry{\code {EPOCHSECONDS}}{92}
|
||||
\entry{\code {EUID}}{92}
|
||||
\entry{\code {EXECIGNORE}}{92}
|
||||
\entry{\code {expand-tilde}}{137}
|
||||
\entry{\code {expand-tilde}}{138}
|
||||
\initial {F}
|
||||
\entry{\code {FCEDIT}}{92}
|
||||
\entry{\code {FIGNORE}}{92}
|
||||
\entry{\code {force-meta-prefix}}{137}
|
||||
\entry{\code {force-meta-prefix}}{138}
|
||||
\entry{\code {FUNCNAME}}{92}
|
||||
\entry{\code {FUNCNEST}}{93}
|
||||
\initial {G}
|
||||
@@ -112,24 +112,24 @@
|
||||
\entry{\code {HISTFILE}}{94}
|
||||
\entry{\code {HISTFILESIZE}}{94}
|
||||
\entry{\code {HISTIGNORE}}{94}
|
||||
\entry{\code {history-preserve-point}}{138}
|
||||
\entry{\code {history-size}}{138}
|
||||
\entry{\code {history-preserve-point}}{139}
|
||||
\entry{\code {history-size}}{139}
|
||||
\entry{\code {HISTSIZE}}{95}
|
||||
\entry{\code {HISTTIMEFORMAT}}{95}
|
||||
\entry{\code {HOME}}{86}
|
||||
\entry{\code {horizontal-scroll-mode}}{138}
|
||||
\entry{\code {horizontal-scroll-mode}}{139}
|
||||
\entry{\code {HOSTFILE}}{95}
|
||||
\entry{\code {HOSTNAME}}{95}
|
||||
\entry{\code {HOSTTYPE}}{95}
|
||||
\initial {I}
|
||||
\entry{\code {IFS}}{86}
|
||||
\entry{\code {IGNOREEOF}}{95}
|
||||
\entry{\code {input-meta}}{138}
|
||||
\entry{\code {input-meta}}{139}
|
||||
\entry{\code {INPUTRC}}{95}
|
||||
\entry{\code {INSIDE_EMACS}}{95}
|
||||
\entry{\code {isearch-terminators}}{138}
|
||||
\entry{\code {isearch-terminators}}{139}
|
||||
\initial {K}
|
||||
\entry{\code {keymap}}{138}
|
||||
\entry{\code {keymap}}{139}
|
||||
\initial {L}
|
||||
\entry{\code {LANG}}{8, 96}
|
||||
\entry{\code {LC_ALL}}{96}
|
||||
@@ -146,20 +146,20 @@
|
||||
\entry{\code {MAILCHECK}}{96}
|
||||
\entry{\code {MAILPATH}}{86}
|
||||
\entry{\code {MAPFILE}}{96}
|
||||
\entry{\code {mark-modified-lines}}{139}
|
||||
\entry{\code {mark-symlinked-directories}}{139}
|
||||
\entry{\code {match-hidden-files}}{139}
|
||||
\entry{\code {menu-complete-display-prefix}}{139}
|
||||
\entry{\code {meta-flag}}{138}
|
||||
\entry{\code {mark-modified-lines}}{140}
|
||||
\entry{\code {mark-symlinked-directories}}{140}
|
||||
\entry{\code {match-hidden-files}}{140}
|
||||
\entry{\code {menu-complete-display-prefix}}{140}
|
||||
\entry{\code {meta-flag}}{139}
|
||||
\initial {O}
|
||||
\entry{\code {OLDPWD}}{96}
|
||||
\entry{\code {OPTARG}}{86}
|
||||
\entry{\code {OPTERR}}{96}
|
||||
\entry{\code {OPTIND}}{86}
|
||||
\entry{\code {OSTYPE}}{96}
|
||||
\entry{\code {output-meta}}{139}
|
||||
\entry{\code {output-meta}}{140}
|
||||
\initial {P}
|
||||
\entry{\code {page-completions}}{139}
|
||||
\entry{\code {page-completions}}{140}
|
||||
\entry{\code {PATH}}{86}
|
||||
\entry{\code {PIPESTATUS}}{97}
|
||||
\entry{\code {POSIXLY_CORRECT}}{97}
|
||||
@@ -179,17 +179,17 @@
|
||||
\entry{\code {READLINE_MARK}}{98}
|
||||
\entry{\code {READLINE_POINT}}{98}
|
||||
\entry{\code {REPLY}}{98}
|
||||
\entry{\code {revert-all-at-newline}}{140}
|
||||
\entry{\code {revert-all-at-newline}}{141}
|
||||
\initial {S}
|
||||
\entry{\code {search-ignore-case}}{140}
|
||||
\entry{\code {search-ignore-case}}{141}
|
||||
\entry{\code {SECONDS}}{98}
|
||||
\entry{\code {SHELL}}{98}
|
||||
\entry{\code {SHELLOPTS}}{98}
|
||||
\entry{\code {SHLVL}}{98}
|
||||
\entry{\code {show-all-if-ambiguous}}{140}
|
||||
\entry{\code {show-all-if-unmodified}}{140}
|
||||
\entry{\code {show-mode-in-prompt}}{140}
|
||||
\entry{\code {skip-completed-text}}{140}
|
||||
\entry{\code {show-all-if-ambiguous}}{141}
|
||||
\entry{\code {show-all-if-unmodified}}{141}
|
||||
\entry{\code {show-mode-in-prompt}}{141}
|
||||
\entry{\code {skip-completed-text}}{141}
|
||||
\entry{\code {SRANDOM}}{98}
|
||||
\initial {T}
|
||||
\entry{\code {TEXTDOMAIN}}{8}
|
||||
@@ -200,6 +200,6 @@
|
||||
\initial {U}
|
||||
\entry{\code {UID}}{99}
|
||||
\initial {V}
|
||||
\entry{\code {vi-cmd-mode-string}}{140}
|
||||
\entry{\code {vi-ins-mode-string}}{141}
|
||||
\entry{\code {visible-stats}}{141}
|
||||
\entry{\code {vi-cmd-mode-string}}{141}
|
||||
\entry{\code {vi-ins-mode-string}}{142}
|
||||
\entry{\code {visible-stats}}{142}
|
||||
|
||||
+3
-3
@@ -2,10 +2,10 @@
|
||||
Copyright (C) 1988-2026 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Mon Mar 16 15:38:02 EDT 2026
|
||||
@set LASTCHANGE Wed May 6 16:08:14 EDT 2026
|
||||
|
||||
@set EDITION 5.3
|
||||
@set VERSION 5.3
|
||||
|
||||
@set UPDATED 16 March 2026
|
||||
@set UPDATED-MONTH March 2026
|
||||
@set UPDATED 6 May 2026
|
||||
@set UPDATED-MONTH May 2026
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
*/
|
||||
|
||||
/* Headers */
|
||||
#include <config.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
@@ -52,6 +53,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "shmbutil.h"
|
||||
#include "loadables.h"
|
||||
#include <array.h> /* Has to go after stdint & loadables (!) */
|
||||
@@ -86,6 +88,7 @@ getlen(char *last_trlg_byte, int num_bytes_left)
|
||||
|
||||
if ((*p-- & mask[1]) != mask[0])
|
||||
goto not_utf_8;
|
||||
num_bytes_left--;
|
||||
n = 2;
|
||||
for (i = num_bytes_left >= 3 ? 3 : num_bytes_left; i > 0; i--, p--, n++)
|
||||
{ /* 3 more bytes max */
|
||||
@@ -119,9 +122,9 @@ reverse_line(SHELL_VAR *v, arrayind_t *ind, char *line, size_t len,
|
||||
* with NULL value and putting an allocated buffer in it.
|
||||
*/
|
||||
bind_array_element (v, (*ind)++, (char *)NULL, 0);
|
||||
buf = xmalloc(len + 1); /* +1 for NUL */
|
||||
buf = xmalloc(len + outputsep + 1); /* +1 for NUL */
|
||||
(((ARRAY *)v->value)->lastref)->value = buf;
|
||||
buf[len] = '\0';
|
||||
buf[len + outputsep] = '\0';
|
||||
} /* if (v) */
|
||||
#endif
|
||||
|
||||
@@ -167,7 +170,7 @@ rev_internal(WORD_LIST *list)
|
||||
int rval;
|
||||
char sep;
|
||||
int opt;
|
||||
int fd;
|
||||
int fd, closefd;
|
||||
|
||||
v = 0;
|
||||
rval = EXECUTION_SUCCESS;
|
||||
@@ -177,7 +180,7 @@ rev_internal(WORD_LIST *list)
|
||||
ind = 0;
|
||||
|
||||
reset_internal_getopt();
|
||||
while ((opt = internal_getopt(list, "0:a:h")) != -1)
|
||||
while ((opt = internal_getopt(list, "0a:h")) != -1)
|
||||
switch (opt)
|
||||
{
|
||||
case '0':
|
||||
@@ -219,11 +222,15 @@ rev_internal(WORD_LIST *list)
|
||||
do
|
||||
{
|
||||
/* for each file */
|
||||
closefd = 0;
|
||||
|
||||
if (l == 0)
|
||||
fd = 0;
|
||||
else
|
||||
SYSCALL(fd, open(l->word->word, O_RDONLY));
|
||||
{
|
||||
SYSCALL(fd, open(l->word->word, O_RDONLY));
|
||||
closefd = fd != -1;;
|
||||
}
|
||||
if (fd == -1)
|
||||
{
|
||||
file_error(l->word->word);
|
||||
@@ -250,7 +257,7 @@ rev_internal(WORD_LIST *list)
|
||||
}
|
||||
reverse_line(v, &ind, line, n, outputsep, sep);
|
||||
} /* while ((n = zgetline(...) !=-1) */
|
||||
if (fd != 0)
|
||||
if (closefd)
|
||||
close(fd);
|
||||
|
||||
next_file:
|
||||
|
||||
+1
-1
@@ -3584,7 +3584,7 @@ execute_select_command (SELECT_COM *select_command)
|
||||
/* command and arithmetic substitution, parameter and variable expansion,
|
||||
word splitting, pathname expansion, and quote removal. */
|
||||
list = releaser = expand_words_no_vars (select_command->map_list);
|
||||
list_len = list_length ((GENERIC_LIST *)list);
|
||||
list_len = wlist_length (list);
|
||||
if (list == 0 || list_len == 0)
|
||||
{
|
||||
if (list)
|
||||
|
||||
@@ -155,10 +155,12 @@ extern int locale_decpoint (void);
|
||||
/* Declarations for functions defined in list.c. */
|
||||
extern void list_walk (GENERIC_LIST *, sh_glist_func_t *);
|
||||
extern void wlist_walk (WORD_LIST *, sh_icpfunc_t *);
|
||||
extern GENERIC_LIST *list_reverse (GENERIC_LIST *);
|
||||
extern void *list_reverse (void *);
|
||||
extern int list_length (GENERIC_LIST *);
|
||||
extern int wlist_length (WORD_LIST *);
|
||||
extern GENERIC_LIST *list_append (GENERIC_LIST *, GENERIC_LIST *);
|
||||
extern GENERIC_LIST *list_emove (GENERIC_LIST **, sh_gcp_func_t *, char *); /* unused */
|
||||
extern WORD_LIST *wlist_append (WORD_LIST *, WORD_LIST *);
|
||||
extern GENERIC_LIST *list_remove (GENERIC_LIST **, sh_gcp_func_t *, char *); /* unused */
|
||||
|
||||
/* Declarations for functions defined in stringlib.c */
|
||||
extern int find_string_in_alist (char *, STRING_INT_ALIST *, int);
|
||||
|
||||
@@ -133,7 +133,7 @@ typedef struct {
|
||||
|
||||
/* A macro to avoid making an unnecessary function call. */
|
||||
#define REVERSE_LIST(list, type) \
|
||||
((list && list->next) ? (type)list_reverse ((GENERIC_LIST *)list) \
|
||||
((list && list->next) ? (type)list_reverse ((void *)list) \
|
||||
: (type)(list))
|
||||
|
||||
#if __GNUC__ > 1
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/* stringlist.c - functions to handle a generic `list of strings' structure */
|
||||
|
||||
/* Copyright (C) 2000-2019, 2022-2023 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2000-2019, 2022-2026 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -253,7 +253,7 @@ strlist_from_word_list (WORD_LIST *list, int alloc, int starting_index, int *ip)
|
||||
*ip = 0;
|
||||
return ((STRINGLIST *)0);
|
||||
}
|
||||
slen = list_length ((GENERIC_LIST *)list);
|
||||
slen = wlist_length (list);
|
||||
ret = (STRINGLIST *)xmalloc (sizeof (STRINGLIST));
|
||||
ret->list = strvec_from_word_list (list, alloc, starting_index, &len);
|
||||
ret->list_size = slen + starting_index;
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/* stringvec.c - functions for managing arrays of strings. */
|
||||
|
||||
/* Copyright (C) 2000-2002,2022-2024 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2000-2002,2022-2026 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -206,7 +206,7 @@ strvec_from_word_list (WORD_LIST *list, int alloc, int starting_index, int *ip)
|
||||
size_t count;
|
||||
char **array;
|
||||
|
||||
count = list_length ((GENERIC_LIST *)list);
|
||||
count = wlist_length (list);
|
||||
array = (char **)xmalloc ((1 + count + starting_index) * sizeof (char *));
|
||||
|
||||
for (count = 0; count < starting_index; count++)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* list.c - Functions for manipulating linked lists of objects. */
|
||||
|
||||
/* Copyright (C) 1996-2009,2022 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996-2026 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -55,31 +55,54 @@ wlist_walk (WORD_LIST *words, sh_icpfunc_t *function)
|
||||
/* Reverse the chain of structures in LIST. Output the new head
|
||||
of the chain. You should always assign the output value of this
|
||||
function to something, or you will lose the chain. */
|
||||
GENERIC_LIST *
|
||||
list_reverse (GENERIC_LIST *list)
|
||||
void *
|
||||
list_reverse (void *head)
|
||||
{
|
||||
register GENERIC_LIST *next, *prev;
|
||||
void *next, *prev, *list;
|
||||
|
||||
for (prev = (GENERIC_LIST *)NULL; list; )
|
||||
prev = NULL;
|
||||
next = NULL;
|
||||
list = head;
|
||||
|
||||
/* We rely on the fact that the C standard guarantees that structures are
|
||||
not padded: the first member of the struct has the same address as the
|
||||
struct itself. So *(void **)X is effectively X->next as long as next is
|
||||
the first member of struct X. We'll see if this gets past gcc's strict
|
||||
aliasing rules. */
|
||||
while (list != NULL)
|
||||
{
|
||||
next = list->next;
|
||||
list->next = prev;
|
||||
next = *(void **)list; /* effectively list->next */
|
||||
*(void **)list = prev; /* effectively set list->next */
|
||||
|
||||
prev = list;
|
||||
list = next;
|
||||
}
|
||||
|
||||
return (prev);
|
||||
}
|
||||
|
||||
#ifdef INCLUDE_UNUSED
|
||||
/* Return the number of elements in LIST, a generic list. */
|
||||
int
|
||||
list_length (GENERIC_LIST *list)
|
||||
{
|
||||
register int i;
|
||||
int i;
|
||||
|
||||
for (i = 0; list; list = list->next, i++);
|
||||
return (i);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
wlist_length (WORD_LIST *list)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; list; list = list->next, i++);
|
||||
return (i);
|
||||
}
|
||||
|
||||
#if defined (INCLUDE_UNUSED)
|
||||
/* Append TAIL to HEAD. Return the header of the list. */
|
||||
GENERIC_LIST *
|
||||
list_append (GENERIC_LIST *head, GENERIC_LIST *tail)
|
||||
@@ -94,6 +117,21 @@ list_append (GENERIC_LIST *head, GENERIC_LIST *tail)
|
||||
t_head->next = tail;
|
||||
return (head);
|
||||
}
|
||||
#endif
|
||||
|
||||
WORD_LIST *
|
||||
wlist_append (WORD_LIST *head, WORD_LIST *tail)
|
||||
{
|
||||
register WORD_LIST *t_head;
|
||||
|
||||
if (head == 0)
|
||||
return (tail);
|
||||
|
||||
for (t_head = head; t_head->next; t_head = t_head->next)
|
||||
;
|
||||
t_head->next = tail;
|
||||
return (head);
|
||||
}
|
||||
|
||||
#ifdef INCLUDE_UNUSED
|
||||
/* Delete the element of LIST which satisfies the predicate function COMPARER.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/* pcomplete.c - functions to generate lists of matches for programmable completion. */
|
||||
|
||||
/* Copyright (C) 1999-2024 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1999-2026 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -880,7 +880,7 @@ gen_wordlist_matches (COMPSPEC *cs, const char *text)
|
||||
l2 = expand_words_shellexp (l);
|
||||
dispose_words (l);
|
||||
|
||||
nw = list_length ((GENERIC_LIST *)l2);
|
||||
nw = wlist_length (l2);
|
||||
sl = strlist_create (nw + 1);
|
||||
|
||||
ntxt = bash_dequote_text (text);
|
||||
|
||||
@@ -12836,7 +12836,7 @@ glob_expand_word_list (WORD_LIST *tlist, int eflags)
|
||||
|
||||
if (glob_list)
|
||||
{
|
||||
output_list = (WORD_LIST *)list_append ((GENERIC_LIST *)glob_list, (GENERIC_LIST *)output_list);
|
||||
output_list = wlist_append (glob_list, output_list);
|
||||
PREPEND_LIST (tlist, disposables);
|
||||
}
|
||||
else if (fail_glob_expansion != 0)
|
||||
@@ -13301,7 +13301,7 @@ shell_expand_word_list (WORD_LIST *tlist, int eflags)
|
||||
}
|
||||
|
||||
expanded = REVERSE_LIST (temp_list, WORD_LIST *);
|
||||
new_list = (WORD_LIST *)list_append ((GENERIC_LIST *)expanded, (GENERIC_LIST *)new_list);
|
||||
new_list = wlist_append (expanded, new_list);
|
||||
}
|
||||
|
||||
if (orig_list)
|
||||
|
||||
Reference in New Issue
Block a user