commit bash-20190712 snapshot

This commit is contained in:
Chet Ramey
2019-07-15 09:15:15 -04:00
parent ea578790a9
commit e2169ae94e
30 changed files with 8890 additions and 8580 deletions
+52
View File
@@ -6228,3 +6228,55 @@ builtins/bind.def
- bind_builtin: make sure return_code is >= 0 before returning it.
Fixes bug with bind -x and invalid key sequences reported by
bashbug@jonkmans.nl
7/8
---
doc/{bash.1,bashref.texi}
- unset: fixed up list of special variables that lose their special
properties if they are unset. Report and fix from Edward Huff
<ejhuff@gmail.com>
7/9
---
test.c
- unary_test: update the `-N' test to use timespecs and nanosecond
granularity if available, and use mtime > atime instead of the
old mtime >= atime. Fixes bug reported by kfm@plushkava.net
lib/sh/strtod.c
- strtod: make sure to use locale_decpoint() to determine the radix
character
7/11
----
lib/sh/utf8.c
- utf8_mblen: return -2 if the UTF-8 sequence is incomplete
- utf8_mblen: 4-byte UTF-8 characters start with a byte < 0xf4
7/12
----
parse.y,shell.h
- sh_input_line_state_t: if HANDLE_MULTIBYTE is defined, add members
for saving shell_input_line_property and its associated size; let
save_line_state and restore_line_state manage it. This means
restore_line_state no longer calls set_line_mbstate. From a report
from astian <astian@e-nautia.com>
parse.y
- set_line_mbstate: if the current locale is not multibyte, just set
everything in the property array to 1
- set_line_mbstate: use locale_utf8locale to optimize away calls to
mbrlen; just use utf8_mblen
7/14
----
variables.c
- sv_tz: remake the export env if TZ is being unset. Fixes bug
reported by Travis Everett <travis.a.everett@gmail.com>
lib/readline/display.c
- rl_expand_prompt: if the prompt contains embedded newlines, compute
local_prompt_prefix before local_prompt because each call sets
local_prompt_newlines, and we want the values computed in the call
that uses local_prompt to be the ones that we use. Fixes prompt
wrapping bug reported by Tianon Gravi <admwiggin@gmail.com>
-1
View File
@@ -138,7 +138,6 @@ optimize_subshell_command (command)
((command->flags & CMD_TIME_PIPELINE) == 0) &&
((command->flags & CMD_INVERT_RETURN) == 0))
{
itrace("optimize_subshell_command: setting CMD_NO_FOR for simple command");
command->flags |= CMD_NO_FORK;
command->value.Simple->flags |= CMD_NO_FORK;
}
+1637 -1632
View File
File diff suppressed because it is too large Load Diff
+34 -8
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Fri Jun 21 10:26:44 EDT 2019
.\" Last Change: Mon Jul 8 15:14:50 EDT 2019
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2019 June 21" "GNU Bash 5.0"
.TH BASH 1 "2019 July 8" "GNU Bash 5.0"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -1563,6 +1563,10 @@ subsequently reset.
The command currently being executed or about to be executed, unless the
shell is executing a command as the result of a trap,
in which case it is the command executing at the time of the trap.
If
.B BASH_COMMAND
is unset, it loses its special properties, even if it is
subsequently reset.
.TP
.B BASH_EXECUTION_STRING
The command argument to the \fB\-c\fP invocation option.
@@ -1613,6 +1617,10 @@ The shell function
Incremented by one within each subshell or subshell environment when
the shell begins executing in that environment.
The initial value is 0.
If
.B BASH_SUBSHELL
is unset, it loses its special properties, even if it is
subsequently reset.
.TP
.B BASH_VERSINFO
A readonly array variable whose members hold version information for
@@ -10762,22 +10770,40 @@ Each unset variable or function is removed from the environment
passed to subsequent commands.
If any of
.SM
.BR BASH_ALIASES ,
.SM
.BR BASH_ARGV0 ,
.SM
.BR BASH_CMDS ,
.SM
.BR BASH_COMMAND ,
.SM
.BR BASH_SUBSHELL ,
.SM
.BR BASHPID ,
.SM
.BR COMP_WORDBREAKS ,
.SM
.BR RANDOM ,
.BR DIRSTACK ,
.SM
.BR SECONDS ,
.BR EPOCHREALTIME ,
.SM
.BR LINENO ,
.SM
.BR HISTCMD ,
.BR EPOCHSECONDS ,
.SM
.BR FUNCNAME ,
.SM
.BR GROUPS ,
.SM
.BR HISTCMD ,
.SM
.BR LINENO ,
.SM
.BR RANDOM ,
.SM
.BR SECONDS ,
or
.SM
.B DIRSTACK
.B SRANDOM
are unset, they lose their special properties, even if they are
subsequently reset. The exit status is true unless a
.I name
+49 -11
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2019 June 21<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2019 July 8<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -2010,6 +2010,11 @@ subsequently reset.
The command currently being executed or about to be executed, unless the
shell is executing a command as the result of a trap,
in which case it is the command executing at the time of the trap.
If
<B>BASH_COMMAND</B>
is unset, it loses its special properties, even if it is
subsequently reset.
<DT><B>BASH_EXECUTION_STRING</B>
<DD>
@@ -2070,6 +2075,11 @@ The shell function
Incremented by one within each subshell or subshell environment when
the shell begins executing in that environment.
The initial value is 0.
If
<B>BASH_SUBSHELL</B>
is unset, it loses its special properties, even if it is
subsequently reset.
<DT><B>BASH_VERSINFO</B>
<DD>
@@ -5993,7 +6003,8 @@ above).
<H3>SIMPLE COMMAND EXPANSION</H3>
When a simple command is executed, the shell performs the following
expansions, assignments, and redirections, from left to right.
expansions, assignments, and redirections, from left to right, in
the following order.
<DL COMPACT>
<DT>1.<DD>
The words that the parser has marked as variable assignments (those
@@ -13636,19 +13647,34 @@ unset.
Each unset variable or function is removed from the environment
passed to subsequent commands.
If any of
<FONT SIZE=-1><B>BASH_ALIASES</B>,
</FONT>
<FONT SIZE=-1><B>BASH_ARGV0</B>,
</FONT>
<FONT SIZE=-1><B>BASH_CMDS</B>,
</FONT>
<FONT SIZE=-1><B>BASH_COMMAND</B>,
</FONT>
<FONT SIZE=-1><B>BASH_SUBSHELL</B>,
</FONT>
<FONT SIZE=-1><B>BASHPID</B>,
</FONT>
<FONT SIZE=-1><B>COMP_WORDBREAKS</B>,
</FONT>
<FONT SIZE=-1><B>RANDOM</B>,
<FONT SIZE=-1><B>DIRSTACK</B>,
</FONT>
<FONT SIZE=-1><B>SECONDS</B>,
<FONT SIZE=-1><B>EPOCHREALTIME</B>,
</FONT>
<FONT SIZE=-1><B>LINENO</B>,
</FONT>
<FONT SIZE=-1><B>HISTCMD</B>,
<FONT SIZE=-1><B>EPOCHSECONDS</B>,
</FONT>
<FONT SIZE=-1><B>FUNCNAME</B>,
@@ -13656,9 +13682,21 @@ If any of
</FONT>
<FONT SIZE=-1><B>GROUPS</B>,
</FONT>
<FONT SIZE=-1><B>HISTCMD</B>,
</FONT>
<FONT SIZE=-1><B>LINENO</B>,
</FONT>
<FONT SIZE=-1><B>RANDOM</B>,
</FONT>
<FONT SIZE=-1><B>SECONDS</B>,
</FONT>
or
<FONT SIZE=-1><B>DIRSTACK</B>
<FONT SIZE=-1><B>SRANDOM</B>
</FONT>
are unset, they lose their special properties, even if they are
@@ -13980,7 +14018,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.0<TH ALIGN=CENTER width=33%>2019 June 21<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.0<TH ALIGN=CENTER width=33%>2019 July 8<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -14086,6 +14124,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 21 June 2019 10:27:46 EDT
Time: 08 July 2019 15:16:27 EDT
</BODY>
</HTML>
+236 -227
View File
@@ -2,9 +2,9 @@ This is bash.info, produced by makeinfo version 6.5 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 21 June 2019).
Bash shell (version 5.0, 8 July 2019).
This is Edition 5.0, last updated 21 June 2019, of 'The GNU Bash
This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Copyright (C) 1988-2018 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.0, 21 June 2019). The Bash home page is
Bash shell (version 5.0, 8 July 2019). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.0, last updated 21 June 2019, of 'The GNU Bash
This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -2520,7 +2520,8 @@ File: bash.info, Node: Simple Command Expansion, Next: Command Search and Exec
------------------------------
When a simple command is executed, the shell performs the following
expansions, assignments, and redirections, from left to right.
expansions, assignments, and redirections, from left to right, in the
following order.
1. The words that the parser has marked as variable assignments (those
preceding the command name) and redirections are saved for later
@@ -3320,8 +3321,10 @@ standard.
references. '-n' has no effect if the '-f' option is supplied. If
no options are supplied, each NAME refers to a variable; if there
is no variable by that name, any function with that name is unset.
Readonly variables and functions may not be unset. The return
status is zero unless a NAME is readonly.
Readonly variables and functions may not be unset. Some shell
variables lose their special behavior if they are unset; such
behavior is noted in the description of the individual variables.
The return status is zero unless a NAME is readonly.

File: bash.info, Node: Bash Builtins, Next: Modifying Shell Behavior, Prev: Bourne Shell Builtins, Up: Shell Builtin Commands
@@ -4914,7 +4917,9 @@ Variables::).
'BASH_COMMAND'
The command currently being executed or about to be executed,
unless the shell is executing a command as the result of a trap, in
which case it is the command executing at the time of the trap.
which case it is the command executing at the time of the trap. If
'BASH_COMMAND' is unset, it loses its special properties, even if
it is subsequently reset.
'BASH_COMPAT'
The value is used to set the shell's compatibility level. *Note
@@ -4970,7 +4975,8 @@ Variables::).
'BASH_SUBSHELL'
Incremented by one within each subshell or subshell environment
when the shell begins executing in that environment. The initial
value is 0.
value is 0. If 'BASH_SUBSHELL' is unset, it loses its special
properties, even if it is subsequently reset.
'BASH_VERSINFO'
A readonly array variable (*note Arrays::) whose members hold
@@ -5331,7 +5337,8 @@ Variables::).
'LINENO'
The line number in the script or shell function currently
executing.
executing. If 'LINENO' is unset, it loses its special properties,
even if it is subsequently reset.
'LINES'
Used by the 'select' command to determine the column length for
@@ -5418,7 +5425,8 @@ Variables::).
'RANDOM'
Each time this parameter is referenced, it expands to a random
integer between 0 and 32767. Assigning a value to this variable
seeds the random number generator.
seeds the random number generator. If 'RANDOM' is unset, it loses
its special properties, even if it is subsequently reset.
'READLINE_LINE'
The contents of the Readline line buffer, for use with 'bind -x'
@@ -5435,7 +5443,8 @@ Variables::).
This variable expands to the number of seconds since the shell was
started. Assignment to this variable resets the count to the value
assigned, and the expanded value becomes the value assigned plus
the number of seconds since the assignment.
the number of seconds since the assignment. If 'SECONDS' is unset,
it loses its special properties, even if it is subsequently reset.
'SHELL'
This environment variable expands to the full pathname to the
@@ -11181,17 +11190,17 @@ D.3 Parameter and Variable Index
* BASH_ARGV0: Bash Variables. (line 66)
* BASH_CMDS: Bash Variables. (line 74)
* BASH_COMMAND: Bash Variables. (line 83)
* BASH_COMPAT: Bash Variables. (line 88)
* BASH_ENV: Bash Variables. (line 103)
* BASH_EXECUTION_STRING: Bash Variables. (line 109)
* BASH_LINENO: Bash Variables. (line 112)
* BASH_LOADABLES_PATH: Bash Variables. (line 120)
* BASH_REMATCH: Bash Variables. (line 124)
* BASH_SOURCE: Bash Variables. (line 132)
* BASH_SUBSHELL: Bash Variables. (line 139)
* BASH_VERSINFO: Bash Variables. (line 144)
* BASH_VERSION: Bash Variables. (line 167)
* BASH_XTRACEFD: Bash Variables. (line 170)
* BASH_COMPAT: Bash Variables. (line 90)
* BASH_ENV: Bash Variables. (line 105)
* BASH_EXECUTION_STRING: Bash Variables. (line 111)
* BASH_LINENO: Bash Variables. (line 114)
* BASH_LOADABLES_PATH: Bash Variables. (line 122)
* BASH_REMATCH: Bash Variables. (line 126)
* BASH_SOURCE: Bash Variables. (line 134)
* BASH_SUBSHELL: Bash Variables. (line 141)
* BASH_VERSINFO: Bash Variables. (line 147)
* BASH_VERSION: Bash Variables. (line 170)
* BASH_XTRACEFD: Bash Variables. (line 173)
* bell-style: Readline Init File Syntax.
(line 38)
* bind-tty-special-chars: Readline Init File Syntax.
@@ -11200,12 +11209,12 @@ D.3 Parameter and Variable Index
(line 50)
* CDPATH: Bourne Shell Variables.
(line 9)
* CHILD_MAX: Bash Variables. (line 181)
* CHILD_MAX: Bash Variables. (line 184)
* colored-completion-prefix: Readline Init File Syntax.
(line 55)
* colored-stats: Readline Init File Syntax.
(line 62)
* COLUMNS: Bash Variables. (line 188)
* COLUMNS: Bash Variables. (line 191)
* comment-begin: Readline Init File Syntax.
(line 68)
* completion-display-width: Readline Init File Syntax.
@@ -11218,91 +11227,91 @@ D.3 Parameter and Variable Index
(line 91)
* completion-query-items: Readline Init File Syntax.
(line 98)
* COMPREPLY: Bash Variables. (line 240)
* COMP_CWORD: Bash Variables. (line 194)
* COMP_KEY: Bash Variables. (line 223)
* COMP_LINE: Bash Variables. (line 200)
* COMP_POINT: Bash Variables. (line 205)
* COMP_TYPE: Bash Variables. (line 213)
* COMP_WORDBREAKS: Bash Variables. (line 227)
* COMP_WORDS: Bash Variables. (line 233)
* COMPREPLY: Bash Variables. (line 243)
* COMP_CWORD: Bash Variables. (line 197)
* COMP_KEY: Bash Variables. (line 226)
* COMP_LINE: Bash Variables. (line 203)
* COMP_POINT: Bash Variables. (line 208)
* COMP_TYPE: Bash Variables. (line 216)
* COMP_WORDBREAKS: Bash Variables. (line 230)
* COMP_WORDS: Bash Variables. (line 236)
* convert-meta: Readline Init File Syntax.
(line 108)
* COPROC: Bash Variables. (line 246)
* DIRSTACK: Bash Variables. (line 250)
* COPROC: Bash Variables. (line 249)
* DIRSTACK: Bash Variables. (line 253)
* disable-completion: Readline Init File Syntax.
(line 116)
* echo-control-characters: Readline Init File Syntax.
(line 121)
* editing-mode: Readline Init File Syntax.
(line 126)
* EMACS: Bash Variables. (line 260)
* EMACS: Bash Variables. (line 263)
* emacs-mode-string: Readline Init File Syntax.
(line 132)
* enable-bracketed-paste: Readline Init File Syntax.
(line 142)
* enable-keypad: Readline Init File Syntax.
(line 150)
* ENV: Bash Variables. (line 265)
* EPOCHREALTIME: Bash Variables. (line 269)
* EPOCHSECONDS: Bash Variables. (line 277)
* EUID: Bash Variables. (line 284)
* EXECIGNORE: Bash Variables. (line 288)
* ENV: Bash Variables. (line 268)
* EPOCHREALTIME: Bash Variables. (line 272)
* EPOCHSECONDS: Bash Variables. (line 280)
* EUID: Bash Variables. (line 287)
* EXECIGNORE: Bash Variables. (line 291)
* expand-tilde: Readline Init File Syntax.
(line 161)
* FCEDIT: Bash Variables. (line 301)
* FIGNORE: Bash Variables. (line 305)
* FUNCNAME: Bash Variables. (line 311)
* FUNCNEST: Bash Variables. (line 328)
* GLOBIGNORE: Bash Variables. (line 333)
* GROUPS: Bash Variables. (line 340)
* histchars: Bash Variables. (line 346)
* HISTCMD: Bash Variables. (line 361)
* HISTCONTROL: Bash Variables. (line 366)
* HISTFILE: Bash Variables. (line 382)
* HISTFILESIZE: Bash Variables. (line 386)
* HISTIGNORE: Bash Variables. (line 397)
* FCEDIT: Bash Variables. (line 304)
* FIGNORE: Bash Variables. (line 308)
* FUNCNAME: Bash Variables. (line 314)
* FUNCNEST: Bash Variables. (line 331)
* GLOBIGNORE: Bash Variables. (line 336)
* GROUPS: Bash Variables. (line 343)
* histchars: Bash Variables. (line 349)
* HISTCMD: Bash Variables. (line 364)
* HISTCONTROL: Bash Variables. (line 369)
* HISTFILE: Bash Variables. (line 385)
* HISTFILESIZE: Bash Variables. (line 389)
* HISTIGNORE: Bash Variables. (line 400)
* history-preserve-point: Readline Init File Syntax.
(line 165)
* history-size: Readline Init File Syntax.
(line 171)
* HISTSIZE: Bash Variables. (line 417)
* HISTTIMEFORMAT: Bash Variables. (line 424)
* HISTSIZE: Bash Variables. (line 420)
* HISTTIMEFORMAT: Bash Variables. (line 427)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 180)
* HOSTFILE: Bash Variables. (line 432)
* HOSTNAME: Bash Variables. (line 443)
* HOSTTYPE: Bash Variables. (line 446)
* HOSTFILE: Bash Variables. (line 435)
* HOSTNAME: Bash Variables. (line 446)
* HOSTTYPE: Bash Variables. (line 449)
* IFS: Bourne Shell Variables.
(line 18)
* IGNOREEOF: Bash Variables. (line 449)
* IGNOREEOF: Bash Variables. (line 452)
* input-meta: Readline Init File Syntax.
(line 187)
* INPUTRC: Bash Variables. (line 459)
* INSIDE_EMACS: Bash Variables. (line 463)
* INPUTRC: Bash Variables. (line 462)
* INSIDE_EMACS: Bash Variables. (line 466)
* isearch-terminators: Readline Init File Syntax.
(line 195)
* keymap: Readline Init File Syntax.
(line 202)
* LANG: Bash Variables. (line 469)
* LC_ALL: Bash Variables. (line 473)
* LC_COLLATE: Bash Variables. (line 477)
* LC_CTYPE: Bash Variables. (line 484)
* LANG: Bash Variables. (line 472)
* LC_ALL: Bash Variables. (line 476)
* LC_COLLATE: Bash Variables. (line 480)
* LC_CTYPE: Bash Variables. (line 487)
* LC_MESSAGES: Locale Translation. (line 11)
* LC_MESSAGES <1>: Bash Variables. (line 489)
* LC_NUMERIC: Bash Variables. (line 493)
* LC_TIME: Bash Variables. (line 497)
* LINENO: Bash Variables. (line 501)
* LINES: Bash Variables. (line 505)
* MACHTYPE: Bash Variables. (line 511)
* LC_MESSAGES <1>: Bash Variables. (line 492)
* LC_NUMERIC: Bash Variables. (line 496)
* LC_TIME: Bash Variables. (line 500)
* LINENO: Bash Variables. (line 504)
* LINES: Bash Variables. (line 509)
* MACHTYPE: Bash Variables. (line 515)
* MAIL: Bourne Shell Variables.
(line 22)
* MAILCHECK: Bash Variables. (line 515)
* MAILCHECK: Bash Variables. (line 519)
* MAILPATH: Bourne Shell Variables.
(line 27)
* MAPFILE: Bash Variables. (line 523)
* MAPFILE: Bash Variables. (line 527)
* mark-modified-lines: Readline Init File Syntax.
(line 232)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -11313,42 +11322,42 @@ D.3 Parameter and Variable Index
(line 249)
* meta-flag: Readline Init File Syntax.
(line 187)
* OLDPWD: Bash Variables. (line 527)
* OLDPWD: Bash Variables. (line 531)
* OPTARG: Bourne Shell Variables.
(line 34)
* OPTERR: Bash Variables. (line 530)
* OPTERR: Bash Variables. (line 534)
* OPTIND: Bourne Shell Variables.
(line 38)
* OSTYPE: Bash Variables. (line 534)
* OSTYPE: Bash Variables. (line 538)
* output-meta: Readline Init File Syntax.
(line 254)
* page-completions: Readline Init File Syntax.
(line 260)
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 537)
* POSIXLY_CORRECT: Bash Variables. (line 542)
* PPID: Bash Variables. (line 552)
* PROMPT_COMMAND: Bash Variables. (line 556)
* PROMPT_DIRTRIM: Bash Variables. (line 560)
* PS0: Bash Variables. (line 566)
* PIPESTATUS: Bash Variables. (line 541)
* POSIXLY_CORRECT: Bash Variables. (line 546)
* PPID: Bash Variables. (line 556)
* PROMPT_COMMAND: Bash Variables. (line 560)
* PROMPT_DIRTRIM: Bash Variables. (line 564)
* PS0: Bash Variables. (line 570)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 571)
* PS4: Bash Variables. (line 576)
* PWD: Bash Variables. (line 584)
* RANDOM: Bash Variables. (line 587)
* READLINE_LINE: Bash Variables. (line 592)
* READLINE_POINT: Bash Variables. (line 596)
* REPLY: Bash Variables. (line 600)
* PS3: Bash Variables. (line 575)
* PS4: Bash Variables. (line 580)
* PWD: Bash Variables. (line 588)
* RANDOM: Bash Variables. (line 591)
* READLINE_LINE: Bash Variables. (line 597)
* READLINE_POINT: Bash Variables. (line 601)
* REPLY: Bash Variables. (line 605)
* revert-all-at-newline: Readline Init File Syntax.
(line 270)
* SECONDS: Bash Variables. (line 603)
* SHELL: Bash Variables. (line 609)
* SHELLOPTS: Bash Variables. (line 614)
* SHLVL: Bash Variables. (line 623)
* SECONDS: Bash Variables. (line 608)
* SHELL: Bash Variables. (line 615)
* SHELLOPTS: Bash Variables. (line 620)
* SHLVL: Bash Variables. (line 629)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 276)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -11357,13 +11366,13 @@ D.3 Parameter and Variable Index
(line 291)
* skip-completed-text: Readline Init File Syntax.
(line 297)
* SRANDOM: Bash Variables. (line 628)
* SRANDOM: Bash Variables. (line 634)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
* TIMEFORMAT: Bash Variables. (line 637)
* TMOUT: Bash Variables. (line 675)
* TMPDIR: Bash Variables. (line 687)
* UID: Bash Variables. (line 691)
* TIMEFORMAT: Bash Variables. (line 643)
* TMOUT: Bash Variables. (line 681)
* TMPDIR: Bash Variables. (line 693)
* UID: Bash Variables. (line 697)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 310)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -11734,134 +11743,134 @@ D.5 Concept Index

Tag Table:
Node: Top889
Node: Introduction2801
Node: What is Bash?3017
Node: What is a shell?4131
Node: Definitions6669
Node: Basic Shell Features9620
Node: Shell Syntax10839
Node: Shell Operation11865
Node: Quoting13158
Node: Escape Character14458
Node: Single Quotes14943
Node: Double Quotes15291
Node: ANSI-C Quoting16569
Node: Locale Translation17828
Node: Comments18724
Node: Shell Commands19342
Node: Simple Commands20214
Node: Pipelines20845
Node: Lists23777
Node: Compound Commands25568
Node: Looping Constructs26580
Node: Conditional Constructs29075
Node: Command Grouping40243
Node: Coprocesses41722
Node: GNU Parallel43625
Node: Shell Functions47683
Node: Shell Parameters54766
Node: Positional Parameters59179
Node: Special Parameters60079
Node: Shell Expansions63833
Node: Brace Expansion65956
Node: Tilde Expansion68679
Node: Shell Parameter Expansion71296
Node: Command Substitution85729
Node: Arithmetic Expansion87084
Node: Process Substitution88016
Node: Word Splitting89136
Node: Filename Expansion91080
Node: Pattern Matching93717
Node: Quote Removal97703
Node: Redirections97998
Node: Executing Commands107556
Node: Simple Command Expansion108226
Node: Command Search and Execution110156
Node: Command Execution Environment112532
Node: Environment115516
Node: Exit Status117175
Node: Signals118845
Node: Shell Scripts120812
Node: Shell Builtin Commands123327
Node: Bourne Shell Builtins125365
Node: Bash Builtins146115
Node: Modifying Shell Behavior175040
Node: The Set Builtin175385
Node: The Shopt Builtin185798
Node: Special Builtins203776
Node: Shell Variables204755
Node: Bourne Shell Variables205192
Node: Bash Variables207296
Node: Bash Features238243
Node: Invoking Bash239142
Node: Bash Startup Files245155
Node: Interactive Shells250258
Node: What is an Interactive Shell?250668
Node: Is this Shell Interactive?251317
Node: Interactive Shell Behavior252132
Node: Bash Conditional Expressions255619
Node: Shell Arithmetic260196
Node: Aliases263136
Node: Arrays265756
Node: The Directory Stack271121
Node: Directory Stack Builtins271905
Node: Controlling the Prompt274873
Node: The Restricted Shell277794
Node: Bash POSIX Mode280276
Node: Job Control291403
Node: Job Control Basics291863
Node: Job Control Builtins296827
Node: Job Control Variables301645
Node: Command Line Editing302801
Node: Introduction and Notation304472
Node: Readline Interaction306095
Node: Readline Bare Essentials307286
Node: Readline Movement Commands309069
Node: Readline Killing Commands310029
Node: Readline Arguments311947
Node: Searching312991
Node: Readline Init File315177
Node: Readline Init File Syntax316436
Node: Conditional Init Constructs336875
Node: Sample Init File341071
Node: Bindable Readline Commands344188
Node: Commands For Moving345392
Node: Commands For History347251
Node: Commands For Text351546
Node: Commands For Killing354934
Node: Numeric Arguments357749
Node: Commands For Completion358888
Node: Keyboard Macros363079
Node: Miscellaneous Commands363766
Node: Readline vi Mode369719
Node: Programmable Completion370626
Node: Programmable Completion Builtins378406
Node: A Programmable Completion Example389101
Node: Using History Interactively394348
Node: Bash History Facilities395032
Node: Bash History Builtins398037
Node: History Interaction402568
Node: Event Designators406188
Node: Word Designators407407
Node: Modifiers409044
Node: Installing Bash410446
Node: Basic Installation411583
Node: Compilers and Options414841
Node: Compiling For Multiple Architectures415582
Node: Installation Names417275
Node: Specifying the System Type418093
Node: Sharing Defaults418809
Node: Operation Controls419482
Node: Optional Features420440
Node: Reporting Bugs430958
Node: Major Differences From The Bourne Shell432152
Node: GNU Free Documentation License449004
Node: Indexes474181
Node: Builtin Index474635
Node: Reserved Word Index481462
Node: Variable Index483910
Node: Function Index499734
Node: Concept Index513173
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 Character14454
Node: Single Quotes14939
Node: Double Quotes15287
Node: ANSI-C Quoting16565
Node: Locale Translation17824
Node: Comments18720
Node: Shell Commands19338
Node: Simple Commands20210
Node: Pipelines20841
Node: Lists23773
Node: Compound Commands25564
Node: Looping Constructs26576
Node: Conditional Constructs29071
Node: Command Grouping40239
Node: Coprocesses41718
Node: GNU Parallel43621
Node: Shell Functions47679
Node: Shell Parameters54762
Node: Positional Parameters59175
Node: Special Parameters60075
Node: Shell Expansions63829
Node: Brace Expansion65952
Node: Tilde Expansion68675
Node: Shell Parameter Expansion71292
Node: Command Substitution85725
Node: Arithmetic Expansion87080
Node: Process Substitution88012
Node: Word Splitting89132
Node: Filename Expansion91076
Node: Pattern Matching93713
Node: Quote Removal97699
Node: Redirections97994
Node: Executing Commands107552
Node: Simple Command Expansion108222
Node: Command Search and Execution110176
Node: Command Execution Environment112552
Node: Environment115536
Node: Exit Status117195
Node: Signals118865
Node: Shell Scripts120832
Node: Shell Builtin Commands123347
Node: Bourne Shell Builtins125385
Node: Bash Builtins146284
Node: Modifying Shell Behavior175209
Node: The Set Builtin175554
Node: The Shopt Builtin185967
Node: Special Builtins203945
Node: Shell Variables204924
Node: Bourne Shell Variables205361
Node: Bash Variables207465
Node: Bash Features238906
Node: Invoking Bash239805
Node: Bash Startup Files245818
Node: Interactive Shells250921
Node: What is an Interactive Shell?251331
Node: Is this Shell Interactive?251980
Node: Interactive Shell Behavior252795
Node: Bash Conditional Expressions256282
Node: Shell Arithmetic260859
Node: Aliases263799
Node: Arrays266419
Node: The Directory Stack271784
Node: Directory Stack Builtins272568
Node: Controlling the Prompt275536
Node: The Restricted Shell278457
Node: Bash POSIX Mode280939
Node: Job Control292066
Node: Job Control Basics292526
Node: Job Control Builtins297490
Node: Job Control Variables302308
Node: Command Line Editing303464
Node: Introduction and Notation305135
Node: Readline Interaction306758
Node: Readline Bare Essentials307949
Node: Readline Movement Commands309732
Node: Readline Killing Commands310692
Node: Readline Arguments312610
Node: Searching313654
Node: Readline Init File315840
Node: Readline Init File Syntax317099
Node: Conditional Init Constructs337538
Node: Sample Init File341734
Node: Bindable Readline Commands344851
Node: Commands For Moving346055
Node: Commands For History347914
Node: Commands For Text352209
Node: Commands For Killing355597
Node: Numeric Arguments358412
Node: Commands For Completion359551
Node: Keyboard Macros363742
Node: Miscellaneous Commands364429
Node: Readline vi Mode370382
Node: Programmable Completion371289
Node: Programmable Completion Builtins379069
Node: A Programmable Completion Example389764
Node: Using History Interactively395011
Node: Bash History Facilities395695
Node: Bash History Builtins398700
Node: History Interaction403231
Node: Event Designators406851
Node: Word Designators408070
Node: Modifiers409707
Node: Installing Bash411109
Node: Basic Installation412246
Node: Compilers and Options415504
Node: Compiling For Multiple Architectures416245
Node: Installation Names417938
Node: Specifying the System Type418756
Node: Sharing Defaults419472
Node: Operation Controls420145
Node: Optional Features421103
Node: Reporting Bugs431621
Node: Major Differences From The Bourne Shell432815
Node: GNU Free Documentation License449667
Node: Indexes474844
Node: Builtin Index475298
Node: Reserved Word Index482125
Node: Variable Index484573
Node: Function Index500397
Node: Concept Index513836

End Tag Table
BIN
View File
Binary file not shown.
+5775 -5771
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+40 -13
View File
@@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This text is a brief description of the features that are present in
the Bash shell (version 5.0, 21 June 2019).
the Bash shell (version 5.0, 8 July 2019).
This is Edition 5.0, last updated 21 June 2019,
This is Edition 5.0, last updated 8 July 2019,
of The GNU Bash Reference Manual,
for Bash, Version 5.0.
@@ -284,10 +284,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<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.0, 21 June 2019).
the Bash shell (version 5.0, 8 July 2019).
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.0, last updated 21 June 2019,
<p>This is Edition 5.0, last updated 8 July 2019,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.0.
</p>
@@ -3581,7 +3581,8 @@ Next: <a href="#Command-Search-and-Execution" accesskey="n" rel="next">Command S
<a name="index-command-expansion"></a>
<p>When a simple command is executed, the shell performs the following
expansions, assignments, and redirections, from left to right.
expansions, assignments, and redirections, from left to right, in
the following order.
</p>
<ol>
<li> The words that the parser has marked as variable assignments (those
@@ -4608,6 +4609,8 @@ If no options are supplied, each <var>name</var> refers to a variable; if
there is no variable by that name, any function with that name is
unset.
Readonly variables and functions may not be unset.
Some shell variables lose their special behavior if they are unset; such
behavior is noted in the description of the individual variables.
The return status is zero unless a <var>name</var> is readonly.
</p></dd>
</dl>
@@ -6689,6 +6692,9 @@ subsequently reset.
<dd><p>The command currently being executed or about to be executed, unless the
shell is executing a command as the result of a trap,
in which case it is the command executing at the time of the trap.
If <code>BASH_COMMAND</code>
is unset, it loses its special properties, even if it is
subsequently reset.
</p>
</dd>
<dt><code>BASH_COMPAT</code>
@@ -6773,6 +6779,9 @@ The shell function <code>${FUNCNAME[$i]}</code> is defined in the file
<dd><p>Incremented by one within each subshell or subshell environment when
the shell begins executing in that environment.
The initial value is 0.
If <code>BASH_SUBSHELL</code>
is unset, it loses its special properties, even if it is
subsequently reset.
</p>
</dd>
<dt><code>BASH_VERSINFO</code>
@@ -6910,7 +6919,8 @@ completion function.
</dt>
<dd><p>The set of characters that the Readline library treats as word
separators when performing word completion.
If <code>COMP_WORDBREAKS</code> is unset, it loses its special properties,
If <code>COMP_WORDBREAKS</code>
is unset, it loses its special properties,
even if it is subsequently reset.
</p>
</dd>
@@ -6951,7 +6961,8 @@ Assigning to members of this array variable may be used to modify
directories already in the stack, but the <code>pushd</code> and <code>popd</code>
builtins must be used to add and remove directories.
Assignment to this variable will not change the current directory.
If <code>DIRSTACK</code> is unset, it loses its special properties, even if
If <code>DIRSTACK</code>
is unset, it loses its special properties, even if
it is subsequently reset.
</p>
</dd>
@@ -6978,7 +6989,8 @@ since the Unix Epoch as a floating point value with micro-second granularity
(see the documentation for the C library function <var>time</var> for the
definition of Epoch).
Assignments to <code>EPOCHREALTIME</code> are ignored.
If <code>EPOCHREALTIME</code> is unset, it loses its special properties, even if
If <code>EPOCHREALTIME</code>
is unset, it loses its special properties, even if
it is subsequently reset.
</p>
</dd>
@@ -6989,7 +7001,8 @@ it is subsequently reset.
since the Unix Epoch (see the documentation for the C library function
<var>time</var> for the definition of Epoch).
Assignments to <code>EPOCHSECONDS</code> are ignored.
If <code>EPOCHSECONDS</code> is unset, it loses its special properties, even if
If <code>EPOCHSECONDS</code>
is unset, it loses its special properties, even if
it is subsequently reset.
</p>
</dd>
@@ -7047,7 +7060,8 @@ The bottom-most element (the one with the highest index)
is <code>&quot;main&quot;</code>.
This variable exists only when a shell function is executing.
Assignments to <code>FUNCNAME</code> have no effect.
If <code>FUNCNAME</code> is unset, it loses its special properties, even if
If <code>FUNCNAME</code>
is unset, it loses its special properties, even if
it is subsequently reset.
</p>
<p>This variable can be used with <code>BASH_LINENO</code> and <code>BASH_SOURCE</code>.
@@ -7085,7 +7099,8 @@ option.
<dd><p>An array variable containing the list of groups of which the current
user is a member.
Assignments to <code>GROUPS</code> have no effect.
If <code>GROUPS</code> is unset, it loses its special properties, even if it is
If <code>GROUPS</code>
is unset, it loses its special properties, even if it is
subsequently reset.
</p>
</dd>
@@ -7110,7 +7125,9 @@ parser to treat the rest of the line as a comment.
<a name="index-HISTCMD"></a>
</dt>
<dd><p>The history number, or index in the history list, of the current
command. If <code>HISTCMD</code> is unset, it loses its special properties,
command.
If <code>HISTCMD</code>
is unset, it loses its special properties,
even if it is subsequently reset.
</p>
</dd>
@@ -7318,6 +7335,9 @@ formatting.
<a name="index-LINENO"></a>
</dt>
<dd><p>The line number in the script or shell function currently executing.
If <code>LINENO</code>
is unset, it loses its special properties, even if it is
subsequently reset.
</p>
</dd>
<dt><code>LINES</code>
@@ -7461,6 +7481,9 @@ The default is &lsquo;<samp>+ </samp>&rsquo;.
<dd><p>Each time this parameter is referenced, it expands to a random integer
between 0 and 32767. Assigning a value to this
variable seeds the random number generator.
If <code>RANDOM</code>
is unset, it loses its special properties, even if it is
subsequently reset.
</p>
</dd>
<dt><code>READLINE_LINE</code>
@@ -7491,6 +7514,9 @@ shell was started. Assignment to this variable resets
the count to the value assigned, and the expanded value
becomes the value assigned plus the number of seconds
since the assignment.
If <code>SECONDS</code>
is unset, it loses its special properties,
even if it is subsequently reset.
</p>
</dd>
<dt><code>SHELL</code>
@@ -7530,7 +7556,8 @@ support <samp>/dev/urandom</samp> or <code>arc4random</code>, so each returned n
has no relationship to the numbers preceding it.
The random number generator cannot be seeded, so assignments to this
variable have no effect.
If <code>SRANDOM</code> is unset, it loses its special properties,
If <code>SRANDOM</code>
is unset, it loses its special properties,
even if it is subsequently reset.
</p>
</dd>
+236 -227
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.5 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 21 June 2019).
Bash shell (version 5.0, 8 July 2019).
This is Edition 5.0, last updated 21 June 2019, of 'The GNU Bash
This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Copyright (C) 1988-2018 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.0, 21 June 2019). The Bash home page is
Bash shell (version 5.0, 8 July 2019). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.0, last updated 21 June 2019, of 'The GNU Bash
This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -2520,7 +2520,8 @@ File: bashref.info, Node: Simple Command Expansion, Next: Command Search and E
------------------------------
When a simple command is executed, the shell performs the following
expansions, assignments, and redirections, from left to right.
expansions, assignments, and redirections, from left to right, in the
following order.
1. The words that the parser has marked as variable assignments (those
preceding the command name) and redirections are saved for later
@@ -3320,8 +3321,10 @@ standard.
references. '-n' has no effect if the '-f' option is supplied. If
no options are supplied, each NAME refers to a variable; if there
is no variable by that name, any function with that name is unset.
Readonly variables and functions may not be unset. The return
status is zero unless a NAME is readonly.
Readonly variables and functions may not be unset. Some shell
variables lose their special behavior if they are unset; such
behavior is noted in the description of the individual variables.
The return status is zero unless a NAME is readonly.

File: bashref.info, Node: Bash Builtins, Next: Modifying Shell Behavior, Prev: Bourne Shell Builtins, Up: Shell Builtin Commands
@@ -4914,7 +4917,9 @@ Variables::).
'BASH_COMMAND'
The command currently being executed or about to be executed,
unless the shell is executing a command as the result of a trap, in
which case it is the command executing at the time of the trap.
which case it is the command executing at the time of the trap. If
'BASH_COMMAND' is unset, it loses its special properties, even if
it is subsequently reset.
'BASH_COMPAT'
The value is used to set the shell's compatibility level. *Note
@@ -4970,7 +4975,8 @@ Variables::).
'BASH_SUBSHELL'
Incremented by one within each subshell or subshell environment
when the shell begins executing in that environment. The initial
value is 0.
value is 0. If 'BASH_SUBSHELL' is unset, it loses its special
properties, even if it is subsequently reset.
'BASH_VERSINFO'
A readonly array variable (*note Arrays::) whose members hold
@@ -5331,7 +5337,8 @@ Variables::).
'LINENO'
The line number in the script or shell function currently
executing.
executing. If 'LINENO' is unset, it loses its special properties,
even if it is subsequently reset.
'LINES'
Used by the 'select' command to determine the column length for
@@ -5418,7 +5425,8 @@ Variables::).
'RANDOM'
Each time this parameter is referenced, it expands to a random
integer between 0 and 32767. Assigning a value to this variable
seeds the random number generator.
seeds the random number generator. If 'RANDOM' is unset, it loses
its special properties, even if it is subsequently reset.
'READLINE_LINE'
The contents of the Readline line buffer, for use with 'bind -x'
@@ -5435,7 +5443,8 @@ Variables::).
This variable expands to the number of seconds since the shell was
started. Assignment to this variable resets the count to the value
assigned, and the expanded value becomes the value assigned plus
the number of seconds since the assignment.
the number of seconds since the assignment. If 'SECONDS' is unset,
it loses its special properties, even if it is subsequently reset.
'SHELL'
This environment variable expands to the full pathname to the
@@ -11181,17 +11190,17 @@ D.3 Parameter and Variable Index
* BASH_ARGV0: Bash Variables. (line 66)
* BASH_CMDS: Bash Variables. (line 74)
* BASH_COMMAND: Bash Variables. (line 83)
* BASH_COMPAT: Bash Variables. (line 88)
* BASH_ENV: Bash Variables. (line 103)
* BASH_EXECUTION_STRING: Bash Variables. (line 109)
* BASH_LINENO: Bash Variables. (line 112)
* BASH_LOADABLES_PATH: Bash Variables. (line 120)
* BASH_REMATCH: Bash Variables. (line 124)
* BASH_SOURCE: Bash Variables. (line 132)
* BASH_SUBSHELL: Bash Variables. (line 139)
* BASH_VERSINFO: Bash Variables. (line 144)
* BASH_VERSION: Bash Variables. (line 167)
* BASH_XTRACEFD: Bash Variables. (line 170)
* BASH_COMPAT: Bash Variables. (line 90)
* BASH_ENV: Bash Variables. (line 105)
* BASH_EXECUTION_STRING: Bash Variables. (line 111)
* BASH_LINENO: Bash Variables. (line 114)
* BASH_LOADABLES_PATH: Bash Variables. (line 122)
* BASH_REMATCH: Bash Variables. (line 126)
* BASH_SOURCE: Bash Variables. (line 134)
* BASH_SUBSHELL: Bash Variables. (line 141)
* BASH_VERSINFO: Bash Variables. (line 147)
* BASH_VERSION: Bash Variables. (line 170)
* BASH_XTRACEFD: Bash Variables. (line 173)
* bell-style: Readline Init File Syntax.
(line 38)
* bind-tty-special-chars: Readline Init File Syntax.
@@ -11200,12 +11209,12 @@ D.3 Parameter and Variable Index
(line 50)
* CDPATH: Bourne Shell Variables.
(line 9)
* CHILD_MAX: Bash Variables. (line 181)
* CHILD_MAX: Bash Variables. (line 184)
* colored-completion-prefix: Readline Init File Syntax.
(line 55)
* colored-stats: Readline Init File Syntax.
(line 62)
* COLUMNS: Bash Variables. (line 188)
* COLUMNS: Bash Variables. (line 191)
* comment-begin: Readline Init File Syntax.
(line 68)
* completion-display-width: Readline Init File Syntax.
@@ -11218,91 +11227,91 @@ D.3 Parameter and Variable Index
(line 91)
* completion-query-items: Readline Init File Syntax.
(line 98)
* COMPREPLY: Bash Variables. (line 240)
* COMP_CWORD: Bash Variables. (line 194)
* COMP_KEY: Bash Variables. (line 223)
* COMP_LINE: Bash Variables. (line 200)
* COMP_POINT: Bash Variables. (line 205)
* COMP_TYPE: Bash Variables. (line 213)
* COMP_WORDBREAKS: Bash Variables. (line 227)
* COMP_WORDS: Bash Variables. (line 233)
* COMPREPLY: Bash Variables. (line 243)
* COMP_CWORD: Bash Variables. (line 197)
* COMP_KEY: Bash Variables. (line 226)
* COMP_LINE: Bash Variables. (line 203)
* COMP_POINT: Bash Variables. (line 208)
* COMP_TYPE: Bash Variables. (line 216)
* COMP_WORDBREAKS: Bash Variables. (line 230)
* COMP_WORDS: Bash Variables. (line 236)
* convert-meta: Readline Init File Syntax.
(line 108)
* COPROC: Bash Variables. (line 246)
* DIRSTACK: Bash Variables. (line 250)
* COPROC: Bash Variables. (line 249)
* DIRSTACK: Bash Variables. (line 253)
* disable-completion: Readline Init File Syntax.
(line 116)
* echo-control-characters: Readline Init File Syntax.
(line 121)
* editing-mode: Readline Init File Syntax.
(line 126)
* EMACS: Bash Variables. (line 260)
* EMACS: Bash Variables. (line 263)
* emacs-mode-string: Readline Init File Syntax.
(line 132)
* enable-bracketed-paste: Readline Init File Syntax.
(line 142)
* enable-keypad: Readline Init File Syntax.
(line 150)
* ENV: Bash Variables. (line 265)
* EPOCHREALTIME: Bash Variables. (line 269)
* EPOCHSECONDS: Bash Variables. (line 277)
* EUID: Bash Variables. (line 284)
* EXECIGNORE: Bash Variables. (line 288)
* ENV: Bash Variables. (line 268)
* EPOCHREALTIME: Bash Variables. (line 272)
* EPOCHSECONDS: Bash Variables. (line 280)
* EUID: Bash Variables. (line 287)
* EXECIGNORE: Bash Variables. (line 291)
* expand-tilde: Readline Init File Syntax.
(line 161)
* FCEDIT: Bash Variables. (line 301)
* FIGNORE: Bash Variables. (line 305)
* FUNCNAME: Bash Variables. (line 311)
* FUNCNEST: Bash Variables. (line 328)
* GLOBIGNORE: Bash Variables. (line 333)
* GROUPS: Bash Variables. (line 340)
* histchars: Bash Variables. (line 346)
* HISTCMD: Bash Variables. (line 361)
* HISTCONTROL: Bash Variables. (line 366)
* HISTFILE: Bash Variables. (line 382)
* HISTFILESIZE: Bash Variables. (line 386)
* HISTIGNORE: Bash Variables. (line 397)
* FCEDIT: Bash Variables. (line 304)
* FIGNORE: Bash Variables. (line 308)
* FUNCNAME: Bash Variables. (line 314)
* FUNCNEST: Bash Variables. (line 331)
* GLOBIGNORE: Bash Variables. (line 336)
* GROUPS: Bash Variables. (line 343)
* histchars: Bash Variables. (line 349)
* HISTCMD: Bash Variables. (line 364)
* HISTCONTROL: Bash Variables. (line 369)
* HISTFILE: Bash Variables. (line 385)
* HISTFILESIZE: Bash Variables. (line 389)
* HISTIGNORE: Bash Variables. (line 400)
* history-preserve-point: Readline Init File Syntax.
(line 165)
* history-size: Readline Init File Syntax.
(line 171)
* HISTSIZE: Bash Variables. (line 417)
* HISTTIMEFORMAT: Bash Variables. (line 424)
* HISTSIZE: Bash Variables. (line 420)
* HISTTIMEFORMAT: Bash Variables. (line 427)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 180)
* HOSTFILE: Bash Variables. (line 432)
* HOSTNAME: Bash Variables. (line 443)
* HOSTTYPE: Bash Variables. (line 446)
* HOSTFILE: Bash Variables. (line 435)
* HOSTNAME: Bash Variables. (line 446)
* HOSTTYPE: Bash Variables. (line 449)
* IFS: Bourne Shell Variables.
(line 18)
* IGNOREEOF: Bash Variables. (line 449)
* IGNOREEOF: Bash Variables. (line 452)
* input-meta: Readline Init File Syntax.
(line 187)
* INPUTRC: Bash Variables. (line 459)
* INSIDE_EMACS: Bash Variables. (line 463)
* INPUTRC: Bash Variables. (line 462)
* INSIDE_EMACS: Bash Variables. (line 466)
* isearch-terminators: Readline Init File Syntax.
(line 195)
* keymap: Readline Init File Syntax.
(line 202)
* LANG: Bash Variables. (line 469)
* LC_ALL: Bash Variables. (line 473)
* LC_COLLATE: Bash Variables. (line 477)
* LC_CTYPE: Bash Variables. (line 484)
* LANG: Bash Variables. (line 472)
* LC_ALL: Bash Variables. (line 476)
* LC_COLLATE: Bash Variables. (line 480)
* LC_CTYPE: Bash Variables. (line 487)
* LC_MESSAGES: Locale Translation. (line 11)
* LC_MESSAGES <1>: Bash Variables. (line 489)
* LC_NUMERIC: Bash Variables. (line 493)
* LC_TIME: Bash Variables. (line 497)
* LINENO: Bash Variables. (line 501)
* LINES: Bash Variables. (line 505)
* MACHTYPE: Bash Variables. (line 511)
* LC_MESSAGES <1>: Bash Variables. (line 492)
* LC_NUMERIC: Bash Variables. (line 496)
* LC_TIME: Bash Variables. (line 500)
* LINENO: Bash Variables. (line 504)
* LINES: Bash Variables. (line 509)
* MACHTYPE: Bash Variables. (line 515)
* MAIL: Bourne Shell Variables.
(line 22)
* MAILCHECK: Bash Variables. (line 515)
* MAILCHECK: Bash Variables. (line 519)
* MAILPATH: Bourne Shell Variables.
(line 27)
* MAPFILE: Bash Variables. (line 523)
* MAPFILE: Bash Variables. (line 527)
* mark-modified-lines: Readline Init File Syntax.
(line 232)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -11313,42 +11322,42 @@ D.3 Parameter and Variable Index
(line 249)
* meta-flag: Readline Init File Syntax.
(line 187)
* OLDPWD: Bash Variables. (line 527)
* OLDPWD: Bash Variables. (line 531)
* OPTARG: Bourne Shell Variables.
(line 34)
* OPTERR: Bash Variables. (line 530)
* OPTERR: Bash Variables. (line 534)
* OPTIND: Bourne Shell Variables.
(line 38)
* OSTYPE: Bash Variables. (line 534)
* OSTYPE: Bash Variables. (line 538)
* output-meta: Readline Init File Syntax.
(line 254)
* page-completions: Readline Init File Syntax.
(line 260)
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 537)
* POSIXLY_CORRECT: Bash Variables. (line 542)
* PPID: Bash Variables. (line 552)
* PROMPT_COMMAND: Bash Variables. (line 556)
* PROMPT_DIRTRIM: Bash Variables. (line 560)
* PS0: Bash Variables. (line 566)
* PIPESTATUS: Bash Variables. (line 541)
* POSIXLY_CORRECT: Bash Variables. (line 546)
* PPID: Bash Variables. (line 556)
* PROMPT_COMMAND: Bash Variables. (line 560)
* PROMPT_DIRTRIM: Bash Variables. (line 564)
* PS0: Bash Variables. (line 570)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 571)
* PS4: Bash Variables. (line 576)
* PWD: Bash Variables. (line 584)
* RANDOM: Bash Variables. (line 587)
* READLINE_LINE: Bash Variables. (line 592)
* READLINE_POINT: Bash Variables. (line 596)
* REPLY: Bash Variables. (line 600)
* PS3: Bash Variables. (line 575)
* PS4: Bash Variables. (line 580)
* PWD: Bash Variables. (line 588)
* RANDOM: Bash Variables. (line 591)
* READLINE_LINE: Bash Variables. (line 597)
* READLINE_POINT: Bash Variables. (line 601)
* REPLY: Bash Variables. (line 605)
* revert-all-at-newline: Readline Init File Syntax.
(line 270)
* SECONDS: Bash Variables. (line 603)
* SHELL: Bash Variables. (line 609)
* SHELLOPTS: Bash Variables. (line 614)
* SHLVL: Bash Variables. (line 623)
* SECONDS: Bash Variables. (line 608)
* SHELL: Bash Variables. (line 615)
* SHELLOPTS: Bash Variables. (line 620)
* SHLVL: Bash Variables. (line 629)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 276)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -11357,13 +11366,13 @@ D.3 Parameter and Variable Index
(line 291)
* skip-completed-text: Readline Init File Syntax.
(line 297)
* SRANDOM: Bash Variables. (line 628)
* SRANDOM: Bash Variables. (line 634)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
* TIMEFORMAT: Bash Variables. (line 637)
* TMOUT: Bash Variables. (line 675)
* TMPDIR: Bash Variables. (line 687)
* UID: Bash Variables. (line 691)
* TIMEFORMAT: Bash Variables. (line 643)
* TMOUT: Bash Variables. (line 681)
* TMPDIR: Bash Variables. (line 693)
* UID: Bash Variables. (line 697)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 310)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -11734,134 +11743,134 @@ D.5 Concept Index

Tag Table:
Node: Top889
Node: Introduction2801
Node: What is Bash?3017
Node: What is a shell?4131
Node: Definitions6669
Node: Basic Shell Features9620
Node: Shell Syntax10839
Node: Shell Operation11865
Node: Quoting13158
Node: Escape Character14458
Node: Single Quotes14943
Node: Double Quotes15291
Node: ANSI-C Quoting16569
Node: Locale Translation17828
Node: Comments18724
Node: Shell Commands19342
Node: Simple Commands20214
Node: Pipelines20845
Node: Lists23777
Node: Compound Commands25568
Node: Looping Constructs26580
Node: Conditional Constructs29075
Node: Command Grouping40243
Node: Coprocesses41722
Node: GNU Parallel43625
Node: Shell Functions47683
Node: Shell Parameters54766
Node: Positional Parameters59179
Node: Special Parameters60079
Node: Shell Expansions63833
Node: Brace Expansion65956
Node: Tilde Expansion68679
Node: Shell Parameter Expansion71296
Node: Command Substitution85729
Node: Arithmetic Expansion87084
Node: Process Substitution88016
Node: Word Splitting89136
Node: Filename Expansion91080
Node: Pattern Matching93717
Node: Quote Removal97703
Node: Redirections97998
Node: Executing Commands107556
Node: Simple Command Expansion108226
Node: Command Search and Execution110156
Node: Command Execution Environment112532
Node: Environment115516
Node: Exit Status117175
Node: Signals118845
Node: Shell Scripts120812
Node: Shell Builtin Commands123327
Node: Bourne Shell Builtins125365
Node: Bash Builtins146115
Node: Modifying Shell Behavior175040
Node: The Set Builtin175385
Node: The Shopt Builtin185798
Node: Special Builtins203776
Node: Shell Variables204755
Node: Bourne Shell Variables205192
Node: Bash Variables207296
Node: Bash Features238243
Node: Invoking Bash239142
Node: Bash Startup Files245155
Node: Interactive Shells250258
Node: What is an Interactive Shell?250668
Node: Is this Shell Interactive?251317
Node: Interactive Shell Behavior252132
Node: Bash Conditional Expressions255619
Node: Shell Arithmetic260196
Node: Aliases263136
Node: Arrays265756
Node: The Directory Stack271121
Node: Directory Stack Builtins271905
Node: Controlling the Prompt274873
Node: The Restricted Shell277794
Node: Bash POSIX Mode280276
Node: Job Control291403
Node: Job Control Basics291863
Node: Job Control Builtins296827
Node: Job Control Variables301645
Node: Command Line Editing302801
Node: Introduction and Notation304472
Node: Readline Interaction306095
Node: Readline Bare Essentials307286
Node: Readline Movement Commands309069
Node: Readline Killing Commands310029
Node: Readline Arguments311947
Node: Searching312991
Node: Readline Init File315177
Node: Readline Init File Syntax316436
Node: Conditional Init Constructs336875
Node: Sample Init File341071
Node: Bindable Readline Commands344188
Node: Commands For Moving345392
Node: Commands For History347251
Node: Commands For Text351546
Node: Commands For Killing354934
Node: Numeric Arguments357749
Node: Commands For Completion358888
Node: Keyboard Macros363079
Node: Miscellaneous Commands363766
Node: Readline vi Mode369719
Node: Programmable Completion370626
Node: Programmable Completion Builtins378406
Node: A Programmable Completion Example389101
Node: Using History Interactively394348
Node: Bash History Facilities395032
Node: Bash History Builtins398037
Node: History Interaction402568
Node: Event Designators406188
Node: Word Designators407407
Node: Modifiers409044
Node: Installing Bash410446
Node: Basic Installation411583
Node: Compilers and Options414841
Node: Compiling For Multiple Architectures415582
Node: Installation Names417275
Node: Specifying the System Type418093
Node: Sharing Defaults418809
Node: Operation Controls419482
Node: Optional Features420440
Node: Reporting Bugs430958
Node: Major Differences From The Bourne Shell432152
Node: GNU Free Documentation License449004
Node: Indexes474181
Node: Builtin Index474635
Node: Reserved Word Index481462
Node: Variable Index483910
Node: Function Index499734
Node: Concept Index513173
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 Character14454
Node: Single Quotes14939
Node: Double Quotes15287
Node: ANSI-C Quoting16565
Node: Locale Translation17824
Node: Comments18720
Node: Shell Commands19338
Node: Simple Commands20210
Node: Pipelines20841
Node: Lists23773
Node: Compound Commands25564
Node: Looping Constructs26576
Node: Conditional Constructs29071
Node: Command Grouping40239
Node: Coprocesses41718
Node: GNU Parallel43621
Node: Shell Functions47679
Node: Shell Parameters54762
Node: Positional Parameters59175
Node: Special Parameters60075
Node: Shell Expansions63829
Node: Brace Expansion65952
Node: Tilde Expansion68675
Node: Shell Parameter Expansion71292
Node: Command Substitution85725
Node: Arithmetic Expansion87080
Node: Process Substitution88012
Node: Word Splitting89132
Node: Filename Expansion91076
Node: Pattern Matching93713
Node: Quote Removal97699
Node: Redirections97994
Node: Executing Commands107552
Node: Simple Command Expansion108222
Node: Command Search and Execution110176
Node: Command Execution Environment112552
Node: Environment115536
Node: Exit Status117195
Node: Signals118865
Node: Shell Scripts120832
Node: Shell Builtin Commands123347
Node: Bourne Shell Builtins125385
Node: Bash Builtins146284
Node: Modifying Shell Behavior175209
Node: The Set Builtin175554
Node: The Shopt Builtin185967
Node: Special Builtins203945
Node: Shell Variables204924
Node: Bourne Shell Variables205361
Node: Bash Variables207465
Node: Bash Features238906
Node: Invoking Bash239805
Node: Bash Startup Files245818
Node: Interactive Shells250921
Node: What is an Interactive Shell?251331
Node: Is this Shell Interactive?251980
Node: Interactive Shell Behavior252795
Node: Bash Conditional Expressions256282
Node: Shell Arithmetic260859
Node: Aliases263799
Node: Arrays266419
Node: The Directory Stack271784
Node: Directory Stack Builtins272568
Node: Controlling the Prompt275536
Node: The Restricted Shell278457
Node: Bash POSIX Mode280939
Node: Job Control292066
Node: Job Control Basics292526
Node: Job Control Builtins297490
Node: Job Control Variables302308
Node: Command Line Editing303464
Node: Introduction and Notation305135
Node: Readline Interaction306758
Node: Readline Bare Essentials307949
Node: Readline Movement Commands309732
Node: Readline Killing Commands310692
Node: Readline Arguments312610
Node: Searching313654
Node: Readline Init File315840
Node: Readline Init File Syntax317099
Node: Conditional Init Constructs337538
Node: Sample Init File341734
Node: Bindable Readline Commands344851
Node: Commands For Moving346055
Node: Commands For History347914
Node: Commands For Text352209
Node: Commands For Killing355597
Node: Numeric Arguments358412
Node: Commands For Completion359551
Node: Keyboard Macros363742
Node: Miscellaneous Commands364429
Node: Readline vi Mode370382
Node: Programmable Completion371289
Node: Programmable Completion Builtins379069
Node: A Programmable Completion Example389764
Node: Using History Interactively395011
Node: Bash History Facilities395695
Node: Bash History Builtins398700
Node: History Interaction403231
Node: Event Designators406851
Node: Word Designators408070
Node: Modifiers409707
Node: Installing Bash411109
Node: Basic Installation412246
Node: Compilers and Options415504
Node: Compiling For Multiple Architectures416245
Node: Installation Names417938
Node: Specifying the System Type418756
Node: Sharing Defaults419472
Node: Operation Controls420145
Node: Optional Features421103
Node: Reporting Bugs431621
Node: Major Differences From The Bourne Shell432815
Node: GNU Free Documentation License449667
Node: Indexes474844
Node: Builtin Index475298
Node: Reserved Word Index482125
Node: Variable Index484573
Node: Function Index500397
Node: Concept Index513836

End Tag Table
+3 -3
View File
@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/MacPorts 2018.47642_7) (preloaded format=pdfetex 2019.1.16) 21 JUN 2019 11:42
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/MacPorts 2018.47642_7) (preloaded format=pdfetex 2019.1.16) 8 JUL 2019 15:16
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@@ -286,7 +286,7 @@ Overfull \vbox (0.67252pt too high) has occurred while \output is active
Here is how much of TeX's memory you used:
4069 strings out of 497100
47090 string characters out of 6206794
137044 words of memory out of 5000000
137042 words of memory out of 5000000
4846 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
@@ -308,7 +308,7 @@ s/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/typ
e1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
lic/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
-super/sfrm1440.pfb>
Output written on bashref.pdf (187 pages, 756984 bytes).
Output written on bashref.pdf (187 pages, 757503 bytes).
PDF statistics:
2644 PDF objects out of 2984 (max. 8388607)
2411 compressed objects within 25 object streams
BIN
View File
Binary file not shown.
+630 -615
View File
File diff suppressed because it is too large Load Diff
+38 -12
View File
@@ -3946,6 +3946,8 @@ If no options are supplied, each @var{name} refers to a variable; if
there is no variable by that name, any function with that name is
unset.
Readonly variables and functions may not be unset.
Some shell variables lose their special behavior if they are unset; such
behavior is noted in the description of the individual variables.
The return status is zero unless a @var{name} is readonly.
@end table
@@ -5653,7 +5655,7 @@ Expands to the process ID of the current Bash process.
This differs from @code{$$} under certain circumstances, such as subshells
that do not require Bash to be re-initialized.
Assignments to @env{BASHPID} have no effect.
If @code{BASHPID}
If @env{BASHPID}
is unset, it loses its special properties, even if it is
subsequently reset.
@@ -5664,7 +5666,7 @@ list of aliases as maintained by the @code{alias} builtin.
Elements added to this array appear in the alias list; however,
unsetting array elements currently does not cause aliases to be removed
from the alias list.
If @code{BASH_ALIASES}
If @env{BASH_ALIASES}
is unset, it loses its special properties, even if it is
subsequently reset.
@@ -5703,7 +5705,7 @@ script (identical to @code{$0}; @xref{Special Parameters},
for the description of special parameter 0).
Assignment to @code{BASH_ARGV0}
causes the value assigned to also be assigned to @code{$0}.
If @code{BASH_ARGV0}
If @env{BASH_ARGV0}
is unset, it loses its special properties, even if it is
subsequently reset.
@@ -5714,7 +5716,7 @@ hash table of commands as maintained by the @code{hash} builtin
Elements added to this array appear in the hash table; however,
unsetting array elements currently does not cause command names to be removed
from the hash table.
If @code{BASH_CMDS}
If @env{BASH_CMDS}
is unset, it loses its special properties, even if it is
subsequently reset.
@@ -5722,6 +5724,9 @@ subsequently reset.
The command currently being executed or about to be executed, unless the
shell is executing a command as the result of a trap,
in which case it is the command executing at the time of the trap.
If @env{BASH_COMMAND}
is unset, it loses its special properties, even if it is
subsequently reset.
@item BASH_COMPAT
The value is used to set the shell's compatibility level.
@@ -5782,6 +5787,9 @@ The shell function @code{$@{FUNCNAME[$i]@}} is defined in the file
Incremented by one within each subshell or subshell environment when
the shell begins executing in that environment.
The initial value is 0.
If @env{BASH_SUBSHELL}
is unset, it loses its special properties, even if it is
subsequently reset.
@item BASH_VERSINFO
A readonly array variable (@pxref{Arrays})
@@ -5881,7 +5889,8 @@ completion function.
@item COMP_WORDBREAKS
The set of characters that the Readline library treats as word
separators when performing word completion.
If @code{COMP_WORDBREAKS} is unset, it loses its special properties,
If @env{COMP_WORDBREAKS}
is unset, it loses its special properties,
even if it is subsequently reset.
@item COMP_WORDS
@@ -5910,7 +5919,8 @@ Assigning to members of this array variable may be used to modify
directories already in the stack, but the @code{pushd} and @code{popd}
builtins must be used to add and remove directories.
Assignment to this variable will not change the current directory.
If @env{DIRSTACK} is unset, it loses its special properties, even if
If @env{DIRSTACK}
is unset, it loses its special properties, even if
it is subsequently reset.
@item EMACS
@@ -5928,7 +5938,8 @@ since the Unix Epoch as a floating point value with micro-second granularity
(see the documentation for the C library function @var{time} for the
definition of Epoch).
Assignments to @env{EPOCHREALTIME} are ignored.
If @env{EPOCHREALTIME} is unset, it loses its special properties, even if
If @env{EPOCHREALTIME}
is unset, it loses its special properties, even if
it is subsequently reset.
@item EPOCHSECONDS
@@ -5936,7 +5947,8 @@ Each time this parameter is referenced, it expands to the number of seconds
since the Unix Epoch (see the documentation for the C library function
@var{time} for the definition of Epoch).
Assignments to @env{EPOCHSECONDS} are ignored.
If @env{EPOCHSECONDS} is unset, it loses its special properties, even if
If @env{EPOCHSECONDS}
is unset, it loses its special properties, even if
it is subsequently reset.
@item EUID
@@ -5979,7 +5991,8 @@ The bottom-most element (the one with the highest index)
is @code{"main"}.
This variable exists only when a shell function is executing.
Assignments to @env{FUNCNAME} have no effect.
If @env{FUNCNAME} is unset, it loses its special properties, even if
If @env{FUNCNAME}
is unset, it loses its special properties, even if
it is subsequently reset.
This variable can be used with @code{BASH_LINENO} and @code{BASH_SOURCE}.
@@ -6008,7 +6021,8 @@ option.
An array variable containing the list of groups of which the current
user is a member.
Assignments to @env{GROUPS} have no effect.
If @env{GROUPS} is unset, it loses its special properties, even if it is
If @env{GROUPS}
is unset, it loses its special properties, even if it is
subsequently reset.
@item histchars
@@ -6027,7 +6041,9 @@ parser to treat the rest of the line as a comment.
@item HISTCMD
The history number, or index in the history list, of the current
command. If @env{HISTCMD} is unset, it loses its special properties,
command.
If @env{HISTCMD}
is unset, it loses its special properties,
even if it is subsequently reset.
@item HISTCONTROL
@@ -6175,6 +6191,9 @@ formatting.
@item LINENO
The line number in the script or shell function currently executing.
If @env{LINENO}
is unset, it loses its special properties, even if it is
subsequently reset.
@item LINES
Used by the @code{select} command to determine the column length
@@ -6268,6 +6287,9 @@ The current working directory as set by the @code{cd} builtin.
Each time this parameter is referenced, it expands to a random integer
between 0 and 32767. Assigning a value to this
variable seeds the random number generator.
If @env{RANDOM}
is unset, it loses its special properties, even if it is
subsequently reset.
@item READLINE_LINE
The contents of the Readline line buffer, for use
@@ -6286,6 +6308,9 @@ shell was started. Assignment to this variable resets
the count to the value assigned, and the expanded value
becomes the value assigned plus the number of seconds
since the assignment.
If @env{SECONDS}
is unset, it loses its special properties,
even if it is subsequently reset.
@item SHELL
This environment variable expands to the full pathname to the shell.
@@ -6313,7 +6338,8 @@ support @file{/dev/urandom} or @code{arc4random}, so each returned number
has no relationship to the numbers preceding it.
The random number generator cannot be seeded, so assignments to this
variable have no effect.
If @env{SRANDOM} is unset, it loses its special properties,
If @env{SRANDOM}
is unset, it loses its special properties,
even if it is subsequently reset.
@item TIMEFORMAT
+5 -5
View File
@@ -50,7 +50,7 @@
\entry{BASH_VERSION}{77}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{77}{\code {BASH_XTRACEFD}}
\entry{CHILD_MAX}{77}{\code {CHILD_MAX}}
\entry{COLUMNS}{77}{\code {COLUMNS}}
\entry{COLUMNS}{78}{\code {COLUMNS}}
\entry{COMP_CWORD}{78}{\code {COMP_CWORD}}
\entry{COMP_LINE}{78}{\code {COMP_LINE}}
\entry{COMP_POINT}{78}{\code {COMP_POINT}}
@@ -59,7 +59,7 @@
\entry{COMP_WORDBREAKS}{78}{\code {COMP_WORDBREAKS}}
\entry{COMP_WORDS}{78}{\code {COMP_WORDS}}
\entry{COMPREPLY}{78}{\code {COMPREPLY}}
\entry{COPROC}{78}{\code {COPROC}}
\entry{COPROC}{79}{\code {COPROC}}
\entry{DIRSTACK}{79}{\code {DIRSTACK}}
\entry{EMACS}{79}{\code {EMACS}}
\entry{ENV}{79}{\code {ENV}}
@@ -82,7 +82,7 @@
\entry{HISTSIZE}{81}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{81}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{81}{\code {HOSTFILE}}
\entry{HOSTNAME}{81}{\code {HOSTNAME}}
\entry{HOSTNAME}{82}{\code {HOSTNAME}}
\entry{HOSTTYPE}{82}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{82}{\code {IGNOREEOF}}
\entry{INPUTRC}{82}{\code {INPUTRC}}
@@ -97,7 +97,7 @@
\entry{LINENO}{82}{\code {LINENO}}
\entry{LINES}{82}{\code {LINES}}
\entry{MACHTYPE}{82}{\code {MACHTYPE}}
\entry{MAILCHECK}{82}{\code {MAILCHECK}}
\entry{MAILCHECK}{83}{\code {MAILCHECK}}
\entry{MAPFILE}{83}{\code {MAPFILE}}
\entry{OLDPWD}{83}{\code {OLDPWD}}
\entry{OPTERR}{83}{\code {OPTERR}}
@@ -110,7 +110,7 @@
\entry{PS0}{83}{\code {PS0}}
\entry{PS3}{83}{\code {PS3}}
\entry{PS4}{83}{\code {PS4}}
\entry{PWD}{83}{\code {PWD}}
\entry{PWD}{84}{\code {PWD}}
\entry{RANDOM}{84}{\code {RANDOM}}
\entry{READLINE_LINE}{84}{\code {READLINE_LINE}}
\entry{READLINE_POINT}{84}{\code {READLINE_POINT}}
+5 -5
View File
@@ -56,7 +56,7 @@
\entry {\code {CHILD_MAX}}{77}
\entry {\code {colored-completion-prefix}}{113}
\entry {\code {colored-stats}}{113}
\entry {\code {COLUMNS}}{77}
\entry {\code {COLUMNS}}{78}
\entry {\code {comment-begin}}{113}
\entry {\code {COMP_CWORD}}{78}
\entry {\code {COMP_KEY}}{78}
@@ -72,7 +72,7 @@
\entry {\code {completion-query-items}}{114}
\entry {\code {COMPREPLY}}{78}
\entry {\code {convert-meta}}{114}
\entry {\code {COPROC}}{78}
\entry {\code {COPROC}}{79}
\initial {D}
\entry {\code {DIRSTACK}}{79}
\entry {\code {disable-completion}}{114}
@@ -111,7 +111,7 @@
\entry {\code {HOME}}{74}
\entry {\code {horizontal-scroll-mode}}{115}
\entry {\code {HOSTFILE}}{81}
\entry {\code {HOSTNAME}}{81}
\entry {\code {HOSTNAME}}{82}
\entry {\code {HOSTTYPE}}{82}
\initial {I}
\entry {\code {IFS}}{74}
@@ -135,7 +135,7 @@
\initial {M}
\entry {\code {MACHTYPE}}{82}
\entry {\code {MAIL}}{74}
\entry {\code {MAILCHECK}}{82}
\entry {\code {MAILCHECK}}{83}
\entry {\code {MAILPATH}}{74}
\entry {\code {MAPFILE}}{83}
\entry {\code {mark-modified-lines}}{116}
@@ -163,7 +163,7 @@
\entry {\code {PS2}}{74}
\entry {\code {PS3}}{83}
\entry {\code {PS4}}{83}
\entry {\code {PWD}}{83}
\entry {\code {PWD}}{84}
\initial {R}
\entry {\code {RANDOM}}{84}
\entry {\code {READLINE_LINE}}{84}
+4 -2
View File
@@ -1831,8 +1831,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
supplied, each _n_a_m_e refers to a variable; if there is no vari-
able by that name, any function with that name is unset. Each
unset variable or function is removed from the environment
passed to subsequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANN--
DDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are
passed to subsequent commands. If any of BBAASSHH__AALLIIAASSEESS,
BBAASSHH__AARRGGVV00, BBAASSHH__CCMMDDSS, BBAASSHH__CCOOMMMMAANNDD, BBAASSHH__SSUUBBSSHHEELLLL, BBAASSHHPPIIDD,
CCOOMMPP__WWOORRDDBBRREEAAKKSS, DDIIRRSSTTAACCKK, EEPPOOCCHHRREEAALLTTIIMMEE, EEPPOOCCHHSSEECCOONNDDSS, FFUUNNCC--
NNAAMMEE, GGRROOUUPPSS, HHIISSTTCCMMDD, LLIINNEENNOO, RRAANNDDOOMM, SSEECCOONNDDSS, or SSRRAANNDDOOMM are
unset, they lose their special properties, even if they are sub-
sequently reset. The exit status is true unless a _n_a_m_e is read-
only.
+19 -13
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Fri Jun 21 10:27:32 2019
%%CreationDate: Mon Jul 8 15:16:14 2019
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -3096,18 +3096,24 @@ F F1<ad6e>5.492 E F0 .492(has no ef)2.992 F .492(fect if the)-.25 F F1
(ariable by that name, an)-.25 F 2.72(yf)-.15 G(unc-)-2.72 E 1.188
(tion with that name is unset.)144 655.2 R 1.189(Each unset v)6.189 F
1.189(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.689(df).15 G
1.189(rom the en)-3.689 F(vironment)-.4 E 3.206
(passed to subsequent commands.)144 667.2 R 3.206(If an)8.206 F 5.706
(yo)-.15 G(f)-5.706 E/F3 9/Times-Bold@0 SF(COMP_W)5.706 E(ORDBREAKS)-.09
E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)5.455 E F4(,)A F3(SECONDS)5.455 E
F4(,)A F3(LINENO)144 679.2 Q F4(,)A F3(HISTCMD)4.347 E F4(,)A F3(FUNCN)
4.347 E(AME)-.18 E F4(,)A F3(GR)4.347 E(OUPS)-.27 E F4(,)A F0(or)4.348 E
F3(DIRST)4.598 E -.495(AC)-.81 G(K).495 E F0 2.098(are unset, the)4.348
F 4.598(yl)-.15 G 2.098(ose their special)-4.598 F(properties, e)144
691.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he)-2.5 E 2.5(ya)-.15
G(re subsequently reset.)-2.5 E(The e)5 E(xit status is true unless a)
-.15 E F2(name)2.86 E F0(is readonly)2.68 E(.)-.65 E(GNU Bash 5.0)72 768
Q(2004 Apr 20)149.565 E(24)198.725 E 0 Cg EP
1.189(rom the en)-3.689 F(vironment)-.4 E 3.172
(passed to subsequent commands.)144 667.2 R 3.172(If an)8.172 F 5.672
(yo)-.15 G(f)-5.672 E/F3 9/Times-Bold@0 SF -.27(BA)5.672 G(SH_ALIASES)
.27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)5.421 G(SH_ARGV0).27 E F4(,)A
F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 679.2 S
(SH_COMMAND).27 E F4(,)A F3 -.27(BA)11.481 G(SH_SUBSHELL).27 E F4(,)A F3
-.27(BA)11.482 G(SHPID).27 E F4(,)A F3(COMP_W)11.482 E(ORDBREAKS)-.09 E
F4(,)A F3(DIRST)11.482 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)
144 691.2 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN)
2.67 E(AME)-.18 E F4(,)A F3(GR)2.67 E(OUPS)-.27 E F4(,)A F3(HISTCMD)2.67
E F4(,)A F3(LINENO)2.67 E F4(,)A F3(RANDOM)2.67 E F4(,)A F3(SECONDS)144
703.2 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the)
4.029 F 4.279(yl)-.15 G 1.779(ose their special properties, e)-4.279 F
-.15(ve)-.25 G 4.279(ni).15 G 4.28(ft)-4.279 G(he)-4.28 E 4.28(ya)-.15 G
1.78(re subse-)-4.28 F(quently reset.)144 715.2 Q(The e)5 E
(xit status is true unless a)-.15 E F2(name)2.86 E F0(is readonly)2.68 E
(.)-.65 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(24)198.725 E 0 Cg
EP
%%Page: 25 25
%%BeginPageSetup
BP
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Fri Jun 21 10:27:32 2019
%%CreationDate: Mon Jul 8 15:16:14 2019
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 3
+3 -3
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2019 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Fri Jun 21 10:26:59 EDT 2019
@set LASTCHANGE Mon Jul 8 15:10:15 EDT 2019
@set EDITION 5.0
@set VERSION 5.0
@set UPDATED 21 June 2019
@set UPDATED-MONTH June 2019
@set UPDATED 8 July 2019
@set UPDATED-MONTH July 2019
+6 -1
View File
@@ -4811,7 +4811,12 @@ set_job_control (arg)
if (terminal_pgrp == NO_PID)
terminal_pgrp = tcgetpgrp (shell_tty);
/* If we're turning on job control we're going to want to know the shell's
process group. */
if (job_control != old && job_control)
shell_pgrp = getpgid (0);
running_in_background = (terminal_pgrp != shell_pgrp);
#if 0
+6 -5
View File
@@ -576,11 +576,6 @@ rl_expand_prompt (char *prompt)
{
/* The prompt spans multiple lines. */
t = ++p;
local_prompt = expand_prompt (p, PMT_MULTILINE,
&prompt_visible_length,
&prompt_last_invisible,
&prompt_invis_chars_first_line,
&prompt_physical_chars);
c = *t; *t = '\0';
/* The portion of the prompt string up to and including the
final newline is now null-terminated. */
@@ -590,6 +585,12 @@ rl_expand_prompt (char *prompt)
(int *)NULL,
(int *)NULL);
*t = c;
local_prompt = expand_prompt (p, PMT_MULTILINE,
&prompt_visible_length,
&prompt_last_invisible,
&prompt_invis_chars_first_line,
&prompt_physical_chars);
local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
return (prompt_prefix_length);
}
+7 -1
View File
@@ -49,6 +49,10 @@ extern int errno;
# define HUGE_VAL HUGE
#endif
#ifndef locale_decpoint
extern int locale_decpoint PARAMS((void));
#endif
/* Convert NPTR to a double. If ENDPTR is not NULL, a pointer to the
character after the last one used in the number is put in *ENDPTR. */
double
@@ -62,6 +66,7 @@ strtod (nptr, endptr)
/* The number so far. */
double num;
int radixchar;
int got_dot; /* Found a decimal point. */
int got_digit; /* Seen any digits. */
@@ -85,6 +90,7 @@ strtod (nptr, endptr)
if (*s == '-' || *s == '+')
++s;
radixchar = locale_decpoint ();
num = 0.0;
got_dot = 0;
got_digit = 0;
@@ -113,7 +119,7 @@ strtod (nptr, endptr)
if (got_dot)
--exponent;
}
else if (!got_dot && *s == '.')
else if (!got_dot && *s == radixchar)
/* Record that we have found the decimal point. */
got_dot = 1;
else
+10 -1
View File
@@ -97,19 +97,28 @@ utf8_mblen (s, n)
c1 = (unsigned char)s[1];
if (c < 0xe0)
{
if (n == 1)
return -2;
if (n >= 2 && (s[1] ^ 0x80) < 0x40)
return 2;
}
else if (c < 0xf0)
{
if (n <= 2)
return -2;
if (n >= 3
&& (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (c >= 0xe1 || c1 >= 0xa0)
&& (c != 0xed || c1 < 0xa0))
return 3;
}
else if (c < 0xf8)
else if (c <= 0xf4)
{
if (n <= 3)
return -2;
if (n >= 4
&& (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (s[3] ^ 0x80) < 0x40
+69 -16
View File
@@ -2530,21 +2530,36 @@ shell_getc (remove_quoted_newline)
shell_input_line[shell_input_line_len] = '\n';
shell_input_line[shell_input_line_len + 1] = '\0';
set_line_mbstate ();
#if 0
set_line_mbstate (); /* XXX - this is wasteful */
#else
# if defined (HANDLE_MULTIBYTE)
/* This is kind of an abstraction violation, but there's no need to
go through the entire shell_input_line again with a call to
set_line_mbstate(). */
if (shell_input_line_len + 2 > shell_input_line_propsize)
{
shell_input_line_propsize = shell_input_line_len + 2;
shell_input_line_property = (char *)xrealloc (shell_input_line_property,
shell_input_line_propsize);
}
shell_input_line_property[shell_input_line_len] = 1;
# endif
#endif
}
}
next_alias_char:
if (shell_input_line_index == 0)
unquoted_backslash = 0;
if (shell_input_line_index == 0)
unquoted_backslash = 0;
uc = shell_input_line[shell_input_line_index];
if (uc)
{
unquoted_backslash = unquoted_backslash == 0 && uc == '\\';
shell_input_line_index++;
}
{
unquoted_backslash = unquoted_backslash == 0 && uc == '\\';
shell_input_line_index++;
}
#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
/* If UC is NULL, we have reached the end of the current input string. If
@@ -6698,10 +6713,20 @@ save_input_line_state (ls)
ls->input_line_len = shell_input_line_len;
ls->input_line_index = shell_input_line_index;
#if defined (HANDLE_MULTIBYTE)
ls->input_property = shell_input_line_property;
ls->input_propsize = shell_input_line_propsize;
#endif
/* force reallocation */
shell_input_line = 0;
shell_input_line_size = shell_input_line_len = shell_input_line_index = 0;
#if defined (HANDLE_MULTIBYTE)
shell_input_line_property = 0;
shell_input_line_propsize = 0;
#endif
return ls;
}
@@ -6715,7 +6740,15 @@ restore_input_line_state (ls)
shell_input_line_len = ls->input_line_len;
shell_input_line_index = ls->input_line_index;
#if defined (HANDLE_MULTIBYTE)
FREE (shell_input_line_property);
shell_input_line_property = ls->input_property;
shell_input_line_propsize = ls->input_propsize;
#endif
#if 0
set_line_mbstate ();
#endif
}
/************************************************
@@ -6736,10 +6769,11 @@ set_line_mbstate ()
size_t i, previ, len;
mbstate_t mbs, prevs;
size_t mbclen;
int ilen;
if (shell_input_line == NULL)
return;
len = strlen (shell_input_line); /* XXX - shell_input_line_len ? */
len = STRLEN (shell_input_line); /* XXX - shell_input_line_len ? */
if (len == 0)
return;
if (shell_input_line_propsize >= MAX_PROPSIZE && len < MAX_PROPSIZE>>1)
@@ -6754,12 +6788,21 @@ set_line_mbstate ()
shell_input_line_property = (char *)xrealloc (shell_input_line_property, shell_input_line_propsize);
}
if (locale_mb_cur_max == 1)
{
memset (shell_input_line_property, 1, len);
return;
}
/* XXX - use whether or not we are in a UTF-8 locale to avoid calls to
mbrlen */
memset (&prevs, '\0', sizeof (mbstate_t));
if (locale_utf8locale == 0)
memset (&prevs, '\0', sizeof (mbstate_t));
for (i = previ = 0; i < len; i++)
{
mbs = prevs;
if (locale_utf8locale == 0)
mbs = prevs;
c = shell_input_line[i];
if (c == EOF)
@@ -6770,10 +6813,20 @@ set_line_mbstate ()
break;
}
/* I'd love to take more advantage of UTF-8's properties in a UTF-8
locale, but mbrlen changes the mbstate_t on every call even when
presented with single-byte characters. */
mbclen = mbrlen (shell_input_line + previ, i - previ + 1, &mbs);
if (locale_utf8locale)
{
if ((unsigned char)shell_input_line[previ] < 128)
mbclen = 1;
else
{
ilen = utf8_mblen (shell_input_line + previ, i - previ + 1);
mbclen = (ilen == -1) ? (size_t)-1
: ((ilen == -2) ? (size_t)-2 : (size_t)ilen);
}
}
else
mbclen = mbrlen (shell_input_line + previ, i - previ + 1, &mbs);
if (mbclen == 1 || mbclen == (size_t)-1)
{
mbclen = 1;
@@ -6785,11 +6838,11 @@ set_line_mbstate ()
{
mbclen = 0;
previ = i + 1;
prevs = mbs;
if (locale_utf8locale == 0)
prevs = mbs;
}
else
{
/* XXX - what to do if mbrlen returns 0? (null wide character) */
size_t j;
for (j = i; j < len; j++)
shell_input_line_property[j] = 1;
+4
View File
@@ -213,6 +213,10 @@ typedef struct _sh_input_line_state_t {
size_t input_line_index;
size_t input_line_size;
size_t input_line_len;
#if defined (HANDLE_MULTIBYTE)
char *input_property;
size_t input_propsize;
#endif
} sh_input_line_state_t;
/* Let's try declaring these here. */
+6 -2
View File
@@ -518,6 +518,7 @@ unary_test (op, arg)
{
intmax_t r;
struct stat stat_buf;
struct timespec mtime, atime;
SHELL_VAR *v;
switch (op[1])
@@ -544,8 +545,11 @@ unary_test (op, arg)
(gid_t) current_user.egid == (gid_t) stat_buf.st_gid);
case 'N':
return (sh_stat (arg, &stat_buf) == 0 &&
stat_buf.st_atime <= stat_buf.st_mtime);
if (sh_stat (arg, &stat_buf) < 0)
return (FALSE);
atime = get_stat_atime (&stat_buf);
mtime = get_stat_mtime (&stat_buf);
return (timespec_cmp (mtime, atime) > 0);
case 'f': /* File is a file? */
if (sh_stat (arg, &stat_buf) < 0)
+1 -1
View File
@@ -166,7 +166,7 @@ echo 't -S /tmp/test.socket'
t -S /tmp/test.socket # false
rm -f /tmp/test.socket
touch /tmp/test.newer
touch /tmp/test.newer ; sleep 1; echo "hello" > /tmp/test.newer
echo 't -N /tmp/test.newer'
t -N /tmp/test.newer
rm -f /tmp/test.newer
+14 -4
View File
@@ -1433,8 +1433,7 @@ static void
sbrand32 (seed)
u_bits32_t seed;
{
rseed32 = seed;
last_rand32 = seed;
last_rand32 = rseed32 = seed;
}
static void
@@ -6188,8 +6187,19 @@ void
sv_tz (name)
char *name;
{
if (chkexport (name))
tzset ();
SHELL_VAR *v;
v = find_variable (name);
if (v && exported_p (v))
array_needs_making = 1;
else if (v == 0)
array_needs_making = 1;
if (array_needs_making)
{
maybe_make_export_env ();
tzset ();
}
}
#endif