mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-01 01:20:00 +02:00
commit bash-20070517 snapshot
This commit is contained in:
@@ -14584,3 +14584,30 @@ subst.c
|
||||
lib/readline/signals.c
|
||||
- fix bug in rl_set_signals that caught SIGINT twice and didn't catch
|
||||
SIGTERM. Bug reported by Ed Kwan <ed.kwan@onstor.com>
|
||||
|
||||
5/18
|
||||
----
|
||||
jobs.c
|
||||
- change compact_jobs_list to return 1 if js.j_lastj == 0 and there is
|
||||
a job in jobs[0]; compact_jobs_list should never return an index
|
||||
already occupied
|
||||
- change reset_job_indices to avoid infinite looping when js.j_firstj
|
||||
== 0 or js.j_firstj == js.j_jobslots upon function entry. Fixes
|
||||
bug reported by osicka@post.cz
|
||||
|
||||
5/20
|
||||
----
|
||||
|
||||
execute_cmd.c
|
||||
- new variable, executing_builtin, keeps track of number of "levels"
|
||||
of builtins being executed; incremented by execute_builtin; saved
|
||||
and restored by execute_simple_command
|
||||
|
||||
subst.c
|
||||
- new variablem, assigning_in_environment, set and unset around calls
|
||||
to assign_in_env by the expansion code
|
||||
|
||||
variables.c
|
||||
- use executing_builtin and assigning_in_environment to decide whether
|
||||
or not to look into temporary_env when calling find_variable_internal.
|
||||
Fixes problem reported by Kevin Quinn <kevquinn@gentoo.org>
|
||||
|
||||
+23
-8
@@ -14570,12 +14570,27 @@ lib/readline/input.c
|
||||
(push_index) that caused the 511th character in the buffer to be
|
||||
discarded. Fixes bug reported by Tom Bjorkholm <tom.bjorkholm@ericsson.com>
|
||||
|
||||
5/5
|
||||
5/8
|
||||
---
|
||||
print_cmd.c
|
||||
- added logic (inside_pipeline variable) to print_connection code and
|
||||
print_redirection to handle the case of a command with a here
|
||||
document inside a pipeline. In that case, print_redirection prints
|
||||
the `|' before the here document text, so the parser knows the
|
||||
command is continued. Fixes problem reported by Chris Lesner
|
||||
<chris.lesner@gmail.com>
|
||||
subst.c
|
||||
- fix parameter_brace_remove_pattern to pass getpattern() newly-allocated
|
||||
memory. If word expansions (particularly brace expansions) are
|
||||
required, the expansion code will free the string passed to
|
||||
expand_word_internal, and we don't want to free unallocated memory
|
||||
(patstr++) or have duplicate frees (patstr)
|
||||
|
||||
5/9
|
||||
---
|
||||
lib/readline/signals.c
|
||||
- fix bug in rl_set_signals that caught SIGINT twice and didn't catch
|
||||
SIGTERM. Bug reported by Ed Kwan <ed.kwan@onstor.com>
|
||||
|
||||
5/18
|
||||
----
|
||||
jobs.c
|
||||
- change compact_jobs_list to return 1 if js.j_lastj == 0 and there is
|
||||
a job in jobs[0]; compact_jobs_list should never return an index
|
||||
already occupied
|
||||
- change reset_job_indices to avoid infinite looping when js.j_firstj
|
||||
== 0 or js.j_firstj == js.j_jobslots upon function entry. Fixes
|
||||
bug reported by osicka@post.cz
|
||||
|
||||
@@ -725,7 +725,6 @@ tests/cond.right f
|
||||
tests/cond-regexp.sub f
|
||||
tests/cprint.tests f
|
||||
tests/cprint.right f
|
||||
tests/cprint1.sub f
|
||||
tests/dbg-support.right f
|
||||
tests/dbg-support.sub f
|
||||
tests/dbg-support.tests f
|
||||
|
||||
+1873
-1871
File diff suppressed because it is too large
Load Diff
+2
-3
@@ -688,9 +688,8 @@ An additional binary operator, \fB=~\fP, is available, with the same
|
||||
precedence as \fB==\fP and \fB!=\fP.
|
||||
When it is used, the string to the right of the operator is considered
|
||||
an extended regular expression and matched accordingly (as in \fIregex\fP(3)).
|
||||
Any part of the pattern may be quoted to force it to be matched as a
|
||||
string.
|
||||
The return value is 0 if the string matches the pattern, and 1 otherwise.
|
||||
The return value is 0 if the string matches
|
||||
the pattern, and 1 otherwise.
|
||||
If the regular expression is syntactically incorrect, the conditional
|
||||
expression's return value is 2.
|
||||
If the shell option
|
||||
|
||||
+9
-7
@@ -3,7 +3,7 @@
|
||||
</HEAD>
|
||||
<BODY><TABLE WIDTH=100%>
|
||||
<TR>
|
||||
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2007 January 12<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2007 May 1<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR><A HREF="#index">Index</A>
|
||||
@@ -864,7 +864,8 @@ The return status is the exit status of
|
||||
Note that unlike the metacharacters <B>(</B> and <B>)</B>, <B>{</B> and
|
||||
<B>}</B> are <I>reserved words</I> and must occur where a reserved
|
||||
word is permitted to be recognized. Since they do not cause a word
|
||||
break, they must be separated from <I>list</I> by whitespace.
|
||||
break, they must be separated from <I>list</I> by whitespace or another
|
||||
shell metacharacter.
|
||||
<DT>((<I>expression</I>))<DD>
|
||||
The <I>expression</I> is evaluated according to the rules described
|
||||
below under
|
||||
@@ -3278,7 +3279,7 @@ The <I>pattern</I> is expanded to produce a pattern just as in
|
||||
pathname expansion.
|
||||
<I>Parameter</I> is expanded and the longest match of <I>pattern</I>
|
||||
against its value is replaced with <I>string</I>.
|
||||
If Ipattern begins with <B>/</B>, all matches of <I>pattern</I> are
|
||||
If <I>pattern</I> begins with <B>/</B>, all matches of <I>pattern</I> are
|
||||
replaced with <I>string</I>. Normally only the first match is replaced.
|
||||
If <I>pattern</I> begins with <B>#</B>, it must match at the beginning
|
||||
of the expanded value of <I>parameter</I>.
|
||||
@@ -10685,6 +10686,7 @@ an argument of <B>--</B> as signifying the end of options.
|
||||
|
||||
Expressions may be combined using the following operators, listed
|
||||
in decreasing order of precedence.
|
||||
The evaluation depends on the number of arguments; see below.
|
||||
<DL COMPACT><DT><DD>
|
||||
|
||||
<DL COMPACT>
|
||||
@@ -10750,14 +10752,14 @@ under
|
||||
</FONT>
|
||||
the result of the expression is the result of the binary test using
|
||||
the first and third arguments as operands.
|
||||
The <B>-a</B> and <B>-o</B> operators are considered binary operators
|
||||
when there are three arguments.
|
||||
If the first argument is <B>!</B>, the value is the negation of
|
||||
the two-argument test using the second and third arguments.
|
||||
If the first argument is exactly <B>(</B> and the third argument is
|
||||
exactly <B>)</B>, the result is the one-argument test of the second
|
||||
argument.
|
||||
Otherwise, the expression is false.
|
||||
The <B>-a</B> and <B>-o</B> operators are considered binary operators
|
||||
in this case.
|
||||
<DT>4 arguments<DD>
|
||||
If the first argument is <B>!</B>, the result is the negation of
|
||||
the three-argument expression composed of the remaining arguments.
|
||||
@@ -11541,7 +11543,7 @@ Array variables may not (yet) be exported.
|
||||
<HR>
|
||||
<TABLE WIDTH=100%>
|
||||
<TR>
|
||||
<TH ALIGN=LEFT width=33%>GNU Bash-3.2<TH ALIGN=CENTER width=33%>2007 January 12<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
<TH ALIGN=LEFT width=33%>GNU Bash-3.2<TH ALIGN=CENTER width=33%>2007 May 1<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
</TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
@@ -11645,6 +11647,6 @@ Array variables may not (yet) be exported.
|
||||
</DL>
|
||||
<HR>
|
||||
This document was created by man2html from bash.1.<BR>
|
||||
Time: 16 January 2007 11:15:22 EST
|
||||
Time: 11 May 2007 16:18:51 EDT
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+150
-156
@@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.19.1
|
||||
%%CreationDate: Tue Jan 16 11:15:08 2007
|
||||
%%CreationDate: Fri May 11 16:18:40 2007
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
@@ -332,7 +332,7 @@ E F2(po)2.5 E F0(\(portable object\) \214le format.)2.5 E F2
|
||||
144 686.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E
|
||||
(TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2(\255\255login)108 703.2 Q F0
|
||||
(Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F2<ad6c>2.5 E F0(.)A
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(1)195.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(1)204.835 E 0 Cg EP
|
||||
%%Page: 2 2
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -454,7 +454,7 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en)
|
||||
108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G
|
||||
(TH)-.189 E F0 -.25(va)2.25 G
|
||||
(riable is not used to search for the \214le name.).25 E(GNU Bash-3.2)72
|
||||
768 Q(2007 January 12)140.96 E(2)195.95 E 0 Cg EP
|
||||
768 Q(2007 May 1)149.845 E(2)204.835 E 0 Cg EP
|
||||
%%Page: 3 3
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -579,7 +579,7 @@ F1(Pipelines)87 679.2 Q F0(A)108 691.2 Q F2(pipeline)2.919 E F0 .419
|
||||
F F1(|)2.92 E F0 5.42(.T)C .42(he format for a pipeline)-5.42 F(is:)108
|
||||
703.2 Q([)144 720 Q F1(time)A F0([)2.5 E F1<ad70>A F0(]] [ ! ])A F2
|
||||
(command)2.5 E F0([)2.5 E F1(|)2.5 E F2(command2)2.5 E F0(... ])2.5 E
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(3)195.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(3)204.835 E 0 Cg EP
|
||||
%%Page: 4 4
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -680,17 +680,17 @@ A({)108 573.6 Q F1(list)2.5 E F0 2.5(;})C F1(list)3.89 E F0 .402
|
||||
(rd is permitted to be recognized.).1 F .256(Since the)5.256 F 2.756(yd)
|
||||
-.15 G 2.756(on)-2.756 G .257(ot cause a w)-2.756 F .257(ord break, the)
|
||||
-.1 F 2.757(ym)-.15 G .257(ust be separated)-2.757 F(from)144 621.6 Q F1
|
||||
(list)2.5 E F0(by whitespace.)2.5 E(\(\()108 638.4 Q F1 -.2(ex)C(pr).2 E
|
||||
(ession)-.37 E F0(\)\))A(The)144 650.4 Q F1 -.2(ex)2.552 G(pr).2 E
|
||||
(ession)-.37 E F0 .052(is e)2.552 F -.25(va)-.25 G .051
|
||||
(luated according to the rules described belo).25 F 2.551(wu)-.25 G
|
||||
(nder)-2.551 E F2 .051(ARITHMETIC EV)2.551 F(ALU)-1.215 E(A-)-.54 E
|
||||
(TION)144 662.4 Q/F5 9/Times-Roman@0 SF(.)A F0 .411(If the v)4.91 F .411
|
||||
(alue of the e)-.25 F .411(xpression is non-zero, the return status is \
|
||||
0; otherwise the return status)-.15 F(is 1.)144 674.4 Q(This is e)5 E
|
||||
(xactly equi)-.15 E -.25(va)-.25 G(lent to).25 E F3(let ")2.5 E F1 -.2
|
||||
(ex)C(pr).2 E(ession)-.37 E F3(")A F0(.)A F3([[)108 691.2 Q F1 -.2(ex)
|
||||
2.5 G(pr).2 E(ession)-.37 E F3(]])2.5 E F0 1.3
|
||||
(list)2.5 E F0(by whitespace or another shell metacharacter)2.5 E(.)-.55
|
||||
E(\(\()108 638.4 Q F1 -.2(ex)C(pr).2 E(ession)-.37 E F0(\)\))A(The)144
|
||||
650.4 Q F1 -.2(ex)2.552 G(pr).2 E(ession)-.37 E F0 .052(is e)2.552 F
|
||||
-.25(va)-.25 G .051(luated according to the rules described belo).25 F
|
||||
2.551(wu)-.25 G(nder)-2.551 E F2 .051(ARITHMETIC EV)2.551 F(ALU)-1.215 E
|
||||
(A-)-.54 E(TION)144 662.4 Q/F5 9/Times-Roman@0 SF(.)A F0 .411(If the v)
|
||||
4.91 F .411(alue of the e)-.25 F .411(xpression is non-zero, the return\
|
||||
status is 0; otherwise the return status)-.15 F(is 1.)144 674.4 Q
|
||||
(This is e)5 E(xactly equi)-.15 E -.25(va)-.25 G(lent to).25 E F3(let ")
|
||||
2.5 E F1 -.2(ex)C(pr).2 E(ession)-.37 E F3(")A F0(.)A F3([[)108 691.2 Q
|
||||
F1 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F3(]])2.5 E F0 1.3
|
||||
(Return a status of 0 or 1 depending on the e)144 703.2 R -.25(va)-.25 G
|
||||
1.299(luation of the conditional e).25 F(xpression)-.15 E F1 -.2(ex)
|
||||
3.799 G(pr).2 E(ession)-.37 E F0(.)A 2.273
|
||||
@@ -699,8 +699,8 @@ A({)108 573.6 Q F1(list)2.5 E F0 2.5(;})C F1(list)3.89 E F0 .402
|
||||
F(SIONS)144 727.2 Q F5(.)A F0 -.8(Wo)5.633 G 1.133
|
||||
(rd splitting and pathname e).8 F 1.133
|
||||
(xpansion are not performed on the w)-.15 F 1.133(ords between the)-.1 F
|
||||
F3([[)3.632 E F0(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(4)195.95
|
||||
E 0 Cg EP
|
||||
F3([[)3.632 E F0(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(4)204.835 E
|
||||
0 Cg EP
|
||||
%%Page: 5 5
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -838,7 +838,7 @@ F 1.538(played w)144 715.2 R 1.538(ords, then the v)-.1 F 1.538(alue of)
|
||||
F 1.537(ords and)-.1 F .065(prompt are displayed ag)144 727.2 R 2.565
|
||||
(ain. If)-.05 F .065(EOF is read, the command completes.)2.565 F(An)
|
||||
5.066 E 2.566(yo)-.15 G .066(ther v)-2.566 F .066(alue read causes)-.25
|
||||
F(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(5)195.95 E 0 Cg EP
|
||||
F(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(5)204.835 E 0 Cg EP
|
||||
%%Page: 6 6
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -978,7 +978,7 @@ F0 1.337(option is on by def)3.837 F 1.337(ault in)-.1 F(interacti)108
|
||||
722.4 R F1(metac)2.789 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288
|
||||
(listed abo)2.789 F .588 -.15(ve u)-.15 H(nder).15 E F3(DEFINITIONS)
|
||||
2.788 E F0 .288(has special meaning to the shell and must be)2.538 F
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(6)195.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(6)204.835 E 0 Cg EP
|
||||
%%Page: 7 7
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1094,8 +1094,7 @@ F .515(and v)108 715.2 R .515(ariable e)-.25 F .515
|
||||
(integer)2.698 E F0(attrib)2.698 E .198(ute set, then)-.2 F F2(value)
|
||||
2.988 E F0 .198(is e)2.878 F -.25(va)-.25 G .199
|
||||
(luated as an arithmetic e).25 F .199(xpression e)-.15 F -.15(ve)-.25 G
|
||||
(n).15 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(7)195.95 E 0 Cg
|
||||
EP
|
||||
(n).15 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(7)204.835 E 0 Cg EP
|
||||
%%Page: 8 8
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1227,7 +1226,7 @@ S 1.6(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6
|
||||
696 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F1 -.3(BA)108
|
||||
712.8 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E -.2
|
||||
(vo)-.4 G .2 -.1(ke t).2 H(his instance of).1 E F1(bash)2.5 E F0(.)A
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(8)195.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(8)204.835 E 0 Cg EP
|
||||
%%Page: 9 9
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1324,8 +1323,8 @@ E F1(${COMP_W)2.896 E(ORDS})-.1 E F0 .396(of the w)2.896 F .396
|
||||
(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.681
|
||||
(db).1 G 3.681(yt)-3.681 G 1.181(he programmable completion f)-3.681 F
|
||||
1.181(acilities \(see)-.1 F F1(Pr)144 699.6 Q(ogrammable Completion)-.18
|
||||
E F0(belo)2.5 E(w\).)-.25 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96
|
||||
E(9)195.95 E 0 Cg EP
|
||||
E F0(belo)2.5 E(w\).)-.25 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E
|
||||
(9)204.835 E 0 Cg EP
|
||||
%%Page: 10 10
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1436,7 +1435,7 @@ E .597(ments to)144 655.2 R F3(GR)3.097 E(OUPS)-.27 E F0(ha)2.847 E .897
|
||||
(HISTCMD)2.856 E F0 .356(is unset, it)2.606 F
|
||||
(loses its special properties, e)144 708 Q -.15(ve)-.25 G 2.5(ni).15 G
|
||||
2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(10)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(10)199.835 E 0 Cg EP
|
||||
%%Page: 11 11
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1519,8 +1518,8 @@ F0(by)2.759 E F1 .019(set \255o)2.519 F F0 5.019(.I)C 2.519(ft)-5.019 G
|
||||
(when)144 679.2 Q F1(bash)3.141 E F0 .642(starts up, each shell option \
|
||||
in the list will be enabled before reading an)3.141 F 3.142(ys)-.15 G
|
||||
.642(tartup \214les.)-3.142 F(This v)144 691.2 Q(ariable is read-only)
|
||||
-.25 E(.)-.65 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(11)190.95
|
||||
E 0 Cg EP
|
||||
-.25 E(.)-.65 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(11)199.835 E
|
||||
0 Cg EP
|
||||
%%Page: 12 12
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1631,8 +1630,8 @@ F 2.805(,b)-.65 G 2.805(yr)-2.805 G(emo)-2.805 E .305
|
||||
(ault v)-.1 F .602(alue is 500.)-.25 F .601
|
||||
(The history \214le is also truncated to this size)5.602 F
|
||||
(after writing it when an interacti)144 698.4 Q .3 -.15(ve s)-.25 H
|
||||
(hell e).15 E(xits.)-.15 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96
|
||||
E(12)190.95 E 0 Cg EP
|
||||
(hell e).15 E(xits.)-.15 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E
|
||||
(12)199.835 E 0 Cg EP
|
||||
%%Page: 13 13
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1737,7 +1736,7 @@ ble-quoted strings preceded by a)-.25 E F1($)2.5 E F0(.)A F1(LC_NUMERIC)
|
||||
(Used by the)5.99 F F1(select)3.718 E F0 -.2(bu)3.718 G 1.219(iltin com\
|
||||
mand to determine the column length for printing selection lists.).2 F
|
||||
(Automatically set upon receipt of a SIGWINCH.)144 720 Q(GNU Bash-3.2)72
|
||||
768 Q(2007 January 12)140.96 E(13)190.95 E 0 Cg EP
|
||||
768 Q(2007 May 1)149.845 E(13)199.835 E 0 Cg EP
|
||||
%%Page: 14 14
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1852,7 +1851,7 @@ F0(The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87
|
||||
144 730.8 R -.25(va)2.525 G .025
|
||||
(lue of 0 causes no decimal point or fraction to be output.).25 F .026
|
||||
(At most three places after the)5.025 F(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(14)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(14)199.835 E 0 Cg EP
|
||||
%%Page: 15 15
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -1980,8 +1979,8 @@ F 2.777(xo)-.15 G 2.777(ft)-2.777 G .276
|
||||
F0 -.2(bu)3.894 G(iltin.).2 E(Indi)108 727.2 Q
|
||||
(vidual array elements may be assigned to using the)-.25 E F1(name)2.5 E
|
||||
F0([)A F1(subscript)A F0(]=)A F1(value)A F0(syntax introduced abo)2.5 E
|
||||
-.15(ve)-.15 G(.).15 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E
|
||||
(15)190.95 E 0 Cg EP
|
||||
-.15(ve)-.15 G(.).15 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(15)
|
||||
199.835 E 0 Cg EP
|
||||
%%Page: 16 16
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -2124,8 +2123,8 @@ contain unquoted opening and closing braces, and at least one)-.15 F
|
||||
F2(${)2.911 E F0 .41(is not considered eligible for brace e)2.911 F
|
||||
(xpan-)-.15 E(sion.)108 712.8 Q 1.476(This construct is typically used \
|
||||
as shorthand when the common pre\214x of the strings to be generated is)
|
||||
108 729.6 R(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(16)190.95 E 0
|
||||
Cg EP
|
||||
108 729.6 R(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(16)199.835 E 0 Cg
|
||||
EP
|
||||
%%Page: 17 17
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -2248,7 +2247,7 @@ F 1.418(and arithmetic e)108 688.8 R 3.918(xpansion. When)-.15 F 1.418
|
||||
(not performing substring e)3.918 F(xpansion,)-.15 E F1(bash)3.918 E F0
|
||||
1.418(tests for a parameter that is)3.918 F(unset or null; omitting the\
|
||||
colon results in a test only for a parameter that is unset.)108 700.8 Q
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(17)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(17)199.835 E 0 Cg EP
|
||||
%%Page: 18 18
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -2375,7 +2374,7 @@ F1(par)145.25 655.2 Q(ameter)-.15 E F0 .607
|
||||
3.15(,t)C .65(he pattern remo)-3.15 F -.25(va)-.15 G 3.151(lo).25 G .651
|
||||
(peration is applied to each member of the array in)-3.151 F
|
||||
(turn, and the e)144 703.2 Q(xpansion is the resultant list.)-.15 E
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(18)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(18)199.835 E 0 Cg EP
|
||||
%%Page: 19 19
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -2409,34 +2408,34 @@ G .089(peration is applied to)-2.589 F
|
||||
(pattern)5.085 E F0 2.585(is e)5.085 F 2.585
|
||||
(xpanded to produce a pattern just as in pathname e)-.15 F(xpansion.)
|
||||
-.15 E F1 -.8(Pa)7.585 G -.15(ra).8 G(meter).15 E F0(is)5.085 E -.15(ex)
|
||||
144 220.8 S 1.304(panded and the longest match of).15 F F1(pattern)3.804
|
||||
E F0(ag)3.804 E 1.304(ainst its v)-.05 F 1.304(alue is replaced with)
|
||||
-.25 F F1(string)3.804 E F0 6.304(.I)C 3.804(fI)-6.304 G(pattern)-3.804
|
||||
E F1(be)144 232.8 Q 1.331(gins with)-.4 F F2(/)3.831 E F1 3.831(,a)C
|
||||
1.331(ll matc)-3.831 F 1.331(hes of pattern ar)-.15 F 3.831(er)-.37 G
|
||||
1.331(eplaced with string)-4.201 F 6.33(.N)-.15 G 1.33
|
||||
(ormally only the \214r)-6.33 F 1.33(st matc)-.1 F 3.83(hi)-.15 G(s)
|
||||
-3.83 E -.37(re)144 244.8 S 2.691(placed. If).37 F .191(pattern be)2.691
|
||||
F .191(gins with)-.4 F F2(#)2.691 E F1 2.691(,i)C 2.691(tm)-2.691 G .191
|
||||
(ust matc)-2.691 F 2.691(ha)-.15 G 2.691(tt)-2.691 G .191(he be)-2.691 F
|
||||
.191(ginning of the e)-.4 F .192(xpanded value of par)-.2 F(am-)-.15 E
|
||||
(eter)144 256.8 Q 6.049(.I)-1.11 G 3.549(fp)-6.049 G 1.049(attern be)
|
||||
-3.549 F 1.049(gins with)-.4 F F2(%)3.549 E F1 3.549(,i)C 3.548(tm)
|
||||
-3.549 G 1.048(ust matc)-3.548 F 3.548(ha)-.15 G 3.548(tt)-3.548 G 1.048
|
||||
(he end of the e)-3.548 F 1.048(xpanded value of par)-.2 F(ameter)-.15 E
|
||||
6.048(.I)-1.11 G(f)-6.048 E 2.056(string is null, matc)144 268.8 R 2.057
|
||||
(hes of pattern ar)-.15 F 4.557(ed)-.37 G 2.057(eleted and the)-4.557 F
|
||||
F2(/)4.557 E F1 2.057(following pattern may be omitted.)4.557 F(If)7.057
|
||||
E(par)145.25 280.8 Q(ameter)-.15 E F0(is)3.329 E F2(@)2.599 E F0(or)
|
||||
2.598 E F2(*)2.598 E F0 2.598(,t)C .098(he substitution operation is ap\
|
||||
plied to each positional parameter in turn, and)-2.598 F .64(the e)144
|
||||
292.8 R .64(xpansion is the resultant list.)-.15 F(If)5.64 E F1(par)4.39
|
||||
E(ameter)-.15 E F0 .64(is an array v)3.87 F .64
|
||||
(ariable subscripted with)-.25 F F2(@)3.14 E F0(or)3.14 E F2(*)3.14 E F0
|
||||
3.14(,t)C(he)-3.14 E 1.446(substitution operation is applied to each me\
|
||||
mber of the array in turn, and the e)144 304.8 R 1.446(xpansion is the)
|
||||
-.15 F(resultant list.)144 316.8 Q F2(Command Substitution)87 333.6 Q F1
|
||||
1.697(Command substitution)108 345.6 R F0(allo)4.197 E 1.697
|
||||
144 220.8 S 1.451(panded and the longest match of).15 F F1(pattern)3.951
|
||||
E F0(ag)3.951 E 1.451(ainst its v)-.05 F 1.452(alue is replaced with)
|
||||
-.25 F F1(string)3.952 E F0 6.452(.I)C(f)-6.452 E F1(pattern)3.952 E F0
|
||||
(be)144 232.8 Q 1.237(gins with)-.15 F F2(/)3.737 E F0 3.737(,a)C 1.237
|
||||
(ll matches of)-3.737 F F1(pattern)3.737 E F0 1.237(are replaced with)
|
||||
3.737 F F1(string)3.737 E F0 6.237(.N)C 1.237
|
||||
(ormally only the \214rst match is)-6.237 F 2.579(replaced. If)144 244.8
|
||||
R F1(pattern)2.579 E F0(be)2.579 E .079(gins with)-.15 F F2(#)2.579 E F0
|
||||
2.579(,i)C 2.579(tm)-2.579 G .079(ust match at the be)-2.579 F .08
|
||||
(ginning of the e)-.15 F .08(xpanded v)-.15 F .08(alue of)-.25 F F1(par)
|
||||
2.58 E(am-)-.15 E(eter)144 256.8 Q F0 5.762(.I)C(f)-5.762 E F1(pattern)
|
||||
3.262 E F0(be)3.261 E .761(gins with)-.15 F F2(%)3.261 E F0 3.261(,i)C
|
||||
3.261(tm)-3.261 G .761(ust match at the end of the e)-3.261 F .761
|
||||
(xpanded v)-.15 F .761(alue of)-.25 F F1(par)3.261 E(ameter)-.15 E F0
|
||||
5.761(.I)C(f)-5.761 E F1(string)144 268.8 Q F0 1.937
|
||||
(is null, matches of)4.437 F F1(pattern)4.437 E F0 1.937
|
||||
(are deleted and the)4.437 F F2(/)4.438 E F0(follo)4.438 E(wing)-.25 E
|
||||
F1(pattern)4.438 E F0 1.938(may be omitted.)4.438 F(If)6.938 E F1(par)
|
||||
145.25 280.8 Q(ameter)-.15 E F0(is)3.329 E F2(@)2.599 E F0(or)2.598 E F2
|
||||
(*)2.598 E F0 2.598(,t)C .098(he substitution operation is applied to e\
|
||||
ach positional parameter in turn, and)-2.598 F .64(the e)144 292.8 R .64
|
||||
(xpansion is the resultant list.)-.15 F(If)5.64 E F1(par)4.39 E(ameter)
|
||||
-.15 E F0 .64(is an array v)3.87 F .64(ariable subscripted with)-.25 F
|
||||
F2(@)3.14 E F0(or)3.14 E F2(*)3.14 E F0 3.14(,t)C(he)-3.14 E 1.446(subs\
|
||||
titution operation is applied to each member of the array in turn, and \
|
||||
the e)144 304.8 R 1.446(xpansion is the)-.15 F(resultant list.)144 316.8
|
||||
Q F2(Command Substitution)87 333.6 Q F1 1.697(Command substitution)108
|
||||
345.6 R F0(allo)4.197 E 1.697
|
||||
(ws the output of a command to replace the command name.)-.25 F 1.698
|
||||
(There are tw)6.698 F(o)-.1 E(forms:)108 357.6 Q F2($\()144 379.2 Q F1
|
||||
(command)A F2(\))1.666 E F0(or)108 391.2 Q F2(`)144 403.2 Q F1(command)A
|
||||
@@ -2487,7 +2486,7 @@ F1 -.2(ex)2.665 G(pr).2 E(ession)-.37 E F0 .165
|
||||
A F0(If)5.879 E F1 -.2(ex)108 693.6 S(pr).2 E(ession)-.37 E F0(is in)
|
||||
2.74 E -.25(va)-.4 G(lid,).25 E F2(bash)2.5 E F0
|
||||
(prints a message indicating f)2.5 E(ailure and no substitution occurs.)
|
||||
-.1 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(19)190.95 E 0 Cg EP
|
||||
-.1 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(19)199.835 E 0 Cg EP
|
||||
%%Page: 20 20
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -2630,8 +2629,8 @@ R 1.12(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G
|
||||
(The special pattern characters must be quoted if the)5.576 F 3.076(ya)
|
||||
-.15 G(re)-3.076 E(to be matched literally)108 703.2 Q(.)-.65 E
|
||||
(The special pattern characters ha)108 720 Q .3 -.15(ve t)-.2 H
|
||||
(he follo).15 E(wing meanings:)-.25 E(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(20)190.95 E 0 Cg EP
|
||||
(he follo).15 E(wing meanings:)-.25 E(GNU Bash-3.2)72 768 Q(2007 May 1)
|
||||
149.845 E(20)199.835 E 0 Cg EP
|
||||
%%Page: 21 21
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -2740,7 +2739,7 @@ ted, and the \214rst character of the redirect-)-.25 F .512
|
||||
E F0(dirlist 2)2.5 E F1(>&)A F0(1)A
|
||||
(directs both standard output and standard error to the \214le)108 728.4
|
||||
Q F2(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(GNU Bash-3.2)
|
||||
72 768 Q(2007 January 12)140.96 E(21)190.95 E 0 Cg EP
|
||||
72 768 Q(2007 May 1)149.845 E(21)199.835 E 0 Cg EP
|
||||
%%Page: 22 22
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -2832,7 +2831,7 @@ Q F0(allo)3.142 E .642(ws both the standard output \(\214le descriptor \
|
||||
(xpansion of)-.15 E F2(wor)2.84 E(d)-.37 E F0(with this construct.)3.27
|
||||
E(There are tw)108 722.4 Q 2.5(of)-.1 G
|
||||
(ormats for redirecting standard output and standard error:)-2.5 E
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(22)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(22)199.835 E 0 Cg EP
|
||||
%%Page: 23 23
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -2919,7 +2918,7 @@ E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A
|
||||
.24 G 2.785(rt)-2.785 G .286
|
||||
(he standard output \(\214le descriptor 1\) if)-2.785 F F2(n)2.786 E F0
|
||||
.286(is not speci-)2.786 F(\214ed.)108 729.6 Q(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(23)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(23)199.835 E 0 Cg EP
|
||||
%%Page: 24 24
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3062,8 +3061,8 @@ E F0(and)4.28 E F1(RETURN)4.53 E F0 2.029
|
||||
(alues of the positional parameters and the spe-)-.25 F(cial parameter)
|
||||
108 724.8 Q F1(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
|
||||
2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe)
|
||||
-2.65 G(cution.).15 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(24)
|
||||
190.95 E 0 Cg EP
|
||||
-2.65 G(cution.).15 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(24)
|
||||
199.835 E 0 Cg EP
|
||||
%%Page: 25 25
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3165,8 +3164,8 @@ etters may be used interchangeably to represent num-)-.25 F
|
||||
(bers between 10 and 35.)108 708 Q .235(Operators are e)108 724.8 R -.25
|
||||
(va)-.25 G .235(luated in order of precedence.).25 F(Sub-e)5.234 E .234
|
||||
(xpressions in parentheses are e)-.15 F -.25(va)-.25 G .234
|
||||
(luated \214rst and may).25 F(GNU Bash-3.2)72 768 Q(2007 January 12)
|
||||
140.96 E(25)190.95 E 0 Cg EP
|
||||
(luated \214rst and may).25 F(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E
|
||||
(25)199.835 E 0 Cg EP
|
||||
%%Page: 26 26
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3268,7 +3267,7 @@ F3(string2)2.5 E F0 -.35(Tr)144 679.2 S
|
||||
F3(string2)2.5 E F0 -.35(Tr)144 708 S(ue if).35 E F3(string1)2.5 E F0
|
||||
(sorts before)2.5 E F3(string2)2.5 E F0(le)2.5 E
|
||||
(xicographically in the current locale.)-.15 E(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(26)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(26)199.835 E 0 Cg EP
|
||||
%%Page: 27 27
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3387,8 +3386,7 @@ F0(are retained by the child.)2.25 E 1.375
|
||||
(If the program is a \214le be)108 720 R 1.374(ginning with)-.15 F F2
|
||||
(#!)3.874 E F0 3.874(,t)C 1.374
|
||||
(he remainder of the \214rst line speci\214es an interpreter for the)
|
||||
-3.874 F(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(27)190.95 E 0 Cg
|
||||
EP
|
||||
-3.874 F(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(27)199.835 E 0 Cg EP
|
||||
%%Page: 28 28
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3489,8 +3487,7 @@ ment and creates a parameter for each name found, automatically marking\
|
||||
5.289(cesses. Ex)108 729.6 R 2.789(ecuted commands inherit the en)-.15 F
|
||||
5.288(vironment. The)-.4 F F3(export)5.288 E F0(and)5.288 E F3(declar)
|
||||
5.288 E 5.288<65ad>-.18 G(x)-5.288 E F0 2.788(commands allo)5.288 F(w)
|
||||
-.25 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(28)190.95 E 0 Cg
|
||||
EP
|
||||
-.25 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(28)199.835 E 0 Cg EP
|
||||
%%Page: 29 29
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3626,7 +3623,7 @@ F0(.)A .784(The shell associates a)108 708 R F2(job)5.024 E F0 .784
|
||||
2.841 E F0 2.841(command. When)2.841 F F1(bash)2.841 E F0 .341
|
||||
(starts a job asynchronously \(in the)2.841 F F2(bac)2.84 E(kgr)-.2 E
|
||||
(ound)-.45 E F0 .34(\), it prints a line).77 F(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(29)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(29)199.835 E 0 Cg EP
|
||||
%%Page: 30 30
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3757,8 +3754,8 @@ ized by inserting a number of backslash-escaped special characters that\
|
||||
are)108 679.2 R(decoded as follo)108 691.2 Q(ws:)-.25 E F1(\\a)144
|
||||
703.2 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 715.2 Q F0
|
||||
(the date in "W)27.66 E(eekday Month Date" format \(e.g., "T)-.8 E
|
||||
(ue May 26"\))-.45 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(30)
|
||||
190.95 E 0 Cg EP
|
||||
(ue May 26"\))-.45 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(30)
|
||||
199.835 E 0 Cg EP
|
||||
%%Page: 31 31
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3872,7 +3869,7 @@ F2 -.1(ke)C(y)-.2 E F0 3.653(,s)C 3.653(oM)-3.653 G 1.153
|
||||
-.15 F .567(which can be yank)108 720 R .567(ed all at once.)-.1 F .567
|
||||
(Commands which do not kill te)5.567 F .567
|
||||
(xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(31)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(31)199.835 E 0 Cg EP
|
||||
%%Page: 32 32
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -3970,8 +3967,8 @@ G(rsal\255ar).1 E(gument)-.1 E F0(.)A F2 .315(C\255x C\255r)5.155 F F0
|
||||
<5c43ad>144 669.6 Q F0(control pre\214x)20.3 E F1<5c4dad>144 681.6 Q F0
|
||||
(meta pre\214x)18.08 E F1(\\e)144 693.6 Q F0(an escape character)28.78 E
|
||||
F1(\\\\)144 705.6 Q F0(backslash)30.44 E F1(\\")144 717.6 Q F0
|
||||
(literal ")27.67 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(32)
|
||||
190.95 E 0 Cg EP
|
||||
(literal ")27.67 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(32)199.835
|
||||
E 0 Cg EP
|
||||
%%Page: 33 33
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4067,8 +4064,7 @@ F(e-)-.37 E<8c78>144 681.6 Q F0(\).)A F1(disable\255completion \(Off\))
|
||||
.038(eadline will inhibit w)-2.538 F .038(ord completion.)-.1 F .038
|
||||
(Completion characters will be inserted into the)5.038 F(line as if the)
|
||||
144 717.6 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E
|
||||
F0(.)A(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(33)190.95 E 0 Cg
|
||||
EP
|
||||
F0(.)A(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(33)199.835 E 0 Cg EP
|
||||
%%Page: 34 34
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4161,7 +4157,7 @@ E F1(sho)108 660 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F0 .477
|
||||
2.978 E F0 2.978(,w)C .478(ords which ha)-3.078 F .778 -.15(ve m)-.2 H
|
||||
(ore).15 E 1.264(than one possible completion cause the matches to be l\
|
||||
isted immediately instead of ringing the)144 684 R(bell.)144 696 Q
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(34)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(34)199.835 E 0 Cg EP
|
||||
%%Page: 35 35
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4263,8 +4259,7 @@ F0 -.25(va)2.724 G .224
|
||||
(alue the Escape and Control-J characters will terminate an incre-)-.25
|
||||
F .097(mental search.)108 720 R .096(Control-G will abort an incrementa\
|
||||
l search and restore the original line.)5.097 F .096(When the search is)
|
||||
5.096 F(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(35)190.95 E 0 Cg
|
||||
EP
|
||||
5.096 F(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(35)199.835 E 0 Cg EP
|
||||
%%Page: 36 36
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4351,7 +4346,7 @@ E(ving forw)-.15 E(ard in the list.)-.1 E F2
|
||||
(ard starting at the current line and mo)-.1 F 1.471
|
||||
(ving `up' through the history as necessary)-.15 F(.)-.65 E
|
||||
(This is an incremental search.)144 712.8 Q(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(36)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(36)199.835 E 0 Cg EP
|
||||
%%Page: 37 37
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4451,7 +4446,7 @@ F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.735(.S)C(uccessi)-5.735 E
|
||||
5.358 F .358(ginning of the line, there are no characters in the)-.15 F
|
||||
(line, and the last character typed w)144 712.8 Q(as not bound to)-.1 E
|
||||
F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F3(EOF)2.5 E F4(.)
|
||||
A F0(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(37)190.95 E 0 Cg EP
|
||||
A F0(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(37)199.835 E 0 Cg EP
|
||||
%%Page: 38 38
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4544,8 +4539,7 @@ Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E
|
||||
(ord behind point, using white space as a w)-.1 F .365(ord boundary)-.1
|
||||
F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
|
||||
(ve)-.2 G 2.865(do).15 G 2.865(nt)-2.865 G(he)-2.865 E(kill-ring.)144
|
||||
712.8 Q(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(38)190.95 E 0 Cg
|
||||
EP
|
||||
712.8 Q(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(38)199.835 E 0 Cg EP
|
||||
%%Page: 39 39
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4643,7 +4637,7 @@ E(through the list.)144 669.6 Q(This command is intended to be bound to)
|
||||
(ve)-.2 G 2.925(si).15 G .425(dentically to)-2.925 F F1
|
||||
(possible\255completions)2.925 E F0 5.425(.T)C .425
|
||||
(his command is unbound)-5.425 F(by def)144 717.6 Q(ault.)-.1 E
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(39)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(39)199.835 E 0 Cg EP
|
||||
%%Page: 40 40
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4727,7 +4721,7 @@ C(..\))-2.5 E F0 1.756(If the meta\214ed character)144 621.6 R F2(x)
|
||||
F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E
|
||||
F0 1.095(command enough times to)3.595 F
|
||||
(return the line to its initial state.)144 717.6 Q(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(40)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(40)199.835 E 0 Cg EP
|
||||
%%Page: 41 41
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4832,8 +4826,8 @@ F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.328(w\), the)
|
||||
(compspec for the full pathname is searched for \214rst.)108 705.6 R
|
||||
1.181(If no compspec is found for the full pathname, an)6.181 F
|
||||
(attempt is made to \214nd a compspec for the portion follo)108 717.6 Q
|
||||
(wing the \214nal slash.)-.25 E(GNU Bash-3.2)72 768 Q(2007 January 12)
|
||||
140.96 E(41)190.95 E 0 Cg EP
|
||||
(wing the \214nal slash.)-.25 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845
|
||||
E(41)199.835 E 0 Cg EP
|
||||
%%Page: 42 42
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -4975,7 +4969,7 @@ desired, the programmable completion func-)108 693.6 R .632(tions force\
|
||||
(readline v)5.262 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.761
|
||||
(rdless of the setting of the).05 F F1(mark-sym-)5.261 E(link)108 729.6
|
||||
Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(42)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(42)199.835 E 0 Cg EP
|
||||
%%Page: 43 43
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -5119,7 +5113,7 @@ F0(will also inhibit e)108 705.6 Q(xpansion.)-.15 E(Se)108 722.4 Q -.15
|
||||
(ve)-.25 G .109(ral shell options settable with the).15 F F2(shopt)2.609
|
||||
E F0 -.2(bu)2.609 G .11(iltin may be used to tailor the beha).2 F .11
|
||||
(vior of history e)-.2 F(xpansion.)-.15 E(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(43)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(43)199.835 E 0 Cg EP
|
||||
%%Page: 44 44
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -5224,8 +5218,8 @@ G .184(here may appear a sequence of one or more of the follo)-2.683 F
|
||||
(ving the basename.)-.2 E F1(e)108 698.4 Q F0(Remo)31.56 E .3 -.15(ve a)
|
||||
-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 710.4
|
||||
Q F0(Print the ne)30.44 E 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2
|
||||
E -.15(xe)-.15 G(cute it.).15 E(GNU Bash-3.2)72 768 Q(2007 January 12)
|
||||
140.96 E(44)190.95 E 0 Cg EP
|
||||
E -.15(xe)-.15 G(cute it.).15 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845
|
||||
E(44)199.835 E 0 Cg EP
|
||||
%%Page: 45 45
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -5356,7 +5350,7 @@ G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
|
||||
2.738 F .475(macro, or set a)144 726 R F1 -.18(re)2.975 G(adline).18 E
|
||||
F0 -.25(va)2.975 G 2.975(riable. Each).25 F .476(non-option ar)2.976 F
|
||||
.476(gument is a command as it w)-.18 F .476(ould appear in)-.1 F
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(45)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(45)199.835 E 0 Cg EP
|
||||
%%Page: 46 46
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -5480,8 +5474,7 @@ tine name, and source \214le corresponding to that position in the curr\
|
||||
ent e)144 708 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e)144
|
||||
720 Q(xtra information may be used, for e)-.15 E .001
|
||||
(xample, to print a stack trace.)-.15 F .001(The current frame is frame)
|
||||
5.001 F(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(46)190.95 E 0 Cg
|
||||
EP
|
||||
5.001 F(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(46)199.835 E 0 Cg EP
|
||||
%%Page: 47 47
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -5590,7 +5583,7 @@ e compspec generates \214lenames, so it can perform an).7 F 2.637<798c>
|
||||
2.996(ea)-.1 G .496(dding a slash to directory names or suppress-)-2.996
|
||||
F(ing trailing spaces\).)224 710.4 Q
|
||||
(Intended to be used with shell functions.)5 E(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(47)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(47)199.835 E 0 Cg EP
|
||||
%%Page: 48 48
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -5663,7 +5656,7 @@ E(dlist)-.37 E F0 1.14(is split using the characters in the)3.639 F F3
|
||||
(ishes, the possible completions are retrie)184 696 R -.15(ve)-.25 G
|
||||
3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F3
|
||||
(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 708 S(riable.)
|
||||
.25 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(48)190.95 E 0 Cg EP
|
||||
.25 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(48)199.835 E 0 Cg EP
|
||||
%%Page: 49 49
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -5793,7 +5786,7 @@ F0(command; the)2.5 E F1(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
|
||||
(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F1
|
||||
(dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
|
||||
(without options, starting with zero.)180 708 Q(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(49)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(49)199.835 E 0 Cg EP
|
||||
%%Page: 50 50
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -5912,8 +5905,7 @@ F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144
|
||||
(alue)-.25 E .994(is 0 unless a)144 703.2 R F2(name)3.854 E F0 .994
|
||||
(is not a shell b)3.674 F .994(uiltin or there is an error loading a ne)
|
||||
-.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144
|
||||
715.2 Q(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(50)190.95 E 0 Cg
|
||||
EP
|
||||
715.2 Q(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(50)199.835 E 0 Cg EP
|
||||
%%Page: 51 51
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6048,8 +6040,8 @@ R .454(If the)5.454 F F1<ad65>2.954 E F0 .454
|
||||
679.2 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F2(cmd)3.835 E F0 1.135
|
||||
(does not)4.405 F(specify a v)144 691.2 Q
|
||||
(alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E
|
||||
(ailure.)-.1 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(51)190.95
|
||||
E 0 Cg EP
|
||||
(ailure.)-.1 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(51)199.835 E 0
|
||||
Cg EP
|
||||
%%Page: 52 52
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6174,8 +6166,8 @@ F0(])A .867(Display helpful information about b)144 686.4 R .867
|
||||
R(The)5.596 E F1<ad73>3.096 E F0 .596
|
||||
(option restricts the information displayed to a short usage synopsis.)
|
||||
3.096 F(The)5.596 E(return status is 0 unless no command matches)144
|
||||
722.4 Q F2(pattern)2.5 E F0(.).24 E(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(52)190.95 E 0 Cg EP
|
||||
722.4 Q F2(pattern)2.5 E F0(.).24 E(GNU Bash-3.2)72 768 Q(2007 May 1)
|
||||
149.845 E(52)199.835 E 0 Cg EP
|
||||
%%Page: 53 53
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6290,7 +6282,7 @@ F1(kill)108 660 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1
|
||||
F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523
|
||||
F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F
|
||||
F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names)
|
||||
.15 F(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(53)190.95 E 0 Cg EP
|
||||
.15 F(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(53)199.835 E 0 Cg EP
|
||||
%%Page: 54 54
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6410,7 +6402,7 @@ irectory stack, or rotates the stack, making the ne)144 681.6 R 3.14(wt)
|
||||
(returns 0, unless the directory stack is empty)144 705.6 R 5.871(.A)
|
||||
-.65 G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172 -.15
|
||||
(ve t)-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144 717.6 Q
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(54)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(54)199.835 E 0 Cg EP
|
||||
%%Page: 55 55
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6526,8 +6518,8 @@ E F2(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1 F
|
||||
(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 720 R
|
||||
1.097(If the)6.097 F F1<ad66>3.597 E F0 1.097
|
||||
(option is supplied, the functions corresponding to the)3.597 F F2
|
||||
(names)3.596 E F0 1.096(are so)3.596 F(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(55)190.95 E 0 Cg EP
|
||||
(names)3.596 E F0 1.096(are so)3.596 F(GNU Bash-3.2)72 768 Q(2007 May 1)
|
||||
149.845 E(55)199.835 E 0 Cg EP
|
||||
%%Page: 56 56
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6645,8 +6637,8 @@ E F1<ad6f>144 609.6 Q F2(option\255name)2.5 E F0(The)184 621.6 Q F2
|
||||
(when the shell is interacti)224 693.6 R -.15(ve)-.25 G 3.45(,u).15 G
|
||||
.95(nless the shell is started with the)-3.45 F F1(\255\255noediting)
|
||||
3.45 E F0(option.)224 705.6 Q F1(errtrace)184 717.6 Q F0(Same as)5.03 E
|
||||
F1<ad45>2.5 E F0(.)A(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(56)
|
||||
190.95 E 0 Cg EP
|
||||
F1<ad45>2.5 E F0(.)A(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(56)
|
||||
199.835 E 0 Cg EP
|
||||
%%Page: 57 57
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6741,7 +6733,7 @@ F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
|
||||
2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
|
||||
5.435(tors. This)184 726 R 2.936(may be o)5.435 F -.15(ve)-.15 G 2.936
|
||||
(rridden when creating output \214les by using the redirection).15 F
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(57)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(57)199.835 E 0 Cg EP
|
||||
%%Page: 58 58
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6854,7 +6846,7 @@ F1(cdable_v)144 694.8 Q(ars)-.1 E F0 .156(If set, an ar)184 706.8 R .156
|
||||
(iltin command that is not a directory is assumed to be the).2 F
|
||||
(name of a v)184 718.8 Q(ariable whose v)-.25 E
|
||||
(alue is the directory to change to.)-.25 E(GNU Bash-3.2)72 768 Q
|
||||
(2007 January 12)140.96 E(58)190.95 E 0 Cg EP
|
||||
(2007 May 1)149.845 E(58)199.835 E 0 Cg EP
|
||||
%%Page: 59 59
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -6958,7 +6950,7 @@ E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within)
|
||||
(FIGNORE)3.33 E F0 5.83(.T)C .83(his option)-5.83 F(is enabled by def)
|
||||
184 672 Q(ault.)-.1 E F1(gnu_errfmt)144 684 Q F0(If set, shell error me\
|
||||
ssages are written in the standard GNU error message format.)184 696 Q
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(59)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(59)199.835 E 0 Cg EP
|
||||
%%Page: 60 60
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -7051,7 +7043,7 @@ F1(shift_v)144 696 Q(erbose)-.1 E F0 .502(If set, the)184 708 R F1
|
||||
(shift)3.002 E F0 -.2(bu)3.002 G .501
|
||||
(iltin prints an error message when the shift count e).2 F .501
|
||||
(xceeds the number)-.15 F(of positional parameters.)184 720 Q
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(60)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(60)199.835 E 0 Cg EP
|
||||
%%Page: 61 61
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -7088,11 +7080,13 @@ F1(test)6.39 E F0 1.889(does not accept an)4.389 F 4.389(yo)-.15 G 1.889
|
||||
(ptions, nor)-4.389 F(does it accept and ignore an ar)144 240 Q
|
||||
(gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5
|
||||
E .785(Expressions may be combined using the follo)144 258 R .786
|
||||
(wing operators, listed in decreasing order of prece-)-.25 F(dence.)144
|
||||
270 Q F1(!)144 282 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G(ue if).35
|
||||
E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\()144 294 Q F3
|
||||
-.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 F .26
|
||||
(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0 5.26(.T)C .26
|
||||
(wing operators, listed in decreasing order of prece-)-.25 F 2.5
|
||||
(dence. The)144 270 R -.25(eva)2.5 G
|
||||
(luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65
|
||||
(w.)-.25 G F1(!)144 282 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G
|
||||
(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\()
|
||||
144 294 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77
|
||||
F .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0 5.26(.T)C .26
|
||||
(his may be used to o)-5.26 F -.15(ve)-.15 G .26
|
||||
(rride the normal precedence of opera-).15 F(tors.)180 306 Q F3 -.2(ex)
|
||||
144 318 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35
|
||||
@@ -7122,25 +7116,26 @@ F .37(xpression is true if and only if the second ar)-.15 F .37
|
||||
(gument is one of the binary conditional operators listed abo)-.18 F
|
||||
.323 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.523 E(DITION)180 520.8 Q
|
||||
1.477(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F
|
||||
1.477(xpression is the result of the binary test)-.15 F .398
|
||||
(using the \214rst and third ar)180 532.8 R .398(guments as operands.)
|
||||
-.18 F .398(If the \214rst ar)5.398 F .397(gument is)-.18 F F1(!)2.897 E
|
||||
F0 2.897(,t)C .397(he v)-2.897 F .397(alue is the)-.25 F(ne)180 544.8 Q
|
||||
-.05(ga)-.15 G .262(tion of the tw).05 F(o-ar)-.1 E .262
|
||||
(gument test using the second and third ar)-.18 F 2.762(guments. If)-.18
|
||||
F .263(the \214rst ar)2.762 F(gu-)-.18 E .206(ment is e)180 556.8 R
|
||||
(xactly)-.15 E F1(\()2.706 E F0 .205(and the third ar)2.706 F .205
|
||||
(gument is e)-.18 F(xactly)-.15 E F1(\))2.705 E F0 2.705(,t)C .205
|
||||
(he result is the one-ar)-2.705 F .205(gument test of)-.18 F 1.17
|
||||
(the second ar)180 568.8 R 3.67(gument. Otherwise,)-.18 F 1.171(the e)
|
||||
3.671 F 1.171(xpression is f)-.15 F 3.671(alse. The)-.1 F F1<ad61>3.671
|
||||
E F0(and)3.671 E F1<ad6f>3.671 E F0 1.171(operators are)3.671 F
|
||||
(considered binary operators in this case.)180 580.8 Q 2.5(4a)144 592.8
|
||||
S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 604.8 R .385
|
||||
(gument is)-.18 F F1(!)2.885 E F0 2.885(,t)C .385(he result is the ne)
|
||||
-2.885 F -.05(ga)-.15 G .384(tion of the three-ar).05 F .384(gument e)
|
||||
-.18 F .384(xpression com-)-.15 F 1.647(posed of the remaining ar)180
|
||||
616.8 R 4.147(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648
|
||||
1.477(xpression is the result of the binary test)-.15 F .513
|
||||
(using the \214rst and third ar)180 532.8 R .513(guments as operands.)
|
||||
-.18 F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0
|
||||
.512(operators are considered)3.013 F .972
|
||||
(binary operators when there are three ar)180 544.8 R 3.472(guments. If)
|
||||
-.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0
|
||||
3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .884(the ne)180 556.8
|
||||
R -.05(ga)-.15 G .884(tion of the tw).05 F(o-ar)-.1 E .884
|
||||
(gument test using the second and third ar)-.18 F 3.383(guments. If)-.18
|
||||
F .883(the \214rst)3.383 F(ar)180 568.8 Q .874(gument is e)-.18 F
|
||||
(xactly)-.15 E F1(\()3.374 E F0 .875(and the third ar)3.374 F .875
|
||||
(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.375(,t)C .875
|
||||
(he result is the one-ar)-3.375 F(gument)-.18 E(test of the second ar)
|
||||
180 580.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)
|
||||
-.15 E(alse.)-.1 E 2.5(4a)144 592.8 S -.18(rg)-2.5 G(uments).18 E .385
|
||||
(If the \214rst ar)180 604.8 R .385(gument is)-.18 F F1(!)2.885 E F0
|
||||
2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .384
|
||||
(tion of the three-ar).05 F .384(gument e)-.18 F .384(xpression com-)
|
||||
-.15 F 1.647(posed of the remaining ar)180 616.8 R 4.147
|
||||
(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648
|
||||
(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
|
||||
(according to precedence using the rules listed abo)180 628.8 Q -.15(ve)
|
||||
-.15 G(.).15 E 2.5(5o)144 640.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)
|
||||
@@ -7150,7 +7145,7 @@ S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 604.8 R .385
|
||||
664.8 Q -.15(ve)-.15 G(.).15 E F1(times)108 681.6 Q F0 1.229(Print the \
|
||||
accumulated user and system times for the shell and for processes run f\
|
||||
rom the shell.)13.23 F(The return status is 0.)144 693.6 Q(GNU Bash-3.2)
|
||||
72 768 Q(2007 January 12)140.96 E(61)190.95 E 0 Cg EP
|
||||
72 768 Q(2007 May 1)149.845 E(61)199.835 E 0 Cg EP
|
||||
%%Page: 62 62
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -7306,8 +7301,7 @@ F0(All current limits are reported)25.3 E F1<ad63>144 669.6 Q F0
|
||||
(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 705.6 Q
|
||||
F0(The maximum size of \214les written by the shell and its children)
|
||||
26.97 E F1<ad69>144 717.6 Q F0(The maximum number of pending signals)
|
||||
27.52 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(62)190.95 E 0 Cg
|
||||
EP
|
||||
27.52 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(62)199.835 E 0 Cg EP
|
||||
%%Page: 63 63
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -7422,8 +7416,8 @@ E F1 -.3(BA)2.5 G(SH_ENV).3 E F0 32.5<8373>108 691.2 S
|
||||
(pecifying command names containing)-32.5 E F1(/)2.5 E F0 32.5<8373>108
|
||||
708 S(pecifying a \214le name containing a)-32.5 E F1(/)2.5 E F0
|
||||
(as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 -.2(bu)5 G
|
||||
(iltin command).2 E(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(63)
|
||||
190.95 E 0 Cg EP
|
||||
(iltin command).2 E(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(63)
|
||||
199.835 E 0 Cg EP
|
||||
%%Page: 64 64
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -7502,7 +7496,7 @@ E F0(initialization \214le)2.5 E F3 -.548(AU)72 554.4 S(THORS).548 E F0
|
||||
(be mailed to)108 700.8 Q F4 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
|
||||
(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F1(gnu.bash.b)2.5 E(ug)
|
||||
-.2 E F0(.)A(ALL b)108 717.6 Q(ug reports should include:)-.2 E
|
||||
(GNU Bash-3.2)72 768 Q(2007 January 12)140.96 E(64)190.95 E 0 Cg EP
|
||||
(GNU Bash-3.2)72 768 Q(2007 May 1)149.845 E(64)199.835 E 0 Cg EP
|
||||
%%Page: 65 65
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
@@ -7543,7 +7537,7 @@ place the sequence of commands between parentheses to force it into a)
|
||||
(ni).25 G(nside shell comments, will result in error messages while the\
|
||||
construct is being read.)-2.5 E(Array v)108 367.2 Q
|
||||
(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E(GNU Bash-3.2)72
|
||||
768 Q(2007 January 12)140.96 E(65)190.95 E 0 Cg EP
|
||||
768 Q(2007 May 1)149.845 E(65)199.835 E 0 Cg EP
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
||||
|
||||
Binary file not shown.
+14
-10
@@ -1,6 +1,6 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on January, 16 2007 by texi2html 1.64 -->
|
||||
<!-- Created on May, 11 2007 by texi2html 1.64 -->
|
||||
<!--
|
||||
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
||||
Karl Berry <karl@freefriends.org>
|
||||
@@ -33,10 +33,10 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
|
||||
<H1>Bash Reference Manual</H1></P><P>
|
||||
|
||||
This text is a brief description of the features that are present in
|
||||
the Bash shell (version 3.2, 12 January 2007).
|
||||
the Bash shell (version 3.2, 1 May 2007).
|
||||
</P><P>
|
||||
|
||||
This is Edition 3.2, last updated 12 January 2007,
|
||||
This is Edition 3.2, last updated 1 May 2007,
|
||||
of <CITE>The GNU Bash Reference Manual</CITE>,
|
||||
for <CODE>Bash</CODE>, Version 3.2.
|
||||
</P><P>
|
||||
@@ -1401,7 +1401,8 @@ The semicolon (or newline) following <VAR>list</VAR> is required.
|
||||
In addition to the creation of a subshell, there is a subtle difference
|
||||
between these two constructs due to historical reasons. The braces
|
||||
are <CODE>reserved words</CODE>, so they must be separated from the <VAR>list</VAR>
|
||||
by <CODE>blank</CODE>s. The parentheses are <CODE>operators</CODE>, and are
|
||||
by <CODE>blank</CODE>s or other shell metacharacters.
|
||||
The parentheses are <CODE>operators</CODE>, and are
|
||||
recognized as separate tokens by the shell even if they are not separated
|
||||
from the <VAR>list</VAR> by whitespace.
|
||||
</P><P>
|
||||
@@ -1470,7 +1471,8 @@ Note that for historical reasons, in the most common usage the curly braces
|
||||
that surround the body of the function must be separated from the body by
|
||||
<CODE>blank</CODE>s or newlines.
|
||||
This is because the braces are reserved words and are only recognized
|
||||
as such when they are separated by whitespace.
|
||||
as such when they are separated from the command list
|
||||
by whitespace or another shell metacharacter.
|
||||
Also, when using the braces, the <VAR>list</VAR> must be terminated by a semicolon,
|
||||
a <SAMP>`&'</SAMP>, or a newline.
|
||||
</P><P>
|
||||
@@ -3915,6 +3917,7 @@ be a <CODE>]</CODE>.
|
||||
|
||||
Expressions may be combined using the following operators, listed in
|
||||
decreasing order of precedence.
|
||||
The evaluation depends on the number of arguments; see below.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
@@ -3964,14 +3967,14 @@ false.
|
||||
operators (see section <A HREF="bashref.html#SEC80">6.4 Bash Conditional Expressions</A>), the
|
||||
result of the expression is the result of the binary test using the
|
||||
first and third arguments as operands.
|
||||
The <SAMP>`-a'</SAMP> and <SAMP>`-o'</SAMP> operators are considered binary operators
|
||||
when there are three arguments.
|
||||
If the first argument is <SAMP>`!'</SAMP>, the value is the negation of
|
||||
the two-argument test using the second and third arguments.
|
||||
If the first argument is exactly <SAMP>`('</SAMP> and the third argument is
|
||||
exactly <SAMP>`)'</SAMP>, the result is the one-argument test of the second
|
||||
argument.
|
||||
Otherwise, the expression is false.
|
||||
The <SAMP>`-a'</SAMP> and <SAMP>`-o'</SAMP> operators are considered binary operators
|
||||
in this case.
|
||||
<P>
|
||||
|
||||
<DT>4 arguments
|
||||
@@ -9156,7 +9159,8 @@ attempts word completion. The default is <SAMP>`off'</SAMP>.
|
||||
|
||||
<DT><CODE>history-preserve-point</CODE>
|
||||
<DD><A NAME="IDX304"></A>
|
||||
If set to <SAMP>`on'</SAMP>, the history code attempts to place point at the
|
||||
If set to <SAMP>`on'</SAMP>, the history code attempts to place the point (the
|
||||
current cursor position) at the
|
||||
same location on each history line retrieved with <CODE>previous-history</CODE>
|
||||
or <CODE>next-history</CODE>. The default is <SAMP>`off'</SAMP>.
|
||||
<P>
|
||||
@@ -15287,7 +15291,7 @@ to permit their use in free software.
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1>About this document</H1>
|
||||
This document was generated by <I>Chet Ramey</I> on <I>January, 16 2007</I>
|
||||
This document was generated by <I>Chet Ramey</I> on <I>May, 11 2007</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
<P></P>
|
||||
@@ -15449,7 +15453,7 @@ the following structure:
|
||||
<BR>
|
||||
<FONT SIZE="-1">
|
||||
This document was generated
|
||||
by <I>Chet Ramey</I> on <I>January, 16 2007</I>
|
||||
by <I>Chet Ramey</I> on <I>May, 11 2007</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
|
||||
+168
-164
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 4.8 from
|
||||
/Users/chet/src/bash/src/doc/bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in
|
||||
the Bash shell (version 3.2, 12 January 2007).
|
||||
the Bash shell (version 3.2, 1 May 2007).
|
||||
|
||||
This is Edition 3.2, last updated 12 January 2007, of `The GNU Bash
|
||||
This is Edition 3.2, last updated 1 May 2007, of `The GNU Bash
|
||||
Reference Manual', for `Bash', Version 3.2.
|
||||
|
||||
Copyright (C) 1988-2005 Free Software Foundation, Inc.
|
||||
@@ -37,9 +37,9 @@ Bash Features
|
||||
*************
|
||||
|
||||
This text is a brief description of the features that are present in
|
||||
the Bash shell (version 3.2, 12 January 2007).
|
||||
the Bash shell (version 3.2, 1 May 2007).
|
||||
|
||||
This is Edition 3.2, last updated 12 January 2007, of `The GNU Bash
|
||||
This is Edition 3.2, last updated 1 May 2007, of `The GNU Bash
|
||||
Reference Manual', for `Bash', Version 3.2.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -907,9 +907,9 @@ the list may be redirected to a single stream.
|
||||
In addition to the creation of a subshell, there is a subtle
|
||||
difference between these two constructs due to historical reasons. The
|
||||
braces are `reserved words', so they must be separated from the LIST by
|
||||
`blank's. The parentheses are `operators', and are recognized as
|
||||
separate tokens by the shell even if they are not separated from the
|
||||
LIST by whitespace.
|
||||
`blank's or other shell metacharacters. The parentheses are
|
||||
`operators', and are recognized as separate tokens by the shell even if
|
||||
they are not separated from the LIST by whitespace.
|
||||
|
||||
The exit status of both of these constructs is the exit status of
|
||||
LIST.
|
||||
@@ -952,8 +952,9 @@ last command executed in the body.
|
||||
braces that surround the body of the function must be separated from
|
||||
the body by `blank's or newlines. This is because the braces are
|
||||
reserved words and are only recognized as such when they are separated
|
||||
by whitespace. Also, when using the braces, the LIST must be
|
||||
terminated by a semicolon, a `&', or a newline.
|
||||
from the command list by whitespace or another shell metacharacter.
|
||||
Also, when using the braces, the LIST must be terminated by a semicolon,
|
||||
a `&', or a newline.
|
||||
|
||||
When a function is executed, the arguments to the function become
|
||||
the positional parameters during its execution (*note Positional
|
||||
@@ -2497,7 +2498,8 @@ standard.
|
||||
be a `]'.
|
||||
|
||||
Expressions may be combined using the following operators, listed
|
||||
in decreasing order of precedence.
|
||||
in decreasing order of precedence. The evaluation depends on the
|
||||
number of arguments; see below.
|
||||
|
||||
`! EXPR'
|
||||
True if EXPR is false.
|
||||
@@ -2534,13 +2536,14 @@ standard.
|
||||
If the second argument is one of the binary conditional
|
||||
operators (*note Bash Conditional Expressions::), the result
|
||||
of the expression is the result of the binary test using the
|
||||
first and third arguments as operands. If the first argument
|
||||
is `!', the value is the negation of the two-argument test
|
||||
using the second and third arguments. If the first argument
|
||||
is exactly `(' and the third argument is exactly `)', the
|
||||
result is the one-argument test of the second argument.
|
||||
Otherwise, the expression is false. The `-a' and `-o'
|
||||
operators are considered binary operators in this case.
|
||||
first and third arguments as operands. The `-a' and `-o'
|
||||
operators are considered binary operators when there are
|
||||
three arguments. If the first argument is `!', the value is
|
||||
the negation of the two-argument test using the second and
|
||||
third arguments. If the first argument is exactly `(' and
|
||||
the third argument is exactly `)', the result is the
|
||||
one-argument test of the second argument. Otherwise, the
|
||||
expression is false.
|
||||
|
||||
4 arguments
|
||||
If the first argument is `!', the result is the negation of
|
||||
@@ -6108,9 +6111,10 @@ Variable Settings
|
||||
attempts word completion. The default is `off'.
|
||||
|
||||
`history-preserve-point'
|
||||
If set to `on', the history code attempts to place point at
|
||||
the same location on each history line retrieved with
|
||||
`previous-history' or `next-history'. The default is `off'.
|
||||
If set to `on', the history code attempts to place the point
|
||||
(the current cursor position) at the same location on each
|
||||
history line retrieved with `previous-history' or
|
||||
`next-history'. The default is `off'.
|
||||
|
||||
`horizontal-scroll-mode'
|
||||
This variable can be set to either `on' or `off'. Setting it
|
||||
@@ -9129,17 +9133,17 @@ D.1 Index of Shell Builtin Commands
|
||||
* test: Bourne Shell Builtins.
|
||||
(line 212)
|
||||
* times: Bourne Shell Builtins.
|
||||
(line 278)
|
||||
(line 280)
|
||||
* trap: Bourne Shell Builtins.
|
||||
(line 283)
|
||||
(line 285)
|
||||
* type: Bash Builtins. (line 393)
|
||||
* typeset: Bash Builtins. (line 424)
|
||||
* ulimit: Bash Builtins. (line 430)
|
||||
* umask: Bourne Shell Builtins.
|
||||
(line 324)
|
||||
(line 326)
|
||||
* unalias: Bash Builtins. (line 508)
|
||||
* unset: Bourne Shell Builtins.
|
||||
(line 341)
|
||||
(line 343)
|
||||
* wait: Job Control Builtins.
|
||||
(line 73)
|
||||
|
||||
@@ -9268,7 +9272,7 @@ D.3 Parameter and Variable Index
|
||||
* HOME: Bourne Shell Variables.
|
||||
(line 13)
|
||||
* horizontal-scroll-mode: Readline Init File Syntax.
|
||||
(line 101)
|
||||
(line 102)
|
||||
* HOSTFILE: Bash Variables. (line 292)
|
||||
* HOSTNAME: Bash Variables. (line 303)
|
||||
* HOSTTYPE: Bash Variables. (line 306)
|
||||
@@ -9276,12 +9280,12 @@ D.3 Parameter and Variable Index
|
||||
(line 18)
|
||||
* IGNOREEOF: Bash Variables. (line 309)
|
||||
* input-meta: Readline Init File Syntax.
|
||||
(line 108)
|
||||
(line 109)
|
||||
* INPUTRC: Bash Variables. (line 319)
|
||||
* isearch-terminators: Readline Init File Syntax.
|
||||
(line 115)
|
||||
(line 116)
|
||||
* keymap: Readline Init File Syntax.
|
||||
(line 122)
|
||||
(line 123)
|
||||
* LANG: Bash Variables. (line 323)
|
||||
* LC_ALL: Bash Variables. (line 327)
|
||||
* LC_COLLATE: Bash Variables. (line 331)
|
||||
@@ -9298,13 +9302,13 @@ D.3 Parameter and Variable Index
|
||||
* MAILPATH: Bourne Shell Variables.
|
||||
(line 27)
|
||||
* mark-modified-lines: Readline Init File Syntax.
|
||||
(line 135)
|
||||
(line 136)
|
||||
* mark-symlinked-directories: Readline Init File Syntax.
|
||||
(line 140)
|
||||
(line 141)
|
||||
* match-hidden-files: Readline Init File Syntax.
|
||||
(line 145)
|
||||
(line 146)
|
||||
* meta-flag: Readline Init File Syntax.
|
||||
(line 108)
|
||||
(line 109)
|
||||
* OLDPWD: Bash Variables. (line 372)
|
||||
* OPTARG: Bourne Shell Variables.
|
||||
(line 34)
|
||||
@@ -9313,9 +9317,9 @@ D.3 Parameter and Variable Index
|
||||
(line 38)
|
||||
* OSTYPE: Bash Variables. (line 379)
|
||||
* output-meta: Readline Init File Syntax.
|
||||
(line 152)
|
||||
(line 153)
|
||||
* page-completions: Readline Init File Syntax.
|
||||
(line 157)
|
||||
(line 158)
|
||||
* PATH: Bourne Shell Variables.
|
||||
(line 42)
|
||||
* PIPESTATUS: Bash Variables. (line 382)
|
||||
@@ -9336,9 +9340,9 @@ D.3 Parameter and Variable Index
|
||||
* SHELLOPTS: Bash Variables. (line 437)
|
||||
* SHLVL: Bash Variables. (line 446)
|
||||
* show-all-if-ambiguous: Readline Init File Syntax.
|
||||
(line 167)
|
||||
(line 168)
|
||||
* show-all-if-unmodified: Readline Init File Syntax.
|
||||
(line 173)
|
||||
(line 174)
|
||||
* TEXTDOMAIN: Locale Translation. (line 11)
|
||||
* TEXTDOMAINDIR: Locale Translation. (line 11)
|
||||
* TIMEFORMAT: Bash Variables. (line 451)
|
||||
@@ -9346,7 +9350,7 @@ D.3 Parameter and Variable Index
|
||||
* TMPDIR: Bash Variables. (line 501)
|
||||
* UID: Bash Variables. (line 505)
|
||||
* visible-stats: Readline Init File Syntax.
|
||||
(line 182)
|
||||
(line 183)
|
||||
|
||||
|
||||
File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
|
||||
@@ -9612,132 +9616,132 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top1355
|
||||
Node: Introduction3163
|
||||
Node: What is Bash?3391
|
||||
Node: What is a shell?4504
|
||||
Node: Definitions7044
|
||||
Node: Basic Shell Features9812
|
||||
Node: Shell Syntax11031
|
||||
Node: Shell Operation12061
|
||||
Node: Quoting13355
|
||||
Node: Escape Character14658
|
||||
Node: Single Quotes15143
|
||||
Node: Double Quotes15491
|
||||
Node: ANSI-C Quoting16616
|
||||
Node: Locale Translation17572
|
||||
Node: Comments18468
|
||||
Node: Shell Commands19086
|
||||
Node: Simple Commands19852
|
||||
Node: Pipelines20483
|
||||
Node: Lists22358
|
||||
Node: Compound Commands23989
|
||||
Node: Looping Constructs24773
|
||||
Node: Conditional Constructs27220
|
||||
Node: Command Grouping34692
|
||||
Node: Shell Functions36141
|
||||
Node: Shell Parameters40550
|
||||
Node: Positional Parameters42880
|
||||
Node: Special Parameters43780
|
||||
Node: Shell Expansions46744
|
||||
Node: Brace Expansion48669
|
||||
Node: Tilde Expansion50995
|
||||
Node: Shell Parameter Expansion53346
|
||||
Node: Command Substitution61046
|
||||
Node: Arithmetic Expansion62379
|
||||
Node: Process Substitution63229
|
||||
Node: Word Splitting64279
|
||||
Node: Filename Expansion65902
|
||||
Node: Pattern Matching68042
|
||||
Node: Quote Removal71360
|
||||
Node: Redirections71655
|
||||
Node: Executing Commands79385
|
||||
Node: Simple Command Expansion80055
|
||||
Node: Command Search and Execution81985
|
||||
Node: Command Execution Environment83991
|
||||
Node: Environment86790
|
||||
Node: Exit Status88450
|
||||
Node: Signals89654
|
||||
Node: Shell Scripts91622
|
||||
Node: Shell Builtin Commands94140
|
||||
Node: Bourne Shell Builtins95817
|
||||
Node: Bash Builtins112928
|
||||
Node: Modifying Shell Behavior132916
|
||||
Node: The Set Builtin133261
|
||||
Node: The Shopt Builtin141883
|
||||
Node: Special Builtins152113
|
||||
Node: Shell Variables153092
|
||||
Node: Bourne Shell Variables153532
|
||||
Node: Bash Variables155513
|
||||
Node: Bash Features176808
|
||||
Node: Invoking Bash177691
|
||||
Node: Bash Startup Files183500
|
||||
Node: Interactive Shells188359
|
||||
Node: What is an Interactive Shell?188769
|
||||
Node: Is this Shell Interactive?189418
|
||||
Node: Interactive Shell Behavior190233
|
||||
Node: Bash Conditional Expressions193513
|
||||
Node: Shell Arithmetic197092
|
||||
Node: Aliases199838
|
||||
Node: Arrays202410
|
||||
Node: The Directory Stack205759
|
||||
Node: Directory Stack Builtins206473
|
||||
Node: Printing a Prompt209365
|
||||
Node: The Restricted Shell212079
|
||||
Node: Bash POSIX Mode213911
|
||||
Node: Job Control221670
|
||||
Node: Job Control Basics222137
|
||||
Node: Job Control Builtins226646
|
||||
Node: Job Control Variables230973
|
||||
Node: Command Line Editing232131
|
||||
Node: Introduction and Notation233130
|
||||
Node: Readline Interaction234752
|
||||
Node: Readline Bare Essentials235943
|
||||
Node: Readline Movement Commands237732
|
||||
Node: Readline Killing Commands238697
|
||||
Node: Readline Arguments240617
|
||||
Node: Searching241661
|
||||
Node: Readline Init File243847
|
||||
Node: Readline Init File Syntax244994
|
||||
Node: Conditional Init Constructs257325
|
||||
Node: Sample Init File259858
|
||||
Node: Bindable Readline Commands262975
|
||||
Node: Commands For Moving264182
|
||||
Node: Commands For History265043
|
||||
Node: Commands For Text268198
|
||||
Node: Commands For Killing270871
|
||||
Node: Numeric Arguments273013
|
||||
Node: Commands For Completion274152
|
||||
Node: Keyboard Macros277745
|
||||
Node: Miscellaneous Commands278316
|
||||
Node: Readline vi Mode283627
|
||||
Node: Programmable Completion284541
|
||||
Node: Programmable Completion Builtins290359
|
||||
Node: Using History Interactively297955
|
||||
Node: Bash History Facilities298635
|
||||
Node: Bash History Builtins301549
|
||||
Node: History Interaction305406
|
||||
Node: Event Designators308111
|
||||
Node: Word Designators309126
|
||||
Node: Modifiers310765
|
||||
Node: Installing Bash312169
|
||||
Node: Basic Installation313299
|
||||
Node: Compilers and Options315991
|
||||
Node: Compiling For Multiple Architectures316732
|
||||
Node: Installation Names318396
|
||||
Node: Specifying the System Type319214
|
||||
Node: Sharing Defaults319930
|
||||
Node: Operation Controls320603
|
||||
Node: Optional Features321561
|
||||
Node: Reporting Bugs330492
|
||||
Node: Major Differences From The Bourne Shell331686
|
||||
Node: Copying This Manual348355
|
||||
Node: GNU Free Documentation License348625
|
||||
Node: Indexes371031
|
||||
Node: Builtin Index371474
|
||||
Node: Reserved Word Index378007
|
||||
Node: Variable Index380455
|
||||
Node: Function Index391619
|
||||
Node: Concept Index398351
|
||||
Node: Top1345
|
||||
Node: Introduction3143
|
||||
Node: What is Bash?3371
|
||||
Node: What is a shell?4484
|
||||
Node: Definitions7024
|
||||
Node: Basic Shell Features9792
|
||||
Node: Shell Syntax11011
|
||||
Node: Shell Operation12041
|
||||
Node: Quoting13335
|
||||
Node: Escape Character14638
|
||||
Node: Single Quotes15123
|
||||
Node: Double Quotes15471
|
||||
Node: ANSI-C Quoting16596
|
||||
Node: Locale Translation17552
|
||||
Node: Comments18448
|
||||
Node: Shell Commands19066
|
||||
Node: Simple Commands19832
|
||||
Node: Pipelines20463
|
||||
Node: Lists22338
|
||||
Node: Compound Commands23969
|
||||
Node: Looping Constructs24753
|
||||
Node: Conditional Constructs27200
|
||||
Node: Command Grouping34672
|
||||
Node: Shell Functions36151
|
||||
Node: Shell Parameters40612
|
||||
Node: Positional Parameters42942
|
||||
Node: Special Parameters43842
|
||||
Node: Shell Expansions46806
|
||||
Node: Brace Expansion48731
|
||||
Node: Tilde Expansion51057
|
||||
Node: Shell Parameter Expansion53408
|
||||
Node: Command Substitution61108
|
||||
Node: Arithmetic Expansion62441
|
||||
Node: Process Substitution63291
|
||||
Node: Word Splitting64341
|
||||
Node: Filename Expansion65964
|
||||
Node: Pattern Matching68104
|
||||
Node: Quote Removal71422
|
||||
Node: Redirections71717
|
||||
Node: Executing Commands79447
|
||||
Node: Simple Command Expansion80117
|
||||
Node: Command Search and Execution82047
|
||||
Node: Command Execution Environment84053
|
||||
Node: Environment86852
|
||||
Node: Exit Status88512
|
||||
Node: Signals89716
|
||||
Node: Shell Scripts91684
|
||||
Node: Shell Builtin Commands94202
|
||||
Node: Bourne Shell Builtins95879
|
||||
Node: Bash Builtins113087
|
||||
Node: Modifying Shell Behavior133075
|
||||
Node: The Set Builtin133420
|
||||
Node: The Shopt Builtin142042
|
||||
Node: Special Builtins152272
|
||||
Node: Shell Variables153251
|
||||
Node: Bourne Shell Variables153691
|
||||
Node: Bash Variables155672
|
||||
Node: Bash Features176967
|
||||
Node: Invoking Bash177850
|
||||
Node: Bash Startup Files183659
|
||||
Node: Interactive Shells188518
|
||||
Node: What is an Interactive Shell?188928
|
||||
Node: Is this Shell Interactive?189577
|
||||
Node: Interactive Shell Behavior190392
|
||||
Node: Bash Conditional Expressions193672
|
||||
Node: Shell Arithmetic197251
|
||||
Node: Aliases199997
|
||||
Node: Arrays202569
|
||||
Node: The Directory Stack205918
|
||||
Node: Directory Stack Builtins206632
|
||||
Node: Printing a Prompt209524
|
||||
Node: The Restricted Shell212238
|
||||
Node: Bash POSIX Mode214070
|
||||
Node: Job Control221829
|
||||
Node: Job Control Basics222296
|
||||
Node: Job Control Builtins226805
|
||||
Node: Job Control Variables231132
|
||||
Node: Command Line Editing232290
|
||||
Node: Introduction and Notation233289
|
||||
Node: Readline Interaction234911
|
||||
Node: Readline Bare Essentials236102
|
||||
Node: Readline Movement Commands237891
|
||||
Node: Readline Killing Commands238856
|
||||
Node: Readline Arguments240776
|
||||
Node: Searching241820
|
||||
Node: Readline Init File244006
|
||||
Node: Readline Init File Syntax245153
|
||||
Node: Conditional Init Constructs257528
|
||||
Node: Sample Init File260061
|
||||
Node: Bindable Readline Commands263178
|
||||
Node: Commands For Moving264385
|
||||
Node: Commands For History265246
|
||||
Node: Commands For Text268401
|
||||
Node: Commands For Killing271074
|
||||
Node: Numeric Arguments273216
|
||||
Node: Commands For Completion274355
|
||||
Node: Keyboard Macros277948
|
||||
Node: Miscellaneous Commands278519
|
||||
Node: Readline vi Mode283830
|
||||
Node: Programmable Completion284744
|
||||
Node: Programmable Completion Builtins290562
|
||||
Node: Using History Interactively298158
|
||||
Node: Bash History Facilities298838
|
||||
Node: Bash History Builtins301752
|
||||
Node: History Interaction305609
|
||||
Node: Event Designators308314
|
||||
Node: Word Designators309329
|
||||
Node: Modifiers310968
|
||||
Node: Installing Bash312372
|
||||
Node: Basic Installation313502
|
||||
Node: Compilers and Options316194
|
||||
Node: Compiling For Multiple Architectures316935
|
||||
Node: Installation Names318599
|
||||
Node: Specifying the System Type319417
|
||||
Node: Sharing Defaults320133
|
||||
Node: Operation Controls320806
|
||||
Node: Optional Features321764
|
||||
Node: Reporting Bugs330695
|
||||
Node: Major Differences From The Bourne Shell331889
|
||||
Node: Copying This Manual348558
|
||||
Node: GNU Free Documentation License348828
|
||||
Node: Indexes371234
|
||||
Node: Builtin Index371677
|
||||
Node: Reserved Word Index378210
|
||||
Node: Variable Index380658
|
||||
Node: Function Index391822
|
||||
Node: Concept Index398554
|
||||
|
||||
End Tag Table
|
||||
|
||||
+16
-16
@@ -1,4 +1,4 @@
|
||||
This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2006.11.28) 16 JAN 2007 11:15
|
||||
This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2006.11.28) 11 MAY 2007 16:18
|
||||
**/Users/chet/src/bash/src/doc/bashref.texi
|
||||
(/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
|
||||
Loading texinfo [version 2003-02-03.16]: Basics,
|
||||
@@ -173,7 +173,7 @@ textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][]
|
||||
[11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25]
|
||||
[26] [27] [28] [29] [30] [31] [32] Chapter 4 [33] [34] [35] [36] [37] [38]
|
||||
[39] [40] [41]
|
||||
Underfull \hbox (badness 5231) in paragraph at lines 3121--3134
|
||||
Underfull \hbox (badness 5231) in paragraph at lines 3124--3137
|
||||
@texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
|
||||
m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
|
||||
|
||||
@@ -186,7 +186,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
|
||||
.etc.
|
||||
|
||||
[42] [43] [44] [45]
|
||||
Overfull \hbox (43.33536pt too wide) in paragraph at lines 3464--3464
|
||||
Overfull \hbox (43.33536pt too wide) in paragraph at lines 3467--3467
|
||||
[]@texttt read [-ers] [-a @textttsl aname@texttt ] [-d @textttsl de-lim@texttt
|
||||
] [-n @textttsl nchars@texttt ] [-p @textttsl prompt@texttt ] [-t @textttsl ti
|
||||
me-
|
||||
@@ -200,7 +200,7 @@ me-
|
||||
.etc.
|
||||
|
||||
[46] [47] [48] [49] [50] [51] [52] [53]
|
||||
Underfull \hbox (badness 2573) in paragraph at lines 4086--4090
|
||||
Underfull \hbox (badness 2573) in paragraph at lines 4089--4093
|
||||
[] []@textrm Error trac-ing is en-abled: com-mand sub-sti-tu-tion, shell
|
||||
|
||||
@hbox(7.60416+2.12917)x433.62, glue set 2.95305
|
||||
@@ -217,7 +217,7 @@ Underfull \hbox (badness 2573) in paragraph at lines 4086--4090
|
||||
|
||||
[54] [55] [56] Chapter 5 [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
|
||||
Chapter 6 [67] [68]
|
||||
Overfull \hbox (51.96864pt too wide) in paragraph at lines 4902--4902
|
||||
Overfull \hbox (51.96864pt too wide) in paragraph at lines 4905--4905
|
||||
[]@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
|
||||
exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
|
||||
|
||||
@@ -230,7 +230,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
|
||||
.etc.
|
||||
|
||||
|
||||
Overfull \hbox (76.23077pt too wide) in paragraph at lines 4903--4903
|
||||
Overfull \hbox (76.23077pt too wide) in paragraph at lines 4906--4906
|
||||
[]@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt
|
||||
] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
|
||||
-
|
||||
@@ -244,7 +244,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 4903--4903
|
||||
.etc.
|
||||
|
||||
|
||||
Overfull \hbox (34.72258pt too wide) in paragraph at lines 4904--4904
|
||||
Overfull \hbox (34.72258pt too wide) in paragraph at lines 4907--4907
|
||||
[]@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
|
||||
tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
|
||||
|
||||
@@ -257,7 +257,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
|
||||
.etc.
|
||||
|
||||
[69] [70]
|
||||
Underfull \hbox (badness 2245) in paragraph at lines 5078--5080
|
||||
Underfull \hbox (badness 2245) in paragraph at lines 5081--5083
|
||||
[]@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from
|
||||
the file
|
||||
|
||||
@@ -270,7 +270,7 @@ the file
|
||||
.etc.
|
||||
|
||||
[71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84]
|
||||
Underfull \hbox (badness 2521) in paragraph at lines 6192--6195
|
||||
Underfull \hbox (badness 2521) in paragraph at lines 6195--6198
|
||||
@textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
|
||||
e[] @textrm when build-ing (see Sec-tion 10.8
|
||||
|
||||
@@ -285,7 +285,7 @@ e[] @textrm when build-ing (see Sec-tion 10.8
|
||||
Chapter 7 [85] [86] [87] [88] [89]
|
||||
(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [90] [91]
|
||||
[92] [93] [94] [95]
|
||||
Underfull \hbox (badness 5231) in paragraph at lines 502--518
|
||||
Underfull \hbox (badness 5231) in paragraph at lines 503--519
|
||||
@texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
|
||||
m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
|
||||
|
||||
@@ -298,7 +298,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
|
||||
.etc.
|
||||
|
||||
[96] [97] [98] [99] [100]
|
||||
Overfull \hbox (26.43913pt too wide) in paragraph at lines 817--817
|
||||
Overfull \hbox (26.43913pt too wide) in paragraph at lines 818--818
|
||||
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
|
||||
gnored[]
|
||||
|
||||
@@ -311,7 +311,7 @@ gnored[]
|
||||
.etc.
|
||||
|
||||
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112]
|
||||
Overfull \hbox (17.80585pt too wide) in paragraph at lines 1666--1666
|
||||
Overfull \hbox (17.80585pt too wide) in paragraph at lines 1667--1667
|
||||
[]@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-A @tex
|
||||
tttsl ac-tion@texttt ] [-G @textttsl glob-
|
||||
|
||||
@@ -324,7 +324,7 @@ tttsl ac-tion@texttt ] [-G @textttsl glob-
|
||||
.etc.
|
||||
|
||||
[113] [114]
|
||||
Underfull \hbox (badness 2753) in paragraph at lines 1768--1771
|
||||
Underfull \hbox (badness 2753) in paragraph at lines 1769--1772
|
||||
@texttt hostname[]@textrm Hostnames, as taken from the file spec-i-fied by
|
||||
|
||||
@hbox(7.60416+2.12917)x433.62, glue set 3.02202
|
||||
@@ -337,7 +337,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1768--1771
|
||||
|
||||
[115]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
|
||||
[116] [117] [118] [119] [120]) Chapter 10 [121] [122] [123] [124] [125]
|
||||
Underfull \hbox (badness 2772) in paragraph at lines 6788--6792
|
||||
Underfull \hbox (badness 2772) in paragraph at lines 6791--6795
|
||||
[]@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
|
||||
s/large_
|
||||
|
||||
@@ -374,10 +374,10 @@ Overfull \vbox (45.46959pt too high) has occurred while \output is active
|
||||
Here is how much of TeX's memory you used:
|
||||
1735 strings out of 97980
|
||||
23708 string characters out of 1221004
|
||||
55365 words of memory out of 1000000
|
||||
55355 words of memory out of 1000000
|
||||
2586 multiletter control sequences out of 10000+50000
|
||||
31953 words of font info for 111 fonts, out of 500000 for 2000
|
||||
19 hyphenation exceptions out of 1000
|
||||
15i,8n,11p,269b,474s stack positions out of 1500i,500n,5000p,200000b,5000s
|
||||
|
||||
Output written on bashref.dvi (160 pages, 611796 bytes).
|
||||
Output written on bashref.dvi (160 pages, 612084 bytes).
|
||||
|
||||
+332
-327
@@ -11,7 +11,7 @@
|
||||
%DVIPSWebPage: (www.radicaleye.com)
|
||||
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
|
||||
%DVIPSParameters: dpi=600
|
||||
%DVIPSSource: TeX output 2007.01.16:1115
|
||||
%DVIPSSource: TeX output 2007.05.11:1618
|
||||
%%BeginProcSet: tex.pro 0 0
|
||||
%!
|
||||
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
|
||||
@@ -4560,7 +4560,7 @@ letter
|
||||
TeXDict begin 1 0 bop 150 1318 a Fu(Bash)64 b(Reference)j(Man)-5
|
||||
b(ual)p 150 1385 3600 34 v 2361 1481 a Ft(Reference)31
|
||||
b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(3.2,)g(for)f
|
||||
Fs(Bash)g Ft(V)-8 b(ersion)31 b(3.2.)3218 1697 y(Jan)m(uary)f(2007)150
|
||||
Fs(Bash)g Ft(V)-8 b(ersion)31 b(3.2.)3364 1697 y(Ma)m(y)g(2007)150
|
||||
4935 y Fr(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
|
||||
b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
|
||||
b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
|
||||
@@ -4568,21 +4568,21 @@ b(oundation)p 150 5141 3600 17 v eop end
|
||||
%%Page: 2 2
|
||||
TeXDict begin 2 1 bop 150 2889 a Ft(This)35 b(text)h(is)g(a)g(brief)f
|
||||
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
|
||||
(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(3.2,)c(12)f(Jan)m(uary)f
|
||||
(2007\).)150 3133 y(This)j(is)g(Edition)g(3.2,)j(last)e(up)s(dated)e
|
||||
(12)i(Jan)m(uary)f(2007,)j(of)e Fq(The)e(GNU)i(Bash)g(Reference)g(Man)m
|
||||
(ual)p Ft(,)150 3243 y(for)c Fs(Bash)p Ft(,)g(V)-8 b(ersion)31
|
||||
b(3.2.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 3377
|
||||
y Fp(\015)f Ft(1988-2005)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
|
||||
b(oundation,)32 b(Inc.)150 3512 y(P)m(ermission)g(is)h(gran)m(ted)g(to)
|
||||
f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m
|
||||
(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f
|
||||
(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g
|
||||
(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
|
||||
b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
|
||||
(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
|
||||
b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
|
||||
b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
|
||||
(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(3.2,)c(1)e(Ma)m(y)i
|
||||
(2007\).)150 3133 y(This)38 b(is)g(Edition)h(3.2,)j(last)d(up)s(dated)e
|
||||
(1)i(Ma)m(y)h(2007,)j(of)38 b Fq(The)g(GNU)h(Bash)g(Reference)g(Man)m
|
||||
(ual)p Ft(,)j(for)150 3243 y Fs(Bash)p Ft(,)29 b(V)-8
|
||||
b(ersion)31 b(3.2.)150 3377 y(Cop)m(yrigh)m(t)602 3374
|
||||
y(c)577 3377 y Fp(\015)f Ft(1988-2005)k(F)-8 b(ree)32
|
||||
b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)150 3512
|
||||
y(P)m(ermission)g(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
|
||||
(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
|
||||
3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
|
||||
(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
|
||||
h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
|
||||
(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
|
||||
(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
|
||||
b(ersion)39 b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
|
||||
b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
|
||||
b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
|
||||
b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
|
||||
@@ -5770,60 +5770,61 @@ y(the)34 b(p)s(ortion)f(of)h(the)f(string)h(matc)m(hing)g(the)g(en)m
|
||||
408 y(of)39 b Fs(BASH_REMATCH)c Ft(with)j(index)g Fq(n)f
|
||||
Ft(is)i(the)f(p)s(ortion)g(of)h(the)f(string)h(matc)m(hing)g(the)g
|
||||
Fq(n)p Ft(th)630 518 y(paren)m(thesized)31 b(sub)s(expression.)630
|
||||
662 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h
|
||||
659 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h
|
||||
(follo)m(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630
|
||||
772 y(order)30 b(of)g(precedence:)630 950 y Fs(\()g Fj(expression)38
|
||||
b Fs(\))1110 1060 y Ft(Returns)30 b(the)h(v)-5 b(alue)31
|
||||
768 y(order)30 b(of)g(precedence:)630 940 y Fs(\()g Fj(expression)38
|
||||
b Fs(\))1110 1049 y Ft(Returns)30 b(the)h(v)-5 b(alue)31
|
||||
b(of)g Fq(expression)p Ft(.)42 b(This)30 b(ma)m(y)i(b)s(e)e(used)g(to)i
|
||||
(o)m(v)m(erride)g(the)1110 1170 y(normal)e(precedence)h(of)g(op)s
|
||||
(erators.)630 1348 y Fs(!)f Fj(expression)1110 1458 y
|
||||
(o)m(v)m(erride)g(the)1110 1159 y(normal)e(precedence)h(of)g(op)s
|
||||
(erators.)630 1331 y Fs(!)f Fj(expression)1110 1440 y
|
||||
Ft(T)-8 b(rue)30 b(if)g Fq(expression)g Ft(is)h(false.)630
|
||||
1637 y Fj(expression1)38 b Fs(&&)30 b Fj(expression2)1110
|
||||
1746 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g Fq(expression1)38
|
||||
1612 y Fj(expression1)38 b Fs(&&)30 b Fj(expression2)1110
|
||||
1721 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g Fq(expression1)38
|
||||
b Ft(and)29 b Fq(expression2)38 b Ft(are)31 b(true.)630
|
||||
1925 y Fj(expression1)38 b Fs(||)30 b Fj(expression2)1110
|
||||
2034 y Ft(T)-8 b(rue)30 b(if)g(either)h Fq(expression1)38
|
||||
1893 y Fj(expression1)38 b Fs(||)30 b Fj(expression2)1110
|
||||
2003 y Ft(T)-8 b(rue)30 b(if)g(either)h Fq(expression1)38
|
||||
b Ft(or)30 b Fq(expression2)38 b Ft(is)30 b(true.)630
|
||||
2213 y(The)25 b Fs(&&)g Ft(and)g Fs(||)f Ft(op)s(erators)i(do)f(not)h
|
||||
2174 y(The)25 b Fs(&&)g Ft(and)g Fs(||)f Ft(op)s(erators)i(do)f(not)h
|
||||
(ev)-5 b(aluate)27 b Fq(expression2)33 b Ft(if)26 b(the)f(v)-5
|
||||
b(alue)26 b(of)g Fq(expression1)630 2323 y Ft(is)k(su\016cien)m(t)h(to)
|
||||
b(alue)26 b(of)g Fq(expression1)630 2284 y Ft(is)k(su\016cien)m(t)h(to)
|
||||
g(determine)g(the)f(return)g(v)-5 b(alue)31 b(of)f(the)h(en)m(tire)g
|
||||
(conditional)h(expression.)150 2585 y Fk(3.2.4.3)63 b(Grouping)43
|
||||
b(Commands)275 2849 y Ft(Bash)22 b(pro)m(vides)g(t)m(w)m(o)h(w)m(a)m
|
||||
(conditional)h(expression.)150 2532 y Fk(3.2.4.3)63 b(Grouping)43
|
||||
b(Commands)275 2789 y Ft(Bash)22 b(pro)m(vides)g(t)m(w)m(o)h(w)m(a)m
|
||||
(ys)g(to)g(group)f(a)g(list)h(of)f(commands)g(to)g(b)s(e)g(executed)h
|
||||
(as)f(a)h(unit.)37 b(When)22 b(com-)150 2958 y(mands)30
|
||||
(as)f(a)h(unit.)37 b(When)22 b(com-)150 2898 y(mands)30
|
||||
b(are)i(group)s(ed,)f(redirections)h(ma)m(y)g(b)s(e)e(applied)i(to)g
|
||||
(the)f(en)m(tire)h(command)g(list.)44 b(F)-8 b(or)32
|
||||
b(example,)150 3068 y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g
|
||||
b(example,)150 3008 y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g
|
||||
(the)h(list)g(ma)m(y)g(b)s(e)e(redirected)i(to)g(a)g(single)g(stream.)
|
||||
150 3256 y Fs(\(\))870 3400 y(\()47 b Fj(list)58 b Fs(\))630
|
||||
3545 y Ft(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i
|
||||
150 3186 y Fs(\(\))870 3326 y(\()47 b Fj(list)58 b Fs(\))630
|
||||
3467 y Ft(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i
|
||||
(paren)m(theses)e(causes)i(a)f(subshell)e(en)m(vironmen)m(t)630
|
||||
3654 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)h([Command)d
|
||||
(Execution)i(En)m(vironmen)m(t],)g(page)f(30\),)630 3764
|
||||
3576 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)h([Command)d
|
||||
(Execution)i(En)m(vironmen)m(t],)g(page)f(30\),)630 3686
|
||||
y(and)d(eac)m(h)i(of)e(the)h(commands)f(in)g Fq(list)j
|
||||
Ft(to)f(b)s(e)e(executed)h(in)f(that)h(subshell.)39 b(Since)28
|
||||
b(the)f Fq(list)630 3873 y Ft(is)i(executed)g(in)f(a)h(subshell,)g(v)-5
|
||||
b(the)f Fq(list)630 3796 y Ft(is)i(executed)g(in)f(a)h(subshell,)g(v)-5
|
||||
b(ariable)29 b(assignmen)m(ts)g(do)g(not)g(remain)f(in)g(e\013ect)j
|
||||
(after)e(the)630 3983 y(subshell)g(completes.)150 4162
|
||||
y Fs({})870 4306 y({)47 b Fj(list)11 b Fs(;)46 b(})630
|
||||
4450 y Ft(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h
|
||||
(after)e(the)630 3905 y(subshell)g(completes.)150 4077
|
||||
y Fs({})870 4217 y({)47 b Fj(list)11 b Fs(;)46 b(})630
|
||||
4358 y Ft(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h
|
||||
(curly)f(braces)g(causes)h(the)f(list)h(to)g(b)s(e)f(executed)630
|
||||
4560 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42
|
||||
4468 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42
|
||||
b(No)27 b(subshell)f(is)g(created.)41 b(The)26 b(semicolon)i(\(or)f
|
||||
(newline\))630 4669 y(follo)m(wing)32 b Fq(list)h Ft(is)d(required.)275
|
||||
4857 y(In)i(addition)h(to)g(the)g(creation)i(of)e(a)g(subshell,)g
|
||||
(there)g(is)g(a)g(subtle)f(di\013erence)i(b)s(et)m(w)m(een)f(these)h(t)
|
||||
m(w)m(o)150 4967 y(constructs)43 b(due)f(to)h(historical)h(reasons.)77
|
||||
b(The)42 b(braces)h(are)g Fs(reserved)28 b(words)p Ft(,)45
|
||||
b(so)d(they)h(m)m(ust)g(b)s(e)150 5077 y(separated)33
|
||||
b(from)f(the)g Fq(list)k Ft(b)m(y)c Fs(blank)p Ft(s.)45
|
||||
b(The)32 b(paren)m(theses)h(are)g Fs(operators)p Ft(,)d(and)i(are)h
|
||||
(recognized)h(as)150 5186 y(separate)d(tok)m(ens)h(b)m(y)e(the)h(shell)
|
||||
f(ev)m(en)h(if)f(they)h(are)g(not)f(separated)h(from)f(the)h
|
||||
Fq(list)i Ft(b)m(y)d(whitespace.)275 5340 y(The)f(exit)j(status)e(of)h
|
||||
(b)s(oth)f(of)g(these)h(constructs)g(is)f(the)h(exit)g(status)f(of)h
|
||||
Fq(list)p Ft(.)p eop end
|
||||
(newline\))630 4577 y(follo)m(wing)32 b Fq(list)h Ft(is)d(required.)275
|
||||
4755 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j
|
||||
(there)e(is)f(a)g(subtle)g(di\013erence)h(b)s(et)m(w)m(een)f(these)150
|
||||
4864 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67
|
||||
b(The)39 b(braces)g(are)h Fs(reserved)28 b(words)p Ft(,)40
|
||||
b(so)g(they)f(m)m(ust)150 4974 y(b)s(e)d(separated)h(from)f(the)g
|
||||
Fq(list)j Ft(b)m(y)e Fs(blank)p Ft(s)e(or)h(other)h(shell)f(metac)m
|
||||
(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 5084
|
||||
y Fs(operators)p Ft(,)23 b(and)h(are)g(recognized)i(as)e(separate)i
|
||||
(tok)m(ens)f(b)m(y)f(the)g(shell)h(ev)m(en)g(if)f(they)g(are)h(not)f
|
||||
(separated)150 5193 y(from)30 b(the)g Fq(list)j Ft(b)m(y)e(whitespace.)
|
||||
275 5340 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h
|
||||
(constructs)g(is)f(the)h(exit)g(status)f(of)h Fq(list)p
|
||||
Ft(.)p eop end
|
||||
%%Page: 14 20
|
||||
TeXDict begin 14 19 bop 150 -116 a Ft(14)2572 b(Bash)31
|
||||
b(Reference)g(Man)m(ual)150 299 y Fr(3.3)68 b(Shell)45
|
||||
@@ -5873,12 +5874,13 @@ i(in)e(the)g(b)s(o)s(dy)-8 b(.)275 2856 y(Note)22 b(that)f(for)f
|
||||
(dy)f(b)m(y)h Fs(blank)p Ft(s)f(or)h(newlines.)62 b(This)150
|
||||
3075 y(is)38 b(b)s(ecause)g(the)h(braces)f(are)h(reserv)m(ed)f(w)m
|
||||
(ords)g(and)f(are)i(only)f(recognized)i(as)e(suc)m(h)g(when)f(they)i
|
||||
(are)150 3185 y(separated)e(b)m(y)g(whitespace.)61 b(Also,)39
|
||||
b(when)d(using)g(the)h(braces,)i(the)e Fq(list)j Ft(m)m(ust)c(b)s(e)g
|
||||
(terminated)i(b)m(y)f(a)150 3294 y(semicolon,)32 b(a)f(`)p
|
||||
Fs(&)p Ft(',)f(or)h(a)g(newline.)275 3440 y(When)h(a)i(function)f(is)g
|
||||
(executed,)i(the)e(argumen)m(ts)h(to)g(the)f(function)g(b)s(ecome)g
|
||||
(the)h(p)s(ositional)g(pa-)150 3550 y(rameters)42 b(during)e(its)i
|
||||
(are)150 3185 y(separated)26 b(from)f(the)h(command)f(list)i(b)m(y)e
|
||||
(whitespace)h(or)g(another)g(shell)g(metac)m(haracter.)41
|
||||
b(Also,)28 b(when)150 3294 y(using)i(the)g(braces,)h(the)g
|
||||
Fq(list)i Ft(m)m(ust)d(b)s(e)g(terminated)h(b)m(y)f(a)h(semicolon,)h(a)
|
||||
e(`)p Fs(&)p Ft(',)h(or)g(a)f(newline.)275 3440 y(When)i(a)i(function)f
|
||||
(is)g(executed,)i(the)e(argumen)m(ts)h(to)g(the)f(function)g(b)s(ecome)
|
||||
g(the)h(p)s(ositional)g(pa-)150 3550 y(rameters)42 b(during)e(its)i
|
||||
(execution)h(\(see)f(Section)g(3.4.1)h([P)m(ositional)h(P)m
|
||||
(arameters],)i(page)c(15\).)75 b(The)150 3660 y(sp)s(ecial)37
|
||||
b(parameter)f(`)p Fs(#)p Ft(')g(that)h(expands)e(to)i(the)f(n)m(um)m(b)
|
||||
@@ -7666,64 +7668,67 @@ b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g(is)f(assumed)g(to)h(b)s
|
||||
(e)f(1.)48 b(The)32 b(return)g(status)h(is)f(zero)630
|
||||
408 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g Fs($#)e
|
||||
Ft(or)i(less)f(than)h(zero,)g(non-zero)g(otherwise.)150
|
||||
578 y Fs(test)150 687 y([)432 b Ft(Ev)-5 b(aluate)32
|
||||
558 y Fs(test)150 667 y([)432 b Ft(Ev)-5 b(aluate)32
|
||||
b(a)f(conditional)h(expression)e Fq(expr)p Ft(.)41 b(Eac)m(h)31
|
||||
b(op)s(erator)g(and)f(op)s(erand)g(m)m(ust)h(b)s(e)f(a)630
|
||||
797 y(separate)d(argumen)m(t.)40 b(Expressions)25 b(are)i(comp)s(osed)e
|
||||
777 y(separate)d(argumen)m(t.)40 b(Expressions)25 b(are)i(comp)s(osed)e
|
||||
(of)i(the)f(primaries)g(describ)s(ed)f(b)s(elo)m(w)630
|
||||
907 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h
|
||||
887 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h
|
||||
(page)g(75.)52 b Fs(test)33 b Ft(do)s(es)g(not)h(accept)630
|
||||
1016 y(an)m(y)27 b(options,)i(nor)d(do)s(es)h(it)g(accept)i(and)d
|
||||
996 y(an)m(y)27 b(options,)i(nor)d(do)s(es)h(it)g(accept)i(and)d
|
||||
(ignore)i(an)f(argumen)m(t)g(of)g(`)p Fs(--)p Ft(')g(as)h(signifying)f
|
||||
(the)630 1126 y(end)j(of)g(options.)630 1265 y(When)g(the)h
|
||||
(the)630 1106 y(end)j(of)g(options.)630 1235 y(When)g(the)h
|
||||
Fs([)f Ft(form)g(is)g(used,)g(the)g(last)i(argumen)m(t)e(to)i(the)e
|
||||
(command)g(m)m(ust)h(b)s(e)e(a)i Fs(])p Ft(.)630 1405
|
||||
(command)g(m)m(ust)h(b)s(e)e(a)i Fs(])p Ft(.)630 1365
|
||||
y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h(follo)m
|
||||
(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630
|
||||
1514 y(order)30 b(of)g(precedence.)630 1684 y Fs(!)g
|
||||
Fj(expr)210 b Ft(T)-8 b(rue)30 b(if)g Fq(expr)37 b Ft(is)30
|
||||
b(false.)630 1853 y Fs(\()g Fj(expr)40 b Fs(\))122 b
|
||||
Ft(Returns)23 b(the)i(v)-5 b(alue)25 b(of)f Fq(expr)p
|
||||
1474 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
|
||||
b(aluation)33 b(dep)s(ends)28 b(on)j(the)g(n)m(um)m(b)s(er)f(of)h
|
||||
(argumen)m(ts;)g(see)630 1584 y(b)s(elo)m(w.)630 1733
|
||||
y Fs(!)f Fj(expr)210 b Ft(T)-8 b(rue)30 b(if)g Fq(expr)37
|
||||
b Ft(is)30 b(false.)630 1883 y Fs(\()g Fj(expr)40 b Fs(\))122
|
||||
b Ft(Returns)23 b(the)i(v)-5 b(alue)25 b(of)f Fq(expr)p
|
||||
Ft(.)38 b(This)24 b(ma)m(y)h(b)s(e)e(used)h(to)h(o)m(v)m(erride)g(the)g
|
||||
(normal)1110 1963 y(precedence)31 b(of)f(op)s(erators.)630
|
||||
2132 y Fj(expr1)39 b Fs(-a)30 b Fj(expr2)1110 2242 y
|
||||
(normal)1110 1993 y(precedence)31 b(of)f(op)s(erators.)630
|
||||
2142 y Fj(expr1)39 b Fs(-a)30 b Fj(expr2)1110 2252 y
|
||||
Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g Fq(expr1)37 b Ft(and)30
|
||||
b Fq(expr2)38 b Ft(are)30 b(true.)630 2411 y Fj(expr1)39
|
||||
b Fs(-o)30 b Fj(expr2)1110 2521 y Ft(T)-8 b(rue)30 b(if)g(either)h
|
||||
b Fq(expr2)38 b Ft(are)30 b(true.)630 2401 y Fj(expr1)39
|
||||
b Fs(-o)30 b Fj(expr2)1110 2511 y Ft(T)-8 b(rue)30 b(if)g(either)h
|
||||
Fq(expr1)38 b Ft(or)30 b Fq(expr2)37 b Ft(is)31 b(true.)630
|
||||
2690 y(The)37 b Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5
|
||||
2660 y(The)37 b Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5
|
||||
b(aluate)39 b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules)
|
||||
630 2800 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)
|
||||
630 2969 y(0)h(argumen)m(ts)1110 3078 y(The)f(expression)g(is)g(false.)
|
||||
630 3248 y(1)h(argumen)m(t)1110 3357 y(The)f(expression)g(is)g(true)h
|
||||
630 2770 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)
|
||||
630 2919 y(0)h(argumen)m(ts)1110 3029 y(The)f(expression)g(is)g(false.)
|
||||
630 3178 y(1)h(argumen)m(t)1110 3288 y(The)f(expression)g(is)g(true)h
|
||||
(if)f(and)g(only)g(if)h(the)f(argumen)m(t)h(is)f(not)h(n)m(ull.)630
|
||||
3527 y(2)g(argumen)m(ts)1110 3636 y(If)f(the)h(\014rst)f(argumen)m(t)h
|
||||
3437 y(2)g(argumen)m(ts)1110 3547 y(If)f(the)h(\014rst)f(argumen)m(t)h
|
||||
(is)g(`)p Fs(!)p Ft(',)g(the)g(expression)g(is)g(true)f(if)h(and)f
|
||||
(only)h(if)g(the)1110 3746 y(second)j(argumen)m(t)f(is)h(n)m(ull.)50
|
||||
(only)h(if)g(the)1110 3656 y(second)j(argumen)m(t)f(is)h(n)m(ull.)50
|
||||
b(If)33 b(the)h(\014rst)e(argumen)m(t)i(is)g(one)g(of)f(the)h(unary)
|
||||
1110 3856 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
|
||||
([Bash)g(Conditional)g(Expres-)1110 3965 y(sions],)34
|
||||
1110 3766 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
|
||||
([Bash)g(Conditional)g(Expres-)1110 3875 y(sions],)34
|
||||
b(page)f(75\),)i(the)e(expression)f(is)h(true)g(if)g(the)g(unary)e
|
||||
(test)j(is)f(true.)47 b(If)1110 4075 y(the)33 b(\014rst)g(argumen)m(t)h
|
||||
(test)j(is)f(true.)47 b(If)1110 3985 y(the)33 b(\014rst)g(argumen)m(t)h
|
||||
(is)f(not)g(a)h(v)-5 b(alid)34 b(unary)e(op)s(erator,)i(the)g
|
||||
(expression)f(is)1110 4184 y(false.)630 4354 y(3)e(argumen)m(ts)1110
|
||||
4463 y(If)k(the)g(second)g(argumen)m(t)g(is)g(one)h(of)f(the)g(binary)f
|
||||
(conditional)j(op)s(erators)1110 4573 y(\(see)23 b(Section)g(6.4)f
|
||||
(expression)f(is)1110 4095 y(false.)630 4244 y(3)e(argumen)m(ts)1110
|
||||
4354 y(If)k(the)g(second)g(argumen)m(t)g(is)g(one)h(of)f(the)g(binary)f
|
||||
(conditional)j(op)s(erators)1110 4463 y(\(see)23 b(Section)g(6.4)f
|
||||
([Bash)h(Conditional)f(Expressions],)h(page)g(75\),)i(the)d(result)1110
|
||||
4682 y(of)44 b(the)h(expression)f(is)g(the)g(result)g(of)h(the)f
|
||||
(binary)g(test)h(using)e(the)i(\014rst)1110 4792 y(and)33
|
||||
b(third)g(argumen)m(ts)h(as)g(op)s(erands.)50 b(If)33
|
||||
b(the)h(\014rst)g(argumen)m(t)g(is)g(`)p Fs(!)p Ft(',)h(the)1110
|
||||
4902 y(v)-5 b(alue)25 b(is)g(the)g(negation)h(of)f(the)g(t)m(w)m
|
||||
(o-argumen)m(t)i(test)f(using)e(the)h(second)g(and)1110
|
||||
5011 y(third)32 b(argumen)m(ts.)47 b(If)33 b(the)f(\014rst)g(argumen)m
|
||||
(t)h(is)g(exactly)h(`)p Fs(\()p Ft(')f(and)f(the)h(third)1110
|
||||
5121 y(argumen)m(t)h(is)g(exactly)h(`)p Fs(\))p Ft(',)g(the)f(result)f
|
||||
(is)h(the)g(one-argumen)m(t)g(test)h(of)f(the)1110 5230
|
||||
y(second)d(argumen)m(t.)45 b(Otherwise,)31 b(the)h(expression)f(is)g
|
||||
(false.)44 b(The)31 b(`)p Fs(-a)p Ft(')h(and)1110 5340
|
||||
y(`)p Fs(-o)p Ft(')e(op)s(erators)h(are)g(considered)f(binary)f(op)s
|
||||
(erators)i(in)f(this)g(case.)p eop end
|
||||
4573 y(of)44 b(the)h(expression)f(is)g(the)g(result)g(of)h(the)f
|
||||
(binary)g(test)h(using)e(the)i(\014rst)1110 4682 y(and)31
|
||||
b(third)g(argumen)m(ts)i(as)f(op)s(erands.)44 b(The)31
|
||||
b(`)p Fs(-a)p Ft(')h(and)g(`)p Fs(-o)p Ft(')f(op)s(erators)i(are)1110
|
||||
4792 y(considered)25 b(binary)g(op)s(erators)g(when)f(there)i(are)f
|
||||
(three)h(argumen)m(ts.)39 b(If)25 b(the)1110 4902 y(\014rst)j(argumen)m
|
||||
(t)h(is)g(`)p Fs(!)p Ft(',)h(the)f(v)-5 b(alue)29 b(is)g(the)g
|
||||
(negation)i(of)e(the)g(t)m(w)m(o-argumen)m(t)1110 5011
|
||||
y(test)38 b(using)f(the)g(second)g(and)g(third)f(argumen)m(ts.)61
|
||||
b(If)37 b(the)g(\014rst)f(argumen)m(t)1110 5121 y(is)j(exactly)i(`)p
|
||||
Fs(\()p Ft(')f(and)f(the)g(third)g(argumen)m(t)h(is)f(exactly)i(`)p
|
||||
Fs(\))p Ft(',)h(the)e(result)f(is)1110 5230 y(the)46
|
||||
b(one-argumen)m(t)g(test)h(of)f(the)f(second)h(argumen)m(t.)86
|
||||
b(Otherwise,)50 b(the)1110 5340 y(expression)30 b(is)h(false.)p
|
||||
eop end
|
||||
%%Page: 40 46
|
||||
TeXDict begin 40 45 bop 150 -116 a Ft(40)2572 b(Bash)31
|
||||
b(Reference)g(Man)m(ual)630 299 y(4)g(argumen)m(ts)1110
|
||||
@@ -11413,319 +11418,319 @@ f(the)i(eigh)m(th)g(bit)f(and)g(pre\014xing)f(an)1110
|
||||
643 V 1268 625 a Fg(i)1332 628 y Ft(c)m(haracter,)36
|
||||
b(con)m(v)m(erting)g(them)e(to)g(a)h(meta-pre\014xed)f(k)m(ey)g
|
||||
(sequence.)1110 737 y(The)c(default)g(v)-5 b(alue)31
|
||||
b(is)g(`)p Fs(on)p Ft('.)630 883 y Fs(disable-completion)1110
|
||||
993 y Ft(If)36 b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g
|
||||
b(is)g(`)p Fs(on)p Ft('.)630 902 y Fs(disable-completion)1110
|
||||
1011 y Ft(If)36 b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g
|
||||
(inhibit)f(w)m(ord)h(completion.)60 b(Completion)1110
|
||||
1103 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
|
||||
1121 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
|
||||
(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
|
||||
1212 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
|
||||
Fs(off)p Ft('.)630 1358 y Fs(editing-mode)1110 1468 y
|
||||
1230 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
|
||||
Fs(off)p Ft('.)630 1395 y Fs(editing-mode)1110 1504 y
|
||||
Ft(The)d Fs(editing-mode)e Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m
|
||||
(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 1577 y(ings)25
|
||||
(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 1614 y(ings)25
|
||||
b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h
|
||||
(Emacs)g(editing)h(mo)s(de,)1110 1687 y(where)j(the)g(k)m(eystrok)m(es)
|
||||
(Emacs)g(editing)h(mo)s(de,)1110 1724 y(where)j(the)g(k)m(eystrok)m(es)
|
||||
i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5
|
||||
b(ariable)30 b(can)1110 1797 y(b)s(e)g(set)h(to)g(either)g(`)p
|
||||
Fs(emacs)p Ft(')e(or)h(`)p Fs(vi)p Ft('.)630 1943 y Fs(enable-keypad)
|
||||
1110 2052 y Ft(When)23 b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f
|
||||
b(ariable)30 b(can)1110 1833 y(b)s(e)g(set)h(to)g(either)g(`)p
|
||||
Fs(emacs)p Ft(')e(or)h(`)p Fs(vi)p Ft('.)630 1998 y Fs(enable-keypad)
|
||||
1110 2107 y Ft(When)23 b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f
|
||||
(will)g(try)f(to)h(enable)g(the)f(application)i(k)m(eypad)1110
|
||||
2162 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
|
||||
(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 2271 y(The)j(default)g
|
||||
(is)h(`)p Fs(off)p Ft('.)630 2418 y Fs(expand-tilde)1110
|
||||
2527 y Ft(If)c(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f
|
||||
(p)s(erformed)f(when)h(Readline)h(attempts)1110 2637
|
||||
2217 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
|
||||
(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 2326 y(The)j(default)g
|
||||
(is)h(`)p Fs(off)p Ft('.)630 2491 y Fs(expand-tilde)1110
|
||||
2600 y Ft(If)c(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f
|
||||
(p)s(erformed)f(when)h(Readline)h(attempts)1110 2710
|
||||
y(w)m(ord)i(completion.)42 b(The)30 b(default)g(is)h(`)p
|
||||
Fs(off)p Ft('.)630 2783 y Fs(history-preserve-point)1110
|
||||
2892 y Ft(If)e(set)i(to)f(`)p Fs(on)p Ft(',)g(the)g(history)g(co)s(de)g
|
||||
(attempts)g(to)h(place)f(p)s(oin)m(t)g(at)h(the)f(same)1110
|
||||
3002 y(lo)s(cation)35 b(on)e(eac)m(h)i(history)e(line)h(retriev)m(ed)g
|
||||
(with)f Fs(previous-history)c Ft(or)1110 3112 y Fs(next-history)p
|
||||
Ft(.)37 b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630
|
||||
3258 y Fs(horizontal-scroll-mode)1110 3367 y Ft(This)35
|
||||
b(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p
|
||||
Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57 b(Setting)36
|
||||
b(it)g(to)h(`)p Fs(on)p Ft(')1110 3477 y(means)26 b(that)h(the)f(text)h
|
||||
Fs(off)p Ft('.)630 2874 y Fs(history-preserve-point)1110
|
||||
2984 y Ft(If)41 b(set)h(to)h(`)p Fs(on)p Ft(',)i(the)c(history)h(co)s
|
||||
(de)g(attempts)h(to)f(place)h(the)f(p)s(oin)m(t)f(\(the)1110
|
||||
3093 y(curren)m(t)35 b(cursor)g(p)s(osition\))g(at)h(the)g(same)f(lo)s
|
||||
(cation)i(on)e(eac)m(h)h(history)g(line)1110 3203 y(retriev)m(ed)h
|
||||
(with)f Fs(previous-history)c Ft(or)37 b Fs(next-history)p
|
||||
Ft(.)55 b(The)36 b(default)1110 3313 y(is)30 b(`)p Fs(off)p
|
||||
Ft('.)630 3477 y Fs(horizontal-scroll-mode)1110 3587
|
||||
y Ft(This)35 b(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)
|
||||
p Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57 b(Setting)36
|
||||
b(it)g(to)h(`)p Fs(on)p Ft(')1110 3696 y(means)26 b(that)h(the)f(text)h
|
||||
(of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m
|
||||
(tally)1110 3587 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
|
||||
(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 3696
|
||||
(tally)1110 3806 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
|
||||
(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 3915
|
||||
y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g
|
||||
(line.)39 b(By)27 b(default,)g(this)1110 3806 y(v)-5
|
||||
(line.)39 b(By)27 b(default,)g(this)1110 4025 y(v)-5
|
||||
b(ariable)31 b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630
|
||||
3952 y Fs(input-meta)1110 4061 y Ft(If)f(set)g(to)h(`)p
|
||||
4189 y Fs(input-meta)1110 4299 y Ft(If)f(set)g(to)h(`)p
|
||||
Fs(on)p Ft(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
|
||||
i(will)f(not)h(clear)1110 4171 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
|
||||
i(will)f(not)h(clear)1110 4408 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
|
||||
(c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110
|
||||
4281 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
|
||||
4518 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
|
||||
b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fs(off)p
|
||||
Ft('.)69 b(The)1110 4390 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m
|
||||
(ym)g(for)g(this)h(v)-5 b(ariable.)630 4536 y Fs(isearch-terminators)
|
||||
1110 4646 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
|
||||
(terminate)j(an)f(incremen)m(tal)1110 4755 y(searc)m(h)25
|
||||
Ft('.)69 b(The)1110 4628 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m
|
||||
(ym)g(for)g(this)h(v)-5 b(ariable.)630 4792 y Fs(isearch-terminators)
|
||||
1110 4902 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
|
||||
(terminate)j(an)f(incremen)m(tal)1110 5011 y(searc)m(h)25
|
||||
b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g
|
||||
(command)1110 4865 y(\(see)42 b(Section)f(8.2.5)i([Searc)m(hing],)i
|
||||
(command)1110 5121 y(\(see)42 b(Section)f(8.2.5)i([Searc)m(hing],)i
|
||||
(page)c(94\).)73 b(If)41 b(this)g(v)-5 b(ariable)41 b(has)g(not)1110
|
||||
4975 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
|
||||
(haracters)2494 4972 y Fg(h)p 2518 4919 V 2518 4975 a
|
||||
Ff(ESC)p 2518 4990 V 2652 4972 a Fg(i)2713 4975 y Ft(and)f
|
||||
Fj(C-J)g Ft(will)h(terminate)g(an)1110 5084 y(incremen)m(tal)g(searc)m
|
||||
(h.)630 5230 y Fs(keymap)192 b Ft(Sets)39 b(Readline's)g(idea)h(of)f
|
||||
(the)g(curren)m(t)f(k)m(eymap)h(for)g(k)m(ey)g(binding)f(com-)1110
|
||||
5340 y(mands.)81 b(Acceptable)47 b Fs(keymap)42 b Ft(names)i(are)h
|
||||
Fs(emacs)p Ft(,)i Fs(emacs-standard)p Ft(,)p eop end
|
||||
5230 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
|
||||
(haracters)2494 5227 y Fg(h)p 2518 5174 V 2518 5230 a
|
||||
Ff(ESC)p 2518 5246 V 2652 5227 a Fg(i)2713 5230 y Ft(and)f
|
||||
Fj(C-J)g Ft(will)h(terminate)g(an)1110 5340 y(incremen)m(tal)g(searc)m
|
||||
(h.)p eop end
|
||||
%%Page: 97 103
|
||||
TeXDict begin 97 102 bop 150 -116 a Ft(Chapter)30 b(8:)41
|
||||
b(Command)29 b(Line)i(Editing)2107 b(97)1110 299 y Fs(emacs-meta)p
|
||||
Ft(,)99 b Fs(emacs-ctlx)p Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p
|
||||
Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 408 y Fs(vi-insert)p
|
||||
Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e
|
||||
Fs(vi-command)p Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110
|
||||
518 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
|
||||
b(Command)29 b(Line)i(Editing)2107 b(97)630 299 y Fs(keymap)192
|
||||
b Ft(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
|
||||
(for)g(k)m(ey)g(binding)f(com-)1110 408 y(mands.)81 b(Acceptable)47
|
||||
b Fs(keymap)42 b Ft(names)i(are)h Fs(emacs)p Ft(,)i Fs(emacs-standard)p
|
||||
Ft(,)1110 518 y Fs(emacs-meta)p Ft(,)99 b Fs(emacs-ctlx)p
|
||||
Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p Ft(,)f Fs(vi-command)p
|
||||
Ft(,)f(and)1110 628 y Fs(vi-insert)p Ft(.)64 b Fs(vi)38
|
||||
b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e Fs(vi-command)p
|
||||
Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110 737
|
||||
y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
|
||||
b(alue)32 b(is)g Fs(emacs)p Ft(.)44 b(The)31 b(v)-5 b(alue)33
|
||||
b(of)f(the)1110 628 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
|
||||
b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 774
|
||||
y Fs(mark-directories)1110 883 y Ft(If)38 b(set)g(to)h(`)p
|
||||
b(of)f(the)1110 847 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
|
||||
b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 1017
|
||||
y Fs(mark-directories)1110 1127 y Ft(If)38 b(set)g(to)h(`)p
|
||||
Fs(on)p Ft(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)
|
||||
g(app)s(ended.)1110 993 y(The)30 b(default)g(is)h(`)p
|
||||
Fs(on)p Ft('.)630 1139 y Fs(mark-modified-lines)1110
|
||||
1249 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
|
||||
g(app)s(ended.)1110 1236 y(The)30 b(default)g(is)h(`)p
|
||||
Fs(on)p Ft('.)630 1407 y Fs(mark-modified-lines)1110
|
||||
1517 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
|
||||
Fs(on)p Ft(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110
|
||||
1358 y(terisk)f(\(`)p Fs(*)p Ft('\))h(at)f(the)g(start)g(of)g(history)g
|
||||
1626 y(terisk)f(\(`)p Fs(*)p Ft('\))h(at)f(the)g(start)g(of)g(history)g
|
||||
(lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110
|
||||
1468 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g
|
||||
(default.)630 1614 y Fs(mark-symlinked-directori)o(es)1110
|
||||
1724 y Ft(If)44 b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f
|
||||
1736 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g
|
||||
(default.)630 1906 y Fs(mark-symlinked-directori)o(es)1110
|
||||
2016 y Ft(If)44 b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f
|
||||
(whic)m(h)f(are)h(sym)m(b)s(olic)g(links)g(to)g(di-)1110
|
||||
1833 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5
|
||||
2125 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5
|
||||
b(ject)47 b(to)g(the)f(v)-5 b(alue)47 b(of)f Fs(mark-)1110
|
||||
1943 y(directories)p Ft(\).)38 b(The)30 b(default)g(is)h(`)p
|
||||
Fs(off)p Ft('.)630 2089 y Fs(match-hidden-files)1110
|
||||
2198 y Ft(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p
|
||||
2235 y(directories)p Ft(\).)38 b(The)30 b(default)g(is)h(`)p
|
||||
Fs(off)p Ft('.)630 2405 y Fs(match-hidden-files)1110
|
||||
2515 y Ft(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p
|
||||
Fs(on)p Ft(',)h(causes)f(Readline)g(to)g(matc)m(h)g(\014les)f(whose)
|
||||
1110 2308 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p
|
||||
1110 2625 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p
|
||||
Ft(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110
|
||||
2418 y(completion,)j(unless)41 b(the)g(leading)h(`)p
|
||||
2734 y(completion,)j(unless)41 b(the)g(leading)h(`)p
|
||||
Fs(.)p Ft(')g(is)g(supplied)e(b)m(y)h(the)h(user)f(in)g(the)1110
|
||||
2527 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
|
||||
2844 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
|
||||
b(v)-5 b(ariable)31 b(is)f(`)p Fs(on)p Ft(')h(b)m(y)f(default.)630
|
||||
2673 y Fs(output-meta)1110 2783 y Ft(If)35 b(set)h(to)g(`)p
|
||||
3014 y Fs(output-meta)1110 3124 y Ft(If)35 b(set)h(to)g(`)p
|
||||
Fs(on)p Ft(',)h(Readline)f(will)g(displa)m(y)f(c)m(haracters)i(with)e
|
||||
(the)h(eigh)m(th)g(bit)1110 2892 y(set)h(directly)g(rather)f(than)g(as)
|
||||
(the)h(eigh)m(th)g(bit)1110 3233 y(set)h(directly)g(rather)f(than)g(as)
|
||||
h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 b(The)1110
|
||||
3002 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 3148
|
||||
y Fs(page-completions)1110 3258 y Ft(If)j(set)i(to)f(`)p
|
||||
3343 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 3513
|
||||
y Fs(page-completions)1110 3623 y Ft(If)j(set)i(to)f(`)p
|
||||
Fs(on)p Ft(',)h(Readline)g(uses)e(an)h(in)m(ternal)h
|
||||
Fs(more)p Ft(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
|
||||
3367 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
|
||||
3733 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
|
||||
47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fs(on)p Ft(')1110
|
||||
3477 y(b)m(y)e(default.)630 3623 y Fs(print-completions-horizo)o(ntal)o
|
||||
(ly)1110 3733 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
|
||||
3842 y(b)m(y)e(default.)630 4013 y Fs(print-completions-horizo)o(ntal)o
|
||||
(ly)1110 4122 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
|
||||
(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110
|
||||
3842 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
|
||||
(than)g(do)m(wn)g(the)h(screen.)1110 3952 y(The)30 b(default)g(is)h(`)p
|
||||
Fs(off)p Ft('.)630 4098 y Fs(show-all-if-ambiguous)1110
|
||||
4208 y Ft(This)e(alters)i(the)f(default)g(b)s(eha)m(vior)g(of)g(the)h
|
||||
(completion)g(functions.)40 b(If)29 b(set)1110 4317 y(to)f(`)p
|
||||
4232 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
|
||||
(than)g(do)m(wn)g(the)h(screen.)1110 4341 y(The)30 b(default)g(is)h(`)p
|
||||
Fs(off)p Ft('.)630 4512 y Fs(show-all-if-ambiguous)1110
|
||||
4622 y Ft(This)e(alters)i(the)f(default)g(b)s(eha)m(vior)g(of)g(the)h
|
||||
(completion)g(functions.)40 b(If)29 b(set)1110 4731 y(to)f(`)p
|
||||
Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h)g(ha)m(v)m(e)i(more)f(than)f(one)h
|
||||
(p)s(ossible)f(completion)h(cause)1110 4427 y(the)39
|
||||
(p)s(ossible)f(completion)h(cause)1110 4841 y(the)39
|
||||
b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i(instead)e(of)g
|
||||
(ringing)g(the)g(b)s(ell.)1110 4536 y(The)30 b(default)g(v)-5
|
||||
b(alue)31 b(is)g(`)p Fs(off)p Ft('.)630 4682 y Fs
|
||||
(show-all-if-unmodified)1110 4792 y Ft(This)38 b(alters)h(the)g
|
||||
(ringing)g(the)g(b)s(ell.)1110 4950 y(The)30 b(default)g(v)-5
|
||||
b(alue)31 b(is)g(`)p Fs(off)p Ft('.)630 5121 y Fs
|
||||
(show-all-if-unmodified)1110 5230 y Ft(This)38 b(alters)h(the)g
|
||||
(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h(functions)e(in)h(a)
|
||||
1110 4902 y(fashion)25 b(similar)h(to)g Fq(sho)m(w-all-if-am)m(biguous)
|
||||
1110 5340 y(fashion)25 b(similar)h(to)g Fq(sho)m(w-all-if-am)m(biguous)
|
||||
p Ft(.)41 b(If)25 b(set)h(to)h(`)p Fs(on)p Ft(',)f(w)m(ords)f(whic)m(h)
|
||||
1110 5011 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e
|
||||
(completion)i(without)f(an)m(y)g(p)s(ossible)f(par-)1110
|
||||
5121 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h
|
||||
(don't)f(share)g(a)h(common)1110 5230 y(pre\014x\))30
|
||||
b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g(immediately)i
|
||||
(instead)e(of)h(ring-)1110 5340 y(ing)g(the)f(b)s(ell.)41
|
||||
b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fs(off)p
|
||||
Ft('.)p eop end
|
||||
p eop end
|
||||
%%Page: 98 104
|
||||
TeXDict begin 98 103 bop 150 -116 a Ft(98)2572 b(Bash)31
|
||||
b(Reference)g(Man)m(ual)630 299 y Fs(visible-stats)1110
|
||||
408 y Ft(If)g(set)i(to)f(`)p Fs(on)p Ft(',)h(a)f(c)m(haracter)i
|
||||
b(Reference)g(Man)m(ual)1110 299 y(ha)m(v)m(e)h(more)f(than)f(one)i(p)s
|
||||
(ossible)e(completion)i(without)f(an)m(y)g(p)s(ossible)f(par-)1110
|
||||
408 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h(don't)
|
||||
f(share)g(a)h(common)1110 518 y(pre\014x\))30 b(cause)g(the)h(matc)m
|
||||
(hes)g(to)g(b)s(e)f(listed)g(immediately)i(instead)e(of)h(ring-)1110
|
||||
628 y(ing)g(the)f(b)s(ell.)41 b(The)30 b(default)g(v)-5
|
||||
b(alue)31 b(is)f(`)p Fs(off)p Ft('.)630 781 y Fs(visible-stats)1110
|
||||
891 y Ft(If)h(set)i(to)f(`)p Fs(on)p Ft(',)h(a)f(c)m(haracter)i
|
||||
(denoting)e(a)g(\014le's)g(t)m(yp)s(e)g(is)g(app)s(ended)e(to)j(the)
|
||||
1110 518 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
|
||||
b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)150 675
|
||||
y(Key)f(Bindings)630 784 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
|
||||
1110 1000 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
|
||||
b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)150 1154
|
||||
y(Key)f(Bindings)630 1263 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
|
||||
(k)m(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75
|
||||
b(First)43 b(y)m(ou)630 894 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h
|
||||
(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
|
||||
b(The)27 b(follo)m(wing)630 1003 y(sections)37 b(con)m(tain)g(tables)g
|
||||
b(First)43 b(y)m(ou)630 1373 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)
|
||||
h(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
|
||||
b(The)27 b(follo)m(wing)630 1482 y(sections)37 b(con)m(tain)g(tables)g
|
||||
(of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an)
|
||||
m(y)-8 b(,)630 1113 y(and)30 b(a)h(short)f(description)g(of)h(what)f
|
||||
(the)g(command)h(do)s(es.)630 1246 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
|
||||
m(y)-8 b(,)630 1592 y(and)30 b(a)h(short)f(description)g(of)h(what)f
|
||||
(the)g(command)h(do)s(es.)630 1724 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
|
||||
(name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g
|
||||
(the)g(init)630 1356 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
|
||||
(the)g(init)630 1833 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
|
||||
(ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)
|
||||
630 1465 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
|
||||
630 1943 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
|
||||
b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g
|
||||
(and)630 1575 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
|
||||
(and)630 2052 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
|
||||
(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
|
||||
b(The)40 b(name)h(of)630 1684 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
|
||||
b(The)40 b(name)h(of)630 2162 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
|
||||
(expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h
|
||||
(what)h(y)m(ou)g(\014nd)e(most)630 1794 y(comfortable.)630
|
||||
1927 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
|
||||
(what)h(y)m(ou)g(\014nd)e(most)630 2271 y(comfortable.)630
|
||||
2403 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
|
||||
(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630
|
||||
2037 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
|
||||
(\(a)h Fq(macro)5 b Ft(\).)630 2170 y(The)42 b Fs(bind)30
|
||||
2513 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
|
||||
(\(a)h Fq(macro)5 b Ft(\).)630 2644 y(The)42 b Fs(bind)30
|
||||
b(-p)42 b Ft(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and)
|
||||
f(bindings)g(in)h(a)630 2279 y(format)37 b(that)h(can)f(put)f(directly)
|
||||
f(bindings)g(in)h(a)630 2754 y(format)37 b(that)h(can)f(put)f(directly)
|
||||
i(in)m(to)g(an)f(initialization)j(\014le.)60 b(See)38
|
||||
b(Section)f(4.2)i([Bash)630 2389 y(Builtins],)31 b(page)g(41.)630
|
||||
2545 y Fq(k)m(eyname)5 b Ft(:)42 b Fq(function-name)35
|
||||
b Ft(or)c Fq(macro)1110 2655 y(k)m(eyname)k Ft(is)29
|
||||
b(Section)f(4.2)i([Bash)630 2863 y(Builtins],)31 b(page)g(41.)630
|
||||
3017 y Fq(k)m(eyname)5 b Ft(:)42 b Fq(function-name)35
|
||||
b Ft(or)c Fq(macro)1110 3126 y(k)m(eyname)k Ft(is)29
|
||||
b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g(English.)39
|
||||
b(F)-8 b(or)30 b(example:)1350 2788 y Fs(Control-u:)45
|
||||
b(universal-argument)1350 2898 y(Meta-Rubout:)f(backward-kill-word)1350
|
||||
3007 y(Control-o:)h(">)i(output")1110 3140 y Ft(In)38
|
||||
b(F)-8 b(or)30 b(example:)1350 3258 y Fs(Control-u:)45
|
||||
b(universal-argument)1350 3367 y(Meta-Rubout:)f(backward-kill-word)1350
|
||||
3477 y(Control-o:)h(">)i(output")1110 3608 y Ft(In)38
|
||||
b(the)h(ab)s(o)m(v)m(e)h(example,)h Fj(C-u)d Ft(is)h(b)s(ound)d(to)k
|
||||
(the)e(function)h Fs(universal-)1110 3250 y(argument)p
|
||||
(the)e(function)h Fs(universal-)1110 3718 y(argument)p
|
||||
Ft(,)f Fj(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g(function)g
|
||||
Fs(backward-kill-word)p Ft(,)1110 3360 y(and)g Fj(C-o)g
|
||||
Fs(backward-kill-word)p Ft(,)1110 3828 y(and)g Fj(C-o)g
|
||||
Ft(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f(the)i
|
||||
(righ)m(t)f(hand)1110 3469 y(side)30 b(\(that)i(is,)e(to)h(insert)g
|
||||
(righ)m(t)f(hand)1110 3937 y(side)30 b(\(that)i(is,)e(to)h(insert)g
|
||||
(the)f(text)i(`)p Fs(>)e(output)p Ft(')f(in)m(to)i(the)g(line\).)1110
|
||||
3602 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i
|
||||
(names)e(are)g(recognized)h(while)f(pro-)1110 3712 y(cessing)24
|
||||
4069 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i
|
||||
(names)e(are)g(recognized)h(while)f(pro-)1110 4178 y(cessing)24
|
||||
b(this)g(k)m(ey)g(binding)f(syn)m(tax:)37 b Fq(DEL)p
|
||||
Ft(,)24 b Fq(ESC)p Ft(,)f Fq(ESCAPE)p Ft(,)g Fq(LFD)p
|
||||
Ft(,)h Fq(NEW-)1110 3821 y(LINE)p Ft(,)30 b Fq(RET)p
|
||||
Ft(,)h Fq(NEW-)1110 4288 y(LINE)p Ft(,)30 b Fq(RET)p
|
||||
Ft(,)g Fq(RETURN)p Ft(,)h Fq(R)m(UBOUT)p Ft(,)g Fq(SP)-8
|
||||
b(A)m(CE)p Ft(,)30 b Fq(SPC)p Ft(,)g(and)f Fq(T)-8 b(AB)p
|
||||
Ft(.)630 3978 y Fs(")p Fq(k)m(eyseq)r Fs(")p Ft(:)41
|
||||
b Fq(function-name)36 b Ft(or)30 b Fq(macro)1110 4088
|
||||
Ft(.)630 4441 y Fs(")p Fq(k)m(eyseq)r Fs(")p Ft(:)41
|
||||
b Fq(function-name)36 b Ft(or)30 b Fq(macro)1110 4551
|
||||
y(k)m(eyseq)k Ft(di\013ers)d(from)f Fq(k)m(eyname)37
|
||||
b Ft(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f(denoting)g(an)g(en-)1110
|
||||
4197 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
|
||||
(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 4307
|
||||
4661 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
|
||||
(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 4770
|
||||
y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h Ft(Emacs)f(st)m(yle)i(k)m
|
||||
(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 4416
|
||||
(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 4880
|
||||
y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s(ecial)h(c)m
|
||||
(haracter)g(names)f(are)g(not)1110 4526 y(recognized.)1350
|
||||
4659 y Fs("\\C-u":)46 b(universal-argument)1350 4769
|
||||
y("\\C-x\\C-r":)f(re-read-init-file)1350 4878 y("\\e[11~":)g("Function)
|
||||
h(Key)g(1")1110 5011 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
|
||||
b Fj(C-u)64 b Ft(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110
|
||||
5121 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
|
||||
(the)f(\014rst)g(example\),)49 b(`)p Fj(C-x)1110 5230
|
||||
y(C-r)p Ft(')41 b(is)g(b)s(ound)e(to)j(the)f(function)g
|
||||
Fs(re-read-init-file)p Ft(,)e(and)i(`)3462 5227 y Fg(h)p
|
||||
3486 5174 139 4 v 3486 5230 a Ff(ESC)p 3486 5246 V 3620
|
||||
5227 a Fg(i)31 b(h)p 3705 5174 20 4 v 3705 5230 a Ff([)p
|
||||
3705 5247 V 3720 5227 a Fg(i)1110 5337 y(h)p 1134 5284
|
||||
36 4 v 1134 5340 a Ff(1)p 1134 5355 V 1165 5337 a Fg(i)f(h)p
|
||||
1250 5284 V 1250 5340 a Ff(1)p 1250 5355 V 1281 5337
|
||||
a Fg(i)g(h)p 1365 5284 48 4 v 1365 5340 a Fs(~)p 1365
|
||||
5355 V 1409 5337 a Fg(i)1438 5340 y Ft(')h(is)f(b)s(ound)f(to)i(insert)
|
||||
f(the)h(text)g(`)p Fs(Function)d(Key)i(1)p Ft('.)p eop
|
||||
end
|
||||
(haracter)g(names)f(are)g(not)1110 4989 y(recognized.)1350
|
||||
5121 y Fs("\\C-u":)46 b(universal-argument)1350 5230
|
||||
y("\\C-x\\C-r":)f(re-read-init-file)1350 5340 y("\\e[11~":)g("Function)
|
||||
h(Key)g(1")p eop end
|
||||
%%Page: 99 105
|
||||
TeXDict begin 99 104 bop 150 -116 a Ft(Chapter)30 b(8:)41
|
||||
b(Command)29 b(Line)i(Editing)2107 b(99)630 299 y(The)29
|
||||
b(follo)m(wing)i Fl(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g
|
||||
(are)g(a)m(v)-5 b(ailable)32 b(when)d(sp)s(ecifying)630
|
||||
408 y(k)m(ey)i(sequences:)630 572 y Fj(\\C-)336 b Ft(con)m(trol)32
|
||||
b(pre\014x)630 736 y Fj(\\M-)336 b Ft(meta)31 b(pre\014x)630
|
||||
899 y Fj(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter)630
|
||||
1063 y Fj(\\\\)384 b Ft(bac)m(kslash)630 1226 y Fj(\\)p
|
||||
Fs(")1110 1223 y Fg(h)p 1134 1170 48 4 v 1134 1226 a
|
||||
Fs(")p 1134 1241 V 1178 1223 a Fg(i)1208 1226 y Ft(,)30
|
||||
b(a)h(double)f(quotation)h(mark)630 1390 y Fj(\\')1110
|
||||
1387 y Fg(h)p 1134 1334 20 4 v 1134 1390 a Ff(')p 1134
|
||||
1405 V 1150 1387 a Fg(i)1179 1390 y Ft(,)g(a)g(single)g(quote)g(or)f
|
||||
(ap)s(ostrophe)630 1553 y(In)d(addition)h(to)g(the)g
|
||||
Fl(gnu)f Ft(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f
|
||||
(set)h(of)g(bac)m(kslash)630 1663 y(escap)s(es)j(is)f(a)m(v)-5
|
||||
b(ailable:)630 1826 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
|
||||
1990 y Fs(\\b)384 b Ft(bac)m(kspace)630 2153 y Fs(\\d)g
|
||||
Ft(delete)630 2317 y Fs(\\f)g Ft(form)30 b(feed)630 2480
|
||||
y Fs(\\n)384 b Ft(newline)630 2644 y Fs(\\r)g Ft(carriage)32
|
||||
b(return)630 2807 y Fs(\\t)384 b Ft(horizon)m(tal)32
|
||||
b(tab)630 2971 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
|
||||
3134 y Fs(\\)p Fj(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g
|
||||
(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5
|
||||
b(alue)35 b Fq(nnn)e Ft(\(one)i(to)1110 3244 y(three)c(digits\))630
|
||||
3407 y Fs(\\x)p Fj(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
|
||||
(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
|
||||
b(alue)40 b Fq(HH)1110 3517 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
|
||||
(digits\))630 3681 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g
|
||||
(macro,)i(single)e(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)
|
||||
630 3790 y(indicate)23 b(a)e(macro)h(de\014nition.)38
|
||||
b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f
|
||||
(name.)38 b(In)630 3900 y(the)22 b(macro)f(b)s(o)s(dy)-8
|
||||
b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m
|
||||
(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 4009 y(will)j(quote)h(an)m
|
||||
(y)f(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
|
||||
b(Command)29 b(Line)i(Editing)2107 b(99)1110 299 y(In)64
|
||||
b(the)g(ab)s(o)m(v)m(e)i(example,)74 b Fj(C-u)64 b Ft(is)g(again)i(b)s
|
||||
(ound)c(to)k(the)e(function)1110 408 y Fs(universal-argument)39
|
||||
b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g(the)f(\014rst)g(example\),)49
|
||||
b(`)p Fj(C-x)1110 518 y(C-r)p Ft(')41 b(is)g(b)s(ound)e(to)j(the)f
|
||||
(function)g Fs(re-read-init-file)p Ft(,)e(and)i(`)3462
|
||||
515 y Fg(h)p 3486 462 139 4 v 3486 518 a Ff(ESC)p 3486
|
||||
533 V 3620 515 a Fg(i)31 b(h)p 3705 462 20 4 v 3705 518
|
||||
a Ff([)p 3705 535 V 3720 515 a Fg(i)1110 625 y(h)p 1134
|
||||
572 36 4 v 1134 628 a Ff(1)p 1134 643 V 1165 625 a Fg(i)f(h)p
|
||||
1250 572 V 1250 628 a Ff(1)p 1250 643 V 1281 625 a Fg(i)g(h)p
|
||||
1365 572 48 4 v 1365 628 a Fs(~)p 1365 643 V 1409 625
|
||||
a Fg(i)1438 628 y Ft(')h(is)f(b)s(ound)f(to)i(insert)f(the)h(text)g(`)p
|
||||
Fs(Function)d(Key)i(1)p Ft('.)630 786 y(The)f(follo)m(wing)i
|
||||
Fl(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5
|
||||
b(ailable)32 b(when)d(sp)s(ecifying)630 896 y(k)m(ey)i(sequences:)630
|
||||
1055 y Fj(\\C-)336 b Ft(con)m(trol)32 b(pre\014x)630
|
||||
1213 y Fj(\\M-)336 b Ft(meta)31 b(pre\014x)630 1372 y
|
||||
Fj(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter)630
|
||||
1531 y Fj(\\\\)384 b Ft(bac)m(kslash)630 1689 y Fj(\\)p
|
||||
Fs(")1110 1686 y Fg(h)p 1134 1633 V 1134 1689 a Fs(")p
|
||||
1134 1705 V 1178 1686 a Fg(i)1208 1689 y Ft(,)30 b(a)h(double)f
|
||||
(quotation)h(mark)630 1848 y Fj(\\')1110 1845 y Fg(h)p
|
||||
1134 1792 20 4 v 1134 1848 a Ff(')p 1134 1864 V 1150
|
||||
1845 a Fg(i)1179 1848 y Ft(,)g(a)g(single)g(quote)g(or)f(ap)s(ostrophe)
|
||||
630 2007 y(In)d(addition)h(to)g(the)g Fl(gnu)f Ft(Emacs)h(st)m(yle)h
|
||||
(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g(bac)m(kslash)630
|
||||
2116 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 2275
|
||||
y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 2434 y Fs(\\b)384
|
||||
b Ft(bac)m(kspace)630 2593 y Fs(\\d)g Ft(delete)630 2751
|
||||
y Fs(\\f)g Ft(form)30 b(feed)630 2910 y Fs(\\n)384 b
|
||||
Ft(newline)630 3069 y Fs(\\r)g Ft(carriage)32 b(return)630
|
||||
3227 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)630 3386
|
||||
y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 3545 y Fs(\\)p
|
||||
Fj(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
|
||||
b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fq(nnn)e
|
||||
Ft(\(one)i(to)1110 3654 y(three)c(digits\))630 3813 y
|
||||
Fs(\\x)p Fj(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e
|
||||
(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 b(alue)40
|
||||
b Fq(HH)1110 3923 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
|
||||
4081 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
|
||||
(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630
|
||||
4191 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
|
||||
b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38
|
||||
b(In)630 4301 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
|
||||
b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j
|
||||
(are)e(expanded.)37 b(Bac)m(kslash)630 4410 y(will)j(quote)h(an)m(y)f
|
||||
(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
|
||||
b(`)p Fs(")p Ft(')h(and)g(`)p Fs(')p Ft('.)69 b(F)-8
|
||||
b(or)630 4119 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
|
||||
b(or)630 4520 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
|
||||
(mak)m(e)h(`)p Fj(C-x)j Fs(\\)p Ft(')c(insert)f(a)h(single)h(`)p
|
||||
Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 4255 y Fs("\\C-x\\\\":)45
|
||||
b("\\\\")150 4488 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
|
||||
275 4736 y Ft(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
|
||||
Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 4654 y Fs("\\C-x\\\\":)45
|
||||
b("\\\\")150 4877 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
|
||||
275 5121 y Ft(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
|
||||
(in)g(spirit)g(to)h(the)g(conditional)h(compilation)g(features)150
|
||||
4846 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
|
||||
5230 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
|
||||
(bindings)e(and)h(v)-5 b(ariable)35 b(settings)h(to)f(b)s(e)f(p)s
|
||||
(erformed)f(as)150 4955 y(the)e(result)f(of)g(tests.)42
|
||||
b(There)30 b(are)h(four)e(parser)h(directiv)m(es)i(used.)150
|
||||
5121 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
|
||||
(bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g
|
||||
(the)630 5230 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
|
||||
(application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)
|
||||
630 5340 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
|
||||
(haracters)i(are)f(required)e(to)i(isolate)i(it.)p eop
|
||||
end
|
||||
(erformed)f(as)150 5340 y(the)e(result)f(of)g(tests.)42
|
||||
b(There)30 b(are)h(four)e(parser)h(directiv)m(es)i(used.)p
|
||||
eop end
|
||||
%%Page: 100 106
|
||||
TeXDict begin 100 105 bop 150 -116 a Ft(100)2527 b(Bash)31
|
||||
b(Reference)g(Man)m(ual)630 299 y Fs(mode)288 b Ft(The)20
|
||||
b Fs(mode=)g Ft(form)g(of)h(the)g Fs($if)f Ft(directiv)m(e)j(is)e(used)
|
||||
f(to)h(test)h(whether)e(Readline)1110 408 y(is)29 b(in)h
|
||||
Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40 b(This)29 b(ma)m(y)h(b)s(e)e
|
||||
(used)h(in)g(conjunction)h(with)f(the)1110 518 y(`)p
|
||||
Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f(set)g
|
||||
(bindings)f(in)g(the)h Fs(emacs-)1110 628 y(standard)23
|
||||
b(Reference)g(Man)m(ual)150 299 y Fs($if)336 b Ft(The)31
|
||||
b Fs($if)f Ft(construct)i(allo)m(ws)h(bindings)d(to)i(b)s(e)e(made)i
|
||||
(based)f(on)g(the)g(editing)h(mo)s(de,)g(the)630 408
|
||||
y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g(application)h(using)f
|
||||
(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)630 518
|
||||
y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m(haracters)i
|
||||
(are)f(required)e(to)i(isolate)i(it.)630 677 y Fs(mode)288
|
||||
b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g Fs($if)f
|
||||
Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)1110
|
||||
787 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40
|
||||
b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110
|
||||
897 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f
|
||||
(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 1006 y(standard)23
|
||||
b Ft(and)h Fs(emacs-ctlx)f Ft(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
|
||||
(starting)h(out)1110 737 y(in)k Fs(emacs)f Ft(mo)s(de.)630
|
||||
897 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e
|
||||
(starting)h(out)1110 1116 y(in)k Fs(emacs)f Ft(mo)s(de.)630
|
||||
1275 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e
|
||||
(used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110
|
||||
1006 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
|
||||
(output)g(b)m(y)g(the)g(terminal's)1110 1116 y(function)24
|
||||
1385 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
|
||||
(output)g(b)m(y)g(the)g(terminal's)1110 1494 y(function)24
|
||||
b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g
|
||||
(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 1225
|
||||
(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 1604
|
||||
y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s
|
||||
(ortion)e(of)h(the)g(terminal)1110 1335 y(name)k(b)s(efore)f(the)g
|
||||
(ortion)e(of)h(the)g(terminal)1110 1714 y(name)k(b)s(efore)f(the)g
|
||||
(\014rst)g(`)p Fs(-)p Ft('.)50 b(This)33 b(allo)m(ws)i
|
||||
Fs(sun)e Ft(to)h(matc)m(h)g(b)s(oth)f Fs(sun)g Ft(and)1110
|
||||
1445 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 1604 y
|
||||
Fs(application)1110 1714 y Ft(The)21 b Fq(application)j
|
||||
1823 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 1983 y
|
||||
Fs(application)1110 2092 y Ft(The)21 b Fq(application)j
|
||||
Ft(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h
|
||||
(set-)1110 1823 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
|
||||
(set-)1110 2202 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
|
||||
(Readline)g(library)g(sets)g(the)g Fq(application)1110
|
||||
1933 y(name)p Ft(,)g(and)e(y)m(ou)g(can)h(test)g(for)f(a)g(particular)h
|
||||
2311 y(name)p Ft(,)g(and)e(y)m(ou)g(can)h(test)g(for)f(a)g(particular)h
|
||||
(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g(used)f(to)1110
|
||||
2042 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h
|
||||
(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 2152
|
||||
2421 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h
|
||||
(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 2531
|
||||
y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)f
|
||||
(sequence)h(that)f(quotes)1110 2262 y(the)e(curren)m(t)f(or)g(previous)
|
||||
g(w)m(ord)g(in)g(Bash:)1350 2396 y Fs($if)47 b(Bash)1350
|
||||
2506 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)1350
|
||||
2615 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2725 y($endif)150
|
||||
2884 y($endif)192 b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g
|
||||
(sequence)h(that)f(quotes)1110 2640 y(the)e(curren)m(t)f(or)g(previous)
|
||||
g(w)m(ord)g(in)g(Bash:)1350 2775 y Fs($if)47 b(Bash)1350
|
||||
2884 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)1350
|
||||
2994 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 3103 y($endif)150
|
||||
3263 y($endif)192 b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g
|
||||
(previous)g(example,)h(terminates)g(an)g Fs($if)e Ft(command.)150
|
||||
3044 y Fs($else)240 b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
|
||||
3422 y Fs($else)240 b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
|
||||
(the)f Fs($if)g Ft(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g
|
||||
(fails.)150 3203 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m
|
||||
(fails.)150 3582 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m
|
||||
(es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g
|
||||
(commands)630 3313 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
|
||||
(commands)630 3691 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
|
||||
b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e
|
||||
(from)630 3422 y(`)p Fs(/etc/inputrc)p Ft(':)870 3557
|
||||
y Fs($include)46 b(/etc/inputrc)150 3781 y Fk(8.3.3)63
|
||||
b(Sample)41 b(Init)g(File)275 4025 y Ft(Here)31 b(is)f(an)g(example)i
|
||||
(from)630 3801 y(`)p Fs(/etc/inputrc)p Ft(':)870 3935
|
||||
y Fs($include)46 b(/etc/inputrc)150 4159 y Fk(8.3.3)63
|
||||
b(Sample)41 b(Init)g(File)275 4403 y Ft(Here)31 b(is)f(an)g(example)i
|
||||
(of)e(an)g Fq(inputrc)35 b Ft(\014le.)42 b(This)29 b(illustrates)j(k)m
|
||||
(ey)f(binding,)f(v)-5 b(ariable)31 b(assignmen)m(t,)150
|
||||
4134 y(and)f(conditional)h(syn)m(tax.)p eop end
|
||||
4513 y(and)f(conditional)h(syn)m(tax.)p eop end
|
||||
%%Page: 101 107
|
||||
TeXDict begin 101 106 bop 150 -116 a Ft(Chapter)30 b(8:)41
|
||||
b(Command)29 b(Line)i(Editing)2062 b(101)390 408 y Fs(#)47
|
||||
@@ -15043,7 +15048,7 @@ g(.)h(.)f(.)g(.)g(.)h(.)f(.)34 b Fb(64)2025 3218 y Fe
|
||||
b Fb(96)2025 3453 y Fr(K)2025 3569 y Fe(keymap)10 b Fc(.)j(.)f(.)h(.)f
|
||||
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
|
||||
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35
|
||||
b Fb(96)2025 3822 y Fr(L)2025 3939 y Fe(LANG)13 b Fc(.)g(.)f(.)g(.)g(.)
|
||||
b Fb(97)2025 3822 y Fr(L)2025 3939 y Fe(LANG)13 b Fc(.)g(.)f(.)g(.)g(.)
|
||||
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
|
||||
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
|
||||
38 b Fb(64)2025 4027 y Fe(LC_ALL)10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)
|
||||
|
||||
+3
-3
@@ -225,7 +225,7 @@ than by an executable program somewhere in the file system.
|
||||
|
||||
@item control operator
|
||||
@cindex control operator
|
||||
A @code{word} that performs a control function. It is a @code{newline}
|
||||
A @code{token} that performs a control function. It is a @code{newline}
|
||||
or one of the following:
|
||||
@samp{||}, @samp{&&}, @samp{&}, @samp{;}, @samp{;;},
|
||||
@samp{|}, @samp{(}, or @samp{)}.
|
||||
@@ -959,13 +959,13 @@ is enabled, the match is performed without regard to the case
|
||||
of alphabetic characters.
|
||||
The return value is 0 if the string matches (@samp{==}) or does not
|
||||
match (@samp{!=})the pattern, and 1 otherwise.
|
||||
Any part of the pattern may be quoted to force it to be matched as a string.
|
||||
Any part of the pattern may be quoted to force it to be matched as a
|
||||
string.
|
||||
|
||||
An additional binary operator, @samp{=~}, is available, with the same
|
||||
precedence as @samp{==} and @samp{!=}.
|
||||
When it is used, the string to the right of the operator is considered
|
||||
an extended regular expression and matched accordingly (as in @i{regex}3)).
|
||||
Any part of the pattern may be quoted to force it to be matched as a string.
|
||||
The return value is 0 if the string matches
|
||||
the pattern, and 1 otherwise.
|
||||
If the regular expression is syntactically incorrect, the conditional
|
||||
|
||||
+1
-1
@@ -108,7 +108,7 @@
|
||||
\entry{input-meta}{96}{\code {input-meta}}
|
||||
\entry{meta-flag}{96}{\code {meta-flag}}
|
||||
\entry{isearch-terminators}{96}{\code {isearch-terminators}}
|
||||
\entry{keymap}{96}{\code {keymap}}
|
||||
\entry{keymap}{97}{\code {keymap}}
|
||||
\entry{mark-modified-lines}{97}{\code {mark-modified-lines}}
|
||||
\entry{mark-symlinked-directories}{97}{\code {mark-symlinked-directories}}
|
||||
\entry{match-hidden-files}{97}{\code {match-hidden-files}}
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@
|
||||
\entry {\code {INPUTRC}}{64}
|
||||
\entry {\code {isearch-terminators}}{96}
|
||||
\initial {K}
|
||||
\entry {\code {keymap}}{96}
|
||||
\entry {\code {keymap}}{97}
|
||||
\initial {L}
|
||||
\entry {\code {LANG}}{64}
|
||||
\entry {\code {LC_ALL}}{64}
|
||||
|
||||
+98
-97
@@ -1224,10 +1224,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
|
||||
---- as signifying the end of options.
|
||||
|
||||
Expressions may be combined using the following operators,
|
||||
listed in decreasing order of precedence.
|
||||
listed in decreasing order of precedence. The evaluation
|
||||
depends on the number of arguments; see below.
|
||||
!! _e_x_p_r True if _e_x_p_r is false.
|
||||
(( _e_x_p_r ))
|
||||
Returns the value of _e_x_p_r. This may be used to override
|
||||
Returns the value of _e_x_p_r. This may be used to override
|
||||
the normal precedence of operators.
|
||||
_e_x_p_r_1 -aa _e_x_p_r_2
|
||||
True if both _e_x_p_r_1 and _e_x_p_r_2 are true.
|
||||
@@ -1244,116 +1245,116 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
|
||||
null.
|
||||
2 arguments
|
||||
If the first argument is !!, the expression is true if and
|
||||
only if the second argument is null. If the first argu-
|
||||
ment is one of the unary conditional operators listed
|
||||
above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
|
||||
only if the second argument is null. If the first argu-
|
||||
ment is one of the unary conditional operators listed
|
||||
above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
|
||||
true if the unary test is true. If the first argument is
|
||||
not a valid unary conditional operator, the expression is
|
||||
false.
|
||||
3 arguments
|
||||
If the second argument is one of the binary conditional
|
||||
If the second argument is one of the binary conditional
|
||||
operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
|
||||
result of the expression is the result of the binary test
|
||||
using the first and third arguments as operands. If the
|
||||
first argument is !!, the value is the negation of the
|
||||
two-argument test using the second and third arguments.
|
||||
If the first argument is exactly (( and the third argument
|
||||
is exactly )), the result is the one-argument test of the
|
||||
second argument. Otherwise, the expression is false.
|
||||
The --aa and --oo operators are considered binary operators
|
||||
in this case.
|
||||
using the first and third arguments as operands. The --aa
|
||||
and --oo operators are considered binary operators when
|
||||
there are three arguments. If the first argument is !!,
|
||||
the value is the negation of the two-argument test using
|
||||
the second and third arguments. If the first argument is
|
||||
exactly (( and the third argument is exactly )), the result
|
||||
is the one-argument test of the second argument. Other-
|
||||
wise, the expression is false.
|
||||
4 arguments
|
||||
If the first argument is !!, the result is the negation of
|
||||
the three-argument expression composed of the remaining
|
||||
the three-argument expression composed of the remaining
|
||||
arguments. Otherwise, the expression is parsed and eval-
|
||||
uated according to precedence using the rules listed
|
||||
uated according to precedence using the rules listed
|
||||
above.
|
||||
5 or more arguments
|
||||
The expression is parsed and evaluated according to
|
||||
The expression is parsed and evaluated according to
|
||||
precedence using the rules listed above.
|
||||
|
||||
ttiimmeess Print the accumulated user and system times for the shell and
|
||||
ttiimmeess Print the accumulated user and system times for the shell and
|
||||
for processes run from the shell. The return status is 0.
|
||||
|
||||
ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...]
|
||||
The command _a_r_g is to be read and executed when the shell
|
||||
receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
|
||||
single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
|
||||
original disposition (the value it had upon entrance to the
|
||||
shell). If _a_r_g is the null string the signal specified by each
|
||||
_s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
|
||||
If _a_r_g is not present and --pp has been supplied, then the trap
|
||||
commands associated with each _s_i_g_s_p_e_c are displayed. If no
|
||||
arguments are supplied or if only --pp is given, ttrraapp prints the
|
||||
list of commands associated with each signal. The --ll option
|
||||
causes the shell to print a list of signal names and their cor-
|
||||
responding numbers. Each _s_i_g_s_p_e_c is either a signal name
|
||||
defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
|
||||
case insensitive and the SIG prefix is optional. If a _s_i_g_s_p_e_c
|
||||
is EEXXIITT (0) the command _a_r_g is executed on exit from the shell.
|
||||
If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is executed before every
|
||||
The command _a_r_g is to be read and executed when the shell
|
||||
receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
|
||||
single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
|
||||
original disposition (the value it had upon entrance to the
|
||||
shell). If _a_r_g is the null string the signal specified by each
|
||||
_s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
|
||||
If _a_r_g is not present and --pp has been supplied, then the trap
|
||||
commands associated with each _s_i_g_s_p_e_c are displayed. If no
|
||||
arguments are supplied or if only --pp is given, ttrraapp prints the
|
||||
list of commands associated with each signal. The --ll option
|
||||
causes the shell to print a list of signal names and their cor-
|
||||
responding numbers. Each _s_i_g_s_p_e_c is either a signal name
|
||||
defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
|
||||
case insensitive and the SIG prefix is optional. If a _s_i_g_s_p_e_c
|
||||
is EEXXIITT (0) the command _a_r_g is executed on exit from the shell.
|
||||
If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is executed before every
|
||||
_s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, _s_e_l_e_c_t command, every
|
||||
arithmetic _f_o_r command, and before the first command executes in
|
||||
a shell function (see SSHHEELLLL GGRRAAMMMMAARR above). Refer to the
|
||||
description of the eexxttddeebbuugg option to the sshhoopptt builtin for
|
||||
details of its effect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is EERRRR,
|
||||
the command _a_r_g is executed whenever a simple command has a
|
||||
non-zero exit status, subject to the following conditions. The
|
||||
EERRRR trap is not executed if the failed command is part of the
|
||||
command list immediately following a wwhhiillee or uunnttiill keyword,
|
||||
a shell function (see SSHHEELLLL GGRRAAMMMMAARR above). Refer to the
|
||||
description of the eexxttddeebbuugg option to the sshhoopptt builtin for
|
||||
details of its effect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is EERRRR,
|
||||
the command _a_r_g is executed whenever a simple command has a
|
||||
non-zero exit status, subject to the following conditions. The
|
||||
EERRRR trap is not executed if the failed command is part of the
|
||||
command list immediately following a wwhhiillee or uunnttiill keyword,
|
||||
part of the test in an _i_f statement, part of a &&&& or |||| list, or
|
||||
if the command's return value is being inverted via !!. These
|
||||
are the same conditions obeyed by the eerrrreexxiitt option. If a
|
||||
if the command's return value is being inverted via !!. These
|
||||
are the same conditions obeyed by the eerrrreexxiitt option. If a
|
||||
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
|
||||
function or a script executed with the .. or ssoouurrccee builtins fin-
|
||||
ishes executing. Signals ignored upon entry to the shell cannot
|
||||
be trapped or reset. Trapped signals that are not being ignored
|
||||
are reset to their original values in a child process when it is
|
||||
created. The return status is false if any _s_i_g_s_p_e_c is invalid;
|
||||
created. The return status is false if any _s_i_g_s_p_e_c is invalid;
|
||||
otherwise ttrraapp returns true.
|
||||
|
||||
ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...]
|
||||
With no options, indicate how each _n_a_m_e would be interpreted if
|
||||
With no options, indicate how each _n_a_m_e would be interpreted if
|
||||
used as a command name. If the --tt option is used, ttyyppee prints a
|
||||
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
|
||||
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
|
||||
builtin, or disk file, respectively. If the _n_a_m_e is not found,
|
||||
then nothing is printed, and an exit status of false is
|
||||
returned. If the --pp option is used, ttyyppee either returns the
|
||||
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
|
||||
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
|
||||
builtin, or disk file, respectively. If the _n_a_m_e is not found,
|
||||
then nothing is printed, and an exit status of false is
|
||||
returned. If the --pp option is used, ttyyppee either returns the
|
||||
name of the disk file that would be executed if _n_a_m_e were speci-
|
||||
fied as a command name, or nothing if ``type -t name'' would not
|
||||
return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
|
||||
return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
|
||||
even if ``type -t name'' would not return _f_i_l_e. If a command is
|
||||
hashed, --pp and --PP print the hashed value, not necessarily the
|
||||
hashed, --pp and --PP print the hashed value, not necessarily the
|
||||
file that appears first in PPAATTHH. If the --aa option is used, ttyyppee
|
||||
prints all of the places that contain an executable named _n_a_m_e.
|
||||
This includes aliases and functions, if and only if the --pp
|
||||
option is not also used. The table of hashed commands is not
|
||||
consulted when using --aa. The --ff option suppresses shell func-
|
||||
tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
|
||||
prints all of the places that contain an executable named _n_a_m_e.
|
||||
This includes aliases and functions, if and only if the --pp
|
||||
option is not also used. The table of hashed commands is not
|
||||
consulted when using --aa. The --ff option suppresses shell func-
|
||||
tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
|
||||
any of the arguments are found, false if none are found.
|
||||
|
||||
uulliimmiitt [--SSHHaaccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]]
|
||||
Provides control over the resources available to the shell and
|
||||
to processes started by it, on systems that allow such control.
|
||||
Provides control over the resources available to the shell and
|
||||
to processes started by it, on systems that allow such control.
|
||||
The --HH and --SS options specify that the hard or soft limit is set
|
||||
for the given resource. A hard limit cannot be increased once
|
||||
it is set; a soft limit may be increased up to the value of the
|
||||
hard limit. If neither --HH nor --SS is specified, both the soft
|
||||
and hard limits are set. The value of _l_i_m_i_t can be a number in
|
||||
for the given resource. A hard limit cannot be increased once
|
||||
it is set; a soft limit may be increased up to the value of the
|
||||
hard limit. If neither --HH nor --SS is specified, both the soft
|
||||
and hard limits are set. The value of _l_i_m_i_t can be a number in
|
||||
the unit specified for the resource or one of the special values
|
||||
hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the current hard
|
||||
limit, the current soft limit, and no limit, respectively. If
|
||||
_l_i_m_i_t is omitted, the current value of the soft limit of the
|
||||
resource is printed, unless the --HH option is given. When more
|
||||
than one resource is specified, the limit name and unit are
|
||||
hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the current hard
|
||||
limit, the current soft limit, and no limit, respectively. If
|
||||
_l_i_m_i_t is omitted, the current value of the soft limit of the
|
||||
resource is printed, unless the --HH option is given. When more
|
||||
than one resource is specified, the limit name and unit are
|
||||
printed before the value. Other options are interpreted as fol-
|
||||
lows:
|
||||
--aa All current limits are reported
|
||||
--cc The maximum size of core files created
|
||||
--dd The maximum size of a process's data segment
|
||||
--ee The maximum scheduling priority ("nice")
|
||||
--ff The maximum size of files written by the shell and its
|
||||
--ff The maximum size of files written by the shell and its
|
||||
children
|
||||
--ii The maximum number of pending signals
|
||||
--ll The maximum size that may be locked into memory
|
||||
@@ -1365,57 +1366,57 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
|
||||
--rr The maximum real-time scheduling priority
|
||||
--ss The maximum stack size
|
||||
--tt The maximum amount of cpu time in seconds
|
||||
--uu The maximum number of processes available to a single
|
||||
--uu The maximum number of processes available to a single
|
||||
user
|
||||
--vv The maximum amount of virtual memory available to the
|
||||
--vv The maximum amount of virtual memory available to the
|
||||
shell
|
||||
--xx The maximum number of file locks
|
||||
|
||||
If _l_i_m_i_t is given, it is the new value of the specified resource
|
||||
(the --aa option is display only). If no option is given, then --ff
|
||||
is assumed. Values are in 1024-byte increments, except for --tt,
|
||||
which is in seconds, --pp, which is in units of 512-byte blocks,
|
||||
and --nn and --uu, which are unscaled values. The return status is
|
||||
0 unless an invalid option or argument is supplied, or an error
|
||||
is assumed. Values are in 1024-byte increments, except for --tt,
|
||||
which is in seconds, --pp, which is in units of 512-byte blocks,
|
||||
and --nn and --uu, which are unscaled values. The return status is
|
||||
0 unless an invalid option or argument is supplied, or an error
|
||||
occurs while setting a new limit.
|
||||
|
||||
uummaasskk [--pp] [--SS] [_m_o_d_e]
|
||||
The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with
|
||||
a digit, it is interpreted as an octal number; otherwise it is
|
||||
interpreted as a symbolic mode mask similar to that accepted by
|
||||
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
|
||||
printed. The --SS option causes the mask to be printed in sym-
|
||||
bolic form; the default output is an octal number. If the --pp
|
||||
a digit, it is interpreted as an octal number; otherwise it is
|
||||
interpreted as a symbolic mode mask similar to that accepted by
|
||||
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
|
||||
printed. The --SS option causes the mask to be printed in sym-
|
||||
bolic form; the default output is an octal number. If the --pp
|
||||
option is supplied, and _m_o_d_e is omitted, the output is in a form
|
||||
that may be reused as input. The return status is 0 if the mode
|
||||
was successfully changed or if no _m_o_d_e argument was supplied,
|
||||
was successfully changed or if no _m_o_d_e argument was supplied,
|
||||
and false otherwise.
|
||||
|
||||
uunnaalliiaass [-aa] [_n_a_m_e ...]
|
||||
Remove each _n_a_m_e from the list of defined aliases. If --aa is
|
||||
supplied, all alias definitions are removed. The return value
|
||||
Remove each _n_a_m_e from the list of defined aliases. If --aa is
|
||||
supplied, all alias definitions are removed. The return value
|
||||
is true unless a supplied _n_a_m_e is not a defined alias.
|
||||
|
||||
uunnsseett [-ffvv] [_n_a_m_e ...]
|
||||
For each _n_a_m_e, remove the corresponding variable or function.
|
||||
For each _n_a_m_e, remove the corresponding variable or function.
|
||||
If no options are supplied, or the --vv option is given, each _n_a_m_e
|
||||
refers to a shell variable. Read-only variables may not be
|
||||
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
|
||||
tion, and the function definition is removed. Each unset vari-
|
||||
able or function is removed from the environment passed to sub-
|
||||
sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD,
|
||||
refers to a shell variable. Read-only variables may not be
|
||||
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
|
||||
tion, and the function definition is removed. Each unset vari-
|
||||
able or function is removed from the environment passed to sub-
|
||||
sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD,
|
||||
FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their special
|
||||
properties, even if they are subsequently reset. The exit sta-
|
||||
properties, even if they are subsequently reset. The exit sta-
|
||||
tus is true unless a _n_a_m_e is readonly.
|
||||
|
||||
wwaaiitt [_n _._._.]
|
||||
Wait for each specified process and return its termination sta-
|
||||
tus. Each _n may be a process ID or a job specification; if a
|
||||
job spec is given, all processes in that job's pipeline are
|
||||
waited for. If _n is not given, all currently active child pro-
|
||||
cesses are waited for, and the return status is zero. If _n
|
||||
specifies a non-existent process or job, the return status is
|
||||
127. Otherwise, the return status is the exit status of the
|
||||
Wait for each specified process and return its termination sta-
|
||||
tus. Each _n may be a process ID or a job specification; if a
|
||||
job spec is given, all processes in that job's pipeline are
|
||||
waited for. If _n is not given, all currently active child pro-
|
||||
cesses are waited for, and the return status is zero. If _n
|
||||
specifies a non-existent process or job, the return status is
|
||||
127. Otherwise, the return status is the exit status of the
|
||||
last process or job waited for.
|
||||
|
||||
SSEEEE AALLSSOO
|
||||
|
||||
+27
-24
@@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.19.1
|
||||
%%CreationDate: Tue Jan 16 11:15:09 2007
|
||||
%%CreationDate: Fri May 11 16:18:41 2007
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
@@ -2083,10 +2083,12 @@ BP
|
||||
(does it accept and ignore an ar)144 84 Q(gument of)-.18 E/F1 10
|
||||
/Times-Bold@0 SF<adad>2.5 E F0(as signifying the end of options.)2.5 E
|
||||
.785(Expressions may be combined using the follo)144 102 R .786
|
||||
(wing operators, listed in decreasing order of prece-)-.25 F(dence.)144
|
||||
114 Q F1(!)144 126 Q/F2 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F0
|
||||
-.35(Tr)12.6 G(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)
|
||||
-.1 E F1(\()144 138 Q F2 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26
|
||||
(wing operators, listed in decreasing order of prece-)-.25 F 2.5
|
||||
(dence. The)144 114 R -.25(eva)2.5 G
|
||||
(luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65
|
||||
(w.)-.25 G F1(!)144 126 Q/F2 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E
|
||||
F0 -.35(Tr)12.6 G(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E
|
||||
(alse.)-.1 E F1(\()144 138 Q F2 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26
|
||||
(Returns the v)6.77 F .26(alue of)-.25 F F2 -.2(ex)2.76 G(pr).2 E F0
|
||||
5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
|
||||
(rride the normal precedence of opera-).15 F(tors.)180 150 Q F2 -.2(ex)
|
||||
@@ -2117,25 +2119,26 @@ F .37(xpression is true if and only if the second ar)-.15 F .37
|
||||
(gument is one of the binary conditional operators listed abo)-.18 F
|
||||
.323 -.15(ve u)-.15 H(nder).15 E F3(CON-)2.523 E(DITION)180 364.8 Q
|
||||
1.477(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F
|
||||
1.477(xpression is the result of the binary test)-.15 F .398
|
||||
(using the \214rst and third ar)180 376.8 R .398(guments as operands.)
|
||||
-.18 F .398(If the \214rst ar)5.398 F .397(gument is)-.18 F F1(!)2.897 E
|
||||
F0 2.897(,t)C .397(he v)-2.897 F .397(alue is the)-.25 F(ne)180 388.8 Q
|
||||
-.05(ga)-.15 G .262(tion of the tw).05 F(o-ar)-.1 E .262
|
||||
(gument test using the second and third ar)-.18 F 2.762(guments. If)-.18
|
||||
F .263(the \214rst ar)2.762 F(gu-)-.18 E .206(ment is e)180 400.8 R
|
||||
(xactly)-.15 E F1(\()2.706 E F0 .205(and the third ar)2.706 F .205
|
||||
(gument is e)-.18 F(xactly)-.15 E F1(\))2.705 E F0 2.705(,t)C .205
|
||||
(he result is the one-ar)-2.705 F .205(gument test of)-.18 F 1.17
|
||||
(the second ar)180 412.8 R 3.67(gument. Otherwise,)-.18 F 1.171(the e)
|
||||
3.671 F 1.171(xpression is f)-.15 F 3.671(alse. The)-.1 F F1<ad61>3.671
|
||||
E F0(and)3.671 E F1<ad6f>3.671 E F0 1.171(operators are)3.671 F
|
||||
(considered binary operators in this case.)180 424.8 Q 2.5(4a)144 436.8
|
||||
S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 448.8 R .385
|
||||
(gument is)-.18 F F1(!)2.885 E F0 2.885(,t)C .385(he result is the ne)
|
||||
-2.885 F -.05(ga)-.15 G .384(tion of the three-ar).05 F .384(gument e)
|
||||
-.18 F .384(xpression com-)-.15 F 1.647(posed of the remaining ar)180
|
||||
460.8 R 4.147(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648
|
||||
1.477(xpression is the result of the binary test)-.15 F .513
|
||||
(using the \214rst and third ar)180 376.8 R .513(guments as operands.)
|
||||
-.18 F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0
|
||||
.512(operators are considered)3.013 F .972
|
||||
(binary operators when there are three ar)180 388.8 R 3.472(guments. If)
|
||||
-.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0
|
||||
3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .884(the ne)180 400.8
|
||||
R -.05(ga)-.15 G .884(tion of the tw).05 F(o-ar)-.1 E .884
|
||||
(gument test using the second and third ar)-.18 F 3.383(guments. If)-.18
|
||||
F .883(the \214rst)3.383 F(ar)180 412.8 Q .874(gument is e)-.18 F
|
||||
(xactly)-.15 E F1(\()3.374 E F0 .875(and the third ar)3.374 F .875
|
||||
(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.375(,t)C .875
|
||||
(he result is the one-ar)-3.375 F(gument)-.18 E(test of the second ar)
|
||||
180 424.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)
|
||||
-.15 E(alse.)-.1 E 2.5(4a)144 436.8 S -.18(rg)-2.5 G(uments).18 E .385
|
||||
(If the \214rst ar)180 448.8 R .385(gument is)-.18 F F1(!)2.885 E F0
|
||||
2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .384
|
||||
(tion of the three-ar).05 F .384(gument e)-.18 F .384(xpression com-)
|
||||
-.15 F 1.647(posed of the remaining ar)180 460.8 R 4.147
|
||||
(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648
|
||||
(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
|
||||
(according to precedence using the rules listed abo)180 472.8 Q -.15(ve)
|
||||
-.15 G(.).15 E 2.5(5o)144 484.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
From: chet.ramey@case.edu (Chet Ramey)
|
||||
To: bug-bash@gnu.org
|
||||
Subject: BASH Frequently-Asked Questions (FAQ version 3.35)
|
||||
Cc: chet.ramey@case.edu
|
||||
Reply-To: chet.ramey@case.edu
|
||||
Subject: BASH Frequently-Asked Questions (FAQ version 3.36)
|
||||
Reply-To: chet@po.cwru.edu
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Newsgroups: comp.unix.shell,comp.unix.questions
|
||||
Distribution: world
|
||||
From: chet@po.cwru.edu (Chet Ramey)
|
||||
Subject: BASH Frequently-Asked Questions (FAQ version 3.35)
|
||||
Subject: BASH Frequently-Asked Questions (FAQ version 3.36)
|
||||
Organization: Case Western Reserve University
|
||||
Summary: A's to Q's about BASH, the Bourne-Again SHell
|
||||
Reply-To: chet@po.cwru.edu
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Newsgroups: comp.unix.shell,comp.unix.questions,comp.answers,news.answers
|
||||
From: chet@po.cwru.edu (Chet Ramey)
|
||||
Subject: [gnu.bash.bug] BASH Frequently-Asked Questions (FAQ version 3.35)
|
||||
Subject: [gnu.bash.bug] BASH Frequently-Asked Questions (FAQ version 3.36)
|
||||
Organization: Case Western Reserve University
|
||||
Summary: A's to Q's about BASH, the Bourne-Again SHell
|
||||
Reply-To: chet@po.cwru.edu
|
||||
|
||||
+38
-7
@@ -1,18 +1,17 @@
|
||||
From: chet.ramey@case.edu (Chet Ramey)
|
||||
To: bug-bash@gnu.org
|
||||
Subject: BASH Frequently-Asked Questions (FAQ version 3.35)
|
||||
Cc: chet.ramey@case.edu
|
||||
Reply-To: chet.ramey@case.edu
|
||||
Subject: BASH Frequently-Asked Questions (FAQ version 3.36)
|
||||
Reply-To: chet@po.cwru.edu
|
||||
Archive-name: unix-faq/shell/bash
|
||||
Posting-Frequency: monthly
|
||||
Submitted-By: chet@po.cwru.edu (Chet Ramey)
|
||||
Last-Modified: Thu Dec 14 11:34:54 EST 2006
|
||||
FAQ-Version: 3.35
|
||||
Last-Modified: Fri May 11 16:18:55 EDT 2007
|
||||
FAQ-Version: 3.36
|
||||
Bash-Version: 3.2
|
||||
URL: ftp://ftp.cwru.edu/pub/bash/FAQ
|
||||
Maintainer: chet@po.cwru.edu (Chet Ramey)
|
||||
|
||||
This is the Bash FAQ, version 3.35, for Bash version 3.2.
|
||||
This is the Bash FAQ, version 3.36, for Bash version 3.2.
|
||||
|
||||
This document contains a set of frequently-asked questions concerning
|
||||
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
|
||||
@@ -93,6 +92,8 @@ E11) If I resize my xterm while another program is running, why doesn't bash
|
||||
notice the change?
|
||||
E12) Why don't negative offsets in substring expansion work like I expect?
|
||||
E13) Why does filename completion misbehave if a colon appears in the filename?
|
||||
E14) Why does quoting the pattern argument to the regular expression matching
|
||||
conditional operator (=~) cause matching to stop working?
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
@@ -922,7 +923,9 @@ D1) Why does bash run a different version of `command' than
|
||||
On many systems, `which' is actually a csh script that assumes
|
||||
you're running csh. In tcsh, `which' and its cousin `where'
|
||||
are builtins. On other Unix systems, `which' is a perl script
|
||||
that uses the PATH environment variable.
|
||||
that uses the PATH environment variable. Many Linux distributions
|
||||
use GNU `which', which is a C program that can understand shell
|
||||
aliases.
|
||||
|
||||
The csh script version reads the csh startup files from your
|
||||
home directory and uses those to determine which `command' will
|
||||
@@ -1439,6 +1442,34 @@ COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
|
||||
You can also quote the colon with a backslash to achieve the same result
|
||||
temporarily.
|
||||
|
||||
E14) Why does quoting the pattern argument to the regular expression matching
|
||||
conditional operator (=~) cause regexp matching to stop working?
|
||||
|
||||
In versions of bash prior to bash-3.2, the effect of quoting the regular
|
||||
expression argument to the [[ command's =~ operator was not specified.
|
||||
The practical effect was that double-quoting the pattern argument required
|
||||
backslashes to quote special pattern characters, which interfered with the
|
||||
backslash processing performed by double-quoted word expansion and was
|
||||
inconsistent with how the == shell pattern matching operator treated
|
||||
quoted characters.
|
||||
|
||||
In bash-3.2, the shell was changed to internally quote characters in single-
|
||||
and double-quoted string arguments to the =~ operator, which suppresses the
|
||||
special meaning of the characters special to regular expression processing
|
||||
(`.', `[', `\', `(', `), `*', `+', `?', `{', `|', `^', and `$') and forces
|
||||
them to be matched literally. This is consistent with how the `==' pattern
|
||||
matching operator treats quoted portions of its pattern argument.
|
||||
|
||||
Since the treatment of quoted string arguments was changed, several issues
|
||||
have arisen, chief among them the problem of white space in pattern arguments
|
||||
and the differing treatment of quoted strings between bash-3.1 and bash-3.2.
|
||||
Both problems may be solved by using a shell variable to hold the pattern.
|
||||
Since word splitting is not performed when expanding shell variables in all
|
||||
operands of the [[ command, this allows users to quote patterns as they wish
|
||||
when assigning the variable, then expand the values to a single string that
|
||||
may contain whitespace. The first problem may be solved by using backslashes
|
||||
or any other quoting mechanism to escape the white space in the patterns.
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
F1) Why can't I use command line editing in my `cmdtool'?
|
||||
|
||||
+1886
File diff suppressed because it is too large
Load Diff
+37
-5
@@ -1,7 +1,7 @@
|
||||
Newsgroups: comp.unix.shell,comp.unix.questions
|
||||
Distribution: world
|
||||
From: chet@po.cwru.edu (Chet Ramey)
|
||||
Subject: BASH Frequently-Asked Questions (FAQ version 3.35)
|
||||
Subject: BASH Frequently-Asked Questions (FAQ version 3.36)
|
||||
Organization: Case Western Reserve University
|
||||
Summary: A's to Q's about BASH, the Bourne-Again SHell
|
||||
Reply-To: chet@po.cwru.edu
|
||||
@@ -10,13 +10,13 @@ Followup-To: poster
|
||||
Archive-name: unix-faq/shell/bash
|
||||
Posting-Frequency: monthly
|
||||
Submitted-By: chet@po.cwru.edu (Chet Ramey)
|
||||
Last-Modified: Thu Dec 14 11:34:54 EST 2006
|
||||
FAQ-Version: 3.35
|
||||
Last-Modified: Fri May 11 16:18:55 EDT 2007
|
||||
FAQ-Version: 3.36
|
||||
Bash-Version: 3.2
|
||||
URL: ftp://ftp.cwru.edu/pub/bash/FAQ
|
||||
Maintainer: chet@po.cwru.edu (Chet Ramey)
|
||||
|
||||
This is the Bash FAQ, version 3.35, for Bash version 3.2.
|
||||
This is the Bash FAQ, version 3.36, for Bash version 3.2.
|
||||
|
||||
This document contains a set of frequently-asked questions concerning
|
||||
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
|
||||
@@ -97,6 +97,8 @@ E11) If I resize my xterm while another program is running, why doesn't bash
|
||||
notice the change?
|
||||
E12) Why don't negative offsets in substring expansion work like I expect?
|
||||
E13) Why does filename completion misbehave if a colon appears in the filename?
|
||||
E14) Why does quoting the pattern argument to the regular expression matching
|
||||
conditional operator (=~) cause matching to stop working?
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
@@ -926,7 +928,9 @@ D1) Why does bash run a different version of `command' than
|
||||
On many systems, `which' is actually a csh script that assumes
|
||||
you're running csh. In tcsh, `which' and its cousin `where'
|
||||
are builtins. On other Unix systems, `which' is a perl script
|
||||
that uses the PATH environment variable.
|
||||
that uses the PATH environment variable. Many Linux distributions
|
||||
use GNU `which', which is a C program that can understand shell
|
||||
aliases.
|
||||
|
||||
The csh script version reads the csh startup files from your
|
||||
home directory and uses those to determine which `command' will
|
||||
@@ -1443,6 +1447,34 @@ COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
|
||||
You can also quote the colon with a backslash to achieve the same result
|
||||
temporarily.
|
||||
|
||||
E14) Why does quoting the pattern argument to the regular expression matching
|
||||
conditional operator (=~) cause regexp matching to stop working?
|
||||
|
||||
In versions of bash prior to bash-3.2, the effect of quoting the regular
|
||||
expression argument to the [[ command's =~ operator was not specified.
|
||||
The practical effect was that double-quoting the pattern argument required
|
||||
backslashes to quote special pattern characters, which interfered with the
|
||||
backslash processing performed by double-quoted word expansion and was
|
||||
inconsistent with how the == shell pattern matching operator treated
|
||||
quoted characters.
|
||||
|
||||
In bash-3.2, the shell was changed to internally quote characters in single-
|
||||
and double-quoted string arguments to the =~ operator, which suppresses the
|
||||
special meaning of the characters special to regular expression processing
|
||||
(`.', `[', `\', `(', `), `*', `+', `?', `{', `|', `^', and `$') and forces
|
||||
them to be matched literally. This is consistent with how the `==' pattern
|
||||
matching operator treats quoted portions of its pattern argument.
|
||||
|
||||
Since the treatment of quoted string arguments was changed, several issues
|
||||
have arisen, chief among them the problem of white space in pattern arguments
|
||||
and the differing treatment of quoted strings between bash-3.1 and bash-3.2.
|
||||
Both problems may be solved by using a shell variable to hold the pattern.
|
||||
Since word splitting is not performed when expanding shell variables in all
|
||||
operands of the [[ command, this allows users to quote patterns as they wish
|
||||
when assigning the variable, then expand the values to a single string that
|
||||
may contain whitespace. The first problem may be solved by using backslashes
|
||||
or any other quoting mechanism to escape the white space in the patterns.
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
F1) Why can't I use command line editing in my `cmdtool'?
|
||||
|
||||
+37
-5
@@ -1,6 +1,6 @@
|
||||
Newsgroups: comp.unix.shell,comp.unix.questions,comp.answers,news.answers
|
||||
From: chet@po.cwru.edu (Chet Ramey)
|
||||
Subject: [gnu.bash.bug] BASH Frequently-Asked Questions (FAQ version 3.35)
|
||||
Subject: [gnu.bash.bug] BASH Frequently-Asked Questions (FAQ version 3.36)
|
||||
Organization: Case Western Reserve University
|
||||
Summary: A's to Q's about BASH, the Bourne-Again SHell
|
||||
Reply-To: chet@po.cwru.edu
|
||||
@@ -10,13 +10,13 @@ Approved: news-answers-request@MIT.EDU
|
||||
Archive-name: unix-faq/shell/bash
|
||||
Posting-Frequency: monthly
|
||||
Submitted-By: chet@po.cwru.edu (Chet Ramey)
|
||||
Last-Modified: Thu Dec 14 11:34:54 EST 2006
|
||||
FAQ-Version: 3.35
|
||||
Last-Modified: Fri May 11 16:18:55 EDT 2007
|
||||
FAQ-Version: 3.36
|
||||
Bash-Version: 3.2
|
||||
URL: ftp://ftp.cwru.edu/pub/bash/FAQ
|
||||
Maintainer: chet@po.cwru.edu (Chet Ramey)
|
||||
|
||||
This is the Bash FAQ, version 3.35, for Bash version 3.2.
|
||||
This is the Bash FAQ, version 3.36, for Bash version 3.2.
|
||||
|
||||
This document contains a set of frequently-asked questions concerning
|
||||
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
|
||||
@@ -97,6 +97,8 @@ E11) If I resize my xterm while another program is running, why doesn't bash
|
||||
notice the change?
|
||||
E12) Why don't negative offsets in substring expansion work like I expect?
|
||||
E13) Why does filename completion misbehave if a colon appears in the filename?
|
||||
E14) Why does quoting the pattern argument to the regular expression matching
|
||||
conditional operator (=~) cause matching to stop working?
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
@@ -926,7 +928,9 @@ D1) Why does bash run a different version of `command' than
|
||||
On many systems, `which' is actually a csh script that assumes
|
||||
you're running csh. In tcsh, `which' and its cousin `where'
|
||||
are builtins. On other Unix systems, `which' is a perl script
|
||||
that uses the PATH environment variable.
|
||||
that uses the PATH environment variable. Many Linux distributions
|
||||
use GNU `which', which is a C program that can understand shell
|
||||
aliases.
|
||||
|
||||
The csh script version reads the csh startup files from your
|
||||
home directory and uses those to determine which `command' will
|
||||
@@ -1443,6 +1447,34 @@ COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
|
||||
You can also quote the colon with a backslash to achieve the same result
|
||||
temporarily.
|
||||
|
||||
E14) Why does quoting the pattern argument to the regular expression matching
|
||||
conditional operator (=~) cause regexp matching to stop working?
|
||||
|
||||
In versions of bash prior to bash-3.2, the effect of quoting the regular
|
||||
expression argument to the [[ command's =~ operator was not specified.
|
||||
The practical effect was that double-quoting the pattern argument required
|
||||
backslashes to quote special pattern characters, which interfered with the
|
||||
backslash processing performed by double-quoted word expansion and was
|
||||
inconsistent with how the == shell pattern matching operator treated
|
||||
quoted characters.
|
||||
|
||||
In bash-3.2, the shell was changed to internally quote characters in single-
|
||||
and double-quoted string arguments to the =~ operator, which suppresses the
|
||||
special meaning of the characters special to regular expression processing
|
||||
(`.', `[', `\', `(', `), `*', `+', `?', `{', `|', `^', and `$') and forces
|
||||
them to be matched literally. This is consistent with how the `==' pattern
|
||||
matching operator treats quoted portions of its pattern argument.
|
||||
|
||||
Since the treatment of quoted string arguments was changed, several issues
|
||||
have arisen, chief among them the problem of white space in pattern arguments
|
||||
and the differing treatment of quoted strings between bash-3.1 and bash-3.2.
|
||||
Both problems may be solved by using a shell variable to hold the pattern.
|
||||
Since word splitting is not performed when expanding shell variables in all
|
||||
operands of the [[ command, this allows users to quote patterns as they wish
|
||||
when assigning the variable, then expand the values to a single string that
|
||||
may contain whitespace. The first problem may be solved by using backslashes
|
||||
or any other quoting mechanism to escape the white space in the patterns.
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
F1) Why can't I use command line editing in my `cmdtool'?
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
Archive-name: unix-faq/shell/bash
|
||||
Posting-Frequency: monthly
|
||||
Submitted-By: chet@po.cwru.edu (Chet Ramey)
|
||||
Last-Modified: Thu Dec 14 11:34:54 EST 2006
|
||||
FAQ-Version: 3.35
|
||||
Last-Modified: Fri May 11 16:18:55 EDT 2007
|
||||
FAQ-Version: 3.36
|
||||
Bash-Version: 3.2
|
||||
URL: ftp://ftp.cwru.edu/pub/bash/FAQ
|
||||
Maintainer: chet@po.cwru.edu (Chet Ramey)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.19.1
|
||||
%%CreationDate: Tue Jan 16 11:15:09 2007
|
||||
%%CreationDate: Fri May 11 16:18:41 2007
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%DocumentSuppliedResources: procset grops 1.19 1
|
||||
|
||||
+2
-2
@@ -2,9 +2,9 @@
|
||||
Copyright (C) 1988-2007 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Mon May 14 10:02:55 EDT 2007
|
||||
@set LASTCHANGE Tue May 1 10:05:36 EDT 2007
|
||||
|
||||
@set EDITION 3.2
|
||||
@set VERSION 3.2
|
||||
@set UPDATED 14 May 2007
|
||||
@set UPDATED 1 May 2007
|
||||
@set UPDATED-MONTH May 2007
|
||||
|
||||
+23
-16
@@ -188,9 +188,6 @@ static int execute_connection __P((COMMAND *, int, int, int, struct fd_bitmap *)
|
||||
|
||||
static int execute_intern_function __P((WORD_DESC *, COMMAND *));
|
||||
|
||||
/* The line number that the currently executing function starts on. */
|
||||
static int function_line_number;
|
||||
|
||||
/* Set to 1 if fd 0 was the subject of redirection to a subshell. Global
|
||||
so that reader_loop can set it to zero before executing a command. */
|
||||
int stdin_redir;
|
||||
@@ -204,19 +201,6 @@ char *this_command_name;
|
||||
a debugger to know where exactly the program is currently executing. */
|
||||
char *the_printed_command_except_trap;
|
||||
|
||||
static COMMAND *currently_executing_command;
|
||||
|
||||
struct stat SB; /* used for debugging */
|
||||
|
||||
static int special_builtin_failed;
|
||||
|
||||
/* XXX - set to 1 if we're running the DEBUG trap and we want to show the line
|
||||
number containing the function name. Used by executing_line_number to
|
||||
report the correct line number. Kind of a hack. */
|
||||
static int showing_function_line;
|
||||
|
||||
static int line_number_for_err_trap;
|
||||
|
||||
/* For catching RETURN in a function. */
|
||||
int return_catch_flag;
|
||||
int return_catch_value;
|
||||
@@ -238,6 +222,10 @@ REDIRECT *redirection_undo_list = (REDIRECT *)NULL;
|
||||
that must be undone even when exec discards redirection_undo_list. */
|
||||
REDIRECT *exec_redirection_undo_list = (REDIRECT *)NULL;
|
||||
|
||||
/* When greater than zero, value is the `level' of builtins we are
|
||||
currently executing (e.g. `eval echo a' would have it set to 2). */
|
||||
int executing_builtin = 0;
|
||||
|
||||
/* Non-zero if we have just forked and are currently running in a subshell
|
||||
environment. */
|
||||
int subshell_environment;
|
||||
@@ -251,6 +239,22 @@ SHELL_VAR *this_shell_function;
|
||||
/* If non-zero, matches in case and [[ ... ]] are case-insensitive */
|
||||
int match_ignore_case = 0;
|
||||
|
||||
struct stat SB; /* used for debugging */
|
||||
|
||||
static int special_builtin_failed;
|
||||
|
||||
static COMMAND *currently_executing_command;
|
||||
|
||||
/* The line number that the currently executing function starts on. */
|
||||
static int function_line_number;
|
||||
|
||||
/* XXX - set to 1 if we're running the DEBUG trap and we want to show the line
|
||||
number containing the function name. Used by executing_line_number to
|
||||
report the correct line number. Kind of a hack. */
|
||||
static int showing_function_line;
|
||||
|
||||
static int line_number_for_err_trap;
|
||||
|
||||
struct fd_bitmap *current_fds_to_close = (struct fd_bitmap *)NULL;
|
||||
|
||||
#define FD_BITMAP_DEFAULT_SIZE 32
|
||||
@@ -3006,6 +3010,8 @@ run_builtin:
|
||||
|
||||
if (builtin || func)
|
||||
{
|
||||
if (builtin)
|
||||
unwind_protect_int (executing_builtin); /* modified in execute_builtin */
|
||||
if (already_forked)
|
||||
{
|
||||
/* reset_terminating_signals (); */ /* XXX */
|
||||
@@ -3171,6 +3177,7 @@ execute_builtin (builtin, words, flags, subshell)
|
||||
add_unwind_protect (merge_temporary_env, (char *)NULL);
|
||||
}
|
||||
|
||||
executing_builtin++;
|
||||
result = ((*builtin) (words->next));
|
||||
|
||||
/* This shouldn't happen, but in case `return' comes back instead of
|
||||
|
||||
+29
-17
@@ -188,9 +188,6 @@ static int execute_connection __P((COMMAND *, int, int, int, struct fd_bitmap *)
|
||||
|
||||
static int execute_intern_function __P((WORD_DESC *, COMMAND *));
|
||||
|
||||
/* The line number that the currently executing function starts on. */
|
||||
static int function_line_number;
|
||||
|
||||
/* Set to 1 if fd 0 was the subject of redirection to a subshell. Global
|
||||
so that reader_loop can set it to zero before executing a command. */
|
||||
int stdin_redir;
|
||||
@@ -204,19 +201,6 @@ char *this_command_name;
|
||||
a debugger to know where exactly the program is currently executing. */
|
||||
char *the_printed_command_except_trap;
|
||||
|
||||
static COMMAND *currently_executing_command;
|
||||
|
||||
struct stat SB; /* used for debugging */
|
||||
|
||||
static int special_builtin_failed;
|
||||
|
||||
/* XXX - set to 1 if we're running the DEBUG trap and we want to show the line
|
||||
number containing the function name. Used by executing_line_number to
|
||||
report the correct line number. Kind of a hack. */
|
||||
static int showing_function_line;
|
||||
|
||||
static int line_number_for_err_trap;
|
||||
|
||||
/* For catching RETURN in a function. */
|
||||
int return_catch_flag;
|
||||
int return_catch_value;
|
||||
@@ -238,6 +222,10 @@ REDIRECT *redirection_undo_list = (REDIRECT *)NULL;
|
||||
that must be undone even when exec discards redirection_undo_list. */
|
||||
REDIRECT *exec_redirection_undo_list = (REDIRECT *)NULL;
|
||||
|
||||
/* When greater than zero, value is the `level' of builtins we are
|
||||
currently executing (e.g. `eval echo a' would have it set to 2). */
|
||||
int executing_builtin = 0;
|
||||
|
||||
/* Non-zero if we have just forked and are currently running in a subshell
|
||||
environment. */
|
||||
int subshell_environment;
|
||||
@@ -251,6 +239,22 @@ SHELL_VAR *this_shell_function;
|
||||
/* If non-zero, matches in case and [[ ... ]] are case-insensitive */
|
||||
int match_ignore_case = 0;
|
||||
|
||||
struct stat SB; /* used for debugging */
|
||||
|
||||
static int special_builtin_failed;
|
||||
|
||||
static COMMAND *currently_executing_command;
|
||||
|
||||
/* The line number that the currently executing function starts on. */
|
||||
static int function_line_number;
|
||||
|
||||
/* XXX - set to 1 if we're running the DEBUG trap and we want to show the line
|
||||
number containing the function name. Used by executing_line_number to
|
||||
report the correct line number. Kind of a hack. */
|
||||
static int showing_function_line;
|
||||
|
||||
static int line_number_for_err_trap;
|
||||
|
||||
struct fd_bitmap *current_fds_to_close = (struct fd_bitmap *)NULL;
|
||||
|
||||
#define FD_BITMAP_DEFAULT_SIZE 32
|
||||
@@ -3006,6 +3010,8 @@ run_builtin:
|
||||
|
||||
if (builtin || func)
|
||||
{
|
||||
if (builtin)
|
||||
unwind_protect_int (executing_builtin);
|
||||
if (already_forked)
|
||||
{
|
||||
/* reset_terminating_signals (); */ /* XXX */
|
||||
@@ -3171,6 +3177,7 @@ execute_builtin (builtin, words, flags, subshell)
|
||||
add_unwind_protect (merge_temporary_env, (char *)NULL);
|
||||
}
|
||||
|
||||
executing_builtin++;
|
||||
result = ((*builtin) (words->next));
|
||||
|
||||
/* This shouldn't happen, but in case `return' comes back instead of
|
||||
@@ -3496,13 +3503,18 @@ execute_subshell_builtin_or_function (words, redirects, builtin, var,
|
||||
else
|
||||
{
|
||||
r = execute_builtin (builtin, words, flags, 1);
|
||||
fflush (stdout);
|
||||
if (r == EX_USAGE)
|
||||
r = EX_BADUSAGE;
|
||||
exit (r);
|
||||
}
|
||||
}
|
||||
else
|
||||
exit (execute_function (var, words, flags, fds_to_close, async, 1));
|
||||
{
|
||||
r = execute_function (var, words, flags, fds_to_close, async, 1);
|
||||
fflush (stdout);
|
||||
exit (r);
|
||||
}
|
||||
}
|
||||
|
||||
/* Execute a builtin or function in the current shell context. If BUILTIN
|
||||
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
*** ../bash-20070510/jobs.c Thu Mar 8 16:05:50 2007
|
||||
--- jobs.c Fri May 18 11:40:14 2007
|
||||
***************
|
||||
*** 784,792 ****
|
||||
{
|
||||
old = js.j_firstj++;
|
||||
while (js.j_firstj != old)
|
||||
{
|
||||
if (js.j_firstj >= js.j_jobslots)
|
||||
js.j_firstj = 0;
|
||||
! if (jobs[js.j_firstj])
|
||||
break;
|
||||
js.j_firstj++;
|
||||
--- 784,794 ----
|
||||
{
|
||||
old = js.j_firstj++;
|
||||
+ if (old >= js.j_jobslots)
|
||||
+ old = js.j_jobslots - 1;
|
||||
while (js.j_firstj != old)
|
||||
{
|
||||
if (js.j_firstj >= js.j_jobslots)
|
||||
js.j_firstj = 0;
|
||||
! if (jobs[js.j_firstj] || js.j_firstj == old) /* needed if old == 0 */
|
||||
break;
|
||||
js.j_firstj++;
|
||||
***************
|
||||
*** 798,806 ****
|
||||
{
|
||||
old = js.j_lastj--;
|
||||
while (js.j_lastj != old)
|
||||
{
|
||||
if (js.j_lastj < 0)
|
||||
js.j_lastj = js.j_jobslots - 1;
|
||||
! if (jobs[js.j_lastj])
|
||||
break;
|
||||
js.j_lastj--;
|
||||
--- 800,810 ----
|
||||
{
|
||||
old = js.j_lastj--;
|
||||
+ if (old < 0)
|
||||
+ old = 0;
|
||||
while (js.j_lastj != old)
|
||||
{
|
||||
if (js.j_lastj < 0)
|
||||
js.j_lastj = js.j_jobslots - 1;
|
||||
! if (jobs[js.j_lastj] || js.j_lastj == old) /* needed if old == js.j_jobslots */
|
||||
break;
|
||||
js.j_lastj--;
|
||||
***************
|
||||
*** 964,968 ****
|
||||
realloc_jobs_list ();
|
||||
|
||||
! return (js.j_lastj ? js.j_lastj + 1 : 0);
|
||||
}
|
||||
|
||||
--- 975,983 ----
|
||||
realloc_jobs_list ();
|
||||
|
||||
! #ifdef DEBUG
|
||||
! itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
|
||||
! #endif
|
||||
!
|
||||
! return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
|
||||
}
|
||||
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
*** ../bash-20070510/jobs.c Thu Mar 8 16:05:50 2007
|
||||
--- jobs.c Fri May 18 11:40:14 2007
|
||||
***************
|
||||
*** 784,792 ****
|
||||
{
|
||||
old = js.j_firstj++;
|
||||
while (js.j_firstj != old)
|
||||
{
|
||||
if (js.j_firstj >= js.j_jobslots)
|
||||
js.j_firstj = 0;
|
||||
! if (jobs[js.j_firstj])
|
||||
break;
|
||||
js.j_firstj++;
|
||||
--- 784,794 ----
|
||||
{
|
||||
old = js.j_firstj++;
|
||||
+ if (old >= js.j_jobslots)
|
||||
+ old = js.j_jobslots - 1;
|
||||
while (js.j_firstj != old)
|
||||
{
|
||||
if (js.j_firstj >= js.j_jobslots)
|
||||
js.j_firstj = 0;
|
||||
! if (jobs[js.j_firstj] || js.j_firstj == old) /* needed if old == 0 */
|
||||
break;
|
||||
js.j_firstj++;
|
||||
***************
|
||||
*** 798,806 ****
|
||||
{
|
||||
old = js.j_lastj--;
|
||||
while (js.j_lastj != old)
|
||||
{
|
||||
if (js.j_lastj < 0)
|
||||
js.j_lastj = js.j_jobslots - 1;
|
||||
! if (jobs[js.j_lastj])
|
||||
break;
|
||||
js.j_lastj--;
|
||||
--- 800,810 ----
|
||||
{
|
||||
old = js.j_lastj--;
|
||||
+ if (old < 0)
|
||||
+ old = 0;
|
||||
while (js.j_lastj != old)
|
||||
{
|
||||
if (js.j_lastj < 0)
|
||||
js.j_lastj = js.j_jobslots - 1;
|
||||
! if (jobs[js.j_lastj] || js.j_lastj == old) /* needed if old == js.j_jobslots */
|
||||
break;
|
||||
js.j_lastj--;
|
||||
***************
|
||||
*** 901,904 ****
|
||||
--- 905,909 ----
|
||||
nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *));
|
||||
|
||||
+ js.c_reaped = js.j_ndead = 0;
|
||||
for (i = j = 0; i < js.j_jobslots; i++)
|
||||
if (jobs[i])
|
||||
***************
|
||||
*** 909,912 ****
|
||||
--- 914,922 ----
|
||||
nprev = j;
|
||||
nlist[j++] = jobs[i];
|
||||
+ if (jobs[i]->state == JDEAD)
|
||||
+ {
|
||||
+ js.j_ndead++;
|
||||
+ js.c_reaped += processes_in_job (i);
|
||||
+ }
|
||||
}
|
||||
|
||||
***************
|
||||
*** 914,918 ****
|
||||
itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize);
|
||||
itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0);
|
||||
! itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, (j > 0) ? j - 1 : 0);
|
||||
#endif
|
||||
|
||||
--- 924,929 ----
|
||||
itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize);
|
||||
itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0);
|
||||
! itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, j);
|
||||
! itrace ("realloc_jobs_list: js.j_ndead %d js.c_reaped %d", js.j_ndead, js.c_reaped);
|
||||
#endif
|
||||
|
||||
***************
|
||||
*** 964,968 ****
|
||||
realloc_jobs_list ();
|
||||
|
||||
! return (js.j_lastj ? js.j_lastj + 1 : 0);
|
||||
}
|
||||
|
||||
--- 975,983 ----
|
||||
realloc_jobs_list ();
|
||||
|
||||
! #ifdef DEBUG
|
||||
! itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
|
||||
! #endif
|
||||
!
|
||||
! return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
|
||||
}
|
||||
|
||||
@@ -783,11 +783,13 @@ reset_job_indices ()
|
||||
if (jobs[js.j_firstj] == 0)
|
||||
{
|
||||
old = js.j_firstj++;
|
||||
if (old >= js.j_jobslots)
|
||||
old = js.j_jobslots - 1;
|
||||
while (js.j_firstj != old)
|
||||
{
|
||||
if (js.j_firstj >= js.j_jobslots)
|
||||
js.j_firstj = 0;
|
||||
if (jobs[js.j_firstj])
|
||||
if (jobs[js.j_firstj] || js.j_firstj == old) /* needed if old == 0 */
|
||||
break;
|
||||
js.j_firstj++;
|
||||
}
|
||||
@@ -797,11 +799,13 @@ reset_job_indices ()
|
||||
if (jobs[js.j_lastj] == 0)
|
||||
{
|
||||
old = js.j_lastj--;
|
||||
if (old < 0)
|
||||
old = 0;
|
||||
while (js.j_lastj != old)
|
||||
{
|
||||
if (js.j_lastj < 0)
|
||||
js.j_lastj = js.j_jobslots - 1;
|
||||
if (jobs[js.j_lastj])
|
||||
if (jobs[js.j_lastj] || js.j_lastj == old) /* needed if old == js.j_jobslots */
|
||||
break;
|
||||
js.j_lastj--;
|
||||
}
|
||||
@@ -900,6 +904,7 @@ realloc_jobs_list ()
|
||||
BLOCK_CHILD (set, oset);
|
||||
nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *));
|
||||
|
||||
js.c_reaped = js.j_ndead = 0;
|
||||
for (i = j = 0; i < js.j_jobslots; i++)
|
||||
if (jobs[i])
|
||||
{
|
||||
@@ -908,12 +913,18 @@ realloc_jobs_list ()
|
||||
if (i == js.j_previous)
|
||||
nprev = j;
|
||||
nlist[j++] = jobs[i];
|
||||
if (jobs[i]->state == JDEAD)
|
||||
{
|
||||
js.j_ndead++;
|
||||
js.c_reaped += processes_in_job (i);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined (DEBUG)
|
||||
itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize);
|
||||
itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0);
|
||||
itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, (j > 0) ? j - 1 : 0);
|
||||
itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, j);
|
||||
itrace ("realloc_jobs_list: js.j_ndead %d js.c_reaped %d", js.j_ndead, js.c_reaped);
|
||||
#endif
|
||||
|
||||
js.j_firstj = 0;
|
||||
@@ -963,7 +974,11 @@ compact_jobs_list (flags)
|
||||
reap_dead_jobs ();
|
||||
realloc_jobs_list ();
|
||||
|
||||
return (js.j_lastj ? js.j_lastj + 1 : 0);
|
||||
#ifdef DEBUG
|
||||
itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
|
||||
#endif
|
||||
|
||||
return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
|
||||
}
|
||||
|
||||
/* Delete the job at INDEX from the job list. Must be called
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/* This file works with both POSIX and BSD systems. It implements job
|
||||
control. */
|
||||
|
||||
/* Copyright (C) 1989-2006 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1989-2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -783,11 +783,13 @@ reset_job_indices ()
|
||||
if (jobs[js.j_firstj] == 0)
|
||||
{
|
||||
old = js.j_firstj++;
|
||||
if (old >= js.j_jobslots)
|
||||
old = js.j_jobslots - 1;
|
||||
while (js.j_firstj != old)
|
||||
{
|
||||
if (js.j_firstj >= js.j_jobslots)
|
||||
js.j_firstj = 0;
|
||||
if (jobs[js.j_firstj])
|
||||
if (jobs[js.j_firstj] || js.j_firstj == old) /* needed if old == 0 */
|
||||
break;
|
||||
js.j_firstj++;
|
||||
}
|
||||
@@ -797,11 +799,13 @@ reset_job_indices ()
|
||||
if (jobs[js.j_lastj] == 0)
|
||||
{
|
||||
old = js.j_lastj--;
|
||||
if (old < 0)
|
||||
old = 0;
|
||||
while (js.j_lastj != old)
|
||||
{
|
||||
if (js.j_lastj < 0)
|
||||
js.j_lastj = js.j_jobslots - 1;
|
||||
if (jobs[js.j_lastj])
|
||||
if (jobs[js.j_lastj] || js.j_lastj == old) /* needed if old == js.j_jobslots */
|
||||
break;
|
||||
js.j_lastj--;
|
||||
}
|
||||
@@ -900,6 +904,7 @@ realloc_jobs_list ()
|
||||
BLOCK_CHILD (set, oset);
|
||||
nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *));
|
||||
|
||||
js.c_reaped = js.j_ndead = 0;
|
||||
for (i = j = 0; i < js.j_jobslots; i++)
|
||||
if (jobs[i])
|
||||
{
|
||||
@@ -908,12 +913,18 @@ realloc_jobs_list ()
|
||||
if (i == js.j_previous)
|
||||
nprev = j;
|
||||
nlist[j++] = jobs[i];
|
||||
if (jobs[i]->state == JDEAD)
|
||||
{
|
||||
js.j_ndead++;
|
||||
js.c_reaped += processes_in_job (i);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined (DEBUG)
|
||||
itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize);
|
||||
itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0);
|
||||
itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, (j > 0) ? j - 1 : 0);
|
||||
itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, j);
|
||||
itrace ("realloc_jobs_list: js.j_ndead %d js.c_reaped %d", js.j_ndead, js.c_reaped);
|
||||
#endif
|
||||
|
||||
js.j_firstj = 0;
|
||||
@@ -963,7 +974,8 @@ compact_jobs_list (flags)
|
||||
reap_dead_jobs ();
|
||||
realloc_jobs_list ();
|
||||
|
||||
return (js.j_lastj);
|
||||
itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
|
||||
return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
|
||||
}
|
||||
|
||||
/* Delete the job at INDEX from the job list. Must be called
|
||||
@@ -1391,7 +1403,7 @@ j_strsignal (s)
|
||||
if (x == 0)
|
||||
{
|
||||
x = retcode_name_buffer;
|
||||
sprintf (x, "Signal %d", s);
|
||||
sprintf (x, _("Signal %d"), s);
|
||||
}
|
||||
return x;
|
||||
}
|
||||
@@ -1405,20 +1417,20 @@ printable_job_status (j, p, format)
|
||||
static char *temp;
|
||||
int es;
|
||||
|
||||
temp = "Done";
|
||||
temp = _("Done");
|
||||
|
||||
if (STOPPED (j) && format == 0)
|
||||
{
|
||||
if (posixly_correct == 0 || p == 0 || (WIFSTOPPED (p->status) == 0))
|
||||
temp = "Stopped";
|
||||
temp = _("Stopped");
|
||||
else
|
||||
{
|
||||
temp = retcode_name_buffer;
|
||||
sprintf (temp, "Stopped(%s)", signal_name (WSTOPSIG (p->status)));
|
||||
sprintf (temp, _("Stopped(%s)"), signal_name (WSTOPSIG (p->status)));
|
||||
}
|
||||
}
|
||||
else if (RUNNING (j))
|
||||
temp = "Running";
|
||||
temp = _("Running");
|
||||
else
|
||||
{
|
||||
if (WIFSTOPPED (p->status))
|
||||
@@ -1430,14 +1442,14 @@ printable_job_status (j, p, format)
|
||||
temp = retcode_name_buffer;
|
||||
es = WEXITSTATUS (p->status);
|
||||
if (es == 0)
|
||||
strcpy (temp, "Done");
|
||||
strcpy (temp, _("Done"));
|
||||
else if (posixly_correct)
|
||||
sprintf (temp, "Done(%d)", es);
|
||||
sprintf (temp, _("Done(%d)"), es);
|
||||
else
|
||||
sprintf (temp, "Exit %d", es);
|
||||
sprintf (temp, _("Exit %d"), es);
|
||||
}
|
||||
else
|
||||
temp = "Unknown status";
|
||||
temp = _("Unknown status");
|
||||
}
|
||||
|
||||
return temp;
|
||||
@@ -1524,7 +1536,7 @@ print_pipeline (p, job_index, format, stream)
|
||||
if ((WIFSTOPPED (show->status) == 0) &&
|
||||
(WIFCONTINUED (show->status) == 0) &&
|
||||
WIFCORED (show->status))
|
||||
fprintf (stream, "(core dumped) ");
|
||||
fprintf (stream, _("(core dumped) "));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1543,7 +1555,7 @@ print_pipeline (p, job_index, format, stream)
|
||||
|
||||
if (strcmp (temp, jobs[job_index]->wd) != 0)
|
||||
fprintf (stream,
|
||||
" (wd: %s)", polite_directory_format (jobs[job_index]->wd));
|
||||
_(" (wd: %s)"), polite_directory_format (jobs[job_index]->wd));
|
||||
}
|
||||
|
||||
if (format || (p == last))
|
||||
@@ -1735,7 +1747,7 @@ make_child (command, async_p)
|
||||
B.4.3.3, p. 237 also covers this, in the context of job control
|
||||
shells. */
|
||||
if (setpgid (mypid, pipeline_pgrp) < 0)
|
||||
sys_error ("child setpgid (%ld to %ld)", (long)mypid, (long)pipeline_pgrp);
|
||||
sys_error (_("child setpgid (%ld to %ld)"), (long)mypid, (long)pipeline_pgrp);
|
||||
|
||||
/* By convention (and assumption above), if
|
||||
pipeline_pgrp == shell_pgrp, we are making a child for
|
||||
@@ -2228,7 +2240,7 @@ raw_job_exit_status (job)
|
||||
p = jobs[job]->pipe;
|
||||
do
|
||||
{
|
||||
if (p->status != EXECUTION_SUCCESS) fail = p->status;
|
||||
if (WSTATUS (p->status) != EXECUTION_SUCCESS) fail = WSTATUS(p->status);
|
||||
p = p->next;
|
||||
}
|
||||
while (p != jobs[job]->pipe);
|
||||
@@ -2370,7 +2382,7 @@ wait_for (pid)
|
||||
if (r == -1 && errno == ECHILD)
|
||||
{
|
||||
child->running = PS_DONE;
|
||||
child->status = 0; /* XXX -- can't find true status */
|
||||
WSTATUS (child->status) = 0; /* XXX -- can't find true status */
|
||||
js.c_living = 0; /* no living child processes */
|
||||
if (job != NO_JOB)
|
||||
{
|
||||
@@ -3399,7 +3411,7 @@ notify_of_job_status ()
|
||||
signal_is_trapped (termsig) == 0)
|
||||
{
|
||||
/* Don't print `0' for a line number. */
|
||||
fprintf (stderr, "%s: line %d: ", get_name_for_error (), (line_number == 0) ? 1 : line_number);
|
||||
fprintf (stderr, _("%s: line %d: "), get_name_for_error (), (line_number == 0) ? 1 : line_number);
|
||||
pretty_print_job (job, JLIST_NONINTERACTIVE, stderr);
|
||||
}
|
||||
else if (IS_FOREGROUND (job))
|
||||
@@ -3413,7 +3425,7 @@ notify_of_job_status ()
|
||||
fprintf (stderr, "%s", j_strsignal (termsig));
|
||||
|
||||
if (WIFCORED (s))
|
||||
fprintf (stderr, " (core dumped)");
|
||||
fprintf (stderr, _(" (core dumped)"));
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
@@ -3425,7 +3437,7 @@ notify_of_job_status ()
|
||||
pretty_print_job (job, JLIST_STANDARD, stderr);
|
||||
if (dir && strcmp (dir, jobs[job]->wd) != 0)
|
||||
fprintf (stderr,
|
||||
"(wd now: %s)\n", polite_directory_format (dir));
|
||||
_("(wd now: %s)\n"), polite_directory_format (dir));
|
||||
}
|
||||
|
||||
jobs[job]->flags |= J_NOTIFIED;
|
||||
@@ -3438,7 +3450,7 @@ notify_of_job_status ()
|
||||
pretty_print_job (job, JLIST_STANDARD, stderr);
|
||||
if (dir && (strcmp (dir, jobs[job]->wd) != 0))
|
||||
fprintf (stderr,
|
||||
"(wd now: %s)\n", polite_directory_format (dir));
|
||||
_("(wd now: %s)\n"), polite_directory_format (dir));
|
||||
jobs[job]->flags |= J_NOTIFIED;
|
||||
break;
|
||||
|
||||
@@ -3466,7 +3478,7 @@ initialize_job_control (force)
|
||||
|
||||
if (shell_pgrp == -1)
|
||||
{
|
||||
sys_error ("initialize_job_control: getpgrp failed");
|
||||
sys_error (_("initialize_job_control: getpgrp failed"));
|
||||
exit (1);
|
||||
}
|
||||
|
||||
@@ -3512,7 +3524,7 @@ initialize_job_control (force)
|
||||
/* Make sure that we are using the new line discipline. */
|
||||
if (set_new_line_discipline (shell_tty) < 0)
|
||||
{
|
||||
sys_error ("initialize_job_control: line discipline");
|
||||
sys_error (_("initialize_job_control: line discipline"));
|
||||
job_control = 0;
|
||||
}
|
||||
else
|
||||
@@ -3522,7 +3534,7 @@ initialize_job_control (force)
|
||||
|
||||
if ((original_pgrp != shell_pgrp) && (setpgid (0, shell_pgrp) < 0))
|
||||
{
|
||||
sys_error ("initialize_job_control: setpgid");
|
||||
sys_error (_("initialize_job_control: setpgid"));
|
||||
shell_pgrp = original_pgrp;
|
||||
}
|
||||
|
||||
|
||||
@@ -136,6 +136,8 @@ size_t ifs_firstc_len;
|
||||
unsigned char ifs_firstc;
|
||||
#endif
|
||||
|
||||
int assigning_in_environment;
|
||||
|
||||
/* Extern functions and variables from different files. */
|
||||
extern int last_command_exit_value, last_command_exit_signal;
|
||||
extern int subshell_environment;
|
||||
@@ -161,6 +163,8 @@ int allow_null_glob_expansion;
|
||||
/* Non-zero means to throw an error when globbing fails to match anything. */
|
||||
int fail_glob_expansion;
|
||||
|
||||
int assigining_in_environment;
|
||||
|
||||
#if 0
|
||||
/* Variables to keep track of which words in an expanded word list (the
|
||||
output of expand_word_list_internal) are the result of globbing
|
||||
@@ -7700,6 +7704,7 @@ exp_jump_to_top_level (v)
|
||||
/* Cleanup code goes here. */
|
||||
expand_no_split_dollar_star = 0; /* XXX */
|
||||
expanding_redir = 0;
|
||||
assigning_in_environment = 0;
|
||||
|
||||
top_level_cleanup (); /* from sig.c */
|
||||
|
||||
@@ -8202,7 +8207,9 @@ expand_word_list_internal (list, eflags)
|
||||
for (temp_list = subst_assign_varlist; temp_list; temp_list = temp_list->next)
|
||||
{
|
||||
this_command_name = (char *)NULL;
|
||||
assigning_in_environment = (assign_func == assign_in_env);
|
||||
tint = (*assign_func) (temp_list->word);
|
||||
assigning_in_environment = 0;
|
||||
/* Variable assignment errors in non-interactive shells running
|
||||
in Posix.2 mode cause the shell to exit. */
|
||||
if (tint == 0)
|
||||
|
||||
@@ -161,6 +161,8 @@ int allow_null_glob_expansion;
|
||||
/* Non-zero means to throw an error when globbing fails to match anything. */
|
||||
int fail_glob_expansion;
|
||||
|
||||
int assigining_in_environment;
|
||||
|
||||
#if 0
|
||||
/* Variables to keep track of which words in an expanded word list (the
|
||||
output of expand_word_list_internal) are the result of globbing
|
||||
@@ -4006,7 +4008,11 @@ parameter_brace_remove_pattern (varname, value, patstr, rtype, quoted)
|
||||
if (patspec == RP_LONG_LEFT || patspec == RP_LONG_RIGHT)
|
||||
patstr++;
|
||||
|
||||
pattern = getpattern (patstr, quoted, 1);
|
||||
/* Need to pass getpattern newly-allocated memory in case of expansion --
|
||||
the expansion code will free the passed string on an error. */
|
||||
temp1 = savestring (patstr);
|
||||
pattern = getpattern (temp1, quoted, 1);
|
||||
free (temp1);
|
||||
|
||||
temp1 = (char *)NULL; /* shut up gcc */
|
||||
switch (vtype)
|
||||
@@ -5974,7 +5980,7 @@ parameter_brace_expand (string, indexp, quoted, quoted_dollar_atp, contains_doll
|
||||
int t_index, sindex, c, tflag;
|
||||
intmax_t number;
|
||||
|
||||
value = (char *)NULL;
|
||||
temp = temp1 = value = (char *)NULL;
|
||||
var_is_set = var_is_null = var_is_special = check_nullness = 0;
|
||||
want_substring = want_indir = want_patsub = 0;
|
||||
|
||||
@@ -6059,7 +6065,6 @@ parameter_brace_expand (string, indexp, quoted, quoted_dollar_atp, contains_doll
|
||||
temp = (char *)NULL;
|
||||
goto bad_substitution;
|
||||
}
|
||||
|
||||
/* Indirect expansion begins with a `!'. A valid indirect expansion is
|
||||
either a variable name, one of the positional parameters or a special
|
||||
variable that expands to one of the positional parameters. */
|
||||
@@ -7697,6 +7702,7 @@ exp_jump_to_top_level (v)
|
||||
/* Cleanup code goes here. */
|
||||
expand_no_split_dollar_star = 0; /* XXX */
|
||||
expanding_redir = 0;
|
||||
assigning_in_environment = 0;
|
||||
|
||||
top_level_cleanup (); /* from sig.c */
|
||||
|
||||
@@ -7917,7 +7923,7 @@ glob_expand_word_list (tlist, eflags)
|
||||
else if (fail_glob_expansion != 0)
|
||||
{
|
||||
report_error (_("no match: %s"), tlist->word->word);
|
||||
jump_to_top_level (DISCARD);
|
||||
exp_jump_to_top_level (DISCARD);
|
||||
}
|
||||
else if (allow_null_glob_expansion == 0)
|
||||
{
|
||||
@@ -8199,7 +8205,9 @@ expand_word_list_internal (list, eflags)
|
||||
for (temp_list = subst_assign_varlist; temp_list; temp_list = temp_list->next)
|
||||
{
|
||||
this_command_name = (char *)NULL;
|
||||
assigning_in_environment = (assign_func == assign_in_env);
|
||||
tint = (*assign_func) (temp_list->word);
|
||||
assigning_in_environment = 0;
|
||||
/* Variable assignment errors in non-interactive shells running
|
||||
in Posix.2 mode cause the shell to exit. */
|
||||
if (tint == 0)
|
||||
|
||||
@@ -70,50 +70,3 @@ fu%nc ()
|
||||
{
|
||||
echo abcde
|
||||
}
|
||||
a is a function
|
||||
a ()
|
||||
{
|
||||
cat <<-'+'
|
||||
cat - | utkSort
|
||||
itkSchemaToColumnType
|
||||
atkCacheToColumnType \"$npName\" | atkActiveTableLineSelect
|
||||
| utkSort
|
||||
atkCacheToColumnType \"$npName\" |
|
||||
atkTransactionTableLineSelect | utkSort
|
||||
itkDirToColumnType \"$dirName\" | atkActiveTableLineSelect |
|
||||
utkSort
|
||||
itkDirToColumnType \"$dirName\" | atkActiveTableLineSelect |
|
||||
utkSort
|
||||
+
|
||||
| tr "\t" " " | tr -s " "
|
||||
}
|
||||
b is a function
|
||||
b ()
|
||||
{
|
||||
cat /etc/passwd | cat - <<-'+'
|
||||
more
|
||||
passwords
|
||||
from
|
||||
the
|
||||
file
|
||||
+
|
||||
| tr -s " "
|
||||
}
|
||||
c is a function
|
||||
c ()
|
||||
{
|
||||
cat /etc/passwd | tr -s " " | cat - <<-'+'
|
||||
more
|
||||
passwords
|
||||
from
|
||||
the
|
||||
file
|
||||
+
|
||||
| cat - <<-'foo'
|
||||
last
|
||||
bunch
|
||||
of
|
||||
words
|
||||
foo
|
||||
|
||||
}
|
||||
|
||||
@@ -65,5 +65,3 @@ type tf
|
||||
type tf2
|
||||
|
||||
tf
|
||||
|
||||
${THIS_SH} ./cprint1.sub
|
||||
|
||||
+11
-15
@@ -1,6 +1,6 @@
|
||||
/* variables.c -- Functions for hacking shell variables. */
|
||||
|
||||
/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1987-2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -92,6 +92,8 @@ extern char *the_printed_command_except_trap;
|
||||
extern char *this_command_name;
|
||||
extern char *command_execution_string;
|
||||
extern time_t shell_start_time;
|
||||
extern int assigning_in_environment;
|
||||
extern int executing_builtin;
|
||||
|
||||
#if defined (READLINE)
|
||||
extern int no_line_editing;
|
||||
@@ -135,6 +137,13 @@ WORD_LIST *rest_of_args = (WORD_LIST *)NULL;
|
||||
/* The value of $$. */
|
||||
pid_t dollar_dollar_pid;
|
||||
|
||||
/* Non-zero means that we have to remake EXPORT_ENV. */
|
||||
int array_needs_making = 1;
|
||||
|
||||
/* The number of times BASH has been executed. This is set
|
||||
by initialize_variables (). */
|
||||
int shell_level = 0;
|
||||
|
||||
/* An array which is passed to commands as their environment. It is
|
||||
manufactured from the union of the initial environment and the
|
||||
shell variables that are marked for export. */
|
||||
@@ -147,13 +156,6 @@ static int winsize_assignment; /* currently assigning to LINES or COLUMNS */
|
||||
static int winsize_assigned; /* assigned to LINES or COLUMNS */
|
||||
#endif
|
||||
|
||||
/* Non-zero means that we have to remake EXPORT_ENV. */
|
||||
int array_needs_making = 1;
|
||||
|
||||
/* The number of times BASH has been executed. This is set
|
||||
by initialize_variables (). */
|
||||
int shell_level = 0;
|
||||
|
||||
/* Some forward declarations. */
|
||||
static void create_variable_tables __P((void));
|
||||
|
||||
@@ -1579,7 +1581,7 @@ SHELL_VAR *
|
||||
find_variable (name)
|
||||
const char *name;
|
||||
{
|
||||
return (find_variable_internal (name, (expanding_redir == 0 && this_shell_builtin != 0)));
|
||||
return (find_variable_internal (name, (expanding_redir == 0 && (assigning_in_environment || executing_builtin))));
|
||||
}
|
||||
|
||||
/* Look up the function entry whose name matches STRING.
|
||||
@@ -2206,13 +2208,7 @@ assign_in_env (word)
|
||||
}
|
||||
|
||||
temp = name + offset + 1;
|
||||
#if 0
|
||||
temp = (xstrchr (temp, '~') != 0) ? bash_tilde_expand (temp, 1) : savestring (temp);
|
||||
value = expand_string_unsplit_to_string (temp, 0);
|
||||
free (temp);
|
||||
#else
|
||||
value = expand_assignment_string_to_string (temp, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (temporary_env == 0)
|
||||
|
||||
+18
-17
@@ -1,6 +1,6 @@
|
||||
/* variables.c -- Functions for hacking shell variables. */
|
||||
|
||||
/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1987-2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -92,6 +92,7 @@ extern char *the_printed_command_except_trap;
|
||||
extern char *this_command_name;
|
||||
extern char *command_execution_string;
|
||||
extern time_t shell_start_time;
|
||||
extern int assigning_in_environment;
|
||||
|
||||
#if defined (READLINE)
|
||||
extern int no_line_editing;
|
||||
@@ -135,6 +136,13 @@ WORD_LIST *rest_of_args = (WORD_LIST *)NULL;
|
||||
/* The value of $$. */
|
||||
pid_t dollar_dollar_pid;
|
||||
|
||||
/* Non-zero means that we have to remake EXPORT_ENV. */
|
||||
int array_needs_making = 1;
|
||||
|
||||
/* The number of times BASH has been executed. This is set
|
||||
by initialize_variables (). */
|
||||
int shell_level = 0;
|
||||
|
||||
/* An array which is passed to commands as their environment. It is
|
||||
manufactured from the union of the initial environment and the
|
||||
shell variables that are marked for export. */
|
||||
@@ -147,13 +155,6 @@ static int winsize_assignment; /* currently assigning to LINES or COLUMNS */
|
||||
static int winsize_assigned; /* assigned to LINES or COLUMNS */
|
||||
#endif
|
||||
|
||||
/* Non-zero means that we have to remake EXPORT_ENV. */
|
||||
int array_needs_making = 1;
|
||||
|
||||
/* The number of times BASH has been executed. This is set
|
||||
by initialize_variables (). */
|
||||
int shell_level = 0;
|
||||
|
||||
/* Some forward declarations. */
|
||||
static void create_variable_tables __P((void));
|
||||
|
||||
@@ -1579,7 +1580,7 @@ SHELL_VAR *
|
||||
find_variable (name)
|
||||
const char *name;
|
||||
{
|
||||
return (find_variable_internal (name, (expanding_redir == 0 && this_shell_builtin != 0)));
|
||||
return (find_variable_internal (name, (expanding_redir == 0 && (assigning_in_environment || this_shell_builtin != 0))));
|
||||
}
|
||||
|
||||
/* Look up the function entry whose name matches STRING.
|
||||
@@ -1843,11 +1844,17 @@ make_variable_value (var, value, flags)
|
||||
oval = value_cell (var);
|
||||
lval = evalexp (oval, &expok); /* ksh93 seems to do this */
|
||||
if (expok == 0)
|
||||
jump_to_top_level (DISCARD);
|
||||
{
|
||||
top_level_cleanup ();
|
||||
jump_to_top_level (DISCARD);
|
||||
}
|
||||
}
|
||||
rval = evalexp (value, &expok);
|
||||
if (expok == 0)
|
||||
jump_to_top_level (DISCARD);
|
||||
{
|
||||
top_level_cleanup ();
|
||||
jump_to_top_level (DISCARD);
|
||||
}
|
||||
if (flags & ASS_APPEND)
|
||||
rval += lval;
|
||||
retval = itos (rval);
|
||||
@@ -2200,13 +2207,7 @@ assign_in_env (word)
|
||||
}
|
||||
|
||||
temp = name + offset + 1;
|
||||
#if 0
|
||||
temp = (xstrchr (temp, '~') != 0) ? bash_tilde_expand (temp, 1) : savestring (temp);
|
||||
value = expand_string_unsplit_to_string (temp, 0);
|
||||
free (temp);
|
||||
#else
|
||||
value = expand_assignment_string_to_string (temp, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (temporary_env == 0)
|
||||
|
||||
Reference in New Issue
Block a user