minor updates for 5.3-rc1 release

This commit is contained in:
Chet Ramey
2025-04-04 10:50:15 -04:00
parent a6767763de
commit 2e113467f0
29 changed files with 2736 additions and 3958 deletions
+2 -2
View File
@@ -60,8 +60,8 @@ d. Fixed a redisplay bug with prompts containing multiple sequences of
3. New Features in Bash
a. There is a new `fltexpr' builtin to perform floating-point arithmetic
similarly to `let'.
a. There is a new `fltexpr' loadable builtin to perform floating-point
arithmetic similarly to `let'.
4. New Features in Readline
+2 -2
View File
@@ -60,8 +60,8 @@ d. Fixed a redisplay bug with prompts containing multiple sequences of
3. New Features in Bash
a. There is a new `fltexpr' builtin to perform floating-point arithmetic
similarly to `let'.
a. There is a new `fltexpr' loadable builtin to perform floating-point
arithmetic similarly to `let'.
4. New Features in Readline
+7
View File
@@ -11096,3 +11096,10 @@ shell.c
not result in a valid buffer corresponding to the file descriptor,
print an error message and set last_command_exit_value
From a report in https://savannah.gnu.org/patch/?10512
4/3
---
lib/sh/gettimeofday.c
- updated from version in gnulib
[bash-5.3-rc1 frozen]
+24 -19
View File
@@ -45,7 +45,7 @@ editing commands were left out due to objections.
Although Bash is an implementation of the POSIX shell specification,
there are areas where the Bash default behavior differs from the
specification. The Bash “posix mode” changes the Bash behavior in these
areas so that it conforms more closely to the standard.
areas so that it conforms more strictly to the standard.
Starting Bash with the --posix command-line option or executing set
-o posix while Bash is running will cause Bash to conform more closely
@@ -55,7 +55,7 @@ by POSIX in areas where the Bash default differs.
When invoked as sh, Bash enters POSIX mode after reading the startup
files.
The following list is what's changed when 'POSIX mode' is in effect:
The following list is what's changed when POSIX mode is in effect:
1. Bash ensures that the POSIXLY_CORRECT variable is set.
@@ -180,7 +180,7 @@ The following list is what's changed when 'POSIX mode' is in effect:
double-quoted string, even if the histexpand option is enabled.
31. When printing shell function definitions (e.g., by type), Bash
does not print the function keyword unless necessary.
does not print the function reserved word unless necessary.
32. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
@@ -289,72 +289,77 @@ The following list is what's changed when 'POSIX mode' is in effect:
58. The kill builtin does not accept signal names with a SIG
prefix.
59. The printf builtin uses double (via strtod) to convert
59. The kill builtin returns a failure status if any of the pid or
job arguments are invalid or if sending the specified signal to any
of them fails. In default mode, kill returns success if the
signal was successfully sent to any of the specified processes.
60. The printf builtin uses double (via strtod) to convert
arguments corresponding to floating point conversion specifiers,
instead of long double if it's available. The L length
modifier forces printf to use long double if it's available.
60. The pwd builtin verifies that the value it prints is the same as
61. The pwd builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the -P option.
61. The read builtin may be interrupted by a signal for which a trap
62. The read builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
read, the trap handler executes and read returns an exit status
greater than 128.
62. When the set builtin is invoked without options, it does not
63. When the set builtin is invoked without options, it does not
display shell function names and definitions.
63. When the set builtin is invoked without options, it displays
64. When the set builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
64. The test builtin compares strings using the current locale when
65. The test builtin compares strings using the current locale when
evaluating the < and > binary operators.
65. The test builtin's -t unary primary requires an argument.
66. The test builtin's -t unary primary requires an argument.
Historical versions of test made the argument optional in certain
cases, and Bash attempts to accommodate those for backwards
compatibility.
66. The trap builtin displays signal names without the leading
67. The trap builtin displays signal names without the leading
SIG.
67. The trap builtin doesn't check the first argument for a possible
68. The trap builtin doesn't check the first argument for a possible
signal specification and revert the signal handling to the original
disposition if it is, unless that argument consists solely of
digits and is a valid signal number. If users want to reset the
handler for a given signal to the original disposition, they should
use - as the first argument.
68. trap -p without arguments displays signals whose dispositions
69. trap -p without arguments displays signals whose dispositions
are set to SIG_DFL and those that were ignored when the shell
started, not just trapped signals.
69. The type and command builtins will not report a non-executable
70. The type and command builtins will not report a non-executable
file as having been found, though the shell will attempt to execute
such a file if it is the only so-named file found in $PATH.
70. The ulimit builtin uses a block size of 512 bytes for the -c
71. The ulimit builtin uses a block size of 512 bytes for the -c
and -f options.
71. The unset builtin with the -v option specified returns a fatal
72. The unset builtin with the -v option specified returns a fatal
error if it attempts to unset a readonly or non-unsettable
variable, which causes a non-interactive shell to exit.
72. When asked to unset a variable that appears in an assignment
73. When asked to unset a variable that appears in an assignment
statement preceding the command, the unset builtin attempts to
unset a variable of the same name in the current or previous scope
as well. This implements the required "if an assigned variable is
further modified by the utility, the modifications made by the
utility shall persist" behavior.
73. The arrival of SIGCHLD when a trap is set on SIGCHLD does not
74. The arrival of SIGCHLD when a trap is set on SIGCHLD does not
interrupt the wait builtin and cause it to return immediately.
The trap command is run once for each child that exits.
74. Bash removes an exited background process's status from the list
75. Bash removes an exited background process's status from the list
of such statuses after the wait builtin returns it.
There is other POSIX behavior that Bash does not implement by default
+2088 -2089
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -1158,7 +1158,7 @@ operators do not evaluate <I>expression2</I> if the value of
the entire conditional expression.
</DL>
<DT><B>for</B> <I>name</I> [ [ <B>in</B> [ <I>word ...</I> ] ] ; ] <B>do</B> <I>list</I> ; <B>done</B><DD>
<DT><B>for</B> <I>name</I> [ [ <B>in</B> <I>word ...</I> ] ; ] <B>do</B> <I>list</I> ; <B>done</B><DD>
First, expand The list of words following <B>in</B>, generating a list
of items.
Then, the variable <I>name</I> is set to each element of this list
@@ -1172,7 +1172,7 @@ below).
The return status is the exit status of the last command that executes.
If the expansion of the items following <B>in</B> results in an empty
list, no commands are executed, and the return status is 0.
<DT><B>for</B> (( <I>expr1</I> ; <I>expr2</I> ; <I>expr3</I> )) ; <B>do</B> <I>list</I> ; <B>done</B><DD>
<DT><B>for</B> (( <I>expr1</I> ; <I>expr2</I> ; <I>expr3</I> )) [;] <B>do</B> <I>list</I> ; <B>done</B><DD>
First, evaluate the arithmetic expression <I>expr1</I> according
to the rules described below under
<FONT SIZE=-1><B>ARITHMETIC EVALUATION</B>.
@@ -4294,7 +4294,7 @@ For example, a<B>{</B>d,c,b<B>}</B>e expands into
<P>
A sequence expression takes the form
<B>{</B><I>x</I><B>..</B><I>y</I><B>[..</B><I>incr</I><B>]}</B>,
<I>x</I><B>..</B><I>y</I><B>[..</B><I>incr</I><B>]</B>,
where <I>x</I> and <I>y</I> are either integers or single letters,
and <I>incr</I>, an optional increment, is an integer.
When integers are supplied, the expression expands to each number between
@@ -6134,7 +6134,7 @@ The format of here-documents is:
The shell does not perform
parameter and variable expansion, command substitution,
arithmetic expansion, or pathname expansion is performed on
arithmetic expansion, or pathname expansion on
<I>word</I>.
<P>
@@ -16922,7 +16922,7 @@ Array variables may not (yet) be exported.
<DT><A HREF="#lbDJ">BUGS</A><DD>
</DL>
<HR>
This document was created by man2html from /usr/local/src/bash/bash-20250224/doc/bash.1.<BR>
Time: 28 February 2025 11:12:41 EST
This document was created by man2html from /usr/local/src/bash/bash-20250331/doc/bash.1.<BR>
Time: 31 March 2025 10:28:25 EDT
</BODY>
</HTML>
+114 -113
View File
@@ -842,7 +842,7 @@ syntax, it may be replaced with one or more newlines.
for
The syntax of the for command is:
for NAME [ [in [WORDS ...] ] ; ] do COMMANDS; done
for NAME [ [in WORDS ...] ; ] do COMMANDS; done
Expand WORDS (*note Shell Expansions::), and then execute COMMANDS
once for each word in the resultant list, with NAME bound to the
@@ -855,9 +855,10 @@ syntax, it may be replaced with one or more newlines.
executes. If there are no items in the expansion of WORDS, no
commands are executed, and the return status is zero.
An alternate form of the for command is also supported:
There is an alternate form of the for command which is similar to
the C language:
for (( EXPR1 ; EXPR2 ; EXPR3 )) ; do COMMANDS ; done
for (( EXPR1 ; EXPR2 ; EXPR3 )) [;] do COMMANDS ; done
First, evaluate the arithmetic expression EXPR1 according to the
rules described below (*note Shell Arithmetic::). Then, repeatedly
@@ -1724,7 +1725,7 @@ example,
bash$ echo a{d,c,b}e
ade ace abe
A sequence expression takes the form {X..Y[..INCR]}, where X and Y
A sequence expression takes the form X..Y[..INCR], where X and Y
are either integers or letters, and INCR, an optional increment, is an
integer. When integers are supplied, the expression expands to each
number between X and Y, inclusive. If either X or Y begins with a zero,
@@ -13621,115 +13622,115 @@ Node: Pipelines27462
Node: Lists30718
Node: Compound Commands32590
Node: Looping Constructs33599
Node: Conditional Constructs36118
Node: Command Grouping51188
Node: Coprocesses52680
Node: GNU Parallel55366
Node: Shell Functions56284
Node: Shell Parameters64732
Node: Positional Parameters69633
Node: Special Parameters70723
Node: Shell Expansions74184
Node: Brace Expansion76373
Node: Tilde Expansion79711
Node: Shell Parameter Expansion82666
Node: Command Substitution103309
Node: Arithmetic Expansion106838
Node: Process Substitution108014
Node: Word Splitting109122
Node: Filename Expansion111566
Node: Pattern Matching114790
Node: Quote Removal120513
Node: Redirections120817
Node: Executing Commands131080
Node: Simple Command Expansion131747
Node: Command Search and Execution133855
Node: Command Execution Environment136299
Node: Environment139747
Node: Exit Status141650
Node: Signals143708
Node: Shell Scripts148637
Node: Shell Builtin Commands151935
Node: Bourne Shell Builtins154046
Node: Bash Builtins180616
Node: Modifying Shell Behavior217540
Node: The Set Builtin217882
Node: The Shopt Builtin229876
Node: Special Builtins246928
Node: Shell Variables247917
Node: Bourne Shell Variables248351
Node: Bash Variables250859
Node: Bash Features289764
Node: Invoking Bash290778
Node: Bash Startup Files297362
Node: Interactive Shells302604
Node: What is an Interactive Shell?303012
Node: Is this Shell Interactive?303674
Node: Interactive Shell Behavior304498
Node: Bash Conditional Expressions308259
Node: Shell Arithmetic313676
Node: Aliases317005
Node: Arrays320139
Node: The Directory Stack327727
Node: Directory Stack Builtins328524
Node: Controlling the Prompt332969
Node: The Restricted Shell335854
Node: Bash POSIX Mode338736
Node: Shell Compatibility Mode357093
Node: Job Control366100
Node: Job Control Basics366557
Node: Job Control Builtins372925
Node: Job Control Variables379607
Node: Command Line Editing380838
Node: Introduction and Notation382541
Node: Readline Interaction384893
Node: Readline Bare Essentials386081
Node: Readline Movement Commands387889
Node: Readline Killing Commands388885
Node: Readline Arguments390908
Node: Searching391965
Node: Readline Init File394208
Node: Readline Init File Syntax395511
Node: Conditional Init Constructs422336
Node: Sample Init File426721
Node: Bindable Readline Commands429841
Node: Commands For Moving431379
Node: Commands For History433843
Node: Commands For Text439233
Node: Commands For Killing443358
Node: Numeric Arguments446146
Node: Commands For Completion447298
Node: Keyboard Macros452994
Node: Miscellaneous Commands453695
Node: Readline vi Mode460262
Node: Programmable Completion461239
Node: Programmable Completion Builtins469976
Node: A Programmable Completion Example481713
Node: Using History Interactively487058
Node: Bash History Facilities487739
Node: Bash History Builtins491474
Node: History Interaction497945
Node: Event Designators502895
Node: Word Designators504473
Node: Modifiers506865
Node: Installing Bash508802
Node: Basic Installation509918
Node: Compilers and Options513794
Node: Compiling For Multiple Architectures514544
Node: Installation Names516297
Node: Specifying the System Type518531
Node: Sharing Defaults519277
Node: Operation Controls519991
Node: Optional Features521010
Node: Reporting Bugs533390
Node: Major Differences From The Bourne Shell534747
Node: GNU Free Documentation License556173
Node: Indexes581350
Node: Builtin Index581801
Node: Reserved Word Index588899
Node: Variable Index591344
Node: Function Index608757
Node: Concept Index622752
Node: Conditional Constructs36148
Node: Command Grouping51218
Node: Coprocesses52710
Node: GNU Parallel55396
Node: Shell Functions56314
Node: Shell Parameters64762
Node: Positional Parameters69663
Node: Special Parameters70753
Node: Shell Expansions74214
Node: Brace Expansion76403
Node: Tilde Expansion79739
Node: Shell Parameter Expansion82694
Node: Command Substitution103337
Node: Arithmetic Expansion106866
Node: Process Substitution108042
Node: Word Splitting109150
Node: Filename Expansion111594
Node: Pattern Matching114818
Node: Quote Removal120541
Node: Redirections120845
Node: Executing Commands131108
Node: Simple Command Expansion131775
Node: Command Search and Execution133883
Node: Command Execution Environment136327
Node: Environment139775
Node: Exit Status141678
Node: Signals143736
Node: Shell Scripts148665
Node: Shell Builtin Commands151963
Node: Bourne Shell Builtins154074
Node: Bash Builtins180644
Node: Modifying Shell Behavior217568
Node: The Set Builtin217910
Node: The Shopt Builtin229904
Node: Special Builtins246956
Node: Shell Variables247945
Node: Bourne Shell Variables248379
Node: Bash Variables250887
Node: Bash Features289792
Node: Invoking Bash290806
Node: Bash Startup Files297390
Node: Interactive Shells302632
Node: What is an Interactive Shell?303040
Node: Is this Shell Interactive?303702
Node: Interactive Shell Behavior304526
Node: Bash Conditional Expressions308287
Node: Shell Arithmetic313704
Node: Aliases317033
Node: Arrays320167
Node: The Directory Stack327755
Node: Directory Stack Builtins328552
Node: Controlling the Prompt332997
Node: The Restricted Shell335882
Node: Bash POSIX Mode338764
Node: Shell Compatibility Mode357121
Node: Job Control366128
Node: Job Control Basics366585
Node: Job Control Builtins372953
Node: Job Control Variables379635
Node: Command Line Editing380866
Node: Introduction and Notation382569
Node: Readline Interaction384921
Node: Readline Bare Essentials386109
Node: Readline Movement Commands387917
Node: Readline Killing Commands388913
Node: Readline Arguments390936
Node: Searching391993
Node: Readline Init File394236
Node: Readline Init File Syntax395539
Node: Conditional Init Constructs422364
Node: Sample Init File426749
Node: Bindable Readline Commands429869
Node: Commands For Moving431407
Node: Commands For History433871
Node: Commands For Text439261
Node: Commands For Killing443386
Node: Numeric Arguments446174
Node: Commands For Completion447326
Node: Keyboard Macros453022
Node: Miscellaneous Commands453723
Node: Readline vi Mode460290
Node: Programmable Completion461267
Node: Programmable Completion Builtins470004
Node: A Programmable Completion Example481741
Node: Using History Interactively487086
Node: Bash History Facilities487767
Node: Bash History Builtins491502
Node: History Interaction497973
Node: Event Designators502923
Node: Word Designators504501
Node: Modifiers506893
Node: Installing Bash508830
Node: Basic Installation509946
Node: Compilers and Options513822
Node: Compiling For Multiple Architectures514572
Node: Installation Names516325
Node: Specifying the System Type518559
Node: Sharing Defaults519305
Node: Operation Controls520019
Node: Optional Features521038
Node: Reporting Bugs533418
Node: Major Differences From The Bourne Shell534775
Node: GNU Free Documentation License556201
Node: Indexes581378
Node: Builtin Index581829
Node: Reserved Word Index588927
Node: Variable Index591372
Node: Function Index608785
Node: Concept Index622780

