mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-21 12:57:58 +02:00
fix for EXIT trap in -c command; suspend -f now suspends even if job control is not enabled
This commit is contained in:
@@ -3614,3 +3614,13 @@ builtins/evalstring.c
|
||||
after any longjmp, to improve responsiveness and fix the -c code
|
||||
path before running any exit trap. Report from
|
||||
Emanuele Torre <torreemanuele6@gmail.com>
|
||||
|
||||
5/17
|
||||
----
|
||||
builtins/suspend.def
|
||||
- suspend_builtin: the -f option now forces a suspend even if job
|
||||
control is not enabled. Inspired by a discussion with
|
||||
Robert Elz <kre@munnari.OZ.AU>
|
||||
|
||||
doc/{bash.1,bashref.texi}
|
||||
- suspend: updated description to include expanded -f behavior
|
||||
|
||||
@@ -827,6 +827,7 @@ examples/functions/which f
|
||||
#examples/scripts/adventure.sh f
|
||||
#examples/scripts/bash-hexdump.sh f
|
||||
#examples/scripts/bcsh.sh f
|
||||
examples/scripts/bcalc f
|
||||
examples/scripts/cat.sh f
|
||||
examples/scripts/center f
|
||||
#examples/scripts/dd-ex.sh f
|
||||
|
||||
+11
-10
@@ -1,7 +1,7 @@
|
||||
This file is suspend.def, from which is created suspend.c.
|
||||
It implements the builtin "suspend" in Bash.
|
||||
|
||||
Copyright (C) 1987-2020 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987-2022 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -27,10 +27,12 @@ $SHORT_DOC suspend [-f]
|
||||
Suspend shell execution.
|
||||
|
||||
Suspend the execution of this shell until it receives a SIGCONT signal.
|
||||
Unless forced, login shells cannot be suspended.
|
||||
Unless forced, login shells and shells without job control cannot be
|
||||
suspended.
|
||||
|
||||
Options:
|
||||
-f force the suspend, even if the shell is a login shell
|
||||
-f force the suspend, even if the shell is a login shell or job
|
||||
control is not enabled.
|
||||
|
||||
Exit Status:
|
||||
Returns success unless job control is not enabled or an error occurs.
|
||||
@@ -96,16 +98,15 @@ suspend_builtin (list)
|
||||
}
|
||||
|
||||
list = loptend;
|
||||
|
||||
if (job_control == 0)
|
||||
{
|
||||
sh_nojobs (_("cannot suspend"));
|
||||
return (EXECUTION_FAILURE);
|
||||
}
|
||||
no_args (list);
|
||||
|
||||
if (force == 0)
|
||||
{
|
||||
no_args (list);
|
||||
if (job_control == 0)
|
||||
{
|
||||
sh_nojobs (_("cannot suspend"));
|
||||
return (EXECUTION_FAILURE);
|
||||
}
|
||||
|
||||
if (login_shell)
|
||||
{
|
||||
|
||||
+1757
-1755
File diff suppressed because it is too large
Load Diff
+18
-11
@@ -5,12 +5,12 @@
|
||||
.\" Case Western Reserve University
|
||||
.\" chet.ramey@case.edu
|
||||
.\"
|
||||
.\" Last Change: Mon May 2 09:00:07 EDT 2022
|
||||
.\" Last Change: Tue May 17 09:34:43 EDT 2022
|
||||
.\"
|
||||
.\" bash_builtins, strip all but Built-Ins section
|
||||
.if \n(zZ=1 .ig zZ
|
||||
.if \n(zY=1 .ig zY
|
||||
.TH BASH 1 "2022 May 2" "GNU Bash 5.2"
|
||||
.TH BASH 1 "2022 May 17" "GNU Bash 5.2"
|
||||
.\"
|
||||
.\" There's some problem with having a `@'
|
||||
.\" in a tagged paragraph with the BSD man macros.
|
||||
@@ -420,12 +420,14 @@ No other startup files are read.
|
||||
.PP
|
||||
.B Bash
|
||||
attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by the remote shell
|
||||
daemon, usually \fIrshd\fP, or the secure shell daemon \fIsshd\fP.
|
||||
connected to a network connection, as when executed by
|
||||
the historical remote shell daemon, usually \fIrshd\fP,
|
||||
or the secure shell daemon \fIsshd\fP.
|
||||
If
|
||||
.B bash
|
||||
determines it is being run in this fashion, it reads and executes
|
||||
commands from \fI~/.bashrc\fP, if that file exists and is readable.
|
||||
determines it is being run non-interactively in this fashion,
|
||||
it reads and executes commands from \fI~/.bashrc\fP,
|
||||
if that file exists and is readable.
|
||||
It will not do this if invoked as \fBsh\fP.
|
||||
The
|
||||
.B \-\-norc
|
||||
@@ -589,8 +591,9 @@ The
|
||||
variable may be used to specify the format of
|
||||
the time information.
|
||||
.PP
|
||||
Each command in a multi-command
|
||||
pipeline is executed in a \fIsubshell\fP, which is a
|
||||
Each command in a multi-command pipeline,
|
||||
where pipes are created,
|
||||
is executed in a \fIsubshell\fP, which is a
|
||||
separate process.
|
||||
See
|
||||
.SM
|
||||
@@ -10641,12 +10644,16 @@ by default.
|
||||
Suspend the execution of this shell until it receives a
|
||||
.SM
|
||||
.B SIGCONT
|
||||
signal. A login shell cannot be suspended; the
|
||||
signal. A login shell,
|
||||
or a shell without job control enabled,
|
||||
cannot be suspended; the
|
||||
.B \-f
|
||||
option can be used to override this and force the suspension.
|
||||
The return status is 0 unless the shell is a login shell and
|
||||
The return status is 0 unless the shell is a login shell
|
||||
or job control is not enabled
|
||||
and
|
||||
.B \-f
|
||||
is not supplied, or if job control is not enabled.
|
||||
is not supplied.
|
||||
.TP
|
||||
\fBtest\fP \fIexpr\fP
|
||||
.PD 0
|
||||
|
||||
+9
-5
@@ -3,7 +3,7 @@
|
||||
</HEAD>
|
||||
<BODY><TABLE WIDTH=100%>
|
||||
<TR>
|
||||
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2022 March 11<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2022 May 2<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR><A HREF="#index">Index</A>
|
||||
@@ -787,7 +787,9 @@ variable may be used to specify the format of
|
||||
the time information.
|
||||
<P>
|
||||
|
||||
Each command in a pipeline is executed in a <I>subshell</I>, which is a
|
||||
Each command in a multi-command pipeline,
|
||||
where pipes are created,
|
||||
is executed in a <I>subshell</I>, which is a
|
||||
separate process.
|
||||
See
|
||||
<FONT SIZE=-1><B>COMMAND EXECUTION ENVIRONMENT</B></FONT>
|
||||
@@ -4856,7 +4858,9 @@ or a
|
||||
<B>^</B>
|
||||
|
||||
then any character not enclosed is matched.
|
||||
The sorting order of characters in range expressions is determined by
|
||||
The sorting order of characters in range expressions,
|
||||
and the characters included in the range,
|
||||
are determined by
|
||||
the current locale and the values of the
|
||||
<FONT SIZE=-1><B>LC_COLLATE</B>
|
||||
|
||||
@@ -14677,7 +14681,7 @@ There may be only one active coprocess at a time.
|
||||
<HR>
|
||||
<TABLE WIDTH=100%>
|
||||
<TR>
|
||||
<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2022 March 11<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2022 May 2<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
</TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
@@ -14784,6 +14788,6 @@ There may be only one active coprocess at a time.
|
||||
</DL>
|
||||
<HR>
|
||||
This document was created by man2html from bash.1.<BR>
|
||||
Time: 08 April 2022 15:46:17 EDT
|
||||
Time: 04 May 2022 15:11:14 EDT
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+146
-144
@@ -1,9 +1,9 @@
|
||||
This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.2, 11 April 2022).
|
||||
Bash shell (version 5.2, 2 May 2022).
|
||||
|
||||
This is Edition 5.2, last updated 11 April 2022, of 'The GNU Bash
|
||||
This is Edition 5.2, last updated 2 May 2022, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 5.2.
|
||||
|
||||
Copyright (C) 1988-2022 Free Software Foundation, Inc.
|
||||
@@ -26,10 +26,10 @@ Bash Features
|
||||
*************
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.2, 11 April 2022). The Bash home page is
|
||||
Bash shell (version 5.2, 2 May 2022). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.2, last updated 11 April 2022, of 'The GNU Bash
|
||||
This is Edition 5.2, last updated 2 May 2022, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 5.2.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -704,11 +704,12 @@ information.
|
||||
If the pipeline is not executed asynchronously (*note Lists::), the
|
||||
shell waits for all commands in the pipeline to complete.
|
||||
|
||||
Each command in a pipeline is executed in its own "subshell", which
|
||||
is a separate process (*note Command Execution Environment::). If the
|
||||
'lastpipe' option is enabled using the 'shopt' builtin (*note The Shopt
|
||||
Builtin::), the last element of a pipeline may be run by the shell
|
||||
process when job control is not active.
|
||||
Each command in a multi-command pipeline, where pipes are created, is
|
||||
executed in its own "subshell", which is a separate process (*note
|
||||
Command Execution Environment::). If the 'lastpipe' option is enabled
|
||||
using the 'shopt' builtin (*note The Shopt Builtin::), the last element
|
||||
of a pipeline may be run by the shell process when job control is not
|
||||
active.
|
||||
|
||||
The exit status of a pipeline is the exit status of the last command
|
||||
in the pipeline, unless the 'pipefail' option is enabled (*note The Set
|
||||
@@ -2431,9 +2432,10 @@ characters must be quoted if they are to be matched literally.
|
||||
character not enclosed is matched. A '-' may be matched by
|
||||
including it as the first or last character in the set. A ']' may
|
||||
be matched by including it as the first character in the set. The
|
||||
sorting order of characters in range expressions is determined by
|
||||
the current locale and the values of the 'LC_COLLATE' and 'LC_ALL'
|
||||
shell variables, if set.
|
||||
sorting order of characters in range expressions, and the
|
||||
characters included in the range, are determined by the current
|
||||
locale and the values of the 'LC_COLLATE' and 'LC_ALL' shell
|
||||
variables, if set.
|
||||
|
||||
For example, in the default C locale, '[a-dx-z]' is equivalent to
|
||||
'[abcdxyz]'. Many locales sort characters in dictionary order, and
|
||||
@@ -12499,138 +12501,138 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top888
|
||||
Node: Introduction2799
|
||||
Node: What is Bash?3012
|
||||
Node: What is a shell?4123
|
||||
Node: Definitions6658
|
||||
Node: Basic Shell Features9606
|
||||
Node: Shell Syntax10822
|
||||
Node: Shell Operation11845
|
||||
Node: Quoting13135
|
||||
Node: Escape Character14436
|
||||
Node: Single Quotes14918
|
||||
Node: Double Quotes15263
|
||||
Node: ANSI-C Quoting16538
|
||||
Node: Locale Translation17845
|
||||
Node: Creating Internationalized Scripts19153
|
||||
Node: Comments23267
|
||||
Node: Shell Commands23882
|
||||
Node: Reserved Words24817
|
||||
Node: Simple Commands25570
|
||||
Node: Pipelines26221
|
||||
Node: Lists29177
|
||||
Node: Compound Commands30969
|
||||
Node: Looping Constructs31978
|
||||
Node: Conditional Constructs34470
|
||||
Node: Command Grouping48811
|
||||
Node: Coprocesses50286
|
||||
Node: GNU Parallel52946
|
||||
Node: Shell Functions53860
|
||||
Node: Shell Parameters61742
|
||||
Node: Positional Parameters66127
|
||||
Node: Special Parameters67026
|
||||
Node: Shell Expansions70237
|
||||
Node: Brace Expansion72361
|
||||
Node: Tilde Expansion75092
|
||||
Node: Shell Parameter Expansion77710
|
||||
Node: Command Substitution96058
|
||||
Node: Arithmetic Expansion97410
|
||||
Node: Process Substitution98375
|
||||
Node: Word Splitting99492
|
||||
Node: Filename Expansion101433
|
||||
Node: Pattern Matching104179
|
||||
Node: Quote Removal108784
|
||||
Node: Redirections109076
|
||||
Node: Executing Commands118733
|
||||
Node: Simple Command Expansion119400
|
||||
Node: Command Search and Execution121507
|
||||
Node: Command Execution Environment123882
|
||||
Node: Environment126914
|
||||
Node: Exit Status128574
|
||||
Node: Signals130355
|
||||
Node: Shell Scripts133801
|
||||
Node: Shell Builtin Commands136825
|
||||
Node: Bourne Shell Builtins138860
|
||||
Node: Bash Builtins160318
|
||||
Node: Modifying Shell Behavior191171
|
||||
Node: The Set Builtin191513
|
||||
Node: The Shopt Builtin202111
|
||||
Node: Special Builtins218020
|
||||
Node: Shell Variables218996
|
||||
Node: Bourne Shell Variables219430
|
||||
Node: Bash Variables221531
|
||||
Node: Bash Features254344
|
||||
Node: Invoking Bash255354
|
||||
Node: Bash Startup Files261364
|
||||
Node: Interactive Shells266464
|
||||
Node: What is an Interactive Shell?266871
|
||||
Node: Is this Shell Interactive?267517
|
||||
Node: Interactive Shell Behavior268329
|
||||
Node: Bash Conditional Expressions271955
|
||||
Node: Shell Arithmetic276594
|
||||
Node: Aliases279535
|
||||
Node: Arrays282145
|
||||
Node: The Directory Stack288533
|
||||
Node: Directory Stack Builtins289314
|
||||
Node: Controlling the Prompt293571
|
||||
Node: The Restricted Shell296533
|
||||
Node: Bash POSIX Mode299140
|
||||
Node: Shell Compatibility Mode311061
|
||||
Node: Job Control319087
|
||||
Node: Job Control Basics319544
|
||||
Node: Job Control Builtins324543
|
||||
Node: Job Control Variables329940
|
||||
Node: Command Line Editing331093
|
||||
Node: Introduction and Notation332761
|
||||
Node: Readline Interaction334381
|
||||
Node: Readline Bare Essentials335569
|
||||
Node: Readline Movement Commands337349
|
||||
Node: Readline Killing Commands338306
|
||||
Node: Readline Arguments340221
|
||||
Node: Searching341262
|
||||
Node: Readline Init File343445
|
||||
Node: Readline Init File Syntax344703
|
||||
Node: Conditional Init Constructs367899
|
||||
Node: Sample Init File372092
|
||||
Node: Bindable Readline Commands375213
|
||||
Node: Commands For Moving376414
|
||||
Node: Commands For History378462
|
||||
Node: Commands For Text383453
|
||||
Node: Commands For Killing387099
|
||||
Node: Numeric Arguments390129
|
||||
Node: Commands For Completion391265
|
||||
Node: Keyboard Macros395453
|
||||
Node: Miscellaneous Commands396137
|
||||
Node: Readline vi Mode402073
|
||||
Node: Programmable Completion402977
|
||||
Node: Programmable Completion Builtins410754
|
||||
Node: A Programmable Completion Example421446
|
||||
Node: Using History Interactively426690
|
||||
Node: Bash History Facilities427371
|
||||
Node: Bash History Builtins430373
|
||||
Node: History Interaction435378
|
||||
Node: Event Designators438995
|
||||
Node: Word Designators440346
|
||||
Node: Modifiers442103
|
||||
Node: Installing Bash443911
|
||||
Node: Basic Installation445045
|
||||
Node: Compilers and Options448764
|
||||
Node: Compiling For Multiple Architectures449502
|
||||
Node: Installation Names451192
|
||||
Node: Specifying the System Type453298
|
||||
Node: Sharing Defaults454011
|
||||
Node: Operation Controls454681
|
||||
Node: Optional Features455636
|
||||
Node: Reporting Bugs466851
|
||||
Node: Major Differences From The Bourne Shell468123
|
||||
Node: GNU Free Documentation License484970
|
||||
Node: Indexes510144
|
||||
Node: Builtin Index510595
|
||||
Node: Reserved Word Index517419
|
||||
Node: Variable Index519864
|
||||
Node: Function Index536635
|
||||
Node: Concept Index550416
|
||||
Node: Top882
|
||||
Node: Introduction2787
|
||||
Node: What is Bash?3000
|
||||
Node: What is a shell?4111
|
||||
Node: Definitions6646
|
||||
Node: Basic Shell Features9594
|
||||
Node: Shell Syntax10810
|
||||
Node: Shell Operation11833
|
||||
Node: Quoting13123
|
||||
Node: Escape Character14424
|
||||
Node: Single Quotes14906
|
||||
Node: Double Quotes15251
|
||||
Node: ANSI-C Quoting16526
|
||||
Node: Locale Translation17833
|
||||
Node: Creating Internationalized Scripts19141
|
||||
Node: Comments23255
|
||||
Node: Shell Commands23870
|
||||
Node: Reserved Words24805
|
||||
Node: Simple Commands25558
|
||||
Node: Pipelines26209
|
||||
Node: Lists29205
|
||||
Node: Compound Commands30997
|
||||
Node: Looping Constructs32006
|
||||
Node: Conditional Constructs34498
|
||||
Node: Command Grouping48839
|
||||
Node: Coprocesses50314
|
||||
Node: GNU Parallel52974
|
||||
Node: Shell Functions53888
|
||||
Node: Shell Parameters61770
|
||||
Node: Positional Parameters66155
|
||||
Node: Special Parameters67054
|
||||
Node: Shell Expansions70265
|
||||
Node: Brace Expansion72389
|
||||
Node: Tilde Expansion75120
|
||||
Node: Shell Parameter Expansion77738
|
||||
Node: Command Substitution96086
|
||||
Node: Arithmetic Expansion97438
|
||||
Node: Process Substitution98403
|
||||
Node: Word Splitting99520
|
||||
Node: Filename Expansion101461
|
||||
Node: Pattern Matching104207
|
||||
Node: Quote Removal108861
|
||||
Node: Redirections109153
|
||||
Node: Executing Commands118810
|
||||
Node: Simple Command Expansion119477
|
||||
Node: Command Search and Execution121584
|
||||
Node: Command Execution Environment123959
|
||||
Node: Environment126991
|
||||
Node: Exit Status128651
|
||||
Node: Signals130432
|
||||
Node: Shell Scripts133878
|
||||
Node: Shell Builtin Commands136902
|
||||
Node: Bourne Shell Builtins138937
|
||||
Node: Bash Builtins160395
|
||||
Node: Modifying Shell Behavior191248
|
||||
Node: The Set Builtin191590
|
||||
Node: The Shopt Builtin202188
|
||||
Node: Special Builtins218097
|
||||
Node: Shell Variables219073
|
||||
Node: Bourne Shell Variables219507
|
||||
Node: Bash Variables221608
|
||||
Node: Bash Features254421
|
||||
Node: Invoking Bash255431
|
||||
Node: Bash Startup Files261441
|
||||
Node: Interactive Shells266541
|
||||
Node: What is an Interactive Shell?266948
|
||||
Node: Is this Shell Interactive?267594
|
||||
Node: Interactive Shell Behavior268406
|
||||
Node: Bash Conditional Expressions272032
|
||||
Node: Shell Arithmetic276671
|
||||
Node: Aliases279612
|
||||
Node: Arrays282222
|
||||
Node: The Directory Stack288610
|
||||
Node: Directory Stack Builtins289391
|
||||
Node: Controlling the Prompt293648
|
||||
Node: The Restricted Shell296610
|
||||
Node: Bash POSIX Mode299217
|
||||
Node: Shell Compatibility Mode311138
|
||||
Node: Job Control319164
|
||||
Node: Job Control Basics319621
|
||||
Node: Job Control Builtins324620
|
||||
Node: Job Control Variables330017
|
||||
Node: Command Line Editing331170
|
||||
Node: Introduction and Notation332838
|
||||
Node: Readline Interaction334458
|
||||
Node: Readline Bare Essentials335646
|
||||
Node: Readline Movement Commands337426
|
||||
Node: Readline Killing Commands338383
|
||||
Node: Readline Arguments340298
|
||||
Node: Searching341339
|
||||
Node: Readline Init File343522
|
||||
Node: Readline Init File Syntax344780
|
||||
Node: Conditional Init Constructs367976
|
||||
Node: Sample Init File372169
|
||||
Node: Bindable Readline Commands375290
|
||||
Node: Commands For Moving376491
|
||||
Node: Commands For History378539
|
||||
Node: Commands For Text383530
|
||||
Node: Commands For Killing387176
|
||||
Node: Numeric Arguments390206
|
||||
Node: Commands For Completion391342
|
||||
Node: Keyboard Macros395530
|
||||
Node: Miscellaneous Commands396214
|
||||
Node: Readline vi Mode402150
|
||||
Node: Programmable Completion403054
|
||||
Node: Programmable Completion Builtins410831
|
||||
Node: A Programmable Completion Example421523
|
||||
Node: Using History Interactively426767
|
||||
Node: Bash History Facilities427448
|
||||
Node: Bash History Builtins430450
|
||||
Node: History Interaction435455
|
||||
Node: Event Designators439072
|
||||
Node: Word Designators440423
|
||||
Node: Modifiers442180
|
||||
Node: Installing Bash443988
|
||||
Node: Basic Installation445122
|
||||
Node: Compilers and Options448841
|
||||
Node: Compiling For Multiple Architectures449579
|
||||
Node: Installation Names451269
|
||||
Node: Specifying the System Type453375
|
||||
Node: Sharing Defaults454088
|
||||
Node: Operation Controls454758
|
||||
Node: Optional Features455713
|
||||
Node: Reporting Bugs466928
|
||||
Node: Major Differences From The Bourne Shell468200
|
||||
Node: GNU Free Documentation License485047
|
||||
Node: Indexes510221
|
||||
Node: Builtin Index510672
|
||||
Node: Reserved Word Index517496
|
||||
Node: Variable Index519941
|
||||
Node: Function Index536712
|
||||
Node: Concept Index550493
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
Binary file not shown.
+5576
-5580
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+26
-12
@@ -4,9 +4,9 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<!-- This text is a brief description of the features that are present in
|
||||
the Bash shell (version 5.2, 11 April 2022).
|
||||
the Bash shell (version 5.2, 17 May 2022).
|
||||
|
||||
This is Edition 5.2, last updated 11 April 2022,
|
||||
This is Edition 5.2, last updated 17 May 2022,
|
||||
of The GNU Bash Reference Manual,
|
||||
for Bash, Version 5.2.
|
||||
|
||||
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
|
||||
<span id="Bash-Features-1"></span><h1 class="top">Bash Features</h1>
|
||||
|
||||
<p>This text is a brief description of the features that are present in
|
||||
the Bash shell (version 5.2, 11 April 2022).
|
||||
the Bash shell (version 5.2, 17 May 2022).
|
||||
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
|
||||
</p>
|
||||
<p>This is Edition 5.2, last updated 11 April 2022,
|
||||
<p>This is Edition 5.2, last updated 17 May 2022,
|
||||
of <cite>The GNU Bash Reference Manual</cite>,
|
||||
for <code>Bash</code>, Version 5.2.
|
||||
</p>
|
||||
@@ -1104,7 +1104,9 @@ the time information.
|
||||
<p>If the pipeline is not executed asynchronously (see <a href="#Lists">Lists of Commands</a>), the
|
||||
shell waits for all commands in the pipeline to complete.
|
||||
</p>
|
||||
<p>Each command in a pipeline is executed in its own <em>subshell</em>, which is a
|
||||
<p>Each command in a multi-command pipeline,
|
||||
where pipes are created,
|
||||
is executed in its own <em>subshell</em>, which is a
|
||||
separate process (see <a href="#Command-Execution-Environment">Command Execution Environment</a>).
|
||||
If the <code>lastpipe</code> option is enabled using the <code>shopt</code> builtin
|
||||
(see <a href="#The-Shopt-Builtin">The Shopt Builtin</a>),
|
||||
@@ -3307,7 +3309,9 @@ then any character not enclosed is matched. A ‘<samp>-</samp>’
|
||||
may be matched by including it as the first or last character
|
||||
in the set. A ‘<samp>]</samp>’ may be matched by including it as the first
|
||||
character in the set.
|
||||
The sorting order of characters in range expressions is determined by
|
||||
The sorting order of characters in range expressions,
|
||||
and the characters included in the range,
|
||||
are determined by
|
||||
the current locale and the values of the
|
||||
<code>LC_COLLATE</code> and <code>LC_ALL</code> shell variables, if set.
|
||||
</p>
|
||||
@@ -7987,10 +7991,12 @@ No other startup files are read.
|
||||
<span id="Invoked-by-remote-shell-daemon"></span><h4 class="subsubheading">Invoked by remote shell daemon</h4>
|
||||
|
||||
<p>Bash attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by the remote shell
|
||||
daemon, usually <code>rshd</code>, or the secure shell daemon <code>sshd</code>.
|
||||
If Bash determines it is being run in
|
||||
this fashion, it reads and executes commands from <samp>~/.bashrc</samp>, if that
|
||||
connected to a network connection, as when executed by
|
||||
the historical remote shell daemon, usually <code>rshd</code>,
|
||||
or the secure shell daemon <code>sshd</code>.
|
||||
If Bash
|
||||
determines it is being run non-interactively in this fashion,
|
||||
it reads and executes commands from <samp>~/.bashrc</samp>, if that
|
||||
file exists and is readable.
|
||||
It will not do this if invoked as <code>sh</code>.
|
||||
The <samp>--norc</samp> option may be used to inhibit this behavior, and the
|
||||
@@ -9865,9 +9871,17 @@ argument restricts operation to running jobs.
|
||||
|
||||
<p>Suspend the execution of this shell until it receives a
|
||||
<code>SIGCONT</code> signal.
|
||||
A login shell cannot be suspended; the <samp>-f</samp>
|
||||
A login shell,
|
||||
or a shell without job control enabled,
|
||||
cannot be suspended; the <samp>-f</samp>
|
||||
option can be used to override this and force the suspension.
|
||||
</p></dd>
|
||||
The return status is 0 unless the shell is a login shell
|
||||
or job control is not enabled
|
||||
and
|
||||
<samp>-f</samp>
|
||||
is not supplied.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>When job control is not active, the <code>kill</code> and <code>wait</code>
|
||||
|
||||
+160
-154
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.8 from
|
||||
bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.2, 11 April 2022).
|
||||
Bash shell (version 5.2, 17 May 2022).
|
||||
|
||||
This is Edition 5.2, last updated 11 April 2022, of 'The GNU Bash
|
||||
This is Edition 5.2, last updated 17 May 2022, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 5.2.
|
||||
|
||||
Copyright (C) 1988-2022 Free Software Foundation, Inc.
|
||||
@@ -27,10 +27,10 @@ Bash Features
|
||||
*************
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.2, 11 April 2022). The Bash home page is
|
||||
Bash shell (version 5.2, 17 May 2022). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.2, last updated 11 April 2022, of 'The GNU Bash
|
||||
This is Edition 5.2, last updated 17 May 2022, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 5.2.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -705,11 +705,12 @@ information.
|
||||
If the pipeline is not executed asynchronously (*note Lists::), the
|
||||
shell waits for all commands in the pipeline to complete.
|
||||
|
||||
Each command in a pipeline is executed in its own "subshell", which
|
||||
is a separate process (*note Command Execution Environment::). If the
|
||||
'lastpipe' option is enabled using the 'shopt' builtin (*note The Shopt
|
||||
Builtin::), the last element of a pipeline may be run by the shell
|
||||
process when job control is not active.
|
||||
Each command in a multi-command pipeline, where pipes are created, is
|
||||
executed in its own "subshell", which is a separate process (*note
|
||||
Command Execution Environment::). If the 'lastpipe' option is enabled
|
||||
using the 'shopt' builtin (*note The Shopt Builtin::), the last element
|
||||
of a pipeline may be run by the shell process when job control is not
|
||||
active.
|
||||
|
||||
The exit status of a pipeline is the exit status of the last command
|
||||
in the pipeline, unless the 'pipefail' option is enabled (*note The Set
|
||||
@@ -2432,9 +2433,10 @@ characters must be quoted if they are to be matched literally.
|
||||
character not enclosed is matched. A '-' may be matched by
|
||||
including it as the first or last character in the set. A ']' may
|
||||
be matched by including it as the first character in the set. The
|
||||
sorting order of characters in range expressions is determined by
|
||||
the current locale and the values of the 'LC_COLLATE' and 'LC_ALL'
|
||||
shell variables, if set.
|
||||
sorting order of characters in range expressions, and the
|
||||
characters included in the range, are determined by the current
|
||||
locale and the values of the 'LC_COLLATE' and 'LC_ALL' shell
|
||||
variables, if set.
|
||||
|
||||
For example, in the default C locale, '[a-dx-z]' is equivalent to
|
||||
'[abcdxyz]'. Many locales sort characters in dictionary order, and
|
||||
@@ -6147,14 +6149,15 @@ Invoked by remote shell daemon
|
||||
..............................
|
||||
|
||||
Bash attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by the remote shell
|
||||
daemon, usually 'rshd', or the secure shell daemon 'sshd'. If Bash
|
||||
determines it is being run in this fashion, it reads and executes
|
||||
commands from '~/.bashrc', if that file exists and is readable. It will
|
||||
not do this if invoked as 'sh'. The '--norc' option may be used to
|
||||
inhibit this behavior, and the '--rcfile' option may be used to force
|
||||
another file to be read, but neither 'rshd' nor 'sshd' generally invoke
|
||||
the shell with those options or allow them to be specified.
|
||||
connected to a network connection, as when executed by the historical
|
||||
remote shell daemon, usually 'rshd', or the secure shell daemon 'sshd'.
|
||||
If Bash determines it is being run non-interactively in this fashion, it
|
||||
reads and executes commands from '~/.bashrc', if that file exists and is
|
||||
readable. It will not do this if invoked as 'sh'. The '--norc' option
|
||||
may be used to inhibit this behavior, and the '--rcfile' option may be
|
||||
used to force another file to be read, but neither 'rshd' nor 'sshd'
|
||||
generally invoke the shell with those options or allow them to be
|
||||
specified.
|
||||
|
||||
Invoked with unequal effective and real UID/GIDs
|
||||
................................................
|
||||
@@ -7651,8 +7654,11 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables,
|
||||
suspend [-f]
|
||||
|
||||
Suspend the execution of this shell until it receives a 'SIGCONT'
|
||||
signal. A login shell cannot be suspended; the '-f' option can be
|
||||
used to override this and force the suspension.
|
||||
signal. A login shell, or a shell without job control enabled,
|
||||
cannot be suspended; the '-f' option can be used to override this
|
||||
and force the suspension. The return status is 0 unless the shell
|
||||
is a login shell or job control is not enabled and '-f' is not
|
||||
supplied.
|
||||
|
||||
When job control is not active, the 'kill' and 'wait' builtins do not
|
||||
accept JOBSPEC arguments. They must be supplied process IDs.
|
||||
@@ -12500,138 +12506,138 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top891
|
||||
Node: Introduction2805
|
||||
Node: What is Bash?3021
|
||||
Node: What is a shell?4135
|
||||
Node: Definitions6673
|
||||
Node: Basic Shell Features9624
|
||||
Node: Shell Syntax10843
|
||||
Node: Shell Operation11869
|
||||
Node: Quoting13162
|
||||
Node: Escape Character14466
|
||||
Node: Single Quotes14951
|
||||
Node: Double Quotes15299
|
||||
Node: ANSI-C Quoting16577
|
||||
Node: Locale Translation17887
|
||||
Node: Creating Internationalized Scripts19198
|
||||
Node: Comments23315
|
||||
Node: Shell Commands23933
|
||||
Node: Reserved Words24871
|
||||
Node: Simple Commands25627
|
||||
Node: Pipelines26281
|
||||
Node: Lists29240
|
||||
Node: Compound Commands31035
|
||||
Node: Looping Constructs32047
|
||||
Node: Conditional Constructs34542
|
||||
Node: Command Grouping48886
|
||||
Node: Coprocesses50364
|
||||
Node: GNU Parallel53027
|
||||
Node: Shell Functions53944
|
||||
Node: Shell Parameters61829
|
||||
Node: Positional Parameters66217
|
||||
Node: Special Parameters67119
|
||||
Node: Shell Expansions70333
|
||||
Node: Brace Expansion72460
|
||||
Node: Tilde Expansion75194
|
||||
Node: Shell Parameter Expansion77815
|
||||
Node: Command Substitution96166
|
||||
Node: Arithmetic Expansion97521
|
||||
Node: Process Substitution98489
|
||||
Node: Word Splitting99609
|
||||
Node: Filename Expansion101553
|
||||
Node: Pattern Matching104302
|
||||
Node: Quote Removal108910
|
||||
Node: Redirections109205
|
||||
Node: Executing Commands118865
|
||||
Node: Simple Command Expansion119535
|
||||
Node: Command Search and Execution121645
|
||||
Node: Command Execution Environment124023
|
||||
Node: Environment127058
|
||||
Node: Exit Status128721
|
||||
Node: Signals130505
|
||||
Node: Shell Scripts133954
|
||||
Node: Shell Builtin Commands136981
|
||||
Node: Bourne Shell Builtins139019
|
||||
Node: Bash Builtins160480
|
||||
Node: Modifying Shell Behavior191336
|
||||
Node: The Set Builtin191681
|
||||
Node: The Shopt Builtin202282
|
||||
Node: Special Builtins218194
|
||||
Node: Shell Variables219173
|
||||
Node: Bourne Shell Variables219610
|
||||
Node: Bash Variables221714
|
||||
Node: Bash Features254530
|
||||
Node: Invoking Bash255543
|
||||
Node: Bash Startup Files261556
|
||||
Node: Interactive Shells266659
|
||||
Node: What is an Interactive Shell?267069
|
||||
Node: Is this Shell Interactive?267718
|
||||
Node: Interactive Shell Behavior268533
|
||||
Node: Bash Conditional Expressions272162
|
||||
Node: Shell Arithmetic276804
|
||||
Node: Aliases279748
|
||||
Node: Arrays282361
|
||||
Node: The Directory Stack288752
|
||||
Node: Directory Stack Builtins289536
|
||||
Node: Controlling the Prompt293796
|
||||
Node: The Restricted Shell296761
|
||||
Node: Bash POSIX Mode299371
|
||||
Node: Shell Compatibility Mode311295
|
||||
Node: Job Control319324
|
||||
Node: Job Control Basics319784
|
||||
Node: Job Control Builtins324786
|
||||
Node: Job Control Variables330186
|
||||
Node: Command Line Editing331342
|
||||
Node: Introduction and Notation333013
|
||||
Node: Readline Interaction334636
|
||||
Node: Readline Bare Essentials335827
|
||||
Node: Readline Movement Commands337610
|
||||
Node: Readline Killing Commands338570
|
||||
Node: Readline Arguments340488
|
||||
Node: Searching341532
|
||||
Node: Readline Init File343718
|
||||
Node: Readline Init File Syntax344979
|
||||
Node: Conditional Init Constructs368178
|
||||
Node: Sample Init File372374
|
||||
Node: Bindable Readline Commands375498
|
||||
Node: Commands For Moving376702
|
||||
Node: Commands For History378753
|
||||
Node: Commands For Text383747
|
||||
Node: Commands For Killing387396
|
||||
Node: Numeric Arguments390429
|
||||
Node: Commands For Completion391568
|
||||
Node: Keyboard Macros395759
|
||||
Node: Miscellaneous Commands396446
|
||||
Node: Readline vi Mode402385
|
||||
Node: Programmable Completion403292
|
||||
Node: Programmable Completion Builtins411072
|
||||
Node: A Programmable Completion Example421767
|
||||
Node: Using History Interactively427014
|
||||
Node: Bash History Facilities427698
|
||||
Node: Bash History Builtins430703
|
||||
Node: History Interaction435711
|
||||
Node: Event Designators439331
|
||||
Node: Word Designators440685
|
||||
Node: Modifiers442445
|
||||
Node: Installing Bash444256
|
||||
Node: Basic Installation445393
|
||||
Node: Compilers and Options449115
|
||||
Node: Compiling For Multiple Architectures449856
|
||||
Node: Installation Names451549
|
||||
Node: Specifying the System Type453658
|
||||
Node: Sharing Defaults454374
|
||||
Node: Operation Controls455047
|
||||
Node: Optional Features456005
|
||||
Node: Reporting Bugs467223
|
||||
Node: Major Differences From The Bourne Shell468498
|
||||
Node: GNU Free Documentation License485348
|
||||
Node: Indexes510525
|
||||
Node: Builtin Index510979
|
||||
Node: Reserved Word Index517806
|
||||
Node: Variable Index520254
|
||||
Node: Function Index537028
|
||||
Node: Concept Index550812
|
||||
Node: Top887
|
||||
Node: Introduction2797
|
||||
Node: What is Bash?3013
|
||||
Node: What is a shell?4127
|
||||
Node: Definitions6665
|
||||
Node: Basic Shell Features9616
|
||||
Node: Shell Syntax10835
|
||||
Node: Shell Operation11861
|
||||
Node: Quoting13154
|
||||
Node: Escape Character14458
|
||||
Node: Single Quotes14943
|
||||
Node: Double Quotes15291
|
||||
Node: ANSI-C Quoting16569
|
||||
Node: Locale Translation17879
|
||||
Node: Creating Internationalized Scripts19190
|
||||
Node: Comments23307
|
||||
Node: Shell Commands23925
|
||||
Node: Reserved Words24863
|
||||
Node: Simple Commands25619
|
||||
Node: Pipelines26273
|
||||
Node: Lists29272
|
||||
Node: Compound Commands31067
|
||||
Node: Looping Constructs32079
|
||||
Node: Conditional Constructs34574
|
||||
Node: Command Grouping48918
|
||||
Node: Coprocesses50396
|
||||
Node: GNU Parallel53059
|
||||
Node: Shell Functions53976
|
||||
Node: Shell Parameters61861
|
||||
Node: Positional Parameters66249
|
||||
Node: Special Parameters67151
|
||||
Node: Shell Expansions70365
|
||||
Node: Brace Expansion72492
|
||||
Node: Tilde Expansion75226
|
||||
Node: Shell Parameter Expansion77847
|
||||
Node: Command Substitution96198
|
||||
Node: Arithmetic Expansion97553
|
||||
Node: Process Substitution98521
|
||||
Node: Word Splitting99641
|
||||
Node: Filename Expansion101585
|
||||
Node: Pattern Matching104334
|
||||
Node: Quote Removal108991
|
||||
Node: Redirections109286
|
||||
Node: Executing Commands118946
|
||||
Node: Simple Command Expansion119616
|
||||
Node: Command Search and Execution121726
|
||||
Node: Command Execution Environment124104
|
||||
Node: Environment127139
|
||||
Node: Exit Status128802
|
||||
Node: Signals130586
|
||||
Node: Shell Scripts134035
|
||||
Node: Shell Builtin Commands137062
|
||||
Node: Bourne Shell Builtins139100
|
||||
Node: Bash Builtins160561
|
||||
Node: Modifying Shell Behavior191417
|
||||
Node: The Set Builtin191762
|
||||
Node: The Shopt Builtin202363
|
||||
Node: Special Builtins218275
|
||||
Node: Shell Variables219254
|
||||
Node: Bourne Shell Variables219691
|
||||
Node: Bash Variables221795
|
||||
Node: Bash Features254611
|
||||
Node: Invoking Bash255624
|
||||
Node: Bash Startup Files261637
|
||||
Node: Interactive Shells266768
|
||||
Node: What is an Interactive Shell?267178
|
||||
Node: Is this Shell Interactive?267827
|
||||
Node: Interactive Shell Behavior268642
|
||||
Node: Bash Conditional Expressions272271
|
||||
Node: Shell Arithmetic276913
|
||||
Node: Aliases279857
|
||||
Node: Arrays282470
|
||||
Node: The Directory Stack288861
|
||||
Node: Directory Stack Builtins289645
|
||||
Node: Controlling the Prompt293905
|
||||
Node: The Restricted Shell296870
|
||||
Node: Bash POSIX Mode299480
|
||||
Node: Shell Compatibility Mode311404
|
||||
Node: Job Control319433
|
||||
Node: Job Control Basics319893
|
||||
Node: Job Control Builtins324895
|
||||
Node: Job Control Variables330465
|
||||
Node: Command Line Editing331621
|
||||
Node: Introduction and Notation333292
|
||||
Node: Readline Interaction334915
|
||||
Node: Readline Bare Essentials336106
|
||||
Node: Readline Movement Commands337889
|
||||
Node: Readline Killing Commands338849
|
||||
Node: Readline Arguments340767
|
||||
Node: Searching341811
|
||||
Node: Readline Init File343997
|
||||
Node: Readline Init File Syntax345258
|
||||
Node: Conditional Init Constructs368457
|
||||
Node: Sample Init File372653
|
||||
Node: Bindable Readline Commands375777
|
||||
Node: Commands For Moving376981
|
||||
Node: Commands For History379032
|
||||
Node: Commands For Text384026
|
||||
Node: Commands For Killing387675
|
||||
Node: Numeric Arguments390708
|
||||
Node: Commands For Completion391847
|
||||
Node: Keyboard Macros396038
|
||||
Node: Miscellaneous Commands396725
|
||||
Node: Readline vi Mode402664
|
||||
Node: Programmable Completion403571
|
||||
Node: Programmable Completion Builtins411351
|
||||
Node: A Programmable Completion Example422046
|
||||
Node: Using History Interactively427293
|
||||
Node: Bash History Facilities427977
|
||||
Node: Bash History Builtins430982
|
||||
Node: History Interaction435990
|
||||
Node: Event Designators439610
|
||||
Node: Word Designators440964
|
||||
Node: Modifiers442724
|
||||
Node: Installing Bash444535
|
||||
Node: Basic Installation445672
|
||||
Node: Compilers and Options449394
|
||||
Node: Compiling For Multiple Architectures450135
|
||||
Node: Installation Names451828
|
||||
Node: Specifying the System Type453937
|
||||
Node: Sharing Defaults454653
|
||||
Node: Operation Controls455326
|
||||
Node: Optional Features456284
|
||||
Node: Reporting Bugs467502
|
||||
Node: Major Differences From The Bourne Shell468777
|
||||
Node: GNU Free Documentation License485627
|
||||
Node: Indexes510804
|
||||
Node: Builtin Index511258
|
||||
Node: Reserved Word Index518085
|
||||
Node: Variable Index520533
|
||||
Node: Function Index537307
|
||||
Node: Concept Index551091
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
+47
-41
@@ -1,9 +1,11 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_2) (preloaded format=pdftex 2021.10.21) 12 APR 2022 10:01
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/MacPorts 2022.62882_0) (preloaded format=pdfetex 2022.5.4) 4 MAY 2022 15:11
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
%&-line parsing enabled.
|
||||
**/usr/local/src/chet/src/bash/src/doc/bashref.texi
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
|
||||
**\input /usr/local/src/chet/src/bash/src/doc/bashref.texi
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.texi
|
||||
(/usr/local/src/chet/src/bash/src/doc/texinfo.tex
|
||||
Loading texinfo [version 2015-11-22.14]:
|
||||
\outerhsize=\dimen16
|
||||
\outervsize=\dimen17
|
||||
@@ -159,24 +161,27 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
|
||||
texinfo.tex: doing @include of version.texi
|
||||
|
||||
|
||||
(./version.texi) [1{/opt/local/var/db/texmf/fonts/map/pdftex/updmap/pdftex.map}
|
||||
] [2] (./bashref.toc [-1] [-2] [-3]) [-4] (./bashref.toc) (./bashref.toc)
|
||||
Chapter 1
|
||||
(/usr/local/src/chet/src/bash/src/doc/version.texi) [1{/opt/local/var/db/texmf/
|
||||
fonts/map/pdftex/updmap/pdftex.map}] [2]
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.toc [-1] [-2] [-3]) [-4]
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.toc)
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.toc) Chapter 1
|
||||
\openout0 = `bashref.toc'.
|
||||
|
||||
(./bashref.aux)
|
||||
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.aux)
|
||||
\openout1 = `bashref.aux'.
|
||||
|
||||
Chapter 2 [1] [2]
|
||||
@cpindfile=@write2
|
||||
\openout2 = `bashref.cp'.
|
||||
|
||||
[3] Chapter 3 [4] [5] [6] [7]
|
||||
[3]
|
||||
Chapter 3 [4] [5] [6] [7]
|
||||
@vrindfile=@write3
|
||||
\openout3 = `bashref.vr'.
|
||||
|
||||
|
||||
[8]
|
||||
[8]
|
||||
Overfull \hbox (3.12749pt too wide) in paragraph at lines 723--724
|
||||
@texttt coproc[]|
|
||||
|
||||
@@ -223,7 +228,7 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 724--725
|
||||
|
||||
[48] [49] [50] [51]
|
||||
[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
|
||||
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5215--5215
|
||||
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5219--5219
|
||||
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
|
||||
-] [@textttsl ar-gu-ment []@texttt ][]
|
||||
|
||||
@@ -236,7 +241,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5215--5215
|
||||
.etc.
|
||||
|
||||
|
||||
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5216--5216
|
||||
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5220--5220
|
||||
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
|
||||
-] [@textttsl ar-gu-ment []@texttt ][]
|
||||
|
||||
@@ -320,7 +325,7 @@ texinfo.tex: doing @include of hsuser.texi
|
||||
(/usr/local/src/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
|
||||
[151] [152] [153] [154] [155] [156]) Chapter 10 [157] [158] [159] [160]
|
||||
[161]
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 9348--9357
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 9352--9361
|
||||
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
|
||||
entation[]@textrm '[],
|
||||
|
||||
@@ -333,7 +338,7 @@ entation[]@textrm '[],
|
||||
.etc.
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 9348--9357
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 9352--9361
|
||||
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
|
||||
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
|
||||
|
||||
@@ -349,37 +354,38 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
|
||||
[171] [172] Appendix C [173]
|
||||
texinfo.tex: doing @include of fdl.texi
|
||||
|
||||
(./fdl.texi [174] [175] [176] [177] [178] [179]
|
||||
[180]) Appendix D [181] [182] [183] [184] [185] [186] [187] [188] [189]
|
||||
[190] )
|
||||
(/usr/local/src/chet/src/bash/src/doc/fdl.texi
|
||||
[174] [175] [176] [177] [178] [179] [180]) Appendix D [181] [182] [183]
|
||||
[184] [185] [186] [187] [188] [189] [190] )
|
||||
Here is how much of TeX's memory you used:
|
||||
4094 strings out of 497086
|
||||
46987 string characters out of 6206519
|
||||
140408 words of memory out of 5000000
|
||||
4867 multiletter control sequences out of 15000+600000
|
||||
4094 strings out of 497074
|
||||
47491 string characters out of 6206289
|
||||
141494 words of memory out of 5000000
|
||||
4870 multiletter control sequences out of 15000+600000
|
||||
34315 words of font info for 116 fonts, out of 8000000 for 9000
|
||||
51 hyphenation exceptions out of 8191
|
||||
16i,6n,16p,323b,978s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
{/opt/local/share/texmf-texlive/fonts/enc/dvips/cm-super/cm-super-t1.enc
|
||||
}</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx12.pfb></op
|
||||
t/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmcsc10.pfb></opt/lo
|
||||
cal/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10.pfb></opt/local/s
|
||||
hare/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb></opt/local/share/
|
||||
texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/local/share/texmf-
|
||||
texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/share/texmf-texliv
|
||||
e/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/texmf-texlive/fonts
|
||||
/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-texlive/fonts/type
|
||||
1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-texlive/fonts/type1/p
|
||||
ublic/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/fonts/type1/public
|
||||
/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsf
|
||||
onts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
|
||||
cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
|
||||
tt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super/sfrm1095.pf
|
||||
b></opt/local/share/texmf-texlive/fonts/type1/public/cm-super/sfrm1440.pfb>
|
||||
Output written on bashref.pdf (196 pages, 794079 bytes).
|
||||
16i,6n,16p,330b,978s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
{/opt/local/share/texmf-texlive/font
|
||||
s/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type
|
||||
1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
|
||||
lic/amsfonts/cm/cmcsc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/
|
||||
amsfonts/cm/cmmi10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfo
|
||||
nts/cm/cmmi12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/c
|
||||
m/cmmi9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr1
|
||||
0.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb><
|
||||
/opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/
|
||||
local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/loc
|
||||
al/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/sh
|
||||
are/texmf-texlive/fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/t
|
||||
exmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-
|
||||
texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texli
|
||||
ve/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fon
|
||||
ts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/typ
|
||||
e1/public/cm-super/sfrm1440.pfb>
|
||||
Output written on bashref.pdf (196 pages, 794067 bytes).
|
||||
PDF statistics:
|
||||
2750 PDF objects out of 2984 (max. 8388607)
|
||||
2507 compressed objects within 26 object streams
|
||||
2752 PDF objects out of 2984 (max. 8388607)
|
||||
2509 compressed objects within 26 object streams
|
||||
324 named destinations out of 1000 (max. 500000)
|
||||
1141 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
|
||||
Binary file not shown.
+122
-120
@@ -1,7 +1,7 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Creator: dvips(k) 2021.1 Copyright 2021 Radical Eye Software
|
||||
%%Creator: dvips(k) 2022.1 (TeX Live 2022) Copyright 2022 Radical Eye Software
|
||||
%%Title: bashref.dvi
|
||||
%%CreationDate: Tue Apr 12 14:01:11 2022
|
||||
%%CreationDate: Wed May 4 19:11:10 2022
|
||||
%%Pages: 196
|
||||
%%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 2022.04.12:1001
|
||||
%DVIPSSource: TeX output 2022.05.04:1511
|
||||
%%BeginProcSet: tex.pro 0 0
|
||||
%!
|
||||
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
|
||||
@@ -7614,7 +7614,7 @@ ifelse
|
||||
TeXDict begin 1 0 bop 150 1318 a Fv(Bash)64 b(Reference)j(Man)-5
|
||||
b(ual)p 150 1385 3600 34 v 2361 1481 a Fu(Reference)31
|
||||
b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(5.2,)g(for)f
|
||||
Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.2.)3333 1697 y(April)f(2022)150
|
||||
Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.2.)3364 1697 y(Ma)m(y)g(2022)150
|
||||
4927 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
|
||||
b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
|
||||
b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
|
||||
@@ -7622,15 +7622,16 @@ b(oundation)p 150 5141 3600 17 v eop end
|
||||
%%Page: 2 2
|
||||
TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
|
||||
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
|
||||
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.2,)c(11)f(April)f
|
||||
(2022\).)150 4523 y(This)j(is)h(Edition)f(5.2,)j(last)f(up)s(dated)d
|
||||
(11)j(April)e(2022,)k(of)d Fr(The)f(GNU)h(Bash)g(Reference)g(Man)m(ual)
|
||||
p Fu(,)i(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8 b(ersion)31
|
||||
b(5.2.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
|
||||
y Fq(\015)f Fu(1988{2022)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
|
||||
b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
|
||||
(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
|
||||
(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
|
||||
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.2,)c(2)e(Ma)m(y)i
|
||||
(2022\).)150 4523 y(This)38 b(is)g(Edition)h(5.2,)j(last)d(up)s(dated)e
|
||||
(2)i(Ma)m(y)h(2022,)j(of)38 b Fr(The)g(GNU)h(Bash)g(Reference)g(Man)m
|
||||
(ual)p Fu(,)j(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8
|
||||
b(ersion)31 b(5.2.)150 4767 y(Cop)m(yrigh)m(t)602 4764
|
||||
y(c)577 4767 y Fq(\015)f Fu(1988{2022)35 b(F)-8 b(ree)31
|
||||
b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 4902
|
||||
y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
|
||||
b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
|
||||
(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
|
||||
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
|
||||
b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
|
||||
b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
|
||||
@@ -8688,158 +8689,158 @@ y Fk(3.2.3)63 b(Pip)s(elines)150 446 y Fu(A)21 b Ft(pipeline)d
|
||||
Fu(is)j(a)g(sequence)g(of)g(one)g(or)g(more)g(commands)f(separated)h(b)
|
||||
m(y)g(one)g(of)g(the)g(con)m(trol)h(op)s(erators)150
|
||||
555 y(`)p Ft(|)p Fu(')31 b(or)f(`)p Ft(|&)p Fu('.)275
|
||||
683 y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390 810
|
||||
695 y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390 834
|
||||
y Ft([time)46 b([-p]])h([!])g Fj(command1)e Ft([)j(|)f(or)g(|&)g
|
||||
Fj(command2)f Ft(])h(...)150 938 y Fu(The)25 b(output)f(of)i(eac)m(h)g
|
||||
Fj(command2)f Ft(])h(...)150 974 y Fu(The)25 b(output)f(of)i(eac)m(h)g
|
||||
(command)f(in)f(the)i(pip)s(eline)e(is)i(connected)g(via)f(a)h(pip)s(e)
|
||||
e(to)i(the)f(input)f(of)h(the)h(next)150 1047 y(command.)40
|
||||
e(to)i(the)f(input)f(of)h(the)h(next)150 1083 y(command.)40
|
||||
b(That)29 b(is,)h(eac)m(h)h(command)e(reads)g(the)h(previous)f
|
||||
(command's)g(output.)40 b(This)29 b(connection)150 1157
|
||||
(command's)g(output.)40 b(This)29 b(connection)150 1193
|
||||
y(is)h(p)s(erformed)f(b)s(efore)h(an)m(y)h(redirections)g(sp)s
|
||||
(eci\014ed)f(b)m(y)g Fr(command1)p Fu(.)275 1284 y(If)k(`)p
|
||||
(eci\014ed)f(b)m(y)g Fr(command1)p Fu(.)275 1333 y(If)k(`)p
|
||||
Ft(|&)p Fu(')h(is)f(used,)i Fr(command1)7 b Fu('s)35
|
||||
b(standard)f(error,)i(in)e(addition)h(to)h(its)f(standard)f(output,)i
|
||||
(is)e(con-)150 1394 y(nected)h(to)g Fr(command2)7 b Fu('s)35
|
||||
(is)e(con-)150 1442 y(nected)h(to)g Fr(command2)7 b Fu('s)35
|
||||
b(standard)f(input)f(through)h(the)g(pip)s(e;)i(it)f(is)g(shorthand)e
|
||||
(for)h Ft(2>&1)29 b(|)p Fu(.)53 b(This)150 1504 y(implicit)41
|
||||
(for)h Ft(2>&1)29 b(|)p Fu(.)53 b(This)150 1552 y(implicit)41
|
||||
b(redirection)f(of)g(the)g(standard)f(error)g(to)h(the)g(standard)f
|
||||
(output)g(is)h(p)s(erformed)e(after)j(an)m(y)150 1613
|
||||
(output)g(is)h(p)s(erformed)e(after)j(an)m(y)150 1661
|
||||
y(redirections)31 b(sp)s(eci\014ed)f(b)m(y)g Fr(command1)p
|
||||
Fu(.)275 1741 y(The)36 b(reserv)m(ed)g(w)m(ord)g Ft(time)g
|
||||
Fu(.)275 1801 y(The)36 b(reserv)m(ed)g(w)m(ord)g Ft(time)g
|
||||
Fu(causes)h(timing)g(statistics)h(to)f(b)s(e)f(prin)m(ted)g(for)g(the)h
|
||||
(pip)s(eline)f(once)h(it)150 1850 y(\014nishes.)51 b(The)34
|
||||
(pip)s(eline)f(once)h(it)150 1910 y(\014nishes.)51 b(The)34
|
||||
b(statistics)i(curren)m(tly)e(consist)h(of)f(elapsed)h(\(w)m(all-clo)s
|
||||
(c)m(k\))i(time)e(and)f(user)f(and)h(system)150 1960
|
||||
(c)m(k\))i(time)e(and)f(user)f(and)h(system)150 2020
|
||||
y(time)e(consumed)e(b)m(y)h(the)g(command's)g(execution.)44
|
||||
b(The)31 b Ft(-p)f Fu(option)i(c)m(hanges)g(the)f(output)g(format)g(to)
|
||||
150 2069 y(that)j(sp)s(eci\014ed)e(b)m(y)h Fm(posix)p
|
||||
150 2130 y(that)j(sp)s(eci\014ed)e(b)m(y)h Fm(posix)p
|
||||
Fu(.)49 b(When)33 b(the)g(shell)g(is)h(in)e Fm(posix)h
|
||||
Fu(mo)s(de)g(\(see)h(Section)g(6.11)g([Bash)g(POSIX)150
|
||||
2179 y(Mo)s(de],)j(page)e(106\),)j(it)e(do)s(es)e(not)i(recognize)g
|
||||
2239 y(Mo)s(de],)j(page)e(106\),)j(it)e(do)s(es)e(not)i(recognize)g
|
||||
Ft(time)e Fu(as)h(a)h(reserv)m(ed)f(w)m(ord)f(if)h(the)g(next)g(tok)m
|
||||
(en)h(b)s(egins)150 2289 y(with)d(a)g(`)p Ft(-)p Fu('.)49
|
||||
(en)h(b)s(egins)150 2349 y(with)d(a)g(`)p Ft(-)p Fu('.)49
|
||||
b(The)33 b Ft(TIMEFORMAT)d Fu(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(set)
|
||||
g(to)h(a)g(format)f(string)g(that)h(sp)s(eci\014es)f(ho)m(w)g(the)150
|
||||
2398 y(timing)38 b(information)g(should)e(b)s(e)h(displa)m(y)m(ed.)62
|
||||
2458 y(timing)38 b(information)g(should)e(b)s(e)h(displa)m(y)m(ed.)62
|
||||
b(See)38 b(Section)g(5.2)g([Bash)g(V)-8 b(ariables],)41
|
||||
b(page)d(78,)i(for)e(a)150 2508 y(description)27 b(of)g(the)h(a)m(v)-5
|
||||
b(page)d(78,)i(for)e(a)150 2568 y(description)27 b(of)g(the)h(a)m(v)-5
|
||||
b(ailable)29 b(formats.)40 b(The)26 b(use)h(of)g Ft(time)f
|
||||
Fu(as)i(a)f(reserv)m(ed)g(w)m(ord)g(p)s(ermits)f(the)h(timing)150
|
||||
2617 y(of)38 b(shell)g(builtins,)i(shell)e(functions,)i(and)d(pip)s
|
||||
2677 y(of)38 b(shell)g(builtins,)i(shell)e(functions,)i(and)d(pip)s
|
||||
(elines.)63 b(An)38 b(external)h Ft(time)e Fu(command)h(cannot)g(time)
|
||||
150 2727 y(these)31 b(easily)-8 b(.)275 2854 y(When)26
|
||||
150 2787 y(these)31 b(easily)-8 b(.)275 2927 y(When)26
|
||||
b(the)h(shell)g(is)g(in)g Fm(posix)f Fu(mo)s(de)g(\(see)i(Section)f
|
||||
(6.11)i([Bash)e(POSIX)f(Mo)s(de],)i(page)g(106\),)h Ft(time)150
|
||||
2964 y Fu(ma)m(y)d(b)s(e)f(follo)m(w)m(ed)j(b)m(y)d(a)h(newline.)39
|
||||
3036 y Fu(ma)m(y)d(b)s(e)f(follo)m(w)m(ed)j(b)m(y)d(a)h(newline.)39
|
||||
b(In)25 b(this)h(case,)i(the)d(shell)h(displa)m(ys)g(the)g(total)h
|
||||
(user)e(and)g(system)h(time)150 3073 y(consumed)33 b(b)m(y)h(the)h
|
||||
(user)e(and)g(system)h(time)150 3146 y(consumed)33 b(b)m(y)h(the)h
|
||||
(shell)f(and)f(its)i(c)m(hildren.)51 b(The)34 b Ft(TIMEFORMAT)d
|
||||
Fu(v)-5 b(ariable)35 b(ma)m(y)g(b)s(e)e(used)g(to)i(sp)s(ecify)150
|
||||
3183 y(the)c(format)f(of)h(the)f(time)h(information.)275
|
||||
3311 y(If)36 b(the)h(pip)s(eline)g(is)g(not)g(executed)h(async)m
|
||||
3255 y(the)c(format)f(of)h(the)f(time)h(information.)275
|
||||
3395 y(If)36 b(the)h(pip)s(eline)g(is)g(not)g(executed)h(async)m
|
||||
(hronously)f(\(see)h(Section)g(3.2.4)g([Lists],)i(page)e(10\),)i(the)
|
||||
150 3420 y(shell)31 b(w)m(aits)g(for)f(all)h(commands)f(in)g(the)h(pip)
|
||||
s(eline)f(to)h(complete.)275 3548 y(Eac)m(h)e(command)g(in)g(a)g(pip)s
|
||||
(eline)g(is)g(executed)h(in)e(its)i(o)m(wn)f Fr(subshell)p
|
||||
Fu(,)f(whic)m(h)h(is)g(a)g(separate)h(pro)s(cess)150
|
||||
3657 y(\(see)g(Section)g(3.7.3)h([Command)e(Execution)h(En)m(vironmen)m
|
||||
(t],)g(page)g(43\).)41 b(If)29 b(the)g Ft(lastpipe)e
|
||||
Fu(option)j(is)150 3767 y(enabled)35 b(using)g(the)g
|
||||
Ft(shopt)f Fu(builtin)g(\(see)i(Section)g(4.3.2)h([The)e(Shopt)f
|
||||
(Builtin],)j(page)f(71\),)i(the)d(last)150 3876 y(elemen)m(t)d(of)e(a)h
|
||||
(pip)s(eline)f(ma)m(y)h(b)s(e)f(run)f(b)m(y)h(the)h(shell)f(pro)s(cess)
|
||||
g(when)f(job)h(con)m(trol)i(is)f(not)f(activ)m(e.)275
|
||||
4004 y(The)24 b(exit)i(status)f(of)h(a)f(pip)s(eline)g(is)g(the)g(exit)
|
||||
h(status)f(of)h(the)f(last)h(command)f(in)f(the)i(pip)s(eline,)g
|
||||
(unless)150 4113 y(the)31 b Ft(pipefail)d Fu(option)j(is)g(enabled)f
|
||||
(\(see)i(Section)f(4.3.1)i([The)d(Set)h(Builtin],)g(page)h(67\).)42
|
||||
b(If)30 b Ft(pipefail)150 4223 y Fu(is)f(enabled,)g(the)f(pip)s
|
||||
(eline's)g(return)g(status)h(is)f(the)h(v)-5 b(alue)29
|
||||
b(of)f(the)h(last)g(\(righ)m(tmost\))i(command)d(to)h(exit)150
|
||||
4333 y(with)34 b(a)h(non-zero)g(status,)i(or)d(zero)i(if)e(all)i
|
||||
(commands)e(exit)h(successfully)-8 b(.)54 b(If)34 b(the)h(reserv)m(ed)g
|
||||
(w)m(ord)f(`)p Ft(!)p Fu(')150 4442 y(precedes)e(the)f(pip)s(eline,)h
|
||||
(the)f(exit)i(status)f(is)f(the)h(logical)i(negation)f(of)e(the)h(exit)
|
||||
g(status)g(as)g(describ)s(ed)150 4552 y(ab)s(o)m(v)m(e.)63
|
||||
b(The)38 b(shell)f(w)m(aits)i(for)e(all)i(commands)e(in)g(the)h(pip)s
|
||||
(eline)f(to)h(terminate)h(b)s(efore)e(returning)g(a)150
|
||||
4661 y(v)-5 b(alue.)150 4846 y Fk(3.2.4)63 b(Lists)41
|
||||
b(of)h(Commands)150 4993 y Fu(A)37 b Ft(list)e Fu(is)i(a)g(sequence)g
|
||||
(of)g(one)g(or)f(more)h(pip)s(elines)f(separated)h(b)m(y)g(one)g(of)f
|
||||
(the)h(op)s(erators)g(`)p Ft(;)p Fu(',)i(`)p Ft(&)p Fu(',)150
|
||||
5103 y(`)p Ft(&&)p Fu(',)31 b(or)f(`)p Ft(||)p Fu(',)g(and)g
|
||||
(optionally)i(terminated)f(b)m(y)f(one)h(of)f(`)p Ft(;)p
|
||||
Fu(',)h(`)p Ft(&)p Fu(',)g(or)f(a)h Ft(newline)p Fu(.)275
|
||||
5230 y(Of)23 b(these)h(list)g(op)s(erators,)i(`)p Ft(&&)p
|
||||
Fu(')d(and)g(`)p Ft(||)p Fu(')h(ha)m(v)m(e)h(equal)f(precedence,)i
|
||||
(follo)m(w)m(ed)f(b)m(y)f(`)p Ft(;)p Fu(')g(and)f(`)p
|
||||
Ft(&)p Fu(',)i(whic)m(h)150 5340 y(ha)m(v)m(e)32 b(equal)e(precedence.)
|
||||
p eop end
|
||||
150 3504 y(shell)31 b(w)m(aits)g(for)f(all)h(commands)f(in)g(the)h(pip)
|
||||
s(eline)f(to)h(complete.)275 3644 y(Eac)m(h)d(command)g(in)f(a)i(m)m
|
||||
(ulti-command)f(pip)s(eline,)h(where)e(pip)s(es)g(are)h(created,)i(is)e
|
||||
(executed)h(in)f(its)150 3753 y(o)m(wn)h Fr(subshell)p
|
||||
Fu(,)f(whic)m(h)h(is)g(a)g(separate)h(pro)s(cess)e(\(see)i(Section)g
|
||||
(3.7.3)g([Command)f(Execution)g(En)m(viron-)150 3863
|
||||
y(men)m(t],)d(page)e(43\).)40 b(If)23 b(the)h Ft(lastpipe)d
|
||||
Fu(option)j(is)g(enabled)g(using)f(the)h Ft(shopt)e Fu(builtin)h(\(see)
|
||||
i(Section)f(4.3.2)150 3973 y([The)i(Shopt)f(Builtin],)i(page)g(71\),)h
|
||||
(the)e(last)h(elemen)m(t)g(of)f(a)g(pip)s(eline)g(ma)m(y)g(b)s(e)f(run)
|
||||
g(b)m(y)g(the)h(shell)g(pro)s(cess)150 4082 y(when)j(job)h(con)m(trol)i
|
||||
(is)f(not)f(activ)m(e.)275 4222 y(The)24 b(exit)i(status)f(of)h(a)f
|
||||
(pip)s(eline)g(is)g(the)g(exit)h(status)f(of)h(the)f(last)h(command)f
|
||||
(in)f(the)i(pip)s(eline,)g(unless)150 4331 y(the)31 b
|
||||
Ft(pipefail)d Fu(option)j(is)g(enabled)f(\(see)i(Section)f(4.3.1)i
|
||||
([The)d(Set)h(Builtin],)g(page)h(67\).)42 b(If)30 b Ft(pipefail)150
|
||||
4441 y Fu(is)f(enabled,)g(the)f(pip)s(eline's)g(return)g(status)h(is)f
|
||||
(the)h(v)-5 b(alue)29 b(of)f(the)h(last)g(\(righ)m(tmost\))i(command)d
|
||||
(to)h(exit)150 4550 y(with)34 b(a)h(non-zero)g(status,)i(or)d(zero)i
|
||||
(if)e(all)i(commands)e(exit)h(successfully)-8 b(.)54
|
||||
b(If)34 b(the)h(reserv)m(ed)g(w)m(ord)f(`)p Ft(!)p Fu(')150
|
||||
4660 y(precedes)e(the)f(pip)s(eline,)h(the)f(exit)i(status)f(is)f(the)h
|
||||
(logical)i(negation)f(of)e(the)h(exit)g(status)g(as)g(describ)s(ed)150
|
||||
4770 y(ab)s(o)m(v)m(e.)63 b(The)38 b(shell)f(w)m(aits)i(for)e(all)i
|
||||
(commands)e(in)g(the)h(pip)s(eline)f(to)h(terminate)h(b)s(efore)e
|
||||
(returning)g(a)150 4879 y(v)-5 b(alue.)150 5083 y Fk(3.2.4)63
|
||||
b(Lists)41 b(of)h(Commands)150 5230 y Fu(A)37 b Ft(list)e
|
||||
Fu(is)i(a)g(sequence)g(of)g(one)g(or)f(more)h(pip)s(elines)f(separated)
|
||||
h(b)m(y)g(one)g(of)f(the)h(op)s(erators)g(`)p Ft(;)p
|
||||
Fu(',)i(`)p Ft(&)p Fu(',)150 5340 y(`)p Ft(&&)p Fu(',)31
|
||||
b(or)f(`)p Ft(||)p Fu(',)g(and)g(optionally)i(terminated)f(b)m(y)f(one)
|
||||
h(of)f(`)p Ft(;)p Fu(',)h(`)p Ft(&)p Fu(',)g(or)f(a)h
|
||||
Ft(newline)p Fu(.)p eop end
|
||||
%%Page: 11 17
|
||||
TeXDict begin 11 16 bop 150 -116 a Fu(Chapter)30 b(3:)41
|
||||
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(11)275 299
|
||||
y(A)29 b(sequence)h(of)g(one)g(or)g(more)g(newlines)f(ma)m(y)h(app)s
|
||||
(ear)f(in)h(a)g Ft(list)e Fu(to)j(delimit)f(commands,)g(equiv-)150
|
||||
408 y(alen)m(t)i(to)f(a)g(semicolon.)275 548 y(If)c(a)h(command)f(is)h
|
||||
(terminated)g(b)m(y)g(the)g(con)m(trol)h(op)s(erator)f(`)p
|
||||
y(Of)23 b(these)h(list)g(op)s(erators,)i(`)p Ft(&&)p
|
||||
Fu(')d(and)g(`)p Ft(||)p Fu(')h(ha)m(v)m(e)h(equal)f(precedence,)i
|
||||
(follo)m(w)m(ed)f(b)m(y)f(`)p Ft(;)p Fu(')g(and)f(`)p
|
||||
Ft(&)p Fu(',)i(whic)m(h)150 408 y(ha)m(v)m(e)32 b(equal)e(precedence.)
|
||||
275 536 y(A)f(sequence)h(of)g(one)g(or)g(more)g(newlines)f(ma)m(y)h
|
||||
(app)s(ear)f(in)h(a)g Ft(list)e Fu(to)j(delimit)f(commands,)g(equiv-)
|
||||
150 646 y(alen)m(t)i(to)f(a)g(semicolon.)275 773 y(If)c(a)h(command)f
|
||||
(is)h(terminated)g(b)m(y)g(the)g(con)m(trol)h(op)s(erator)f(`)p
|
||||
Ft(&)p Fu(',)h(the)e(shell)h(executes)h(the)f(command)150
|
||||
658 y(async)m(hronously)g(in)h(a)g(subshell.)39 b(This)28
|
||||
883 y(async)m(hronously)g(in)h(a)g(subshell.)39 b(This)28
|
||||
b(is)h(kno)m(wn)f(as)h(executing)h(the)f(command)g(in)f(the)h
|
||||
Fr(bac)m(kground)p Fu(,)150 767 y(and)42 b(these)i(are)f(referred)g(to)
|
||||
Fr(bac)m(kground)p Fu(,)150 992 y(and)42 b(these)i(are)f(referred)g(to)
|
||||
g(as)h Fr(async)m(hronous)i Fu(commands.)78 b(The)43
|
||||
b(shell)g(do)s(es)g(not)g(w)m(ait)h(for)f(the)150 877
|
||||
b(shell)g(do)s(es)g(not)g(w)m(ait)h(for)f(the)150 1102
|
||||
y(command)34 b(to)h(\014nish,)f(and)f(the)h(return)f(status)i(is)f(0)g
|
||||
(\(true\).)53 b(When)34 b(job)g(con)m(trol)h(is)f(not)h(activ)m(e)h
|
||||
(\(see)150 986 y(Chapter)27 b(7)h([Job)f(Con)m(trol],)i(page)g(113\),)h
|
||||
(the)d(standard)g(input)f(for)i(async)m(hronous)f(commands,)h(in)f(the)
|
||||
150 1096 y(absence)k(of)f(an)m(y)h(explicit)h(redirections,)f(is)f
|
||||
(redirected)h(from)f Ft(/dev/null)p Fu(.)275 1236 y(Commands)19
|
||||
(\(see)150 1211 y(Chapter)27 b(7)h([Job)f(Con)m(trol],)i(page)g(113\),)
|
||||
h(the)d(standard)g(input)f(for)i(async)m(hronous)f(commands,)h(in)f
|
||||
(the)150 1321 y(absence)k(of)f(an)m(y)h(explicit)h(redirections,)f(is)f
|
||||
(redirected)h(from)f Ft(/dev/null)p Fu(.)275 1448 y(Commands)19
|
||||
b(separated)j(b)m(y)f(a)g(`)p Ft(;)p Fu(')g(are)h(executed)g(sequen)m
|
||||
(tially;)k(the)21 b(shell)g(w)m(aits)h(for)f(eac)m(h)h(command)150
|
||||
1345 y(to)31 b(terminate)h(in)e(turn.)39 b(The)30 b(return)f(status)i
|
||||
1558 y(to)31 b(terminate)h(in)e(turn.)39 b(The)30 b(return)f(status)i
|
||||
(is)f(the)h(exit)g(status)g(of)g(the)f(last)h(command)f(executed.)275
|
||||
1485 y Fm(and)g Fu(and)h Fm(or)g Fu(lists)h(are)g(sequences)f(of)h(one)
|
||||
1685 y Fm(and)g Fu(and)h Fm(or)g Fu(lists)h(are)g(sequences)f(of)h(one)
|
||||
g(or)f(more)h(pip)s(elines)e(separated)i(b)m(y)g(the)f(con)m(trol)i(op)
|
||||
s(er-)150 1594 y(ators)e(`)p Ft(&&)p Fu(')f(and)g(`)p
|
||||
s(er-)150 1795 y(ators)e(`)p Ft(&&)p Fu(')f(and)g(`)p
|
||||
Ft(||)p Fu(',)h(resp)s(ectiv)m(ely)-8 b(.)42 b Fm(and)30
|
||||
b Fu(and)f Fm(or)h Fu(lists)h(are)g(executed)g(with)f(left)h(asso)s
|
||||
(ciativit)m(y)-8 b(.)275 1734 y(An)30 b Fm(and)f Fu(list)i(has)f(the)h
|
||||
(form)390 1874 y Fj(command1)46 b Ft(&&)h Fj(command2)150
|
||||
2013 y Fr(command2)38 b Fu(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
|
||||
(ciativit)m(y)-8 b(.)275 1923 y(An)30 b Fm(and)f Fu(list)i(has)f(the)h
|
||||
(form)390 2050 y Fj(command1)46 b Ft(&&)h Fj(command2)150
|
||||
2178 y Fr(command2)38 b Fu(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
|
||||
Fr(command1)38 b Fu(returns)29 b(an)h(exit)h(status)g(of)g(zero)g
|
||||
(\(success\).)275 2153 y(An)f Fm(or)f Fu(list)i(has)f(the)h(form)390
|
||||
2293 y Fj(command1)46 b Ft(||)h Fj(command2)150 2432
|
||||
(\(success\).)275 2305 y(An)f Fm(or)f Fu(list)i(has)f(the)h(form)390
|
||||
2432 y Fj(command1)46 b Ft(||)h Fj(command2)150 2560
|
||||
y Fr(command2)38 b Fu(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
|
||||
Fr(command1)38 b Fu(returns)29 b(a)i(non-zero)g(exit)g(status.)275
|
||||
2572 y(The)h(return)g(status)i(of)f Fm(and)f Fu(and)h
|
||||
2687 y(The)h(return)g(status)i(of)f Fm(and)f Fu(and)h
|
||||
Fm(or)f Fu(lists)i(is)f(the)g(exit)h(status)g(of)f(the)g(last)h
|
||||
(command)f(executed)150 2681 y(in)d(the)h(list.)150 2886
|
||||
y Fk(3.2.5)63 b(Comp)s(ound)42 b(Commands)150 3033 y
|
||||
(command)f(executed)150 2797 y(in)d(the)h(list.)150 2982
|
||||
y Fk(3.2.5)63 b(Comp)s(ound)42 b(Commands)150 3129 y
|
||||
Fu(Comp)s(ound)29 b(commands)h(are)i(the)f(shell)g(programming)f
|
||||
(language)j(constructs.)42 b(Eac)m(h)32 b(construct)f(b)s(e-)150
|
||||
3142 y(gins)25 b(with)f(a)i(reserv)m(ed)f(w)m(ord)f(or)h(con)m(trol)h
|
||||
3239 y(gins)25 b(with)f(a)i(reserv)m(ed)f(w)m(ord)f(or)h(con)m(trol)h
|
||||
(op)s(erator)f(and)g(is)g(terminated)g(b)m(y)g(a)g(corresp)s(onding)f
|
||||
(reserv)m(ed)150 3252 y(w)m(ord)i(or)g(op)s(erator.)40
|
||||
(reserv)m(ed)150 3348 y(w)m(ord)i(or)g(op)s(erator.)40
|
||||
b(An)m(y)26 b(redirections)g(\(see)i(Section)f(3.6)g([Redirections],)h
|
||||
(page)f(38\))h(asso)s(ciated)f(with)150 3361 y(a)k(comp)s(ound)f
|
||||
(page)f(38\))h(asso)s(ciated)f(with)150 3458 y(a)k(comp)s(ound)f
|
||||
(command)h(apply)f(to)i(all)g(commands)f(within)f(that)i(comp)s(ound)d
|
||||
(command)i(unless)f(ex-)150 3471 y(plicitly)i(o)m(v)m(erridden.)275
|
||||
3611 y(In)20 b(most)h(cases)g(a)g(list)h(of)f(commands)f(in)g(a)h(comp)
|
||||
(command)i(unless)f(ex-)150 3568 y(plicitly)i(o)m(v)m(erridden.)275
|
||||
3695 y(In)20 b(most)h(cases)g(a)g(list)h(of)f(commands)f(in)g(a)h(comp)
|
||||
s(ound)f(command's)g(description)h(ma)m(y)g(b)s(e)f(separated)150
|
||||
3720 y(from)30 b(the)h(rest)g(of)g(the)g(command)g(b)m(y)f(one)h(or)g
|
||||
3805 y(from)30 b(the)h(rest)g(of)g(the)g(command)g(b)m(y)f(one)h(or)g
|
||||
(more)g(newlines,)g(and)f(ma)m(y)i(b)s(e)e(follo)m(w)m(ed)i(b)m(y)f(a)g
|
||||
(newline)150 3830 y(in)f(place)h(of)g(a)g(semicolon.)275
|
||||
3969 y(Bash)45 b(pro)m(vides)h(lo)s(oping)g(constructs,)j(conditional)e
|
||||
(newline)150 3914 y(in)f(place)h(of)g(a)g(semicolon.)275
|
||||
4042 y(Bash)45 b(pro)m(vides)h(lo)s(oping)g(constructs,)j(conditional)e
|
||||
(commands,)j(and)44 b(mec)m(hanisms)i(to)g(group)150
|
||||
4079 y(commands)30 b(and)g(execute)i(them)e(as)g(a)h(unit.)150
|
||||
4283 y Fk(3.2.5.1)63 b(Lo)s(oping)43 b(Constructs)150
|
||||
4430 y Fu(Bash)31 b(supp)s(orts)d(the)j(follo)m(wing)g(lo)s(oping)g
|
||||
(constructs.)275 4570 y(Note)k(that)f(wherev)m(er)g(a)g(`)p
|
||||
4151 y(commands)30 b(and)g(execute)i(them)e(as)g(a)h(unit.)150
|
||||
4336 y Fk(3.2.5.1)63 b(Lo)s(oping)43 b(Constructs)150
|
||||
4483 y Fu(Bash)31 b(supp)s(orts)d(the)j(follo)m(wing)g(lo)s(oping)g
|
||||
(constructs.)275 4611 y(Note)k(that)f(wherev)m(er)g(a)g(`)p
|
||||
Ft(;)p Fu(')g(app)s(ears)f(in)h(the)g(description)g(of)g(a)g(command's)
|
||||
g(syn)m(tax,)i(it)e(ma)m(y)h(b)s(e)150 4680 y(replaced)c(with)f(one)h
|
||||
(or)f(more)g(newlines.)150 4847 y Ft(until)240 b Fu(The)30
|
||||
g(syn)m(tax,)i(it)e(ma)m(y)h(b)s(e)150 4720 y(replaced)c(with)f(one)h
|
||||
(or)f(more)g(newlines.)150 4866 y Ft(until)240 b Fu(The)30
|
||||
b(syn)m(tax)h(of)f(the)h Ft(until)e Fu(command)h(is:)870
|
||||
4984 y Ft(until)46 b Fj(test-commands)p Ft(;)e(do)j Fj
|
||||
4993 y Ft(until)46 b Fj(test-commands)p Ft(;)e(do)j Fj
|
||||
(consequent-commands)p Ft(;)c(done)630 5121 y Fu(Execute)f
|
||||
Fr(consequen)m(t-commands)k Fu(as)41 b(long)h(as)f Fr(test-commands)46
|
||||
b Fu(has)41 b(an)g(exit)h(status)630 5230 y(whic)m(h)c(is)h(not)g
|
||||
@@ -10791,17 +10792,18 @@ Ft(^)p Fu(')g(then)f(an)m(y)630 4655 y(c)m(haracter)c(not)f(enclosed)g
|
||||
(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 4765
|
||||
y(\014rst)32 b(or)h(last)h(c)m(haracter)h(in)e(the)g(set.)50
|
||||
b(A)33 b(`)p Ft(])p Fu(')g(ma)m(y)h(b)s(e)e(matc)m(hed)i(b)m(y)f
|
||||
(including)g(it)g(as)h(the)630 4875 y(\014rst)25 b(c)m(haracter)i(in)e
|
||||
(the)h(set.)40 b(The)25 b(sorting)h(order)f(of)h(c)m(haracters)h(in)f
|
||||
(range)g(expressions)f(is)630 4984 y(determined)h(b)m(y)h(the)g(curren)
|
||||
m(t)f(lo)s(cale)j(and)d(the)h(v)-5 b(alues)27 b(of)g(the)g
|
||||
Ft(LC_COLLATE)d Fu(and)i Ft(LC_ALL)630 5094 y Fu(shell)31
|
||||
b(v)-5 b(ariables,)31 b(if)f(set.)630 5230 y(F)-8 b(or)34
|
||||
b(example,)g(in)f(the)g(default)g(C)f(lo)s(cale,)k(`)p
|
||||
Ft([a-dx-z])p Fu(')31 b(is)i(equiv)-5 b(alen)m(t)34 b(to)g(`)p
|
||||
Ft([abcdxyz])p Fu('.)630 5340 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m
|
||||
(haracters)h(in)e(dictionary)i(order,)76 b(and)67 b(in)g(these)h(lo)s
|
||||
(cales)p eop end
|
||||
(including)g(it)g(as)h(the)630 4875 y(\014rst)c(c)m(haracter)j(in)d
|
||||
(the)h(set.)43 b(The)31 b(sorting)g(order)g(of)g(c)m(haracters)h(in)f
|
||||
(range)g(expressions,)630 4984 y(and)f(the)h(c)m(haracters)h(included)e
|
||||
(in)h(the)f(range,)i(are)f(determined)f(b)m(y)h(the)g(curren)m(t)f(lo)s
|
||||
(cale)630 5094 y(and)g(the)g(v)-5 b(alues)31 b(of)g(the)f
|
||||
Ft(LC_COLLATE)e Fu(and)h Ft(LC_ALL)g Fu(shell)i(v)-5
|
||||
b(ariables,)31 b(if)f(set.)630 5230 y(F)-8 b(or)34 b(example,)g(in)f
|
||||
(the)g(default)g(C)f(lo)s(cale,)k(`)p Ft([a-dx-z])p Fu(')31
|
||||
b(is)i(equiv)-5 b(alen)m(t)34 b(to)g(`)p Ft([abcdxyz])p
|
||||
Fu('.)630 5340 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m(haracters)h(in)e
|
||||
(dictionary)i(order,)76 b(and)67 b(in)g(these)h(lo)s(cales)p
|
||||
eop end
|
||||
%%Page: 37 43
|
||||
TeXDict begin 37 42 bop 150 -116 a Fu(Chapter)30 b(3:)41
|
||||
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(37)630 299
|
||||
|
||||
+18
-7
@@ -801,8 +801,9 @@ the time information.
|
||||
If the pipeline is not executed asynchronously (@pxref{Lists}), the
|
||||
shell waits for all commands in the pipeline to complete.
|
||||
|
||||
Each command in a multi-command
|
||||
pipeline is executed in its own @dfn{subshell}, which is a
|
||||
Each command in a multi-command pipeline,
|
||||
where pipes are created,
|
||||
is executed in its own @dfn{subshell}, which is a
|
||||
separate process (@pxref{Command Execution Environment}).
|
||||
If the @code{lastpipe} option is enabled using the @code{shopt} builtin
|
||||
(@pxref{The Shopt Builtin}),
|
||||
@@ -7104,10 +7105,12 @@ No other startup files are read.
|
||||
@subsubheading Invoked by remote shell daemon
|
||||
|
||||
Bash attempts to determine when it is being run with its standard input
|
||||
connected to a network connection, as when executed by the remote shell
|
||||
daemon, usually @code{rshd}, or the secure shell daemon @code{sshd}.
|
||||
If Bash determines it is being run in
|
||||
this fashion, it reads and executes commands from @file{~/.bashrc}, if that
|
||||
connected to a network connection, as when executed by
|
||||
the historical remote shell daemon, usually @code{rshd},
|
||||
or the secure shell daemon @code{sshd}.
|
||||
If Bash
|
||||
determines it is being run non-interactively in this fashion,
|
||||
it reads and executes commands from @file{~/.bashrc}, if that
|
||||
file exists and is readable.
|
||||
It will not do this if invoked as @code{sh}.
|
||||
The @option{--norc} option may be used to inhibit this behavior, and the
|
||||
@@ -8914,8 +8917,16 @@ suspend [-f]
|
||||
|
||||
Suspend the execution of this shell until it receives a
|
||||
@code{SIGCONT} signal.
|
||||
A login shell cannot be suspended; the @option{-f}
|
||||
A login shell,
|
||||
or a shell without job control enabled,
|
||||
cannot be suspended; the @option{-f}
|
||||
option can be used to override this and force the suspension.
|
||||
The return status is 0 unless the shell is a login shell
|
||||
or job control is not enabled
|
||||
and
|
||||
@option{-f}
|
||||
is not supplied.
|
||||
|
||||
@end table
|
||||
|
||||
When job control is not active, the @code{kill} and @code{wait}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.22.4
|
||||
%%CreationDate: Fri Apr 8 15:46:03 2022
|
||||
%%CreationDate: Wed May 4 15:10:59 2022
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.22.4
|
||||
%%CreationDate: Fri Apr 8 15:46:03 2022
|
||||
%%CreationDate: Wed May 4 15:11:00 2022
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%DocumentSuppliedResources: procset grops 1.22 4
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
Copyright (C) 1988-2022 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Mon May 2 08:59:39 EDT 2022
|
||||
@set LASTCHANGE Tue May 17 09:37:52 EDT 2022
|
||||
|
||||
@set EDITION 5.2
|
||||
@set VERSION 5.2
|
||||
|
||||
@set UPDATED 2 May 2022
|
||||
@set UPDATED 17 May 2022
|
||||
@set UPDATED-MONTH May 2022
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# bcalc - a coproc example that uses bc to evaluate floating point expressions
|
||||
#
|
||||
# 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 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# If supplied command-line arguments, it uses them as the expression to have
|
||||
# bc evaluate, and exits after reading the result. Otherwise, it enters an
|
||||
# interactive mode, reading expressions and passing them to bc for evaluation,
|
||||
# with line editing and history.
|
||||
#
|
||||
# You could even use this to write bc programs, but you'd have to rework the
|
||||
# single-line REPL a little bit to do that (and get over the annoying timeout
|
||||
# on the read)
|
||||
#
|
||||
# Chet Ramey
|
||||
# chet.ramey@case.edu
|
||||
|
||||
# we force stderr to avoid synchronization issues on calculation errors, even
|
||||
# with the read timeout
|
||||
init()
|
||||
{
|
||||
coproc BC { bc -q 2>&1; }
|
||||
# set scale
|
||||
printf "scale = 10\n" >&${BC[1]}
|
||||
}
|
||||
|
||||
# not strictly necessary; the pipes will be closed when the program exits
|
||||
fini()
|
||||
{
|
||||
eval exec "${BC[1]}>&- ${BC[0]}<&-"
|
||||
}
|
||||
|
||||
# set a read timeout of a half second to avoid synchronization problems
|
||||
calc()
|
||||
{
|
||||
printf "%s\n" "$1" >&${BC[1]}
|
||||
read -t 0.5 ANSWER <&${BC[0]}
|
||||
}
|
||||
|
||||
init
|
||||
|
||||
# if we have command line options, process them as a single expression and
|
||||
# print the result. we could just run `bc <<<"scale = 10 ; $*"' and be done
|
||||
# with it, but we init the coproc before this and run the calculation through
|
||||
# the pipes in case we want to do something else with the answer
|
||||
|
||||
if [ $# -gt 0 ] ; then
|
||||
calc "$*"
|
||||
printf "%s\n" "$ANSWER"
|
||||
fini
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# we don't want to save the history anywhere
|
||||
unset HISTFILE
|
||||
|
||||
while read -e -p 'equation: ' EQN
|
||||
do
|
||||
case "$EQN" in
|
||||
'') continue ;;
|
||||
exit|quit) break ;;
|
||||
esac
|
||||
|
||||
# save to the history list
|
||||
history -s "$EQN"
|
||||
|
||||
# run it through bc
|
||||
calc "$EQN"
|
||||
if [ -n "$ANSWER" ] ; then
|
||||
printf "%s\n" "$ANSWER"
|
||||
fi
|
||||
done
|
||||
fini
|
||||
|
||||
exit 0
|
||||
@@ -2515,6 +2515,9 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
|
||||
prev = pipe_in;
|
||||
cmd = command;
|
||||
|
||||
if (asynchronous)
|
||||
itrace("execute_pipeline: asynchronous = 1");
|
||||
|
||||
while (cmd && cmd->type == cm_connection &&
|
||||
cmd->value.Connection && cmd->value.Connection->connector == '|')
|
||||
{
|
||||
|
||||
@@ -3695,7 +3695,7 @@ kill_pid (pid, sig, group)
|
||||
result = killpg (pid, sig);
|
||||
/* If we're killing using job control notification, for example,
|
||||
without job control active, we have to do things ourselves. */
|
||||
else if (jobs[job]->pgrp == shell_pgrp)
|
||||
else if (jobs[job]->pgrp == shell_pgrp) /* XXX - IS_JOBCONTROL(job) == 0? */
|
||||
{
|
||||
p = jobs[job]->pipe;
|
||||
do
|
||||
|
||||
Binary file not shown.
+110
-271
@@ -11,16 +11,16 @@ msgstr ""
|
||||
"Project-Id-Version: bash 5.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-11-28 12:51-0500\n"
|
||||
"PO-Revision-Date: 2021-05-09 20:48+0800\n"
|
||||
"PO-Revision-Date: 2022-05-10 16:30+0800\n"
|
||||
"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
|
||||
"Language-Team: Chinese (traditional) <zh-l10n@lists.linux.org.tw>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 2.4.3\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: arrayfunc.c:66
|
||||
msgid "bad array subscript"
|
||||
@@ -353,7 +353,7 @@ msgstr "警告:-C 選項可能無法按預期工作"
|
||||
|
||||
#: builtins/complete.def:838
|
||||
msgid "not currently executing completion function"
|
||||
msgstr "目前未執行補完功能"
|
||||
msgstr "目前未執行自動完成功能"
|
||||
|
||||
#: builtins/declare.def:134
|
||||
msgid "can only be used in a function"
|
||||
@@ -910,12 +910,12 @@ msgstr "%s 是一個函數\n"
|
||||
#: builtins/type.def:299
|
||||
#, c-format
|
||||
msgid "%s is a special shell builtin\n"
|
||||
msgstr "%s 是特別的 shell 內建物件\n"
|
||||
msgstr "%s 是特別的 shell 內建命令\n"
|
||||
|
||||
#: builtins/type.def:301
|
||||
#, c-format
|
||||
msgid "%s is a shell builtin\n"
|
||||
msgstr "%s 是 shell 內建物件\n"
|
||||
msgstr "%s 是 shell 內建命令\n"
|
||||
|
||||
#: builtins/type.def:323 builtins/type.def:408
|
||||
#, c-format
|
||||
@@ -1596,7 +1596,7 @@ msgstr "尋找符合的「)」時遇到了未預期的檔案結束符"
|
||||
#: pcomplete.c:1132
|
||||
#, c-format
|
||||
msgid "completion: function `%s' not found"
|
||||
msgstr "補完: 未找到函數「%s」"
|
||||
msgstr "自動完成: 未找到函數「%s」"
|
||||
|
||||
#: pcomplete.c:1722
|
||||
#, c-format
|
||||
@@ -1606,7 +1606,7 @@ msgstr "programmable_completion:%s:可能重試迴圈"
|
||||
#: pcomplib.c:182
|
||||
#, c-format
|
||||
msgid "progcomp_insert: %s: NULL COMPSPEC"
|
||||
msgstr "progcomp_insert: %s: 空的補完規格"
|
||||
msgstr "progcomp_insert: %s: 空的自動完成規格"
|
||||
|
||||
#: print_cmd.c:302
|
||||
#, c-format
|
||||
@@ -2232,7 +2232,7 @@ msgstr "continue [n]"
|
||||
|
||||
#: builtins.c:60
|
||||
msgid "builtin [shell-builtin [arg ...]]"
|
||||
msgstr "builtin [shell 內建物件 [參數 …]]"
|
||||
msgstr "builtin [shell 內建命令 [參數 …]]"
|
||||
|
||||
#: builtins.c:63
|
||||
msgid "caller [expr]"
|
||||
@@ -2668,14 +2668,14 @@ msgid ""
|
||||
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
|
||||
" not a shell builtin."
|
||||
msgstr ""
|
||||
"執行 shell 內建物件。\n"
|
||||
"執行 shell 內建命令。\n"
|
||||
" \n"
|
||||
" 帶 <參數> 執行 <shell 內建物件> 而不做指令查詢\n"
|
||||
" 在希望以 shell 函數的形式來重新實現 shell 內建物件,\n"
|
||||
" 但需要在函數之內執行該 shell 內建物件的情況下有用處。\n"
|
||||
" 帶 <參數> 執行 <shell 內建命令> 而不做指令查詢\n"
|
||||
" 在希望以 shell 函數的形式來重新實現 shell 內建命令,\n"
|
||||
" 但需要在函數之內執行該 shell 內建命令的情況下有用處。\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
" 以 <shell 內建物件> 的結束狀態為準,或者如果 <shell 內建物件> 不是一個 shell 內建物件時\n"
|
||||
" 以 <shell 內建命令> 的結束狀態為準,或者如果 <shell 內建命令> 不是一個 shell 內建命令時\n"
|
||||
" 回傳 false。"
|
||||
|
||||
#: builtins.c:369
|
||||
@@ -2864,43 +2864,6 @@ msgstr ""
|
||||
" 回傳 COMMAND 指令的回傳狀態,或者當找不到 COMMAND 指令時失敗。"
|
||||
|
||||
#: builtins.c:490
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Set variable values and attributes.\n"
|
||||
#| " \n"
|
||||
#| " Declare variables and give them attributes. If no NAMEs are given,\n"
|
||||
#| " display the attributes and values of all variables.\n"
|
||||
#| " \n"
|
||||
#| " Options:\n"
|
||||
#| " -f\trestrict action or display to function names and definitions\n"
|
||||
#| " -F\trestrict display to function names only (plus line number and\n"
|
||||
#| " \t\tsource file when debugging)\n"
|
||||
#| " -g\tcreate global variables when used in a shell function; otherwise\n"
|
||||
#| " \t\tignored\n"
|
||||
#| " -p\tdisplay the attributes and value of each NAME\n"
|
||||
#| " \n"
|
||||
#| " Options which set attributes:\n"
|
||||
#| " -a\tto make NAMEs indexed arrays (if supported)\n"
|
||||
#| " -A\tto make NAMEs associative arrays (if supported)\n"
|
||||
#| " -i\tto make NAMEs have the `integer' attribute\n"
|
||||
#| " -l\tto convert the value of each NAME to lower case on assignment\n"
|
||||
#| " -n\tmake NAME a reference to the variable named by its value\n"
|
||||
#| " -r\tto make NAMEs readonly\n"
|
||||
#| " -t\tto make NAMEs have the `trace' attribute\n"
|
||||
#| " -u\tto convert the value of each NAME to upper case on assignment\n"
|
||||
#| " -x\tto make NAMEs export\n"
|
||||
#| " \n"
|
||||
#| " Using `+' instead of `-' turns off the given attribute.\n"
|
||||
#| " \n"
|
||||
#| " Variables with the integer attribute have arithmetic evaluation (see\n"
|
||||
#| " the `let' command) performed when the variable is assigned a value.\n"
|
||||
#| " \n"
|
||||
#| " When used in a function, `declare' makes NAMEs local, as with the `local'\n"
|
||||
#| " command. The `-g' option suppresses this behavior.\n"
|
||||
#| " \n"
|
||||
#| " Exit Status:\n"
|
||||
#| " Returns success unless an invalid option is supplied or a variable\n"
|
||||
#| " assignment error occurs."
|
||||
msgid ""
|
||||
"Set variable values and attributes.\n"
|
||||
" \n"
|
||||
@@ -2942,19 +2905,21 @@ msgid ""
|
||||
msgstr ""
|
||||
"設定變數值和屬性。\n"
|
||||
" \n"
|
||||
" 規範變數並且賦予它們屬性。如果沒用指定名稱,\n"
|
||||
" 則顯示所有變數的屬性和值。\n"
|
||||
" 宣告變數並賦予其屬性。若未指定 <名稱>,\n"
|
||||
" 則顯示所有變數的屬性和數值。\n"
|
||||
" \n"
|
||||
" 選項:\n"
|
||||
" -f\t限制動作或顯示為只有函數名稱和定義\n"
|
||||
" -F\t限制僅顯示函數名稱 (以及列號和原始檔名於偵錯時)\n"
|
||||
" -g\t當用於 shell 函數內時建立全域變數 ; 否則忽略\n"
|
||||
" -F\t限制僅顯示函數名稱(偵錯時另包含列號和原始檔名)\n"
|
||||
" -g\t用於 shell 函數時建立全域變數 ; 否則忽略\n"
|
||||
" -I\t如果建立的是本地變數,則繼承上個作用域中,\n"
|
||||
" \t\t同名變數的屬性及數值。\n"
|
||||
" -p\t顯示每個 <名稱> 變數的屬性和值\n"
|
||||
" \n"
|
||||
" 設定屬性的選項:\n"
|
||||
" -a\t使 <名稱> 成為索引陣列 (如果支援)\n"
|
||||
" -A\t使 <名稱> 成為關聯陣列 (如果支援)\n"
|
||||
" -i\t使 <名稱> 帶有「integer」(整數)屬性\n"
|
||||
" -i\t使 <名稱> 帶有「integer」(整數)屬性\n"
|
||||
" -l\t將每個 <名稱> 的值在指派時轉為小寫\n"
|
||||
" -n\t使 <名稱> 成為指向一個以其值為名稱的變數引用\n"
|
||||
" -r\t將 <名稱> 變為唯讀\n"
|
||||
@@ -2962,16 +2927,15 @@ msgstr ""
|
||||
" -u\t將每個 <名稱> 的值在指派時轉為大寫\n"
|
||||
" -x\t將 <名稱> 匯出\n"
|
||||
" \n"
|
||||
" 用「+」代替「-」會關閉指定選項。\n"
|
||||
" 用「+」代替「-」會關閉指定屬性。\n"
|
||||
" \n"
|
||||
" 帶有整數屬性的變數在指派時將使用算術求值(見\n"
|
||||
" 「let」指令)\n"
|
||||
" 帶有整數屬性的變數,會在指派時執行算術求值(見「let」指令)\n"
|
||||
" \n"
|
||||
" 在函數中使用時,「declare」使 <名稱> 成為本機變數,和「local」\n"
|
||||
" 指令一致。「-g」選項壓制這個行為\n"
|
||||
" 指令一致。「-g」選項會壓制本行為\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
" 回傳成功除非使用了無效選項或者發生錯誤。"
|
||||
" 回傳成功,除非使用了無效選項,或者發生錯誤。"
|
||||
|
||||
#: builtins.c:532
|
||||
msgid ""
|
||||
@@ -3122,7 +3086,7 @@ msgid ""
|
||||
" Exit Status:\n"
|
||||
" Returns success unless NAME is not a shell builtin or an error occurs."
|
||||
msgstr ""
|
||||
"啟用和停用 shell 內建物件。\n"
|
||||
"啟用和停用 shell 內建命令。\n"
|
||||
" \n"
|
||||
" 啟用和停用 shell 的內建指令。停用使您能夠執行一個和內建\n"
|
||||
" 指令同名磁碟上的指令,而無須使用完整的路徑名。\n"
|
||||
@@ -3140,11 +3104,11 @@ msgstr ""
|
||||
" \n"
|
||||
" 不帶選項時,每一個 <名稱> 內建都被啟用。\n"
|
||||
" \n"
|
||||
" 如果要使用 $PATH 中找到的「test」而不是 shell 內建物件的版本,\n"
|
||||
" 如果要使用 $PATH 中找到的「test」而不是 shell 內建命令的版本,\n"
|
||||
" 輸入「enable -n test」。\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
" 回傳成功,除非 <名稱> 不是一個 shell 內建物件或者有錯誤發生。"
|
||||
" 回傳成功,除非 <名稱> 不是一個 shell 內建命令或者有錯誤發生。"
|
||||
|
||||
#: builtins.c:640
|
||||
msgid ""
|
||||
@@ -3165,45 +3129,6 @@ msgstr ""
|
||||
" 以指令的狀態結束,或者在指令為空的情況下回傳成功。"
|
||||
|
||||
#: builtins.c:652
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Parse option arguments.\n"
|
||||
#| " \n"
|
||||
#| " Getopts is used by shell procedures to parse positional parameters\n"
|
||||
#| " as options.\n"
|
||||
#| " \n"
|
||||
#| " OPTSTRING contains the option letters to be recognized; if a letter\n"
|
||||
#| " is followed by a colon, the option is expected to have an argument,\n"
|
||||
#| " which should be separated from it by white space.\n"
|
||||
#| " \n"
|
||||
#| " Each time it is invoked, getopts will place the next option in the\n"
|
||||
#| " shell variable $name, initializing name if it does not exist, and\n"
|
||||
#| " the index of the next argument to be processed into the shell\n"
|
||||
#| " variable OPTIND. OPTIND is initialized to 1 each time the shell or\n"
|
||||
#| " a shell script is invoked. When an option requires an argument,\n"
|
||||
#| " getopts places that argument into the shell variable OPTARG.\n"
|
||||
#| " \n"
|
||||
#| " getopts reports errors in one of two ways. If the first character\n"
|
||||
#| " of OPTSTRING is a colon, getopts uses silent error reporting. In\n"
|
||||
#| " this mode, no error messages are printed. If an invalid option is\n"
|
||||
#| " seen, getopts places the option character found into OPTARG. If a\n"
|
||||
#| " required argument is not found, getopts places a ':' into NAME and\n"
|
||||
#| " sets OPTARG to the option character found. If getopts is not in\n"
|
||||
#| " silent mode, and an invalid option is seen, getopts places '?' into\n"
|
||||
#| " NAME and unsets OPTARG. If a required argument is not found, a '?'\n"
|
||||
#| " is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
|
||||
#| " printed.\n"
|
||||
#| " \n"
|
||||
#| " If the shell variable OPTERR has the value 0, getopts disables the\n"
|
||||
#| " printing of error messages, even if the first character of\n"
|
||||
#| " OPTSTRING is not a colon. OPTERR has the value 1 by default.\n"
|
||||
#| " \n"
|
||||
#| " Getopts normally parses the positional parameters ($0 - $9), but if\n"
|
||||
#| " more arguments are given, they are parsed instead.\n"
|
||||
#| " \n"
|
||||
#| " Exit Status:\n"
|
||||
#| " Returns success if an option is found; fails if the end of options is\n"
|
||||
#| " encountered or an error occurs."
|
||||
msgid ""
|
||||
"Parse option arguments.\n"
|
||||
" \n"
|
||||
@@ -3245,14 +3170,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"解析選項參數。\n"
|
||||
" \n"
|
||||
" Getopts 被 shell 過程用於解析可定位的參數做為選項。\n"
|
||||
" Getopts 被 shell 過程用來將可定位的參數解析為選項。\n"
|
||||
" \n"
|
||||
" <選項字串> 字串包含待識別的選項字母。如果一個字母後面跟\n"
|
||||
" 著分號,則該選項需要一個參數,這個參數應利用空格與選項分開。\n"
|
||||
" \n"
|
||||
" <選項字串> 字串包含待識別的選項字母;如果一個字母後面跟\n"
|
||||
" 著分號,則該選項需要一個參數,而該參數應用空格與選項分開。\n"
|
||||
" \n"
|
||||
" \n"
|
||||
" 每次啟動時,getopts 會將下一個選項放到 shell 變數 $name\n"
|
||||
" 每次呼叫時,getopts 會將下一個選項放到 shell 變數 $name\n"
|
||||
" 中,如果 name 變數不存在則先將其初始化,而下一個待處\n"
|
||||
" 理的參數序號放入 shell 變數 OPTIND 中。OPTIND 變數在每\n"
|
||||
" 次 shell 或者 shell 指令稿啟動時都被初始化為 1。當一個選項要\n"
|
||||
@@ -3260,26 +3183,24 @@ msgstr ""
|
||||
" 中。\n"
|
||||
" \n"
|
||||
" getopts 有兩種通報錯誤的方法。如果 <選項字串> 變數的第\n"
|
||||
" 一個字元是冒號,getopts 使用沉默錯誤通報。在這種模式\n"
|
||||
" 下,不會印發生錯誤誤訊息。如果看到了一個無效的選項,\n"
|
||||
" getopts 將找到的選項字元放至 OPTARG 變數中。如果一個必\n"
|
||||
" 須的選項沒有找到,getopts 放一個「:」到 <名稱> 變數中並且設\n"
|
||||
" 置 OPTARG 變數為找到的選項字元。如果 getopts 不在沉默模\n"
|
||||
" 式中,並且遇到了一個無效的選項,getopts 放置一個「?」到 <名稱> \n"
|
||||
" 變數中並且取消設定 OPTARG 變數。如果必須的選項沒有找到,\n"
|
||||
" 一個「?」會被放入 <名稱> 變數中,OPTARG 將被取消設定,並且會\n"
|
||||
" 印出一個診斷資訊。\n"
|
||||
" 一個字元是冒號,getopts 進入靜默錯誤回報模式。在這種模式\n"
|
||||
" 下,不會輸出錯誤訊息。若看到了無效選項,getopts 將找到的\n"
|
||||
" 選項字元放至 OPTARG 變數中。如果找不到必要引數,getopts\n"
|
||||
" 會放一個「:」到 <名稱> 變數,並將 OPTARG 設為找到的選項字元\n"
|
||||
" 。如果 getopts 不在靜默模式中,並且遇到了一個無效的選項,\n"
|
||||
" getopts 會放置一個「?」到 <名稱> 變數,並取消設定 OPTARG。\n"
|
||||
" 如果找不到必要引數,則會在 NAME 放置「?」、取消設定 OPTARG,\n"
|
||||
" 並且會輸出診斷資訊。\n"
|
||||
" \n"
|
||||
" 如果 shell 變數 OPTERR 的值為 0,getopts 停用\n"
|
||||
" 錯誤資訊的印出,即使 <選項字串> 變數的第一個字元不是一\n"
|
||||
" 個冒號。OPTERR 的預設值為 1。\n"
|
||||
" 如果 shell 變數 OPTERR 的值為 0,getopts 停止輸出錯誤訊息,\n"
|
||||
" 即使 <選項字串> 變數的第一個字元不是冒號。OPTERR 的預設值為 1。\n"
|
||||
" \n"
|
||||
" Getopts 通常解析可定位的參數($0 - $9),不過如果提供了\n"
|
||||
" 更多的參數,它們反而會被解析。\n"
|
||||
" Getopts 通常解析可定位的參數($0 - $9),不過如果提供了\n"
|
||||
" 更多的參數,會改解析這些引數。\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
" 如果一個選項被找到則回傳成功;如果遇到了選項的結尾或者\n"
|
||||
" 有錯誤發生則回傳失敗。"
|
||||
" 找到選項則回傳成功;如果選項提早結束,或者有錯誤發生,\n"
|
||||
" 則回傳失敗。"
|
||||
|
||||
#: builtins.c:694
|
||||
msgid ""
|
||||
@@ -3678,7 +3599,7 @@ msgstr ""
|
||||
" -l\t列出訊號名稱;如果參數後跟「-l」則被假設為訊號編號,\n"
|
||||
" \t而相應的訊號名稱會被列出\n"
|
||||
" \n"
|
||||
" Kill 成為 shell 內建物件有兩個理由:它允許使用工作編號而不是行程識別碼,\n"
|
||||
" Kill 成為 shell 內建命令有兩個理由:它允許使用工作編號而不是行程識別碼,\n"
|
||||
" 並且在可以建立的行程數上限達到時允許行程被砍除。\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
@@ -4474,7 +4395,7 @@ msgstr ""
|
||||
" \t不回傳「file」時,不回傳任何值。\n"
|
||||
" -t\t回傳下列詞中的任何一個「alias」、「keyword」、\n"
|
||||
" \t「function」、「builtin」、「file」或者「」,如果 <名稱> 是相應的\n"
|
||||
" \t一個別名、shell 保留字、shell 函數、shell 內建物件、\n"
|
||||
" \t一個別名、shell 保留字、shell 函數、shell 內建命令、\n"
|
||||
" \t磁碟檔案或沒有找到。\n"
|
||||
" \n"
|
||||
" 參數:\n"
|
||||
@@ -4484,52 +4405,6 @@ msgstr ""
|
||||
" 如果所有的 <名稱> 指令都找到則回傳成功;任何找不到則失敗。"
|
||||
|
||||
#: builtins.c:1431
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Modify shell resource limits.\n"
|
||||
#| " \n"
|
||||
#| " Provides control over the resources available to the shell and processes\n"
|
||||
#| " it creates, on systems that allow such control.\n"
|
||||
#| " \n"
|
||||
#| " Options:\n"
|
||||
#| " -S\tuse the `soft' resource limit\n"
|
||||
#| " -H\tuse the `hard' resource limit\n"
|
||||
#| " -a\tall current limits are reported\n"
|
||||
#| " -b\tthe socket buffer size\n"
|
||||
#| " -c\tthe maximum size of core files created\n"
|
||||
#| " -d\tthe maximum size of a process's data segment\n"
|
||||
#| " -e\tthe maximum scheduling priority (`nice')\n"
|
||||
#| " -f\tthe maximum size of files written by the shell and its children\n"
|
||||
#| " -i\tthe maximum number of pending signals\n"
|
||||
#| " -k\tthe maximum number of kqueues allocated for this process\n"
|
||||
#| " -l\tthe maximum size a process may lock into memory\n"
|
||||
#| " -m\tthe maximum resident set size\n"
|
||||
#| " -n\tthe maximum number of open file descriptors\n"
|
||||
#| " -p\tthe pipe buffer size\n"
|
||||
#| " -q\tthe maximum number of bytes in POSIX message queues\n"
|
||||
#| " -r\tthe maximum real-time scheduling priority\n"
|
||||
#| " -s\tthe maximum stack size\n"
|
||||
#| " -t\tthe maximum amount of cpu time in seconds\n"
|
||||
#| " -u\tthe maximum number of user processes\n"
|
||||
#| " -v\tthe size of virtual memory\n"
|
||||
#| " -x\tthe maximum number of file locks\n"
|
||||
#| " -P\tthe maximum number of pseudoterminals\n"
|
||||
#| " -T\tthe maximum number of threads\n"
|
||||
#| " \n"
|
||||
#| " Not all options are available on all platforms.\n"
|
||||
#| " \n"
|
||||
#| " If LIMIT is given, it is the new value of the specified resource; the\n"
|
||||
#| " special LIMIT values `soft', `hard', and `unlimited' stand for the\n"
|
||||
#| " current soft limit, the current hard limit, and no limit, respectively.\n"
|
||||
#| " Otherwise, the current value of the specified resource is printed. If\n"
|
||||
#| " no option is given, then -f is assumed.\n"
|
||||
#| " \n"
|
||||
#| " Values are in 1024-byte increments, except for -t, which is in seconds,\n"
|
||||
#| " -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
|
||||
#| " number of processes.\n"
|
||||
#| " \n"
|
||||
#| " Exit Status:\n"
|
||||
#| " Returns success unless an invalid option is supplied or an error occurs."
|
||||
msgid ""
|
||||
"Modify shell resource limits.\n"
|
||||
" \n"
|
||||
@@ -4579,42 +4454,43 @@ msgid ""
|
||||
msgstr ""
|
||||
"修改 shell 資源限制。\n"
|
||||
" \n"
|
||||
" 在允許此類控制的系統上,提供對於 shell 及其建立的行程所可用的\n"
|
||||
" 資源的控制。\n"
|
||||
" 在允許此類控制的系統上,提供對 shell 及其建立的行程,\n"
|
||||
" 可用資源的控制。\n"
|
||||
" \n"
|
||||
" 選項:\n"
|
||||
" -S\t使用軟 (「soft」) 資源限制\n"
|
||||
" -H\t使用硬 (「hard」) 資源限制\n"
|
||||
" -a\t所有目前限制都被通報\n"
|
||||
" -b\t通訊端快取尺寸\n"
|
||||
" -c\t建立核心檔案的最大尺寸\n"
|
||||
" -d\t一個行程的資料區最大尺寸\n"
|
||||
" -e\t最高的排程優先順序 (「nice」)\n"
|
||||
" -f\t有 shell 及其子行程可以寫入的最大檔案尺寸\n"
|
||||
" -i\t最多可以暫停的訊號數\n"
|
||||
" -k\t為這個進程所分配的最大 kqueues 數量\n"
|
||||
" -l\t一個行程可以鎖定的最大記憶體尺寸\n"
|
||||
" -m\t最大的記憶體進駐尺寸\n"
|
||||
" -n\t最多開啟的檔案描述符個數\n"
|
||||
" -p\t管道緩衝區尺寸\n"
|
||||
" -q\tPOSIX 資訊佇列的最大位元組數\n"
|
||||
" -S\t使用彈性(「soft」)資源限制\n"
|
||||
" -H\t使用固定(「hard」)資源限制\n"
|
||||
" -a\t回報目前的所有限制\n"
|
||||
" -b\t通訊端快取大小\n"
|
||||
" -c\t建立之核心檔案的最大大小\n"
|
||||
" -d\t一個行程資料區的最大大小\n"
|
||||
" -e\t最高的排程優先順序(「nice」)\n"
|
||||
" -f\tshell 及其子行程可寫入的最大檔案大小\n"
|
||||
" -i\t最多可以暫停的信號數\n"
|
||||
" -k\t為本行程分配之最大 kqueues 數量\n"
|
||||
" -l\t一個行程可能鎖定的最大記憶體尺寸\n"
|
||||
" -m\t最大的常駐記憶體大小\n"
|
||||
" -n\t最多可開啟之檔案描述元個數\n"
|
||||
" -p\t管道緩衝區大小\n"
|
||||
" -q\tPOSIX 訊息佇列的最大位元組數\n"
|
||||
" -r\t即時排程的最大優先順序\n"
|
||||
" -s\t最大堆疊尺寸\n"
|
||||
" -P\t偽終端的最大數量\n"
|
||||
" -t\t最大的 CPU 時間,以秒為單位\n"
|
||||
" -t\t最多可用的 CPU 時間,以秒為單位\n"
|
||||
" -u\t最大使用者行程數\n"
|
||||
" -v\t虛擬記憶體尺寸\n"
|
||||
" -x\t最大的檔案鎖數量\n"
|
||||
" -P\t最大可開啟的偽終端數量\n"
|
||||
" -R\t一個即時執行緒在堵塞前可執行的最長時間\n"
|
||||
" -T\t最大執行緒數量\n"
|
||||
" \n"
|
||||
" 並非所有選項在所有系統上可用。\n"
|
||||
" \n"
|
||||
" 如果提供了 LIMIT 變數,則它為指定資源的新值;特別的 LIMIT 值為\n"
|
||||
" 「soft」、「hard」和「unlimited」,分別表示目前的軟限制,硬限制和無限制。\n"
|
||||
" 否則印出指定資源的目前限制值,不帶選項則假定為 -f\n"
|
||||
" 如果有指定 LIMIT,則這個變數是指定資源的新數值;特殊 LIMIT 數值\n"
|
||||
" 「soft」、「hard」和「unlimited」,分別表示目前的彈性限制、固定限制和\n"
|
||||
" 無限制。若未指定,則輸出指定資源的目前限制值,不傳入選項則假定為 -f\n"
|
||||
" \n"
|
||||
" 取值都是 1024 位元組為單位,除了 -t 以秒為單位,-p 以 512 位元組遞增,\n"
|
||||
" -u 為無尺度的行程數量。\n"
|
||||
" 取值都是 1024 位元組為單位,除了 -t 以秒為單位、-p 以 512 位元組遞增、\n"
|
||||
" -u 為無單位的行程數量。\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
" 回傳成功,除非使用了無效的選項或者錯誤發生。"
|
||||
@@ -4652,25 +4528,6 @@ msgstr ""
|
||||
" 回傳成功,除非使用了無效的 MODE 模式或者選項。"
|
||||
|
||||
#: builtins.c:1502
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Wait for job completion and return exit status.\n"
|
||||
#| " \n"
|
||||
#| " Waits for each process identified by an ID, which may be a process ID or a\n"
|
||||
#| " job specification, and reports its termination status. If ID is not\n"
|
||||
#| " given, waits for all currently active child processes, and the return\n"
|
||||
#| " status is zero. If ID is a job specification, waits for all processes\n"
|
||||
#| " in that job's pipeline.\n"
|
||||
#| " \n"
|
||||
#| " If the -n option is supplied, waits for the next job to terminate and\n"
|
||||
#| " returns its exit status.\n"
|
||||
#| " \n"
|
||||
#| " If the -f option is supplied, and job control is enabled, waits for the\n"
|
||||
#| " specified ID to terminate, instead of waiting for it to change status.\n"
|
||||
#| " \n"
|
||||
#| " Exit Status:\n"
|
||||
#| " Returns the status of the last ID; fails if ID is invalid or an invalid\n"
|
||||
#| " option is given."
|
||||
msgid ""
|
||||
"Wait for job completion and return exit status.\n"
|
||||
" \n"
|
||||
@@ -4699,18 +4556,25 @@ msgid ""
|
||||
msgstr ""
|
||||
"等待工作完成並回傳結束狀態。\n"
|
||||
" \n"
|
||||
" 等待以 ID 編號識別的行程,其中 ID 可以是行程編號或者工作規格,\n"
|
||||
" 並通報它的終止狀態。如果 ID 沒有給出,則等待所有的目前活躍子\n"
|
||||
" 行程,並且回傳狀態為零。如果 ID 是工作規格,等待工作管道中的\n"
|
||||
" 等待以 ID 編號識別的行程-其中 ID 可以是行程編號或者工作規格—\n"
|
||||
" 並回報其終止狀態。若未指定 ID,則等待所有的目前活躍子行程,\n"
|
||||
" 並設定回傳狀態為 0。如果 ID 是工作規格,則等待工作管線中的\n"
|
||||
" 所有行程。\n"
|
||||
" \n"
|
||||
" 若指定了 -n 選項,等待下一個工作完成並回傳其狀態。\n"
|
||||
" 若指定了 -n 選項,則等待 ID 清單中的單一個工作;若未指定,則\n"
|
||||
" 等待下一個工作完成,並回傳其結束狀態。\n"
|
||||
" \n"
|
||||
" 如果指定了 -f 選項且啟用工作管理,則等待指定 ID 終止,而非\n"
|
||||
" 等到其變更狀態。\n"
|
||||
" 如果指定了 -p 選項,則會將選項引數中命名的 VAR 變數,指定\n"
|
||||
" 為回傳結束狀態之工作的行程或工作識別子。這個變數在指定前,\n"
|
||||
" 會先進行 unset。這個僅在指定 -n 選項時有幫助。\n"
|
||||
"\n"
|
||||
" 如果指定了 -f 選項且有啟用工作管理,則等待指定 ID 終止,\n"
|
||||
" 而非等待其變更狀態。\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
" 回傳最後一個 ID 行程的狀態;如果使用了無效的 ID 或者選項則失敗。"
|
||||
" 回傳最後一個 ID 行程的狀態;如果 ID 或指定之選項無效;\n"
|
||||
" 或有指定 -n,shell 卻沒有要不等待 (unwaited) 的子行程,\n"
|
||||
" 則回傳失敗。"
|
||||
|
||||
#: builtins.c:1533
|
||||
msgid ""
|
||||
@@ -5398,31 +5262,6 @@ msgstr ""
|
||||
" 回傳成功,除非使用了無效的選項或者發生寫入或指派錯誤。"
|
||||
|
||||
#: builtins.c:1971
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Specify how arguments are to be completed by Readline.\n"
|
||||
#| " \n"
|
||||
#| " For each NAME, specify how arguments are to be completed. If no options\n"
|
||||
#| " are supplied, existing completion specifications are printed in a way that\n"
|
||||
#| " allows them to be reused as input.\n"
|
||||
#| " \n"
|
||||
#| " Options:\n"
|
||||
#| " -p\tprint existing completion specifications in a reusable format\n"
|
||||
#| " -r\tremove a completion specification for each NAME, or, if no\n"
|
||||
#| " \t\tNAMEs are supplied, all completion specifications\n"
|
||||
#| " -D\tapply the completions and actions as the default for commands\n"
|
||||
#| " \t\twithout any specific completion defined\n"
|
||||
#| " -E\tapply the completions and actions to \"empty\" commands --\n"
|
||||
#| " \t\tcompletion attempted on a blank line\n"
|
||||
#| " -I\tapply the completions and actions to the initial (usually the\n"
|
||||
#| " \t\tcommand) word\n"
|
||||
#| " \n"
|
||||
#| " When completion is attempted, the actions are applied in the order the\n"
|
||||
#| " uppercase-letter options are listed above. If multiple options are supplied,\n"
|
||||
#| " the -D option takes precedence over -E, and both take precedence over -I.\n"
|
||||
#| " \n"
|
||||
#| " Exit Status:\n"
|
||||
#| " Returns success unless an invalid option is supplied or an error occurs."
|
||||
msgid ""
|
||||
"Specify how arguments are to be completed by Readline.\n"
|
||||
" \n"
|
||||
@@ -5448,20 +5287,20 @@ msgid ""
|
||||
" Exit Status:\n"
|
||||
" Returns success unless an invalid option is supplied or an error occurs."
|
||||
msgstr ""
|
||||
"規範 readline 如何完成讀取參數。\n"
|
||||
"指定 readline 如何完成讀取引數。\n"
|
||||
" \n"
|
||||
" 規格對於每一個<名稱>如何完成讀取參數。如果不帶選項,\n"
|
||||
" 現有的補完規格會以可以重用為輸入的格式印出。\n"
|
||||
" 指定每一個 <名稱> 如何完成讀取參數。如果不指定選項,\n"
|
||||
" 現有的自動完成規格會以可以重新作為輸入使用的格式輸出。\n"
|
||||
" \n"
|
||||
" 選項:\n"
|
||||
" -p\t以可重用的格式印出現有的補完規格。\n"
|
||||
" -r\t對於每個<名稱>刪除補完規格,或者如果沒有提供<名稱>\n"
|
||||
" \t名稱,刪除所有的補完規格。\n"
|
||||
" -D\t對於沒有補完規格定義的指令,設定預設的補完動作\n"
|
||||
" -E\t對於「empty」指令設定補完動作,—— 對於空列的補完。\n"
|
||||
" -I\t套用補完和動作到首個 (通常是指令) 單詞\n"
|
||||
" -p\t以可重用的格式輸出現有的自動完成規格。\n"
|
||||
" -r\t移除每個 <名稱> 的自動完成規格。若未指定 <名稱>\n"
|
||||
" \t則移除所有自動完成規格。\n"
|
||||
" -D\t對於沒有自動完成規格定義的命令,設定預設的自動完成動作\n"
|
||||
" -E\t對於「empty」指令——嘗試對空白列進行自動完成——套用自動完成和動作。\n"
|
||||
" -I\t套用自動完成和動作到首個(通常是命令)單字\n"
|
||||
" \n"
|
||||
" 嘗試補完時,按照上述大寫字母選項的順序進行動作。 如果傳入了多個選項,\n"
|
||||
" 發起自動完成嘗試時,將依上述大寫字母選項的順序進行動作。若傳入了多個選項,\n"
|
||||
" -D 選項優先於 -E 選項,而兩者優先於 -I 選項。\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
@@ -5478,9 +5317,9 @@ msgid ""
|
||||
" Exit Status:\n"
|
||||
" Returns success unless an invalid option is supplied or an error occurs."
|
||||
msgstr ""
|
||||
"依據選項顯示可能的補完。\n"
|
||||
"依據選項顯示可能的自動完成建議。\n"
|
||||
" \n"
|
||||
" 意圖在能產生可能的補完 shell 函數內部使用。\n"
|
||||
" 意圖在能產生可能的自動完成 shell 函數內部使用。\n"
|
||||
" 如果提供了可選的 WORD 參數,則產生按照 WORD\n"
|
||||
" 進行的符合。\n"
|
||||
" \n"
|
||||
@@ -5515,27 +5354,27 @@ msgid ""
|
||||
" Returns success unless an invalid option is supplied or NAME does not\n"
|
||||
" have a completion specification defined."
|
||||
msgstr ""
|
||||
"修改或顯示補完選項。\n"
|
||||
"修改或顯示自動完成選項。\n"
|
||||
" \n"
|
||||
" 修改每個 <名稱> 的補完選項,或如果沒有提供 <名稱>,執行目前的補完。\n"
|
||||
" 如果不帶選項,印出每個 <名稱> 的補完選項或目前的補完規格。\n"
|
||||
" 修改每個 <名稱> 的自動完成選項,或如果沒有提供 <名稱>,執行目前的自動完成。\n"
|
||||
" 如果不帶選項,印出每個 <名稱> 的自動完成選項或目前的自動完成規格。\n"
|
||||
" \n"
|
||||
" 選項:\n"
|
||||
" \t-o option\t為每個 <名稱> 設定補完選項 option\n"
|
||||
" \t-D\t\t為「default」指令補完變更選項\n"
|
||||
" \t-E\t\t為「empty」指令補完變更選項\n"
|
||||
" \t-I\t\t為首單詞上的補完變更選項\n"
|
||||
" \t-o option\t為每個 <名稱> 設定自動完成選項 option\n"
|
||||
" \t-D\t\t為「default」指令自動完成變更選項\n"
|
||||
" \t-E\t\t為「empty」指令自動完成變更選項\n"
|
||||
" \t-I\t\t為首單詞上的自動完成變更選項\n"
|
||||
" \n"
|
||||
" 使用「+o」而不是「-o」可以關閉指定的選項。\n"
|
||||
" \n"
|
||||
" 參數:\n"
|
||||
" \n"
|
||||
" 每個 <名稱> 都對應一個之前以藉由「complete」內建定義了補完規格的\n"
|
||||
" 指令。如果不提供 <名稱>,目前產生補完的函數必須呼叫 compopt,\n"
|
||||
" 並且目前執行的補完產生器選項會被修改。\n"
|
||||
" 每個 <名稱> 都對應一個之前以藉由「complete」內建定義了自動完成規格的\n"
|
||||
" 指令。如果不提供 <名稱>,目前產生自動完成的函數必須呼叫 compopt,\n"
|
||||
" 並且目前執行的自動完成產生器選項會被修改。\n"
|
||||
" \n"
|
||||
" 結束狀態:\n"
|
||||
" 回傳成功,除非使用了無效的選項或者 <名稱> 沒有定義補完規格。"
|
||||
" 回傳成功,除非使用了無效的選項或者 <名稱> 沒有定義自動完成規格。"
|
||||
|
||||
#: builtins.c:2047
|
||||
msgid ""
|
||||
|
||||
Reference in New Issue
Block a user