mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-29 08:29:54 +02:00
minor updates for 5.3-rc1 release
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+6
-6
@@ -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
@@ -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
|
||||
|
||||
|
||||
Binary file not shown.
+89
-87
@@ -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
|
||||
|
||||
Binary file not shown.
+5
-4
@@ -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 ‘<samp class="samp">in "$@"</samp>’ 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
@@ -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
@@ -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
|
||||
|
||||
Binary file not shown.
+149
-146
@@ -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
|
||||
|
||||
Binary file not shown.
@@ -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.
|
||||
@@ -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/>.
|
||||
*/
|
||||
@@ -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();
|
||||
@@ -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
@@ -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/
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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 (¤t_time);
|
||||
else
|
||||
GetSystemTimeAsFileTime (¤t_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
@@ -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 +0,0 @@
|
||||
B2
|
||||
@@ -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
@@ -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
|
||||
Reference in New Issue
Block a user