End Tag Table
BIN
View File
Binary file not shown.
+89 -87
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.23.0
%%CreationDate: Mon Feb 24 16:25:41 2025
%%CreationDate: Mon Mar 31 10:31:21 2025
%%DocumentNeededResources: font Times-Italic
%%+ font Times-Roman
%%+ font Times-Bold
@@ -957,9 +957,9 @@ E F1(is true.)2.52 E(The)144 484.8 Q F2(&&)2.675 E F1(and)2.675 E F2(||)
(alue of)-.25 F F0 -.2(ex)2.676 G(pr).2 E(ession1)-.37 E F1 .176(is suf)
2.676 F .176(\214cient to de-)-.25 F(termine the return v)144 496.8 Q
(alue of the entire conditional e)-.25 E(xpression.)-.15 E F2 -.25(fo)
108 513.6 S(r).25 E F0(name)2.5 E F1 2.5([[)2.5 G F2(in)A F1([)2.5 E F0
(wor)2.5 E 2.5(d.)-.37 G 1.666(..)-.834 G F1 2.5(]];]).834 G F2(do)A F0
(list)2.5 E F1(;)2.5 E F2(done)2.5 E F1 .269(First, e)144 525.6 R .269
108 513.6 S(r).25 E F0(name)2.5 E F1 2.5([[)2.5 G F2(in)A F0(wor)2.5 E
2.5(d.)-.37 G 1.666(..)-.834 G F1 2.5(];]).834 G F2(do)A F0(list)2.5 E
F1(;)2.5 E F2(done)2.5 E F1 .269(First, e)144 525.6 R .269
(xpand The list of w)-.15 F .268(ords follo)-.1 F(wing)-.25 E F2(in)
2.768 E F1 2.768(,g)C .268(enerating a list of items.)-2.768 F .268
(Then, the v)5.268 F(ariable)-.25 E F0(name)2.768 E F1(is)2.768 E .199
@@ -977,7 +977,7 @@ E F1 .2(is e)2.7 F -.15(xe)-.15 G .2(cuted each time.).15 F .2(If the)
(results in an empty list, no commands are e)2.5 E -.15(xe)-.15 G
(cuted, and the return status is 0.).15 E F2 -.25(fo)108 590.4 S(r).25 E
F1(\(\()2.5 E F0 -.2(ex)2.5 G(pr1).2 E F1(;)2.5 E F0 -.2(ex)2.5 G(pr2).2
E F1(;)2.5 E F0 -.2(ex)2.5 G(pr3).2 E F1(\)\) ;)2.5 E F2(do)2.5 E F0
E F1(;)2.5 E F0 -.2(ex)2.5 G(pr3).2 E F1(\)\) [;])2.5 E F2(do)2.5 E F0
(list)2.5 E F1(;)2.5 E F2(done)2.5 E F1 2.52(First, e)144 602.4 R -.25
(va)-.25 G 2.519(luate the arithmetic e).25 F(xpression)-.15 E F0 -.2
(ex)5.019 G(pr1).2 E F1 2.519(according to the rules described belo)
@@ -3156,10 +3156,10 @@ BP
.25 E F1(\(1\)).95 E(preserv)108 84 Q(es left to right order)-.15 E 5
(.F)-.55 G(or e)-5.15 E(xample, a)-.15 E/F2 10/Times-Bold@0 SF({)A F1
(d,c,b)A F2(})A F1 2.5(ee)C(xpands into \231ade ace abe\232.)-2.65 E
3.148(As)108 100.8 S .648(equence e)-3.148 F .648(xpression tak)-.15 F
.649(es the form)-.1 F F2({)3.149 E F0(x)A F2(..)A F0(y)A F2([..)A F0
(incr)A F2(]})A F1 3.149(,w)C(here)-3.149 E F0(x)3.149 E F1(and)3.149 E
F0(y)3.149 E F1 .649(are either inte)3.149 F .649
3.612(As)108 100.8 S 1.112(equence e)-3.612 F 1.112(xpression tak)-.15 F
1.112(es the form)-.1 F F0(x)3.612 E F2(..)A F0(y)A F2([..)A F0(incr)A
F2(])A F1 3.612(,w)C(here)-3.612 E F0(x)3.612 E F1(and)3.612 E F0(y)
3.612 E F1 1.113(are either inte)3.612 F 1.113
(gers or single letters, and)-.15 F F0(incr)108 112.8 Q F1 2.615(,a)C
2.615(no)-2.615 G .115(ptional increment, is an inte)-2.615 F(ger)-.15 E
5.115(.W)-.55 G .115(hen inte)-5.115 F .115(gers are supplied, the e)
@@ -4416,12 +4416,12 @@ A F2(<<)A F1([)A F2<ad>A F1(])A F0(wor)A(d)-.37 E(her)164 451.2 Q
(e-document)-.37 E(delimiter)144 463.2 Q F1 .241
(The shell does not perform parameter and v)108 480 R .241(ariable e)
-.25 F .241(xpansion, command substitution, arithmetic e)-.15 F
(xpansion,)-.15 E(or pathname e)108 492 Q(xpansion is performed on)-.15
E F0(wor)2.84 E(d)-.37 E F1(.).77 E .053(If an)108 508.8 R 2.553(yp)-.15
G .053(art of)-2.553 F F0(wor)2.893 E(d)-.37 E F1 .053(is quoted, the)
3.323 F F0(delimiter)2.902 E F1 .052(is the result of quote remo)3.282 F
-.25(va)-.15 G 2.552(lo).25 G(n)-2.552 E F0(wor)2.892 E(d)-.37 E F1
2.552(,a).77 G .052(nd the lines in the here-)-2.552 F .101
(xpansion,)-.15 E(or pathname e)108 492 Q(xpansion on)-.15 E F0(wor)2.84
E(d)-.37 E F1(.).77 E .053(If an)108 508.8 R 2.553(yp)-.15 G .053
(art of)-2.553 F F0(wor)2.893 E(d)-.37 E F1 .053(is quoted, the)3.323 F
F0(delimiter)2.902 E F1 .052(is the result of quote remo)3.282 F -.25
(va)-.15 G 2.552(lo).25 G(n)-2.552 E F0(wor)2.892 E(d)-.37 E F1 2.552
(,a).77 G .052(nd the lines in the here-)-2.552 F .101
(document are not e)108 520.8 R 2.601(xpanded. If)-.15 F F0(wor)2.602 E
(d)-.37 E F1 .102(is unquoted, the)2.602 F F0(delimiter)2.952 E F1(is)
3.332 E F0(wor)2.602 E(d)-.37 E F1 .102
@@ -5545,154 +5545,156 @@ d that the process ID of the last process in the pipeline associated)108
4.24 E F1(abstraction as the basis for job control.)2.73 E 2.374 -.8
(To f)108 710.4 T .774(acilitate the implementation of the user interf)
.7 F .773(ace to job control, each process has a)-.1 F F0(pr)3.273 E
.773(ocess gr)-.45 F .773(oup ID)-.45 F F1(,)A .368
.773(ocess gr)-.45 F .773(oup ID)-.45 F F1(,)A 1.979
(and the operating system maintains the notion of a)108 722.4 R F0(curr)
2.868 E .368(ent terminal pr)-.37 F .368(ocess gr)-.45 F .368(oup ID)
-.45 F F1 5.368(.P)C .369(rocesses that ha)-5.368 F -.15(ve)-.2 G
(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(43)188.45 E 0 Cg EP
4.479 E 1.979(ent terminal pr)-.37 F 1.98(ocess gr)-.45 F 1.98(oup ID)
-.45 F F1 6.98(.T)C 1.98(his terminal)-6.98 F(GNU Bash 5.3)72 768 Q
(2025 February 24)139.29 E(43)188.45 E 0 Cg EP
%%Page: 44 44
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
.25 E F1(\(1\)).95 E 1.53
(the same process group ID are said to be part of the same)108 84 R F0
(pr)4.029 E 1.529(ocess gr)-.45 F(oup)-.45 E F1 6.529(.M)C 1.529
(embers of the)-6.529 F F0(for)4.029 E -.4(eg)-.37 G -.45(ro).4 G(und)
.45 E F1 .122(process group \(processes whose process group ID is equal\
to the current terminal process group ID\) recei)108 96 R -.15(ve)-.25
G -.1(ke)108 108 S .139(yboard-generated signals such as)-.05 F/F2 9
/Times-Bold@0 SF(SIGINT)2.639 E/F3 9/Times-Roman@0 SF(.)A F1 .139
(Processes in the fore)4.639 F .139(ground process group are said to be)
-.15 F F0(for)4.608 E(e-)-.37 E(gr)108 120 Q(ound)-.45 E F1(processes.)
4.503 E F0(Bac)6.813 E(kgr)-.2 E(ound)-.45 E F1 1.234
(processes are those whose process group ID dif)4.504 F 1.234
(fers from the terminal')-.25 F(s;)-.55 E .533
(such processes are immune to k)108 132 R -.15(ey)-.1 G .533
(board-generated signals.).15 F .533(Only fore)5.533 F .533
(ground processes are allo)-.15 F .533(wed to read)-.25 F .716(from or)
108 144 R 3.216(,i)-.4 G 3.216(ft)-3.216 G .716(he user so speci\214es \
with \231stty tostop\232, write to the terminal.)-3.216 F .717
(Background processes which at-)5.717 F .378
(tempt to read from \(write to when \231tostop\232 is in ef)108 156 R
.377(fect\) the terminal are sent a)-.25 F F2 .377(SIGTTIN \(SIGTT)2.877
F(OU\))-.162 E F1(signal)2.627 E(by the k)108 168 Q(ernel')-.1 E 2.5(st)
-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G .8 -.4(r, w).15 H
(hich, unless caught, suspends the process.).4 E 1.087
(If the operating system on which)108 184.8 R/F4 10/Times-Bold@0 SF
.25 E F1(\(1\)).95 E(process group ID is associated with the)108 84 Q F0
(contr)2.5 E(olling terminal)-.45 E F1(.)A .454(Processes that ha)108
100.8 R .754 -.15(ve t)-.2 H .454
(he same process group ID are said to be part of the same).15 F F0(pr)
2.953 E .453(ocess gr)-.45 F(oup)-.45 E F1 5.453(.M)C .453(embers of)
-5.453 F(the)108 112.8 Q F0(for)3.442 E -.4(eg)-.37 G -.45(ro).4 G(und)
.45 E F1 .943(process group \(processes whose process group ID is equal\
to the current terminal process)3.442 F .614(group ID\) recei)108 124.8
R .914 -.15(ve k)-.25 H -.15(ey).05 G .614
(board-generated signals such as).15 F/F2 9/Times-Bold@0 SF(SIGINT)3.114
E/F3 9/Times-Roman@0 SF(.)A F1 .614(Processes in the fore)5.114 F .614
(ground process group)-.15 F .212(are said to be)108 136.8 R F0(for)
4.682 E -.4(eg)-.37 G -.45(ro).4 G(und).45 E F1(processes.)3.482 E F0
(Bac)5.793 E(kgr)-.2 E(ound)-.45 E F1 .213
(processes are those whose process group ID dif)3.483 F .213(fers from)
-.25 F 1.816(the controlling terminal')108 148.8 R 1.816
(s; such processes are immune to k)-.55 F -.15(ey)-.1 G 1.815
(board-generated signals.).15 F 1.815(Only fore)6.815 F(ground)-.15 E
.168(processes are allo)108 160.8 R .168(wed to read from or)-.25 F
2.668(,i)-.4 G 2.668(ft)-2.668 G .169(he user so speci\214es with \231s\
tty tostop\232, write to the controlling ter)-2.668 F(-)-.2 E 3.839
(minal. The)108 172.8 R 1.339(system sends a)3.839 F F2 1.339
(SIGTTIN \(SIGTT)3.839 F(OU\))-.162 E F1 1.339
(signal to background processes which attempt to read)3.589 F
(from \(write to when \231tostop\232 is in ef)108 184.8 Q
(fect\) the terminal, which, unless caught, suspends the process.)-.25 E
1.087(If the operating system on which)108 201.6 R/F4 10/Times-Bold@0 SF
(bash)3.587 E F1 1.088(is running supports job control,)3.588 F F4(bash)
3.588 E F1 1.088(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8
(Ty)108 196.8 S .878(ping the).8 F F0(suspend)3.718 E F1 .878
(Ty)108 213.6 S .878(ping the).8 F F0(suspend)3.718 E F1 .878
(character \(typically)4.148 F F4<005a>3.378 E F1 3.377(,C)C .877
(ontrol-Z\) while a process is running stops that process and)-3.377 F
.007(returns control to)108 208.8 R F4(bash)2.508 E F1 5.008(.T)C .008
.007(returns control to)108 225.6 R F4(bash)2.508 E F1 5.008(.T)C .008
(yping the)-5.808 F F0 .008(delayed suspend)2.858 F F1 .008
(character \(typically)3.278 F F4<0059>2.508 E F1 2.508(,C)C .008
(ontrol-Y\) causes the process)-2.508 F .561(stop when it attempts to r\
ead input from the terminal, and returns control to)108 220.8 R F4(bash)
ead input from the terminal, and returns control to)108 237.6 R F4(bash)
3.06 E F1 5.56(.T)C .56(he user then manipu-)-5.56 F .407
(lates the state of this job, using the)108 232.8 R F4(bg)2.907 E F1
(lates the state of this job, using the)108 249.6 R F4(bg)2.907 E F1
.407(command to continue it in the background, the)2.907 F F4(fg)2.907 E
F1 .407(command to con-)2.907 F .728(tinue it in the fore)108 244.8 R
F1 .407(command to con-)2.907 F .728(tinue it in the fore)108 261.6 R
.728(ground, or the)-.15 F F4(kill)3.228 E F1 .728(command to kill it.)
3.228 F .727(The suspend character tak)5.727 F .727(es ef)-.1 F .727
(fect immediately)-.25 F(,)-.65 E .553(and has the additional side ef)
108 256.8 R .553(fect of discarding an)-.25 F 3.053(yp)-.15 G .553
108 273.6 R .553(fect of discarding an)-.25 F 3.053(yp)-.15 G .553
(ending output and typeahead.)-3.053 F 2.153 -.8(To f)5.553 H .554
(orce a background).8 F 2.261(process to stop, or stop a process that')
108 268.8 R 4.761(sn)-.55 G 2.26
108 285.6 R 4.761(sn)-.55 G 2.26
(ot associated with the current terminal session, send it the)-4.761 F
F2(SIGST)108 280.8 Q(OP)-.162 E F1(signal using)2.25 E F4(kill)2.5 E F1
(.)A .777(There are a number of w)108 297.6 R .777
F2(SIGST)108 297.6 Q(OP)-.162 E F1(signal using)2.25 E F4(kill)2.5 E F1
(.)A .777(There are a number of w)108 314.4 R .777
(ays to refer to a job in the shell.)-.1 F(The)5.777 E F4(%)3.277 E F1
.777(character introduces a job speci\214cation)3.277 F(\(jobspec\).)108
309.6 Q .415(Job number)108 326.4 R F0(n)3.275 E F1 .415
326.4 Q .415(Job number)108 343.2 R F0(n)3.275 E F1 .415
(may be referred to as)3.155 F F4(%n)2.915 E F1 5.415(.A)C .415
(job may also be referred to using a pre\214x of the name used to)-2.5 F
.034(start it, or using a substring that appears in its command line.)
108 338.4 R -.15(Fo)5.035 G 2.535(re).15 G(xample,)-2.685 E F4(%ce)2.535
E F1 .035(refers to a job whose com-)2.535 F .229(mand name be)108 350.4
108 355.2 R -.15(Fo)5.035 G 2.535(re).15 G(xample,)-2.685 E F4(%ce)2.535
E F1 .035(refers to a job whose com-)2.535 F .229(mand name be)108 367.2
R .229(gins with)-.15 F F4(ce)2.729 E F1 5.229(.U)C(sing)-5.229 E F4
(%?ce)2.729 E F1 2.729(,o)C 2.729(nt)-2.729 G .229
(he other hand, refers to an)-2.729 F 2.729(yj)-.15 G .229
(ob containing the string)-2.729 F F4(ce)2.729 E F1 .229(in its)2.729 F
(command line.)108 362.4 Q
(command line.)108 379.2 Q
(If the pre\214x or substring matches more than one job,)5 E F4(bash)2.5
E F1(reports an error)2.5 E(.)-.55 E .441(The symbols)108 379.2 R F4(%%)
E F1(reports an error)2.5 E(.)-.55 E .441(The symbols)108 396 R F4(%%)
2.941 E F1(and)2.941 E F4(%+)2.941 E F1 .441(refer to the shell')2.941 F
2.941(sn)-.55 G .441(otion of the)-2.941 F F0(curr)3.141 E .441(ent job)
-.37 F F1 5.441(.A).23 G .441(single % \(with no accompan)-2.5 F(y-)-.15
E .207(ing job speci\214cation\) also refers to the current job)108
391.2 R(.)-.4 E F4<25ad>5.207 E F1 .207(refers to the)2.707 F F0(pr)
3.957 E -.15(ev)-.37 G .207(ious job).15 F F1 5.207(.W).23 G .207
E .207(ing job speci\214cation\) also refers to the current job)108 408
R(.)-.4 E F4<25ad>5.207 E F1 .207(refers to the)2.707 F F0(pr)3.957 E
-.15(ev)-.37 G .207(ious job).15 F F1 5.207(.W).23 G .207
(hen a job starts in the)-5.207 F .185
(background, a job stops while in the fore)108 403.2 R .186
(background, a job stops while in the fore)108 420 R .186
(ground, or a job is resumed in the background, it becomes the cur)-.15
F(-)-.2 E .534(rent job)108 415.2 R 5.534(.T)-.4 G .534(he job that w)
F(-)-.2 E .534(rent job)108 432 R 5.534(.T)-.4 G .534(he job that w)
-5.534 F .534(as the current job becomes the pre)-.1 F .534(vious job)
-.25 F 5.534(.W)-.4 G .534(hen the current job terminates, the)-5.534 F
(pre)108 427.2 Q .123(vious job becomes the current job)-.25 F 5.123(.I)
(pre)108 444 Q .123(vious job becomes the current job)-.25 F 5.123(.I)
-.4 G 2.623(ft)-5.123 G .123(here is only a single job,)-2.623 F F4(%+)
2.623 E F1(and)2.623 E F4<25ad>2.623 E F1 .124
(can both be used to refer to)2.623 F 1.474(that job)108 439.2 R 6.474
(.I)-.4 G 3.974(no)-6.474 G 1.473
(can both be used to refer to)2.623 F 1.474(that job)108 456 R 6.474(.I)
-.4 G 3.974(no)-6.474 G 1.473
(utput pertaining to jobs \(e.g., the output of the)-3.974 F F4(jobs)
3.973 E F1 1.473(command\), the current job is al)3.973 F -.1(wa)-.1 G
(ys).1 E(mark)108 451.2 Q(ed with a)-.1 E F4(+)2.5 E F1 2.5(,a)C
(ys).1 E(mark)108 468 Q(ed with a)-.1 E F4(+)2.5 E F1 2.5(,a)C
(nd the pre)-2.5 E(vious job with a)-.25 E F4<ad>2.5 E F1(.)A .686
(Simply naming a job can be used to bring it into the fore)108 468 R
(Simply naming a job can be used to bring it into the fore)108 484.8 R
(ground:)-.15 E F4(%1)3.186 E F1 .686(is a synon)3.186 F .686
(ym for \231fg %1\232, bringing)-.15 F .069
(job 1 from the background into the fore)108 480 R 2.568
(job 1 from the background into the fore)108 496.8 R 2.568
(ground. Similarly)-.15 F 2.568<2c99>-.65 G .068
(%1 &\232 resumes job 1 in the background, equi)-2.568 F(v-)-.25 E
(alent to \231bg %1\232.)108 492 Q .13
(The shell learns immediately whene)108 508.8 R -.15(ve)-.25 G 2.63(raj)
(alent to \231bg %1\232.)108 508.8 Q .13
(The shell learns immediately whene)108 525.6 R -.15(ve)-.25 G 2.63(raj)
.15 G .13(ob changes state.)-2.63 F(Normally)5.131 E(,)-.65 E F4(bash)
2.631 E F1 -.1(wa)2.631 G .131(its until it is about to print a).1 F
1.279(prompt before notifying the user about changes in a job')108 520.8
1.279(prompt before notifying the user about changes in a job')108 537.6
R 3.779(ss)-.55 G 1.279(tatus so as to not interrupt an)-3.779 F 3.778
(yo)-.15 G 1.278(ther output,)-3.778 F .015
(though it will notify of changes in a job')108 532.8 R 2.515(ss)-.55 G
(though it will notify of changes in a job')108 549.6 R 2.515(ss)-.55 G
.015(tatus after a fore)-2.515 F .016
(ground command in a list completes, before e)-.15 F -.15(xe)-.15 G(-)
.15 E .673(cuting the ne)108 544.8 R .672(xt command in the list.)-.15 F
.15 E .673(cuting the ne)108 561.6 R .672(xt command in the list.)-.15 F
.672(If the)5.672 F F4<ad62>3.172 E F1 .672(option to the)3.172 F F4
(set)3.172 E F1 -.2(bu)3.172 G .672(iltin command is enabled,).2 F F4
(bash)3.172 E F1(reports)3.172 E(status changes immediately)108 556.8 Q
(bash)3.172 E F1(reports)3.172 E(status changes immediately)108 573.6 Q
(.)-.65 E F4(Bash)5 E F1 -.15(exe)2.5 G(cutes an).15 E 2.5(yt)-.15 G
(rap on)-2.5 E F2(SIGCHLD)2.5 E F1(for each child that terminates.)2.25
E .352(When a job terminates and)108 573.6 R F4(bash)2.852 E F1 .352
E .352(When a job terminates and)108 590.4 R F4(bash)2.852 E F1 .352
(noti\214es the user about it,)2.852 F F4(bash)2.852 E F1(remo)2.852 E
-.15(ve)-.15 G 2.852(st).15 G .352(he job from the table.)-2.852 F .352
(It will not)5.352 F .52(appear in)108 585.6 R F4(jobs)3.02 E F1 .52
(It will not)5.352 F .52(appear in)108 602.4 R F4(jobs)3.02 E F1 .52
(output, b)3.02 F(ut)-.2 E F4(wait)3.02 E F1 .52(will report its e)3.02
F .52(xit status, as long as it')-.15 F 3.02(ss)-.55 G .52
(upplied the process ID associated)-3.02 F(with the job as an ar)108
597.6 Q 2.5(gument. When)-.18 F(the table is empty)2.5 E 2.5(,j)-.65 G
614.4 Q 2.5(gument. When)-.18 F(the table is empty)2.5 E 2.5(,j)-.65 G
(ob numbers start o)-2.5 E -.15(ve)-.15 G 2.5(ra).15 G 2.5(t1)-2.5 G(.)
-2.5 E .06(If a user attempts to e)108 614.4 R(xit)-.15 E F4(bash)2.56 E
-2.5 E .06(If a user attempts to e)108 631.2 R(xit)-.15 E F4(bash)2.56 E
F1 .06(while jobs are stopped \(or)2.56 F 2.561(,i)-.4 G 2.561(ft)-2.561
G(he)-2.561 E F4(checkjobs)2.561 E F1 .061
(shell option has been enabled us-)2.561 F .3(ing the)108 626.4 R F4
(shell option has been enabled us-)2.561 F .3(ing the)108 643.2 R F4
(shopt)2.8 E F1 -.2(bu)2.8 G .3(iltin, running\), the shell prints a w)
.2 F .3(arning message, and, if the)-.1 F F4(checkjobs)2.8 E F1 .3
(option is enabled,)2.8 F .074(lists the jobs and their statuses.)108
638.4 R(The)5.074 E F4(jobs)2.574 E F1 .074
655.2 R(The)5.074 E F4(jobs)2.574 E F1 .074
(command may then be used to inspect their status.)2.574 F .074
(If the user im-)5.074 F 1.03(mediately attempts to e)108 650.4 R 1.03
(If the user im-)5.074 F 1.03(mediately attempts to e)108 667.2 R 1.03
(xit ag)-.15 F 1.03(ain, without an interv)-.05 F 1.03(ening command,)
-.15 F F4(bash)3.53 E F1 1.03(does not print another w)3.53 F(arning,)
-.1 E(and terminates an)108 662.4 Q 2.5(ys)-.15 G(topped jobs.)-2.5 E
.644(When the shell is w)108 679.2 R .644
-.1 E(and terminates an)108 679.2 Q 2.5(ys)-.15 G(topped jobs.)-2.5 E
.644(When the shell is w)108 696 R .644
(aiting for a job or process using the)-.1 F F4(wait)3.145 E F1 -.2(bu)
3.145 G .645(iltin, and job control is enabled,).2 F F4(wait)3.145 E F1
(will)3.145 E .151(return when the job changes state.)108 691.2 R(The)
(will)3.145 E .151(return when the job changes state.)108 708 R(The)
5.151 E F4<ad66>2.651 E F1 .151(option causes)2.651 F F4(wait)2.651 E F1
.15(to w)2.65 F .15(ait until the job or process terminates be-)-.1 F
(fore returning.)108 703.2 Q(GNU Bash 5.3)72 768 Q(2025 February 24)
139.29 E(44)188.45 E 0 Cg EP
(fore returning.)108 720 Q(GNU Bash 5.3)72 768 Q(2025 February 24)139.29
E(44)188.45 E 0 Cg EP
%%Page: 45 45
%%BeginPageSetup
BP
BIN
View File
Binary file not shown.
+5 -4
View File
@@ -1293,7 +1293,7 @@ in <var class="var">consequent-commands</var>, or zero if none was executed.
<dd><p>The syntax of the <code class="code">for</code> command is:
</p>
<div class="example">
<pre class="example-preformatted">for <var class="var">name</var> [ [in [<var class="var">words</var> ...] ] ; ] do <var class="var">commands</var>; done
<pre class="example-preformatted">for <var class="var">name</var> [ [in <var class="var">words</var> ...] ; ] do <var class="var">commands</var>; done
</pre></div>
<p>Expand <var class="var">words</var> (see <a class="pxref" href="#Shell-Expansions">Shell Expansions</a>), and then
@@ -1308,10 +1308,11 @@ set, as if &lsquo;<samp class="samp">in &quot;$@&quot;</samp>&rsquo; had been sp
If there are no items in the expansion of <var class="var">words</var>, no commands are
executed, and the return status is zero.
</p>
<p>An alternate form of the <code class="code">for</code> command is also supported:
<p>There is an alternate form of the <code class="code">for</code> command which is similar to the
C language:
</p>
<div class="example">
<pre class="example-preformatted">for (( <var class="var">expr1</var> ; <var class="var">expr2</var> ; <var class="var">expr3</var> )) ; do <var class="var">commands</var> ; done
<pre class="example-preformatted">for (( <var class="var">expr1</var> ; <var class="var">expr2</var> ; <var class="var">expr3</var> )) [;] do <var class="var">commands</var> ; done
</pre></div>
<p>First, evaluate the arithmetic expression <var class="var">expr1</var> according
@@ -2453,7 +2454,7 @@ ade ace abe
</pre></div>
<p>A sequence expression takes the form
<code class="code">{<var class="var">x</var>..<var class="var">y</var>[..<var class="var">incr</var>]}</code>,
<code class="code"><var class="var">x</var>..<var class="var">y</var>[..<var class="var">incr</var>]</code>,
where <var class="var">x</var> and <var class="var">y</var> are either integers or letters,
and <var class="var">incr</var>, an optional increment, is an integer.
When integers are supplied, the expression expands to each number between
+114 -113
View File
@@ -843,7 +843,7 @@ syntax, it may be replaced with one or more newlines.
for
The syntax of the for command is:
for NAME [ [in [WORDS ...] ] ; ] do COMMANDS; done
for NAME [ [in WORDS ...] ; ] do COMMANDS; done
Expand WORDS (*note Shell Expansions::), and then execute COMMANDS
once for each word in the resultant list, with NAME bound to the
@@ -856,9 +856,10 @@ syntax, it may be replaced with one or more newlines.
executes. If there are no items in the expansion of WORDS, no
commands are executed, and the return status is zero.
An alternate form of the for command is also supported:
There is an alternate form of the for command which is similar to
the C language:
for (( EXPR1 ; EXPR2 ; EXPR3 )) ; do COMMANDS ; done
for (( EXPR1 ; EXPR2 ; EXPR3 )) [;] do COMMANDS ; done
First, evaluate the arithmetic expression EXPR1 according to the
rules described below (*note Shell Arithmetic::). Then, repeatedly
@@ -1725,7 +1726,7 @@ example,
bash$ echo a{d,c,b}e
ade ace abe
A sequence expression takes the form {X..Y[..INCR]}, where X and Y
A sequence expression takes the form X..Y[..INCR], where X and Y
are either integers or letters, and INCR, an optional increment, is an
integer. When integers are supplied, the expression expands to each
number between X and Y, inclusive. If either X or Y begins with a zero,
@@ -13622,115 +13623,115 @@ Node: Pipelines27522
Node: Lists30781
Node: Compound Commands32656
Node: Looping Constructs33668
Node: Conditional Constructs36190
Node: Command Grouping51263
Node: Coprocesses52758
Node: GNU Parallel55447
Node: Shell Functions56368
Node: Shell Parameters64819
Node: Positional Parameters69723
Node: Special Parameters70816
Node: Shell Expansions74280
Node: Brace Expansion76472
Node: Tilde Expansion79813
Node: Shell Parameter Expansion82771
Node: Command Substitution103417
Node: Arithmetic Expansion106949
Node: Process Substitution108128
Node: Word Splitting109239
Node: Filename Expansion111686
Node: Pattern Matching114913
Node: Quote Removal120639
Node: Redirections120946
Node: Executing Commands131212
Node: Simple Command Expansion131882
Node: Command Search and Execution133993
Node: Command Execution Environment136440
Node: Environment139891
Node: Exit Status141797
Node: Signals143858
Node: Shell Scripts148790
Node: Shell Builtin Commands152091
Node: Bourne Shell Builtins154205
Node: Bash Builtins180778
Node: Modifying Shell Behavior217705
Node: The Set Builtin218050
Node: The Shopt Builtin230047
Node: Special Builtins247102
Node: Shell Variables248094
Node: Bourne Shell Variables248531
Node: Bash Variables251042
Node: Bash Features289950
Node: Invoking Bash290967
Node: Bash Startup Files297554
Node: Interactive Shells302799
Node: What is an Interactive Shell?303210
Node: Is this Shell Interactive?303875
Node: Interactive Shell Behavior304702
Node: Bash Conditional Expressions308466
Node: Shell Arithmetic313886
Node: Aliases317218
Node: Arrays320355
Node: The Directory Stack327946
Node: Directory Stack Builtins328746
Node: Controlling the Prompt333194
Node: The Restricted Shell336082
Node: Bash POSIX Mode338967
Node: Shell Compatibility Mode357327
Node: Job Control366337
Node: Job Control Basics366797
Node: Job Control Builtins373168
Node: Job Control Variables379853
Node: Command Line Editing381087
Node: Introduction and Notation382793
Node: Readline Interaction385148
Node: Readline Bare Essentials386339
Node: Readline Movement Commands388150
Node: Readline Killing Commands389149
Node: Readline Arguments391175
Node: Searching392235
Node: Readline Init File394481
Node: Readline Init File Syntax395787
Node: Conditional Init Constructs422615
Node: Sample Init File427003
Node: Bindable Readline Commands430126
Node: Commands For Moving431667
Node: Commands For History434134
Node: Commands For Text439527
Node: Commands For Killing443655
Node: Numeric Arguments446446
Node: Commands For Completion447601
Node: Keyboard Macros453300
Node: Miscellaneous Commands454004
Node: Readline vi Mode460574
Node: Programmable Completion461554
Node: Programmable Completion Builtins470294
Node: A Programmable Completion Example482034
Node: Using History Interactively487382
Node: Bash History Facilities488066
Node: Bash History Builtins491804
Node: History Interaction498278
Node: Event Designators503231
Node: Word Designators504812
Node: Modifiers507207
Node: Installing Bash509147
Node: Basic Installation510266
Node: Compilers and Options514145
Node: Compiling For Multiple Architectures514898
Node: Installation Names516654
Node: Specifying the System Type518891
Node: Sharing Defaults519640
Node: Operation Controls520357
Node: Optional Features521379
Node: Reporting Bugs533762
Node: Major Differences From The Bourne Shell535122
Node: GNU Free Documentation License556551
Node: Indexes581731
Node: Builtin Index582185
Node: Reserved Word Index589286
Node: Variable Index591734
Node: Function Index609150
Node: Concept Index623148
Node: Conditional Constructs36220
Node: Command Grouping51293
Node: Coprocesses52788
Node: GNU Parallel55477
Node: Shell Functions56398
Node: Shell Parameters64849
Node: Positional Parameters69753
Node: Special Parameters70846
Node: Shell Expansions74310
Node: Brace Expansion76502
Node: Tilde Expansion79841
Node: Shell Parameter Expansion82799
Node: Command Substitution103445
Node: Arithmetic Expansion106977
Node: Process Substitution108156
Node: Word Splitting109267
Node: Filename Expansion111714
Node: Pattern Matching114941
Node: Quote Removal120667
Node: Redirections120974
Node: Executing Commands131240
Node: Simple Command Expansion131910
Node: Command Search and Execution134021
Node: Command Execution Environment136468
Node: Environment139919
Node: Exit Status141825
Node: Signals143886
Node: Shell Scripts148818
Node: Shell Builtin Commands152119
Node: Bourne Shell Builtins154233
Node: Bash Builtins180806
Node: Modifying Shell Behavior217733
Node: The Set Builtin218078
Node: The Shopt Builtin230075
Node: Special Builtins247130
Node: Shell Variables248122
Node: Bourne Shell Variables248559
Node: Bash Variables251070
Node: Bash Features289978
Node: Invoking Bash290995
Node: Bash Startup Files297582
Node: Interactive Shells302827
Node: What is an Interactive Shell?303238
Node: Is this Shell Interactive?303903
Node: Interactive Shell Behavior304730
Node: Bash Conditional Expressions308494
Node: Shell Arithmetic313914
Node: Aliases317246
Node: Arrays320383
Node: The Directory Stack327974
Node: Directory Stack Builtins328774
Node: Controlling the Prompt333222
Node: The Restricted Shell336110
Node: Bash POSIX Mode338995
Node: Shell Compatibility Mode357355
Node: Job Control366365
Node: Job Control Basics366825
Node: Job Control Builtins373196
Node: Job Control Variables379881
Node: Command Line Editing381115
Node: Introduction and Notation382821
Node: Readline Interaction385176
Node: Readline Bare Essentials386367
Node: Readline Movement Commands388178
Node: Readline Killing Commands389177
Node: Readline Arguments391203
Node: Searching392263
Node: Readline Init File394509
Node: Readline Init File Syntax395815
Node: Conditional Init Constructs422643
Node: Sample Init File427031
Node: Bindable Readline Commands430154
Node: Commands For Moving431695
Node: Commands For History434162
Node: Commands For Text439555
Node: Commands For Killing443683
Node: Numeric Arguments446474
Node: Commands For Completion447629
Node: Keyboard Macros453328
Node: Miscellaneous Commands454032
Node: Readline vi Mode460602
Node: Programmable Completion461582
Node: Programmable Completion Builtins470322
Node: A Programmable Completion Example482062
Node: Using History Interactively487410
Node: Bash History Facilities488094
Node: Bash History Builtins491832
Node: History Interaction498306
Node: Event Designators503259
Node: Word Designators504840
Node: Modifiers507235
Node: Installing Bash509175
Node: Basic Installation510294
Node: Compilers and Options514173
Node: Compiling For Multiple Architectures514926
Node: Installation Names516682
Node: Specifying the System Type518919
Node: Sharing Defaults519668
Node: Operation Controls520385
Node: Optional Features521407
Node: Reporting Bugs533790
Node: Major Differences From The Bourne Shell535150
Node: GNU Free Documentation License556579
Node: Indexes581759
Node: Builtin Index582213
Node: Reserved Word Index589314
Node: Variable Index591762
Node: Function Index609178
Node: Concept Index623176

End Tag Table
+17 -17
View File
@@ -1,11 +1,11 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_1) (preloaded format=pdfetex 2024.4.9) 28 FEB 2025 11:12
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_1) (preloaded format=pdfetex 2024.4.9) 31 MAR 2025 10:28
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**\input /usr/local/src/bash/bash-20250224/doc/bashref.texi
(/usr/local/src/bash/bash-20250224/doc/bashref.texi
(/usr/local/src/bash/bash-20250224/doc/texinfo.tex
**\input /usr/local/src/bash/bash-20250331/doc/bashref.texi
(/usr/local/src/bash/bash-20250331/doc/bashref.texi
(/usr/local/src/bash/bash-20250331/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
@@ -161,15 +161,15 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
texinfo.tex: doing @include of version.texi
(/usr/local/src/bash/bash-20250224/doc/version.texi) [1{/opt/local/var/db/texmf
(/usr/local/src/bash/bash-20250331/doc/version.texi) [1{/opt/local/var/db/texmf
/fonts/map/pdftex/updmap/pdftex.map}] [2]
(/usr/local/build/bash/bash-20250224/doc/bashref.toc [-1] [-2] [-3]) [-4]
(/usr/local/build/bash/bash-20250224/doc/bashref.toc)
(/usr/local/build/bash/bash-20250224/doc/bashref.toc) Chapter 1
(/usr/local/build/bash/bash-20250331/doc/bashref.toc [-1] [-2] [-3]) [-4]
(/usr/local/build/bash/bash-20250331/doc/bashref.toc)
(/usr/local/build/bash/bash-20250331/doc/bashref.toc) Chapter 1
\openout0 = `bashref.toc'.
(/usr/local/build/bash/bash-20250224/doc/bashref.aux)
(/usr/local/build/bash/bash-20250331/doc/bashref.aux)
\openout1 = `bashref.aux'.
[1] Chapter 2 [2]
@@ -231,7 +231,7 @@ exlive/fonts/enc/dvips/cm-super/cm-super-t1.enc}] [21] [22] [23] [24]
[52]
[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67]
[68] [69] [70] [71] [72] [73]
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5895--5895
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5896--5896
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -244,7 +244,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5895--5895
.etc.
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5896--5896
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5897--5897
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -264,7 +264,7 @@ Chapter 7 [124] [125] [126] [127] [128]
texinfo.tex: doing @include of rluser.texi
(/usr/local/src/bash/bash-20250224/lib/readline/doc/rluser.texi Chapter 8
(/usr/local/src/bash/bash-20250331/lib/readline/doc/rluser.texi Chapter 8
[129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
Underfull \hbox (badness 7540) in paragraph at lines 964--970
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
@@ -313,10 +313,10 @@ gnored[]
texinfo.tex: doing @include of hsuser.texi
(/usr/local/src/bash/bash-20250224/lib/readline/doc/hsuser.texi Chapter 9
(/usr/local/src/bash/bash-20250331/lib/readline/doc/hsuser.texi Chapter 9
[167] [168] [169] [170] [171] [172] [173]) Chapter 10 [174] [175] [176]
[177] [178]
Underfull \hbox (badness 10000) in paragraph at lines 10669--10678
Underfull \hbox (badness 10000) in paragraph at lines 10670--10679
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
@@ -329,7 +329,7 @@ entation[]@textrm '[],
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 10669--10678
Underfull \hbox (badness 10000) in paragraph at lines 10670--10679
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
@@ -346,7 +346,7 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
texinfo.tex: doing @include of fdl.texi
(/usr/local/src/bash/bash-20250224/doc/fdl.texi [192] [193] [194] [195]
(/usr/local/src/bash/bash-20250331/doc/fdl.texi [192] [193] [194] [195]
[196] [197] [198]) Appendix D [199] [200] [201] [202] [203] [204] [205]
[206] [207] [208] )
Here is how much of TeX's memory you used:
@@ -373,7 +373,7 @@ fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
/sfrm1440.pfb>
Output written on bashref.pdf (214 pages, 854783 bytes).
Output written on bashref.pdf (214 pages, 854803 bytes).
PDF statistics:
2948 PDF objects out of 2984 (max. 8388607)
2686 compressed objects within 27 object streams
BIN
View File
Binary file not shown.
+149 -146
View File
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 2024.1 (TeX Live 2024) Copyright 2024 Radical Eye Software
%%Title: bashref.dvi
%%CreationDate: Mon Feb 24 21:25:43 2025
%%CreationDate: Mon Mar 31 14:31:21 2025
%%Pages: 214
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
@@ -12,7 +12,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2025.02.24:1625
%DVIPSSource: TeX output 2025.03.31:1028
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -8911,115 +8911,117 @@ b(return)f(status)h(is)h(the)f(exit)h(status)g(of)f(the)g(last)h
Fu(,)c(or)g(zero)g(if)f(none)g(w)m(as)h(executed.)150
2130 y Ft(for)336 b Fu(The)30 b(syn)m(tax)h(of)f(the)h
Ft(for)e Fu(command)i(is:)870 2263 y Ft(for)47 b Fj(name)g
Ft([)g([in)g([)p Fj(words)f Ft(...)o(])i(])f(;)h(])f(do)g
Fj(commands)p Ft(;)e(done)630 2397 y Fu(Expand)31 b Fr(w)m(ords)k
Fu(\(see)e(Section)g(3.5)h([Shell)e(Expansions],)g(page)h(24\),)h(and)e
(then)g(execute)630 2506 y Fr(commands)41 b Fu(once)d(for)g(eac)m(h)h
(w)m(ord)e(in)g(the)h(resultan)m(t)g(list,)j(with)c Fr(name)43
b Fu(b)s(ound)35 b(to)k(the)630 2616 y(curren)m(t)44
b(w)m(ord.)81 b(If)44 b(`)p Ft(in)30 b Fj(words)p Fu(')42
b(is)i(not)h(presen)m(t,)i(the)e Ft(for)e Fu(command)g(executes)j(the)
630 2725 y Fr(commands)39 b Fu(once)e(for)f(eac)m(h)h(p)s(ositional)g
(parameter)f(that)h(is)f(set,)i(as)e(if)g(`)p Ft(in)30
b("$@")p Fu(')36 b(had)630 2835 y(b)s(een)30 b(sp)s(eci\014ed)f(\(see)j
(Section)f(3.4.2)h([Sp)s(ecial)f(P)m(arameters],)h(page)f(23\).)630
2968 y(The)c(return)f(status)h(is)g(the)h(exit)g(status)f(of)g(the)h
(last)g(command)e(that)i(executes.)41 b(If)27 b(there)630
3078 y(are)38 b(no)f(items)g(in)g(the)h(expansion)f(of)g
Fr(w)m(ords)p Fu(,)i(no)e(commands)g(are)g(executed,)j(and)d(the)630
3187 y(return)29 b(status)i(is)f(zero.)630 3320 y(An)g(alternate)i
(form)e(of)h(the)f Ft(for)g Fu(command)g(is)g(also)h(supp)s(orted:)870
3454 y Ft(for)47 b(\(\()g Fj(expr1)f Ft(;)i Fj(expr2)e
Ft(;)i Fj(expr3)e Ft(\)\))h(;)h(do)f Fj(commands)e Ft(;)j(done)630
3587 y Fu(First,)28 b(ev)-5 b(aluate)27 b(the)g(arithmetic)g
(expression)f Fr(expr1)33 b Fu(according)27 b(to)g(the)f(rules)g
(describ)s(ed)630 3696 y(b)s(elo)m(w)i(\(see)g(Section)g(6.5)g([Shell)g
(Arithmetic],)h(page)f(107\).)41 b(Then,)28 b(rep)s(eatedly)f(ev)-5
b(aluate)630 3806 y(the)41 b(arithmetic)g(expression)g
Ft([)g([in)g Fj(words)f Ft(...)o(])i(;)f(])h(do)f Fj(commands)p
Ft(;)e(done)630 2397 y Fu(Expand)31 b Fr(w)m(ords)k Fu(\(see)e(Section)
g(3.5)h([Shell)e(Expansions],)g(page)h(24\),)h(and)e(then)g(execute)630
2506 y Fr(commands)41 b Fu(once)d(for)g(eac)m(h)h(w)m(ord)e(in)g(the)h
(resultan)m(t)g(list,)j(with)c Fr(name)43 b Fu(b)s(ound)35
b(to)k(the)630 2616 y(curren)m(t)44 b(w)m(ord.)81 b(If)44
b(`)p Ft(in)30 b Fj(words)p Fu(')42 b(is)i(not)h(presen)m(t,)i(the)e
Ft(for)e Fu(command)g(executes)j(the)630 2725 y Fr(commands)39
b Fu(once)e(for)f(eac)m(h)h(p)s(ositional)g(parameter)f(that)h(is)f
(set,)i(as)e(if)g(`)p Ft(in)30 b("$@")p Fu(')36 b(had)630
2835 y(b)s(een)30 b(sp)s(eci\014ed)f(\(see)j(Section)f(3.4.2)h([Sp)s
(ecial)f(P)m(arameters],)h(page)f(23\).)630 2968 y(The)c(return)f
(status)h(is)g(the)h(exit)g(status)f(of)g(the)h(last)g(command)e(that)i
(executes.)41 b(If)27 b(there)630 3078 y(are)38 b(no)f(items)g(in)g
(the)h(expansion)f(of)g Fr(w)m(ords)p Fu(,)i(no)e(commands)g(are)g
(executed,)j(and)d(the)630 3187 y(return)29 b(status)i(is)f(zero.)630
3320 y(There)45 b(is)g(an)g(alternate)i(form)e(of)h(the)f
Ft(for)g Fu(command)g(whic)m(h)g(is)g(similar)h(to)g(the)f(C)630
3430 y(language:)870 3563 y Ft(for)i(\(\()g Fj(expr1)f
Ft(;)i Fj(expr2)e Ft(;)i Fj(expr3)e Ft(\)\))h([;])g(do)g
Fj(commands)f Ft(;)h(done)630 3696 y Fu(First,)28 b(ev)-5
b(aluate)27 b(the)g(arithmetic)g(expression)f Fr(expr1)33
b Fu(according)27 b(to)g(the)f(rules)g(describ)s(ed)630
3806 y(b)s(elo)m(w)i(\(see)g(Section)g(6.5)g([Shell)g(Arithmetic],)h
(page)f(107\).)41 b(Then,)28 b(rep)s(eatedly)f(ev)-5
b(aluate)630 3916 y(the)41 b(arithmetic)g(expression)g
Fr(expr2)47 b Fu(un)m(til)41 b(it)g(ev)-5 b(aluates)42
b(to)g(zero.)71 b(Eac)m(h)42 b(time)f Fr(expr2)630 3916
b(to)g(zero.)71 b(Eac)m(h)42 b(time)f Fr(expr2)630 4025
y Fu(ev)-5 b(aluates)35 b(to)g(a)f(non-zero)g(v)-5 b(alue,)35
b(execute)g Fr(commands)i Fu(and)c(ev)-5 b(aluate)36
b(the)e(arithmetic)630 4025 y(expression)g Fr(expr3)p
b(the)e(arithmetic)630 4135 y(expression)g Fr(expr3)p
Fu(.)50 b(If)34 b(an)m(y)g(expression)f(is)h(omitted,)i(it)e(b)s(eha)m
(v)m(es)h(as)f(if)g(it)g(ev)-5 b(aluates)35 b(to)630
4135 y(1.)49 b(The)32 b(return)g(v)-5 b(alue)33 b(is)g(the)g(exit)h
4244 y(1.)49 b(The)32 b(return)g(v)-5 b(alue)33 b(is)g(the)g(exit)h
(status)f(of)g(the)g(last)h(command)f(in)f Fr(commands)k
Fu(that)630 4244 y(is)30 b(executed,)i(or)e(non-zero)h(if)g(an)m(y)f
Fu(that)630 4354 y(is)30 b(executed,)i(or)e(non-zero)h(if)g(an)m(y)f
(of)h(the)f(expressions)g(is)h(in)m(v)-5 b(alid.)275
4401 y(Use)31 b(the)h Ft(break)e Fu(and)h Ft(continue)e
4511 y(Use)31 b(the)h Ft(break)e Fu(and)h Ft(continue)e
Fu(builtins)i(\(see)h(Section)h(4.1)f([Bourne)g(Shell)f(Builtins],)i
(page)f(52\))150 4511 y(to)f(con)m(trol)h(lo)s(op)e(execution.)150
4707 y Fk(3.2.5.2)63 b(Conditional)42 b(Constructs)150
4878 y Ft(if)384 b Fu(The)30 b(syn)m(tax)h(of)f(the)h
Ft(if)f Fu(command)g(is:)870 5011 y Ft(if)47 b Fj(test-commands)p
Ft(;)d(then)965 5121 y Fj(consequent-commands)p Ft(;)870
5230 y([elif)i Fj(more-test-commands)p Ft(;)d(then)965
5340 y Fj(more-consequents)p Ft(;])p eop end
(page)f(52\))150 4620 y(to)f(con)m(trol)h(lo)s(op)e(execution.)150
4817 y Fk(3.2.5.2)63 b(Conditional)42 b(Constructs)150
4988 y Ft(if)384 b Fu(The)30 b(syn)m(tax)h(of)f(the)h
Ft(if)f Fu(command)g(is:)870 5121 y Ft(if)47 b Fj(test-commands)p
Ft(;)d(then)965 5230 y Fj(consequent-commands)p Ft(;)870
5340 y([elif)i Fj(more-test-commands)p Ft(;)d(then)p
eop end
%%Page: 13 19
TeXDict begin 13 18 bop 150 -116 a Fu(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)870 299
y Ft([else)46 b Fj(alternate-consequents)p Ft(;])870
408 y(fi)630 555 y Fu(The)53 b Fr(test-commands)58 b
Fu(list)c(is)g(executed,)60 b(and)53 b(if)g(its)h(return)e(status)i(is)
f(zero,)61 b(the)630 664 y Fr(consequen)m(t-commands)44
b Fu(list)d(is)f(executed.)70 b(If)40 b Fr(test-commands)k
Fu(returns)39 b(a)h(non-zero)630 774 y(status,)45 b(eac)m(h)e
Ft(elif)d Fu(list)i(is)g(executed)h(in)e(turn,)j(and)d(if)g(its)h(exit)
h(status)f(is)f(zero,)46 b(the)630 883 y(corresp)s(onding)37
b Fr(more-consequen)m(ts)42 b Fu(is)c(executed)g(and)f(the)h(command)g
(completes.)63 b(If)630 993 y(`)p Ft(else)29 b Fj
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)965 299
y Fj(more-consequents)p Ft(;])870 408 y([else)46 b Fj
(alternate-consequents)p Ft(;])870 518 y(fi)630 652 y
Fu(The)53 b Fr(test-commands)58 b Fu(list)c(is)g(executed,)60
b(and)53 b(if)g(its)h(return)e(status)i(is)f(zero,)61
b(the)630 762 y Fr(consequen)m(t-commands)44 b Fu(list)d(is)f
(executed.)70 b(If)40 b Fr(test-commands)k Fu(returns)39
b(a)h(non-zero)630 871 y(status,)45 b(eac)m(h)e Ft(elif)d
Fu(list)i(is)g(executed)h(in)e(turn,)j(and)d(if)g(its)h(exit)h(status)f
(is)f(zero,)46 b(the)630 981 y(corresp)s(onding)37 b
Fr(more-consequen)m(ts)42 b Fu(is)c(executed)g(and)f(the)h(command)g
(completes.)63 b(If)630 1090 y(`)p Ft(else)29 b Fj
(alternate-consequents)p Fu(')c(is)30 b(presen)m(t,)h(and)f(the)g
(\014nal)g(command)g(in)g(the)g(\014nal)630 1103 y Ft(if)44
(\014nal)g(command)g(in)g(the)g(\014nal)630 1200 y Ft(if)44
b Fu(or)g Ft(elif)f Fu(clause)i(has)f(a)h(non-zero)g(exit)g(status,)j
(then)c Fr(alternate-consequen)m(ts)51 b Fu(is)630 1212
(then)c Fr(alternate-consequen)m(ts)51 b Fu(is)630 1310
y(executed.)k(The)34 b(return)g(status)h(is)f(the)h(exit)h(status)f(of)
g(the)g(last)g(command)g(executed,)630 1322 y(or)30 b(zero)i(if)e(no)g
(condition)h(tested)g(true.)150 1504 y Ft(case)288 b
g(the)g(last)g(command)g(executed,)630 1419 y(or)30 b(zero)i(if)e(no)g
(condition)h(tested)g(true.)150 1577 y Ft(case)288 b
Fu(The)30 b(syn)m(tax)h(of)f(the)h Ft(case)e Fu(command)h(is:)870
1650 y Ft(case)47 b Fj(word)f Ft(in)1061 1760 y([)h([\(])g
1711 y Ft(case)47 b Fj(word)f Ft(in)1061 1821 y([)h([\(])g
Fj(pattern)f Ft([|)h Fj(pattern)p Ft(]...)m(\))h Fj(command-list)c
Ft(;;]...)870 1870 y(esac)630 2016 y(case)20 b Fu(will)i(selectiv)m
Ft(;;]...)870 1931 y(esac)630 2064 y(case)20 b Fu(will)i(selectiv)m
(ely)j(execute)e(the)e Fr(command-list)k Fu(corresp)s(onding)20
b(to)i(the)g(\014rst)f Fr(pattern)630 2125 y Fu(that)36
b(to)i(the)g(\014rst)f Fr(pattern)630 2174 y Fu(that)36
b(matc)m(hes)h Fr(w)m(ord)p Fu(,)g(pro)s(ceeding)e(from)g(the)h
(\014rst)f(pattern)h(to)g(the)g(last.)57 b(The)35 b(matc)m(h)630
2235 y(is)30 b(p)s(erformed)f(according)i(to)h(the)e(rules)g(describ)s
2284 y(is)30 b(p)s(erformed)f(according)i(to)h(the)e(rules)g(describ)s
(ed)f(b)s(elo)m(w)i(in)f(Section)h(3.5.8.1)i([P)m(attern)630
2345 y(Matc)m(hing],)44 b(page)d(39.)70 b(If)40 b(the)g
2393 y(Matc)m(hing],)44 b(page)d(39.)70 b(If)40 b(the)g
Ft(nocasematch)c Fu(shell)41 b(option)f(\(see)h(the)f(description)g(of)
630 2454 y Ft(shopt)34 b Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)f
630 2503 y Ft(shopt)34 b Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)f
(Builtin],)k(page)e(78\))g(is)g(enabled,)g(the)g(matc)m(h)g(is)630
2564 y(p)s(erformed)29 b(without)i(regard)g(to)g(the)g(case)h(of)f
2612 y(p)s(erformed)29 b(without)i(regard)g(to)g(the)g(case)h(of)f
(alphab)s(etic)g(c)m(haracters.)44 b(The)30 b(`)p Ft(|)p
Fu(')h(is)g(used)630 2673 y(to)g(separate)h(m)m(ultiple)f(patterns)g
Fu(')h(is)g(used)630 2722 y(to)g(separate)h(m)m(ultiple)f(patterns)g
(in)f(a)h(pattern)g(list,)h(and)e(the)g(`)p Ft(\))p Fu(')h(op)s(erator)
g(terminates)630 2783 y(the)i(pattern)g(list.)49 b(A)33
g(terminates)630 2832 y(the)i(pattern)g(list.)49 b(A)33
b(pattern)g(list)h(and)e(an)h(asso)s(ciated)h Fr(command-list)i
Fu(is)d(kno)m(wn)f(as)i(a)630 2892 y Fr(clause)p Fu(.)630
3039 y(Eac)m(h)e(clause)h(m)m(ust)e(b)s(e)g(terminated)h(with)g(`)p
Fu(is)d(kno)m(wn)f(as)i(a)630 2941 y Fr(clause)p Fu(.)630
3075 y(Eac)m(h)e(clause)h(m)m(ust)e(b)s(e)g(terminated)h(with)g(`)p
Ft(;;)p Fu(',)g(`)p Ft(;&)p Fu(',)g(or)g(`)p Ft(;;&)p
Fu('.)44 b(The)31 b Fr(w)m(ord)k Fu(undergo)s(es)630
3148 y(tilde)j(expansion,)i(parameter)e(expansion,)i(command)e
(substitution,)h(pro)s(cess)e(substi-)630 3258 y(tution,)i(arithmetic)f
3185 y(tilde)j(expansion,)i(parameter)e(expansion,)i(command)e
(substitution,)h(pro)s(cess)e(substi-)630 3294 y(tution,)i(arithmetic)f
(expansion,)h(and)e(quote)g(remo)m(v)-5 b(al)38 b(\(see)g(Section)g
(3.5.3)h([Shell)e(P)m(a-)630 3367 y(rameter)d(Expansion],)g(page)g
(3.5.3)h([Shell)e(P)m(a-)630 3404 y(rameter)d(Expansion],)g(page)g
(27\))h(b)s(efore)e(the)h(shell)g(attempts)g(to)g(matc)m(h)h(the)f
(pattern.)630 3477 y(Eac)m(h)g Fr(pattern)f Fu(undergo)s(es)g(tilde)h
(pattern.)630 3513 y(Eac)m(h)g Fr(pattern)f Fu(undergo)s(es)g(tilde)h
(expansion,)g(parameter)g(expansion,)g(command)f(sub-)630
3587 y(stitution,)e(arithmetic)h(expansion,)f(pro)s(cess)e
3623 y(stitution,)e(arithmetic)h(expansion,)f(pro)s(cess)e
(substitution,)i(and)f(quote)h(remo)m(v)-5 b(al.)630
3733 y(There)30 b(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f
3757 y(There)30 b(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f
(of)h Ft(case)f Fu(clauses,)i(eac)m(h)g(terminated)g(b)m(y)e(a)i(`)p
Ft(;;)p Fu(',)630 3842 y(`)p Ft(;&)p Fu(',)c(or)e(`)p
Ft(;;)p Fu(',)630 3867 y(`)p Ft(;&)p Fu(',)c(or)e(`)p
Ft(;;&)p Fu('.)39 b(The)25 b(\014rst)g(pattern)h(that)g(matc)m(hes)h
(determines)e(the)h(command-list)g(that)630 3952 y(is)35
(determines)e(the)h(command-list)g(that)630 3976 y(is)35
b(executed.)55 b(It's)35 b(a)g(common)g(idiom)g(to)g(use)g(`)p
Ft(*)p Fu(')g(as)g(the)g(\014nal)f(pattern)h(to)h(de\014ne)e(the)630
4061 y(default)d(case,)g(since)g(that)g(pattern)f(will)h(alw)m(a)m(ys)h
(matc)m(h.)630 4208 y(Here)j(is)g(an)g(example)h(using)e
4086 y(default)d(case,)g(since)g(that)g(pattern)f(will)h(alw)m(a)m(ys)h
(matc)m(h.)630 4220 y(Here)j(is)g(an)g(example)h(using)e
Ft(case)g Fu(in)g(a)h(script)g(that)h(could)f(b)s(e)f(used)g(to)h
(describ)s(e)g(one)630 4317 y(in)m(teresting)d(feature)f(of)f(an)g
(describ)s(e)g(one)630 4329 y(in)m(teresting)d(feature)f(of)f(an)g
(animal:)870 4463 y Ft(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f
(animal:)f(")870 4573 y(read)h(ANIMAL)870 4682 y(echo)g(-n)g("The)f
($ANIMAL)g(has)h(")870 4792 y(case)g($ANIMAL)e(in)965
@@ -9998,26 +10000,25 @@ y(righ)m(t.)275 4053 y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f
(are)h(not)g(sorted;)150 4163 y(brace)31 b(expansion)f(preserv)m(es)g
(left)h(to)h(righ)m(t)e(order.)41 b(F)-8 b(or)31 b(example,)390
4313 y Ft(bash$)46 b(echo)h(a{d,c,b}e)390 4423 y(ade)g(ace)g(abe)275
4573 y Fu(A)23 b(sequence)g(expression)g(tak)m(es)i(the)e(form)g
Ft({)p Fj(x)p Ft(..)p Fj(y)p Ft([..)p Fj(incr)p Ft(]})p
Fu(,)e(where)i Fr(x)29 b Fu(and)23 b Fr(y)30 b Fu(are)24
b(either)g(in)m(tegers)150 4682 y(or)34 b(letters,)i(and)d
Fr(incr)p Fu(,)h(an)g(optional)g(incremen)m(t,)i(is)d(an)h(in)m(teger.)
52 b(When)33 b(in)m(tegers)i(are)f(supplied,)g(the)150
4792 y(expression)40 b(expands)e(to)j(eac)m(h)g(n)m(um)m(b)s(er)d(b)s
(et)m(w)m(een)j Fr(x)46 b Fu(and)39 b Fr(y)p Fu(,)j(inclusiv)m(e.)70
b(If)39 b(either)h Fr(x)46 b Fu(or)40 b Fr(y)47 b Fu(b)s(egins)150
4902 y(with)c(a)g(zero,)k(eac)m(h)d(generated)g(term)f(will)g(con)m
(tain)h(the)f(same)g(n)m(um)m(b)s(er)f(of)h(digits,)k(zero-padding)150
5011 y(where)e(necessary)-8 b(.)86 b(When)45 b(letters)i(are)f
(supplied,)i(the)d(expression)g(expands)g(to)h(eac)m(h)g(c)m(haracter)
150 5121 y(lexicographically)37 b(b)s(et)m(w)m(een)e
Fr(x)40 b Fu(and)34 b Fr(y)p Fu(,)i(inclusiv)m(e,)g(using)e(the)g(C)g
(lo)s(cale.)54 b(Note)36 b(that)f(b)s(oth)e Fr(x)41 b
Fu(and)33 b Fr(y)150 5230 y Fu(m)m(ust)e(b)s(e)f(of)h(the)g(same)g(t)m
(yp)s(e)g(\(in)m(teger)h(or)f(letter\).)43 b(When)31
b(the)g(incremen)m(t)g(is)g(supplied,)f(it)h(is)g(used)f(as)150
5340 y(the)h(di\013erence)f(b)s(et)m(w)m(een)h(eac)m(h)h(term.)41
4573 y Fu(A)30 b(sequence)h(expression)g(tak)m(es)h(the)f(form)f
Fj(x)p Ft(..)p Fj(y)p Ft([..)p Fj(incr)p Ft(])p Fu(,)d(where)j
Fr(x)37 b Fu(and)30 b Fr(y)39 b Fu(are)31 b(either)g(in)m(tegers)150
4682 y(or)j(letters,)i(and)d Fr(incr)p Fu(,)h(an)g(optional)g(incremen)
m(t,)i(is)d(an)h(in)m(teger.)52 b(When)33 b(in)m(tegers)i(are)f
(supplied,)g(the)150 4792 y(expression)40 b(expands)e(to)j(eac)m(h)g(n)
m(um)m(b)s(er)d(b)s(et)m(w)m(een)j Fr(x)46 b Fu(and)39
b Fr(y)p Fu(,)j(inclusiv)m(e.)70 b(If)39 b(either)h Fr(x)46
b Fu(or)40 b Fr(y)47 b Fu(b)s(egins)150 4902 y(with)c(a)g(zero,)k(eac)m
(h)d(generated)g(term)f(will)g(con)m(tain)h(the)f(same)g(n)m(um)m(b)s
(er)f(of)h(digits,)k(zero-padding)150 5011 y(where)e(necessary)-8
b(.)86 b(When)45 b(letters)i(are)f(supplied,)i(the)d(expression)g
(expands)g(to)h(eac)m(h)g(c)m(haracter)150 5121 y(lexicographically)37
b(b)s(et)m(w)m(een)e Fr(x)40 b Fu(and)34 b Fr(y)p Fu(,)i(inclusiv)m(e,)
g(using)e(the)g(C)g(lo)s(cale.)54 b(Note)36 b(that)f(b)s(oth)e
Fr(x)41 b Fu(and)33 b Fr(y)150 5230 y Fu(m)m(ust)e(b)s(e)f(of)h(the)g
(same)g(t)m(yp)s(e)g(\(in)m(teger)h(or)f(letter\).)43
b(When)31 b(the)g(incremen)m(t)g(is)g(supplied,)f(it)h(is)g(used)f(as)
150 5340 y(the)h(di\013erence)f(b)s(et)m(w)m(een)h(eac)m(h)h(term.)41
b(The)30 b(default)g(incremen)m(t)h(is)g(1)f(or)h(-1)g(as)f
(appropriate.)p eop end
%%Page: 26 32
@@ -17337,90 +17338,92 @@ y(the)f(argumen)m(ts)f(as)h(k)m(ey)g(sequences)g(to)g(bind.)705
(un)m(til)f(script)f(execution)i(completes.)p eop end
%%Page: 125 131
TeXDict begin 125 130 bop 3614 -116 a Fu(125)150 299
y Fp(7)80 b(Job)54 b(Con)l(trol)150 551 y Fu(This)25
y Fp(7)80 b(Job)54 b(Con)l(trol)150 511 y Fu(This)25
b(c)m(hapter)i(discusses)f(what)g(job)f(con)m(trol)j(is,)f(ho)m(w)f(it)
h(w)m(orks,)g(and)f(ho)m(w)g(Bash)g(allo)m(ws)h(y)m(ou)g(to)g(access)
150 660 y(its)k(facilities.)150 910 y Fs(7.1)68 b(Job)45
b(Con)l(trol)h(Basics)150 1069 y Fu(Job)27 b(con)m(trol)i(refers)e(to)h
150 620 y(its)k(facilities.)150 852 y Fs(7.1)68 b(Job)45
b(Con)l(trol)h(Basics)150 1012 y Fu(Job)27 b(con)m(trol)i(refers)e(to)h
(the)g(abilit)m(y)h(to)f(selectiv)m(ely)j(stop)c(\(susp)s(end\))f(the)i
(execution)h(of)e(pro)s(cesses)h(and)150 1179 y(con)m(tin)m(ue)38
(execution)h(of)e(pro)s(cesses)h(and)150 1121 y(con)m(tin)m(ue)38
b(\(resume\))g(their)f(execution)h(at)g(a)g(later)g(p)s(oin)m(t.)61
b(A)37 b(user)g(t)m(ypically)i(emplo)m(ys)f(this)f(facilit)m(y)150
1289 y(via)27 b(an)e(in)m(teractiv)m(e)k(in)m(terface)f(supplied)d
1231 y(via)27 b(an)e(in)m(teractiv)m(e)k(in)m(terface)f(supplied)d
(join)m(tly)h(b)m(y)g(the)h(op)s(erating)f(system)g(k)m(ernel's)h
(terminal)f(driv)m(er)150 1398 y(and)k(Bash.)275 1539
(terminal)f(driv)m(er)150 1341 y(and)k(Bash.)275 1471
y(The)23 b(shell)i(asso)s(ciates)h(a)f Fr(job)h Fu(with)e(eac)m(h)i
(pip)s(eline.)38 b(It)25 b(k)m(eeps)f(a)h(table)h(of)e(curren)m(tly)h
(executing)g(jobs,)150 1648 y(whic)m(h)37 b(the)h Ft(jobs)e
(executing)g(jobs,)150 1580 y(whic)m(h)37 b(the)h Ft(jobs)e
Fu(command)i(will)f(displa)m(y)-8 b(.)63 b(Eac)m(h)38
b(job)g(has)f(a)h Fr(job)f(n)m(um)m(b)s(er)p Fu(,)h(whic)m(h)f
Ft(jobs)g Fu(displa)m(ys)150 1758 y(b)s(et)m(w)m(een)25
Ft(jobs)g Fu(displa)m(ys)150 1690 y(b)s(et)m(w)m(een)25
b(brac)m(k)m(ets.)40 b(Job)25 b(n)m(um)m(b)s(ers)e(start)i(at)g(1.)39
b(When)24 b(Bash)h(starts)g(a)g(job)f(async)m(hronously)-8
b(,)26 b(it)f(prin)m(ts)150 1867 y(a)31 b(line)f(that)h(lo)s(oks)g(lik)
m(e:)390 2008 y Ft([1])47 b(25647)150 2148 y Fu(indicating)34
b(,)26 b(it)f(prin)m(ts)150 1799 y(a)31 b(line)f(that)h(lo)s(oks)g(lik)
m(e:)390 1929 y Ft([1])47 b(25647)150 2059 y Fu(indicating)34
b(that)g(this)f(job)g(is)g(job)g(n)m(um)m(b)s(er)f(1)i(and)f(that)g
(the)h(pro)s(cess)f Fm(id)g Fu(of)g(the)h(last)g(pro)s(cess)f(in)g(the)
150 2258 y(pip)s(eline)42 b(asso)s(ciated)i(with)e(this)g(job)g(is)h
150 2169 y(pip)s(eline)42 b(asso)s(ciated)i(with)e(this)g(job)g(is)h
(25647.)78 b(All)43 b(of)g(the)g(pro)s(cesses)f(in)g(a)h(single)g(pip)s
(eline)f(are)150 2367 y(mem)m(b)s(ers)30 b(of)g(the)h(same)f(job.)41
(eline)f(are)150 2279 y(mem)m(b)s(ers)30 b(of)g(the)h(same)f(job.)41
b(Bash)30 b(uses)g(the)h Fr(job)h Fu(abstraction)f(as)g(the)g(basis)f
(for)g(job)g(con)m(trol.)275 2508 y(T)-8 b(o)37 b(facilitate)j(the)d
(for)g(job)g(con)m(trol.)275 2409 y(T)-8 b(o)37 b(facilitate)j(the)d
(implemen)m(tation)i(of)e(the)g(user)g(in)m(terface)h(to)g(job)f(con)m
(trol,)j(eac)m(h)f(pro)s(cess)d(has)150 2617 y(a)h Fr(pro)s(cess)e
(trol,)j(eac)m(h)f(pro)s(cess)d(has)150 2518 y(a)h Fr(pro)s(cess)e
(group)h Fm(id)p Fu(,)i(and)d(the)i(op)s(erating)f(system)h(main)m
(tains)g(the)f(notion)h(of)f(a)g(curren)m(t)g(terminal)150
2727 y(pro)s(cess)28 b(group)g Fm(id)p Fu(.)41 b(Pro)s(cesses)28
b(that)i(ha)m(v)m(e)f(the)g(same)g(pro)s(cess)g(group)f(ID)g(are)h
(said)g(to)g(b)s(e)f(part)h(of)g(the)150 2837 y(same)38
b Fr(pro)s(cess)f(group)p Fu(.)62 b(Mem)m(b)s(ers)38
b(of)f(the)h(foreground)f(pro)s(cess)g(group)g(\(pro)s(cesses)h(whose)f
(pro)s(cess)150 2946 y(group)28 b Fm(id)h Fu(is)g(equal)h(to)f(the)g
(curren)m(t)g(terminal)g(pro)s(cess)g(group)f Fm(id)p
Fu(\))h(receiv)m(e)i(k)m(eyb)s(oard-generated)f(sig-)150
3056 y(nals)j(suc)m(h)g(as)g Ft(SIGINT)p Fu(.)47 b(Pro)s(cesses)33
b(in)g(the)h(foreground)e(pro)s(cess)g(group)h(are)g(said)g(to)h(b)s(e)
f(foreground)150 3165 y(pro)s(cesses.)50 b(Bac)m(kground)34
b(pro)s(cesses)f(are)h(those)f(whose)h(pro)s(cess)f(group)f
Fm(id)i Fu(di\013ers)f(from)g(the)g(termi-)150 3275 y(nal's;)c(suc)m(h)
e(pro)s(cesses)g(are)g(imm)m(une)g(to)h(k)m(eyb)s(oard-generated)h
(signals.)40 b(Only)27 b(foreground)f(pro)s(cesses)150
3384 y(are)h(allo)m(w)m(ed)h(to)f(read)f(from)f(or,)j(if)e(the)g(user)g
(so)g(sp)s(eci\014es)g(with)g Ft(stty)j(tostop)p Fu(,)c(write)i(to)g
(the)f(terminal.)150 3494 y(Bac)m(kground)33 b(pro)s(cesses)g(whic)m(h)
g(attempt)g(to)h(read)f(from)f(\(write)h(to)h(when)e
Ft(tostop)f Fu(is)i(in)f(e\013ect\))j(the)150 3604 y(terminal)29
b(are)f(sen)m(t)h(a)g Ft(SIGTTIN)d Fu(\()p Ft(SIGTTOU)p
Fu(\))h(signal)i(b)m(y)f(the)h(k)m(ernel's)g(terminal)f(driv)m(er,)h
(whic)m(h,)g(unless)150 3713 y(caugh)m(t,)j(susp)s(ends)c(the)i(pro)s
(cess.)275 3854 y(If)k(the)i(op)s(erating)g(system)f(on)h(whic)m(h)f
(Bash)g(is)h(running)d(supp)s(orts)h(job)h(con)m(trol,)j(Bash)e(con)m
(tains)150 3963 y(facilities)30 b(to)f(use)f(it.)40 b(T)m(yping)28
2628 y(pro)s(cess)23 b(group)g Fm(id)p Fu(.)39 b(This)22
b(terminal)i(pro)s(cess)g(group)f Fm(id)g Fu(is)h(asso)s(ciated)h(with)
e(the)h Fr(con)m(trolling)h(terminal)p Fu(.)275 2758
y(Pro)s(cesses)32 b(that)g(ha)m(v)m(e)i(the)e(same)g(pro)s(cess)g
(group)g(ID)g(are)g(said)g(to)h(b)s(e)f(part)f(of)i(the)f(same)g
Fr(pro)s(cess)150 2868 y(group)p Fu(.)38 b(Mem)m(b)s(ers)25
b(of)h(the)f(foreground)f(pro)s(cess)h(group)g(\(pro)s(cesses)g(whose)g
(pro)s(cess)f(group)h Fm(id)g Fu(is)g(equal)150 2977
y(to)e(the)f(curren)m(t)f(terminal)i(pro)s(cess)e(group)h
Fm(id)p Fu(\))g(receiv)m(e)i(k)m(eyb)s(oard-generated)f(signals)g(suc)m
(h)e(as)h Ft(SIGINT)p Fu(.)150 3087 y(Pro)s(cesses)28
b(in)f(the)g(foreground)g(pro)s(cess)g(group)g(are)h(said)f(to)h(b)s(e)
f(foreground)g(pro)s(cesses.)39 b(Bac)m(kground)150 3196
y(pro)s(cesses)i(are)h(those)g(whose)g(pro)s(cess)f(group)g
Fm(id)h Fu(di\013ers)f(from)g(the)h(con)m(trolling)h(terminal's;)48
b(suc)m(h)150 3306 y(pro)s(cesses)24 b(are)g(imm)m(une)g(to)g(k)m(eyb)s
(oard-generated)h(signals.)40 b(Only)23 b(foreground)g(pro)s(cesses)h
(are)g(allo)m(w)m(ed)150 3416 y(to)k(read)g(from)f(or,)h(if)f(the)h
(user)f(so)g(sp)s(eci\014es)g(with)h Ft(stty)h(tostop)p
Fu(,)d(write)i(to)g(the)g(con)m(trolling)h(terminal.)150
3525 y(The)34 b(system)h(sends)f(a)h Ft(SIGTTIN)d Fu(\()p
Ft(SIGTTOU)p Fu(\))i(signal)h(to)g(bac)m(kground)g(pro)s(cesses)f(whic)
m(h)g(attempt)i(to)150 3635 y(read)31 b(from)f(\(write)h(to)g(when)f
Ft(tostop)f Fu(is)i(in)f(e\013ect\))i(the)f(terminal,)h(whic)m(h,)e
(unless)g(caugh)m(t,)i(susp)s(ends)150 3744 y(the)f(pro)s(cess.)275
3874 y(If)j(the)i(op)s(erating)g(system)f(on)h(whic)m(h)f(Bash)g(is)h
(running)d(supp)s(orts)h(job)h(con)m(trol,)j(Bash)e(con)m(tains)150
3984 y(facilities)30 b(to)f(use)f(it.)40 b(T)m(yping)28
b(the)g Fr(susp)s(end)h Fu(c)m(haracter)h(\(t)m(ypically)g(`)p
Ft(^Z)p Fu(',)f(Con)m(trol-Z\))g(while)f(a)g(pro)s(cess)150
4073 y(is)40 b(running)e(stops)i(that)g(pro)s(cess)f(and)g(returns)g
4094 y(is)40 b(running)e(stops)i(that)g(pro)s(cess)f(and)g(returns)g
(con)m(trol)i(to)g(Bash.)69 b(T)m(yping)39 b(the)h Fr(dela)m(y)m(ed)h
(susp)s(end)150 4182 y Fu(c)m(haracter)d(\(t)m(ypically)g(`)p
(susp)s(end)150 4203 y Fu(c)m(haracter)d(\(t)m(ypically)g(`)p
Ft(^Y)p Fu(',)f(Con)m(trol-Y\))h(causes)e(the)g(pro)s(cess)f(to)i(stop)
f(when)f(it)h(attempts)h(to)g(read)150 4292 y(input)28
f(when)f(it)h(attempts)h(to)g(read)150 4313 y(input)28
b(from)g(the)i(terminal,)g(and)e(returns)g(con)m(trol)i(to)g(Bash.)40
b(The)28 b(user)h(then)f(manipulates)h(the)h(state)150
4402 y(of)36 b(this)f(job,)i(using)e(the)g Ft(bg)g Fu(command)h(to)g
4422 y(of)36 b(this)f(job,)i(using)e(the)g Ft(bg)g Fu(command)h(to)g
(con)m(tin)m(ue)h(it)f(in)f(the)h(bac)m(kground,)g(the)g
Ft(fg)f Fu(command)g(to)150 4511 y(con)m(tin)m(ue)30
Ft(fg)f Fu(command)g(to)150 4532 y(con)m(tin)m(ue)30
b(it)f(in)f(the)g(foreground,)g(or)h(the)f Ft(kill)g
Fu(command)g(to)h(kill)g(it.)41 b(The)28 b(susp)s(end)d(c)m(haracter)30
b(tak)m(es)150 4621 y(e\013ect)g(immediately)-8 b(,)31
b(tak)m(es)150 4641 y(e\013ect)g(immediately)-8 b(,)31
b(and)d(has)g(the)h(additional)h(side)e(e\013ect)i(of)f(discarding)f
(an)m(y)h(p)s(ending)e(output)i(and)150 4730 y(t)m(yp)s(eahead.)42
(an)m(y)h(p)s(ending)e(output)i(and)150 4751 y(t)m(yp)s(eahead.)42
b(If)30 b(y)m(ou)h(w)m(an)m(t)g(to)h(force)f(a)g(bac)m(kground)f(pro)s
(cess)h(to)g(stop,)g(or)g(stop)f(a)h(pro)s(cess)f(that's)i(not)150
4840 y(asso)s(ciated)g(with)e(y)m(our)g(terminal)h(session,)g(send)e
4861 y(asso)s(ciated)g(with)e(y)m(our)g(terminal)h(session,)g(send)e
(it)i(the)g Ft(SIGSTOP)d Fu(signal)j(using)f Ft(kill)p
Fu(.)275 4980 y(There)i(are)g(a)h(n)m(um)m(b)s(er)e(of)i(w)m(a)m(ys)g
Fu(.)275 4991 y(There)i(are)g(a)h(n)m(um)m(b)s(er)e(of)i(w)m(a)m(ys)g
(to)h(refer)e(to)h(a)g(job)f(in)g(the)h(shell.)47 b(The)32
b(`)p Ft(\045)p Fu(')h(c)m(haracter)h(in)m(tro)s(duces)150
5090 y(a)d Fr(job)f(sp)s(eci\014cation)h Fu(\(jobsp)s(ec\).)275
5100 y(a)d Fr(job)f(sp)s(eci\014cation)h Fu(\(jobsp)s(ec\).)275
5230 y(Job)i(n)m(um)m(b)s(er)f Ft(n)h Fu(ma)m(y)h(b)s(e)e(referred)h
(to)h(as)g(`)p Ft(\045n)p Fu('.)49 b(A)34 b(job)f(ma)m(y)h(also)g(b)s
(e)f(referred)f(to)i(using)f(a)h(pre\014x)150 5340 y(of)i(the)g(name)g
BIN
View File
Binary file not shown.
-18
View File
@@ -1,18 +0,0 @@
#
# Chet Ramey <chet.ramey@case.edu>
#
# Copyright 2011 Chester Ramey
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# TThis program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-17
View File
@@ -1,17 +0,0 @@
/*
Copyright (C) 1999-2009 Free Software Foundation, Inc.
This file is part of GNU Bash.
Bash is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bash is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
-41
View File
@@ -1,41 +0,0 @@
bashhist.c:extern int rl_done, rl_dispatching; /* should really include readline.h */
bashline.c:extern int no_symbolic_links;
bashline.c:extern STRING_INT_ALIST word_token_alist[];
braces.c:extern int last_command_exit_value;
dispose_cmd.c:extern sh_obj_cache_t wdcache, wlcache;
error.c:extern pid_t shell_pgrp;
error.c:extern const char * const bash_badsub_errmsg;
eval.c:extern sigset_t top_level_mask;
execute_cmd.c:extern int command_string_index;
execute_cmd.c:extern char *the_printed_command;
execute_cmd.c:extern time_t shell_start_time;
execute_cmd.c:extern char *glob_argv_flags;
expr.c:extern const char * const bash_badsub_errmsg;
jobs.c:extern sigset_t top_level_mask;
jobs.c:extern WORD_LIST *subst_assign_varlist;
jobs.c:extern SigHandler **original_signals;
locale.c:extern int dump_translatable_strings, dump_po_strings;
mailcheck.c:extern time_t shell_start_time;
mksyntax.c:extern int optind;
mksyntax.c:extern char *optarg;
mksyntax.c:extern char *strerror();
nojobs.c:extern sigset_t top_level_mask;
pcomplete.c:extern STRING_INT_ALIST word_token_alist[];
pcomplete.c:extern char *signal_names[];
redir.c:extern REDIRECT *redirection_undo_list;
redir.c:extern REDIRECT *exec_redirection_undo_list;
shell.c:extern struct passwd *getpwuid ();
shell.c:extern char **environ; /* used if no third argument to main() */
shell.c:extern int gnu_error_format;
sig.c:extern void initialize_siglist ();
subst.c:extern struct fd_bitmap *current_fds_to_close;
subst.c:extern int wordexp_only;
subst.c:extern PROCESS *last_procsub_child;
trap.c:extern procenv_t alrmbuf;
trap.c:extern volatile int from_return_trap;
trap.c:extern WORD_LIST *subst_assign_varlist;
variables.c:extern char **environ;
variables.c:extern time_t shell_start_time;
version.c:extern char *shell_name;
version2.c:extern char *shell_name;
xmalloc.c:extern char *sbrk();
-226
View File
@@ -1,226 +0,0 @@
./configure~: Do not test the value of __STDC__, because some compilers set it to 0
./configure~:#if !defined __STDC__
./configure~:#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
./configure~:ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
./configure.ac~:ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
./configure.ac:ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
./config-bot.h~:/* Try this without testing __STDC__ for the time being. */
./configure: Do not test the value of __STDC__, because some compilers set it to 0
./configure:#if !defined __STDC__
./configure:ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
./autom4te.cache/traces.0: && !(defined __SUNPRO_C && __STDC__))) \\
./autom4te.cache/traces.1: && !(defined __SUNPRO_C && __STDC__))) \\
./autom4te.cache/output.0: Do not test the value of __STDC__, because some compilers set it to 0
./autom4te.cache/output.0:#if !defined __STDC__
./autom4te.cache/output.0:ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
./autom4te.cache/output.1: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.1:#ifdef __STDC__
./autom4te.cache/output.1: # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.1:@%:@ifdef __STDC__
./autom4te.cache/output.1: # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.1:@%:@ifdef __STDC__
./autom4te.cache/output.1:#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
./autom4te.cache/output.1:#ifndef __STDC__
./autom4te.cache/output.1:#ifndef __STDC__
./autom4te.cache/output.1:#ifndef __STDC__
./autom4te.cache/output.1:ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
./autom4te.cache/output.3: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.3:#ifdef __STDC__
./autom4te.cache/output.3: # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.3:@%:@ifdef __STDC__
./autom4te.cache/output.3: # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.3:@%:@ifdef __STDC__
./autom4te.cache/output.3:#if defined(__STDC__) || defined(__cplusplus)
./autom4te.cache/output.3:#ifndef __STDC__
./autom4te.cache/output.3:#ifndef __STDC__
./autom4te.cache/output.3:#ifndef __STDC__
./autom4te.cache/output.3:ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
./autom4te.cache/output.2: # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:@%:@ifdef __STDC__
./autom4te.cache/output.2: # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:@%:@ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2:#if defined(__STDC__) || defined(__cplusplus)
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2:#ifndef __STDC__
./autom4te.cache/output.2:#ifndef __STDC__
./autom4te.cache/output.2:#ifndef __STDC__
./autom4te.cache/output.2: Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
./autom4te.cache/output.2:#ifdef __STDC__
./autom4te.cache/output.2:ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
./include/memalloc.h~:# if defined (__STDC__)
./include/memalloc.h~:# endif /* !__STDC__ */
./include/stdc.h:# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus) || defined (PROTOTYPES)
./include/stdc.h:#if !defined (__STDC__)
./include/stdc.h:#endif /* !__STDC__ */
./include/stdc.h~:# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus) || defined (PROTOTYPES)
./include/stdc.h~:#if !defined (__STDC__)
./include/stdc.h~:#endif /* !__STDC__ */
./CWRU/old-conf/machines.h: /* SGI cc uses ansi c features *without* defining __STDC__ */
./CWRU/old-conf/machines.h:# if defined (__EXTENSIONS__) && !defined (__STDC__)
./CWRU/old-conf/machines.h:# define ANSIC -D__STDC__
./CWRU/old-conf/machines.h:# endif /* !__EXTENSIONS__ || __STDC__ */
./CWRU/old-conf/machines.h:# define SYSDEP_CFLAGS -ma -U__STDC__
./CWRU/old-conf/machines.h:# if defined (__STDC__)
./CWRU/old-conf/machines.h:# endif /* __STDC__ */
./CWRU/old-changelogs/CWRU.chlog.v11: - hpux_9 needs alloca declared as `extern void *' if __STDC__
./CWRU/old-changelogs/CWRU.chlog.v11: if __STDC__ is defined and we're using stdarg
./CWRU/old-changelogs/CWRU.chlog.v10: - add a __STDC__ definition for getpwnam() for isc386 machines
./CWRU/old-changelogs/CWRU.chlog.v10: - correctly declare the second argument as a size_t if __STDC__
./CWRU/old-changelogs/CWRU.chlog.v10: on whether __STDC__ is defined and > 0. The `stdc' version uses
./CWRU/old-changelogs/CWRU.chlog.v10: - sgi needs __STDC__ defined if __EXTENSIONS__ is defined
./CWRU/old-changelogs/CWRU.chlog.v10: - moved the #if defined (__P) inside the check for __STDC__, so
./CWRU/old-changelogs/CWRU.chlog.v10: - if __STDC__ is defined but we're not using gcc (__GNUC__ not
./CWRU/old-changelogs/CWRU.chlog.v10: - only test for and possibly define __STDC__ if __GNUC__ is not
./CWRU/old-changelogs/CWRU.chlog.v10: - removed support for outputting -D__STDC__; it's rarely right
./CWRU/old-changelogs/CHANGES.090393:__STDC__ is defined
./CWRU/old-changelogs/CWRU.chlog.v12: - add prototypes for extern function declarations if __STDC__
./CWRU/old-changelogs/CWRU.chlog.v12: - break the definition of __P out from a strict __STDC__ block,
./CWRU/old-changelogs/CWRU.chlog.v12: as either `__const' (gcc -traditional) or nothing if __STDC__ and
./CWRU/old-changelogs/CWRU.chlog.v13: use `void *' and prototype if __STDC__ is defined
./CWRU/old-changelogs/CWRU.chlog.v13: - don't test __STDC__ when deciding whether or not to use stdarg.h;
./CWRU/old-changelogs/CWRU.chlog.v13: - don't try to use \a and \v unless __STDC__ is defined; use the
./CWRU/old-changelogs/CWRU.chlog.v9: __STDC__ is defined
./CWRU/old-changelogs/CWRU.chlog.v9: - add extern declaration of strcpy if __STDC__ and strcpy not defined
./CWRU/old-changelogs/CWRU.chlog.v9: ANSI C environment (__STDC__)
./CWRU/old-changelogs/CWRU.chlog.v9: - recognize __GNUC__ and __STDC__ and pass them along as output
./CWRU/old-changelogs/CWRU.chlog.v9: where __STDC__ is not defined and _POSIX_SOURCE is
./CWRU/old/RELEASE.113:__STDC__ is defined
./CWRU/CWRU.chlog~: - restrict: make sure we have a definition if __STDC__ is not defined
./CWRU/CWRU.chlog~: - don't bother with __STDC__ if we are just using C89 features like
./CWRU/CWRU.chlog: - restrict: make sure we have a definition if __STDC__ is not defined
./CWRU/CWRU.chlog: - don't bother with __STDC__ if we are just using C89 features like
./lib/intl/explodename.c:# if defined __STDC__ && __STDC__
./lib/intl/gmo.h:#if __STDC__
./lib/intl/gettextP.h:# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
./lib/intl/loadinfo.h:# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
./lib/intl/plural.c:# if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:#if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:# if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:#if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:#if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:# if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:# if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:#if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:#if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:# if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:#if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:# if defined (__STDC__) || defined (__cplusplus)
./lib/intl/plural.c:#if defined (__STDC__) || defined (__cplusplus)
./lib/intl/localcharset.c:#if __STDC__ != 1
./lib/intl/l10nflist.c:# if defined __STDC__ && __STDC__
./lib/intl/libgnuintl.h.in:# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
./lib/intl/libgnuintl.h.in:# if __GNUC__ >= 2 && !defined __APPLE_CC__ && (defined __STDC__ || defined __cplusplus)
./lib/readline/histlib.h~:# if !defined (strchr) && !defined (__STDC__)
./lib/readline/histlib.h~:# endif /* !strchr && !__STDC__ */
./lib/readline/rldefs.h~:#if !defined (strchr) && !defined (__STDC__)
./lib/readline/rldefs.h~:#endif /* !strchr && !__STDC__ */
./lib/readline/bind.c~:#if !defined (strchr) && !defined (__STDC__)
./lib/readline/bind.c~:#endif /* !strchr && !__STDC__ */
./lib/readline/parens.c:#if !defined (strchr) && !defined (__STDC__)
./lib/readline/parens.c:#endif /* !strchr && !__STDC__ */
./lib/readline/complete.c~:#ifdef __STDC__
./lib/readline/rlstdc.h:# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus)
./lib/readline/display.c~:#if !defined (strchr) && !defined (__STDC__)
./lib/readline/display.c~:#endif /* !strchr && !__STDC__ */
./lib/readline/rlstdc.h~:# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus)
./lib/readline/rlstdc.h~:#if defined (__STDC__) && defined (HAVE_STDARG_H)
./lib/readline/funmap.c~:#ifdef __STDC__
./lib/sh/vprint.c:# if defined (__STDC__)
./lib/sh/vprint.c:# endif /* __STDC__ */
./lib/termcap/grot/ChangeLog: * termcap.h [__STDC__]: Add consts. From Franc,ois Pinard.
./lib/malloc/OLD/ogmalloc.c:#if defined (__GNU_LIBRARY__) || (defined (__STDC__) && __STDC__)
./lib/malloc/OLD/ogmalloc.c:#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
./lib/malloc/OLD/ogmalloc.c:#if defined (__STDC__) && __STDC__
./lib/malloc/OLD/omalloc.c:# if defined (__STDC__)
./lib/malloc/OLD/omalloc.c:#if defined (__STDC__)
./lib/malloc/OLD/gmalloc.c:#if __STDC__
./lib/malloc/OLD/gmalloc.c:#endif /* !__STDC__ */
./lib/malloc/OLD/old-nmalloc.c:# if defined (__STDC__)
./lib/malloc/OLD/old-nmalloc.c:#if defined (__STDC__)
./lib/malloc/shmalloc.h~:#if defined (__STDC__)
./lib/malloc/alloca.c~:#if __STDC__
./lib/malloc/imalloc.h~:# if defined (__STDC__)
./lib/malloc/imalloc.h~:# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus) || defined (PROTOTYPES)
./lib/malloc/xmalloc.c~:#if defined (__STDC__)
./m4/iconv.m4~:#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
./m4/extern-inline.m4: && !(defined __SUNPRO_C && __STDC__))) \
./aclocal.m4~:#ifdef __STDC__
./general.h~:#ifdef __STDC__
./aclocal.m4:#ifdef __STDC__
-310
View File
@@ -1,310 +0,0 @@
total 3772
drwxr-xr-x 100 root root 12288 Apr 21 04:13 ./
drwxr-xr-x 29 root root 4096 Apr 21 03:02 ../
-rw-r--r-- 1 root root 15288 Jan 15 2008 a2ps.cfg
-rw-r--r-- 1 root root 2562 Jan 15 2008 a2ps-site.cfg
drwxr-xr-x 4 root root 4096 Oct 5 2011 acpi/
-rw-r--r-- 1 root root 46 Apr 21 03:00 adjtime
drwxr-xr-x 4 root root 4096 May 17 2010 alchemist/
-rw-r--r-- 1 root root 1601 May 25 2010 aliases
-rw-r--r-- 1 root root 12288 Apr 21 03:03 aliases.db
-rw-r--r-- 1 root root 1512 Apr 25 2005 aliases.redhat
drwxr-xr-x 4 root root 4096 May 17 2010 alsa/
drwxr-xr-x 2 root root 4096 Apr 21 01:01 alternatives/
-rw-r--r-- 1 root root 298 Dec 18 2006 anacrontab
-rw------- 1 root root 1 Oct 3 2014 at.deny
drwxr-x--- 3 root root 4096 May 31 2012 audisp/
drwxr-x--- 2 root root 4096 May 31 2012 audit/
-rw------- 1 root root 3902 Jul 11 2014 autofs_ldap_auth.conf
-rw-r--r-- 1 root root 681 May 25 2010 auto.master
-rw-r--r-- 1 root root 717 Mar 16 2010 auto.master.redhat
-rw-r--r-- 1 root root 581 Jul 11 2014 auto.misc
-rwxr-xr-x 1 root root 1292 Jul 11 2014 auto.net*
-rwxr-xr-x 1 root root 742 Jul 11 2014 auto.smb*
drwxr-xr-x 4 root root 4096 May 31 2011 avahi/
lrwxrwxrwx 1 root root 21 Feb 10 2014 avamar -> /usr/local/avamar/etc/
-rw-r--r-- 1 root root 1872 Dec 5 2011 bashrc
drwxr-xr-x 2 root root 4096 Apr 21 03:03 blkid/
drwxr-xr-x 2 root root 4096 May 31 2011 bonobo-activation/
-rw-r--r-- 1 root root 977 Oct 3 2008 cdrecord.conf
-rw-r--r-- 1 root root 306 May 25 2010 CHANGELOG.txt
drwx------ 2 root root 4096 Oct 14 2014 cron.d/
drwxr-xr-x 2 root root 4096 Feb 17 01:02 cron.daily/
-rw-r--r-- 1 root root 0 May 17 2010 cron.deny
drwxr-xr-x 2 root root 4096 Aug 29 2012 cron.hourly/
drwxr-xr-x 2 root root 4096 Aug 29 2012 cron.monthly/
-rw-r--r-- 1 root root 255 Aug 29 2012 crontab
drwxr-xr-x 2 root root 4096 Feb 27 2013 cron.weekly/
-rw-r--r-- 1 root root 1044 Dec 5 2011 csh.cshrc
-rw-r--r-- 1 root root 823 Dec 5 2011 csh.login
drwxr-xr-x 5 root lp 4096 Feb 17 01:02 cups/
drwxr-xr-x 4 root root 4096 Oct 22 2013 dbus-1/
drwxr-xr-x 2 root root 4096 Jan 28 15:45 default/
drwxr-xr-x 2 root root 4096 Oct 22 2013 depmod.d/
drwxr-xr-x 3 root root 4096 Jun 6 2014 dev.d/
-rw-r--r-- 1 root root 2892 Jan 7 22:12 dhcpd.conf
-rw-r--r-- 1 root root 2751 Feb 7 2013 dhcpd.conf~
-rw-r--r-- 1 root root 2822 Oct 15 2014 dhcpd.conf.ACT
-rw-r--r-- 1 root root 2822 Oct 15 2014 dhcpd.conf.ACT.old
-rw-r--r-- 1 root root 86 Jul 29 2005 dhcpd.conf.example.RH
-rw-r--r-- 1 root root 2822 Jan 7 22:12 dhcpd.conf.last
-rw-r--r-- 1 root root 2821 Mar 20 2013 dhcpd.conf.lurch
-rw-r--r-- 1 root root 1918 Aug 19 2010 dhcpd.conf.test
-rw-r--r-- 1 root root 2892 Dec 18 16:42 dhcpd.conf.tftp-changes
-rw-r--r-- 1 root root 2822 Dec 18 16:01 dhcpd.conf.tftp-changes~
lrwxrwxrwx 1 root root 12 Feb 7 2013 dhcplog -> /fs1/dhcplog
-rw-r--r-- 1 root root 2518 Mar 14 2012 DIR_COLORS
-rw-r--r-- 1 root root 2420 Mar 14 2012 DIR_COLORS.xterm
-rw-r--r-- 1 root root 18484 Aug 25 2009 dnsmasq.conf
drwxr-xr-x 2 root root 4096 Aug 25 2009 dnsmasq.d/
-rw-rw-r-- 1 root disk 0 Sep 16 2011 dumpdates
-rw-r--r-- 1 root root 4843 Nov 27 2008 enscript.cfg
-rw-r--r-- 1 root root 0 Dec 5 2011 environment
-rw-r--r-- 1 root root 153 Dec 21 2011 esd.conf
-rw-r--r-- 1 root root 0 Jan 12 2000 exports
-rw-r--r-- 1 root root 22060 Jul 13 2006 fb.modes
-rw-r--r-- 1 root root 59 Jan 31 2006 filesystems
drwxr-xr-x 2 root root 4096 May 31 2012 firmware/
drwxr-xr-x 4 root root 4096 May 17 2010 fonts/
drwxr-xr-x 2 root root 4096 Sep 2 2011 foomatic/
-rw-r--r-- 1 root root 843 Mar 18 2014 fstab
-rw-r--r-- 1 root root 532 Nov 20 2010 fstab.20101120
-rw-r--r-- 1 root root 843 Oct 17 2013 fstab.20131017
-rw-r--r-- 1 root root 843 Nov 6 2013 fstab.20131106
-rw-r--r-- 1 root root 843 Mar 17 2014 fstab.20140317
-rw-r--r-- 1 root root 532 Dec 17 2011 fstab.last
-rw-r--r-- 1 root root 532 Dec 21 2011 fstab.orig
drwxr-xr-x 6 root root 4096 May 17 2010 gconf/
drwxr-xr-x 2 root root 4096 Oct 10 2013 gcrypt/
drwxr-xr-x 7 root root 4096 Sep 17 2013 gdm/
drwxr-xr-x 2 root root 4096 Sep 10 2013 ghostscript/
drwxr-xr-x 3 root root 4096 Jul 1 2013 gnome-vfs-2.0/
-rw-r--r-- 1 root root 10793 Jul 12 2006 gnome-vfs-mime-magic
-rw-r--r-- 1 root root 1756 Jul 12 2006 gpm-root.conf
-rw-r--r-- 1 root root 909 Oct 14 2014 group
-rw------- 1 root root 909 Oct 22 2013 group-
-rw-r--r-- 1 root root 751 May 17 2010 group.redhat
lrwxrwxrwx 1 root root 22 May 17 2010 grub.conf -> ../boot/grub/grub.conf
-r-------- 1 root root 765 Oct 14 2014 gshadow
-rw------- 1 root root 765 Oct 22 2013 gshadow-
-rw-r--r-- 1 root root 833 Jan 16 2007 gssapi_mech.conf
drwxr-xr-x 2 root root 4096 Feb 27 2013 gtk/
drwxr-xr-x 4 root root 4096 Jul 26 2013 gtk-2.0/
drwxr-xr-x 3 root root 4096 Aug 13 2012 hal/
-rw-r--r-- 1 root root 0 Dec 5 2011 host.conf
-rw-r--r-- 1 root root 275 Dec 21 2011 hosts
-rw-r--r-- 1 root root 226 Jun 28 2010 hosts~
-rw-r--r-- 1 root root 1721 May 15 2014 hosts.allow
-rw-r--r-- 1 root root 1676 Jan 28 2014 hosts.allow~
-rw-r--r-- 1 root root 2105 May 25 2010 hosts.allow.bundaberg
-rw-r--r-- 1 root root 1551 Jun 28 2010 hosts.allow.don
-rw-r--r-- 1 root root 252 May 25 2010 hosts.allow.orig
-rw-r--r-- 1 root root 161 Jan 12 2000 hosts.allow.redhat
-rw-r--r-- 1 root root 8 May 25 2010 hosts.deny
-rw-r--r-- 1 root root 347 Jan 12 2000 hosts.deny.redhat
-rw-r--r-- 1 root root 165 Dec 5 2011 hosts.deny.rpmnew
-rw-r--r-- 1 root root 226 Jun 24 2010 hosts.new.lurch
-rw-r--r-- 1 root root 229 Jun 24 2010 hosts.orig
drwxr-xr-x 2 root root 4096 May 31 2011 hp/
drwxr-xr-x 4 root root 4096 Oct 14 2014 httpd/
-rw-r--r-- 1 root root 3579 Feb 10 2014 idmapd.conf
lrwxrwxrwx 1 root root 11 May 17 2010 init.d -> rc.d/init.d/
-rw-r--r-- 1 root root 658 Mar 19 2014 initlog.conf
-rw-r--r-- 1 root root 1666 Mar 19 2014 inittab
-rw-r--r-- 1 root root 758 Sep 23 2004 inputrc
drwxr-xr-x 2 root root 4096 Feb 27 2013 iproute2/
drwxr-xr-x 2 root root 4096 Feb 27 2013 iscsi/
-rw-r--r-- 1 root root 75 Aug 12 2014 issue
-rw-r--r-- 1 root root 74 Aug 12 2014 issue.net
drwxr-xr-x 3 root root 4096 Feb 27 2013 java/
drwxr-xr-x 2 root root 4096 Oct 12 2012 jvm/
drwxr-xr-x 2 root root 4096 Oct 12 2012 jvm-commmon/
-rw-r--r-- 1 root root 32016 Mar 29 2011 jwhois.conf
-rw-r--r-- 1 root root 1265 Oct 14 2014 kdump.conf
-rw-r--r-- 1 root root 608 Sep 3 2014 krb5.conf
-rw-r--r-- 1 root root 9014 May 25 2010 ldap.conf
-rw-r--r-- 1 root root 9111 May 17 2010 ldap.conf.redhat
-rw------- 1 root root 9 May 25 2010 ldap.secret
-rw-r--r-- 1 root root 89567 Apr 21 01:02 ld.so.cache
-rw-r--r-- 1 root root 28 Oct 8 2006 ld.so.conf
drwxr-xr-x 2 root root 4096 Jan 19 12:15 ld.so.conf.d/
-rw-r--r-- 1 root root 3544 Jul 16 2012 lftp.conf
-rw-r----- 1 root root 191 Oct 27 2011 libaudit.conf
drwxr-xr-x 2 root root 4096 May 25 2010 libsmbios/
-rw-r--r-- 1 root root 2506 May 10 2012 libuser.conf
drwx------ 3 root root 4096 May 25 2010 libvirt/
-rw-r--r-- 1 root root 25 May 25 2010 local_ip
-rw-r--r-- 1 root root 3519 Feb 26 2006 localtime
-rw-r--r-- 1 root root 416 May 25 2010 localusers
-rw-r--r-- 1 root root 1522 May 17 2010 login.defs
-rw-r--r-- 1 root root 1435 Feb 24 2012 logrotate.conf
-rw-r--r-- 1 root root 1372 Jul 26 2010 logrotate.conf~
-rw-r--r-- 1 root root 520 Sep 2 2008 logrotate.conf.redhat
-rw-r--r-- 1 root root 619 Mar 30 2011 logrotate.conf.rpmnew
-rw-r--r-- 1 root root 1371 Jun 16 2010 logrotate.conf.save
drwxr-xr-x 2 root root 4096 Apr 21 01:01 logrotate.d/
drwxr-xr-x 4 root root 4096 Jul 11 2012 logwatch/
drwxr-xr-x 2 root root 4096 May 31 2011 lsb-release.d/
-rw-r--r-- 1 root root 10814 Feb 20 2006 ltrace.conf
drwxr-xr-x 5 root root 4096 Oct 14 2014 lvm/
-rw-r--r-- 1 root root 140191 Oct 27 2008 lynx.cfg
-rw-r--r-- 1 root root 66 Oct 27 2008 lynx-site.cfg
-rw-r--r-- 1 root root 293 Sep 5 2006 mailcap
-rw-r--r-- 1 root root 112 Jul 13 2006 mail.rc
drwxr-xr-x 2 root root 4096 May 17 2010 makedev.d/
-rw-r--r-- 1 root root 4617 Apr 17 2012 man.config
drwxr-xr-x 2 root root 4096 Feb 27 2013 maven/
-rwxr-xr-x 1 root root 2242 May 13 2011 mcelog.conf*
-rw-r--r-- 1 root root 14100 Sep 5 2006 mime.types
-rw-r--r-- 1 root root 330 Apr 14 2014 mke2fs.conf
-rw-r--r-- 1 root root 172 May 23 2014 modprobe.conf
-rw-r--r-- 1 root root 156 May 23 2014 modprobe.conf~
drwxr-xr-x 2 root root 4096 Apr 21 01:01 modprobe.d/
-rw-r--r-- 1 root root 0 Jan 12 2000 motd
-rw-r--r-- 1 root root 533 May 25 2010 motd-security
-rw-r--r-- 1 root root 602 Apr 21 03:03 mtab
-rw-r--r-- 1 root root 1983 Aug 9 2006 mtools.conf
-rw-r--r-- 1 root root 2706 May 1 2014 multipath.conf
-rw-r--r-- 1 root root 92794 Jul 4 2012 Muttrc
-rw-r--r-- 1 root root 0 Jul 4 2012 Muttrc.local
-rw-r--r-- 1 root root 441 Jan 8 2013 my.cnf
drwxr-xr-x 2 root root 4096 Nov 12 2013 netplug/
drwxr-xr-x 2 root root 4096 Nov 12 2013 netplug.d/
drwxr-xr-x 4 root root 4096 Aug 8 2011 NetworkManager/
-rw-r--r-- 1 root root 1895 Jan 19 12:13 nscd.conf
-rw-r--r-- 1 root root 1730 Apr 21 01:00 nsswitch.conf
-rw-r--r-- 1 root root 1709 Aug 8 2011 nsswitch.conf.cwru.ldap
-rw-r--r-- 1 root root 1730 Apr 21 01:00 nsswitch.conf.cwru.pre-patching
-rw-r--r-- 1 root root 1696 Sep 22 2004 nsswitch.conf.redhat
drwxr-xr-x 2 root root 4096 Feb 17 01:02 ntp/
-rw-r--r-- 1 root root 246 Aug 20 2014 ntp.conf
-rw-r--r-- 1 root root 190 Apr 14 2014 ntp.conf~
-rw-r--r-- 1 root root 190 Apr 14 2014 ntp.conf.backup.2014
-rw-r--r-- 1 root root 1833 Nov 26 2009 ntp.conf.redhat
-rw-r--r-- 1 root root 0 Oct 18 2011 odbc.ini
-rw-r--r-- 1 root root 1366 Oct 18 2011 odbcinst.ini
-rw-r--r-- 1 root root 1366 Oct 18 2011 odbcinst.ini.rpmnew
lrwxrwxrwx 1 root root 32 May 25 2010 omreg.cfg -> /opt/dell/srvadmin/etc/omreg.cfg
drwxr-xr-x 3 root root 4096 May 12 2014 openldap/
drwxr-xr-x 2 root root 4096 May 25 2010 openwsman/
drwxr-xr-x 2 root root 4096 Oct 1 2009 opt/
drwxr-xr-x 2 root root 4096 Feb 17 01:02 pam.d/
drwxr-xr-x 2 root root 4096 May 31 2012 pam_pkcs11/
-rw-r--r-- 1 root root 12 Jul 12 2006 pam_smb.conf
drwxr-xr-x 4 root root 4096 Nov 8 2011 pango/
-rw-r--r-- 1 root root 2538 Oct 14 2014 passwd
-rw-r--r-- 1 root root 2536 Oct 22 2013 passwd~
-rw-r--r-- 1 root root 2538 Apr 2 2014 passwd-
-rw-r--r-- 1 root root 2591 Jan 17 2014 passwd.20140402130113
-rw-r--r-- 1 root root 2487 Jun 9 2010 passwd.catbert
-rw-r--r-- 1 root root 2487 Jun 9 2010 passwd.OLD
-rw-r--r-- 1 root root 1871 Jun 9 2010 passwd.orig
-rw-r--r-- 1 root root 1815 May 17 2010 passwd.redhat
drwxr-xr-x 2 root root 4096 May 17 2010 pcmcia/
drwxr-xr-x 2 root root 4096 Nov 25 01:01 php.d/
-rw-r--r-- 1 root root 45081 Oct 28 09:21 php.ini
-rw-r--r-- 1 root root 2875 Sep 12 2006 pinforc
drwxr-xr-x 6 root root 4096 May 17 2010 pki/
drwxr-xr-x 5 root root 4096 Feb 27 2013 pm/
drwxr-xr-x 2 root root 4096 Oct 14 2014 postfix/
drwxr-xr-x 3 root root 4096 Oct 14 2014 ppp/
-rw-r--r-- 1 root root 262772 Apr 21 04:13 prelink.cache
-rw-r--r-- 1 root root 973 Sep 18 2008 prelink.conf
drwxr-xr-x 2 root root 4096 Sep 18 2008 prelink.conf.d/
-rw-r--r-- 1 root root 309 Apr 21 03:03 printcap
-rw-r--r-- 1 root root 135 May 17 2010 printcap.redhat
-rw-r--r-- 1 root root 1344 Dec 5 2011 profile
drwxr-xr-x 2 root root 4096 Oct 14 2014 profile.d/
-rw-r--r-- 1 root root 6108 Oct 11 2006 protocols
-rw------- 1 root root 2487 Jun 16 2010 ptmp~
-rw------- 1 root root 0 May 17 2010 .pwd.lock
-rw-r--r-- 1 root root 220 Jul 31 2012 quotagrpadmins
-rw-r--r-- 1 root root 290 Jul 31 2012 quotatab
drwxr-xr-x 3 root root 4096 Feb 27 2013 racoon/
lrwxrwxrwx 1 root root 7 Oct 14 2014 rc -> rc.d/rc*
lrwxrwxrwx 1 root root 10 Oct 14 2014 rc0.d -> rc.d/rc0.d/
lrwxrwxrwx 1 root root 10 Oct 14 2014 rc1.d -> rc.d/rc1.d/
lrwxrwxrwx 1 root root 10 Oct 14 2014 rc2.d -> rc.d/rc2.d/
lrwxrwxrwx 1 root root 10 Oct 14 2014 rc3.d -> rc.d/rc3.d/
lrwxrwxrwx 1 root root 10 Oct 14 2014 rc4.d -> rc.d/rc4.d/
lrwxrwxrwx 1 root root 10 Oct 14 2014 rc5.d -> rc.d/rc5.d/
lrwxrwxrwx 1 root root 10 Oct 14 2014 rc6.d -> rc.d/rc6.d/
drwxr-xr-x 10 root root 4096 Oct 14 2014 rc.d/
lrwxrwxrwx 1 root root 13 Oct 14 2014 rc.local -> rc.d/rc.local*
lrwxrwxrwx 1 root root 15 Oct 14 2014 rc.sysinit -> rc.d/rc.sysinit*
drwxr-xr-x 2 root root 4096 May 17 2010 readahead.d/
drwxr-xr-x 2 root root 4096 May 31 2011 redhat-lsb/
-rw-r--r-- 1 root root 55 Aug 12 2014 redhat-release
-rw-r--r-- 1 root root 135 May 23 2014 resolv.conf
-rw-r--r-- 1 root root 67 May 17 2010 resolv.conf.redhat
drwxr-xr-x 3 root root 4096 May 17 2010 rhgb/
lrwxrwxrwx 1 root root 11 May 31 2012 rmt -> ../sbin/rmt*
-rw-r--r-- 1 root root 1621 Feb 12 2014 rpc
drwxr-xr-x 2 root root 4096 Nov 18 11:30 rpm/
-rw-r--r-- 1 root root 754 Mar 19 2014 rwtab
drwxr-xr-x 2 root root 4096 Mar 19 2014 rwtab.d/
drwxr-xr-x 2 root root 4096 Apr 15 2014 samba/
drwxr-xr-x 2 root root 4096 Aug 21 2012 sasl2/
-rw-r--r-- 1 root root 6972 Feb 1 2011 screenrc
-rw-r--r-- 1 root root 103 Nov 7 2006 scrollkeeper.conf
-rw-r--r-- 1 root root 666 Jun 6 2014 scsi_id.config
-rw------- 1 root root 122 Feb 17 2003 securetty
drwxr-xr-x 5 root root 4096 Apr 15 2014 security/
drwxr-xr-x 3 root root 4096 Jul 8 2014 selinux/
-rw-r--r-- 1 root root 85179 Jan 26 2010 sensors.conf
-rw-r--r-- 1 root root 362031 Feb 23 2006 services
-rw-r--r-- 1 root root 216 May 23 2013 sestatus.conf
drwxr-xr-x 2 root root 4096 Apr 21 01:01 setroubleshoot/
drwxr-xr-x 2 root root 4096 May 17 2010 setuptool.d/
drwxr-xr-x 2 root root 4096 Oct 14 2014 sfcb/
drwxr-xr-x 2 root root 4096 May 17 2010 sgml/
-r-------- 1 root root 1473 Apr 2 2014 shadow
-r-------- 1 root root 1472 Jun 16 2010 shadow~
-r-------- 1 root root 1097 May 17 2010 shadow-
-r-------- 1 root root 1505 Jan 17 2014 shadow.20140402130113
-r-------- 1 root root 1472 Jun 9 2010 shadow.catbert
-r-------- 1 root root 1472 Jun 9 2010 shadow.OLD
-r-------- 1 root root 1097 Jun 9 2010 shadow.orig
-rw-r--r-- 1 root root 60 May 17 2010 shells
drwxr-xr-x 3 root root 4096 Sep 26 2014 skel/
-rw-r--r-- 1 root root 21851 Jul 12 2006 slrn.rc
-rw-r--r-- 1 root root 6717 Aug 23 2012 smartd.conf
-rw-r--r-- 1 root root 1272 Jan 4 2008 smi.conf
drwxr-xr-x 2 root root 4096 Sep 25 2014 snmp/
drwxr-xr-x 3 root root 4096 Oct 18 2006 sound/
-rw------- 1 root root 1472 Jun 16 2010 sptmp~
drwxr-xr-x 2 root root 4096 Sep 16 2014 squid/
drwxr-xr-x 4 root root 4096 May 31 2012 ssh/
drwxr-xr-x 2 root root 4096 Oct 23 10:23 stunnel/
drwxr-xr-x 2 root root 4096 Feb 12 2014 subversion/
-r--r----- 1 root root 3553 Jan 28 2014 sudoers
-r--r----- 1 root root 800 May 25 2010 sudoers.bundaberg
-r--r----- 1 root root 3193 Apr 13 2010 sudoers.redhat
-r--r----- 1 root root 3381 Sep 15 2010 sudoers.rpmnew
-rw------- 1 root root 3500 Jun 16 2010 #sudoers.tmp#
-rw------- 1 root root 3491 Mar 7 2011 sudoers.tmp~
drwxr-xr-x 10 root root 4096 Apr 21 01:01 sysconfig/
-rw-r--r-- 1 root root 996 Mar 19 2014 sysctl.conf
-rw-r--r-- 1 root root 1413 Feb 12 2014 syslog.conf
-rw-r--r-- 1 root root 1661 Aug 24 2012 syslog.conf~
-rw-r--r-- 1 root root 694 Jan 5 2010 syslog.conf.redhat
-rw-r--r-- 1 root root 807103 Jul 12 2006 termcap
drwxr-xr-x 5 root root 4096 Oct 14 2014 udev/
-rw-r--r-- 1 root root 136 Mar 17 2009 updatedb.conf
-rw-r--r-- 1 root root 1533 Jul 10 2012 vimrc
-rw-r--r-- 1 root root 1533 Jul 10 2012 virc
drwxr-xr-x 2 root root 4096 Feb 27 2013 vsftpd/
-rw-r--r-- 1 root root 2678 Jul 31 2012 warnquota.conf
-rw-r--r-- 1 root root 23735 Jul 12 2006 webalizer.conf
-rw-r--r-- 1 root root 4204 Apr 23 2012 wgetrc
drwxr-xr-x 2 root root 4096 Oct 22 2013 wpa_supplicant/
drwxr-xr-x 9 root root 4096 Feb 17 01:01 X11/
drwxr-xr-x 4 root root 4096 May 17 2010 xdg/
-rw-r--r-- 1 root root 1001 Oct 1 2013 xinetd.conf
drwxr-xr-x 2 root root 4096 Nov 25 01:01 xinetd.d/
drwxr-xr-x 2 root root 4096 May 17 2010 xml/
drwxr-xr-x 4 root root 4096 Sep 16 2014 yum/
-rw-r--r-- 1 root root 708 Feb 7 2012 yum.conf
-rw-r--r-- 1 root root 628 Dec 21 2011 yum.conf~
-rw-r--r-- 1 root root 628 Dec 21 2011 yum.conf.bad
drwxr-xr-x 2 root root 4096 Oct 14 2014 yum.repos.d/
+2
View File
@@ -79,9 +79,11 @@ main (int c, char **v)
/* Set the default locale values according to environment variables. */
setlocale (LC_ALL, "");
#if defined (SIGWINCH)
/* Handle window size changes when readline is not active and reading
characters. */
signal (SIGWINCH, sighandler);
#endif
/* Install the line handler. */
rl_callback_handler_install (prompt, cb_linehandler);
+2
View File
@@ -337,7 +337,9 @@ main(int c, char **v)
if (val == -1)
return -1;
#ifdef SIGWINCH
signal (SIGWINCH, sigwinch);
#endif
signal (SIGINT, sigint);
val = init_readline (slavefd, slavefd);
+6 -6
View File
@@ -1,6 +1,6 @@
/* input.c -- character input functions for readline. */
/* Copyright (C) 1994-2022 Free Software Foundation, Inc.
/* Copyright (C) 1994-2025 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -554,15 +554,15 @@ reset_alarm ()
timerclear (&it.it_value);
setitimer (ITIMER_REAL, &it, NULL);
}
# else
# if defined (__MINGW32_MAJOR_VERSION)
# else /* !HAVE_SETITIMER */
# if defined (__MINGW32_MAJOR_VERSION)
/* mingw.org's MinGW doesn't have alarm(3). */
unsigned int
alarm (unsigned int seconds)
{
return 0;
}
# endif
# endif /* __MINGW32_MAJOR_VERSION */
static int
set_alarm (unsigned int *secs, unsigned int *usecs)
@@ -578,8 +578,8 @@ reset_alarm ()
{
alarm (0);
}
# endif
#endif
# endif /* !HAVE_SETITIMER */
#endif /* RL_TIMEOUT_USE_SIGALRM */
/* Set a timeout which will be used for the next call of `readline
()'. When (0, 0) are specified the timeout is cleared. */
+109 -37
View File
@@ -1,59 +1,131 @@
/* gettimeofday.c - gettimeofday replacement using time() */
/* Provide gettimeofday for systems that don't have it or for which it's broken.
/* Copyright (C) 2020, 2022 Free Software Foundation, Inc.
Copyright (C) 2001-2003, 2005-2007, 2009-2025 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
Bash is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bash is distributed in the hope that it will be useful,
This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GNU Lesser General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include "config.h"
/* written by Jim Meyering */
/* A version of gettimeofday that just sets tv_sec from time(3) on Unix-like
systems that don't have it, or a version for Win32 systems. From gnulib */
#include <config.h>
#if !defined (HAVE_GETTIMEOFDAY)
#include "posixtime.h"
#if HAVE_STDINT_H
#include <stdint.h>
#if defined _WIN32 && ! defined __CYGWIN__
# define WINDOWS_NATIVE
# include <windows.h>
#endif
/* A version of gettimeofday that just sets tv_sec from time(3) on Unix-like
systems that don't have it, or a version for Win32 systems. */
#ifdef WINDOWS_NATIVE
# if !(_WIN32_WINNT >= _WIN32_WINNT_WIN8)
/* Avoid warnings from gcc -Wcast-function-type. */
# define GetProcAddress \
(void *) GetProcAddress
/* GetSystemTimePreciseAsFileTime was introduced only in Windows 8. */
typedef void (WINAPI * GetSystemTimePreciseAsFileTimeFuncType) (FILETIME *lpTime);
static GetSystemTimePreciseAsFileTimeFuncType GetSystemTimePreciseAsFileTimeFunc = NULL;
static BOOL initialized = FALSE;
static void
initialize (void)
{
HMODULE kernel32 = LoadLibrary ("kernel32.dll");
if (kernel32 != NULL)
{
GetSystemTimePreciseAsFileTimeFunc =
(GetSystemTimePreciseAsFileTimeFuncType) GetProcAddress (kernel32, "GetSystemTimePreciseAsFileTime");
}
initialized = TRUE;
}
# else /* !(_WIN32_WINNT >= _WIN32_WINNT_WIN8) */
# define GetSystemTimePreciseAsFileTimeFunc GetSystemTimePreciseAsFileTime
# endif /* !(_WIN32_WINNT >= _WIN32_WINNT_WIN8) */
#endif /* WINDOWS_NATIVE */
/* This is a wrapper for gettimeofday. It is used only on systems
that lack this function, or whose implementation of this function
causes problems.
Work around the bug in some systems whereby gettimeofday clobbers
the static buffer that localtime uses for its return value. The
gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has
this problem. */
int
gettimeofday (struct timeval *restrict tv, void *restrict tz)
{
#if !defined (_WIN32)
tv->tv_sec = (time_t) time ((time_t *)0);
tv->tv_usec = 0;
#else
/* EPOCH is the number of 100 nanosecond intervals from
January 1, 1601 (UTC) to January 1, 1970.
(the correct value has 9 trailing zeros) */
static const uint64_t EPOCH = ((uint64_t) 116444736000000000ULL);
#undef gettimeofday
#ifdef WINDOWS_NATIVE
SYSTEMTIME system_time;
FILETIME file_time;
uint64_t time;
/* On native Windows, there are two ways to get the current time:
GetSystemTimeAsFileTime
<https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime>
or
GetSystemTimePreciseAsFileTime
<https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime>.
GetSystemTimeAsFileTime produces values that jump by increments of
15.627 milliseconds (!) on average.
Whereas GetSystemTimePreciseAsFileTime values usually jump by 1 or 2
microseconds.
More discussion on this topic:
<http://www.windowstimestamp.com/description>. */
FILETIME current_time;
GetSystemTime(&system_time);
SystemTimeToFileTime(&system_time, &file_time);
time = ((uint64_t)file_time.dwLowDateTime);
time += ((uint64_t)file_time.dwHighDateTime) << 32;
# if !(_WIN32_WINNT >= _WIN32_WINNT_WIN8)
if (!initialized)
initialize ();
# endif
if (GetSystemTimePreciseAsFileTimeFunc != NULL)
GetSystemTimePreciseAsFileTimeFunc (&current_time);
else
GetSystemTimeAsFileTime (&current_time);
tp->tv_sec = (long) ((time - EPOCH) / 10000000L);
tp->tv_usec = (long) (system_time.wMilliseconds * 1000);
#endif
/* Convert from FILETIME to 'struct timeval'. */
/* FILETIME: <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */
ULONGLONG since_1601 =
((ULONGLONG) current_time.dwHighDateTime << 32)
| (ULONGLONG) current_time.dwLowDateTime;
/* Between 1601-01-01 and 1970-01-01 there were 280 normal years and 89 leap
years, in total 134774 days. */
ULONGLONG since_1970 =
since_1601 - (ULONGLONG) 134774 * (ULONGLONG) 86400 * (ULONGLONG) 10000000;
ULONGLONG microseconds_since_1970 = since_1970 / (ULONGLONG) 10;
*tv = (struct timeval) {
.tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000,
.tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000
};
return 0;
#else /* !WINDOWS_NATIVE */
tv->tv_sec = (time_t) time ((time_t *)0);
tv->tv_usec = 0;
return 0;
#endif /* !WINDOWS_NATIVE */
}
#endif
#endif /* !HAVE_GETTIMEOFDAY */
-388
View File
@@ -1,388 +0,0 @@
export LC_COLLATE=C
#
# test the shell globbing
#
expect()
{
echo expect "$@"
}
# First, a test that bash-2.01.1 fails
${THIS_SH} ./glob1.sub
MYDIR=$PWD # save where we are
TESTDIR=/tmp/glob-test
mkdir $TESTDIR
builtin cd $TESTDIR || { echo $0: cannot cd to $TESTDIR >&2 ; exit 1; }
rm -rf *
touch a b c d abc abd abe bb bcd ca cb dd de Beware
mkdir bdir
# see if `regular' globbing works right
expect '<a> <abc> <abd> <abe> <X*>'
recho a* X*
expect '<a> <abc> <abd> <abe>'
recho \a*
# see if null glob expansion works
shopt -s nullglob
expect '<a> <abc> <abd> <abe>'
recho a* X*
shopt -u nullglob
# see if the failglob option works
mkdir tmp
touch tmp/l1 tmp/l2 tmp/l3
builtin echo tmp/l[12] tmp/*4 tmp/*3
shopt -s failglob
builtin echo tmp/l[12] tmp/*4 tmp/*3
rm -r tmp
shopt -u failglob
# see if the code that expands directories only works
expect '<bdir/>'
recho b*/
# Test quoted and unquoted globbing characters
expect '<*>'
recho \*
expect '<a*>'
recho 'a*'
expect '<a*>'
recho a\*
expect '<c> <ca> <cb> <a*> <*q*>'
recho c* a\* *q*
expect '<**>'
recho "*"*
expect '<**>'
recho \**
expect '<\.\./*/>'
recho "\.\./*/"
expect '<s/\..*//>'
recho 's/\..*//'
# Pattern from Larry Wall's Configure that caused bash to blow up
expect '</^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/>'
recho "/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*"'$'"/\1/"
# Make sure character classes work properly
expect '<abc> <abd> <abe> <bb> <cb>'
recho [a-c]b*
expect '<abd> <abe> <bb> <bcd> <bdir> <ca> <cb> <dd> <de>'
recho [a-y]*[^c]
expect '<abd> <abe>'
recho a*[^c]
touch a-b aXb
expect '<a-b> <aXb>'
recho a[X-]b
touch .x .y
expect '<Beware> <d> <dd> <de>'
recho [^a-c]*
# Make sure that filenames with embedded globbing characters are handled
# properly
mkdir a\*b
> a\*b/ooo
expect '<a*b/ooo>'
recho a\*b/*
expect '<a*b/ooo>'
recho a\*?/*
expect '<no match>'
cmd='echo !7'
case "$cmd" in
*\\!*) echo match ;;
*) echo no match ;;
esac
expect '<not there>'
file='r.*'
case $file in
*.\*) echo not there ;;
*) echo there ;;
esac
# examples from the Posix.2 spec (d11.2, p. 243)
expect '<abc>'
recho a[b]c
expect '<abc>'
recho a["b"]c
expect '<abc>'
recho a[\b]c
expect '<abc>'
recho a?c
expect '<match 1>'
case abc in
a"b"c) echo 'match 1' ;;
*) echo 'BAD match 1' ;;
esac
expect '<match 2>'
case abc in
a*c) echo 'match 2' ;;
*) echo 'BAD match 2' ;;
esac
expect '<ok 1>'
case abc in
"a?c") echo 'bad 1' ;;
*) echo 'ok 1' ;;
esac
expect '<ok 2>'
case abc in
a\*c) echo 'bad 2' ;;
*) echo 'ok 2' ;;
esac
expect '<ok 3>'
case abc in
a\[b]c) echo 'bad 3' ;;
*) echo 'ok 3' ;;
esac
expect '<ok 4>'
case "$nosuchvar" in
"") echo 'ok 4' ;;
*) echo 'bad 4' ;;
esac
# This is very odd, but sh and ksh seem to agree
expect '<ok 5>'
case abc in
a["\b"]c) echo 'ok 5' ;;
*) echo 'bad 5' ;;
esac
mkdir man
mkdir man/man1
touch man/man1/bash.1
expect '<man/man1/bash.1>'
recho */man*/bash.*
expect '<man/man1/bash.1>'
recho $(echo */man*/bash.*)
expect '<man/man1/bash.1>'
recho "$(echo */man*/bash.*)"
# tests with multiple `*'s
case abc in
a***c) echo ok 1;;
esac
case abc in
a*****?c) echo ok 2;;
esac
case abc in
?*****??) echo ok 3;;
esac
case abc in
*****??) echo ok 4;;
esac
case abc in
*****??c) echo ok 5;;
esac
case abc in
?*****?c) echo ok 6;;
esac
case abc in
?***?****c) echo ok 7;;
esac
case abc in
?***?****?) echo ok 8;;
esac
case abc in
?***?****) echo ok 9;;
esac
case abc in
*******c) echo ok 10;;
esac
case abc in
*******?) echo ok 11;;
esac
case abcdecdhjk in
a*cd**?**??k) echo ok 20;;
esac
case abcdecdhjk in
a**?**cd**?**??k) echo ok 21;;
esac
case abcdecdhjk in
a**?**cd**?**??k***) echo ok 22;;
esac
case abcdecdhjk in
a**?**cd**?**??***k) echo ok 23;;
esac
case abcdecdhjk in
a**?**cd**?**??***k**) echo ok 24;;
esac
case abcdecdhjk in
a****c**?**??*****) echo ok 25;;
esac
case '-' in
[-abc]) echo ok 26 ;;
esac
case '-' in
[abc-]) echo ok 27 ;;
esac
case '\' in
\\) echo ok 28 ;;
esac
case '\' in
[\\]) echo ok 29 ;;
esac
case '\' in
'\') echo ok 30 ;;
esac
case '[' in
[[]) echo ok 31 ;;
esac
# a `[' without a closing `]' is just another character to match, in the
# bash implementation
case '[' in
[) echo ok 32 ;;
esac
case '[abc' in
[*) echo 'ok 33';;
esac
# a right bracket shall lose its special meaning and represent itself in
# a bracket expression if it occurs first in the list. -- POSIX.2 2.8.3.2
case ']' in
[]]) echo ok 34 ;;
esac
case '-' in
[]-]) echo ok 35 ;;
esac
# a backslash should just escape the next character in this context
case p in
[a-\z]) echo ok 36 ;;
esac
# this was a bug in all versions up to bash-2.04-release
case "/tmp" in
[/\\]*) echo ok 37 ;;
esac
# none of these should output anything
case abc in
??**********?****?) echo bad 1;;
esac
case abc in
??**********?****c) echo bad 2;;
esac
case abc in
?************c****?****) echo bad 3;;
esac
case abc in
*c*?**) echo bad 4;;
esac
case abc in
a*****c*?**) echo bad 5;;
esac
case abc in
a********???*******) echo bad 6;;
esac
case 'a' in
[]) echo bad 7 ;;
esac
case '[' in
[abc) echo bad 8;;
esac
# let's start testing the case-insensitive globbing code
recho b*
shopt -s nocaseglob
recho b*
recho [b]*
shopt -u nocaseglob
# make sure set -f works right
set -f
recho *
set +f
# test out the GLOBIGNORE code
GLOBIGNORE='.*:*c:*e:?'
recho *
GLOBIGNORE='.*:*b:*d:?'
recho *
# see if GLOBIGNORE can substitute for `set -f'
GLOBIGNORE='.*:*'
recho *
unset GLOBIGNORE
expect '<man/man1/bash.1>'
recho */man*/bash.*
# make sure null values for GLOBIGNORE have no effect
GLOBIGNORE=
expect '<man/man1/bash.1>'
recho */man*/bash.*
# this is for the benefit of pure coverage, so it writes the pcv file
# in the right place, and for gprof
builtin cd $MYDIR
rm -rf $TESTDIR
exit 0
-1
View File
@@ -1 +0,0 @@
B2
-75
View File
@@ -1,75 +0,0 @@
# @(#)precedence_test 1.0 91/07/24 Maarten Litmaath
# test of relative precedences for `&&' and `||' operators
echo "\`Say' echos its argument. Its return value is of no interest."
case `echo -n` in
'') Say () { echo -n "$*" ; } ;;
*) Say () { echo "$*\c" ; } ;;
esac
echo "\`Truth' echos its argument and returns a TRUE result."
Truth () {
Say $1;
return 0;
}
echo "\`False' echos its argument and returns a FALSE result."
False () {
Say $1;
return 1;
}
echo ""
cmd1='$open $test1 && $test2 $close || $test3'
cmd2='$test1 || $open $test2 && $test3 $close'
grouping_sh=
grouping_C='( )'
test3='Say 3'
for i in 1 2
do
eval proto=\$cmd$i
for test1 in 'Truth 1' 'False 1'
do
for test2 in 'Truth 2' 'False 2'
do
for precedence in sh C
do
eval set x \$grouping_$precedence
shift
open=${1-' '}
close=${2-' '}
eval cmd=\""$proto"\"
Say "$cmd output="
output=`eval "$cmd"`
Say "$output"
read correct || { echo 'Input fubar. Abort.' >&2; exit 1; }
test "X$output" = "X$correct" || echo " correct=$correct"
echo ''
done
echo ''
done
done
done << EOF
12
12
123
123
13
13
13
13
13
1
13
1
123
123
12
12
EOF
-241
View File
@@ -1,241 +0,0 @@
#
# varenv.sh
#
# Test the behavior of the shell with respect to variable and environment
# assignments
#
expect()
{
echo expect "$@"
}
a=1
b=2
c=3
d=4
e=5
f=6 g=7 h=8
a=3 b=4 $CHMOD $MODE $FN
# This should echo "3 4" according to Posix.2
expect "3 4"
echo $a $b
set -k
# Assignment statements made when no words are left affect the shell's
# environment
a=5 b=6 $CHMOD c=7 $MODE d=8 $FN e=9
expect "5 6 7 8 9"
echo $a $b $c $d $e
$CHMOD f=7 $MODE g=8 $FN h=9
expect "7 8 9"
echo $f $g $h
set +k
# The temporary environment does not affect variable expansion, only the
# environment given to the command
export HOME=/usr/chet
expect $HOME
echo $HOME
expect $HOME
HOME=/a/b/c /bin/echo $HOME
expect $HOME
echo $HOME
# This should echo /a/b/c
expect /a/b/c
HOME=/a/b/c printenv HOME
set -k
# This should echo $HOME 9, NOT /a/b/c 9
expect "$HOME"
HOME=/a/b/c /bin/echo $HOME c=9
expect "$HOME 7"
echo $HOME $c
# I claim the next two echo calls should give identical output.
# ksh agrees, the System V.3 sh does not
expect "/a/b/c 9 /a/b/c"
HOME=/a/b/c $ECHO a=$HOME c=9
echo $HOME $c $a
expect "/a/b/c 9 /a/b/c"
HOME=/a/b/c a=$HOME c=9
echo $HOME $c $a
set +k
# How do assignment statements affect subsequent assignments on the same
# line?
expect "/a/b/c /a/b/c"
HOME=/a/b/c a=$HOME
echo $HOME $a
# The system V.3 sh does this wrong; the last echo should output "1 1",
# but the system V.3 sh has it output "2 2". Posix.2 says the assignment
# statements are processed left-to-right. bash and ksh output the right
# thing
c=1
d=2
expect "1 2"
echo $c $d
d=$c c=$d
expect "1 1"
echo $c $d
# just for completeness
unset d c
expect unset
echo ${d-unset}
# no output
export a
a=bcde
export a
/bin/true 2>/dev/null
func()
{
local YYZ
YYZ="song by rush"
echo $YYZ
echo $A
}
YYZ="toronto airport"
A="AVAR"
echo $YYZ
echo $A
A=BVAR func
echo $YYZ
echo $A
export A
# Make sure expansion doesn't use assignment statements preceding a builtin
A=ZVAR echo $A
XPATH=/bin:/usr/bin:/usr/local/bin:.
func2()
{
local z=yy
local -a avar=( ${XPATH//: } )
echo ${avar[@]}
local
}
avar=42
echo $avar
func2
echo $avar
# try to set an attribute for an unset variable; make sure it persists
# when the variable is assigned a value
declare -i ivar
ivar=10
declare -p ivar
unset ivar
# export an unset variable, make sure it is not suddenly set, but make
# sure the export attribute persists when the variable is assigned a
# value
export ivar
echo ${ivar-unset}
ivar=42
declare -p ivar
# make sure set [-+]o ignoreeof and $IGNOREEOF are reflected
unset IGNOREEOF
set +o ignoreeof
set -o ignoreeof
if [ "$IGNOREEOF" -ne 10 ]; then
echo "./varenv.sh: set -o ignoreeof is not reflected in IGNOREEOF" >&2
fi
unset IGNOREEOF
set +o ignoreeof
# older versions of bash used to not reset RANDOM in subshells correctly
[[ $RANDOM -eq $(echo $RANDOM) ]] && echo "RANDOM: problem with subshells"
# make sure that shopt -o is reflected in $SHELLOPTS
# first, get rid of things that might be set automatically via shell
# variables
set +o posix
set +o ignoreeof
set +o monitor
echo $-
echo ${SHELLOPTS}
shopt -so physical
echo $-
echo ${SHELLOPTS}
# and make sure it is readonly
readonly -p | grep SHELLOPTS
# This was an error in bash versions prior to bash-2.04. The `set -a'
# should cause the assignment statement that's an argument to typeset
# to create an exported variable
unset FOOFOO
FOOFOO=bar
set -a
typeset FOOFOO=abcde
printenv FOOFOO
# test out export behavior of variable assignments preceding builtins and
# functions
$THIS_SH ./varenv1.sub
# more tests; bugs in bash up to version 2.05a
$THIS_SH ./varenv2.sub
# more tests; bugs in bash IFS scoping up through version 4.2
$THIS_SH ./varenv3.sub
# scoping problems with declare -g through bash-4.2
${THIS_SH} ./varenv4.sub
# more scoping and declaration problems with -g and arrays through bash-4.2
${THIS_SH} ./varenv5.sub
# variable scoping in the presence of nameref
${THIS_SH} ./varenv6.sub
# variable declaration problems with arrays and readonly local variables
${THIS_SH} ./varenv7.sub
# variable visibility problems with process substitution subshells in
# redirections
${THIS_SH} ./varenv8.sub
# make sure that builtins like readonly and export modify local array variables
# if executed in shell functions, like they modify local scalar variables
${THIS_SH} ./varenv9.sub
# more tests of unset and local variables with dynamic scoping
${THIS_SH} ./varenv10.sub
# tests of compound assignments in function scope
${THIS_SH} ./varenv11.sub
# temporary environment variable propagation and scoping in posix mode
${THIS_SH} ./varenv12.sub
# temporary environment and invalid shell indentifier names
${THIS_SH} ./varenv13.sub
# make sure variable scoping is done right
tt() { typeset a=b;echo a=$a; };a=z;echo a=$a;tt;echo a=$a