commit bash-20200615 snapshot

This commit is contained in:
Chet Ramey
2020-06-18 11:09:26 -04:00
parent f9f8a7fa3a
commit d37a47224a
37 changed files with 22498 additions and 20710 deletions
-4
View File
@@ -304,10 +304,6 @@ q. Readline now behaves better when operate-and-get-next is used when the
r. Fixed a bug that could cause vi redo (`.') of a replace command not to work
correctly in the C or POSIX locale.
s. Fixed a bug with vi-mode digit arguments that caused the last command to be
set incorrectly. This prevents yank-last-arg from working as intended, for
example.
3. New Features in Bash
a. `bind -x' now supports different bindings for different editing modes and
+4
View File
@@ -538,6 +538,10 @@ compat50 (set using BASH_COMPAT)
lower, it reverts to the method from bash-5.0 and previous versions,
so seeding the random number generator by assigning a value to
RANDOM will produce the same sequence as in bash-5.0
- If the command hash table is empty, bash versions prior to bash-5.1
printed an informational message to that effect even when writing
output in a format that can be reused as input (-l). Bash-5.1
suppresses that message if -l is supplied
-------------------------------------------------------------------------------
+23
View File
@@ -8559,6 +8559,8 @@ redir.c
- limit HEREDOC_PIPESIZE to 4096 on FreeBSD; that is where it can
handle atomic writes without hanging. Tested on FreeBSD 13
[bash-5.1-alpha frozen]
6/15
----
subst.c
@@ -8566,3 +8568,24 @@ subst.c
name returned from the variable assignment, in case there was a
nameref expansion, and on the original name only if the assignment
returned NULL. Fixes bug reported by James D. Lin <jamesdlin@gmail.com>
6/16
----
builtins/hash.def
- hash_builtin: don't print anything if the hash table is empty when
listing portably (-l) unless the shell compatibility level is <= 50
Issue originally raised by <beluro@web.de>
6/17
----
pathexp.c
- glob_name_is_acceptable: extend GLOBIGNORE to ignore `.' and `..'
as a terminal pathname component instead of just ignoring filenames
that are `.' or `..'. From a suggestion by Ilkka Virta
<itvirta@iki.fi>
6/18
----
po/Makefile.in.in
- MKINSTALLDIRS: deprecated, no longer in AM_INTL_SUBDIR, so we have
to create the variable manually
+2 -1
View File
@@ -134,7 +134,8 @@ hash_builtin (list)
if (list == 0 && expunge_hash_table == 0)
{
opt = print_hashed_commands (list_portably);
if (opt == 0 && posixly_correct == 0)
if (opt == 0 && posixly_correct == 0 &&
(list_portably == 0 || shell_compatibility_level <= 50))
printf (_("%s: hash table empty\n"), this_command_name);
return (EXECUTION_SUCCESS);
Vendored
+1 -7
View File
@@ -2915,13 +2915,6 @@ sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-nsk*) opt_bash_malloc=no ;; # HP NonStop
*-haiku*) opt_bash_malloc=no ;; # Haiku OS
*-genode*) opt_bash_malloc=no ;; # Genode has no sbrk
# Deprecated -- bash malloc is suitable
#sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
#mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
#*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
#*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
esac
# memory scrambling on free()
@@ -20394,6 +20387,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
;;
esac ;;
netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
freebsd*) LOCAL_CFLAGS='-DHEREDOC_PIPESIZE=4096' ;;
*qnx[67]*) LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
+2 -8
View File
@@ -89,13 +89,6 @@ sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-nsk*) opt_bash_malloc=no ;; # HP NonStop
*-haiku*) opt_bash_malloc=no ;; # Haiku OS
*-genode*) opt_bash_malloc=no ;; # Genode has no sbrk
# Deprecated -- bash malloc is suitable
#sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
#mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
#*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
#*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
esac
# memory scrambling on free()
@@ -1139,7 +1132,7 @@ LOCAL_DEFS=-DSHELL
dnl use this section to possibly define more cpp variables, specify local
dnl libraries, and specify any additional local cc or ld flags
dnl
dnl this should really go away someday
dnl most of these are really old; this should really go away someday
case "${host_os}" in
sysv4.2*) AC_DEFINE(SVR4_2)
@@ -1168,6 +1161,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
*) AC_DEFINE(PGRP_PIPE) ;;
esac ;;
netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
freebsd*) LOCAL_CFLAGS='-DHEREDOC_PIPESIZE=4096' ;;
*qnx[[67]]*) LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
+2370 -2186
View File
File diff suppressed because it is too large Load Diff
+11 -4
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Fri Jun 5 14:46:57 EDT 2020
.\" Last Change: Tue Jun 16 16:24:30 EDT 2020
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2020 June 5" "GNU Bash 5.1"
.TH BASH 1 "2020 June 16" "GNU Bash 5.1"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -2037,7 +2037,8 @@ below.
.B BASH_COMPAT
The value is used to set the shell's compatibility level.
See
\fBSHELL COMPATIBILITY MODE\fP
.SM
.B SHELL COMPATIBILITY MODE
below for a description of the various compatibility
levels and their effects.
The value may be a decimal number (e.g., 4.2) or an integer (e.g., 42)
@@ -2049,7 +2050,8 @@ compatibility levels, the shell prints an error message and sets the
compatibility level to the default for the current version.
The valid values correspond to the compatibility levels
described below under
\fBSHELL COMPATIBILITY MODE\fP.
.SM
.BR BSHELL COMPATIBILITY MODE .
For example, 4.2 and 42 are valid values that correspond
to the \fBcompat42\fP \fBshopt\fP option
and set the compatibility level to 42.
@@ -11058,6 +11060,11 @@ so seeding the random number generator by assigning a value to
.SM
.B RANDOM
will produce the same sequence as in bash-5.0
.IP \(bu
If the command hash table is empty, bash versions prior to bash-5.1
printed an informational message to that effect, even when producing
output that can be reused as input. Bash-5.1 suppresses that message
when the \fB\-l\fP option is supplied.
.RE
.PD
.\" bash_builtins
+396 -222
View File
File diff suppressed because it is too large Load Diff
+578 -395
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+7126 -6908
View File
File diff suppressed because it is too large Load Diff
+97 -91
View File
@@ -38,41 +38,44 @@
@xrdef{Locale Translation-snt}{Section@tie 3.1.2.5}
@xrdef{Comments-title}{Comments}
@xrdef{Comments-snt}{Section@tie 3.1.3}
@xrdef{Shell Commands-title}{Shell Commands}
@xrdef{Shell Commands-snt}{Section@tie 3.2}
@xrdef{Locale Translation-pg}{7}
@xrdef{Comments-pg}{7}
@xrdef{Shell Commands-title}{Shell Commands}
@xrdef{Shell Commands-snt}{Section@tie 3.2}
@xrdef{Reserved Words-title}{Reserved Words}
@xrdef{Reserved Words-snt}{Section@tie 3.2.1}
@xrdef{Simple Commands-title}{Simple Commands}
@xrdef{Simple Commands-snt}{Section@tie 3.2.1}
@xrdef{Simple Commands-snt}{Section@tie 3.2.2}
@xrdef{Pipelines-title}{Pipelines}
@xrdef{Pipelines-snt}{Section@tie 3.2.2}
@xrdef{Pipelines-snt}{Section@tie 3.2.3}
@xrdef{Shell Commands-pg}{8}
@xrdef{Reserved Words-pg}{8}
@xrdef{Simple Commands-pg}{8}
@xrdef{Pipelines-pg}{8}
@xrdef{Lists-title}{Lists of Commands}
@xrdef{Lists-snt}{Section@tie 3.2.3}
@xrdef{Compound Commands-title}{Compound Commands}
@xrdef{Compound Commands-snt}{Section@tie 3.2.4}
@xrdef{Lists-snt}{Section@tie 3.2.4}
@xrdef{Lists-pg}{9}
@xrdef{Compound Commands-pg}{9}
@xrdef{Compound Commands-title}{Compound Commands}
@xrdef{Compound Commands-snt}{Section@tie 3.2.5}
@xrdef{Looping Constructs-title}{Looping Constructs}
@xrdef{Looping Constructs-snt}{Section@tie 3.2.4.1}
@xrdef{Conditional Constructs-title}{Conditional Constructs}
@xrdef{Conditional Constructs-snt}{Section@tie 3.2.4.2}
@xrdef{Looping Constructs-snt}{Section@tie 3.2.5.1}
@xrdef{Compound Commands-pg}{10}
@xrdef{Looping Constructs-pg}{10}
@xrdef{Conditional Constructs-title}{Conditional Constructs}
@xrdef{Conditional Constructs-snt}{Section@tie 3.2.5.2}
@xrdef{Conditional Constructs-pg}{11}
@xrdef{Command Grouping-title}{Grouping Commands}
@xrdef{Command Grouping-snt}{Section@tie 3.2.4.3}
@xrdef{Command Grouping-snt}{Section@tie 3.2.5.3}
@xrdef{Coprocesses-title}{Coprocesses}
@xrdef{Coprocesses-snt}{Section@tie 3.2.5}
@xrdef{Coprocesses-snt}{Section@tie 3.2.6}
@xrdef{Command Grouping-pg}{15}
@xrdef{Coprocesses-pg}{15}
@xrdef{GNU Parallel-title}{GNU Parallel}
@xrdef{GNU Parallel-snt}{Section@tie 3.2.6}
@xrdef{GNU Parallel-snt}{Section@tie 3.2.7}
@xrdef{GNU Parallel-pg}{16}
@xrdef{Shell Functions-title}{Shell Functions}
@xrdef{Shell Functions-snt}{Section@tie 3.3}
@xrdef{Shell Functions-pg}{17}
@xrdef{Shell Functions-pg}{18}
@xrdef{Shell Parameters-title}{Shell Parameters}
@xrdef{Shell Parameters-snt}{Section@tie 3.4}
@xrdef{Shell Parameters-pg}{20}
@@ -87,60 +90,60 @@
@xrdef{Shell Expansions-pg}{22}
@xrdef{Brace Expansion-title}{Brace Expansion}
@xrdef{Brace Expansion-snt}{Section@tie 3.5.1}
@xrdef{Brace Expansion-pg}{23}
@xrdef{Tilde Expansion-title}{Tilde Expansion}
@xrdef{Tilde Expansion-snt}{Section@tie 3.5.2}
@xrdef{Brace Expansion-pg}{23}
@xrdef{Tilde Expansion-pg}{24}
@xrdef{Shell Parameter Expansion-title}{Shell Parameter Expansion}
@xrdef{Shell Parameter Expansion-snt}{Section@tie 3.5.3}
@xrdef{Tilde Expansion-pg}{24}
@xrdef{Shell Parameter Expansion-pg}{24}
@xrdef{Shell Parameter Expansion-pg}{25}
@xrdef{Command Substitution-title}{Command Substitution}
@xrdef{Command Substitution-snt}{Section@tie 3.5.4}
@xrdef{Arithmetic Expansion-title}{Arithmetic Expansion}
@xrdef{Arithmetic Expansion-snt}{Section@tie 3.5.5}
@xrdef{Process Substitution-title}{Process Substitution}
@xrdef{Process Substitution-snt}{Section@tie 3.5.6}
@xrdef{Command Substitution-pg}{31}
@xrdef{Arithmetic Expansion-pg}{31}
@xrdef{Process Substitution-pg}{31}
@xrdef{Process Substitution-title}{Process Substitution}
@xrdef{Process Substitution-snt}{Section@tie 3.5.6}
@xrdef{Word Splitting-title}{Word Splitting}
@xrdef{Word Splitting-snt}{Section@tie 3.5.7}
@xrdef{Process Substitution-pg}{32}
@xrdef{Word Splitting-pg}{32}
@xrdef{Filename Expansion-title}{Filename Expansion}
@xrdef{Filename Expansion-snt}{Section@tie 3.5.8}
@xrdef{Word Splitting-pg}{32}
@xrdef{Filename Expansion-pg}{32}
@xrdef{Pattern Matching-title}{Pattern Matching}
@xrdef{Pattern Matching-snt}{Section@tie 3.5.8.1}
@xrdef{Filename Expansion-pg}{33}
@xrdef{Pattern Matching-pg}{33}
@xrdef{Quote Removal-title}{Quote Removal}
@xrdef{Quote Removal-snt}{Section@tie 3.5.9}
@xrdef{Redirections-title}{Redirections}
@xrdef{Redirections-snt}{Section@tie 3.6}
@xrdef{Quote Removal-pg}{34}
@xrdef{Redirections-pg}{34}
@xrdef{Quote Removal-pg}{35}
@xrdef{Redirections-pg}{35}
@xrdef{Executing Commands-title}{Executing Commands}
@xrdef{Executing Commands-snt}{Section@tie 3.7}
@xrdef{Simple Command Expansion-title}{Simple Command Expansion}
@xrdef{Simple Command Expansion-snt}{Section@tie 3.7.1}
@xrdef{Command Search and Execution-title}{Command Search and Execution}
@xrdef{Command Search and Execution-snt}{Section@tie 3.7.2}
@xrdef{Executing Commands-pg}{38}
@xrdef{Simple Command Expansion-pg}{38}
@xrdef{Executing Commands-pg}{39}
@xrdef{Simple Command Expansion-pg}{39}
@xrdef{Command Search and Execution-pg}{39}
@xrdef{Command Execution Environment-title}{Command Execution Environment}
@xrdef{Command Execution Environment-snt}{Section@tie 3.7.3}
@xrdef{Command Search and Execution-pg}{39}
@xrdef{Command Execution Environment-pg}{39}
@xrdef{Command Execution Environment-pg}{40}
@xrdef{Environment-title}{Environment}
@xrdef{Environment-snt}{Section@tie 3.7.4}
@xrdef{Environment-pg}{40}
@xrdef{Exit Status-title}{Exit Status}
@xrdef{Exit Status-snt}{Section@tie 3.7.5}
@xrdef{Environment-pg}{41}
@xrdef{Exit Status-pg}{41}
@xrdef{Signals-title}{Signals}
@xrdef{Signals-snt}{Section@tie 3.7.6}
@xrdef{Exit Status-pg}{41}
@xrdef{Signals-pg}{41}
@xrdef{Shell Scripts-title}{Shell Scripts}
@xrdef{Shell Scripts-snt}{Section@tie 3.8}
@xrdef{Signals-pg}{42}
@xrdef{Shell Scripts-pg}{42}
@xrdef{Shell Builtin Commands-title}{Shell Builtin Commands}
@xrdef{Shell Builtin Commands-snt}{Chapter@tie 4}
@@ -162,16 +165,16 @@
@xrdef{The Shopt Builtin-pg}{66}
@xrdef{Special Builtins-title}{Special Builtins}
@xrdef{Special Builtins-snt}{Section@tie 4.4}
@xrdef{Special Builtins-pg}{73}
@xrdef{Special Builtins-pg}{72}
@xrdef{Shell Variables-title}{Shell Variables}
@xrdef{Shell Variables-snt}{Chapter@tie 5}
@xrdef{Bourne Shell Variables-title}{Bourne Shell Variables}
@xrdef{Bourne Shell Variables-snt}{Section@tie 5.1}
@xrdef{Bash Variables-title}{Bash Variables}
@xrdef{Bash Variables-snt}{Section@tie 5.2}
@xrdef{Shell Variables-pg}{74}
@xrdef{Bourne Shell Variables-pg}{74}
@xrdef{Bash Variables-pg}{74}
@xrdef{Shell Variables-pg}{73}
@xrdef{Bourne Shell Variables-pg}{73}
@xrdef{Bash Variables-pg}{73}
@xrdef{Bash Features-title}{Bash Features}
@xrdef{Bash Features-snt}{Chapter@tie 6}
@xrdef{Invoking Bash-title}{Invoking Bash}
@@ -219,19 +222,22 @@
@xrdef{Bash POSIX Mode-title}{Bash POSIX Mode}
@xrdef{Bash POSIX Mode-snt}{Section@tie 6.11}
@xrdef{The Restricted Shell-pg}{100}
@xrdef{Bash POSIX Mode-pg}{100}
@xrdef{Bash POSIX Mode-pg}{101}
@xrdef{Shell Compatibility Mode-title}{Shell Compatibility Mode}
@xrdef{Shell Compatibility Mode-snt}{Section@tie 6.12}
@xrdef{Shell Compatibility Mode-pg}{104}
@xrdef{Job Control-title}{Job Control}
@xrdef{Job Control-snt}{Chapter@tie 7}
@xrdef{Job Control Basics-title}{Job Control Basics}
@xrdef{Job Control Basics-snt}{Section@tie 7.1}
@xrdef{Job Control-pg}{105}
@xrdef{Job Control Basics-pg}{105}
@xrdef{Job Control-pg}{107}
@xrdef{Job Control Basics-pg}{107}
@xrdef{Job Control Builtins-title}{Job Control Builtins}
@xrdef{Job Control Builtins-snt}{Section@tie 7.2}
@xrdef{Job Control Builtins-pg}{106}
@xrdef{Job Control Builtins-pg}{108}
@xrdef{Job Control Variables-title}{Job Control Variables}
@xrdef{Job Control Variables-snt}{Section@tie 7.3}
@xrdef{Job Control Variables-pg}{108}
@xrdef{Job Control Variables-pg}{110}
@xrdef{Command Line Editing-title}{Command Line Editing}
@xrdef{Command Line Editing-snt}{Chapter@tie 8}
@xrdef{Introduction and Notation-title}{Introduction to Line Editing}
@@ -240,109 +246,109 @@
@xrdef{Readline Interaction-snt}{Section@tie 8.2}
@xrdef{Readline Bare Essentials-title}{Readline Bare Essentials}
@xrdef{Readline Bare Essentials-snt}{Section@tie 8.2.1}
@xrdef{Command Line Editing-pg}{109}
@xrdef{Introduction and Notation-pg}{109}
@xrdef{Readline Interaction-pg}{109}
@xrdef{Command Line Editing-pg}{111}
@xrdef{Introduction and Notation-pg}{111}
@xrdef{Readline Interaction-pg}{111}
@xrdef{Readline Movement Commands-title}{Readline Movement Commands}
@xrdef{Readline Movement Commands-snt}{Section@tie 8.2.2}
@xrdef{Readline Killing Commands-title}{Readline Killing Commands}
@xrdef{Readline Killing Commands-snt}{Section@tie 8.2.3}
@xrdef{Readline Bare Essentials-pg}{110}
@xrdef{Readline Movement Commands-pg}{110}
@xrdef{Readline Bare Essentials-pg}{112}
@xrdef{Readline Movement Commands-pg}{112}
@xrdef{Readline Arguments-title}{Readline Arguments}
@xrdef{Readline Arguments-snt}{Section@tie 8.2.4}
@xrdef{Searching-title}{Searching for Commands in the History}
@xrdef{Searching-snt}{Section@tie 8.2.5}
@xrdef{Readline Killing Commands-pg}{111}
@xrdef{Readline Arguments-pg}{111}
@xrdef{Searching-pg}{111}
@xrdef{Readline Killing Commands-pg}{113}
@xrdef{Readline Arguments-pg}{113}
@xrdef{Searching-pg}{113}
@xrdef{Readline Init File-title}{Readline Init File}
@xrdef{Readline Init File-snt}{Section@tie 8.3}
@xrdef{Readline Init File Syntax-title}{Readline Init File Syntax}
@xrdef{Readline Init File Syntax-snt}{Section@tie 8.3.1}
@xrdef{Readline Init File-pg}{112}
@xrdef{Readline Init File Syntax-pg}{112}
@xrdef{Readline Init File-pg}{114}
@xrdef{Readline Init File Syntax-pg}{114}
@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
@xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2}
@xrdef{Conditional Init Constructs-pg}{120}
@xrdef{Conditional Init Constructs-pg}{122}
@xrdef{Sample Init File-title}{Sample Init File}
@xrdef{Sample Init File-snt}{Section@tie 8.3.3}
@xrdef{Sample Init File-pg}{122}
@xrdef{Sample Init File-pg}{124}
@xrdef{Bindable Readline Commands-title}{Bindable Readline Commands}
@xrdef{Bindable Readline Commands-snt}{Section@tie 8.4}
@xrdef{Commands For Moving-title}{Commands For Moving}
@xrdef{Commands For Moving-snt}{Section@tie 8.4.1}
@xrdef{Bindable Readline Commands-pg}{125}
@xrdef{Commands For Moving-pg}{125}
@xrdef{Bindable Readline Commands-pg}{127}
@xrdef{Commands For Moving-pg}{127}
@xrdef{Commands For History-title}{Commands For Manipulating The History}
@xrdef{Commands For History-snt}{Section@tie 8.4.2}
@xrdef{Commands For History-pg}{126}
@xrdef{Commands For History-pg}{128}
@xrdef{Commands For Text-title}{Commands For Changing Text}
@xrdef{Commands For Text-snt}{Section@tie 8.4.3}
@xrdef{Commands For Text-pg}{127}
@xrdef{Commands For Text-pg}{130}
@xrdef{Commands For Killing-title}{Killing And Yanking}
@xrdef{Commands For Killing-snt}{Section@tie 8.4.4}
@xrdef{Commands For Killing-pg}{129}
@xrdef{Commands For Killing-pg}{131}
@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
@xrdef{Numeric Arguments-snt}{Section@tie 8.4.5}
@xrdef{Commands For Completion-title}{Letting Readline Type For You}
@xrdef{Commands For Completion-snt}{Section@tie 8.4.6}
@xrdef{Numeric Arguments-pg}{130}
@xrdef{Commands For Completion-pg}{130}
@xrdef{Numeric Arguments-pg}{132}
@xrdef{Commands For Completion-pg}{132}
@xrdef{Keyboard Macros-title}{Keyboard Macros}
@xrdef{Keyboard Macros-snt}{Section@tie 8.4.7}
@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
@xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8}
@xrdef{Keyboard Macros-pg}{132}
@xrdef{Miscellaneous Commands-pg}{132}
@xrdef{Keyboard Macros-pg}{134}
@xrdef{Miscellaneous Commands-pg}{134}
@xrdef{Readline vi Mode-title}{Readline vi Mode}
@xrdef{Readline vi Mode-snt}{Section@tie 8.5}
@xrdef{Programmable Completion-title}{Programmable Completion}
@xrdef{Programmable Completion-snt}{Section@tie 8.6}
@xrdef{Readline vi Mode-pg}{135}
@xrdef{Programmable Completion-pg}{135}
@xrdef{Readline vi Mode-pg}{137}
@xrdef{Programmable Completion-pg}{137}
@xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
@xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
@xrdef{Programmable Completion Builtins-pg}{137}
@xrdef{Programmable Completion Builtins-pg}{139}
@xrdef{A Programmable Completion Example-title}{A Programmable Completion Example}
@xrdef{A Programmable Completion Example-snt}{Section@tie 8.8}
@xrdef{A Programmable Completion Example-pg}{141}
@xrdef{A Programmable Completion Example-pg}{143}
@xrdef{Using History Interactively-title}{Using History Interactively}
@xrdef{Using History Interactively-snt}{Chapter@tie 9}
@xrdef{Bash History Facilities-title}{Bash History Facilities}
@xrdef{Bash History Facilities-snt}{Section@tie 9.1}
@xrdef{Bash History Builtins-title}{Bash History Builtins}
@xrdef{Bash History Builtins-snt}{Section@tie 9.2}
@xrdef{Using History Interactively-pg}{144}
@xrdef{Bash History Facilities-pg}{144}
@xrdef{Bash History Builtins-pg}{144}
@xrdef{Using History Interactively-pg}{146}
@xrdef{Bash History Facilities-pg}{146}
@xrdef{Bash History Builtins-pg}{146}
@xrdef{History Interaction-title}{History Expansion}
@xrdef{History Interaction-snt}{Section@tie 9.3}
@xrdef{History Interaction-pg}{146}
@xrdef{History Interaction-pg}{148}
@xrdef{Event Designators-title}{Event Designators}
@xrdef{Event Designators-snt}{Section@tie 9.3.1}
@xrdef{Word Designators-title}{Word Designators}
@xrdef{Word Designators-snt}{Section@tie 9.3.2}
@xrdef{Event Designators-pg}{147}
@xrdef{Word Designators-pg}{147}
@xrdef{Event Designators-pg}{149}
@xrdef{Modifiers-title}{Modifiers}
@xrdef{Modifiers-snt}{Section@tie 9.3.3}
@xrdef{Modifiers-pg}{148}
@xrdef{Word Designators-pg}{150}
@xrdef{Modifiers-pg}{150}
@xrdef{Installing Bash-title}{Installing Bash}
@xrdef{Installing Bash-snt}{Chapter@tie 10}
@xrdef{Basic Installation-title}{Basic Installation}
@xrdef{Basic Installation-snt}{Section@tie 10.1}
@xrdef{Installing Bash-pg}{150}
@xrdef{Basic Installation-pg}{150}
@xrdef{Installing Bash-pg}{152}
@xrdef{Basic Installation-pg}{152}
@xrdef{Compilers and Options-title}{Compilers and Options}
@xrdef{Compilers and Options-snt}{Section@tie 10.2}
@xrdef{Compiling For Multiple Architectures-title}{Compiling For Multiple Architectures}
@xrdef{Compiling For Multiple Architectures-snt}{Section@tie 10.3}
@xrdef{Installation Names-title}{Installation Names}
@xrdef{Installation Names-snt}{Section@tie 10.4}
@xrdef{Compilers and Options-pg}{151}
@xrdef{Compiling For Multiple Architectures-pg}{151}
@xrdef{Installation Names-pg}{151}
@xrdef{Compilers and Options-pg}{153}
@xrdef{Compiling For Multiple Architectures-pg}{153}
@xrdef{Installation Names-pg}{153}
@xrdef{Specifying the System Type-title}{Specifying the System Type}
@xrdef{Specifying the System Type-snt}{Section@tie 10.5}
@xrdef{Sharing Defaults-title}{Sharing Defaults}
@@ -351,34 +357,34 @@
@xrdef{Operation Controls-snt}{Section@tie 10.7}
@xrdef{Optional Features-title}{Optional Features}
@xrdef{Optional Features-snt}{Section@tie 10.8}
@xrdef{Specifying the System Type-pg}{152}
@xrdef{Sharing Defaults-pg}{152}
@xrdef{Operation Controls-pg}{152}
@xrdef{Optional Features-pg}{153}
@xrdef{Specifying the System Type-pg}{154}
@xrdef{Sharing Defaults-pg}{154}
@xrdef{Operation Controls-pg}{154}
@xrdef{Optional Features-pg}{155}
@xrdef{Reporting Bugs-title}{Reporting Bugs}
@xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
@xrdef{Reporting Bugs-pg}{158}
@xrdef{Reporting Bugs-pg}{160}
@xrdef{Major Differences From The Bourne Shell-title}{Major Differences From The Bourne Shell}
@xrdef{Major Differences From The Bourne Shell-snt}{Appendix@tie @char66{}}
@xrdef{Major Differences From The Bourne Shell-pg}{159}
@xrdef{Major Differences From The Bourne Shell-pg}{161}
@xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
@xrdef{GNU Free Documentation License-snt}{Appendix@tie @char67{}}
@xrdef{GNU Free Documentation License-pg}{165}
@xrdef{GNU Free Documentation License-pg}{167}
@xrdef{Indexes-title}{Indexes}
@xrdef{Indexes-snt}{Appendix@tie @char68{}}
@xrdef{Builtin Index-title}{Index of Shell Builtin Commands}
@xrdef{Builtin Index-snt}{Section@tie @char68.1}
@xrdef{Indexes-pg}{173}
@xrdef{Builtin Index-pg}{173}
@xrdef{Indexes-pg}{175}
@xrdef{Builtin Index-pg}{175}
@xrdef{Reserved Word Index-title}{Index of Shell Reserved Words}
@xrdef{Reserved Word Index-snt}{Section@tie @char68.2}
@xrdef{Variable Index-title}{Parameter and Variable Index}
@xrdef{Variable Index-snt}{Section@tie @char68.3}
@xrdef{Reserved Word Index-pg}{174}
@xrdef{Variable Index-pg}{175}
@xrdef{Reserved Word Index-pg}{176}
@xrdef{Variable Index-pg}{177}
@xrdef{Function Index-title}{Function Index}
@xrdef{Function Index-snt}{Section@tie @char68.4}
@xrdef{Function Index-pg}{177}
@xrdef{Function Index-pg}{179}
@xrdef{Concept Index-title}{Concept Index}
@xrdef{Concept Index-snt}{Section@tie @char68.5}
@xrdef{Concept Index-pg}{179}
@xrdef{Concept Index-pg}{181}
+15 -15
View File
@@ -32,28 +32,28 @@
\entry{local}{57}{\code {local}}
\entry{logout}{57}{\code {logout}}
\entry{mapfile}{57}{\code {mapfile}}
\entry{printf}{57}{\code {printf}}
\entry{printf}{58}{\code {printf}}
\entry{read}{58}{\code {read}}
\entry{readarray}{60}{\code {readarray}}
\entry{source}{60}{\code {source}}
\entry{type}{60}{\code {type}}
\entry{typeset}{60}{\code {typeset}}
\entry{typeset}{61}{\code {typeset}}
\entry{ulimit}{61}{\code {ulimit}}
\entry{unalias}{62}{\code {unalias}}
\entry{set}{62}{\code {set}}
\entry{shopt}{66}{\code {shopt}}
\entry{dirs}{97}{\code {dirs}}
\entry{popd}{97}{\code {popd}}
\entry{popd}{98}{\code {popd}}
\entry{pushd}{98}{\code {pushd}}
\entry{bg}{106}{\code {bg}}
\entry{fg}{106}{\code {fg}}
\entry{jobs}{106}{\code {jobs}}
\entry{kill}{107}{\code {kill}}
\entry{wait}{107}{\code {wait}}
\entry{disown}{107}{\code {disown}}
\entry{suspend}{108}{\code {suspend}}
\entry{compgen}{137}{\code {compgen}}
\entry{complete}{137}{\code {complete}}
\entry{compopt}{141}{\code {compopt}}
\entry{fc}{145}{\code {fc}}
\entry{history}{145}{\code {history}}
\entry{bg}{108}{\code {bg}}
\entry{fg}{108}{\code {fg}}
\entry{jobs}{108}{\code {jobs}}
\entry{kill}{109}{\code {kill}}
\entry{wait}{109}{\code {wait}}
\entry{disown}{110}{\code {disown}}
\entry{suspend}{110}{\code {suspend}}
\entry{compgen}{139}{\code {compgen}}
\entry{complete}{140}{\code {complete}}
\entry{compopt}{143}{\code {compopt}}
\entry{fc}{147}{\code {fc}}
\entry{history}{147}{\code {history}}
+15 -15
View File
@@ -7,7 +7,7 @@
\initial {A}
\entry{\code {alias}}{51}
\initial {B}
\entry{\code {bg}}{106}
\entry{\code {bg}}{108}
\entry{\code {bind}}{51}
\entry{\code {break}}{45}
\entry{\code {builtin}}{53}
@@ -15,14 +15,14 @@
\entry{\code {caller}}{53}
\entry{\code {cd}}{45}
\entry{\code {command}}{53}
\entry{\code {compgen}}{137}
\entry{\code {complete}}{137}
\entry{\code {compopt}}{141}
\entry{\code {compgen}}{139}
\entry{\code {complete}}{140}
\entry{\code {compopt}}{143}
\entry{\code {continue}}{45}
\initial {D}
\entry{\code {declare}}{53}
\entry{\code {dirs}}{97}
\entry{\code {disown}}{107}
\entry{\code {disown}}{110}
\initial {E}
\entry{\code {echo}}{55}
\entry{\code {enable}}{56}
@@ -31,18 +31,18 @@
\entry{\code {exit}}{46}
\entry{\code {export}}{46}
\initial {F}
\entry{\code {fc}}{145}
\entry{\code {fg}}{106}
\entry{\code {fc}}{147}
\entry{\code {fg}}{108}
\initial {G}
\entry{\code {getopts}}{46}
\initial {H}
\entry{\code {hash}}{47}
\entry{\code {help}}{56}
\entry{\code {history}}{145}
\entry{\code {history}}{147}
\initial {J}
\entry{\code {jobs}}{106}
\entry{\code {jobs}}{108}
\initial {K}
\entry{\code {kill}}{107}
\entry{\code {kill}}{109}
\initial {L}
\entry{\code {let}}{56}
\entry{\code {local}}{57}
@@ -50,8 +50,8 @@
\initial {M}
\entry{\code {mapfile}}{57}
\initial {P}
\entry{\code {popd}}{97}
\entry{\code {printf}}{57}
\entry{\code {popd}}{98}
\entry{\code {printf}}{58}
\entry{\code {pushd}}{98}
\entry{\code {pwd}}{47}
\initial {R}
@@ -64,17 +64,17 @@
\entry{\code {shift}}{48}
\entry{\code {shopt}}{66}
\entry{\code {source}}{60}
\entry{\code {suspend}}{108}
\entry{\code {suspend}}{110}
\initial {T}
\entry{\code {test}}{48}
\entry{\code {times}}{50}
\entry{\code {trap}}{50}
\entry{\code {type}}{60}
\entry{\code {typeset}}{60}
\entry{\code {typeset}}{61}
\initial {U}
\entry{\code {ulimit}}{61}
\entry{\code {umask}}{51}
\entry{\code {unalias}}{62}
\entry{\code {unset}}{51}
\initial {W}
\entry{\code {wait}}{107}
\entry{\code {wait}}{109}
+47 -44
View File
@@ -27,18 +27,19 @@
\entry{translation, native languages}{7}{translation, native languages}
\entry{comments, shell}{7}{comments, shell}
\entry{commands, shell}{8}{commands, shell}
\entry{reserved words}{8}{reserved words}
\entry{commands, simple}{8}{commands, simple}
\entry{pipeline}{8}{pipeline}
\entry{commands, pipelines}{8}{commands, pipelines}
\entry{command timing}{8}{command timing}
\entry{commands, lists}{9}{commands, lists}
\entry{commands, compound}{9}{commands, compound}
\entry{commands, compound}{10}{commands, compound}
\entry{commands, looping}{10}{commands, looping}
\entry{commands, conditional}{11}{commands, conditional}
\entry{commands, grouping}{15}{commands, grouping}
\entry{coprocess}{15}{coprocess}
\entry{shell function}{17}{shell function}
\entry{functions, shell}{17}{functions, shell}
\entry{shell function}{18}{shell function}
\entry{functions, shell}{18}{functions, shell}
\entry{parameters}{20}{parameters}
\entry{variable, shell}{20}{variable, shell}
\entry{shell variable}{20}{shell variable}
@@ -49,29 +50,29 @@
\entry{expansion, brace}{23}{expansion, brace}
\entry{tilde expansion}{24}{tilde expansion}
\entry{expansion, tilde}{24}{expansion, tilde}
\entry{parameter expansion}{24}{parameter expansion}
\entry{expansion, parameter}{24}{expansion, parameter}
\entry{parameter expansion}{25}{parameter expansion}
\entry{expansion, parameter}{25}{expansion, parameter}
\entry{command substitution}{31}{command substitution}
\entry{expansion, arithmetic}{31}{expansion, arithmetic}
\entry{arithmetic expansion}{31}{arithmetic expansion}
\entry{process substitution}{31}{process substitution}
\entry{process substitution}{32}{process substitution}
\entry{word splitting}{32}{word splitting}
\entry{expansion, filename}{32}{expansion, filename}
\entry{expansion, pathname}{32}{expansion, pathname}
\entry{filename expansion}{32}{filename expansion}
\entry{pathname expansion}{32}{pathname expansion}
\entry{expansion, filename}{33}{expansion, filename}
\entry{expansion, pathname}{33}{expansion, pathname}
\entry{filename expansion}{33}{filename expansion}
\entry{pathname expansion}{33}{pathname expansion}
\entry{pattern matching}{33}{pattern matching}
\entry{matching, pattern}{33}{matching, pattern}
\entry{redirection}{34}{redirection}
\entry{command expansion}{38}{command expansion}
\entry{redirection}{35}{redirection}
\entry{command expansion}{39}{command expansion}
\entry{command execution}{39}{command execution}
\entry{command search}{39}{command search}
\entry{execution environment}{39}{execution environment}
\entry{environment}{40}{environment}
\entry{execution environment}{40}{execution environment}
\entry{environment}{41}{environment}
\entry{exit status}{41}{exit status}
\entry{signal handling}{41}{signal handling}
\entry{signal handling}{42}{signal handling}
\entry{shell script}{42}{shell script}
\entry{special builtin}{73}{special builtin}
\entry{special builtin}{72}{special builtin}
\entry{login shell}{88}{login shell}
\entry{interactive shell}{88}{interactive shell}
\entry{startup files}{88}{startup files}
@@ -88,31 +89,33 @@
\entry{directory stack}{97}{directory stack}
\entry{prompting}{98}{prompting}
\entry{restricted shell}{100}{restricted shell}
\entry{POSIX Mode}{100}{POSIX Mode}
\entry{job control}{105}{job control}
\entry{foreground}{105}{foreground}
\entry{background}{105}{background}
\entry{suspending jobs}{105}{suspending jobs}
\entry{Readline, how to use}{108}{Readline, how to use}
\entry{interaction, readline}{109}{interaction, readline}
\entry{notation, readline}{110}{notation, readline}
\entry{command editing}{110}{command editing}
\entry{editing command lines}{110}{editing command lines}
\entry{killing text}{111}{killing text}
\entry{yanking text}{111}{yanking text}
\entry{kill ring}{111}{kill ring}
\entry{initialization file, readline}{112}{initialization file, readline}
\entry{variables, readline}{113}{variables, readline}
\entry{programmable completion}{135}{programmable completion}
\entry{completion builtins}{137}{completion builtins}
\entry{History, how to use}{143}{History, how to use}
\entry{command history}{144}{command history}
\entry{history list}{144}{history list}
\entry{history builtins}{144}{history builtins}
\entry{history expansion}{146}{history expansion}
\entry{event designators}{147}{event designators}
\entry{history events}{147}{history events}
\entry{installation}{150}{installation}
\entry{configuration}{150}{configuration}
\entry{Bash installation}{150}{Bash installation}
\entry{Bash configuration}{150}{Bash configuration}
\entry{POSIX Mode}{101}{POSIX Mode}
\entry{Compatibility Level}{104}{Compatibility Level}
\entry{Compatibility Mode}{104}{Compatibility Mode}
\entry{job control}{107}{job control}
\entry{foreground}{107}{foreground}
\entry{background}{107}{background}
\entry{suspending jobs}{107}{suspending jobs}
\entry{Readline, how to use}{110}{Readline, how to use}
\entry{interaction, readline}{111}{interaction, readline}
\entry{notation, readline}{112}{notation, readline}
\entry{command editing}{112}{command editing}
\entry{editing command lines}{112}{editing command lines}
\entry{killing text}{113}{killing text}
\entry{yanking text}{113}{yanking text}
\entry{kill ring}{113}{kill ring}
\entry{initialization file, readline}{114}{initialization file, readline}
\entry{variables, readline}{115}{variables, readline}
\entry{programmable completion}{137}{programmable completion}
\entry{completion builtins}{139}{completion builtins}
\entry{History, how to use}{145}{History, how to use}
\entry{command history}{146}{command history}
\entry{history list}{146}{history list}
\entry{history builtins}{146}{history builtins}
\entry{history expansion}{148}{history expansion}
\entry{event designators}{149}{event designators}
\entry{history events}{149}{history events}
\entry{installation}{152}{installation}
\entry{configuration}{152}{configuration}
\entry{Bash installation}{152}{Bash installation}
\entry{Bash configuration}{152}{Bash configuration}
+47 -44
View File
@@ -5,21 +5,21 @@
\entry{arithmetic, shell}{93}
\entry{arrays}{95}
\initial {B}
\entry{background}{105}
\entry{Bash configuration}{150}
\entry{Bash installation}{150}
\entry{background}{107}
\entry{Bash configuration}{152}
\entry{Bash installation}{152}
\entry{Bourne shell}{5}
\entry{brace expansion}{23}
\entry{builtin}{3}
\initial {C}
\entry{command editing}{110}
\entry{command editing}{112}
\entry{command execution}{39}
\entry{command expansion}{38}
\entry{command history}{144}
\entry{command expansion}{39}
\entry{command history}{146}
\entry{command search}{39}
\entry{command substitution}{31}
\entry{command timing}{8}
\entry{commands, compound}{9}
\entry{commands, compound}{10}
\entry{commands, conditional}{11}
\entry{commands, grouping}{15}
\entry{commands, lists}{9}
@@ -28,53 +28,55 @@
\entry{commands, shell}{8}
\entry{commands, simple}{8}
\entry{comments, shell}{7}
\entry{completion builtins}{137}
\entry{configuration}{150}
\entry{Compatibility Level}{104}
\entry{Compatibility Mode}{104}
\entry{completion builtins}{139}
\entry{configuration}{152}
\entry{control operator}{3}
\entry{coprocess}{15}
\initial {D}
\entry{directory stack}{97}
\initial {E}
\entry{editing command lines}{110}
\entry{environment}{40}
\entry{editing command lines}{112}
\entry{environment}{41}
\entry{evaluation, arithmetic}{93}
\entry{event designators}{147}
\entry{execution environment}{39}
\entry{event designators}{149}
\entry{execution environment}{40}
\entry{exit status}{3, 41}
\entry{expansion}{22}
\entry{expansion, arithmetic}{31}
\entry{expansion, brace}{23}
\entry{expansion, filename}{32}
\entry{expansion, parameter}{24}
\entry{expansion, pathname}{32}
\entry{expansion, filename}{33}
\entry{expansion, parameter}{25}
\entry{expansion, pathname}{33}
\entry{expansion, tilde}{24}
\entry{expressions, arithmetic}{93}
\entry{expressions, conditional}{91}
\initial {F}
\entry{field}{3}
\entry{filename}{3}
\entry{filename expansion}{32}
\entry{foreground}{105}
\entry{functions, shell}{17}
\entry{filename expansion}{33}
\entry{foreground}{107}
\entry{functions, shell}{18}
\initial {H}
\entry{history builtins}{144}
\entry{history events}{147}
\entry{history expansion}{146}
\entry{history list}{144}
\entry{History, how to use}{143}
\entry{history builtins}{146}
\entry{history events}{149}
\entry{history expansion}{148}
\entry{history list}{146}
\entry{History, how to use}{145}
\initial {I}
\entry{identifier}{3}
\entry{initialization file, readline}{112}
\entry{installation}{150}
\entry{interaction, readline}{109}
\entry{initialization file, readline}{114}
\entry{installation}{152}
\entry{interaction, readline}{111}
\entry{interactive shell}{88, 89}
\entry{internationalization}{7}
\initial {J}
\entry{job}{3}
\entry{job control}{3, 105}
\entry{job control}{3, 107}
\initial {K}
\entry{kill ring}{111}
\entry{killing text}{111}
\entry{kill ring}{113}
\entry{killing text}{113}
\initial {L}
\entry{localization}{7}
\entry{login shell}{88}
@@ -84,53 +86,54 @@
\initial {N}
\entry{name}{3}
\entry{native languages}{7}
\entry{notation, readline}{110}
\entry{notation, readline}{112}
\initial {O}
\entry{operator, shell}{3}
\initial {P}
\entry{parameter expansion}{24}
\entry{parameter expansion}{25}
\entry{parameters}{20}
\entry{parameters, positional}{21}
\entry{parameters, special}{21}
\entry{pathname expansion}{32}
\entry{pathname expansion}{33}
\entry{pattern matching}{33}
\entry{pipeline}{8}
\entry{POSIX}{3}
\entry{POSIX Mode}{100}
\entry{POSIX Mode}{101}
\entry{process group}{3}
\entry{process group ID}{3}
\entry{process substitution}{31}
\entry{programmable completion}{135}
\entry{process substitution}{32}
\entry{programmable completion}{137}
\entry{prompting}{98}
\initial {Q}
\entry{quoting}{6}
\entry{quoting, ANSI}{6}
\initial {R}
\entry{Readline, how to use}{108}
\entry{redirection}{34}
\entry{Readline, how to use}{110}
\entry{redirection}{35}
\entry{reserved word}{3}
\entry{reserved words}{8}
\entry{restricted shell}{100}
\entry{return status}{4}
\initial {S}
\entry{shell arithmetic}{93}
\entry{shell function}{17}
\entry{shell function}{18}
\entry{shell script}{42}
\entry{shell variable}{20}
\entry{shell, interactive}{89}
\entry{signal}{4}
\entry{signal handling}{41}
\entry{special builtin}{4, 73}
\entry{signal handling}{42}
\entry{special builtin}{4, 72}
\entry{startup files}{88}
\entry{suspending jobs}{105}
\entry{suspending jobs}{107}
\initial {T}
\entry{tilde expansion}{24}
\entry{token}{4}
\entry{translation, native languages}{7}
\initial {V}
\entry{variable, shell}{20}
\entry{variables, readline}{113}
\entry{variables, readline}{115}
\initial {W}
\entry{word}{4}
\entry{word splitting}{32}
\initial {Y}
\entry{yanking text}{111}
\entry{yanking text}{113}
BIN
View File
Binary file not shown.
+112 -111
View File
@@ -1,111 +1,112 @@
\entry{beginning-of-line (C-a)}{125}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{125}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{125}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{125}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{125}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{125}{\code {backward-word (M-b)}}
\entry{shell-forward-word (M-C-f)}{125}{\code {shell-forward-word (M-C-f)}}
\entry{shell-backward-word (M-C-b)}{125}{\code {shell-backward-word (M-C-b)}}
\entry{previous-screen-line ()}{125}{\code {previous-screen-line ()}}
\entry{next-screen-line ()}{126}{\code {next-screen-line ()}}
\entry{clear-screen (C-l)}{126}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{126}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{126}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{126}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{126}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{126}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{126}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{126}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{126}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{126}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{126}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{126}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{127}{\code {history-search-backward ()}}
\entry{history-substring-search-forward ()}{127}{\code {history-substring-search-forward ()}}
\entry{history-substring-search-backward ()}{127}{\code {history-substring-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{127}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{127}{\code {yank-last-arg (M-. or M-_)}}
\entry{end-of-file (usually C-d)}{127}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{127}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{128}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{128}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{128}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{128}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{128}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{128}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{128}{\code {transpose-words (M-t)}}
\entry{upcase-word (M-u)}{128}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{128}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{128}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{128}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{129}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{129}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{129}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{129}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{129}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{129}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word (M-C-d)}{129}{\code {shell-kill-word (M-C-d)}}
\entry{shell-backward-kill-word ()}{129}{\code {shell-backward-kill-word ()}}
\entry{shell-transpose-words (M-C-t)}{129}{\code {shell-transpose-words (M-C-t)}}
\entry{unix-word-rubout (C-w)}{129}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{129}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{129}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{129}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{130}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{130}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{130}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{130}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{130}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{130}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{130}{\code {universal-argument ()}}
\entry{complete (TAB)}{130}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{130}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{131}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{131}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{131}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{131}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{131}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{131}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{131}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{131}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{131}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{131}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{131}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{131}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{131}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{132}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{132}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{132}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{132}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{132}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{132}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{132}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{132}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{132}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{132}{\code {abort (C-g)}}
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{132}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{132}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{132}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{133}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{133}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{133}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{133}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{133}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{133}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{133}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{133}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{133}{\code {dump-functions ()}}
\entry{dump-variables ()}{133}{\code {dump-variables ()}}
\entry{dump-macros ()}{134}{\code {dump-macros ()}}
\entry{glob-complete-word (M-g)}{134}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{134}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{134}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{134}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{134}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{134}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{134}{\code {magic-space ()}}
\entry{alias-expand-line ()}{134}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{134}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{134}{\code {insert-last-argument (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{134}{\code {operate-and-get-next (C-o)}}
\entry{edit-and-execute-command (C-x C-e)}{134}{\code {edit-and-execute-command (C-x C-e)}}
\entry{beginning-of-line (C-a)}{127}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{127}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{127}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{127}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{127}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{127}{\code {backward-word (M-b)}}
\entry{shell-forward-word (M-C-f)}{127}{\code {shell-forward-word (M-C-f)}}
\entry{shell-backward-word (M-C-b)}{127}{\code {shell-backward-word (M-C-b)}}
\entry{previous-screen-line ()}{127}{\code {previous-screen-line ()}}
\entry{next-screen-line ()}{128}{\code {next-screen-line ()}}
\entry{clear-display (M-C-l)}{128}{\code {clear-display (M-C-l)}}
\entry{clear-screen (C-l)}{128}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{128}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{128}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{128}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{128}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{128}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{128}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{128}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{128}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{128}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{128}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{129}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{129}{\code {history-search-backward ()}}
\entry{history-substring-search-forward ()}{129}{\code {history-substring-search-forward ()}}
\entry{history-substring-search-backward ()}{129}{\code {history-substring-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{129}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{129}{\code {yank-last-arg (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{129}{\code {operate-and-get-next (C-o)}}
\entry{end-of-file (usually C-d)}{130}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{130}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{130}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{130}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{130}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{130}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{130}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{130}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{130}{\code {transpose-words (M-t)}}
\entry{upcase-word (M-u)}{130}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{130}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{131}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{131}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{131}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{131}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{131}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{131}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{131}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{131}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word (M-C-d)}{131}{\code {shell-kill-word (M-C-d)}}
\entry{shell-backward-kill-word ()}{131}{\code {shell-backward-kill-word ()}}
\entry{shell-transpose-words (M-C-t)}{131}{\code {shell-transpose-words (M-C-t)}}
\entry{unix-word-rubout (C-w)}{131}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{132}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{132}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{132}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{132}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{132}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{132}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{132}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{132}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{132}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{132}{\code {universal-argument ()}}
\entry{complete (TAB)}{132}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{133}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{133}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{133}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{133}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{133}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{133}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{133}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{133}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{133}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{133}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{133}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{133}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{134}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{134}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{134}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{134}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{134}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{134}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{134}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{134}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{134}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{134}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{134}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{134}{\code {abort (C-g)}}
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{135}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{135}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{135}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{135}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{135}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{135}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{135}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{135}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{135}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{135}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{135}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{136}{\code {dump-functions ()}}
\entry{dump-variables ()}{136}{\code {dump-variables ()}}
\entry{dump-macros ()}{136}{\code {dump-macros ()}}
\entry{glob-complete-word (M-g)}{136}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{136}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{136}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{136}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{136}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{136}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{136}{\code {magic-space ()}}
\entry{alias-expand-line ()}{136}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{136}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{136}{\code {insert-last-argument (M-. or M-_)}}
\entry{edit-and-execute-command (C-x C-e)}{137}{\code {edit-and-execute-command (C-x C-e)}}
+112 -111
View File
@@ -1,131 +1,132 @@
\initial {A}
\entry{\code {abort (C-g)}}{132}
\entry{\code {accept-line (Newline or Return)}}{126}
\entry{\code {alias-expand-line ()}}{134}
\entry{\code {abort (C-g)}}{134}
\entry{\code {accept-line (Newline or Return)}}{128}
\entry{\code {alias-expand-line ()}}{136}
\initial {B}
\entry{\code {backward-char (C-b)}}{125}
\entry{\code {backward-delete-char (Rubout)}}{128}
\entry{\code {backward-kill-line (C-x Rubout)}}{129}
\entry{\code {backward-kill-word (M-\key {DEL})}}{129}
\entry{\code {backward-word (M-b)}}{125}
\entry{\code {beginning-of-history (M-<)}}{126}
\entry{\code {beginning-of-line (C-a)}}{125}
\entry{\code {bracketed-paste-begin ()}}{128}
\entry{\code {backward-char (C-b)}}{127}
\entry{\code {backward-delete-char (Rubout)}}{130}
\entry{\code {backward-kill-line (C-x Rubout)}}{131}
\entry{\code {backward-kill-word (M-\key {DEL})}}{131}
\entry{\code {backward-word (M-b)}}{127}
\entry{\code {beginning-of-history (M-<)}}{128}
\entry{\code {beginning-of-line (C-a)}}{127}
\entry{\code {bracketed-paste-begin ()}}{130}
\initial {C}
\entry{\code {call-last-kbd-macro (C-x e)}}{132}
\entry{\code {capitalize-word (M-c)}}{128}
\entry{\code {character-search (C-])}}{133}
\entry{\code {character-search-backward (M-C-])}}{133}
\entry{\code {clear-screen (C-l)}}{126}
\entry{\code {complete (\key {TAB})}}{130}
\entry{\code {complete-command (M-!)}}{131}
\entry{\code {complete-filename (M-/)}}{131}
\entry{\code {complete-hostname (M-@)}}{131}
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{132}
\entry{\code {complete-username (M-~)}}{131}
\entry{\code {complete-variable (M-$)}}{131}
\entry{\code {copy-backward-word ()}}{130}
\entry{\code {copy-forward-word ()}}{130}
\entry{\code {copy-region-as-kill ()}}{130}
\entry{\code {call-last-kbd-macro (C-x e)}}{134}
\entry{\code {capitalize-word (M-c)}}{131}
\entry{\code {character-search (C-])}}{135}
\entry{\code {character-search-backward (M-C-])}}{135}
\entry{\code {clear-display (M-C-l)}}{128}
\entry{\code {clear-screen (C-l)}}{128}
\entry{\code {complete (\key {TAB})}}{132}
\entry{\code {complete-command (M-!)}}{134}
\entry{\code {complete-filename (M-/)}}{133}
\entry{\code {complete-hostname (M-@)}}{133}
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{134}
\entry{\code {complete-username (M-~)}}{133}
\entry{\code {complete-variable (M-$)}}{133}
\entry{\code {copy-backward-word ()}}{132}
\entry{\code {copy-forward-word ()}}{132}
\entry{\code {copy-region-as-kill ()}}{132}
\initial {D}
\entry{\code {dabbrev-expand ()}}{132}
\entry{\code {delete-char (C-d)}}{127}
\entry{\code {delete-char-or-list ()}}{131}
\entry{\code {delete-horizontal-space ()}}{129}
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{130}
\entry{\code {display-shell-version (C-x C-v)}}{134}
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{132}
\entry{\code {downcase-word (M-l)}}{128}
\entry{\code {dump-functions ()}}{133}
\entry{\code {dump-macros ()}}{134}
\entry{\code {dump-variables ()}}{133}
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{132}
\entry{\code {dabbrev-expand ()}}{134}
\entry{\code {delete-char (C-d)}}{130}
\entry{\code {delete-char-or-list ()}}{133}
\entry{\code {delete-horizontal-space ()}}{132}
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{132}
\entry{\code {display-shell-version (C-x C-v)}}{136}
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{135}
\entry{\code {downcase-word (M-l)}}{130}
\entry{\code {dump-functions ()}}{136}
\entry{\code {dump-macros ()}}{136}
\entry{\code {dump-variables ()}}{136}
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{134}
\initial {E}
\entry{\code {edit-and-execute-command (C-x C-e)}}{134}
\entry{\code {end-kbd-macro (C-x ))}}{132}
\entry{\code {\i {end-of-file} (usually C-d)}}{127}
\entry{\code {end-of-history (M->)}}{126}
\entry{\code {end-of-line (C-e)}}{125}
\entry{\code {exchange-point-and-mark (C-x C-x)}}{133}
\entry{\code {edit-and-execute-command (C-x C-e)}}{137}
\entry{\code {end-kbd-macro (C-x ))}}{134}
\entry{\code {\i {end-of-file} (usually C-d)}}{130}
\entry{\code {end-of-history (M->)}}{128}
\entry{\code {end-of-line (C-e)}}{127}
\entry{\code {exchange-point-and-mark (C-x C-x)}}{135}
\initial {F}
\entry{\code {forward-backward-delete-char ()}}{128}
\entry{\code {forward-char (C-f)}}{125}
\entry{\code {forward-search-history (C-s)}}{126}
\entry{\code {forward-word (M-f)}}{125}
\entry{\code {forward-backward-delete-char ()}}{130}
\entry{\code {forward-char (C-f)}}{127}
\entry{\code {forward-search-history (C-s)}}{128}
\entry{\code {forward-word (M-f)}}{127}
\initial {G}
\entry{\code {glob-complete-word (M-g)}}{134}
\entry{\code {glob-expand-word (C-x *)}}{134}
\entry{\code {glob-list-expansions (C-x g)}}{134}
\entry{\code {glob-complete-word (M-g)}}{136}
\entry{\code {glob-expand-word (C-x *)}}{136}
\entry{\code {glob-list-expansions (C-x g)}}{136}
\initial {H}
\entry{\code {history-and-alias-expand-line ()}}{134}
\entry{\code {history-expand-line (M-^)}}{134}
\entry{\code {history-search-backward ()}}{127}
\entry{\code {history-search-forward ()}}{126}
\entry{\code {history-substring-search-backward ()}}{127}
\entry{\code {history-substring-search-forward ()}}{127}
\entry{\code {history-and-alias-expand-line ()}}{136}
\entry{\code {history-expand-line (M-^)}}{136}
\entry{\code {history-search-backward ()}}{129}
\entry{\code {history-search-forward ()}}{129}
\entry{\code {history-substring-search-backward ()}}{129}
\entry{\code {history-substring-search-forward ()}}{129}
\initial {I}
\entry{\code {insert-comment (M-#)}}{133}
\entry{\code {insert-completions (M-*)}}{131}
\entry{\code {insert-last-argument (M-. or M-_)}}{134}
\entry{\code {insert-comment (M-#)}}{135}
\entry{\code {insert-completions (M-*)}}{133}
\entry{\code {insert-last-argument (M-. or M-_)}}{136}
\initial {K}
\entry{\code {kill-line (C-k)}}{129}
\entry{\code {kill-region ()}}{129}
\entry{\code {kill-whole-line ()}}{129}
\entry{\code {kill-word (M-d)}}{129}
\entry{\code {kill-line (C-k)}}{131}
\entry{\code {kill-region ()}}{132}
\entry{\code {kill-whole-line ()}}{131}
\entry{\code {kill-word (M-d)}}{131}
\initial {M}
\entry{\code {magic-space ()}}{134}
\entry{\code {menu-complete ()}}{131}
\entry{\code {menu-complete-backward ()}}{131}
\entry{\code {magic-space ()}}{136}
\entry{\code {menu-complete ()}}{133}
\entry{\code {menu-complete-backward ()}}{133}
\initial {N}
\entry{\code {next-history (C-n)}}{126}
\entry{\code {next-screen-line ()}}{126}
\entry{\code {non-incremental-forward-search-history (M-n)}}{126}
\entry{\code {non-incremental-reverse-search-history (M-p)}}{126}
\entry{\code {next-history (C-n)}}{128}
\entry{\code {next-screen-line ()}}{128}
\entry{\code {non-incremental-forward-search-history (M-n)}}{128}
\entry{\code {non-incremental-reverse-search-history (M-p)}}{128}
\initial {O}
\entry{\code {operate-and-get-next (C-o)}}{134}
\entry{\code {overwrite-mode ()}}{128}
\entry{\code {operate-and-get-next (C-o)}}{129}
\entry{\code {overwrite-mode ()}}{131}
\initial {P}
\entry{\code {possible-command-completions (C-x !)}}{132}
\entry{\code {possible-completions (M-?)}}{130}
\entry{\code {possible-filename-completions (C-x /)}}{131}
\entry{\code {possible-hostname-completions (C-x @)}}{131}
\entry{\code {possible-username-completions (C-x ~)}}{131}
\entry{\code {possible-variable-completions (C-x $)}}{131}
\entry{\code {prefix-meta (\key {ESC})}}{132}
\entry{\code {previous-history (C-p)}}{126}
\entry{\code {previous-screen-line ()}}{125}
\entry{\code {print-last-kbd-macro ()}}{132}
\entry{\code {possible-command-completions (C-x !)}}{134}
\entry{\code {possible-completions (M-?)}}{133}
\entry{\code {possible-filename-completions (C-x /)}}{133}
\entry{\code {possible-hostname-completions (C-x @)}}{134}
\entry{\code {possible-username-completions (C-x ~)}}{133}
\entry{\code {possible-variable-completions (C-x $)}}{133}
\entry{\code {prefix-meta (\key {ESC})}}{135}
\entry{\code {previous-history (C-p)}}{128}
\entry{\code {previous-screen-line ()}}{127}
\entry{\code {print-last-kbd-macro ()}}{134}
\initial {Q}
\entry{\code {quoted-insert (C-q or C-v)}}{128}
\entry{\code {quoted-insert (C-q or C-v)}}{130}
\initial {R}
\entry{\code {re-read-init-file (C-x C-r)}}{132}
\entry{\code {redraw-current-line ()}}{126}
\entry{\code {reverse-search-history (C-r)}}{126}
\entry{\code {revert-line (M-r)}}{133}
\entry{\code {re-read-init-file (C-x C-r)}}{134}
\entry{\code {redraw-current-line ()}}{128}
\entry{\code {reverse-search-history (C-r)}}{128}
\entry{\code {revert-line (M-r)}}{135}
\initial {S}
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{128}
\entry{\code {set-mark (C-@)}}{133}
\entry{\code {shell-backward-kill-word ()}}{129}
\entry{\code {shell-backward-word (M-C-b)}}{125}
\entry{\code {shell-expand-line (M-C-e)}}{134}
\entry{\code {shell-forward-word (M-C-f)}}{125}
\entry{\code {shell-kill-word (M-C-d)}}{129}
\entry{\code {shell-transpose-words (M-C-t)}}{129}
\entry{\code {skip-csi-sequence ()}}{133}
\entry{\code {start-kbd-macro (C-x ()}}{132}
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{130}
\entry{\code {set-mark (C-@)}}{135}
\entry{\code {shell-backward-kill-word ()}}{131}
\entry{\code {shell-backward-word (M-C-b)}}{127}
\entry{\code {shell-expand-line (M-C-e)}}{136}
\entry{\code {shell-forward-word (M-C-f)}}{127}
\entry{\code {shell-kill-word (M-C-d)}}{131}
\entry{\code {shell-transpose-words (M-C-t)}}{131}
\entry{\code {skip-csi-sequence ()}}{135}
\entry{\code {start-kbd-macro (C-x ()}}{134}
\initial {T}
\entry{\code {tilde-expand (M-&)}}{133}
\entry{\code {transpose-chars (C-t)}}{128}
\entry{\code {transpose-words (M-t)}}{128}
\entry{\code {tilde-expand (M-&)}}{135}
\entry{\code {transpose-chars (C-t)}}{130}
\entry{\code {transpose-words (M-t)}}{130}
\initial {U}
\entry{\code {undo (C-_ or C-x C-u)}}{132}
\entry{\code {universal-argument ()}}{130}
\entry{\code {unix-filename-rubout ()}}{129}
\entry{\code {unix-line-discard (C-u)}}{129}
\entry{\code {unix-word-rubout (C-w)}}{129}
\entry{\code {upcase-word (M-u)}}{128}
\entry{\code {undo (C-_ or C-x C-u)}}{135}
\entry{\code {universal-argument ()}}{132}
\entry{\code {unix-filename-rubout ()}}{132}
\entry{\code {unix-line-discard (C-u)}}{131}
\entry{\code {unix-word-rubout (C-w)}}{131}
\entry{\code {upcase-word (M-u)}}{130}
\initial {Y}
\entry{\code {yank (C-y)}}{130}
\entry{\code {yank-last-arg (M-. or M-_)}}{127}
\entry{\code {yank-nth-arg (M-C-y)}}{127}
\entry{\code {yank-pop (M-y)}}{130}
\entry{\code {yank (C-y)}}{132}
\entry{\code {yank-last-arg (M-. or M-_)}}{129}
\entry{\code {yank-nth-arg (M-C-y)}}{129}
\entry{\code {yank-pop (M-y)}}{132}
+370 -134
View File
@@ -1,11 +1,11 @@
<!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, 29 January 2020).
the Bash shell (version 5.1, 5 June 2020).
This is Edition 5.0, last updated 29 January 2020,
This is Edition 5.1, last updated 5 June 2020,
of The GNU Bash Reference Manual,
for Bash, Version 5.0.
for Bash, Version 5.1.
Copyright (C) 1988-2018 Free Software Foundation, Inc.
@@ -92,17 +92,18 @@ ul.no-bullet {list-style: none}
</ul></li>
<li><a id="toc-Shell-Commands-1" href="#Shell-Commands">3.2 Shell Commands</a>
<ul class="no-bullet">
<li><a id="toc-Simple-Commands-1" href="#Simple-Commands">3.2.1 Simple Commands</a></li>
<li><a id="toc-Pipelines-1" href="#Pipelines">3.2.2 Pipelines</a></li>
<li><a id="toc-Lists-of-Commands" href="#Lists">3.2.3 Lists of Commands</a></li>
<li><a id="toc-Compound-Commands-1" href="#Compound-Commands">3.2.4 Compound Commands</a>
<li><a id="toc-Reserved-Words-1" href="#Reserved-Words">3.2.1 Reserved Words</a></li>
<li><a id="toc-Simple-Commands-1" href="#Simple-Commands">3.2.2 Simple Commands</a></li>
<li><a id="toc-Pipelines-1" href="#Pipelines">3.2.3 Pipelines</a></li>
<li><a id="toc-Lists-of-Commands" href="#Lists">3.2.4 Lists of Commands</a></li>
<li><a id="toc-Compound-Commands-1" href="#Compound-Commands">3.2.5 Compound Commands</a>
<ul class="no-bullet">
<li><a id="toc-Looping-Constructs-1" href="#Looping-Constructs">3.2.4.1 Looping Constructs</a></li>
<li><a id="toc-Conditional-Constructs-1" href="#Conditional-Constructs">3.2.4.2 Conditional Constructs</a></li>
<li><a id="toc-Grouping-Commands" href="#Command-Grouping">3.2.4.3 Grouping Commands</a></li>
<li><a id="toc-Looping-Constructs-1" href="#Looping-Constructs">3.2.5.1 Looping Constructs</a></li>
<li><a id="toc-Conditional-Constructs-1" href="#Conditional-Constructs">3.2.5.2 Conditional Constructs</a></li>
<li><a id="toc-Grouping-Commands" href="#Command-Grouping">3.2.5.3 Grouping Commands</a></li>
</ul></li>
<li><a id="toc-Coprocesses-1" href="#Coprocesses">3.2.5 Coprocesses</a></li>
<li><a id="toc-GNU-Parallel-1" href="#GNU-Parallel">3.2.6 GNU Parallel</a></li>
<li><a id="toc-Coprocesses-1" href="#Coprocesses">3.2.6 Coprocesses</a></li>
<li><a id="toc-GNU-Parallel-1" href="#GNU-Parallel">3.2.7 GNU Parallel</a></li>
</ul></li>
<li><a id="toc-Shell-Functions-1" href="#Shell-Functions">3.3 Shell Functions</a></li>
<li><a id="toc-Shell-Parameters-1" href="#Shell-Parameters">3.4 Shell Parameters</a>
@@ -186,6 +187,7 @@ ul.no-bullet {list-style: none}
<li><a id="toc-Controlling-the-Prompt-1" href="#Controlling-the-Prompt">6.9 Controlling the Prompt</a></li>
<li><a id="toc-The-Restricted-Shell-1" href="#The-Restricted-Shell">6.10 The Restricted Shell</a></li>
<li><a id="toc-Bash-POSIX-Mode-1" href="#Bash-POSIX-Mode">6.11 Bash POSIX Mode</a></li>
<li><a id="toc-Shell-Compatibility-Mode-1" href="#Shell-Compatibility-Mode">6.12 Shell Compatibility Mode</a></li>
</ul></li>
<li><a id="toc-Job-Control-1" href="#Job-Control">7 Job Control</a>
<ul class="no-bullet">
@@ -273,12 +275,12 @@ 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.0, 29 January 2020).
the Bash shell (version 5.1, 5 June 2020).
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 29 January 2020,
<p>This is Edition 5.1, last updated 5 June 2020,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.0.
for <code>Bash</code>, Version 5.1.
</p>
<p>Bash contains features that appear in other popular shells, and some
features that only appear in Bash. Some of the shells that Bash has
@@ -859,10 +861,15 @@ Previous: <a href="#ANSI_002dC-Quoting" accesskey="p" rel="prev">ANSI-C Quoting<
<span id="index-native-languages"></span>
<span id="index-translation_002c-native-languages"></span>
<p>A double-quoted string preceded by a dollar sign (&lsquo;<samp>$</samp>&rsquo;) will cause
the string to be translated according to the current locale.
If the current locale is <code>C</code> or <code>POSIX</code>, the dollar sign
is ignored.
<p>A double-quoted string preceded by a dollar sign (&lsquo;<samp>$</samp>&rsquo;)
will cause the string to be translated according to the current locale.
The <var>gettext</var> infrastructure performs the message catalog lookup and
translation, using the <code>LC_MESSAGES</code> and <code>TEXTDOMAIN</code> shell
variables, as explained below. See the gettext documentation for additional
details.
If the current locale is <code>C</code> or <code>POSIX</code>,
or if there are no translations available,
the dollar sign is ignored.
If the string is translated and replaced, the replacement is
double-quoted.
</p>
@@ -914,27 +921,55 @@ becomes the input of a second, in a loop or conditional construct, or in
some other grouping.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="#Simple-Commands" accesskey="1">Simple Commands</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The most common type of command.
<tr><td align="left" valign="top">&bull; <a href="#Reserved-Words" accesskey="1">Reserved Words</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Words that have special meaning to the shell.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Pipelines" accesskey="2">Pipelines</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Connecting the input and output of several
<tr><td align="left" valign="top">&bull; <a href="#Simple-Commands" accesskey="2">Simple Commands</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The most common type of command.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Pipelines" accesskey="3">Pipelines</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Connecting the input and output of several
commands.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Lists" accesskey="3">Lists</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">How to execute commands sequentially.
<tr><td align="left" valign="top">&bull; <a href="#Lists" accesskey="4">Lists</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">How to execute commands sequentially.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Compound-Commands" accesskey="4">Compound Commands</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Shell commands for control flow.
<tr><td align="left" valign="top">&bull; <a href="#Compound-Commands" accesskey="5">Compound Commands</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Shell commands for control flow.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Coprocesses" accesskey="5">Coprocesses</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Two-way communication between commands.
<tr><td align="left" valign="top">&bull; <a href="#Coprocesses" accesskey="6">Coprocesses</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Two-way communication between commands.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#GNU-Parallel" accesskey="6">GNU Parallel</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Running commands in parallel.
<tr><td align="left" valign="top">&bull; <a href="#GNU-Parallel" accesskey="7">GNU Parallel</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Running commands in parallel.
</td></tr>
</table>
<hr>
<span id="Reserved-Words"></span><div class="header">
<p>
Next: <a href="#Simple-Commands" accesskey="n" rel="next">Simple Commands</a>, Up: <a href="#Shell-Commands" accesskey="u" rel="up">Shell Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Reserved-Words-1"></span><h4 class="subsection">3.2.1 Reserved Words</h4>
<span id="index-reserved-words"></span>
<p>Reserved words are words that have special meaning to the shell.
They are used to begin and end the shell&rsquo;s compound commands.
</p>
<p>The following words are recognized as reserved when unquoted and
the first word of a command (see below for exceptions):
</p>
<table>
<tr><td width="10%"><code>if</code></td><td width="10%"><code>then</code></td><td width="10%"><code>elif</code></td><td width="10%"><code>else</code></td><td width="12%"><code>fi</code></td><td width="10%"><code>time</code></td></tr>
<tr><td width="10%"><code>for</code></td><td width="10%"><code>in</code></td><td width="10%"><code>until</code></td><td width="10%"><code>while</code></td><td width="12%"><code>do</code></td><td width="10%"><code>done</code></td></tr>
<tr><td width="10%"><code>case</code></td><td width="10%"><code>esac</code></td><td width="10%"><code>coproc</code></td><td width="10%"><code>select</code></td><td width="12%"><code>function</code></td></tr>
<tr><td width="10%"><code>{</code></td><td width="10%"><code>}</code></td><td width="10%"><code>[[</code></td><td width="10%"><code>]]</code></td><td width="12%"><code>!</code></td></tr>
</table>
<p><code>in</code> is recognized as a reserved word if it is the third word of a
<code>case</code> or <code>select</code> command.
<code>in</code> and <code>do</code> are recognized as reserved
words if they are the third word in a <code>for</code> command.
</p>
<hr>
<span id="Simple-Commands"></span><div class="header">
<p>
Next: <a href="#Pipelines" accesskey="n" rel="next">Pipelines</a>, Up: <a href="#Shell-Commands" accesskey="u" rel="up">Shell Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
Next: <a href="#Pipelines" accesskey="n" rel="next">Pipelines</a>, Previous: <a href="#Reserved-Words" accesskey="p" rel="prev">Reserved Words</a>, Up: <a href="#Shell-Commands" accesskey="u" rel="up">Shell Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Simple-Commands-1"></span><h4 class="subsection">3.2.1 Simple Commands</h4>
<span id="Simple-Commands-1"></span><h4 class="subsection">3.2.2 Simple Commands</h4>
<span id="index-commands_002c-simple"></span>
<p>A simple command is the kind of command encountered most often.
@@ -953,7 +988,7 @@ the command was terminated by signal <var>n</var>.
<p>
Next: <a href="#Lists" accesskey="n" rel="next">Lists</a>, Previous: <a href="#Simple-Commands" accesskey="p" rel="prev">Simple Commands</a>, Up: <a href="#Shell-Commands" accesskey="u" rel="up">Shell Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Pipelines-1"></span><h4 class="subsection">3.2.2 Pipelines</h4>
<span id="Pipelines-1"></span><h4 class="subsection">3.2.3 Pipelines</h4>
<span id="index-pipeline"></span>
<span id="index-commands_002c-pipelines"></span>
@@ -1030,7 +1065,7 @@ returning a value.
<p>
Next: <a href="#Compound-Commands" accesskey="n" rel="next">Compound Commands</a>, Previous: <a href="#Pipelines" accesskey="p" rel="prev">Pipelines</a>, Up: <a href="#Shell-Commands" accesskey="u" rel="up">Shell Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Lists-of-Commands"></span><h4 class="subsection">3.2.3 Lists of Commands</h4>
<span id="Lists-of-Commands"></span><h4 class="subsection">3.2.4 Lists of Commands</h4>
<span id="index-commands_002c-lists"></span>
<p>A <code>list</code> is a sequence of one or more pipelines separated by one
@@ -1089,7 +1124,7 @@ executed in the list.
<p>
Next: <a href="#Coprocesses" accesskey="n" rel="next">Coprocesses</a>, Previous: <a href="#Lists" accesskey="p" rel="prev">Lists</a>, Up: <a href="#Shell-Commands" accesskey="u" rel="up">Shell Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Compound-Commands-1"></span><h4 class="subsection">3.2.4 Compound Commands</h4>
<span id="Compound-Commands-1"></span><h4 class="subsection">3.2.5 Compound Commands</h4>
<span id="index-commands_002c-compound"></span>
<table class="menu" border="0" cellspacing="0">
@@ -1119,7 +1154,7 @@ to group commands and execute them as a unit.
<p>
Next: <a href="#Conditional-Constructs" accesskey="n" rel="next">Conditional Constructs</a>, Up: <a href="#Compound-Commands" accesskey="u" rel="up">Compound Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Looping-Constructs-1"></span><h4 class="subsubsection">3.2.4.1 Looping Constructs</h4>
<span id="Looping-Constructs-1"></span><h4 class="subsubsection">3.2.5.1 Looping Constructs</h4>
<span id="index-commands_002c-looping"></span>
<p>Bash supports the following looping constructs.
@@ -1204,7 +1239,7 @@ may be used to control loop execution.
<p>
Next: <a href="#Command-Grouping" accesskey="n" rel="next">Command Grouping</a>, Previous: <a href="#Looping-Constructs" accesskey="p" rel="prev">Looping Constructs</a>, Up: <a href="#Compound-Commands" accesskey="u" rel="up">Compound Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Conditional-Constructs-1"></span><h4 class="subsubsection">3.2.4.2 Conditional Constructs</h4>
<span id="Conditional-Constructs-1"></span><h4 class="subsubsection">3.2.5.2 Conditional Constructs</h4>
<span id="index-commands_002c-conditional"></span>
<dl compact="compact">
@@ -1517,7 +1552,7 @@ value of the entire conditional expression.
<p>
Previous: <a href="#Conditional-Constructs" accesskey="p" rel="prev">Conditional Constructs</a>, Up: <a href="#Compound-Commands" accesskey="u" rel="up">Compound Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Grouping-Commands"></span><h4 class="subsubsection">3.2.4.3 Grouping Commands</h4>
<span id="Grouping-Commands"></span><h4 class="subsubsection">3.2.5.3 Grouping Commands</h4>
<span id="index-commands_002c-grouping"></span>
<p>Bash provides two ways to group a list of commands to be executed
@@ -1567,7 +1602,7 @@ from the <var>list</var> by whitespace.
<p>
Next: <a href="#GNU-Parallel" accesskey="n" rel="next">GNU Parallel</a>, Previous: <a href="#Compound-Commands" accesskey="p" rel="prev">Compound Commands</a>, Up: <a href="#Shell-Commands" accesskey="u" rel="up">Shell Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Coprocesses-1"></span><h4 class="subsection">3.2.5 Coprocesses</h4>
<span id="Coprocesses-1"></span><h4 class="subsection">3.2.6 Coprocesses</h4>
<span id="index-coprocess"></span>
<p>A <code>coprocess</code> is a shell command preceded by the <code>coproc</code>
@@ -1617,7 +1652,7 @@ The return status of a coprocess is the exit status of <var>command</var>.
<p>
Previous: <a href="#Coprocesses" accesskey="p" rel="prev">Coprocesses</a>, Up: <a href="#Shell-Commands" accesskey="u" rel="up">Shell Commands</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="GNU-Parallel-1"></span><h4 class="subsection">3.2.6 GNU Parallel</h4>
<span id="GNU-Parallel-1"></span><h4 class="subsection">3.2.7 GNU Parallel</h4>
<p>There are ways to run commands in parallel that are not built into Bash.
GNU Parallel is a tool to do just that.
@@ -2630,7 +2665,7 @@ results.
</p>
<p>Substring indexing is zero-based unless the positional parameters
are used, in which case the indexing starts at 1 by default.
If <var>offset</var> is 0, and the positional parameters are used, <code>$@</code> is
If <var>offset</var> is 0, and the positional parameters are used, <code>$0</code> is
prefixed to the list.
</p>
</dd>
@@ -2764,6 +2799,18 @@ or information about <var>parameter</var> itself, depending on the value of
<var>operator</var>. Each <var>operator</var> is a single letter:
</p>
<dl compact="compact">
<dt><code>U</code></dt>
<dd><p>The expansion is a string that is the value of <var>parameter</var> with lowercase
alphabetic characters converted to uppercase.
</p></dd>
<dt><code>u</code></dt>
<dd><p>The expansion is a string that is the value of <var>parameter</var> with the first
character converted to uppercase, if it is alphabetic.
</p></dd>
<dt><code>L</code></dt>
<dd><p>The expansion is a string that is the value of <var>parameter</var> with uppercase
alphabetic characters converted to lowercase.
</p></dd>
<dt><code>Q</code></dt>
<dd><p>The expansion is a string that is the value of <var>parameter</var> quoted in a
format that can be reused as input.
@@ -2781,6 +2828,12 @@ escape sequences expanded as with the <code>$'&hellip;'</code> quoting mechanism
an assignment statement or <code>declare</code> command that, if
evaluated, will recreate <var>parameter</var> with its attributes and value.
</p></dd>
<dt><code>K</code></dt>
<dd><p>Produces a possibly-quoted version of the value of <var>parameter</var>,
except that it prints the values of
indexed and associative arrays as a sequence of quoted key-value pairs
(see <a href="#Arrays">Arrays</a>).
</p></dd>
<dt><code>a</code></dt>
<dd><p>The expansion is a string consisting of flag values representing
<var>parameter</var>&rsquo;s attributes.
@@ -4703,7 +4756,7 @@ zero if <var>command</var> is found, and non-zero if not.
<dt><code>declare</code></dt>
<dd><span id="index-declare"></span>
<div class="example">
<pre class="example">declare [-aAfFgilnrtux] [-p] [<var>name</var>[=<var>value</var>] &hellip;]
<pre class="example">declare [-aAfFgiIlnrtux] [-p] [<var>name</var>[=<var>value</var>] &hellip;]
</pre></div>
<p>Declare variables and give them attributes. If no <var>name</var>s
@@ -4732,6 +4785,12 @@ each <var>name</var> is defined are displayed as well.
the global scope, even when <code>declare</code> is executed in a shell function.
It is ignored in all other cases.
</p>
<p>The <samp>-I</samp> option causes local variables to inherit the attributes
(except the <var>nameref</var> attribute)
and value of any existing variable with the same
<var>name</var> at a surrounding scope.
If there is no existing variable, the local variable is initially unset.
</p>
<p>The following options can be used to restrict output to variables with
the specified attributes or to give variables attributes:
</p>
@@ -5098,6 +5157,11 @@ This is an exception to the usual <code>printf</code> behavior.
</p></dd>
</dl>
<p>The %b, %q, and %T directives all use the field width and precision
arguments from the format specification and write that many bytes from
(or use that wide a field for) the expanded argument, which usually
contains more characters than the original.
</p>
<p>Arguments to non-string format specifiers are treated as C language constants,
except that a leading plus or minus sign is allowed, and if the leading
character is a single or double quote, the value is the ASCII value of
@@ -5369,7 +5433,7 @@ allow this value to be set).
</p>
</dd>
<dt><code>-q</code></dt>
<dd><p>The maximum number of bytes in POSIX message queues.
<dd><p>The maximum number of bytes in <small>POSIX</small> message queues.
</p>
</dd>
<dt><code>-r</code></dt>
@@ -5401,6 +5465,10 @@ some systems, to its children.
<dd><p>The maximum number of pseudoterminals.
</p>
</dd>
<dt><code>-R</code></dt>
<dd><p>The maximum time a real-time process can run before blocking, in microseconds.
</p>
</dd>
<dt><code>-T</code></dt>
<dd><p>The maximum number of threads.
</p></dd>
@@ -5418,8 +5486,10 @@ is printed, unless the <samp>-H</samp> option is supplied.
When setting new limits, if neither <samp>-H</samp> nor <samp>-S</samp> is supplied,
both the hard and soft limits are set.
If no option is given, then <samp>-f</samp> is assumed. Values are in 1024-byte
increments, except for <samp>-t</samp>, which is in seconds; <samp>-p</samp>,
which is in units of 512-byte blocks;
increments, except for
<samp>-t</samp>, which is in seconds;
<samp>-R</samp>, which is in microseconds;
<samp>-p</samp>, which is in units of 512-byte blocks;
<samp>-P</samp>,
<samp>-T</samp>,
<samp>-b</samp>,
@@ -5927,67 +5997,14 @@ history is enabled (see <a href="#Bash-History-Facilities">Bash History Faciliti
</p>
</dd>
<dt><code>compat31</code></dt>
<dd><p>If set, Bash
changes its behavior to that of version 3.1 with respect to quoted
arguments to the conditional command&rsquo;s &lsquo;<samp>=~</samp>&rsquo; operator
and with respect to locale-specific
string comparison when using the <code>[[</code>
conditional command&rsquo;s &lsquo;<samp>&lt;</samp>&rsquo; and &lsquo;<samp>&gt;</samp>&rsquo; operators.
Bash versions prior to bash-4.1 use ASCII collation and strcmp(3);
bash-4.1 and later use the current locale&rsquo;s collation sequence and strcoll(3).
</p>
</dd>
<dt><code>compat32</code></dt>
<dd><p>If set, Bash
changes its behavior to that of version 3.2 with respect to locale-specific
string comparison when using the <code>[[</code>
conditional command&rsquo;s &lsquo;<samp>&lt;</samp>&rsquo; and &lsquo;<samp>&gt;</samp>&rsquo; operators (see previous item)
and the effect of interrupting a command list.
Bash versions 3.2 and earlier continue with the next command in the list
after one terminates due to an interrupt.
</p>
</dd>
<dt><code>compat40</code></dt>
<dd><p>If set, Bash
changes its behavior to that of version 4.0 with respect to locale-specific
string comparison when using the <code>[[</code>
conditional command&rsquo;s &lsquo;<samp>&lt;</samp>&rsquo; and &lsquo;<samp>&gt;</samp>&rsquo; operators (see description
of <code>compat31</code>)
and the effect of interrupting a command list.
Bash versions 4.0 and later interrupt the list as if the shell received the
interrupt; previous versions continue with the next command in the list.
</p>
</dd>
<dt><code>compat41</code></dt>
<dd><p>If set, Bash, when in <small>POSIX</small> mode, treats a single quote in a double-quoted
parameter expansion as a special character. The single quotes must match
(an even number) and the characters between the single quotes are considered
quoted. This is the behavior of <small>POSIX</small> mode through version 4.1.
The default Bash behavior remains as in previous versions.
</p>
</dd>
<dt><code>compat42</code></dt>
<dd><p>If set, Bash
does not process the replacement string in the pattern substitution word
expansion using quote removal.
</p>
</dd>
<dt><code>compat43</code></dt>
<dd><p>If set, Bash
does not print a warning message if an attempt is made to use a quoted compound
array assignment as an argument to <code>declare</code>,
makes word expansion errors
non-fatal errors that cause the current command to fail (the default behavior is
to make them fatal errors that cause the shell to exit),
and does not reset the
loop state when a shell function is executed (this allows <code>break</code> or
<code>continue</code> in a shell function to affect loops in the caller&rsquo;s context).
</p>
</dd>
<dt><code>compat44</code></dt>
<dd><p>If set, Bash
saves the positional parameters to BASH_ARGV and BASH_ARGC before they are
used, regardless of whether or not extended debugging mode is enabled.
<dd><p>These control aspects of the shell&rsquo;s compatibility mode
(see <a href="#Shell-Compatibility-Mode">Shell Compatibility Mode</a>).
</p>
</dd>
<dt><code>complete_fullquote</code></dt>
@@ -6446,7 +6463,7 @@ variables for controlling the job control facilities
</dt>
<dd><span id="index-_0024_005f"></span>
<p>($_, an underscore.)
At shell startup, set to the absolute pathname used to invoke the
At shell startup, set to the pathname used to invoke the
shell or shell script being executed as passed in the environment
or argument list.
Subsequently, expands to the last argument to the previous simple
@@ -6578,8 +6595,8 @@ subsequently reset.
<span id="index-BASH_005fCOMPAT"></span>
</dt>
<dd><p>The value is used to set the shell&rsquo;s compatibility level.
See <a href="#The-Shopt-Builtin">The Shopt Builtin</a>, for a description of the various compatibility
levels and their effects.
See <a href="#Shell-Compatibility-Mode">Shell Compatibility Mode</a>, for a description of the various
compatibility levels and their effects.
The value may be a decimal number (e.g., 4.2) or an integer (e.g., 42)
corresponding to the desired compatibility level.
If <code>BASH_COMPAT</code> is unset or set to the empty string, the compatibility
@@ -6587,9 +6604,11 @@ level is set to the default for the current version.
If <code>BASH_COMPAT</code> is set to a value that is not one of the valid
compatibility levels, the shell prints an error message and sets the
compatibility level to the default for the current version.
The valid compatibility levels correspond to the compatibility options
accepted by the <code>shopt</code> builtin described above (for example,
<var>compat42</var> means that 4.2 and 42 are valid values).
The valid values correspond to the compatibility levels
described below (see <a href="#Shell-Compatibility-Mode">Shell Compatibility Mode</a>).
For example, 4.2 and 42 are valid values that correspond
to the <code>compat42</code> <code>shopt</code> option
and set the compatibility level to 42.
The current version is also a valid value.
</p>
</dd>
@@ -7002,6 +7021,7 @@ parser to treat the rest of the line as a comment.
</dt>
<dd><p>The history number, or index in the history list, of the current
command.
Assignments to <code>HISTCMD</code> are ignored.
If <code>HISTCMD</code>
is unset, it loses its special properties,
even if it is subsequently reset.
@@ -7302,11 +7322,15 @@ not already set.
is readonly.
</p>
</dd>
<dt><code>PROMPT_COMMAND</code>
<span id="index-PROMPT_005fCOMMAND"></span>
<dt><code>PROMPT_COMMANDS</code>
<span id="index-PROMPT_005fCOMMANDS"></span>
</dt>
<dd><p>If set, the value is interpreted as a command to execute
before the printing of each primary prompt (<code>$PS1</code>).
<dd><p>If this array variable is set,
the value of each set element is interpreted as a command to execute
before printing the primary prompt (<code>$PS1</code>).
If this is not set, but
<code>PROMPT_COMMAND</code>
is set to a value, its value is used as a command to execute instead.
</p>
</dd>
<dt><code>PROMPT_DIRTRIM</code>
@@ -7321,7 +7345,7 @@ Characters removed are replaced with an ellipsis.
<dt><code>PS0</code>
<span id="index-PS0"></span>
</dt>
<dd><p>The value of this parameter is expanded like <var>PS1</var>
<dd><p>The value of this parameter is expanded like <code>PS1</code>
and displayed by interactive shells after reading a command
and before the command is executed.
</p>
@@ -7400,6 +7424,8 @@ 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 at shell invocation and the current time is always
determined by querying the system clock.
If <code>SECONDS</code>
is unset, it loses its special properties,
even if it is subsequently reset.
@@ -7567,6 +7593,9 @@ Next: <a href="#Job-Control" accesskey="n" rel="next">Job Control</a>, Previous:
<tr><td align="left" valign="top">&bull; <a href="#Bash-POSIX-Mode">Bash POSIX Mode</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Making Bash behave more closely to what
the POSIX standard specifies.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Shell-Compatibility-Mode">Shell Compatibility Mode</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">How Bash supports behavior that was present
in earlier versions and has changed.
</td></tr>
</table>
<hr>
@@ -7971,8 +8000,8 @@ executing it.
See <a href="#Controlling-the-Prompt">Controlling the Prompt</a>, for a complete list of prompt
string escape sequences.
</li><li> Bash executes the value of the <code>PROMPT_COMMAND</code> variable as a command
before printing the primary prompt, <code>$PS1</code>
</li><li> Bash executes the values of the set elements of the <code>PROMPT_COMMANDS</code>
array variable as commands before printing the primary prompt, <code>$PS1</code>
(see <a href="#Bash-Variables">Bash Variables</a>).
</li><li> Readline (see <a href="#Command-Line-Editing">Command Line Editing</a>) is used to read commands from
@@ -8477,14 +8506,27 @@ an array.
<pre class="example"><var>name</var>=(<var>value1</var> <var>value2</var> &hellip; )
</pre></div>
<p>where each
<var>value</var> is of the form <code>[<var>subscript</var>]=</code><var>string</var>.
<var>value</var> may be of the form <code>[<var>subscript</var>]=</code><var>string</var>.
Indexed array assignments do not require anything but <var>string</var>.
When assigning to indexed arrays, if
the optional subscript is supplied, that index is assigned to;
otherwise the index of the element assigned is the last index assigned
to by the statement plus one. Indexing starts at zero.
</p>
<p>When assigning to an associative array, the subscript is required.
<p>Each <var>value</var> in the list undergoes all the shell expansions
described above (see <a href="#Shell-Expansions">Shell Expansions</a>).
</p>
<p>When assigning to an associative array, the words in a compound assignment
may be either assignment statements, for which the subscript is required,
or a list of words that is interpreted as a sequence of alternating keys
and values:
<var>name</var>=(<var>key1</var> <var>value1</var> <var>key2</var> <var>value2</var> &hellip; ).
These are treated identically to
<var>name</var>=( [<var>key1</var>]=<var>value1</var> [<var>key2</var>]=<var>value2</var> &hellip; ).
The first word in the list determines how the remaining words
are interpreted; all assignments in a list must be of the same type.
When using key/value pairs, the keys may not be missing or empty;
a final missing value is treated like the empty string.
</p>
<p>This syntax is also accepted by the <code>declare</code>
builtin. Individual array elements may be assigned to using the
@@ -8709,10 +8751,11 @@ Next: <a href="#The-Restricted-Shell" accesskey="n" rel="next">The Restricted Sh
<span id="Controlling-the-Prompt-1"></span><h3 class="section">6.9 Controlling the Prompt</h3>
<span id="index-prompting"></span>
<p>The value of the variable <code>PROMPT_COMMAND</code> is examined just before
Bash prints each primary prompt. If <code>PROMPT_COMMAND</code> is set and
has a non-null value, then the
value is executed just as if it had been typed on the command line.
<p>Bash examines the value of the array variable <code>PROMPT_COMMANDS</code> just before
printing each primary prompt.
If any elements in <code>PROMPT_COMMANDS</code> are set and non-null, Bash
executes each value, in numeric order,
just as if it had been typed on the command line.
</p>
<p>In addition, the following table describes the special characters which
can appear in the prompt variables <code>PS0</code>, <code>PS1</code>, <code>PS2</code>, and
@@ -8843,10 +8886,13 @@ with the exception that the following are disallowed or not performed:
<ul>
<li> Changing directories with the <code>cd</code> builtin.
</li><li> Setting or unsetting the values of the <code>SHELL</code>, <code>PATH</code>,
<code>HISTFILE</code>,
<code>ENV</code>, or <code>BASH_ENV</code> variables.
</li><li> Specifying command names containing slashes.
</li><li> Specifying a filename containing a slash as an argument to the <code>.</code>
builtin command.
</li><li> Specifying a filename containing a slash as an argument to the <code>history</code>
builtin command.
</li><li> Specifying a filename containing a slash as an argument to the <samp>-p</samp>
option to the <code>hash</code> builtin command.
</li><li> Importing function definitions from the shell environment at startup.
@@ -8883,7 +8929,7 @@ such as <code>jails</code>, <code>zones</code>, or <code>containers</code>.
<hr>
<span id="Bash-POSIX-Mode"></span><div class="header">
<p>
Previous: <a href="#The-Restricted-Shell" accesskey="p" rel="prev">The Restricted Shell</a>, Up: <a href="#Bash-Features" accesskey="u" rel="up">Bash Features</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
Next: <a href="#Shell-Compatibility-Mode" accesskey="n" rel="next">Shell Compatibility Mode</a>, Previous: <a href="#The-Restricted-Shell" accesskey="p" rel="prev">The Restricted Shell</a>, Up: <a href="#Bash-Features" accesskey="u" rel="up">Bash Features</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Bash-POSIX-Mode-1"></span><h3 class="section">6.11 Bash POSIX Mode</h3>
<span id="index-POSIX-Mode"></span>
@@ -8973,6 +9019,7 @@ not have to appear as matched pairs.
</li><li> The parser does not recognize <code>time</code> as a reserved word if the next
token begins with a &lsquo;<samp>-</samp>&rsquo;.
</li><li> The &lsquo;<samp>!</samp>&rsquo; character does not introduce history expansion within a
double-quoted string, even if the <code>histexpand</code> option is enabled.
@@ -9018,10 +9065,6 @@ double-quoted.
</li><li> Assignment statements preceding <small>POSIX</small> special builtins
persist in the shell environment after the builtin completes.
</li><li> Assignment statements preceding shell function calls persist in the
shell environment after the function returns, as if a <small>POSIX</small>
special builtin command had been executed.
</li><li> The <code>command</code> builtin does not prevent builtins that take assignment
statements as arguments from expanding them as assignment statements;
when not in <small>POSIX</small> mode, assignment builtins lose their assignment
@@ -9050,6 +9093,9 @@ is a valid signal number. If users want to reset the handler for a given
signal to the original disposition, they should use &lsquo;<samp>-</samp>&rsquo; as the
first argument.
</li><li> <code>trap -p</code> displays signals whose dispositions are set to SIG_DFL and
those that were ignored when the shell started.
</li><li> The <code>.</code> and <code>source</code> builtins do not search the current directory
for the filename argument if it is not found by searching <code>PATH</code>.
@@ -9143,6 +9189,168 @@ the <code>echo</code> builtin to be fully conformant.
the <samp>--enable-strict-posix-default</samp> to <code>configure</code> when building
(see <a href="#Optional-Features">Optional Features</a>).
</p>
<hr>
<span id="Shell-Compatibility-Mode"></span><div class="header">
<p>
Previous: <a href="#Bash-POSIX-Mode" accesskey="p" rel="prev">Bash POSIX Mode</a>, Up: <a href="#Bash-Features" accesskey="u" rel="up">Bash Features</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Indexes" title="Index" rel="index">Index</a>]</p>
</div>
<span id="Shell-Compatibility-Mode-1"></span><h3 class="section">6.12 Shell Compatibility Mode</h3>
<span id="index-Compatibility-Level"></span>
<span id="index-Compatibility-Mode"></span>
<p>Bash-4.0 introduced the concept of a &lsquo;shell compatibility level&rsquo;, specified
as a set of options to the shopt builtin
(<code>compat31</code>,
<code>compat32</code>,
<code>compat40</code>,
<code>compat41</code>,
and so on).
There is only one current
compatibility level &ndash; each option is mutually exclusive.
The compatibility level is intended to allow users to select behavior
from previous versions that is incompatible with newer versions
while they migrate scripts to use current features and
behavior. It&rsquo;s intended to be a temporary solution.
</p>
<p>This section does not mention behavior that is standard for a particular
version (e.g., setting <code>compat32</code> means that quoting the rhs of the regexp
matching operator quotes special regexp characters in the word, which is
default behavior in bash-3.2 and above).
</p>
<p>If a user enables, say, <code>compat32</code>, it may affect the behavior of other
compatibility levels up to and including the current compatibility level.
The idea is that each compatibility level controls behavior that changed
in that version of Bash,
but that behavior may have been present in earlier versions.
For instance, the change to use locale-based comparisons with the <code>[[</code>
command came in bash-4.1, and earlier versions used ASCII-based comparisons,
so enabling <code>compat32</code> will enable ASCII-based comparisons as well.
That granularity may not be sufficient for
all uses, and as a result users should employ compatibility levels carefully.
Read the documentation for a particular feature to find out the
current behavior.
</p>
<p>Bash-4.3 introduced a new shell variable: <code>BASH_COMPAT</code>.
The value assigned
to this variable (a decimal version number like 4.2, or an integer
corresponding to the <code>compat</code><var>NN</var> option, like 42) determines the
compatibility level.
</p>
<p>Starting with bash-4.4, Bash has begun deprecating older compatibility
levels.
Eventually, the options will be removed in favor of <code>BASH_COMPAT</code>.
</p>
<p>Bash-5.0 is the final version for which there will be an individual shopt
option for the previous version. Users should use <code>BASH_COMPAT</code>
on bash-5.0 and later versions.
</p>
<p>The following table describes the behavior changes controlled by each
compatibility level setting.
The <code>compat</code><var>NN</var> tag is used as shorthand for setting the
compatibility level
to <var>NN</var> using one of the following mechanisms.
For versions prior to bash-5.0, the compatibility level may be set using
the corresponding <code>compat</code><var>NN</var> shopt option.
For bash-4.3 and later versions, the <code>BASH_COMPAT</code> variable is preferred,
and it is required for bash-5.1 and later versions.
</p>
<dl compact="compact">
<dt><code>compat31</code></dt>
<dd><ul>
<li> quoting the rhs of the <code>[[</code> command&rsquo;s regexp matching operator (=~)
has no special effect
</li></ul>
</dd>
<dt><code>compat32</code></dt>
<dd><ul>
<li> interrupting a command list such as &quot;a ; b ; c&quot; causes the execution
of the next command in the list (in bash-4.0 and later versions,
the shell acts as if it received the interrupt, so
interrupting one command in a list aborts the execution of the
entire list)
</li></ul>
</dd>
<dt><code>compat40</code></dt>
<dd><ul>
<li> the &lsquo;<samp>&lt;</samp>&rsquo; and &lsquo;<samp>&gt;</samp>&rsquo; operators to the <code>[[</code> command do not
consider the current locale when comparing strings; they use ASCII
ordering.
Bash versions prior to bash-4.1 use ASCII collation and strcmp(3);
bash-4.1 and later use the current locale&rsquo;s collation sequence and
strcoll(3).
</li></ul>
</dd>
<dt><code>compat41</code></dt>
<dd><ul>
<li> in posix mode, <code>time</code> may be followed by options and still be
recognized as a reserved word (this is <small>POSIX</small> interpretation 267)
</li><li> in posix mode, the parser requires that an even number of single
quotes occur in the <var>word</var> portion of a double-quoted ${&hellip;}
parameter expansion and treats them specially, so that characters within
the single quotes are considered quoted
(this is <small>POSIX</small> interpretation 221)
</li></ul>
</dd>
<dt><code>compat42</code></dt>
<dd><ul>
<li> the replacement string in double-quoted pattern substitution does not
undergo quote removal, as it does in versions after bash-4.2
</li><li> in posix mode, single quotes are considered special when expanding
the <var>word</var> portion of a double-quoted ${&hellip;} parameter expansion
and can be used to quote a closing brace or other special character
(this is part of <small>POSIX</small> interpretation 221);
in later versions, single quotes
are not special within double-quoted word expansions
</li></ul>
</dd>
<dt><code>compat43</code></dt>
<dd><ul>
<li> the shell does not print a warning message if an attempt is made to
use a quoted compound assignment as an argument to declare
(declare -a foo=&rsquo;(1 2)&rsquo;). Later versions warn that this usage is
deprecated
</li><li> word expansion errors are considered non-fatal errors that cause the
current command to fail, even in posix mode
(the default behavior is to make them fatal errors that cause the shell
to exit)
</li><li> when executing a shell function, the loop state (while/until/etc.)
is not reset, so <code>break</code> or <code>continue</code> in that function will break
or continue loops in the calling context. Bash-4.4 and later reset
the loop state to prevent this
</li></ul>
</dd>
<dt><code>compat44</code></dt>
<dd><ul>
<li> the shell sets up the values used by <code>BASH_ARGV</code> and <code>BASH_ARGC</code>
so they can expand to the shell&rsquo;s positional parameters even if extended
debugging mode is not enabled
</li><li> a subshell inherits loops from its parent context, so <code>break</code>
or <code>continue</code> will cause the subshell to exit.
Bash-5.0 and later reset the loop state to prevent the exit
</li><li> variable assignments preceding builtins like <code>export</code> and <code>readonly</code>
that set attributes continue to affect variables with the same
name in the calling environment even if the shell is not in posix
mode
</li></ul>
</dd>
<dt><code>compat50 (set using BASH_COMPAT)</code></dt>
<dd><ul>
<li> Bash-5.1 changed the way <code>$RANDOM</code> is generated to introduce slightly
more randomness. If the shell compatibility level is set to 50 or
lower, it reverts to the method from bash-5.0 and previous versions,
so seeding the random number generator by assigning a value to
<code>RANDOM</code> will produce the same sequence as in bash-5.0
</li></ul>
</dd>
</dl>
<hr>
<span id="Job-Control"></span><div class="header">
<p>
@@ -9245,7 +9453,8 @@ previous job with a &lsquo;<samp>-</samp>&rsquo;.
<p>A job may also be referred to
using a prefix of the name used to start it, or using a substring
that appears in its command line. For example, &lsquo;<samp>%ce</samp>&rsquo; refers
to a stopped <code>ce</code> job. Using &lsquo;<samp>%?ce</samp>&rsquo;, on the
to a stopped job whose command name begins with &lsquo;<samp>ce</samp>&rsquo;.
Using &lsquo;<samp>%?ce</samp>&rsquo;, on the
other hand, refers to any job containing the string &lsquo;<samp>ce</samp>&rsquo; in
its command line. If the prefix or substring matches more than one job,
Bash reports an error.
@@ -9398,7 +9607,12 @@ the last-executed process substitution, if its process id is the same as
<var>$!</var>,
and the return status is zero.
If the <samp>-n</samp> option is supplied, <code>wait</code> waits for a single job
to terminate and returns its exit status.
from the list of <var>pids</var> or <var>jobspecs</var> or, if no arguments are
supplied, any job,
to complete and returns its exit status.
If none of the supplied arguments is a child of the shell, or if no arguments
are supplied and the shell has no unwaited-for children, the exit status
is 127.
If the <samp>-p</samp> option is supplied, the process or job identifier of the job
for which the exit status is returned is assigned to the variable
<var>varname</var> named by the option argument.
@@ -10821,10 +11035,19 @@ of the current Readline line is not greater than the length of the prompt
plus the screen width.
</p>
</dd>
<dt><code>clear-display (M-C-l)</code>
<span id="index-clear_002ddisplay-_0028M_002dC_002dl_0029"></span>
</dt>
<dd><p>Clear the screen and, if possible, the terminal&rsquo;s scrollback buffer,
then redraw the current line,
leaving the current line at the top of the screen.
</p>
</dd>
<dt><code>clear-screen (C-l)</code>
<span id="index-clear_002dscreen-_0028C_002dl_0029"></span>
</dt>
<dd><p>Clear the screen and redraw the current line,
<dd><p>Clear the screen,
then redraw the current line,
leaving the current line at the top of the screen.
</p>
</dd>
@@ -10981,6 +11204,17 @@ The history expansion facilities are used to extract the last argument,
as if the &lsquo;<samp>!$</samp>&rsquo; history expansion had been specified.
</p>
</dd>
<dt><code>operate-and-get-next (C-o)</code>
<span id="index-operate_002dand_002dget_002dnext-_0028C_002do_0029"></span>
</dt>
<dd><p>Accept the current line for return to the calling application as if a
newline had been entered,
and fetch the next line relative to the current line from the history
for editing.
A numeric argument, if supplied, specifies the history entry to use instead
of the current line.
</p>
</dd>
</dl>
<hr>
@@ -11697,15 +11931,6 @@ word expansions (see <a href="#Shell-Expansions">Shell Expansions</a>).
<dd><p>A synonym for <code>yank-last-arg</code>.
</p>
</dd>
<dt><code>operate-and-get-next (C-o)</code>
<span id="index-operate_002dand_002dget_002dnext-_0028C_002do_0029"></span>
</dt>
<dd><p>Accept the current line for execution and fetch the next line
relative to the current line from the history for editing.
A numeric argument, if supplied, specifies the history entry to use instead
of the current line.
</p>
</dd>
<dt><code>edit-and-execute-command (C-x C-e)</code>
<span id="index-edit_002dand_002dexecute_002dcommand-_0028C_002dx-C_002de_0029"></span>
</dt>
@@ -12477,7 +12702,14 @@ Both <var>first</var> and
<var>last</var> may be specified as a string (to locate the most recent
command beginning with that string) or as a number (an index into the
history list, where a negative number is used as an offset from the
current command number). If <var>last</var> is not specified, it is set to
current command number).
</p>
<p>When listing, a <var>first</var> or <var>last</var> of 0 is equivalent to -1
and -0 is equivalent to the current command (usually the <code>fc</code>
command);
otherwise 0 is equivalent to -1 and -0 is invalid.
</p>
<p>If <var>last</var> is not specified, it is set to
<var>first</var>. If <var>first</var> is not specified, it is set to the previous
command for editing and -16 for listing. If the <samp>-l</samp> flag is
given, the commands are listed on standard output. The <samp>-n</samp> flag
@@ -14998,7 +15230,7 @@ Next: <a href="#Function-Index" accesskey="n" rel="next">Function Index</a>, Pre
<tr><td></td><td valign="top"><a href="#index-PIPESTATUS"><code>PIPESTATUS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-POSIXLY_005fCORRECT"><code>POSIXLY_CORRECT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-PPID"><code>PPID</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-PROMPT_005fCOMMAND"><code>PROMPT_COMMAND</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-PROMPT_005fCOMMANDS"><code>PROMPT_COMMANDS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-PROMPT_005fDIRTRIM"><code>PROMPT_DIRTRIM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-PS0"><code>PS0</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-PS1"><code>PS1</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bourne-Shell-Variables">Bourne Shell Variables</a></td></tr>
@@ -15171,6 +15403,7 @@ Next: <a href="#Concept-Index" accesskey="n" rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a href="#index-capitalize_002dword-_0028M_002dc_0029"><code>capitalize-word (M-c)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Text">Commands For Text</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-character_002dsearch-_0028C_002d_005d_0029"><code>character-search (C-])</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-character_002dsearch_002dbackward-_0028M_002dC_002d_005d_0029"><code>character-search-backward (M-C-])</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-clear_002ddisplay-_0028M_002dC_002dl_0029"><code>clear-display (M-C-l)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Moving">Commands For Moving</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-clear_002dscreen-_0028C_002dl_0029"><code>clear-screen (C-l)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Moving">Commands For Moving</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-complete-_0028TAB_0029"><code>complete (<span class="key">TAB</span>)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Completion">Commands For Completion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-complete_002dcommand-_0028M_002d_0021_0029"><code>complete-command (M-!)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Completion">Commands For Completion</a></td></tr>
@@ -15247,7 +15480,7 @@ Next: <a href="#Concept-Index" accesskey="n" rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a href="#index-non_002dincremental_002dreverse_002dsearch_002dhistory-_0028M_002dp_0029"><code>non-incremental-reverse-search-history (M-p)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Function-Index_fn_letter-O">O</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-operate_002dand_002dget_002dnext-_0028C_002do_0029"><code>operate-and-get-next (C-o)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-operate_002dand_002dget_002dnext-_0028C_002do_0029"><code>operate-and-get-next (C-o)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-overwrite_002dmode-_0028_0029"><code>overwrite-mode ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Text">Commands For Text</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Function-Index_fn_letter-P">P</th><td></td><td></td></tr>
@@ -15431,6 +15664,8 @@ Previous: <a href="#Function-Index" accesskey="p" rel="prev">Function Index</a>,
<tr><td></td><td valign="top"><a href="#index-commands_002c-shell">commands, shell</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Shell-Commands">Shell Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-commands_002c-simple">commands, simple</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Simple-Commands">Simple Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-comments_002c-shell">comments, shell</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Comments">Comments</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Compatibility-Level">Compatibility Level</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Shell-Compatibility-Mode">Shell Compatibility Mode</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Compatibility-Mode">Compatibility Mode</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Shell-Compatibility-Mode">Shell Compatibility Mode</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-completion-builtins">completion builtins</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programmable-Completion-Builtins">Programmable Completion Builtins</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-configuration">configuration</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-Installation">Basic Installation</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-control-operator">control operator</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Definitions">Definitions</a></td></tr>
@@ -15529,6 +15764,7 @@ Previous: <a href="#Function-Index" accesskey="p" rel="prev">Function Index</a>,
<tr><td></td><td valign="top"><a href="#index-Readline_002c-how-to-use">Readline, how to use</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Job-Control-Variables">Job Control Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-redirection">redirection</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Redirections">Redirections</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-reserved-word">reserved word</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Definitions">Definitions</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-reserved-words">reserved words</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reserved-Words">Reserved Words</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-restricted-shell">restricted shell</a>:</td><td>&nbsp;</td><td valign="top"><a href="#The-Restricted-Shell">The Restricted Shell</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-return-status">return status</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Definitions">Definitions</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
+578 -395
View File
File diff suppressed because it is too large Load Diff
+94 -35
View File
@@ -1,10 +1,10 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/MacPorts 2019.50896_2) (preloaded format=etex 2019.11.6) 11 MAR 2020 16:16
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/MacPorts 2019.50896_2) (preloaded format=pdfetex 2019.11.6) 10 JUN 2020 12:00
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**\nonstopmode \input /usr/homes/chet/src/bash/src/doc/bashref.texi
(/usr/homes/chet/src/bash/src/doc/bashref.texi
**\nonstopmode \input /Users/chet/src/bash/src/doc/bashref.texi
(/Users/chet/src/bash/src/doc/bashref.texi
(/Users/chet/src/bash/src/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
@@ -161,8 +161,10 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
texinfo.tex: doing @include of version.texi
(/Users/chet/src/bash/src/doc/version.texi) [1] [2]
(/Users/chet/src/bash/src/doc/bashref.toc [-1] [-2] [-3]) [-4] Chapter 1
(/Users/chet/src/bash/src/doc/version.texi) [1{/opt/local/var/db/texmf/fonts/ma
p/pdftex/updmap/pdftex.map}] [2] (/Users/chet/src/bash/src/doc/bashref.toc
[-1] [-2] [-3]) [-4] (/Users/chet/src/bash/src/doc/bashref.toc)
(/Users/chet/src/bash/src/doc/bashref.toc) Chapter 1
\openout0 = `bashref.toc'.
@@ -179,26 +181,61 @@ texinfo.tex: doing @include of version.texi
\openout3 = `bashref.vr'.
[7]
Overfull \hbox (3.12749pt too wide) in paragraph at lines 613--614
@texttt coproc[]|
@hbox(9.34993+3.85005)x43.36464
.@glue(@leftskip) 12.0
.@texttt c
.@texttt o
.@texttt p
.@texttt r
.etc.
Overfull \hbox (3.12749pt too wide) in paragraph at lines 614--614
@texttt select[]|
@hbox(9.34993+3.85005)x43.36464
.@glue(@leftskip) 12.0
.@texttt s
.@texttt e
.@texttt l
.@texttt e
.etc.
Overfull \hbox (5.95723pt too wide) in paragraph at lines 614--615
@texttt function[]|
@hbox(9.34993+3.85005)x52.03227
.@glue(@leftskip) 12.0
.@texttt f
.@texttt u
.@texttt n
.@texttt c
.etc.
@rwindfile=@write4
\openout4 = `bashref.rw'.
[8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]
[20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34]
[35] [36] [37] [38] [39] [40] [41] [42] Chapter 4 [43]
[8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]
[23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37]
[38] [39] [40] [41] [42] Chapter 4 [43]
@btindfile=@write5
\openout5 = `bashref.bt'.
[44] [45] [46] [47]
[48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62]
[63] [64] [65] [66] [67] [68] [69] [70] [71] [72] Chapter 5 [73] [74] [75]
[76] [77] [78] [79] [80] [81] [82] [83] [84] Chapter 6 [85] [86] [87] [88]
[89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102]
[103] Chapter 7 [104] [105] [106] [107]
[44] [45] [46] [47] [48] [49] [50]
[51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65]
[66] [67] [68] [69] [70] [71] Chapter 5 [72] [73] [74] [75] [76] [77] [78]
[79] [80] [81] [82] [83] [84] Chapter 6 [85] [86] [87] [88] [89] [90] [91]
[92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105]
Chapter 7 [106] [107] [108] [109]
texinfo.tex: doing @include of rluser.texi
(/usr/homes/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [108]
[109] [110] [111] [112] [113] [114] [115] [116] [117] [118]
(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [110] [111]
[112] [113] [114] [115] [116] [117] [118] [119] [120]
Underfull \hbox (badness 7540) in paragraph at lines 813--819
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
-tion
@@ -224,7 +261,7 @@ e func-tion
.@texttt v
.etc.
[119] [120] [121] [122]
[121] [122] [123] [124]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1047--1047
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
@@ -237,13 +274,13 @@ gnored[]
.@texttt t
.etc.
[123] [124]
[125] [126]
@fnindfile=@write6
\openout6 = `bashref.fn'.
[125] [126] [127] [128] [129] [130] [131] [132] [133] [134]
[135] [136]
Overfull \hbox (15.27109pt too wide) in paragraph at lines 2043--2043
[127] [128] [129] [130] [131] [132] [133] [134] [135] [136]
[137] [138] [139]
Overfull \hbox (15.27109pt too wide) in paragraph at lines 2051--2051
[]@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-DEI] [
-A @textttsl ac-tion@texttt ] [-
@@ -255,26 +292,48 @@ Overfull \hbox (15.27109pt too wide) in paragraph at lines 2043--2043
.@texttt m
.etc.
[137] [138] [139] [140] [141] [142])
[140] [141] [142] [143] [144])
texinfo.tex: doing @include of hsuser.texi
(/usr/homes/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9 [143]
[144] [145] [146] [147] [148]) Chapter 10 [149] [150] [151] [152] [153]
[154] [155] [156] Appendix A [157] Appendix B [158] [159] [160] [161] [162]
[163] Appendix C [164]
(/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9 [145] [146]
[147] [148] [149] [150]) Chapter 10 [151] [152] [153] [154] [155] [156]
[157] [158] Appendix A [159] Appendix B [160] [161] [162] [163] [164] [165]
Appendix C [166]
texinfo.tex: doing @include of fdl.texi
(/Users/chet/src/bash/src/doc/fdl.texi [165] [166]
[167] [168] [169] [170] [171]) Appendix D [172] [173] [174] [175] [176]
[177] [178] [179] [180] [181] )
(/Users/chet/src/bash/src/doc/fdl.texi [167] [168] [169]
[170] [171] [172] [173]) Appendix D [174] [175] [176] [177] [178] [179]
[180] [181] [182] [183] )
Here is how much of TeX's memory you used:
3518 strings out of 497108
39930 string characters out of 6207178
86574 words of memory out of 5000000
4683 multiletter control sequences out of 15000+600000
4087 strings out of 497098
47293 string characters out of 6206772
139199 words of memory out of 5000000
4863 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,339b,936s stack positions out of 5000i,500n,10000p,200000b,80000s
16i,6n,16p,335b,978s stack positions out of 5000i,500n,10000p,200000b,80000s
{/opt/local/share/texmf-texlive/fonts/enc/dvips/cm-sup
er/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
csc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10
.pfb></opt/local/share/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-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/t
exmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-
texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-tex
live/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/
fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type
1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
/sfrm1440.pfb>
Output written on bashref.pdf (189 pages, 767679 bytes).
PDF statistics:
2680 PDF objects out of 2984 (max. 8388607)
2445 compressed objects within 25 object streams
317 named destinations out of 1000 (max. 500000)
1141 words of extra memory for PDF output out of 10000 (max. 10000000)
Output written on bashref.dvi (187 pages, 775840 bytes).
BIN
View File
Binary file not shown.
+7977 -7776
View File
File diff suppressed because it is too large Load Diff
+5
View File
@@ -8164,6 +8164,11 @@ more randomness. If the shell compatibility level is set to 50 or
lower, it reverts to the method from bash-5.0 and previous versions,
so seeding the random number generator by assigning a value to
@env{RANDOM} will produce the same sequence as in bash-5.0
@item
If the command hash table is empty, Bash versions prior to bash-5.1
printed an informational message to that effect, even when producing
output that can be reused as input. Bash-5.1 suppresses that message
when the @option{-l} option is supplied.
@end itemize
@end table
+87 -85
View File
@@ -13,48 +13,49 @@
@numsubsubsecentry{Locale-Specific Translation}{3.1.2.5}{Locale Translation}{7}
@numsubsecentry{Comments}{3.1.3}{Comments}{7}
@numsecentry{Shell Commands}{3.2}{Shell Commands}{8}
@numsubsecentry{Simple Commands}{3.2.1}{Simple Commands}{8}
@numsubsecentry{Pipelines}{3.2.2}{Pipelines}{8}
@numsubsecentry{Lists of Commands}{3.2.3}{Lists}{9}
@numsubsecentry{Compound Commands}{3.2.4}{Compound Commands}{9}
@numsubsubsecentry{Looping Constructs}{3.2.4.1}{Looping Constructs}{10}
@numsubsubsecentry{Conditional Constructs}{3.2.4.2}{Conditional Constructs}{11}
@numsubsubsecentry{Grouping Commands}{3.2.4.3}{Command Grouping}{15}
@numsubsecentry{Coprocesses}{3.2.5}{Coprocesses}{15}
@numsubsecentry{GNU Parallel}{3.2.6}{GNU Parallel}{16}
@numsecentry{Shell Functions}{3.3}{Shell Functions}{17}
@numsubsecentry{Reserved Words}{3.2.1}{Reserved Words}{8}
@numsubsecentry{Simple Commands}{3.2.2}{Simple Commands}{8}
@numsubsecentry{Pipelines}{3.2.3}{Pipelines}{8}
@numsubsecentry{Lists of Commands}{3.2.4}{Lists}{9}
@numsubsecentry{Compound Commands}{3.2.5}{Compound Commands}{10}
@numsubsubsecentry{Looping Constructs}{3.2.5.1}{Looping Constructs}{10}
@numsubsubsecentry{Conditional Constructs}{3.2.5.2}{Conditional Constructs}{11}
@numsubsubsecentry{Grouping Commands}{3.2.5.3}{Command Grouping}{15}
@numsubsecentry{Coprocesses}{3.2.6}{Coprocesses}{15}
@numsubsecentry{GNU Parallel}{3.2.7}{GNU Parallel}{16}
@numsecentry{Shell Functions}{3.3}{Shell Functions}{18}
@numsecentry{Shell Parameters}{3.4}{Shell Parameters}{20}
@numsubsecentry{Positional Parameters}{3.4.1}{Positional Parameters}{21}
@numsubsecentry{Special Parameters}{3.4.2}{Special Parameters}{21}
@numsecentry{Shell Expansions}{3.5}{Shell Expansions}{22}
@numsubsecentry{Brace Expansion}{3.5.1}{Brace Expansion}{23}
@numsubsecentry{Tilde Expansion}{3.5.2}{Tilde Expansion}{24}
@numsubsecentry{Shell Parameter Expansion}{3.5.3}{Shell Parameter Expansion}{24}
@numsubsecentry{Shell Parameter Expansion}{3.5.3}{Shell Parameter Expansion}{25}
@numsubsecentry{Command Substitution}{3.5.4}{Command Substitution}{31}
@numsubsecentry{Arithmetic Expansion}{3.5.5}{Arithmetic Expansion}{31}
@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{31}
@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{32}
@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{32}
@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{32}
@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{33}
@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{33}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{34}
@numsecentry{Redirections}{3.6}{Redirections}{34}
@numsubsecentry{Redirecting Input}{3.6.1}{}{35}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{35}
@numsecentry{Redirections}{3.6}{Redirections}{35}
@numsubsecentry{Redirecting Input}{3.6.1}{}{36}
@numsubsecentry{Redirecting Output}{3.6.2}{}{36}
@numsubsecentry{Appending Redirected Output}{3.6.3}{}{36}
@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{36}
@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{36}
@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{37}
@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{37}
@numsubsecentry{Here Documents}{3.6.6}{}{37}
@numsubsecentry{Here Strings}{3.6.7}{}{37}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{37}
@numsubsecentry{Here Strings}{3.6.7}{}{38}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{38}
@numsubsecentry{Moving File Descriptors}{3.6.9}{}{38}
@numsubsecentry{Opening File Descriptors for Reading and Writing}{3.6.10}{}{38}
@numsecentry{Executing Commands}{3.7}{Executing Commands}{38}
@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{38}
@numsecentry{Executing Commands}{3.7}{Executing Commands}{39}
@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{39}
@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{39}
@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{39}
@numsubsecentry{Environment}{3.7.4}{Environment}{40}
@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{40}
@numsubsecentry{Environment}{3.7.4}{Environment}{41}
@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{41}
@numsubsecentry{Signals}{3.7.6}{Signals}{41}
@numsubsecentry{Signals}{3.7.6}{Signals}{42}
@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{42}
@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{44}
@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{44}
@@ -62,10 +63,10 @@
@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{62}
@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{62}
@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{66}
@numsecentry{Special Builtins}{4.4}{Special Builtins}{73}
@numchapentry{Shell Variables}{5}{Shell Variables}{74}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{74}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{74}
@numsecentry{Special Builtins}{4.4}{Special Builtins}{72}
@numchapentry{Shell Variables}{5}{Shell Variables}{73}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{73}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{73}
@numchapentry{Bash Features}{6}{Bash Features}{86}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{86}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{88}
@@ -81,59 +82,60 @@
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{97}
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{98}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{100}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{100}
@numchapentry{Job Control}{7}{Job Control}{105}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{105}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{106}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{108}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{109}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{109}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{109}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{110}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{110}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{111}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{111}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{111}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{112}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{112}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{120}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{122}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{125}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{125}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{126}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{127}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{129}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{130}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{130}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{132}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{132}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{135}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{135}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{137}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{141}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{144}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{144}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{144}
@numsecentry{History Expansion}{9.3}{History Interaction}{146}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{147}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{147}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{148}
@numchapentry{Installing Bash}{10}{Installing Bash}{150}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{150}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{151}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{151}
@numsecentry{Installation Names}{10.4}{Installation Names}{151}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{152}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{152}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{152}
@numsecentry{Optional Features}{10.8}{Optional Features}{153}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{158}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{159}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{163}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{165}
@appentry{Indexes}{D}{Indexes}{173}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{173}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{174}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{175}
@appsecentry{Function Index}{D.4}{Function Index}{177}
@appsecentry{Concept Index}{D.5}{Concept Index}{179}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{101}
@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{104}
@numchapentry{Job Control}{7}{Job Control}{107}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{107}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{108}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{110}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{111}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{111}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{111}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{112}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{112}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{113}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{113}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{113}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{114}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{114}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{122}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{124}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{127}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{127}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{128}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{130}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{131}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{132}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{132}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{134}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{134}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{137}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{137}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{139}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{143}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{146}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{146}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{146}
@numsecentry{History Expansion}{9.3}{History Interaction}{148}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{149}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{150}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{150}
@numchapentry{Installing Bash}{10}{Installing Bash}{152}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{152}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{153}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{153}
@numsecentry{Installation Names}{10.4}{Installation Names}{153}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{154}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{154}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{154}
@numsecentry{Optional Features}{10.8}{Optional Features}{155}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{160}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{161}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{165}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{167}
@appentry{Indexes}{D}{Indexes}{175}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{175}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{176}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{177}
@appsecentry{Function Index}{D.4}{Function Index}{179}
@appsecentry{Concept Index}{D.5}{Concept Index}{181}
+140 -140
View File
@@ -1,10 +1,10 @@
\entry{LC_MESSAGES}{7}{\code {LC_MESSAGES}}
\entry{TEXTDOMAIN}{7}{\code {TEXTDOMAIN}}
\entry{TEXTDOMAINDIR}{7}{\code {TEXTDOMAINDIR}}
\entry{*}{21}{\code {*}}
\entry{$*}{21}{\code {$*}}
\entry{@}{21}{\code {@}}
\entry{$@}{21}{\code {$@}}
\entry{*}{22}{\code {*}}
\entry{$*}{22}{\code {$*}}
\entry{@}{22}{\code {@}}
\entry{$@}{22}{\code {$@}}
\entry{#}{22}{\code {#}}
\entry{$#}{22}{\code {$#}}
\entry{?}{22}{\code {?}}
@@ -17,152 +17,152 @@
\entry{$!}{22}{\code {$!}}
\entry{0}{22}{\code {0}}
\entry{$0}{22}{\code {$0}}
\entry{CDPATH}{74}{\code {CDPATH}}
\entry{HOME}{74}{\code {HOME}}
\entry{IFS}{74}{\code {IFS}}
\entry{MAIL}{74}{\code {MAIL}}
\entry{MAILPATH}{74}{\code {MAILPATH}}
\entry{OPTARG}{74}{\code {OPTARG}}
\entry{OPTIND}{74}{\code {OPTIND}}
\entry{PATH}{74}{\code {PATH}}
\entry{PS1}{74}{\code {PS1}}
\entry{PS2}{74}{\code {PS2}}
\entry{_}{74}{\code {_}}
\entry{$_}{74}{\code {$_}}
\entry{BASH}{75}{\code {BASH}}
\entry{BASHOPTS}{75}{\code {BASHOPTS}}
\entry{BASHPID}{75}{\code {BASHPID}}
\entry{BASH_ALIASES}{75}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{75}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{75}{\code {BASH_ARGV}}
\entry{BASH_ARGV0}{76}{\code {BASH_ARGV0}}
\entry{BASH_CMDS}{76}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{76}{\code {BASH_COMMAND}}
\entry{BASH_COMPAT}{76}{\code {BASH_COMPAT}}
\entry{BASH_ENV}{76}{\code {BASH_ENV}}
\entry{BASH_EXECUTION_STRING}{76}{\code {BASH_EXECUTION_STRING}}
\entry{BASH_LINENO}{76}{\code {BASH_LINENO}}
\entry{CDPATH}{73}{\code {CDPATH}}
\entry{HOME}{73}{\code {HOME}}
\entry{IFS}{73}{\code {IFS}}
\entry{MAIL}{73}{\code {MAIL}}
\entry{MAILPATH}{73}{\code {MAILPATH}}
\entry{OPTARG}{73}{\code {OPTARG}}
\entry{OPTIND}{73}{\code {OPTIND}}
\entry{PATH}{73}{\code {PATH}}
\entry{PS1}{73}{\code {PS1}}
\entry{PS2}{73}{\code {PS2}}
\entry{_}{73}{\code {_}}
\entry{$_}{73}{\code {$_}}
\entry{BASH}{74}{\code {BASH}}
\entry{BASHOPTS}{74}{\code {BASHOPTS}}
\entry{BASHPID}{74}{\code {BASHPID}}
\entry{BASH_ALIASES}{74}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{74}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{74}{\code {BASH_ARGV}}
\entry{BASH_ARGV0}{75}{\code {BASH_ARGV0}}
\entry{BASH_CMDS}{75}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{75}{\code {BASH_COMMAND}}
\entry{BASH_COMPAT}{75}{\code {BASH_COMPAT}}
\entry{BASH_ENV}{75}{\code {BASH_ENV}}
\entry{BASH_EXECUTION_STRING}{75}{\code {BASH_EXECUTION_STRING}}
\entry{BASH_LINENO}{75}{\code {BASH_LINENO}}
\entry{BASH_LOADABLES_PATH}{76}{\code {BASH_LOADABLES_PATH}}
\entry{BASH_REMATCH}{77}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{77}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{77}{\code {BASH_SUBSHELL}}
\entry{BASH_VERSINFO}{77}{\code {BASH_VERSINFO}}
\entry{BASH_VERSION}{77}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{77}{\code {BASH_XTRACEFD}}
\entry{CHILD_MAX}{78}{\code {CHILD_MAX}}
\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}}
\entry{COMP_TYPE}{78}{\code {COMP_TYPE}}
\entry{COMP_KEY}{78}{\code {COMP_KEY}}
\entry{COMP_WORDBREAKS}{78}{\code {COMP_WORDBREAKS}}
\entry{COMP_WORDS}{78}{\code {COMP_WORDS}}
\entry{COMPREPLY}{79}{\code {COMPREPLY}}
\entry{COPROC}{79}{\code {COPROC}}
\entry{DIRSTACK}{79}{\code {DIRSTACK}}
\entry{EMACS}{79}{\code {EMACS}}
\entry{ENV}{79}{\code {ENV}}
\entry{EPOCHREALTIME}{79}{\code {EPOCHREALTIME}}
\entry{EPOCHSECONDS}{79}{\code {EPOCHSECONDS}}
\entry{EUID}{79}{\code {EUID}}
\entry{EXECIGNORE}{79}{\code {EXECIGNORE}}
\entry{BASH_REMATCH}{76}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{76}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{76}{\code {BASH_SUBSHELL}}
\entry{BASH_VERSINFO}{76}{\code {BASH_VERSINFO}}
\entry{BASH_VERSION}{76}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{76}{\code {BASH_XTRACEFD}}
\entry{CHILD_MAX}{77}{\code {CHILD_MAX}}
\entry{COLUMNS}{77}{\code {COLUMNS}}
\entry{COMP_CWORD}{77}{\code {COMP_CWORD}}
\entry{COMP_LINE}{77}{\code {COMP_LINE}}
\entry{COMP_POINT}{77}{\code {COMP_POINT}}
\entry{COMP_TYPE}{77}{\code {COMP_TYPE}}
\entry{COMP_KEY}{77}{\code {COMP_KEY}}
\entry{COMP_WORDBREAKS}{77}{\code {COMP_WORDBREAKS}}
\entry{COMP_WORDS}{77}{\code {COMP_WORDS}}
\entry{COMPREPLY}{78}{\code {COMPREPLY}}
\entry{COPROC}{78}{\code {COPROC}}
\entry{DIRSTACK}{78}{\code {DIRSTACK}}
\entry{EMACS}{78}{\code {EMACS}}
\entry{ENV}{78}{\code {ENV}}
\entry{EPOCHREALTIME}{78}{\code {EPOCHREALTIME}}
\entry{EPOCHSECONDS}{78}{\code {EPOCHSECONDS}}
\entry{EUID}{78}{\code {EUID}}
\entry{EXECIGNORE}{78}{\code {EXECIGNORE}}
\entry{FCEDIT}{79}{\code {FCEDIT}}
\entry{FIGNORE}{80}{\code {FIGNORE}}
\entry{FUNCNAME}{80}{\code {FUNCNAME}}
\entry{FUNCNEST}{80}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{80}{\code {GLOBIGNORE}}
\entry{GROUPS}{80}{\code {GROUPS}}
\entry{histchars}{80}{\code {histchars}}
\entry{HISTCMD}{80}{\code {HISTCMD}}
\entry{FIGNORE}{79}{\code {FIGNORE}}
\entry{FUNCNAME}{79}{\code {FUNCNAME}}
\entry{FUNCNEST}{79}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{79}{\code {GLOBIGNORE}}
\entry{GROUPS}{79}{\code {GROUPS}}
\entry{histchars}{79}{\code {histchars}}
\entry{HISTCMD}{79}{\code {HISTCMD}}
\entry{HISTCONTROL}{80}{\code {HISTCONTROL}}
\entry{HISTFILE}{81}{\code {HISTFILE}}
\entry{HISTFILESIZE}{81}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{81}{\code {HISTIGNORE}}
\entry{HISTSIZE}{81}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{81}{\code {HISTTIMEFORMAT}}
\entry{HISTFILE}{80}{\code {HISTFILE}}
\entry{HISTFILESIZE}{80}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{80}{\code {HISTIGNORE}}
\entry{HISTSIZE}{80}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{80}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{81}{\code {HOSTFILE}}
\entry{HOSTNAME}{82}{\code {HOSTNAME}}
\entry{HOSTTYPE}{82}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{82}{\code {IGNOREEOF}}
\entry{INPUTRC}{82}{\code {INPUTRC}}
\entry{INSIDE_EMACS}{82}{\code {INSIDE_EMACS}}
\entry{LANG}{82}{\code {LANG}}
\entry{LC_ALL}{82}{\code {LC_ALL}}
\entry{LC_COLLATE}{82}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{82}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{82}{\code {LC_MESSAGES}}
\entry{HOSTNAME}{81}{\code {HOSTNAME}}
\entry{HOSTTYPE}{81}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{81}{\code {IGNOREEOF}}
\entry{INPUTRC}{81}{\code {INPUTRC}}
\entry{INSIDE_EMACS}{81}{\code {INSIDE_EMACS}}
\entry{LANG}{81}{\code {LANG}}
\entry{LC_ALL}{81}{\code {LC_ALL}}
\entry{LC_COLLATE}{81}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{81}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{81}{\code {LC_MESSAGES}}
\entry{LC_NUMERIC}{82}{\code {LC_NUMERIC}}
\entry{LC_TIME}{82}{\code {LC_TIME}}
\entry{LINENO}{82}{\code {LINENO}}
\entry{LINES}{83}{\code {LINES}}
\entry{MACHTYPE}{83}{\code {MACHTYPE}}
\entry{MAILCHECK}{83}{\code {MAILCHECK}}
\entry{MAPFILE}{83}{\code {MAPFILE}}
\entry{OLDPWD}{83}{\code {OLDPWD}}
\entry{OPTERR}{83}{\code {OPTERR}}
\entry{OSTYPE}{83}{\code {OSTYPE}}
\entry{PIPESTATUS}{83}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{83}{\code {POSIXLY_CORRECT}}
\entry{PPID}{83}{\code {PPID}}
\entry{PROMPT_COMMAND}{83}{\code {PROMPT_COMMAND}}
\entry{LINES}{82}{\code {LINES}}
\entry{MACHTYPE}{82}{\code {MACHTYPE}}
\entry{MAILCHECK}{82}{\code {MAILCHECK}}
\entry{MAPFILE}{82}{\code {MAPFILE}}
\entry{OLDPWD}{82}{\code {OLDPWD}}
\entry{OPTERR}{82}{\code {OPTERR}}
\entry{OSTYPE}{82}{\code {OSTYPE}}
\entry{PIPESTATUS}{82}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{82}{\code {POSIXLY_CORRECT}}
\entry{PPID}{82}{\code {PPID}}
\entry{PROMPT_COMMANDS}{82}{\code {PROMPT_COMMANDS}}
\entry{PROMPT_DIRTRIM}{83}{\code {PROMPT_DIRTRIM}}
\entry{PS0}{83}{\code {PS0}}
\entry{PS3}{84}{\code {PS3}}
\entry{PS4}{84}{\code {PS4}}
\entry{PWD}{84}{\code {PWD}}
\entry{RANDOM}{84}{\code {RANDOM}}
\entry{READLINE_LINE}{84}{\code {READLINE_LINE}}
\entry{READLINE_MARK}{84}{\code {READLINE_MARK}}
\entry{READLINE_POINT}{84}{\code {READLINE_POINT}}
\entry{REPLY}{84}{\code {REPLY}}
\entry{SECONDS}{84}{\code {SECONDS}}
\entry{SHELL}{84}{\code {SHELL}}
\entry{SHELLOPTS}{84}{\code {SHELLOPTS}}
\entry{PS3}{83}{\code {PS3}}
\entry{PS4}{83}{\code {PS4}}
\entry{PWD}{83}{\code {PWD}}
\entry{RANDOM}{83}{\code {RANDOM}}
\entry{READLINE_LINE}{83}{\code {READLINE_LINE}}
\entry{READLINE_MARK}{83}{\code {READLINE_MARK}}
\entry{READLINE_POINT}{83}{\code {READLINE_POINT}}
\entry{REPLY}{83}{\code {REPLY}}
\entry{SECONDS}{83}{\code {SECONDS}}
\entry{SHELL}{83}{\code {SHELL}}
\entry{SHELLOPTS}{83}{\code {SHELLOPTS}}
\entry{SHLVL}{84}{\code {SHLVL}}
\entry{SRANDOM}{84}{\code {SRANDOM}}
\entry{TIMEFORMAT}{85}{\code {TIMEFORMAT}}
\entry{TMOUT}{85}{\code {TMOUT}}
\entry{TIMEFORMAT}{84}{\code {TIMEFORMAT}}
\entry{TMOUT}{84}{\code {TMOUT}}
\entry{TMPDIR}{85}{\code {TMPDIR}}
\entry{UID}{85}{\code {UID}}
\entry{auto_resume}{108}{\code {auto_resume}}
\entry{bell-style}{113}{\code {bell-style}}
\entry{bind-tty-special-chars}{113}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{113}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{113}{\code {colored-completion-prefix}}
\entry{colored-stats}{113}{\code {colored-stats}}
\entry{comment-begin}{113}{\code {comment-begin}}
\entry{completion-display-width}{113}{\code {completion-display-width}}
\entry{completion-ignore-case}{114}{\code {completion-ignore-case}}
\entry{completion-map-case}{114}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{114}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{114}{\code {completion-query-items}}
\entry{convert-meta}{114}{\code {convert-meta}}
\entry{disable-completion}{114}{\code {disable-completion}}
\entry{echo-control-characters}{114}{\code {echo-control-characters}}
\entry{editing-mode}{114}{\code {editing-mode}}
\entry{emacs-mode-string}{115}{\code {emacs-mode-string}}
\entry{enable-bracketed-paste}{115}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{115}{\code {enable-keypad}}
\entry{expand-tilde}{115}{\code {expand-tilde}}
\entry{history-preserve-point}{115}{\code {history-preserve-point}}
\entry{history-size}{115}{\code {history-size}}
\entry{horizontal-scroll-mode}{115}{\code {horizontal-scroll-mode}}
\entry{input-meta}{116}{\code {input-meta}}
\entry{meta-flag}{116}{\code {meta-flag}}
\entry{isearch-terminators}{116}{\code {isearch-terminators}}
\entry{keymap}{116}{\code {keymap}}
\entry{mark-modified-lines}{116}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{117}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{117}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{117}{\code {menu-complete-display-prefix}}
\entry{output-meta}{117}{\code {output-meta}}
\entry{page-completions}{117}{\code {page-completions}}
\entry{revert-all-at-newline}{117}{\code {revert-all-at-newline}}
\entry{show-all-if-ambiguous}{117}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{117}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{118}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{118}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{118}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{118}{\code {vi-ins-mode-string}}
\entry{visible-stats}{118}{\code {visible-stats}}
\entry{auto_resume}{110}{\code {auto_resume}}
\entry{bell-style}{115}{\code {bell-style}}
\entry{bind-tty-special-chars}{115}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{115}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{115}{\code {colored-completion-prefix}}
\entry{colored-stats}{115}{\code {colored-stats}}
\entry{comment-begin}{115}{\code {comment-begin}}
\entry{completion-display-width}{115}{\code {completion-display-width}}
\entry{completion-ignore-case}{116}{\code {completion-ignore-case}}
\entry{completion-map-case}{116}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{116}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{116}{\code {completion-query-items}}
\entry{convert-meta}{116}{\code {convert-meta}}
\entry{disable-completion}{116}{\code {disable-completion}}
\entry{echo-control-characters}{116}{\code {echo-control-characters}}
\entry{editing-mode}{116}{\code {editing-mode}}
\entry{emacs-mode-string}{117}{\code {emacs-mode-string}}
\entry{enable-bracketed-paste}{117}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{117}{\code {enable-keypad}}
\entry{expand-tilde}{117}{\code {expand-tilde}}
\entry{history-preserve-point}{117}{\code {history-preserve-point}}
\entry{history-size}{117}{\code {history-size}}
\entry{horizontal-scroll-mode}{117}{\code {horizontal-scroll-mode}}
\entry{input-meta}{118}{\code {input-meta}}
\entry{meta-flag}{118}{\code {meta-flag}}
\entry{isearch-terminators}{118}{\code {isearch-terminators}}
\entry{keymap}{118}{\code {keymap}}
\entry{mark-modified-lines}{118}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{119}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{119}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{119}{\code {menu-complete-display-prefix}}
\entry{output-meta}{119}{\code {output-meta}}
\entry{page-completions}{119}{\code {page-completions}}
\entry{revert-all-at-newline}{119}{\code {revert-all-at-newline}}
\entry{show-all-if-ambiguous}{119}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{119}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{120}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{120}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{120}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{120}{\code {vi-ins-mode-string}}
\entry{visible-stats}{120}{\code {visible-stats}}
+140 -140
View File
@@ -7,189 +7,189 @@
\entry{\code {$!}}{22}
\entry{\code {$#}}{22}
\entry{\code {$$}}{22}
\entry{\code {$*}}{21}
\entry{\code {$*}}{22}
\entry{\code {$-}}{22}
\entry{\code {$?}}{22}
\entry{\code {$@}}{21}
\entry{\code {$_}}{74}
\entry{\code {$@}}{22}
\entry{\code {$_}}{73}
\entry{\code {$0}}{22}
\initial {*}
\entry{\code {*}}{21}
\entry{\code {*}}{22}
\initial {-}
\entry{\code {-}}{22}
\initial {?}
\entry{\code {?}}{22}
\initial {@}
\entry{\code {@}}{21}
\entry{\code {@}}{22}
\initial {_}
\entry{\code {_}}{74}
\entry{\code {_}}{73}
\initial {0}
\entry{\code {0}}{22}
\initial {A}
\entry{\code {auto_resume}}{108}
\entry{\code {auto_resume}}{110}
\initial {B}
\entry{\code {BASH}}{75}
\entry{\code {BASH_ALIASES}}{75}
\entry{\code {BASH_ARGC}}{75}
\entry{\code {BASH_ARGV}}{75}
\entry{\code {BASH_ARGV0}}{76}
\entry{\code {BASH_CMDS}}{76}
\entry{\code {BASH_COMMAND}}{76}
\entry{\code {BASH_COMPAT}}{76}
\entry{\code {BASH_ENV}}{76}
\entry{\code {BASH_EXECUTION_STRING}}{76}
\entry{\code {BASH_LINENO}}{76}
\entry{\code {BASH}}{74}
\entry{\code {BASH_ALIASES}}{74}
\entry{\code {BASH_ARGC}}{74}
\entry{\code {BASH_ARGV}}{74}
\entry{\code {BASH_ARGV0}}{75}
\entry{\code {BASH_CMDS}}{75}
\entry{\code {BASH_COMMAND}}{75}
\entry{\code {BASH_COMPAT}}{75}
\entry{\code {BASH_ENV}}{75}
\entry{\code {BASH_EXECUTION_STRING}}{75}
\entry{\code {BASH_LINENO}}{75}
\entry{\code {BASH_LOADABLES_PATH}}{76}
\entry{\code {BASH_REMATCH}}{77}
\entry{\code {BASH_SOURCE}}{77}
\entry{\code {BASH_SUBSHELL}}{77}
\entry{\code {BASH_VERSINFO}}{77}
\entry{\code {BASH_VERSION}}{77}
\entry{\code {BASH_XTRACEFD}}{77}
\entry{\code {BASHOPTS}}{75}
\entry{\code {BASHPID}}{75}
\entry{\code {bell-style}}{113}
\entry{\code {bind-tty-special-chars}}{113}
\entry{\code {blink-matching-paren}}{113}
\entry{\code {BASH_REMATCH}}{76}
\entry{\code {BASH_SOURCE}}{76}
\entry{\code {BASH_SUBSHELL}}{76}
\entry{\code {BASH_VERSINFO}}{76}
\entry{\code {BASH_VERSION}}{76}
\entry{\code {BASH_XTRACEFD}}{76}
\entry{\code {BASHOPTS}}{74}
\entry{\code {BASHPID}}{74}
\entry{\code {bell-style}}{115}
\entry{\code {bind-tty-special-chars}}{115}
\entry{\code {blink-matching-paren}}{115}
\initial {C}
\entry{\code {CDPATH}}{74}
\entry{\code {CHILD_MAX}}{78}
\entry{\code {colored-completion-prefix}}{113}
\entry{\code {colored-stats}}{113}
\entry{\code {COLUMNS}}{78}
\entry{\code {comment-begin}}{113}
\entry{\code {COMP_CWORD}}{78}
\entry{\code {COMP_KEY}}{78}
\entry{\code {COMP_LINE}}{78}
\entry{\code {COMP_POINT}}{78}
\entry{\code {COMP_TYPE}}{78}
\entry{\code {COMP_WORDBREAKS}}{78}
\entry{\code {COMP_WORDS}}{78}
\entry{\code {completion-display-width}}{113}
\entry{\code {completion-ignore-case}}{114}
\entry{\code {completion-map-case}}{114}
\entry{\code {completion-prefix-display-length}}{114}
\entry{\code {completion-query-items}}{114}
\entry{\code {COMPREPLY}}{79}
\entry{\code {convert-meta}}{114}
\entry{\code {COPROC}}{79}
\entry{\code {CDPATH}}{73}
\entry{\code {CHILD_MAX}}{77}
\entry{\code {colored-completion-prefix}}{115}
\entry{\code {colored-stats}}{115}
\entry{\code {COLUMNS}}{77}
\entry{\code {comment-begin}}{115}
\entry{\code {COMP_CWORD}}{77}
\entry{\code {COMP_KEY}}{77}
\entry{\code {COMP_LINE}}{77}
\entry{\code {COMP_POINT}}{77}
\entry{\code {COMP_TYPE}}{77}
\entry{\code {COMP_WORDBREAKS}}{77}
\entry{\code {COMP_WORDS}}{77}
\entry{\code {completion-display-width}}{115}
\entry{\code {completion-ignore-case}}{116}
\entry{\code {completion-map-case}}{116}
\entry{\code {completion-prefix-display-length}}{116}
\entry{\code {completion-query-items}}{116}
\entry{\code {COMPREPLY}}{78}
\entry{\code {convert-meta}}{116}
\entry{\code {COPROC}}{78}
\initial {D}
\entry{\code {DIRSTACK}}{79}
\entry{\code {disable-completion}}{114}
\entry{\code {DIRSTACK}}{78}
\entry{\code {disable-completion}}{116}
\initial {E}
\entry{\code {echo-control-characters}}{114}
\entry{\code {editing-mode}}{114}
\entry{\code {emacs-mode-string}}{115}
\entry{\code {EMACS}}{79}
\entry{\code {enable-bracketed-paste}}{115}
\entry{\code {enable-keypad}}{115}
\entry{\code {ENV}}{79}
\entry{\code {EPOCHREALTIME}}{79}
\entry{\code {EPOCHSECONDS}}{79}
\entry{\code {EUID}}{79}
\entry{\code {EXECIGNORE}}{79}
\entry{\code {expand-tilde}}{115}
\entry{\code {echo-control-characters}}{116}
\entry{\code {editing-mode}}{116}
\entry{\code {emacs-mode-string}}{117}
\entry{\code {EMACS}}{78}
\entry{\code {enable-bracketed-paste}}{117}
\entry{\code {enable-keypad}}{117}
\entry{\code {ENV}}{78}
\entry{\code {EPOCHREALTIME}}{78}
\entry{\code {EPOCHSECONDS}}{78}
\entry{\code {EUID}}{78}
\entry{\code {EXECIGNORE}}{78}
\entry{\code {expand-tilde}}{117}
\initial {F}
\entry{\code {FCEDIT}}{79}
\entry{\code {FIGNORE}}{80}
\entry{\code {FUNCNAME}}{80}
\entry{\code {FUNCNEST}}{80}
\entry{\code {FIGNORE}}{79}
\entry{\code {FUNCNAME}}{79}
\entry{\code {FUNCNEST}}{79}
\initial {G}
\entry{\code {GLOBIGNORE}}{80}
\entry{\code {GROUPS}}{80}
\entry{\code {GLOBIGNORE}}{79}
\entry{\code {GROUPS}}{79}
\initial {H}
\entry{\code {histchars}}{80}
\entry{\code {HISTCMD}}{80}
\entry{\code {histchars}}{79}
\entry{\code {HISTCMD}}{79}
\entry{\code {HISTCONTROL}}{80}
\entry{\code {HISTFILE}}{81}
\entry{\code {HISTFILESIZE}}{81}
\entry{\code {HISTIGNORE}}{81}
\entry{\code {history-preserve-point}}{115}
\entry{\code {history-size}}{115}
\entry{\code {HISTSIZE}}{81}
\entry{\code {HISTTIMEFORMAT}}{81}
\entry{\code {HOME}}{74}
\entry{\code {horizontal-scroll-mode}}{115}
\entry{\code {HISTFILE}}{80}
\entry{\code {HISTFILESIZE}}{80}
\entry{\code {HISTIGNORE}}{80}
\entry{\code {history-preserve-point}}{117}
\entry{\code {history-size}}{117}
\entry{\code {HISTSIZE}}{80}
\entry{\code {HISTTIMEFORMAT}}{80}
\entry{\code {HOME}}{73}
\entry{\code {horizontal-scroll-mode}}{117}
\entry{\code {HOSTFILE}}{81}
\entry{\code {HOSTNAME}}{82}
\entry{\code {HOSTTYPE}}{82}
\entry{\code {HOSTNAME}}{81}
\entry{\code {HOSTTYPE}}{81}
\initial {I}
\entry{\code {IFS}}{74}
\entry{\code {IGNOREEOF}}{82}
\entry{\code {input-meta}}{116}
\entry{\code {INPUTRC}}{82}
\entry{\code {INSIDE_EMACS}}{82}
\entry{\code {isearch-terminators}}{116}
\entry{\code {IFS}}{73}
\entry{\code {IGNOREEOF}}{81}
\entry{\code {input-meta}}{118}
\entry{\code {INPUTRC}}{81}
\entry{\code {INSIDE_EMACS}}{81}
\entry{\code {isearch-terminators}}{118}
\initial {K}
\entry{\code {keymap}}{116}
\entry{\code {keymap}}{118}
\initial {L}
\entry{\code {LANG}}{82}
\entry{\code {LC_ALL}}{82}
\entry{\code {LC_COLLATE}}{82}
\entry{\code {LC_CTYPE}}{82}
\entry{\code {LC_MESSAGES}}{7, 82}
\entry{\code {LANG}}{81}
\entry{\code {LC_ALL}}{81}
\entry{\code {LC_COLLATE}}{81}
\entry{\code {LC_CTYPE}}{81}
\entry{\code {LC_MESSAGES}}{7, 81}
\entry{\code {LC_NUMERIC}}{82}
\entry{\code {LC_TIME}}{82}
\entry{\code {LINENO}}{82}
\entry{\code {LINES}}{83}
\entry{\code {LINES}}{82}
\initial {M}
\entry{\code {MACHTYPE}}{83}
\entry{\code {MAIL}}{74}
\entry{\code {MAILCHECK}}{83}
\entry{\code {MAILPATH}}{74}
\entry{\code {MAPFILE}}{83}
\entry{\code {mark-modified-lines}}{116}
\entry{\code {mark-symlinked-directories}}{117}
\entry{\code {match-hidden-files}}{117}
\entry{\code {menu-complete-display-prefix}}{117}
\entry{\code {meta-flag}}{116}
\entry{\code {MACHTYPE}}{82}
\entry{\code {MAIL}}{73}
\entry{\code {MAILCHECK}}{82}
\entry{\code {MAILPATH}}{73}
\entry{\code {MAPFILE}}{82}
\entry{\code {mark-modified-lines}}{118}
\entry{\code {mark-symlinked-directories}}{119}
\entry{\code {match-hidden-files}}{119}
\entry{\code {menu-complete-display-prefix}}{119}
\entry{\code {meta-flag}}{118}
\initial {O}
\entry{\code {OLDPWD}}{83}
\entry{\code {OPTARG}}{74}
\entry{\code {OPTERR}}{83}
\entry{\code {OPTIND}}{74}
\entry{\code {OSTYPE}}{83}
\entry{\code {output-meta}}{117}
\entry{\code {OLDPWD}}{82}
\entry{\code {OPTARG}}{73}
\entry{\code {OPTERR}}{82}
\entry{\code {OPTIND}}{73}
\entry{\code {OSTYPE}}{82}
\entry{\code {output-meta}}{119}
\initial {P}
\entry{\code {page-completions}}{117}
\entry{\code {PATH}}{74}
\entry{\code {PIPESTATUS}}{83}
\entry{\code {POSIXLY_CORRECT}}{83}
\entry{\code {PPID}}{83}
\entry{\code {PROMPT_COMMAND}}{83}
\entry{\code {page-completions}}{119}
\entry{\code {PATH}}{73}
\entry{\code {PIPESTATUS}}{82}
\entry{\code {POSIXLY_CORRECT}}{82}
\entry{\code {PPID}}{82}
\entry{\code {PROMPT_COMMANDS}}{82}
\entry{\code {PROMPT_DIRTRIM}}{83}
\entry{\code {PS0}}{83}
\entry{\code {PS1}}{74}
\entry{\code {PS2}}{74}
\entry{\code {PS3}}{84}
\entry{\code {PS4}}{84}
\entry{\code {PWD}}{84}
\entry{\code {PS1}}{73}
\entry{\code {PS2}}{73}
\entry{\code {PS3}}{83}
\entry{\code {PS4}}{83}
\entry{\code {PWD}}{83}
\initial {R}
\entry{\code {RANDOM}}{84}
\entry{\code {READLINE_LINE}}{84}
\entry{\code {READLINE_MARK}}{84}
\entry{\code {READLINE_POINT}}{84}
\entry{\code {REPLY}}{84}
\entry{\code {revert-all-at-newline}}{117}
\entry{\code {RANDOM}}{83}
\entry{\code {READLINE_LINE}}{83}
\entry{\code {READLINE_MARK}}{83}
\entry{\code {READLINE_POINT}}{83}
\entry{\code {REPLY}}{83}
\entry{\code {revert-all-at-newline}}{119}
\initial {S}
\entry{\code {SECONDS}}{84}
\entry{\code {SHELL}}{84}
\entry{\code {SHELLOPTS}}{84}
\entry{\code {SECONDS}}{83}
\entry{\code {SHELL}}{83}
\entry{\code {SHELLOPTS}}{83}
\entry{\code {SHLVL}}{84}
\entry{\code {show-all-if-ambiguous}}{117}
\entry{\code {show-all-if-unmodified}}{117}
\entry{\code {show-mode-in-prompt}}{118}
\entry{\code {skip-completed-text}}{118}
\entry{\code {show-all-if-ambiguous}}{119}
\entry{\code {show-all-if-unmodified}}{119}
\entry{\code {show-mode-in-prompt}}{120}
\entry{\code {skip-completed-text}}{120}
\entry{\code {SRANDOM}}{84}
\initial {T}
\entry{\code {TEXTDOMAIN}}{7}
\entry{\code {TEXTDOMAINDIR}}{7}
\entry{\code {TIMEFORMAT}}{85}
\entry{\code {TMOUT}}{85}
\entry{\code {TIMEFORMAT}}{84}
\entry{\code {TMOUT}}{84}
\entry{\code {TMPDIR}}{85}
\initial {U}
\entry{\code {UID}}{85}
\initial {V}
\entry{\code {vi-cmd-mode-string}}{118}
\entry{\code {vi-ins-mode-string}}{118}
\entry{\code {visible-stats}}{118}
\entry{\code {vi-cmd-mode-string}}{120}
\entry{\code {vi-ins-mode-string}}{120}
\entry{\code {visible-stats}}{120}
+364 -221
View File
@@ -391,8 +391,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
is resumed. The return value is 0 unless _n is not greater than
or equal to 1.
ddeeccllaarree [--aaAAffFFggiillnnrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
ttyyppeesseett [--aaAAffFFggiillnnrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
ddeeccllaarree [--aaAAffFFggiiIIllnnrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
ttyyppeesseett [--aaAAffFFggiiIIllnnrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
Declare variables and/or give them attributes. If no _n_a_m_es are
given then display the values of variables. The --pp option will
display the attributes and values of each _n_a_m_e. When --pp is used
@@ -409,9 +409,13 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
_n_a_m_e is defined are displayed as well. The --FF option implies
--ff. The --gg option forces variables to be created or modified at
the global scope, even when ddeeccllaarree is executed in a shell func-
tion. It is ignored in all other cases. The following options
can be used to restrict output to variables with the specified
attribute or to give variables attributes:
tion. It is ignored in all other cases. The --II option causes
local variables to inherit the attributes (except the _n_a_m_e_r_e_f
attribute) and value of any existing variable with the same _n_a_m_e
at a surrounding scope. If there is no existing variable, the
local variable is initially unset. The following options can be
used to restrict output to variables with the specified attri-
bute or to give variables attributes:
--aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss
above).
--AA Each _n_a_m_e is an associative array variable (see AArrrraayyss
@@ -596,113 +600,116 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
them. _F_i_r_s_t and _l_a_s_t may be specified as a string (to locate
the last command beginning with that string) or as a number (an
index into the history list, where a negative number is used as
an offset from the current command number). If _l_a_s_t is not
specified, it is set to the current command for listing (so that
``fc -l -10'' prints the last 10 commands) and to _f_i_r_s_t other-
wise. If _f_i_r_s_t is not specified, it is set to the previous com-
mand for editing and -16 for listing.
an offset from the current command number). When listing, a
_f_i_r_s_t or _l_a_s_t of 0 is equivalent to -1 and -0 is equivalent to
the current command (usually the ffcc command); otherwise 0 is
equivalent to -1 and -0 is invalid. If _l_a_s_t is not specified,
it is set to the current command for listing (so that ``fc -l
-10'' prints the last 10 commands) and to _f_i_r_s_t otherwise. If
_f_i_r_s_t is not specified, it is set to the previous command for
editing and -16 for listing.
The --nn option suppresses the command numbers when listing. The
--rr option reverses the order of the commands. If the --ll option
is given, the commands are listed on standard output. Other-
wise, the editor given by _e_n_a_m_e is invoked on a file containing
those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT
variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set.
If neither variable is set, _v_i is used. When editing is com-
The --nn option suppresses the command numbers when listing. The
--rr option reverses the order of the commands. If the --ll option
is given, the commands are listed on standard output. Other-
wise, the editor given by _e_n_a_m_e is invoked on a file containing
those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT
variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set.
If neither variable is set, _v_i is used. When editing is com-
plete, the edited commands are echoed and executed.
In the second form, _c_o_m_m_a_n_d is re-executed after each instance
of _p_a_t is replaced by _r_e_p. _C_o_m_m_a_n_d is interpreted the same as
_f_i_r_s_t above. A useful alias to use with this is ``r="fc -s"'',
so that typing ``r cc'' runs the last command beginning with
In the second form, _c_o_m_m_a_n_d is re-executed after each instance
of _p_a_t is replaced by _r_e_p. _C_o_m_m_a_n_d is interpreted the same as
_f_i_r_s_t above. A useful alias to use with this is ``r="fc -s"'',
so that typing ``r cc'' runs the last command beginning with
``cc'' and typing ``r'' re-executes the last command.
If the first form is used, the return value is 0 unless an in-
valid option is encountered or _f_i_r_s_t or _l_a_s_t specify history
lines out of range. If the --ee option is supplied, the return
If the first form is used, the return value is 0 unless an in-
valid option is encountered or _f_i_r_s_t or _l_a_s_t specify history
lines out of range. If the --ee option is supplied, the return
value is the value of the last command executed or failure if an
error occurs with the temporary file of commands. If the second
form is used, the return status is that of the command re-exe-
cuted, unless _c_m_d does not specify a valid history line, in
form is used, the return status is that of the command re-exe-
cuted, unless _c_m_d does not specify a valid history line, in
which case ffcc returns failure.
ffgg [_j_o_b_s_p_e_c]
Resume _j_o_b_s_p_e_c in the foreground, and make it the current job.
Resume _j_o_b_s_p_e_c in the foreground, and make it the current job.
If _j_o_b_s_p_e_c is not present, the shell's notion of the _c_u_r_r_e_n_t _j_o_b
is used. The return value is that of the command placed into
the foreground, or failure if run when job control is disabled
is used. The return value is that of the command placed into
the foreground, or failure if run when job control is disabled
or, when run with job control enabled, if _j_o_b_s_p_e_c does not spec-
ify a valid job or _j_o_b_s_p_e_c specifies a job that was started
ify a valid job or _j_o_b_s_p_e_c specifies a job that was started
without job control.
ggeettooppttss _o_p_t_s_t_r_i_n_g _n_a_m_e [_a_r_g _._._.]
ggeettooppttss is used by shell procedures to parse positional parame-
ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog-
nized; if a character is followed by a colon, the option is ex-
ggeettooppttss is used by shell procedures to parse positional parame-
ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog-
nized; if a character is followed by a colon, the option is ex-
pected to have an argument, which should be separated from it by
white space. The colon and question mark characters may not be
used as option characters. Each time it is invoked, ggeettooppttss
places the next option in the shell variable _n_a_m_e, initializing
white space. The colon and question mark characters may not be
used as option characters. Each time it is invoked, ggeettooppttss
places the next option in the shell variable _n_a_m_e, initializing
_n_a_m_e if it does not exist, and the index of the next argument to
be processed into the variable OOPPTTIINNDD. OOPPTTIINNDD is initialized to
1 each time the shell or a shell script is invoked. When an op-
tion requires an argument, ggeettooppttss places that argument into the
variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automatically;
it must be manually reset between multiple calls to ggeettooppttss
within the same shell invocation if a new set of parameters is
it must be manually reset between multiple calls to ggeettooppttss
within the same shell invocation if a new set of parameters is
to be used.
When the end of options is encountered, ggeettooppttss exits with a re-
turn value greater than zero. OOPPTTIINNDD is set to the index of the
first non-option argument, and _n_a_m_e is set to ?.
ggeettooppttss normally parses the positional parameters, but if more
arguments are supplied as _a_r_g values, ggeettooppttss parses those in-
ggeettooppttss normally parses the positional parameters, but if more
arguments are supplied as _a_r_g values, ggeettooppttss parses those in-
stead.
ggeettooppttss can report errors in two ways. If the first character
of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In
normal operation, diagnostic messages are printed when invalid
options or missing option arguments are encountered. If the
variable OOPPTTEERRRR is set to 0, no error messages will be dis-
ggeettooppttss can report errors in two ways. If the first character
of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In
normal operation, diagnostic messages are printed when invalid
options or missing option arguments are encountered. If the
variable OOPPTTEERRRR is set to 0, no error messages will be dis-
played, even if the first character of _o_p_t_s_t_r_i_n_g is not a colon.
If an invalid option is seen, ggeettooppttss places ? into _n_a_m_e and, if
not silent, prints an error message and unsets OOPPTTAARRGG. If
ggeettooppttss is silent, the option character found is placed in OOPP--
not silent, prints an error message and unsets OOPPTTAARRGG. If
ggeettooppttss is silent, the option character found is placed in OOPP--
TTAARRGG and no diagnostic message is printed.
If a required argument is not found, and ggeettooppttss is not silent,
a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a
diagnostic message is printed. If ggeettooppttss is silent, then a
colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option
If a required argument is not found, and ggeettooppttss is not silent,
a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a
diagnostic message is printed. If ggeettooppttss is silent, then a
colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option
character found.
ggeettooppttss returns true if an option, specified or unspecified, is
ggeettooppttss returns true if an option, specified or unspecified, is
found. It returns false if the end of options is encountered or
an error occurs.
hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e]
Each time hhaasshh is invoked, the full pathname of the command _n_a_m_e
is determined by searching the directories in $$PPAATTHH and remem-
is determined by searching the directories in $$PPAATTHH and remem-
bered. Any previously-remembered pathname is discarded. If the
--pp option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e
is used as the full filename of the command. The --rr option
is used as the full filename of the command. The --rr option
causes the shell to forget all remembered locations. The --dd op-
tion causes the shell to forget the remembered location of each
_n_a_m_e. If the --tt option is supplied, the full pathname to which
each _n_a_m_e corresponds is printed. If multiple _n_a_m_e arguments
tion causes the shell to forget the remembered location of each
_n_a_m_e. If the --tt option is supplied, the full pathname to which
each _n_a_m_e corresponds is printed. If multiple _n_a_m_e arguments
are supplied with --tt, the _n_a_m_e is printed before the hashed full
pathname. The --ll option causes output to be displayed in a for-
mat that may be reused as input. If no arguments are given, or
mat that may be reused as input. If no arguments are given, or
if only --ll is supplied, information about remembered commands is
printed. The return status is true unless a _n_a_m_e is not found
printed. The return status is true unless a _n_a_m_e is not found
or an invalid option is supplied.
hheellpp [--ddmmss] [_p_a_t_t_e_r_n]
Display helpful information about builtin commands. If _p_a_t_t_e_r_n
is specified, hheellpp gives detailed help on all commands matching
_p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
Display helpful information about builtin commands. If _p_a_t_t_e_r_n
is specified, hheellpp gives detailed help on all commands matching
_p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
structures is printed.
--dd Display a short description of each _p_a_t_t_e_r_n
--mm Display the description of each _p_a_t_t_e_r_n in a manpage-like
@@ -720,53 +727,53 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
hhiissttoorryy --ss _a_r_g [_a_r_g _._._.]
With no options, display the command history list with line num-
bers. Lines listed with a ** have been modified. An argument of
_n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE--
FFOORRMMAATT is set and not null, it is used as a format string for
_s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis-
played history entry. No intervening blank is printed between
the formatted time stamp and the history line. If _f_i_l_e_n_a_m_e is
supplied, it is used as the name of the history file; if not,
the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the
_n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE--
FFOORRMMAATT is set and not null, it is used as a format string for
_s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis-
played history entry. No intervening blank is printed between
the formatted time stamp and the history line. If _f_i_l_e_n_a_m_e is
supplied, it is used as the name of the history file; if not,
the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the
following meanings:
--cc Clear the history list by deleting all the entries.
--dd _o_f_f_s_e_t
Delete the history entry at position _o_f_f_s_e_t. If _o_f_f_s_e_t
Delete the history entry at position _o_f_f_s_e_t. If _o_f_f_s_e_t
is negative, it is interpreted as relative to one greater
than the last history position, so negative indices count
back from the end of the history, and an index of -1
back from the end of the history, and an index of -1
refers to the current hhiissttoorryy --dd command.
--dd _s_t_a_r_t-_e_n_d
Delete the history entries between positions _s_t_a_r_t and
_e_n_d, inclusive. Positive and negative values for _s_t_a_r_t
Delete the history entries between positions _s_t_a_r_t and
_e_n_d, inclusive. Positive and negative values for _s_t_a_r_t
and _e_n_d are interpreted as described above.
--aa Append the ``new'' history lines to the history file.
These are history lines entered since the beginning of
--aa Append the ``new'' history lines to the history file.
These are history lines entered since the beginning of
the current bbaasshh session, but not already appended to the
history file.
--nn Read the history lines not already read from the history
file into the current history list. These are lines ap-
pended to the history file since the beginning of the
--nn Read the history lines not already read from the history
file into the current history list. These are lines ap-
pended to the history file since the beginning of the
current bbaasshh session.
--rr Read the contents of the history file and append them to
--rr Read the contents of the history file and append them to
the current history list.
--ww Write the current history list to the history file, over-
writing the history file's contents.
--pp Perform history substitution on the following _a_r_g_s and
display the result on the standard output. Does not
store the results in the history list. Each _a_r_g must be
--pp Perform history substitution on the following _a_r_g_s and
display the result on the standard output. Does not
store the results in the history list. Each _a_r_g must be
quoted to disable normal history expansion.
--ss Store the _a_r_g_s in the history list as a single entry.
The last command in the history list is removed before
--ss Store the _a_r_g_s in the history list as a single entry.
The last command in the history list is removed before
the _a_r_g_s are added.
If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, the time stamp informa-
tion associated with each history entry is written to the his-
tory file, marked with the history comment character. When the
history file is read, lines beginning with the history comment
character followed immediately by a digit are interpreted as
If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, the time stamp informa-
tion associated with each history entry is written to the his-
tory file, marked with the history comment character. When the
history file is read, lines beginning with the history comment
character followed immediately by a digit are interpreted as
timestamps for the following history entry. The return value is
0 unless an invalid option is encountered, an error occurs while
reading or writing the history file, an invalid _o_f_f_s_e_t is sup-
reading or writing the history file, an invalid _o_f_f_s_e_t is sup-
plied as an argument to --dd, or the history expansion supplied as
an argument to --pp fails.
@@ -775,15 +782,15 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
The first form lists the active jobs. The options have the fol-
lowing meanings:
--ll List process IDs in addition to the normal information.
--nn Display information only about jobs that have changed
--nn Display information only about jobs that have changed
status since the user was last notified of their status.
--pp List only the process ID of the job's process group
--pp List only the process ID of the job's process group
leader.
--rr Display only running jobs.
--ss Display only stopped jobs.
If _j_o_b_s_p_e_c is given, output is restricted to information about
that job. The return status is 0 unless an invalid option is
If _j_o_b_s_p_e_c is given, output is restricted to information about
that job. The return status is 0 unless an invalid option is
encountered or an invalid _j_o_b_s_p_e_c is supplied.
If the --xx option is supplied, jjoobbss replaces any _j_o_b_s_p_e_c found in
@@ -792,131 +799,136 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
kkiillll [--ss _s_i_g_s_p_e_c | --nn _s_i_g_n_u_m | --_s_i_g_s_p_e_c] [_p_i_d | _j_o_b_s_p_e_c] ...
kkiillll --ll|--LL [_s_i_g_s_p_e_c | _e_x_i_t___s_t_a_t_u_s]
Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes
named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive
signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or
a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not
present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the
signal names. If any arguments are supplied when --ll is given,
the names of the signals corresponding to the arguments are
Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes
named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive
signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or
a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not
present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the
signal names. If any arguments are supplied when --ll is given,
the names of the signals corresponding to the arguments are
listed, and the return status is 0. The _e_x_i_t___s_t_a_t_u_s argument to
--ll is a number specifying either a signal number or the exit
status of a process terminated by a signal. The --LL option is
equivalent to --ll. kkiillll returns true if at least one signal was
--ll is a number specifying either a signal number or the exit
status of a process terminated by a signal. The --LL option is
equivalent to --ll. kkiillll returns true if at least one signal was
successfully sent, or false if an error occurs or an invalid op-
tion is encountered.
lleett _a_r_g [_a_r_g ...]
Each _a_r_g is an arithmetic expression to be evaluated (see AARRIITTHH--
MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett
MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett
returns 1; 0 is returned otherwise.
llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ... | - ]
For each argument, a local variable named _n_a_m_e is created, and
assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted
For each argument, a local variable named _n_a_m_e is created, and
assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted
by ddeeccllaarree. When llooccaall is used within a function, it causes the
variable _n_a_m_e to have a visible scope restricted to that func-
tion and its children. If _n_a_m_e is -, the set of shell options
is made local to the function in which llooccaall is invoked: shell
options changed using the sseett builtin inside the function are
restored to their original values when the function returns.
With no operands, llooccaall writes a list of local variables to the
standard output. It is an error to use llooccaall when not within a
variable _n_a_m_e to have a visible scope restricted to that func-
tion and its children. If _n_a_m_e is -, the set of shell options
is made local to the function in which llooccaall is invoked: shell
options changed using the sseett builtin inside the function are
restored to their original values when the function returns.
With no operands, llooccaall writes a list of local variables to the
standard output. It is an error to use llooccaall when not within a
function. The return status is 0 unless llooccaall is used outside a
function, an invalid _n_a_m_e is supplied, or _n_a_m_e is a readonly
function, an invalid _n_a_m_e is supplied, or _n_a_m_e is a readonly
variable.
llooggoouutt Exit a login shell.
mmaappffiillee [--dd _d_e_l_i_m] [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC
mmaappffiillee [--dd _d_e_l_i_m] [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC
_c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y]
rreeaaddaarrrraayy [--dd _d_e_l_i_m] [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC
_c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y]
Read lines from the standard input into the indexed array vari-
able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup-
plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if
Read lines from the standard input into the indexed array vari-
able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup-
plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if
supplied, have the following meanings:
--dd The first character of _d_e_l_i_m is used to terminate each
input line, rather than newline. If _d_e_l_i_m is the empty
--dd The first character of _d_e_l_i_m is used to terminate each
input line, rather than newline. If _d_e_l_i_m is the empty
string, mmaappffiillee will terminate a line when it reads a NUL
character.
--nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are
--nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are
copied.
--OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default
--OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default
index is 0.
--ss Discard the first _c_o_u_n_t lines read.
--tt Remove a trailing _d_e_l_i_m (default newline) from each line
--tt Remove a trailing _d_e_l_i_m (default newline) from each line
read.
--uu Read lines from file descriptor _f_d instead of the stan-
--uu Read lines from file descriptor _f_d instead of the stan-
dard input.
--CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
--CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
--cc option specifies _q_u_a_n_t_u_m.
--cc Specify the number of lines read between each call to
--cc Specify the number of lines read between each call to
_c_a_l_l_b_a_c_k.
If --CC is specified without --cc, the default quantum is 5000.
If --CC is specified without --cc, the default quantum is 5000.
When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next
array element to be assigned and the line to be assigned to that
element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
the line is read but before the array element is assigned.
If not supplied with an explicit origin, mmaappffiillee will clear _a_r_-
If not supplied with an explicit origin, mmaappffiillee will clear _a_r_-
_r_a_y before assigning to it.
mmaappffiillee returns successfully unless an invalid option or option
argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
mmaappffiillee returns successfully unless an invalid option or option
argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
_a_r_r_a_y is not an indexed array.
ppooppdd [-nn] [+_n] [-_n]
Removes entries from the directory stack. With no arguments,
removes the top directory from the stack, and performs a ccdd to
Removes entries from the directory stack. With no arguments,
removes the top directory from the stack, and performs a ccdd to
the new top directory. Arguments, if supplied, have the follow-
ing meanings:
--nn Suppresses the normal change of directory when removing
--nn Suppresses the normal change of directory when removing
directories from the stack, so that only the stack is ma-
nipulated.
++_n Removes the _nth entry counting from the left of the list
shown by ddiirrss, starting with zero. For example: ``popd
++_n Removes the _nth entry counting from the left of the list
shown by ddiirrss, starting with zero. For example: ``popd
+0'' removes the first directory, ``popd +1'' the second.
--_n Removes the _nth entry counting from the right of the list
shown by ddiirrss, starting with zero. For example: ``popd
-0'' removes the last directory, ``popd -1'' the next to
shown by ddiirrss, starting with zero. For example: ``popd
-0'' removes the last directory, ``popd -1'' the next to
last.
If the ppooppdd command is successful, a ddiirrss is performed as well,
and the return status is 0. ppooppdd returns false if an invalid
If the ppooppdd command is successful, a ddiirrss is performed as well,
and the return status is 0. ppooppdd returns false if an invalid
option is encountered, the directory stack is empty, a non-exis-
tent directory stack entry is specified, or the directory change
fails.
pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s]
Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
control of the _f_o_r_m_a_t. The --vv option causes the output to be
assigned to the variable _v_a_r rather than being printed to the
Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
control of the _f_o_r_m_a_t. The --vv option causes the output to be
assigned to the variable _v_a_r rather than being printed to the
standard output.
The _f_o_r_m_a_t is a character string which contains three types of
objects: plain characters, which are simply copied to standard
output, character escape sequences, which are converted and
copied to the standard output, and format specifications, each
of which causes printing of the next successive _a_r_g_u_m_e_n_t. In
The _f_o_r_m_a_t is a character string which contains three types of
objects: plain characters, which are simply copied to standard
output, character escape sequences, which are converted and
copied to the standard output, and format specifications, each
of which causes printing of the next successive _a_r_g_u_m_e_n_t. In
addition to the standard _p_r_i_n_t_f(1) format specifications, pprriinnttff
interprets the following extensions:
%%bb causes pprriinnttff to expand backslash escape sequences in the
corresponding _a_r_g_u_m_e_n_t in the same way as eecchhoo --ee.
%%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
%%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
format that can be reused as shell input.
%%((_d_a_t_e_f_m_t))TT
causes pprriinnttff to output the date-time string resulting
from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3).
causes pprriinnttff to output the date-time string resulting
from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3).
The corresponding _a_r_g_u_m_e_n_t is an integer representing the
number of seconds since the epoch. Two special argument
values may be used: -1 represents the current time, and
-2 represents the time the shell was invoked. If no ar-
number of seconds since the epoch. Two special argument
values may be used: -1 represents the current time, and
-2 represents the time the shell was invoked. If no ar-
gument is specified, conversion behaves as if -1 had been
given. This is an exception to the usual pprriinnttff behav-
given. This is an exception to the usual pprriinnttff behav-
ior.
The %b, %q, and %T directives all use the field width and preci-
sion arguments from the format specification and write that many
bytes from (or use that wide a field for) the expanded argument,
which usually contains more characters than the original.
Arguments to non-string format specifiers are treated as C con-
stants, except that a leading plus or minus sign is allowed, and
if the leading character is a single or double quote, the value
@@ -1351,56 +1363,15 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
enabled by default, but only has an effect if command
history is enabled, as described above under HHIISSTTOORRYY.
ccoommppaatt3311
If set, bbaasshh changes its behavior to that of version 3.1
with respect to quoted arguments to the [[[[ conditional
command's ==~~ operator and locale-specific string compar-
ison when using the [[[[ conditional command's << and >> op-
erators. Bash versions prior to bash-4.1 use ASCII col-
lation and _s_t_r_c_m_p(3); bash-4.1 and later use the current
locale's collation sequence and _s_t_r_c_o_l_l(3).
ccoommppaatt3322
If set, bbaasshh changes its behavior to that of version 3.2
with respect to locale-specific string comparison when
using the [[[[ conditional command's << and >> operators
(see previous item) and the effect of interrupting a
command list. Bash versions 3.2 and earlier continue
with the next command in the list after one terminates
due to an interrupt.
ccoommppaatt4400
If set, bbaasshh changes its behavior to that of version 4.0
with respect to locale-specific string comparison when
using the [[[[ conditional command's << and >> operators
(see description of ccoommppaatt3311) and the effect of inter-
rupting a command list. Bash versions 4.0 and later in-
terrupt the list as if the shell received the interrupt;
previous versions continue with the next command in the
list.
ccoommppaatt4411
If set, bbaasshh, when in _p_o_s_i_x _m_o_d_e, treats a single quote
in a double-quoted parameter expansion as a special
character. The single quotes must match (an even num-
ber) and the characters between the single quotes are
considered quoted. This is the behavior of <posix mode
through version 4.1. The default bash behavior remains
as in previous versions.
ccoommppaatt4422
If set, bbaasshh does not process the replacement string in
the pattern substitution word expansion using quote re-
moval.
ccoommppaatt4433
If set, bbaasshh does not print a warning message if an at-
tempt is made to use a quoted compound array assignment
as an argument to ddeeccllaarree, makes word expansion errors
non-fatal errors that cause the current command to fail
(the default behavior is to make them fatal errors that
cause the shell to exit), and does not reset the loop
state when a shell function is executed (this allows
bbrreeaakk or ccoonnttiinnuuee in a shell function to affect loops in
the caller's context).
ccoommppaatt4444
If set, bbaasshh saves the positional parameters to
BASH_ARGV and BASH_ARGC before they are used, regardless
of whether or not extended debugging mode is enabled.
These control aspects of the shell's compatibility mode
(see SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE below).
ccoommpplleettee__ffuullllqquuoottee
If set, bbaasshh quotes all shell metacharacters in file-
names and directory names when performing completion.
@@ -1415,63 +1386,79 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
slashes to quote completed filenames. This variable is
set by default, which is the default bash behavior in
versions through 4.2.
ddiirreexxppaanndd
If set, bbaasshh replaces directory names with the results
of word expansion when performing filename completion.
This changes the contents of the readline editing buf-
fer. If not set, bbaasshh attempts to preserve what the
user typed.
ddiirrssppeellll
If set, bbaasshh attempts spelling correction on directory
names during word completion if the directory name ini-
tially supplied does not exist.
ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
the results of pathname expansion. The filenames ````..''''
and ````....'''' must always be matched explicitly, even if
ddoottgglloobb is set.
eexxeeccffaaiill
If set, a non-interactive shell will not exit if it can-
not execute the file specified as an argument to the
eexxeecc builtin command. An interactive shell does not
exit if eexxeecc fails.
eexxppaanndd__aalliiaasseess
If set, aliases are expanded as described above under
AALLIIAASSEESS. This option is enabled by default for interac-
tive shells.
eexxttddeebbuugg
If set at shell invocation, or in a shell startup file,
arrange to execute the debugger profile before the shell
starts, identical to the ----ddeebbuuggggeerr option. If set af-
ter invocation, behavior intended for use by debuggers
is enabled:
11.. The --FF option to the ddeeccllaarree builtin displays the
source file name and line number corresponding to
each function name supplied as an argument.
22.. If the command run by the DDEEBBUUGG trap returns a
non-zero value, the next command is skipped and
not executed.
33.. If the command run by the DDEEBBUUGG trap returns a
value of 2, and the shell is executing in a sub-
routine (a shell function or a shell script exe-
cuted by the .. or ssoouurrccee builtins), the shell
simulates a call to rreettuurrnn.
44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
in their descriptions above.
55.. Function tracing is enabled: command substitu-
tion, shell functions, and subshells invoked with
(( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps.
66.. Error tracing is enabled: command substitution,
shell functions, and subshells invoked with ((
_c_o_m_m_a_n_d )) inherit the EERRRR trap.
eexxttgglloobb If set, the extended pattern matching features described
above under PPaatthhnnaammee EExxppaannssiioonn are enabled.
eexxttqquuoottee
If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
quotes. This option is enabled by default.
ffaaiillgglloobb
If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
ffoorrccee__ffiiggnnoorree
If set, the suffixes specified by the FFIIGGNNOORREE shell
variable cause words to be ignored when performing word
@@ -1479,6 +1466,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a de-
scription of FFIIGGNNOORREE. This option is enabled by de-
fault.
gglloobbaasscciiiirraannggeess
If set, range expressions used in pattern matching
bracket expressions (see PPaatttteerrnn MMaattcchhiinngg above) behave
@@ -1487,119 +1475,145 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
quence is not taken into account, so bb will not collate
between AA and BB, and upper-case and lower-case ASCII
characters will collate together.
gglloobbssttaarr
If set, the pattern **** used in a pathname expansion con-
text will match all files and zero or more directories
and subdirectories. If the pattern is followed by a //,
only directories and subdirectories match.
ggnnuu__eerrrrffmmtt
If set, shell error messages are written in the standard
GNU error message format.
hhiissttaappppeenndd
If set, the history list is appended to the file named
by the value of the HHIISSTTFFIILLEE variable when the shell ex-
its, rather than overwriting the file.
hhiissttrreeeeddiitt
If set, and rreeaaddlliinnee is being used, a user is given the
opportunity to re-edit a failed history substitution.
hhiissttvveerriiffyy
If set, and rreeaaddlliinnee is being used, the results of his-
tory substitution are not immediately passed to the
shell parser. Instead, the resulting line is loaded
into the rreeaaddlliinnee editing buffer, allowing further modi-
fication.
hhoossttccoommpplleettee
If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to
perform hostname completion when a word containing a @@
is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
above). This is enabled by default.
hhuuppoonneexxiitt
If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter-
active login shell exits.
iinnhheerriitt__eerrrreexxiitt
If set, command substitution inherits the value of the
eerrrreexxiitt option, instead of unsetting it in the subshell
environment. This option is enabled when _p_o_s_i_x _m_o_d_e is
enabled.
iinntteerraaccttiivvee__ccoommmmeennttss
If set, allow a word beginning with ## to cause that word
and all remaining characters on that line to be ignored
in an interactive shell (see CCOOMMMMEENNTTSS above). This op-
tion is enabled by default.
llaassttppiippee
If set, and job control is not active, the shell runs
the last command of a pipeline not executed in the back-
ground in the current shell environment.
lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
llooccaallvvaarr__iinnhheerriitt
If set, local variables inherit the value and attributes
of a variable of the same name that exists at a previous
scope before any new value is assigned. The nameref at-
tribute is not inherited.
llooccaallvvaarr__uunnsseett
If set, calling uunnsseett on local variables in previous
function scopes marks them so subsequent lookups find
them unset until that function returns. This is identi-
cal to the behavior of unsetting local variables at the
current function scope.
llooggiinn__sshheellll
The shell sets this option if it is started as a login
shell (see IINNVVOOCCAATTIIOONN above). The value may not be
changed.
mmaaiillwwaarrnn
If set, and a file that bbaasshh is checking for mail has
been accessed since the last time it was checked, the
message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
played.
nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn
If set, and rreeaaddlliinnee is being used, bbaasshh will not at-
tempt to search the PPAATTHH for possible completions when
completion is attempted on an empty line.
nnooccaasseegglloobb
If set, bbaasshh matches filenames in a case-insensitive
fashion when performing pathname expansion (see PPaatthhnnaammee
EExxppaannssiioonn above).
nnooccaasseemmaattcchh
If set, bbaasshh matches patterns in a case-insensitive
fashion when performing matching while executing ccaassee or
[[[[ conditional commands, when performing pattern substi-
tution word expansions, or when filtering possible com-
pletions as part of programmable completion.
nnuullllgglloobb
If set, bbaasshh allows patterns which match no files (see
PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
rather than themselves.
pprrooggccoommpp
If set, the programmable completion facilities (see PPrroo--
ggrraammmmaabbllee CCoommpplleettiioonn above) are enabled. This option is
enabled by default.
pprrooggccoommpp__aalliiaass
If set, and programmable completion is enabled, bbaasshh
treats a command name that doesn't have any completions
as a possible alias and attempts alias expansion. If it
has an alias, bbaasshh attempts programmable completion us-
ing the command word resulting from the expanded alias.
pprroommppttvvaarrss
If set, prompt strings undergo parameter expansion, com-
mand substitution, arithmetic expansion, and quote re-
moval after being expanded as described in PPRROOMMPPTTIINNGG
above. This option is enabled by default.
rreessttrriicctteedd__sshheellll
The shell sets this option if it is started in re-
stricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value
may not be changed. This is not reset when the startup
files are executed, allowing the startup files to dis-
cover whether or not a shell is restricted.
sshhiifftt__vveerrbboossee
If set, the sshhiifftt builtin prints an error message when
the shift count exceeds the number of positional parame-
ters.
ssoouurrcceeppaatthh
If set, the ssoouurrccee (..) builtin uses the value of PPAATTHH to
find the directory containing the file supplied as an
argument. This option is enabled by default.
xxppgg__eecchhoo
If set, the eecchhoo builtin expands backslash-escape se-
quences by default.
@@ -1745,7 +1759,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
function lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true
if all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSSaabbccddeeffiikkllmmnnppqqrrssttuuvvxxPPTT [_l_i_m_i_t]]
uulliimmiitt [--HHSSaabbccddeeffiikkllmmnnppqqrrssttuuvvxxPPRRTT [_l_i_m_i_t]]
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
The --HH and --SS options specify that the hard or soft limit is set
@@ -1786,16 +1800,19 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
shell and, on some systems, to its children
--xx The maximum number of file locks
--PP The maximum number of pseudoterminals
--RR The maximum time a real-time process can run before
blocking, in microseconds
--TT The maximum number of threads
If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
new value of the specified resource. If no option is given,
then --ff is assumed. Values are in 1024-byte increments, except
for --tt, which is in seconds; --pp, which is in units of 512-byte
blocks; --PP, --TT, --bb, --kk, --nn, and --uu, which are unscaled values;
and, when in posix mode, --cc and --ff, which are in 512-byte incre-
ments. The return status is 0 unless an invalid option or argu-
ment is supplied, or an error occurs while setting a new limit.
If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
new value of the specified resource. If no option is given,
then --ff is assumed. Values are in 1024-byte increments, except
for --tt, which is in seconds; --RR, which is in microseconds; --pp,
which is in units of 512-byte blocks; --PP, --TT, --bb, --kk, --nn, and
--uu, which are unscaled values; and, when in posix mode, --cc and
--ff, which are in 512-byte increments. The return status is 0
unless an invalid option or argument is supplied, or an error
occurs while setting a new limit.
uummaasskk [--pp] [--SS] [_m_o_d_e]
The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with
@@ -1841,18 +1858,144 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
waited for. If _i_d is not given, wwaaiitt waits for all running
background jobs and the last-executed process substitution, if
its process id is the same as $$!!, and the return status is zero.
If the --nn option is supplied, wwaaiitt waits for a single job to
terminate and returns its exit status. If the --pp option is sup-
plied, the process or job identifier of the job for which the
exit status is returned is assigned to the variable _v_a_r_n_a_m_e
named by the option argument. The variable will be unset ini-
tially, before any assignment. This is useful only when the --nn
option is supplied. Supplying the --ff option, when job control
is enabled, forces wwaaiitt to wait for _i_d to terminate before re-
turning its status, instead of returning when it changes status.
If _i_d specifies a non-existent process or job, the return status
is 127. Otherwise, the return status is the exit status of the
last process or job waited for.
If the --nn option is supplied, wwaaiitt waits for a single job from
the list of _i_ds or, if no _i_ds are supplied, any job, to complete
and returns its exit status. If none of the supplied arguments
is a child of the shell, or if no arguments are supplied and the
shell has no unwaited-for children, the exit status is 127. If
the --pp option is supplied, the process or job identifier of the
job for which the exit status is returned is assigned to the
variable _v_a_r_n_a_m_e named by the option argument. The variable
will be unset initially, before any assignment. This is useful
only when the --nn option is supplied. Supplying the --ff option,
when job control is enabled, forces wwaaiitt to wait for _i_d to ter-
minate before returning its status, instead of returning when it
changes status. If _i_d specifies a non-existent process or job,
the return status is 127. Otherwise, the return status is the
exit status of the last process or job waited for.
SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE
Bash-4.0 introduced the concept of a `shell compatibility level', spec-
ified as a set of options to the shopt builtin ccoommppaatt3311, ccoommppaatt3322, ccoomm--
ppaatt4400, ccoommppaatt4411, and so on). There is only one current compatibility
level -- each option is mutually exclusive. The compatibility level is
intended to allow users to select behavior from previous versions that
is incompatible with newer versions while they migrate scripts to use
current features and behavior. It's intended to be a temporary solu-
tion.
This section does not mention behavior that is standard for a particu-
lar version (e.g., setting ccoommppaatt3322 means that quoting the rhs of the
regexp matching operator quotes special regexp characters in the word,
which is default behavior in bash-3.2 and above).
If a user enables, say, ccoommppaatt3322, it may affect the behavior of other
compatibility levels up to and including the current compatibility
level. The idea is that each compatibility level controls behavior
that changed in that version of bbaasshh, but that behavior may have been
present in earlier versions. For instance, the change to use locale-
based comparisons with the [[[[ command came in bash-4.1, and earlier
versions used ASCII-based comparisons, so enabling ccoommppaatt3322 will enable
ASCII-based comparisons as well. That granularity may not be suffi-
cient for all uses, and as a result users should employ compatibility
levels carefully. Read the documentation for a particular feature to
find out the current behavior.
Bash-4.3 introduced a new shell variable: BBAASSHH__CCOOMMPPAATT. The value as-
signed to this variable (a decimal version number like 4.2, or an inte-
ger corresponding to the ccoommppaatt_N_N option, like 42) determines the com-
patibility level.
Starting with bash-4.4, Bash has begun deprecating older compatibility
levels. Eventually, the options will be removed in favor of BBAASSHH__CCOOMM--
PPAATT.
Bash-5.0 is the final version for which there will be an individual
shopt option for the previous version. Users should use BBAASSHH__CCOOMMPPAATT on
bash-5.0 and later versions.
The following table describes the behavior changes controlled by each
compatibility level setting. The ccoommppaatt_N_N tag is used as shorthand for
setting the compatibility level to _N_N using one of the following mecha-
nisms. For versions prior to bash-5.0, the compatibility level may be
set using the corresponding ccoommppaatt_N_N shopt option. For bash-4.3 and
later versions, the BBAASSHH__CCOOMMPPAATT variable is preferred, and it is re-
quired for bash-5.1 and later versions.
ccoommppaatt3311
+o quoting the rhs of the [[[[ command's regexp matching oper-
ator (=~) has no special effect
ccoommppaatt3322
+o interrupting a command list such as "a ; b ; c" causes
the execution of the next command in the list (in
bash-4.0 and later versions, the shell acts as if it re-
ceived the interrupt, so interrupting one command in a
list aborts the execution of the entire list)
ccoommppaatt4400
+o the << and >> operators to the [[[[ command do not consider
the current locale when comparing strings; they use ASCII
ordering. Bash versions prior to bash-4.1 use ASCII col-
lation and _s_t_r_c_m_p(3); bash-4.1 and later use the current
locale's collation sequence and _s_t_r_c_o_l_l(3).
ccoommppaatt4411
+o in _p_o_s_i_x mode, ttiimmee may be followed by options and still
be recognized as a reserved word (this is POSIX interpre-
tation 267)
+o in _p_o_s_i_x mode, the parser requires that an even number of
single quotes occur in the _w_o_r_d portion of a double-
quoted parameter expansion and treats them specially, so
that characters within the single quotes are considered
quoted (this is POSIX interpretation 221)
ccoommppaatt4422
+o the replacement string in double-quoted pattern substitu-
tion does not undergo quote removal, as it does in ver-
sions after bash-4.2
+o in posix mode, single quotes are considered special when
expanding the _w_o_r_d portion of a double-quoted parameter
expansion and can be used to quote a closing brace or
other special character (this is part of POSIX interpre-
tation 221); in later versions, single quotes are not
special within double-quoted word expansions
ccoommppaatt4433
+o the shell does not print a warning message if an attempt
is made to use a quoted compound assignment as an argu-
ment to declare (declare -a foo='(1 2)'). Later versions
warn that this usage is deprecated
+o word expansion errors are considered non-fatal errors
that cause the current command to fail, even in posix
mode (the default behavior is to make them fatal errors
that cause the shell to exit)
+o when executing a shell function, the loop state
(while/until/etc.) is not reset, so bbrreeaakk or ccoonnttiinnuuee in
that function will break or continue loops in the calling
context. Bash-4.4 and later reset the loop state to pre-
vent this
ccoommppaatt4444
+o the shell sets up the values used by BBAASSHH__AARRGGVV and
BBAASSHH__AARRGGCC so they can expand to the shell's positional
parameters even if extended debugging mode is not enabled
+o a subshell inherits loops from its parent context, so
bbrreeaakk or ccoonnttiinnuuee will cause the subshell to exit.
Bash-5.0 and later reset the loop state to prevent the
exit
+o variable assignments preceding builtins like eexxppoorrtt and
rreeaaddoonnllyy that set attributes continue to affect variables
with the same name in the calling environment even if the
shell is not in posix mode
ccoommppaatt5500
+o Bash-5.1 changed the way $$RRAANNDDOOMM is generated to intro-
duce slightly more randomness. If the shell compatibility
level is set to 50 or lower, it reverts to the method
from bash-5.0 and previous versions, so seeding the ran-
dom number generator by assigning a value to RRAANNDDOOMM will
produce the same sequence as in bash-5.0
SSEEEE AALLSSOO
bash(1), sh(1)
+1736 -1585
View File
File diff suppressed because it is too large Load Diff
+6 -2
View File
@@ -14,13 +14,17 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o changing directories with ccdd
+o setting or unsetting the values of SSHHEELLLL, PPAATTHH, EENNVV, or BBAASSHH__EENNVV
+o setting or unsetting the values of SSHHEELLLL, PPAATTHH, HHIISSTTFFIILLEE, EENNVV,
or BBAASSHH__EENNVV
+o specifying command names containing //
+o specifying a filename containing a // as an argument to the ..
+o specifying a filename containing a // as an argument to the ..
builtin command
+o specifying a filename containing a slash as an argument to the
hhiissttoorryy builtin command
+o specifying a filename containing a slash as an argument to the
--pp option to the hhaasshh builtin command
+28 -24
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
%%CreationDate: Wed Jan 29 14:04:11 2020
%%CreationDate: Wed Jun 10 12:00:37 2020
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 4
@@ -249,37 +249,41 @@ F2(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
(changing directories with)144 165.6 Q F2(cd)2.5 E F0<83>108 182.4 Q
(setting or unsetting the v)144 182.4 Q(alues of)-.25 E/F3 9
/Times-Bold@0 SF(SHELL)2.5 E/F4 9/Times-Roman@0 SF(,)A F3 -.666(PA)2.25
G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E F3 -.27(BA)2.5 G
(SH_ENV).27 E F0<83>108 199.2 Q(specifying command names containing)144
199.2 Q F2(/)2.5 E F0<83>108 216 Q(specifying a \214lename containing a)
144 216 Q F2(/)2.5 E F0(as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E
F0 -.2(bu)5 G(iltin command).2 E<83>108 232.8 Q .45
(specifying a \214lename containing a slash as an ar)144 232.8 R .449
G(TH)-.189 E F4(,)A F3(HISTFILE)2.25 E F4(,)A F3(ENV)2.25 E F4(,)A F0
(or)2.25 E F3 -.27(BA)2.5 G(SH_ENV).27 E F0<83>108 199.2 Q
(specifying command names containing)144 199.2 Q F2(/)2.5 E F0<83>108
216 Q(specifying a \214lename containing a)144 216 Q F2(/)2.5 E F0
(as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G
(iltin command).2 E<83>108 232.8 Q
(specifying a \214lename containing a slash as an ar)144 232.8 Q
(gument to the)-.18 E F2(history)2.5 E F0 -.2(bu)2.5 G(iltin command).2
E<83>108 249.6 Q .45
(specifying a \214lename containing a slash as an ar)144 249.6 R .449
(gument to the)-.18 F F2<ad70>2.949 E F0 .449(option to the)2.949 F F2
(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 244.8 Q
<83>108 261.6 Q(importing function de\214nitions from the shell en)144
261.6 Q(vironment at startup)-.4 E<83>108 278.4 Q(parsing the v)144
278.4 Q(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
(vironment at startup)-.4 E<83>108 295.2 Q(redirecting output using the\
>, >|, <>, >&, &>, and >> redirection operators)144 295.2 Q<83>108 312
Q(using the)144 312 Q F2(exec)2.5 E F0 -.2(bu)2.5 G
(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 261.6 Q
<83>108 278.4 Q(importing function de\214nitions from the shell en)144
278.4 Q(vironment at startup)-.4 E<83>108 295.2 Q(parsing the v)144
295.2 Q(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
(vironment at startup)-.4 E<83>108 312 Q(redirecting output using the >\
, >|, <>, >&, &>, and >> redirection operators)144 312 Q<83>108 328.8 Q
(using the)144 328.8 Q F2(exec)2.5 E F0 -.2(bu)2.5 G
(iltin command to replace the shell with another command).2 E<83>108
328.8 Q(adding or deleting b)144 328.8 Q(uiltin commands with the)-.2 E
345.6 Q(adding or deleting b)144 345.6 Q(uiltin commands with the)-.2 E
F2<ad66>2.5 E F0(and)2.5 E F2<ad64>2.5 E F0(options to the)2.5 E F2
(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 345.6 Q
(using the)144 345.6 Q F2(enable)2.5 E F0 -.2(bu)2.5 G
(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 362.4 Q
(using the)144 362.4 Q F2(enable)2.5 E F0 -.2(bu)2.5 G
(iltin command to enable disabled shell b).2 E(uiltins)-.2 E<83>108
362.4 Q(specifying the)144 362.4 Q F2<ad70>2.5 E F0(option to the)2.5 E
F2(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 379.2 Q
(turning of)144 379.2 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F2
379.2 Q(specifying the)144 379.2 Q F2<ad70>2.5 E F0(option to the)2.5 E
F2(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 396 Q
(turning of)144 396 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F2
(set +r)2.5 E F0(or)2.5 E F2(set +o r)2.5 E(estricted)-.18 E F0(.)A
(These restrictions are enforced after an)108 396 Q 2.5(ys)-.15 G
(These restrictions are enforced after an)108 412.8 Q 2.5(ys)-.15 G
(tartup \214les are read.)-2.5 E .429
(When a command that is found to be a shell script is e)108 412.8 R -.15
(When a command that is found to be a shell script is e)108 429.6 R -.15
(xe)-.15 G(cuted,).15 E F2(rbash)2.929 E F0 .429(turns of)2.929 F 2.929
(fa)-.25 G .729 -.15(ny r)-2.929 H .429(estrictions in the shell).15 F
(spa)108 424.8 Q(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E
F1(SEE ALSO)72 441.6 Q F0(bash\(1\))108 453.6 Q(GNU Bash-4.0)72 768 Q
(spa)108 441.6 Q(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E
F1(SEE ALSO)72 458.4 Q F0(bash\(1\))108 470.4 Q(GNU Bash-4.0)72 768 Q
(2004 Apr 20)148.735 E(1)203.725 E 0 Cg EP
%%Trailer
end
+2 -2
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2020 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Fri Jun 5 14:48:45 EDT 2020
@set LASTCHANGE Tue Jun 16 16:24:45 EDT 2020
@set EDITION 5.1
@set VERSION 5.1
@set UPDATED 5 June 2020
@set UPDATED 16 June 2020
@set UPDATED-MONTH June 2020
+2 -2
View File
@@ -377,11 +377,11 @@ com_stat (arg)
printf ("Statistics for `%s':\n", arg);
printf ("%s has %d link%s, and is %d byte%s in length.\n",
printf ("%s has %d link%s, and is %lu byte%s in length.\n",
arg,
finfo.st_nlink,
(finfo.st_nlink == 1) ? "" : "s",
finfo.st_size,
(unsigned long)finfo.st_size,
(finfo.st_size == 1) ? "" : "s");
printf ("Inode Last Change at: %s", ctime (&finfo.st_ctime));
printf (" Last access at: %s", ctime (&finfo.st_atime));
+10 -2
View File
@@ -528,10 +528,18 @@ glob_name_is_acceptable (name)
const char *name;
{
struct ign *p;
char *n;
int flags;
/* . and .. are never matched */
if (name[0] == '.' && (name[1] == '\0' || (name[1] == '.' && name[2] == '\0')))
/* . and .. are never matched. We extend this to the terminal component of a
pathname. */
n = strrchr (name, '/');
if (n == 0 || n[1] == 0)
n = (char *)name;
else
n++;
if (n[0] == '.' && (n[1] == '\0' || (n[1] == '.' && n[2] == '\0')))
return (0);
flags = FNM_PATHNAME | FNMATCH_EXTFLAG | FNMATCH_NOCASEGLOB;
+1 -1
View File
@@ -32,7 +32,7 @@ gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = @MKINSTALLDIRS@
MKINSTALLDIRS = $(top_srcdir)/support/mkinstalldirs
mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
GMSGFMT = @GMSGFMT@