From fc35c477cde4b759b8387f722c48548389eb2e7b Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Mon, 25 Nov 2019 11:48:29 -0500 Subject: [PATCH] commit bash-20191122 snapshot --- CWRU/CWRU.chlog | 42 + POSIX | 34 +- builtins/common.c | 22 + builtins/common.h | 1 + builtins/jobs.def | 2 +- builtins/wait.def | 37 +- doc/bash.0 | 3331 +++++++++++++------------- doc/bash.1 | 21 +- doc/bash.html | 104 +- doc/bash.info | 498 ++-- doc/bash.pdf | Bin 379196 -> 380894 bytes doc/bash.ps | 4350 +++++++++++++++++----------------- doc/bashref.aux | 6 +- doc/bashref.bts | 118 +- doc/bashref.cp | 4 +- doc/bashref.cps | 228 +- doc/bashref.dvi | Bin 772676 -> 774688 bytes doc/bashref.fns | 222 +- doc/bashref.html | 2679 ++++++++++----------- doc/bashref.info | 498 ++-- doc/bashref.log | 55 +- doc/bashref.pdf | Bin 757573 -> 758669 bytes doc/bashref.ps | 2875 +++++++++++----------- doc/bashref.rw | 2 +- doc/bashref.rws | 42 +- doc/bashref.texi | 7 +- doc/bashref.toc | 2 +- doc/bashref.vr | 4 +- doc/bashref.vrs | 332 +-- doc/builtins.0 | 1489 ++++++------ doc/builtins.ps | 4063 ++++++++++++++++--------------- doc/rbash.ps | 26 +- doc/version.texi | 4 +- jobs.c | 5 +- jobs.h | 7 +- lib/readline/colors.c | 9 +- lib/readline/complete.c | 9 +- lib/readline/doc/history.3 | 6 + lib/readline/doc/hsuser.texi | 4 +- lib/readline/histfile.c | 2 + lib/readline/input.c | 2 + nojobs.c | 3 +- po/hu.po | 751 ++---- subst.c | 17 +- support/shobj-conf | 2 +- support/texi2dvi | 1654 ++++++------- support/texi2dvi.5704 | 1944 +++++++++++++++ variables.c | 7 +- 48 files changed, 13660 insertions(+), 11860 deletions(-) create mode 100755 support/texi2dvi.5704 diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index 05ad9bbc..458f2ec9 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -6850,6 +6850,8 @@ doc/bash.1,lib/readline/doc/{history.3,hsuser.texi} Reported by Jim Monte - note that a word designator of `-' is equivalent to `0-'. Reported by Jim Monte + - note that a missing `new' in a substitution modifier causes + instances of `old' to be deleted lib/readline/histexpand.c - history_expand_internal: make multiple :p modifiers work to suppress @@ -6864,3 +6866,43 @@ lib/readline/histexpand.c immediately by a `-' and a non-digit (e.g. !-a), make sure the - is treated as part of a search string instead of making it an offset of 0. Reported by Jim Monte + + 11/19 + ----- +lib/readline/{colors,complete,histfile,input}.c,support/shobj-conf + - fixes to make readline compile on the latest HPE Nonstop (Tandem) + releases. From Randall S. Becker + +subst.c + - pat_subst: if we have a null match, make sure we advance by one + character, not one byte. Bug reported by Chris Carlen + + + 11/22 + ----- +jobs.[ch],nojobs.c,builtins/jobs.def + - get_job_by_pid: now takes a PROCESS ** third argument; if non-null, + it gets a pointer to the PROCESS struct corresponding to the PID + argument. A convenience, not used by any caller yet + +builtins/wait.def + - interrupt_immediately: remove any uses, no longer used anywheren + +variables.c + - check_unbind_variable: return -2 if the variable name is readonly + (change) or non-unsettable (new) to differentiate the return value + from -1 from makunboud (which means variable not found) + +builtins/common.[ch] + - builtin_unbind_variable: identical to check_unbind_variable but calls + builtin_error; for use by builtin commands + +buitins/wait.def + - wait_builtin: now has -p VARNAME option, which takes the pid + returned by `wait -n' or wait without arguments and assigns it to + VARNAME, unsetting VARNAME first. Requested by Robert Elz + after a similar feature in netbsd sh (not + completely compatible yet) + +doc/{bash.1,bashref.texi} + - wait: document new -p option diff --git a/POSIX b/POSIX index b0727fcc..f3f4a0b7 100644 --- a/POSIX +++ b/POSIX @@ -173,66 +173,62 @@ The following list is what's changed when 'POSIX mode' is in effect: option, so numeric arguments to 'shift' that exceed the number of positional parameters will result in an error message. - 45. Enabling POSIX mode has the effect of setting the 'posixglob' - option, which affects how unquoted backslashes are treated during - filename expansion (*note Filename Expansion::). - - 46. When the 'alias' builtin displays alias definitions, it does not + 45. When the 'alias' builtin displays alias definitions, it does not display them with a leading 'alias ' unless the '-p' option is supplied. - 47. When the 'set' builtin is invoked without options, it does not + 46. When the 'set' builtin is invoked without options, it does not display shell function names and definitions. - 48. When the 'set' builtin is invoked without options, it displays + 47. When the 'set' builtin is invoked without options, it displays variable values without quotes, unless they contain shell metacharacters, even if the result contains nonprinting characters. - 49. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname + 48. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname constructed from '$PWD' and the directory name supplied as an argument does not refer to an existing directory, 'cd' will fail instead of falling back to PHYSICAL mode. - 50. When the 'cd' builtin cannot change a directory because the length + 49. When the 'cd' builtin cannot change a directory because the length of the pathname constructed from '$PWD' and the directory name supplied as an argument exceeds PATH_MAX when all symbolic links are expanded, 'cd' will fail instead of attempting to use only the supplied directory name. - 51. The 'pwd' builtin verifies that the value it prints is the same as + 50. The 'pwd' builtin verifies that the value it prints is the same as the current directory, even if it is not asked to check the file system with the '-P' option. - 52. When listing the history, the 'fc' builtin does not include an + 51. When listing the history, the 'fc' builtin does not include an indication of whether or not a history entry has been modified. - 53. The default editor used by 'fc' is 'ed'. + 52. The default editor used by 'fc' is 'ed'. - 54. The 'type' and 'command' builtins will not report a non-executable + 53. The 'type' and 'command' builtins will not report a non-executable file as having been found, though the shell will attempt to execute such a file if it is the only so-named file found in '$PATH'. - 55. The 'vi' editing mode will invoke the 'vi' editor directly when + 54. The 'vi' editing mode will invoke the 'vi' editor directly when the 'v' command is run, instead of checking '$VISUAL' and '$EDITOR'. - 56. When the 'xpg_echo' option is enabled, Bash does not attempt to + 55. When the 'xpg_echo' option is enabled, Bash does not attempt to interpret any arguments to 'echo' as options. Each argument is displayed, after escape characters are converted. - 57. The 'ulimit' builtin uses a block size of 512 bytes for the '-c' + 56. The 'ulimit' builtin uses a block size of 512 bytes for the '-c' and '-f' options. - 58. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not + 57. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not interrupt the 'wait' builtin and cause it to return immediately. The trap command is run once for each child that exits. - 59. The 'read' builtin may be interrupted by a signal for which a trap + 58. The 'read' builtin may be interrupted by a signal for which a trap has been set. If Bash receives a trapped signal while executing 'read', the trap handler executes and 'read' returns an exit status greater than 128. - 60. Bash removes an exited background process's status from the list + 59. Bash removes an exited background process's status from the list of such statuses after the 'wait' builtin is used to obtain it. There is other POSIX behavior that Bash does not implement by default diff --git a/builtins/common.c b/builtins/common.c index 34ccd886..2facb0c8 100644 --- a/builtins/common.c +++ b/builtins/common.c @@ -937,3 +937,25 @@ builtin_bind_variable (name, value, flags) return v; } + +/* Like check_unbind_variable, but for use by builtins (only matters for + error messages). */ +int +builtin_unbind_variable (vname) + const char *vname; +{ + SHELL_VAR *v; + + v = find_variable (vname); + if (v && readonly_p (v)) + { + builtin_error (_("%s: cannot unset: readonly %s"), vname, "variable"); + return -2; + } + else if (v && non_unsettable_p (v)) + { + builtin_error (_("%s: cannot unset"), vname); + return -2; + } + return (unbind_variable (vname)); +} diff --git a/builtins/common.h b/builtins/common.h index e18e5356..214a125f 100644 --- a/builtins/common.h +++ b/builtins/common.h @@ -218,6 +218,7 @@ extern sh_builtin_func_t *this_shell_builtin; extern sh_builtin_func_t *last_shell_builtin; extern SHELL_VAR *builtin_bind_variable __P((char *, char *, int)); +extern int builtin_unbind_variable __P((const char *)); /* variables from evalfile.c */ extern int sourcelevel; diff --git a/builtins/jobs.def b/builtins/jobs.def index be1a7d8f..6385609c 100644 --- a/builtins/jobs.def +++ b/builtins/jobs.def @@ -276,7 +276,7 @@ disown_builtin (list) { BLOCK_CHILD (set, oset); job = (list && legal_number (list->word->word, &pid_value) && pid_value == (pid_t) pid_value) - ? get_job_by_pid ((pid_t) pid_value, 0) + ? get_job_by_pid ((pid_t) pid_value, 0, 0) : get_job_spec (list); if (job == NO_JOB || jobs == 0 || INVALID_JOB (job)) diff --git a/builtins/wait.def b/builtins/wait.def index 8efefd40..8f9420bd 100644 --- a/builtins/wait.def +++ b/builtins/wait.def @@ -22,7 +22,7 @@ $BUILTIN wait $FUNCTION wait_builtin $DEPENDS_ON JOB_CONTROL $PRODUCES wait.c -$SHORT_DOC wait [-fn] [id ...] +$SHORT_DOC wait [-fn] [-p var] [id ...] Wait for job completion and return exit status. Waits for each process identified by an ID, which may be a process ID or a @@ -34,6 +34,11 @@ in that job's pipeline. If the -n option is supplied, waits for the next job to terminate and returns its exit status. +If the -p option is supplied, the process or job identifier of the job +for which the exit status is returned is assigned to the variable VAR +named by the option argument. The variable will be unset initially, before +any assignment. This is useful only when the -n option is supplied. + If the -f option is supplied, and job control is enabled, waits for the specified ID to terminate, instead of waiting for it to change status. @@ -89,7 +94,6 @@ int wait_intr_flag; #define WAIT_RETURN(s) \ do \ { \ - interrupt_immediately = old_interrupt_immediately;\ wait_signal_received = 0; \ wait_intr_flag = 0; \ return (s);\ @@ -101,14 +105,17 @@ wait_builtin (list) WORD_LIST *list; { int status, code, opt, nflag, wflags; - volatile int old_interrupt_immediately; + char *vname; + SHELL_VAR *pidvar; struct procstat pstat; USE_VAR(list); nflag = wflags = 0; + vname = NULL; + pidvar = (SHELL_VAR *)NULL; reset_internal_getopt (); - while ((opt = internal_getopt (list, "nf")) != -1) + while ((opt = internal_getopt (list, "fnp:")) != -1) { switch (opt) { @@ -119,6 +126,9 @@ wait_builtin (list) case 'f': wflags |= JWAIT_FORCE; break; + case 'p': + vname = list_optarg; + break; #endif CASE_HELPOPT; default: @@ -128,10 +138,17 @@ wait_builtin (list) } list = loptend; - old_interrupt_immediately = interrupt_immediately; -#if 0 - interrupt_immediately++; -#endif + /* Sanity-check variable name if -p supplied. */ + if (vname) + { + if (legal_identifier (vname) == 0) + { + sh_invalidid (vname); + WAIT_RETURN (EXECUTION_FAILURE); + } + if (builtin_unbind_variable (vname) == -2) + WAIT_RETURN (EXECUTION_FAILURE); + } /* POSIX.2 says: When the shell is waiting (by means of the wait utility) for asynchronous commands to complete, the reception of a signal for @@ -161,6 +178,8 @@ wait_builtin (list) status = wait_for_any_job (wflags, &pstat); if (status < 0) status = 127; + if (vname && status >= 0) + bind_var_to_int (vname, pstat.pid); WAIT_RETURN (status); } #endif @@ -170,6 +189,8 @@ wait_builtin (list) if (list == 0) { wait_for_background_pids (&pstat); + if (vname) + bind_var_to_int (vname, pstat.pid); WAIT_RETURN (EXECUTION_SUCCESS); } diff --git a/doc/bash.0 b/doc/bash.0 index 53cc19f7..a4ae575d 100644 --- a/doc/bash.0 +++ b/doc/bash.0 @@ -23,86 +23,85 @@ DDEESSCCRRIIPPTTIIOONN OOPPTTIIOONNSS All of the single-character shell options documented in the description of the sseett builtin command, including --oo, can be used as options when - the shell is invoked. In addition, bbaasshh interprets the following - options when it is invoked: + the shell is invoked. In addition, bbaasshh interprets the following op- + tions when it is invoked: --cc If the --cc option is present, then commands are read from the first non-option argument _c_o_m_m_a_n_d___s_t_r_i_n_g. If there are argu- - ments after the _c_o_m_m_a_n_d___s_t_r_i_n_g, the first argument is - assigned to $$00 and any remaining arguments are assigned to - the positional parameters. The assignment to $$00 sets the - name of the shell, which is used in warning and error mes- - sages. + ments after the _c_o_m_m_a_n_d___s_t_r_i_n_g, the first argument is as- + signed to $$00 and any remaining arguments are assigned to the + positional parameters. The assignment to $$00 sets the name of + the shell, which is used in warning and error messages. --ii If the --ii option is present, the shell is _i_n_t_e_r_a_c_t_i_v_e. --ll Make bbaasshh act as if it had been invoked as a login shell (see IINNVVOOCCAATTIIOONN below). - --rr If the --rr option is present, the shell becomes _r_e_s_t_r_i_c_t_e_d + --rr If the --rr option is present, the shell becomes _r_e_s_t_r_i_c_t_e_d (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). - --ss If the --ss option is present, or if no arguments remain after - option processing, then commands are read from the standard - input. This option allows the positional parameters to be - set when invoking an interactive shell or when reading input + --ss If the --ss option is present, or if no arguments remain after + option processing, then commands are read from the standard + input. This option allows the positional parameters to be + set when invoking an interactive shell or when reading input through a pipe. - --DD A list of all double-quoted strings preceded by $$ is printed - on the standard output. These are the strings that are sub- + --DD A list of all double-quoted strings preceded by $$ is printed + on the standard output. These are the strings that are sub- ject to language translation when the current locale is not CC - or PPOOSSIIXX. This implies the --nn option; no commands will be + or PPOOSSIIXX. This implies the --nn option; no commands will be executed. [[--++]]OO [[_s_h_o_p_t___o_p_t_i_o_n]] - _s_h_o_p_t___o_p_t_i_o_n is one of the shell options accepted by the - sshhoopptt builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). If + _s_h_o_p_t___o_p_t_i_o_n is one of the shell options accepted by the + sshhoopptt builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). If _s_h_o_p_t___o_p_t_i_o_n is present, --OO sets the value of that option; ++OO - unsets it. If _s_h_o_p_t___o_p_t_i_o_n is not supplied, the names and - values of the shell options accepted by sshhoopptt are printed on - the standard output. If the invocation option is ++OO, the + unsets it. If _s_h_o_p_t___o_p_t_i_o_n is not supplied, the names and + values of the shell options accepted by sshhoopptt are printed on + the standard output. If the invocation option is ++OO, the output is displayed in a format that may be reused as input. - ---- A ---- signals the end of options and disables further option - processing. Any arguments after the ---- are treated as file- + ---- A ---- signals the end of options and disables further option + processing. Any arguments after the ---- are treated as file- names and arguments. An argument of -- is equivalent to ----. - BBaasshh also interprets a number of multi-character options. These - options must appear on the command line before the single-character - options to be recognized. + BBaasshh also interprets a number of multi-character options. These op- + tions must appear on the command line before the single-character op- + tions to be recognized. ----ddeebbuuggggeerr Arrange for the debugger profile to be executed before the shell - starts. Turns on extended debugging mode (see the description + starts. Turns on extended debugging mode (see the description of the eexxttddeebbuugg option to the sshhoopptt builtin below). ----dduummpp--ppoo--ssttrriinnggss - Equivalent to --DD, but the output is in the GNU _g_e_t_t_e_x_t ppoo (por- + Equivalent to --DD, but the output is in the GNU _g_e_t_t_e_x_t ppoo (por- table object) file format. ----dduummpp--ssttrriinnggss Equivalent to --DD. - ----hheellpp Display a usage message on standard output and exit success- + ----hheellpp Display a usage message on standard output and exit success- fully. ----iinniitt--ffiillee _f_i_l_e ----rrccffiillee _f_i_l_e Execute commands from _f_i_l_e instead of the standard personal ini- - tialization file _~_/_._b_a_s_h_r_c if the shell is interactive (see - IINNVVOOCCAATTIIOONN below). + tialization file _~_/_._b_a_s_h_r_c if the shell is interactive (see IINN-- + VVOOCCAATTIIOONN below). ----llooggiinn Equivalent to --ll. ----nnooeeddiittiinngg - Do not use the GNU rreeaaddlliinnee library to read command lines when + Do not use the GNU rreeaaddlliinnee library to read command lines when the shell is interactive. ----nnoopprrooffiillee - Do not read either the system-wide startup file _/_e_t_c_/_p_r_o_f_i_l_e or - any of the personal initialization files _~_/_._b_a_s_h___p_r_o_f_i_l_e, - _~_/_._b_a_s_h___l_o_g_i_n, or _~_/_._p_r_o_f_i_l_e. By default, bbaasshh reads these - files when it is invoked as a login shell (see IINNVVOOCCAATTIIOONN - below). + Do not read either the system-wide startup file _/_e_t_c_/_p_r_o_f_i_l_e or + any of the personal initialization files _~_/_._b_a_s_h___p_r_o_f_i_l_e, + _~_/_._b_a_s_h___l_o_g_i_n, or _~_/_._p_r_o_f_i_l_e. By default, bbaasshh reads these + files when it is invoked as a login shell (see IINNVVOOCCAATTIIOONN be- + low). ----nnoorrcc Do not read and execute the personal initialization file - _~_/_._b_a_s_h_r_c if the shell is interactive. This option is on by - default if the shell is invoked as sshh. + _~_/_._b_a_s_h_r_c if the shell is interactive. This option is on by de- + fault if the shell is invoked as sshh. ----ppoossiixx - Change the behavior of bbaasshh where the default operation differs + Change the behavior of bbaasshh where the default operation differs from the POSIX standard to match the standard (_p_o_s_i_x _m_o_d_e). See - SSEEEE AALLSSOO below for a reference to a document that details how + SSEEEE AALLSSOO below for a reference to a document that details how posix mode affects bash's behavior. ----rreessttrriicctteedd @@ -112,103 +111,102 @@ OOPPTTIIOONNSS Equivalent to --vv. ----vveerrssiioonn - Show version information for this instance of bbaasshh on the stan- + Show version information for this instance of bbaasshh on the stan- dard output and exit successfully. AARRGGUUMMEENNTTSS If arguments remain after option processing, and neither the --cc nor the - --ss option has been supplied, the first argument is assumed to be the - name of a file containing shell commands. If bbaasshh is invoked in this - fashion, $$00 is set to the name of the file, and the positional parame- - ters are set to the remaining arguments. BBaasshh reads and executes com- - mands from this file, then exits. BBaasshh's exit status is the exit sta- - tus of the last command executed in the script. If no commands are - executed, the exit status is 0. An attempt is first made to open the + --ss option has been supplied, the first argument is assumed to be the + name of a file containing shell commands. If bbaasshh is invoked in this + fashion, $$00 is set to the name of the file, and the positional parame- + ters are set to the remaining arguments. BBaasshh reads and executes com- + mands from this file, then exits. BBaasshh's exit status is the exit sta- + tus of the last command executed in the script. If no commands are ex- + ecuted, the exit status is 0. An attempt is first made to open the file in the current directory, and, if no file is found, then the shell searches the directories in PPAATTHH for the script. IINNVVOOCCAATTIIOONN - A _l_o_g_i_n _s_h_e_l_l is one whose first character of argument zero is a --, or + A _l_o_g_i_n _s_h_e_l_l is one whose first character of argument zero is a --, or one started with the ----llooggiinn option. - An _i_n_t_e_r_a_c_t_i_v_e shell is one started without non-option arguments - (unless --ss is specified) and without the --cc option whose standard input + An _i_n_t_e_r_a_c_t_i_v_e shell is one started without non-option arguments (un- + less --ss is specified) and without the --cc option whose standard input and error are both connected to terminals (as determined by _i_s_a_t_t_y(3)), - or one started with the --ii option. PPSS11 is set and $$-- includes ii if - bbaasshh is interactive, allowing a shell script or a startup file to test + or one started with the --ii option. PPSS11 is set and $$-- includes ii if + bbaasshh is interactive, allowing a shell script or a startup file to test this state. - The following paragraphs describe how bbaasshh executes its startup files. - If any of the files exist but cannot be read, bbaasshh reports an error. - Tildes are expanded in filenames as described below under TTiillddee EExxppaann-- + The following paragraphs describe how bbaasshh executes its startup files. + If any of the files exist but cannot be read, bbaasshh reports an error. + Tildes are expanded in filenames as described below under TTiillddee EExxppaann-- ssiioonn in the EEXXPPAANNSSIIOONN section. - When bbaasshh is invoked as an interactive login shell, or as a non-inter- - active shell with the ----llooggiinn option, it first reads and executes com- - mands from the file _/_e_t_c_/_p_r_o_f_i_l_e, if that file exists. After reading + When bbaasshh is invoked as an interactive login shell, or as a non-inter- + active shell with the ----llooggiinn option, it first reads and executes com- + mands from the file _/_e_t_c_/_p_r_o_f_i_l_e, if that file exists. After reading that file, it looks for _~_/_._b_a_s_h___p_r_o_f_i_l_e, _~_/_._b_a_s_h___l_o_g_i_n, and _~_/_._p_r_o_f_i_l_e, - in that order, and reads and executes commands from the first one that - exists and is readable. The ----nnoopprrooffiillee option may be used when the + in that order, and reads and executes commands from the first one that + exists and is readable. The ----nnoopprrooffiillee option may be used when the shell is started to inhibit this behavior. When an interactive login shell exits, or a non-interactive login shell - executes the eexxiitt builtin command, bbaasshh reads and executes commands + executes the eexxiitt builtin command, bbaasshh reads and executes commands from the file _~_/_._b_a_s_h___l_o_g_o_u_t, if it exists. - When an interactive shell that is not a login shell is started, bbaasshh - reads and executes commands from _~_/_._b_a_s_h_r_c, if that file exists. This - may be inhibited by using the ----nnoorrcc option. The ----rrccffiillee _f_i_l_e option - will force bbaasshh to read and execute commands from _f_i_l_e instead of + When an interactive shell that is not a login shell is started, bbaasshh + reads and executes commands from _~_/_._b_a_s_h_r_c, if that file exists. This + may be inhibited by using the ----nnoorrcc option. The ----rrccffiillee _f_i_l_e option + will force bbaasshh to read and execute commands from _f_i_l_e instead of _~_/_._b_a_s_h_r_c. - When bbaasshh is started non-interactively, to run a shell script, for - example, it looks for the variable BBAASSHH__EENNVV in the environment, expands - its value if it appears there, and uses the expanded value as the name - of a file to read and execute. BBaasshh behaves as if the following com- + When bbaasshh is started non-interactively, to run a shell script, for ex- + ample, it looks for the variable BBAASSHH__EENNVV in the environment, expands + its value if it appears there, and uses the expanded value as the name + of a file to read and execute. BBaasshh behaves as if the following com- mand were executed: if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi - but the value of the PPAATTHH variable is not used to search for the file- + but the value of the PPAATTHH variable is not used to search for the file- name. - If bbaasshh is invoked with the name sshh, it tries to mimic the startup - behavior of historical versions of sshh as closely as possible, while - conforming to the POSIX standard as well. When invoked as an interac- - tive login shell, or a non-interactive shell with the ----llooggiinn option, - it first attempts to read and execute commands from _/_e_t_c_/_p_r_o_f_i_l_e and - _~_/_._p_r_o_f_i_l_e, in that order. The ----nnoopprrooffiillee option may be used to - inhibit this behavior. When invoked as an interactive shell with the - name sshh, bbaasshh looks for the variable EENNVV, expands its value if it is - defined, and uses the expanded value as the name of a file to read and + If bbaasshh is invoked with the name sshh, it tries to mimic the startup be- + havior of historical versions of sshh as closely as possible, while con- + forming to the POSIX standard as well. When invoked as an interactive + login shell, or a non-interactive shell with the ----llooggiinn option, it + first attempts to read and execute commands from _/_e_t_c_/_p_r_o_f_i_l_e and + _~_/_._p_r_o_f_i_l_e, in that order. The ----nnoopprrooffiillee option may be used to in- + hibit this behavior. When invoked as an interactive shell with the + name sshh, bbaasshh looks for the variable EENNVV, expands its value if it is + defined, and uses the expanded value as the name of a file to read and execute. Since a shell invoked as sshh does not attempt to read and exe- - cute commands from any other startup files, the ----rrccffiillee option has no - effect. A non-interactive shell invoked with the name sshh does not - attempt to read any other startup files. When invoked as sshh, bbaasshh - enters _p_o_s_i_x mode after the startup files are read. + cute commands from any other startup files, the ----rrccffiillee option has no + effect. A non-interactive shell invoked with the name sshh does not at- + tempt to read any other startup files. When invoked as sshh, bbaasshh enters + _p_o_s_i_x mode after the startup files are read. - When bbaasshh is started in _p_o_s_i_x mode, as with the ----ppoossiixx command line + When bbaasshh is started in _p_o_s_i_x mode, as with the ----ppoossiixx command line option, it follows the POSIX standard for startup files. In this mode, - interactive shells expand the EENNVV variable and commands are read and - executed from the file whose name is the expanded value. No other + interactive shells expand the EENNVV variable and commands are read and + executed from the file whose name is the expanded value. No other startup files are read. BBaasshh attempts to determine when it is being run with its standard input connected to a network connection, as when executed by the remote shell - daemon, usually _r_s_h_d, or the secure shell daemon _s_s_h_d. If bbaasshh deter- - mines it is being run in this fashion, it reads and executes commands - from _~_/_._b_a_s_h_r_c, if that file exists and is readable. It will not do - this if invoked as sshh. The ----nnoorrcc option may be used to inhibit this - behavior, and the ----rrccffiillee option may be used to force another file to - be read, but neither _r_s_h_d nor _s_s_h_d generally invoke the shell with + daemon, usually _r_s_h_d, or the secure shell daemon _s_s_h_d. If bbaasshh deter- + mines it is being run in this fashion, it reads and executes commands + from _~_/_._b_a_s_h_r_c, if that file exists and is readable. It will not do + this if invoked as sshh. The ----nnoorrcc option may be used to inhibit this + behavior, and the ----rrccffiillee option may be used to force another file to + be read, but neither _r_s_h_d nor _s_s_h_d generally invoke the shell with those options or allow them to be specified. If the shell is started with the effective user (group) id not equal to the real user (group) id, and the --pp option is not supplied, no startup files are read, shell functions are not inherited from the environment, - the SSHHEELLLLOOPPTTSS, BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they - appear in the environment, are ignored, and the effective user id is - set to the real user id. If the --pp option is supplied at invocation, - the startup behavior is the same, but the effective user id is not - reset. + the SSHHEELLLLOOPPTTSS, BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they ap- + pear in the environment, are ignored, and the effective user id is set + to the real user id. If the --pp option is supplied at invocation, the + startup behavior is the same, but the effective user id is not reset. DDEEFFIINNIITTIIOONNSS The following definitions are used throughout the rest of this docu- @@ -242,8 +240,8 @@ SSHHEELLLL GGRRAAMMMMAARR A _s_i_m_p_l_e _c_o_m_m_a_n_d is a sequence of optional variable assignments fol- lowed by bbllaannkk-separated words and redirections, and terminated by a _c_o_n_t_r_o_l _o_p_e_r_a_t_o_r. The first word specifies the command to be executed, - and is passed as argument zero. The remaining words are passed as - arguments to the invoked command. + and is passed as argument zero. The remaining words are passed as ar- + guments to the invoked command. The return value of a _s_i_m_p_l_e _c_o_m_m_a_n_d is its exit status, or 128+_n if the command is terminated by signal _n. @@ -336,9 +334,9 @@ SSHHEELLLL GGRRAAMMMMAARR (_l_i_s_t) _l_i_s_t is executed in a subshell environment (see CCOOMMMMAANNDD EEXXEECCUU-- TTIIOONN EENNVVIIRROONNMMEENNTT below). Variable assignments and builtin com- - mands that affect the shell's environment do not remain in - effect after the command completes. The return status is the - exit status of _l_i_s_t. + mands that affect the shell's environment do not remain in ef- + fect after the command completes. The return status is the exit + status of _l_i_s_t. { _l_i_s_t; } _l_i_s_t is simply executed in the current shell environment. _l_i_s_t @@ -351,10 +349,10 @@ SSHHEELLLL GGRRAAMMMMAARR metacharacter. ((_e_x_p_r_e_s_s_i_o_n)) - The _e_x_p_r_e_s_s_i_o_n is evaluated according to the rules described - below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. If the value of the expres- - sion is non-zero, the return status is 0; otherwise the return - status is 1. This is exactly equivalent to lleett ""_e_x_p_r_e_s_s_i_o_n"". + The _e_x_p_r_e_s_s_i_o_n is evaluated according to the rules described be- + low under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. If the value of the expression + is non-zero, the return status is 0; otherwise the return status + is 1. This is exactly equivalent to lleett ""_e_x_p_r_e_s_s_i_o_n"". [[[[ _e_x_p_r_e_s_s_i_o_n ]]]] Return a status of 0 or 1 depending on the evaluation of the @@ -383,30 +381,37 @@ SSHHEELLLL GGRRAAMMMMAARR An additional binary operator, ==~~, is available, with the same precedence as ==== and !!==. When it is used, the string to the - right of the operator is considered a POSIX extended regular - expression and matched accordingly (as in _r_e_g_e_x(3)). The return - value is 0 if the string matches the pattern, and 1 otherwise. + right of the operator is considered a POSIX extended regular ex- + pression and matched accordingly (using the POSIX _r_e_g_c_o_m_p and + _r_e_g_e_x_e_c interfaces usually described in _r_e_g_e_x(3)). The return + value is 0 if the string matches the pattern, and 1 otherwise. If the regular expression is syntactically incorrect, the condi- tional expression's return value is 2. If the nnooccaasseemmaattcchh shell - option is enabled, the match is performed without regard to the - case of alphabetic characters. Any part of the pattern may be - quoted to force the quoted portion to be matched as a string. + option is enabled, the match is performed without regard to the + case of alphabetic characters. Any part of the pattern may be + quoted to force the quoted portion to be matched as a string. Bracket expressions in regular expressions must be treated care- - fully, since normal quoting characters lose their meanings - between brackets. If the pattern is stored in a shell variable, - quoting the variable expansion forces the entire pattern to be - matched as a string. Substrings matched by parenthesized subex- - pressions within the regular expression are saved in the array - variable BBAASSHH__RREEMMAATTCCHH. The element of BBAASSHH__RREEMMAATTCCHH with index 0 - is the portion of the string matching the entire regular expres- - sion. The element of BBAASSHH__RREEMMAATTCCHH with index _n is the portion + fully, since normal quoting characters lose their meanings be- + tween brackets. If the pattern is stored in a shell variable, + quoting the variable expansion forces the entire pattern to be + matched as a string. + + The pattern will match if it matches any part of the string. + Anchor the pattern using the ^^ and $$ regular expression opera- + tors to force it to match the entire string. The array variable + BBAASSHH__RREEMMAATTCCHH records which parts of the string matched the pat- + tern. The element of BBAASSHH__RREEMMAATTCCHH with index 0 contains the + portion of the string matching the entire regular expression. + Substrings matched by parenthesized subexpressions within the + regular expression are saved in the remaining BBAASSHH__RREEMMAATTCCHH in- + dices. The element of BBAASSHH__RREEMMAATTCCHH with index _n is the portion of the string matching the _nth parenthesized subexpression. - Expressions may be combined using the following operators, + Expressions may be combined using the following operators, listed in decreasing order of precedence: (( _e_x_p_r_e_s_s_i_o_n )) - Returns the value of _e_x_p_r_e_s_s_i_o_n. This may be used to + Returns the value of _e_x_p_r_e_s_s_i_o_n. This may be used to override the normal precedence of operators. !! _e_x_p_r_e_s_s_i_o_n True if _e_x_p_r_e_s_s_i_o_n is false. @@ -416,87 +421,86 @@ SSHHEELLLL GGRRAAMMMMAARR True if either _e_x_p_r_e_s_s_i_o_n_1 or _e_x_p_r_e_s_s_i_o_n_2 is true. The &&&& and |||| operators do not evaluate _e_x_p_r_e_s_s_i_o_n_2 if the value - of _e_x_p_r_e_s_s_i_o_n_1 is sufficient to determine the return value of + of _e_x_p_r_e_s_s_i_o_n_1 is sufficient to determine the return value of the entire conditional expression. ffoorr _n_a_m_e [ [ iinn [ _w_o_r_d _._._. ] ] ; ] ddoo _l_i_s_t ; ddoonnee The list of words following iinn is expanded, generating a list of items. The variable _n_a_m_e is set to each element of this list in - turn, and _l_i_s_t is executed each time. If the iinn _w_o_r_d is omit- - ted, the ffoorr command executes _l_i_s_t once for each positional - parameter that is set (see PPAARRAAMMEETTEERRSS below). The return status - is the exit status of the last command that executes. If the + turn, and _l_i_s_t is executed each time. If the iinn _w_o_r_d is omit- + ted, the ffoorr command executes _l_i_s_t once for each positional pa- + rameter that is set (see PPAARRAAMMEETTEERRSS below). The return status + is the exit status of the last command that executes. If the expansion of the items following iinn results in an empty list, no commands are executed, and the return status is 0. ffoorr (( _e_x_p_r_1 ; _e_x_p_r_2 ; _e_x_p_r_3 )) ; ddoo _l_i_s_t ; ddoonnee First, the arithmetic expression _e_x_p_r_1 is evaluated according to - the rules described below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. The - arithmetic expression _e_x_p_r_2 is then evaluated repeatedly until - it evaluates to zero. Each time _e_x_p_r_2 evaluates to a non-zero - value, _l_i_s_t is executed and the arithmetic expression _e_x_p_r_3 is - evaluated. If any expression is omitted, it behaves as if it + the rules described below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. The + arithmetic expression _e_x_p_r_2 is then evaluated repeatedly until + it evaluates to zero. Each time _e_x_p_r_2 evaluates to a non-zero + value, _l_i_s_t is executed and the arithmetic expression _e_x_p_r_3 is + evaluated. If any expression is omitted, it behaves as if it evaluates to 1. The return value is the exit status of the last command in _l_i_s_t that is executed, or false if any of the expres- sions is invalid. sseelleecctt _n_a_m_e [ iinn _w_o_r_d ] ; ddoo _l_i_s_t ; ddoonnee The list of words following iinn is expanded, generating a list of - items. The set of expanded words is printed on the standard - error, each preceded by a number. If the iinn _w_o_r_d is omitted, - the positional parameters are printed (see PPAARRAAMMEETTEERRSS below). - The PPSS33 prompt is then displayed and a line read from the stan- - dard input. If the line consists of a number corresponding to - one of the displayed words, then the value of _n_a_m_e is set to - that word. If the line is empty, the words and prompt are dis- - played again. If EOF is read, the command completes. Any other - value read causes _n_a_m_e to be set to null. The line read is - saved in the variable RREEPPLLYY. The _l_i_s_t is executed after each - selection until a bbrreeaakk command is executed. The exit status of - sseelleecctt is the exit status of the last command executed in _l_i_s_t, - or zero if no commands were executed. + items. The set of expanded words is printed on the standard er- + ror, each preceded by a number. If the iinn _w_o_r_d is omitted, the + positional parameters are printed (see PPAARRAAMMEETTEERRSS below). The + PPSS33 prompt is then displayed and a line read from the standard + input. If the line consists of a number corresponding to one of + the displayed words, then the value of _n_a_m_e is set to that word. + If the line is empty, the words and prompt are displayed again. + If EOF is read, the command completes. Any other value read + causes _n_a_m_e to be set to null. The line read is saved in the + variable RREEPPLLYY. The _l_i_s_t is executed after each selection until + a bbrreeaakk command is executed. The exit status of sseelleecctt is the + exit status of the last command executed in _l_i_s_t, or zero if no + commands were executed. ccaassee _w_o_r_d iinn [ [(] _p_a_t_t_e_r_n [ || _p_a_t_t_e_r_n ] ... ) _l_i_s_t ;; ] ... eessaacc A ccaassee command first expands _w_o_r_d, and tries to match it against - each _p_a_t_t_e_r_n in turn, using the matching rules described under + each _p_a_t_t_e_r_n in turn, using the matching rules described under PPaatttteerrnn MMaattcchhiinngg below. The _w_o_r_d is expanded using tilde expan- - sion, parameter and variable expansion, arithmetic expansion, - command substitution, process substitution and quote removal. + sion, parameter and variable expansion, arithmetic expansion, + command substitution, process substitution and quote removal. Each _p_a_t_t_e_r_n examined is expanded using tilde expansion, parame- - ter and variable expansion, arithmetic expansion, command sub- - stitution, and process substitution. If the nnooccaasseemmaattcchh shell - option is enabled, the match is performed without regard to the - case of alphabetic characters. When a match is found, the cor- - responding _l_i_s_t is executed. If the ;;;; operator is used, no - subsequent matches are attempted after the first pattern match. - Using ;;&& in place of ;;;; causes execution to continue with the - _l_i_s_t associated with the next set of patterns. Using ;;;;&& in - place of ;;;; causes the shell to test the next pattern list in + ter and variable expansion, arithmetic expansion, command sub- + stitution, and process substitution. If the nnooccaasseemmaattcchh shell + option is enabled, the match is performed without regard to the + case of alphabetic characters. When a match is found, the cor- + responding _l_i_s_t is executed. If the ;;;; operator is used, no + subsequent matches are attempted after the first pattern match. + Using ;;&& in place of ;;;; causes execution to continue with the + _l_i_s_t associated with the next set of patterns. Using ;;;;&& in + place of ;;;; causes the shell to test the next pattern list in the statement, if any, and execute any associated _l_i_s_t on a suc- cessful match, continuing the case statement execution as if the - pattern list had not matched. The exit status is zero if no - pattern matches. Otherwise, it is the exit status of the last + pattern list had not matched. The exit status is zero if no + pattern matches. Otherwise, it is the exit status of the last command executed in _l_i_s_t. iiff _l_i_s_t; tthheenn _l_i_s_t; [ eelliiff _l_i_s_t; tthheenn _l_i_s_t; ] ... [ eellssee _l_i_s_t; ] ffii - The iiff _l_i_s_t is executed. If its exit status is zero, the tthheenn - _l_i_s_t is executed. Otherwise, each eelliiff _l_i_s_t is executed in - turn, and if its exit status is zero, the corresponding tthheenn + The iiff _l_i_s_t is executed. If its exit status is zero, the tthheenn + _l_i_s_t is executed. Otherwise, each eelliiff _l_i_s_t is executed in + turn, and if its exit status is zero, the corresponding tthheenn _l_i_s_t is executed and the command completes. Otherwise, the eellssee - _l_i_s_t is executed, if present. The exit status is the exit sta- + _l_i_s_t is executed, if present. The exit status is the exit sta- tus of the last command executed, or zero if no condition tested true. wwhhiillee _l_i_s_t_-_1; ddoo _l_i_s_t_-_2; ddoonnee uunnttiill _l_i_s_t_-_1; ddoo _l_i_s_t_-_2; ddoonnee - The wwhhiillee command continuously executes the list _l_i_s_t_-_2 as long + The wwhhiillee command continuously executes the list _l_i_s_t_-_2 as long as the last command in the list _l_i_s_t_-_1 returns an exit status of - zero. The uunnttiill command is identical to the wwhhiillee command, - except that the test is negated: _l_i_s_t_-_2 is executed as long as - the last command in _l_i_s_t_-_1 returns a non-zero exit status. The - exit status of the wwhhiillee and uunnttiill commands is the exit status - of the last command executed in _l_i_s_t_-_2, or zero if none was exe- - cuted. + zero. The uunnttiill command is identical to the wwhhiillee command, ex- + cept that the test is negated: _l_i_s_t_-_2 is executed as long as the + last command in _l_i_s_t_-_1 returns a non-zero exit status. The exit + status of the wwhhiillee and uunnttiill commands is the exit status of the + last command executed in _l_i_s_t_-_2, or zero if none was executed. CCoopprroocceesssseess A _c_o_p_r_o_c_e_s_s is a shell command preceded by the ccoopprroocc reserved word. A @@ -508,24 +512,24 @@ SSHHEELLLL GGRRAAMMMMAARR ccoopprroocc [_N_A_M_E] _c_o_m_m_a_n_d [_r_e_d_i_r_e_c_t_i_o_n_s] - This creates a coprocess named _N_A_M_E. If _N_A_M_E is not supplied, the - default name is CCOOPPRROOCC. _N_A_M_E must not be supplied if _c_o_m_m_a_n_d is a _s_i_m_- - _p_l_e _c_o_m_m_a_n_d (see above); otherwise, it is interpreted as the first word - of the simple command. When the coprocess is executed, the shell cre- - ates an array variable (see AArrrraayyss below) named _N_A_M_E in the context of - the executing shell. The standard output of _c_o_m_m_a_n_d is connected via a - pipe to a file descriptor in the executing shell, and that file - descriptor is assigned to _N_A_M_E[0]. The standard input of _c_o_m_m_a_n_d is - connected via a pipe to a file descriptor in the executing shell, and - that file descriptor is assigned to _N_A_M_E[1]. This pipe is established - before any redirections specified by the command (see RREEDDIIRREECCTTIIOONN - below). The file descriptors can be utilized as arguments to shell - commands and redirections using standard word expansions. Other than - those created to execute command and process substitutions, the file - descriptors are not available in subshells. The process ID of the - shell spawned to execute the coprocess is available as the value of the - variable _N_A_M_E_PID. The wwaaiitt builtin command may be used to wait for - the coprocess to terminate. + This creates a coprocess named _N_A_M_E. If _N_A_M_E is not supplied, the de- + fault name is CCOOPPRROOCC. _N_A_M_E must not be supplied if _c_o_m_m_a_n_d is a _s_i_m_p_l_e + _c_o_m_m_a_n_d (see above); otherwise, it is interpreted as the first word of + the simple command. When the coprocess is executed, the shell creates + an array variable (see AArrrraayyss below) named _N_A_M_E in the context of the + executing shell. The standard output of _c_o_m_m_a_n_d is connected via a + pipe to a file descriptor in the executing shell, and that file de- + scriptor is assigned to _N_A_M_E[0]. The standard input of _c_o_m_m_a_n_d is con- + nected via a pipe to a file descriptor in the executing shell, and that + file descriptor is assigned to _N_A_M_E[1]. This pipe is established be- + fore any redirections specified by the command (see RREEDDIIRREECCTTIIOONN below). + The file descriptors can be utilized as arguments to shell commands and + redirections using standard word expansions. Other than those created + to execute command and process substitutions, the file descriptors are + not available in subshells. The process ID of the shell spawned to ex- + ecute the coprocess is available as the value of the variable _N_A_M_E_PID. + The wwaaiitt builtin command may be used to wait for the coprocess to ter- + minate. Since the coprocess is created as an asynchronous command, the ccoopprroocc command always returns success. The return status of a coprocess is @@ -583,9 +587,9 @@ QQUUOOTTIINNGG A non-quoted backslash (\\) is the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r. It preserves the literal value of the next character that follows, with the exception of - . If a \\ pair appears, and the backslash is not - itself quoted, the \\ is treated as a line continuation (that - is, it is removed from the input stream and effectively ignored). + . If a \\ pair appears, and the backslash is not it- + self quoted, the \\ is treated as a line continuation (that is, + it is removed from the input stream and effectively ignored). Enclosing characters in single quotes preserves the literal value of each character within the quotes. A single quote may not occur between @@ -665,8 +669,8 @@ PPAARRAAMMEETTEERRSS is not used (see AArriitthhmmeettiicc EExxppaannssiioonn below). Word splitting is not performed, with the exception of ""$$@@"" as explained below under SSppeecciiaall PPaarraammeetteerrss. Pathname expansion is not performed. Assignment state- - ments may also appear as arguments to the aalliiaass, ddeeccllaarree, ttyyppeesseett, - eexxppoorrtt, rreeaaddoonnllyy, and llooccaall builtin commands (_d_e_c_l_a_r_a_t_i_o_n commands). + ments may also appear as arguments to the aalliiaass, ddeeccllaarree, ttyyppeesseett, eexx-- + ppoorrtt, rreeaaddoonnllyy, and llooccaall builtin commands (_d_e_c_l_a_r_a_t_i_o_n commands). When in _p_o_s_i_x _m_o_d_e, these builtins may appear in a command after one or more instances of the ccoommmmaanndd builtin and retain these assignment statement properties. @@ -676,22 +680,22 @@ PPAARRAAMMEETTEERRSS or add to the variable's previous value. This includes arguments to builtin commands such as ddeeccllaarree that accept assignment statements (_d_e_c_l_a_r_a_t_i_o_n commands). When += is applied to a variable for which the - _i_n_t_e_g_e_r attribute has been set, _v_a_l_u_e is evaluated as an arithmetic - expression and added to the variable's current value, which is also - evaluated. When += is applied to an array variable using compound - assignment (see AArrrraayyss below), the variable's value is not unset (as it - is when using =), and new values are appended to the array beginning at + _i_n_t_e_g_e_r attribute has been set, _v_a_l_u_e is evaluated as an arithmetic ex- + pression and added to the variable's current value, which is also eval- + uated. When += is applied to an array variable using compound assign- + ment (see AArrrraayyss below), the variable's value is not unset (as it is + when using =), and new values are appended to the array beginning at one greater than the array's maximum index (for indexed arrays) or - added as additional key-value pairs in an associative array. When - applied to a string-valued variable, _v_a_l_u_e is expanded and appended to + added as additional key-value pairs in an associative array. When ap- + plied to a string-valued variable, _v_a_l_u_e is expanded and appended to the variable's value. A variable can be assigned the _n_a_m_e_r_e_f attribute using the --nn option to the ddeeccllaarree or llooccaall builtin commands (see the descriptions of ddeeccllaarree and llooccaall below) to create a _n_a_m_e_r_e_f, or a reference to another vari- able. This allows variables to be manipulated indirectly. Whenever - the nameref variable is referenced, assigned to, unset, or has its - attributes modified (other than using or changing the _n_a_m_e_r_e_f attribute + the nameref variable is referenced, assigned to, unset, or has its at- + tributes modified (other than using or changing the _n_a_m_e_r_e_f attribute itself), the operation is actually performed on the variable specified by the nameref variable's value. A nameref is commonly used within shell functions to refer to a variable whose name is passed as an argu- @@ -700,8 +704,8 @@ PPAARRAAMMEETTEERRSS declare -n ref=$1 inside the function creates a nameref variable rreeff whose value is the variable name passed as the first argument. References and assignments - to rreeff, and changes to its attributes, are treated as references, - assignments, and attribute modifications to the variable whose name was + to rreeff, and changes to its attributes, are treated as references, as- + signments, and attribute modifications to the variable whose name was passed as $$11. If the control variable in a ffoorr loop has the nameref attribute, the list of words can be a list of shell variables, and a name reference will be established for each word in the list, in turn, @@ -727,12 +731,12 @@ PPAARRAAMMEETTEERRSS The shell treats several parameters specially. These parameters may only be referenced; assignment to them is not allowed. ** Expands to the positional parameters, starting from one. When - the expansion is not within double quotes, each positional - parameter expands to a separate word. In contexts where it is + the expansion is not within double quotes, each positional pa- + rameter expands to a separate word. In contexts where it is performed, those words are subject to further word splitting and pathname expansion. When the expansion occurs within double - quotes, it expands to a single word with the value of each - parameter separated by the first character of the IIFFSS special + quotes, it expands to a single word with the value of each pa- + rameter separated by the first character of the IIFFSS special variable. That is, "$$**" is equivalent to "$$11_c$$22_c......", where _c is the first character of the value of the IIFFSS variable. If IIFFSS is unset, the parameters are separated by spaces. If IIFFSS is @@ -743,8 +747,8 @@ PPAARRAAMMEETTEERRSS quotes, these words are subject to word splitting. In contexts where word splitting is not performed, this expands to a single word with each positional parameter separated by a space. When - the expansion occurs within double quotes, each parameter - expands to a separate word. That is, "$$@@" is equivalent to "$$11" + the expansion occurs within double quotes, each parameter ex- + pands to a separate word. That is, "$$@@" is equivalent to "$$11" "$$22" ... If the double-quoted expansion occurs within a word, the expansion of the first parameter is joined with the begin- ning part of the original word, and the expansion of the last @@ -755,8 +759,8 @@ PPAARRAAMMEETTEERRSS ?? Expands to the exit status of the most recently executed fore- ground pipeline. -- Expands to the current option flags as specified upon invoca- - tion, by the sseett builtin command, or those set by the shell - itself (such as the --ii option). + tion, by the sseett builtin command, or those set by the shell it- + self (such as the --ii option). $$ Expands to the process ID of the shell. In a () subshell, it expands to the process ID of the current shell, not the sub- shell. @@ -772,11 +776,11 @@ PPAARRAAMMEETTEERRSS zero. __ At shell startup, set to the absolute pathname used to invoke the shell or shell script being executed as passed in the envi- - ronment or argument list. Subsequently, expands to the last - argument to the previous simple command executed in the fore- + ronment or argument list. Subsequently, expands to the last ar- + gument to the previous simple command executed in the fore- ground, after expansion. Also set to the full pathname used to - invoke each command executed and placed in the environment - exported to that command. When checking mail, this parameter + invoke each command executed and placed in the environment ex- + ported to that command. When checking mail, this parameter holds the name of the mail file currently being checked. SShheellll VVaarriiaabblleess @@ -812,8 +816,8 @@ PPAARRAAMMEETTEERRSS script executed with .. or ssoouurrccee) is at the top of the stack. When a subroutine is executed, the number of parameters passed is pushed onto BBAASSHH__AARRGGCC. The shell sets BBAASSHH__AARRGGCC only when in - extended debugging mode (see the description of the eexxttddeebbuugg - option to the sshhoopptt builtin below). Setting eexxttddeebbuugg after the + extended debugging mode (see the description of the eexxttddeebbuugg op- + tion to the sshhoopptt builtin below). Setting eexxttddeebbuugg after the shell has started to execute a script, or referencing this vari- able when eexxttddeebbuugg is not set, may result in inconsistent val- ues. @@ -824,9 +828,9 @@ PPAARRAAMMEETTEERRSS of the initial call is at the bottom. When a subroutine is exe- cuted, the parameters supplied are pushed onto BBAASSHH__AARRGGVV. The shell sets BBAASSHH__AARRGGVV only when in extended debugging mode (see - the description of the eexxttddeebbuugg option to the sshhoopptt builtin - below). Setting eexxttddeebbuugg after the shell has started to execute - a script, or referencing this variable when eexxttddeebbuugg is not set, + the description of the eexxttddeebbuugg option to the sshhoopptt builtin be- + low). Setting eexxttddeebbuugg after the shell has started to execute a + script, or referencing this variable when eexxttddeebbuugg is not set, may result in inconsistent values. BBAASSHH__AARRGGVV00 When referenced, this variable expands to the name of the shell @@ -864,24 +868,23 @@ PPAARRAAMMEETTEERRSS BBAASSHH__RREEMMAATTCCHH An array variable whose members are assigned by the ==~~ binary operator to the [[[[ conditional command. The element with index - 0 is the portion of the string matching the entire regular - expression. The element with index _n is the portion of the - string matching the _nth parenthesized subexpression. This vari- - able is read-only. + 0 is the portion of the string matching the entire regular ex- + pression. The element with index _n is the portion of the string + matching the _nth parenthesized subexpression. BBAASSHH__SSOOUURRCCEE - An array variable whose members are the source filenames where - the corresponding shell function names in the FFUUNNCCNNAAMMEE array - variable are defined. The shell function $${{FFUUNNCCNNAAMMEE[[_$_i]]}} is - defined in the file $${{BBAASSHH__SSOOUURRCCEE[[_$_i]]}} and called from + An array variable whose members are the source filenames where + the corresponding shell function names in the FFUUNNCCNNAAMMEE array + variable are defined. The shell function $${{FFUUNNCCNNAAMMEE[[_$_i]]}} is de- + fined in the file $${{BBAASSHH__SSOOUURRCCEE[[_$_i]]}} and called from $${{BBAASSHH__SSOOUURRCCEE[[_$_i_+_1]]}}. BBAASSHH__SSUUBBSSHHEELLLL - Incremented by one within each subshell or subshell environment - when the shell begins executing in that environment. The ini- - tial value is 0. If BBAASSHH__SSUUBBSSHHEELLLL is unset, it loses its spe- + Incremented by one within each subshell or subshell environment + when the shell begins executing in that environment. The ini- + tial value is 0. If BBAASSHH__SSUUBBSSHHEELLLL is unset, it loses its spe- cial properties, even if it is subsequently reset. BBAASSHH__VVEERRSSIINNFFOO A readonly array variable whose members hold version information - for this instance of bbaasshh. The values assigned to the array + for this instance of bbaasshh. The values assigned to the array members are as follows: BBAASSHH__VVEERRSSIINNFFOO[[0]] The major version number (the _r_e_l_e_a_s_e). BBAASSHH__VVEERRSSIINNFFOO[[1]] The minor version number (the _v_e_r_s_i_o_n). @@ -890,137 +893,137 @@ PPAARRAAMMEETTEERRSS BBAASSHH__VVEERRSSIINNFFOO[[4]] The release status (e.g., _b_e_t_a_1). BBAASSHH__VVEERRSSIINNFFOO[[5]] The value of MMAACCHHTTYYPPEE. BBAASSHH__VVEERRSSIIOONN - Expands to a string describing the version of this instance of + Expands to a string describing the version of this instance of bbaasshh. CCOOMMPP__CCWWOORRDD - An index into $${{CCOOMMPP__WWOORRDDSS}} of the word containing the current + An index into $${{CCOOMMPP__WWOORRDDSS}} of the word containing the current cursor position. This variable is available only in shell func- - tions invoked by the programmable completion facilities (see + tions invoked by the programmable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). CCOOMMPP__KKEEYY The key (or final key of a key sequence) used to invoke the cur- rent completion function. CCOOMMPP__LLIINNEE - The current command line. This variable is available only in - shell functions and external commands invoked by the program- - mable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). - CCOOMMPP__PPOOIINNTT - The index of the current cursor position relative to the begin- - ning of the current command. If the current cursor position is - at the end of the current command, the value of this variable is - equal to $${{##CCOOMMPP__LLIINNEE}}. This variable is available only in + The current command line. This variable is available only in shell functions and external commands invoked by the program- mable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). - CCOOMMPP__TTYYPPEE - Set to an integer value corresponding to the type of completion - attempted that caused a completion function to be called: _T_A_B, - for normal completion, _?, for listing completions after succes- - sive tabs, _!, for listing alternatives on partial word comple- - tion, _@, to list completions if the word is not unmodified, or - _%, for menu completion. This variable is available only in + CCOOMMPP__PPOOIINNTT + The index of the current cursor position relative to the begin- + ning of the current command. If the current cursor position is + at the end of the current command, the value of this variable is + equal to $${{##CCOOMMPP__LLIINNEE}}. This variable is available only in shell functions and external commands invoked by the program- mable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). + CCOOMMPP__TTYYPPEE + Set to an integer value corresponding to the type of completion + attempted that caused a completion function to be called: _T_A_B, + for normal completion, _?, for listing completions after succes- + sive tabs, _!, for listing alternatives on partial word comple- + tion, _@, to list completions if the word is not unmodified, or + _%, for menu completion. This variable is available only in + shell functions and external commands invoked by the program- + mable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). CCOOMMPP__WWOORRDDBBRREEAAKKSS - The set of characters that the rreeaaddlliinnee library treats as word - separators when performing word completion. If CCOOMMPP__WWOORRDDBBRREEAAKKSS - is unset, it loses its special properties, even if it is subse- + The set of characters that the rreeaaddlliinnee library treats as word + separators when performing word completion. If CCOOMMPP__WWOORRDDBBRREEAAKKSS + is unset, it loses its special properties, even if it is subse- quently reset. CCOOMMPP__WWOORRDDSS - An array variable (see AArrrraayyss below) consisting of the individ- - ual words in the current command line. The line is split into - words as rreeaaddlliinnee would split it, using CCOOMMPP__WWOORRDDBBRREEAAKKSS as - described above. This variable is available only in shell func- - tions invoked by the programmable completion facilities (see + An array variable (see AArrrraayyss below) consisting of the individ- + ual words in the current command line. The line is split into + words as rreeaaddlliinnee would split it, using CCOOMMPP__WWOORRDDBBRREEAAKKSS as de- + scribed above. This variable is available only in shell func- + tions invoked by the programmable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). - CCOOPPRROOCC An array variable (see AArrrraayyss below) created to hold the file - descriptors for output from and input to an unnamed coprocess + CCOOPPRROOCC An array variable (see AArrrraayyss below) created to hold the file + descriptors for output from and input to an unnamed coprocess (see CCoopprroocceesssseess above). DDIIRRSSTTAACCKK An array variable (see AArrrraayyss below) containing the current con- - tents of the directory stack. Directories appear in the stack - in the order they are displayed by the ddiirrss builtin. Assigning + tents of the directory stack. Directories appear in the stack + in the order they are displayed by the ddiirrss builtin. Assigning to members of this array variable may be used to modify directo- - ries already in the stack, but the ppuusshhdd and ppooppdd builtins must + ries already in the stack, but the ppuusshhdd and ppooppdd builtins must be used to add and remove directories. Assignment to this vari- - able will not change the current directory. If DDIIRRSSTTAACCKK is - unset, it loses its special properties, even if it is subse- - quently reset. + able will not change the current directory. If DDIIRRSSTTAACCKK is un- + set, it loses its special properties, even if it is subsequently + reset. EEPPOOCCHHRREEAALLTTIIMMEE Each time this parameter is referenced, it expands to the number - of seconds since the Unix Epoch (see _t_i_m_e(3)) as a floating + of seconds since the Unix Epoch (see _t_i_m_e(3)) as a floating point value with micro-second granularity. Assignments to - EEPPOOCCHHRREEAALLTTIIMMEE are ignored. If EEPPOOCCHHRREEAALLTTIIMMEE is unset, it loses + EEPPOOCCHHRREEAALLTTIIMMEE are ignored. If EEPPOOCCHHRREEAALLTTIIMMEE is unset, it loses its special properties, even if it is subsequently reset. EEPPOOCCHHSSEECCOONNDDSS Each time this parameter is referenced, it expands to the number - of seconds since the Unix Epoch (see _t_i_m_e(3)). Assignments to - EEPPOOCCHHSSEECCOONNDDSS are ignored. If EEPPOOCCHHSSEECCOONNDDSS is unset, it loses + of seconds since the Unix Epoch (see _t_i_m_e(3)). Assignments to + EEPPOOCCHHSSEECCOONNDDSS are ignored. If EEPPOOCCHHSSEECCOONNDDSS is unset, it loses its special properties, even if it is subsequently reset. - EEUUIIDD Expands to the effective user ID of the current user, initial- + EEUUIIDD Expands to the effective user ID of the current user, initial- ized at shell startup. This variable is readonly. FFUUNNCCNNAAMMEE - An array variable containing the names of all shell functions + An array variable containing the names of all shell functions currently in the execution call stack. The element with index 0 is the name of any currently-executing shell function. The bot- - tom-most element (the one with the highest index) is "main". - This variable exists only when a shell function is executing. - Assignments to FFUUNNCCNNAAMMEE have no effect. If FFUUNNCCNNAAMMEE is unset, - it loses its special properties, even if it is subsequently - reset. + tom-most element (the one with the highest index) is "main". + This variable exists only when a shell function is executing. + Assignments to FFUUNNCCNNAAMMEE have no effect. If FFUUNNCCNNAAMMEE is unset, + it loses its special properties, even if it is subsequently re- + set. - This variable can be used with BBAASSHH__LLIINNEENNOO and BBAASSHH__SSOOUURRCCEE. - Each element of FFUUNNCCNNAAMMEE has corresponding elements in - BBAASSHH__LLIINNEENNOO and BBAASSHH__SSOOUURRCCEE to describe the call stack. For - instance, $${{FFUUNNCCNNAAMMEE[[_$_i]]}} was called from the file - $${{BBAASSHH__SSOOUURRCCEE[[_$_i_+_1]]}} at line number $${{BBAASSHH__LLIINNEENNOO[[_$_i]]}}. The + This variable can be used with BBAASSHH__LLIINNEENNOO and BBAASSHH__SSOOUURRCCEE. + Each element of FFUUNNCCNNAAMMEE has corresponding elements in + BBAASSHH__LLIINNEENNOO and BBAASSHH__SSOOUURRCCEE to describe the call stack. For in- + stance, $${{FFUUNNCCNNAAMMEE[[_$_i]]}} was called from the file + $${{BBAASSHH__SSOOUURRCCEE[[_$_i_+_1]]}} at line number $${{BBAASSHH__LLIINNEENNOO[[_$_i]]}}. The ccaalllleerr builtin displays the current call stack using this infor- mation. - GGRROOUUPPSS An array variable containing the list of groups of which the + GGRROOUUPPSS An array variable containing the list of groups of which the current user is a member. Assignments to GGRROOUUPPSS have no effect. - If GGRROOUUPPSS is unset, it loses its special properties, even if it + If GGRROOUUPPSS is unset, it loses its special properties, even if it is subsequently reset. HHIISSTTCCMMDD The history number, or index in the history list, of the current - command. If HHIISSTTCCMMDD is unset, it loses its special properties, + command. If HHIISSTTCCMMDD is unset, it loses its special properties, even if it is subsequently reset. HHOOSSTTNNAAMMEE Automatically set to the name of the current host. HHOOSSTTTTYYPPEE - Automatically set to a string that uniquely describes the type - of machine on which bbaasshh is executing. The default is system- + Automatically set to a string that uniquely describes the type + of machine on which bbaasshh is executing. The default is system- dependent. - LLIINNEENNOO Each time this parameter is referenced, the shell substitutes a - decimal number representing the current sequential line number - (starting with 1) within a script or function. When not in a - script or function, the value substituted is not guaranteed to + LLIINNEENNOO Each time this parameter is referenced, the shell substitutes a + decimal number representing the current sequential line number + (starting with 1) within a script or function. When not in a + script or function, the value substituted is not guaranteed to be meaningful. If LLIINNEENNOO is unset, it loses its special proper- ties, even if it is subsequently reset. MMAACCHHTTYYPPEE - Automatically set to a string that fully describes the system - type on which bbaasshh is executing, in the standard GNU _c_p_u_-_c_o_m_- + Automatically set to a string that fully describes the system + type on which bbaasshh is executing, in the standard GNU _c_p_u_-_c_o_m_- _p_a_n_y_-_s_y_s_t_e_m format. The default is system-dependent. MMAAPPFFIILLEE - An array variable (see AArrrraayyss below) created to hold the text + An array variable (see AArrrraayyss below) created to hold the text read by the mmaappffiillee builtin when no variable name is supplied. OOLLDDPPWWDD The previous working directory as set by the ccdd command. - OOPPTTAARRGG The value of the last option argument processed by the ggeettooppttss + OOPPTTAARRGG The value of the last option argument processed by the ggeettooppttss builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - OOPPTTIINNDD The index of the next argument to be processed by the ggeettooppttss + OOPPTTIINNDD The index of the next argument to be processed by the ggeettooppttss builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - OOSSTTYYPPEE Automatically set to a string that describes the operating sys- - tem on which bbaasshh is executing. The default is system-depen- + OOSSTTYYPPEE Automatically set to a string that describes the operating sys- + tem on which bbaasshh is executing. The default is system-depen- dent. PPIIPPEESSTTAATTUUSS - An array variable (see AArrrraayyss below) containing a list of exit - status values from the processes in the most-recently-executed + An array variable (see AArrrraayyss below) containing a list of exit + status values from the processes in the most-recently-executed foreground pipeline (which may contain only a single command). - PPPPIIDD The process ID of the shell's parent. This variable is read- + PPPPIIDD The process ID of the shell's parent. This variable is read- only. PPWWDD The current working directory as set by the ccdd command. - RRAANNDDOOMM Each time this parameter is referenced, it expands to a random - integer between 0 and 32767. Assigning a value to RRAANNDDOOMM ini- - tializes (seeds) the sequence of random numbers. If RRAANNDDOOMM is - unset, it loses its special properties, even if it is subse- + RRAANNDDOOMM Each time this parameter is referenced, it expands to a random + integer between 0 and 32767. Assigning a value to RRAANNDDOOMM ini- + tializes (seeds) the sequence of random numbers. If RRAANNDDOOMM is + unset, it loses its special properties, even if it is subse- quently reset. RREEAADDLLIINNEE__LLIINNEE The contents of the rreeaaddlliinnee line buffer, for use with "bind -x" @@ -1028,243 +1031,242 @@ PPAARRAAMMEETTEERRSS RREEAADDLLIINNEE__PPOOIINNTT The position of the insertion point in the rreeaaddlliinnee line buffer, for use with "bind -x" (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - RREEPPLLYY Set to the line of input read by the rreeaadd builtin command when + RREEPPLLYY Set to the line of input read by the rreeaadd builtin command when no arguments are supplied. SSEECCOONNDDSS - Each time this parameter is referenced, the number of seconds - since shell invocation is returned. If a value is assigned to - SSEECCOONNDDSS, the value returned upon subsequent references is the - number of seconds since the assignment plus the value assigned. + Each time this parameter is referenced, the number of seconds + since shell invocation is returned. If a value is assigned to + SSEECCOONNDDSS, the value returned upon subsequent references is the + number of seconds since the assignment plus the value assigned. If SSEECCOONNDDSS is unset, it loses its special properties, even if it is subsequently reset. SSHHEELLLLOOPPTTSS - A colon-separated list of enabled shell options. Each word in - the list is a valid argument for the --oo option to the sseett + A colon-separated list of enabled shell options. Each word in + the list is a valid argument for the --oo option to the sseett builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The options - appearing in SSHHEELLLLOOPPTTSS are those reported as _o_n by sseett --oo. If - this variable is in the environment when bbaasshh starts up, each - shell option in the list will be enabled before reading any + appearing in SSHHEELLLLOOPPTTSS are those reported as _o_n by sseett --oo. If + this variable is in the environment when bbaasshh starts up, each + shell option in the list will be enabled before reading any startup files. This variable is read-only. SSHHLLVVLL Incremented by one each time an instance of bbaasshh is started. SSRRAANNDDOOMM This variable expands to a 32-bit pseudo-random number each time - it is referenced. The random number generator is not linear on - systems that support /dev/urandom or _a_r_c_4_r_a_n_d_o_m, so each - returned number has no relationship to the numbers preceding it. - The random number generator cannot be seeded, so assignments to + it is referenced. The random number generator is not linear on + systems that support /dev/urandom or _a_r_c_4_r_a_n_d_o_m, so each re- + turned number has no relationship to the numbers preceding it. + The random number generator cannot be seeded, so assignments to this variable have no effect. If SSRRAANNDDOOMM is unset, it loses its special properties, even if it is subsequently reset. UUIIDD Expands to the user ID of the current user, initialized at shell startup. This variable is readonly. - The following variables are used by the shell. In some cases, bbaasshh - assigns a default value to a variable; these cases are noted below. + The following variables are used by the shell. In some cases, bbaasshh as- + signs a default value to a variable; these cases are noted below. BBAASSHH__CCOOMMPPAATT - The value is used to set the shell's compatibility level. See - the description of the sshhoopptt builtin below under SSHHEELLLL BBUUIILLTTIINN - CCOOMMMMAANNDDSS 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 com- - patibility level. If BBAASSHH__CCOOMMPPAATT is unset or set to the empty - string, the compatibility level is set to the default for the - current version. If BBAASSHH__CCOOMMPPAATT is set to a value that is not + The value is used to set the shell's compatibility level. See + the description of the sshhoopptt builtin below under SSHHEELLLL BBUUIILLTTIINN + CCOOMMMMAANNDDSS 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 com- + patibility level. If BBAASSHH__CCOOMMPPAATT is unset or set to the empty + string, the compatibility level is set to the default for the + current version. If BBAASSHH__CCOOMMPPAATT 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 sshhoopptt builtin - described below (for example, ccoommppaatt4422 means that 4.2 and 42 are + 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 sshhoopptt builtin de- + scribed below (for example, ccoommppaatt4422 means that 4.2 and 42 are valid values). The current version is also a valid value. BBAASSHH__EENNVV - If this parameter is set when bbaasshh is executing a shell script, - its value is interpreted as a filename containing commands to + If this parameter is set when bbaasshh is executing a shell script, + its value is interpreted as a filename containing commands to initialize the shell, as in _~_/_._b_a_s_h_r_c. The value of BBAASSHH__EENNVV is - subjected to parameter expansion, command substitution, and - arithmetic expansion before being interpreted as a filename. + subjected to parameter expansion, command substitution, and + arithmetic expansion before being interpreted as a filename. PPAATTHH is not used to search for the resultant filename. BBAASSHH__XXTTRRAACCEEFFDD - If set to an integer corresponding to a valid file descriptor, - bbaasshh will write the trace output generated when _s_e_t _-_x is - enabled to that file descriptor. The file descriptor is closed - when BBAASSHH__XXTTRRAACCEEFFDD is unset or assigned a new value. Unsetting - BBAASSHH__XXTTRRAACCEEFFDD or assigning it the empty string causes the trace - output to be sent to the standard error. Note that setting + If set to an integer corresponding to a valid file descriptor, + bbaasshh will write the trace output generated when _s_e_t _-_x is en- + abled to that file descriptor. The file descriptor is closed + when BBAASSHH__XXTTRRAACCEEFFDD is unset or assigned a new value. Unsetting + BBAASSHH__XXTTRRAACCEEFFDD or assigning it the empty string causes the trace + output to be sent to the standard error. Note that setting BBAASSHH__XXTTRRAACCEEFFDD to 2 (the standard error file descriptor) and then unsetting it will result in the standard error being closed. - CCDDPPAATTHH The search path for the ccdd command. This is a colon-separated - list of directories in which the shell looks for destination - directories specified by the ccdd command. A sample value is + CCDDPPAATTHH The search path for the ccdd command. This is a colon-separated + list of directories in which the shell looks for destination di- + rectories specified by the ccdd command. A sample value is ".:~:/usr". CCHHIILLDD__MMAAXX - Set the number of exited child status values for the shell to - remember. Bash will not allow this value to be decreased below - a POSIX-mandated minimum, and there is a maximum value (cur- - rently 8192) that this may not exceed. The minimum value is + Set the number of exited child status values for the shell to + remember. Bash will not allow this value to be decreased below + a POSIX-mandated minimum, and there is a maximum value (cur- + rently 8192) that this may not exceed. The minimum value is system-dependent. CCOOLLUUMMNNSS - Used by the sseelleecctt compound command to determine the terminal - width when printing selection lists. Automatically set if the - cchheecckkwwiinnssiizzee option is enabled or in an interactive shell upon + Used by the sseelleecctt compound command to determine the terminal + width when printing selection lists. Automatically set if the + cchheecckkwwiinnssiizzee option is enabled or in an interactive shell upon receipt of a SSIIGGWWIINNCCHH. CCOOMMPPRREEPPLLYY An array variable from which bbaasshh reads the possible completions - generated by a shell function invoked by the programmable com- - pletion facility (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). Each - array element contains one possible completion. - EEMMAACCSS If bbaasshh finds this variable in the environment when the shell - starts with value "t", it assumes that the shell is running in + generated by a shell function invoked by the programmable com- + pletion facility (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). Each ar- + ray element contains one possible completion. + EEMMAACCSS If bbaasshh finds this variable in the environment when the shell + starts with value "t", it assumes that the shell is running in an Emacs shell buffer and disables line editing. - EENNVV Similar to BBAASSHH__EENNVV; used when the shell is invoked in _p_o_s_i_x + EENNVV Similar to BBAASSHH__EENNVV; used when the shell is invoked in _p_o_s_i_x _m_o_d_e. EEXXEECCIIGGNNOORREE - A colon-separated list of shell patterns (see PPaatttteerrnn MMaattcchhiinngg) - defining the list of filenames to be ignored by command search - using PPAATTHH. Files whose full pathnames match one of these pat- - terns are not considered executable files for the purposes of + A colon-separated list of shell patterns (see PPaatttteerrnn MMaattcchhiinngg) + defining the list of filenames to be ignored by command search + using PPAATTHH. Files whose full pathnames match one of these pat- + terns are not considered executable files for the purposes of completion and command execution via PPAATTHH lookup. This does not affect the behavior of the [[, tteesstt, and [[[[ commands. Full path- - names in the command hash table are not subject to EEXXEECCIIGGNNOORREE. - Use this variable to ignore shared library files that have the - executable bit set, but are not executable files. The pattern + names in the command hash table are not subject to EEXXEECCIIGGNNOORREE. + Use this variable to ignore shared library files that have the + executable bit set, but are not executable files. The pattern matching honors the setting of the eexxttgglloobb shell option. FFCCEEDDIITT The default editor for the ffcc builtin command. FFIIGGNNOORREE - A colon-separated list of suffixes to ignore when performing + A colon-separated list of suffixes to ignore when performing filename completion (see RREEAADDLLIINNEE below). A filename whose suf- - fix matches one of the entries in FFIIGGNNOORREE is excluded from the + fix matches one of the entries in FFIIGGNNOORREE is excluded from the list of matched filenames. A sample value is ".o:~". FFUUNNCCNNEESSTT - If set to a numeric value greater than 0, defines a maximum - function nesting level. Function invocations that exceed this + If set to a numeric value greater than 0, defines a maximum + function nesting level. Function invocations that exceed this nesting level will cause the current command to abort. GGLLOOBBIIGGNNOORREE - A colon-separated list of patterns defining the set of file - names to be ignored by pathname expansion. If a file name - matched by a pathname expansion pattern also matches one of the + A colon-separated list of patterns defining the set of file + names to be ignored by pathname expansion. If a file name + matched by a pathname expansion pattern also matches one of the patterns in GGLLOOBBIIGGNNOORREE, it is removed from the list of matches. HHIISSTTCCOONNTTRROOLL - A colon-separated list of values controlling how commands are - saved on the history list. If the list of values includes - _i_g_n_o_r_e_s_p_a_c_e, lines which begin with a ssppaaccee character are not - saved in the history list. A value of _i_g_n_o_r_e_d_u_p_s causes lines + A colon-separated list of values controlling how commands are + saved on the history list. If the list of values includes _i_g_- + _n_o_r_e_s_p_a_c_e, lines which begin with a ssppaaccee character are not + saved in the history list. A value of _i_g_n_o_r_e_d_u_p_s causes lines matching the previous history entry to not be saved. A value of _i_g_n_o_r_e_b_o_t_h is shorthand for _i_g_n_o_r_e_s_p_a_c_e and _i_g_n_o_r_e_d_u_p_s. A value of _e_r_a_s_e_d_u_p_s causes all previous lines matching the current line - to be removed from the history list before that line is saved. - Any value not in the above list is ignored. If HHIISSTTCCOONNTTRROOLL is - unset, or does not include a valid value, all lines read by the + to be removed from the history list before that line is saved. + Any value not in the above list is ignored. If HHIISSTTCCOONNTTRROOLL is + unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the value - of HHIISSTTIIGGNNOORREE. The second and subsequent lines of a multi-line - compound command are not tested, and are added to the history + of HHIISSTTIIGGNNOORREE. The second and subsequent lines of a multi-line + compound command are not tested, and are added to the history regardless of the value of HHIISSTTCCOONNTTRROOLL. HHIISSTTFFIILLEE The name of the file in which command history is saved (see HHIISS-- - TTOORRYY below). The default value is _~_/_._b_a_s_h___h_i_s_t_o_r_y. If unset, + TTOORRYY below). The default value is _~_/_._b_a_s_h___h_i_s_t_o_r_y. If unset, the command history is not saved when a shell exits. HHIISSTTFFIILLEESSIIZZEE The maximum number of lines contained in the history file. When - this variable is assigned a value, the history file is trun- - cated, if necessary, to contain no more than that number of - lines by removing the oldest entries. The history file is also - truncated to this size after writing it when a shell exits. If - the value is 0, the history file is truncated to zero size. - Non-numeric values and numeric values less than zero inhibit - truncation. The shell sets the default value to the value of + this variable is assigned a value, the history file is trun- + cated, if necessary, to contain no more than that number of + lines by removing the oldest entries. The history file is also + truncated to this size after writing it when a shell exits. If + the value is 0, the history file is truncated to zero size. + Non-numeric values and numeric values less than zero inhibit + truncation. The shell sets the default value to the value of HHIISSTTSSIIZZEE after reading any startup files. HHIISSTTIIGGNNOORREE - A colon-separated list of patterns used to decide which command - lines should be saved on the history list. Each pattern is - anchored at the beginning of the line and must match the com- - plete line (no implicit `**' is appended). Each pattern is - tested against the line after the checks specified by HHIISSTTCCOONN-- - TTRROOLL are applied. In addition to the normal shell pattern - matching characters, `&&' matches the previous history line. `&&' - may be escaped using a backslash; the backslash is removed - before attempting a match. The second and subsequent lines of a - multi-line compound command are not tested, and are added to the - history regardless of the value of HHIISSTTIIGGNNOORREE. The pattern - matching honors the setting of the eexxttgglloobb shell option. + A colon-separated list of patterns used to decide which command + lines should be saved on the history list. Each pattern is an- + chored at the beginning of the line and must match the complete + line (no implicit `**' is appended). Each pattern is tested + against the line after the checks specified by HHIISSTTCCOONNTTRROOLL are + applied. In addition to the normal shell pattern matching char- + acters, `&&' matches the previous history line. `&&' may be es- + caped using a backslash; the backslash is removed before at- + tempting a match. The second and subsequent lines of a multi- + line compound command are not tested, and are added to the his- + tory regardless of the value of HHIISSTTIIGGNNOORREE. The pattern match- + ing honors the setting of the eexxttgglloobb shell option. HHIISSTTSSIIZZEE - The number of commands to remember in the command history (see - HHIISSTTOORRYY below). If the value is 0, commands are not saved in + The number of commands to remember in the command history (see + HHIISSTTOORRYY below). If the value is 0, commands are not saved in the history list. Numeric values less than zero result in every - command being saved on the history list (there is no limit). - The shell sets the default value to 500 after reading any + command being saved on the history list (there is no limit). + The shell sets the default value to 500 after reading any startup files. HHIISSTTTTIIMMEEFFOORRMMAATT - If this variable is set and not null, its value is used as a + If this variable is set and not null, its value is used as a format string for _s_t_r_f_t_i_m_e(3) to print the time stamp associated - with each history entry displayed by the hhiissttoorryy builtin. If - this variable is set, time stamps are written to the history - file so they may be preserved across shell sessions. This uses - the history comment character to distinguish timestamps from + with each history entry displayed by the hhiissttoorryy builtin. If + this variable is set, time stamps are written to the history + file so they may be preserved across shell sessions. This uses + the history comment character to distinguish timestamps from other history lines. HHOOMMEE The home directory of the current user; the default argument for the ccdd builtin command. The value of this variable is also used when performing tilde expansion. HHOOSSTTFFIILLEE - Contains the name of a file in the same format as _/_e_t_c_/_h_o_s_t_s + Contains the name of a file in the same format as _/_e_t_c_/_h_o_s_t_s that should be read when the shell needs to complete a hostname. - The list of possible hostname completions may be changed while - the shell is running; the next time hostname completion is - attempted after the value is changed, bbaasshh adds the contents of - the new file to the existing list. If HHOOSSTTFFIILLEE is set, but has - no value, or does not name a readable file, bbaasshh attempts to - read _/_e_t_c_/_h_o_s_t_s to obtain the list of possible hostname comple- + The list of possible hostname completions may be changed while + the shell is running; the next time hostname completion is at- + tempted after the value is changed, bbaasshh adds the contents of + the new file to the existing list. If HHOOSSTTFFIILLEE is set, but has + no value, or does not name a readable file, bbaasshh attempts to + read _/_e_t_c_/_h_o_s_t_s to obtain the list of possible hostname comple- tions. When HHOOSSTTFFIILLEE is unset, the hostname list is cleared. - IIFFSS The _I_n_t_e_r_n_a_l _F_i_e_l_d _S_e_p_a_r_a_t_o_r that is used for word splitting - after expansion and to split lines into words with the rreeaadd + IIFFSS The _I_n_t_e_r_n_a_l _F_i_e_l_d _S_e_p_a_r_a_t_o_r that is used for word splitting af- + ter expansion and to split lines into words with the rreeaadd builtin command. The default value is ``''. IIGGNNOORREEEEOOFF Controls the action of an interactive shell on receipt of an EEOOFF character as the sole input. If set, the value is the number of - consecutive EEOOFF characters which must be typed as the first - characters on an input line before bbaasshh exits. If the variable - exists but does not have a numeric value, or has no value, the - default value is 10. If it does not exist, EEOOFF signifies the + consecutive EEOOFF characters which must be typed as the first + characters on an input line before bbaasshh exits. If the variable + exists but does not have a numeric value, or has no value, the + default value is 10. If it does not exist, EEOOFF signifies the end of input to the shell. IINNPPUUTTRRCC - The filename for the rreeaaddlliinnee startup file, overriding the - default of _~_/_._i_n_p_u_t_r_c (see RREEAADDLLIINNEE below). + The filename for the rreeaaddlliinnee startup file, overriding the de- + fault of _~_/_._i_n_p_u_t_r_c (see RREEAADDLLIINNEE below). IINNSSIIDDEE__EEMMAACCSS - If this variable appears in the environment when the shell - starts, bbaasshh assumes that it is running inside an Emacs shell - buffer and may disable line editing, depending on the value of + If this variable appears in the environment when the shell + starts, bbaasshh assumes that it is running inside an Emacs shell + buffer and may disable line editing, depending on the value of TTEERRMM. - LLAANNGG Used to determine the locale category for any category not + LLAANNGG Used to determine the locale category for any category not specifically selected with a variable starting with LLCC__. - LLCC__AALLLL This variable overrides the value of LLAANNGG and any other LLCC__ + LLCC__AALLLL This variable overrides the value of LLAANNGG and any other LLCC__ variable specifying a locale category. LLCC__CCOOLLLLAATTEE - This variable determines the collation order used when sorting - the results of pathname expansion, and determines the behavior - of range expressions, equivalence classes, and collating - sequences within pathname expansion and pattern matching. + This variable determines the collation order used when sorting + the results of pathname expansion, and determines the behavior + of range expressions, equivalence classes, and collating se- + quences within pathname expansion and pattern matching. LLCC__CCTTYYPPEE - This variable determines the interpretation of characters and - the behavior of character classes within pathname expansion and + This variable determines the interpretation of characters and + the behavior of character classes within pathname expansion and pattern matching. LLCC__MMEESSSSAAGGEESS - This variable determines the locale used to translate double- + This variable determines the locale used to translate double- quoted strings preceded by a $$. LLCC__NNUUMMEERRIICC - This variable determines the locale category used for number + This variable determines the locale category used for number formatting. LLCC__TTIIMMEE - This variable determines the locale category used for data and + This variable determines the locale category used for data and time formatting. - LLIINNEESS Used by the sseelleecctt compound command to determine the column - length for printing selection lists. Automatically set if the - cchheecckkwwiinnssiizzee option is enabled or in an interactive shell upon + LLIINNEESS Used by the sseelleecctt compound command to determine the column + length for printing selection lists. Automatically set if the + cchheecckkwwiinnssiizzee option is enabled or in an interactive shell upon receipt of a SSIIGGWWIINNCCHH. - MMAAIILL If this parameter is set to a file or directory name and the - MMAAIILLPPAATTHH variable is not set, bbaasshh informs the user of the - arrival of mail in the specified file or Maildir-format direc- - tory. + MMAAIILL If this parameter is set to a file or directory name and the + MMAAIILLPPAATTHH variable is not set, bbaasshh informs the user of the ar- + rival of mail in the specified file or Maildir-format directory. MMAAIILLCCHHEECCKK - Specifies how often (in seconds) bbaasshh checks for mail. The - default is 60 seconds. When it is time to check for mail, the + Specifies how often (in seconds) bbaasshh checks for mail. The de- + fault is 60 seconds. When it is time to check for mail, the shell does so before displaying the primary prompt. If this variable is unset, or set to a value that is not a number greater than or equal to zero, the shell disables mail checking. @@ -1291,7 +1293,8 @@ PPAARRAAMMEETTEERRSS name may appear as two adjacent colons, or as an initial or trailing colon. The default path is system-dependent, and is set by the administrator who installs bbaasshh. A common value is - ``/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''. + ``/usr/local/bin:/usr/lo- + cal/sbin:/usr/bin:/usr/sbin:/bin:/sbin''. PPOOSSIIXXLLYY__CCOORRRREECCTT If this variable is in the environment when bbaasshh starts, the shell enters _p_o_s_i_x _m_o_d_e before reading the startup files, as if @@ -1318,10 +1321,10 @@ PPAARRAAMMEETTEERRSS PPSS33 The value of this parameter is used as the prompt for the sseelleecctt command (see SSHHEELLLL GGRRAAMMMMAARR above). PPSS44 The value of this parameter is expanded as with PPSS11 and the - value is printed before each command bbaasshh displays during an - execution trace. The first character of the expanded value of - PPSS44 is replicated multiple times, as necessary, to indicate mul- - tiple levels of indirection. The default is ``++ ''. + value is printed before each command bbaasshh displays during an ex- + ecution trace. The first character of the expanded value of PPSS44 + is replicated multiple times, as necessary, to indicate multiple + levels of indirection. The default is ``++ ''. SSHHEELLLL This variable expands to the full pathname to the shell. If it is not set when the shell starts, bbaasshh assigns to it the full pathname of the current user's login shell. @@ -1353,8 +1356,8 @@ PPAARRAAMMEETTEERRSS $$''\\nnrreeaall\\tt%%33llRR\\nnuusseerr\\tt%%33llUU\\nnssyyss\\tt%%33llSS''. If the value is null, no timing information is displayed. A trailing newline is added when the format string is displayed. - TTMMOOUUTT If set to a value greater than zero, TTMMOOUUTT is treated as the - default timeout for the rreeaadd builtin. The sseelleecctt command termi- + TTMMOOUUTT If set to a value greater than zero, TTMMOOUUTT is treated as the de- + fault timeout for the rreeaadd builtin. The sseelleecctt command termi- nates if input does not arrive after TTMMOOUUTT seconds when input is coming from a terminal. In an interactive shell, the value is interpreted as the number of seconds to wait for a line of input @@ -1427,8 +1430,8 @@ PPAARRAAMMEETTEERRSS When assigning to an associative array, the subscript is required. This syntax is also accepted by the ddeeccllaarree builtin. Individual array - elements may be assigned to using the _n_a_m_e[_s_u_b_s_c_r_i_p_t]=_v_a_l_u_e syntax - introduced above. When assigning to an indexed array, if _n_a_m_e is sub- + elements may be assigned to using the _n_a_m_e[_s_u_b_s_c_r_i_p_t]=_v_a_l_u_e syntax in- + troduced above. When assigning to an indexed array, if _n_a_m_e is sub- scripted by a negative number, that number is interpreted as relative to one greater than the maximum index of _n_a_m_e, so negative indices count back from the end of the array, and an index of -1 references the @@ -1442,18 +1445,18 @@ PPAARRAAMMEETTEERRSS value of each array member separated by the first character of the IIFFSS special variable, and ${_n_a_m_e[@]} expands each element of _n_a_m_e to a sep- arate word. When there are no array members, ${_n_a_m_e[@]} expands to - nothing. If the double-quoted expansion occurs within a word, the - expansion of the first parameter is joined with the beginning part of - the original word, and the expansion of the last parameter is joined - with the last part of the original word. This is analogous to the - expansion of the special parameters ** and @@ (see SSppeecciiaall PPaarraammeetteerrss - above). ${#_n_a_m_e[_s_u_b_s_c_r_i_p_t]} expands to the length of ${_n_a_m_e[_s_u_b_- - _s_c_r_i_p_t]}. If _s_u_b_s_c_r_i_p_t is ** or @@, the expansion is the number of ele- - ments in the array. If the _s_u_b_s_c_r_i_p_t used to reference an element of - an indexed array evaluates to a number less than zero, it is inter- - preted as relative to one greater than the maximum index of the array, - so negative indices count back from the end of the array, and an index - of -1 references the last element. + nothing. If the double-quoted expansion occurs within a word, the ex- + pansion of the first parameter is joined with the beginning part of the + original word, and the expansion of the last parameter is joined with + the last part of the original word. This is analogous to the expansion + of the special parameters ** and @@ (see SSppeecciiaall PPaarraammeetteerrss above). + ${#_n_a_m_e[_s_u_b_s_c_r_i_p_t]} expands to the length of ${_n_a_m_e[_s_u_b_s_c_r_i_p_t]}. If + _s_u_b_s_c_r_i_p_t is ** or @@, the expansion is the number of elements in the ar- + ray. If the _s_u_b_s_c_r_i_p_t used to reference an element of an indexed array + evaluates to a number less than zero, it is interpreted as relative to + one greater than the maximum index of the array, so negative indices + count back from the end of the array, and an index of -1 references the + last element. Referencing an array variable without a subscript is equivalent to ref- erencing the array with a subscript of 0. Any reference to a variable @@ -1468,22 +1471,22 @@ PPAARRAAMMEETTEERRSS array variable _n_a_m_e. The treatment when in double quotes is similar to the expansion of the special parameters _@ and _* within double quotes. - The uunnsseett builtin is used to destroy arrays. uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t] - destroys the array element at index _s_u_b_s_c_r_i_p_t, for both indexed and - associative arrays. Negative subscripts to indexed arrays are inter- - preted as described above. Unsetting the last element of an array - variable does not unset the variable. uunnsseett _n_a_m_e, where _n_a_m_e is an - array, or uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t], where _s_u_b_s_c_r_i_p_t is ** or @@, removes the - entire array. + The uunnsseett builtin is used to destroy arrays. uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t] de- + stroys the array element at index _s_u_b_s_c_r_i_p_t, for both indexed and asso- + ciative arrays. Negative subscripts to indexed arrays are interpreted + as described above. Unsetting the last element of an array variable + does not unset the variable. uunnsseett _n_a_m_e, where _n_a_m_e is an array, or + uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t], where _s_u_b_s_c_r_i_p_t is ** or @@, removes the entire + array. When using a variable name with a subscript as an argument to a com- - mand, such as with uunnsseett, without using the word expansion syntax - described above, the argument is subject to pathname expansion. If - pathname expansion is not desired, the argument should be quoted. + mand, such as with uunnsseett, without using the word expansion syntax de- + scribed above, the argument is subject to pathname expansion. If path- + name expansion is not desired, the argument should be quoted. The ddeeccllaarree, llooccaall, and rreeaaddoonnllyy builtins each accept a --aa option to - specify an indexed array and a --AA option to specify an associative - array. If both options are supplied, --AA takes precedence. The rreeaadd + specify an indexed array and a --AA option to specify an associative ar- + ray. If both options are supplied, --AA takes precedence. The rreeaadd builtin accepts a --aa option to assign a list of words read from the standard input to an array. The sseett and ddeeccllaarree builtins display array values in a way that allows them to be reused as assignments. @@ -1508,10 +1511,10 @@ EEXXPPAANNSSIIOONN original word are removed unless they have been quoted themselves (_q_u_o_t_e _r_e_m_o_v_a_l). - Only brace expansion, word splitting, and pathname expansion can - increase the number of words of the expansion; other expansions expand - a single word to a single word. The only exceptions to this are the - expansions of "$$@@" and "$${{_n_a_m_e[[@@]]}}", and, in most cases, $$** and + Only brace expansion, word splitting, and pathname expansion can in- + crease the number of words of the expansion; other expansions expand a + single word to a single word. The only exceptions to this are the ex- + pansions of "$$@@" and "$${{_n_a_m_e[[@@]]}}", and, in most cases, $$** and $${{_n_a_m_e[[**]]}} as explained above (see PPAARRAAMMEETTEERRSS). BBrraaccee EExxppaannssiioonn @@ -1536,10 +1539,10 @@ EEXXPPAANNSSIIOONN or _y begins with a zero, the shell attempts to force all generated terms to contain the same number of digits, zero-padding where neces- sary. When characters are supplied, the expression expands to each - character lexicographically between _x and _y, inclusive, using the - default C locale. Note that both _x and _y must be of the same type. - When the increment is supplied, it is used as the difference between - each term. The default increment is 1 or -1 as appropriate. + character lexicographically between _x and _y, inclusive, using the de- + fault C locale. Note that both _x and _y must be of the same type. When + the increment is supplied, it is used as the difference between each + term. The default increment is 1 or -1 as appropriate. Brace expansion is performed before any other expansions, and any char- acters special to other expansions are preserved in the result. It is @@ -1547,9 +1550,9 @@ EEXXPPAANNSSIIOONN the context of the expansion or the text between the braces. A correctly-formed brace expansion must contain unquoted opening and - closing braces, and at least one unquoted comma or a valid sequence - expression. Any incorrectly formed brace expansion is left unchanged. - A {{ or ,, may be quoted with a backslash to prevent its being considered + closing braces, and at least one unquoted comma or a valid sequence ex- + pression. Any incorrectly formed brace expansion is left unchanged. A + {{ or ,, may be quoted with a backslash to prevent its being considered part of a brace expression. To avoid conflicts with parameter expan- sion, the string $${{ is not considered eligible for brace expansion, and inhibits brace expansion until the closing }}. @@ -1583,8 +1586,8 @@ EEXXPPAANNSSIIOONN wise, the tilde-prefix is replaced with the home directory associated with the specified login name. - If the tilde-prefix is a `~+', the value of the shell variable PPWWDD - replaces the tilde-prefix. If the tilde-prefix is a `~-', the value of + If the tilde-prefix is a `~+', the value of the shell variable PPWWDD re- + places the tilde-prefix. If the tilde-prefix is a `~-', the value of the shell variable OOLLDDPPWWDD, if it is set, is substituted. If the char- acters following the tilde in the tilde-prefix consist of a number _N, optionally prefixed by a `+' or a `-', the tilde-prefix is replaced @@ -1598,9 +1601,9 @@ EEXXPPAANNSSIIOONN Each variable assignment is checked for unquoted tilde-prefixes immedi- ately following a :: or the first ==. In these cases, tilde expansion is - also performed. Consequently, one may use filenames with tildes in - assignments to PPAATTHH, MMAAIILLPPAATTHH, and CCDDPPAATTHH, and the shell assigns the - expanded value. + also performed. Consequently, one may use filenames with tildes in as- + signments to PPAATTHH, MMAAIILLPPAATTHH, and CCDDPPAATTHH, and the shell assigns the ex- + panded value. Bash also performs tilde expansion on words satisfying the conditions of variable assignments (as described above under PPAARRAAMMEETTEERRSS) when they @@ -1615,9 +1618,9 @@ EEXXPPAANNSSIIOONN could be interpreted as part of the name. When braces are used, the matching ending brace is the first `}}' not - escaped by a backslash or within a quoted string, and not within an - embedded arithmetic expansion, command substitution, or parameter - expansion. + escaped by a backslash or within a quoted string, and not within an em- + bedded arithmetic expansion, command substitution, or parameter expan- + sion. ${_p_a_r_a_m_e_t_e_r} The value of _p_a_r_a_m_e_t_e_r is substituted. The braces are required @@ -1629,12 +1632,12 @@ EEXXPPAANNSSIIOONN If the first character of _p_a_r_a_m_e_t_e_r is an exclamation point (!!), and _p_a_r_a_m_e_t_e_r is not a _n_a_m_e_r_e_f, it introduces a level of indirection. BBaasshh - uses the value formed by expanding the rest of _p_a_r_a_m_e_t_e_r as the new - _p_a_r_a_m_e_t_e_r; this is then expanded and that value is used in the rest of + uses the value formed by expanding the rest of _p_a_r_a_m_e_t_e_r as the new _p_a_- + _r_a_m_e_t_e_r; this is then expanded and that value is used in the rest of the expansion, rather than the expansion of the original _p_a_r_a_m_e_t_e_r. - This is known as _i_n_d_i_r_e_c_t _e_x_p_a_n_s_i_o_n. The value is subject to tilde - expansion, parameter expansion, command substitution, and arithmetic - expansion. If _p_a_r_a_m_e_t_e_r is a nameref, this expands to the name of the + This is known as _i_n_d_i_r_e_c_t _e_x_p_a_n_s_i_o_n. The value is subject to tilde ex- + pansion, parameter expansion, command substitution, and arithmetic ex- + pansion. If _p_a_r_a_m_e_t_e_r is a nameref, this expands to the name of the parameter referenced by _p_a_r_a_m_e_t_e_r instead of performing the complete indirect expansion. The exceptions to this are the expansions of ${!!_p_r_e_f_i_x**} and ${!!_n_a_m_e[_@]} described below. The exclamation point @@ -1644,20 +1647,20 @@ EEXXPPAANNSSIIOONN In each of the cases below, _w_o_r_d is subject to tilde expansion, parame- ter expansion, command substitution, and arithmetic expansion. - When not performing substring expansion, using the forms documented - below (e.g., ::--), bbaasshh tests for a parameter that is unset or null. - Omitting the colon results in a test only for a parameter that is - unset. + When not performing substring expansion, using the forms documented be- + low (e.g., ::--), bbaasshh tests for a parameter that is unset or null. + Omitting the colon results in a test only for a parameter that is un- + set. ${_p_a_r_a_m_e_t_e_r::--_w_o_r_d} UUssee DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the expan- sion of _w_o_r_d is substituted. Otherwise, the value of _p_a_r_a_m_e_t_e_r is substituted. ${_p_a_r_a_m_e_t_e_r::==_w_o_r_d} - AAssssiiggnn DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the - expansion of _w_o_r_d is assigned to _p_a_r_a_m_e_t_e_r. The value of _p_a_r_a_m_- - _e_t_e_r is then substituted. Positional parameters and special - parameters may not be assigned to in this way. + AAssssiiggnn DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the ex- + pansion of _w_o_r_d is assigned to _p_a_r_a_m_e_t_e_r. The value of _p_a_r_a_m_e_- + _t_e_r is then substituted. Positional parameters and special pa- + rameters may not be assigned to in this way. ${_p_a_r_a_m_e_t_e_r::??_w_o_r_d} DDiissppllaayy EErrrroorr iiff NNuullll oorr UUnnsseett. If _p_a_r_a_m_e_t_e_r is null or unset, the expansion of _w_o_r_d (or a message to that effect if _w_o_r_d is @@ -1679,35 +1682,33 @@ EEXXPPAANNSSIIOONN arithmetic expressions (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN below). If _o_f_f_s_e_t evaluates to a number less than zero, the value is - used as an offset in characters from the end of the value of - _p_a_r_a_m_e_t_e_r. If _l_e_n_g_t_h evaluates to a number less than zero, it - is interpreted as an offset in characters from the end of the - value of _p_a_r_a_m_e_t_e_r rather than a number of characters, and the - expansion is the characters between _o_f_f_s_e_t and that result. - Note that a negative offset must be separated from the colon by - at least one space to avoid being confused with the ::-- expan- - sion. + used as an offset in characters from the end of the value of _p_a_- + _r_a_m_e_t_e_r. If _l_e_n_g_t_h evaluates to a number less than zero, it is + interpreted as an offset in characters from the end of the value + of _p_a_r_a_m_e_t_e_r rather than a number of characters, and the expan- + sion is the characters between _o_f_f_s_e_t and that result. Note + that a negative offset must be separated from the colon by at + least one space to avoid being confused with the ::-- expansion. - If _p_a_r_a_m_e_t_e_r is @@, the result is _l_e_n_g_t_h positional parameters + If _p_a_r_a_m_e_t_e_r is @@, the result is _l_e_n_g_t_h positional parameters beginning at _o_f_f_s_e_t. A negative _o_f_f_s_e_t is taken relative to one - greater than the greatest positional parameter, so an offset of - -1 evaluates to the last positional parameter. It is an expan- + greater than the greatest positional parameter, so an offset of + -1 evaluates to the last positional parameter. It is an expan- sion error if _l_e_n_g_t_h evaluates to a number less than zero. If _p_a_r_a_m_e_t_e_r is an indexed array name subscripted by @ or *, the - result is the _l_e_n_g_t_h members of the array beginning with - ${_p_a_r_a_m_e_t_e_r[_o_f_f_s_e_t]}. A negative _o_f_f_s_e_t is taken relative to - one greater than the maximum index of the specified array. It - is an expansion error if _l_e_n_g_t_h evaluates to a number less than - zero. + result is the _l_e_n_g_t_h members of the array beginning with ${_p_a_- + _r_a_m_e_t_e_r[_o_f_f_s_e_t]}. A negative _o_f_f_s_e_t is taken relative to one + greater than the maximum index of the specified array. It is an + expansion error if _l_e_n_g_t_h evaluates to a number less than zero. - Substring expansion applied to an associative array produces - undefined results. + Substring expansion applied to an associative array produces un- + defined results. Substring indexing is zero-based unless the positional parame- - ters are used, in which case the indexing starts at 1 by - default. If _o_f_f_s_e_t is 0, and the positional parameters are - used, $$00 is prefixed to the list. + ters are used, in which case the indexing starts at 1 by de- + fault. If _o_f_f_s_e_t is 0, and the positional parameters are used, + $$00 is prefixed to the list. ${!!_p_r_e_f_i_x**} ${!!_p_r_e_f_i_x@@} @@ -1726,119 +1727,118 @@ EEXXPPAANNSSIIOONN each key expands to a separate word. ${##_p_a_r_a_m_e_t_e_r} - PPaarraammeetteerr lleennggtthh. The length in characters of the value of - _p_a_r_a_m_e_t_e_r is substituted. If _p_a_r_a_m_e_t_e_r is ** or @@, the value - substituted is the number of positional parameters. If _p_a_r_a_m_e_- - _t_e_r is an array name subscripted by ** or @@, the value substi- - tuted is the number of elements in the array. If _p_a_r_a_m_e_t_e_r is - an indexed array name subscripted by a negative number, that - number is interpreted as relative to one greater than the maxi- - mum index of _p_a_r_a_m_e_t_e_r, so negative indices count back from the - end of the array, and an index of -1 references the last ele- - ment. + PPaarraammeetteerr lleennggtthh. The length in characters of the value of _p_a_- + _r_a_m_e_t_e_r is substituted. If _p_a_r_a_m_e_t_e_r is ** or @@, the value sub- + stituted is the number of positional parameters. If _p_a_r_a_m_e_t_e_r + is an array name subscripted by ** or @@, the value substituted is + the number of elements in the array. If _p_a_r_a_m_e_t_e_r is an indexed + array name subscripted by a negative number, that number is in- + terpreted as relative to one greater than the maximum index of + _p_a_r_a_m_e_t_e_r, so negative indices count back from the end of the + array, and an index of -1 references the last element. ${_p_a_r_a_m_e_t_e_r##_w_o_r_d} ${_p_a_r_a_m_e_t_e_r####_w_o_r_d} RReemmoovvee mmaattcchhiinngg pprreeffiixx ppaatttteerrnn. The _w_o_r_d is expanded to produce a pattern just as in pathname expansion, and matched against the expanded value of _p_a_r_a_m_e_t_e_r using the rules described under PPaatt-- - tteerrnn MMaattcchhiinngg below. If the pattern matches the beginning of - the value of _p_a_r_a_m_e_t_e_r, then the result of the expansion is the - expanded value of _p_a_r_a_m_e_t_e_r with the shortest matching pattern - (the ``##'' case) or the longest matching pattern (the ``####'' - case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the pattern removal - operation is applied to each positional parameter in turn, and - the expansion is the resultant list. If _p_a_r_a_m_e_t_e_r is an array - variable subscripted with @@ or **, the pattern removal operation - is applied to each member of the array in turn, and the expan- - sion is the resultant list. + tteerrnn MMaattcchhiinngg below. If the pattern matches the beginning of + the value of _p_a_r_a_m_e_t_e_r, then the result of the expansion is the + expanded value of _p_a_r_a_m_e_t_e_r with the shortest matching pattern + (the ``##'' case) or the longest matching pattern (the ``####'' + case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the pattern removal op- + eration is applied to each positional parameter in turn, and the + expansion is the resultant list. If _p_a_r_a_m_e_t_e_r is an array vari- + able subscripted with @@ or **, the pattern removal operation is + applied to each member of the array in turn, and the expansion + is the resultant list. ${_p_a_r_a_m_e_t_e_r%%_w_o_r_d} ${_p_a_r_a_m_e_t_e_r%%%%_w_o_r_d} RReemmoovvee mmaattcchhiinngg ssuuffffiixx ppaatttteerrnn. The _w_o_r_d is expanded to produce a pattern just as in pathname expansion, and matched against the expanded value of _p_a_r_a_m_e_t_e_r using the rules described under PPaatt-- - tteerrnn MMaattcchhiinngg below. If the pattern matches a trailing portion - of the expanded value of _p_a_r_a_m_e_t_e_r, then the result of the - expansion is the expanded value of _p_a_r_a_m_e_t_e_r with the shortest - matching pattern (the ``%%'' case) or the longest matching pat- - tern (the ``%%%%'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the - pattern removal operation is applied to each positional parame- + tteerrnn MMaattcchhiinngg below. If the pattern matches a trailing portion + of the expanded value of _p_a_r_a_m_e_t_e_r, then the result of the ex- + pansion is the expanded value of _p_a_r_a_m_e_t_e_r with the shortest + matching pattern (the ``%%'' case) or the longest matching pat- + tern (the ``%%%%'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the + pattern removal operation is applied to each positional parame- ter in turn, and the expansion is the resultant list. If _p_a_r_a_m_- - _e_t_e_r is an array variable subscripted with @@ or **, the pattern - removal operation is applied to each member of the array in + _e_t_e_r is an array variable subscripted with @@ or **, the pattern + removal operation is applied to each member of the array in turn, and the expansion is the resultant list. ${_p_a_r_a_m_e_t_e_r//_p_a_t_t_e_r_n//_s_t_r_i_n_g} PPaatttteerrnn ssuubbssttiittuuttiioonn. The _p_a_t_t_e_r_n is expanded to produce a pat- - tern just as in pathname expansion, _P_a_r_a_m_e_t_e_r is expanded and - the longest match of _p_a_t_t_e_r_n against its value is replaced with - _s_t_r_i_n_g. The match is performed using the rules described under - PPaatttteerrnn MMaattcchhiinngg below. If _p_a_t_t_e_r_n begins with //, all matches - of _p_a_t_t_e_r_n are replaced with _s_t_r_i_n_g. Normally only the first - match is replaced. If _p_a_t_t_e_r_n begins with ##, it must match at - the beginning of the expanded value of _p_a_r_a_m_e_t_e_r. If _p_a_t_t_e_r_n + tern just as in pathname expansion, _P_a_r_a_m_e_t_e_r is expanded and + the longest match of _p_a_t_t_e_r_n against its value is replaced with + _s_t_r_i_n_g. The match is performed using the rules described under + PPaatttteerrnn MMaattcchhiinngg below. If _p_a_t_t_e_r_n begins with //, all matches + of _p_a_t_t_e_r_n are replaced with _s_t_r_i_n_g. Normally only the first + match is replaced. If _p_a_t_t_e_r_n begins with ##, it must match at + the beginning of the expanded value of _p_a_r_a_m_e_t_e_r. If _p_a_t_t_e_r_n begins with %%, it must match at the end of the expanded value of - _p_a_r_a_m_e_t_e_r. If _s_t_r_i_n_g is null, matches of _p_a_t_t_e_r_n are deleted - and the // following _p_a_t_t_e_r_n may be omitted. If the nnooccaasseemmaattcchh - shell option is enabled, the match is performed without regard - to the case of alphabetic characters. If _p_a_r_a_m_e_t_e_r is @@ or **, + _p_a_r_a_m_e_t_e_r. If _s_t_r_i_n_g is null, matches of _p_a_t_t_e_r_n are deleted + and the // following _p_a_t_t_e_r_n may be omitted. If the nnooccaasseemmaattcchh + shell option is enabled, the match is performed without regard + to the case of alphabetic characters. If _p_a_r_a_m_e_t_e_r is @@ or **, the substitution operation is applied to each positional parame- ter in turn, and the expansion is the resultant list. If _p_a_r_a_m_- _e_t_e_r is an array variable subscripted with @@ or **, the substitu- - tion operation is applied to each member of the array in turn, + tion operation is applied to each member of the array in turn, and the expansion is the resultant list. ${_p_a_r_a_m_e_t_e_r^^_p_a_t_t_e_r_n} ${_p_a_r_a_m_e_t_e_r^^^^_p_a_t_t_e_r_n} ${_p_a_r_a_m_e_t_e_r,,_p_a_t_t_e_r_n} ${_p_a_r_a_m_e_t_e_r,,,,_p_a_t_t_e_r_n} - CCaassee mmooddiiffiiccaattiioonn. This expansion modifies the case of alpha- - betic characters in _p_a_r_a_m_e_t_e_r. The _p_a_t_t_e_r_n is expanded to pro- + CCaassee mmooddiiffiiccaattiioonn. This expansion modifies the case of alpha- + betic characters in _p_a_r_a_m_e_t_e_r. The _p_a_t_t_e_r_n is expanded to pro- duce a pattern just as in pathname expansion. Each character in - the expanded value of _p_a_r_a_m_e_t_e_r is tested against _p_a_t_t_e_r_n, and, - if it matches the pattern, its case is converted. The pattern - should not attempt to match more than one character. The ^^ - operator converts lowercase letters matching _p_a_t_t_e_r_n to upper- - case; the ,, operator converts matching uppercase letters to low- - ercase. The ^^^^ and ,,,, expansions convert each matched character - in the expanded value; the ^^ and ,, expansions match and convert - only the first character in the expanded value. If _p_a_t_t_e_r_n is - omitted, it is treated like a ??, which matches every character. - If _p_a_r_a_m_e_t_e_r is @@ or **, the case modification operation is - applied to each positional parameter in turn, and the expansion - is the resultant list. If _p_a_r_a_m_e_t_e_r is an array variable sub- - scripted with @@ or **, the case modification operation is applied - to each member of the array in turn, and the expansion is the - resultant list. + the expanded value of _p_a_r_a_m_e_t_e_r is tested against _p_a_t_t_e_r_n, and, + if it matches the pattern, its case is converted. The pattern + should not attempt to match more than one character. The ^^ op- + erator converts lowercase letters matching _p_a_t_t_e_r_n to uppercase; + the ,, operator converts matching uppercase letters to lowercase. + The ^^^^ and ,,,, expansions convert each matched character in the + expanded value; the ^^ and ,, expansions match and convert only + the first character in the expanded value. If _p_a_t_t_e_r_n is omit- + ted, it is treated like a ??, which matches every character. If + _p_a_r_a_m_e_t_e_r is @@ or **, the case modification operation is applied + to each positional parameter in turn, and the expansion is the + resultant list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted + with @@ or **, the case modification operation is applied to each + member of the array in turn, and the expansion is the resultant + list. ${_p_a_r_a_m_e_t_e_r@@_o_p_e_r_a_t_o_r} PPaarraammeetteerr ttrraannssffoorrmmaattiioonn. The expansion is either a transforma- - tion of the value of _p_a_r_a_m_e_t_e_r or information about _p_a_r_a_m_e_t_e_r - itself, depending on the value of _o_p_e_r_a_t_o_r. Each _o_p_e_r_a_t_o_r is a + tion of the value of _p_a_r_a_m_e_t_e_r or information about _p_a_r_a_m_e_t_e_r + itself, depending on the value of _o_p_e_r_a_t_o_r. Each _o_p_e_r_a_t_o_r is a single letter: - QQ The expansion is a string that is the value of _p_a_r_a_m_e_t_e_r + QQ The expansion is a string that is the value of _p_a_r_a_m_e_t_e_r quoted in a format that can be reused as input. - EE The expansion is a string that is the value of _p_a_r_a_m_e_t_e_r - with backslash escape sequences expanded as with the + EE The expansion is a string that is the value of _p_a_r_a_m_e_t_e_r + with backslash escape sequences expanded as with the $$''......'' quoting mechanism. PP The expansion is a string that is the result of expanding the value of _p_a_r_a_m_e_t_e_r as if it were a prompt string (see PPRROOMMPPTTIINNGG below). - AA The expansion is a string in the form of an assignment - statement or ddeeccllaarree command that, if evaluated, will + AA The expansion is a string in the form of an assignment + statement or ddeeccllaarree command that, if evaluated, will recreate _p_a_r_a_m_e_t_e_r with its attributes and value. - aa The expansion is a string consisting of flag values rep- + aa The expansion is a string consisting of flag values rep- resenting _p_a_r_a_m_e_t_e_r's attributes. - If _p_a_r_a_m_e_t_e_r is @@ or **, the operation is applied to each posi- - tional parameter in turn, and the expansion is the resultant - list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted with @@ or + If _p_a_r_a_m_e_t_e_r is @@ or **, the operation is applied to each posi- + tional parameter in turn, and the expansion is the resultant + list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted with @@ or **, the operation is applied to each member of the array in turn, and the expansion is the resultant list. - The result of the expansion is subject to word splitting and + The result of the expansion is subject to word splitting and pathname expansion as described below. CCoommmmaanndd SSuubbssttiittuuttiioonn @@ -1852,122 +1852,120 @@ EEXXPPAANNSSIIOONN BBaasshh performs the expansion by executing _c_o_m_m_a_n_d in a subshell environ- ment and replacing the command substitution with the standard output of the command, with any trailing newlines deleted. Embedded newlines are - not deleted, but they may be removed during word splitting. The com- - mand substitution $$((ccaatt _f_i_l_e)) can be replaced by the equivalent but + not deleted, but they may be removed during word splitting. The com- + mand substitution $$((ccaatt _f_i_l_e)) can be replaced by the equivalent but faster $$((<< _f_i_l_e)). - When the old-style backquote form of substitution is used, backslash - retains its literal meaning except when followed by $$, ``, or \\. The + When the old-style backquote form of substitution is used, backslash + retains its literal meaning except when followed by $$, ``, or \\. The first backquote not preceded by a backslash terminates the command sub- - stitution. When using the $(_c_o_m_m_a_n_d) form, all characters between the + stitution. When using the $(_c_o_m_m_a_n_d) form, all characters between the parentheses make up the command; none are treated specially. Command substitutions may be nested. To nest when using the backquoted form, escape the inner backquotes with backslashes. - If the substitution appears within double quotes, word splitting and + If the substitution appears within double quotes, word splitting and pathname expansion are not performed on the results. AArriitthhmmeettiicc EExxppaannssiioonn - Arithmetic expansion allows the evaluation of an arithmetic expression - and the substitution of the result. The format for arithmetic expan- + Arithmetic expansion allows the evaluation of an arithmetic expression + and the substitution of the result. The format for arithmetic expan- sion is: $$((((_e_x_p_r_e_s_s_i_o_n)))) - The _e_x_p_r_e_s_s_i_o_n is treated as if it were within double quotes, but a - double quote inside the parentheses is not treated specially. All - tokens in the expression undergo parameter and variable expansion, com- - mand substitution, and quote removal. The result is treated as the - arithmetic expression to be evaluated. Arithmetic expansions may be + The _e_x_p_r_e_s_s_i_o_n is treated as if it were within double quotes, but a + double quote inside the parentheses is not treated specially. All to- + kens in the expression undergo parameter and variable expansion, com- + mand substitution, and quote removal. The result is treated as the + arithmetic expression to be evaluated. Arithmetic expansions may be nested. - The evaluation is performed according to the rules listed below under + The evaluation is performed according to the rules listed below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. If _e_x_p_r_e_s_s_i_o_n is invalid, bbaasshh prints a message indicating failure and no substitution occurs. PPrroocceessss SSuubbssttiittuuttiioonn - _P_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n allows a process's input or output to be referred - to using a filename. It takes the form of <<((_l_i_s_t)) or >>((_l_i_s_t)). The - process _l_i_s_t is run asynchronously, and its input or output appears as + _P_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n allows a process's input or output to be referred + to using a filename. It takes the form of <<((_l_i_s_t)) or >>((_l_i_s_t)). The + process _l_i_s_t is run asynchronously, and its input or output appears as a filename. This filename is passed as an argument to the current com- - mand as the result of the expansion. If the >>((_l_i_s_t)) form is used, - writing to the file will provide input for _l_i_s_t. If the <<((_l_i_s_t)) form - is used, the file passed as an argument should be read to obtain the + mand as the result of the expansion. If the >>((_l_i_s_t)) form is used, + writing to the file will provide input for _l_i_s_t. If the <<((_l_i_s_t)) form + is used, the file passed as an argument should be read to obtain the output of _l_i_s_t. Process substitution is supported on systems that sup- port named pipes (_F_I_F_O_s) or the //ddeevv//ffdd method of naming open files. - When available, process substitution is performed simultaneously with - parameter and variable expansion, command substitution, and arithmetic + When available, process substitution is performed simultaneously with + parameter and variable expansion, command substitution, and arithmetic expansion. WWoorrdd SSpplliittttiinngg - The shell scans the results of parameter expansion, command substitu- - tion, and arithmetic expansion that did not occur within double quotes + The shell scans the results of parameter expansion, command substitu- + tion, and arithmetic expansion that did not occur within double quotes for _w_o_r_d _s_p_l_i_t_t_i_n_g. - The shell treats each character of IIFFSS as a delimiter, and splits the - results of the other expansions into words using these characters as - field terminators. If IIFFSS is unset, or its value is exactly - <><><>, the default, then sequences of <>, <>, - and <> at the beginning and end of the results of the previous - expansions are ignored, and any sequence of IIFFSS characters not at the - beginning or end serves to delimit words. If IIFFSS has a value other - than the default, then sequences of the whitespace characters ssppaaccee, - ttaabb, and nneewwlliinnee are ignored at the beginning and end of the word, as - long as the whitespace character is in the value of IIFFSS (an IIFFSS white- - space character). Any character in IIFFSS that is not IIFFSS whitespace, + The shell treats each character of IIFFSS as a delimiter, and splits the + results of the other expansions into words using these characters as + field terminators. If IIFFSS is unset, or its value is exactly + <><><>, the default, then sequences of <>, <>, + and <> at the beginning and end of the results of the previous + expansions are ignored, and any sequence of IIFFSS characters not at the + beginning or end serves to delimit words. If IIFFSS has a value other + than the default, then sequences of the whitespace characters ssppaaccee, + ttaabb, and nneewwlliinnee are ignored at the beginning and end of the word, as + long as the whitespace character is in the value of IIFFSS (an IIFFSS white- + space character). Any character in IIFFSS that is not IIFFSS whitespace, along with any adjacent IIFFSS whitespace characters, delimits a field. A - sequence of IIFFSS whitespace characters is also treated as a delimiter. + sequence of IIFFSS whitespace characters is also treated as a delimiter. If the value of IIFFSS is null, no word splitting occurs. - Explicit null arguments ("""" or '''') are retained and passed to commands + Explicit null arguments ("""" or '''') are retained and passed to commands as empty strings. Unquoted implicit null arguments, resulting from the expansion of parameters that have no values, are removed. If a parame- - ter with no value is expanded within double quotes, a null argument - results and is retained and passed to a command as an empty string. - When a quoted null argument appears as part of a word whose expansion - is non-null, the null argument is removed. That is, the word -d'' - becomes -d after word splitting and null argument removal. + ter with no value is expanded within double quotes, a null argument re- + sults and is retained and passed to a command as an empty string. When + a quoted null argument appears as part of a word whose expansion is + non-null, the null argument is removed. That is, the word -d'' becomes + -d after word splitting and null argument removal. Note that if no expansion occurs, no splitting is performed. PPaatthhnnaammee EExxppaannssiioonn - After word splitting, unless the --ff option has been set, bbaasshh scans - each word for the characters **, ??, [[, and, under certain circumstances - (e.g., when it appears in the expansion of an unquoted shell variable, - depending on the setting of the ppoossiixxgglloobb shell option), \\. If one of - these characters appears, then the word is regarded as a _p_a_t_t_e_r_n, and - replaced with an alphabetically sorted list of filenames matching the - pattern (see PPaatttteerrnn MMaattcchhiinngg below). If no matching filenames are - found, and the shell option nnuullllgglloobb is not enabled, the word is left - unchanged. If the nnuullllgglloobb option is set, and no matches are found, - the word is removed. If the ffaaiillgglloobb shell option is set, and no - matches are found, an error message is printed and the command is not + After word splitting, unless the --ff option has been set, bbaasshh scans + each word for the characters **, ??, and [[. If one of these characters + appears, and is not quoted, then the word is regarded as a _p_a_t_t_e_r_n, and + replaced with an alphabetically sorted list of filenames matching the + pattern (see PPaatttteerrnn MMaattcchhiinngg below). If no matching filenames are + found, and the shell option nnuullllgglloobb is not enabled, the word is left + unchanged. If the nnuullllgglloobb option is set, and no matches are found, + the word is removed. If the ffaaiillgglloobb shell option is set, and no + matches are found, an error message is printed and the command is not executed. If the shell option nnooccaasseegglloobb is enabled, the match is per- - formed without regard to the case of alphabetic characters. When a - pattern is used for pathname expansion, the character ````..'''' at the - start of a name or immediately following a slash must be matched - explicitly, unless the shell option ddoottgglloobb is set. The filenames - ````..'''' and ````....'''' must always be matched explicitly, even if ddoottgglloobb - is set. In other cases, the ````..'''' character is not treated specially. - When matching a pathname, the slash character must always be matched - explicitly by a slash in the pattern, but in other matching contexts it - can be matched by a special pattern character as described below under - PPaatttteerrnn MMaattcchhiinngg. See the description of sshhoopptt below under SSHHEELLLL - BBUUIILLTTIINN CCOOMMMMAANNDDSS for a description of the nnooccaasseegglloobb, nnuullllgglloobb, ffaaiill-- - gglloobb, and ddoottgglloobb shell options. + formed without regard to the case of alphabetic characters. When a + pattern is used for pathname expansion, the character ````..'''' at the + start of a name or immediately following a slash must be matched ex- + plicitly, unless the shell option ddoottgglloobb is set. The filenames ````..'''' + and ````....'''' must always be matched explicitly, even if ddoottgglloobb is set. + In other cases, the ````..'''' character is not treated specially. When + matching a pathname, the slash character must always be matched explic- + itly by a slash in the pattern, but in other matching contexts it can + be matched by a special pattern character as described below under PPaatt-- + tteerrnn MMaattcchhiinngg. See the description of sshhoopptt below under SSHHEELLLL BBUUIILLTTIINN + CCOOMMMMAANNDDSS for a description of the nnooccaasseegglloobb, nnuullllgglloobb, ffaaiillgglloobb, and + ddoottgglloobb shell options. - The GGLLOOBBIIGGNNOORREE shell variable may be used to restrict the set of file - names matching a _p_a_t_t_e_r_n. If GGLLOOBBIIGGNNOORREE is set, each matching file - name that also matches one of the patterns in GGLLOOBBIIGGNNOORREE is removed - from the list of matches. If the nnooccaasseegglloobb option is set, the match- - ing against the patterns in GGLLOOBBIIGGNNOORREE is performed without regard to + The GGLLOOBBIIGGNNOORREE shell variable may be used to restrict the set of file + names matching a _p_a_t_t_e_r_n. If GGLLOOBBIIGGNNOORREE is set, each matching file + name that also matches one of the patterns in GGLLOOBBIIGGNNOORREE is removed + from the list of matches. If the nnooccaasseegglloobb option is set, the match- + ing against the patterns in GGLLOOBBIIGGNNOORREE is performed without regard to case. The filenames ````..'''' and ````....'''' are always ignored when GGLLOOBBIIGG-- - NNOORREE is set and not null. However, setting GGLLOOBBIIGGNNOORREE to a non-null + NNOORREE is set and not null. However, setting GGLLOOBBIIGGNNOORREE to a non-null value has the effect of enabling the ddoottgglloobb shell option, so all other - filenames beginning with a ````..'''' will match. To get the old behavior - of ignoring filenames beginning with a ````..'''', make ````..**'''' one of the + filenames beginning with a ````..'''' will match. To get the old behavior + of ignoring filenames beginning with a ````..'''', make ````..**'''' one of the patterns in GGLLOOBBIIGGNNOORREE. The ddoottgglloobb option is disabled when GGLLOOBBIIGGNNOORREE is unset. The pattern matching honors the setting of the eexxttgglloobb shell option. @@ -1975,57 +1973,57 @@ EEXXPPAANNSSIIOONN PPaatttteerrnn MMaattcchhiinngg Any character that appears in a pattern, other than the special pattern - characters described below, matches itself. The NUL character may not - occur in a pattern. A backslash escapes the following character; the - escaping backslash is discarded when matching. The special pattern + characters described below, matches itself. The NUL character may not + occur in a pattern. A backslash escapes the following character; the + escaping backslash is discarded when matching. The special pattern characters must be quoted if they are to be matched literally. The special pattern characters have the following meanings: - ** Matches any string, including the null string. When the - gglloobbssttaarr shell option is enabled, and ** is used in a - pathname expansion context, two adjacent **s used as a - single pattern will match all files and zero or more - directories and subdirectories. If followed by a //, two - adjacent **s will match only directories and subdirecto- + ** Matches any string, including the null string. When the + gglloobbssttaarr shell option is enabled, and ** is used in a + pathname expansion context, two adjacent **s used as a + single pattern will match all files and zero or more di- + rectories and subdirectories. If followed by a //, two + adjacent **s will match only directories and subdirecto- ries. ?? Matches any single character. - [[......]] Matches any one of the enclosed characters. A pair of - characters separated by a hyphen denotes a _r_a_n_g_e _e_x_p_r_e_s_- - _s_i_o_n; any character that falls between those two charac- - ters, inclusive, using the current locale's collating - sequence and character set, is matched. If the first - character following the [[ is a !! or a ^^ then any charac- - ter not enclosed is matched. The sorting order of char- - acters in range expressions is determined by the current - locale and the values of the LLCC__CCOOLLLLAATTEE or LLCC__AALLLL shell - variables, if set. To obtain the traditional interpreta- - tion of range expressions, where [[aa--dd]] is equivalent to - [[aabbccdd]], set value of the LLCC__AALLLL shell variable to CC, or - enable the gglloobbaasscciiiirraannggeess shell option. A -- may be + [[......]] Matches any one of the enclosed characters. A pair of + characters separated by a hyphen denotes a _r_a_n_g_e _e_x_p_r_e_s_- + _s_i_o_n; any character that falls between those two charac- + ters, inclusive, using the current locale's collating se- + quence and character set, is matched. If the first char- + acter following the [[ is a !! or a ^^ then any character + not enclosed is matched. The sorting order of characters + in range expressions is determined by the current locale + and the values of the LLCC__CCOOLLLLAATTEE or LLCC__AALLLL shell vari- + ables, if set. To obtain the traditional interpretation + of range expressions, where [[aa--dd]] is equivalent to + [[aabbccdd]], set value of the LLCC__AALLLL shell variable to CC, or + enable the gglloobbaasscciiiirraannggeess shell option. A -- may be matched by including it as the first or last character in the set. A ]] may be matched by including it as the first character in the set. - Within [[ and ]], _c_h_a_r_a_c_t_e_r _c_l_a_s_s_e_s can be specified using + Within [[ and ]], _c_h_a_r_a_c_t_e_r _c_l_a_s_s_e_s can be specified using the syntax [[::_c_l_a_s_s::]], where _c_l_a_s_s is one of the following classes defined in the POSIX standard: - aallnnuumm aallpphhaa aasscciiii bbllaannkk ccnnttrrll ddiiggiitt ggrraapphh lloowweerr pprriinntt + aallnnuumm aallpphhaa aasscciiii bbllaannkk ccnnttrrll ddiiggiitt ggrraapphh lloowweerr pprriinntt ppuunncctt ssppaaccee uuppppeerr wwoorrdd xxddiiggiitt A character class matches any character belonging to that class. The wwoorrdd character class matches letters, digits, and the character _. - Within [[ and ]], an _e_q_u_i_v_a_l_e_n_c_e _c_l_a_s_s can be specified - using the syntax [[==_c==]], which matches all characters with - the same collation weight (as defined by the current - locale) as the character _c. + Within [[ and ]], an _e_q_u_i_v_a_l_e_n_c_e _c_l_a_s_s can be specified us- + ing the syntax [[==_c==]], which matches all characters with + the same collation weight (as defined by the current lo- + cale) as the character _c. Within [[ and ]], the syntax [[.._s_y_m_b_o_l..]] matches the collat- ing symbol _s_y_m_b_o_l. If the eexxttgglloobb shell option is enabled using the sshhoopptt builtin, several - extended pattern matching operators are recognized. In the following + extended pattern matching operators are recognized. In the following description, a _p_a_t_t_e_r_n_-_l_i_s_t is a list of one or more patterns separated by a ||. Composite patterns may be formed using one or more of the fol- lowing sub-patterns: @@ -2041,11 +2039,10 @@ EEXXPPAANNSSIIOONN !!((_p_a_t_t_e_r_n_-_l_i_s_t)) Matches anything except one of the given patterns - Complicated extended pattern matching against long strings is slow, - especially when the patterns contain alternations and the strings con- - tain multiple matches. Using separate matches against shorter strings, - or using arrays of strings instead of a single long string, may be - faster. + Complicated extended pattern matching against long strings is slow, es- + pecially when the patterns contain alternations and the strings contain + multiple matches. Using separate matches against shorter strings, or + using arrays of strings instead of a single long string, may be faster. QQuuoottee RReemmoovvaall After the preceding expansions, all unquoted occurrences of the charac- @@ -2138,8 +2135,8 @@ RREEDDIIRREECCTTIIOONN [_n]<<_w_o_r_d RReeddiirreeccttiinngg OOuuttppuutt - Redirection of output causes the file whose name results from the - expansion of _w_o_r_d to be opened for writing on file descriptor _n, or the + Redirection of output causes the file whose name results from the ex- + pansion of _w_o_r_d to be opened for writing on file descriptor _n, or the standard output (file descriptor 1) if _n is not specified. If the file does not exist it is created; if it does exist it is truncated to zero size. @@ -2156,9 +2153,9 @@ RREEDDIIRREECCTTIIOONN direction is attempted even if the file named by _w_o_r_d exists. AAppppeennddiinngg RReeddiirreecctteedd OOuuttppuutt - Redirection of output in this fashion causes the file whose name - results from the expansion of _w_o_r_d to be opened for appending on file - descriptor _n, or the standard output (file descriptor 1) if _n is not + Redirection of output in this fashion causes the file whose name re- + sults from the expansion of _w_o_r_d to be opened for appending on file de- + scriptor _n, or the standard output (file descriptor 1) if _n is not specified. If the file does not exist it is created. The general format for appending output is: @@ -2170,8 +2167,8 @@ RREEDDIIRREECCTTIIOONN the standard error output (file descriptor 2) to be redirected to the file whose name is the expansion of _w_o_r_d. - There are two formats for redirecting standard output and standard - error: + There are two formats for redirecting standard output and standard er- + ror: &&>>_w_o_r_d and @@ -2183,8 +2180,8 @@ RREEDDIIRREECCTTIIOONN >>_w_o_r_d 2>>&&1 When using the second form, _w_o_r_d may not expand to a number or --. If - it does, other redirection operators apply (see DDuupplliiccaattiinngg FFiillee - DDeessccrriippttoorrss below) for compatibility reasons. + it does, other redirection operators apply (see DDuupplliiccaattiinngg FFiillee DDee-- + ssccrriippttoorrss below) for compatibility reasons. AAppppeennddiinngg SSttaannddaarrdd OOuuttppuutt aanndd SSttaannddaarrdd EErrrroorr This construct allows both the standard output (file descriptor 1) and @@ -2217,15 +2214,15 @@ RREEDDIIRREECCTTIIOONN No parameter and variable expansion, command substitution, arithmetic expansion, or pathname expansion is performed on _w_o_r_d. If any part of _w_o_r_d is quoted, the _d_e_l_i_m_i_t_e_r is the result of quote removal on _w_o_r_d, - and the lines in the here-document are not expanded. If _w_o_r_d is - unquoted, all lines of the here-document are subjected to parameter - expansion, command substitution, and arithmetic expansion, the charac- - ter sequence \\<> is ignored, and \\ must be used to quote the - characters \\, $$, and ``. + and the lines in the here-document are not expanded. If _w_o_r_d is un- + quoted, all lines of the here-document are subjected to parameter ex- + pansion, command substitution, and arithmetic expansion, the character + sequence \\<> is ignored, and \\ must be used to quote the charac- + ters \\, $$, and ``. If the redirection operator is <<<<--, then all leading tab characters are - stripped from input lines and the line containing _d_e_l_i_m_i_t_e_r. This - allows here-documents within shell scripts to be indented in a natural + stripped from input lines and the line containing _d_e_l_i_m_i_t_e_r. This al- + lows here-documents within shell scripts to be indented in a natural fashion. HHeerree SSttrriinnggss @@ -2246,10 +2243,10 @@ RREEDDIIRREECCTTIIOONN is used to duplicate input file descriptors. If _w_o_r_d expands to one or more digits, the file descriptor denoted by _n is made to be a copy of - that file descriptor. If the digits in _w_o_r_d do not specify a file - descriptor open for input, a redirection error occurs. If _w_o_r_d evalu- - ates to --, file descriptor _n is closed. If _n is not specified, the - standard input (file descriptor 0) is used. + that file descriptor. If the digits in _w_o_r_d do not specify a file de- + scriptor open for input, a redirection error occurs. If _w_o_r_d evaluates + to --, file descriptor _n is closed. If _n is not specified, the standard + input (file descriptor 0) is used. The operator @@ -2327,8 +2324,8 @@ AALLIIAASSEESS This behavior is also an issue when functions are executed. Aliases are expanded when a function definition is read, not when the function is executed, because a function definition is itself a command. As a - consequence, aliases defined in a function are not available until - after that function is executed. To be safe, always put alias defini- + consequence, aliases defined in a function are not available until af- + ter that function is executed. To be safe, always put alias defini- tions on a separate line, and do not use aalliiaass in compound commands. For almost every purpose, aliases are superseded by shell functions. @@ -2338,16 +2335,16 @@ FFUUNNCCTTIIOONNSS stores a series of commands for later execution. When the name of a shell function is used as a simple command name, the list of commands associated with that function name is executed. Functions are executed - in the context of the current shell; no new process is created to - interpret them (contrast this with the execution of a shell script). + in the context of the current shell; no new process is created to in- + terpret them (contrast this with the execution of a shell script). When a function is executed, the arguments to the function become the positional parameters during its execution. The special parameter ## is updated to reflect the change. Special parameter 00 is unchanged. The first element of the FFUUNNCCNNAAMMEE variable is set to the name of the func- tion while the function is executing. - All other aspects of the shell execution environment are identical - between a function and its caller with these exceptions: the DDEEBBUUGG and + All other aspects of the shell execution environment are identical be- + tween a function and its caller with these exceptions: the DDEEBBUUGG and RREETTUURRNN traps (see the description of the ttrraapp builtin under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) are not inherited unless the function has been given the ttrraaccee attribute (see the description of the ddeeccllaarree builtin @@ -2384,21 +2381,21 @@ FFUUNNCCTTIIOONNSS The uunnsseett builtin also acts using the same dynamic scope: if a variable is local to the current scope, uunnsseett will unset it; otherwise the unset will refer to the variable found in any calling scope as described - above. If a variable at the current local scope is unset, it will - remain so until it is reset in that scope or until the function - returns. Once the function returns, any instance of the variable at a - previous scope will become visible. If the unset acts on a variable at - a previous scope, any instance of a variable with that name that had - been shadowed will become visible. + above. If a variable at the current local scope is unset, it will re- + main so until it is reset in that scope or until the function returns. + Once the function returns, any instance of the variable at a previous + scope will become visible. If the unset acts on a variable at a previ- + ous scope, any instance of a variable with that name that had been + shadowed will become visible. - The FFUUNNCCNNEESSTT variable, if set to a numeric value greater than 0, - defines a maximum function nesting level. Function invocations that - exceed the limit cause the entire command to abort. + The FFUUNNCCNNEESSTT variable, if set to a numeric value greater than 0, de- + fines a maximum function nesting level. Function invocations that ex- + ceed the limit cause the entire command to abort. If the builtin command rreettuurrnn is executed in a function, the function completes and execution resumes with the next command after the func- - tion call. Any command associated with the RREETTUURRNN trap is executed - before execution resumes. When a function completes, the values of the + tion call. Any command associated with the RREETTUURRNN trap is executed be- + fore execution resumes. When a function completes, the values of the positional parameters and the special parameter ## are restored to the values they had prior to the function's execution. @@ -2412,8 +2409,8 @@ FFUUNNCCTTIIOONNSS Functions may be recursive. The FFUUNNCCNNEESSTT variable may be used to limit the depth of the function call stack and restrict the number of func- - tion invocations. By default, no limit is imposed on the number of - recursive calls. + tion invocations. By default, no limit is imposed on the number of re- + cursive calls. AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN The shell allows arithmetic expressions to be evaluated, under certain @@ -2422,8 +2419,8 @@ AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN width integers with no check for overflow, though division by 0 is trapped and flagged as an error. The operators and their precedence, associativity, and values are the same as in the C language. The fol- - lowing list of operators is grouped into levels of equal-precedence - operators. The levels are listed in order of decreasing precedence. + lowing list of operators is grouped into levels of equal-precedence op- + erators. The levels are listed in order of decreasing precedence. _i_d++++ _i_d---- variable post-increment and post-decrement @@ -2462,16 +2459,16 @@ AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN to be used in an expression. Integer constants follow the C language definition, without suffixes or - character constants. Constants with a leading 0 are interpreted as - octal numbers. A leading 0x or 0X denotes hexadecimal. Otherwise, - numbers take the form [_b_a_s_e_#]n, where the optional _b_a_s_e is a decimal - number between 2 and 64 representing the arithmetic base, and _n is a - number in that base. If _b_a_s_e_# is omitted, then base 10 is used. When + character constants. Constants with a leading 0 are interpreted as oc- + tal numbers. A leading 0x or 0X denotes hexadecimal. Otherwise, num- + bers take the form [_b_a_s_e_#]n, where the optional _b_a_s_e is a decimal num- + ber between 2 and 64 representing the arithmetic base, and _n is a num- + ber in that base. If _b_a_s_e_# is omitted, then base 10 is used. When specifying _n, if a non-digit is required, the digits greater than 9 are represented by the lowercase letters, the uppercase letters, @, and _, - in that order. If _b_a_s_e is less than or equal to 36, lowercase and - uppercase letters may be used interchangeably to represent numbers - between 10 and 35. + in that order. If _b_a_s_e is less than or equal to 36, lowercase and up- + percase letters may be used interchangeably to represent numbers be- + tween 10 and 35. Operators are evaluated in order of precedence. Sub-expressions in parentheses are evaluated first and may override the precedence rules @@ -2487,8 +2484,8 @@ CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS Expressions are formed from the following unary or binary primaries. BBaasshh handles several filenames specially when they are used in expres- sions. If the operating system on which bbaasshh is running provides these - special files, bash will use them; otherwise it will emulate them - internally with this behavior: If any _f_i_l_e argument to one of the pri- + special files, bash will use them; otherwise it will emulate them in- + ternally with this behavior: If any _f_i_l_e argument to one of the pri- maries is of the form _/_d_e_v_/_f_d_/_n, then file descriptor _n is checked. If the _f_i_l_e argument to one of the primaries is one of _/_d_e_v_/_s_t_d_i_n, _/_d_e_v_/_s_t_d_o_u_t, or _/_d_e_v_/_s_t_d_e_r_r, file descriptor 0, 1, or 2, respectively, @@ -2594,8 +2591,8 @@ CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS EEVVAALLUUAATTIIOONN above). SSIIMMPPLLEE CCOOMMMMAANNDD EEXXPPAANNSSIIOONN - When a simple command is executed, the shell performs the following - expansions, assignments, and redirections, from left to right, in the + When a simple command is executed, the shell performs the following ex- + pansions, assignments, and redirections, from left to right, in the following order. 1. The words that the parser has marked as variable assignments @@ -2621,8 +2618,8 @@ SSIIMMPPLLEE CCOOMMMMAANNDD EEXXPPAANNSSIIOONN readonly variable, an error occurs, and the command exits with a non- zero status. - If no command name results, redirections are performed, but do not - affect the current shell environment. A redirection error causes the + If no command name results, redirections are performed, but do not af- + fect the current shell environment. A redirection error causes the command to exit with a non-zero status. If there is a command name left after expansion, execution proceeds as @@ -2645,8 +2642,8 @@ CCOOMMMMAANNDD EEXXEECCUUTTIIOONN If the name is neither a shell function nor a builtin, and contains no slashes, bbaasshh searches each element of the PPAATTHH for a directory con- - taining an executable file by that name. BBaasshh uses a hash table to - remember the full pathnames of executable files (see hhaasshh under SSHHEELLLL + taining an executable file by that name. BBaasshh uses a hash table to re- + member the full pathnames of executable files (see hhaasshh under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). A full search of the directories in PPAATTHH is performed only if the command is not found in the hash table. If the search is unsuccessful, the shell searches for a defined shell function @@ -2667,8 +2664,8 @@ CCOOMMMMAANNDD EEXXEECCUUTTIIOONN file containing shell commands. A subshell is spawned to execute it. This subshell reinitializes itself, so that the effect is as if a new shell had been invoked to handle the script, with the exception that - the locations of commands remembered by the parent (see hhaasshh below - under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS) are retained by the child. + the locations of commands remembered by the parent (see hhaasshh below un- + der SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS) are retained by the child. If the program is a file beginning with ##!!, the remainder of the first line specifies an interpreter for the program. The shell executes the @@ -2733,8 +2730,8 @@ CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENN Command substitution, commands grouped with parentheses, and asynchro- nous commands are invoked in a subshell environment that is a duplicate - of the shell environment, except that traps caught by the shell are - reset to the values that the shell inherited from its parent at invoca- + of the shell environment, except that traps caught by the shell are re- + set to the values that the shell inherited from its parent at invoca- tion. Builtin commands that are invoked as part of a pipeline are also executed in a subshell environment. Changes made to the subshell envi- ronment cannot affect the shell's execution environment. @@ -2743,24 +2740,24 @@ CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENN the --ee option from the parent shell. When not in _p_o_s_i_x _m_o_d_e, bbaasshh clears the --ee option in such subshells. - If a command is followed by a && and job control is not active, the - default standard input for the command is the empty file _/_d_e_v_/_n_u_l_l. - Otherwise, the invoked command inherits the file descriptors of the - calling shell as modified by redirections. + If a command is followed by a && and job control is not active, the de- + fault standard input for the command is the empty file _/_d_e_v_/_n_u_l_l. Oth- + erwise, the invoked command inherits the file descriptors of the call- + ing shell as modified by redirections. EENNVVIIRROONNMMEENNTT When a program is invoked it is given an array of strings called the _e_n_v_i_r_o_n_m_e_n_t. This is a list of _n_a_m_e-_v_a_l_u_e pairs, of the form _n_a_m_e=_v_a_l_u_e. - The shell provides several ways to manipulate the environment. On - invocation, the shell scans its own environment and creates a parameter + The shell provides several ways to manipulate the environment. On in- + vocation, the shell scans its own environment and creates a parameter for each name found, automatically marking it for _e_x_p_o_r_t to child pro- - cesses. Executed commands inherit the environment. The eexxppoorrtt and - ddeeccllaarree --xx commands allow parameters and functions to be added to and + cesses. Executed commands inherit the environment. The eexxppoorrtt and ddee-- + ccllaarree --xx commands allow parameters and functions to be added to and deleted from the environment. If the value of a parameter in the envi- - ronment is modified, the new value becomes part of the environment, - replacing the old. The environment inherited by any executed command + ronment is modified, the new value becomes part of the environment, re- + placing the old. The environment inherited by any executed command consists of the shell's initial environment, whose values may be modi- fied in the shell, less any pairs removed by the uunnsseett command, plus any additions via the eexxppoorrtt and ddeeccllaarree --xx commands. @@ -2791,8 +2788,8 @@ EEXXIITT SSTTAATTUUSS exit status indicates failure. When a command terminates on a fatal signal _N, bbaasshh uses the value of 128+_N as the exit status. - If a command is not found, the child process created to execute it - returns a status of 127. If a command is found but is not executable, + If a command is not found, the child process created to execute it re- + turns a status of 127. If a command is found but is not executable, the return status is 126. If a command fails because of an error during expansion or redirection, @@ -2800,23 +2797,23 @@ EEXXIITT SSTTAATTUUSS Shell builtin commands return a status of 0 (_t_r_u_e) if successful, and non-zero (_f_a_l_s_e) if an error occurs while they execute. All builtins - return an exit status of 2 to indicate incorrect usage, generally - invalid options or missing arguments. + return an exit status of 2 to indicate incorrect usage, generally in- + valid options or missing arguments. - BBaasshh itself returns the exit status of the last command executed, - unless a syntax error occurs, in which case it exits with a non-zero + BBaasshh itself returns the exit status of the last command executed, un- + less a syntax error occurs, in which case it exits with a non-zero value. See also the eexxiitt builtin command below. SSIIGGNNAALLSS When bbaasshh is interactive, in the absence of any traps, it ignores SSIIGGTTEERRMM (so that kkiillll 00 does not kill an interactive shell), and SSIIGGIINNTT is caught and handled (so that the wwaaiitt builtin is interruptible). In - all cases, bbaasshh ignores SSIIGGQQUUIITT. If job control is in effect, bbaasshh - ignores SSIIGGTTTTIINN, SSIIGGTTTTOOUU, and SSIIGGTTSSTTPP. + all cases, bbaasshh ignores SSIIGGQQUUIITT. If job control is in effect, bbaasshh ig- + nores SSIIGGTTTTIINN, SSIIGGTTTTOOUU, and SSIIGGTTSSTTPP. Non-builtin commands run by bbaasshh have signal handlers set to the values - inherited by the shell from its parent. When job control is not in - effect, asynchronous commands ignore SSIIGGIINNTT and SSIIGGQQUUIITT in addition to + inherited by the shell from its parent. When job control is not in ef- + fect, asynchronous commands ignore SSIIGGIINNTT and SSIIGGQQUUIITT in addition to these inherited handlers. Commands run as a result of command substi- tution ignore the keyboard-generated job control signals SSIIGGTTTTIINN, SSIIGGTT-- TTOOUU, and SSIIGGTTSSTTPP. @@ -2826,8 +2823,8 @@ SSIIGGNNAALLSS stopped. Stopped jobs are sent SSIIGGCCOONNTT to ensure that they receive the SSIIGGHHUUPP. To prevent the shell from sending the signal to a particular job, it should be removed from the jobs table with the ddiissoowwnn builtin - (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) or marked to not receive SSIIGGHHUUPP - using ddiissoowwnn --hh. + (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) or marked to not receive SSIIGGHHUUPP us- + ing ddiissoowwnn --hh. If the hhuuppoonneexxiitt shell option has been set with sshhoopptt, bbaasshh sends a SSIIGGHHUUPP to all jobs when an interactive login shell exits. @@ -2840,10 +2837,10 @@ SSIIGGNNAALLSS tus greater than 128, immediately after which the trap is executed. JJOOBB CCOONNTTRROOLL - _J_o_b _c_o_n_t_r_o_l refers to the ability to selectively stop (_s_u_s_p_e_n_d) the - execution of processes and continue (_r_e_s_u_m_e) their execution at a later - point. A user typically employs this facility via an interactive - interface supplied jointly by the operating system kernel's terminal + _J_o_b _c_o_n_t_r_o_l refers to the ability to selectively stop (_s_u_s_p_e_n_d) the ex- + ecution of processes and continue (_r_e_s_u_m_e) their execution at a later + point. A user typically employs this facility via an interactive in- + terface supplied jointly by the operating system kernel's terminal driver and bbaasshh. The shell associates a _j_o_b with each pipeline. It keeps a table of @@ -2877,8 +2874,8 @@ JJOOBB CCOONNTTRROOLL ically ^^ZZ, Control-Z) while a process is running causes that process to be stopped and returns control to bbaasshh. Typing the _d_e_l_a_y_e_d _s_u_s_p_e_n_d character (typically ^^YY, Control-Y) causes the process to be stopped - when it attempts to read input from the terminal, and control to be - returned to bbaasshh. The user may then manipulate the state of this job, + when it attempts to read input from the terminal, and control to be re- + turned to bbaasshh. The user may then manipulate the state of this job, using the bbgg command to continue it in the background, the ffgg command to continue it in the foreground, or the kkiillll command to kill it. A ^^ZZ takes effect immediately, and has the additional side effect of causing @@ -2891,10 +2888,10 @@ JJOOBB CCOONNTTRROOLL line. For example, %%ccee refers to a stopped ccee job. If a prefix matches more than one job, bbaasshh reports an error. Using %%??ccee, on the other hand, refers to any job containing the string ccee in its command - line. If the substring matches more than one job, bbaasshh reports an - error. The symbols %%%% and %%++ refer to the shell's notion of the _c_u_r_- - _r_e_n_t _j_o_b, which is the last job stopped while it was in the foreground - or started in the background. The _p_r_e_v_i_o_u_s _j_o_b may be referenced using + line. If the substring matches more than one job, bbaasshh reports an er- + ror. The symbols %%%% and %%++ refer to the shell's notion of the _c_u_r_r_e_n_t + _j_o_b, which is the last job stopped while it was in the foreground or + started in the background. The _p_r_e_v_i_o_u_s _j_o_b may be referenced using %%--. If there is only a single job, %%++ and %%-- can both be used to refer to that job. In output pertaining to jobs (e.g., the output of the jjoobbss command), the current job is always flagged with a ++, and the pre- @@ -2910,8 +2907,8 @@ JJOOBB CCOONNTTRROOLL bbaasshh waits until it is about to print a prompt before reporting changes in a job's status so as to not interrupt any other output. If the --bb option to the sseett builtin command is enabled, bbaasshh reports such changes - immediately. Any trap on SSIIGGCCHHLLDD is executed for each child that - exits. + immediately. Any trap on SSIIGGCCHHLLDD is executed for each child that ex- + its. If an attempt to exit bbaasshh is made while jobs are stopped (or, if the cchheecckkjjoobbss shell option has been enabled using the sshhoopptt builtin, run- @@ -2930,18 +2927,18 @@ PPRROOMMPPTTIINNGG When executing interactively, bbaasshh displays the primary prompt PPSS11 when it is ready to read a command, and the secondary prompt PPSS22 when it needs more input to complete a command. BBaasshh displays PPSS00 after it - reads a command but before executing it. BBaasshh displays PPSS44 as - described above before tracing each command when the --xx option is - enabled. BBaasshh allows these prompt strings to be customized by insert- - ing a number of backslash-escaped special characters that are decoded - as follows: + reads a command but before executing it. BBaasshh displays PPSS44 as de- + scribed above before tracing each command when the --xx option is en- + abled. BBaasshh allows these prompt strings to be customized by inserting + a number of backslash-escaped special characters that are decoded as + follows: \\aa an ASCII bell character (07) \\dd the date in "Weekday Month Date" format (e.g., "Tue May 26") \\DD{{_f_o_r_m_a_t}} - the _f_o_r_m_a_t is passed to _s_t_r_f_t_i_m_e(3) and the result is - inserted into the prompt string; an empty _f_o_r_m_a_t results - in a locale-specific time representation. The braces are + the _f_o_r_m_a_t is passed to _s_t_r_f_t_i_m_e(3) and the result is in- + serted into the prompt string; an empty _f_o_r_m_a_t results in + a locale-specific time representation. The braces are required \\ee an ASCII escape character (033) \\hh the hostname up to the first `.' @@ -2976,15 +2973,15 @@ PPRROOMMPPTTIINNGG The command number and the history number are usually different: the history number of a command is its position in the history list, which - may include commands restored from the history file (see HHIISSTTOORRYY - below), while the command number is the position in the sequence of - commands executed during the current shell session. After the string - is decoded, it is expanded via parameter expansion, command substitu- - tion, arithmetic expansion, and quote removal, subject to the value of - the pprroommppttvvaarrss shell option (see the description of the sshhoopptt command - under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). This can have unwanted side - effects if escaped portions of the string appear within command substi- - tution or contain characters special to word expansion. + may include commands restored from the history file (see HHIISSTTOORRYY be- + low), while the command number is the position in the sequence of com- + mands executed during the current shell session. After the string is + decoded, it is expanded via parameter expansion, command substitution, + arithmetic expansion, and quote removal, subject to the value of the + pprroommppttvvaarrss shell option (see the description of the sshhoopptt command under + SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). This can have unwanted side effects if + escaped portions of the string appear within command substitution or + contain characters special to word expansion. RREEAADDLLIINNEE This is the library that handles reading input when using an interac- @@ -3022,9 +3019,9 @@ RREEAADDLLIINNEE RReeaaddlliinnee IInniittiiaalliizzaattiioonn Readline is customized by putting commands in an initialization file (the _i_n_p_u_t_r_c file). The name of this file is taken from the value of - the IINNPPUUTTRRCC variable. If that variable is unset, the default is - _~_/_._i_n_p_u_t_r_c. When a program which uses the readline library starts up, - the initialization file is read, and the key bindings and variables are + the IINNPPUUTTRRCC variable. If that variable is unset, the default is _~_/_._i_n_- + _p_u_t_r_c. When a program which uses the readline library starts up, the + initialization file is read, and the key bindings and variables are set. There are only a few basic constructs allowed in the readline initialization file. Blank lines are ignored. Lines beginning with a ## are comments. Lines beginning with a $$ indicate conditional con- @@ -3217,15 +3214,15 @@ RREEAADDLLIINNEE mands. eennaabbllee--kkeeyyppaadd ((OOffff)) When set to OOnn, readline will try to enable the application key- - pad when it is called. Some systems need this to enable the - arrow keys. + pad when it is called. Some systems need this to enable the ar- + row keys. eennaabbllee--mmeettaa--kkeeyy ((OOnn)) When set to OOnn, readline will try to enable any meta modifier key the terminal claims to support when it is called. On many terminals, the meta key is used to send eight-bit characters. eexxppaanndd--ttiillddee ((OOffff)) - If set to OOnn, tilde expansion is performed when readline - attempts word completion. + If set to OOnn, tilde expansion is performed when readline at- + tempts word completion. hhiissttoorryy--pprreesseerrvvee--ppooiinntt ((OOffff)) If set to OOnn, the history code attempts to place point at the same location on each history line retrieved with pprreevviioouuss--hhiiss-- @@ -3246,8 +3243,8 @@ RREEAADDLLIINNEE new line. iinnppuutt--mmeettaa ((OOffff)) If set to OOnn, readline will enable eight-bit input (that is, it - will not strip the eighth bit from the characters it reads), - regardless of what the terminal claims it can support. The name + will not strip the eighth bit from the characters it reads), re- + gardless of what the terminal claims it can support. The name mmeettaa--ffllaagg is a synonym for this variable. The default is _O_f_f, but readline will set it to _O_n if the locale contains eight-bit characters. @@ -3266,8 +3263,8 @@ RREEAADDLLIINNEE Specifies the duration _r_e_a_d_l_i_n_e will wait for a character when reading an ambiguous key sequence (one that can form a complete key sequence using the input read so far, or can take additional - input to complete a longer key sequence). If no input is - received within the timeout, _r_e_a_d_l_i_n_e will use the shorter but + input to complete a longer key sequence). If no input is re- + ceived within the timeout, _r_e_a_d_l_i_n_e will use the shorter but complete key sequence. The value is specified in milliseconds, so a value of 1000 means that _r_e_a_d_l_i_n_e will wait one second for additional input. If this variable is set to a value less than @@ -3281,8 +3278,8 @@ RREEAADDLLIINNEE played with a preceding asterisk (**). mmaarrkk--ssyymmlliinnkkeedd--ddiirreeccttoorriieess ((OOffff)) If set to OOnn, completed names which are symbolic links to direc- - tories have a slash appended (subject to the value of - mmaarrkk--ddiirreeccttoorriieess). + tories have a slash appended (subject to the value of mmaarrkk--ddii-- + rreeccttoorriieess). mmaattcchh--hhiiddddeenn--ffiilleess ((OOnn)) This variable, when set to OOnn, causes readline to match files whose names begin with a `.' (hidden files) when performing @@ -3319,8 +3316,8 @@ RREEAADDLLIINNEE a fashion similar to sshhooww--aallll--iiff--aammbbiigguuoouuss. If set to OOnn, words which have more than one possible completion without any possi- ble partial completion (the possible completions don't share a - common prefix) cause the matches to be listed immediately - instead of ringing the bell. + common prefix) cause the matches to be listed immediately in- + stead of ringing the bell. sshhooww--mmooddee--iinn--pprroommpptt ((OOffff)) If set to OOnn, add a string to the beginning of the prompt indi- cating the editing mode: emacs, vi command, or vi insertion. @@ -3369,8 +3366,8 @@ RREEAADDLLIINNEE mmooddee The mmooddee== form of the $$iiff directive is used to test whether readline is in emacs or vi mode. This may be - used in conjunction with the sseett kkeeyymmaapp command, for - instance, to set bindings in the _e_m_a_c_s_-_s_t_a_n_d_a_r_d and + used in conjunction with the sseett kkeeyymmaapp command, for in- + stance, to set bindings in the _e_m_a_c_s_-_s_t_a_n_d_a_r_d and _e_m_a_c_s_-_c_t_l_x keymaps only if readline is starting out in emacs mode. @@ -3387,8 +3384,8 @@ RREEAADDLLIINNEE against specific readline versions. The vveerrssiioonn expands to the current readline version. The set of comparison operators includes ==, (and ====), !!==, <<==, >>==, <<, and >>. - The version number supplied on the right side of the - operator consists of a major version number, an optional + The version number supplied on the right side of the op- + erator consists of a major version number, an optional decimal point, and an optional minor version (e.g., 77..11). If the minor version is omitted, it is assumed to be 00. The operator may be separated from the string vveerrssiioonn and @@ -3396,8 +3393,8 @@ RREEAADDLLIINNEE aapppplliiccaattiioonn The aapppplliiccaattiioonn construct is used to include application- - specific settings. Each program using the readline - library sets the _a_p_p_l_i_c_a_t_i_o_n _n_a_m_e, and an initialization + specific settings. Each program using the readline li- + brary sets the _a_p_p_l_i_c_a_t_i_o_n _n_a_m_e, and an initialization file can test for a particular value. This could be used to bind key sequences to functions useful for a specific program. For instance, the following command adds a key @@ -3555,20 +3552,20 @@ RREEAADDLLIINNEE non-incremental search. hhiissttoorryy--ssuubbssttrriinngg--sseeaarrcchh--bbaacckkwwaarrdd Search backward through the history for the string of characters - between the start of the current line and the current cursor - position (the _p_o_i_n_t). The search string may match anywhere in a + between the start of the current line and the current cursor po- + sition (the _p_o_i_n_t). The search string may match anywhere in a history line. This is a non-incremental search. hhiissttoorryy--ssuubbssttrriinngg--sseeaarrcchh--ffoorrwwaarrdd Search forward through the history for the string of characters between the start of the current line and the point. The search - string may match anywhere in a history line. This is a non- - incremental search. + string may match anywhere in a history line. This is a non-in- + cremental search. yyaannkk--nntthh--aarrgg ((MM--CC--yy)) Insert the first argument to the previous command (usually the second word on the previous line) at point. With an argument _n, insert the _nth word from the previous command (the words in the - previous command begin with word 0). A negative argument - inserts the _nth word from the end of the previous command. Once + previous command begin with word 0). A negative argument in- + serts the _nth word from the end of the previous command. Once the argument _n is computed, the argument is extracted as if the "!_n" history expansion had been specified. yyaannkk--llaasstt--aarrgg ((MM--..,, MM--__)) @@ -3588,8 +3585,8 @@ RREEAADDLLIINNEE tory expansion as well as all of the shell word expansions. See HHIISSTTOORRYY EEXXPPAANNSSIIOONN below for a description of history expansion. hhiissttoorryy--eexxppaanndd--lliinnee ((MM--^^)) - Perform history expansion on the current line. See HHIISSTTOORRYY - EEXXPPAANNSSIIOONN below for a description of history expansion. + Perform history expansion on the current line. See HHIISSTTOORRYY EEXX-- + PPAANNSSIIOONN below for a description of history expansion. mmaaggiicc--ssppaaccee Perform history expansion on the current line and insert a space. See HHIISSTTOORRYY EEXXPPAANNSSIIOONN below for a description of history @@ -3608,8 +3605,8 @@ RREEAADDLLIINNEE use instead of the current line. eeddiitt--aanndd--eexxeeccuuttee--ccoommmmaanndd ((CC--xx CC--ee)) Invoke an editor on the current command line, and execute the - result as shell commands. BBaasshh attempts to invoke $$VVIISSUUAALL, - $$EEDDIITTOORR, and _e_m_a_c_s as the editor, in that order. + result as shell commands. BBaasshh attempts to invoke $$VVIISSUUAALL, $$EEDD-- + IITTOORR, and _e_m_a_c_s as the editor, in that order. CCoommmmaannddss ffoorr CChhaannggiinngg TTeexxtt _e_n_d_-_o_f_-_f_i_l_e ((uussuuaallllyy CC--dd)) @@ -3645,14 +3642,14 @@ RREEAADDLLIINNEE point over that word as well. If point is at the end of the line, this transposes the last two words on the line. uuppccaassee--wwoorrdd ((MM--uu)) - Uppercase the current (or following) word. With a negative - argument, uppercase the previous word, but do not move point. + Uppercase the current (or following) word. With a negative ar- + gument, uppercase the previous word, but do not move point. ddoowwnnccaassee--wwoorrdd ((MM--ll)) - Lowercase the current (or following) word. With a negative - argument, lowercase the previous word, but do not move point. + Lowercase the current (or following) word. With a negative ar- + gument, lowercase the previous word, but do not move point. ccaappiittaalliizzee--wwoorrdd ((MM--cc)) - Capitalize the current (or following) word. With a negative - argument, capitalize the previous word, but do not move point. + Capitalize the current (or following) word. With a negative ar- + gument, capitalize the previous word, but do not move point. oovveerrwwrriittee--mmooddee Toggle overwrite mode. With an explicit positive numeric argu- ment, switches to overwrite mode. With an explicit non-positive @@ -3722,10 +3719,10 @@ RREEAADDLLIINNEE This is another way to specify an argument. If this command is followed by one or more digits, optionally with a leading minus sign, those digits define the argument. If the command is fol- - lowed by digits, executing uunniivveerrssaall--aarrgguummeenntt again ends the - numeric argument, but is otherwise ignored. As a special case, - if this command is immediately followed by a character that is - neither a digit nor minus sign, the argument count for the next + lowed by digits, executing uunniivveerrssaall--aarrgguummeenntt again ends the nu- + meric argument, but is otherwise ignored. As a special case, if + this command is immediately followed by a character that is nei- + ther a digit nor minus sign, the argument count for the next command is multiplied by four. The argument count is initially one, so executing this function the first time makes the argu- ment count four, a second time makes the argument count sixteen, @@ -3751,17 +3748,16 @@ RREEAADDLLIINNEE completions, inserting each match in turn. At the end of the list of completions, the bell is rung (subject to the setting of bbeellll--ssttyyllee) and the original text is restored. An argument of _n - moves _n positions forward in the list of matches; a negative - argument may be used to move backward through the list. This - command is intended to be bound to TTAABB, but is unbound by - default. + moves _n positions forward in the list of matches; a negative ar- + gument may be used to move backward through the list. This com- + mand is intended to be bound to TTAABB, but is unbound by default. mmeennuu--ccoommpplleettee--bbaacckkwwaarrdd - Identical to mmeennuu--ccoommpplleettee, but moves backward through the list - of possible completions, as if mmeennuu--ccoommpplleettee had been given a + Identical to mmeennuu--ccoommpplleettee, but moves backward through the list + of possible completions, as if mmeennuu--ccoommpplleettee had been given a negative argument. This command is unbound by default. ddeelleettee--cchhaarr--oorr--lliisstt - Deletes the character under the cursor if not at the beginning - or end of the line (like ddeelleettee--cchhaarr). If at the end of the + Deletes the character under the cursor if not at the beginning + or end of the line (like ddeelleettee--cchhaarr). If at the end of the line, behaves identically to ppoossssiibbllee--ccoommpplleettiioonnss. This command is unbound by default. ccoommpplleettee--ffiilleennaammee ((MM--//)) @@ -3770,67 +3766,67 @@ RREEAADDLLIINNEE List the possible completions of the text before point, treating it as a filename. ccoommpplleettee--uusseerrnnaammee ((MM--~~)) - Attempt completion on the text before point, treating it as a + Attempt completion on the text before point, treating it as a username. ppoossssiibbllee--uusseerrnnaammee--ccoommpplleettiioonnss ((CC--xx ~~)) List the possible completions of the text before point, treating it as a username. ccoommpplleettee--vvaarriiaabbllee ((MM--$$)) - Attempt completion on the text before point, treating it as a + Attempt completion on the text before point, treating it as a shell variable. ppoossssiibbllee--vvaarriiaabbllee--ccoommpplleettiioonnss ((CC--xx $$)) List the possible completions of the text before point, treating it as a shell variable. ccoommpplleettee--hhoossttnnaammee ((MM--@@)) - Attempt completion on the text before point, treating it as a + Attempt completion on the text before point, treating it as a hostname. ppoossssiibbllee--hhoossttnnaammee--ccoommpplleettiioonnss ((CC--xx @@)) List the possible completions of the text before point, treating it as a hostname. ccoommpplleettee--ccoommmmaanndd ((MM--!!)) - Attempt completion on the text before point, treating it as a - command name. Command completion attempts to match the text - against aliases, reserved words, shell functions, shell + Attempt completion on the text before point, treating it as a + command name. Command completion attempts to match the text + against aliases, reserved words, shell functions, shell builtins, and finally executable filenames, in that order. ppoossssiibbllee--ccoommmmaanndd--ccoommpplleettiioonnss ((CC--xx !!)) List the possible completions of the text before point, treating it as a command name. ddyynnaammiicc--ccoommpplleettee--hhiissttoorryy ((MM--TTAABB)) - Attempt completion on the text before point, comparing the text - against lines from the history list for possible completion + Attempt completion on the text before point, comparing the text + against lines from the history list for possible completion matches. ddaabbbbrreevv--eexxppaanndd - Attempt menu completion on the text before point, comparing the + Attempt menu completion on the text before point, comparing the text against lines from the history list for possible completion matches. ccoommpplleettee--iinnttoo--bbrraacceess ((MM--{{)) Perform filename completion and insert the list of possible com- - pletions enclosed within braces so the list is available to the + pletions enclosed within braces so the list is available to the shell (see BBrraaccee EExxppaannssiioonn above). KKeeyybbooaarrdd MMaaccrrooss ssttaarrtt--kkbbdd--mmaaccrroo ((CC--xx (()) - Begin saving the characters typed into the current keyboard + Begin saving the characters typed into the current keyboard macro. eenndd--kkbbdd--mmaaccrroo ((CC--xx )))) Stop saving the characters typed into the current keyboard macro and store the definition. ccaallll--llaasstt--kkbbdd--mmaaccrroo ((CC--xx ee)) - Re-execute the last keyboard macro defined, by making the char- + Re-execute the last keyboard macro defined, by making the char- acters in the macro appear as if typed at the keyboard. pprriinntt--llaasstt--kkbbdd--mmaaccrroo (()) - Print the last keyboard macro defined in a format suitable for + Print the last keyboard macro defined in a format suitable for the _i_n_p_u_t_r_c file. MMiisscceellllaanneeoouuss rree--rreeaadd--iinniitt--ffiillee ((CC--xx CC--rr)) - Read in the contents of the _i_n_p_u_t_r_c file, and incorporate any + Read in the contents of the _i_n_p_u_t_r_c file, and incorporate any bindings or variable assignments found there. aabboorrtt ((CC--gg)) - Abort the current editing command and ring the terminal's bell + Abort the current editing command and ring the terminal's bell (subject to the setting of bbeellll--ssttyyllee). ddoo--lloowweerrccaassee--vveerrssiioonn ((MM--AA,, MM--BB,, MM--_x,, ......)) - If the metafied character _x is uppercase, run the command that + If the metafied character _x is uppercase, run the command that is bound to the corresponding metafied lowercase character. The behavior is undefined if _x is already lowercase. pprreeffiixx--mmeettaa ((EESSCC)) @@ -3838,200 +3834,200 @@ RREEAADDLLIINNEE uunnddoo ((CC--__,, CC--xx CC--uu)) Incremental undo, separately remembered for each line. rreevveerrtt--lliinnee ((MM--rr)) - Undo all changes made to this line. This is like executing the - uunnddoo command enough times to return the line to its initial + Undo all changes made to this line. This is like executing the + uunnddoo command enough times to return the line to its initial state. ttiillddee--eexxppaanndd ((MM--&&)) Perform tilde expansion on the current word. sseett--mmaarrkk ((CC--@@,, MM--<>)) - Set the mark to the point. If a numeric argument is supplied, + Set the mark to the point. If a numeric argument is supplied, the mark is set to that position. eexxcchhaannggee--ppooiinntt--aanndd--mmaarrkk ((CC--xx CC--xx)) - Swap the point with the mark. The current cursor position is - set to the saved position, and the old cursor position is saved + Swap the point with the mark. The current cursor position is + set to the saved position, and the old cursor position is saved as the mark. cchhaarraacctteerr--sseeaarrcchh ((CC--]])) A character is read and point is moved to the next occurrence of - that character. A negative count searches for previous occur- + that character. A negative count searches for previous occur- rences. cchhaarraacctteerr--sseeaarrcchh--bbaacckkwwaarrdd ((MM--CC--]])) - A character is read and point is moved to the previous occur- - rence of that character. A negative count searches for subse- + A character is read and point is moved to the previous occur- + rence of that character. A negative count searches for subse- quent occurrences. sskkiipp--ccssii--sseeqquueennccee - Read enough characters to consume a multi-key sequence such as - those defined for keys like Home and End. Such sequences begin + Read enough characters to consume a multi-key sequence such as + those defined for keys like Home and End. Such sequences begin with a Control Sequence Indicator (CSI), usually ESC-[. If this - sequence is bound to "\[", keys producing such sequences will - have no effect unless explicitly bound to a readline command, - instead of inserting stray characters into the editing buffer. + sequence is bound to "\[", keys producing such sequences will + have no effect unless explicitly bound to a readline command, + instead of inserting stray characters into the editing buffer. This is unbound by default, but usually bound to ESC-[. iinnsseerrtt--ccoommmmeenntt ((MM--##)) - Without a numeric argument, the value of the readline ccoomm-- - mmeenntt--bbeeggiinn variable is inserted at the beginning of the current + Without a numeric argument, the value of the readline ccoomm-- + mmeenntt--bbeeggiinn variable is inserted at the beginning of the current line. If a numeric argument is supplied, this command acts as a - toggle: if the characters at the beginning of the line do not - match the value of ccoommmmeenntt--bbeeggiinn, the value is inserted, other- + toggle: if the characters at the beginning of the line do not + match the value of ccoommmmeenntt--bbeeggiinn, the value is inserted, other- wise the characters in ccoommmmeenntt--bbeeggiinn are deleted from the begin- - ning of the line. In either case, the line is accepted as if a - newline had been typed. The default value of ccoommmmeenntt--bbeeggiinn - causes this command to make the current line a shell comment. - If a numeric argument causes the comment character to be - removed, the line will be executed by the shell. + ning of the line. In either case, the line is accepted as if a + newline had been typed. The default value of ccoommmmeenntt--bbeeggiinn + causes this command to make the current line a shell comment. + If a numeric argument causes the comment character to be re- + moved, the line will be executed by the shell. gglloobb--ccoommpplleettee--wwoorrdd ((MM--gg)) - The word before point is treated as a pattern for pathname - expansion, with an asterisk implicitly appended. This pattern - is used to generate a list of matching filenames for possible - completions. + The word before point is treated as a pattern for pathname ex- + pansion, with an asterisk implicitly appended. This pattern is + used to generate a list of matching filenames for possible com- + pletions. gglloobb--eexxppaanndd--wwoorrdd ((CC--xx **)) - The word before point is treated as a pattern for pathname - expansion, and the list of matching filenames is inserted, - replacing the word. If a numeric argument is supplied, an - asterisk is appended before pathname expansion. + The word before point is treated as a pattern for pathname ex- + pansion, and the list of matching filenames is inserted, replac- + ing the word. If a numeric argument is supplied, an asterisk is + appended before pathname expansion. gglloobb--lliisstt--eexxppaannssiioonnss ((CC--xx gg)) - The list of expansions that would have been generated by - gglloobb--eexxppaanndd--wwoorrdd is displayed, and the line is redrawn. If a - numeric argument is supplied, an asterisk is appended before + The list of expansions that would have been generated by + gglloobb--eexxppaanndd--wwoorrdd is displayed, and the line is redrawn. If a + numeric argument is supplied, an asterisk is appended before pathname expansion. dduummpp--ffuunnccttiioonnss - Print all of the functions and their key bindings to the read- + Print all of the functions and their key bindings to the read- line output stream. If a numeric argument is supplied, the out- - put is formatted in such a way that it can be made part of an + put is formatted in such a way that it can be made part of an _i_n_p_u_t_r_c file. dduummpp--vvaarriiaabblleess Print all of the settable readline variables and their values to - the readline output stream. If a numeric argument is supplied, - the output is formatted in such a way that it can be made part + the readline output stream. If a numeric argument is supplied, + the output is formatted in such a way that it can be made part of an _i_n_p_u_t_r_c file. dduummpp--mmaaccrrooss - Print all of the readline key sequences bound to macros and the - strings they output. If a numeric argument is supplied, the + Print all of the readline key sequences bound to macros and the + strings they output. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an _i_n_p_u_t_r_c file. ddiissppllaayy--sshheellll--vveerrssiioonn ((CC--xx CC--vv)) Display version information about the current instance of bbaasshh. PPrrooggrraammmmaabbllee CCoommpplleettiioonn - When word completion is attempted for an argument to a command for - which a completion specification (a _c_o_m_p_s_p_e_c) has been defined using - the ccoommpplleettee builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below), the program- + When word completion is attempted for an argument to a command for + which a completion specification (a _c_o_m_p_s_p_e_c) has been defined using + the ccoommpplleettee builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below), the program- mable completion facilities are invoked. - First, the command name is identified. If the command word is the - empty string (completion attempted at the beginning of an empty line), - any compspec defined with the --EE option to ccoommpplleettee is used. If a - compspec has been defined for that command, the compspec is used to + First, the command name is identified. If the command word is the + empty string (completion attempted at the beginning of an empty line), + any compspec defined with the --EE option to ccoommpplleettee is used. If a + compspec has been defined for that command, the compspec is used to generate the list of possible completions for the word. If the command - word is a full pathname, a compspec for the full pathname is searched - for first. If no compspec is found for the full pathname, an attempt - is made to find a compspec for the portion following the final slash. - If those searches do not result in a compspec, any compspec defined - with the --DD option to ccoommpplleettee is used as the default. If there is no - default compspec, bbaasshh attempts alias expansion on the command word as - a final resort, and attempts to find a compspec for the command word + word is a full pathname, a compspec for the full pathname is searched + for first. If no compspec is found for the full pathname, an attempt + is made to find a compspec for the portion following the final slash. + If those searches do not result in a compspec, any compspec defined + with the --DD option to ccoommpplleettee is used as the default. If there is no + default compspec, bbaasshh attempts alias expansion on the command word as + a final resort, and attempts to find a compspec for the command word from any successful expansion. - Once a compspec has been found, it is used to generate the list of - matching words. If a compspec is not found, the default bbaasshh comple- + Once a compspec has been found, it is used to generate the list of + matching words. If a compspec is not found, the default bbaasshh comple- tion as described above under CCoommpplleettiinngg is performed. - First, the actions specified by the compspec are used. Only matches - which are prefixed by the word being completed are returned. When the - --ff or --dd option is used for filename or directory name completion, the + First, the actions specified by the compspec are used. Only matches + which are prefixed by the word being completed are returned. When the + --ff or --dd option is used for filename or directory name completion, the shell variable FFIIGGNNOORREE is used to filter the matches. - Any completions specified by a pathname expansion pattern to the --GG - option are generated next. The words generated by the pattern need not - match the word being completed. The GGLLOOBBIIGGNNOORREE shell variable is not + Any completions specified by a pathname expansion pattern to the --GG op- + tion are generated next. The words generated by the pattern need not + match the word being completed. The GGLLOOBBIIGGNNOORREE shell variable is not used to filter the matches, but the FFIIGGNNOORREE variable is used. - Next, the string specified as the argument to the --WW option is consid- - ered. The string is first split using the characters in the IIFFSS spe- - cial variable as delimiters. Shell quoting is honored. Each word is - then expanded using brace expansion, tilde expansion, parameter and - variable expansion, command substitution, and arithmetic expansion, as + Next, the string specified as the argument to the --WW option is consid- + ered. The string is first split using the characters in the IIFFSS spe- + cial variable as delimiters. Shell quoting is honored. Each word is + then expanded using brace expansion, tilde expansion, parameter and + variable expansion, command substitution, and arithmetic expansion, as described above under EEXXPPAANNSSIIOONN. The results are split using the rules described above under WWoorrdd SSpplliittttiinngg. The results of the expansion are prefix-matched against the word being completed, and the matching words become the possible completions. - After these matches have been generated, any shell function or command - specified with the --FF and --CC options is invoked. When the command or + After these matches have been generated, any shell function or command + specified with the --FF and --CC options is invoked. When the command or function is invoked, the CCOOMMPP__LLIINNEE, CCOOMMPP__PPOOIINNTT, CCOOMMPP__KKEEYY, and CCOOMMPP__TTYYPPEE variables are assigned values as described above under SShheellll VVaarriiaabblleess. - If a shell function is being invoked, the CCOOMMPP__WWOORRDDSS and CCOOMMPP__CCWWOORRDD - variables are also set. When the function or command is invoked, the - first argument ($$11) is the name of the command whose arguments are - being completed, the second argument ($$22) is the word being completed, - and the third argument ($$33) is the word preceding the word being com- + If a shell function is being invoked, the CCOOMMPP__WWOORRDDSS and CCOOMMPP__CCWWOORRDD + variables are also set. When the function or command is invoked, the + first argument ($$11) is the name of the command whose arguments are be- + ing completed, the second argument ($$22) is the word being completed, + and the third argument ($$33) is the word preceding the word being com- pleted on the current command line. No filtering of the generated com- pletions against the word being completed is performed; the function or command has complete freedom in generating the matches. - Any function specified with --FF is invoked first. The function may use - any of the shell facilities, including the ccoommppggeenn builtin described - below, to generate the matches. It must put the possible completions + Any function specified with --FF is invoked first. The function may use + any of the shell facilities, including the ccoommppggeenn builtin described + below, to generate the matches. It must put the possible completions in the CCOOMMPPRREEPPLLYY array variable, one per array element. - Next, any command specified with the --CC option is invoked in an envi- - ronment equivalent to command substitution. It should print a list of - completions, one per line, to the standard output. Backslash may be + Next, any command specified with the --CC option is invoked in an envi- + ronment equivalent to command substitution. It should print a list of + completions, one per line, to the standard output. Backslash may be used to escape a newline, if necessary. - After all of the possible completions are generated, any filter speci- - fied with the --XX option is applied to the list. The filter is a pat- - tern as used for pathname expansion; a && in the pattern is replaced - with the text of the word being completed. A literal && may be escaped - with a backslash; the backslash is removed before attempting a match. - Any completion that matches the pattern will be removed from the list. + After all of the possible completions are generated, any filter speci- + fied with the --XX option is applied to the list. The filter is a pat- + tern as used for pathname expansion; a && in the pattern is replaced + with the text of the word being completed. A literal && may be escaped + with a backslash; the backslash is removed before attempting a match. + Any completion that matches the pattern will be removed from the list. A leading !! negates the pattern; in this case any completion not match- - ing the pattern will be removed. If the nnooccaasseemmaattcchh shell option is - enabled, the match is performed without regard to the case of alpha- + ing the pattern will be removed. If the nnooccaasseemmaattcchh shell option is + enabled, the match is performed without regard to the case of alpha- betic characters. Finally, any prefix and suffix specified with the --PP and --SS options are added to each member of the completion list, and the result is returned to the readline completion code as the list of possible completions. - If the previously-applied actions do not generate any matches, and the - --oo ddiirrnnaammeess option was supplied to ccoommpplleettee when the compspec was - defined, directory name completion is attempted. + If the previously-applied actions do not generate any matches, and the + --oo ddiirrnnaammeess option was supplied to ccoommpplleettee when the compspec was de- + fined, directory name completion is attempted. - If the --oo pplluussddiirrss option was supplied to ccoommpplleettee when the compspec + If the --oo pplluussddiirrss option was supplied to ccoommpplleettee when the compspec was defined, directory name completion is attempted and any matches are added to the results of the other actions. - By default, if a compspec is found, whatever it generates is returned - to the completion code as the full set of possible completions. The + By default, if a compspec is found, whatever it generates is returned + to the completion code as the full set of possible completions. The default bbaasshh completions are not attempted, and the readline default of filename completion is disabled. If the --oo bbaasshhddeeffaauulltt option was sup- - plied to ccoommpplleettee when the compspec was defined, the bbaasshh default com- + plied to ccoommpplleettee when the compspec was defined, the bbaasshh default com- pletions are attempted if the compspec generates no matches. If the --oo - ddeeffaauulltt option was supplied to ccoommpplleettee when the compspec was defined, - readline's default completion will be performed if the compspec (and, + ddeeffaauulltt option was supplied to ccoommpplleettee when the compspec was defined, + readline's default completion will be performed if the compspec (and, if attempted, the default bbaasshh completions) generate no matches. - When a compspec indicates that directory name completion is desired, - the programmable completion functions force readline to append a slash - to completed names which are symbolic links to directories, subject to - the value of the mmaarrkk--ddiirreeccttoorriieess readline variable, regardless of the + When a compspec indicates that directory name completion is desired, + the programmable completion functions force readline to append a slash + to completed names which are symbolic links to directories, subject to + the value of the mmaarrkk--ddiirreeccttoorriieess readline variable, regardless of the setting of the mmaarrkk--ssyymmlliinnkkeedd--ddiirreeccttoorriieess readline variable. - There is some support for dynamically modifying completions. This is - most useful when used in combination with a default completion speci- - fied with ccoommpplleettee --DD. It's possible for shell functions executed as - completion handlers to indicate that completion should be retried by - returning an exit status of 124. If a shell function returns 124, and + There is some support for dynamically modifying completions. This is + most useful when used in combination with a default completion speci- + fied with ccoommpplleettee --DD. It's possible for shell functions executed as + completion handlers to indicate that completion should be retried by + returning an exit status of 124. If a shell function returns 124, and changes the compspec associated with the command on which completion is - being attempted (supplied as the first argument when the function is + being attempted (supplied as the first argument when the function is executed), programmable completion restarts from the beginning, with an - attempt to find a new compspec for that command. This allows a set of - completions to be built dynamically as completion is attempted, rather + attempt to find a new compspec for that command. This allows a set of + completions to be built dynamically as completion is attempted, rather than being loaded all at once. - For instance, assuming that there is a library of compspecs, each kept - in a file corresponding to the name of the command, the following - default completion function would load completions dynamically: + For instance, assuming that there is a library of compspecs, each kept + in a file corresponding to the name of the command, the following de- + fault completion function would load completions dynamically: _completion_loader() { @@ -4041,163 +4037,169 @@ RREEAADDLLIINNEE HHIISSTTOORRYY - When the --oo hhiissttoorryy option to the sseett builtin is enabled, the shell + When the --oo hhiissttoorryy option to the sseett builtin is enabled, the shell provides access to the _c_o_m_m_a_n_d _h_i_s_t_o_r_y, the list of commands previously - typed. The value of the HHIISSTTSSIIZZEE variable is used as the number of + typed. The value of the HHIISSTTSSIIZZEE variable is used as the number of commands to save in a history list. The text of the last HHIISSTTSSIIZZEE com- - mands (default 500) is saved. The shell stores each command in the - history list prior to parameter and variable expansion (see EEXXPPAANNSSIIOONN - above) but after history expansion is performed, subject to the values + mands (default 500) is saved. The shell stores each command in the + history list prior to parameter and variable expansion (see EEXXPPAANNSSIIOONN + above) but after history expansion is performed, subject to the values of the shell variables HHIISSTTIIGGNNOORREE and HHIISSTTCCOONNTTRROOLL. On startup, the history is initialized from the file named by the vari- - able HHIISSTTFFIILLEE (default _~_/_._b_a_s_h___h_i_s_t_o_r_y). The file named by the value - of HHIISSTTFFIILLEE is truncated, if necessary, to contain no more than the - number of lines specified by the value of HHIISSTTFFIILLEESSIIZZEE. If HHIISSTTFFIILLEE-- - SSIIZZEE is unset, or set to null, a non-numeric value, or a numeric value - less than zero, the history file is not truncated. When the history - file is read, lines beginning with the history comment character fol- + able HHIISSTTFFIILLEE (default _~_/_._b_a_s_h___h_i_s_t_o_r_y). The file named by the value + of HHIISSTTFFIILLEE is truncated, if necessary, to contain no more than the + number of lines specified by the value of HHIISSTTFFIILLEESSIIZZEE. If HHIISSTTFFIILLEE-- + SSIIZZEE is unset, or set to null, a non-numeric value, or a numeric value + less than zero, the history file is not truncated. When the history + file is read, lines beginning with the history comment character fol- lowed immediately by a digit are interpreted as timestamps for the fol- lowing history line. These timestamps are optionally displayed depend- - ing on the value of the HHIISSTTTTIIMMEEFFOORRMMAATT variable. When a shell with - history enabled exits, the last $$HHIISSTTSSIIZZEE lines are copied from the - history list to $$HHIISSTTFFIILLEE. If the hhiissttaappppeenndd shell option is enabled - (see the description of sshhoopptt under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below), the - lines are appended to the history file, otherwise the history file is - overwritten. If HHIISSTTFFIILLEE is unset, or if the history file is - unwritable, the history is not saved. If the HHIISSTTTTIIMMEEFFOORRMMAATT variable - is set, time stamps are written to the history file, marked with the - history comment character, so they may be preserved across shell ses- - sions. This uses the history comment character to distinguish time- - stamps from other history lines. After saving the history, the history - file is truncated to contain no more than HHIISSTTFFIILLEESSIIZZEE lines. If HHIISSTT-- - FFIILLEESSIIZZEE is unset, or set to null, a non-numeric value, or a numeric - value less than zero, the history file is not truncated. + ing on the value of the HHIISSTTTTIIMMEEFFOORRMMAATT variable. When a shell with + history enabled exits, the last $$HHIISSTTSSIIZZEE lines are copied from the + history list to $$HHIISSTTFFIILLEE. If the hhiissttaappppeenndd shell option is enabled + (see the description of sshhoopptt under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below), the + lines are appended to the history file, otherwise the history file is + overwritten. If HHIISSTTFFIILLEE is unset, or if the history file is un- + writable, the history is not saved. If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is + set, time stamps are written to the history file, marked with the his- + tory comment character, so they may be preserved across shell sessions. + This uses the history comment character to distinguish timestamps from + other history lines. After saving the history, the history file is + truncated to contain no more than HHIISSTTFFIILLEESSIIZZEE lines. If HHIISSTTFFIILLEESSIIZZEE + is unset, or set to null, a non-numeric value, or a numeric value less + than zero, the history file is not truncated. - The builtin command ffcc (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) may be used + The builtin command ffcc (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) may be used to list or edit and re-execute a portion of the history list. The hhiiss-- - ttoorryy builtin may be used to display or modify the history list and - manipulate the history file. When using command-line editing, search - commands are available in each editing mode that provide access to the + ttoorryy builtin may be used to display or modify the history list and ma- + nipulate the history file. When using command-line editing, search + commands are available in each editing mode that provide access to the history list. - The shell allows control over which commands are saved on the history + The shell allows control over which commands are saved on the history list. The HHIISSTTCCOONNTTRROOLL and HHIISSTTIIGGNNOORREE variables may be set to cause the shell to save only a subset of the commands entered. The ccmmddhhiisstt shell - option, if enabled, causes the shell to attempt to save each line of a - multi-line command in the same history entry, adding semicolons where - necessary to preserve syntactic correctness. The lliitthhiisstt shell option - causes the shell to save the command with embedded newlines instead of + option, if enabled, causes the shell to attempt to save each line of a + multi-line command in the same history entry, adding semicolons where + necessary to preserve syntactic correctness. The lliitthhiisstt shell option + causes the shell to save the command with embedded newlines instead of semicolons. See the description of the sshhoopptt builtin below under SSHHEELLLL - BBUUIILLTTIINN CCOOMMMMAANNDDSS for information on setting and unsetting shell - options. + BBUUIILLTTIINN CCOOMMMMAANNDDSS for information on setting and unsetting shell op- + tions. HHIISSTTOORRYY EEXXPPAANNSSIIOONN - The shell supports a history expansion feature that is similar to the - history expansion in ccsshh. This section describes what syntax features - are available. This feature is enabled by default for interactive + The shell supports a history expansion feature that is similar to the + history expansion in ccsshh. This section describes what syntax features + are available. This feature is enabled by default for interactive shells, and can be disabled using the ++HH option to the sseett builtin com- mand (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). Non-interactive shells do not perform history expansion by default. History expansions introduce words from the history list into the input - stream, making it easy to repeat commands, insert the arguments to a + stream, making it easy to repeat commands, insert the arguments to a previous command into the current input line, or fix errors in previous commands quickly. - History expansion is performed immediately after a complete line is - read, before the shell breaks it into words, and is performed on each - line individually without taking quoting on previous lines into - account. It takes place in two parts. The first is to determine which - line from the history list to use during substitution. The second is - to select portions of that line for inclusion into the current one. - The line selected from the history is the _e_v_e_n_t, and the portions of - that line that are acted upon are _w_o_r_d_s. Various _m_o_d_i_f_i_e_r_s are avail- - able to manipulate the selected words. The line is broken into words - in the same fashion as when reading input, so that several _m_e_t_a_c_h_a_r_a_c_- + History expansion is performed immediately after a complete line is + read, before the shell breaks it into words, and is performed on each + line individually without taking quoting on previous lines into ac- + count. It takes place in two parts. The first is to determine which + line from the history list to use during substitution. The second is + to select portions of that line for inclusion into the current one. + The line selected from the history is the _e_v_e_n_t, and the portions of + that line that are acted upon are _w_o_r_d_s. Various _m_o_d_i_f_i_e_r_s are avail- + able to manipulate the selected words. The line is broken into words + in the same fashion as when reading input, so that several _m_e_t_a_c_h_a_r_a_c_- _t_e_r-separated words surrounded by quotes are considered one word. His- - tory expansions are introduced by the appearance of the history expan- - sion character, which is !! by default. Only backslash (\\) and single - quotes can quote the history expansion character, but the history - expansion character is also treated as quoted if it immediately pre- - cedes the closing double quote in a double-quoted string. + tory expansions are introduced by the appearance of the history expan- + sion character, which is !! by default. Only backslash (\\) and single + quotes can quote the history expansion character, but the history ex- + pansion character is also treated as quoted if it immediately precedes + the closing double quote in a double-quoted string. - Several characters inhibit history expansion if found immediately fol- - lowing the history expansion character, even if it is unquoted: space, - tab, newline, carriage return, and ==. If the eexxttgglloobb shell option is + Several characters inhibit history expansion if found immediately fol- + lowing the history expansion character, even if it is unquoted: space, + tab, newline, carriage return, and ==. If the eexxttgglloobb shell option is enabled, (( will also inhibit expansion. - Several shell options settable with the sshhoopptt builtin may be used to - tailor the behavior of history expansion. If the hhiissttvveerriiffyy shell - option is enabled (see the description of the sshhoopptt builtin below), and - rreeaaddlliinnee is being used, history substitutions are not immediately - passed to the shell parser. Instead, the expanded line is reloaded + Several shell options settable with the sshhoopptt builtin may be used to + tailor the behavior of history expansion. If the hhiissttvveerriiffyy shell op- + tion is enabled (see the description of the sshhoopptt builtin below), and + rreeaaddlliinnee is being used, history substitutions are not immediately + passed to the shell parser. Instead, the expanded line is reloaded into the rreeaaddlliinnee editing buffer for further modification. If rreeaaddlliinnee - is being used, and the hhiissttrreeeeddiitt shell option is enabled, a failed - history substitution will be reloaded into the rreeaaddlliinnee editing buffer - for correction. The --pp option to the hhiissttoorryy builtin command may be - used to see what a history expansion will do before using it. The --ss + is being used, and the hhiissttrreeeeddiitt shell option is enabled, a failed + history substitution will be reloaded into the rreeaaddlliinnee editing buffer + for correction. The --pp option to the hhiissttoorryy builtin command may be + used to see what a history expansion will do before using it. The --ss option to the hhiissttoorryy builtin may be used to add commands to the end of - the history list without actually executing them, so that they are + the history list without actually executing them, so that they are available for subsequent recall. - The shell allows control of the various characters used by the history + The shell allows control of the various characters used by the history expansion mechanism (see the description of hhiissttcchhaarrss above under SShheellll - VVaarriiaabblleess). The shell uses the history comment character to mark his- + VVaarriiaabblleess). The shell uses the history comment character to mark his- tory timestamps when writing the history file. EEvveenntt DDeessiiggnnaattoorrss - An event designator is a reference to a command line entry in the his- - tory list. Unless the reference is absolute, events are relative to + An event designator is a reference to a command line entry in the his- + tory list. Unless the reference is absolute, events are relative to the current position in the history list. - !! Start a history substitution, except when followed by a bbllaannkk, - newline, carriage return, = or ( (when the eexxttgglloobb shell option + !! Start a history substitution, except when followed by a bbllaannkk, + newline, carriage return, = or ( (when the eexxttgglloobb shell option is enabled using the sshhoopptt builtin). !!_n Refer to command line _n. !!--_n Refer to the current command minus _n. !!!! Refer to the previous command. This is a synonym for `!-1'. !!_s_t_r_i_n_g - Refer to the most recent command preceding the current position + Refer to the most recent command preceding the current position in the history list starting with _s_t_r_i_n_g. !!??_s_t_r_i_n_g[[??]] - Refer to the most recent command preceding the current position - in the history list containing _s_t_r_i_n_g. The trailing ?? may be - omitted if _s_t_r_i_n_g is followed immediately by a newline. + Refer to the most recent command preceding the current position + in the history list containing _s_t_r_i_n_g. The trailing ?? may be + omitted if _s_t_r_i_n_g is followed immediately by a newline. If + _s_t_r_i_n_g is missing, the string from the most recent search is + used; it is an error if there is no previous search string. ^^_s_t_r_i_n_g_1^^_s_t_r_i_n_g_2^^ - Quick substitution. Repeat the previous command, replacing - _s_t_r_i_n_g_1 with _s_t_r_i_n_g_2. Equivalent to ``!!:s/_s_t_r_i_n_g_1/_s_t_r_i_n_g_2/'' + Quick substitution. Repeat the previous command, replacing + _s_t_r_i_n_g_1 with _s_t_r_i_n_g_2. Equivalent to ``!!:s^_s_t_r_i_n_g_1^_s_t_r_i_n_g_2^'' (see MMooddiiffiieerrss below). !!## The entire command line typed so far. WWoorrdd DDeessiiggnnaattoorrss - Word designators are used to select desired words from the event. A :: - separates the event specification from the word designator. It may be - omitted if the word designator begins with a ^^, $$, **, --, or %%. Words - are numbered from the beginning of the line, with the first word being - denoted by 0 (zero). Words are inserted into the current line sepa- + Word designators are used to select desired words from the event. A :: + separates the event specification from the word designator. It may be + omitted if the word designator begins with a ^^, $$, **, --, or %%. Words + are numbered from the beginning of the line, with the first word being + denoted by 0 (zero). Words are inserted into the current line sepa- rated by single spaces. 00 ((zzeerroo)) The zeroth word. For the shell, this is the command word. _n The _nth word. ^^ The first argument. That is, word 1. - $$ The last word. This is usually the last argument, but will - expand to the zeroth word if there is only one word in the line. - %% The word matched by the most recent `?_s_t_r_i_n_g?' search. + $$ The last word. This is usually the last argument, but will ex- + pand to the zeroth word if there is only one word in the line. + %% The first word matched by the most recent `?_s_t_r_i_n_g?' search, if + the search string begins with a character that is part of a + word. _x--_y A range of words; `-_y' abbreviates `0-_y'. - ** All of the words but the zeroth. This is a synonym for `_1_-_$'. - It is not an error to use ** if there is just one word in the + ** All of the words but the zeroth. This is a synonym for `_1_-_$'. + It is not an error to use ** if there is just one word in the event; the empty string is returned in that case. xx** Abbreviates _x_-_$. - xx-- Abbreviates _x_-_$ like xx**, but omits the last word. + xx-- Abbreviates _x_-_$ like xx**, but omits the last word. If xx is miss- + ing, it defaults to 0. If a word designator is supplied without an event specification, the previous command is used as the event. MMooddiiffiieerrss After the optional word designator, there may appear a sequence of one - or more of the following modifiers, each preceded by a `:'. + or more of the following modifiers, each preceded by a `:'. These mod- + ify, or edit, the word or words selected from the history event. hh Remove a trailing filename component, leaving only the head. tt Remove all leading filename components, leaving the tail. @@ -4205,80 +4207,82 @@ HHIISSTTOORRYY EEXXPPAANNSSIIOONN ee Remove all but the trailing suffix. pp Print the new command but do not execute it. qq Quote the substituted words, escaping further substitutions. - xx Quote the substituted words as with qq, but break into words at - bbllaannkkss and newlines. + xx Quote the substituted words as with qq, but break into words at + bbllaannkkss and newlines. The qq and xx modifiers are mutually exclu- + sive; the last one supplied is used. ss//_o_l_d//_n_e_w// Substitute _n_e_w for the first occurrence of _o_l_d in the event - line. Any delimiter can be used in place of /. The final - delimiter is optional if it is the last character of the event - line. The delimiter may be quoted in _o_l_d and _n_e_w with a single - backslash. If & appears in _n_e_w, it is replaced by _o_l_d. A sin- - gle backslash will quote the &. If _o_l_d is null, it is set to - the last _o_l_d substituted, or, if no previous history substitu- - tions took place, the last _s_t_r_i_n_g in a !!??_s_t_r_i_n_g[[??]] search. + line. Any character may be used as the delimiter in place of /. + The final delimiter is optional if it is the last character of + the event line. The delimiter may be quoted in _o_l_d and _n_e_w with + a single backslash. If & appears in _n_e_w, it is replaced by _o_l_d. + A single backslash will quote the &. If _o_l_d is null, it is set + to the last _o_l_d substituted, or, if no previous history substi- + tutions took place, the last _s_t_r_i_n_g in a !!??_s_t_r_i_n_g[[??]] search. + If _n_e_w is null, each matching _o_l_d is deleted. && Repeat the previous substitution. gg Cause changes to be applied over the entire event line. This is - used in conjunction with `::ss' (e.g., `::ggss//_o_l_d//_n_e_w//') or `::&&'. - If used with `::ss', any delimiter can be used in place of /, and - the final delimiter is optional if it is the last character of + used in conjunction with `::ss' (e.g., `::ggss//_o_l_d//_n_e_w//') or `::&&'. + If used with `::ss', any delimiter can be used in place of /, and + the final delimiter is optional if it is the last character of the event line. An aa may be used as a synonym for gg. - GG Apply the following `ss' modifier once to each word in the event - line. + GG Apply the following `ss' or `&&' modifier once to each word in the + event line. SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS Unless otherwise noted, each builtin command documented in this section as accepting options preceded by -- accepts ---- to signify the end of the options. The ::, ttrruuee, ffaallssee, and tteesstt/[[ builtins do not accept options - and do not treat ---- specially. The eexxiitt, llooggoouutt, rreettuurrnn, bbrreeaakk, ccoonn-- - ttiinnuuee, lleett, and sshhiifftt builtins accept and process arguments beginning - with -- without requiring ----. Other builtins that accept arguments but - are not specified as accepting options interpret arguments beginning - with -- as invalid options and require ---- to prevent this interpreta- + and do not treat ---- specially. The eexxiitt, llooggoouutt, rreettuurrnn, bbrreeaakk, ccoonn-- + ttiinnuuee, lleett, and sshhiifftt builtins accept and process arguments beginning + with -- without requiring ----. Other builtins that accept arguments but + are not specified as accepting options interpret arguments beginning + with -- as invalid options and require ---- to prevent this interpreta- tion. :: [_a_r_g_u_m_e_n_t_s] - No effect; the command does nothing beyond expanding _a_r_g_u_m_e_n_t_s + No effect; the command does nothing beyond expanding _a_r_g_u_m_e_n_t_s and performing any specified redirections. The return status is zero. .. _f_i_l_e_n_a_m_e [_a_r_g_u_m_e_n_t_s] ssoouurrccee _f_i_l_e_n_a_m_e [_a_r_g_u_m_e_n_t_s] - Read and execute commands from _f_i_l_e_n_a_m_e in the current shell - environment and return the exit status of the last command exe- - cuted from _f_i_l_e_n_a_m_e. If _f_i_l_e_n_a_m_e does not contain a slash, - filenames in PPAATTHH are used to find the directory containing + Read and execute commands from _f_i_l_e_n_a_m_e in the current shell en- + vironment and return the exit status of the last command exe- + cuted from _f_i_l_e_n_a_m_e. If _f_i_l_e_n_a_m_e does not contain a slash, + filenames in PPAATTHH are used to find the directory containing _f_i_l_e_n_a_m_e. The file searched for in PPAATTHH need not be executable. - When bbaasshh is not in _p_o_s_i_x _m_o_d_e, the current directory is - searched if no file is found in PPAATTHH. If the ssoouurrcceeppaatthh option - to the sshhoopptt builtin command is turned off, the PPAATTHH is not - searched. If any _a_r_g_u_m_e_n_t_s are supplied, they become the posi- - tional parameters when _f_i_l_e_n_a_m_e is executed. Otherwise the - positional parameters are unchanged. If the --TT option is - enabled, ssoouurrccee inherits any trap on DDEEBBUUGG; if it is not, any - DDEEBBUUGG trap string is saved and restored around the call to - ssoouurrccee, and ssoouurrccee unsets the DDEEBBUUGG trap while it executes. If - --TT is not set, and the sourced file changes the DDEEBBUUGG trap, the - new value is retained when ssoouurrccee completes. The return status - is the status of the last command exited within the script (0 if - no commands are executed), and false if _f_i_l_e_n_a_m_e is not found or + When bbaasshh is not in _p_o_s_i_x _m_o_d_e, the current directory is + searched if no file is found in PPAATTHH. If the ssoouurrcceeppaatthh option + to the sshhoopptt builtin command is turned off, the PPAATTHH is not + searched. If any _a_r_g_u_m_e_n_t_s are supplied, they become the posi- + tional parameters when _f_i_l_e_n_a_m_e is executed. Otherwise the po- + sitional parameters are unchanged. If the --TT option is enabled, + ssoouurrccee inherits any trap on DDEEBBUUGG; if it is not, any DDEEBBUUGG trap + string is saved and restored around the call to ssoouurrccee, and + ssoouurrccee unsets the DDEEBBUUGG trap while it executes. If --TT is not + set, and the sourced file changes the DDEEBBUUGG trap, the new value + is retained when ssoouurrccee completes. The return status is the + status of the last command exited within the script (0 if no + commands are executed), and false if _f_i_l_e_n_a_m_e is not found or cannot be read. aalliiaass [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] AAlliiaass with no arguments or with the --pp option prints the list of - aliases in the form aalliiaass _n_a_m_e=_v_a_l_u_e on standard output. When - arguments are supplied, an alias is defined for each _n_a_m_e whose - _v_a_l_u_e is given. A trailing space in _v_a_l_u_e causes the next word + aliases in the form aalliiaass _n_a_m_e=_v_a_l_u_e on standard output. When + arguments are supplied, an alias is defined for each _n_a_m_e whose + _v_a_l_u_e is given. A trailing space in _v_a_l_u_e causes the next word to be checked for alias substitution when the alias is expanded. - For each _n_a_m_e in the argument list for which no _v_a_l_u_e is sup- - plied, the name and value of the alias is printed. AAlliiaass - returns true unless a _n_a_m_e is given for which no alias has been + For each _n_a_m_e in the argument list for which no _v_a_l_u_e is sup- + plied, the name and value of the alias is printed. AAlliiaass re- + turns true unless a _n_a_m_e is given for which no alias has been defined. bbgg [_j_o_b_s_p_e_c ...] - Resume each suspended job _j_o_b_s_p_e_c in the background, as if it + Resume each suspended job _j_o_b_s_p_e_c in the background, as if it had been started with &&. 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. bbgg _j_o_b_s_p_e_c returns 0 unless - run when job control is disabled or, when run with job control - enabled, any specified _j_o_b_s_p_e_c was not found or was started + notion of the _c_u_r_r_e_n_t _j_o_b is used. bbgg _j_o_b_s_p_e_c returns 0 unless + run when job control is disabled or, when run with job control + enabled, any specified _j_o_b_s_p_e_c was not found or was started without job control. bbiinndd [--mm _k_e_y_m_a_p] [--llppssvvPPSSVVXX] @@ -4287,29 +4291,29 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS bbiinndd [--mm _k_e_y_m_a_p] --xx _k_e_y_s_e_q:_s_h_e_l_l_-_c_o_m_m_a_n_d bbiinndd [--mm _k_e_y_m_a_p] _k_e_y_s_e_q:_f_u_n_c_t_i_o_n_-_n_a_m_e bbiinndd [--mm _k_e_y_m_a_p] _k_e_y_s_e_q:_r_e_a_d_l_i_n_e_-_c_o_m_m_a_n_d - Display current rreeaaddlliinnee key and function bindings, bind a key - sequence to a rreeaaddlliinnee function or macro, or set a rreeaaddlliinnee - variable. Each non-option argument is a command as it would - appear in _._i_n_p_u_t_r_c, but each binding or command must be passed - as a separate argument; e.g., '"\C-x\C-r": re-read-init-file'. - Options, if supplied, have the following meanings: + Display current rreeaaddlliinnee key and function bindings, bind a key + sequence to a rreeaaddlliinnee function or macro, or set a rreeaaddlliinnee + variable. Each non-option argument is a command as it would ap- + pear in _._i_n_p_u_t_r_c, but each binding or command must be passed as + a separate argument; e.g., '"\C-x\C-r": re-read-init-file'. Op- + tions, if supplied, have the following meanings: --mm _k_e_y_m_a_p Use _k_e_y_m_a_p as the keymap to be affected by the subsequent bindings. Acceptable _k_e_y_m_a_p names are _e_m_a_c_s_, _e_m_a_c_s_-_s_t_a_n_- - _d_a_r_d_, _e_m_a_c_s_-_m_e_t_a_, _e_m_a_c_s_-_c_t_l_x_, _v_i_, _v_i_-_m_o_v_e_, _v_i_-_c_o_m_m_a_n_d, - and _v_i_-_i_n_s_e_r_t. _v_i is equivalent to _v_i_-_c_o_m_m_a_n_d (_v_i_-_m_o_v_e - is also a synonym); _e_m_a_c_s is equivalent to _e_m_a_c_s_-_s_t_a_n_- + _d_a_r_d_, _e_m_a_c_s_-_m_e_t_a_, _e_m_a_c_s_-_c_t_l_x_, _v_i_, _v_i_-_m_o_v_e_, _v_i_-_c_o_m_m_a_n_d, + and _v_i_-_i_n_s_e_r_t. _v_i is equivalent to _v_i_-_c_o_m_m_a_n_d (_v_i_-_m_o_v_e + is also a synonym); _e_m_a_c_s is equivalent to _e_m_a_c_s_-_s_t_a_n_- _d_a_r_d. --ll List the names of all rreeaaddlliinnee functions. - --pp Display rreeaaddlliinnee function names and bindings in such a + --pp Display rreeaaddlliinnee function names and bindings in such a way that they can be re-read. --PP List current rreeaaddlliinnee function names and bindings. - --ss Display rreeaaddlliinnee key sequences bound to macros and the - strings they output in such a way that they can be re- + --ss Display rreeaaddlliinnee key sequences bound to macros and the + strings they output in such a way that they can be re- read. - --SS Display rreeaaddlliinnee key sequences bound to macros and the + --SS Display rreeaaddlliinnee key sequences bound to macros and the strings they output. - --vv Display rreeaaddlliinnee variable names and values in such a way + --vv Display rreeaaddlliinnee variable names and values in such a way that they can be re-read. --VV List current rreeaaddlliinnee variable names and values. --ff _f_i_l_e_n_a_m_e @@ -4321,112 +4325,113 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --rr _k_e_y_s_e_q Remove any current binding for _k_e_y_s_e_q. --xx _k_e_y_s_e_q::_s_h_e_l_l_-_c_o_m_m_a_n_d - Cause _s_h_e_l_l_-_c_o_m_m_a_n_d to be executed whenever _k_e_y_s_e_q is - entered. When _s_h_e_l_l_-_c_o_m_m_a_n_d is executed, the shell sets - the RREEAADDLLIINNEE__LLIINNEE variable to the contents of the rreeaadd-- - lliinnee line buffer and the RREEAADDLLIINNEE__PPOOIINNTT variable to the + Cause _s_h_e_l_l_-_c_o_m_m_a_n_d to be executed whenever _k_e_y_s_e_q is en- + tered. When _s_h_e_l_l_-_c_o_m_m_a_n_d is executed, the shell sets + the RREEAADDLLIINNEE__LLIINNEE variable to the contents of the rreeaadd-- + lliinnee line buffer and the RREEAADDLLIINNEE__PPOOIINNTT variable to the current location of the insertion point. If the executed - command changes the value of RREEAADDLLIINNEE__LLIINNEE or RREEAADD-- - LLIINNEE__PPOOIINNTT, those new values will be reflected in the + command changes the value of RREEAADDLLIINNEE__LLIINNEE or RREEAADD-- + LLIINNEE__PPOOIINNTT, those new values will be reflected in the editing state. - --XX List all key sequences bound to shell commands and the - associated commands in a format that can be reused as - input. + --XX List all key sequences bound to shell commands and the + associated commands in a format that can be reused as in- + put. - The return value is 0 unless an unrecognized option is given or + The return value is 0 unless an unrecognized option is given or an error occurred. bbrreeaakk [_n] - Exit from within a ffoorr, wwhhiillee, uunnttiill, or sseelleecctt loop. If _n is - specified, break _n levels. _n must be >= 1. If _n is greater - than the number of enclosing loops, all enclosing loops are - exited. The return value is 0 unless _n is not greater than or + Exit from within a ffoorr, wwhhiillee, uunnttiill, or sseelleecctt loop. If _n is + specified, break _n levels. _n must be >= 1. If _n is greater + than the number of enclosing loops, all enclosing loops are ex- + ited. The return value is 0 unless _n is not greater than or equal to 1. bbuuiillttiinn _s_h_e_l_l_-_b_u_i_l_t_i_n [_a_r_g_u_m_e_n_t_s] - Execute the specified shell builtin, passing it _a_r_g_u_m_e_n_t_s, and + Execute the specified shell builtin, passing it _a_r_g_u_m_e_n_t_s, and return its exit status. This is useful when defining a function - whose name is the same as a shell builtin, retaining the func- + whose name is the same as a shell builtin, retaining the func- tionality of the builtin within the function. The ccdd builtin is - commonly redefined this way. The return status is false if + commonly redefined this way. The return status is false if _s_h_e_l_l_-_b_u_i_l_t_i_n is not a shell builtin command. ccaalllleerr [_e_x_p_r] Returns the context of any active subroutine call (a shell func- tion or a script executed with the .. or ssoouurrccee builtins). With- out _e_x_p_r, ccaalllleerr displays the line number and source filename of - the current subroutine call. If a non-negative integer is sup- + the current subroutine call. If a non-negative integer is sup- plied as _e_x_p_r, ccaalllleerr displays the line number, subroutine name, - and source file corresponding to that position in the current - execution call stack. This extra information may be used, for - example, to print a stack trace. The current frame is frame 0. - The return value is 0 unless the shell is not executing a sub- - routine call or _e_x_p_r does not correspond to a valid position in + and source file corresponding to that position in the current + execution call stack. This extra information may be used, for + example, to print a stack trace. The current frame is frame 0. + The return value is 0 unless the shell is not executing a sub- + routine call or _e_x_p_r does not correspond to a valid position in the call stack. ccdd [--LL|[--PP [--ee]] [-@]] [_d_i_r] - Change the current directory to _d_i_r. if _d_i_r is not supplied, - the value of the HHOOMMEE shell variable is the default. Any addi- + Change the current directory to _d_i_r. if _d_i_r is not supplied, + the value of the HHOOMMEE shell variable is the default. Any addi- tional arguments following _d_i_r are ignored. The variable CCDDPPAATTHH - defines the search path for the directory containing _d_i_r: each - directory name in CCDDPPAATTHH is searched for _d_i_r. Alternative - directory names in CCDDPPAATTHH are separated by a colon (:). A null - directory name in CCDDPPAATTHH is the same as the current directory, + defines the search path for the directory containing _d_i_r: each + directory name in CCDDPPAATTHH is searched for _d_i_r. Alternative di- + rectory names in CCDDPPAATTHH are separated by a colon (:). A null + directory name in CCDDPPAATTHH is the same as the current directory, i.e., ``..''. If _d_i_r begins with a slash (/), then CCDDPPAATTHH is not - used. The --PP option causes ccdd to use the physical directory - structure by resolving symbolic links while traversing _d_i_r and + used. The --PP option causes ccdd to use the physical directory + structure by resolving symbolic links while traversing _d_i_r and before processing instances of _._. in _d_i_r (see also the --PP option to the sseett builtin command); the --LL option forces symbolic links - to be followed by resolving the link after processing instances + to be followed by resolving the link after processing instances of _._. in _d_i_r. If _._. appears in _d_i_r, it is processed by removing - the immediately previous pathname component from _d_i_r, back to a - slash or the beginning of _d_i_r. If the --ee option is supplied - with --PP, and the current working directory cannot be success- - fully determined after a successful directory change, ccdd will - return an unsuccessful status. On systems that support it, the - --@@ option presents the extended attributes associated with a - file as a directory. An argument of -- is converted to $$OOLLDDPPWWDD + the immediately previous pathname component from _d_i_r, back to a + slash or the beginning of _d_i_r. If the --ee option is supplied + with --PP, and the current working directory cannot be success- + fully determined after a successful directory change, ccdd will + return an unsuccessful status. On systems that support it, the + --@@ option presents the extended attributes associated with a + file as a directory. An argument of -- is converted to $$OOLLDDPPWWDD before the directory change is attempted. If a non-empty direc- - tory name from CCDDPPAATTHH is used, or if -- is the first argument, + tory name from CCDDPPAATTHH is used, or if -- is the first argument, and the directory change is successful, the absolute pathname of - the new working directory is written to the standard output. - The return value is true if the directory was successfully + the new working directory is written to the standard output. + The return value is true if the directory was successfully changed; false otherwise. ccoommmmaanndd [--ppVVvv] _c_o_m_m_a_n_d [_a_r_g ...] - Run _c_o_m_m_a_n_d with _a_r_g_s suppressing the normal shell function + Run _c_o_m_m_a_n_d with _a_r_g_s suppressing the normal shell function lookup. Only builtin commands or commands found in the PPAATTHH are - executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is - performed using a default value for PPAATTHH that is guaranteed to - find all of the standard utilities. If either the --VV or --vv - option is supplied, a description of _c_o_m_m_a_n_d is printed. The --vv - option causes a single word indicating the command or filename + executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is + performed using a default value for PPAATTHH that is guaranteed to + find all of the standard utilities. If either the --VV or --vv op- + tion is supplied, a description of _c_o_m_m_a_n_d is printed. The --vv + option causes a single word indicating the command or filename used to invoke _c_o_m_m_a_n_d to be displayed; the --VV option produces a - more verbose description. If the --VV or --vv option is supplied, - the exit status is 0 if _c_o_m_m_a_n_d was found, and 1 if not. If + more verbose description. If the --VV or --vv option is supplied, + the exit status is 0 if _c_o_m_m_a_n_d was found, and 1 if not. If neither option is supplied and an error occurred or _c_o_m_m_a_n_d can- - not be found, the exit status is 127. Otherwise, the exit sta- + not be found, the exit status is 127. Otherwise, the exit sta- tus of the ccoommmmaanndd builtin is the exit status of _c_o_m_m_a_n_d. ccoommppggeenn [_o_p_t_i_o_n] [_w_o_r_d] - Generate possible completion matches for _w_o_r_d according to the - _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee - builtin with the exception of --pp and --rr, and write the matches - to the standard output. When using the --FF or --CC options, the - various shell variables set by the programmable completion - facilities, while available, will not have useful values. + Generate possible completion matches for _w_o_r_d according to the + _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee + builtin with the exception of --pp and --rr, and write the matches + to the standard output. When using the --FF or --CC options, the + various shell variables set by the programmable completion fa- + cilities, while available, will not have useful values. The matches will be generated in the same way as if the program- mable completion code had generated them directly from a comple- - tion specification with the same flags. If _w_o_r_d is specified, + tion specification with the same flags. If _w_o_r_d is specified, only those completions matching _w_o_r_d will be displayed. - The return value is true unless an invalid option is supplied, + The return value is true unless an invalid option is supplied, or no matches were generated. - ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEEII] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_- - _p_a_t] [--WW _w_o_r_d_l_i_s_t] [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d] - [--XX _f_i_l_t_e_r_p_a_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_f_i_x] _n_a_m_e [_n_a_m_e _._._.] + ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEEII] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_- + _p_a_t] [--WW _w_o_r_d_l_i_s_t] + [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d] [--XX _f_i_l_t_e_r_p_a_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_- + _f_i_x] _n_a_m_e [_n_a_m_e _._._.] ccoommpplleettee --pprr [--DDEEII] [_n_a_m_e ...] Specify how arguments to each _n_a_m_e should be completed. If the --pp option is supplied, or if no options are supplied, existing @@ -4480,14 +4485,14 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS default). nnoossoorrtt Tell readline not to sort the list of possible completions alphabetically. - nnoossppaaccee Tell readline not to append a space (the - default) to words completed at the end of the + nnoossppaaccee Tell readline not to append a space (the de- + fault) to words completed at the end of the line. pplluussddiirrss After any matches defined by the compspec are - generated, directory name completion is - attempted and any matches are added to the - results of the other actions. + generated, directory name completion is at- + tempted and any matches are added to the results + of the other actions. --AA _a_c_t_i_o_n The _a_c_t_i_o_n may be one of the following to generate a list of possible completions: @@ -4536,13 +4541,13 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --FF _f_u_n_c_t_i_o_n The shell function _f_u_n_c_t_i_o_n is executed in the current shell environment. When the function is executed, the - first argument ($$11) is the name of the command whose - arguments are being completed, the second argument ($$22) - is the word being completed, and the third argument ($$33) - is the word preceding the word being completed on the - current command line. When it finishes, the possible - completions are retrieved from the value of the CCOOMMPPRREE-- - PPLLYY array variable. + first argument ($$11) is the name of the command whose ar- + guments are being completed, the second argument ($$22) is + the word being completed, and the third argument ($$33) is + the word preceding the word being completed on the cur- + rent command line. When it finishes, the possible com- + pletions are retrieved from the value of the CCOOMMPPRREEPPLLYY + array variable. --GG _g_l_o_b_p_a_t The pathname expansion pattern _g_l_o_b_p_a_t is expanded to generate the possible completions. @@ -4575,13 +4580,13 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS adding a completion specification. ccoommppoopptt [--oo _o_p_t_i_o_n] [--DDEEII] [++oo _o_p_t_i_o_n] [_n_a_m_e] - Modify completion options for each _n_a_m_e according to the - _o_p_t_i_o_ns, or for the currently-executing completion if no _n_a_m_es - are supplied. If no _o_p_t_i_o_ns are given, display the completion - options for each _n_a_m_e or the current completion. The possible - values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin - described above. The --DD option indicates that other supplied - options should apply to the ``default'' command completion; that + Modify completion options for each _n_a_m_e according to the _o_p_- + _t_i_o_ns, or for the currently-executing completion if no _n_a_m_es are + supplied. If no _o_p_t_i_o_ns are given, display the completion op- + tions for each _n_a_m_e or the current completion. The possible + values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin de- + scribed above. The --DD option indicates that other supplied op- + tions should apply to the ``default'' command completion; that is, completion attempted on a command for which no completion has previously been defined. The --EE option indicates that other supplied options should apply to ``empty'' command completion; @@ -4598,10 +4603,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS ccoonnttiinnuuee [_n] Resume the next iteration of the enclosing ffoorr, wwhhiillee, uunnttiill, or sseelleecctt loop. If _n is specified, resume at the _nth enclosing - loop. _n must be >= 1. If _n is greater than the number of - enclosing loops, the last enclosing loop (the ``top-level'' - loop) is resumed. The return value is 0 unless _n is not greater - than or equal to 1. + loop. _n must be >= 1. If _n is greater than the number of en- + closing loops, the last enclosing loop (the ``top-level'' loop) + 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] ...] @@ -4612,18 +4617,18 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS are ignored. When --pp is supplied without _n_a_m_e arguments, it will display the attributes and values of all variables having the attributes specified by the additional options. If no other - options are supplied with --pp, ddeeccllaarree will display the - attributes and values of all shell variables. The --ff option - will restrict the display to shell functions. The --FF option - inhibits the display of function definitions; only the function - name and attributes are printed. If the eexxttddeebbuugg shell option - is enabled using sshhoopptt, the source file name and line number - where each _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 function. It is ignored in all other cases. The follow- - ing options can be used to restrict output to variables with the - specified attribute or to give variables attributes: + options are supplied with --pp, ddeeccllaarree will display the at- + tributes and values of all shell variables. The --ff option will + restrict the display to shell functions. The --FF option inhibits + the display of function definitions; only the function name and + attributes are printed. If the eexxttddeebbuugg shell option is enabled + using sshhoopptt, the source file name and line number where each + _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: --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 @@ -4644,82 +4649,81 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS attribute cannot be applied to array variables. --rr Make _n_a_m_es readonly. These names cannot then be assigned values by subsequent assignment statements or unset. - --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions - inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling - shell. The trace attribute has no special meaning for - variables. - --uu When the variable is assigned a value, all lower-case - characters are converted to upper-case. The lower-case + --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions in- + herit the DDEEBBUUGG and RREETTUURRNN traps from the calling shell. + The trace attribute has no special meaning for variables. + --uu When the variable is assigned a value, all lower-case + characters are converted to upper-case. The lower-case attribute is disabled. - --xx Mark _n_a_m_es for export to subsequent commands via the - environment. + --xx Mark _n_a_m_es for export to subsequent commands via the en- + vironment. - Using `+' instead of `-' turns off the attribute instead, with - the exceptions that ++aa and ++AA may not be used to destroy array - variables and ++rr will not remove the readonly attribute. When + Using `+' instead of `-' turns off the attribute instead, with + the exceptions that ++aa and ++AA may not be used to destroy array + variables and ++rr will not remove the readonly attribute. When used in a function, ddeeccllaarree and ttyyppeesseett make each _n_a_m_e local, as - with the llooccaall command, unless the --gg option is supplied. If a - variable name is followed by =_v_a_l_u_e, the value of the variable - is set to _v_a_l_u_e. When using --aa or --AA and the compound assign- - ment syntax to create array variables, additional attributes do - not take effect until subsequent assignments. The return value + with the llooccaall command, unless the --gg option is supplied. If a + variable name is followed by =_v_a_l_u_e, the value of the variable + is set to _v_a_l_u_e. When using --aa or --AA and the compound assign- + ment syntax to create array variables, additional attributes do + not take effect until subsequent assignments. The return value is 0 unless an invalid option is encountered, an attempt is made to define a function using ``-f foo=bar'', an attempt is made to - assign a value to a readonly variable, an attempt is made to - assign a value to an array variable without using the compound - assignment syntax (see AArrrraayyss above), one of the _n_a_m_e_s is not a - valid shell variable name, an attempt is made to turn off read- - only status for a readonly variable, an attempt is made to turn + assign a value to a readonly variable, an attempt is made to as- + sign a value to an array variable without using the compound as- + signment syntax (see AArrrraayyss above), one of the _n_a_m_e_s is not a + valid shell variable name, an attempt is made to turn off read- + only status for a readonly variable, an attempt is made to turn off array status for an array variable, or an attempt is made to display a non-existent function with --ff. ddiirrss [[--ccllppvv]] [[++_n]] [[--_n]] - Without options, displays the list of currently remembered - directories. The default display is on a single line with - directory names separated by spaces. Directories are added to - the list with the ppuusshhdd command; the ppooppdd command removes - entries from the list. The current directory is always the - first directory in the stack. - --cc Clears the directory stack by deleting all of the - entries. - --ll Produces a listing using full pathnames; the default + Without options, displays the list of currently remembered di- + rectories. The default display is on a single line with direc- + tory names separated by spaces. Directories are added to the + list with the ppuusshhdd command; the ppooppdd command removes entries + from the list. The current directory is always the first direc- + tory in the stack. + --cc Clears the directory stack by deleting all of the en- + tries. + --ll Produces a listing using full pathnames; the default listing format uses a tilde to denote the home directory. --pp Print the directory stack with one entry per line. - --vv Print the directory stack with one entry per line, pre- + --vv Print the directory stack with one entry per line, pre- fixing each entry with its index in the stack. ++_n Displays the _nth entry counting from the left of the list shown by ddiirrss when invoked without options, starting with zero. - --_n Displays the _nth entry counting from the right of the + --_n Displays the _nth entry counting from the right of the list shown by ddiirrss when invoked without options, starting with zero. - The return value is 0 unless an invalid option is supplied or _n + The return value is 0 unless an invalid option is supplied or _n indexes beyond the end of the directory stack. ddiissoowwnn [--aarr] [--hh] [_j_o_b_s_p_e_c ... | _p_i_d ... ] - Without options, remove each _j_o_b_s_p_e_c from the table of active - jobs. If _j_o_b_s_p_e_c is not present, and neither the --aa nor the --rr - option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option - is given, each _j_o_b_s_p_e_c is not removed from the table, but is - marked so that SSIIGGHHUUPP is not sent to the job if the shell - receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is supplied, the --aa option - means to remove or mark all jobs; the --rr option without a _j_o_b_- - _s_p_e_c argument restricts operation to running jobs. The return - value is 0 unless a _j_o_b_s_p_e_c does not specify a valid job. + Without options, remove each _j_o_b_s_p_e_c from the table of active + jobs. If _j_o_b_s_p_e_c is not present, and neither the --aa nor the --rr + option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option + is given, each _j_o_b_s_p_e_c is not removed from the table, but is + marked so that SSIIGGHHUUPP is not sent to the job if the shell re- + ceives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is supplied, the --aa option means + to remove or mark all jobs; the --rr option without a _j_o_b_s_p_e_c ar- + gument restricts operation to running jobs. The return value is + 0 unless a _j_o_b_s_p_e_c does not specify a valid job. eecchhoo [--nneeEE] [_a_r_g ...] - Output the _a_r_gs, separated by spaces, followed by a newline. - The return status is 0 unless a write error occurs. If --nn is + Output the _a_r_gs, separated by spaces, followed by a newline. + The return status is 0 unless a write error occurs. If --nn is specified, the trailing newline is suppressed. If the --ee option - is given, interpretation of the following backslash-escaped - characters is enabled. The --EE option disables the interpreta- - tion of these escape characters, even on systems where they are - interpreted by default. The xxppgg__eecchhoo shell option may be used - to dynamically determine whether or not eecchhoo expands these - escape characters by default. eecchhoo does not interpret ---- to - mean the end of options. eecchhoo interprets the following escape - sequences: + is given, interpretation of the following backslash-escaped + characters is enabled. The --EE option disables the interpreta- + tion of these escape characters, even on systems where they are + interpreted by default. The xxppgg__eecchhoo shell option may be used + to dynamically determine whether or not eecchhoo expands these es- + cape characters by default. eecchhoo does not interpret ---- to mean + the end of options. eecchhoo interprets the following escape se- + quences: \\aa alert (bell) \\bb backspace \\cc suppress further output @@ -4731,146 +4735,147 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS \\tt horizontal tab \\vv vertical tab \\\\ backslash - \\00_n_n_n the eight-bit character whose value is the octal value + \\00_n_n_n the eight-bit character whose value is the octal value _n_n_n (zero to three octal digits) - \\xx_H_H the eight-bit character whose value is the hexadecimal + \\xx_H_H the eight-bit character whose value is the hexadecimal value _H_H (one or two hex digits) - \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the + \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value _H_H_H_H (one to four hex digits) \\UU_H_H_H_H_H_H_H_H - the Unicode (ISO/IEC 10646) character whose value is the + the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits) eennaabbllee [--aa] [--ddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...] - Enable and disable builtin shell commands. Disabling a builtin + Enable and disable builtin shell commands. Disabling a builtin allows a disk command which has the same name as a shell builtin - to be executed without specifying a full pathname, even though - the shell normally searches for builtins before disk commands. - If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are - enabled. For example, to use the tteesstt binary found via the PPAATTHH - instead of the shell builtin version, run ``enable -n test''. - The --ff option means to load the new builtin command _n_a_m_e from + to be executed without specifying a full pathname, even though + the shell normally searches for builtins before disk commands. + If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are en- + abled. For example, to use the tteesstt binary found via the PPAATTHH + instead of the shell builtin version, run ``enable -n test''. + The --ff option means to load the new builtin command _n_a_m_e from shared object _f_i_l_e_n_a_m_e, on systems that support dynamic loading. - The --dd option will delete a builtin previously loaded with --ff. + The --dd option will delete a builtin previously loaded with --ff. If no _n_a_m_e arguments are given, or if the --pp option is supplied, a list of shell builtins is printed. With no other option argu- - ments, the list consists of all enabled shell builtins. If --nn - is supplied, only disabled builtins are printed. If --aa is sup- - plied, the list printed includes all builtins, with an indica- - tion of whether or not each is enabled. If --ss is supplied, the - output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return - value is 0 unless a _n_a_m_e is not a shell builtin or there is an + ments, the list consists of all enabled shell builtins. If --nn + is supplied, only disabled builtins are printed. If --aa is sup- + plied, the list printed includes all builtins, with an indica- + tion of whether or not each is enabled. If --ss is supplied, the + output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return + value is 0 unless a _n_a_m_e is not a shell builtin or there is an error loading a new builtin from a shared object. eevvaall [_a_r_g ...] - The _a_r_gs are read and concatenated together into a single com- - mand. This command is then read and executed by the shell, and - its exit status is returned as the value of eevvaall. If there are + The _a_r_gs are read and concatenated together into a single com- + mand. This command is then read and executed by the shell, and + its exit status is returned as the value of eevvaall. If there are no _a_r_g_s, or only null arguments, eevvaall returns 0. eexxeecc [--ccll] [--aa _n_a_m_e] [_c_o_m_m_a_n_d [_a_r_g_u_m_e_n_t_s]] - If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process - is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If + If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process + is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If the --ll option is supplied, the shell places a dash at the begin- - ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what - _l_o_g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with - an empty environment. If --aa is supplied, the shell passes _n_a_m_e + ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what _l_o_- + _g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with + an empty environment. If --aa is supplied, the shell passes _n_a_m_e as the zeroth argument to the executed command. If _c_o_m_m_a_n_d can- - not be executed for some reason, a non-interactive shell exits, - unless the eexxeeccffaaiill shell option is enabled. In that case, it - returns failure. An interactive shell returns failure if the - file cannot be executed. A subshell exits unconditionally if - eexxeecc fails. If _c_o_m_m_a_n_d is not specified, any redirections take - effect in the current shell, and the return status is 0. If + not be executed for some reason, a non-interactive shell exits, + unless the eexxeeccffaaiill shell option is enabled. In that case, it + returns failure. An interactive shell returns failure if the + file cannot be executed. A subshell exits unconditionally if + eexxeecc fails. If _c_o_m_m_a_n_d is not specified, any redirections take + effect in the current shell, and the return status is 0. If there is a redirection error, the return status is 1. eexxiitt [_n] - Cause the shell to exit with a status of _n. If _n is omitted, + Cause the shell to exit with a status of _n. If _n is omitted, the exit status is that of the last command executed. A trap on EEXXIITT is executed before the shell terminates. eexxppoorrtt [--ffnn] [_n_a_m_e[=_w_o_r_d]] ... eexxppoorrtt --pp - The supplied _n_a_m_e_s are marked for automatic export to the envi- - ronment of subsequently executed commands. If the --ff option is - given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or - if the --pp option is supplied, a list of names of all exported - variables is printed. The --nn option causes the export property + The supplied _n_a_m_e_s are marked for automatic export to the envi- + ronment of subsequently executed commands. If the --ff option is + given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or + if the --pp option is supplied, a list of names of all exported + variables is printed. The --nn option causes the export property to be removed from each _n_a_m_e. If a variable name is followed by =_w_o_r_d, the value of the variable is set to _w_o_r_d. eexxppoorrtt returns an exit status of 0 unless an invalid option is encountered, one - of the _n_a_m_e_s is not a valid shell variable name, or --ff is sup- + of the _n_a_m_e_s is not a valid shell variable name, or --ff is sup- plied with a _n_a_m_e that is not a function. ffcc [--ee _e_n_a_m_e] [--llnnrr] [_f_i_r_s_t] [_l_a_s_t] ffcc --ss [_p_a_t=_r_e_p] [_c_m_d] - The first form selects a range of commands from _f_i_r_s_t to _l_a_s_t - from the history list and displays or edits and re-executes - 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 + The first form selects a range of commands from _f_i_r_s_t to _l_a_s_t + from the history list and displays or edits and re-executes + 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- + ``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. - 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 - invalid 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_s] - 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 - expected 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 + 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- + 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 _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 - option requires an argument, ggeettooppttss places that argument into - the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati- - cally; it must be manually reset between multiple calls to - ggeettooppttss within the same shell invocation if a new set of parame- - ters is to be used. + 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 + to be used. - When the end of options is encountered, ggeettooppttss exits with a - return value greater than zero. OOPPTTIINNDD is set to the index of - the first non-option argument, and _n_a_m_e is set to ?. + 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 given in _a_r_g_s, ggeettooppttss parses those instead. + 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 @@ -4881,8 +4886,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - OOPPTTAARRGG and no diagnostic message is printed. + 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 @@ -4900,16 +4905,16 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - causes the shell to forget all remembered locations. The --dd - option 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 argu- - ments are supplied with --tt, the _n_a_m_e is printed before the - hashed full pathname. The --ll option causes output to be dis- - played in a format that may be reused as input. If no arguments - are given, or if only --ll is supplied, information about remem- - bered commands is printed. The return status is true unless a - _n_a_m_e is not found or an invalid option is supplied. + 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 + 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 + 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 + 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 @@ -4956,8 +4961,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - appended to the history file since the beginning of the + 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 the current history list. @@ -4999,8 +5004,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and - executes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status. + _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and ex- + ecutes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status. 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] @@ -5015,8 +5020,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --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 - option is encountered. + 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-- @@ -5072,8 +5077,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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_r_a_y before assigning to it. + 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 @@ -5085,8 +5090,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS the new top directory. Arguments, if supplied, have the follow- ing meanings: --nn Suppresses the normal change of directory when removing - directories from the stack, so that only the stack is - manipulated. + 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 +0'' removes the first directory, ``popd +1'' the second. @@ -5124,10 +5129,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - argument is specified, conversion behaves as if -1 had - been given. This is an exception to the usual pprriinnttff - behavior. + -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- + ior. Arguments to non-string format specifiers are treated as C con- stants, except that a leading plus or minus sign is allowed, and @@ -5144,8 +5149,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS ppuusshhdd [--nn] [_d_i_r] Adds a directory to the top of the directory stack, or rotates the stack, making the new top of the stack the current working - directory. With no arguments, ppuusshhdd exchanges the top two - directories and returns 0, unless the directory stack is empty. + directory. With no arguments, ppuusshhdd exchanges the top two di- + rectories and returns 0, unless the directory stack is empty. Arguments, if supplied, have the following meanings: --nn Suppresses the normal change of directory when rotating or adding directories to the stack, so that only the @@ -5173,33 +5178,33 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command is enabled. If the --LL option is used, the pathname printed may contain symbolic links. The return status is 0 unless an error - occurs while reading the name of the current directory or an - invalid option is supplied. + occurs while reading the name of the current directory or an in- + valid option is supplied. rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp _p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...] - One line is read from the standard input, or from the file - descriptor _f_d supplied as an argument to the --uu option, split - into words as described above under WWoorrdd SSpplliittttiinngg, and the - first word is assigned to the first _n_a_m_e, the second word to the - second _n_a_m_e, and so on. If there are more words than names, the + One line is read from the standard input, or from the file de- + scriptor _f_d supplied as an argument to the --uu option, split into + words as described above under WWoorrdd SSpplliittttiinngg, and the first + word is assigned to the first _n_a_m_e, the second word to the sec- + ond _n_a_m_e, and so on. If there are more words than names, the remaining words and their intervening delimiters are assigned to the last _n_a_m_e. If there are fewer words read from the input stream than names, the remaining names are assigned empty val- ues. The characters in IIFFSS are used to split the line into - words using the same rules the shell uses for expansion - (described above under WWoorrdd SSpplliittttiinngg). The backslash character + words using the same rules the shell uses for expansion (de- + scribed above under WWoorrdd SSpplliittttiinngg). The backslash character (\\) may be used to remove any special meaning for the next char- acter read and for line continuation. Options, if supplied, have the following meanings: --aa _a_n_a_m_e The words are assigned to sequential indices of the array variable _a_n_a_m_e, starting at 0. _a_n_a_m_e is unset before any - new values are assigned. Other _n_a_m_e arguments are - ignored. + new values are assigned. Other _n_a_m_e arguments are ig- + nored. --dd _d_e_l_i_m - The first character of _d_e_l_i_m is used to terminate the - input line, rather than newline. If _d_e_l_i_m is the empty + The first character of _d_e_l_i_m is used to terminate the in- + put line, rather than newline. If _d_e_l_i_m is the empty string, rreeaadd will terminate a line when it reads a NUL character. --ee If the standard input is coming from a terminal, rreeaaddlliinnee @@ -5244,16 +5249,16 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS reading input from a terminal, pipe, or other special file; it has no effect when reading from regular files. If rreeaadd times out, rreeaadd saves any partial input read into - the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd - returns immediately, without trying to read any data. - The exit status is 0 if input is available on the speci- - fied file descriptor, non-zero otherwise. The exit sta- - tus is greater than 128 if the timeout is exceeded. + the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd re- + turns immediately, without trying to read any data. The + exit status is 0 if input is available on the specified + file descriptor, non-zero otherwise. The exit status is + greater than 128 if the timeout is exceeded. --uu _f_d Read input from file descriptor _f_d. If no _n_a_m_e_s are supplied, the line read is assigned to the vari- - able RREEPPLLYY. The exit status is zero, unless end-of-file is - encountered, rreeaadd times out (in which case the status is greater + able RREEPPLLYY. The exit status is zero, unless end-of-file is en- + countered, rreeaadd times out (in which case the status is greater than 128), a variable assignment error (such as assigning to a readonly variable) occurs, or an invalid file descriptor is sup- plied as the argument to --uu. @@ -5262,10 +5267,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s may not be changed by subsequent assignment. If the --ff option is supplied, the functions corresponding to the _n_a_m_e_s are so - marked. The --aa option restricts the variables to indexed - arrays; the --AA option restricts the variables to associative - arrays. If both options are supplied, --AA takes precedence. If - no _n_a_m_e arguments are given, or if the --pp option is supplied, a + marked. The --aa option restricts the variables to indexed ar- + rays; the --AA option restricts the variables to associative ar- + rays. If both options are supplied, --AA takes precedence. If no + _n_a_m_e arguments are given, or if the --pp option is supplied, a list of all readonly names is printed. The other options may be used to restrict the output to a subset of the set of readonly names. The --pp option causes output to be displayed in a format @@ -5278,22 +5283,22 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS rreettuurrnn [_n] Causes a function to stop executing and return the value speci- fied by _n to its caller. If _n is omitted, the return status is - that of the last command executed in the function body. If - rreettuurrnn is executed by a trap handler, the last command used to - determine the status is the last command executed before the - trap handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the - last command used to determine the status is the last command - executed by the trap handler before rreettuurrnn was invoked. If - rreettuurrnn is used outside a function, but during execution of a - script by the .. (ssoouurrccee) command, it causes the shell to stop - executing that script and return either _n or the exit status of - the last command executed within the script as the exit status - of the script. If _n is supplied, the return value is its least - significant 8 bits. The return status is non-zero if rreettuurrnn is - supplied a non-numeric argument, or is used outside a function - and not during execution of a script by .. or ssoouurrccee. Any com- - mand associated with the RREETTUURRNN trap is executed before execu- - tion resumes after the function or script. + that of the last command executed in the function body. If rree-- + ttuurrnn is executed by a trap handler, the last command used to de- + termine the status is the last command executed before the trap + handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the last + command used to determine the status is the last command exe- + cuted by the trap handler before rreettuurrnn was invoked. If rreettuurrnn + is used outside a function, but during execution of a script by + the .. (ssoouurrccee) command, it causes the shell to stop executing + that script and return either _n or the exit status of the last + command executed within the script as the exit status of the + script. If _n is supplied, the return value is its least signif- + icant 8 bits. The return status is non-zero if rreettuurrnn is sup- + plied a non-numeric argument, or is used outside a function and + not during execution of a script by .. or ssoouurrccee. Any command + associated with the RREETTUURRNN trap is executed before execution re- + sumes after the function or script. sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...] sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...] @@ -5301,8 +5306,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS displayed in a format that can be reused as input for setting or resetting the currently-set variables. Read-only variables can- not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed. - The output is sorted according to the current locale. When - options are specified, they set or unset shell attributes. Any + The output is sorted according to the current locale. When op- + tions are specified, they set or unset shell attributes. Any arguments remaining after option processing are treated as val- ues for the positional parameters and are assigned, in order, to $$11, $$22, ...... $$_n. Options, if specified, have the following @@ -5354,8 +5359,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS pletes, the shell prints a line containing its exit sta- tus. --nn Read commands but do not execute them. This may be used - to check a shell script for syntax errors. This is - ignored by interactive shells. + to check a shell script for syntax errors. This is ig- + nored by interactive shells. --oo _o_p_t_i_o_n_-_n_a_m_e The _o_p_t_i_o_n_-_n_a_m_e can be one of the following: aalllleexxppoorrtt @@ -5379,9 +5384,9 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS HHIISSTTOORRYY. This option is on by default in inter- active shells. iiggnnoorreeeeooff - The effect is as if the shell command - ``IGNOREEOF=10'' had been executed (see SShheellll - VVaarriiaabblleess above). + The effect is as if the shell command ``IG- + NOREEOF=10'' had been executed (see SShheellll VVaarrii-- + aabblleess above). kkeeyywwoorrdd Same as --kk. mmoonniittoorr Same as --mm. nnoocclloobbbbeerr @@ -5420,8 +5425,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and $$BBAASSHH__EENNVV files are not processed, shell functions are not inherited from the environment, and the SSHHEELLLLOOPPTTSS, - BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they - appear in the environment, are ignored. If the shell is + BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they ap- + pear in the environment, are ignored. If the shell is started with the effective user (group) id not equal to the real user (group) id, and the --pp option is not sup- plied, these actions are taken and the effective user id @@ -5460,9 +5465,9 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS chain of directories when performing commands which change the current directory. --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by - shell functions, command substitutions, and commands - executed in a subshell environment. The DDEEBBUUGG and - RREETTUURRNN traps are normally not inherited in such cases. + shell functions, command substitutions, and commands ex- + ecuted in a subshell environment. The DDEEBBUUGG and RREETTUURRNN + traps are normally not inherited in such cases. ---- If no arguments follow this option, then the positional parameters are unset. Otherwise, the positional parame- ters are set to the _a_r_gs, even if some of them begin @@ -5473,20 +5478,20 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS tional parameters remain unchanged. The options are off by default unless otherwise noted. Using + - rather than - causes these options to be turned off. The - options can also be specified as arguments to an invocation of - the shell. The current set of options may be found in $$--. The - return status is always true unless an invalid option is encoun- + rather than - causes these options to be turned off. The op- + tions can also be specified as arguments to an invocation of the + shell. The current set of options may be found in $$--. The re- + turn status is always true unless an invalid option is encoun- tered. sshhiifftt [_n] The positional parameters from _n+1 ... are renamed to $$11 ........ - Parameters represented by the numbers $$## down to $$##-_n+1 are - unset. _n must be a non-negative number less than or equal to - $$##. If _n is 0, no parameters are changed. If _n is not given, - it is assumed to be 1. If _n is greater than $$##, the positional - parameters are not changed. The return status is greater than - zero if _n is greater than $$## or less than zero; otherwise 0. + Parameters represented by the numbers $$## down to $$##-_n+1 are un- + set. _n must be a non-negative number less than or equal to $$##. + If _n is 0, no parameters are changed. If _n is not given, it is + assumed to be 1. If _n is greater than $$##, the positional param- + eters are not changed. The return status is greater than zero + if _n is greater than $$## or less than zero; otherwise 0. sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...] Toggle the values of settings controlling optional shell behav- @@ -5496,8 +5501,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS of all settable options is displayed, with an indication of whether or not each is set; if _o_p_t_n_a_m_e_s are supplied, the output is restricted to those options. The --pp option causes output to - be displayed in a form that may be reused as input. Other - options have the following meanings: + be displayed in a form that may be reused as input. Other op- + tions have the following meanings: --ss Enable (set) each _o_p_t_n_a_m_e. --uu Disable (unset) each _o_p_t_n_a_m_e. --qq Suppresses normal output (quiet mode); the return status @@ -5514,18 +5519,18 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS by default. The return status when listing options is zero if all _o_p_t_n_a_m_e_s - are enabled, non-zero otherwise. When setting or unsetting - options, the return status is zero unless an _o_p_t_n_a_m_e is not a + are enabled, non-zero otherwise. When setting or unsetting op- + tions, the return status is zero unless an _o_p_t_n_a_m_e is not a valid shell option. The list of sshhoopptt options is: aassssoocc__eexxppaanndd__oonnccee - If set, the shell suppresses multiple evaluation of - associative array subscripts during arithmetic expres- - sion evaluation, while executing builtins that can per- - form variable assignments, and while executing builtins - that perform array dereferencing. + If set, the shell suppresses multiple evaluation of as- + sociative array subscripts during arithmetic expression + evaluation, while executing builtins that can perform + variable assignments, and while executing builtins that + perform array dereferencing. aauuttooccdd If set, a command name that is the name of a directory is executed as if it were the argument to the ccdd com- mand. This option is only used by interactive shells. @@ -5550,8 +5555,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS jobs before exiting an interactive shell. If any jobs are running, this causes the exit to be deferred until a second exit is attempted without an intervening command - (see JJOOBB CCOONNTTRROOLL above). The shell always postpones - exiting if any jobs are stopped. + (see JJOOBB CCOONNTTRROOLL above). The shell always postpones ex- + iting if any jobs are stopped. cchheecckkwwiinnssiizzee If set, bbaasshh checks the window size after each external (non-builtin) command and, if necessary, updates the @@ -5566,10 +5571,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 >> - operators. Bash versions prior to bash-4.1 use ASCII - collation and _s_t_r_c_m_p(3); bash-4.1 and later use the cur- - rent locale's collation sequence and _s_t_r_c_o_l_l(3). + 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 @@ -5583,10 +5588,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - interrupt the list as if the shell received the inter- - rupt; previous versions continue with the next command - in the list. + 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 @@ -5597,18 +5602,18 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS as in previous versions. ccoommppaatt4422 If set, bbaasshh does not process the replacement string in - the pattern substitution word expansion using quote - removal. + the pattern substitution word expansion using quote re- + moval. ccoommppaatt4433 - If set, bbaasshh does not print a warning message if an - attempt is made to use a quoted compound array assign- - ment 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). + 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 @@ -5620,8 +5625,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS lar sign from the set of characters that will be quoted in completed filenames when these metacharacters appear in shell variable references in words to be completed. - This means that dollar signs in variable names that - expand to directories will not be quoted; however, any + This means that dollar signs in variable names that ex- + pand to directories will not be quoted; however, any dollar signs appearing in filenames will not be quoted, either. This is active only when bash is using back- slashes to quote completed filenames. This variable is @@ -5653,8 +5658,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - after invocation, behavior intended for use by debuggers + 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 @@ -5688,17 +5693,17 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS If set, the suffixes specified by the FFIIGGNNOORREE shell variable cause words to be ignored when performing word completion even if the ignored words are the only possi- - ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a - description of FFIIGGNNOORREE. This option is enabled by - default. + 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 as if in the traditional C locale when performing com- - parisons. That is, the current locale's collating - sequence is not taken into account, so bb will not col- - late between AA and BB, and upper-case and lower-case - ASCII characters will collate together. + parisons. That is, the current locale's collating se- + 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 @@ -5709,8 +5714,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - exits, rather than overwriting the file. + 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. @@ -5736,8 +5741,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - option is enabled by default. + 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- @@ -5748,8 +5753,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - attribute is not inherited. + 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 @@ -5766,8 +5771,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - attempt to search the PPAATTHH for possible completions when + 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 @@ -5783,12 +5788,6 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS If set, bbaasshh allows patterns which match no files (see PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string, rather than themselves. - ppoossiixxgglloobb - If set, bbaasshh makes words containing unquoted backslashes - after expansion eligible for pathname expansion, even if - they don't contain any other unquoted pattern charac- - ters. This option is enabled by default, and is enabled - when _p_o_s_i_x _m_o_d_e is enabled. pprrooggccoommpp If set, the programmable completion facilities (see PPrroo-- ggrraammmmaabbllee CCoommpplleettiioonn above) are enabled. This option is @@ -5797,55 +5796,54 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - using the command word resulting from the expanded - alias. + 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 - removal after being expanded as described in PPRROOMMPPTTIINNGG + 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 - restricted 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- + 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 + 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 + 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 - sequences by default. + If set, the eecchhoo builtin expands backslash-escape se- + quences by default. ssuussppeenndd [--ff] - Suspend the execution of this shell until it receives a SSIIGGCCOONNTT + Suspend the execution of this shell until it receives a SSIIGGCCOONNTT signal. A login shell cannot be suspended; the --ff option can be used to override this and force the suspension. The return sta- - tus is 0 unless the shell is a login shell and --ff is not sup- + tus is 0 unless the shell is a login shell and --ff is not sup- plied, or if job control is not enabled. tteesstt _e_x_p_r [[ _e_x_p_r ]] Return a status of 0 (true) or 1 (false) depending on the evalu- ation of the conditional expression _e_x_p_r. Each operator and op- - erand must be a separate argument. Expressions are composed of - the primaries described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. - tteesstt does not accept any options, nor does it accept and ignore + erand must be a separate argument. Expressions are composed of + the primaries described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. + tteesstt does not accept any options, nor does it accept and ignore an argument of ---- as signifying the end of options. - Expressions may be combined using the following operators, - listed in decreasing order of precedence. The evaluation - depends on the number of arguments; see below. Operator prece- + Expressions may be combined using the following operators, + listed in decreasing order of precedence. The evaluation de- + pends on the number of arguments; see below. Operator prece- dence is used when there are five or more arguments. !! _e_x_p_r True if _e_x_p_r is false. (( _e_x_p_r )) - Returns the value of _e_x_p_r. This may be used to override + Returns the value of _e_x_p_r. This may be used to override the normal precedence of operators. _e_x_p_r_1 -aa _e_x_p_r_2 True if both _e_x_p_r_1 and _e_x_p_r_2 are true. @@ -5862,134 +5860,134 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS null. 2 arguments If the first argument is !!, the expression is true if and - only if the second argument is null. If the first argu- - ment is one of the unary conditional operators listed - above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is + only if the second argument is null. If the first argu- + ment is one of the unary conditional operators listed + above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is true if the unary test is true. If the first argument is not a valid unary conditional operator, the expression is false. 3 arguments The following conditions are applied in the order listed. - If the second argument is one of the binary conditional + If the second argument is one of the binary conditional operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the result of the expression is the result of the binary test - using the first and third arguments as operands. The --aa - and --oo operators are considered binary operators when - there are three arguments. If the first argument is !!, - the value is the negation of the two-argument test using + using the first and third arguments as operands. The --aa + and --oo operators are considered binary operators when + there are three arguments. If the first argument is !!, + the value is the negation of the two-argument test using the second and third arguments. If the first argument is exactly (( and the third argument is exactly )), the result - is the one-argument test of the second argument. Other- + is the one-argument test of the second argument. Other- wise, the expression is false. 4 arguments If the first argument is !!, the result is the negation of - the three-argument expression composed of the remaining + the three-argument expression composed of the remaining arguments. Otherwise, the expression is parsed and eval- - uated according to precedence using the rules listed + uated according to precedence using the rules listed above. 5 or more arguments - The expression is parsed and evaluated according to + The expression is parsed and evaluated according to precedence using the rules listed above. - When used with tteesstt or [[, the << and >> operators sort lexico- + When used with tteesstt or [[, the << and >> operators sort lexico- graphically using ASCII ordering. - ttiimmeess Print the accumulated user and system times for the shell and + ttiimmeess Print the accumulated user and system times for the shell and for processes run from the shell. The return status is 0. ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...] - The command _a_r_g is to be read and executed when the shell - receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a - single _s_i_g_s_p_e_c) or --, each specified signal is reset to its - original disposition (the value it had upon entrance to the - shell). If _a_r_g is the null string the signal specified by each - _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. - If _a_r_g is not present and --pp has been supplied, then the trap - commands associated with each _s_i_g_s_p_e_c are displayed. If no - arguments are supplied or if only --pp is given, ttrraapp prints the - list of commands associated with each signal. The --ll option - causes the shell to print a list of signal names and their cor- - responding numbers. Each _s_i_g_s_p_e_c is either a signal name - defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are - case insensitive and the SSIIGG prefix is optional. + The command _a_r_g is to be read and executed when the shell re- + ceives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a sin- + gle _s_i_g_s_p_e_c) or --, each specified signal is reset to its origi- + nal disposition (the value it had upon entrance to the shell). + If _a_r_g is the null string the signal specified by each _s_i_g_s_p_e_c + is ignored by the shell and by the commands it invokes. If _a_r_g + is not present and --pp has been supplied, then the trap commands + associated with each _s_i_g_s_p_e_c are displayed. If no arguments are + supplied or if only --pp is given, ttrraapp prints the list of com- + mands associated with each signal. The --ll option causes the + shell to print a list of signal names and their corresponding + numbers. Each _s_i_g_s_p_e_c is either a signal name defined in <_s_i_g_- + _n_a_l_._h>, or a signal number. Signal names are case insensitive + and the SSIIGG prefix is optional. - If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit - from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe- - cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, - _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the - first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR - above). Refer to the description of the eexxttddeebbuugg option to the + If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit + from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe- + cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, + _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the + first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR + above). Refer to the description of the eexxttddeebbuugg option to the sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell function or a script executed with the .. or ssoouurrccee builtins fin- ishes executing. - If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a + If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a pipeline (which may consist of a single simple command), a list, or a compound command returns a non-zero exit status, subject to - the following conditions. The EERRRR trap is not executed if the + the following conditions. The EERRRR trap is not executed if the failed command is part of the command list immediately following - a wwhhiillee or uunnttiill keyword, part of the test in an _i_f statement, + a wwhhiillee or uunnttiill keyword, part of the test in an _i_f statement, part of a command executed in a &&&& or |||| list except the command - following the final &&&& or ||||, any command in a pipeline but the - last, or if the command's return value is being inverted using - !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee) - option. + following the final &&&& or ||||, any command in a pipeline but the + last, or if the command's return value is being inverted using + !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee) op- + tion. - Signals ignored upon entry to the shell cannot be trapped or - reset. Trapped signals that are not being ignored are reset to + Signals ignored upon entry to the shell cannot be trapped or re- + set. Trapped signals that are not being ignored are reset to their original values in a subshell or subshell environment when - one is created. The return status is false if any _s_i_g_s_p_e_c is + one is created. The return status is false if any _s_i_g_s_p_e_c is invalid; otherwise ttrraapp returns true. ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...] - With no options, indicate how each _n_a_m_e would be interpreted if + With no options, indicate how each _n_a_m_e would be interpreted if used as a command name. If the --tt option is used, ttyyppee prints a - string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or - _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, - builtin, or disk file, respectively. If the _n_a_m_e is not found, - then nothing is printed, and an exit status of false is - returned. If the --pp option is used, ttyyppee either returns the - name of the disk file that would be executed if _n_a_m_e were speci- - fied as a command name, or nothing if ``type -t name'' would not - return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, + string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or + _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, + builtin, or disk file, respectively. If the _n_a_m_e is not found, + then nothing is printed, and an exit status of false is re- + turned. If the --pp option is used, ttyyppee either returns the name + of the disk file that would be executed if _n_a_m_e were specified + as a command name, or nothing if ``type -t name'' would not re- + turn _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, even if ``type -t name'' would not return _f_i_l_e. If a command is hashed, --pp and --PP print the hashed value, which is not necessar- - ily the file that appears first in PPAATTHH. If the --aa option is - used, ttyyppee prints all of the places that contain an executable + ily the file that appears first in PPAATTHH. If the --aa option is + used, ttyyppee prints all of the places that contain an executable named _n_a_m_e. This includes aliases and functions, if and only if the --pp option is not also used. The table of hashed commands is - not consulted when using --aa. The --ff option suppresses shell + not consulted when using --aa. The --ff option suppresses shell 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]] - Provides control over the resources available to the shell and - to processes started by it, on systems that allow such control. + 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 - for the given resource. A hard limit cannot be increased by a - non-root user once it is set; a soft limit may be increased up - to the value of the hard limit. If neither --HH nor --SS is speci- + for the given resource. A hard limit cannot be increased by a + non-root user once it is set; a soft limit may be increased up + to the value of the hard limit. If neither --HH nor --SS is speci- fied, both the soft and hard limits are set. The value of _l_i_m_i_t can be a number in the unit specified for the resource or one of the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the - current hard limit, the current soft limit, and no limit, - respectively. If _l_i_m_i_t is omitted, the current value of the - soft limit of the resource is printed, unless the --HH option is - given. When more than one resource is specified, the limit name - and unit are printed before the value. Other options are inter- + current hard limit, the current soft limit, and no limit, re- + spectively. If _l_i_m_i_t is omitted, the current value of the soft + limit of the resource is printed, unless the --HH option is given. + When more than one resource is specified, the limit name and + unit are printed before the value. Other options are inter- preted as follows: --aa All current limits are reported --bb The maximum socket buffer size --cc The maximum size of core files created --dd The maximum size of a process's data segment --ee The maximum scheduling priority ("nice") - --ff The maximum size of files written by the shell and its + --ff The maximum size of files written by the shell and its children --ii The maximum number of pending signals --kk The maximum number of kqueues that may be allocated --ll The maximum size that may be locked into memory - --mm The maximum resident set size (many systems do not honor + --mm The maximum resident set size (many systems do not honor this limit) --nn The maximum number of open file descriptors (most systems do not allow this value to be set) @@ -5998,74 +5996,79 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --rr The maximum real-time scheduling priority --ss The maximum stack size --tt The maximum amount of cpu time in seconds - --uu The maximum number of processes available to a single + --uu The maximum number of processes available to a single user - --vv The maximum amount of virtual memory available to the + --vv The maximum amount of virtual memory available to the shell and, on some systems, to its children --xx The maximum number of file locks --PP The maximum number of pseudoterminals --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; + 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. 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 - a digit, it is interpreted as an octal number; otherwise it is - interpreted as a symbolic mode mask similar to that accepted by - _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is - printed. The --SS option causes the mask to be printed in sym- - bolic form; the default output is an octal number. If the --pp + a digit, it is interpreted as an octal number; otherwise it is + interpreted as a symbolic mode mask similar to that accepted by + _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is + printed. The --SS option causes the mask to be printed in sym- + bolic form; the default output is an octal number. If the --pp option is supplied, and _m_o_d_e is omitted, the output is in a form that may be reused as input. The return status is 0 if the mode - was successfully changed or if no _m_o_d_e argument was supplied, + was successfully changed or if no _m_o_d_e argument was supplied, and false otherwise. uunnaalliiaass [-aa] [_n_a_m_e ...] - Remove each _n_a_m_e from the list of defined aliases. If --aa is - supplied, all alias definitions are removed. The return value + Remove each _n_a_m_e from the list of defined aliases. If --aa is + supplied, all alias definitions are removed. The return value is true unless a supplied _n_a_m_e is not a defined alias. uunnsseett [-ffvv] [-nn] [_n_a_m_e ...] - For each _n_a_m_e, remove the corresponding variable or function. + For each _n_a_m_e, remove the corresponding variable or function. If the --vv option is given, each _n_a_m_e refers to a shell variable, - and that variable is removed. Read-only variables may not be - unset. If --ff is specified, each _n_a_m_e refers to a shell func- - tion, and the function definition is removed. If the --nn option - is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute, - _n_a_m_e will be unset rather than the variable it references. --nn - has no effect if the --ff option is supplied. If no options are - supplied, each _n_a_m_e refers to a variable; if there is no vari- - able by that name, any function with that name is unset. Each - unset variable or function is removed from the environment - passed to subsequent commands. If any of BBAASSHH__AALLIIAASSEESS, + and that variable is removed. Read-only variables may not be + unset. If --ff is specified, each _n_a_m_e refers to a shell func- + tion, and the function definition is removed. If the --nn option + is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute, + _n_a_m_e will be unset rather than the variable it references. --nn + has no effect if the --ff option is supplied. If no options are + supplied, each _n_a_m_e refers to a variable; if there is no vari- + able by that name, any function with that name is unset. Each + unset variable or function is removed from the environment + passed to subsequent commands. If any of BBAASSHH__AALLIIAASSEESS, BBAASSHH__AARRGGVV00, BBAASSHH__CCMMDDSS, BBAASSHH__CCOOMMMMAANNDD, BBAASSHH__SSUUBBSSHHEELLLL, BBAASSHHPPIIDD, - CCOOMMPP__WWOORRDDBBRREEAAKKSS, DDIIRRSSTTAACCKK, EEPPOOCCHHRREEAALLTTIIMMEE, EEPPOOCCHHSSEECCOONNDDSS, FFUUNNCC-- - NNAAMMEE, GGRROOUUPPSS, HHIISSTTCCMMDD, LLIINNEENNOO, RRAANNDDOOMM, SSEECCOONNDDSS, or SSRRAANNDDOOMM are + CCOOMMPP__WWOORRDDBBRREEAAKKSS, DDIIRRSSTTAACCKK, EEPPOOCCHHRREEAALLTTIIMMEE, EEPPOOCCHHSSEECCOONNDDSS, FFUUNNCC-- + NNAAMMEE, GGRROOUUPPSS, HHIISSTTCCMMDD, LLIINNEENNOO, RRAANNDDOOMM, SSEECCOONNDDSS, or SSRRAANNDDOOMM are unset, they lose their special properties, even if they are sub- sequently reset. The exit status is true unless a _n_a_m_e is read- only. - wwaaiitt [--ffnn] [_i_d _._._.] + wwaaiitt [--ffnn] [--pp _v_a_r_n_a_m_e] [_i_d _._._.] Wait for each specified child process and return its termination - status. Each _i_d may be a process ID or a job specification; if - a job spec is given, all processes in that job's pipeline are - waited for. If _i_d is not given, wwaaiitt waits for all running - background jobs and the last-executed process substitution, if + status. Each _i_d may be a process ID or a job specification; if + a job spec is given, all processes in that job's pipeline are + 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. 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. + 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. RREESSTTRRIICCTTEEDD SSHHEELLLL If bbaasshh is started with the name rrbbaasshh, or the --rr option is supplied at @@ -6197,4 +6200,4 @@ BBUUGGSS -GNU Bash 5.0 2019 July 8 BASH(1) +GNU Bash 5.0 2019 November 22 BASH(1) diff --git a/doc/bash.1 b/doc/bash.1 index e0e4d4eb..27ed5d88 100644 --- a/doc/bash.1 +++ b/doc/bash.1 @@ -5,12 +5,12 @@ .\" Case Western Reserve University .\" chet.ramey@case.edu .\" -.\" Last Change: Fri Nov 15 09:39:07 EST 2019 +.\" Last Change: Fri Nov 22 15:26:59 EST 2019 .\" .\" bash_builtins, strip all but Built-Ins section .if \n(zZ=1 .ig zZ .if \n(zY=1 .ig zY -.TH BASH 1 "2019 November 15" "GNU Bash 5.0" +.TH BASH 1 "2019 November 22" "GNU Bash 5.0" .\" .\" There's some problem with having a `@' .\" in a tagged paragraph with the BSD man macros. @@ -7268,6 +7268,7 @@ previous command is used as the event. .PP After the optional word designator, there may appear a sequence of one or more of the following modifiers, each preceded by a `:'. +These modify, or edit, the word or words selected from the history event. .PP .PD 0 .PP @@ -7328,6 +7329,11 @@ the last in a .B !?\fIstring\fR\fB[?]\fR search. +If +.I new +is null, each matching +.I old +is deleted. .TP .B & Repeat the previous substitution. @@ -7729,9 +7735,9 @@ will be displayed. The return value is true unless an invalid option is supplied, or no matches were generated. .TP -\fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-DEI\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] [\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP] +\fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-DEI\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] .br -[\fB\-X\fP \fIfilterpat\fP] [\fB\-P\fP \fIprefix\fP] [\fB\-S\fP \fIsuffix\fP] \fIname\fP [\fIname ...\fP] +[\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP] [\fB\-X\fP \fIfilterpat\fP] [\fB\-P\fP \fIprefix\fP] [\fB\-S\fP \fIsuffix\fP] \fIname\fP [\fIname ...\fP] .PD 0 .TP \fBcomplete\fP \fB\-pr\fP [\fB\-DEI\fP] [\fIname\fP ...] @@ -10819,7 +10825,7 @@ subsequently reset. The exit status is true unless a .I name is readonly. .TP -\fBwait\fP [\fB\-fn\fP] [\fIid ...\fP] +\fBwait\fP [\fB\-fn\fP] [\fP\-p\fP \fIvarname\fP] [\fIid ...\fP] Wait for each specified child process and return its termination status. Each .I id @@ -10834,6 +10840,11 @@ the last-executed process substitution, if its process id is the same as and the return status is zero. If the \fB\-n\fP option is supplied, \fBwait\fP waits for a single job to terminate and returns its exit status. +If the \fB\-p\fP option is supplied, the process or job identifier of the job +for which the exit status is returned is assigned to the variable +\fIvarname\fP named by the option argument. +The variable will be unset initially, before any assignment. +This is useful only when the \fB\-n\fP option is supplied. Supplying the \fB\-f\fP option, when job control is enabled, forces \fBwait\fP to wait for \fIid\fP to terminate before returning its status, instead of returning when it changes status. diff --git a/doc/bash.html b/doc/bash.html index 07b02ec0..8ebe14a0 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -3,7 +3,7 @@ -
BASH(1)2019 July 8BASH(1) +BASH(1)2019 November 22BASH(1)

Index @@ -980,7 +980,9 @@ to be matched as a string. An additional binary operator, =~, is available, with the same precedence as == and !=. When it is used, the string to the right of the operator is considered -a POSIX extended regular expression and matched accordingly (as in regex(3)). +a POSIX extended regular expression and matched accordingly +(using the POSIX regcomp and regexec interfaces +usually described in regex(3)). The return value is 0 if the string matches the pattern, and 1 otherwise. If the regular expression is syntactically incorrect, the conditional @@ -996,18 +998,29 @@ Bracket expressions in regular expressions must be treated carefully, since normal quoting characters lose their meanings between brackets. If the pattern is stored in a shell variable, quoting the variable expansion forces the entire pattern to be matched as a string. -Substrings matched by parenthesized subexpressions within the regular -expression are saved in the array variable -BASH_REMATCH. +

+ + +The pattern will match if it matches any part of the string. +Anchor the pattern using the ^ and $ regular expression +operators to force it to match the entire string. +The array variable +BASH_REMATCH +records which parts of the string matched the pattern. The element of BASH_REMATCH -with index 0 is the portion of the string -matching the entire regular expression. -The element of +with index 0 contains the portion of +the string matching the entire regular expression. +Substrings matched by parenthesized subexpressions within the regular +expression are saved in the remaining +BASH_REMATCH + + +indices. The element of BASH_REMATCH @@ -2055,7 +2068,6 @@ The element with index 0 is the portion of the string matching the entire regular expression. The element with index n is the portion of the string matching the nth parenthesized subexpression. -This variable is read-only.

BASH_SOURCE
@@ -4480,14 +4492,10 @@ scans each word for the characters ?, -[, +and +[. -and, under certain circumstances (e.g., when it appears in the expansion of -an unquoted shell variable, depending on the setting of the posixglob -shell option), -\. - -If one of these characters appears, then the word is +If one of these characters appears, and is not quoted, then the word is regarded as a pattern, @@ -9176,6 +9184,8 @@ The trailing ? may be omitted if string is followed immediately by a newline. +If string is missing, the string from the most recent search is used; +it is an error if there is no previous search string.
^string1^string2^
@@ -9186,7 +9196,7 @@ with string2. Equivalent to -``!!:s/string1/string2/'' +``!!:s^string1^string2^'' (see Modifiers below).
!# @@ -9244,7 +9254,8 @@ zeroth word if there is only one word in the line.
%
-The word matched by the most recent `?string?' search. +The first word matched by the most recent `?string?' search, +if the search string begins with a character that is part of a word.
x-y
@@ -9266,6 +9277,7 @@ Abbreviates x-$.
Abbreviates x-$ like x*, but omits the last word. +If x is missing, it defaults to 0.

@@ -9279,6 +9291,7 @@ previous command is used as the event. After the optional word designator, there may appear a sequence of one or more of the following modifiers, each preceded by a `:'. +These modify, or edit, the word or words selected from the history event.

@@ -9320,6 +9333,8 @@ but break into words at blanks and newlines. +The q and x modifiers are mutually exclusive; the last one +supplied is used.

s/old/new/
@@ -9329,9 +9344,11 @@ Substitute for the first occurrence of old -in the event line. Any delimiter can be used in place of /. The -final delimiter is optional if it is the last character of the -event line. The delimiter may be quoted in +in the event line. +Any character may be used as the delimiter in place of /. +The final delimiter is optional if it is the last character of the +event line. +The delimiter may be quoted in old and @@ -9343,7 +9360,8 @@ with a single backslash. If & appears in it is replaced by old. -A single backslash will quote the &. If +A single backslash will quote the &. +If old is null, it is set to the last @@ -9357,6 +9375,13 @@ in a !?string[?] search. +If +new + +is null, each matching +old + +is deleted.
&
@@ -9374,7 +9399,8 @@ An a may be used as a synonym for g.
G
-Apply the following `s' modifier once to each word in the event line. +Apply the following `s' or `&' modifier once to each word +in the event line.   @@ -9839,10 +9865,10 @@ will be displayed.

The return value is true unless an invalid option is supplied, or no matches were generated. -

complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command]
+
complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat] [-W wordlist]

-[-X filterpat] [-P prefix] [-S suffix] name [name ...] +[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]
complete -pr [-DEI] [name ...]
@@ -10781,7 +10807,7 @@ does not specify a valid job or jobspec specifies a job that was started without job control. -
getopts optstring name [args]
+
getopts optstring name [arg ...]
getopts is used by shell procedures to parse positional parameters. @@ -10840,9 +10866,10 @@ and name is set to ?. getopts normally parses the positional parameters, but if more arguments are -given in -args, +supplied as +arg +values, getopts parses those instead. @@ -12942,16 +12969,6 @@ files (see above) to expand to a null string, rather than themselves. -
posixglob - -
-If set, -bash - -makes words containing unquoted backslashes after expansion eligible for -pathname expansion, even if they don't contain any other unquoted pattern -characters. This option is enabled by default, and is enabled when -posix mode is enabled.
progcomp
@@ -13704,7 +13721,7 @@ subsequently reset. The exit status is true unless a name is readonly. -
wait [-fn] [id ...]
+
wait [-fn] [-p varname] [id ...]
Wait for each specified child process and return its termination status. Each id @@ -13721,6 +13738,11 @@ the last-executed process substitution, if its process id is the same as and the return status is zero. If the -n option is supplied, wait waits for a single job to terminate and returns its exit status. +If the -p option is supplied, the process or job identifier of the job +for which the exit status is returned is assigned to the variable +varname named by the option argument. +The variable will be unset initially, before any assignment. +This is useful only when the -n option is supplied. Supplying the -f option, when job control is enabled, forces wait to wait for id to terminate before returning its status, instead of returning when it changes status. @@ -14018,7 +14040,7 @@ There may be only one active coprocess at a time.
-
GNU Bash 5.02019 July 8BASH(1) +GNU Bash 5.02019 November 22BASH(1)

@@ -14124,6 +14146,6 @@ There may be only one active coprocess at a time.
This document was created by man2html from bash.1.
-Time: 08 July 2019 15:16:27 EDT +Time: 22 November 2019 15:53:56 EST diff --git a/doc/bash.info b/doc/bash.info index 6c172fb0..8cbaca83 100644 --- a/doc/bash.info +++ b/doc/bash.info @@ -1,10 +1,10 @@ -This is bash.info, produced by makeinfo version 6.5 from +This is bash.info, produced by makeinfo version 6.7 from bashref.texi. This text is a brief description of the features that are present in the -Bash shell (version 5.0, 8 July 2019). +Bash shell (version 5.0, 22 November 2019). - This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash + This is Edition 5.0, last updated 22 November 2019, of 'The GNU Bash Reference Manual', for 'Bash', Version 5.0. Copyright (C) 1988-2018 Free Software Foundation, Inc. @@ -27,10 +27,10 @@ Bash Features ************* This text is a brief description of the features that are present in the -Bash shell (version 5.0, 8 July 2019). The Bash home page is +Bash shell (version 5.0, 22 November 2019). The Bash home page is . - This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash + This is Edition 5.0, last updated 22 November 2019, of 'The GNU Bash Reference Manual', for 'Bash', Version 5.0. Bash contains features that appear in other popular shells, and some @@ -893,7 +893,8 @@ File: bash.info, Node: Conditional Constructs, Next: Command Grouping, Prev: An additional binary operator, '=~', is available, with the same precedence as '==' and '!='. When it is used, the string to the right of the operator is considered a POSIX extended regular - expression and matched accordingly (as in regex3)). The return + expression and matched accordingly (using the POSIX 'regcomp' and + 'regexec' interfaces usually described in regex(3)). The return value is 0 if the string matches the pattern, and 1 otherwise. If the regular expression is syntactically incorrect, the conditional expression's return value is 2. If the 'nocasematch' shell option @@ -905,18 +906,24 @@ File: bash.info, Node: Conditional Constructs, Next: Command Grouping, Prev: normal quoting characters lose their meanings between brackets. If the pattern is stored in a shell variable, quoting the variable expansion forces the entire pattern to be matched as a string. + + The pattern will match if it matches any part of the string. + Anchor the pattern using the '^' and '$' regular expression + operators to force it to match the entire string. The array + variable 'BASH_REMATCH' records which parts of the string matched + the pattern. The element of 'BASH_REMATCH' with index 0 contains + the portion of the string matching the entire regular expression. Substrings matched by parenthesized subexpressions within the - regular expression are saved in the array variable 'BASH_REMATCH'. - The element of 'BASH_REMATCH' with index 0 is the portion of the - string matching the entire regular expression. The element of - 'BASH_REMATCH' with index N is the portion of the string matching - the Nth parenthesized subexpression. + regular expression are saved in the remaining 'BASH_REMATCH' + indices. The element of 'BASH_REMATCH' with index N is the portion + of the string matching the Nth parenthesized subexpression. For example, the following will match a line (stored in the shell - variable LINE) if there is a sequence of characters in the value - consisting of any number, including zero, of space characters, zero - or one instances of 'a', then a 'b': - [[ $line =~ [[:space:]]*?(a)b ]] + variable LINE) if there is a sequence of characters anywhere in the + value consisting of any number, including zero, of characters in + the 'space' character class, zero or one instances of 'a', then a + 'b': + [[ $line =~ [[:space:]]*(a)?b ]] That means values like 'aab' and ' aaaaaab' will match, as will a line containing a 'b' anywhere in its value. @@ -929,7 +936,7 @@ File: bash.info, Node: Conditional Constructs, Next: Command Grouping, Prev: to the shell's quote removal. Using a shell variable to store the pattern decreases these problems. For example, the following is equivalent to the above: - pattern='[[:space:]]*?(a)b' + pattern='[[:space:]]*(a)?b' [[ $line =~ $pattern ]] If you want to match a character that's special to the regular @@ -1083,21 +1090,27 @@ names, use find's '-print0' option and parallel's '-0' option. You can use Parallel to move files from the current directory when the number of files is too large to process with one 'mv' invocation: - ls | parallel mv {} destdir + printf '%s\n' * | parallel mv {} destdir As you can see, the {} is replaced with each line read from standard input. While using 'ls' will work in most instances, it is not -sufficient to deal with all filenames. If you need to accommodate -special characters in filenames, you can use +sufficient to deal with all filenames. 'printf' is a shell builtin, and +therefore is not subject to the kernel's limit on the number of +arguments to a program, so you can use '*' (but see below about the +'dotglob' shell option). If you need to accommodate special characters +in filenames, you can use - find . -depth 1 \! -name '.*' -print0 | parallel -0 mv {} destdir + printf '%s\0' * | parallel -0 mv {} destdir as alluded to above. This will run as many 'mv' commands as there are files in the current directory. You can emulate a parallel 'xargs' by adding the '-X' option: - find . -depth 1 \! -name '.*' -print0 | parallel -0 -X mv {} destdir + printf '%s\0' * | parallel -0 -X mv {} destdir + + (You may have to modify the pattern if you have the 'dotglob' option +enabled.) GNU Parallel can replace certain common idioms that operate on lines read from a file (in this case, filenames listed one per line): @@ -1410,7 +1423,7 @@ only be referenced; assignment to them is not allowed. the expansion is not within double quotes, each positional parameter expands to a separate word. In contexts where it is performed, those words are subject to further word splitting and - pathname expansion. When the expansion occurs within double + filename expansion. When the expansion occurs within double quotes, it expands to a single word with the value of each parameter separated by the first character of the 'IFS' special variable. That is, '"$*"' is equivalent to '"$1C$2C..."', where C @@ -1984,7 +1997,7 @@ omitted, the operator tests only for existence. and the expansion is the resultant list. The result of the expansion is subject to word splitting and - pathname expansion as described below. + filename expansion as described below.  File: bash.info, Node: Command Substitution, Next: Arithmetic Expansion, Prev: Shell Parameter Expansion, Up: Shell Expansions @@ -2116,18 +2129,17 @@ File: bash.info, Node: Filename Expansion, Next: Quote Removal, Prev: Word Sp * Pattern Matching:: How the shell matches patterns. After word splitting, unless the '-f' option has been set (*note The Set -Builtin::), Bash scans each word for the characters '*', '?', '[', and, -under certain circumstances (e.g., when it appears in the expansion of -an unquoted shell variable), '\\'. If one of these characters appears, -then the word is regarded as a PATTERN, and replaced with an -alphabetically sorted list of filenames matching the pattern (*note -Pattern Matching::). If no matching filenames are found, and the shell -option 'nullglob' is disabled, the word is left unchanged. If the -'nullglob' option is set, and no matches are found, the word is removed. -If the 'failglob' shell option is set, and no matches are found, an -error message is printed and the command is not executed. If the shell -option 'nocaseglob' is enabled, the match is performed without regard to -the case of alphabetic characters. +Builtin::), Bash scans each word for the characters '*', '?', and '['. +If one of these characters appears, and is not quoted, then the word is +regarded as a PATTERN, and replaced with an alphabetically sorted list +of filenames matching the pattern (*note Pattern Matching::). If no +matching filenames are found, and the shell option 'nullglob' is +disabled, the word is left unchanged. If the 'nullglob' option is set, +and no matches are found, the word is removed. If the 'failglob' shell +option is set, and no matches are found, an error message is printed and +the command is not executed. If the shell option 'nocaseglob' is +enabled, the match is performed without regard to the case of alphabetic +characters. When a pattern is used for filename expansion, the character '.' at the start of a filename or immediately following a slash must be matched @@ -2443,7 +2455,7 @@ A variant of here documents, the format is: [N]<<< WORD The WORD undergoes tilde expansion, parameter and variable expansion, -command substitution, arithmetic expansion, and quote removal. Pathname +command substitution, arithmetic expansion, and quote removal. Filename expansion and word splitting are not performed. The result is supplied as a single string, with a newline appended, to the command on its standard input (or file descriptor N if N is specified). @@ -2828,20 +2840,28 @@ of commands remembered by the parent (see the description of 'hash' in Most versions of Unix make this a part of the operating system's command execution mechanism. If the first line of a script begins with the two characters '#!', the remainder of the line specifies an -interpreter for the program. Thus, you can specify Bash, 'awk', Perl, -or some other interpreter and write the rest of the script file in that -language. +interpreter for the program and, depending on the operating system, one +or more optional arguments for that interpreter. Thus, you can specify +Bash, 'awk', Perl, or some other interpreter and write the rest of the +script file in that language. - The arguments to the interpreter consist of a single optional -argument following the interpreter name on the first line of the script + The arguments to the interpreter consist of one or more optional +arguments following the interpreter name on the first line of the script file, followed by the name of the script file, followed by the rest of -the arguments. Bash will perform this action on operating systems that -do not handle it themselves. Note that some older versions of Unix -limit the interpreter name and argument to a maximum of 32 characters. +the arguments supplied to the script. The details of how the +interpreter line is split into an interpreter name and a set of +arguments vary across systems. Bash will perform this action on +operating systems that do not handle it themselves. Note that some +older versions of Unix limit the interpreter name and a single argument +to a maximum of 32 characters, so it's not portable to assume that using +more than one argument will work. Bash scripts often begin with '#! /bin/bash' (assuming that Bash has been installed in '/bin'), since this ensures that Bash will be used to -interpret the script, even if it is executed under another shell. +interpret the script, even if it is executed under another shell. It's +a common idiom to use 'env' to find 'bash' even if it's been installed +in another directory: '#!/usr/bin/env bash' will find the first +occurrence of 'bash' in '$PATH'.  File: bash.info, Node: Shell Builtin Commands, Next: Shell Variables, Prev: Basic Shell Features, Up: Top @@ -3032,7 +3052,7 @@ standard. supplied with a name that is not a shell function. 'getopts' - getopts OPTSTRING NAME [ARGS] + getopts OPTSTRING NAME [ARG ...] 'getopts' is used by shell scripts to parse positional parameters. OPTSTRING contains the option characters to be recognized; if a @@ -3054,7 +3074,8 @@ standard. the first non-option argument, and NAME is set to '?'. 'getopts' normally parses the positional parameters, but if more - arguments are given in ARGS, 'getopts' parses those instead. + arguments are supplied as ARG values, 'getopts' parses those + instead. 'getopts' can report errors in two ways. If the first character of OPTSTRING is a colon, SILENT error reporting is used. In normal @@ -4681,12 +4702,6 @@ This builtin allows you to change additional shell optional behavior. If set, Bash allows filename patterns which match no files to expand to a null string, rather than themselves. - 'posixglob' - If set, Bash makes words containing unquoted backslashes after - expansion eligible for filename expansion, even if they don't - contain any other unquoted pattern characters. This option is - enabled by default and is enabled when POSIX mode is enabled. - 'progcomp' If set, the programmable completion facilities (*note Programmable Completion::) are enabled. This option is @@ -4963,7 +4978,7 @@ Variables::). Constructs::). The element with index 0 is the portion of the string matching the entire regular expression. The element with index N is the portion of the string matching the Nth parenthesized - subexpression. This variable is read-only. + subexpression. 'BASH_SOURCE' An array variable whose members are the source filenames where the @@ -6776,66 +6791,62 @@ startup files. option, so numeric arguments to 'shift' that exceed the number of positional parameters will result in an error message. - 45. Enabling POSIX mode has the effect of setting the 'posixglob' - option, which affects how unquoted backslashes are treated during - filename expansion (*note Filename Expansion::). - - 46. When the 'alias' builtin displays alias definitions, it does not + 45. When the 'alias' builtin displays alias definitions, it does not display them with a leading 'alias ' unless the '-p' option is supplied. - 47. When the 'set' builtin is invoked without options, it does not + 46. When the 'set' builtin is invoked without options, it does not display shell function names and definitions. - 48. When the 'set' builtin is invoked without options, it displays + 47. When the 'set' builtin is invoked without options, it displays variable values without quotes, unless they contain shell metacharacters, even if the result contains nonprinting characters. - 49. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname + 48. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname constructed from '$PWD' and the directory name supplied as an argument does not refer to an existing directory, 'cd' will fail instead of falling back to PHYSICAL mode. - 50. When the 'cd' builtin cannot change a directory because the length + 49. When the 'cd' builtin cannot change a directory because the length of the pathname constructed from '$PWD' and the directory name supplied as an argument exceeds PATH_MAX when all symbolic links are expanded, 'cd' will fail instead of attempting to use only the supplied directory name. - 51. The 'pwd' builtin verifies that the value it prints is the same as + 50. The 'pwd' builtin verifies that the value it prints is the same as the current directory, even if it is not asked to check the file system with the '-P' option. - 52. When listing the history, the 'fc' builtin does not include an + 51. When listing the history, the 'fc' builtin does not include an indication of whether or not a history entry has been modified. - 53. The default editor used by 'fc' is 'ed'. + 52. The default editor used by 'fc' is 'ed'. - 54. The 'type' and 'command' builtins will not report a non-executable + 53. The 'type' and 'command' builtins will not report a non-executable file as having been found, though the shell will attempt to execute such a file if it is the only so-named file found in '$PATH'. - 55. The 'vi' editing mode will invoke the 'vi' editor directly when + 54. The 'vi' editing mode will invoke the 'vi' editor directly when the 'v' command is run, instead of checking '$VISUAL' and '$EDITOR'. - 56. When the 'xpg_echo' option is enabled, Bash does not attempt to + 55. When the 'xpg_echo' option is enabled, Bash does not attempt to interpret any arguments to 'echo' as options. Each argument is displayed, after escape characters are converted. - 57. The 'ulimit' builtin uses a block size of 512 bytes for the '-c' + 56. The 'ulimit' builtin uses a block size of 512 bytes for the '-c' and '-f' options. - 58. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not + 57. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not interrupt the 'wait' builtin and cause it to return immediately. The trap command is run once for each child that exits. - 59. The 'read' builtin may be interrupted by a signal for which a trap + 58. The 'read' builtin may be interrupted by a signal for which a trap has been set. If Bash receives a trapped signal while executing 'read', the trap handler executes and 'read' returns an exit status greater than 128. - 60. Bash removes an exited background process's status from the list + 59. Bash removes an exited background process's status from the list of such statuses after the 'wait' builtin is used to obtain it. There is other POSIX behavior that Bash does not implement by default @@ -7037,7 +7048,7 @@ File: bash.info, Node: Job Control Builtins, Next: Job Control Variables, Pre option is encountered. 'wait' - wait [-fn] [JOBSPEC or PID ...] + wait [-fn] [-p VARNAME] [JOBSPEC or PID ...] Wait until the child process specified by each process ID PID or job specification JOBSPEC exits and return the exit status of the @@ -7046,12 +7057,16 @@ File: bash.info, Node: Job Control Builtins, Next: Job Control Variables, Pre 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 '-n' option is supplied, 'wait' waits for a - single job to terminate and returns its exit status. Supplying the - '-f' option, when job control is enabled, forces 'wait' to wait for - each PID or JOBSPEC to terminate before returning its status, - intead of returning when it changes status. If neither JOBSPEC nor - PID specifies an active child process of the shell, the return - status is 127. + single job to terminate and returns its exit status. If the '-p' + option is supplied, the process or job identifier of the job for + which the exit status is returned is assigned to the variable + VARNAME named by the option argument. The variable will be unset + initially, before any assignment. This is useful only when the + '-n' option is supplied. Supplying the '-f' option, when job + control is enabled, forces 'wait' to wait for each PID or JOBSPEC + to terminate before returning its status, intead of returning when + it changes status. If neither JOBSPEC nor PID specifies an active + child process of the shell, the return status is 127. 'disown' disown [-ar] [-h] [JOBSPEC ... | PID ... ] @@ -9490,11 +9505,13 @@ the current position in the history list. '!?STRING[?]' Refer to the most recent command preceding the current position in the history list containing STRING. The trailing '?' may be - omitted if the STRING is followed immediately by a newline. + omitted if the STRING is followed immediately by a newline. If + STRING is missing, the string from the most recent search is used; + it is an error if there is no previous search string. '^STRING1^STRING2^' Quick Substitution. Repeat the last command, replacing STRING1 - with STRING2. Equivalent to '!!:s/STRING1/STRING2/'. + with STRING2. Equivalent to '!!:s^STRING1^STRING2^'. '!#' The entire command line typed so far. @@ -9541,7 +9558,8 @@ separated by single spaces. The last argument. '%' - The word matched by the most recent '?STRING?' search. + The first word matched by the most recent '?STRING?' search, if the + search string begins with a character that is part of a word. 'X-Y' A range of words; '-Y' abbreviates '0-Y'. @@ -9555,7 +9573,8 @@ separated by single spaces. Abbreviates 'X-$' 'X-' - Abbreviates 'X-$' like 'X*', but omits the last word. + Abbreviates 'X-$' like 'X*', but omits the last word. If 'x' is + missing, it defaults to 0. If a word designator is supplied without an event specification, the previous command is used as the event. @@ -9567,7 +9586,8 @@ File: bash.info, Node: Modifiers, Prev: Word Designators, Up: History Interac --------------- After the optional word designator, you can add a sequence of one or -more of the following modifiers, each preceded by a ':'. +more of the following modifiers, each preceded by a ':'. These modify, +or edit, the word or words selected from the history event. 'h' Remove a trailing pathname component, leaving only the head. @@ -9590,15 +9610,19 @@ more of the following modifiers, each preceded by a ':'. 'x' Quote the substituted words as with 'q', but break into words at - spaces, tabs, and newlines. + spaces, tabs, and newlines. The 'q' and 'x' modifiers are mutually + exclusive; the last one supplied is used. 's/OLD/NEW/' Substitute NEW for the first occurrence of OLD in the event line. - Any delimiter may be used in place of '/'. The delimiter may be - quoted in OLD and NEW with a single backslash. If '&' appears in - NEW, it is replaced by OLD. A single backslash will quote the '&'. - The final delimiter is optional if it is the last character on the - input line. + Any character may be used as the delimiter in place of '/'. The + delimiter may be quoted in OLD and NEW with a single backslash. If + '&' appears in NEW, it is replaced by OLD. A single backslash will + quote the '&'. If OLD is null, it is set to the last OLD + substituted, or, if no previous history substitutions took place, + the last STRING in a !?STRING'[?]' search. If NEW is is null, each + matching OLD is deleted. The final delimiter is optional if it is + the last character on the input line. '&' Repeat the previous substitution. @@ -9609,7 +9633,8 @@ more of the following modifiers, each preceded by a ':'. conjunction with 's', as in 'gs/OLD/NEW/', or with '&'. 'G' - Apply the following 's' modifier once to each word in the event. + Apply the following 's' or '&' modifier once to each word in the + event.  File: bash.info, Node: Installing Bash, Next: Reporting Bugs, Prev: Using History Interactively, Up: Top @@ -11019,7 +11044,7 @@ D.1 Index of Shell Builtin Commands * :: Bourne Shell Builtins. (line 11) * [: Bourne Shell Builtins. - (line 269) + (line 270) * alias: Bash Builtins. (line 11) * bg: Job Control Builtins. (line 7) @@ -11043,7 +11068,7 @@ D.1 Index of Shell Builtin Commands * dirs: Directory Stack Builtins. (line 7) * disown: Job Control Builtins. - (line 93) + (line 97) * echo: Bash Builtins. (line 246) * enable: Bash Builtins. (line 295) * eval: Bourne Shell Builtins. @@ -11061,7 +11086,7 @@ D.1 Index of Shell Builtin Commands * getopts: Bourne Shell Builtins. (line 143) * hash: Bourne Shell Builtins. - (line 186) + (line 187) * help: Bash Builtins. (line 324) * history: Bash History Builtins. (line 40) @@ -11079,34 +11104,34 @@ D.1 Index of Shell Builtin Commands * pushd: Directory Stack Builtins. (line 53) * pwd: Bourne Shell Builtins. - (line 206) + (line 207) * read: Bash Builtins. (line 460) * readarray: Bash Builtins. (line 554) * readonly: Bourne Shell Builtins. - (line 216) + (line 217) * return: Bourne Shell Builtins. - (line 235) + (line 236) * set: The Set Builtin. (line 11) * shift: Bourne Shell Builtins. - (line 256) + (line 257) * shopt: The Shopt Builtin. (line 9) * source: Bash Builtins. (line 563) * suspend: Job Control Builtins. - (line 105) + (line 109) * test: Bourne Shell Builtins. - (line 269) + (line 270) * times: Bourne Shell Builtins. - (line 348) + (line 349) * trap: Bourne Shell Builtins. - (line 354) + (line 355) * type: Bash Builtins. (line 568) * typeset: Bash Builtins. (line 600) * ulimit: Bash Builtins. (line 606) * umask: Bourne Shell Builtins. - (line 403) + (line 404) * unalias: Bash Builtins. (line 705) * unset: Bourne Shell Builtins. - (line 421) + (line 422) * wait: Job Control Builtins. (line 76) @@ -11743,134 +11768,139 @@ D.5 Concept Index  Tag Table: -Node: Top887 -Node: Introduction2797 -Node: What is Bash?3013 -Node: What is a shell?4127 -Node: Definitions6665 -Node: Basic Shell Features9616 -Node: Shell Syntax10835 -Node: Shell Operation11861 -Node: Quoting13154 -Node: Escape Character14454 -Node: Single Quotes14939 -Node: Double Quotes15287 -Node: ANSI-C Quoting16565 -Node: Locale Translation17824 -Node: Comments18720 -Node: Shell Commands19338 -Node: Simple Commands20210 -Node: Pipelines20841 -Node: Lists23773 -Node: Compound Commands25564 -Node: Looping Constructs26576 -Node: Conditional Constructs29071 -Node: Command Grouping40239 -Node: Coprocesses41718 -Node: GNU Parallel43621 -Node: Shell Functions47679 -Node: Shell Parameters54762 -Node: Positional Parameters59175 -Node: Special Parameters60075 -Node: Shell Expansions63829 -Node: Brace Expansion65952 -Node: Tilde Expansion68675 -Node: Shell Parameter Expansion71292 -Node: Command Substitution85725 -Node: Arithmetic Expansion87080 -Node: Process Substitution88012 -Node: Word Splitting89132 -Node: Filename Expansion91076 -Node: Pattern Matching93713 -Node: Quote Removal97699 -Node: Redirections97994 -Node: Executing Commands107552 -Node: Simple Command Expansion108222 -Node: Command Search and Execution110176 -Node: Command Execution Environment112552 -Node: Environment115536 -Node: Exit Status117195 -Node: Signals118865 -Node: Shell Scripts120832 -Node: Shell Builtin Commands123347 -Node: Bourne Shell Builtins125385 -Node: Bash Builtins146284 -Node: Modifying Shell Behavior175209 -Node: The Set Builtin175554 -Node: The Shopt Builtin185967 -Node: Special Builtins203945 -Node: Shell Variables204924 -Node: Bourne Shell Variables205361 -Node: Bash Variables207465 -Node: Bash Features238906 -Node: Invoking Bash239805 -Node: Bash Startup Files245818 -Node: Interactive Shells250921 -Node: What is an Interactive Shell?251331 -Node: Is this Shell Interactive?251980 -Node: Interactive Shell Behavior252795 -Node: Bash Conditional Expressions256282 -Node: Shell Arithmetic260859 -Node: Aliases263799 -Node: Arrays266419 -Node: The Directory Stack271784 -Node: Directory Stack Builtins272568 -Node: Controlling the Prompt275536 -Node: The Restricted Shell278457 -Node: Bash POSIX Mode280939 -Node: Job Control292066 -Node: Job Control Basics292526 -Node: Job Control Builtins297490 -Node: Job Control Variables302308 -Node: Command Line Editing303464 -Node: Introduction and Notation305135 -Node: Readline Interaction306758 -Node: Readline Bare Essentials307949 -Node: Readline Movement Commands309732 -Node: Readline Killing Commands310692 -Node: Readline Arguments312610 -Node: Searching313654 -Node: Readline Init File315840 -Node: Readline Init File Syntax317099 -Node: Conditional Init Constructs337538 -Node: Sample Init File341734 -Node: Bindable Readline Commands344851 -Node: Commands For Moving346055 -Node: Commands For History347914 -Node: Commands For Text352209 -Node: Commands For Killing355597 -Node: Numeric Arguments358412 -Node: Commands For Completion359551 -Node: Keyboard Macros363742 -Node: Miscellaneous Commands364429 -Node: Readline vi Mode370382 -Node: Programmable Completion371289 -Node: Programmable Completion Builtins379069 -Node: A Programmable Completion Example389764 -Node: Using History Interactively395011 -Node: Bash History Facilities395695 -Node: Bash History Builtins398700 -Node: History Interaction403231 -Node: Event Designators406851 -Node: Word Designators408070 -Node: Modifiers409707 -Node: Installing Bash411109 -Node: Basic Installation412246 -Node: Compilers and Options415504 -Node: Compiling For Multiple Architectures416245 -Node: Installation Names417938 -Node: Specifying the System Type418756 -Node: Sharing Defaults419472 -Node: Operation Controls420145 -Node: Optional Features421103 -Node: Reporting Bugs431621 -Node: Major Differences From The Bourne Shell432815 -Node: GNU Free Documentation License449667 -Node: Indexes474844 -Node: Builtin Index475298 -Node: Reserved Word Index482125 -Node: Variable Index484573 -Node: Function Index500397 -Node: Concept Index513836 +Node: Top897 +Node: Introduction2817 +Node: What is Bash?3033 +Node: What is a shell?4147 +Node: Definitions6685 +Node: Basic Shell Features9636 +Node: Shell Syntax10855 +Node: Shell Operation11881 +Node: Quoting13174 +Node: Escape Character14474 +Node: Single Quotes14959 +Node: Double Quotes15307 +Node: ANSI-C Quoting16585 +Node: Locale Translation17844 +Node: Comments18740 +Node: Shell Commands19358 +Node: Simple Commands20230 +Node: Pipelines20861 +Node: Lists23793 +Node: Compound Commands25584 +Node: Looping Constructs26596 +Node: Conditional Constructs29091 +Node: Command Grouping40662 +Node: Coprocesses42141 +Node: GNU Parallel44044 +Node: Shell Functions48345 +Node: Shell Parameters55428 +Node: Positional Parameters59841 +Node: Special Parameters60741 +Node: Shell Expansions64495 +Node: Brace Expansion66618 +Node: Tilde Expansion69341 +Node: Shell Parameter Expansion71958 +Node: Command Substitution86391 +Node: Arithmetic Expansion87746 +Node: Process Substitution88678 +Node: Word Splitting89798 +Node: Filename Expansion91742 +Node: Pattern Matching94291 +Node: Quote Removal98277 +Node: Redirections98572 +Node: Executing Commands108130 +Node: Simple Command Expansion108800 +Node: Command Search and Execution110754 +Node: Command Execution Environment113130 +Node: Environment116114 +Node: Exit Status117773 +Node: Signals119443 +Node: Shell Scripts121410 +Node: Shell Builtin Commands124422 +Node: Bourne Shell Builtins126460 +Node: Bash Builtins147376 +Node: Modifying Shell Behavior176301 +Node: The Set Builtin176646 +Node: The Shopt Builtin187059 +Node: Special Builtins204729 +Node: Shell Variables205708 +Node: Bourne Shell Variables206145 +Node: Bash Variables208249 +Node: Bash Features239661 +Node: Invoking Bash240560 +Node: Bash Startup Files246573 +Node: Interactive Shells251676 +Node: What is an Interactive Shell?252086 +Node: Is this Shell Interactive?252735 +Node: Interactive Shell Behavior253550 +Node: Bash Conditional Expressions257037 +Node: Shell Arithmetic261614 +Node: Aliases264554 +Node: Arrays267174 +Node: The Directory Stack272539 +Node: Directory Stack Builtins273323 +Node: Controlling the Prompt276291 +Node: The Restricted Shell279212 +Node: Bash POSIX Mode281694 +Node: Job Control292627 +Node: Job Control Basics293087 +Node: Job Control Builtins298051 +Node: Job Control Variables303197 +Node: Command Line Editing304353 +Node: Introduction and Notation306024 +Node: Readline Interaction307647 +Node: Readline Bare Essentials308838 +Node: Readline Movement Commands310621 +Node: Readline Killing Commands311581 +Node: Readline Arguments313499 +Node: Searching314543 +Node: Readline Init File316729 +Node: Readline Init File Syntax317988 +Node: Conditional Init Constructs338427 +Node: Sample Init File342623 +Node: Bindable Readline Commands345740 +Node: Commands For Moving346944 +Node: Commands For History348803 +Node: Commands For Text353098 +Node: Commands For Killing356486 +Node: Numeric Arguments359301 +Node: Commands For Completion360440 +Node: Keyboard Macros364631 +Node: Miscellaneous Commands365318 +Node: Readline vi Mode371271 +Node: Programmable Completion372178 +Node: Programmable Completion Builtins379958 +Node: A Programmable Completion Example390653 +Node: Using History Interactively395900 +Node: Bash History Facilities396584 +Node: Bash History Builtins399589 +Node: History Interaction404120 +Node: Event Designators407740 +Node: Word Designators409094 +Node: Modifiers410854 +Node: Installing Bash412665 +Node: Basic Installation413802 +Node: Compilers and Options417060 +Node: Compiling For Multiple Architectures417801 +Node: Installation Names419494 +Node: Specifying the System Type420312 +Node: Sharing Defaults421028 +Node: Operation Controls421701 +Node: Optional Features422659 +Node: Reporting Bugs433177 +Node: Major Differences From The Bourne Shell434371 +Node: GNU Free Documentation License451223 +Node: Indexes476400 +Node: Builtin Index476854 +Node: Reserved Word Index483681 +Node: Variable Index486129 +Node: Function Index501953 +Node: Concept Index515392  End Tag Table + + +Local Variables: +coding: utf-8 +End: diff --git a/doc/bash.pdf b/doc/bash.pdf index 5bc7f3f95882b3b99d3b84ae4390836a6bb46a50..d3f7449b82912c5d57c1db04b357e95179f3cb10 100644 GIT binary patch delta 280079 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�V=g`r!pM$fj) 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�n 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 Mhm@4oE^Utg1Mb7ooB#j- delta 278444 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
Q!jioai1TV z-Zwpp1f@=rK)0p-_~x%3%Nx#gdWNh38BgL%_`LTPhsF#sb0UZK1GncSa0Z4zu75?w1P^zdxCNqlqCbdYV5(6&S6t{p$ey~(UGt*-W zW+WqNc6O8E4S1EjW6tTjG-G2EAhkcdw)%4VT)y+2)BSytXC%q-pZ&SsU;N>VGPxZt z^5pj7`wOB!CicgApS*W-vCK0jlAAS*l=$UldtoM%q@+p7d2+MANZ)_Ey1e-oR)KMZ zWr9@_M%--Rmog(Tb3N$&ZojYF&5(Rjw+A!G z3qT2s7H0H=8@g@mOkyM_xfOlMsmw%?ELovPe_n@WNS2eF+GYBBuSV4;*RSvEc4)d5 z#|0HsStTpUlO>^A_>6y4l|I1Dol5>`#`;Yu$wVnDyYgH3m1YG_h_&iY_Vzl6lxMuC zi23k!dRO=L8ii`wvF|pAwHlK9+DWP|i2#{EX1~btoL8w6d6BG*I+NkB8pdWkjQX!# zpVWOb-odjwC}X_FP4SPhHhc-O4&Kx$a# z9uHCPlGP=MoD*K8hcOvc|4N^OW|A<}9g{`Iz(Q7cYP_V9fM_!9?w8wD0UHBfT~e3% zRRJI)CfRnoU1x+AB;%D;D{dvU`j1U}n>3?6{JJ~rHn<5`U-kEwJXQf4e{Md$AmFk3 z>p$+4Q?u6Z0W`lzaL&FS*LNs_YB%^p4@#OrfBdl@MsW1ECw?v}40fZ-A8{e0 zEUQ@M?2^9S24@G~BF@=CJZa?X#zYP4`W_CudXv=2s$PFL?CRkT9qI^P3|>;3!A zy(8c2)%S;{2Rj_WDd!>(39uyTb3}+j8$_s+`)+6~dN}N26ov^J>BabrvmQE0vhP5+ z@eVwtYgMvoZktgXS&M0~-b-0Bh`?tFDRS>%#O$s$X5azDtE!x)N9X?@Oe`$GNOWe6 zKYH;c=1Im$I1+^ofACD_fddd`i0}bCUP|XX7WOArfE@fhM*w+ZBMf(Hw~OKfB-ucO z_st5$T6HdS>zq$G@Q1?9f2HillF#xwB=5?5{O4COs0isld~x;3wKY3rGUBbC-dun2 zrAf;(szVE~N#*VN@)9iq$-iRYArLf>f$}nK>yS|x%W}^~e+&TkJtVeXZB-AcO(ieW z89yjUR`^ZQD;z#d=>|1?!;W})nVFb|6jzpT2#x7F^Ku>3>5FXu>EJLXNyMN60OVzT znlYIWRTS0;o+jtzB7MEy)sQqGz#!7V+3=(`h`pV1baDrTznh+tWsK!{IHiW_naF@s zRYA$m6FIfPe^SpDWi$g`=oiIc=r36TW~MY%TSqK-IZI_Q&COXfz%O`Kf;Ws!@CGoA zVD7k{wHa5da=qS?ff*uS^sJW(%K;%K%?eAJS!$qO*#zZQ0TRq*ZjX@eI`^@#YZS6{ zAGeJUj|wyw_#CA99{7*TL6OihPe-?qjxZDC{!q5dvn1Gz>1heh> zy#X}iJ(aL55P1fU@6|A#NkgQfF{yis^|?z!X>CMlwc?n_gm4Ex&Or`!UObd)mIh`S z7B8hY8*Xk81kiC>E&-Vdg~cC7uYH+8dF1K>K$21#t=)l}8k*HQRu4?mQA(s6kc-B| z5MBZ-e}YLF7OBi4TFTsBr&HqrYx)-D zfb2dtyN$CNC?&F*Po>5xE_FgNP-F!U9;#kPaZjZu;ea&U5QLwgwfL7gLnf8*MLF;@ zyHF?`U(9n3FiBdJ&!TZuR6)|p6Qo+R7RakuuE6igFQh|d&{}i8%5p4Sy|0328J=fK ze^V0@fs^=TjTkit2O&L`e~SD7G$FY+?J%l(gFD`<9%0ZS9;p0&2lJE0!mx9`Dm!sL zlm0Ppu&CT&vJ8wq>ISTpE}5-98bh@s2(Stp^cWBfN{@Ngt_-!9WbF{&aoPrrKq4gL$Jg_vsLz?{I|eVMEYCMWeu#QAe>5aPNK+`{ti?j(4ELyn+T^qJ1q3Xl!LJ{k z{g-(o$W8m^hlt0n)XovvLPui(rE$frfKVJs6DY?l2^c}4C@MS{FgrvW%3wv|nY5u= zmdjRER#vl`KajBf0YLw>?-1B7VaU;4DjZ{_i-1=x8R+RT!fA62* zSXoIX^pu%a;0wrWHPkLP?$$NZgcFrj==mQ0j|(qY9E`yGfo?nBJ9ftTNKvGlSs+55 z%qjD3`Utv~>>RqzsLCTiX|p4!m4)&?x5z%nP`xHCquAEuQG=E5&md`y@Ivp_>(W$=MjhuR>(aT^)3v`GER5- zv<0ad6Vjn}P$Smv?P0gWPDGxkpY5A*3^=@l&;h1&*ufUqA4*0|n_3+@UuMU%s~XGw ztjK$AW=n3+~VTUkjpiAuj3RPuq^)^Pmf z@0#U6?HRZ~GLylOA3b9|hf$yEvKMh{T?FzoX9Q&?b4H%QmnvNWAAcT26U1;DWSI1~ zuv1Q;VhX_Y84_#Vutx6YDu@yBpxaCb{`&XL0gPo##z7tLA;s z=-_jWGtV{Rq6wQfUO}a+j!bZ1-Yg$(SfhC2S+?MDJnQ0n9wm}QP>2Ew(WD?!a$iikP;kt@}sgwE(%qlj0TXW`FzrGSx(6uLjF~ z0KMZ^5rFRq9d@} z5rW86;mI&UK-B#vQGJiX>n@fuw*d<@a5K8QjHWfGA~~3t%eci>LwzwpA3DiwuT)gm zOqv|&LY?n^=)uSensLYyou_pU)=6AuxrjRXlgnSI5`P}R9u9?zcwTnS^GCBY<&YnO zfq&UJ|NU=BGP#X&WSLhxl+D#YEflAar*ZuP^M>!kp^{zJn1_1_oW&2E5l-jF=h8G4 z&r1wEGR`d4!D00!`P6KSq;sAW_$UQlA(;~kVZl`{EPg+s-SIp@WmrR3PcsdRobaqu zNo*TbzkgElc)Ujh2O~1wIwYSkFFtdqWm#k-@}mE%oFqRh=%dS|JJsHf^Kw=^6f}i2 zh6`Yxo4VyoU-e(ly3qNIO@U=;XhL64n$V%|9lE54`!l2ua&-0R2})3;uiBzFF1D*P zyYe}c{Bl&&vrv){mvJDS^txt;yf&I!>Lo+lihm-y_%^g62xkb{kLTLD*y60h&Hc>s z!mPD^&{e14lRwNg3jOg}S6Gzuz|&{$0;wh!)8-@v^qk3BWnRyV`jP_Ph@7NtbWu4) z@^<5H+TAt0PMOYe)MT4!p508lwjPD`B{*Wxx^M2s*aGe-CB(51BtA+6^}tMgEdcCi z-UfP_==_}rm&afMa{-T+J7EDOe-FS)RYk@76LBRJnf5MmjxWhmAOsuU{_Tu`kP@Gz zoK1At!J&RE(&4DTJlZFBlN&7fTJY$ZrGAfqZvom(P!320^b=T7+~>${sF&%WRLHxPe}Mt;G~ux3 z>WddQAANFt^Wy#F+O&9}43a)-uRi|D1_I!U^>XfyeRUHfb`ehd;n*T&s{-MW2X~MsROx3FhIPk7N_ZQzlu8lf( z2Vl=Sq-x-&`xUt94%BFFfAasO`fd@&j_aDZ*8#PD#{+V?$U@<;>kuV%{gBoBA_oAI zC5hwJ8g}B0`VzjB4|Xxjj2HP&HGYLz{E>$N5sZPUL#OJby^9|`g9vVa&IEA4;1Lg+ z;3WB$XFlx-pHmx( z!|V&m@L0qj9z+Pz`S)8($}sXGd>2B7g4$lYv2Y3IUKvLxU8(V?&b$f*o?1Sou;99t z;PK3KL`;e`4SVp8=qZK}23$YwMrFp<_T>V*x0C+j88-5q;-ZOv-i{RB_?CV~{7ssl;*0b`qPZJV>fCxC@eN zEdd(X)g>Pw*93$3&?_ zZD7Ua3jR@*43@k+D}MOP(}F!cCttN)J2V?y&uUY0;Z{<+=#Tx~UDK^b@@>=Y+@dG| zXRuni)kilB+t@cn#Y&~gLTLMFZ10<)*|sZkJ@j{Ed)ty_zv(-2^_nzWvT2)fOZu)Q z<9)Mi$+jnr7l7M;{V6St_S?MZSxOz%8)s_3*SKMS-hstqe9FsOnYkWe#l<%2 zfR3+B?R{TLdqb^w54*axfKpK2Mi6hI3hw!4MbpS|3tltHo4q8D$T-U)0 zeV^ws3vb$8!9?U{Xdz<<$f2gQ8S8!liF(Mb`8G9w*d_-0#dt29>_y+izjl2PpIh+- zh!({!uCJqLx|Erj!EB_zCciQgT-uROev zb{P79fvo3%0tibZK%}IMHp$Wgqd%rao0$iM5QZk-yL#cwWKo!OySpn0f=xS)HWKU> z06mbu!FI*J+o880h}idy#lFvH&{qi~-Us>=7bZxhd>Mm8fJj_-t9Fuz0`iwuLAzJ2 z^8v+|=DEGfH0J;xBG`Hun%ATQVaT|<8kfU=`W|Z)6sN}oO#kS@hD3zNtgHkTIhCam z@)SfGkcrnxDPfhmYtgC_6yxmwfW@X_^~2(Wh2lDY zv_Id6VKCq^7zSvlL+CP)na_Y&8SbH2D}E4(am94=42@loz%HCsd5}2h3P^p|yjtJw z?qaUsN39X7(lE+{4PN!MaZFug@m)-Km?At7x1;RiL?$YLCzC{553 z08mu{0Bc(3_y@Zg*bVUyH=d#&Vq=wmbgvv9KL~>ytX%DrlfyWuBJ(+pgE{_rdxJ%4 z9&3g3$qX1tM8V5PPl_J^Mz#ayrc2hES4orR{(iFtbK(Z@uW{^`>%B-~Xxa!DB7{*U zvj!p;vD-ek@Nhr$tKAah-+}kvcCe2FuF>&SW(<_9z*B)&yAVqPhoDiWtkU;?VV%q4 zS9Z;4)m>aQNVRvJw?cccVghUrEkRO#0UswXZ`aFPvV=G78|%)o@UUGdDo%(A9-wLJ zB*eIFhV6*`14F1@wKgS zqM>!N8~?J`S%hr<-RS~wKb%9$1HWJe%I0fN_zZ{o>c8`7s#@qH-&kQJl)~KY{{wj* zPvuEX(wo`V3j;MBcZejB8b?LG1MiLiv)kn@M&iB2Wdn>Z5;E^D}EiFUz~FfCC#vIt{~|knffuTxN>01>e@yC4I(Qm@(rfmIs9wDzy#DKWUJ>@K!+K|;Q;xdUahssc1reu=kbN&a=) zb~Ec}R%#kq;w*5mys2uoqa_M<01;rpvo$3r1)yz)(E&bJI2ursjD1p|tH5Kceh0FV zpLab}qzlqE0G%!j@Pl4-$6TlTtUP}YlNa*xyvEo8$M(ajbX$La6eK8c_Zim(v+2My zP7}%fYz(hG^8isnxuW7X1H^9>^9YDN+rx|sl8*|O$Qcu^rT%6;+UC`f_~({JDVz_4 zlzBZmYGq%TAchqsuoFkJXdqZICFZqFRe6@uc*y|z5+|EXO$ua4T413gy9?Fvm-fCaQ_*Kea`-JH%iL4X0viUqe` zw3$t`Ne_~}=|1}f)?`xi`>-%LKtW*YcAE|9!GXie_1Ic}Uce}Xo(y^&07I_JD!}JF zZ5QC&(#$aI01~P_5F{s%ZXQI6mpl?uM~U0lB%9B2?1d(r7~9@sU`V;h!H_~M*6#+0 zpUmCx?z4?akNqaJvA$W2D8fNMnvGcg-sHhaV-rUqgnT)*yOGoYDf=jocP&er#rtLY zq|D8RQRz&7hxu*4hrB(O=h4^aP>49Fy4kfj!k7;r6xcFjXb%n`BqTb`XfIAmknyDR*ATOy);_Rbhq)UOU*LxcKK%m*TW-sXAuc z1Flqn<>^R3)H<8tHP$e^#z+g6^jKd*<5RJO^;KYt2j_Eh`_eebo_oeXok`XFkY{vE zD(4#L`QPn0MP+A2)*lF_70!O6`jsDoJ?x=&)84fmw6$wD%86w|xsL$G0sF2ZC!JO; z9VzgCUfBZEvQoyle;23%7iI)ks@#Q##;~*wZHFJj;*peoXbdYN2{}H7ZOCj+$N=fX zob1EKgy0mf&0`z3-dCDD6<$g9WBa#DvTDDhvs55HSrM81e-ywFX+>wKbmk%zW_ z6e+a3Ri1_ZT{PEpzRMLYu7AZJNZt!JWb;-T=}ddw4sC~8#G@~dLvCWkfsRxMsS%%3 zqZ7Ci!FI}lj&iA&y&Fa_XlYmTfgH65dlMQ}=~8BACm&bHxs>*%#)pWRvphi9iNxQx zcYV$Xp|G3yI*UaVg7Pk>yh6vgWwk$lHO@v;%z*Dfxc2QUsQTNWs{wO}*dF@Uv!1n{ zYEs>%lriyvV(&c6!hz;{Hqv_EMzYi@F$=)SHll;=ecYtnkF}u`I2}6j(+=Xav6T{j zb?f;Z15i~aC7w-Lo2PC_g4ts5%p>HnlG2$hbS7@1YlnN-yxg2)<139Rnso<%JBCgM zep#C+p>LThc8m*S4%PA@44hP79t$uo@^_MZ938y!egIEk=%Wo-owLX9v=9xn{qEin)v0bb`xS;D}RnrN2&x3fN*u~ zWl7?3I`UfNsjO*#!6P*ek>Y&m(Cy0mj>~v_n%bG*kRvXn3_9TVXlI}f zWl-)3t|(PD98&3cx64nNy-WvAk33~eYRp3Lg!~eZao#HgP0b?wFy%etZ&s1{Gv&3*{|2~ZJh1~}nyz0S@;0O!d!MYPiNy*k;;?Qu|3z#G zCk%N%W>1l3Y>7z&{nU|}KEuW()|^8zl2wpLek?-8I|KcBsRRk0fF)SErjPR zV(^eP&DCARaJ-oKV8rMu&EJe4#heNrcgtr&`47d8MRZy3VSS7VKf=Nzxilmx9y;3n z2>kc6k41kMhW+U~%`WR#!CPFXtqo~58+eoZJi9!T+wTRQ zT8ni1_2{MRcwzZTag46pQ&6F%bRAh#rDt3T3H&jx1aZgJ{#^gmyt7U>MEn)#k=>cKQ#W&c)D;G9#8Rf5zE9;o}LizA)c=Nt<1!K(}M(1yVFJ!qAq#71`14+ z$)iNQA={x@Z!8xBj)_p12yq6I-j(4v{D>Jv^xHH}vZ1=F6y9A^6PTFuMU?XzmymuAfWU^Fw%j~>KGNO1ig%wLx@ z0>~cU_XDnf$|gv53DM2mPO<13FFnUYhSMzivj<2t6hW;HlIU8>?EdD568=hLjOGDR zkIBk2Sq~HbIuic5tP{eI|CcB1<{01txGvNhvXCYY7@rhhefLlDWi#Fq@b38n(hwuF zfX1~Ze_L*QBq4%YXQyU{3;f=nF30|ncKg0(FM}ZI7VLnMQFx(xIYwx9TxaJu8dbv-fAzJ}mqn%Wd)L)!Ai9cvW02;Z2QC zu5QlU$FxwaP(l<}+q1=|f1jLReGj9+dz6!k8x3z7PuP4)D^=9hfQ6%0d* zOD^%Pw~Ir4Jf{^YX=N7mw&|MV`9H4ynr%`DqKyutu3JA~=^q=yf0;JaKmOP~jRvB` zRK`Es9|xb(l9=@AOMJ?Rg!g+!4jaAb;zkuQ+?3MWi%|RoYs|iqN$g6 z#bMvB@malrwH%#6e~b05=uXGog*O=K|f>zjeQ(Zn=tAak~mGtRCE6T#WAw9>e>;ZAo& zeLU7b7eAgeT%Q2E9M|>rrYYLfb-O&S4;>ide%;;qL6f6}e<8+*8H_N(%Xy4Y!g(Jf z6VR}RlKG!M1cq(1y$1L1Z>;y6^#T@(U&Jd4nr_OCBp>xe^^EgtsE#1$NlQG1SH0Q`2N&( zMcpDQ;YW8naK8s6ge8E|F9*lCbf5wYGiIWJ5uF#_8`^s#dX*6^P1uri1v;(rLBx|g zj>%7&D4xR3!LbhoNkkl$5*9NQBu)Vpr4n(^A;vcQ-E9Lq-PRq1<^Cq%I~u<-B-E2x z+gAx5f3-!Yv4{~NjOz6crdW5a&yY6BZcYtmhGTQs)XPD7j5V1_19c|ZG~ypHX$JV} z2SOiTP&7gYvER9x=r#?DfK+v}KW( z2SN+H50N+ytuNDe3SSAag3BDmJx5Rn&s;Z~e~`YV1Cb;qLIEwr}!eeHb!8au$GPU~H3=rENPeD15<7^F>e;BM^^^##+ ze|t%MCIfKRo6XO~eh0rHI)6FFp!F4yDFBlSe!-x$Uxw9!<42nZup~3hZayWdX-5T9Nb1%79Bs4tmS3dcc-1c?n)sk)|(p`(@oW)^Gy>gGqoz)^D6* zY3~}y=KDjC70nJ+*6PCIYoeMXfA06E4pO!+j-_i8K<(7AaNOpFBjYWLqosy8G%gZh zTyG9{wXcIE#Gp>1N^94{xNf@jvRK}M#9e|NTdO#rEGVw#wJ2~kBc7#2CF8S=2a5aT zVYacTl$wQar&Oh)EPVUYr3J3}qn!th5Z4hQTJylN+DsaN@1E2m@cjUYe>WLz49F=x zr5!gAGSO(W3{y|)5ilrEQIbsgMNsxEzbHYYdK|X~?3bxE;L8a!pq4;UL@b52O}}-} zcN8!eRVh8=3ObwOz>NW8z3Y?n4XA#yGUNufshCN{<~Lp9aE&0le`QG@)Nqq)1p8G+|1N917de^F9Ifxwl>+aB1D zrR=|H_1N-24K|@mr>L|WI@*#HuWH9zKo97Q9&zQ0Uo@sob)lmvVa(V`Ui{?ggjN~* z#MUI>UOvcQE!FZaIr7J6rwcml*ltfh+| zn{2vFAb~f1C;5oPwYYNV1EeY;6PWxv0Vyr8$<3hUVk($9l-5xPG!|^^I7a>O-H`5s6f{*@f3l;>t{U%;XrrEqK=soo z9p=mfR`Gpx2tkOTXiwK>Qlv^{565%OrRHcI1H#27kZrGTm7TmGcpg?mkT4WYr%T#t zS+Mo#aB#DHG@*(V@XmzFi-DqmVM-l9{g8P|L7!lrxV^Nduyfy!k%ZGMq)T0eT{tV+ zCZ8|?kd=S#f6W*%nUg++hgKoye>Xq^EK!Kqh4iEJRQBb=xsZzH@J`({LN3( z7D(Ii$*>(;l7dR99HuVs)L$RACKOl;7r5D>#?8Or<#D``^l zvIn9GD?wCbaG0|aNEXvKl5dWHSQ(nj=)4;@XD=Mlf1iqi;ri{sDa(x-U-o2F8QZ*u+c+;{Vs)Ajr=>|9@?Rk4HoCFqAb(Xjvg68Gr;^mBH4t zhx?VmGb;V);Xd#qcMce0r#pgKERH33B%RLVc~jD)TK0X<@lbX~&!yv{w~KgX2SXtD ze?S9>h1qLAf0!+Jb8t#LaYlnD-A@-gm%I`r>nlNa7yeicFq5XQulJ{+($SE!__Jb~ zN*)iJY2{@csFr4Pb5X3CL$h1i!>L`^D?+rKKL~;9T5>(c3zYSUm&(nwoB#O9_fYsRk{ggbPrZAw>`B%8PDc?}+~QS%Hjjpw_;*6&Yy zOv;dp>cTPU@zkVHWzCCBgdFAUb-(0=^>hr-mVA&!I zOnd8v`75FK@6O5Sypff7OC~z!lR4*5*CvgDgDF|fBo{BPFt%;;6au|%f7iFWZL`C@ zf|{{^+mAQ_v%Qp9`B%+ygN6r9Z#Y{tDhDDGTT$>Z#veU?V1Js;x2Kb zZ-RKq`)8 z%hlpVfGH1hoI45jX&3fVe;%;1NzZ}gZh`Ijt0DicZwE}n-bRDy0{2ZEld}o}Rz6|_ zFnu*>74)beB~AsufMw-1S!Veu83_v<8Y%Eo?Aq##qfVVzmU806a`p;4-lL$qH!})lZe(v_Y6>wkmvIjQ6PNLV0V;pv#ueS` zE3inF!IaeQZU7A+nR3-QHI9|?D>fZ3G+96-G(tiG8~_}R{=ut!an9`*8Xzegm-Vb9l9>=C@?G|abNDkoAPKVvaPeU|5)=_sH563a;9-=DR*bBxk>g&U<+SGc9`*mCGYqq*ks${v4@%pju z>!`wi%UwjLNTs{yE>(7Z`KKs|=`s7z!pA@VpxVv7TaFZio1ebwo zpI5`9mjx@>1qz0?xO}J&#l7a;6HGxp#42H9HcptyeN-Ws#-v6Mj(-(YD^zW4%S_XD|a7 zDt@!SueaNJON)O=36a77&VElfHu7PzY*I^A8bU%T%JLEl5DY6-c%NwFZmQPUNCV!MQcEY@`(tBmCQX8I%5i71D#$M} znd>gzQOMt~Bqy&utV)WcB#WzItoxN^K6rnQkgXGuC? zl3=+s74mpUN!D9z2#*D6S8vuhA2A zU+1&sekDp{a&VAp_9-%XXtwnUKH>)CiHSRfdIwrD)natX6f382rVAQvK3Pw z%z_3P-go5}SUq+ch$UyGDm^U8L>NtLA`flY_UL4BL3(Vrpiv@+c1aq)>qrNrKA>O6 z?}wGNTM&R1DQylBsq)cxy&$7EMrpx03c{o_V8ke`6X9APZ!8$FX_KF2Se`ECClPkj z$M0BVBME#I4YKrIRchNmlW%{~-0ftO)4a+<^Pq9RKYrkCSgka5)JoQ2n%}XkE+cE z)kBxN&cNDnR})XA`yq*$mH^%I!n9cEk`i~~({YMu#kh}j9gvRqm8O3PFqOKGUw?nQ z{_^WL>)Ss?Z~jK>ayV`3a$bM+qcv`kWwuP}OWWVUfX1iqUNat+A|NGO43IbVh zImz0z=tU}YA;VC;Bm95cHfSs<3LZSEKxfFmem7RDru_bi^E;~ z9e}BTS&)(42Di<}dv^cne2?}~>+j70s>DrkHpg5Z_aT;qv*DRxAJK^lje$Pq6FU;& z+WHxGPL1Wz1oqF|_Pe;%6PDi1S`51M^+VnFwVo0h@>oUaOznSgFe4T(iue}GLAhP~ zYr79hL<_e{LiTJL$UQ9mEWpOSgs)B-ixL!O>Y6Brmj@(_D|x9mR&=`GeliZ6-~QQe zb9+Xfd7-fkTfdYgKFU#;GT~Z3>&}HdX~xP#o`_RSNs|`bNrPnUk05-*bGv!$yS6(H zrj{qjO+7M0E2K1}A0k~(=_$+{%R!&+^P5GOI3`~WVPqKUC|HroU?%1Y-ue+j*|i$9 zt6?xzPg7Z4@ykq?Ka2qveZt1TnMl3S8n33CjLvM#}pTaI;KMH|_)CVGMCxm45bdYDb{-|1Y(Zsf2KPcOg&Df9>at7RH$g(K2NL zHdh)LXgnUAm~cZ4Z7>dx-Ep@y&{%0$?Cxm_Hh*4OPWFl%{rZXZ6JES%{qMrzP@<;U z5I1zGKP?%g^l&^Jx}I1Lejc8|cl6T&nl*f4s2atC$``Xy+N7U-&}BCVfcS~8P=az_ zZsRX*zxZ}Ag=T?te^Lc)+Z}vHO)r(-B<_QOi=YV;mlwlE0OqEV{ij<)f=ijlA3lB9 zE_n#h#-0Qk``B#>5}*wwPIstViU2d6KsicT7F2T@l&EPeTFs~n&dtOxw&Tr?8jx!T z*e5=jcIO7zHX-ngHe z%$sg!-fLtNR=W1WRkI7@lAnS(X*#`~_S@(OH@{gXZk|o^6Oksq12C^k!v+F`(;D*U zWGFM{$Ps#pA5n@_8Z|FqOl3~v z+l9GG0QK}Dcg|d?a@i)A=ZLJ?SKU>Jck*MKQ2?z-gxeR7OMWRebk@2^+dEt_!h%0zS7gki5 z`u(wPe}Q@wI?Go+XyZfPinMsPf>WlFclu&eBw6V|Rx4u|3B4Z8OHQUI5@$)Q%>6** zn7E8yPZ!|y@75d^+RbIynm&p{^&tn zZ>B}WLoz=zOHw->{Lr9qL{ll8Qh>(a&AYbie~I&Gh%=3-1P!;NWgvy`7oTS+lP5l; ztv^qYAXW5sC0+>atSo%F4l;?5^0KWE`DCi0?mw7$eGX~-5V5w&OOv2{suwb`2J0N$ zAo+<@ar(B3l`(-SE(Z)r8U3>jB{Dh$5cxiu(N7hAgp*3sp`A_UYX@0+WCDu8W+DnDreW#p0HjlN z%Km#>FMxCzjE-Lt^He(f+6^Pg#cOx0fgBF3c0(7wQ!MD7sWYfuxvTnShTwQERZo6q zf>1CexbQFZHp@&3pHH=v7*UzOP@t&Hl8|V%$KCFlCcXp?ip+$G!HiBfrxGt(dmO6Vp5 z8UQV8zM+35|JZw@Lz*FBdoefK%W(!ZN{B z2~XUt;eTXC;E{)m^p~GLrsU%y`LS;6zS`pRM3ot3=E+*XVEZTxOz3u2`YpkjawbTW-@gU-sK()r?7d*lv@mU%=6MPGov_*wyVg zBp=ho?>B#cfv=Q|nah*h-9D$8B+9<-Pk-`qL<$laCEQ8W_4<)hN70OP?vDEIJA961 z6s3%hlNqH2k@m5Viz-~5WVxXBgT7AsdaRnZUMHZ#WM2&f{O8yuE2q_JNb22wd`yP1 zZ`!*d!;|3fOj0WaDv4=R{MvpxbR!(l?5?ynnG}B+D?y!vnkR`=MxCdWNtILPC5SZ~ zwj;bS+4S8m8Sm?)UVxHv!i)6FzG{c2Ym;sRBKOs<9_xO9hpI8Tue2G!1&DD01vkA=Q?TiMY00_0%|ETRVd>0|2gOj6i!QjfW1IkZ4WhwS!oUKI_q`jl?AAnI8%PE z{ZW4k?4(L=KEOAZ`lxl5yxllqN-Z;m0}6XUwU1>X{@}`}m{X1c;Wf;NIn`<@BMSIl<-8A_uWBd$mo0y;L=K9k>2LRS3y)flbMoNnl$IGMBm#+B zCttPS*Hy2*8XRXt2da{Xh00VZn1Hy08{c<>bGBTS-r0=c?rbl(GQNMC!gbrOy+T1Q zwZD25Nq7iUYDLg$0gst@DG@~$0O_31u#DSC1E0A8Z`aWe$e{{%TPF{QW2AVn&v1WP zP>(Ka{NoQlQ|?fu$V%ek`ATG@kou56*54)HnP(lc!2KDK?x=_B6#o|^X1@0`QxJ`fGgP$3QX*L*8Hdcg+;Apiv^q_b6G)NBi-q-!6 z>v#1!^H!h1`V}SNUFlz^a1H6hN;lrO5Z1{X?~@b7q8H;$0v1RcR4=V=;R#jBa;n?Q z+}9d4F6>!#T@sllKPhyd&W;<#{{E|_6ls8kJ5HlgJ@au@@%NGJJS zd}9{HPLBx#A=_S@+PiU*5k;Lo_tglpwuZP6d~d8)xH4hR17hW(*#oA)_4<0htycBg z5RH<9Ydc-R)y#Et@`DUgZTI)pvL2gNwcSE0>3Yl=+h))i;9uJs!)kv>cGbAL$CyPm zSvi5%4YgN?@^P!Q)qvQ!d;K+5i^@xn=6H;`tx%Q#mOyF0e3rsTP5UlfQD)KCtSmD( z0dEefT-IC7JPdhJE=iQkaFmCS3r{UnY{9m({zZd#39B-%1Fse2IGgU!u8muvZif3B z@YV$U%*$zBX3FOW#O1qfx18O70!V{!q|9c{F@e_s$5^|xg=m&@>0EMKZ$d0TDun#}22BdF&4=@d$G*ow*W$uBrCO=BbS=92J}TwpP=G7igN@ z9mYBElCsFCB+mmcmTX#ol^~WTwI1-I^kA|I1xs?GBI?a-6<`^)13nP&fYl%-S@@fw z9+nqV?pe>}Gy^;LF6Nah1w%@wz`y_9-cy*0351BU-wS_Fp842#F;#VmN!t4burh7b z(UW>DElA$%K)+2j)`0t)ZflArT1YTwzz74QQ27Tbp!g;>hamlbOolD6m1K8-l(DoX z1l?$J5e5mzrG48b*ghJ_XPW5&Y!?C9FAs56D+9grH0&vWEy2gaSJvHlI<9>+q45=> z6f38aq&IN7gZ8tw!gqW#OJPP2zFHYxbn2~FoS5c|wTgLle&V&+7#TZZt>9Dh!-R&5!Ylo8IPw8-D8bojA1KOGPB4WzqS?BObdv}0 zoAe0k(zc1k;stfz+RQu!=mequ%yXWih&upPLwzx8T&BPd8e!>MsBXY9dyO!rv^?uQ zpzBO{3h*r)NJRJWNMrMb!SDjI1eXz6wk^c5uPe+o!@gdBHAw#OabZ3NVW4&nsGj{6 zQ!ybz+o&K0$q^tuL8?3|8VEE95yU&;Ulh(QJ!qZtuiGOBBgk$A367O49~0Z?V%QZD zQD!b&X4djFZOmpb6YT&{-WH_@*AtfAKn7}@q5VBq9b{`QLMZ_D$02D(aDz4$5yf#j z_6a1Y0*Zovb$w;zb?**Lf*NsGeY3=)EU86)qy0ib0q4u6hX^}G#zW7fT^p8tf~C`3 z7sg-9(<$)Rr+In-QRgL^@pNU`0+27~vDws}C4QR(mSCE2=`VGyEw!#u6NY?s^N>~) zX{mela1R+`RzVlwxbE{vl_ctNp4BCp>2j_@_xUe>KfSrWPG0GwffvD%_Jd#FUh9M? zG7@UFo445j&KRwp9PG6_wxOJ|8j&$l=HZKmm&qJW|~QkIj@2eE7Q4%IptBG z=_b;Dpf)prJ@J_`{qg$4tG7SC|M2sh>6;1;?2< zM5s8}$wFUaCwFBDTkR_FWLAP#u9HJO0|yZGi9YHgfJutk_+#2d$lgx)R;Zsh)7uOD zj6}D$9d@i}RdCspI^pnTpD+kOP~oV*E|7G8?4L{ZG#A-W)(kXOy9E<|owzFVV zAdt@@XRQPh1{)8Uu}^NTtuF60{M)8 z6F{}bq;~>tiRRZ-dSFuS`Qy1l50A8ZHA6bk3UV}#Lm2UO)Se(+_=eOhZh1bz?Fsgg z)wHPiCd^)hS_s31(2-_rQMY7F3vC(L+6N5rGeX%mNZVF&E=1-P9`t0Xs-5A&cbEAg!>2E8QxwP1t#U zWm!&(=Sp8r!eqK|1x=g}K{+5a{;wvwzR|g~%?%Lsu4!A8!8DN1_cV|<(Qns()KHU( z?V$k~HG;XQ(9>ao-3G^xsG0qP-fp_&F4!Ex&F49<1~9(1Nw>9Kb0AEdgv_?A?{$d4 zw+ruai0pPm_qhQc1}LtBWzr*dsss1^O4Y%k5WD|h)nSP|n;=XlDVMvT69(j$`)pDD z(~pv#C}okXGx-c`-KN?1FBS!V1DQ-R@%W^G-n*?1RHW%Yeoc~Bm~(xT`Zy@{Lj{c* zxbr$g&yS=ZAWhhw2W9k(r^AW)1_SEH_)*BT>t@iM%@e?>;O%~+!5WM^jx$%#7t)!Of!=zVwr}(k6qbntoixSwhG% z(zaP6@g=;Ws&;*%iTcEs7DnL#(`q=|1{iDw7gzZhbf(V_zRaZ0WXit(;WCLL7-vE< zF1*d^f!^8*xrAnt8b57+#-ZMBa92Vb9Z0%T!J{ZO9`*j$>$q(L;?FZaClS=CFdBQ@j!R;2g0y_tP5@ebPJO?E6?Y+k; zb|Ds;O5FA}fRv4P-l*5^$ZT~Z>LP8M5%>JIkBb5uUR0)b&ZnLE`rQ?9Vr$ypR{vmFB#1dxWCy>mk{yMR_o z-ED%}ArCC=afo4mLKc#SV+u>WdcC{Rw5#o5?S|HxgoRBh@SOq*gWv4v|ES86Iiy5q zNrXKdpv*2HK|=q`Y&7WSS_W#10)ja}ZFStkkWoIIs|s*h`mTbM!gr!|=fDMGJcgR= z0@^mEWg%a%0DRCFX8K%BiokLGGD|mc+(@kTKdM#Tjx*7J8FpEHKK|ae)#R+X;|?DV z@!_QKhYxl|A{oF$Tc63S{`9CMY%%1*hI(LvnzsV&GAnlfSN9zbxpq*yK{@vLeC%Qs z=AIFxfwImGUNg8SSs)s$yAx2D$7mZKJD-2*`&T*Lp`cSkPNy z1RF+fxSl@lE#EW?fkj+L+D(bN#bs5qjpUQUbS;U69zY-5vedhOz7cz82~^3aj$GHV z9m}Y+__FU8xYtoaa<2!!JnGMwpsNZp{CO%XlqWn7Lnyl`nYNEfMB8MvYMGmANawK$ zZ`pG8zpjDX{}1m-K+A^|Y0guAeLXxvo!{|CRisI0niDx=J{6-G%Fk* z@j+D@%5f@P>#3wen%M#&xSI$QoF;7HMa3QyegWe@=8Xp)eH*7Ovu{%@m3=PwpA+wP zdsui&=GJUl4>kp5cEV1W@0i5(2g5eLnt7L946}eUGr$$4G~;EoMP4fIYeZb~({&(! z(BV100Ga4+6>bNYyuQW-W$7Ct{ymXLCCYov`W#2fe($ zo~4O08kL~HVm8gOImk|PFx)q0H^BCPOmq%W08hgIf+thv6zoYw`J}`K2%WttUE)s! zv~I@U{-%NDB?3m+P%3P*aor&C1oDpyWc?n0Uf`yI&Yody-&yYxYoY!qnlOAz4*<8- zAM05H#Sw(BHc^PuZ*zS*I9xNU!*)_N0gxbkgDs^{MrNS8y3oC@HeAf&f*10#AZ{OoSdmr5wC2Y@*qw__ju+v zl=>;)*v$=q)k0v9ug#qcG262?SN59`mjIIm&?!}<)}&ei08b)hZ1cjSt1yKvcfU;s zd!NF}$^QuJk9oDjgmC3)x~m?oZ7`f8 z(KN-ZX*ztTw0ihWjGVBK&A{+z^E|Ht>gCaMNIMmi2D*w zV7c}R?mIKIz?0tGT>K6G`8QC7i29d}r2!oQHn*##0e}r9&`1u}6gfV%N?#RyLueUz z>bE;0lb3!%qP)7f`Wk=!4T{|mj+a}r0UZJ|HxY}WkVb+$Y+$9rClA{jyP1)MlO&GG!~Q0C{pIT6pYRq~ z$091CRKb6Wha7%MD1#-Zo8TXRdLOX&EAox5bd#01o~4TN$gT{{qOa=xKCAMU{57kN zc2VyDXRun>)fWwVGiGNTCR9jr7fJKz+q%=F+hra6qePeK~Akh_0JjUHTsy(~@LgOAz%Q0iM_ePa)5 z3^2tgOUNCQRGEcki+{g=%R(3Nlrov7-oPvS)TaZY;vT>`%A)NEpKXsqs)h)?`ptAd zi)k2z%spksC6gG~G5BO-)RJ}G?MT~!?^%|FO?ut?`LdxODnE6pi7g2$8V^m)rmC;_n)eDnh z+(}ZJ4$gpUp)hdwL9MIulR3jYun@&%1es7YjK$JUM8oiU5Z7a9f*0<=yFhQUW2>h= z*hHRIurv%)6=W^RkB73@WS!2*wyF1%^{am$9{vnqP9w@9I4tk0`d#2ov)0?X(Ps~O zT0w|XE{zpmkzl2(&1=W_2_=or1o_gL=`3{y8>4Ilud{ZycmV*+y#V3_Ai-?yz~xc{ zLFfrD#Ed3fc^rKhsz0UhXXP0KI1h7KWqW+ZL2rtzgsh)-y26OK{GlnNG_Wdsk$iv3 z#?S|@8+oRTXAo4#UQUW?!e+MwQ>NQZQ>^V%4E?q)%i7X!L}kxtr=ohatjQRpBJnAV zXq+U*N|&umP05?B@f9!#u6R#UzXqB000iH`>qz^l?eret4aY1tyLkZu6NuEGa=lCg zm{!TigtBM?j&6=sg$52yy@E;wcV&O@p@5^}2?570z8G+b0=}A@in1gQSb=#X zHAgF~XifzzEjqhR?~i5H*{u-9PB)cJUIAo?M_%h)w&GYPNd%5S*$iP{>(YW45F>3T zO9c%RA9vbkcY;!p;+h_&?}GbW+q3c{_;A0?@8^{faT*S|-{#Y3Ml@yEL)?E^1DnRt zc5E^slNYuF3Gn{qCI=b$u!2fSm576^EOHZ=6%)auZj5V=(WRJB(9?v1WZyP{#cj+E zUER!F6Ug}e%B!xSX9G(uil3#x>k0Ewm`Ank@}hEa?E@$Kn0;MLyabEatqohx7y{;d zxh3{XECG?f+!FuUmb%ShiAjG+#i&=;o~s8E08uq`;rqE*pot1YuUrmwGoyOQCrxqt z6;w-+gweu*9z3u>Cft)uoF+ZV7=R1c`w-x`8~GcwBY9(3K!f(l^G3JGwN*YpJ%h$C zdd<3Y-x!yJZ8_Mkd^v&rIK`SGxSv$V{Tg*^18vA=m2m}~$k*+i;qZS*Kv)NuTXFrN z*l2?O-_CLn3#x`BogreVIAsHa_XyrFdXVCM_zvT>Tjg2H~+$} zu0$jP4Px2_XQ;(6rcrbWO~?EUno_FduZSk-I1zgeO+v}*XgZ%z4<<6V zlE-KQG(U$X$hLid8F#Y*rYpnJHAjJTRg(kgkxLsXv{Wv8?8u6 z+FgAtQ7Kp%XJo}DYqSw?P8`BvV{_aHPzr+6i^KhJQ~|oS=p*2q9nXu>=(Lw-QGsArC$tvZ}SOS?~#t6jbElaRT8H zB@{%E4Dz{?5mkSp=MI3x+6dhWZ$f}0$Y<_i8gtN;@w8g-=-|QAHIbtPD70SWRA=wR z!d%N^@9=F6oDv3&ji?2IqH=i4_@-q;_&#`=X_)sbQp|adq2f|wR|X#vnhZW5yHs^& z1^1Ja3wKiHJ4-vk9DtTe`kMg7vsD8yP0!9($PTUGw*z} z{b4=>nQZ#~Twu~<0RoV<`2ykzv@F!D&*A(#bFIAsbe4!YSs>2cb@;P@jzCGEbmG4D zSz>2yW9ZKg42!s8FGRkK;!D6kHAUxvA5#_%Z2~SM(aXUvDUbOa{P=?B;IE)%t9c0| ziBM-sz(s#|Q3LFJ4J4p8*rg&+JPO5?B9Krgu~I!9E1Qxx+div#t?fROLYxr|x0sJM zrZEP8rsJ@qcX%}gtG0dRUx4@c7xPBf=HVjxaah>FjoHp^AcH^YrY3FileQFYq5PK@ zRjG?0mg#SQ^(uY!c~#oWI1$Z?6h}2;9R6{8x8r{bIA<{*yD|u5EGLsbjskEFN`IBV z9R@Wx*@*jzZI$~jK6*P(sECFebyaW5dTlfg10GrH`JD}fRpjds4`lIFAG}6cT7WnR z-YdpdcW!RQXY+jEG!}d0t&gKa_)HWfWS{InjjS~YCtcwvD8HS@(vrVol*@qz;QnP{ zYes)5TYEyzQAr_eU&e7p?u8+gln;Ou>UoY!gh(%QTtC8_kX?lHE_-bK@%%8)lwfPd z-bUItR&A(I1dqouYw$pHbtfchVKxTcoi)rAaOH6K0ks~cZj$#LC=-cOF`unh|F)=1 z!*qHOXh&n3OhZ`0rZkz-xNiZ$%ZmbUZT){0Xfghlq3XXhWM^?7aT+J;vv4nz@+rBB z_ZX7YhvpjIg;ZDIj_I)AvbZ0AS%?z++{9<{&hhw#vM?aA_Z%SL>GYUEKBMXI*r~o5 z;;LfBV;qu4!FJm0R65psSW8$%aGm%xD+mc|M>D*a6$CKekkLy8Vd}wuF5_Z8%#43H zfOc|0J4{E~gHxa^%%#t%Duta)1@>dWSy82cqDOO0AcmM-QC4OM4*4)-!8oG{>t&OS zxn(N2wBoMMyKX?!WvRG!-QdUvoL`RrjN4(+s+DMUQ2Oq=dL>H40 z4Sgj$&6O_O+d^}t&=vuPGcp;^`F?-4=8|xv{*y#CCl{8+tZx9Z>wss)7a(17&jfai z17Zp~Xgt$WXT%s2W98%|mX%7EB+@A6|5Jf9S4aSlcmc0-5(&RR7>NYzD((7jzWtuy zw=e>aR(Bu>pcjgO1E|S&o36$=Q52f@#J#xY3LW_4!_D8}=f8bycSU7xWOEyIa%Ev{ z3T19&Z(?c+F*PwDFd%PYY6>znH8q#vy#ZbUahE{80oi|V`tI0w41W!uecR~qc__TP zS-fBUWt0*Tuw@|BKDdZ7wU^bdY}vZ5+OFx>m~6kVDXKK$Nfzg3*BG6v(T^>=ue%-V zc9OMr&05EC=l#5wY$MxsQy#mzVU$M-ZZcRl4IZ6)WvTLL7q)@YvbP>hCoo-CvwO)J zN(-_fH}ro2O;6K2?&?;usyIl7EzzfP5kyE`9C<$-i>fW_iq%__6HITC66f4*^wxVs z(ohY4kR;w_o<5)Fu{%Pp!WEg%;~3Eg@3v5{M(Om6rB zYxx=g_}5Bcx+~W}z!Q@n`cef3TnmG1pP;GN`&hX3avo$rr+KiKRfn29IgC)yG{ctW zM-hMX^pfNV0dTkq6tiV4>)7;X=d$kws&2E8M?szsA%Sg!SYiC1J6W;5rMgqdm0*Vr zmE_@ieyoCuKe`Azf@gl{_$1JDd+QyFCsx%RK{e*SFEmsYt_xQ6hkFUKusr5=8h|J9 z-|XlY3M`;6 zeE4UF_Ang4-aQ>9;4tCT(%@esr`^f@p1=hX+u#{h?Y5~8>fySFkmJbPx^LE!^(de{ zbYovul6a&m%8Ig8SNo^gc`Lha{mMq}%R|}eO%I`mIiNOZR$^L&JMXas?NoojdsBd5 zvB3SlsQ%T06I3C~O2Lx4ia3df*R{O9#CB@!XeiEBZ>&FR0s&%=b%`x02dR}9R_vOC)@Ums=01ScD0+fVns1L=P7J=Zbha&Kas6a8)Yy zL(Psw1Bt>LN(MeI1e&GX7hchn#rQjHb(d{r*xyDNr zn8?XbB)0a6`=~&Nc~B5AC_AN*iu2H9$APd6ZwG2ymB&2G@)3h%dOC9RvZ0~@MCxjm z>I5P9;U{z{))TFtS65>jGd&E|fG)s>xGjuA1+npz2{z!+ZbGb{*vLtxq<)T2>^6#q zN`4kS9Y!WDas(mIteJnMlzixGbjGUbnRgjznp{Rc!Fs6(M)MKzG_vjY3Ycnk{C%h= z0v-4e2}^cHpk3l-B3+N0wIp#FogZMv#gOk`=cXq_4?i?UcXv0He54e-m{w{;rqG^@Z!=duRCS{gcXCC6 zCNCNM%H7?Zv_*e5F#4fyJM#BRevvp`_mfSvbFUVqJW8LLU0~b8?ANnbEpYxYvR$X* zbv^dIQ8+;AWT(`#nP>l=!F!@xT8qOF(M4mKNVH6NueS#Nr!6ludA=z4Z7}IKH%b&k z9{4ko#V|`R*PYu@20rvNCmD&646;B90&q#{N}{+Qoq&IWD(qs34ril%q4qx-F=MQ2 z*MXipa1FXQc*GfoBS2%=%7iIrX9H!)c5nuE7~0n=#0I`xyIsBd;f0I_?u6W;p(A1 zTbxU}ou+?^vPpgUaoiw`+BWhPm2-E@?OAh$@qWhXfhOW`L=9jcgL} zbb7tII+0uSZdr8Ebfg2B)4?9+tPcpucFiW_AvfObp+;?^)!E3|y_sg-6JKX|e&p-O zT=?;?@OAd;NShtneh#?1GnYS&m`My`4`Imk-Hv}-iB@^mL_i!uOKQ(``M?z#2by!w z+252z;|$VtSTQx?=lmt@H%|wpQ$ai~a{6*0jL|A#<7los)mvNjch-_GmI?LYd7zpU z3#rR*Jce(! z%n_aH)$h_j{x@HIkUPo8lmfJg)EPqKLpCNS(wz6S$8Yt`LkdNRES;Pf)SM?G$>Wot zoI!OspDCD0l}Lj5ES>{~mVH5~WcqX2q|xU_%I z$b(TzG$n6p#d8Xh+b85?b|yehpfndUU*x2vnazoF*6EfZe(v_Y6>wnFd#4>Z(^5|$N@@!;JwCyFUVSpJlKnXn&DW?a!8rvSk^!I zDgUwmm{WZvIU30?xnQxdJtVuUt4^IdRpf^#O<0uDfA-JK{_N|Y^XUC}mPYT-KAbUq zF|vPb_R+UjXP0S`$>?f>I}5sUwL3Epvnc0LE<|*-Ka0P8c7F9wtb+SkmdLCuaL3hu z7XQc-hFk8=;x~VJ7qfTg(NA?(4^>O|v$9BdX6{V&P2ctVebsHp=w;O%%uU_^&TzLh zcc0wQZKIzQX`VS4g8ezQ3YW1vh-F)RZo+T>vmewDu`5Cez zbvw0(YO2R*>g|T9eLho(U@5nE{Z3bTqC~meMJBnue7w&0p71TRim5A6IKKk))Xm{R~J_SRjQRE)`2u zsZVb$OcNn8?E`zZXl(XPTMg}hJ>U~<54UZz0hprxFp*o9PB9?o42V(Ubi_&}d{9>?7Tc=;5&5D}QIPtpunlc_n&SaY9d8J6&1!lUehK&qlagho)+yO*PgRQL{S^eUaqF$xU#ka^@5d-G1Lp6QLG( zU74-2u;3F|g3rq=V5uH|O-Vv5z<>ear9(Jjtv*LCrm14_r(0}JDcpBR-XYregU2{_ zwFh+(V=_$&Us!C&1g(4`WRnjWJS0@845czP@_~FMgZys>-4%>-mcG(p(l zV{OoovYalWdIBhp?8kru6y_plJ{=_8ZgBAVu{_Qx;~jkFrwL(zd~>)1o*!LJQL*u> zbqmYqIOdr@!`t|OqCdxRVLp$CNrS*}5l$q;>_Ej4upg5OYeHsHCQ_U%gD}z&)}s0u z_Rk86iO+-hvlSt;^*LnIBVI&)hdS$s%CKTo?WTH&u4_sPU-7qr*ZmQ|RVT>MZJn63 zE$FN>guQX1!bnaHGl)?cBPb8qo^1>4_ zSH+hlAVFI^aGF^HvNSKgJOg=Hu3MP?SO)SO&Pc^N1DQ}PoG3q4T8>hXJ)DA6&dZ0v z0Mx0Rm5-z#WS}PdqZE9s=)8u=d#Kn%JJhilmi}BDzcyL5`1Ffl~hvoljYvvpJuPWQed=SORzj|1 zU#hFhJf9VmYu&zeAUx9I*Zp(@7l)YKnV3LFS>W4FgXQR@ePB*x1KN>U!`;o;@6lY4 zX*}Q$fofJ}arZf-1Qskxw_tkQgX6*x>{Wrz7u%GX~YP?7=r>Sd^^!Xt~BP%r# zmjdzr)Qo6enu#K|f$JuEZl=eQQfe5m0uRhV`s~H?XK#LZv-VlYv1e@qWj-z~&N$HI z8K!F6-jsQk3r!j#$sM5Ys?pOUXsig0rpkrw3kM3Wfx&pV9;aqHOco1Obazf60F@$B z0fifXG;HRax>c?$ZijKgopfT3B3~3L>|z=vdbr5gZM3hNZo>c6v$XKGUd;Fg7E}{%xYq}$jmkcB^tZbPP=PQjF4~Jeilg(&H9AzS9kb;|=dh?rJA5AtZef<}Ru|~L7a)3rn%K^PNfNj+o{7`-i z*i}l(@v*-!a57+qwTa?9ESQ-E$zr6yP~W!I2CHA+>ol0C`HVklaMHi$8*pquaNgWh zLxon)H(LRfdbVk2x$)O4NG=rN#R`yrl1xio&i~=z+V=QE|5{PZqVSo)q2Ta)8W{h9 z#DI$TxcT#P#WKklXCASP>EO^Jh=t)V#dP`rCYj*Al-;8_QFx#zdgFNA0;BsD+-o8*B4LsEGQ?5y5pm&v^;*Ls z$+?^2qY5&8;E#2*50sozVJd@D%st>TDlpaUZC%lz-J{jgCE~zk7=$Ti5{X1ZNJiwa zD8kC6fv&~uzV0T2*Cb83AkY$nZhFnK6cO@+U7E&Uf`q7b!~Ms_Tuhar6g68**!Jx} z({0*=RuY!SDFohiW_X%{@Es0+VJY|2Pt4(5N}F9~Wv*4dL*QK>4B>P}pZk*8>SnlQ z(yDQJa;n|Dq?41*sz+b*Oj)^zuFnx3J!hfOjjM0?EqBv*+Gj=ynmMpov&9~0AzPvy z7dqQrT9=oFnNQV3BxW4RQPzvl;ig0x>$w(9ZrpRIr8VM(Z5xE$@D=)hg_23%E|kjp z5=QN7Xh&lr4a6wgv(gt*m}X0*i*!4#lUOLv;PKJe6G}&hkz_kYzyE04pK>)wgBIc8 z&Wqh_n5MX5c}O_ae6%{7dOk~Z`zeL&EPQ#b#+#!;UZm2GR-AB~hI`x42%?qQtel%f zLfFt>9EP!3WOPOyQn~DZO4Fl`^ljYUyKv=x40#Md6EG+drn5FdTBG{&(Sh2r zk4)(YZ_jhr6DL)#`Mu7A=E&x%ky`G7OYtf#HtSA|rWkE_>ZVs}A*Q zs!=ei;_In~Jf3N6?*gwu%zIvoPw3fvzV1wrE`(_6#ap~o-w0K{Xia%x$rB_zX!LYF z_ybt$nsKikeHe9rcZiyqQ-{Xm_Xol?y*)aGb*_RRNzRC4sHb7dQt3uAhsyPC@rL=$ zD2`oSZ}po7TVZyG&b}}L{o!Csw8eU8Fy8csc1!(&?qVL$*Clw!TJqyBufDr_{`%EQ zBcspZl6jS)RkBAbM6n@tCef}+w)Czo8FMtQ`bkUicP^)YY)v)vg-)oZq;K47EQ2mi zZA+1_&_(ZBj_`F68WBbY@!()neY>_E#|Mx`4Cq&>wVD5@9%@m+%*wwuGS>IE+V?mF zwPuIW4wVFPxEC`q4S!Ze1&$8rM(A$W<2iXW+0_v>FE#C8z)nq;OP4H31G7D~G%{;j z4@;cj2JZ8J>aB0Uh{$9nb>CHj30avf+pVR_q_=E^5XV@8ObA%YNaH9m$CAjTS4+bI zK_dmXsfW(d<+lFZHTv+nD<124<4nLC`@KO5@XUPME;6GW?no|R$(_#k^|TLdYVPI! zx5w32pd0Wdz<-Lu%!HfNntS$c_M(*~GANAuQBR_OVCodLb!FvXrt(CI*}TAxMM>9y z+R#8wD349259>Ztp*{mBq@VrB;5RonFFuf2M7bLUng*f_kUxsa|<@&=N z<09aHT$*m&4H{^gr@dhOG-$MJR_C!FH#^GTm|o2Z6w> z+_lU4Af~yrnDaBHr5lAz%2cu^{D@=Qg*G(C(*4k&qoTXmJWKK{yvTQ(dX+v)7~Or@ z!KWr+n#pQ+>G?sA-v)m`Coav~ALMg6BeltYAdR4tA2lm+?T*PUT2S%5Fxv%btUp}} zIhtj;9dB$vr)W4@C%<%un{sMx7Fpn;KqCnV0#)Q@B;g=oB$uw$0$q-)CA5_t_AFIc z@YMoL0EDT(InXk1Xr#2&g?ihao!Dg3S05=&`@1vm!tGS0bFW{eW)4M%%N`&O5=yRr zm9}@&Y?wwc5p_UTmFD3U$8~+9pJ(&&a4_RzL+yuEniW;9@lYFJlgOZhJM=HIT@{FK z@dQkRg%+l>Nw4Di1Fe-gekVrbFQ+`>PnR~|S6@X?QKiS0`RELv#crOOL2>vSkJ6Cm zNZhB6NBgUAJR(N@p5s9i3|b1b6Zy=4{_r(PGmUk-3v8lksi0wEC|LG`9Q{!X3f5SE zIMk+Vv@}J#QMbMDf|Fj=A_FpFH>%oyX=lxg zG*_XloGQ`uyul}Gwf@FsNe#Nt(5T`TjjAonrW)Ii!vKnPJ0p2gW{=J1AuRld7Ep{P z0TjZ=vj|;%B4*v?Pp^K7NSj0`Q0JFS(8p{tMzJrW*PE%oM%c1cJ4g8M*6;(C{Nd{C zZ}{)u=5S##Wo~41baG{3Z3<i%Kl@zr{@Ncl%2AxERn!mx=)`z-823*$upMZ z_{aXc-d+6hgG}zmi#)lz`1OLBFBALEdY8OfU0mmxD3jG1o>chF>h^+OW{Kp9EQ(~c zyGUQXf4p4%8%BZWn8->|D|lkHfnQ|C;E~6R^y6Q@r0mOO@{{iL&}{K}R;!E)dNMZ; z{n+nzO}817Uz+Yf5BUXf22Ypt^w|mBH0I4BmswdQ*P=3Ct^3`+KXjX9ZD+~s_{@yY zs!S!TpD)rk{pAlAJfjcutYA5}gAYxZHP3ief7kYl?XDlEM9;?KDyx});z9dY>x`>f z6>iL@WPcd;{iv^!X4^KS9+PI!$#~f7VbmMFNp7B!@m_DY$?c(APi^1P%K!L*p|i5O zM6X=eMW$ffJ_wPR9(;_P>HFqS~<(hHx=*uzetjJ2Km~~55<6GdG zf7t@Al8yeYgQYbi{4}nI_6C2s>E{+LRaRP$F))`j13l>E5GIqEETuI?x6y;&SdA;> z@S2d(TBOC&>z{v4e){n8mtS6fpf?n~phN~ZvEyC2uV}j^SU@u8ka6k1+Ibj?oV`kDm{l6FiEBY6S7Yj^vtcAGFST_yPXwgqg`_O8u}>oSvq zE4M8OFjkq#X!p%H_UjgQxJe${=^n;trZA^j3`{)VJX2*>mHZo<=b5rI!RGZQe@ost zK;!e0WwPMhIomA?gJCgQZN7YdE*zl50Y1}YN!uA~tov@#m#oZkR#fR%V;S@LVHk8b zUH)tJw~K2ICgOE4P%g|+sj>f`ldexXGcB+LkyBA-wa6_{)5m=rO|mRKf^$Ke8v3;! zN3`R5(8knL4=V&z?FT*Kf_BN5e-zg`G$Z~FPg-Xzt-%EZiTZ{$K3llOFv76iPhT#x z%j+@+T&f~PEG7-v0JZ~sTLvRkMC390<|`?4h=BTA5kT%BXf`I!;5|p|FpH?oG^l~Re^F`k2T)&=S1|Rs*AODnyb&QI*VH@{b>(LJ!<>i|z<}q%c?P3+zi}WK^ndkwB1qmh-JM4F zlt62_NIxFUik^z5c3THESt3kgWUQU>B6 z(f~KvAexhR0TY&PlbDO%e_e8jfLx07Xawq<4~V2_s&T0KlR0Fi>f zrqQj4qHaNDpc0DWdxIAeMUfM6J+wpL8Pg*_wj21VT>~_3^z^7Pe~80wF&khsz}H(? z719V9AJv%@A-i#sYM(Lbj7T%cl6kGtuWP+GH2o*zWe++^xyZ&2bDz_{ync0AXLT)# zI{oyMeby_EG80}~q_D6>*Z{tmXUp`%>(!?Z@8%#jL|gha$%*4rpvnCRj5%s@HHnhF zqr4cKb|zR#?hKD_e_OZkIT|^KrwT`DH;2eU4x;TAPyrEiBwmUN4CCq0XcjvOs00`S z_=RP)@(h!{`V`UzN8Rb(eQRD+StToHXwapSh;sGzUGn35P(tti@^Nk}S!IP2%r|;# z#2LV~4jlamf*kSF^%Gl{-QXPj6 zB-cni%Mj$p&cWTQ;GDIdZ;TgN#RH6{3G}C#7$l-s>u4d8u8?mC8kW^za(Kw|dJ&Y? zGq547E7I5&>l?k^LJ9*BTi0csYR_p4oegvN0_7BjK3fnOC&A_b6ov6kKgnL$HDQ`nk3RvwICb?O6&yTn51`}Z@@x~Kg&0u-)bjHiDtfB zUKvh3LPuGHM)G9w`oo6>YFWewXbk453p0|BK~oHfe=M)K8;WFm!I1&x$#)U2i|xUJ zWMCiwiXMhjI04laIN@2GQ1W9LV}`*P>Ww-oIsY-MkjtRzO5$ls+helrFyle~R#GJGM5Cpnl}64!Vb_ifoTN8`u5b z>~GK`gOx|@7~rwVIAt_-Rs{m5tn2h=1OEr(C(K8+ zqce{bpQ`XH$Eq&?0vnUYxy)Dzsr&c>p#vGD<}#qpSB@hJWTTROjKQ{`H-eeR%~y`M+``ci*vgE2=#U2De~8CxR*JTdGhZcJ-I$VyDFKGJ(D5r@xDjZ6 z*KgY2s7QnI1LBqn_8AildO8fjRh0R3x+iXYTvB=nHBWr2O-m@-^ z>5ED(0wTNJ?QN zpOQ*MM~kr;1dA-)*!U20`zwxm7d#NuRqU!NCZM!Ex9zxguZ`lAr1kz{r183LMr2z0uMj@j8sVDmkyL+gnr&9379M@Vfi7J z9s+DrE-Q`24g`!Z#k0n6-=Z0oaOQw`kJkutcJ*hSH%5>XfOt2DQ?ZPq)msh}5V5F$ zaYBSVSrE)?-_L1Ke>bI16R6-eu3_RfP-DSbp9cdZfN*$YOWeG`=2@VT)o~v}nIi#u z>(HHTj$pu6zR7U93@udL88OVsXgs zxwGC(+RTd3xF^Xuo4KZ$W*#9o`5M&N>uZ=H6GY}8PZYIR~%q>^Fmp`b5OsA2@lmGSvqWd+dN+X#>*%&??)GKkmTHL*7U zcIqm+paOYaRwoUhit2;`oT8{QnM=Xn?gPOja@hS)1T8RZY2Azd9 zGiX{92AbQApwTo zcqEin<`4UT3ND$2Shr}sq#5xfZ_f4=8Dp6+fm(dDBVA>p;It)6Vzyu2xb zm!iH^(xS17=uVC)rgye)M)hq8bXf7wGRzqd^=)VGlW>mrNt}zCTLP}0SK#C^CZR@k zci+;NBzk~JnN4bW=*Q2q9YjXBBg80|xCxK$?Hr%0fnoe{^O@sSDSUO~jwa?t6(Z6- zf6qJ4_K~o%Vu6S`5qx^1Z~LRmJs|x`CwaepB5pl}84HhBTt}=q0go%2Z%oq4q0$$j zf{9uL{7cu=2*K!2jh^mf;5e}ZiDN&s{jfZIe{n5!W9wqpN?XJfwlVYn>mrTFtvd2|B}7Th z+c$^kS{YdvDZV9kwC6#1f$f>oAc5)CopIeRq&+ALUk2i|bRuj|x5xxb_ehYG9%u0p zui&X(o-Y=7A;uY_U%DFQX{bV{r@cN~B|ucE;<-cOa70DG6HwI@()Zj%W-m_Bf7RCH zxLzqmd>r!on}wwS#=ccl&#kl=sK}#o>U&HiLc`_QL@WS@KzP4Cql`>6GmQv{Gcv~9 zX`FE@0jTe`PstZN>9r@Az_?Eou>E16gU@TG6qLi!^+($g{tYD`ya`2wMnQ5zp$ibA z4zmKwc>4W}{XwpBw zdYJlMV=fwjRqva*r~(-%rHiz(_P2ebc1D>gzxOaKUUsziiOky{!#NNfksX7EI zMmvWsMY80T>9dspM|TY!aA=?fwhI?T!s?pCcDlmL(6muJRoLNwWY}OmJw96}?Xt$( z^iY%)B8w~4pWb~+UNz%=0?Ov{8V2VeFjJnhI(fgIdK^LIbWG{{-okVsU#~9y4uAd! ziOq56m(S?|9Re{lm+t8SMStmX8^;m;&!-qy%JxDcMmsZmO)NU0WR}g8EhQ2hyNa?? zOJE3W4D3RC@ThX-3FJr7JEnWCT`WN`cBS+~7Iuz4zy7+%?@34*3Gt8pd%ih(_9i9E z<|rh~qxVNleLgBs29DgHk-U$G~~Oy?93uB z0B5i|Hme`J&|RZ2Led-jH*rKpV2B!AOXQYPV?DJ;*tJ{Q61oAcQ>-<{3QUy`$bPMCxi{ZC;dQUexn$)3kXxR}Fa=G)j?nr3QA?ag_-g zxp)ZHs@>HUO(9b098oUrZKom6oDCOhYGMF>PEzg+bP>$gc|Bn%m6FMzS8_MRc|=9( zMY-$-+GZ|RWPi+cv=r+WRkV?NyhpJtqA^cwkOlAH&qyg$l z(C1D?97E1AXVl=stxo5VM$F|BL}HxjL)2n=Q!LsQY=3UGWnuvrq*=c%)$5k3ZpaO2 zLduHFS8DzXxvFYX?c^(*4;x%QT&sa&_#h1H-`ut&wiuCkjNkw$=E@uJR-bAy1;7|d zbrGzpZn+|hVgfNCA;p910_{sK?_ep|rLFVrRxQv;s@CzvVQcC{ zqb4l5q<^uqUq~}7vL9dbI6&@XJyge z;g5m}E-iXU?~&lRPg-ylPb72x&bS2)xbWIQh0M_V3eiI6DrxeKLd_u7@t-frIxm-9 zzEpHFjWbTA7XGSQPfbqoP~tH@M%LOR0LTLI%70!Qnc8quluNQMnwC^o1O36e%ev~& zx)3`RS*zVxNC2?;BcT9y2&>$>!Q<6?C@j<7p#6QQNCdIT60OSGgM+&cKp}fH^w!2? zsEwAJR5d`MO&c&Z>)oz(2ay(PUaP!8BlL2)D#KmM>%#Ia;LT$4`49_Inr7al!PBSX zeSe^l{Z@=&WOwVwkJh|=RPYmBU?cC!2hqPS^2@a%+p1}&MF~o6RN3k<)<0=I@h6Qq z)ZXHynMScb&ENC!slTTeMmW^#%DlcKo1*MYrfk<;Gtv($zdP){VHk}bG7RQN=8L{D z%%QD&j0PFOq~!m*(P}le8T|5lP4>xu4u6?!T`h}wzSgH-7VS;ZC{ntl3iaVxN=476 zmP4V%KrcCkB#=!I;&NAq9z6%ndcUn<|+i)}bv^s)WxesK(3_aEf|}WvTL}8nVIcAQ{SkjBDgU`T008*sxJrt z7EsU@+DhBC#!=w99i)n|5c-7;Y`awOABMGBSOD7Y8(dsFYHlMa=;`CFt?ei|usF|a z1&u?)-LdhdKw}N=oGE*hW=dOFB&|(GcExJ4JcQB4|yreepD6(F_|YkiZ$d zxhvcJmYV!YOqZ1ayLSO}+6)IYX&O7g9tJ>^IE_HYyhYEH9ejqiuPYnX-Wx)Qghpxn zxTnAudX5p2o0TdLTgZ5o!_hqJJF*D+apSYG0e`LYp!4d(&shT+2#&qHZXm9G%ZQy6 z_8z(Gu6X1XzaNb}VU(rp5iL~9AI)L=vlQxJ!g`IFZTbuChu&nz z=nid06d!v|#!-DA8F4g>O;}pYS7Zg^Tq@YK+#R^-20nDv%5+f>Kyh@R1(t)}9NRee zyMLdrcsdS8%E%eajT!Jt+XTDomcyn^hye%R#WZMmqKLVVdE3^-r4}?C_S0RfOoEM& zR^Tkq;Uy4w95@ZN1U=G$9=kHdV1b^PgNIC^K*#TNAXAY+_(YF49-L-& z32s8X*|Vs!@cR}81Dz#Ls`(~QDP;`GkXVE-@Sl}1UH9S$#V zeH~|QSEH*TgUxidYm{j`1=JcLcV`L+TDHod!=gczq1rgXIV$nF9(lRjV&=zi1b>(k z4r|*6=Q(C@BOv9qpHk2_@j-gi4*dj6cz>QLi#xL-vQQsN+aEauZn`UtDls_6`C!jL z@gjh*0VJBQa_p*xQX=lgjAkqeUV6##c&)4e{|lWNJi%%DfNHIW027D855&^UV4=zv zi2tFcC+PVa3~9l(nzukC%WiY2YAo|6fH!GE#Zu^^{V4i$J+u)n@wf1uTW(Rm@JBEb z1TtuAfR4eYC~>1(Zuggn^8sT6XO51S?(+dmHtPMOui#qPbJ@5fR1#<}?CCjql2mIWZaP$E!f2&-|yzo(K7)Di27sb-? zllNUwTP=wG8K=c6M`Qp?mPG2L^}aRS4;LFigG8c&_mk+fsJbOoI|?p z)PijWc^&m};XrOX-t|`<7vx{Z-m!iR9GhME-~d#RyW&C5`z&MNFX!8_=M(%E#)lHY zZ`SUHcA+sA6#;b7gBq+MA~`0y+wvNtyxn%BiG7zb^#K-t=X<+5g!E|#V&YXI)?p6x zK^X78?%zFXWEY?J+yV$O_rd0m`(CzLD)Eut_wpCP%h#{II-lWNG{U6hS#bI-Is5VN zZ_eJngxGcE1*v$b6h!PFV z9~<+JUsl}%+jvp}YWZdZ>hSm-ItBU`9e9UMf&Tk{?-#p+mYxEJSYn&}Alrha?CLVeI+=sIVoJ+Bq>p`e+|W%z%V6@EPcaHb7s@`jK#BNFvAADsP9` zp67Z9atEOM?UeW@^u1;ZQ;`kLG;DTc61grh)G1*dXpFJIMtoD0%D#_Y+Sh&&LKiWZ zXRLI8N@4&HM;X$9_H_Y(hyZGMHDr;k#n`FW1}_9n4!_Wxr5ahiEu zXyT&Z7=hRVgnDW589TSNFp-)?b3`JK9Cy{Q2TWw*q6e9sJIC_45NabR7zsKg{9nKN zp1jDL6@ij6nX(8aj{_b;5q&*xE7VGa+O3fh(b<&>z*`hAD?2HXdoz57>CP;6bR*5YbGD2 zb-*8!)|*hXNAf|DHK<=TZQTb|b4qV6P#(K z3$;?vt5rFu4jONhEKJA2ZhO#lce?JMcB~I56LTeWbqJqe;me} za89?33wYpWQ0pU)AOt|;Ly=Su3;g$gh)QX2`r-9G^!>R_v}k`CBks7A`@O9Aa_kv_ zd`L~r@U-BO)zo-EWgRj|jLUnyZ=+WD%L*E*#B2gKayXDX7tLOr+2gzeTJ6dVkNVv< zsD6&sDmhWD3K4)pJxpH@F?Fc)4jvM19Cte(SG0Y0wff_i(*6M=f1CeDTQA!7m!b{w z-GhSd?H?!A>uAfdC1R!}>g9HE&Zl4jd;k)j33QS_sqv{74UYIooWY3c6C1Y^_IqIB zgL?01k=>SlyGUpNk9rev;r)fB%S5aa(Gg2%j-U>mih6tHE`hk!5NCO;NVeZDp{5*T z%fTu13DFSR(~JHzf56?<-BbffcB0_6$8vCkY5zy^$`+7&v84|O~(*BF7eoBpj+L`_k{aY^n~9ag)pl~&K%`gL)BdD{h1sn zcPjXT&&qTIF}46Y>eKQi-?QRe0f>3K1<|^b9YC=ad?9zre@E_gv=MUIojB_3eEl%S ztdPcaUpllMKNZkl-$lfK$3-sUGIWtHoq3EpewWSi^DRrht8mljQrmLPzIgA%WM9*+ zYp&d=G=+8>1AN%9L$BdAwbt zt6FAB_L=dRe{SmlxyBq~k8YB=;4ofen+C4d({1U};bFL$&SZvRgxQpJwL)2+se>M) zOwPMu%Y6^r_KHkeB^gwU<}v_G;c5HWZtpUMb)fB=$2}Q3bms$i=Y8NVEPk&KEJn7! zYw15M5;WS7+XD_IJUg+5BR}xGqpSjGLMmx%=&&r4e>K*MADFx@NMvK*Go+y}6G z0rAttcH#;ibxZLGAZZXe+P^h>TMC+r6T8>PFnk#AVfJ=z%L;D+oZrUOo3{@me-oi9 zTUVR$bt&Jb-biFm5^`_QyEWF|nCyxy$HCi3&2st^brq~I7Z|e91%_U2e_89gy#F#< z2dA*^MhWx!Jc1=vp3Pe2XI$d-8Zz@Fb&S8g{PAak_h5-j*%T1L2FbMq^myb=ROL{e z5}RqCbKFL-ZR2F$&nN$czyAPc;_jE1!2tpt0yQv~-~j?%f613vbh1@;9zb#^B1-}? z09sbQVSi=+F=y@oNJ-vQ@{n@5Y>|VWp6=79PY?8&gp`p`{xScq_GjO{&&X|e7Lwbu z&u2`1Nz6a1J$bP>n};+?$YO<+x%_6aInxg_l5vv7FsUmSsK~Km zvBnP>Wms~5e-_-l`V_EFGxDRTMO*IVdRF9=M|x$b7QJlt`?6kl^PPU4EC1q{ zX7Z^y7JjqsiD{hdgyrMV&m$VbO6)dUv@Q+>4RiUGe-0H?C5Tx3Wek+JJ-I1~t zM0`eg>BL8d6UJFO_R($)^J!Sb*3E5m*saM@kV7Zd3!o?4IMI30R)4trHc?nEoS!GFrW7i~@UWxv`Yw506FT6C+nTEc;H*_bRc zjo%0%jNNH7WBZFBp8}V}Vek?l)+Pgman~H`wXzt+zzbsz1h#6%XThR8cZmBmqtlwm zW4&O`Qks7=bbohL77XtLC;X@3z&d-0dD_ zX-tbei32+O$Ko%e;Ib^GS@IiW`=|e(*p?d<^E9*^g%+N0`M(_6w4mHa_G3`CGjz@{ zm$(E1KLL-I_yhta0aceC1p*uax0gEw0w4i_ms|w`J%8JZ67^{o;j7^X!=+Ql;l%aX z;t!_^0m3maCc(^UGRXLlbYfO8n+?(3iB(^X`+GKg^otlg$~|9!Av6;dJUeCr)NY2w zcIgFNPUTX59A+K?AB9C#sinavV<6SyRKobw5~s{<$|Sj}bnVLrsqgNZu9}=QNq_~b z@Fm$;A%CNS@1n{wnrGH-(AFaxsLR5+Kj%`}OCtgzY6##ocZD-`f<};+=?O0?Zy=$m zjX_ZNDkZ4tFturdulliD(RP$b^{A?h)6At35z%X&l9fq8t)Ej(IfrXB@*Hc$rrcUHOcS|8k^~|6q1b-84uG0l&>}m8%IRG~sG~?X?HMy2L zc)&EuQl4Sdvn&PZnwWmQYfKlkx%``a zB8xF*xQ=&m{b81d0DBw-7jt!B%zbE0P~1*VT)llWP7_aX)X0KmD&E22+>7bQihH24 zC4Vqzk?1bVrACN-gIDVIV{miz`rY*x(x(kjtOm%`$Lynq~_tJ zC&9fOdyM2Ma-_4YRW{Fofv&o(_oD9Q50{k(0v~^FxBWS(>e0@SKyj+KZ`w74Tap+$ z)j_^K3mBdKUdGH+aUK_Xp9Rd^&k8BVq9nl6s^9d={9W00XewJEcwe?ZYl9dzV@v(g zPOj}}pnsWh$>v##s;SB)k}xYhdyGs@lVfbIH$&l(dqslgxl^t5u5DJb8tYpBQKa-|NGgzi?Rto7mL!s+QB z?)~X8_qro!o66-@>`S1m+|2cq9mR5ra1{j?=_`hhm$wK4Gy%Pr><9uL0k@Y62?AyT zua|NO0%iexm)QvdDFH>70}28xe-yo!8<)=wszn#_p>1V0b=!oXRMiVBaTr@F%Og`6 zRof_2l)S~W?S0h=mAnG-HcPGEGT3two?{k46}eMBrpEx|#E_PDUe|KDUi)am!8r7e zSUM8pvSvA$rAVLA4@NeOxNP017N8>aOpxRaztlAbI3}gBR8P6XF$wgD!t>}3HF(YEM)%?iQL8cD|-p$?0fonUbrS4|2PJW%6Ei3r#8 ze~GpsU0?PG!|ghE2-H&;e?RKHj_A+H68ecp2`wC)nAK2+ew0{!@TarOV(5cBa@{;G zrX_Hp3pGn=$fF~1==?NsTa_5dx>4^$&~;;$!!_dbWOy*wrHT>d<-nCfJ&uodU5-Pg zbg1qD#(2mFL^vrF3^p{&o+}htC-NjpaS7SMhfQ@Uc9v07U42oGe|~0+LcM6egL|-s zvk&Y>ZhmoR3mmK128Q?+;Ge-LfpK`$7}PS1qrAv-o2|sGk)X2$7coC|IV&FneKTlC zWE!tdzRT$$Y@~J|r(2Py9}aPsC(Lh=TPI8=C*nz;kLPsoJ}yK_r`ofs8+awP+mW4J z3H^4;D_<7Wcoxyfe~E=S&1|7*6x|D@d{3I{d@78UG13P`?vd;&-TNy6O^0{GcHA6x zy1);YmoGmYPrXANB<3C3g~GbejvR)T0>ZVs+aY3AjWSbenk9gxm!!!+lAg;KH&|?V zMow=>L#qBunmZYlaz}Pmr`k`c6d}h5&m*f7Zx5y!sJo49e-bh?Wgbta<$&0X3Rgp) zs4YcCdWP{FFfM+B)=nm~13I>%8xF<8POxiMn4)lKXy_z@He?OG%)Iz=U!qx!m1_CLSBapUrTnUOmb$ zqG-?)*X2y9f5|Wly7izZLeFz6WP?ZFZYJ^_PI82W@pT-i%iWjPW7(fcuR^=cpFg}& zn*U}b`cW-m$ZUt7h<%(f-14))Wf6a^znVtG^r`!*NI+Nn5JaF0aX}%6F9;nU<7NUpYxQe!t)y1T*nPVjLmCNNzfl- zyl&)&IzEu;_7^{B#0K%vlf|jBn@nGfrylW3ESX&AL1g>ec$Yafgo&LnQr8UnY{0?; zu`LHHfBR0pFt1uLVAzPg8~hGRD1ULnB6IQT=CX`?BclkgZc^v(oM>xR4i{sGAyH0x+rLjuc1GYq4msfI#-+rkl_jwee z3;6iSdwnN8kbHS{SoT}#hiY5ngB9?^(Z-`Ef0H(K5e<$wy)o9#gTeB_ORrOhi`{P# z9Zp<7WEh~_JGq-zm)F>gyp#8K zuJqxSIpY1NnUTW4rOmmFqi%o+hHDhwJRaU8|M=zuk%=Tw;UI0bN$YD&gl0bVmyfG$Nb(LF8=y+9^Cd9QE+?l`vq4I1M_Qh2wto%mJy57V70-@ zf}X5yF7(Sh$VHGRNw7LxgfE^iR)4=?7p&tkOXIS@iq#hXZ&{Pmt>&GLbV9Ya?6-NE*(8&KQg#Yzsmqif* zF&i^Dmy|5yS!875dRMagt{Ns~aJ}LvKfNAde|wKBh+u}rrO(R(;5pzPmWl1(IZkV5yj)V z*Pf9Oa8R0ROBL!3En#0-@eAXss7S3HyIYqq5&{_*RxiB_tYp@yPNK~EE)mvdz4TMI zbb)gXmthhDOB$6*-%bu=*XV~@!br>|B)MK0I5i@1k+a3Km&OtTGyx-*`w{{hUG1s^ z;ba9>&L$8SF?;NEFMBATGnSK|)g!?&bEL~B7CcumnwE^`HjgLKbdcgxGO8Scp;e|) z7QC%bWQ$mVm^CQ#73pZ}Tx&f=ekTub#Zp@-1^lNDRwGktnp>B169OS$kH}1-B7`be zRrRYmv#5Q~+>1+*0YON76{RW|l46Qd*zp7t1xw0|KNS;i79}f-JTJql-m6rv#$GCQ zzwD(=#+uSuco4C-W8cmh-Pz{r-yhAF-IqprD^AiG7Kg$HK;9P~P%XRcSHQDCgk~!hjT@vWG+o8Z9-77;Q?N7d%hc=)0R4rEqDc&fQg8 zcvdzOiB%LPOIReh)%)9*>=Xhm0eqJl6#^d&y;_HYKv4Vv96&yxmqir)BY*E3y*SFaW&y};ve zb@e9r{_X46&)@v;i}DodqRuR+VQ>+n8>C5508f$?HX5iLfM_6TCo67t^?s`|c3GAz zrJlz@H9E8;H?nBP;A%2LTYo{{S`%(ALM`e-ZbMz@F z@**ql<;49#C`DE}${3pp;z}i4Vf(%>T|WeSs0j3soBE4XqzcSSc1I|Wh13igWi+(% z99Yd=(8g5xb+w1CELiCfPmn381wa%%v&OO_KM9B$ruk#MexgHG)PL}*axETWvc;_L|mP*F2YHS`u9{OSHG)CG^EJOJ`ODgK_aSlH$m z;9^$F-q|Wf87W=e(X5~9hevya?cYwgi*Esxm>z8$xfT=f(!I359kjZyGJGq z!=CTRYL#V2y3^V^FBlC7C<7{GMkzv&Bsh>)P$@knWa%4Av0OYkWI)q?4B|{rTleh zU?zC^@0Z`dUtPU@6TE!$&#RvoF<>k$lkn}E*Dv3!90(b}&3_!Itz4%7+?_b0FlSq4 zlED?+cJqFj04*yV23&`7V(&4SUMX_o>I?9cvPhFqlXg>FPv%(#HAHUAaCzs0ElQ{B z6n8b6Bok`Ab(I%OIFe%NZzhN`n6;cN7XG2z3QHIh)A1v98-hq0KI~*y50jI%d8*;0 zq=S7Rm(p2DkAG(MoOai_rc2}{5sX8-RnURWQ5_WnRn@Z}kH>wjNt3D49wG~_Vb0oL zZsv}%MqI{V2w5>z^!4~quCU$@MwcXIg;zmz)c&zp#v+YE72#v2>h_%??g@%p+kK=| zb>x|pqON6q|DcS3?b)6z+-y&Va*_4)iK^D3$FbjS4SzSCD+#>j@f0bO<=vj$>7L-U zQ>8k#$FFS6DVn*X{*?1k*wqu;0)%B#9y~QtBIIxJjX*K+VSpWdXfn%j-yc-PH=R`L zDVAh#sQQoJ@Bz9RclJnY=WYN_6w}z2h7C@so31@fYCZETrjXg%zdug)=PWKtkH0j7 zZi?fSC4b_aN;bTPt~!2I1rDlbc^WO8Yp^uWzmnoKvC6&DPlJgA6%SLKZPN`Gs%puJ z5a&~kFypSOt5ri;^?iM-M|m)oB2V*B11$vMu_YTjpM-q^=9oR%+-{0SBl_g5#k0h< z-=4+ujA-72F@)}X^k9;wk9e+%3$BuyDv{TPGv()d=ASA-9cLT7P^SYH;-fQLbjQ zAGexiw!I>G>uU4ywo}(TzqM;KH~j?Ahg2i2cxZSEDRcUF-<>TYQ(^O^OZ-mW45L0d zO8MY8)hwz^a&Y?Y-PI4LjxICwfTiC8CVxWX)xUO94PxuVaX(EMTNRPOJ$klQa7Tv- z2X~3kSUD<+K+$({{Z#j6c6Bn@MIDLb$L2b!h1z#?XATpMSqE9Q#AFeu+72MbSmhK zi(+0HLI=C5^FY2m^Eh&3?x5z_46Eo%rx;QuiS>Q&(J|paumt-uIPOQ=YS1RC!sUc$ z?sDq>Fl~b7+}#s#HI`6(9W2@oo_|!6wcXZ+NZaQ8lwnWPb~8taGe))3`dr<@sp6Ua zpOjb`di9s5FgLYyX75PPwWd*~h6$S47!sm2p6cOL-bq_26&*GOA)vkGkad~7?K zfbUx~?XeqTvD?thh47JDZZ`2QCoWHKwMe}q*pS=?KCSo`qc|mIvFVO9`G4C~Cik200mp5&rF-wR2BYdKWa(mm8rNvoFk(HT^S;Z*K?ST>!+^_AV36qHS zDCddvKz#2FQ!3^*dA^y>PS|v19@;M<%uo`IbTKu_kD=t*DKaoJp(+-K#zz_=BbK_e zsmboWOT2Rz*_*0Swdh)G09XQt?r}<6zFb}W13&)*e~`h@m;M|A9Re^jmmM7fM}OSL6@BMd;3>u=B#dtC4|$MN zjKh>I+2SZk6_rYX7?1-S1B|h7$v5a%{Es=ecVI|MNu^X}*&d+#_Fc|B=Qe)v!hm@p z{ZW5chqJHWXWspI7JBz*znn4gqo@9=4&FE0vx_i@5^r1K$((-K-kr&pnU`@di(_wl zIP<@GvwzwCgjMhyi-II7ay+r!;Xkr~;gQEP|N1WcdQ`ia)thc#56x8Xyt|=4c+E6= zM}O>y6VrJ+6%8)@R-{3U&85>HdgIU{P|oB*uJ(d|n!XFXZ|0_*{IKwqx(rdN+}cj3c(0cEFRnCC}}a)qhOxY&xtsIyr@h^CDneXI=ysWWorO8-e$y zec9dDB3JV);Aw39m8*vj<*wGjUM-LK6k(=aB38YS$ERAr`}+7YB}HCWW!Lra``v~P zSMbcgt1Bl#zLHrTNC%+qLY3S8xN=Syq=MD)6o26* zKnbEOlO|uQ1CQQ#EJYbH&i%&@{+=jW;(cuq+>z&D@g)}3o=QXE(y5t*k)y5-RaxYr zJc&gisp1zqe*K<>3MVq0HgRVW%NY7rtgA5&Wq%}S{h#_< z?A1*}-_l;9oT{l=RYw$LOgrzPmc6P7lT-LOpG=}6_<5oe=Eg^E?CQG>Q*~3$?c|LU zOehD!o8vs;po7REb#~P_k|M}LZqW}-SXkeP0D1M{I6Zrx+Ip2QX%@sOXL|duceZmq zeBI4$E0#~>axPnlV!)L;PJi&uHeUFjY4>8|;jtO(b78^~^HWhA{EILj2_v^(;eKVe zfA{wL%ePyVpMS=ysl|aPj>MJ( z0o1vM{(dMAlzvN37D<2z7GLB^1dUc*dGf~JHJdo6Qj7gb{cE22&#`?CJht4%d**QVt<9>vg?RlGr5PG#Bt$R>IYk!PYFU8F>9P8yL)mz5yZ9`iBPOe zLcFQYP0HZBhZXp77;W+S*VO`vKt`S457dNKugB;W`gNI+$Fdp5bDhQjhr?>oj0@~h zi+;|eKmOMyA=(zsC2TY7nJ-~Gl0eoM-1j&-9r^SMLLN3gR|aB?)S1Uv_(T_{XPWyhI==~-AT?ehrTs-ecIC@aA# z5Z$RBM31OT^nX(dH~wqxcIRF>PyGP~P)R+*A;ZrEc#Y^N?une}M+qaosSZ~^Ic+O- zPJQf$X_XbA0LEc(f3NL4(#@XwV)M-X=;vodL|%uoPQ}@ORQk^J|j)6f8NzqTMkOD zh5~k=Ph!iS>tEgGm75ozmV0LOHjCCCFh?(m^tijENRyoFz&suootYc!ktkX>P$(V6 z8FA@jq|qqy>u&C3hodsOg=*UEBp0V2cXeAEWoi8n8Wkjk@qexsb^L!Nz%$8F8-{VI zy>EQQ#ea#2#D(GFZi0g^%H2$@Ku~Z;IkWYa1l+21%lhjyw}_cmv(HY=$Olx-pwA+Vhkn_VvLH8;Ce@VevdhM_y9N70zYCfF zJbyV%C_??~6;5CYafZP7b7l912k?SPL z>~@W;`-i4{LFJ_hNmBOPfSHGyMZJue7EpJ!0we}NGII>y!l=yJ-vCiZRi2<|vUHD< zmmst$D;7j0Nficdol-{PSsbC>TFPprw10_An|oeSr<@|~6u{xwTGh6+4;(5_48|m> z3;;IL;Hy)8vV4>_>tjsc_MKn)JQJ9ifgkGV$n)S>N&d?XCFn==h zocC|OzuaEFzt+wY?}CwpHmQQ8BU8|JvoIak1`{x1&q|sa4y04-xmX@1axT_)?X#Kt zKv+Z9k9}V#&pZ#f#dn1omVe?oOBZ(O+xe8f-uPm^YoPzOZY5RyxDk!C(=!&U z%u;B3UG-8;FE)&91;3bxVmM3fQed|f<2gWb6$I66scYmhTUV%OkdUS|Kg}cYLuw`> zJSZ2eUb}-7!IfpagyvpFClmc8d~Grof$!+a_ZKLH*91D2$lq9NM9$8W)&rg967egA&ldro3&}nFH9)>{!V^l3lu0L>-(Yk|?|NF!?uTF8<{|uD0Iw zR)S#=il!Vx(&&Mk|7PoA7k^6)D1EqIp8Eod28T@?hM72xLJq0{2TzRzmswDwvRhBA zQI@e)6!L+tA#*$Si{eak^A<2QJrW>?LZ|Q~p(^O-`@Lv$2$;GHc>>Th z!e@kQDpslNcm>Uj%rHNd%lnU5X`v1PpeH66flrNleu2YMdtGD(VTaJ>d_smJT~|Txm`I!UF}f7)g5UMP=DFUOJ4EJr^=IacM@)8 z)6Rns81)z|!{q7TY#EOimHRxtUglBogEZ(bY<36$B@?s(o}62oF#N zW|le+N3<|vY6cq~_f56e7tXN&piwYDJoE2*=yj??S2@_UM-7Z~Rn=&Milp#@1|W$w zSaGK}on9hgOMiHij)}kvX?$aVF;ulGcGpf;+l`WWgU!de5?+zL`hC+am}F{_331kh{` zO(*v4X;Oc;Ax09$NVN%>2U_C}^zy_R54Y=~Hco8^(tmH)%F;1Nb>D%8pTaSm;UEBInkEolPUJ4GO zr-+nDYVfJ9g!C(sWP08z{4Re<$u7_cz?4LABwJn@RiJOZAbU!N6wSji{z*(}w zC}B4slYbQwcjif-XhjLqB1k`HESX4DP5MFFY0`d#k*QR)SsoO`4xDSJg~v!Q7lnSM7~O3gsf z3M+F%rPw5Rf!Lml4%cZQf<3De4ndz&&5G{O^j)CDAu7jT?#qm_Kc1G$*|$c_?P!FM_oIX_hH2Lx#WpOXRKZA5{y5+4U&jG5s z3%p8G$s|c++GgiTiH&_F2Z^#Q$at|T@IwR1ib^Sm4Sf=lqg3u^Az&B6ghK6qL#X`K zQZVM68G67&nPzC-b$e%kNLCn3$T&nK&wuUXd_~l>%xcTg%BFR2=@eh~ZPU3ocXCkb zjnCawJ}GdJ>2^+nOcIZ(RJU|I0|UDxtv znFY-0UcMlbrxOnt5Jh%2sD#7|BM%f-@*COt(!4_rvZU5-N)(CAxPJ@9 z*H_=Z75xB0(tq>a^{co4zUC(G1R`}(;I%f-O-6+(Ma1_4K;o0{Rp8as0G;_>MU3@M zCfDZ#P2!^xznd0V8Jh3ch}xF7V+|@U`^jR#G!@yQP{+|v2v2V4b9toPLZiIz`aymp zXQzfK6O%;wC|tR{eE(c28)&MO%F#hQro(l3JrJ&|LZCNHErXCjEankEn?4mEq>{iOj(S zM>5Df3KGW^+pXwg8A$HC4}VK%#Pn$@TL}+Sb7pFNlBh`Rm3`OSAC~sz_G`(tmoM;Y zkUIG3zeVE^BMA64O3Vl{O`HLQLmy|F#;=nbP7mYPoeu6~Qh#4AN*R!7C$cPv(w9p) zi*+em(-1ufL0NpmVp1wbdQ5!B?i?s~KIUHB@7e)}{*+rH5q)mKAYH-Z+{wys-+u6j zcX-Ic4MZ2C)A?W;h4-$S`dhH`C=`*76CI=|r3EjyXFuZ4e*jL%j(=rtWOH3NbmCaSs9$mp?B8Du3k0k$vY^;AKMS zHHk%4;a0m38#9turedU7TRpL15A6taH%LP423i1G6#v1$;(y$ebqBi1m<@$Pn(0DS zR$fk?%q;&Jr3s5t`p5ixd${`dzm(C#c$G#ESHE5{^k)aBJyax#mb6) zS>Ipjk6BdmsLZlxeSf%$KfGV9f59$T$3&6~Sz*O`hd-1F!;}#q4esecyD= zQ159ylU2fnUYV*z-}Z+?-R;Kc$GSV|MNR$sqrS}2GRceRMilguNO)GN zQ;zk}bW;-j?_<-^!U9JW88d<;rC#B& zBGcU6K;7{{c^Qct8gazA^?qFF6iO`%Z<6);_9tr-wSNFUoHK6J7+=r7hPeW3tk)~- zCQDhwpFTTl=!I!gVVn6b&Qf-l3nniT8Mrsj_<8+5bNQ+yW%dHeeB&Dq=T6}thReVtigA>38vjn?c8w~<4}}2pC=+K zlq39xD|)DarFp^an$)aODuBl}uCMmw^w`fG(X1fX?WHHuN0MC(fjCNt7TxUV$SyR2)H_>xDJPTc$=?6-?MD?rdBVJV0llMdKmGXQ`=7r1c^(WU_(LkJ6K$HkQaj;mA>AdP zK~WH(hkAHY_?Kp7j4*^5Dg7(_Ti^~zhSgE%GYbbV+1vP0BxUX#{4~Og7RKON!hf8c zsRraj`cSiSQZldhvNq(mT)J)Z^pgYYtejm>+A5 zuNQ8|NQK-3=_T_>&ZNgti|WxcIDh0kE6uPGahaX_#=;|vHTV4k!Xiw_ESD-FC(5ka zULVO!t8YRT$fQimRJ^VNk)(NP(JMDB7>xGW1VAN9=6}|{P^*j^ArAwUf@K zGZF~5=js}l>@)%#3w5Mbh1J8TlX#9xmlHJtbOPXzmx(n39uBJpqF7zTcy&Gdw7#d` zm$fwlAR#_|h=?BkWku%ZQpBG=xKw!Ua>U&(;qMgfCKlD0)MN#SVm-aORFMp3? zvv1Ck71{g(w9YjIjT6-d*DzY*L7DAprtvf$8(nv~n+Dj=k^fu{y<1JeSy@>zYo^B~ zz@XYlUD|rfh$c*qL%(gtu^A(cFMyox)EL>R4N@-b#86Y(fE@h(C_oEe5Sk*HS3nhC z!;Ghc`T)tXShROIazK9JwqVX>ZY6ETirkb=?Xb8uvH3J-UwLoTA$7D@5p(R3M3b3R z682!3)!}=W$u?&&HHYZQUA7szX8(=4Da@d~u%ITG z@$}GniB8%?-3*785PCPv?+gMd*&>~rjpybZYOe!8iYJ{x4L`&3J=g5GkO%1=?mU-% zHv%I9iP)E;Hv&olGnei+0v`x$Y6yn!nFd>z6*vN1e^x%Z%B%Sgb(#ojs`v~0d&Ki1 zE6sMH`*OIOZp7|@Sd;D;sD=z+inL+=)twF-02@>Jz_x5`nuu<{BOjx`+1KOb{#q-} zd9RNQ6^C@4kL0pK7<#O{#Gk8VPEcRK#VhA1^nvEn@2Rl64+Uw|nZ)tBhkbbP&_suZ zZZO&}f5!UIL?!}xm8m9O5b0s-A>o3%lIFv?PvK+hQYe?3QD-@V-_lh9@dXbm5V#Is z&cPrDEwDeQ8l*Slq;f&8THACDxH#pLeh8b(v!>Jym6TMHIjiH(6|?=Qpl<_tICGgn zR9t(SPDrqtI%*!hlfJd~;8`Re;pa-U zLN5!MN&#f&nM)QwhJ9YiEi(#T5N5M+@-Wcmcd_^4=f{3@Uad1v3gLn}9n4vWjs6%B ze@N8**OTt^sp?Qeet6;VxZCgURu_t9oES`)uOU5n0zBUu_(&^!dAAy*$ z2e<}RUd!bb_#>HRa>vqM9g63rL{iN1e_$_^nW-)a{$$4zH?LP?=T*DHS!FWlE3dthgIH?+y zs!UtCEI_KjrCg+3KZhl=a795(vsDWsFd?nVL3aF?K^^DHIO^-^q@sUJo<#7;C#^bK zUGZT0Lsgw#8zP?S#Y{*D$7!z3yZG6P^z0~~QvoN0E#ze#1b3GplOhm+ySA1eq%)bT zK{}9;;$QiND1m~)(=Wu3NkbM_?MQ6d%LP-Heu!npxwwrU&SEKcu24~!1)o0aw*mnM zNUH3tOPI!$DZErz6x4s8a~aPRT&i^dt(XEhK#^I=RaK==_9fG8xmRm1#Ei>gzcnHB z%>oZO%Iq{;M}dFk2-=b_Pa~6GN2hL2S!r9J9v-J_fWc_0Pyw%;7oqXd&P8oFCN{+r zmt;v=mBIAjoN9nLC`X$&tqGZge4}qq<&7H!rB!8{)^?1F%K3lTQw0%{on@^lV3n^s z<4a6?C`P0v-!f<1(6F{qT`6izwo_u;W`^jY0I5=+C)XYw!O4UtlZi+*gFc!G;j$x@ zC(;wCpd}S_qL7~aoMQV}6E6i`-Nml=v82%{O%Q znEEr*0&BB{X-mD=qMa3X6xLy@M!LlO@`_a`23=Ud;?qAVv{R zUUY_*Ordr`F9}OGQJ%FftK5$wC_MxMB1=61; ziWQ}tmt#{uQvB%9*tMf!z@@~^azAj{fOHl@d(&PsKA?J~s-H>k2rJb;bqKZe0-CsGZgBqY%CR!Q`OX(&OHzV)tDb3XJD z{%J}#-yXbLLMIkUq&Yx$T(v$2U2+5!v~g$dcPYKIws=ZG7RVZjU5P;$~A z9g4!KU!JV}i&Ad$&)-cONLP$VhMBJmpecX-_Nk+W8<0?ats1U~PZjodEA=dMa4pCh z=wA8{E1N9+FdKQG1vFHdDe>njp$NRtJMAMl96*@Ow>NttDdv$4P~&ir#IT z1!H4juh~xwYm@E}znLF$>14J%AqzOsa(^nyT))Az2Vu%WoL6kgt-f?-eqdbS@c6CUbm`-reP=-04y2ePa>q~}Cds>$RVOg3|u8X8TEX+%8?x@qDr zQHb!h=;yFpC@Svjp7RGtFui-66~Ftht$mqRWQ$x4M&i_j(z{=YtRSu*cR}fmDv75R z_iD*(=I-IugRy6&-lKT_VoD8qgM5D-1?KNGwaqIPa|OK;v#&AZmtSU-+#`Ug8^HP9 zqdgT0%kZXGA%lu7AcgI^xJ zOWvV=h2}uWf`^s?&k{+&f=0>sa@h3yB@$-z7S7Gu-n~1Q$31@%n7wp% z#6r5t``sTFil*0l?qiqVTw43actC11eCmtzu?y=O|CX!|+UZN;Uj=VoUu$dIQHDKr z_QaudPbU{$AMV=^s{hiO;YErFOapS5$=r^e%#26nR>#n(`~tswR?UARBK7zN+0)OC zkpY^WUFB(~E@}l*sIPX`=goguNw2i6>_^*-HPi9g#t6iF+&0u9~W01 zzdB{lWi8vHqVqh@d=cuCfjaa}vtAeVs$;K;w`W5FGXVh|mzzWaG=I}sJj2KjV&~h> z`81$B_46on?!%8tdrB?VJ=6`n75hOD<=(@ZZdFDg-;z)VXPh>{;F+I)b`eStpdhe1 zUf;0K`4jpOUdvN+v!{QfRGGvaSuuL}Y%#=LE31D`?!jMEz@d+9veDpvgqkBilV3Tz zZkx68;G$T**AAO`m484c$$XwgTDq=UlAw?K3=u1}TAiJC*EhQQyG(U5}f5lNnJcoR!}L(qvpEPx z0x|>Z`bE**j+abE0*V3Dm)AxDmj<7I^WwW_w{%AWngV~T*OxE9e?BMb$*4rlbgR;E z+K(}_0_FLq8Zx@BntG{Ti)CLwk5S`3nL%;!nFD!WZp zJalHgQLc;jfoYmNWiFg&M8UQA*B85k_fY661vOr^vRFM3lF<(+PYX?YddmPHJRYrE zMCK4i6}x`|#Df|IxYSKjuP?-oN=X*D4OApFE3?YgQm%lflr?3&(IW(HR4UoaK~aB} z=K|@JCe{sK?|K=NT$ET?vCf_94Yrv&2KV|R*r&G5h2k3dV(K2mFB^OngsE9>^vb#2 zpfp>Y3c^P2ZQZOR?W)7DNH9b0)_0%G+J5ebhz5V;=&&0?H9LL63!xiBUSC8zUchWW z5H6D!9b3t6*_I3R5e$CQBElTbUE2-KBX^RG)-0%gk?n}p9_mq-WUOYz&DzisbR`ia z1B2s2!>w|(1>2c-l4M{2-p3C!(=Z(ECqk-8%smZS#0N&WH{;TQLSrOvG^O*0)}e~K zlcs-&&3mQkS)k3DLpwv0y zQc!zW+sC4!)vsQ4&9nG6^6ImcTeYdHo&iUbyZAl4y|v&fWEr; z=H*KmQjM;}s1T%j1wN8^J`uUvFH%j~Y=xH!Oac%FD|Gc+_6(OGOac@PS2!$^N6=zs z*i?;Ymq1Jc+X3R298ChZfAQk!t5;7iF4$h!ox17rcgW}B_sjq5ACO_eX`^9Ro7G0HMYUxexggZJt@`k_1A0og+la2gwzuzBFh$rrKhKs%01Y|*!dQJPD zYJG*4x$K+vLBFJiCW+oArI^><+td5;JCo3T*8ua-?QBlOLwVc=hc}Ka3(t z?nbV~Lccc^94vnHfBuQbTK7A8g@#;Hym!xR0@7PZHDOV)(8DqW05) zs0|UD_sSuHb{BUbg1V7rkuUZ}Pw@O$^n&5r9{Zyw+;aY{e+eJ;jx3J$#cH>6WSHs0 zaqsxkFy^mtpXU9<2jP8Fx?BhewsCV^DUQ}SNygR`A)+Jr=iT%bPN3uYFu&PFdhgTV{!eF>zT3yx?@>JsF! zUL666vau89e}tdj)w^$6)b*TSh2xx4{&%!`*&wOAO;fMT_oCESp_V-(6LTI1i8TDo(M3({D6|7;D>=;%g0v#Fe9PgUY`6N zfBp}61OLipZe(+Ga%Ev{3T19&Z(?c+GB7b9Fd%PY25Jg3G&VMuVNe1`f80iredkvo zVm4yYJ53l>xcg0_Ib%+cl2>YlcSD*7G#Vr^>;~EZniS_@zrer3f83LG2f8V1V(bS= zWT7f6FDFlC)^A=IFfXM4)t}Yw?1vATcQ>4c-rd=6XH5LkQ-4%D@9paBJPe}5TUA(@ z({EO{XYym_W!%f+*jw$+fBd&^7OQ_?7p!AZkVHj}6{`*Ykp&D(p3eM_KY#JrmxcG& zx~=qBoN;x;e`mSmXzO)NzbFEp z7kRAogqvkT19wg9mEKVQcBtE`_PSfI?b`Ew-?U@X-g(u1*_YK=_rubAx^Jp`uj&rl zjkm77!%%O$vGeNP8hAdm2_V#_Z+mA;|Or6{P z{gvC*?dJO~AmoA%f1R^5$c0b=Z4S9skf4&D;I#)_r}yZuB-nj3j9ve1e%#Z&;VIi^ zZ`0fglg4QfX3D7o#tO0JZQa-H_~WTPAYo~aYX+|wrD$p+t+619rG@t0(2PyjLR*vV zw)j&UWmi7q*VXp0F*g~!zNUq+%`LP$`SkZ~?S1iwx;7dwe}qo6B#1-h@}K>muRg98 z3~p8=h5!D;B8r0|=c)g{i@&e_=9nUmf}H2fc-y(SPR!r~QDiK*?dZoDVkZo9t*$7M z!TR)NA+7?s#$#hZNy15Hig0aiE?uh_W+Koc#BdaHCEC~8#MmSn{OT}5O`Ahc9wP)e z^khG=R}>|1e-v&FlXKxVpZ(#!-jX*D1EdNT=Sj{3mPh`ZTlkw4aTHtP0-L((HuYu+ zbJIWT1%oyVp7~$*kQ=8zHl??RukLF4xE4C*04&C1t*sp3McSfI=*Xo})Noi2V>2E| zJxl3L>Qf_innzOVvTw$FoYGWUii9~^(ssWcy0M1;f9yIT2Gq%gI$070Jl5)bEFE<+ zN1fXx3G|P;8a)-?kHYpW2n){jZPHvuU%5R96Jp&A01yyak`&q>_x%Fq48tt<2`wHM zEX2Qx95)(fE(tl~M9V47)a`}u2)7q9ZIq)%Q50m6u`df)Ap>uy`bK_qQo1w^(wLbu zI*ngie+HffA<}?$F=eR(jNMPeE-ivIj0%%bF0Ze>x3nZG0)(Xc`KPOEk;CAOS)`N0 z>gt_$@&4xK&AXpIPEXIWAkQ-!lrsDPeMMTRqoN>1{!rl;cq^a-t%<`R<0;pPf~hrC z*?RZoB)T|&lw|-)tiR0@AQ&M9E7Rf+n4bu zQ$?5tF-VtnfL!VT*T0)ymzPxn9e=As9Tx%_npPdb#eyW@X{-b6v2!p^{ZO4JVuJ1v zc-KuUBuQLqXs@BPLDnp{LnoP&W3Xd|vN#UXNaN{CJyj$aXviby7@0&B!b!;0TFWKh zG&{oxoN;~s-e$x+$TZ{JxcZnJ8^;Fm)`!!Yk+L*f+&J*wJ_{U!5t2-+RDa_xRR#E1 z5d{3jn#O8-Bh>whm7WkmFYbXGbw4vEGTR?zNMmLBAbGa+4ArJxu z1(=pVFeEgtFaGAy#zBhgnc0Ig2}sTPFg|Z*2a904mB0p&Dv8)iOPlN|F3NK_uT9B* z`RFLWu$~)<0)#RnuCU(Lj(>k4<>c1CX6{7@4PIWi^btt$2qciVl?4q$aL1Z9KaXy` z!6Fk9&8~jcEtA}>OkRllL#0#a1RK;TtLx`(%^<%y3Ew|9vz&?SW*10@9vqK$Whu-# zLp{FYv4Cf0=-(-im5!>x{~TveJjV^0+HuYafPklCW`WX9&| zOqsEzb>YOqmt(jrGw?dGZx}~bYDppwJ@K0P4i?65w~n@=EYfv>@49|znXZIVq@_dK z;#W&Txl_oN;}8>Zf9|B}fy%a0IN?-057JkiDx{R9ts?IB=M$a<@cLfQN-1;yk!wNQ z>36tRFfVFZ8iUBYjDG-mT;R#OZY*_9bOdKMFUHDtS5yE&*8}*FAnjxU0dESQTD27! zMAzw?x+PZsFr@@BvzSmnzfvE8R&@`ugAx=P>I)@IJp|r`tn6J}kD&G44n$~V!mw8wM91zAKS19juU9kBt zUzPT5aNn1uSOPVFIv1MlQC%=ZeRLGEq^pNZHv%;hf|$J!~*a`Y(93Tk-!zE|YlyA;*c3@Hj`x}n4uWSF2N zaZ88!zC>{?zUmu9r~?d(kykjjNFGGrVGUx*(ikcmN=d+fWnG%2gaH=rN^z-(Q=?9s zyB-u6!0*%CX}}e-mj@f1x&<{SGS{`BL9sc~t#R@CcX7W&ZZ>1nP9YLF(u1KJSCq}L zb<;{Xzj?Ws`&Pk&I5XY1Bi}+j5~fB-}IBa+LX-w+b))cBJ1c+ijzLZ3>(s$l9%0gTUoV41vqk6OdHR1qPp_z$b>tL z6s43t@@W#;hC_zRleV=CmnluwYD}R<>t3%oc!tzxYMXC5Ih@-_lM?Ay=qZK{f=`5# zu69yLy%=I)DkEwWqe7V1)L`9lq7RcbHJLpb|MwAwu0Fy@VQ% ziwJlern!HI^{pz)%~6hrP2zLu7=t^cLUg{{uHT7vd|3hhkq*7S-q)yos_xK^GF>N# zNE0C+JL-Mz>OoQf)aVFTLq0$I_uYag{!^`MH^q~fOZOhNwc;Zcfle{m2kVz!BUQ;{ z6%HPM9@#$mXnt8JU`7<1mZf$1g0M`7F#JOf7(Np+49%VHO@ao9R(&4DO1ZLGL?jWb zn%_|zj=}U!4B0U;-P~W?Zmw}M>Efl=>KljR(->Z6uX5*p8aeJV>py`oFjL_mzSXSc zvGz<_&QESV|7SC{Rap$gr9TpAaIBu`_@??UxaDf)i`DxTyRBtADeQ7xN6wcNM@>dDHXHI_awlH#+;Vy$>Q6&`h^2$ zIg^CwSHk(pUnI_mar8sIjnQfm7e65?Ec6K(z}CDcB@LQ7mPK2n81|Ib(%UR@b5eKg>`rLPB#X1ve=7;I#+IX++}zwac>(nmr< zpY$Fq{&Uh55pbkKe#&01aJQ!1HvjyC=15qu>4$Kr>M)GmuKA~|jrWIf+9@U&rD2JC zfEtb;vpQaYXeEZth_MS8O-ks;{c1LWB<^FXI{2&-4x2mi5i=w@I}z1?H)zY9nuy{G z_(JBgl(>^K(B*ncMnj@f8nXyt%+?P4A0;~H`DDs!W>m7P37{`R4H8%He)+Wea52G{ zNpm+&vp*UD0~e%hFtu!8U&%%zh(%`S7U}}NNN}PT&Z(ARgYmL`brnH^cYW^p)stRPH(no3P!YH-f;6d0Bl z2|csvYw`20CBp9A)~WzV<3fTfl3Aha{wGK51T;>=rC$zBMZ?=+><`4_0A2EJ3Fu*L z?xx15PXZ>V8b4O8suOT0eaPD_0i?`>IsMqgT^1=krM=`m!LaF}4FP9HQ}x)t7Qb7| z1jm36ca3O^DO_)QK63{^b)>POUL@;(r{U znAk2+7Ny2bDnfcFe0If%hI35bcqS*oi6O#X70Tll|$0 zO4Fn2eC;Mur`4nI(0VfgV4@I0VF-MZlE9#fA@aE-b@^t0k*9K>)hUd5m@*W|2h`Ru z@md3&HkEHm&evKxRf|{mWqU{CU}2^9h{h%;llb@M91hiLbf$SnrgM&?{}>e286IoF z6iTUbLlO|+jRq%3E9}Ax+}s(}D}3GvJZgHclW#S$$bV{`i7YIkFFr3qh2F2v{J(Ud z1nPYxG#=Z3xt%klW}({{_*(Av+j{Bkw`HZcoEUKyg)?5cG0m>SkHnLv9jD1#&c|2Y zhXK@va{E%+_eZk)Q67XJ=5~4|=Tpwp#fulw|2}bg%BUdb|K8~#n3}`UClf7h9m7V+ zD{ge$p^7Mpm=5KWeF?!P?HPIws`{$Rd^k?iiTY-L0^)YNmy4If?6Dq4yl#X0$j9 zBHLSkUd|Mg5*syc_tWL|tgJ&p=rrGsKjwzl`er;~KF-Zl{@cf1|K+EnV{L2q#K)O! z9r^Dre?5LfMGp_`{>K}*BbX1DtE1Dy*91S0MXSIB89x5>;obE6D0jR0^BocjBr{|C z_{;YzZT_VSm`H&kw-%Md%)1C=`Cw3=9F0XS(M}`n4Gv8#~$h>mi#xvK5 zZ>QHx$tlBWP|<_^v~bfe%|1j>U4dC|B+a1G*Sra)2wK|UFHP7bvHvv86EwZ~kC^6^ zGC>0k!&5DUVO;QxilN-^*6OdQr`EQg5XE3dsgB6*pgMB;-Jx!|HYig1Q9trJX6h^g zqvw}NVgeg4?>>2N%i-Qb>Ro`*Fpg00IW;@qS7S#{sH0F^B2KjWqk?w4T%G+l{{MgL zwXScMo?-$V12s7_m%U;FMSsn5+%^)vrt}mjUBao-AOs1Lpbx3C6(@Gqc4}?8_8{$n zLqZy^Ii$=VYbJ+0fnP=MxZU_8hclyiliE_1Et^0C{rC0PjnBlVjQIFt{?0dNKfF)K zU3cb_yR*+{OnoHguY5yZT%9d_8b;(Qhm``qT-~1O&5R@gNjN80n}0L!#q-70e?SVX zV0{)Ru21_2!ybrH#Ja)4nzsOp)S%vFaDrgYumA+bZ*=#mhU3BDaRu6iS zyFkETb);9HJkTDac5*+VQB0O$tUlehvg>3)ZoCXX|L~p#Mk5~3B=!R>;@aC}dAs0| z*DU^h_3K3OAX0`yS${VRYGnB4<5CDJP{@+SRA@o(WmZ&WEy+I?0jH_p%#%CvqO6Ou zzU$`F8Eg%dEod0W${ts1NxEI#XIpaHv?OopzHKTHc}G4O<1l3$hE_DrjtE(pw4Y?3j#~{|hx9w48M$oej!Cl$RfFh!)A3EbiW+ND|8x06+IA=5A z*B+=K>m07okbj4DnXgINlWyG%RY6vgteT-NQ2QXJ+>ez{m6n@qhu^z zhlo`C57>EOZEQ4jSOYfk!7K+l3IG7#7f{yeqi%OxtDEW7aO9jKW#M zyBjvL?ltbjk#?fF`n5{T<@*7!tA9pTS^nu^0g)!6F!HjtSbi$2YWc7L-|NI{3nd44 zzkeBT+B_rYKcbnSXq;nILm_t65sFl*vF)`gJS1B+`^m>3i4up%X{xjDizIUEbPO0x z5(`6~vfjlkKoL;JC6|xGEOr=_Z5KMRIR!#T;WlEr%1e_Sv!c&@yqFO^@rvOk;+Rvy z@R(ElsXz8oFO1y@bJb!Rf@XmQ)5o7)zJJ+Q4(M0xsL?TJ)W10e#Fqh>j zA|MbRF%TXx5L^rZm5RhZVN9V`S`D&^CE#kl#g)34;|k=DyZYs0bKtdbQrUv&&~5FY z<4V_j&?pE$`MnStCv8%0dERG;HMpLX0WjF4Mfuk19V!D@ zGtc1>LM#wt%?r&{03J(C4x`Afi(T7P_hYERo-jI41p~e7Th*T^Xn^EJNhaC>lZ9r+ zg{+$%X-ifUz%AhLa}pUsO%051pwxg+n? znNW#~W>`VX@p))^*{P%meF2%qZEx6U6GLMNwK15qTS6zwFYi8*mk?;sv-G>_Kp`Kx z#IaHc*J8=3KCxvmC^pjI(B;{^>_`r#0(Ay}nhT_xy5oX`tg2=a7!vz{+94w_WZ(ii zxWETM&?;NPp0Beu%X`@>dViyP$z_UsmG2=Flxtu>O%IJ$-rUvY@3PRAi5;;xzqx^` zcz#GLpepz-+W#W6h$3v?ZDCPIZSjv5&THjk3mx)fS(p7IG>a%7m&j|z{($f2KO69X z{`vcfAFx>Yj+KSh4Q%R$#N~!}uHi8>K6mgKn#qKMN2na?d_dW;Vt;Or5{i&RW#Uf} z3Wudwkg_|49D<4@9MhHQbju(HzKv*1)A;|-H0Vrc;1N;ekL7qvz=ivI17C~AX5%Tc zkpky>wu01lsM`Il!BOxT` z9&z_xez+vpgu%}rGk-fwo0021LmVLq5w|2^!Vj2_rO{kwOadF@<5}*;)R-3Z5Mzw1 zS;Os6RREQ00x}0UsgTJ5DL_&;3p_>HwWly`XBEoUR5O?&uEU-V#`Z+KJtblT9mhB9 zpVvsc9jlO5#v$XAa&B%;2tsPxRav)wa{Kv--BsD+bd#Jvxqth+KiRFmFOvycAxLFK zQK~>NDfMU0yubmE=6uHePB*g_{Y^5HeSyjqz<{x%`7%uqHbTBvR@n;s)VY!z2P+dr zvs2!xFb{6L6?D>iSbNe|tEc>QpXKt&-NlLBg{)-%^w!%GTaiDLTPcetch|>vUwgIG zr9Mi%2c+*N_kT}_X-_3w*0yDK2fd2yhjv~q_GQfb2rFaVwB_%RxDarCwt7;;mpxu^ zMAj*C;I)03A3uOcn!t{y%o}$o;^Ww-uIDBVX~0s~A7DmEY}}TsvY*hShjr6Q@&$|z zQ8!3CXKr%T`-`Jp_|3Y)U4Su~MyJk)s$;+1csQ6}Is?ID|JtX*0aBZQXjm zYjI7iBW_z#oFHx!GXiA~C<{kGWR&q>oS*`qk*)0ubYcTd6me`@3&z>uOTY!e!E2?i zzt=pF&41AKmaFT^T|gZ7(!C)R@@uWoSXW+inCmEfk!tGyu~rfbRq)aN2~GtR?sgsU zFeQD3axL>ygq~{t;$vgyn6AG!FVpu}HO0=@Jyk&~jbfd9^`0bjnzxq1-#jvgQ}i>F-bh2sP+ zAvtyPs|VcoE(bOru1rSf8bB))_#=vNH~1K) zI3lLQ4X%52z{S;Wd~KOoBMvBcPk`Qh;(rJ&KroqB-A|ah(Kv`PAa4#RJY9^@Al&d0^Et=JwGWX({FkfyIj@AV&aAmme3v zdE~deZ&r|!p|5uH$ZE=cRO02;*+1duzlB^=SC^P>0v!T1HkY?<0!M%2#u0tjS4^!R z45q{}W^kS4X?NptnQ z8}PYAJ!g+3!@3&CqH4&kB>P@2$MOK1F0LZR2uBK z0YGH5j0=lz-Ryt%b9GzFVp^8MqH`S$-7G1h#RNYLPZq}bE8O`|4{K79ey9eymCZof z72Zr%ZMU6-j&qu3a7j)}WdPVYF%Xbq9*cVe`k|?|lH6CDy>ZAIG|yuFyfHj#JBUf$ z+y%bd%Tobi6&A_cx>;JF$0@;qL*9hjeSo+FZZiP93r&A;asz(&%LJZLh`^0&AoBMg zK9F}aK}DG*S@iS8hne6sW+I8ME`B2KFF$^K`_o@PPvHilmuYHGxs{uC#(_4mD5Hm) z8C8$Zc`0ZLL~yXiv=A7b>*)L67jid{2cV`TO*_ctIq59l@6}l>%{{e|)kF20Iya$Q zC;|#N&!T^!nE zkKyHNHF>+Bg@5}dLTa}A0em*0j#W;jsf*-Ym{3WWP%5t%RWA`}Ojic}x~qR~I=N`? zboL}7r9AbeB~2CnQ3Hiwsd3?Oy3JyIpws~}$P<6$cTXyaQhnF7om|q{JVP@XkN&xq z4dfSuD}~}#xNzA3icH~5>R!e6oXG8NcqEVs&3>~nPsORw(Ksh>+U5;#7G0ayO)s0i zo*O1#~)2}SXl`HYAqd~{X;Icy490R~wRmlz9G1stp4-`_? z1xVsF=P$YND$6yOpE4a_3QWK9rl&M^_+9H1bd0bmjS&Ec>W(bsN*NDHOMQK-_M2f8 z73c+pqrkI4(E%~Q{CV1;?X$kpL+#oe`r&^OXnO;9E^9E(c6RG1^mE^x8Pgf^zHNrC z-SkkzpzW@!-3|zg6|M1=>;Vg_;CUHU4YXaz+s?EAGRSUQH`Ruq0lHxF5_%nX?Oojy zU942oJc?10(Ad|rrfn4MIh2A)(}=?!e%?9QO2s=%1Z#04N2!&<+y0j4QY-3AwSj;5 z6&@;)YNXKTUOBCOoo6C}ev<~i>GtBB1Id=gj#>A0k5R!p5{lwz#FM^r7oM3*#vU=1(tI*ZpmOdzVv(z9do?Q#FXP9I%u~- zXQ9)XpxxC1u!0{0o}f&KacKhz_EA0io3f(>MG@O7DZ55GWHUWV@G!3Z5Hf$$jTjgc z)2pHDBKyxko+Vqo(EH*6;59(Ufy=gJ#N%#u>3+kyGP^?V?;=#O*7VW0h_zNZ?xjeww zu-nL?Zkxjneo#US%2*`7{{D){WC+En(4-U+QH(;9-~}gR^WYJLI3|CY=WIhZbw40l z-s(P>A(nN&+fFVo+TJync^=aoGuC*;sYo*2!h%c87+1j+ zD>taDB;rprq=*urn&h^^x-JxIq?~4HZYaU^(+^rKsZ&4|eQj!eBT77+e(aP6-mkiL ztNfT~ZSCE(pF$!+vC4m4yrK`Ee|dlT;quexacR!O2{YCP$!3OtMrV$7E1c zKvm9*5fxO?fDThHpph80`*owkGY7C^w8*hdXVCDt0~K+lw*-G_*h6B=#s85WrmyUIFR#4`9|L@P}<^<)5 zK4_2C8lqnJW~6`TeuV+ISc#CS34K)htpT^~9;M7QI|`<2nm+2|;hV8zAX0Ll77z%z ztrk6WxTVw++Vs2PEa*NaU2Z%fq z>awdpU90=d4kIbtro*gBaHyyi8)4Q}tJwySfxNv_qO#L}Ga3Yq#mZ?j5Yk+zaVG(& z3J3bz`%qZqdFpt{%$#8pK8DjadcmDQDM@?>u(hNDU>pXha9qIyA8;xHNC>75j%{(Q zoW^;bK?Q$^i$qQ7L6HG}5A2E5AIT0EXN8p#8gWrZ@_?J47yH4M}Grfh52ordW#PB%0x9kR^ZI?a%Z&J1o2UtoT)Ym~NiqoW|~R z4tSDiB4Y(^u?1cb?=Iv* zl5^qQB~XZAeq2Bu=ymQT8O?p&j^O_B$Ax4>zh9o@Ze{_)t9hpKFEaSV`qLG)kWYs= zMErl{AujgI%%f`fJhxd2+!aUM{_5c=@Y~w>h7-wj+$Ug!&BT)hWIU$0z5y59sm2kX zmJnRH#$jH;k0*WsU`B=M_)w|YBb**alF-T!S4UO%3Ikb+sCW(WFSMM&*Ustf`ti>L`DI$gVvfSv+H)2%!zN&7E&Mbw6Gg&&>s| zUauXD&sp zA;BkEwSO=pxtdyGT#Vf&lu2>9fF;;wjZl0M24Yr>0(LU~fy^*8pV z^AYo^UX5!aV?5G>iu$&LpT^pOtnu4*Zxk8QQj5U?PsF_NRQ#0^a|&#Iqk#hOqyrvWlq6`fd&Xc?%PTOIPyt^ZSbny^HojGxp ziHqdOc<VLPA;6A;w={2$O#@OU-95oV9m5TMYxlu#2mPqgy(W{i51Q?+(Nc$IF#l z6s+W8I5!Iv^KjLNI|`?cV4C(DbH#(5ibldf1TpuC#|+732~T^rK?fYyO!d(+wTrjR zd=hpm7yQ)*zpK?wA5A=Ue`KTx+49`{!C|gGnbU-|E|QyeQEl|+jtT^wj^G>v=!r*l2P+wrSTYCn&F?e)@YB!a9SkP~ z>f~(BQU;YMi#XIwa=92 zWN%_>3NkS^ATS_rVrm5nGc+(cmvnprUVj^G<6?oe7bq=J7B>{Bl9V0y8M=?6ciivH zjTc#Rut)+s;&A3%zw@0l`rQiy=7sdf{9NyEzW+sfkKIk^J>L9&!_-61{8;b3cegjI zFc7hKyT;0tp4@J4^vleX+>=q{-R^JvcYj^n{s+5Y9TPz;vJ@+BH~5bX7?wQW_d zfdViAK9}Ty0>U0kB7D)Y5@)c(0VaDZ{(*PdoAD0<6D8R!{zWFfIhVwO0y+V6m;ZtS zNCMy7mq~*H9RVkoXM+Oy0dJRKgaU9Uulz(tZPgE5YMW);dtV^{t`NqGbj?5}mc zS(NF?ZK3_P&%c(J_=EyO7*Vv%(lbcw&Sf;G6%K5Nd}HXAgtTGt6_-mUJ>5}1opbYI0LNbYD=*N3a^6iwHc$HgLb>-SZ!=< z_kT26Kz;((_66alM{=PFp{u_JhV70IdeYnjQKub;y2XtxMtr?A+FKv{mBBt;7zSFc z^O&v;G>A_|ow*(2DM|~BVu`+bQcg{q(r_|*0v7BC2@&pXShLL06_KssR zha6oXaKKwE2U;RbWD_fxiaQVUl%+KIy~9uhf9~tJPBNX#eza`(vbRu$H?>rUfLKthj1kc) zxBgk%Zb?LeFEK`Ky`vwM;K{*Ok47@WCUQ@KFl39}!Cf=A7}_&2QteV-qw0dIV089} z?c|TM73F<1CXJ}E$HY_>tfR`0Q0+zYw(NTc%2sWFLUDL1(C!6RDmhOV5I#D+w2vKR_bysNxUka zmEy?>!(38!aufPjJQsB*B;WCIwx!d`xKnRK9istrWt}Q{PA4+)P@CrW=0KdctesDa zo7^{oBcYvl@4<(x+z+jb?%5|E0_=bLM3!p{`KwK5=c&kc5G+eH`BfnB0QmWF`GKMf zHG9LF05nb8kA6e{q68nMC?ojF1Nz>-9MnAJ*lB`R?geLmi-sM^m6E(lbnYB0t@#0` zvxtGR}b7EaICTGkZ??cu&xb6UJI@4 zEgtWjyI*evHT{-|VXo#uv3L~Jt5UJ4m-u~@%1G5PTAIDI_LB{hk(G{wPSHZq^$He@ zs0}U#o(p_Qq%nB$mjpg~IzROl15<4#1?0#RR%x?fm)5Exgb*^O@RK}@I z4kr>n?5ow}oWrDun z_Wd=!y9VWUu0goRI29b%T6ntm#OJ@5R2C8`=VFPBm+GtVFQu|lysoIU#NU(OJBsC9 z=_5mwsSbitpwu`O9;Y$`E>eZnd+h}#s%d-$N5~I8@2g$0`+R6dsG=l0p8rJsnY5)| z2ov~{{EK&x*Vnm2*I5eJf*TVv2W&XB7dGb=?ib4a+g}&|BYTD5m3~jz8Rf0Y7>fzM zkH}K-Z+A%jM|Q4bYXk#iI`z~59Dx;j5XVSY_e7R)*{k0SKzCo~cU}rJ8`E)c7YABd z=3SK8)I8G1bQ8QQ{-zV9#OdBAh-n69&{Qw1kdz`pG*x5?8mR;$_JZ163P>Kx>s|(c zZ>h8tqH>(yRY@|yF}0+!$LynBh~0P{9=Ls|W(PY^fG4;@bA2;I@ zOcO~K{bDGeD7*loh{}(uzxr)c*r_fNn&{@ijIQ?`#c`^!KxI8Xir|(BLt0}uA(iAH zswP8%A6q^;sU>zZy^9!F-O0A~LKq|2eg?P2m*|S)og6j651$jXVmxYGrJM*QFWhpZeo_#-2Y=m8vxsm}|6%hGv>7ft!2aI>JB84a;#fc*)r`zYBKC z%%(}s!blkQzTcBsyV{l49>g&F*wrX54(#9a+cNFK9oP_ZbB<>85}jvhlhj?^;75_b zIJdrXl^+Lx3jYc)Ni5D5u0FNJC<4^mqMNoK&GWdo&F;V|G>afQNA=N!uMXn38sg_X zYA=>H0Wa4N?wmH+bglm)ekb{fad_oZ7x7*+5NoyUiKkPjL+u~!B%7R7b>i7{qBMAV z7l-%@zj;+zBWBxzAFrbFnCR0#M6tv?<5jiS$EbF=QhU<}MV*uZsjO&NzR-5RsJj>g zvf2H2gjlBZ2o!AK63$C-ChUe;fw`>4gm%KQ15iG-#7bU^kDKIyFJAP?$^8bb8f_U; z`7A30T+^l#N}ZGyW9BnNzK(=y;YIwv$#)2uLN6QS zJPJzT_7}XceWw8{vTxn04#P5fv0yg!HIK(b zBQHI2`c!FVleXN+ShHnvgn&MJ#zoK+9e>pPWkXLN2lc(0yPQY0FFlg*qD$>4osQ9R z|8x87j6f79kB-xhax0ROd$An4H-pH%v~|$% zMF>@$y?w2p%)17+0O$9(q`j?DpsvE;u&@_Ql&|Q}O9u3Y7o8dA@*v`6wPK)r#TXk6;TL#WzK7Zqjj+qf(pmTSCK6MSuvv)`u=5IHrV-2iw(Xkk+JBfbe!l zG}cK{B*heYrTxrA6$S6h?iS?J%-Uh*8ZFm~N{S1D3|sgY*q1p>2|4(2MiQxsoEsgd z^1-_)DpCc=gD>ac(f=yC+DJoAqAXUa^~eLkWgU?UzBxBW+Nk)&liqz<{js-dX9jY~ zciOv(gaoHz-ApdJqwgpkEt@qLz+WBT97MB{9H7-GJSXKNRjAv)^iw(Aezzqui}v6U z;SNY>u5@cW<518?7^Wl#H?5&d-Zr29;iB%VxoKTsF{gDyTM~01LLQU3-3O z0*K%g7O?C~7`yOK%J^zz4zviSSdo-AQfqOHJvzo*`IJlXmYi13W`^t{mIu*HH}v*$ zBize)=&jJQHqbagl5R$*Wl^X+Yo3a>7DC}@(-BX8TG}u9oJRX4U6h<^w7HjBF>tn5 zpDa9|$(853j|&2S{^a2D0=bzxM1Fwdg{i#rbIu>FT>+Kb_%?-d!gQo_96m_~$q&g`FFC&PDzy?4e88Ukp`ct&B2h@bJL zHodG`lzbc&tDhzOu^bt9$j;`Sm|r13(Pj?JpE* zc_qh^&uZLEV#i$X`7g#QkJZUG->&ALpzN|#7hjq^fBjAuh9lAn+ZU=d`=-SCJdv=Cj_Svgp-q0&hZ-BGc{+f>zg_P zw9>ecYE3W34f)0YNg5SAhm_;m{D2*QUIrkTB#(!9$FRwHvh?B>qUKodEJn2sak229b>n!t)*3hq zddUDt{R?44G6A&UI;}RD0Cfm(p4QGB01pgMsmhsZx|mKhvFOxTM~RsNc7IW=d2S|n z)D_BuvZnC<2yRxCK;XzX94`L>|jCo9!u+O?yD=DUCFGR9bo~2=kQfv zP9sk8i^x! zUG7fL%Lzxs&cvmagvjIb&HMo8)j{K0f3`{~E33=|%pLtTIP0kkWWwRLvI%;SI>D+K zEDTPXLW1P8K++A^`tODFNwkFE)$t{ueXMVQDj(P0{*T}wjWLUCIcol@Sn|iUP}Q(lZWlzh>deilcV9!hFy?Q9R7Cl;8oy0DNHNENQ$K5) zDpnqm$~gclTKQM7ad%{l>~ z(#rnLX{FHvdQIk0z{QcOxz{#1R2mYoTtgbTV4kJv%&IZ%E`5v)`!^uT?D#{ysLH z(xy_jy0>T!m}7xq#A5tO-oh{JUDsn={Ru(G3&aT%M7~3$(I$9LyakhCM%nJX%In&- z?e9r$c8Gz!v$v5$@y|-rhwNlPA$a>^DkY-xw zzNeN_VZiT0zg`F;XmQMWpqSnY&ur z1IM!|E#tmb1j8ABwO@4&5mp8oTmJDA)8jR&DiI`{_<~*in@6+zzwP zh!ej?KUJPSRiAHEZnN=sIc0`2+R1)AosCASS_nRcyMk5IF2k(ZqNK|x{GR50ndg`| zAhwxVW1vwQ+I(7=8~--?eFa5EufZSz3+RgLC#7{TKlY1Pz0^a#1mx^mFoT^)3guR0 zsFAE+q=~*Mjp=!6{dbyluN~o{XvG0XY~oJvuH^`s28u4}B^Yh!C+?1*QH1TxjXRuA z2LDZXHP4b~C7j#PX4AS3(H{t^eFSZH*v4wT5(-bdl3R6Ds_pMf*#gu!!E9d=u0TPe zLj>L`A#JY4LW%lnfog7YY{A&rN|UK(QD&N8gc7y=Wm1t{A3?U0x$(D0M5+?TAlvhn z@<}247K=GWchpzGxUX!_tjbhNlMH+$_n#x1%N#mVyFv=uh$Wf%+m89}!>vi<(Xiee z%9~Uq#eRIp6&AQb}%3G zl9GvNKWGUH;*s`dKDJ|14-ws;@2JsLvrqS=$EGK-cz+90z%ds)LoG;98kysg*inb| ze!-i;Uff!EGilXb&dBIJ!Q<=eIT*fr;xo|~`*oi)u4BnJTY|aBsTq&xRstoH!tMFq z(v(Tl<*d$UMPc$$;GDk=PzjRPJ0eFym+TqA7FSo%LP}U98dkK)#ZT_i2Bl82t``;6&=A`};SG;32I;_ZJ3yZFi*VHUpjqj-{Vu6* z{IWXYXbCNRSC1`C^Jo!>(gz)lG`~dnXtNlcf1o<@x0VKc4R)rE=o{WoZb+5u>+FBn z|6PuP5p%%sV@d=|DGIuz^rA`(@AxvAdy`XW9O5iv1Q1F#9cglV!~>5C^@+}v8>@v2 zXFTqT(oWvWrQud-uX}rGQ#JpR1J(0nv~x-cZs|pVE_*u0W~0!bZ+6)Gyq+gdCu9h; zjV@kE-bwI?VHRgWxKA(2*Ez^(`n>-4XQjsciGfK0(iY;Vr;=`$<(SaVF9~vBnSx7y zU%|0JeysR57z{DGkB8h|puTLdIp3y=ffX#G(O0DuFVOy_vqK@+;+=sTg{ zTlWaVfoixl$`vETtK1aDByKQwa3q&^Q-E*G%gpndoQaolMhi!%P54e6hBD0@<;(58 zG)Cu>r;Pl@n(eV%3WSf}T^9!zx)afUGNQO&>Heg4o91L5nGdH&u7YF2g>D{EfKZ}+ zkROikvz>_~))fTeo!FvKg^ab#OYR6mm?s=^!WvdJTXW)iVg8)#p?_+rm&pC|qv{AS zPGhKybx@5+gymcUE{RVSsU=O$iKU}ETl02e1D}Q~IVf6yQkb7Y6H!U2Ta@EcOA71Hv%(SteIvxzXwF<2~Q6v=TK)_!Cb~IDMFR7Xx*yD!mK{=ERQ_tIs zTP{<4*nCJQO92xjJgctD*GtaJms3sjg$^)t2s%%2QZ;9l2h(z4t+?svO}=;V-arVj z{jJP`3Y=KjG3Xu)v*-fV63^@cJo{w3g^%ICy2XnU+B#@@L&iW zek~!(am+3^@Jz~Gx_tO>v_MD=r{^L$G<1I>eUYq|$Y{;UqEW|m%Kg$JXf+o_BHXyX zG|mKCQF6g!K^*7}HF&)VfVr{9$fT9S*%#iu0#U|&--~4U>&!NJmloc`hK?tHCN9H0 zJLP^Be32-DMZDApYvgwE(4#kb+?l{bp{@J%%aY5u8#GUidLzs9kjCAvd?_n-9jz!6g91THNQGz(n|@cRy5*!dJR}%wk^?2 zPsjZHdkk#Uk!rP;{W*;8kCY?w7>3eur?AF@ORjsupi#KGuZ)?T?yQaS)z|w4V5#|Y z^}ifg|E~*%=V1Lep|flPNCV?G{+&^IbtkQ={pAbOM~cTZzYzUSUkuBK4;OY5Mgvm{QckPcJrtYVYDi!P4;|qej+olVt7`NPkzo0% zFd>oPc)rc=0t*6|F(@n)vY~SbF!`Bb=t>P1*w<_(AE?4I9`Qj$Yun z;vJdp3R0R}G!Nom`W0}D){M#hS43;J2fQd1n2-AjR*z=&IY}nhA*h?tTQ#5XhI2_> zY8JKHe>yG}vo}Q&D{D(lTDSs#Unex5-I`_a_^>T~y1|i75CbEWxtN3`J0iym{PS?~ zm^!jQu)c9n6V*Qn)zc9%%IR8(F$xQyZZJFZ!uLRj~AQIYv-hLXHquhuh}u^()Tn=UnBa2xF(`LtXwYFXXGsjxYbu zkDDm^^yoORND7R`#U-KDy40acup>msRn2IaGaB8+SefZQ<8R(}k2>`wEXL(cbBlp4 z+jI&db&L>`r@V_=leh}$sOBdr^+z&D!yx5T(Zd#OwoI&p#YJjKDl~Rn!Kz^B#+HbT zh$O5|2>m|YK%MD=EzN^{)30~Jv-DO*rm8RPzw2CClLur{$d`bVQ(Yp`JEDlkklmm> z7gEj{++y7-0%w}8@ajh&pHD+d5PKN5F8C3bVjj3%=^y85XFlGgUDHxLDPlheg;l}) z127|Nn6l(aE(s8h?6;~}u{9Tmv)4VbN5SowLQ^Q&LRW*-8j|?NI4sJ$`U@_B_1nI* zOf~0-ASaL>rYCb@?m4xRxT8d&SxJM!oSPvk9JyW$s58?^)!Zdu#6$n!_k`Z^=tqhW z?w?z(mh@~!ekhkKU2rJebeXBa8O~Hu42J?!<(R_4wvy&bOr<-*B&C;_@fuvFeisHZ6KV4fK^J21LISmIyb}BbWDe2wV|q@R(X*Y^IXCjkhXvLY z+k7vd!kt;k?Z{pBD4~zCFqHEngDUHBMXu!llD+oARJqgDWp`rFRo7|(UibP zYb|h_*Lq6Z07Z-&@kgUirE3BTD!vvUZ+ zu;6DsD85pWwb4PxbJBMM?dOlCEj;TArl06SYj^~IYEn2ouxGOTTSxs~_0>Jf?BMEW zSNe8acz}>QYSwXyo^u@2mc~7q)ut6-_(i}pCY}wgZN9SYG)EmCm6p&4|FIZx$5_|C zkSDvyULy#JPNsC{EGdsfd_iuXPk9o{@|aOP7qEYbK?!&xh2j=|NR$^*?kHn!$Z7wQ zb?oRy1NxkJ{5b6I6Xlr54wGFGk>^TUzLAR|hG*X^GtIODe;1}uHy~T2siuY3vKRqT zYNFIq*I16etH0iMa<2A|J6b2@ouU<8L1c)5^+Af2l0C84Yoy%^$7Wy)^=+s7)Z9OA zjjm;(Tv@kbq|EAJ`ah3T$#}EEQ{in|ccTzTB3~0rCnPMFmQG#isIKgswvz&kSRJ@M z6XWrA(E9Yk6b1nUZ;fLX^y(C za(1{SY@E&foF2OMehdviH^RcWKLH4id~?{$F7K1ooWr(PCCl3kQ3g;l7w5p?zO$^4 zr{kJHt5S3dJusvVI0zP(P~Uu9QYgyrDGzpg@ukgDo4#g_S(MmC=5^|A0NR6^FuA9> z3gG)rHvCADm!4xj3tt{IO=A>wkN<-bdr5_4fK^Za596osRnO!ljCP$dsAnSj^LPKq z19ZsltE`2Dh?X?k-^V1+S0q4mMa^%qns3^s_Gw}bgsxqDc4TDUhcU2aYIes>@h)Jj z#wypWT?AV{VwX6$)}0@Qbj`us`+OF*)fdy9G=E%_hY0{ToO*)0mAV6TBj{e z-YuivrL=jC#A?hVQ61=DQvV#+`E!5K_rU*PQM4={;M6;j&e9t)AB*lq5{qwKj!JHyS zIf}PpT}IMsmn!l&GH3ueMy2s3IEr!SS!!~uyz9#rw4n_w@|a`u9g7gt%UF*gVz~3v ztvn=y%)y?#^lZ{gJsO9r+i9uH7;0f52JO(Y!3dEQhhL36gj2Synfxvxj1XZP@-`(A zrBKC8bg{s`v5d--LF;i)*)Py@biNaQ!VUHUnNU{4&G>NCfCGS$EMqvuKDd@;3PEEt zzOl@Bmz6mofs4K9;t;2vy!SZ)2lpCrRudNn>8zFQXnN0uVl)fs4Z;nxyRXMVuJJvf zkyQ>`(A-e3_8xs;A|?=yTnWKz?-_gwXS)}!?y|eVJ6(kZaA|071^1OD`WsXHW4*VM z_Z#8Tg=SmDMkA2H-hZgCctM4vVC6jl!Wd{PIeLpMJ-!MQp8 z1u%ptR3!Wt{{l#XxY2%mpez65##bhJ4D^!cS^wp?n7W-i8xF(b`J??-gu>&ZS+{w)Q1ZjKvM03aI+t{dy7ph~La{ zKsg>`lY#Y&rR3%@T5D^GzU7bwj>DFD%}!N-I*qEOw$VIUTI1Iay41Za6w?mqR&tqK zxstO}Y&b00?xDm)Y5Tdi+Hjs1H@Fvw`&PO|=z1KI;@T}#i<3enu1f6nVZKy{{nhqD z#>zNmJ0l0gn1F=;PGC|MQ^a+l3%i;fjq53W&~k;G#pFLRwi#`|IQzO^ZXol}a#rP= z@`1WFd80P*4?Fvc_K$FSCb1J5hqf*S7e@XLOKwrD`3M$S9*$zP5I4SG6+^BBpNkiB zz)$h-*HkmiMSf95^XwdEqInr|C?~IrCL-iy$x;L?h2k)nPu0Ml6r_-&lZ@St&bbXhWk5eyiTF^6wfGS)9&7ak|8cMG;F*QIQ=;t5c|2zM7 zTR)^atl#OlDMZ~ds>(Cr+c(a2k`GpCc(8nb<^5@JtmqNttY07mcq=&{?5}P2NU}-~ zNJ%f?jcE|$0N)ZaVfPhjHZFa7H0AgC zd;0?{7#LKtYG=OLMKlUu*54x#-A#fx%Xac)=Dv1`*;G=}j*2aII^s9g39@ccfokkc zXTK5DsQF0yUx)F&2f|&8ogLbgZL?Kw6&~{c+f0e4UM>f;=IN`X(2R^;&9CorCLXka z-~3>w1w+rJqWoSPe?v>j*{AhQkRFk^v}{KK3!cvM1{yiQAtj3bHY%u(ZO-#w7hIMPTm(D_*H4e@P4NX@~*`9a^ z^r}GV^C;mjmUWZAAp4+pAsavTwK?IL$Q$H9hUz%7l@=Z?phnJSp;~P=us>D>UuBkH zW{Q3cz2k3mkuM7rdo4gMvBc}Ox37qU>SO4w7o_{~E;Upo=ms52*vo)WC06v;pEuUc z!?sTCJ;5rCdM1@9ykWJ7<7nEuTRgMnTo~bB704+2z*(tZ zM+hGKDfWs#god*@90eX#aM$76BeFn`+V;J7?}`gk;snW5Cv!Z_S_&46)Ma# zgJ@w?d}Yi-8deg9f$l46fCTeT?r!M(*1_x#F*E_CADm5NpeD-L2NH@YagnJ(08-wc z8|m@X^M%28)dW@{niVpS`4GKAAn#%`VFVpej1&i16yuK_P(HE#LbG)Xxve6rLd*wH zAW3bfE2{DU>zdA19aw|&w3SkHDmkPsfgsiOMD9j9EAGvO_+I%s*o3u^z{+;9`sd>2_u;8v)1qnL5 zk%U}KTNTDExKRDHz*$S20(D{tFm%WUZ=s1xP!cZX_rB;mctSNoq_GOZYnm4%BqsJm zvMHv*&rfQ!$ru4xCmvzvTx+kOHXa zSg7l&Pt&2~boJ|tLzXkyf6KfJ2>(t5Tw24Be;<0kqw0!M{JuWBz7-5s548cglNqI` z*k$T>;8I*(SmHfyK6lq2f@1_7Abz^#WTc&YlOA*gr~bNViAR2{ zp^Q;d|3~En$eJ91yG*o(xb+po5sDvZ;+Xl$E2!Blc*T>JA^x`LO3&+aQ<$eIczy=u zuI^=#%A%^xn@_K2ZJ4$-ZRS84J~22tER z6-HxRH_;L|_*f`?t=LMaJbHO^Vp3%&<19lypF45`Xq}V#$I0d9V5#byXGJ48|AVZD zy5g@j7rKU4v;r!5>z`r%dn@I4N-7TfT#jljR66ouL}xkx7gyk)6P-Lj>ijGU0n?v? zW|5uySr}yLp&_W?gW1kqpMEEEA_LQ7a+^J0lVVE@XKF_liMyW7+0r{e~v zQK6$ypq1<)8O?BA#5n0hv(E^kien_i!Lw~V)Vd)JH2~7ziU)eyg4Kc7m4q(;?-TPy z{#?0qg<)IbK|?CZyl`FoR*Y@T>8}TP-`L2Tlx-JLmNMN48(E@V3sn=C@Fzz@5=?zG zMEmFicfk%M*(JldNh7WqKY}r6K@SSViRa=HV37M@8v>pHN>pe5PLNVcr@#GU-iej8 zYX>%t;2!x2BHxl8zkg*y6?E3(kYZ$oyf2kpm_l^jI%_^2L(b$Z3V;4dv(ZiolYOMz zWt|nXuD=9Y+?rKNDhYAOu3a0EwB@^lkSq1G8Uqx;i(1IW;XF#TF^PyY3--iKD$#*D zFo#Vtfi2LBu^fDVeA@dk^t3K$Fjl64pt;3CsI9(=x!v9pZlQ(|7TGw%^+zi4QjaEB zHh9~ZX7nd}2wIs^H{2k2O?VjyAaTP3lTXBhFOnytet zTSY$VHSaz4R5#YB=5`I5wNtnR;|wd#N}ymF#m<5A<^+i!7AnluJ|z2i{()f&%0=gT`1XVzoRG!12^|R)t!`j5DmDg^=}JYU6k@m&QduB7$?#4Db+4 z+#6Sh>2D>B1w{yBf~{BjMZROhKGGZE&eIVRg4X57G7tGxO@#pf2*n@`gFF4pr!E-q zsbW-Q{}U=mmxF}Ili>1|;V!!2Xdy-vE8= z-Ce2YAAwX}=zK)(T48~J3^|^m`_7eCyW~?3EwX{TYUUo%|SrB?$T}4oCM$UR)qV3-U>{$cU0{iI_Nvu*Uxnl=9ftt^jS9 z3r{hW_{W`Ot*O02LqVqD>~;SdUnytIagn3=`1`+U19x+9Kdl%E>zm*cl*ErR-u%|{NUd0m zxMiqp%(LW&$9_X<+9FzW#2OTo`3;_!haEBaYznxeXiOKg?qCyk#oe(Nve(Hg;Ev4U z2OvO)+Y+>LCYT6V7|M=)DDb-6OW?^O{z%}V`98)V3YUF!bUzKV#qmhpT$#Lj)??-x z;qyaVt}@=)fJJ6kcc>wGA?MEN?luL7VP{--*f)r+mARP&=bs{spbgzzQl_IqiQyfV&J(hNBtNX50z(5w@YcIG|;4wo9D#+i#3 zstk?=4<4Jt!RR{^_!_@Eeni3~p-u5}3Cpu`?H4xsO+=mr&HI`>oOxI_1fd*^H=*IS ztjN~u^dF;_sq1nIN*|jho~X(=mXIt47a-C^Cu8IJb=L}=Jc*4@sWX0Lsqx(zMsOsJ zPX)sFxYAs=$yypJ-(KJxXZ(sr1R9F!iG6 z?@Jd}{PN1>%WPNk?bY@eMOavLl*o8^dA4}-PX-LT$Qb=9NbgWIUGYfKNY?h1=+G6Z zu-PLsg)OiavaaIgp?3k&SpkLAT=u3BI=bw?zII#&)q; zjJht={-^di(Tf?h5=NWQ1F~!g+LD%Rh86&|kS3qyw`|tk{0gv^werJfF`ChuO_;m| zi!>r?nDTv%z7hGaW zrHYx@Ge1%Hu^*nLe#o}{E|ssS zI#8s{jt3{N*!)49n~}Mu z8-mNtWW?~zJPmuQI^jLO5zk@<e*a6jdeu=k`r@DHVgs}?3y=oa z0uj#ve8Epa8FK(Za1dyD4nW6#vp7YyUnz6pZSTOrfW#`S9Lo8TuWyk*P(7Ycv-}1X zg0b>Pg2(xmEf_axH=(6MWER9W55Nb~a5;Egi4NeKKL5gHsxUnBbtw zZmGDWJbOu{3L1>Gqs!#+bTZrhttxKD*zWihR~A?|B1EH9;#A5L=1H-t)%o#lA(Gmc z4NU-#8o1qU*RZRLj&iob(1g+s92Fk(yN&?0YJmoawCP#J_3dDLTvMEWn3J5jHH}b}J#mYpdn>kWKJ$e`P;8 z8rjio84lUy(f%NEjoVTMwn1-Rh-G3E-HI{!&GaFZn9yyntqAKgF&_m_Z#8R5BT?Bc z{ROPpmcIoSKFSNG_}I1AYE4(ardc4k63tkytzxCwu`Ehk`A9W>v{}ilGLeS~rWUN>apk}%58h5(e~h3SZELBz-OZ?Ko=Io_tf$Oc58+;{w$WdUI?0?2^)kFn6JlLGZ5j$T*&xw68cLaAP+Bt4$bvjd-2 z)v>@<-{C^(#Yc}6gyF%!FQA-(WX<~#T36gdmYSlAV*AY(&R%xq1NYYzc+QC8rIAtR ziIPDEc2s{ozr0!=WDq2C9U8Ph`XakG7&jDQA=a_?rfk5|0n3Tw_7z&6T?17JH1ewm zv04!BYX$B)O*xHR^)Sa@NcIBCz|O#Dj`tTDO`0kT(D5RG2$7u~{$FeT-=ceVE>OSI zKczjz(m#Q4+Qtal)~wDwIl`Rvsx%MrPhmaEq~wFKh6{`gy~8OB@DL?*Y`8gZn<2(q zs8_5{^UBw7m`IL^0hyS2MEtEKtyZTk`gdvZ3E8Nxi`jker%MK3mfOKC_N^0@IcZ=5b*K$GqVd}kj&_B>@0UbU{{E{+%; zqfZAy;LC=2A2H6M-@lq#WY?FPV}hcIeKDq|Dt@$U{nufD@q<+&PY{Q0PWloLiu>s9 zg0o2dTxM6SgjjM4V-co~5M+Q>V2>b^uI!+yq}Y}Nvr=#ETbv;Dj#2KnP+(mk?iSv* z0edYFsYI>P`5yJXTaZw;Rp-!_tYRuGp$$#1DnQS1tm5BlDfiw{?{aLR=K|AK#iu}a zJBiS^AA%PbFLAyZCRF(suR@d9;uECKcLG-HTdz9di;{(||kFASsf5&StV4 z{d&k++NRy_G81XP+J$klC+_0_p0VOqUhl;~7a3)a@7cwI$$A$pTZ;&}C7h-NWny;oH{WnN1FTXzs-6{SDOACdic&@e|U6)q%{gj9BYBMYw(IypWz?k! z^w?@HC64S9s}r;qde$AIu$(RU1U>_)oLOuZl_-KLm5b_G!#Y!zPmi6(6u~0mBb1eX z@r@L%j=4D2x1_o^e#CyhwN5!jB0vr!_T2&5Gm*zx zsk_7EvE`j%nV(8y(*sg!f@Ccl33;K_{r-xlMQ~1s2_Xcua%M2{TAFe{FLz?{k|oYQ za|P2#XmtQY=86IZk(PJEI~r(Y--V`o*xlrw?Jm5jyC%gAg+25re@(VL?5Wz@vnN8S z$fog7WLSvup2ie}sdiycqyz(VuRWvjDhG7^m1u*-+O-%Y6#IKp1gstGY3P4R;URI{ zhxn{Ac1wwFU$0+byHI$|_&lf~#5L`$P-W5As6~CH#?w(LN&F>5Hn5?uRw>>_?iU+? z@oc!!XG!N2%NU6~%qcqN%NnZS8_^3IF;;eg*ABZwfZCJT`jeBX?^Xwl3F%?^?8XOi zV#{#4^F47=;YY$U#44w}8xqZMhpij9o@`f-Id0v-Q z+Sf!7s&>$MS$d5V#A_fosYWt((Oj`yqo|5M_HfOF^yWVHcsh9w~@G~^gLBLHn}0LcE`GG7}29H0p_i|gO?Z?s_S z8M$$RD(ji$wqF05+Iqitc={XB4Fg<%{7C1w$`ki2NNs;xeOfuHlV0;r zHHAN6H=@lmV(Xpg87nzf!R2)@{`AK`re5lur2$Ys!U*}#{N^$#w)hv{B1N&dT6)Yw zRXb6jO^0*`N`>twXMs8Dsfn_?wa2eo5qP7}T0zN;824M;&ZGGGtSa^2O_++Y5S_Ps zRR0DmlI#5KR3=jCn90+G(B(((BzfKJ*z&AbFNUpgE%LJDjSrGG%){xL-uO^d8P=q% zojX3d_Vl-aX&jK=aUoElfR`Fx`DWS123fn0%=gb|27h#Fy8)yr@{yp`R?4VDImvbt zh((P}zPCiQ5oMwoB&Ca1WZOyAszMl!Wl)o98z6Z%^_37w^)uXEmE+>w&LnnL;u!5L zCYs57DrY+h8Y{Tz<-m(O5ZsyFO;qjd7*B+L&lWo#H1;flh2g3FnN`2N^NSIR^k#_Y z^SHvY?_#j0MFS}F7F0{f7aXqTdgAdhjY5T5lR?#Yy6uBtFZ~p0pg%{10Z6y zx6%p$5aD|G%^HWwnFdxT_ruv&s3-*S^2diz1H>rXk?J2@S~I*hp?bk3M*~1Q^I&I9 z+B&dfi%1AkBu!S|ZwmL0AFtO~Bz^)%-N6A(QkrWkRfunAvjwIwQ7uZu+ zV`{2goYGeHDH3UIRyvbVb&{OMcwnmP;6bz$(A)+SZ3LK-^?c0&DQpASz|}zk+kkIK zq5O12UG2zGyFQG)(x9_#fDll{=-<0|PFaG5)-EHk-GHy2|S<-zt8`jZ_4^v5Exchdnq@ivS5DfDcClvT!uOGGnT!SW)Qn z!Yic%{1m<>l>!-a;K*L4XnlsxLDpn$C3Ph^Bg>I@HMn_Gj{%KESplfIKq^5nt^rIf z%DUAnzPZ`FSzs#GQ@@6RpGZ&Ge}NDqZX&}ON`NmZP}&_e_05tvT9fNVs2_>4`{Iq2 zepd~Vi`Wq~$&l;f4A`C1+rkwI0!4zaG#$Wr5pYC+NzBUPks5LOO&K9{+a($1@fVgM z4kg}S_g$f_q91vNzytrpn4fce$a1SF49VkWk`1*TSMvWCS?AcES=6Q5SQXp0ZQFJ# zb}F`?*tTukPAax-+eX)W_36_e`qTaaYwm0Bx#qmb7{xoXkW&baH>>73vPPXOOyVYn zQZG~(#nr)*__33i2P{^fyQb+c)H+w+2HNm{jIa9Jw6ABR=qd_(TyI8CH> z@BV{(FsE+p{$tf^ZY2Esi}~jQl&w%ktFvMnfW5YxqoyCJN8@3BXvz#F;*=r&1;Pqc z)09m8k8}|HlXl&{D<0R`kesBdO~;kGP&$)!mZKjgfpvEq`<8x%VaGpYvO&w+p!?Zi za4uuyYvSeDsojSEB+@W$U=pxXg^%vZOu|IrfEc&rySEAG(XIK0tL)=EUYJ!t!K`2J zV_-66JUke9d#inc@6=DQGo|{YwCkQip7h~aR0`2u`491Ii+!(`B*9k(+J_Yd|8yFO zvu<;{!9kE_PT1*>vA{@NLr|{drG>Ac)hvM8kX+h4iZ2l1SxB+QXjnGUHXx2tv+L6u zZ<=XdKxhMCTO*RR?Blgnj9MOv=YM)j`%773DX?d@HF7W)R$TtJznb7<>TZw$nLFGw zGWnuVc%(9($O=8_Hf5kB@6n4h9I5Zn2?M6EuB(gJ%JWJk70*Fejz5}jmEo-`X=F53 z+0af@K=d}4WS9bx^f#r!3F3X!*iJBc`a|A&RC^qdVEv#}B_x?>k4ja#=aE-TDY1Y_ zT9_C#p~T)6xrxk_B$wpO+H&9{a?TPf20{F^^hi-&dQc`xhve_wNp^12>KZUnrhxW4 z%?pfQTUx!dt6zzz)SE`-kTy2aaqOGN@e`S`RCaiv8sFRifs6C1;p1ABSrO8d*kBcI zu@w5J-Gt~#6On79i}t}$#vlr8mk^JxP&vV?bd&(iYUhMC+#4u_v zw9i-J{VSm&>6OYGm(0h+f9%Z-0sRVW1+EXU6JBqvDSKd0(V8?vSu@sYQpzeDnB>;h zEP^_7f{*mR7}=3%GqY@I-;%`6`kb#JXzu{;81KV(*9vF04#Oq35=Z*KWQu^jX z)Jp$x{v?}b-mG;k4d{q!Wym({CST8XyNibbyisNc>KJv z(ckevx8n3nb6%ceh13Roy@U0_xJgvHxSKp7r22cZ%BHovT|7=_-oVOsIv^~CCh$sH zlR@IZN4hs=SKgSjG=O3>Dh8_92Z=*HNr*icOu4e04!M^5-U)?xKyx9A(PIOkpDgJ5 zQF1!!9Yy%}p)1beyvvt9>}gq4y3Y}oWlAQfPtq_D$y1u`HH=iD?jTjteCe0e=u-jb z6JTXV-a4e-34z=OiiCckcsiyW$J%~RPKUS=NPXZf*cszzyl09tVw&AKRLi6W;&mF% zx4np$?a1^V>&IBbhgv&-grWiS>Q9ZzH&*FI@3tOZUVj%ljILX;!DAp!0)QY$;=QV= zH&aKVN?Oo@zno_(Ttb$NMDWk8YL7RdtWB>n+6U*y{jW|=m-kcPvRxHOriVH@o0gjc zRyY8&h)+{B-WeLXP6@g21zD_3v%|wVGoD4W=G1j5YL{!r<$ulipvnNc1m@Uw9(Zed z8JG=h4|`%(x_Gr~Hba&p+;3Nx&+IS;l?&L|cx#kQ-zOQ#R$QN?e^xyNG$tz&I>B(P z^e=Psk;Wn_gi^;h@X`W+=TynlF)MUI$KCV0C0@XQT@`gHZb>2D%mY79g75L|RenqH zY>y4r8=hX<=?2iFUa|W`n*pj^MB7;M4)sedi|lV@-qa8$YSTyV|_l2;fK|< zhjd=Q5h}5f%gh?B%5+@w6I1{y4kWkJeHSo9CxOmKucTyyC*3kn;3lY!!Ro*+Au;fGAjXB}RY47u z-^9alB<=0}rKR2OSyE~>4B&$|dxTM8Auw^S7Yc77~QZg!6 z7$wpHJf+=fO-UkeXWj1S*$>`-Ur|?2E+{sSiFcS*7ij>4Sa;D?FkQ>L5F}GfE5#&w zPIZalnHwiBi=~Fv3dVZ)F*ec5H(xb=QFDvayP?-a~##pTQ44o{XRs} zT6mdrUKBS9l3N$Zk5>IzeKE$YU8C_vpc>ZO`yWwM$~)QTEVa9WwYo`jm_>mRZ$ORJ zvkev2{l5U#`P^inx_|k5x+ft@9kA1XAGpTT-~aM3w!N*YKv1LGl{}*`ZCkcSG(q$m z4o@C?*frIK!y;Vm%eTBGLghB|=7!e#7v0LkUQKyLt+Jy{l>mkdY+Og$@g-W;HlGMa zxfI8ZMBLol=>19Dj4+ef71k5ZAL2ai--|Q5H(th8|D%PnqcQ=R-yJ7{fbnkD{0jN` z#!xRVQkTl~41$9GKiNlSMs}wEe+k0=-Bh%_!}`LXE!8L9p?>J*I5Er zMa4x)BieZFgoaDERgF2GXC9{mv6M`RzeWdDTv<*Z({A*im+q5pyzhko^p8wCU)d}< zuLG{k%o&az@6%I)zuO)Fx5nFl-xxP=`I5&&Tc1L`=j^A zKQSRd%Kp$6%#UPR>_3#z%ku~13LuSZCtRBKEoS;dYur6g-t&Go)U$V{QtiTfyt0tn z1Z|gJUgG>w&0idr@9S7%XMvhQn88r#k~TmyXFSzqfeYa}^kF!QZTX+e^2C|ifLFFy z`{wY@mL_X|m9^j;x1PGQVVyHrc{RTm?kfNQ?^3Xqs@C(7VH=}~Y^MA}X{3c}#kXN< zCpfxK_^`ef(?L#rAW$pJQzss`p)}j+eC(avIaWdlz#yr<&W{=(&Kp;VP zEbN*|5PZ8k(Dt-t==hA(tF7C^z zluI238yjYe{RS6TYgyu5qnZGO<0>CeqaKzM)O;fmrorma@=v^c67P5+1&vK9PoKFm6!@rRm%hFdp_u-us!M) zJ*vT=d=Y1wJ`%k=`Frz#6&%PWW~(z4UtxdZAsrV8%E#*i7+C#A&+NGS19}9o%rM`a zoYoJAoHe6+Lssg=6}BYkOMV3-To>H(OPKuig(XEaKK#Mc+HGjQ@81Rq*#1NPBI;i> zvA>fy<)>7wz+-8-&tcn0fzD5&>7f5ses za(D=)XI{O!i&T&VUdMZYM$Diz1mWMf zJi2h?N-$iJD%t7G!YC~LK0V#riVSY>X)*D257^7Hyc{FY`4(KzG2{Q4oUoMlIodRJH?yEfabmnnk?z-rK9oWfJ ziFD{LjU9&}{`i#6CqCN%UTL78VCu2lbrHQVf!^ZjYDG2ep0e~8#ZcdVYv z=zLLcUlJrc1>}YxltG9-YwR+RcmmJLER{8z>H-rIiO8hCg043J$4~3{2Jx$Su2Tv} z%aCA>Lqa%M{@fsWSi)zJ{YsJCiSw|fWEn!Ma3={hvAxC4jE9;d@ODB#STe!TH6gNP`)K0=EIadg^Ly`W<`SdJABoaf-IeUro=ZaU%JA# zMtT+ChZ3KA!jc<6gi>p2aJqxKs9nFePKyBtn#vg~n(3#ReykLfL(FhY-F<1zshNK$ z{95dm=Ve5i`BNG`L?EOtR|Aic|4lmnln7T$@lB53vmPz?>guDYML#zHyd7-)bzwOLMBBQ*Ty+sX z8px`Qi@OE%W1|)M3(h$!)#J{69OrL=NS-Jw>laL3Uh4x0o@uU!;VX_`KnfB3AhdE5 zNG%~*!F^&>JP0vNB9U@Zq2Pg*=Uz39MR>k%UV+HqG>w7KCf~2K9|6s#tNUuPI1rK^ zfjxqO2o_-gm{~14AAbEQ6v9fS`G+R{w3trLl2>rs@IAjwJIGBes)+7x^@2$5z9jT)@%awRFVl6jJC9Rg{J$a2fDcfL6=vo|r- zKJBC|aU_N(W`iGn=5Wc@Qv;ugaMl{tozJuB89Zc?-_f7FH3`iUm8yCXBUPghT^P271=}mir+Ny z*r@V=sPat?K7dMX40v<&)#|)TIJ{e?0`o?qM^!l^d|Up&c-S#E2!HF8wGDFQ1^0ma z&RNZhdTmow}4-Xx2%#wUlnhzE#OhBk_;NgBE~yggyOn=WO`s~ov&{T4PU7w zcZ_C;UscGrR9k%L+VkmEgG*H1Dw8a>Tx_{JQZ-ckfShybtM=R@*O}h{8UDRhP5lti zS!m{ND8gYlxM(h9L6i^2$pEhG4A!mp1BRk@xRLU(KD(Lp=1B3N$OWmI>}J-dJ&I2e z2C>2L{zQ30$Q6}@ktbW+V)1W3bSm<+KxEd;k%>;S7iiUTQNPUU{^9}j+j1ok+>DXY zCg#?To##$MyM2^SaokeK3WaR92RaFW38I&7#T84Tf@6Yih*@(EZ)2lj?ZRl9f1D4! zh3d>3jukujXD^^WD|QgA&@I*mga5|5O__DY_h0_izJ^xG>Qpqzim+T2Jgn_9Q&TVtvO$1kIiTO5>trJ9ZO*_g34k zV|p7+-eMB1cOp0LBA0R_iu}2(P z=yWIhBbvZW77oEroF_{?K?ZDDTROM2TT0aq*kuvfCXzuiOq5yS4L6%>yr67TJ`#>6 z&{fj_X2qsoVdua5%!NVA^!+kmhW$77- z@^ODuEI2{=j#MOKI@>p$EwbHjnT%a`Z>w|U#jIt-CF+K~1}Bm5?{%pxY`;FG{vAX! z{yazZvS_G?kl&*J4pLq88(cA-8&|Yhc$m|z!+V5@#pn>a5EboKUDDn5P@_D?ubE~e zX8v~rW$|ZfHevHql4dKwMk-jc6FEaq9xROTfucr(ruo;%0{p)NL>}m?eNvw-lF&a=@u*z%Ui#cw+@xj_GM2=PT#vOvCcv#QXP!X)wbE zV^pc$PWJJVeIY8myI`b*!b_#A8_8@R1~yVetxprBVTODL*TFczzmU}fTcUfdZVWLI zR4wbwyRz_O7(+ZtlJ_+54~RWgrF@@K4pxj;Qa@Pz+-ZVGdlOY#>%Et7BE8QX z7voll*elbQ&pUX9Zm}e{mc(OHua5f~;pC~Fn)K&)s74jVHvzU0)VpHA2gXOu*!R8B z`G|cgDQF(4SuZ1qN?6P)eEx59ODX}U7PB$yQr<~?$S48;-Q8l2mFwhL=2InGCjU#Q z)a%Zl=kAa9d%a&YWOg^;y}q*ZL@i8^;4q3QQ|Adcz|WXRZmSODC9jS_$#I(b z?--420IDu_x99UAI;A# zk=jK0ygf7sVc&S7-34Vm*~s$nT7nAIG_1tnB`g;?SIQH@JKC3VhXaMViI+;bkERxg zzxcu9*#ew*%zTh2)wlU~?`HPbr=Do*mlpO`jt@V{d2IaKjw1$NFMnn!^wHcCvbgl; z#M8ShK$bXOETI0>(+yn!0ATO@MwkRSfRf{+BaLd)>lY9eHW=N~`rKp4HM+M%@2<(H zplRjIL1i8*!%wdeVp!j*u~zqaY_W#-jAJ1rVa&LgQ=qp2Ul*Rj1S!QHoxZ#~5gEwq5VWwn>V+4;0m7o0ob%J9_!eiBy`o zqO^n>0x%1F{dO)B*0Lgb$3&6zs|uN|;GNixHmA?5$u0BEx72jIqsDE;!7kG#UZ3kK z4KQ2?o{%%^|x4agP4`)JVj!!b)iQ#gE7qnreD-yMLu0Y>gSfhm=M$ShOr4Y!D= zR+fAgy{h)>JyzDxDrQ0}vq=jhaU+5(fWkIYoW^HGbNoH*WyIy;|eoR#Q1@AA|bNFJ5to6?h4yk zsl9yIc>Ju|Ra~K`f&E*mkFKn#-5`HQ?REde?soqKQGG-mu-#AfM9u>nKt)-bxe)IJ z1JDDb20E_Z&$^5!$_XU-VXSsqAapa<(|EQ`VH7F*dU)g4 z2i&;Tm5C0XTWI{V<4^rcUN&H=Ga<;JM?;TboC!G8Kug2J3ZJ)Hrq~V35OIV_^R@D+kcc}1wrVRvA)XyiiNb7PA$=h;-0aPIbZX@N#{sJGzRY+GwTg@c*&VWfVSct0J>J^r?7mUOpDqxpW? zkCvY1B??&Qs%4-r#L%$Y;qUZ*GlZogivNz{0xYR3A?}urM)u)xi){L2WN%!Fh)*Yg zj5H#mIAO=yoJnT(%h@rF5}It5v0) z44*{71`~wYGZ1{2*?I~jr;qF?*;ET#_5}B)Tvs z0EGQ$$9n~p^>R2PNMO46g^F@f>Rg%7?=n{;qfa*~;(((iFdc)?7jnaGF3SZz(A=}i z81WAt%su9k1)PI{DoJdfmVD2JBSuSi&D#hxCFBOBc6w# zy%xJEgi$BSa6KGtP7tBc;MdR+8Uce>O91lz z1|rC+^W1Tz)}?wXNNvgLwQUV)CVj25PvE6t4d20<4=JCpS+pZ6r)~hMAPk-{ONTZ? zd$rNm>V2H6h|X{YT3RJ&N$Udr00g)X&Jb0>)W9F9cA2W80vLDuM9)C3k2qzIqfntq zT@gN#E}Y)QZ<)Nz6#n8HNFT~CW@=KhwO3QSJQCuk84Ey^SDq)92lQS~h=;TN zqJfT=@(~UM@S+6?a`?j!#Ad-$Gr^$E12F)tJE?(kHs*-8=?h8C30Isg>vlH6V1dL} zs7hg30Nf;B{za>7-FTuAWONgV-RzL#PFbH}%#i)wlaFR;Mpif3*^Vqb)X`rq`k6ng0YcTJO`A{<3Clv_ zUB{aVp^H@7RiS4nomOY|eY5zL*3O)xo6?YuoGMeT6Avraw*N2!bz^TK>|Ax8?_IzK ziDonqKPT>#^COi04jw8Pm^upyPZywkYxi$8Y)#H+s|*oYv48_^CR<^HL%vS3By141 zJ(@r8Bz6F@mM>^o066*W8ejj5AdHp5o_k+Y24awuv^WI*23o2dpS(S&xUM*wb$!t; z_muQNlP8VKO!L!TYFZuIUnQfmMwzfvS3|*NPG);aja*69xS@!M@qc&briC~9Fyv9q zXqv>rzRNaZp%PU5lx3okQJy{H)>MgIWaOF$Ys$XjBLB@S0w|L=j0V#1{3e|%_-JoK386M1#y~o+ zgMq>|RQT~^0Z_3jNfo14-(7HM%qZ-EHc^tb$Q=lVwj4_7F|Nd&TV;m!SuO-9p+#hr zsH2#HXyF2j+-Jr zZHT4_f5mph+Me<)d{! znJwAIHc1ay+G9bCWnac0@=0Tu(8+^kc~!c z5uuQbJsbLXL`FfuPEYO?5*uuouUN};mJvq~=-l@k6!un9mOhL>?@E2v;VBfU5)Jz4 z9l+QQpI8CgAY*ou0J4(yff%?`bt|7*4J7NznS+dFUf&wXt~&t9t@lF<&r!ZyG^4=MfKGK6_aY z>;$9b<#JK;pv~KR(GW$GnX@i7vYt0f7C_-9W^f@==*$|yi!s73!Mg+tlz?30@cB9s z-*Y&LAvtCB-VD{*AIlKq>Bd!B!&U$C#*Igq{Iih%<99&!)Y{cQp&bgiIDKbdl5k#5pV66V zb1ek48@!EO9zb&@eq%@e(X_O=10XE9Nha==Z61L9?X`M6RfcwFC*1vI2bHJLk&SM+@{TV1SNZqKl|IjLO6}fa82S?h5mkP#pyQwUZr7k%LgZ?YlYs`mcn>&Y<_TvIPjo?pjs^f$9x}$wtrL6}*nEUjW93)V&nL zV_GqPjNe|$PFLkT%Oku#lgyOn-x8@in7M!O^fE%>2!rIbZmDuoz?94GH5EQ63RL1v zjP8dhnjZieOO3GOVO@w0wO-olg-re4M+G;IO1P)jgNN@jE<;Z&z^Z;pntUa2SKXTM zztfLOVnznjRP#&t14wI8D*;|}cZb9MG!@hAJTtP$(`y`V@B~Z=3U2cCHZ>FtPb^fo z+Qa(ztLjVPAnSip4OQGKQQS5tsvuv5>dmT4mpwh#Jx#mBqGXHm%ITJyE93cvHBO%E zL)1+xVx@u`@J%)ww6%^Z8JMM{2QM;tX>vAg7TF6&exW0~?}a66!2@m+J-jW)U7Z-h z^*N_Z7W1?gdPj*5%(9iy#LZwbqD@NJxgnojV6@UgElaK8|Fw}ZIWVS|1{-z-E*ff1 z3nTLvK^<&*%{*0ZQ#n-}gWnjgoxTAgbY+}#m)fD9IY$F0j1?p^>m2j`iIZx(2f)7y zP>>a0yWC_|xXcO(CIE1@D2bo9i0BxTQs6AO6Up0deUw3Zh)S-x*MzP|e6E^VIqWjh zWdlXkr?$6ps_Ke)49K;Cgwyt@4@^~^3fvH zvm6OSSHREtRwmXiyBt|8AkzX|4~R!+W>s~r98xWD`-y8-F_;PO40x$UxMWFfcXRR~ z`#Ot?pa;Gu1hAk@KaoI@BU$u4a3V3m8o*Jeu%g9F<}YO8_=}OMOw&H{eJk!LA!{BZ z4os*#F=<4u+*g(;DPw$`wuAvyXuNaU;(@HMT8-Uhg`K)pEf?XbjCj`%XC=TxJIzKe zljT$=9iy;LuB-K72Cj`BOjm~{oF4TMEA3#n0K3p?6;Q%w%`{c6k#k+cE;pjwzzz0u{B9cqqNt)xrP4^ZB9=(53nKKajIjC`eFPSkC{Q zp>q8943z~ElokZ-JJs;t6R?wx!_fH$62kiC`u~ZpK9j-u&4Is|ernh$%nQcJ5k`co?#F7BTl zkR)P z=rrgQTj`^h0%&V7W)y;Q$-~vj9@14vL@4m0F0TaGF`see5yKDjwF z^0_>xKn~MkEtg7}v46cLey?%S-6ztv^s?(DB&fwXb?R!YqP8&U&=<>osn(HUG^xMi z5+tFjt$bVx*Cxyo!e$rMYdsW+7W=HR-`xFV9N}%aaB=RHSe|uua_=O`UiBZ$D!B7r z_AlWRw0LX@buno1t1wM|a-s}S-dX>{FOlG5!ZCDLEKf5j3l^n{LxU0kk{qE3c^~RV z5!to+x=ZL*U9^^3m+wsTjm6)A`GDO9a_gIXee3Z*xC9Z?2r9PCh9ouo>*O~Rd~{7o ztM-UVk+5tN1%wGv4#cOjbWbW@wzzMudsMkQW7kPDhe@$kq{t~vk)6)FUD-^MAB~SA zQL&7DX=_T)(?p-8Ikh1H%1}&$oVc**;?nYtV-QGC6GzsGFO@vG%cV>OM0MLfN*9eT z_fEj6Cd=5dm3tO@6yCMpzMxu?MTz z8y}P?7Y7Gz3bheIcdIHpV z(ER+G7iXZBRK*4tYAdkSE&+2z?iDmDAegRZ{8Od;e$K=W7jOzrf_{WQ*o?NT9vGWUbwi2#i>ZSoR&lxf@a-+s{*KGXPQh~bzZRT zKXi3EJtJp4gdUBD@NRbsiYhGc0_FLKn38lr^@B1}vvAl0Bt3nJ_e?aXETf;7e3mXd zo(|^KeTG7nJ1kVCwFivuamH}S*DF^C9BN0VcCRf=^rP$LFVbm@_GD5+2yoO@tGP*@ z1Bb2!7xOk`>S$|i}c>gQ)fL%$DKL5yn~E5 zxIvJwk5(m{Vc!hE!+aMmt;)WErt{;i`=&9;k)4#0L_hvnP_^hx5P=PhYkSo;D9ONs zy}9f7v!BULJ4H?%!BhdZu9Ql;Yk!hivglt0=Z!2^ua#D{#F=2|US?q^3(NSW3i_dJ z_6Q#)^Esc|n`$~CezK0Z#vjYF<9<&t+Lc2U|MrdoUhXSDB!z-3O5i_%Y!}V&A${22-9}N8bg3U7 z)?Z4r5Uf17AnaXyj-<_DAVteWEYpk*`QAJTF~FP^nN)&X9kk^*8?a@Z5DNnPYS4&r zH7lQGYZjCS8s=qyz?x*_Bo1a|P!7;RKk_=+s{?ay*yH_#ue8L!eIqd#RfO@znl0t` zn@tr`2GYEqcdXo}M;3XS>onnx5tw8jqZpncKn+yPT>b807OP)^fRmUGV&qbPm(ly} z-KYt8=J!cG;u7G2yH#XX+_dyWkP|DWx*P{<%8*oIVu~YxU{FWkSG+Y}$ahDXdi!JaKBXFAV-m&I!EuLHp;+JG4UhI8@S3n*m(C0QTPe6IWH|-;@1hcO(z`EV(GrLn zx8m|*C%YoRZI8@`Oq2Z8N37^;8Q*Bp?WN%{*F`bugYibh+}b8Pg7}Qr7B|?y#72ay z_@4Dem2H-?BDt;5nM(FT$0aU`Af4($*fAnBiM(L6i$O=<^A|G2BA?%o188U0<7ghe z?1b<|7QPAxI7n#XvxCA4D@=7wh{$@VxYC$QzYrH7#0kkzH!zRH+HzeldMiRA2nYmq z3x9)E%;kYIL!0ZFgm|9_e#T>XswJ5iBNL)}w1%c1KWzY;ZK*O$+qz~>I-_RP+DLZ5 z1x;y?1svc>ZraEtH_zoQt25B8ooQyVGKfXn5DUm3G}dVlUrduO{ssBtt=xr+|2X6F zH}VN^fP}`YVbFO6_DlEg11$&fuZx!426c+Et7Evgg9ww%6MkGQJ@?9N;_httYTBn_ zTutVuYZmFDYoL@rtglG}=mD%C(N`WTm&?KU6_0dknHLg+s7qiqA$6NYOQ99!y16er z$=J9^VZ`bFD5VMGCN*PaGZKaHm5pl+g{7=0$Mx3&3qm~Gemm6PHx4eH!6n+P2 zix3zw!#!Q1$21UqF=7t{m+9n3Y9ByFXyZ_u_<#fB<|SyM3npZwsbB)VTA;o{YMt}V zh7q)#l^i3N4-Z1!(09Uw3xtrn-%9?#X3eOzLWKWean|SHdUAC} z0;S9FG(~c>Xn$OaeyLDurY-RzWcv&FCvf-En^>n314V(1`QvDrrUS=d_@WZAwI!}V z>tJNJ$1Z`_ZR@1!br=Qbyr{&+i=7PmT0^{iTO?c*{L(6?TlVE_sb&uB;69xv zepUcIBzMpSlJg?i*^VC;wgdZHw+V&g5tT6xk3!Y+FhKz4Q;gh#_sJJu{ksalJFDlR z@oSu2OttH0w|9Kf5mW3#AGY2?=(g%o!+dB#9OwP-8bSNcmQQ~VH_iA*W5&Dc-4e@m z4j;>{@M%E;H8w=!PccJ?cHQSMogSkP$A+UKqQcmeK7m%U;Td8+_JCXBrKhL)kL%B^ z;1YU={cexWILW!ykCUp538e^t%)+lP3q`YSXa@m2X5?t%`N-4#sO=G7&T*YB0oWJk z!Y|4vWDbn_Y`)X;%YAe;3yXd?64^#QA#wE&<3DhZew=VfVQg-?gf1e-TN>bUztx=q z+{sFswh~`IW%e{f0%dMlLb7f%4p!I<-dIuGZdgGg;;U3=<9Y-Oh>OYqF_s6DuLE_C zhXf$OinG7ngN=bE>mN*ShX*p~Sf^Gc;dpC0 z4pb`r=h@jD2#sd9lbB`4iwIZI1eU+N+!myK(q79mL&1FuG-fSp!DzSOb(h=O5nmn zcc@zLL|B}1iJ{O^Mde$?rQ4Nt5G>?~V+H|t-RT#~Yh`q5QoO7#FwNI&660kybrFAP z+!oxE;%AIoL-y|gpBpQ7+tb9zNz7xZegdPcF@rHWYfZp7)^3JZFM{+8wKy_Hq21*ye)a=i+_g@frjQ|7QnkG#p53PA*G98Y){C?R2x=oI!czf+1Au}dc+CE_k*0n zjg=n*2Fug1Y77~CM^BeA6kzJ9Otl@w!*M|yBysj}VkvDOCx?5t&o==Xcw)W(X_ZsU z&_U5a7@1Rh(LvP!qDI+a9`;LZ6X$i+mO5LFqYppg zYMcX(;bXtA9k1Id8hbnq`?})3%W{|Q&J_rlZyxN?JahkvQJC)XOMO)(ZbCOIxl8%HN=hXn!ID&n&1#4cYI;4t|9|T4_2sFT+wz& zsS$%v7FyGIwgCHxC+5U~#O+XZ2guU; z1<><$d%aYV$I`IaizdNbsq=H}fjF#G1pB^8UKapZ7u`wP5W#c*@z8H&RrgWWCG$`e zEzc>#t(wqOEPA_Ve0kd2&Ca~r*6gvhJkF+&AJN1lH8klZ%Q^%688)Q*?M@l$U>gzy zDV9?H1duR$b^j8mJ;L-^hnqn`!WutslBACQ)hnZ~zE$4O{_Nw1O0zbKDQAB!w;+<$EO))%%xB~Y51(N(eR z$R0-Ewc)M#7s_ zGo0#g;0r&TSQaO0=uoOYs&w;;BkeB-~smlXhy z4k^H8pFw%CPAI09_~BCZmF0Nn4p+b!nP0`a3UqX`OpVI~mGN0*aQ%z+u^Gg;;3uJ3hFpQ9mbD4&5MgK-$WctBb?4>v%Bc#IA}aWRy%62W~= z)c*Gi5A`S@@W#fRKbp__Ls%j(RB!-LS=wMkRH!p~)qIQPt5dZXQ+@TqNeXyBBqeYZ z^LNS%AsVIc$ChTdb0xx$P&ASW zbFS=ys&`wzelSe9Cq^K-5QApmM{p0M!V=}OJy3to0VSm&N;8`T2Q;)9>;Qml%sx-S zuKbk!O^Sv85iyUsi!Y+VWPHTtAw;Te&x8JzrF;-0FG>UF6G2%5PYvQn6wnxPUPO?% zrL49N3Q5=es-{vsP?0|&&9l9=D`&Egu|TsLmo#NXhbwI+dioJwXAWbDHAc9f+%2iT zVE+Pj8o5x#A9TDv^uE&Dfdzmci*6WTFUvWn6euva!aJZ)EDSCYEWgQ}2M_*F?GW&W z91q?_PkC3UTGA_7T5K9fE*;up zY~5o6Z6Kc#`B-5JxSn($mR8Msg35<0VAwCFxAu6M@VS61mci<3Kn36t$3weJ=jLE0 zxme5KmM?c4c@z^vQ^|dv`|0_D; zj#rWe=fHuyQl2fktbV)v0s0q|ro;rdr)IG*xVsiHC z(0b$0CuJK7Z5N_E$Uk||i>c7m;;?6T79E1#J5VSU&blizTs+@gs^3>3bhpjl7X$Vyw< zGmb(lZp1piq=`dQ2xu0n=>}{bLkS{i$Znzn8EZ|~zH+pSa2lY(abTiGDJP-+dLrbf zyW`(}URVwUt29iEhl)_4hsL_c4E51it-+KrJQOlM@B1r983+X~p|@!`yZ1uF!@cSE3fQm<3;w)Y(t>hwtY>YGMnc&0den-O(a`aQhks z&GQ^Vg|=`kwh_Q^qS5$8?)HwiJKrB^JWfcau+V~MAi1y=pF^8;FapNo2y+To?IxlR{ z(87;t5j^cbIMAvGnk9wa6hSfh{OoFOK%EcM20G0v%RvxiX2bbxEY79oTooxwp6Bh> z2Fiy>i=_Z;rI*T@n+q#2wfIB0OFkN-XYXXeE^*Hk(9uVf5$QcjLwKx-eTwPs(-~7* zC)U%+BJqk6e;f&nhzL%0+eMkR)#RvNe%lMY=DccE5k=_(&gPwc1kT_1Bu}zPR;=4UudD;8$}d1H-t2n{a>?C9*)5WU z6(0~D()#0jHDHGHN9c0;r}jtFv?wk=(c|g+;A!eZ40>M-m zMx5#(pHEKM&6M+>>j=~S>P-K;CK3Pj~{$eY?=ccVAUorHV$UJD!d9-; znD(dx&xyBSh$nI|Fb25D#c5~@8f5VgEFSV|4%j;LF zKdzuT2M}2SBeB%5fLrBGWgQ^O%pZrW!SKorIpR3;T=j=~#m+5SwqG=kmL<@UQhQ12 z_X^V1xxt;%@ZXhkoTX?yEgtElUe-BcNDVcPX6n8|QiQg0@|8kme&p7$*EF4mwlzyl z+C+?p9C%YQ?AtrqH$`lnznhy!&J>xotfBzHpOiDj0#+3`Btzu?BI=yNGz+$Do3>eL z+o-f{+pe^&KW*E#ZQHhOSDIaY?$_tO?#I|Ku~v*Z$6=cXz(hS!*!KofF;Q~aul1co z^ODxn$gu6SrdtB`-c_053^t>t9*ZL2P=FjEyeJs`F@RPU??$08d$(LQ^xe<1@;Fz} zaoSO(GV(wbk6iTwb9}y8h$i0)FX3^yIyz&ay)iMHqigz4g(b<;@vgQBSdDl`z>wVh z{UxM$-!$z3;C(H`Sy3!;HbVLcC9+xjVUd{H*~X9POd@rb;hStMh-20{0DVF)m9Sg& z&W*KDho#eLwYIIzSmtY+a3*K0aaO}4s%G|z__Z^djIo%Nc|)-Fen=N-y7s)`#(Sa9 z7vf)`9wNyNA}n>dR$5^9T2Z8`Gar#;nZ25bPYhW;fYM4dKJwkBmU6kdZmt%I1~z

B41A<$?U{Lcv*`Ww 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.947 G .447 (le name matched by a pathname e)-2.947 F .448 (xpansion pattern also matches one of the patterns in)-.15 F -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(15)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(15)185.545 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP @@ -2227,7 +2228,7 @@ Q(When)5 E F1(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.) F -.1(wo)144 696 S(rds with the).1 E F3 -.18(re)2.5 G(ad).18 E F0 -.2 (bu)2.5 G(iltin command.).2 E(The def)5 E(ault v)-.1 E(alue is `)-.25 E (`')-.25 E('.)-.74 E(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(16)190.395 E 0 Cg EP +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(16)185.545 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP @@ -2333,8 +2334,8 @@ ser mail \214les that it uses is system dependent \(e.g., /v)144 612 Q -3.035 E .867(colons, or as an initial or trailing colon.)144 708 R .868 (The def)5.868 F .868(ault path is system-dependent, and is set by the) -.1 F(administrator who installs)144 720 Q F1(bash)2.5 E F0 5(.A)C -(common v)-2.5 E(alue is)-.25 E(GNU Bash 5.0)72 768 Q(2019 October 30) -141.235 E(17)190.395 E 0 Cg EP +(common v)-2.5 E(alue is)-.25 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E +-.15(ve)-.15 G(mber 22).15 E(17)185.545 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP @@ -2446,8 +2447,8 @@ G(iltin.).2 E(The)144 668.4 Q F2(select)2.81 E F0 .31 S 1.05(it for a line of input after issuing the primary prompt.).1 F F2 (Bash)6.05 E F0 1.05(terminates after w)3.55 F 1.05(aiting for that)-.1 F(number of seconds if a complete line of input does not arri)144 704.4 -Q -.15(ve)-.25 G(.).15 E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E -(18)190.395 E 0 Cg EP +Q -.15(ve)-.25 G(.).15 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15 +(ve)-.15 G(mber 22).15 E(18)185.545 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP @@ -2585,8 +2586,8 @@ F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)-.1 F 1.541 (xpands to all members of)-.15 F F2(name)4.042 E F0(.)A 1.057 (These subscripts dif)108 722.4 R 1.057(fer only when the w)-.25 F 1.057 (ord appears within double quotes.)-.1 F 1.056(If the w)6.056 F 1.056 -(ord is double-quoted,)-.1 F(GNU Bash 5.0)72 768 Q(2019 October 30) -141.235 E(19)190.395 E 0 Cg EP +(ord is double-quoted,)-.1 F(GNU Bash 5.0)72 768 Q(2019 No)136.385 E +-.15(ve)-.15 G(mber 22).15 E(19)185.545 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP @@ -2732,8 +2733,8 @@ F(xpres-)-.15 E .489(sion between a pair of braces, follo)108 693.6 R .49(he preamble is pre\214x)-5.49 F .49(ed to each string)-.15 F .659(c\ ontained within the braces, and the postscript is then appended to each\ resulting string, e)108 705.6 R .658(xpanding left to)-.15 F(right.)108 -717.6 Q(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(20)190.395 E 0 -Cg EP +717.6 Q(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22) +.15 E(20)185.545 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP @@ -2869,8 +2870,8 @@ Q(If the login name is in)108 631.2 Q -.25(va)-.4 G(lid, or the tilde e) (guments to simple commands.)-.18 F .469(Bash does not do this,)5.469 F -.15(ex)108 712.8 S(cept for the).15 E F2(declar)2.5 E(ation)-.15 E F0 (commands listed abo)2.5 E -.15(ve)-.15 G 2.5(,w).15 G(hen in)-2.5 E F2 -(posix mode)2.5 E F0(.)A(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E -(21)190.395 E 0 Cg EP +(posix mode)2.5 E F0(.)A(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15 +(ve)-.15 G(mber 22).15 E(21)185.545 E 0 Cg EP %%Page: 22 22 %%BeginPageSetup BP @@ -3002,7 +3003,8 @@ F2(of)3.346 E(fset)-.18 E F0 .846(are arithmetic e)3.346 F .846 .558(xpansion is the characters between)-.15 F F2(of)3.058 E(fset)-.18 E F0 .558(and that result.)3.058 F .557(Note that a ne)5.557 F -.05(ga) -.15 G(ti).05 E .857 -.15(ve o)-.25 H -.25(ff).15 G .557(set must be).25 -F(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(22)190.395 E 0 Cg EP +F(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(22)185.545 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP @@ -3132,7 +3134,8 @@ H 3.314(ft).65 G .814(he pattern matches a trailing portion of the e) (`)-.74 E F1(%)A F0 2.565 -.74('' c)D 1.084 (ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F1(%%)A F0 2.564 -.74('' c)D 1.084(ase\) deleted.).74 F(If)6.084 E(GNU Bash 5.0)72 -768 Q(2019 October 30)141.235 E(23)190.395 E 0 Cg EP +768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(23)185.545 E 0 Cg +EP %%Page: 24 24 %%BeginPageSetup BP @@ -3264,8 +3267,8 @@ F0 2.903(,t)C .402(he opera-)-2.903 F 679.2 Q(xpansion is the resultant list.)-.15 E .708(The result of the e) 144 703.2 R .708(xpansion is subject to w)-.15 F .708 (ord splitting and pathname e)-.1 F .708(xpansion as described be-)-.15 -F(lo)144 715.2 Q -.65(w.)-.25 G(GNU Bash 5.0)72 768 Q(2019 October 30) -141.235 E(24)190.395 E 0 Cg EP +F(lo)144 715.2 Q -.65(w.)-.25 G(GNU Bash 5.0)72 768 Q(2019 No)136.385 E +-.15(ve)-.15 G(mber 22).15 E(24)185.545 E 0 Cg EP %%Page: 25 25 %%BeginPageSetup BP @@ -3383,7 +3386,7 @@ E F0 .428(whitespace characters, delimits a \214eld.)2.678 F 2.928(As) (whitespace charac-)2.678 F(ters is also treated as a delimiter)108 722.4 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E F0(is null, no w)2.25 E(ord splitting occurs.)-.1 E(GNU Bash 5.0)72 768 -Q(2019 October 30)141.235 E(25)190.395 E 0 Cg EP +Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(25)185.545 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup BP @@ -3533,7 +3536,8 @@ F .067(ditional interpretation of range e)180 693.6 R .067 be matched by including it as the \214rst or last character in the set.) 180 717.6 R(A)5.193 E F1(])2.693 E F0 .194(may be matched by)2.693 F (including it as the \214rst character in the set.)180 729.6 Q -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(26)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(26)185.545 E 0 Cg EP %%Page: 27 27 %%BeginPageSetup BP @@ -3641,7 +3645,7 @@ F0 3.012(,t)C .512 .867(xpansion, and w)-.15 F .867(ord splitting.)-.1 F .867(If it e)5.867 F .866(xpands to more than one)-.15 F -.1(wo)108 717.6 S(rd,).1 E F1 (bash)2.5 E F0(reports an error)2.5 E(.)-.55 E(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(27)190.395 E 0 Cg EP +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(27)185.545 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP @@ -3734,7 +3738,7 @@ E F0 -.15(ex)2.5 G(ists.).15 E F1 -.25(Ap)87 652.8 S(pending Redir).25 E 688.8 Q(xist it is created.)-.15 E (The general format for appending output is:)108 705.6 Q([)144 722.4 Q F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F0(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(28)190.395 E 0 Cg EP +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(28)185.545 E 0 Cg EP %%Page: 29 29 %%BeginPageSetup BP @@ -3821,7 +3825,7 @@ F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126 2.957(ft)-2.957 G .457(hat \214le descriptor)-2.957 F 5.457(.I)-.55 G 2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.298 E(d)-.37 E F0 .458(do not specify a \214le descriptor open)3.728 F(GNU Bash 5.0)72 768 -Q(2019 October 30)141.235 E(29)190.395 E 0 Cg EP +Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(29)185.545 E 0 Cg EP %%Page: 30 30 %%BeginPageSetup BP @@ -3944,8 +3948,8 @@ unction is e)108 705.6 R -.15(xe)-.15 G .426 108 729.6 R -.15(xe)-.15 G 4.62(cuted. T).15 F 4.62(ob)-.8 G 4.62(es) -4.62 G 2.12(afe, al)-4.62 F -.1(wa)-.1 G 2.121 (ys put alias de\214nitions on a separate line, and do not use).1 F F2 -(alias)4.621 E F0(in)4.621 E(GNU Bash 5.0)72 768 Q(2019 October 30) -141.235 E(30)190.395 E 0 Cg EP +(alias)4.621 E F0(in)4.621 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E +-.15(ve)-.15 G(mber 22).15 E(30)185.545 E 0 Cg EP %%Page: 31 31 %%BeginPageSetup BP @@ -4091,7 +4095,7 @@ E F0 -.25(va)2.871 G .371 (stack and restrict the number of function in)108 724.8 R -.2(vo)-.4 G 3.641(cations. By).2 F(def)3.641 E 1.141 (ault, no limit is imposed on the number of)-.1 F(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(31)190.395 E 0 Cg EP +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(31)185.545 E 0 Cg EP %%Page: 32 32 %%BeginPageSetup BP @@ -4192,8 +4196,8 @@ F2(test)2.633 E F0(and)2.633 E F2([)2.634 E F0 .134 (commands determine their be-)2.634 F(ha)108 724.8 Q .198 (vior based on the number of ar)-.2 F .197 (guments; see the descriptions of those commands for an)-.18 F 2.697(yo) --.15 G .197(ther command-)-2.697 F(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(32)190.395 E 0 Cg EP +-.15 G .197(ther command-)-2.697 F(GNU Bash 5.0)72 768 Q(2019 No)136.385 +E -.15(ve)-.15 G(mber 22).15 E(32)185.545 E 0 Cg EP %%Page: 33 33 %%BeginPageSetup BP @@ -4296,8 +4300,8 @@ F F2(optname)2.992 E F0 .262(is enabled.)2.942 F .262 2.5 E F0 -.35(Tr)144 663.6 S(ue if the length of).35 E F2(string)2.5 E F0(is zero.)2.5 E F2(string)108 675.6 Q F1108 687.6 Q F2(string) 2.5 E F0 -.35(Tr)144 699.6 S(ue if the length of).35 E F2(string)2.84 E -F0(is non-zero.)2.72 E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E -(33)190.395 E 0 Cg EP +F0(is non-zero.)2.72 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve) +-.15 G(mber 22).15 E(33)185.545 E 0 Cg EP %%Page: 34 34 %%BeginPageSetup BP @@ -4404,7 +4408,8 @@ mpts to locate it.)108 655.2 R .379(If there e)5.379 F .379 720 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E F0(under)4.415 E F3 1.915(SHELL B)4.415 F(UIL)-.09 E 1.915(TIN COMMANDS) -.828 F F0(belo)4.165 E 4.415(w\). A)-.25 F(full)4.415 E(GNU Bash 5.0)72 -768 Q(2019 October 30)141.235 E(34)190.395 E 0 Cg EP +768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(34)185.545 E 0 Cg +EP %%Page: 35 35 %%BeginPageSetup BP @@ -4512,8 +4517,8 @@ F1(PPID)2.5 E F0 .426(When a simple command other than a b)108 552 R (fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E (vironment.)-.4 E .577(Command substitution, commands grouped with pare\ ntheses, and asynchronous commands are in)108 729.6 R -.2(vo)-.4 G -.1 -(ke).2 G 3.077(di).1 G(n)-3.077 E(GNU Bash 5.0)72 768 Q(2019 October 30) -141.235 E(35)190.395 E 0 Cg EP +(ke).2 G 3.077(di).1 G(n)-3.077 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 +E -.15(ve)-.15 G(mber 22).15 E(35)185.545 E 0 Cg EP %%Page: 36 36 %%BeginPageSetup BP @@ -4646,7 +4651,7 @@ E F4(SIGTSTP)2.5 E F5(.)A F0(Non-b)108 720 Q 1.065 (uiltin commands run by)-.2 F F1(bash)3.565 E F0(ha)3.565 E 1.365 -.15 (ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.064 (alues inherited by the shell from its)-.25 F(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(36)190.395 E 0 Cg EP +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(36)185.545 E 0 Cg EP %%Page: 37 37 %%BeginPageSetup BP @@ -4788,7 +4793,8 @@ F5(curr)2.708 E .008(ent job)-.37 F F0 2.508(,w).23 G .008(hich is) (.I)C 3.287(ft)-5.787 G .787(here is only a single job,)-3.287 F F3(%+) 3.287 E F0(and)3.287 E F3<25ad>3.287 E F0 .788 (can both be used to refer to that job)3.287 F 5.788(.I)-.4 G(n)-5.788 E -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(37)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(37)185.545 E 0 Cg EP %%Page: 38 38 %%BeginPageSetup BP @@ -4896,7 +4902,8 @@ F1(\\#)144 684 Q F0(the command number of this command)180 684 Q F1(\\$) (ID is 0, a).15 E F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E (\\)144 708 Q F4(nnn)A F0 (the character corresponding to the octal number)180 708 Q F4(nnn)2.5 E -F0(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(38)190.395 E 0 Cg EP +F0(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(38)185.545 E 0 Cg EP %%Page: 39 39 %%BeginPageSetup BP @@ -5026,8 +5033,8 @@ E F4(RET)4.14 E F0(,)1.27 E F4(RETURN)108.63 708 Q F0(,)1.1 E F4(SPC) (In addition to command names, readline allo)108 724.8 R .209(ws k)-.25 F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209 (ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i) --.1 H(s).15 E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(39)190.395 -E 0 Cg EP +-.1 H(s).15 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G +(mber 22).15 E(39)185.545 E 0 Cg EP %%Page: 40 40 %%BeginPageSetup BP @@ -5115,7 +5122,8 @@ E 2.5(yo)-.15 G(ther character in the macro te)-2.5 E (option to the)2.546 F F2(set)2.546 E F0 -.2(bu)2.546 G .046 (iltin command).2 F(\(see)108 703.2 Q/F4 9/Times-Bold@0 SF(SHELL B)2.5 E (UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(40)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(40)185.545 E 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP @@ -5219,7 +5227,8 @@ G .613(rt characters with the eighth bit set to an ASCII k).15 F .913 F(e-)-.37 E<8c78>144 710.4 Q F0 2.5(\). The)B(def)2.5 E(ault is)-.1 E F2 (On)2.5 E F0 2.5(,b)C(ut readline will set it to)-2.7 E F2(Of)2.5 E(f) -.18 E F0(if the locale contains eight-bit characters.)2.5 E -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(41)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(41)185.545 E 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP @@ -5328,8 +5337,8 @@ R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021 G 1.529(lent to).25 F F2(emacs\255standar)4.029 E(d)-.37 E F0 6.529(.T)C 1.529(he def)-6.529 F 1.529(ault v)-.1 F 1.529(alue is)-.25 F F2(emacs) 4.219 E F0 4.029(;t).27 G 1.529(he v)-4.029 F 1.53(alue of)-.25 F F1 -(editing\255mode)4.03 E F0(also)4.03 E(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(42)190.395 E 0 Cg EP +(editing\255mode)4.03 E F0(also)4.03 E(GNU Bash 5.0)72 768 Q(2019 No) +136.385 E -.15(ve)-.15 G(mber 22).15 E(42)185.545 E 0 Cg EP %%Page: 43 43 %%BeginPageSetup BP @@ -5439,7 +5448,8 @@ F .046(enabled, readline does not)2.546 F 1.394(insert characters from \ the completion that match characters after point in the w)144 708 R 1.394(ord being com-)-.1 F(pleted, so portions of the w)144 720 Q (ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(43)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(43)185.545 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP @@ -5548,8 +5558,8 @@ F0 1.276(construct pro)3.776 F 1.276 -.25 F(alues.)-.25 E 1.901(The permitted comparison operators are)180 729.6 R F2(=)4.401 E F0(,)A F2(==)4.401 E F0 4.401(,a)C(nd)-4.401 E F2 (!=)4.401 E F0 6.901(.T)C 1.901(he v)-6.901 F 1.9(ariable name must be) --.25 F(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(44)190.395 E 0 Cg -EP +-.25 F(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22) +.15 E(44)185.545 E 0 Cg EP %%Page: 45 45 %%BeginPageSetup BP @@ -5647,7 +5657,7 @@ Q .823 -.15(ve f)-.15 H(orw).15 E .523(ard to the end of the ne)-.1 F (ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91 (ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F (characters \(letters and digits\).)144 708 Q(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(45)190.395 E 0 Cg EP +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(45)185.545 E 0 Cg EP %%Page: 46 46 %%BeginPageSetup BP @@ -5734,7 +5744,8 @@ etween the start of the current)-.1 F(line and the point.)144 688.8 Q of the current)-.1 F .007(line and the current cursor position \(the) 144 724.8 R/F3 10/Times-Italic@0 SF(point)2.507 E F0 2.507(\). The)B .007(search string may match an)2.507 F .007(ywhere in a history)-.15 F -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(46)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(46)185.545 E 0 Cg EP %%Page: 47 47 %%BeginPageSetup BP @@ -5842,7 +5853,8 @@ R .799(xample, by)-.15 F/F5 10/Courier@0 SF(stty)3.299 E F0 5.799(.I)C 5.553(.W)-.55 G .553(hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553 (umeric ar)-3.053 F .552(gument, sa)-.18 F .852 -.15(ve t)-.2 H .552 (he deleted te).15 F .552(xt on)-.15 F(the kill ring.)144 712.8 Q -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(47)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(47)185.545 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP @@ -5936,7 +5948,7 @@ R .729(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F (ord behind point.)-.1 F -.8(Wo)8.025 G 3.025 (rd boundaries are the same as those used by).8 F F1(shell\255back-) 5.525 E(ward\255w)144 712.8 Q(ord)-.1 E F0(.)A(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(48)190.395 E 0 Cg EP +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(48)185.545 E 0 Cg EP %%Page: 49 49 %%BeginPageSetup BP @@ -6032,8 +6044,8 @@ E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.228 E F0 1.73 (ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1 E(through the list.)144 705.6 Q(This command is intended to be bound to) 5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E -(ault.)-.1 E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(49)190.395 -E 0 Cg EP +(ault.)-.1 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G +(mber 22).15 E(49)185.545 E 0 Cg EP %%Page: 50 50 %%BeginPageSetup BP @@ -6121,8 +6133,8 @@ F0(Print the last k)144 652.8 Q -.15(ey)-.1 G (Read in the contents of the)144 693.6 R F2(inputr)4.277 E(c)-.37 E F0 1.776(\214le, and incorporate an)4.276 F 4.276(yb)-.15 G 1.776 (indings or v)-4.276 F 1.776(ariable assignments)-.25 F(found there.)144 -705.6 Q(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(50)190.395 E 0 -Cg EP +705.6 Q(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22) +.15 E(50)185.545 E 0 Cg EP %%Page: 51 51 %%BeginPageSetup BP @@ -6227,8 +6239,8 @@ le completions.)2.5 E F1(glob\255expand\255w)108 600 Q(ord \(C\255x *\)) 5.626 F(gu-)-.18 E (ment is supplied, the output is formatted in such a w)144 720 Q (ay that it can be made part of an)-.1 E F2(inputr)2.5 E(c)-.37 E F0 -(\214le.)2.5 E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(51) -190.395 E 0 Cg EP +(\214le.)2.5 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G +(mber 22).15 E(51)185.545 E 0 Cg EP %%Page: 52 52 %%BeginPageSetup BP @@ -6361,7 +6373,7 @@ E(Ne)108 715.2 Q .08(xt, an)-.15 F 2.58(yc)-.15 G .08 (va)-.25 G .081(lent to command sub-).25 F 2.859(stitution. It)108 727.2 R .359(should print a list of completions, one per line, to the standar\ d output.)2.859 F .358(Backslash may be used)5.359 F(GNU Bash 5.0)72 768 -Q(2019 October 30)141.235 E(52)190.395 E 0 Cg EP +Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(52)185.545 E 0 Cg EP %%Page: 53 53 %%BeginPageSetup BP @@ -6488,7 +6500,8 @@ E F4(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108 (When the history \214le is read, lines)5.142 F(be)108 724.8 Q 3.544 (ginning with the history comment character follo)-.15 F 3.544 (wed immediately by a digit are interpreted as)-.25 F(GNU Bash 5.0)72 -768 Q(2019 October 30)141.235 E(53)190.395 E 0 Cg EP +768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(53)185.545 E 0 Cg +EP %%Page: 54 54 %%BeginPageSetup BP @@ -6634,8 +6647,8 @@ F0 .52(option to the)3.02 F F3(history)3.02 E F0 -.2(bu)3.02 G .52 (iltin may be used to add commands to the).2 F (end of the history list without actually e)108 717.6 Q -.15(xe)-.15 G (cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G -(ilable for subsequent recall.).25 E(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(54)190.395 E 0 Cg EP +(ilable for subsequent recall.).25 E(GNU Bash 5.0)72 768 Q(2019 No) +136.385 E -.15(ve)-.15 G(mber 22).15 E(54)185.545 E 0 Cg EP %%Page: 55 55 %%BeginPageSetup BP @@ -6669,2334 +6682,2357 @@ ing the current position in the history list starting with)144 225.6 R F2(string)144.34 237.6 Q F0(.).22 E F1(!?)108 249.6 Q F2(string)A F1 ([?])A F0 1.503(Refer to the most recent command preceding the current \ position in the history list containing)144 261.6 R F2(string)144.34 -273.6 Q F0 5(.T).22 G(he trailing)-5 E F1(?)2.5 E F0(may be omitted if) -2.5 E F2(string)2.84 E F0(is follo)2.72 E(wed immediately by a ne)-.25 E -(wline.)-.25 E/F3 12/Times-Bold@0 SF(^)108 290.6 Q F2(string1)-5 I F3(^) -5 I F2(string2)-5 I F3(^)5 I F0 .753(Quick substitution.)144 297.6 R -.753(Repeat the pre)5.753 F .753(vious command, replacing)-.25 F F2 -(string1)3.593 E F0(with)3.253 E F2(string2)3.592 E F0 5.752(.E).02 G -(qui)-5.752 E -.25(va)-.25 G .752(lent to).25 F -.74(``)144 309.6 S -(!!:s).74 E/F4 12/Times-Roman@0 SF(^)5 I F2(string1)-5 I F4(^)5 I F2 -(string2)-5 I F4(^)5 I F0 1.48 -.74('' \()-5 L(see).74 E F1(Modi\214ers) -2.5 E F0(belo)2.5 E(w\).)-.25 E F1(!#)108 321.6 Q F0 -(The entire command line typed so f)144 321.6 Q(ar)-.1 E(.)-.55 E F1 --.75(Wo)87 338.4 S(rd Designators).75 E F0 -.8(Wo)108 350.4 S 1.313 -(rd designators are used to select desired w).8 F 1.314(ords from the e) --.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F1(:)3.814 E F0 1.314 -(separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation).15 F -.53(from the w)108 362.4 R .529(ord designator)-.1 F 5.529(.I)-.55 G -3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529 +273.6 Q F0 5.497(.T).22 G .497(he trailing)-5.497 F F1(?)2.997 E F0 .497 +(may be omitted if)2.997 F F2(string)3.337 E F0 .496(is follo)3.216 F +.496(wed immediately by a ne)-.25 F 2.996(wline. If)-.25 F F2(string) +2.996 E F0(is)2.996 E .39(missing, the string from the most recent sear\ +ch is used; it is an error if there is no pre)144 285.6 R .391 +(vious search)-.25 F(string.)144 297.6 Q/F3 12/Times-Bold@0 SF(^)108 +314.6 Q F2(string1)-5 I F3(^)5 I F2(string2)-5 I F3(^)5 I F0 .753 +(Quick substitution.)144 321.6 R .753(Repeat the pre)5.753 F .753 +(vious command, replacing)-.25 F F2(string1)3.593 E F0(with)3.253 E F2 +(string2)3.592 E F0 5.752(.E).02 G(qui)-5.752 E -.25(va)-.25 G .752 +(lent to).25 F -.74(``)144 333.6 S(!!:s).74 E/F4 12/Times-Roman@0 SF(^)5 +I F2(string1)-5 I F4(^)5 I F2(string2)-5 I F4(^)5 I F0 1.48 -.74('' \() +-5 L(see).74 E F1(Modi\214ers)2.5 E F0(belo)2.5 E(w\).)-.25 E F1(!#)108 +345.6 Q F0(The entire command line typed so f)144 345.6 Q(ar)-.1 E(.) +-.55 E F1 -.75(Wo)87 362.4 S(rd Designators).75 E F0 -.8(Wo)108 374.4 S +1.313(rd designators are used to select desired w).8 F 1.314 +(ords from the e)-.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F1(:)3.814 E F0 +1.314(separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation) +.15 F .53(from the w)108 386.4 R .529(ord designator)-.1 F 5.529(.I)-.55 +G 3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529 (ord designator be)-.1 F .529(gins with a)-.15 F F1(^)3.029 E F0(,)A F1 ($)3.029 E F0(,)A F1(*)3.029 E F0(,)A F13.029 E F0 3.029(,o)C(r) -3.029 E F1(%)3.029 E F0 5.529(.W)C(ords)-6.329 E .515 -(are numbered from the be)108 374.4 R .516 +(are numbered from the be)108 398.4 R .516 (ginning of the line, with the \214rst w)-.15 F .516 (ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)5.516 G .516(rds are in-) -.8 F(serted into the current line separated by single spaces.)108 386.4 -Q F1 2.5(0\()108 403.2 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 415.2 +.8 F(serted into the current line separated by single spaces.)108 410.4 +Q F1 2.5(0\()108 427.2 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 439.2 Q 2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E -F2(n)108.36 427.2 Q F0(The)144 427.2 Q F2(n)2.5 E F0(th w)A(ord.)-.1 E -F1(^)108 439.2 Q F0(The \214rst ar)144 439.2 Q 2.5(gument. That)-.18 F -(is, w)2.5 E(ord 1.)-.1 E F1($)108 451.2 Q F0 .064(The last w)144 451.2 +F2(n)108.36 451.2 Q F0(The)144 451.2 Q F2(n)2.5 E F0(th w)A(ord.)-.1 E +F1(^)108 463.2 Q F0(The \214rst ar)144 463.2 Q 2.5(gument. That)-.18 F +(is, w)2.5 E(ord 1.)-.1 E F1($)108 475.2 Q F0 .064(The last w)144 475.2 R 2.564(ord. This)-.1 F .064(is usually the last ar)2.564 F .064 (gument, b)-.18 F .064(ut will e)-.2 F .064(xpand to the zeroth w)-.15 F -.063(ord if there is only)-.1 F(one w)144 463.2 Q(ord in the line.)-.1 E -F1(%)108 475.2 Q F0(The w)144 475.2 Q(ord matched by the most recent `?) --.1 E F2(string)A F0(?' search.)A F2(x)108.77 487.2 Q F1A F2(y)A F0 -2.5(Ar)144 487.2 S(ange of w)-2.5 E(ords; `\255)-.1 E F2(y)A F0 2.5('a)C -(bbre)-2.5 E(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 499.2 Q F0 -.315(All of the w)144 499.2 R .315(ords b)-.1 F .315(ut the zeroth.)-.2 -F .315(This is a synon)5.315 F .315(ym for `)-.15 F F2(1\255$)A F0 2.815 -('. It)B .315(is not an error to use)2.815 F F1(*)2.816 E F0 .316 -(if there is)2.816 F(just one w)144 511.2 Q(ord in the e)-.1 E -.15(ve) --.25 G(nt; the empty string is returned in that case.).15 E F1(x*)108 -523.2 Q F0(Abbre)144 523.2 Q(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1 -<78ad>108 535.2 Q F0(Abbre)144 535.2 Q(viates)-.25 E F2(x\255$)2.5 E F0 -(lik)2.5 E(e)-.1 E F1(x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E -(ord.)-.1 E(If a w)108 552 Q(ord designator is supplied without an e)-.1 -E -.15(ve)-.25 G(nt speci\214cation, the pre).15 E -(vious command is used as the e)-.25 E -.15(ve)-.25 G(nt.).15 E F1 -(Modi\214ers)87 568.8 Q F0 .184(After the optional w)108 580.8 R .184 -(ord designator)-.1 F 2.684(,t)-.4 G .183 -(here may appear a sequence of one or more of the follo)-2.684 F .183 -(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 592.8 Q F1(h)108 -609.6 Q F0(Remo)144 609.6 Q .3 -.15(ve a t)-.15 H +.063(ord if there is only)-.1 F(one w)144 487.2 Q(ord in the line.)-.1 E +F1(%)108 499.2 Q F0 1.419(The \214rst w)144 499.2 R 1.419 +(ord matched by the most recent `?)-.1 F F2(string)A F0 1.42 +(?' search, if the search string be)B 1.42(gins with a)-.15 F +(character that is part of a w)144 511.2 Q(ord.)-.1 E F2(x)108.77 523.2 +Q F1A F2(y)A F0 2.5(Ar)144 523.2 S(ange of w)-2.5 E(ords; `\255)-.1 +E F2(y)A F0 2.5('a)C(bbre)-2.5 E(viates `0\255)-.25 E F2(y)A F0('.)A F1 +(*)108 535.2 Q F0 .316(All of the w)144 535.2 R .316(ords b)-.1 F .316 +(ut the zeroth.)-.2 F .315(This is a synon)5.315 F .315(ym for `)-.15 F +F2(1\255$)A F0 2.815('. It)B .315(is not an error to use)2.815 F F1(*) +2.815 E F0 .315(if there is)2.815 F(just one w)144 547.2 Q(ord in the e) +-.1 E -.15(ve)-.25 G(nt; the empty string is returned in that case.).15 +E F1(x*)108 559.2 Q F0(Abbre)144 559.2 Q(viates)-.25 E F2(x\255$)2.5 E +F0(.)A F1<78ad>108 571.2 Q F0(Abbre)144 571.2 Q(viates)-.25 E F2(x\255$) +2.5 E F0(lik)2.5 E(e)-.1 E F1(x*)2.5 E F0 2.5(,b)C(ut omits the last w) +-2.7 E 2.5(ord. If)-.1 F F1(x)2.5 E F0(is missing, it def)2.5 E +(aults to 0.)-.1 E(If a w)108 588 Q +(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G +(nt speci\214cation, the pre).15 E(vious command is used as the e)-.25 E +-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 604.8 Q F0 .183 +(After the optional w)108 616.8 R .183(ord designator)-.1 F 2.683(,t)-.4 +G .184(here may appear a sequence of one or more of the follo)-2.683 F +.184(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 628.8 Q +(These modify)5 E 2.5(,o)-.65 G 2.5(re)-2.5 G(dit, the w)-2.5 E +(ord or w)-.1 E(ords selected from the history e)-.1 E -.15(ve)-.25 G +(nt.).15 E F1(h)108 645.6 Q F0(Remo)144 645.6 Q .3 -.15(ve a t)-.15 H (railing \214lename component, lea).15 E(ving only the head.)-.2 E F1(t) -108 621.6 Q F0(Remo)144 621.6 Q .3 -.15(ve a)-.15 H +108 657.6 Q F0(Remo)144 657.6 Q .3 -.15(ve a)-.15 H (ll leading \214lename components, lea).15 E(ving the tail.)-.2 E F1(r) -108 633.6 Q F0(Remo)144 633.6 Q .3 -.15(ve a t)-.15 H(railing suf).15 E +108 669.6 Q F0(Remo)144 669.6 Q .3 -.15(ve a t)-.15 H(railing suf).15 E (\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E -(ving the basename.)-.2 E F1(e)108 645.6 Q F0(Remo)144 645.6 Q .3 -.15 +(ving the basename.)-.2 E F1(e)108 681.6 Q F0(Remo)144 681.6 Q .3 -.15 (ve a)-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 -657.6 Q F0(Print the ne)144 657.6 Q 2.5(wc)-.25 G(ommand b)-2.5 E -(ut do not e)-.2 E -.15(xe)-.15 G(cute it.).15 E F1(q)108 669.6 Q F0 -(Quote the substituted w)144 669.6 Q -(ords, escaping further substitutions.)-.1 E F1(x)108 681.6 Q F0 -(Quote the substituted w)144 681.6 Q(ords as with)-.1 E F1(q)2.5 E F0 -2.5(,b)C(ut break into w)-2.7 E(ords at)-.1 E F1(blanks)2.5 E F0(and ne) -2.5 E(wlines.)-.25 E F1(s/)108 693.6 Q F2(old)A F1(/)A F2(ne)A(w)-.15 E -F1(/)A F0(Substitute)144 705.6 Q F2(ne)3.081 E(w)-.15 E F0 .221 -(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221(in the e) -3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721(yd)-.15 G -.221(elimiter can be used in place)-2.721 F .617(of /.)144 717.6 R .617 -(The \214nal delimiter is optional if it is the last character of the e) -5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616 -F .636(be quoted in)144 729.6 R F2(old)3.366 E F0(and)3.906 E F2(ne) -3.496 E(w)-.15 E F0 .636(with a single backslash.)3.446 F .637 -(If & appears in)5.636 F F2(ne)3.497 E(w)-.15 E F0 3.137(,i).31 G 3.137 -(ti)-3.137 G 3.137(sr)-3.137 G .637(eplaced by)-3.137 F F2(old)3.367 E -F0 5.637(.A).77 G(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(55) -190.395 E 0 Cg EP +693.6 Q F0(Print the ne)144 693.6 Q 2.5(wc)-.25 G(ommand b)-2.5 E +(ut do not e)-.2 E -.15(xe)-.15 G(cute it.).15 E F1(q)108 705.6 Q F0 +(Quote the substituted w)144 705.6 Q +(ords, escaping further substitutions.)-.1 E F1(x)108 717.6 Q F0 .386 +(Quote the substituted w)144 717.6 R .386(ords as with)-.1 F F1(q)2.886 +E F0 2.886(,b)C .386(ut break into w)-3.086 F .385(ords at)-.1 F F1 +(blanks)2.885 E F0 .385(and ne)2.885 F 2.885(wlines. The)-.25 F F1(q) +2.885 E F0(and)2.885 E F1(x)2.885 E F0(modi\214ers are mutually e)144 +729.6 Q(xclusi)-.15 E -.15(ve)-.25 G 2.5(;t).15 G +(he last one supplied is used.)-2.5 E(GNU Bash 5.0)72 768 Q(2019 No) +136.385 E -.15(ve)-.15 G(mber 22).15 E(55)185.545 E 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .275 -(single backslash will quote the &.)144 84 R(If)5.275 E/F1 10 -/Times-Italic@0 SF(old)3.004 E F0 .274(is null, it is set to the last) -3.544 F F1(old)3.004 E F0 .274(substituted, or)3.544 F 2.774(,i)-.4 G -2.774(fn)-2.774 G 2.774(op)-2.774 G(re)-2.774 E(vi-)-.25 E -(ous history substitutions took place, the last)144 96 Q F1(string)2.84 -E F0(in a)2.72 E/F2 10/Times-Bold@0 SF(!?)2.5 E F1(string)A F2([?])A F0 -(search.)5 E F2(&)108 108 Q F0(Repeat the pre)144 108 Q -(vious substitution.)-.25 E F2(g)108 120 Q F0 .397 -(Cause changes to be applied o)144 120 R -.15(ve)-.15 G 2.897(rt).15 G -.398(he entire e)-2.897 F -.15(ve)-.25 G .398(nt line.).15 F .398 -(This is used in conjunction with `)5.398 F F2(:s)A F0 2.898('\()C -(e.g.,)-2.898 E(`)144 132 Q F2(:gs/)A F1(old)A F2(/)A F1(ne)A(w)-.15 E -F2(/)A F0 .351('\) or `)B F2(:&)A F0 2.851('. If)B .351(used with `) -2.851 F F2(:s)A F0 .351(', an)B 2.851(yd)-.15 G .35 -(elimiter can be used in place of /, and the \214nal de-)-2.851 F -(limiter is optional if it is the last character of the e)144 144 Q -.15 -(ve)-.25 G(nt line.).15 E(An)5 E F2(a)2.5 E F0(may be used as a synon) -2.5 E(ym for)-.15 E F2(g)2.5 E F0(.)A F2(G)108 156 Q F0(Apply the follo) -144 156 Q(wing `)-.25 E F2(s)A F0 2.5('m)C(odi\214er once to each w)-2.5 -E(ord in the e)-.1 E -.15(ve)-.25 G(nt line.).15 E/F3 10.95/Times-Bold@0 -SF(SHELL B)72 172.8 Q(UIL)-.11 E(TIN COMMANDS)-1.007 E F0 .062 -(Unless otherwise noted, each b)108 184.8 R .062(uiltin command documen\ -ted in this section as accepting options preceded by)-.2 F F2108 -196.8 Q F0(accepts)3.077 E F23.077 E F0 .577 -(to signify the end of the options.)3.077 F(The)5.577 E F2(:)3.077 E F0 -(,)A F2(true)3.077 E F0(,)A F2(false)3.077 E F0 3.077(,a)C(nd)-3.077 E -F2(test)3.077 E F0(/)A F2([)A F0 -.2(bu)3.077 G .577 -(iltins do not accept options).2 F .461(and do not treat)108 208.8 R F2 -2.961 E F0(specially)2.961 E 5.461(.T)-.65 G(he)-5.461 E F2(exit) -2.961 E F0(,)A F2(logout)2.961 E F0(,)A F2 -.18(re)2.961 G(tur).18 E(n) --.15 E F0(,)A F2(br)2.961 E(eak)-.18 E F0(,)A F2(continue)2.961 E F0(,)A -F2(let)2.961 E F0 2.961(,a)C(nd)-2.961 E F2(shift)2.961 E F0 -.2(bu) -2.962 G .462(iltins accept and).2 F .261(process ar)108 220.8 R .261 -(guments be)-.18 F .261(ginning with)-.15 F F22.761 E F0 .261 -(without requiring)2.761 F F22.761 E F0 5.261(.O)C .261(ther b) --5.261 F .26(uiltins that accept ar)-.2 F .26(guments b)-.18 F .26 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 +SF(s/)108 84 Q/F2 10/Times-Italic@0 SF(old)A F1(/)A F2(ne)A(w)-.15 E F1 +(/)A F0(Substitute)144 96 Q F2(ne)3.328 E(w)-.15 E F0 .469 +(for the \214rst occurrence of)3.278 F F2(old)3.199 E F0 .469(in the e) +3.739 F -.15(ve)-.25 G .469(nt line.).15 F(An)5.469 E 2.969(yc)-.15 G +.469(haracter may be used as the)-2.969 F .954(delimiter in place of /.) +144 108 R .953 +(The \214nal delimiter is optional if it is the last character of the e) +5.953 F -.15(ve)-.25 G .953(nt line.).15 F .131 +(The delimiter may be quoted in)144 120 R F2(old)2.861 E F0(and)3.401 E +F2(ne)2.991 E(w)-.15 E F0 .131(with a single backslash.)2.941 F .131 +(If & appears in)5.131 F F2(ne)2.991 E(w)-.15 E F0 2.631(,i).31 G 2.631 +(ti)-2.631 G 2.631(sr)-2.631 G(e-)-2.631 E .62(placed by)144 132 R F2 +(old)3.349 E F0 5.619(.A).77 G .619(single backslash will quote the &.) +-2.5 F(If)5.619 E F2(old)3.349 E F0 .619(is null, it is set to the last) +3.889 F F2(old)3.349 E F0(substi-)3.889 E .486(tuted, or)144 144 R 2.986 +(,i)-.4 G 2.986(fn)-2.986 G 2.986(op)-2.986 G(re)-2.986 E .486 +(vious history substitutions took place, the last)-.25 F F2(string)3.326 +E F0 .487(in a)3.206 F F1(!?)2.987 E F2(string)A F1([?])A F0 2.987 +(search. If)5.487 F F2(ne)144.36 156 Q(w)-.15 E F0 +(is null, each matching)2.81 E F2(old)2.73 E F0(is deleted.)3.27 E F1(&) +108 168 Q F0(Repeat the pre)144 168 Q(vious substitution.)-.25 E F1(g) +108 180 Q F0 .398(Cause changes to be applied o)144 180 R -.15(ve)-.15 G +2.898(rt).15 G .398(he entire e)-2.898 F -.15(ve)-.25 G .398(nt line.) +.15 F .397(This is used in conjunction with `)5.398 F F1(:s)A F0 2.897 +('\()C(e.g.,)-2.897 E(`)144 192 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w) +-.15 E F1(/)A F0 .35('\) or `)B F1(:&)A F0 2.85('. If)B .35(used with `) +2.85 F F1(:s)A F0 .35(', an)B 2.85(yd)-.15 G .351 +(elimiter can be used in place of /, and the \214nal de-)-2.85 F +(limiter is optional if it is the last character of the e)144 204 Q -.15 +(ve)-.25 G(nt line.).15 E(An)5 E F1(a)2.5 E F0(may be used as a synon) +2.5 E(ym for)-.15 E F1(g)2.5 E F0(.)A F1(G)108 216 Q F0(Apply the follo) +144 216 Q(wing `)-.25 E F1(s)A F0 2.5('o)C 2.5(r`)-2.5 G F1(&)-2.5 E F0 +2.5('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 +G(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 232.8 Q(UIL)-.11 E +(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 244.8 +R .062(uiltin command documented in this section as accepting options p\ +receded by)-.2 F F1108 256.8 Q F0(accepts)3.077 E F13.077 E F0 +.577(to signify the end of the options.)3.077 F(The)5.577 E F1(:)3.077 E +F0(,)A F1(true)3.077 E F0(,)A F1(false)3.077 E F0 3.077(,a)C(nd)-3.077 E +F1(test)3.077 E F0(/)A F1([)A F0 -.2(bu)3.077 G .577 +(iltins do not accept options).2 F .462(and do not treat)108 268.8 R F1 +2.961 E F0(specially)2.961 E 5.461(.T)-.65 G(he)-5.461 E F1(exit) +2.961 E F0(,)A F1(logout)2.961 E F0(,)A F1 -.18(re)2.961 G(tur).18 E(n) +-.15 E F0(,)A F1(br)2.961 E(eak)-.18 E F0(,)A F1(continue)2.961 E F0(,)A +F1(let)2.961 E F0 2.961(,a)C(nd)-2.961 E F1(shift)2.961 E F0 -.2(bu) +2.961 G .461(iltins accept and).2 F .26(process ar)108 280.8 R .26 +(guments be)-.18 F .26(ginning with)-.15 F F12.76 E F0 .261 +(without requiring)2.76 F F12.761 E F0 5.261(.O)C .261(ther b) +-5.261 F .261(uiltins that accept ar)-.2 F .261(guments b)-.18 F .261 (ut are not)-.2 F 1.154(speci\214ed as accepting options interpret ar) -108 232.8 R 1.154(guments be)-.18 F 1.154(ginning with)-.15 F F2 +108 292.8 R 1.154(guments be)-.18 F 1.154(ginning with)-.15 F F1 3.654 E F0 1.154(as in)3.654 F -.25(va)-.4 G 1.154 -(lid options and require).25 F F23.654 E F0(to)3.654 E(pre)108 -244.8 Q -.15(ve)-.25 G(nt this interpretation.).15 E F2(:)108 262.8 Q F0 -([)2.5 E F1(ar)A(guments)-.37 E F0(])A .452(No ef)144 274.8 R .452 +(lid options and require).25 F F13.654 E F0(to)3.654 E(pre)108 +304.8 Q -.15(ve)-.25 G(nt this interpretation.).15 E F1(:)108 322.8 Q F0 +([)2.5 E F2(ar)A(guments)-.37 E F0(])A .451(No ef)144 334.8 R .451 (fect; the command does nothing be)-.25 F .452(yond e)-.15 F(xpanding) --.15 E F1(ar)3.282 E(guments)-.37 E F0 .451(and performing an)3.221 F -2.951(ys)-.15 G(peci\214ed)-2.951 E 2.5(redirections. The)144 286.8 R -(return status is zero.)2.5 E F2(.)110.5 303.6 Q F1(\214lename)6.666 E -F0([)2.5 E F1(ar)A(guments)-.37 E F0(])A F2(sour)108 315.6 Q(ce)-.18 E -F1(\214lename)2.5 E F0([)2.5 E F1(ar)A(guments)-.37 E F0(])A 1.02 -(Read and e)144 327.6 R -.15(xe)-.15 G 1.02(cute commands from).15 F F1 +-.15 E F2(ar)3.282 E(guments)-.37 E F0 .452(and performing an)3.222 F +2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. The)144 346.8 R +(return status is zero.)2.5 E F1(.)110.5 363.6 Q F2(\214lename)6.666 E +F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108 375.6 Q(ce)-.18 E +F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.02 +(Read and e)144 387.6 R -.15(xe)-.15 G 1.02(cute commands from).15 F F2 (\214lename)5.43 E F0 1.02(in the current shell en)3.7 F 1.02 -(vironment and return the e)-.4 F(xit)-.15 E 1.331 -(status of the last command e)144 339.6 R -.15(xe)-.15 G 1.331 -(cuted from).15 F F1(\214lename)5.741 E F0 6.331(.I).18 G(f)-6.331 E F1 -(\214lename)5.741 E F0 1.33(does not contain a slash, \214le-)4.011 F -.488(names in)144 351.6 R/F4 9/Times-Bold@0 SF -.666(PA)2.988 G(TH)-.189 -E F0 .488(are used to \214nd the directory containing)2.738 F F1 -(\214lename)4.899 E F0 5.489(.T).18 G .489(he \214le searched for in) --5.489 F F4 -.666(PA)2.989 G(TH)-.189 E F0 .833(need not be e)144 363.6 -R -.15(xe)-.15 G 3.333(cutable. When).15 F F2(bash)3.333 E F0 .832 -(is not in)3.333 F F1 .832(posix mode)3.332 F F0 3.332(,t)C .832 -(he current directory is searched if no)-3.332 F .981 -(\214le is found in)144 375.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9 -/Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F2(sour)3.481 E(cepath)-.18 -E F0 .981(option to the)3.481 F F2(shopt)3.481 E F0 -.2(bu)3.481 G .981 -(iltin command is turned of).2 F .982(f, the)-.25 F F4 -.666(PA)144 -387.6 S(TH)-.189 E F0 .112(is not searched.)2.363 F .112(If an)5.112 F -(y)-.15 E F1(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F -2.612(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F1 -(\214lename)144 399.6 Q F0 .485(is e)2.985 F -.15(xe)-.15 G 2.985 +(vironment and return the e)-.4 F(xit)-.15 E 1.33 +(status of the last command e)144 399.6 R -.15(xe)-.15 G 1.331 +(cuted from).15 F F2(\214lename)5.741 E F0 6.331(.I).18 G(f)-6.331 E F2 +(\214lename)5.741 E F0 1.331(does not contain a slash, \214le-)4.011 F +.489(names in)144 411.6 R/F4 9/Times-Bold@0 SF -.666(PA)2.989 G(TH)-.189 +E F0 .489(are used to \214nd the directory containing)2.739 F F2 +(\214lename)4.899 E F0 5.488(.T).18 G .488(he \214le searched for in) +-5.488 F F4 -.666(PA)2.988 G(TH)-.189 E F0 .832(need not be e)144 423.6 +R -.15(xe)-.15 G 3.332(cutable. When).15 F F1(bash)3.332 E F0 .832 +(is not in)3.332 F F2 .832(posix mode)3.332 F F0 3.332(,t)C .833 +(he current directory is searched if no)-3.332 F .982 +(\214le is found in)144 435.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9 +/Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18 +E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981 +(iltin command is turned of).2 F .981(f, the)-.25 F F4 -.666(PA)144 +447.6 S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F +(y)-.15 E F2(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F +2.612(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F2 +(\214lename)144 459.6 Q F0 .485(is e)2.985 F -.15(xe)-.15 G 2.985 (cuted. Otherwise).15 F .485(the positional parameters are unchanged.) -2.985 F .485(If the)5.485 F F22.985 E F0 .485(option is en-)2.985 -F(abled,)144 411.6 Q F2(sour)3.325 E(ce)-.18 E F0 .825(inherits an)3.325 -F 3.325(yt)-.15 G .825(rap on)-3.325 F F2(DEB)3.325 E(UG)-.1 E F0 3.325 -(;i)C 3.325(fi)-3.325 G 3.324(ti)-3.325 G 3.324(sn)-3.324 G .824(ot, an) --3.324 F(y)-.15 E F2(DEB)3.324 E(UG)-.1 E F0 .824(trap string is sa) -3.324 F -.15(ve)-.2 G 3.324(da).15 G .824(nd re-)-3.324 F .817 -(stored around the call to)144 423.6 R F2(sour)3.317 E(ce)-.18 E F0 -3.317(,a)C(nd)-3.317 E F2(sour)3.317 E(ce)-.18 E F0 .817(unsets the) -3.317 F F2(DEB)3.317 E(UG)-.1 E F0 .817(trap while it e)3.317 F -.15(xe) --.15 G 3.317(cutes. If).15 F F23.317 E F0(is)3.318 E 1.435 -(not set, and the sourced \214le changes the)144 435.6 R F2(DEB)3.935 E +2.985 F .485(If the)5.485 F F12.985 E F0 .485(option is en-)2.985 +F(abled,)144 471.6 Q F1(sour)3.324 E(ce)-.18 E F0 .824(inherits an)3.324 +F 3.324(yt)-.15 G .824(rap on)-3.324 F F1(DEB)3.324 E(UG)-.1 E F0 3.324 +(;i)C 3.324(fi)-3.324 G 3.324(ti)-3.324 G 3.324(sn)-3.324 G .825(ot, an) +-3.324 F(y)-.15 E F1(DEB)3.325 E(UG)-.1 E F0 .825(trap string is sa) +3.325 F -.15(ve)-.2 G 3.325(da).15 G .825(nd re-)-3.325 F .817 +(stored around the call to)144 483.6 R F1(sour)3.317 E(ce)-.18 E F0 +3.317(,a)C(nd)-3.317 E F1(sour)3.317 E(ce)-.18 E F0 .817(unsets the) +3.317 F F1(DEB)3.317 E(UG)-.1 E F0 .817(trap while it e)3.317 F -.15(xe) +-.15 G 3.317(cutes. If).15 F F13.317 E F0(is)3.317 E 1.435 +(not set, and the sourced \214le changes the)144 495.6 R F1(DEB)3.935 E (UG)-.1 E F0 1.435(trap, the ne)3.935 F 3.935(wv)-.25 G 1.435 -(alue is retained when)-4.185 F F2(sour)3.935 E(ce)-.18 E F0 3.762 -(completes. The)144 447.6 R 1.262 -(return status is the status of the last command e)3.762 F 1.263 -(xited within the script \(0 if no)-.15 F(commands are e)144 459.6 Q --.15(xe)-.15 G(cuted\), and f).15 E(alse if)-.1 E F1(\214lename)4.41 E -F0(is not found or cannot be read.)2.68 E F2(alias)108 476.4 Q F0([)2.5 -E F2A F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C -(..])-2.5 E F2(Alias)144 488.4 Q F0 2.725(with no ar)5.225 F 2.724 -(guments or with the)-.18 F F25.224 E F0 2.724 -(option prints the list of aliases in the form)5.224 F F2(alias)5.224 E -F1(name)144 500.4 Q F0(=)A F1(value)A F0 .58(on standard output.)3.08 F +(alue is retained when)-4.185 F F1(sour)3.935 E(ce)-.18 E F0 3.763 +(completes. The)144 507.6 R 1.262 +(return status is the status of the last command e)3.763 F 1.262 +(xited within the script \(0 if no)-.15 F(commands are e)144 519.6 Q +-.15(xe)-.15 G(cuted\), and f).15 E(alse if)-.1 E F2(\214lename)4.41 E +F0(is not found or cannot be read.)2.68 E F1(alias)108 536.4 Q F0([)2.5 +E F1A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C +(..])-2.5 E F1(Alias)144 548.4 Q F0 2.724(with no ar)5.224 F 2.724 +(guments or with the)-.18 F F15.224 E F0 2.724 +(option prints the list of aliases in the form)5.224 F F1(alias)5.225 E +F2(name)144 560.4 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F .58(When ar)5.58 F .58 -(guments are supplied, an alias is de\214ned for each)-.18 F F1(name) -3.08 E F0(whose)144 512.4 Q F1(value)2.509 E F0 .009(is gi)2.509 F -.15 -(ve)-.25 G 2.509(n. A).15 F .009(trailing space in)2.509 F F1(value) +(guments are supplied, an alias is de\214ned for each)-.18 F F2(name) +3.08 E F0(whose)144 572.4 Q F2(value)2.508 E F0 .009(is gi)2.508 F -.15 +(ve)-.25 G 2.509(n. A).15 F .009(trailing space in)2.509 F F2(value) 2.509 E F0 .009(causes the ne)2.509 F .009(xt w)-.15 F .009 -(ord to be check)-.1 F .008(ed for alias substi-)-.1 F .579 -(tution when the alias is e)144 524.4 R 3.079(xpanded. F)-.15 F .579 -(or each)-.15 F F1(name)3.079 E F0 .579(in the ar)3.079 F .579 -(gument list for which no)-.18 F F1(value)3.079 E F0 .579(is sup-)3.079 -F 1.314(plied, the name and v)144 536.4 R 1.314 -(alue of the alias is printed.)-.25 F F2(Alias)6.314 E F0 1.314 -(returns true unless a)3.814 F F1(name)3.814 E F0 1.313(is gi)3.814 F --.15(ve)-.25 G 3.813(nf).15 G(or)-3.813 E -(which no alias has been de\214ned.)144 548.4 Q F2(bg)108 565.2 Q F0([) -2.5 E F1(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144 -577.2 R F1(jobspec)3.244 E F0 .745 -(in the background, as if it had been started with)3.244 F F2(&)3.245 E -F0 5.745(.I)C(f)-5.745 E F1(job-)4.985 E(spec)144 589.2 Q F0 .672 -(is not present, the shell')3.482 F 3.172(sn)-.55 G .672(otion of the) --3.172 F F1(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F2 -(bg)5.671 E F1(jobspec)4.911 E F0 .671(returns 0 unless run)3.481 F .418 -(when job control is disabled or)144 601.2 R 2.919(,w)-.4 G .419 -(hen run with job control enabled, an)-2.919 F 2.919(ys)-.15 G -(peci\214ed)-2.919 E F1(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G -(ot)-2.919 E(found or w)144 613.2 Q(as started without job control.)-.1 -E F2(bind)108 630 Q F0([)2.5 E F2A F1 -.1(ke)2.5 G(ymap)-.2 E F0 -2.5(][)C F2(\255lpsvPSVX)-2.5 E F0(])A F2(bind)108 642 Q F0([)2.5 E F2 -A F1 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F2-2.5 E F1 -(function)2.5 E F0 2.5(][)C F2-2.5 E F1(function)2.5 E F0 2.5(][)C -F2-2.5 E F1 -.1(ke)2.5 G(yseq)-.2 E F0(])A F2(bind)108 654 Q F0([) -2.5 E F2A F1 -.1(ke)2.5 G(ymap)-.2 E F0(])A F22.5 E F1 -(\214lename)2.5 E F2(bind)108 666 Q F0([)2.5 E F2A F1 -.1(ke)2.5 G -(ymap)-.2 E F0(])A F22.5 E F1 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F1 -(shell\255command)A F2(bind)108 678 Q F0([)2.5 E F2A F1 -.1(ke)2.5 -G(ymap)-.2 E F0(])A F1 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F1 -(function\255name)A F2(bind)108 690 Q F0([)2.5 E F2A F1 -.1(ke)2.5 -G(ymap)-.2 E F0(])A F1 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F1 -.37(re)C -(adline\255command).37 E F0 .239(Display current)144 702 R F2 -.18(re) -2.739 G(adline).18 E F0 -.1(ke)2.739 G 2.739(ya)-.05 G .239 -(nd function bindings, bind a k)-2.739 F .539 -.15(ey s)-.1 H .238 -(equence to a).15 F F2 -.18(re)2.738 G(adline).18 E F0 .238(function or) -2.738 F .475(macro, or set a)144 714 R F2 -.18(re)2.975 G(adline).18 E -F0 -.25(va)2.975 G 2.975(riable. Each).25 F .476(non-option ar)2.976 F -.476(gument is a command as it w)-.18 F .476(ould appear in)-.1 F F1 -(.inputr)144.23 726 Q(c)-.37 E F0 2.968(,b).31 G .467 -(ut each binding or command must be passed as a separate ar)-3.168 F -.467(gument; e.g., '"\\C\255x\\C\255r":)-.18 F(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(56)190.395 E 0 Cg EP +(ord to be check)-.1 F .009(ed for alias substi-)-.1 F .579 +(tution when the alias is e)144 584.4 R 3.079(xpanded. F)-.15 F .579 +(or each)-.15 F F2(name)3.079 E F0 .579(in the ar)3.079 F .579 +(gument list for which no)-.18 F F2(value)3.079 E F0 .578(is sup-)3.078 +F 1.313(plied, the name and v)144 596.4 R 1.314 +(alue of the alias is printed.)-.25 F F1(Alias)6.314 E F0 1.314 +(returns true unless a)3.814 F F2(name)3.814 E F0 1.314(is gi)3.814 F +-.15(ve)-.25 G 3.814(nf).15 G(or)-3.814 E +(which no alias has been de\214ned.)144 608.4 Q F1(bg)108 625.2 Q F0([) +2.5 E F2(jobspec)A F0(...])2.5 E .745(Resume each suspended job)144 +637.2 R F2(jobspec)3.245 E F0 .745 +(in the background, as if it had been started with)3.245 F F1(&)3.244 E +F0 5.744(.I)C(f)-5.744 E F2(job-)4.984 E(spec)144 649.2 Q F0 .671 +(is not present, the shell')3.481 F 3.171(sn)-.55 G .672(otion of the) +-3.171 F F2(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1 +(bg)5.672 E F2(jobspec)4.912 E F0 .672(returns 0 unless run)3.482 F .419 +(when job control is disabled or)144 661.2 R 2.919(,w)-.4 G .419 +(hen run with job control enabled, an)-2.919 F 2.918(ys)-.15 G +(peci\214ed)-2.918 E F2(jobspec)2.918 E F0 -.1(wa)2.918 G 2.918(sn).1 G +(ot)-2.918 E(found or w)144 673.2 Q(as started without job control.)-.1 +E F1(bind)108 690 Q F0([)2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0 +2.5(][)C F1(\255lpsvPSVX)-2.5 E F0(])A F1(bind)108 702 Q F0([)2.5 E F1 +A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1-2.5 E F2 +(function)2.5 E F0 2.5(][)C F1-2.5 E F2(function)2.5 E F0 2.5(][)C +F1-2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(])A(GNU Bash 5.0)72 768 Q +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(56)185.545 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 2.5 -(re\255read\255init\255\214le'. Options,)144 84 R(if supplied, ha)2.5 E -.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E/F1 10 -/Times-Bold@0 SF144 96 Q/F2 10/Times-Italic@0 SF -.1(ke)2.5 G -(ymap)-.2 E F0(Use)180 108 Q F2 -.1(ke)5.158 G(ymap)-.2 E F0 2.658 -(as the k)5.348 F -.15(ey)-.1 G 2.658(map to be af).15 F 2.659 -(fected by the subsequent bindings.)-.25 F(Acceptable)7.659 E F2 -.1(ke) -180 120 S(ymap)-.2 E F0 3.193(names are)5.883 F F2 3.193 -(emacs, emacs\255standar)5.693 F 3.192 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 +SF(bind)108 84 Q F0([)2.5 E F1A/F2 10/Times-Italic@0 SF -.1(ke)2.5 +G(ymap)-.2 E F0(])A F12.5 E F2(\214lename)2.5 E F1(bind)108 96 Q +F0([)2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F12.5 E F2 +-.1(ke)2.5 G(yseq)-.2 E F0(:)A F2(shell\255command)A F1(bind)108 108 Q +F0([)2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G +(yseq)-.2 E F0(:)A F2(function\255name)A F1(bind)108 120 Q F0([)2.5 E F1 +A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq)-.2 E F0 +(:)A F2 -.37(re)C(adline\255command).37 E F0 .238(Display current)144 +132 R F1 -.18(re)2.738 G(adline).18 E F0 -.1(ke)2.738 G 2.738(ya)-.05 G +.239(nd function bindings, bind a k)-2.738 F .539 -.15(ey s)-.1 H .239 +(equence to a).15 F F1 -.18(re)2.739 G(adline).18 E F0 .239(function or) +2.739 F .476(macro, or set a)144 144 R F1 -.18(re)2.976 G(adline).18 E +F0 -.25(va)2.976 G 2.976(riable. Each).25 F .476(non-option ar)2.976 F +.475(gument is a command as it w)-.18 F .475(ould appear in)-.1 F F2 +(.inputr)144.23 156 Q(c)-.37 E F0 2.967(,b).31 G .467 +(ut each binding or command must be passed as a separate ar)-3.167 F +.468(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5 +(re\255read\255init\255\214le'. Options,)144 168 R(if supplied, ha)2.5 E +.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 180 +Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 192 Q F2 -.1(ke)5.159 G(ymap)-.2 +E F0 2.659(as the k)5.349 F -.15(ey)-.1 G 2.658(map to be af).15 F 2.658 +(fected by the subsequent bindings.)-.25 F(Acceptable)7.658 E F2 -.1(ke) +180 204 S(ymap)-.2 E F0 3.192(names are)5.882 F F2 3.192 +(emacs, emacs\255standar)5.692 F 3.193 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E -(vi\255command)180 132 Q F0 4.089(,a)C(nd)-4.089 E F2(vi\255insert)4.379 -E F0(.).68 E F2(vi)6.589 E F0 1.589(is equi)4.089 F -.25(va)-.25 G 1.589 +(vi\255command)180 216 Q F0 4.09(,a)C(nd)-4.09 E F2(vi\255insert)4.38 E +F0(.).68 E F2(vi)6.589 E F0 1.589(is equi)4.089 F -.25(va)-.25 G 1.589 (lent to).25 F F2(vi\255command)4.089 E F0(\()4.089 E F2(vi\255mo)A(ve) --.1 E F0 1.59(is also a syn-)4.089 F(on)180 144 Q(ym\);)-.15 E F2(emacs) -2.5 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F2(emacs\255standar) -2.5 E(d)-.37 E F0(.)A F1144 156 Q F0(List the names of all)180 156 -Q F1 -.18(re)2.5 G(adline).18 E F0(functions.)2.5 E F1144 168 Q F0 -(Display)180 168 Q F1 -.18(re)2.5 G(adline).18 E F0 -(function names and bindings in such a w)2.5 E(ay that the)-.1 E 2.5(yc) --.15 G(an be re-read.)-2.5 E F1144 180 Q F0(List current)180 180 Q -F1 -.18(re)2.5 G(adline).18 E F0(function names and bindings.)2.5 E F1 -144 192 Q F0(Display)180 192 Q F1 -.18(re)3.655 G(adline).18 E F0 --.1(ke)3.655 G 3.655(ys)-.05 G 1.155 -(equences bound to macros and the strings the)-3.655 F 3.655(yo)-.15 G -1.155(utput in such a)-3.655 F -.1(wa)180 204 S 2.5(yt).1 G(hat the)-2.5 -E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 216 Q F0(Display)180 -216 Q F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)-.05 G -(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G -(utput.)-2.5 E F1144 228 Q F0(Display)180 228 Q F1 -.18(re)2.5 G +-.1 E F0 1.589(is also a syn-)4.089 F(on)180 228 Q(ym\);)-.15 E F2 +(emacs)2.5 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F2 +(emacs\255standar)2.5 E(d)-.37 E F0(.)A F1144 240 Q F0 +(List the names of all)180 240 Q F1 -.18(re)2.5 G(adline).18 E F0 +(functions.)2.5 E F1144 252 Q F0(Display)180 252 Q F1 -.18(re)2.5 +G(adline).18 E F0(function names and bindings in such a w)2.5 E +(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 264 Q +F0(List current)180 264 Q F1 -.18(re)2.5 G(adline).18 E F0 +(function names and bindings.)2.5 E F1144 276 Q F0(Display)180 276 +Q F1 -.18(re)3.655 G(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G +1.155(equences bound to macros and the strings the)-3.655 F 3.655(yo) +-.15 G 1.155(utput in such a)-3.655 F -.1(wa)180 288 S 2.5(yt).1 G +(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 300 Q F0 +(Display)180 300 Q F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys) +-.05 G(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G +(utput.)-2.5 E F1144 312 Q F0(Display)180 312 Q F1 -.18(re)2.5 G (adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E (alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G -(an be re-read.)-2.5 E F1144 240 Q F0(List current)180 240 Q F1 +(an be re-read.)-2.5 E F1144 324 Q F0(List current)180 324 Q F1 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E -(alues.)-.25 E F1144 252 Q F2(\214lename)2.5 E F0(Read k)180 264 Q +(alues.)-.25 E F1144 336 Q F2(\214lename)2.5 E F0(Read k)180 348 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A F1 -144 276 Q F2(function)2.5 E F0(Query about which k)180 288 Q -.15 +144 360 Q F2(function)2.5 E F0(Query about which k)180 372 Q -.15 (ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 H(he named).1 -E F2(function)2.5 E F0(.)A F1144 300 Q F2(function)2.5 E F0 -(Unbind all k)180 312 Q -.15(ey)-.1 G 2.5(sb).15 G(ound to the named) --2.5 E F2(function)2.5 E F0(.)A F1144 324 Q F2 -.1(ke)2.5 G(yseq) --.2 E F0(Remo)180 336 Q .3 -.15(ve a)-.15 H .3 -.15(ny c).15 H +E F2(function)2.5 E F0(.)A F1144 384 Q F2(function)2.5 E F0 +(Unbind all k)180 396 Q -.15(ey)-.1 G 2.5(sb).15 G(ound to the named) +-2.5 E F2(function)2.5 E F0(.)A F1144 408 Q F2 -.1(ke)2.5 G(yseq) +-.2 E F0(Remo)180 420 Q .3 -.15(ve a)-.15 H .3 -.15(ny c).15 H (urrent binding for).15 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(.)A F1144 -348 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2(shell\255command)A F0(Cause) -180 360 Q F2(shell\255command)4.325 E F0 1.825(to be e)4.325 F -.15(xe) +432 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2(shell\255command)A F0(Cause) +180 444 Q F2(shell\255command)4.325 E F0 1.825(to be e)4.325 F -.15(xe) -.15 G 1.825(cuted whene).15 F -.15(ve)-.25 G(r).15 E F2 -.1(ke)4.325 G (yseq)-.2 E F0 1.825(is entered.)4.325 F(When)6.825 E F2(shell\255com-) -4.325 E(mand)180 372 Q F0 1.765(is e)4.265 F -.15(xe)-.15 G 1.765 +4.325 E(mand)180 456 Q F0 1.764(is e)4.264 F -.15(xe)-.15 G 1.765 (cuted, the shell sets the).15 F/F3 9/Times-Bold@0 SF(READLINE_LINE) 4.265 E F0 -.25(va)4.015 G 1.765(riable to the contents of the).25 F F1 --.18(re)180 384 S(adline).18 E F0 .202(line b)2.701 F(uf)-.2 E .202 +-.18(re)180 468 S(adline).18 E F0 .202(line b)2.702 F(uf)-.2 E .202 (fer and the)-.25 F F3(READLINE_POINT)2.702 E F0 -.25(va)2.452 G .202 -(riable to the current location of the in-).25 F 2.719(sertion point.) -180 396 R 2.719(If the e)7.719 F -.15(xe)-.15 G 2.718 -(cuted command changes the v).15 F 2.718(alue of)-.25 F F3 -(READLINE_LINE)5.218 E F0(or)4.968 E F3(READLINE_POINT)180 408 Q/F4 9 +(riable to the current location of the in-).25 F 2.718(sertion point.) +180 480 R 2.718(If the e)7.718 F -.15(xe)-.15 G 2.718 +(cuted command changes the v).15 F 2.719(alue of)-.25 F F3 +(READLINE_LINE)5.219 E F0(or)4.969 E F3(READLINE_POINT)180 492 Q/F4 9 /Times-Roman@0 SF(,)A F0(those ne)2.25 E 2.5(wv)-.25 G -(alues will be re\215ected in the editing state.)-2.75 E F1144 420 -Q F0 .829(List all k)180 420 R 1.129 -.15(ey s)-.1 H .829 +(alues will be re\215ected in the editing state.)-2.75 E F1144 504 +Q F0 .83(List all k)180 504 R 1.13 -.15(ey s)-.1 H .829 (equences bound to shell commands and the associated commands in a for) -.15 F(-)-.2 E(mat that can be reused as input.)180 432 Q(The return v) -144 448.8 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15 +.15 F(-)-.2 E(mat that can be reused as input.)180 516 Q(The return v) +144 532.8 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15 (ve)-.25 G 2.5(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 -E F1(br)108 465.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055 -(Exit from within a)144 477.6 R F1 -.25(fo)2.555 G(r).25 E F0(,)A F1 -(while)2.555 E F0(,)A F1(until)2.555 E F0 2.555(,o)C(r)-2.555 E F1 +E F1(br)108 549.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .054 +(Exit from within a)144 561.6 R F1 -.25(fo)2.554 G(r).25 E F0(,)A F1 +(while)2.554 E F0(,)A F1(until)2.555 E F0 2.555(,o)C(r)-2.555 E F1 (select)2.555 E F0 2.555(loop. If)2.555 F F2(n)2.555 E F0 .055 (is speci\214ed, break)2.555 F F2(n)2.555 E F0(le)2.555 E -.15(ve)-.25 G -(ls.).15 E F2(n)5.414 E F0 .054(must be)2.794 F/F5 10/Symbol SF2.554 -E F0(1.)2.554 E(If)144 489.6 Q F2(n)3.074 E F0 .215(is greater than the\ - number of enclosing loops, all enclosing loops are e)2.954 F 2.715 -(xited. The)-.15 F .215(return v)2.715 F(alue)-.25 E(is 0 unless)144 -501.6 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 E F1 -.2 -(bu)108 518.4 S(iltin).2 E F2(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E -F2(ar)A(guments)-.37 E F0(])A(Ex)144 530.4 Q .771 -(ecute the speci\214ed shell b)-.15 F .771(uiltin, passing it)-.2 F F2 +(ls.).15 E F2(n)5.415 E F0 .055(must be)2.795 F/F5 10/Symbol SF2.555 +E F0(1.)2.555 E(If)144 573.6 Q F2(n)3.075 E F0 .215(is greater than the\ + number of enclosing loops, all enclosing loops are e)2.955 F 2.714 +(xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E(is 0 unless)144 +585.6 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 E F1 -.2 +(bu)108 602.4 S(iltin).2 E F2(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E +F2(ar)A(guments)-.37 E F0(])A(Ex)144 614.4 Q .77 +(ecute the speci\214ed shell b)-.15 F .77(uiltin, passing it)-.2 F F2 (ar)3.601 E(guments)-.37 E F0 3.271(,a).27 G .771(nd return its e)-3.271 -F .77(xit status.)-.15 F .77(This is useful)5.77 F .615 +F .771(xit status.)-.15 F .771(This is useful)5.771 F .616 (when de\214ning a function whose name is the same as a shell b)144 -542.4 R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144 -554.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 +626.4 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144 +638.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 -.2(bu)3.07 G .57(iltin is commonly rede\214ned this w).2 F(ay)-.1 E -5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 566.4 Q(alse if)-.1 +5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 650.4 Q(alse if)-.1 E F2(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E -(uiltin command.)-.2 E F1(caller)108 583.2 Q F0([)2.5 E F2 -.2(ex)C(pr) -.2 E F0(])A .253(Returns the conte)144 595.2 R .254(xt of an)-.15 F +(uiltin command.)-.2 E F1(caller)108 667.2 Q F0([)2.5 E F2 -.2(ex)C(pr) +.2 E F0(])A .254(Returns the conte)144 679.2 R .254(xt of an)-.15 F 2.754(ya)-.15 G(cti)-2.754 E .554 -.15(ve s)-.25 H .254 (ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G -.254(cuted with the).15 F F1(.)2.754 E F0(or)2.754 E F1(sour)144 607.2 Q -(ce)-.18 E F0 -.2(bu)2.825 G 2.825(iltins\). W).2 F(ithout)-.4 E F2 -.2 -(ex)2.825 G(pr).2 E F0(,)A F1(caller)2.825 E F0 .324 +.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 691.2 Q +(ce)-.18 E F0 -.2(bu)2.824 G 2.824(iltins\). W).2 F(ithout)-.4 E F2 -.2 +(ex)2.824 G(pr).2 E F0(,)A F1(caller)2.824 E F0 .324 (displays the line number and source \214lename of the current)2.824 F -.253(subroutine call.)144 619.2 R .253(If a non-ne)5.253 F -.05(ga)-.15 -G(ti).05 E .553 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15 -F F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .254 -(displays the line number)2.754 F 2.754(,s)-.4 G(ub-)-2.754 E 1.327(rou\ +.254(subroutine call.)144 703.2 R .254(If a non-ne)5.254 F -.05(ga)-.15 +G(ti).05 E .554 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15 +F F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .253 +(displays the line number)2.753 F 2.753(,s)-.4 G(ub-)-2.753 E 1.327(rou\ tine name, and source \214le corresponding to that position in the curr\ -ent e)144 631.2 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e) -144 643.2 Q(xtra information may be used, for e)-.15 E .001 -(xample, to print a stack trace.)-.15 F .001(The current frame is frame) -5.001 F 3.02(0. The)144 655.2 R .52(return v)3.02 F .52 -(alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .519 -(cuting a subroutine call or).15 F F2 -.2(ex)3.019 G(pr).2 E F0 .519 -(does not corre-)3.019 F(spond to a v)144 667.2 Q -(alid position in the call stack.)-.25 E F1(cd)108 684 Q F0([)2.5 E F1 -A F0(|[)A F1A F0([)2.5 E F1A F0(]] [\255@]] [)A F2 -(dir)A F0(])A .321(Change the current directory to)144 696 R F2(dir) -2.821 E F0 5.321(.i)C(f)-5.321 E F2(dir)2.821 E F0 .322 -(is not supplied, the v)2.821 F .322(alue of the)-.25 F F3(HOME)2.822 E -F0 .322(shell v)2.572 F .322(ariable is)-.25 F 1.036(the def)144 708 R -3.536(ault. An)-.1 F 3.536(ya)-.15 G 1.035(dditional ar)-3.536 F 1.035 -(guments follo)-.18 F(wing)-.25 E F2(dir)3.535 E F0 1.035(are ignored.) -3.535 F 1.035(The v)6.035 F(ariable)-.25 E F3(CDP)3.535 E -.855(AT)-.666 -G(H).855 E F0(de\214nes)3.285 E .826 -(the search path for the directory containing)144 720 R F2(dir)3.676 E -F0 3.326(:e).73 G .826(ach directory name in)-3.326 F F3(CDP)3.326 E --.855(AT)-.666 G(H).855 E F0 .827(is searched for)3.077 F(GNU Bash 5.0) -72 768 Q(2019 October 30)141.235 E(57)190.395 E 0 Cg EP +ent e)144 715.2 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001 +(This e)144 727.2 R .001(xtra information may be used, for e)-.15 F .001 +(xample, to print a stack trace.)-.15 F(The current frame is frame)5 E +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(57)185.545 E 0 Cg EP %%Page: 58 58 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10 -/Times-Italic@0 SF(dir)144 84 Q F0 5.665(.A)C(lternati)-5.665 E .965 --.15(ve d)-.25 H .665(irectory names in).15 F/F2 9/Times-Bold@0 SF(CDP) -3.165 E -.855(AT)-.666 G(H).855 E F0 .665 -(are separated by a colon \(:\).)2.915 F 3.165(An)5.665 G .664 -(ull directory name)-3.165 F(in)144 96 Q F2(CDP)3.101 E -.855(AT)-.666 G -(H).855 E F0 .601(is the same as the current directory)2.851 F 3.102(,i) --.65 G .602(.e., `)-3.102 F(`)-.74 E/F3 10/Times-Bold@0 SF(.)A F0 -.74 -('')C 5.602(.I).74 G(f)-5.602 E F1(dir)3.452 E F0(be)3.832 E .602 -(gins with a slash \(/\), then)-.15 F F2(CD-)3.102 E -.666(PA)144 108 S -(TH)-.189 E F0 1.003(is not used.)3.254 F(The)6.003 E F33.503 E F0 -1.003(option causes)3.503 F F3(cd)3.503 E F0 1.003(to use the ph)3.503 F -1.003(ysical directory structure by resolving)-.05 F .123 -(symbolic links while tra)144 120 R -.15(ve)-.2 G(rsing).15 E F1(dir) +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 3.019(0. The)144 +84 R .519(return v)3.019 F .519(alue is 0 unless the shell is not e)-.25 +F -.15(xe)-.15 G .52(cuting a subroutine call or).15 F/F1 10 +/Times-Italic@0 SF -.2(ex)3.02 G(pr).2 E F0 .52(does not corre-)3.02 F +(spond to a v)144 96 Q(alid position in the call stack.)-.25 E/F2 10 +/Times-Bold@0 SF(cd)108 112.8 Q F0([)2.5 E F2A F0(|[)A F2A +F0([)2.5 E F2A F0(]] [\255@]] [)A F1(dir)A F0(])A .322 +(Change the current directory to)144 124.8 R F1(dir)2.822 E F0 5.322(.i) +C(f)-5.322 E F1(dir)2.822 E F0 .321(is not supplied, the v)2.822 F .321 +(alue of the)-.25 F/F3 9/Times-Bold@0 SF(HOME)2.821 E F0 .321(shell v) +2.571 F .321(ariable is)-.25 F 1.035(the def)144 136.8 R 3.535(ault. An) +-.1 F 3.535(ya)-.15 G 1.035(dditional ar)-3.535 F 1.035(guments follo) +-.18 F(wing)-.25 E F1(dir)3.535 E F0 1.035(are ignored.)3.535 F 1.036 +(The v)6.035 F(ariable)-.25 E F3(CDP)3.536 E -.855(AT)-.666 G(H).855 E +F0(de\214nes)3.286 E .827(the search path for the directory containing) +144 148.8 R F1(dir)3.676 E F0 3.326(:e).73 G .826(ach directory name in) +-3.326 F F3(CDP)3.326 E -.855(AT)-.666 G(H).855 E F0 .826 +(is searched for)3.076 F F1(dir)144 160.8 Q F0 5.664(.A)C(lternati) +-5.664 E .964 -.15(ve d)-.25 H .665(irectory names in).15 F F3(CDP)3.165 +E -.855(AT)-.666 G(H).855 E F0 .665(are separated by a colon \(:\).) +2.915 F 3.165(An)5.665 G .665(ull directory name)-3.165 F(in)144 172.8 Q +F3(CDP)3.102 E -.855(AT)-.666 G(H).855 E F0 .602 +(is the same as the current directory)2.852 F 3.102(,i)-.65 G .602 +(.e., `)-3.102 F(`)-.74 E F2(.)A F0 -.74('')C 5.602(.I).74 G(f)-5.602 E +F1(dir)3.451 E F0(be)3.831 E .601(gins with a slash \(/\), then)-.15 F +F3(CD-)3.101 E -.666(PA)144 184.8 S(TH)-.189 E F0 1.003(is not used.) +3.253 F(The)6.003 E F23.503 E F0 1.003(option causes)3.503 F F2 +(cd)3.503 E F0 1.003(to use the ph)3.503 F 1.003 +(ysical directory structure by resolving)-.05 F .123 +(symbolic links while tra)144 196.8 R -.15(ve)-.2 G(rsing).15 E F1(dir) 2.623 E F0 .123(and before processing instances of)2.623 F F1(..)2.623 E -F0(in)2.623 E F1(dir)2.623 E F0 .123(\(see also the)2.623 F F3 -2.623 E F0(op-)2.623 E .43(tion to the)144 132 R F3(set)2.93 E F0 -.2 -(bu)2.93 G .43(iltin command\); the).2 F F32.929 E F0 .429 -(option forces symbolic links to be follo)2.929 F .429(wed by resolving) --.25 F .472(the link after processing instances of)144 144 R F1(..)2.972 -E F0(in)2.972 E F1(dir)2.973 E F0 5.473(.I)C(f)-5.473 E F1(..)2.973 E F0 -.473(appears in)2.973 F F1(dir)2.973 E F0 2.973(,i)C 2.973(ti)-2.973 G -2.973(sp)-2.973 G .473(rocessed by remo)-2.973 F .473(ving the)-.15 F -.948(immediately pre)144 156 R .948(vious pathname component from)-.25 F -F1(dir)3.448 E F0 3.448(,b)C .948(ack to a slash or the be)-3.448 F .948 -(ginning of)-.15 F F1(dir)3.448 E F0 5.948(.I)C(f)-5.948 E(the)144 168 Q -F32.868 E F0 .368(option is supplied with)2.868 F F32.868 E -F0 2.868(,a)C .368(nd the current w)-2.868 F .368 +F0(in)2.623 E F1(dir)2.623 E F0 .123(\(see also the)2.623 F F2 +2.623 E F0(op-)2.622 E .429(tion to the)144 208.8 R F2(set)2.929 E F0 +-.2(bu)2.929 G .429(iltin command\); the).2 F F22.929 E F0 .43 +(option forces symbolic links to be follo)2.929 F .43(wed by resolving) +-.25 F .473(the link after processing instances of)144 220.8 R F1(..) +2.973 E F0(in)2.973 E F1(dir)2.973 E F0 5.473(.I)C(f)-5.473 E F1(..) +2.973 E F0 .473(appears in)2.973 F F1(dir)2.972 E F0 2.972(,i)C 2.972 +(ti)-2.972 G 2.972(sp)-2.972 G .472(rocessed by remo)-2.972 F .472 +(ving the)-.15 F .948(immediately pre)144 232.8 R .948 +(vious pathname component from)-.25 F F1(dir)3.448 E F0 3.448(,b)C .948 +(ack to a slash or the be)-3.448 F .948(ginning of)-.15 F F1(dir)3.448 E +F0 5.948(.I)C(f)-5.948 E(the)144 244.8 Q F22.868 E F0 .368 +(option is supplied with)2.868 F F22.868 E F0 2.868(,a)C .368 +(nd the current w)-2.868 F .368 (orking directory cannot be successfully deter)-.1 F(-)-.2 E .612 -(mined after a successful directory change,)144 180 R F3(cd)3.112 E F0 -.612(will return an unsuccessful status.)3.112 F .612(On systems that) -5.612 F .353(support it, the)144 192 R F32.853 E F0 .354 -(option presents the e)2.853 F .354(xtended attrib)-.15 F .354 -(utes associated with a \214le as a directory)-.2 F 5.354(.A)-.65 G(n) --5.354 E(ar)144 204 Q .072(gument of)-.18 F F32.572 E F0 .072 -(is con)2.572 F -.15(ve)-.4 G .072(rted to).15 F F2($OLDPWD)2.572 E F0 +(mined after a successful directory change,)144 256.8 R F2(cd)3.112 E F0 +.612(will return an unsuccessful status.)3.112 F .613(On systems that) +5.612 F .354(support it, the)144 268.8 R F22.854 E F0 .354 +(option presents the e)2.854 F .354(xtended attrib)-.15 F .354 +(utes associated with a \214le as a directory)-.2 F 5.353(.A)-.65 G(n) +-5.353 E(ar)144 280.8 Q .072(gument of)-.18 F F22.572 E F0 .072 +(is con)2.572 F -.15(ve)-.4 G .072(rted to).15 F F3($OLDPWD)2.572 E F0 .072(before the directory change is attempted.)2.322 F .072 -(If a non-empty)5.072 F .054(directory name from)144 216 R F2(CDP)2.554 -E -.855(AT)-.666 G(H).855 E F0 .054(is used, or if)2.304 F F32.555 E -F0 .055(is the \214rst ar)2.555 F .055 +(If a non-empty)5.072 F .055(directory name from)144 292.8 R F3(CDP) +2.555 E -.855(AT)-.666 G(H).855 E F0 .055(is used, or if)2.305 F F2 +2.555 E F0 .055(is the \214rst ar)2.555 F .054 (gument, and the directory change is suc-)-.18 F .168 -(cessful, the absolute pathname of the ne)144 228 R 2.668(ww)-.25 G .168 -(orking directory is written to the standard output.)-2.768 F(The)5.168 -E(return v)144 240 Q(alue is true if the directory w)-.25 E -(as successfully changed; f)-.1 E(alse otherwise.)-.1 E F3(command)108 -256.8 Q F0([)2.5 E F3(\255pVv)A F0(])A F1(command)2.5 E F0([)2.5 E F1 -(ar)A(g)-.37 E F0(...])2.5 E(Run)144 268.8 Q F1(command)2.764 E F0(with) -3.334 E F1(ar)2.894 E(gs)-.37 E F0 .065 -(suppressing the normal shell function lookup.)2.834 F .065(Only b)5.065 -F .065(uiltin commands or)-.2 F .502(commands found in the)144 280.8 R -F2 -.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G -3.002(cuted. If).15 F(the)3.002 E F33.002 E F0 .502(option is gi) -3.002 F -.15(ve)-.25 G .501(n, the search for).15 F F1(command)3.201 E -F0(is)3.771 E .399(performed using a def)144 292.8 R .399(ault v)-.1 F -.399(alue for)-.25 F F2 -.666(PA)2.899 G(TH)-.189 E F0 .4 +(cessful, the absolute pathname of the ne)144 304.8 R 2.668(ww)-.25 G +.168(orking directory is written to the standard output.)-2.768 F(The) +5.168 E(return v)144 316.8 Q(alue is true if the directory w)-.25 E +(as successfully changed; f)-.1 E(alse otherwise.)-.1 E F2(command)108 +333.6 Q F0([)2.5 E F2(\255pVv)A F0(])A F1(command)2.5 E F0([)2.5 E F1 +(ar)A(g)-.37 E F0(...])2.5 E(Run)144 345.6 Q F1(command)2.765 E F0(with) +3.335 E F1(ar)2.895 E(gs)-.37 E F0 .065 +(suppressing the normal shell function lookup.)2.835 F .064(Only b)5.064 +F .064(uiltin commands or)-.2 F .501(commands found in the)144 357.6 R +F3 -.666(PA)3.001 G(TH)-.189 E F0 .502(are e)2.751 F -.15(xe)-.15 G +3.002(cuted. If).15 F(the)3.002 E F23.002 E F0 .502(option is gi) +3.002 F -.15(ve)-.25 G .502(n, the search for).15 F F1(command)3.202 E +F0(is)3.772 E .4(performed using a def)144 369.6 R .4(ault v)-.1 F .4 +(alue for)-.25 F F3 -.666(PA)2.9 G(TH)-.189 E F0 .399 (that is guaranteed to \214nd all of the standard utilities.)2.649 F(If) -5.4 E .175(either the)144 304.8 R F32.675 E F0(or)2.675 E F3 -2.675 E F0 .175(option is supplied, a description of)2.675 F F1(command) -2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F32.674 E F0 .174 -(option causes)2.674 F 3.317(as)144 316.8 S .817(ingle w)-3.317 F .817 -(ord indicating the command or \214lename used to in)-.1 F -.2(vo)-.4 G --.1(ke).2 G F1(command)3.618 E F0 .818(to be displayed; the)4.088 F F3 -144 328.8 Q F0 .25(option produces a more v)2.75 F .25 -(erbose description.)-.15 F .249(If the)5.25 F F32.749 E F0(or) -2.749 E F32.749 E F0 .249(option is supplied, the e)2.749 F .249 -(xit status)-.15 F 1.004(is 0 if)144 340.8 R F1(command)3.704 E F0 -.1 -(wa)4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005 +5.399 E .174(either the)144 381.6 R F22.674 E F0(or)2.674 E F2 +2.674 E F0 .175(option is supplied, a description of)2.674 F F1 +(command)2.875 E F0 .175(is printed.)3.445 F(The)5.175 E F22.675 E +F0 .175(option causes)2.675 F 3.318(as)144 393.6 S .818(ingle w)-3.318 F +.817(ord indicating the command or \214lename used to in)-.1 F -.2(vo) +-.4 G -.1(ke).2 G F1(command)3.617 E F0 .817(to be displayed; the)4.087 +F F2144 405.6 Q F0 .249(option produces a more v)2.749 F .249 +(erbose description.)-.15 F .249(If the)5.249 F F22.749 E F0(or) +2.749 E F22.75 E F0 .25(option is supplied, the e)2.75 F .25 +(xit status)-.15 F 1.005(is 0 if)144 417.6 R F1(command)3.705 E F0 -.1 +(wa)4.275 G 3.505(sf).1 G 1.005(ound, and 1 if not.)-3.505 F 1.004 (If neither option is supplied and an error occurred or)6.005 F F1 -(command)144.2 352.8 Q F0 1.599(cannot be found, the e)4.869 F 1.599 -(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.598 -(xit status of the)-.15 F F3(command)4.098 E F0 -.2(bu)144 364.8 S -(iltin is the e).2 E(xit status of)-.15 E F1(command)2.7 E F0(.).77 E F3 -(compgen)108 381.6 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1(wor)-2.5 E(d) --.37 E F0(])A .012(Generate possible completion matches for)144 393.6 R +(command)144.2 429.6 Q F0 1.598(cannot be found, the e)4.868 F 1.599 +(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.599 +(xit status of the)-.15 F F2(command)4.099 E F0 -.2(bu)144 441.6 S +(iltin is the e).2 E(xit status of)-.15 E F1(command)2.7 E F0(.).77 E F2 +(compgen)108 458.4 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1(wor)-2.5 E(d) +-.37 E F0(])A .013(Generate possible completion matches for)144 470.4 R F1(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F1(option)2.513 -E F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982 -(accepted by the)144 405.6 R F3(complete)3.482 E F0 -.2(bu)3.481 G .981 -(iltin with the e).2 F .981(xception of)-.15 F F33.481 E F0(and) -3.481 E F33.481 E F0 3.481(,a)C .981(nd write the matches to the) --3.481 F .13(standard output.)144 417.6 R .13(When using the)5.13 F F3 -2.63 E F0(or)2.63 E F32.631 E F0 .131(options, the v)2.631 F -.131(arious shell v)-.25 F .131(ariables set by the program-)-.25 F -(mable completion f)144 429.6 Q(acilities, while a)-.1 E -.25(va)-.2 G +E F0 .013(s, which may be an)B 2.512(yo)-.15 G(ption)-2.512 E .981 +(accepted by the)144 482.4 R F2(complete)3.481 E F0 -.2(bu)3.481 G .981 +(iltin with the e).2 F .981(xception of)-.15 F F23.481 E F0(and) +3.481 E F23.481 E F0 3.481(,a)C .982(nd write the matches to the) +-3.481 F .131(standard output.)144 494.4 R .131(When using the)5.131 F +F22.631 E F0(or)2.631 E F22.631 E F0 .131(options, the v) +2.631 F .13(arious shell v)-.25 F .13(ariables set by the program-)-.25 +F(mable completion f)144 506.4 Q(acilities, while a)-.1 E -.25(va)-.2 G (ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)-.25 -E .352(The matches will be generated in the same w)144 453.6 R .352 +E .352(The matches will be generated in the same w)144 530.4 R .352 (ay as if the programmable completion code had gen-)-.1 F .02(erated th\ em directly from a completion speci\214cation with the same \215ags.)144 -465.6 R(If)5.02 E F1(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only) -2.52 F(those completions matching)144 477.6 Q F1(wor)2.5 E(d)-.37 E F0 -(will be displayed.)2.5 E(The return v)144 501.6 Q +542.4 R(If)5.02 E F1(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only) +2.52 F(those completions matching)144 554.4 Q F1(wor)2.5 E(d)-.37 E F0 +(will be displayed.)2.5 E(The return v)144 578.4 Q (alue is true unless an in)-.25 E -.25(va)-.4 G -(lid option is supplied, or no matches were generated.).25 E F3 -(complete)108 518.4 Q F0([)3.405 E F3(\255abcdefgjksuv)A F0 3.405(][)C -F3-3.405 E F1(comp-option)3.404 E F0 3.404(][)C F3(\255DEI)-3.404 -E F0 3.404(][)C F3-3.404 E F1(action)3.404 E F0 3.404(][)C F3 --3.404 E F1(globpat)3.404 E F0 3.404(][)C F3-3.404 E F1(wor) -3.404 E(dlist)-.37 E F0 3.404(][)C F3-3.404 E F1(func-)3.404 E -(tion)108 530.4 Q F0 2.5(][)C F3-2.5 E F1(command)2.5 E F0(])A([) -144 542.4 Q F3A F1(\214lterpat)2.5 E F0 2.5(][)C F3-2.5 E F1 -(pr)2.5 E(e\214x)-.37 E F0 2.5(][)C F3-2.5 E F1(suf)2.5 E<8c78> --.18 E F0(])A F1(name)2.5 E F0([)2.5 E F1(name ...)A F0(])A F3 -(complete \255pr)108 554.4 Q F0([)2.5 E F3(\255DEI)A F0 2.5(][)C F1 -(name)-2.5 E F0(...])2.5 E .633(Specify ho)144 566.4 R 3.133(wa)-.25 G --.18(rg)-3.133 G .633(uments to each).18 F F1(name)3.133 E F0 .633 -(should be completed.)3.133 F .634(If the)5.634 F F33.134 E F0 -.634(option is supplied, or if no)3.134 F .14(options are supplied, e) -144 578.4 R .139(xisting completion speci\214cations are printed in a w) --.15 F .139(ay that allo)-.1 F .139(ws them to be)-.25 F .31 -(reused as input.)144 590.4 R(The)5.31 E F32.81 E F0 .31 -(option remo)2.81 F -.15(ve)-.15 G 2.81(sac).15 G .31 -(ompletion speci\214cation for each)-2.81 F F1(name)2.81 E F0 2.81(,o)C -1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F1(name)2.81 E F0(s)A 1.208 -(are supplied, all completion speci\214cations.)144 602.4 R(The)6.208 E -F33.708 E F0 1.207(option indicates that other supplied options) -3.707 F .5(and actions should apply to the `)144 614.4 R(`def)-.74 E +(lid option is supplied, or no matches were generated.).25 E F2 +(complete)108 595.2 Q F0([)2.5 E F2(\255abcdefgjksuv)A F0 2.5(][)C F2 +-2.5 E F1(comp-option)2.5 E F0 2.5(][)C F2(\255DEI)-2.5 E F0 2.5 +(][)C F2-2.5 E F1(action)2.5 E F0 2.5(][)C F2-2.5 E F1 +(globpat)2.5 E F0 2.5(][)C F2-2.5 E F1(wor)2.5 E(dlist)-.37 E F0 +(])A([)144 607.2 Q F2A F1(function)2.5 E F0 2.5(][)C F2-2.5 +E F1(command)2.5 E F0 2.5(][)C F2-2.5 E F1(\214lterpat)2.5 E F0 +2.5(][)C F2-2.5 E F1(pr)2.5 E(e\214x)-.37 E F0 2.5(][)C F2 +-2.5 E F1(suf)2.5 E<8c78>-.18 E F0(])A F1(name)2.5 E F0([)2.5 E F1 +(name ...)A F0(])A F2(complete \255pr)108 619.2 Q F0([)2.5 E F2(\255DEI) +A F0 2.5(][)C F1(name)-2.5 E F0(...])2.5 E .633(Specify ho)144 631.2 R +3.133(wa)-.25 G -.18(rg)-3.133 G .633(uments to each).18 F F1(name)3.133 +E F0 .633(should be completed.)3.133 F .634(If the)5.634 F F23.134 +E F0 .634(option is supplied, or if no)3.134 F .14 +(options are supplied, e)144 643.2 R .139 +(xisting completion speci\214cations are printed in a w)-.15 F .139 +(ay that allo)-.1 F .139(ws them to be)-.25 F .31(reused as input.)144 +655.2 R(The)5.31 E F22.81 E F0 .31(option remo)2.81 F -.15(ve)-.15 +G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F1(name) +2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F1 +(name)2.81 E F0(s)A 1.208 +(are supplied, all completion speci\214cations.)144 667.2 R(The)6.208 E +F23.708 E F0 1.207(option indicates that other supplied options) +3.707 F .5(and actions should apply to the `)144 679.2 R(`def)-.74 E (ault')-.1 E 3('c)-.74 G .5 (ommand completion; that is, completion attempted on)-3 F 3.455(ac)144 -626.4 S .955(ommand for which no completion has pre)-3.455 F .955 -(viously been de\214ned.)-.25 F(The)5.955 E F33.455 E F0 .955 +691.2 S .955(ommand for which no completion has pre)-3.455 F .955 +(viously been de\214ned.)-.25 F(The)5.955 E F23.455 E F0 .955 (option indicates that)3.455 F .876 -(other supplied options and actions should apply to `)144 638.4 R +(other supplied options and actions should apply to `)144 703.2 R (`empty')-.74 E 3.376('c)-.74 G .876(ommand completion; that is, com-) --3.376 F .448(pletion attempted on a blank line.)144 650.4 R(The)5.447 E -F32.947 E F0 .447 -(option indicates that other supplied options and actions)2.947 F .123 -(should apply to completion on the initial non-assignment w)144 662.4 R -.123(ord on the line, or after a command de-)-.1 F 1.021 -(limiter such as)144 674.4 R F3(;)3.521 E F0(or)3.521 E F3(|)3.521 E F0 -3.521(,w)C 1.021(hich is usually command name completion.)-3.521 F 1.02 -(If multiple options are sup-)6.02 F .707(plied, the)144 686.4 R F3 -3.207 E F0 .707(option tak)3.207 F .707(es precedence o)-.1 F -.15 -(ve)-.15 G(r).15 E F33.208 E F0 3.208(,a)C .708(nd both tak)-3.208 -F 3.208(ep)-.1 G .708(recedence o)-3.208 F -.15(ve)-.15 G(r).15 E F3 -3.208 E F0 5.708(.I)C 3.208(fa)-5.708 G 1.008 -.15(ny o)-3.208 H -(f).15 E F33.208 E F0(,)A F3144 698.4 Q F0 2.604(,o)C(r) --2.604 E F32.604 E F0 .103(are supplied, an)2.603 F 2.603(yo)-.15 -G(ther)-2.603 E F1(name)2.603 E F0(ar)2.603 E .103 -(guments are ignored; these completions only apply to the)-.18 F -(case speci\214ed by the option.)144 710.4 Q(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(58)190.395 E 0 Cg EP +-3.376 F .448(pletion attempted on a blank line.)144 715.2 R(The)5.447 E +F22.947 E F0 .447 +(option indicates that other supplied options and actions)2.947 F 1.149 +(should apply to completion on the initial non-assignment w)144 727.2 R +1.15(ord on the line, or after a command)-.1 F(GNU Bash 5.0)72 768 Q +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(58)185.545 E 0 Cg EP %%Page: 59 59 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .152 -(The process of applying these completion speci\214cations when w)144 84 -R .153(ord completion is attempted is de-)-.1 F(scribed abo)144 96 Q .3 --.15(ve u)-.15 H(nder).15 E/F1 10/Times-Bold@0 SF(Pr)2.5 E -(ogrammable Completion)-.18 E F0(.)A .556 -(Other options, if speci\214ed, ha)144 120 R .856 -.15(ve t)-.2 H .555 -(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555 -(guments to the)-.18 F F13.055 E F0(,)A F13.055 E F0 3.055 -(,a)C(nd)-3.055 E F13.055 E F0 .722(options \(and, if necessary) -144 132 R 3.222(,t)-.65 G(he)-3.222 E F13.222 E F0(and)3.222 E F1 -3.222 E F0 .723(options\) should be quoted to protect them from e) -3.222 F(xpan-)-.15 E(sion before the)144 144 Q F1(complete)2.5 E F0 -.2 -(bu)2.5 G(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1144 -156 Q/F2 10/Times-Italic@0 SF(comp-option)2.5 E F0(The)184 168 Q F2 -(comp-option)2.791 E F0 .291(controls se)2.791 F -.15(ve)-.25 G .291 -(ral aspects of the compspec').15 F 2.791(sb)-.55 G(eha)-2.791 E .291 -(vior be)-.2 F .291(yond the simple)-.15 F(generation of completions.) -184 180 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 -192 Q F0 .281(Perform the rest of the def)224 204 R(ault)-.1 E F1(bash) -2.781 E F0 .281(completions if the compspec generates no)2.781 F -(matches.)224 216 Q F1(default)184 228 Q F0 2.876(Use readline')224 228 -R 5.376(sd)-.55 G(ef)-5.376 E 2.875 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .431 +(delimiter such as)144 84 R/F1 10/Times-Bold@0 SF(;)2.931 E F0(or)2.931 +E F1(|)2.931 E F0 2.931(,w)C .431 +(hich is usually command name completion.)-2.931 F .43 +(If multiple options are sup-)5.43 F .707(plied, the)144 96 R F1 +3.207 E F0 .707(option tak)3.207 F .707(es precedence o)-.1 F -.15(ve) +-.15 G(r).15 E F13.208 E F0 3.208(,a)C .708(nd both tak)-3.208 F +3.208(ep)-.1 G .708(recedence o)-3.208 F -.15(ve)-.15 G(r).15 E F1 +3.208 E F0 5.708(.I)C 3.208(fa)-5.708 G 1.008 -.15(ny o)-3.208 H(f).15 E +F13.208 E F0(,)A F1144 108 Q F0 2.604(,o)C(r)-2.604 E F1 +2.604 E F0 .103(are supplied, an)2.603 F 2.603(yo)-.15 G(ther) +-2.603 E/F2 10/Times-Italic@0 SF(name)2.603 E F0(ar)2.603 E .103 +(guments are ignored; these completions only apply to the)-.18 F +(case speci\214ed by the option.)144 120 Q .152 +(The process of applying these completion speci\214cations when w)144 +144 R .153(ord completion is attempted is de-)-.1 F(scribed abo)144 156 +Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E(ogrammable Completion)-.18 +E F0(.)A .556(Other options, if speci\214ed, ha)144 180 R .856 -.15 +(ve t)-.2 H .555(he follo).15 F .555(wing meanings.)-.25 F .555(The ar) +5.555 F .555(guments to the)-.18 F F13.055 E F0(,)A F13.055 +E F0 3.055(,a)C(nd)-3.055 E F13.055 E F0 .722 +(options \(and, if necessary)144 192 R 3.222(,t)-.65 G(he)-3.222 E F1 +3.222 E F0(and)3.222 E F13.222 E F0 .723 +(options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E +(sion before the)144 204 Q F1(complete)2.5 E F0 -.2(bu)2.5 G +(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1144 216 Q F2 +(comp-option)2.5 E F0(The)184 228 Q F2(comp-option)2.791 E F0 .291 +(controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec') +.15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291 +(yond the simple)-.15 F(generation of completions.)184 240 Q F2 +(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 252 Q F0 +.281(Perform the rest of the def)224 264 R(ault)-.1 E F1(bash)2.781 E F0 +.281(completions if the compspec generates no)2.781 F(matches.)224 276 Q +F1(default)184 288 Q F0 2.876(Use readline')224 288 R 5.376(sd)-.55 G +(ef)-5.376 E 2.875 (ault \214lename completion if the compspec generates no)-.1 F(matches.) -224 240 Q F1(dir)184 252 Q(names)-.15 E F0(Perform directory name compl\ -etion if the compspec generates no matches.)224 264 Q F1(\214lenames)184 -276 Q F0 -.7(Te)224 288 S .137(ll readline that the compspec generates \ +224 300 Q F1(dir)184 312 Q(names)-.15 E F0(Perform directory name compl\ +etion if the compspec generates no matches.)224 324 Q F1(\214lenames)184 +336 Q F0 -.7(Te)224 348 S .137(ll readline that the compspec generates \ \214lenames, so it can perform an).7 F 2.637<798c>-.15 G(le-)-2.637 E -.134(name\255speci\214c processing \(lik)224 300 R 2.634(ea)-.1 G .134 +.134(name\255speci\214c processing \(lik)224 360 R 2.634(ea)-.1 G .134 (dding a slash to directory names, quoting spe-)-2.634 F .45 -(cial characters, or suppressing trailing spaces\).)224 312 R .45 -(Intended to be used with shell)5.45 F(functions.)224 324 Q F1(noquote) -184 336 Q F0 -.7(Te)224 336 S .814 +(cial characters, or suppressing trailing spaces\).)224 372 R .45 +(Intended to be used with shell)5.45 F(functions.)224 384 Q F1(noquote) +184 396 Q F0 -.7(Te)224 396 S .814 (ll readline not to quote the completed w).7 F .814(ords if the)-.1 F 3.314(ya)-.15 G .814(re \214lenames \(quoting)-3.314 F -(\214lenames is the def)224 348 Q(ault\).)-.1 E F1(nosort)184 360 Q F0 --.7(Te)224 360 S(ll readline not to sort the list of possible completio\ -ns alphabetically).7 E(.)-.65 E F1(nospace)184 372 Q F0 -.7(Te)224 372 S +(\214lenames is the def)224 408 Q(ault\).)-.1 E F1(nosort)184 420 Q F0 +-.7(Te)224 420 S(ll readline not to sort the list of possible completio\ +ns alphabetically).7 E(.)-.65 E F1(nospace)184 432 Q F0 -.7(Te)224 432 S .22(ll readline not to append a space \(the def).7 F .22(ault\) to w)-.1 -F .22(ords completed at the end)-.1 F(of the line.)224 384 Q F1 -(plusdirs)184 396 Q F0 1.985(After an)224 396 R 4.485(ym)-.15 G 1.985 +F .22(ords completed at the end)-.1 F(of the line.)224 444 Q F1 +(plusdirs)184 456 Q F0 1.985(After an)224 456 R 4.485(ym)-.15 G 1.985 (atches de\214ned by the compspec are generated, directory name)-4.485 F -.583(completion is attempted and an)224 408 R 3.084(ym)-.15 G .584 -(atches are added to the results of the other)-3.084 F(actions.)224 420 -Q F1144 432 Q F2(action)2.5 E F0(The)184 444 Q F2(action)2.5 E F0 +.583(completion is attempted and an)224 468 R 3.084(ym)-.15 G .584 +(atches are added to the results of the other)-3.084 F(actions.)224 480 +Q F1144 492 Q F2(action)2.5 E F0(The)184 504 Q F2(action)2.5 E F0 (may be one of the follo)2.5 E (wing to generate a list of possible completions:)-.25 E F1(alias)184 -456 Q F0(Alias names.)224 456 Q(May also be speci\214ed as)5 E F1 -2.5 E F0(.)A F1(arrayv)184 468 Q(ar)-.1 E F0(Array v)224 480 Q -(ariable names.)-.25 E F1(binding)184 492 Q(Readline)224 492 Q F0 -.1 -(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 504 S(iltin) -.2 E F0(Names of shell b)224 504 Q(uiltin commands.)-.2 E -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(command)184 516 -Q F0(Command names.)224 528 Q(May also be speci\214ed as)5 E F12.5 -E F0(.)A F1(dir)184 540 Q(ectory)-.18 E F0(Directory names.)224 552 Q -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(disabled)184 564 -Q F0(Names of disabled shell b)224 576 Q(uiltins.)-.2 E F1(enabled)184 -588 Q F0(Names of enabled shell b)224 588 Q(uiltins.)-.2 E F1(export)184 -600 Q F0(Names of e)224 600 Q(xported shell v)-.15 E 2.5(ariables. May) +516 Q F0(Alias names.)224 516 Q(May also be speci\214ed as)5 E F1 +2.5 E F0(.)A F1(arrayv)184 528 Q(ar)-.1 E F0(Array v)224 540 Q +(ariable names.)-.25 E F1(binding)184 552 Q(Readline)224 552 Q F0 -.1 +(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 564 S(iltin) +.2 E F0(Names of shell b)224 564 Q(uiltin commands.)-.2 E +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(command)184 576 +Q F0(Command names.)224 588 Q(May also be speci\214ed as)5 E F12.5 +E F0(.)A F1(dir)184 600 Q(ectory)-.18 E F0(Directory names.)224 612 Q +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(disabled)184 624 +Q F0(Names of disabled shell b)224 636 Q(uiltins.)-.2 E F1(enabled)184 +648 Q F0(Names of enabled shell b)224 648 Q(uiltins.)-.2 E F1(export)184 +660 Q F0(Names of e)224 660 Q(xported shell v)-.15 E 2.5(ariables. May) -.25 F(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1(\214le)184 -612 Q F0(File names.)224 612 Q(May also be speci\214ed as)5 E F1 -2.5 E F0(.)A F1(function)184 624 Q F0(Names of shell functions.)224 636 -Q F1(gr)184 648 Q(oup)-.18 E F0(Group names.)224 648 Q -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(helptopic)184 -660 Q F0(Help topics as accepted by the)224 672 Q F1(help)2.5 E F0 -.2 -(bu)2.5 G(iltin.).2 E F1(hostname)184 684 Q F0(Hostnames, as tak)224 696 -Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF -(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 708 Q F0 -(Job names, if job control is acti)224 708 Q -.15(ve)-.25 G 5(.M).15 G -(ay also be speci\214ed as)-5 E F12.5 E F0(.)A(GNU Bash 5.0)72 768 -Q(2019 October 30)141.235 E(59)190.395 E 0 Cg EP +672 Q F0(File names.)224 672 Q(May also be speci\214ed as)5 E F1 +2.5 E F0(.)A F1(function)184 684 Q F0(Names of shell functions.)224 696 +Q F1(gr)184 708 Q(oup)-.18 E F0(Group names.)224 708 Q +(May also be speci\214ed as)5 E F12.5 E F0(.)A(GNU Bash 5.0)72 768 +Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(59)185.545 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF -.1(ke)184 84 S(yw).1 E(ord)-.1 E F0(Shell reserv)224 96 Q(ed w)-.15 -E 2.5(ords. May)-.1 F(also be speci\214ed as)2.5 E F12.5 E F0(.)A -F1(running)184 108 Q F0(Names of running jobs, if job control is acti) -224 108 Q -.15(ve)-.25 G(.).15 E F1(ser)184 120 Q(vice)-.1 E F0 -(Service names.)224 120 Q(May also be speci\214ed as)5 E F12.5 E -F0(.)A F1(setopt)184 132 Q F0 -1.11(Va)224 132 S(lid ar)1.11 E +SF(helptopic)184 84 Q F0(Help topics as accepted by the)224 96 Q F1 +(help)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(hostname)184 108 Q F0 +(Hostnames, as tak)224 120 Q(en from the \214le speci\214ed by the)-.1 E +/F2 9/Times-Bold@0 SF(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E +F1(job)184 132 Q F0(Job names, if job control is acti)224 132 Q -.15(ve) +-.25 G 5(.M).15 G(ay also be speci\214ed as)-5 E F12.5 E F0(.)A F1 +-.1(ke)184 144 S(yw).1 E(ord)-.1 E F0(Shell reserv)224 156 Q(ed w)-.15 E +2.5(ords. May)-.1 F(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1 +(running)184 168 Q F0(Names of running jobs, if job control is acti)224 +168 Q -.15(ve)-.25 G(.).15 E F1(ser)184 180 Q(vice)-.1 E F0 +(Service names.)224 180 Q(May also be speci\214ed as)5 E F12.5 E +F0(.)A F1(setopt)184 192 Q F0 -1.11(Va)224 192 S(lid ar)1.11 E (guments for the)-.18 E F12.5 E F0(option to the)2.5 E F1(set)2.5 -E F0 -.2(bu)2.5 G(iltin.).2 E F1(shopt)184 144 Q F0 -(Shell option names as accepted by the)224 144 Q F1(shopt)2.5 E F0 -.2 -(bu)2.5 G(iltin.).2 E F1(signal)184 156 Q F0(Signal names.)224 156 Q F1 -(stopped)184 168 Q F0(Names of stopped jobs, if job control is acti)224 -168 Q -.15(ve)-.25 G(.).15 E F1(user)184 180 Q F0(User names.)224 180 Q -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1 -.1(va)184 192 S -(riable).1 E F0(Names of all shell v)224 192 Q 2.5(ariables. May)-.25 F -(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1144 204 Q/F2 -10/Times-Italic@0 SF(command)2.5 E(command)184 216 Q F0 1.056(is e)3.556 +E F0 -.2(bu)2.5 G(iltin.).2 E F1(shopt)184 204 Q F0 +(Shell option names as accepted by the)224 204 Q F1(shopt)2.5 E F0 -.2 +(bu)2.5 G(iltin.).2 E F1(signal)184 216 Q F0(Signal names.)224 216 Q F1 +(stopped)184 228 Q F0(Names of stopped jobs, if job control is acti)224 +228 Q -.15(ve)-.25 G(.).15 E F1(user)184 240 Q F0(User names.)224 240 Q +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1 -.1(va)184 252 S +(riable).1 E F0(Names of all shell v)224 252 Q 2.5(ariables. May)-.25 F +(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1144 264 Q/F3 +10/Times-Italic@0 SF(command)2.5 E(command)184 276 Q F0 1.056(is e)3.556 F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056 (vironment, and its output is used as the possible)-.4 F(completions.) -184 228 Q F1144 240 Q F2(function)2.5 E F0 .113 -(The shell function)184 252 R F2(function)2.614 E F0 .114(is e)2.614 F +184 288 Q F1144 300 Q F3(function)2.5 E F0 .113 +(The shell function)184 312 R F3(function)2.614 E F0 .114(is e)2.614 F -.15(xe)-.15 G .114(cuted in the current shell en).15 F 2.614 -(vironment. When)-.4 F .114(the func-)2.614 F .817(tion is e)184 264 R +(vironment. When)-.4 F .114(the func-)2.614 F .817(tion is e)184 324 R -.15(xe)-.15 G .817(cuted, the \214rst ar).15 F .817(gument \()-.18 F F1 ($1)A F0 3.316(\)i)C 3.316(st)-3.316 G .816 (he name of the command whose ar)-3.316 F(guments)-.18 E 1.407 -(are being completed, the second ar)184 276 R 1.407(gument \()-.18 F F1 +(are being completed, the second ar)184 336 R 1.407(gument \()-.18 F F1 ($2)A F0 3.907(\)i)C 3.907(st)-3.907 G 1.407(he w)-3.907 F 1.407 -(ord being completed, and the)-.1 F .104(third ar)184 288 R .104 +(ord being completed, and the)-.1 F .104(third ar)184 348 R .104 (gument \()-.18 F F1($3)A F0 2.604(\)i)C 2.604(st)-2.604 G .104(he w) -2.604 F .104(ord preceding the w)-.1 F .103 -(ord being completed on the current com-)-.1 F .101(mand line.)184 300 R +(ord being completed on the current com-)-.1 F .101(mand line.)184 360 R .101(When it \214nishes, the possible completions are retrie)5.101 F -.15(ve)-.25 G 2.602(df).15 G .102(rom the v)-2.602 F .102(alue of the) --.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 312 Q(Y)-.828 E F0(array v)2.25 -E(ariable.)-.25 E F1144 324 Q F2(globpat)2.5 E F0 1.008 -(The pathname e)184 336 R 1.008(xpansion pattern)-.15 F F2(globpat)3.507 -E F0 1.007(is e)3.507 F 1.007(xpanded to generate the possible comple-) --.15 F(tions.)184 348 Q F1144 360 Q F2(pr)2.5 E(e\214x)-.37 E(pr) -184 372 Q(e\214x)-.37 E F0 .534(is added at the be)3.034 F .534 +-.25 F F2(COMPREPL)184 372 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E +F1144 384 Q F3(globpat)2.5 E F0 1.008(The pathname e)184 396 R +1.008(xpansion pattern)-.15 F F3(globpat)3.507 E F0 1.007(is e)3.507 F +1.007(xpanded to generate the possible comple-)-.15 F(tions.)184 408 Q +F1144 420 Q F3(pr)2.5 E(e\214x)-.37 E(pr)184 432 Q(e\214x)-.37 E +F0 .534(is added at the be)3.034 F .534 (ginning of each possible completion after all other options ha)-.15 F --.15(ve)-.2 G(been applied.)184 384 Q F1144 396 Q F2(suf)2.5 E -<8c78>-.18 E(suf)184 396 Q<8c78>-.18 E F0 +-.15(ve)-.2 G(been applied.)184 444 Q F1144 456 Q F3(suf)2.5 E +<8c78>-.18 E(suf)184 456 Q<8c78>-.18 E F0 (is appended to each possible completion after all other options ha)2.5 -E .3 -.15(ve b)-.2 H(een applied.).15 E F1144 408 Q F2(wor)2.5 E -(dlist)-.37 E F0(The)184 420 Q F2(wor)3.64 E(dlist)-.37 E F0 1.14 -(is split using the characters in the)3.64 F F3(IFS)3.64 E F0 1.139 +E .3 -.15(ve b)-.2 H(een applied.).15 E F1144 468 Q F3(wor)2.5 E +(dlist)-.37 E F0(The)184 480 Q F3(wor)3.64 E(dlist)-.37 E F0 1.14 +(is split using the characters in the)3.64 F F2(IFS)3.64 E F0 1.139 (special v)3.39 F 1.139(ariable as delimiters, and)-.25 F .98 -(each resultant w)184 432 R .98(ord is e)-.1 F 3.481(xpanded. Shell)-.15 -F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37 E F0 -3.481(,i)C 3.481(no)-3.481 G .981(rder to)-3.481 F(pro)184 444 Q .766 +(each resultant w)184 492 R .98(ord is e)-.1 F 3.481(xpanded. Shell)-.15 +F .981(quoting is honored within)3.481 F F3(wor)3.481 E(dlist)-.37 E F0 +3.481(,i)C 3.481(no)-3.481 G .981(rder to)-3.481 F(pro)184 504 Q .766 (vide a mechanism for the w)-.15 F .765 (ords to contain shell metacharacters or characters in the)-.1 F -.25 -(va)184 456 S 1.964(lue of).25 F F3(IFS)4.464 E/F4 9/Times-Roman@0 SF(.) +(va)184 516 S 1.964(lue of).25 F F2(IFS)4.464 E/F4 9/Times-Roman@0 SF(.) A F0 1.964 (The possible completions are the members of the resultant list which) -6.464 F(match the w)184 468 Q(ord being completed.)-.1 E F1144 480 -Q F2(\214lterpat)2.5 E(\214lterpat)184 492 Q F0 .456 +6.464 F(match the w)184 528 Q(ord being completed.)-.1 E F1144 540 +Q F3(\214lterpat)2.5 E(\214lterpat)184 552 Q F0 .456 (is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 F .455(is applied to the list of possible)2.956 F 1.596 -(completions generated by the preceding options and ar)184 504 R 1.596 -(guments, and each completion)-.18 F(matching)184 516 Q F2(\214lterpat) +(completions generated by the preceding options and ar)184 564 R 1.596 +(guments, and each completion)-.18 F(matching)184 576 Q F3(\214lterpat) 3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704 (rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0 -(in)3.204 E F2(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704 -(tes the pattern;).05 F(in this case, an)184 528 Q 2.5(yc)-.15 G -(ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E --.15(ve)-.15 G(d.).15 E .466(The return v)144 544.8 R .466 +(in)3.204 E F3(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704 +(tes the pattern;).05 F(in this case, an)184 588 Q 2.5(yc)-.15 G +(ompletion not matching)-2.5 E F3(\214lterpat)2.5 E F0(is remo)2.5 E +-.15(ve)-.15 G(d.).15 E .466(The return v)144 604.8 R .466 (alue is true unless an in)-.25 F -.25(va)-.4 G .466 (lid option is supplied, an option other than).25 F F12.967 E F0 (or)2.967 E F12.967 E F0 .467(is sup-)2.967 F 1.362 -(plied without a)144 556.8 R F2(name)3.862 E F0(ar)3.862 E 1.361 +(plied without a)144 616.8 R F3(name)3.862 E F0(ar)3.862 E 1.361 (gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H -1.361(ompletion speci\214cation for a).15 F F2(name)144 568.8 Q F0 +1.361(ompletion speci\214cation for a).15 F F3(name)144 628.8 Q F0 (for which no speci\214cation e)2.5 E (xists, or an error occurs adding a completion speci\214cation.)-.15 E -F1(compopt)108 585.6 Q F0([)2.5 E F1A F2(option)2.5 E F0 2.5(][)C -F1(\255DEI)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C -F2(name)-2.5 E F0(])A .447(Modify completion options for each)144 597.6 -R F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0 +F1(compopt)108 645.6 Q F0([)2.5 E F1A F3(option)2.5 E F0 2.5(][)C +F1(\255DEI)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F3(option)2.5 E F0 2.5(][)C +F3(name)-2.5 E F0(])A .447(Modify completion options for each)144 657.6 +R F3(name)2.947 E F0 .447(according to the)2.947 F F3(option)2.947 E F0 .447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726 -(completion if no)144 609.6 R F2(name)3.226 E F0 3.226(sa)C .726 -(re supplied.)-3.226 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa) +(completion if no)144 669.6 R F3(name)3.226 E F0 3.226(sa)C .726 +(re supplied.)-3.226 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa) C .725(re gi)-3.225 F -.15(ve)-.25 G .725 -(n, display the completion options for).15 F(each)144 621.6 Q F2(name) +(n, display the completion options for).15 F(each)144 681.6 Q F3(name) 3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v) -5.724 F .724(alues of)-.25 F F2(option)3.224 E F0 .724(are those v)3.224 -F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 633.6 Q F0 -.2(bu) +5.724 F .724(alues of)-.25 F F3(option)3.224 E F0 .724(are those v)3.224 +F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 693.6 Q F0 -.2(bu) 2.678 G .178(iltin described abo).2 F -.15(ve)-.15 G 5.178(.T).15 G(he) -5.178 E F12.678 E F0 .178 (option indicates that other supplied options should apply to)2.678 F -1.227(the `)144 645.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\ +1.227(the `)144 705.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\ mmand completion; that is, completion attempted on a command for which \ -no)-3.727 F 2.039(completion has pre)144 657.6 R 2.039 +no)-3.727 F 2.039(completion has pre)144 717.6 R 2.039 (viously been de\214ned.)-.25 F(The)7.038 E F14.538 E F0 2.038 (option indicates that other supplied options)4.538 F 1.538 -(should apply to `)144 669.6 R(`empty')-.74 E 4.038('c)-.74 G 1.539 +(should apply to `)144 729.6 R(`empty')-.74 E 4.038('c)-.74 G 1.539 (ommand completion; that is, completion attempted on a blank line.) --4.038 F(The)144 681.6 Q F13.02 E F0 .52(option indicates that ot\ -her supplied options should apply to completion on the initial non-)3.02 -F .867(assignment w)144 693.6 R .868 -(ord on the line, or after a command delimiter such as)-.1 F F1(;)3.368 -E F0(or)3.368 E F1(|)3.368 E F0 3.368(,w)C .868(hich is usually com-) --3.368 F(mand name completion.)144 705.6 Q 1.388(The return v)144 729.6 -R 1.388(alue is true unless an in)-.25 F -.25(va)-.4 G 1.387 -(lid option is supplied, an attempt is made to modify the).25 F -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(60)190.395 E 0 Cg EP +-4.038 F(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22) +.15 E(60)185.545 E 0 Cg EP %%Page: 61 61 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(options for a)144 -84 Q/F1 10/Times-Italic@0 SF(name)2.5 E F0 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(The)144 84 Q/F1 10 +/Times-Bold@0 SF3.02 E F0 .52(option indicates that other supplie\ +d options should apply to completion on the initial non-)3.02 F .867 +(assignment w)144 96 R .868 +(ord on the line, or after a command delimiter such as)-.1 F F1(;)3.368 +E F0(or)3.368 E F1(|)3.368 E F0 3.368(,w)C .868(hich is usually com-) +-3.368 F(mand name completion.)144 108 Q .432(The return v)144 132 R +.431(alue is true unless an in)-.25 F -.25(va)-.4 G .431 +(lid option is supplied, an attempt is made to modify the op-).25 F +(tions for a)144 144 Q/F2 10/Times-Italic@0 SF(name)2.5 E F0 (for which no completion speci\214cation e)2.5 E -(xists, or an output error occurs.)-.15 E/F2 10/Times-Bold@0 SF -(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A .85(Resume the ne)144 -112.8 R .85(xt iteration of the enclosing)-.15 F F2 -.25(fo)3.35 G(r).25 -E F0(,)A F2(while)3.351 E F0(,)A F2(until)3.351 E F0 3.351(,o)C(r)-3.351 -E F2(select)3.351 E F0 3.351(loop. If)3.351 F F1(n)3.711 E F0 .851 -(is speci\214ed, re-)3.591 F .204(sume at the)144 124.8 R F1(n)2.704 E -F0 .204(th enclosing loop.)B F1(n)5.564 E F0 .204(must be)2.944 F/F3 10 -/Symbol SF2.704 E F0 2.703(1. If)2.704 F F1(n)3.063 E F0 .203 +(xists, or an output error occurs.)-.15 E F1(continue)108 160.8 Q F0([) +2.5 E F2(n)A F0(])A .85(Resume the ne)144 172.8 R .85 +(xt iteration of the enclosing)-.15 F F1 -.25(fo)3.35 G(r).25 E F0(,)A +F1(while)3.351 E F0(,)A F1(until)3.351 E F0 3.351(,o)C(r)-3.351 E F1 +(select)3.351 E F0 3.351(loop. If)3.351 F F2(n)3.711 E F0 .851 +(is speci\214ed, re-)3.591 F .204(sume at the)144 184.8 R F2(n)2.704 E +F0 .204(th enclosing loop.)B F2(n)5.564 E F0 .204(must be)2.944 F/F3 10 +/Symbol SF2.704 E F0 2.703(1. If)2.704 F F2(n)3.063 E F0 .203 (is greater than the number of enclosing loops,)2.943 F 1.183 -(the last enclosing loop \(the `)144 136.8 R(`top-le)-.74 E -.15(ve)-.25 +(the last enclosing loop \(the `)144 196.8 R(`top-le)-.74 E -.15(ve)-.25 G(l').15 E 3.683('l)-.74 G 1.183(oop\) is resumed.)-3.683 F 1.184 -(The return v)6.184 F 1.184(alue is 0 unless)-.25 F F1(n)3.684 E F0 -1.184(is not)3.684 F(greater than or equal to 1.)144 148.8 Q F2(declar) -108 165.6 Q(e)-.18 E F0([)2.5 E F2(\255aAfFgilnrtux)A F0 2.5(][)C F2 --2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C -(..])-2.5 E F2(typeset)108 177.6 Q F0([)2.5 E F2(\255aAfFgilnrtux)A F0 -2.5(][)C F2-2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 -2.5(].)C(..])-2.5 E 1.265(Declare v)144 189.6 R 1.265 +(The return v)6.184 F 1.184(alue is 0 unless)-.25 F F2(n)3.684 E F0 +1.184(is not)3.684 F(greater than or equal to 1.)144 208.8 Q F1(declar) +108 225.6 Q(e)-.18 E F0([)2.5 E F1(\255aAfFgilnrtux)A F0 2.5(][)C F1 +-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C +(..])-2.5 E F1(typeset)108 237.6 Q F0([)2.5 E F1(\255aAfFgilnrtux)A F0 +2.5(][)C F1-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 +2.5(].)C(..])-2.5 E 1.265(Declare v)144 249.6 R 1.265 (ariables and/or gi)-.25 F 1.565 -.15(ve t)-.25 H 1.265(hem attrib).15 F -3.765(utes. If)-.2 F(no)3.765 E F1(name)3.765 E F0 3.765(sa)C 1.265 +3.765(utes. If)-.2 F(no)3.765 E F2(name)3.765 E F0 3.765(sa)C 1.265 (re gi)-3.765 F -.15(ve)-.25 G 3.764(nt).15 G 1.264(hen display the v) --3.764 F 1.264(alues of)-.25 F -.25(va)144 201.6 S 3.46(riables. The).25 -F F23.46 E F0 .96(option will display the attrib)3.46 F .96 -(utes and v)-.2 F .96(alues of each)-.25 F F1(name)3.82 E F0 5.96(.W).18 -G(hen)-5.96 E F23.46 E F0 .96(is used)3.46 F(with)144 213.6 Q F1 +-3.764 F 1.264(alues of)-.25 F -.25(va)144 261.6 S 3.46(riables. The).25 +F F13.46 E F0 .96(option will display the attrib)3.46 F .96 +(utes and v)-.2 F .96(alues of each)-.25 F F2(name)3.82 E F0 5.96(.W).18 +G(hen)-5.96 E F13.46 E F0 .96(is used)3.46 F(with)144 273.6 Q F2 (name)2.775 E F0(ar)2.775 E .275 -(guments, additional options, other than)-.18 F F22.775 E F0(and) -2.775 E F22.775 E F0 2.775(,a)C .274(re ignored.)-2.775 F(When) -5.274 E F22.774 E F0 .274(is supplied)2.774 F(without)144 225.6 Q -F1(name)3.789 E F0(ar)3.789 E 1.289(guments, it will display the attrib) +(guments, additional options, other than)-.18 F F12.775 E F0(and) +2.775 E F12.775 E F0 2.775(,a)C .274(re ignored.)-2.775 F(When) +5.274 E F12.774 E F0 .274(is supplied)2.774 F(without)144 285.6 Q +F2(name)3.789 E F0(ar)3.789 E 1.289(guments, it will display the attrib) -.18 F 1.289(utes and v)-.2 F 1.29(alues of all v)-.25 F 1.29 -(ariables ha)-.25 F 1.29(ving the at-)-.2 F(trib)144 237.6 Q .38 +(ariables ha)-.25 F 1.29(ving the at-)-.2 F(trib)144 297.6 Q .38 (utes speci\214ed by the additional options.)-.2 F .38 -(If no other options are supplied with)5.38 F F22.88 E F0(,)A F2 +(If no other options are supplied with)5.38 F F12.88 E F0(,)A F1 (declar)2.88 E(e)-.18 E F0(will)2.88 E 1.106(display the attrib)144 -249.6 R 1.106(utes and v)-.2 F 1.106(alues of all shell v)-.25 F 3.606 -(ariables. The)-.25 F F23.606 E F0 1.107 +309.6 R 1.106(utes and v)-.2 F 1.106(alues of all shell v)-.25 F 3.606 +(ariables. The)-.25 F F13.606 E F0 1.107 (option will restrict the display to)3.606 F .3(shell functions.)144 -261.6 R(The)5.3 E F22.8 E F0 .299(option inhibits the display of \ +321.6 R(The)5.3 E F12.8 E F0 .299(option inhibits the display of \ function de\214nitions; only the function name)2.8 F 1.54(and attrib)144 -273.6 R 1.54(utes are printed.)-.2 F 1.54(If the)6.54 F F2(extdeb)4.04 E -(ug)-.2 E F0 1.54(shell option is enabled using)4.04 F F2(shopt)4.04 E +333.6 R 1.54(utes are printed.)-.2 F 1.54(If the)6.54 F F1(extdeb)4.04 E +(ug)-.2 E F0 1.54(shell option is enabled using)4.04 F F1(shopt)4.04 E F0 4.04(,t)C 1.54(he source \214le)-4.04 F .648 -(name and line number where each)144 285.6 R F1(name)3.148 E F0 .648 -(is de\214ned are displayed as well.)3.148 F(The)5.648 E F23.148 E -F0 .648(option implies)3.148 F F2144 297.6 Q F0 5.836(.T)C(he) --5.836 E F23.336 E F0 .836(option forces v)3.336 F .837 +(name and line number where each)144 345.6 R F2(name)3.148 E F0 .648 +(is de\214ned are displayed as well.)3.148 F(The)5.648 E F13.148 E +F0 .648(option implies)3.148 F F1144 357.6 Q F0 5.836(.T)C(he) +-5.836 E F13.336 E F0 .836(option forces v)3.336 F .837 (ariables to be created or modi\214ed at the global scope, e)-.25 F -.15 -(ve)-.25 G 3.337(nw).15 G(hen)-3.337 E F2(de-)3.337 E(clar)144 309.6 Q +(ve)-.25 G 3.337(nw).15 G(hen)-3.337 E F1(de-)3.337 E(clar)144 369.6 Q (e)-.18 E F0 .223(is e)2.723 F -.15(xe)-.15 G .223 (cuted in a shell function.).15 F .223 (It is ignored in all other cases.)5.223 F .222(The follo)5.223 F .222 -(wing options can be)-.25 F(used to restrict output to v)144 321.6 Q +(wing options can be)-.25 F(used to restrict output to v)144 381.6 Q (ariables with the speci\214ed attrib)-.25 E(ute or to gi)-.2 E .3 -.15 -(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F2144 333.6 Q F0 -(Each)180 333.6 Q F1(name)2.5 E F0(is an inde)2.5 E -.15(xe)-.15 G 2.5 -(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 -E -.15(ve)-.15 G(\).).15 E F2144 345.6 Q F0(Each)180 345.6 Q F1 +(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F1144 393.6 Q F0 +(Each)180 393.6 Q F2(name)2.5 E F0(is an inde)2.5 E -.15(xe)-.15 G 2.5 +(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 +E -.15(ve)-.15 G(\).).15 E F1144 405.6 Q F0(Each)180 405.6 Q F2 (name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H(rray v).15 E -(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).) -.15 E F2144 357.6 Q F0(Use function names only)180 357.6 Q(.)-.65 -E F2144 369.6 Q F0 .557(The v)180 369.6 R .558 +(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).) +.15 E F1144 417.6 Q F0(Use function names only)180 417.6 Q(.)-.65 +E F1144 429.6 Q F0 .557(The v)180 429.6 R .558 (ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25 (va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .558 -(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 381.6 Q F0(abo) +(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 441.6 Q F0(abo) 2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v) --2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F2144 393.6 Q -F0 .91(When the v)180 393.6 R .909(ariable is assigned a v)-.25 F .909 +-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F1144 453.6 Q +F0 .91(When the v)180 453.6 R .909(ariable is assigned a v)-.25 F .909 (alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4 -G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 405.6 R -(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2144 417.6 -Q F0(Gi)180 417.6 Q 1.619 -.15(ve e)-.25 H(ach).15 E F1(name)3.819 E F0 -(the)3.819 E F1(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319 +G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 465.6 R +(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1144 477.6 +Q F0(Gi)180 477.6 Q 1.619 -.15(ve e)-.25 H(ach).15 E F2(name)3.819 E F0 +(the)3.819 E F2(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319 (ute, making it a name reference to another v)-.2 F(ariable.)-.25 E .478 -(That other v)180 429.6 R .478(ariable is de\214ned by the v)-.25 F .478 -(alue of)-.25 F F1(name)2.978 E F0 5.478(.A)C .478 -(ll references, assignments, and at-)-5.478 F(trib)180 441.6 Q .781 -(ute modi\214cations to)-.2 F F1(name)3.281 E F0 3.281(,e)C .782 -(xcept those using or changing the)-3.431 F F23.282 E F0(attrib) -3.282 E .782(ute itself, are)-.2 F .809(performed on the v)180 453.6 R -.809(ariable referenced by)-.25 F F1(name)3.308 E F0 1.908 -.55('s v)D +(That other v)180 489.6 R .478(ariable is de\214ned by the v)-.25 F .478 +(alue of)-.25 F F2(name)2.978 E F0 5.478(.A)C .478 +(ll references, assignments, and at-)-5.478 F(trib)180 501.6 Q .781 +(ute modi\214cations to)-.2 F F2(name)3.281 E F0 3.281(,e)C .782 +(xcept those using or changing the)-3.431 F F13.282 E F0(attrib) +3.282 E .782(ute itself, are)-.2 F .809(performed on the v)180 513.6 R +.809(ariable referenced by)-.25 F F2(name)3.308 E F0 1.908 -.55('s v)D 3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2 -F(applied to array v)180 465.6 Q(ariables.)-.25 E F2144 477.6 Q F0 -(Mak)180 477.6 Q(e)-.1 E F1(name)3.654 E F0 3.654(sr)C(eadonly)-3.654 E +F(applied to array v)180 525.6 Q(ariables.)-.25 E F1144 537.6 Q F0 +(Mak)180 537.6 Q(e)-.1 E F2(name)3.654 E F0 3.654(sr)C(eadonly)-3.654 E 6.154(.T)-.65 G 1.154(hese names cannot then be assigned v)-6.154 F 1.155(alues by subsequent as-)-.25 F(signment statements or unset.)180 -489.6 Q F2144 501.6 Q F0(Gi)180 501.6 Q .73 -.15(ve e)-.25 H(ach) -.15 E F1(name)2.93 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib) -2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2 -(DEB)2.929 E(UG)-.1 E F0(and)2.929 E F2(RETURN)2.929 E F0 -(traps from the calling shell.)180 513.6 Q(The trace attrib)5 E -(ute has no special meaning for v)-.2 E(ariables.)-.25 E F2144 -525.6 Q F0 .909(When the v)180 525.6 R .909(ariable is assigned a v)-.25 +549.6 Q F1144 561.6 Q F0(Gi)180 561.6 Q .73 -.15(ve e)-.25 H(ach) +.15 E F2(name)2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib) +2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1 +(DEB)2.929 E(UG)-.1 E F0(and)2.929 E F1(RETURN)2.929 E F0 +(traps from the calling shell.)180 573.6 Q(The trace attrib)5 E +(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1144 +585.6 Q F0 .909(When the v)180 585.6 R .909(ariable is assigned a v)-.25 F .909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 -F -.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 537.6 -R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2 -144 549.6 Q F0(Mark)180 549.6 Q F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E +F -.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 597.6 +R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1 +144 609.6 Q F0(Mark)180 609.6 Q F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E (xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .144 -(Using `+' instead of `\255' turns of)144 566.4 R 2.643(ft)-.25 G .143 +(Using `+' instead of `\255' turns of)144 626.4 R 2.643(ft)-.25 G .143 (he attrib)-2.643 F .143(ute instead, with the e)-.2 F .143 -(xceptions that)-.15 F F2(+a)2.643 E F0(and)2.643 E F2(+A)2.643 E F0 -.143(may not)2.643 F .578(be used to destro)144 578.4 R 3.079(ya)-.1 G -.579(rray v)-3.079 F .579(ariables and)-.25 F F2(+r)3.079 E F0 .579 +(xceptions that)-.15 F F1(+a)2.643 E F0(and)2.643 E F1(+A)2.643 E F0 +.143(may not)2.643 F .578(be used to destro)144 638.4 R 3.079(ya)-.1 G +.579(rray v)-3.079 F .579(ariables and)-.25 F F1(+r)3.079 E F0 .579 (will not remo)3.079 F .879 -.15(ve t)-.15 H .579(he readonly attrib).15 -F 3.079(ute. When)-.2 F .579(used in a)3.079 F(function,)144 590.4 Q F2 -(declar)3.544 E(e)-.18 E F0(and)3.544 E F2(typeset)3.544 E F0(mak)3.544 -E 3.544(ee)-.1 G(ach)-3.544 E F1(name)3.543 E F0 1.043 -(local, as with the)3.543 F F2(local)3.543 E F0 1.043 -(command, unless the)3.543 F F23.543 E F0 1.205 -(option is supplied.)144 602.4 R 1.205(If a v)6.205 F 1.205 -(ariable name is follo)-.25 F 1.205(wed by =)-.25 F F1(value)A F0 3.705 +F 3.079(ute. When)-.2 F .579(used in a)3.079 F(function,)144 650.4 Q F1 +(declar)3.544 E(e)-.18 E F0(and)3.544 E F1(typeset)3.544 E F0(mak)3.544 +E 3.544(ee)-.1 G(ach)-3.544 E F2(name)3.543 E F0 1.043 +(local, as with the)3.543 F F1(local)3.543 E F0 1.043 +(command, unless the)3.543 F F13.543 E F0 1.205 +(option is supplied.)144 662.4 R 1.205(If a v)6.205 F 1.205 +(ariable name is follo)-.25 F 1.205(wed by =)-.25 F F2(value)A F0 3.705 (,t)C 1.205(he v)-3.705 F 1.205(alue of the v)-.25 F 1.205 -(ariable is set to)-.25 F F1(value)144 614.4 Q F0 5.218(.W)C .218 -(hen using)-5.218 F F22.718 E F0(or)2.718 E F22.718 E F0 +(ariable is set to)-.25 F F2(value)144 674.4 Q F0 5.218(.W)C .218 +(hen using)-5.218 F F12.718 E F0(or)2.718 E F12.718 E F0 .217(and the compound assignment syntax to create array v)2.717 F .217 -(ariables, addi-)-.25 F .882(tional attrib)144 626.4 R .882 +(ariables, addi-)-.25 F .882(tional attrib)144 686.4 R .882 (utes do not tak)-.2 F 3.382(ee)-.1 G -.25(ff)-3.382 G .882 (ect until subsequent assignments.).25 F .882(The return v)5.882 F .882 -(alue is 0 unless an)-.25 F(in)144 638.4 Q -.25(va)-.4 G .366(lid optio\ +(alue is 0 unless an)-.25 F(in)144 698.4 Q -.25(va)-.4 G .366(lid optio\ n is encountered, an attempt is made to de\214ne a function using).25 F /F5 10/Courier@0 SF .365(\255f foo=bar)2.865 F F0 2.865(,a)C 2.865(na) --2.865 G(t-)-2.865 E .548(tempt is made to assign a v)144 650.4 R .548 +-2.865 G(t-)-2.865 E .548(tempt is made to assign a v)144 710.4 R .548 (alue to a readonly v)-.25 F .549 (ariable, an attempt is made to assign a v)-.25 F .549(alue to an)-.25 F -1.749(array v)144 662.4 R 1.749 -(ariable without using the compound assignment syntax \(see)-.25 F F2 +1.749(array v)144 722.4 R 1.749 +(ariable without using the compound assignment syntax \(see)-.25 F F1 (Arrays)4.248 E F0(abo)4.248 E -.15(ve)-.15 G 1.748(\), one of the).15 F -F1(names)144 674.4 Q F0 .359(is not a v)2.858 F .359(alid shell v)-.25 F -.359(ariable name, an attempt is made to turn of)-.25 F 2.859(fr)-.25 G -.359(eadonly status for a read-)-2.859 F 1.213(only v)144 686.4 R 1.213 -(ariable, an attempt is made to turn of)-.25 F 3.713(fa)-.25 G 1.213 -(rray status for an array v)-3.713 F 1.212(ariable, or an attempt is) --.25 F(made to display a non-e)144 698.4 Q(xistent function with)-.15 E -F22.5 E F0(.)A(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(61) -190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(61)185.545 E 0 Cg EP %%Page: 62 62 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF(dirs [\255clpv] [+)108 84 Q/F2 10/Times-Italic@0 SF(n)A F1 2.5(][)C --2.5 E F2(n)A F1(])A F0 -.4(Wi)144 96 S .328 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10 +/Times-Italic@0 SF(names)144 84 Q F0 .359(is not a v)2.858 F .359 +(alid shell v)-.25 F .359(ariable name, an attempt is made to turn of) +-.25 F 2.859(fr)-.25 G .359(eadonly status for a read-)-2.859 F 1.213 +(only v)144 96 R 1.213(ariable, an attempt is made to turn of)-.25 F +3.713(fa)-.25 G 1.213(rray status for an array v)-3.713 F 1.212 +(ariable, or an attempt is)-.25 F(made to display a non-e)144 108 Q +(xistent function with)-.15 E/F2 10/Times-Bold@0 SF2.5 E F0(.)A F2 +(dirs [\255clpv] [+)108 124.8 Q F1(n)A F2 2.5(][)C-2.5 E F1(n)A F2 +(])A F0 -.4(Wi)144 136.8 S .328 (thout options, displays the list of currently remembered directories.) .4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238 -(single line with directory names separated by spaces.)144 108 R 1.238 -(Directories are added to the list with the)6.238 F F1(pushd)144 120 Q -F0 .927(command; the)3.427 F F1(popd)3.428 E F0 .928(command remo)3.428 +(single line with directory names separated by spaces.)144 148.8 R 1.238 +(Directories are added to the list with the)6.238 F F2(pushd)144 160.8 Q +F0 .927(command; the)3.427 F F2(popd)3.428 E F0 .928(command remo)3.428 F -.15(ve)-.15 G 3.428(se).15 G .928(ntries from the list.)-3.428 F .928 -(The current directory is al-)5.928 F -.1(wa)144 132 S -(ys the \214rst directory in the stack.).1 E F1144 144 Q F0 -(Clears the directory stack by deleting all of the entries.)180 144 Q F1 -144 156 Q F0 .882 -(Produces a listing using full pathnames; the def)180 156 R .881 +(The current directory is al-)5.928 F -.1(wa)144 172.8 S +(ys the \214rst directory in the stack.).1 E F2144 184.8 Q F0 +(Clears the directory stack by deleting all of the entries.)180 184.8 Q +F2144 196.8 Q F0 .882 +(Produces a listing using full pathnames; the def)180 196.8 R .881 (ault listing format uses a tilde to denote)-.1 F(the home directory)180 -168 Q(.)-.65 E F1144 180 Q F0 -(Print the directory stack with one entry per line.)180 180 Q F1 -144 192 Q F0 .272(Print the directory stack with one entry per line, pr\ -e\214xing each entry with its inde)180 192 R 2.773(xi)-.15 G 2.773(nt) --2.773 G(he)-2.773 E(stack.)180 204 Q F1(+)144 216 Q F2(n)A F0 1.565 -(Displays the)180 216 R F2(n)4.065 E F0 1.565 -(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1 +208.8 Q(.)-.65 E F2144 220.8 Q F0 +(Print the directory stack with one entry per line.)180 220.8 Q F2 +144 232.8 Q F0 .272(Print the directory stack with one entry per line, \ +pre\214xing each entry with its inde)180 232.8 R 2.773(xi)-.15 G 2.773 +(nt)-2.773 G(he)-2.773 E(stack.)180 244.8 Q F2(+)144 256.8 Q F1(n)A F0 +1.565(Displays the)180 256.8 R F1(n)4.065 E F0 1.565 +(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F2 (dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E -(without options, starting with zero.)180 228 Q F1144 240 Q F2(n)A -F0 1.194(Displays the)180 240 R F2(n)3.694 E F0 1.194 +(without options, starting with zero.)180 268.8 Q F2144 280.8 Q F1 +(n)A F0 1.194(Displays the)180 280.8 R F1(n)3.694 E F0 1.194 (th entry counting from the right of the list sho)B 1.194(wn by)-.25 F -F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E -(without options, starting with zero.)180 252 Q .258(The return v)144 -268.8 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258 -(lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe) +F2(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E +(without options, starting with zero.)180 292.8 Q .258(The return v)144 +309.6 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258 +(lid option is supplied or).25 F F1(n)2.758 E F0(inde)2.758 E -.15(xe) -.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-) -.15 F(tory stack.)144 280.8 Q F1(diso)108 297.6 Q(wn)-.1 E F0([)2.5 E F1 -(\255ar)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(jobspec)-2.5 E F0 -(... |)2.5 E F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144 309.6 S .121 -(thout options, remo).4 F .422 -.15(ve e)-.15 H(ach).15 E F2(jobspec) +.15 F(tory stack.)144 321.6 Q F2(diso)108 338.4 Q(wn)-.1 E F0([)2.5 E F2 +(\255ar)A F0 2.5(][)C F2-2.5 E F0 2.5(][)C F1(jobspec)-2.5 E F0 +(... |)2.5 E F1(pid)2.5 E F0(... ])2.5 E -.4(Wi)144 350.4 S .121 +(thout options, remo).4 F .422 -.15(ve e)-.15 H(ach).15 E F1(jobspec) 4.362 E F0 .122(from the table of acti)2.932 F .422 -.15(ve j)-.25 H -2.622(obs. If).15 F F2(jobspec)4.362 E F0 .122(is not present, and)2.932 -F .096(neither the)144 321.6 R F12.596 E F0 .096(nor the)2.596 F -F12.596 E F0 .096(option is supplied, the)2.596 F F2(curr)2.596 E -.096(ent job)-.37 F F0 .096(is used.)2.596 F .096(If the)5.096 F F1 +2.622(obs. If).15 F F1(jobspec)4.362 E F0 .122(is not present, and)2.932 +F .096(neither the)144 362.4 R F22.596 E F0 .096(nor the)2.596 F +F22.596 E F0 .096(option is supplied, the)2.596 F F1(curr)2.596 E +.096(ent job)-.37 F F0 .096(is used.)2.596 F .096(If the)5.096 F F2 2.596 E F0 .096(option is gi)2.596 F -.15(ve)-.25 G .096(n, each) -.15 F F2(jobspec)145.74 333.6 Q F0 .585(is not remo)3.395 F -.15(ve)-.15 +.15 F F1(jobspec)145.74 374.4 Q F0 .585(is not remo)3.395 F -.15(ve)-.15 G 3.085(df).15 G .585(rom the table, b)-3.085 F .585(ut is mark)-.2 F .585(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)3.085 E F0 .586 -(is not sent to the job if the)2.835 F .962(shell recei)144 345.6 R -.15 +(is not sent to the job if the)2.835 F .962(shell recei)144 386.4 R -.15 (ve)-.25 G 3.462(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .962 -(If no)5.462 F F2(jobspec)5.202 E F0 .962(is supplied, the)3.772 F F1 +(If no)5.462 F F1(jobspec)5.202 E F0 .962(is supplied, the)3.772 F F2 3.462 E F0 .962(option means to remo)3.462 F 1.262 -.15(ve o)-.15 -H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 357.6 R F1 -3.858 E F0 1.358(option without a)3.858 F F2(jobspec)5.598 E F0 +H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 398.4 R F2 +3.858 E F0 1.358(option without a)3.858 F F1(jobspec)5.598 E F0 (ar)4.169 E 1.359(gument restricts operation to running jobs.)-.18 F -1.359(The return)6.359 F -.25(va)144 369.6 S(lue is 0 unless a).25 E F2 +1.359(The return)6.359 F -.25(va)144 410.4 S(lue is 0 unless a).25 E F1 (jobspec)4.24 E F0(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E -F1(echo)108 386.4 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g) --.37 E F0(...])2.5 E .425(Output the)144 398.4 R F2(ar)2.925 E(g)-.37 E +F2(echo)108 427.2 Q F0([)2.5 E F2(\255neE)A F0 2.5(][)C F1(ar)-2.5 E(g) +-.37 E F0(...])2.5 E .425(Output the)144 439.2 R F1(ar)2.925 E(g)-.37 E F0 .424(s, separated by spaces, follo)B .424(wed by a ne)-.25 F 2.924 (wline. The)-.25 F .424(return status is 0 unless a write)2.924 F .307 -(error occurs.)144 410.4 R(If)5.307 E F12.807 E F0 .307 +(error occurs.)144 451.2 R(If)5.307 E F22.807 E F0 .307 (is speci\214ed, the trailing ne)2.807 F .308(wline is suppressed.)-.25 -F .308(If the)5.308 F F12.808 E F0 .308(option is gi)2.808 F -.15 +F .308(If the)5.308 F F22.808 E F0 .308(option is gi)2.808 F -.15 (ve)-.25 G .308(n, inter).15 F(-)-.2 E .198(pretation of the follo)144 -422.4 R .198(wing backslash-escaped characters is enabled.)-.25 F(The) -5.198 E F12.698 E F0 .197(option disables the in-)2.697 F .067 -(terpretation of these escape characters, e)144 434.4 R -.15(ve)-.25 G +463.2 R .198(wing backslash-escaped characters is enabled.)-.25 F(The) +5.198 E F22.698 E F0 .197(option disables the in-)2.697 F .067 +(terpretation of these escape characters, e)144 475.2 R -.15(ve)-.25 G 2.567(no).15 G 2.567(ns)-2.567 G .067(ystems where the)-2.567 F 2.567 -(ya)-.15 G .067(re interpreted by def)-2.567 F 2.568(ault. The)-.1 F F1 -(xpg_echo)144 446.4 Q F0 .602 +(ya)-.15 G .067(re interpreted by def)-2.567 F 2.568(ault. The)-.1 F F2 +(xpg_echo)144 487.2 Q F0 .602 (shell option may be used to dynamically determine whether or not)3.102 -F F1(echo)3.101 E F0 -.15(ex)3.101 G .601(pands these).15 F .658 -(escape characters by def)144 458.4 R(ault.)-.1 E F1(echo)5.658 E F0 -.659(does not interpret)3.159 F F13.159 E F0 .659 -(to mean the end of options.)3.159 F F1(echo)5.659 E F0(inter)3.159 E(-) --.2 E(prets the follo)144 470.4 Q(wing escape sequences:)-.25 E F1(\\a) -144 482.4 Q F0(alert \(bell\))180 482.4 Q F1(\\b)144 494.4 Q F0 -(backspace)180 494.4 Q F1(\\c)144 506.4 Q F0(suppress further output)180 -506.4 Q F1(\\e)144 518.4 Q(\\E)144 530.4 Q F0(an escape character)180 -530.4 Q F1(\\f)144 542.4 Q F0(form feed)180 542.4 Q F1(\\n)144 554.4 Q -F0(ne)180 554.4 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 566.4 Q F0 -(carriage return)180 566.4 Q F1(\\t)144 578.4 Q F0(horizontal tab)180 -578.4 Q F1(\\v)144 590.4 Q F0 -.15(ve)180 590.4 S(rtical tab).15 E F1 -(\\\\)144 602.4 Q F0(backslash)180 602.4 Q F1(\\0)144 614.4 Q F2(nnn)A -F0(the eight-bit character whose v)180 614.4 Q(alue is the octal v)-.25 -E(alue)-.25 E F2(nnn)2.5 E F0(\(zero to three octal digits\))2.5 E F1 -(\\x)144 626.4 Q F2(HH)A F0(the eight-bit character whose v)180 626.4 Q -(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0 -(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1 -(\\u)144 638.4 Q F2(HHHH)A F0 1.507 -(the Unicode \(ISO/IEC 10646\) character whose v)180 650.4 R 1.506 -(alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F2(HHHH) -4.006 E F0(\(one to four he)180 662.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1 -(\\U)144 674.4 Q F2(HHHHHHHH)A F0 .547 -(the Unicode \(ISO/IEC 10646\) character whose v)180 686.4 R .547 -(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-) -3.048 E(HHH)180 698.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G -(igits\))-2.5 E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(62) -190.395 E 0 Cg EP +F F2(echo)3.101 E F0 -.15(ex)3.101 G .601(pands these).15 F .658 +(escape characters by def)144 499.2 R(ault.)-.1 E F2(echo)5.658 E F0 +.659(does not interpret)3.159 F F23.159 E F0 .659 +(to mean the end of options.)3.159 F F2(echo)5.659 E F0(inter)3.159 E(-) +-.2 E(prets the follo)144 511.2 Q(wing escape sequences:)-.25 E F2(\\a) +144 523.2 Q F0(alert \(bell\))180 523.2 Q F2(\\b)144 535.2 Q F0 +(backspace)180 535.2 Q F2(\\c)144 547.2 Q F0(suppress further output)180 +547.2 Q F2(\\e)144 559.2 Q(\\E)144 571.2 Q F0(an escape character)180 +571.2 Q F2(\\f)144 583.2 Q F0(form feed)180 583.2 Q F2(\\n)144 595.2 Q +F0(ne)180 595.2 Q 2.5(wl)-.25 G(ine)-2.5 E F2(\\r)144 607.2 Q F0 +(carriage return)180 607.2 Q F2(\\t)144 619.2 Q F0(horizontal tab)180 +619.2 Q F2(\\v)144 631.2 Q F0 -.15(ve)180 631.2 S(rtical tab).15 E F2 +(\\\\)144 643.2 Q F0(backslash)180 643.2 Q F2(\\0)144 655.2 Q F1(nnn)A +F0(the eight-bit character whose v)180 655.2 Q(alue is the octal v)-.25 +E(alue)-.25 E F1(nnn)2.5 E F0(\(zero to three octal digits\))2.5 E F2 +(\\x)144 667.2 Q F1(HH)A F0(the eight-bit character whose v)180 667.2 Q +(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F1(HH)2.5 E F0 +(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F2 +(\\u)144 679.2 Q F1(HHHH)A F0 1.507 +(the Unicode \(ISO/IEC 10646\) character whose v)180 691.2 R 1.506 +(alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F1(HHHH) +4.006 E F0(\(one to four he)180 703.2 Q 2.5(xd)-.15 G(igits\))-2.5 E +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(62)185.545 E 0 Cg EP %%Page: 63 63 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF(enable)108 84 Q F0([)2.5 E F1A F0 2.5(][)C F1(\255dnps)-2.5 E -F0 2.5(][)C F1-2.5 E/F2 10/Times-Italic@0 SF(\214lename)2.5 E F0 -2.5(][)C F2(name)-2.5 E F0(...])2.5 E .278(Enable and disable b)144 96 R +SF(\\U)144 84 Q/F2 10/Times-Italic@0 SF(HHHHHHHH)A F0 .547 +(the Unicode \(ISO/IEC 10646\) character whose v)180 96 R .547 +(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-) +3.048 E(HHH)180 108 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G(igits\)) +-2.5 E F1(enable)108 124.8 Q F0([)2.5 E F1A F0 2.5(][)C F1 +(\255dnps)-2.5 E F0 2.5(][)C F1-2.5 E F2(\214lename)2.5 E F0 2.5 +(][)C F2(name)-2.5 E F0(...])2.5 E .278(Enable and disable b)144 136.8 R .278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278 (uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .833 -(the same name as a shell b)144 108 R .834(uiltin to be e)-.2 F -.15(xe) --.15 G .834(cuted without specifying a full pathname, e).15 F -.15(ve) --.25 G 3.334(nt).15 G(hough)-3.334 E .99 -(the shell normally searches for b)144 120 R .989 +(the same name as a shell b)144 148.8 R .834(uiltin to be e)-.2 F -.15 +(xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15 +(ve)-.25 G 3.334(nt).15 G(hough)-3.334 E .99 +(the shell normally searches for b)144 160.8 R .989 (uiltins before disk commands.)-.2 F(If)5.989 E F13.489 E F0 .989 (is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F .648 -(abled; otherwise,)144 132 R F2(names)3.148 E F0 .648(are enabled.)3.148 -F -.15(Fo)5.648 G 3.148(re).15 G .648(xample, to use the)-3.298 F F1 -(test)3.148 E F0 .648(binary found via the)3.148 F/F3 9/Times-Bold@0 SF --.666(PA)3.148 G(TH)-.189 E F0(in-)2.899 E .539(stead of the shell b)144 -144 R .538(uiltin v)-.2 F .538(ersion, run)-.15 F/F4 10/Courier@0 SF -.538(enable -n test)3.038 F F0 5.538(.T)C(he)-5.538 E F13.038 E F0 -.538(option means to load the ne)3.038 F(w)-.25 E -.2(bu)144 156 S 1.365 -(iltin command).2 F F2(name)4.225 E F0 1.365(from shared object)4.045 F -F2(\214lename)5.775 E F0 3.865(,o).18 G 3.865(ns)-3.865 G 1.365 -(ystems that support dynamic loading.)-3.865 F(The)144 168 Q F1 +(abled; otherwise,)144 172.8 R F2(names)3.148 E F0 .648(are enabled.) +3.148 F -.15(Fo)5.648 G 3.148(re).15 G .648(xample, to use the)-3.298 F +F1(test)3.148 E F0 .648(binary found via the)3.148 F/F3 9/Times-Bold@0 +SF -.666(PA)3.148 G(TH)-.189 E F0(in-)2.899 E .539(stead of the shell b) +144 184.8 R .538(uiltin v)-.2 F .538(ersion, run)-.15 F/F4 10/Courier@0 +SF .538(enable -n test)3.038 F F0 5.538(.T)C(he)-5.538 E F13.038 E +F0 .538(option means to load the ne)3.038 F(w)-.25 E -.2(bu)144 196.8 S +1.365(iltin command).2 F F2(name)4.225 E F0 1.365(from shared object) +4.045 F F2(\214lename)5.775 E F0 3.865(,o).18 G 3.865(ns)-3.865 G 1.365 +(ystems that support dynamic loading.)-3.865 F(The)144 208.8 Q F1 2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F .367(viously loaded with)-.25 F F12.866 E F0 5.366(.I)C 2.866(fn) -5.366 G(o)-2.866 E F2(name)2.866 E F0(ar)2.866 E .366(guments are gi) --.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 180 R F1 +-.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 220.8 R F1 2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399 (uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4 F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144 -192 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 +232.8 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 (is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F (If)5.098 E F12.598 E F0 .905 -(is supplied, the list printed includes all b)144 204 R .905 +(is supplied, the list printed includes all b)144 244.8 R .905 (uiltins, with an indication of whether or not each is en-)-.2 F 2.873 -(abled. If)144 216 R F12.873 E F0 .372 +(abled. If)144 256.8 R F12.873 E F0 .372 (is supplied, the output is restricted to the POSIX)2.873 F F2(special) 2.872 E F0 -.2(bu)2.872 G 2.872(iltins. The).2 F .372(return v)2.872 F -.372(alue is)-.25 F 2.5(0u)144 228 S(nless a)-2.5 E F2(name)2.86 E F0 +.372(alue is)-.25 F 2.5(0u)144 268.8 S(nless a)-2.5 E F2(name)2.86 E F0 (is not a shell b)2.68 E(uiltin or there is an error loading a ne)-.2 E 2.5(wb)-.25 G(uiltin from a shared object.)-2.7 E F1 -2.3 -.15(ev a)108 -244.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(The)144 256.8 +285.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(The)144 297.6 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671 (re read and concatenated together into a single command.)-3.17 F .671 -(This command is then read)5.671 F .479(and e)144 268.8 R -.15(xe)-.15 G +(This command is then read)5.671 F .479(and e)144 309.6 R -.15(xe)-.15 G .479(cuted by the shell, and its e).15 F .479 (xit status is returned as the v)-.15 F .478(alue of)-.25 F F1 -2.3 -.15 (ev a)2.978 H(l).15 E F0 5.478(.I)C 2.978(ft)-5.478 G .478(here are no) --2.978 F F2(ar)3.308 E(gs)-.37 E F0(,).27 E(or only null ar)144 280.8 Q +-2.978 F F2(ar)3.308 E(gs)-.37 E F0(,).27 E(or only null ar)144 321.6 Q (guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1 -(exec)108 297.6 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 +(exec)108 338.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 (name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments) --.37 E F0(]])A(If)144 309.6 Q F2(command)3.005 E F0 .305 +-.37 E F0(]])A(If)144 350.4 Q F2(command)3.005 E F0 .305 (is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805 (wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F2(ar)3.136 E -(guments)-.37 E F0(become)3.076 E .177(the ar)144 321.6 R .177 +(guments)-.37 E F0(become)3.076 E .177(the ar)144 362.4 R .177 (guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G (he)-2.676 E F12.676 E F0 .176 (option is supplied, the shell places a dash at the be)2.676 F .176 -(ginning of)-.15 F .48(the zeroth ar)144 333.6 R .48(gument passed to) +(ginning of)-.15 F .48(the zeroth ar)144 374.4 R .48(gument passed to) -.18 F F2(command)3.18 E F0 5.48(.T).77 G .48(his is what)-5.48 F F2(lo) 3.07 E(gin)-.1 E F0 .48(\(1\) does.).24 F(The)5.48 E F12.98 E F0 -.48(option causes)2.98 F F2(com-)3.18 E(mand)144 345.6 Q F0 .639 +.48(option causes)2.98 F F2(com-)3.18 E(mand)144 386.4 Q F0 .639 (to be e)3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 (vironment. If)-.4 F F13.138 E F0 .638 (is supplied, the shell passes)3.138 F F2(name)3.498 E F0 .638(as the) -3.318 F 1.077(zeroth ar)144 357.6 R 1.077(gument to the e)-.18 F -.15 +3.318 F 1.077(zeroth ar)144 398.4 R 1.077(gument to the e)-.18 F -.15 (xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a) -.15 F(non-interacti)144 369.6 Q .877 -.15(ve s)-.25 H .577(hell e).15 F +.15 F(non-interacti)144 410.4 Q .877 -.15(ve s)-.25 H .577(hell e).15 F .577(xits, unless the)-.15 F F1(execfail)3.077 E F0 .577 (shell option is enabled.)3.077 F .576(In that case, it returns f)5.577 -F(ail-)-.1 E 3.32(ure. An)144 381.6 R(interacti)3.32 E 1.12 -.15(ve s) +F(ail-)-.1 E 3.32(ure. An)144 422.4 R(interacti)3.32 E 1.12 -.15(ve s) -.25 H .82(hell returns f).15 F .82(ailure if the \214le cannot be e)-.1 F -.15(xe)-.15 G 3.32(cuted. A).15 F .82(subshell e)3.32 F .82 -(xits uncondi-)-.15 F .288(tionally if)144 393.6 R F1(exec)2.788 E F0 +(xits uncondi-)-.15 F .288(tionally if)144 434.4 R F1(exec)2.788 E F0 -.1(fa)2.788 G 2.788(ils. If).1 F F2(command)2.988 E F0 .288 (is not speci\214ed, an)3.558 F 2.787(yr)-.15 G .287(edirections tak) -2.787 F 2.787(ee)-.1 G -.25(ff)-2.787 G .287(ect in the current shell,) -.25 F(and the return status is 0.)144 405.6 Q +.25 F(and the return status is 0.)144 446.4 Q (If there is a redirection error)5 E 2.5(,t)-.4 G -(he return status is 1.)-2.5 E F1(exit)108 422.4 Q F0([)2.5 E F2(n)A F0 -(])A .095(Cause the shell to e)144 422.4 R .095(xit with a status of) +(he return status is 1.)-2.5 E F1(exit)108 463.2 Q F0([)2.5 E F2(n)A F0 +(])A .095(Cause the shell to e)144 463.2 R .095(xit with a status of) -.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n)2.955 E F0 .096 (is omitted, the e)2.835 F .096(xit status is that of the last command) --.15 F -.15(exe)144 434.4 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5 +-.15 F -.15(exe)144 475.2 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G(cuted before the shell terminates.).15 E -F1(export)108 451.2 Q F0([)2.5 E F1(\255fn)A F0 2.5(][).833 G F2(name) --2.5 E F0([=)A F2(wor)A(d)-.37 E F0(]] ...)A F1(export \255p)108 463.2 Q -F0 .257(The supplied)144 475.2 R F2(names)3.117 E F0 .257(are mark)3.027 -F .257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257 +F1(export)108 492 Q F0([)2.5 E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 +E F0([=)A F2(wor)A(d)-.37 E F0(]] ...)A F1(export \255p)108 504 Q F0 +.257(The supplied)144 516 R F2(names)3.117 E F0 .257(are mark)3.027 F +.257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257 (vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.626 -(commands. If)144 487.2 R(the)2.626 E F12.626 E F0 .127 +(commands. If)144 528 R(the)2.626 E F12.626 E F0 .127 (option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127(n, or if the).15 F F1 -144 499.2 Q F0 .048(option is supplied, a list of names of all e)2.548 F +144 540 Q F0 .048(option is supplied, a list of names of all e)2.548 F .048(xported v)-.15 F .048(ariables is printed.)-.25 F(The)5.048 E F1 -2.547 E F0 .047(option causes the)2.547 F -.15(ex)144 511.2 S -1.446(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447 +2.547 E F0 .047(option causes the)2.547 F -.15(ex)144 552 S 1.446 +(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447 (rom each)-3.947 F F2(name)3.947 E F0 6.447(.I)C 3.947(fav)-6.447 G 1.447(ariable name is follo)-4.197 F 1.447(wed by =)-.25 F F2(wor)A(d) --.37 E F0 3.947(,t)C(he)-3.947 E -.25(va)144 523.2 S .742(lue of the v) -.25 F .742(ariable is set to)-.25 F F2(wor)3.242 E(d)-.37 E F0(.)A F1 +-.37 E F0 3.947(,t)C(he)-3.947 E -.25(va)144 564 S .742(lue of the v).25 +F .742(ariable is set to)-.25 F F2(wor)3.242 E(d)-.37 E F0(.)A F1 (export)5.742 E F0 .742(returns an e)3.242 F .741 (xit status of 0 unless an in)-.15 F -.25(va)-.4 G .741(lid option is) -.25 F .031(encountered, one of the)144 535.2 R F2(names)2.531 E F0 .031 +.25 F .031(encountered, one of the)144 576 R F2(names)2.531 E F0 .031 (is not a v)2.531 F .032(alid shell v)-.25 F .032(ariable name, or)-.25 F F12.532 E F0 .032(is supplied with a)2.532 F F2(name)2.892 E F0 -(that)2.712 E(is not a function.)144 547.2 Q F1(fc)108 564 Q F0([)2.5 E +(that)2.712 E(is not a function.)144 588 Q F1(fc)108 604.8 Q F0([)2.5 E F1A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2 <8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108 -576 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2 +616.8 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2 (cmd)-2.5 E F0(])A .432 -(The \214rst form selects a range of commands from)144 588 R F2<8c72> +(The \214rst form selects a range of commands from)144 628.8 R F2<8c72> 4.842 E(st)-.1 E F0(to)3.612 E F2(last)3.022 E F0 .431 (from the history list and displays or)3.612 F .141(edits and re-e)144 -600 R -.15(xe)-.15 G .141(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs) +640.8 R -.15(xe)-.15 G .141(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs) .45 G(t).1 E F0(and)3.321 E F2(last)2.731 E F0 .141 (may be speci\214ed as a string \(to locate the last command)3.321 F(be) -144 612 Q .311(ginning with that string\) or as a number \(an inde)-.15 -F 2.811(xi)-.15 G .31(nto the history list, where a ne)-2.811 F -.05(ga) --.15 G(ti).05 E .61 -.15(ve n)-.25 H(umber).15 E .189(is used as an of) -144 624 R .189(fset from the current command number\).)-.25 F(If)5.189 E -F2(last)2.78 E F0 .19(is not speci\214ed, it is set to the cur)3.37 F(-) --.2 E .949(rent command for listing \(so that)144 636 R F4 .948 -(fc \255l \25510)3.448 F F0 .948(prints the last 10 commands\) and to) -3.448 F F2<8c72>5.358 E(st)-.1 E F0(other)4.128 E(-)-.2 E 2.5(wise. If) -144 648 R F2<8c72>4.41 E(st)-.1 E F0 -(is not speci\214ed, it is set to the pre)3.18 E -(vious command for editing and \25516 for listing.)-.25 E(The)144 672 Q -F12.522 E F0 .022 +144 652.8 Q .311(ginning with that string\) or as a number \(an inde) +-.15 F 2.811(xi)-.15 G .31(nto the history list, where a ne)-2.811 F +-.05(ga)-.15 G(ti).05 E .61 -.15(ve n)-.25 H(umber).15 E .189 +(is used as an of)144 664.8 R .189 +(fset from the current command number\).)-.25 F(If)5.189 E F2(last)2.78 +E F0 .19(is not speci\214ed, it is set to the cur)3.37 F(-)-.2 E .949 +(rent command for listing \(so that)144 676.8 R F4 .948(fc \255l \25510) +3.448 F F0 .948(prints the last 10 commands\) and to)3.448 F F2<8c72> +5.358 E(st)-.1 E F0(other)4.128 E(-)-.2 E 2.5(wise. If)144 688.8 R F2 +<8c72>4.41 E(st)-.1 E F0(is not speci\214ed, it is set to the pre)3.18 E +(vious command for editing and \25516 for listing.)-.25 E(The)144 712.8 +Q F12.522 E F0 .022 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E F12.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 -(rses the order of).15 F .438(the commands.)144 684 R .438(If the)5.438 -F F12.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 +(rses the order of).15 F .438(the commands.)144 724.8 R .438(If the) +5.438 F F12.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E -.334(the editor gi)144 696 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E F2 -(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do) -.1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F -(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G -(n,).15 E .631(the v)144 708 R .631(alue of the)-.25 F F3(FCEDIT)3.131 E -F0 -.25(va)2.881 G .631(riable is used, and the v).25 F .631(alue of) --.25 F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.13 E F0 .63 -(is not set.)2.88 F .63(If nei-)5.63 F .95(ther v)144 720 R .95 -(ariable is set,)-.25 F F2(vi)5.116 E F0 .95(is used.)5.116 F .951 -(When editing is complete, the edited commands are echoed and)5.95 F -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(63)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(63)185.545 E 0 Cg EP %%Page: 64 64 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -.15(exe)144 84 S -(cuted.).15 E .789(In the second form,)144 108 R/F1 10/Times-Italic@0 SF +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .334 +(the editor gi)144 84 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E/F1 10 +/Times-Italic@0 SF(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1 +(ke).2 G 2.835(do).1 G 2.835(na\214)-2.835 G .335 +(le containing those commands.)-2.835 F(If)5.335 E F1(ename)3.025 E F0 +.335(is not gi)3.015 F -.15(ve)-.25 G(n,).15 E .631(the v)144 96 R .631 +(alue of the)-.25 F/F2 9/Times-Bold@0 SF(FCEDIT)3.131 E F0 -.25(va)2.881 +G .631(riable is used, and the v).25 F .631(alue of)-.25 F F2(EDIT)3.131 +E(OR)-.162 E F0(if)2.881 E F2(FCEDIT)3.13 E F0 .63(is not set.)2.88 F +.63(If nei-)5.63 F .005(ther v)144 108 R .005(ariable is set,)-.25 F F1 +(vi)4.171 E F0 .005(is used.)4.171 F .005 +(When editing is complete, the edited commands are echoed and e)5.005 F +(x-)-.15 E(ecuted.)144 120 Q .789(In the second form,)144 144 R F1 (command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788 (cuted after each instance of).15 F F1(pat)3.288 E F0 .788 (is replaced by)3.288 F F1 -.37(re)3.288 G(p).37 E F0(.)A F1(Com-)5.788 -E(mand)144 120 Q F0 .171(is interpreted the same as)2.671 F F1<8c72> +E(mand)144 156 Q F0 .171(is interpreted the same as)2.671 F F1<8c72> 2.671 E(st)-.1 E F0(abo)2.671 E -.15(ve)-.15 G 5.171(.A).15 G .172 -(useful alias to use with this is)-2.499 F/F2 10/Courier@0 SF .172 +(useful alias to use with this is)-2.499 F/F3 10/Courier@0 SF .172 (r='fc \255s')2.672 F F0 2.672(,s)C 2.672(ot)-2.672 G(hat)-2.672 E -(typing)144 132 Q F2 7.166(rc)3.666 G(c)-7.166 E F0 1.166 -(runs the last command be)3.666 F 1.166(ginning with)-.15 F F2(cc)3.666 -E F0 1.165(and typing)3.666 F F2(r)3.665 E F0(re-e)3.665 E -.15(xe)-.15 -G 1.165(cutes the last com-).15 F(mand.)144 144 Q .142 -(If the \214rst form is used, the return v)144 168 R .142 +(typing)144 168 Q F3 7.166(rc)3.666 G(c)-7.166 E F0 1.166 +(runs the last command be)3.666 F 1.166(ginning with)-.15 F F3(cc)3.666 +E F0 1.165(and typing)3.666 F F3(r)3.665 E F0(re-e)3.665 E -.15(xe)-.15 +G 1.165(cutes the last com-).15 F(mand.)144 180 Q .142 +(If the \214rst form is used, the return v)144 204 R .142 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .142 (lid option is encountered or).25 F F1<8c72>4.552 E(st)-.1 E F0(or)3.322 -E F1(last)2.732 E F0 .455(specify history lines out of range.)144 180 R -.454(If the)5.454 F/F3 10/Times-Bold@0 SF2.954 E F0 .454 +E F1(last)2.732 E F0 .455(specify history lines out of range.)144 216 R +.454(If the)5.454 F/F4 10/Times-Bold@0 SF2.954 E F0 .454 (option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454 -(alue of the)-.25 F .787(last command e)144 192 R -.15(xe)-.15 G .787 +(alue of the)-.25 F .787(last command e)144 228 R -.15(xe)-.15 G .787 (cuted or f).15 F .788 (ailure if an error occurs with the temporary \214le of commands.)-.1 F .788(If the)5.788 F 1.136 (second form is used, the return status is that of the command re-e)144 -204 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F1(cmd)3.835 E F0 1.135 -(does not)4.405 F(specify a v)144 216 Q -(alid history line, in which case)-.25 E F3(fc)2.5 E F0(returns f)2.5 E -(ailure.)-.1 E F3(fg)108 232.8 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume) -144 244.8 Q F1(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413 +240 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F1(cmd)3.835 E F0 1.135 +(does not)4.405 F(specify a v)144 252 Q +(alid history line, in which case)-.25 E F4(fc)2.5 E F0(returns f)2.5 E +(ailure.)-.1 E F4(fg)108 268.8 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume) +144 280.8 Q F1(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413 (ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413 (he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1(jobspec)5.653 E F0 -1.414(is not present, the)4.223 F(shell')144 256.8 Q 3.117(sn)-.55 G +1.414(is not present, the)4.223 F(shell')144 292.8 Q 3.117(sn)-.55 G .617(otion of the)-3.117 F F1(curr)3.117 E .617(ent job)-.37 F F0 .617 (is used.)3.117 F .617(The return v)5.617 F .616 -(alue is that of the command placed into the)-.25 F(fore)144 268.8 Q +(alue is that of the command placed into the)-.25 F(fore)144 304.8 Q .362(ground, or f)-.15 F .362 (ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363 -(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 280.8 Q +(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 316.8 Q F0(does not specify a v)2.81 E(alid job or)-.25 E F1(jobspec)4.24 E F0 (speci\214es a job that w)2.81 E(as started without job control.)-.1 E -F3(getopts)108 297.6 Q F1(optstring name)2.5 E F0([)2.5 E F1(ar)A 2.5 -(g.)-.37 G(..)-2.5 E F0(])A F3(getopts)144 309.6 Q F0 .793 +F4(getopts)108 333.6 Q F1(optstring name)2.5 E F0([)2.5 E F1(ar)A 2.5 +(g.)-.37 G(..)-2.5 E F0(])A F4(getopts)144 345.6 Q F0 .793 (is used by shell procedures to parse positional parameters.)3.294 F F1 (optstring)6.023 E F0 .793(contains the option)3.513 F .149 -(characters to be recognized; if a character is follo)144 321.6 R .15 +(characters to be recognized; if a character is follo)144 357.6 R .15 (wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45 --.15(ve a)-.2 H(n).15 E(ar)144 333.6 Q .579 +-.15(ve a)-.2 H(n).15 E(ar)144 369.6 Q .579 (gument, which should be separated from it by white space.)-.18 F .578 (The colon and question mark char)5.579 F(-)-.2 E .636 -(acters may not be used as option characters.)144 345.6 R .636 -(Each time it is in)5.636 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F3(getopts) +(acters may not be used as option characters.)144 381.6 R .636 +(Each time it is in)5.636 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F4(getopts) 3.136 E F0 .636(places the ne)3.136 F .636(xt op-)-.15 F .03 -(tion in the shell v)144 357.6 R(ariable)-.25 E F1(name)2.89 E F0 2.53 +(tion in the shell v)144 393.6 R(ariable)-.25 E F1(name)2.89 E F0 2.53 (,i).18 G(nitializing)-2.53 E F1(name)2.89 E F0 .029(if it does not e) 2.71 F .029(xist, and the inde)-.15 F 2.529(xo)-.15 G 2.529(ft)-2.529 G .029(he ne)-2.529 F .029(xt ar)-.15 F(gu-)-.18 E .065 -(ment to be processed into the v)144 369.6 R(ariable)-.25 E/F4 9 -/Times-Bold@0 SF(OPTIND)2.565 E/F5 9/Times-Roman@0 SF(.)A F4(OPTIND) -4.565 E F0 .066(is initialized to 1 each time the shell or a)2.315 F -.885(shell script is in)144 381.6 R -.2(vo)-.4 G -.1(ke).2 G 3.385 -(d. When).1 F .885(an option requires an ar)3.385 F(gument,)-.18 E F3 -(getopts)3.385 E F0 .885(places that ar)3.385 F .885(gument into)-.18 F -.566(the v)144 393.6 R(ariable)-.25 E F4(OPT)3.066 E(ARG)-.81 E F5(.)A -F0 .566(The shell does not reset)5.066 F F4(OPTIND)3.066 E F0 .567 +(ment to be processed into the v)144 405.6 R(ariable)-.25 E F2(OPTIND) +2.565 E/F5 9/Times-Roman@0 SF(.)A F2(OPTIND)4.565 E F0 .066 +(is initialized to 1 each time the shell or a)2.315 F .885 +(shell script is in)144 417.6 R -.2(vo)-.4 G -.1(ke).2 G 3.385(d. When) +.1 F .885(an option requires an ar)3.385 F(gument,)-.18 E F4(getopts) +3.385 E F0 .885(places that ar)3.385 F .885(gument into)-.18 F .566 +(the v)144 429.6 R(ariable)-.25 E F2(OPT)3.066 E(ARG)-.81 E F5(.)A F0 +.566(The shell does not reset)5.066 F F2(OPTIND)3.066 E F0 .567 (automatically; it must be manually reset)2.816 F .39 -(between multiple calls to)144 405.6 R F3(getopts)2.89 E F0 .39 +(between multiple calls to)144 441.6 R F4(getopts)2.89 E F0 .39 (within the same shell in)2.89 F -.2(vo)-.4 G .389(cation if a ne).2 F -2.889(ws)-.25 G .389(et of parameters is to)-2.889 F(be used.)144 417.6 -Q 2.043(When the end of options is encountered,)144 441.6 R F3(getopts) +2.889(ws)-.25 G .389(et of parameters is to)-2.889 F(be used.)144 453.6 +Q 2.043(When the end of options is encountered,)144 477.6 R F4(getopts) 4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044 -(alue greater than zero.)-.25 F F4(OPTIND)144 453.6 Q F0 +(alue greater than zero.)-.25 F F2(OPTIND)144 489.6 Q F0 (is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G (he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0 -(is set to ?.)2.5 E F3(getopts)144 477.6 Q F0 .485 +(is set to ?.)2.5 E F4(getopts)144 513.6 Q F0 .485 (normally parses the positional parameters, b)2.985 F .485 (ut if more ar)-.2 F .485(guments are supplied as)-.18 F F1(ar)3.315 E -(g)-.37 E F0 -.25(va)3.205 G(l-).25 E(ues,)144 489.6 Q F3(getopts)2.5 E -F0(parses those instead.)2.5 E F3(getopts)144 513.6 Q F0 .345 +(g)-.37 E F0 -.25(va)3.205 G(l-).25 E(ues,)144 525.6 Q F4(getopts)2.5 E +F0(parses those instead.)2.5 E F4(getopts)144 549.6 Q F0 .345 (can report errors in tw)2.845 F 2.845(ow)-.1 G 2.845(ays. If)-2.945 F .345(the \214rst character of)2.845 F F1(optstring)3.075 E F0 .345 (is a colon,)3.065 F F1(silent)3.185 E F0 .345(error re-)3.525 F 1.669 -(porting is used.)144 525.6 R 1.668 +(porting is used.)144 561.6 R 1.668 (In normal operation, diagnostic messages are printed when in)6.669 F -.25(va)-.4 G 1.668(lid options or).25 F .393(missing option ar)144 -537.6 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F -(ariable)-.25 E F4(OPTERR)2.894 E F0 .394 -(is set to 0, no error messages)2.644 F(will be displayed, e)144 549.6 Q +573.6 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F +(ariable)-.25 E F2(OPTERR)2.894 E F0 .394 +(is set to 0, no error messages)2.644 F(will be displayed, e)144 585.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E -F1(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 573.6 R --.25(va)-.4 G .667(lid option is seen,).25 F F3(getopts)3.167 E F0 .667 +F1(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 609.6 R +-.25(va)-.4 G .667(lid option is seen,).25 F F4(getopts)3.167 E F0 .667 (places ? into)3.167 F F1(name)3.527 E F0 .666 (and, if not silent, prints an error message)3.347 F .399(and unsets)144 -585.6 R F4(OPT)2.899 E(ARG)-.81 E F5(.)A F0(If)4.899 E F3(getopts)2.899 -E F0 .399(is silent, the option character found is placed in)2.899 F F4 +621.6 R F2(OPT)2.899 E(ARG)-.81 E F5(.)A F0(If)4.899 E F4(getopts)2.899 +E F0 .399(is silent, the option character found is placed in)2.899 F F2 (OPT)2.899 E(ARG)-.81 E F0 .4(and no)2.65 F -(diagnostic message is printed.)144 597.6 Q 1.242(If a required ar)144 -621.6 R 1.242(gument is not found, and)-.18 F F3(getopts)3.741 E F0 -1.241(is not silent, a question mark \()3.741 F F3(?).833 E F0 3.741 +(diagnostic message is printed.)144 633.6 Q 1.242(If a required ar)144 +657.6 R 1.242(gument is not found, and)-.18 F F4(getopts)3.741 E F0 +1.241(is not silent, a question mark \()3.741 F F4(?).833 E F0 3.741 (\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F F1(name)144.36 -633.6 Q F0(,).18 E F4(OPT)2.713 E(ARG)-.81 E F0 .213 -(is unset, and a diagnostic message is printed.)2.463 F(If)5.213 E F3 -(getopts)2.713 E F0 .213(is silent, then a colon \()2.713 F F3(:).833 E -F0(\)).833 E(is placed in)144 645.6 Q F1(name)2.86 E F0(and)2.68 E F4 -(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F3 -(getopts)144 669.6 Q F0 .902 +669.6 Q F0(,).18 E F2(OPT)2.713 E(ARG)-.81 E F0 .213 +(is unset, and a diagnostic message is printed.)2.463 F(If)5.213 E F4 +(getopts)2.713 E F0 .213(is silent, then a colon \()2.713 F F4(:).833 E +F0(\)).833 E(is placed in)144 681.6 Q F1(name)2.86 E F0(and)2.68 E F2 +(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F4 +(getopts)144 705.6 Q F0 .902 (returns true if an option, speci\214ed or unspeci\214ed, is found.) 3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F -(options is encountered or an error occurs.)144 681.6 Q F3(hash)108 -698.4 Q F0([)2.5 E F3(\255lr)A F0 2.5(][)C F3-2.5 E F1(\214lename) -2.5 E F0 2.5(][)C F3(\255dt)-2.5 E F0 2.5(][)C F1(name)-2.5 E F0(])A -.858(Each time)144 710.4 R F3(hash)3.358 E F0 .858(is in)3.358 F -.2(vo) --.4 G -.1(ke).2 G .858(d, the full pathname of the command).1 F F1(name) -3.718 E F0 .858(is determined by searching)3.538 F .956 -(the directories in)144 722.4 R F3($P)3.456 E -.95(AT)-.74 G(H).95 E F0 -.956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956 -(viously-remembered pathname is discarded.)-.25 F(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(64)190.395 E 0 Cg EP +(options is encountered or an error occurs.)144 717.6 Q(GNU Bash 5.0)72 +768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(64)185.545 E 0 Cg +EP %%Page: 65 65 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .242(If the)144 84 -R/F1 10/Times-Bold@0 SF2.742 E F0 .243 -(option is supplied, no path search is performed, and)2.742 F/F2 10 -/Times-Italic@0 SF(\214lename)4.653 E F0 .243 -(is used as the full \214lename)2.923 F .615(of the command.)144 96 R -(The)5.615 E F13.115 E F0 .615(option causes the shell to for) -3.115 F .615(get all remembered locations.)-.18 F(The)5.615 E F1 -3.115 E F0(op-)3.115 E .293(tion causes the shell to for)144 108 R .293 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 +SF(hash)108 84 Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1-2.5 E/F2 10 +/Times-Italic@0 SF(\214lename)2.5 E F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5 +(][)C F2(name)-2.5 E F0(])A .858(Each time)144 96 R F1(hash)3.358 E F0 +.858(is in)3.358 F -.2(vo)-.4 G -.1(ke).2 G .858 +(d, the full pathname of the command).1 F F2(name)3.718 E F0 .858 +(is determined by searching)3.538 F .956(the directories in)144 108 R F1 +($P)3.456 E -.95(AT)-.74 G(H).95 E F0 .956(and remembered.)3.456 F(An) +5.956 E 3.456(yp)-.15 G(re)-3.456 E .956 +(viously-remembered pathname is discarded.)-.25 F .242(If the)144 120 R +F12.742 E F0 .243 +(option is supplied, no path search is performed, and)2.742 F F2 +(\214lename)4.653 E F0 .243(is used as the full \214lename)2.923 F .615 +(of the command.)144 132 R(The)5.615 E F13.115 E F0 .615 +(option causes the shell to for)3.115 F .615 +(get all remembered locations.)-.18 F(The)5.615 E F13.115 E F0 +(op-)3.115 E .293(tion causes the shell to for)144 144 R .293 (get the remembered location of each)-.18 F F2(name)2.794 E F0 5.294(.I) C 2.794(ft)-5.294 G(he)-2.794 E F12.794 E F0 .294 (option is supplied,)2.794 F .028(the full pathname to which each)144 -120 R F2(name)2.528 E F0 .028(corresponds is printed.)2.528 F .028 +156 R F2(name)2.528 E F0 .028(corresponds is printed.)2.528 F .028 (If multiple)5.028 F F2(name)2.528 E F0(ar)2.528 E .028 -(guments are sup-)-.18 F .175(plied with)144 132 R F12.675 E F0 +(guments are sup-)-.18 F .175(plied with)144 168 R F12.675 E F0 2.675(,t)C(he)-2.675 E F2(name)2.675 E F0 .175 (is printed before the hashed full pathname.)2.675 F(The)5.175 E F1 2.676 E F0 .176(option causes output to)2.676 F .783 -(be displayed in a format that may be reused as input.)144 144 R .783 +(be displayed in a format that may be reused as input.)144 180 R .783 (If no ar)5.783 F .783(guments are gi)-.18 F -.15(ve)-.25 G .783 (n, or if only).15 F F13.283 E F0(is)3.283 E .807 -(supplied, information about remembered commands is printed.)144 156 R -.807(The return status is true unless a)5.807 F F2(name)144.36 168 Q F0 +(supplied, information about remembered commands is printed.)144 192 R +.807(The return status is true unless a)5.807 F F2(name)144.36 204 Q F0 (is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25 -E F1(help)108 184.8 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2(pattern) --2.5 E F0(])A .867(Display helpful information about b)144 196.8 R .867 +E F1(help)108 220.8 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2(pattern) +-2.5 E F0(])A .867(Display helpful information about b)144 232.8 R .867 (uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 .866 (is speci\214ed,)3.607 F F1(help)3.366 E F0(gi)3.366 E -.15(ve)-.25 G 3.366(sd).15 G(etailed)-3.366 E .223(help on all commands matching)144 -208.8 R F2(pattern)3.973 E F0 2.723(;o).24 G .223 +244.8 R F2(pattern)3.973 E F0 2.723(;o).24 G .223 (therwise help for all the b)-2.723 F .224 -(uiltins and shell control struc-)-.2 F(tures is printed.)144 220.8 Q F1 -144 232.8 Q F0(Display a short description of each)180 232.8 Q F2 -(pattern)2.5 E F1144 244.8 Q F0(Display the description of each) -180 244.8 Q F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G -(ormat)-2.5 E F1144 256.8 Q F0 -(Display only a short usage synopsis for each)180 256.8 Q F2(pattern)2.5 -E F0(The return status is 0 unless no command matches)144 273.6 Q F2 -(pattern)3.75 E F0(.).24 E F1(history [)108 290.4 Q F2(n)A F1(])A -(history \255c)108 302.4 Q(history \255d)108 314.4 Q F2(of)2.5 E(fset) --.18 E F1(history \255d)108 326.4 Q F2(start)2.5 E F0A F2(end)A F1 -(history \255anrw)108 338.4 Q F0([)2.5 E F2(\214lename)A F0(])A F1 -(history \255p)108 350.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5 -(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 362.4 Q F2(ar)2.5 E(g) +(uiltins and shell control struc-)-.2 F(tures is printed.)144 256.8 Q F1 +144 268.8 Q F0(Display a short description of each)180 268.8 Q F2 +(pattern)2.5 E F1144 280.8 Q F0(Display the description of each) +180 280.8 Q F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G +(ormat)-2.5 E F1144 292.8 Q F0 +(Display only a short usage synopsis for each)180 292.8 Q F2(pattern)2.5 +E F0(The return status is 0 unless no command matches)144 309.6 Q F2 +(pattern)3.75 E F0(.).24 E F1(history [)108 326.4 Q F2(n)A F1(])A +(history \255c)108 338.4 Q(history \255d)108 350.4 Q F2(of)2.5 E(fset) +-.18 E F1(history \255d)108 362.4 Q F2(start)2.5 E F0A F2(end)A F1 +(history \255anrw)108 374.4 Q F0([)2.5 E F2(\214lename)A F0(])A F1 +(history \255p)108 386.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5 +(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 398.4 Q F2(ar)2.5 E(g) -.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144 -374.4 S .752 +410.4 S .752 (th no options, display the command history list with line numbers.).4 F .752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2 -G .38(been modi\214ed.)144 386.4 R .38(An ar)5.38 F .38(gument of)-.18 F +G .38(been modi\214ed.)144 422.4 R .38(An ar)5.38 F .38(gument of)-.18 F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88 (lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9 -/Times-Bold@0 SF(HISTTIMEFOR-)2.881 E(MA)144 398.4 Q(T)-.855 E F0 .265 +/Times-Bold@0 SF(HISTTIMEFOR-)2.881 E(MA)144 434.4 Q(T)-.855 E F0 .265 (is set and not null, it is used as a format string for)2.515 F F2 (strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019 -(ciated with each displayed history entry)144 410.4 R 6.019(.N)-.65 G +(ciated with each displayed history entry)144 446.4 R 6.019(.N)-.65 G 3.519(oi)-6.019 G(nterv)-3.519 E 1.019 (ening blank is printed between the formatted)-.15 F .176 -(time stamp and the history line.)144 422.4 R(If)5.176 E F2(\214lename) +(time stamp and the history line.)144 458.4 R(If)5.176 E F2(\214lename) 2.676 E F0 .176 (is supplied, it is used as the name of the history \214le; if)2.676 F -(not, the v)144 434.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.) +(not, the v)144 470.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.) 2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 446.4 Q F0 -(Clear the history list by deleting all the entries.)180 446.4 Q F1 -144 458.4 Q F2(of)2.5 E(fset)-.18 E F0 .389 -(Delete the history entry at position)180 470.4 R F2(of)2.889 E(fset) +(wing meanings:)-.25 E F1144 482.4 Q F0 +(Clear the history list by deleting all the entries.)180 482.4 Q F1 +144 494.4 Q F2(of)2.5 E(fset)-.18 E F0 .389 +(Delete the history entry at position)180 506.4 R F2(of)2.889 E(fset) -.18 E F0 5.389(.I)C(f)-5.389 E F2(of)2.889 E(fset)-.18 E F0 .389(is ne) 2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.89(,i).15 G 2.89(ti) -2.89 G 2.89(si)-2.89 G .39(nterpreted as relati)-2.89 F -.15(ve)-.25 G -.599(to one greater than the last history position, so ne)180 482.4 R +.599(to one greater than the last history position, so ne)180 518.4 R -.05(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .598 -(ndices count back from the end).15 F(of the history)180 494.4 Q 2.5(,a) +(ndices count back from the end).15 F(of the history)180 530.4 Q 2.5(,a) -.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G (efers to the current)-2.5 E F1(history -d)2.5 E F0(command.)2.5 E F1 -144 506.4 Q F2(start)2.5 E F0A F2(end)A F0 .757 -(Delete the history entries between positions)180 518.4 R F2(start)3.257 +144 542.4 Q F2(start)2.5 E F0A F2(end)A F0 .757 +(Delete the history entries between positions)180 554.4 R F2(start)3.257 E F0(and)3.258 E F2(end)3.258 E F0 3.258(,i)C(nclusi)-3.258 E -.15(ve) -.25 G 5.758(.P).15 G(ositi)-5.758 E 1.058 -.15(ve a)-.25 H .758(nd ne) -.15 F -.05(ga)-.15 G(-).05 E(ti)180 530.4 Q .3 -.15(ve v)-.25 H +.15 F -.05(ga)-.15 G(-).05 E(ti)180 566.4 Q .3 -.15(ve v)-.25 H (alues for)-.1 E F2(start)2.5 E F0(and)2.5 E F2(end)2.5 E F0 (are interpreted as described abo)2.5 E -.15(ve)-.15 G(.).15 E F1 -144 542.4 Q F0 .565(Append the `)180 542.4 R(`ne)-.74 E(w')-.25 E 3.065 +144 578.4 Q F0 .565(Append the `)180 578.4 R(`ne)-.74 E(w')-.25 E 3.065 ('h)-.74 G .564(istory lines to the history \214le.)-3.065 F .564 -(These are history lines entered since)5.564 F(the be)180 554.4 Q +(These are history lines entered since)5.564 F(the be)180 590.4 Q (ginning of the current)-.15 E F1(bash)2.5 E F0(session, b)2.5 E -(ut not already appended to the history \214le.)-.2 E F1144 566.4 +(ut not already appended to the history \214le.)-.2 E F1144 602.4 Q F0 .854(Read the history lines not already read from the history \214\ -le into the current history list.)180 566.4 R .773 -(These are lines appended to the history \214le since the be)180 578.4 R +le into the current history list.)180 602.4 R .773 +(These are lines appended to the history \214le since the be)180 614.4 R .772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E -(sion.)180 590.4 Q F1144 602.4 Q F0(Read the contents of the hist\ -ory \214le and append them to the current history list.)180 602.4 Q F1 -144 614.4 Q F0 -(Write the current history list to the history \214le, o)180 614.4 Q +(sion.)180 626.4 Q F1144 638.4 Q F0(Read the contents of the hist\ +ory \214le and append them to the current history list.)180 638.4 Q F1 +144 650.4 Q F0 +(Write the current history list to the history \214le, o)180 650.4 Q -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G -(ontents.)-2.5 E F1144 626.4 Q F0 .625 -(Perform history substitution on the follo)180 626.4 R(wing)-.25 E F2 +(ontents.)-2.5 E F1144 662.4 Q F0 .625 +(Perform history substitution on the follo)180 662.4 R(wing)-.25 E F2 (ar)3.125 E(gs)-.37 E F0 .626(and display the result on the standard) -3.125 F 2.975(output. Does)180 638.4 R .475 +3.125 F 2.975(output. Does)180 674.4 R .475 (not store the results in the history list.)2.975 F(Each)5.475 E F2(ar) 2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F -(normal history e)180 650.4 Q(xpansion.)-.15 E F1144 662.4 Q F0 -.362(Store the)180 662.4 R F2(ar)3.192 E(gs)-.37 E F0 .363 +(normal history e)180 686.4 Q(xpansion.)-.15 E F1144 698.4 Q F0 +.362(Store the)180 698.4 R F2(ar)3.192 E(gs)-.37 E F0 .363 (in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363 -(he last command in the history list is)-5.363 F(remo)180 674.4 Q -.15 +(he last command in the history list is)-5.363 F(remo)180 710.4 Q -.15 (ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0 -(are added.)2.77 E .146(If the)144 691.2 R F3(HISTTIMEFORMA)2.645 E(T) +(are added.)2.77 E .146(If the)144 727.2 R F3(HISTTIMEFORMA)2.645 E(T) -.855 E F0 -.25(va)2.395 G .145 (riable is set, the time stamp information associated with each history) -.25 F .668(entry is written to the history \214le, mark)144 703.2 R .669 -(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669 -(hen the history)-5.669 F .956(\214le is read, lines be)144 715.2 R .956 -(ginning with the history comment character follo)-.15 F .955 -(wed immediately by a digit)-.25 F 1.795 -(are interpreted as timestamps for the follo)144 727.2 R 1.795 -(wing history entry)-.25 F 6.795(.T)-.65 G 1.795(he return v)-6.795 F -1.796(alue is 0 unless an)-.25 F(GNU Bash 5.0)72 768 Q(2019 October 30) -141.235 E(65)190.395 E 0 Cg EP +.25 F(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 +E(65)185.545 E 0 Cg EP %%Page: 66 66 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(in)144 84 Q -.25 -(va)-.4 G .768(lid option is encountered, an error occurs while reading\ - or writing the history \214le, an in).25 F -.25(va)-.4 G(lid).25 E/F1 -10/Times-Italic@0 SF(of)144 96 Q(fset)-.18 E F0 1.031 -(is supplied as an ar)3.531 F 1.031(gument to)-.18 F/F2 10/Times-Bold@0 -SF3.531 E F0 3.531(,o)C 3.531(rt)-3.531 G 1.031(he history e) --3.531 F 1.031(xpansion supplied as an ar)-.15 F 1.032(gument to)-.18 F -F23.532 E F0 -.1(fa)144 108 S(ils.).1 E F2(jobs)108 124.8 Q F0([) -2.5 E F2(\255lnprs)A F0 2.5(][)C F1(jobspec)A F0(... ])2.5 E F2 -(jobs \255x)108 136.8 Q F1(command)2.5 E F0([)2.5 E F1(ar)2.5 E(gs)-.37 -E F0(... ])2.5 E(The \214rst form lists the acti)144 148.8 Q .3 -.15 -(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H -(he follo).15 E(wing meanings:)-.25 E F2144 160.8 Q F0 -(List process IDs in addition to the normal information.)180 160.8 Q F2 -144 172.8 Q F0 .194(Display information only about jobs that ha) -180 172.8 R .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 -F .193(as last noti-)-.1 F(\214ed of their status.)180 184.8 Q F2 -144 196.8 Q F0(List only the process ID of the job')180 196.8 Q 2.5(sp) --.55 G(rocess group leader)-2.5 E(.)-.55 E F2144 208.8 Q F0 -(Display only running jobs.)180 208.8 Q F2144 220.8 Q F0 -(Display only stopped jobs.)180 220.8 Q(If)144 237.6 Q F1(jobspec)4.553 -E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313 -(n, output is restricted to information about that job).15 F 5.314(.T) --.4 G .314(he return status is 0 unless)-5.314 F(an in)144 249.6 Q -.25 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .668 +(entry is written to the history \214le, mark)144 84 R .669 +(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669 +(hen the history)-5.669 F .956(\214le is read, lines be)144 96 R .956 +(ginning with the history comment character follo)-.15 F .955 +(wed immediately by a digit)-.25 F .832 +(are interpreted as timestamps for the follo)144 108 R .832 +(wing history entry)-.25 F 5.833(.T)-.65 G .833(he return v)-5.833 F +.833(alue is 0 unless an in-)-.25 F -.25(va)144 120 S .168(lid option i\ +s encountered, an error occurs while reading or writing the history \ +\214le, an in).25 F -.25(va)-.4 G(lid).25 E/F1 10/Times-Italic@0 SF(of) +2.668 E(f-)-.18 E(set)144 132 Q F0(is supplied as an ar)2.5 E(gument to) +-.18 E/F2 10/Times-Bold@0 SF2.5 E F0 2.5(,o)C 2.5(rt)-2.5 G +(he history e)-2.5 E(xpansion supplied as an ar)-.15 E(gument to)-.18 E +F22.5 E F0 -.1(fa)2.5 G(ils.).1 E F2(jobs)108 148.8 Q F0([)2.5 E +F2(\255lnprs)A F0 2.5(][)C F1(jobspec)A F0(... ])2.5 E F2(jobs \255x)108 +160.8 Q F1(command)2.5 E F0([)2.5 E F1(ar)2.5 E(gs)-.37 E F0(... ])2.5 E +(The \214rst form lists the acti)144 172.8 Q .3 -.15(ve j)-.25 H 2.5 +(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F2144 184.8 Q F0 +(List process IDs in addition to the normal information.)180 184.8 Q F2 +144 196.8 Q F0 .193(Display information only about jobs that ha) +180 196.8 R .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 +F .194(as last noti-)-.1 F(\214ed of their status.)180 208.8 Q F2 +144 220.8 Q F0(List only the process ID of the job')180 220.8 Q 2.5(sp) +-.55 G(rocess group leader)-2.5 E(.)-.55 E F2144 232.8 Q F0 +(Display only running jobs.)180 232.8 Q F2144 244.8 Q F0 +(Display only stopped jobs.)180 244.8 Q(If)144 261.6 Q F1(jobspec)4.554 +E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314 +(n, output is restricted to information about that job).15 F 5.313(.T) +-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 273.6 Q -.25 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 -E F1(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 266.4 R F2 -2.895 E F0 .394(option is supplied,)2.894 F F2(jobs)2.894 E F0 +E F1(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 290.4 R F2 +2.894 E F0 .394(option is supplied,)2.894 F F2(jobs)2.894 E F0 .394(replaces an)2.894 F(y)-.15 E F1(jobspec)4.634 E F0 .394(found in) -3.204 F F1(command)3.094 E F0(or)3.664 E F1(ar)3.224 E(gs)-.37 E F0 .394 -(with the corre-)3.164 F(sponding process group ID, and e)144 278.4 Q +3.204 F F1(command)3.094 E F0(or)3.664 E F1(ar)3.224 E(gs)-.37 E F0 .395 +(with the corre-)3.164 F(sponding process group ID, and e)144 302.4 Q -.15(xe)-.15 G(cutes).15 E F1(command)2.7 E F0(passing it)3.27 E F1(ar) 2.83 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 -E F2(kill)108 295.2 Q F0([)2.5 E F2A F1(sigspec)2.5 E F0(|)2.5 E +E F2(kill)108 319.2 Q F0([)2.5 E F2A F1(sigspec)2.5 E F0(|)2.5 E F22.5 E F1(signum)2.5 E F0(|)2.5 E F22.5 E F1(sigspec)A F0 2.5 (][)C F1(pid)-2.5 E F0(|)2.5 E F1(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F2 -(kill \255l)108 307.2 Q F0(|)A F2A F0([)2.5 E F1(sigspec)A F0(|) +(kill \255l)108 331.2 Q F0(|)A F2A F0([)2.5 E F1(sigspec)A F0(|) 2.5 E F1 -.2(ex)2.5 G(it_status).2 E F0(])A .017 -(Send the signal named by)144 319.2 R F1(sigspec)2.857 E F0(or)2.827 E +(Send the signal named by)144 343.2 R F1(sigspec)2.857 E F0(or)2.827 E F1(signum)2.857 E F0 .017(to the processes named by)2.837 F F1(pid)3.767 E F0(or)3.287 E F1(jobspec)4.257 E F0(.).31 E F1(sigspec)5.357 E F0(is) -2.828 E .319(either a case-insensiti)144 331.2 R .619 -.15(ve s)-.25 H -.319(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.819 E F0 -.318(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318 -(pre\214x\) or a signal)2.568 F(number;)144 343.2 Q F1(signum)3.267 E F0 +2.827 E .318(either a case-insensiti)144 355.2 R .618 -.15(ve s)-.25 H +.318(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0 +.319(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319 +(pre\214x\) or a signal)2.569 F(number;)144 367.2 Q F1(signum)3.268 E F0 .427(is a signal number)3.247 F 5.427(.I)-.55 G(f)-5.427 E F1(sigspec) 3.267 E F0 .427(is not present, then)3.237 F F3(SIGTERM)2.927 E F0 .427 -(is assumed.)2.677 F .428(An ar)5.427 F(-)-.2 E .314(gument of)144 355.2 -R F22.814 E F0 .314(lists the signal names.)2.814 F .314(If an) +(is assumed.)2.677 F .427(An ar)5.427 F(-)-.2 E .313(gument of)144 379.2 +R F22.813 E F0 .314(lists the signal names.)2.814 F .314(If an) 5.314 F 2.814(ya)-.15 G -.18(rg)-2.814 G .314(uments are supplied when) -.18 F F22.814 E F0 .314(is gi)2.814 F -.15(ve)-.25 G .313 -(n, the names of).15 F .119(the signals corresponding to the ar)144 -367.2 R .119(guments are listed, and the return status is 0.)-.18 F(The) -5.12 E F1 -.2(ex)2.62 G(it_status).2 E F0(ar)2.62 E(-)-.2 E .8 -(gument to)144 379.2 R F23.3 E F0 .8 -(is a number specifying either a signal number or the e)3.3 F .799 -(xit status of a process termi-)-.15 F .962(nated by a signal.)144 391.2 +.18 F F22.814 E F0 .314(is gi)2.814 F -.15(ve)-.25 G .314 +(n, the names of).15 F .12(the signals corresponding to the ar)144 391.2 +R .119(guments are listed, and the return status is 0.)-.18 F(The)5.119 +E F1 -.2(ex)2.619 G(it_status).2 E F0(ar)2.619 E(-)-.2 E .799(gument to) +144 403.2 R F23.299 E F0 .799 +(is a number specifying either a signal number or the e)3.299 F .8 +(xit status of a process termi-)-.15 F .963(nated by a signal.)144 415.2 R(The)5.962 E F23.462 E F0 .962(option is equi)3.462 F -.25(va) -.25 G .962(lent to).25 F F23.462 E F0(.)A F2(kill)5.962 E F0 .962 (returns true if at least one signal w)3.462 F(as)-.1 E -(successfully sent, or f)144 403.2 Q(alse if an error occurs or an in) --.1 E -.25(va)-.4 G(lid option is encountered.).25 E F2(let)108 420 Q F1 +(successfully sent, or f)144 427.2 Q(alse if an error occurs or an in) +-.1 E -.25(va)-.4 G(lid option is encountered.).25 E F2(let)108 444 Q F1 (ar)2.5 E(g)-.37 E F0([)2.5 E F1(ar)A(g)-.37 E F0(...])2.5 E(Each)144 -432 Q F1(ar)3.027 E(g)-.37 E F0 .197(is an arithmetic e)2.917 F .197 -(xpression to be e)-.15 F -.25(va)-.25 G .196(luated \(see).25 F F3 .196 -(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(abo) -2.446 E -.15(ve)-.15 G 2.696(\). If).15 F(the last)144 444 Q F1(ar)2.83 +456 Q F1(ar)3.026 E(g)-.37 E F0 .196(is an arithmetic e)2.916 F .197 +(xpression to be e)-.15 F -.25(va)-.25 G .197(luated \(see).25 F F3 .197 +(ARITHMETIC EV)2.697 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(abo) +2.447 E -.15(ve)-.15 G 2.697(\). If).15 F(the last)144 468 Q F1(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G(luates to 0,).25 E F2(let)2.5 E F0 -(returns 1; 0 is returned otherwise.)2.5 E F2(local)108 460.8 Q F0([)2.5 +(returns 1; 0 is returned otherwise.)2.5 E F2(local)108 484.8 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C -(.. | \255 ])-2.5 E -.15(Fo)144 472.8 S 2.541(re).15 G .041(ach ar) --2.541 F .042(gument, a local v)-.18 F .042(ariable named)-.25 F F1 +(.. | \255 ])-2.5 E -.15(Fo)144 496.8 S 2.542(re).15 G .042(ach ar) +-2.542 F .042(gument, a local v)-.18 F .042(ariable named)-.25 F F1 (name)2.902 E F0 .042(is created, and assigned)2.722 F F1(value)2.832 E -F0 5.042(.T).18 G(he)-5.042 E F1(option)2.542 E F0 .042(can be)2.542 F -(an)144 484.8 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653 -(he options accepted by)-3.153 F F2(declar)3.153 E(e)-.18 E F0 5.652(.W) -C(hen)-5.652 E F2(local)3.152 E F0 .652 +F0 5.042(.T).18 G(he)-5.042 E F1(option)2.542 E F0 .041(can be)2.541 F +(an)144 508.8 Q 3.152(yo)-.15 G 3.152(ft)-3.152 G .652 +(he options accepted by)-3.152 F F2(declar)3.152 E(e)-.18 E F0 5.652(.W) +C(hen)-5.652 E F2(local)3.152 E F0 .653 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144 -496.8 Q F1(name)3.281 E F0 .421(to ha)3.101 F .721 -.15(ve a v)-.2 H +520.8 Q F1(name)3.282 E F0 .422(to ha)3.102 F .722 -.15(ve a v)-.2 H .422(isible scope restricted to that function and its children.).15 F -(If)5.422 E F1(name)2.922 E F0 .422(is \255, the set)2.922 F .51 -(of shell options is made local to the function in which)144 508.8 R F2 -(local)3.009 E F0 .509(is in)3.009 F -.2(vo)-.4 G -.1(ke).2 G .509 -(d: shell options changed us-).1 F 1.17(ing the)144 520.8 R F2(set)3.67 -E F0 -.2(bu)3.67 G 1.171 -(iltin inside the function are restored to their original v).2 F 1.171 -(alues when the function re-)-.25 F 2.888(turns. W)144 532.8 R .388 -(ith no operands,)-.4 F F2(local)2.888 E F0 .388 +(If)5.421 E F1(name)2.921 E F0 .421(is \255, the set)2.921 F .509 +(of shell options is made local to the function in which)144 532.8 R F2 +(local)3.01 E F0 .51(is in)3.01 F -.2(vo)-.4 G -.1(ke).2 G .51 +(d: shell options changed us-).1 F 1.171(ing the)144 544.8 R F2(set) +3.671 E F0 -.2(bu)3.671 G 1.171 +(iltin inside the function are restored to their original v).2 F 1.17 +(alues when the function re-)-.25 F 2.887(turns. W)144 556.8 R .387 +(ith no operands,)-.4 F F2(local)2.887 E F0 .388 (writes a list of local v)2.888 F .388(ariables to the standard output.) --.25 F .387(It is an error)5.387 F .332(to use)144 544.8 R F2(local) -2.832 E F0 .332(when not within a function.)2.832 F .332 +-.25 F .388(It is an error)5.388 F .333(to use)144 568.8 R F2(local) +2.833 E F0 .332(when not within a function.)2.832 F .332 (The return status is 0 unless)5.332 F F2(local)2.832 E F0 .332 -(is used outside a func-)2.832 F(tion, an in)144 556.8 Q -.25(va)-.4 G +(is used outside a func-)2.832 F(tion, an in)144 580.8 Q -.25(va)-.4 G (lid).25 E F1(name)2.86 E F0(is supplied, or)2.68 E F1(name)2.5 E F0 -(is a readonly v)2.5 E(ariable.)-.25 E F2(logout)108 573.6 Q F0 -(Exit a login shell.)144 573.6 Q F2(map\214le)108 590.4 Q F0([)2.5 E F2 +(is a readonly v)2.5 E(ariable.)-.25 E F2(logout)108 597.6 Q F0 +(Exit a login shell.)144 597.6 Q F2(map\214le)108 614.4 Q F0([)2.5 E F2 A F1(delim)2.5 E F0 2.5(][)C F2-2.5 E F1(count)2.5 E F0 2.5 (][)C F2-2.5 E F1(origin)2.5 E F0 2.5(][)C F2-2.5 E F1 (count)2.5 E F0 2.5(][)C F2-2.5 E F0 2.5(][)C F2-2.5 E F1 (fd)2.5 E F0 2.5(][)C F2-2.5 E F1(callbac)2.5 E(k)-.2 E F0 2.5(][) C F2-2.5 E F1(quantum)2.5 E F0 2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0 -(])A F2 -.18(re)108 602.4 S(adarray).18 E F0([)2.5 E F2A F1(delim) +(])A F2 -.18(re)108 626.4 S(adarray).18 E F0([)2.5 E F2A F1(delim) 2.5 E F0 2.5(][)C F2-2.5 E F1(count)2.5 E F0 2.5(][)C F2-2.5 E F1(origin)2.5 E F0 2.5(][)C F2-2.5 E F1(count)2.5 E F0 2.5(][)C F2-2.5 E F0 2.5(][)C F2-2.5 E F1(fd)2.5 E F0 2.5(][)C F2 -2.5 E F1(callbac)2.5 E(k)-.2 E F0 2.5(][)C F2-2.5 E F1 -(quantum)2.5 E F0 2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0(])A .159 -(Read lines from the standard input into the inde)144 614.4 R -.15(xe) +(quantum)2.5 E F0 2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0(])A .158 +(Read lines from the standard input into the inde)144 638.4 R -.15(xe) -.15 G 2.659(da).15 G .159(rray v)-2.659 F(ariable)-.25 E F1(arr)2.989 E -(ay)-.15 E F0 2.659(,o).32 G 2.658(rf)-2.659 G .158 -(rom \214le descriptor)-2.658 F F1(fd)4.628 E F0 1.248(if the)144 626.4 -R F23.748 E F0 1.248(option is supplied.)3.748 F 1.249(The v)6.249 +(ay)-.15 E F0 2.659(,o).32 G 2.659(rf)-2.659 G .159 +(rom \214le descriptor)-2.659 F F1(fd)4.629 E F0 1.249(if the)144 650.4 +R F23.749 E F0 1.249(option is supplied.)3.749 F 1.249(The v)6.249 F(ariable)-.25 E F3(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 -E F1(arr)3.749 E(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,) --6.249 F(ha)144 638.4 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 650.4 Q F0 .911 -(The \214rst character of)180 650.4 R F1(delim)3.411 E F0 .911 -(is used to terminate each input line, rather than ne)3.411 F 3.41 -(wline. If)-.25 F F1(delim)180 662.4 Q F0(is the empty string,)2.5 E F2 +E F1(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,) +-6.248 F(ha)144 662.4 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F2144 674.4 Q F0 .91 +(The \214rst character of)180 674.4 R F1(delim)3.41 E F0 .911 +(is used to terminate each input line, rather than ne)3.41 F 3.411 +(wline. If)-.25 F F1(delim)180 686.4 Q F0(is the empty string,)2.5 E F2 (map\214le)2.5 E F0(will terminate a line when it reads a NUL character) -2.5 E(.)-.55 E F2144 674.4 Q F0(Cop)180 674.4 Q 2.5(ya)-.1 G 2.5 +2.5 E(.)-.55 E F2144 698.4 Q F0(Cop)180 698.4 Q 2.5(ya)-.1 G 2.5 (tm)-2.5 G(ost)-2.5 E F1(count)2.7 E F0 2.5(lines. If)3.18 F F1(count) -2.5 E F0(is 0, all lines are copied.)2.5 E F2144 686.4 Q F0(Be)180 -686.4 Q(gin assigning to)-.15 E F1(arr)2.83 E(ay)-.15 E F0(at inde)2.82 +2.5 E F0(is 0, all lines are copied.)2.5 E F2144 710.4 Q F0(Be)180 +710.4 Q(gin assigning to)-.15 E F1(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x)-.15 E F1(origin)2.73 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E -2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F2144 698.4 Q F0 -(Discard the \214rst)180 698.4 Q F1(count)2.5 E F0(lines read.)2.5 E F2 -144 710.4 Q F0(Remo)180 710.4 Q .3 -.15(ve a t)-.15 H(railing).15 -E F1(delim)2.5 E F0(\(def)2.5 E(ault ne)-.1 E -(wline\) from each line read.)-.25 E(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(66)190.395 E 0 Cg EP +2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E(GNU Bash 5.0)72 768 Q(2019 No) +136.385 E -.15(ve)-.15 G(mber 22).15 E(66)185.545 E 0 Cg EP %%Page: 67 67 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF144 84 Q F0(Read lines from \214le descriptor)180 84 Q/F2 10 -/Times-Italic@0 SF(fd)2.5 E F0(instead of the standard input.)2.5 E F1 -144 96 Q F0(Ev)180 96 Q(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0 -(each time)3.17 E F2(quantum)2.5 E F0(lines are read.)2.5 E(The)5 E F1 -2.5 E F0(option speci\214es)2.5 E F2(quantum)2.75 E F0(.).32 E F1 -144 108 Q F0 -(Specify the number of lines read between each call to)180 108 Q F2 -(callbac)2.7 E(k)-.2 E F0(.).67 E(If)144 124.8 Q F12.967 E F0 .467 +SF144 84 Q F0(Discard the \214rst)180 84 Q/F2 10/Times-Italic@0 SF +(count)2.5 E F0(lines read.)2.5 E F1144 96 Q F0(Remo)180 96 Q .3 +-.15(ve a t)-.15 H(railing).15 E F2(delim)2.5 E F0(\(def)2.5 E(ault ne) +-.1 E(wline\) from each line read.)-.25 E F1144 108 Q F0 +(Read lines from \214le descriptor)180 108 Q F2(fd)2.5 E F0 +(instead of the standard input.)2.5 E F1144 120 Q F0(Ev)180 120 Q +(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2(quantum) +2.5 E F0(lines are read.)2.5 E(The)5 E F12.5 E F0 +(option speci\214es)2.5 E F2(quantum)2.75 E F0(.).32 E F1144 132 Q +F0(Specify the number of lines read between each call to)180 132 Q F2 +(callbac)2.7 E(k)-.2 E F0(.).67 E(If)144 148.8 Q F12.968 E F0 .467 (is speci\214ed without)2.967 F F12.967 E F0 2.967(,t)C .467 (he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F2 (callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467 -(luated, it is sup-).25 F .262(plied the inde)144 136.8 R 2.762(xo)-.15 -G 2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be ass\ -igned and the line to be assigned to that element)-.15 F .274 -(as additional ar)144 148.8 R(guments.)-.18 E F2(callbac)5.274 E(k)-.2 E -F0 .274(is e)2.774 F -.25(va)-.25 G .274 -(luated after the line is read b).25 F .275 -(ut before the array element is)-.2 F(assigned.)144 160.8 Q -(If not supplied with an e)144 177.6 Q(xplicit origin,)-.15 E F1 +(luated, it is sup-).25 F .261(plied the inde)144 160.8 R 2.761(xo)-.15 +G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\ +igned and the line to be assigned to that element)-.15 F .275 +(as additional ar)144 172.8 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E +F0 .275(is e)2.775 F -.25(va)-.25 G .274 +(luated after the line is read b).25 F .274 +(ut before the array element is)-.2 F(assigned.)144 184.8 Q +(If not supplied with an e)144 201.6 Q(xplicit origin,)-.15 E F1 (map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0 -(before assigning to it.)2.5 E F1(map\214le)144 194.4 Q F0 .797 -(returns successfully unless an in)3.298 F -.25(va)-.4 G .797 +(before assigning to it.)2.5 E F1(map\214le)144 218.4 Q F0 .797 +(returns successfully unless an in)3.297 F -.25(va)-.4 G .797 (lid option or option ar).25 F .797(gument is supplied,)-.18 F F2(arr) -3.297 E(ay)-.15 E F0 .797(is in-)3.297 F -.25(va)144 206.4 S +3.297 E(ay)-.15 E F0 .798(is in-)3.298 F -.25(va)144 230.4 S (lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0 (is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E -F1(popd)108 223.2 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 -2.5(][)C-2.5 E F2(n)A F0(])A(Remo)144 235.2 Q -.15(ve)-.15 G 2.799 -(se).15 G .299(ntries from the directory stack.)-2.799 F -.4(Wi)5.299 G -.299(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 -G .3(he top directory from the)-2.799 F 1.479(stack, and performs a)144 -247.2 R F1(cd)3.979 E F0 1.479(to the ne)3.979 F 3.979(wt)-.25 G 1.479 -(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.478 -(uments, if supplied, ha).18 F 1.778 -.15(ve t)-.2 H 1.478(he follo).15 -F(wing)-.25 E(meanings:)144 259.2 Q F1144 271.2 Q F0 .551 -(Suppresses the normal change of directory when remo)180 271.2 R .551 +F1(popd)108 247.2 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 +2.5(][)C-2.5 E F2(n)A F0(])A(Remo)144 259.2 Q -.15(ve)-.15 G 2.8(se) +.15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299 +(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G +.299(he top directory from the)-2.799 F 1.478(stack, and performs a)144 +271.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479 +(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479 +(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15 +F(wing)-.25 E(meanings:)144 283.2 Q F1144 295.2 Q F0 .551 +(Suppresses the normal change of directory when remo)180 295.2 R .551 (ving directories from the stack, so)-.15 F -(that only the stack is manipulated.)180 283.2 Q F1(+)144 295.2 Q F2(n)A -F0(Remo)180 295.2 Q -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E +(that only the stack is manipulated.)180 307.2 Q F1(+)144 319.2 Q F2(n)A +F0(Remo)180 319.2 Q -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14(th entry counting from the left of the list sho)B .14(wn by)-.25 F F1(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 -307.2 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0 +331.2 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,) --.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1144 319.2 Q F2(n)A F0 -(Remo)180 319.2 Q -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F2(n)3.759 E -F0 1.259(th entry counting from the right of the list sho)B 1.26(wn by) --.25 F F1(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5 -(zero. F)180 331.2 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0 +-.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1144 343.2 Q F2(n)A F0 +(Remo)180 343.2 Q -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0 +1.259(th entry counting from the right of the list sho)B 1.259(wn by) +-.25 F F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5 +(zero. F)180 355.2 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 -E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .644(If the)144 -348 R F1(popd)3.144 E F0 .644(command is successful, a)3.144 F F1(dirs) -3.143 E F0 .643(is performed as well, and the return status is 0.)3.143 -F F1(popd)5.643 E F0 .415(returns f)144 360 R .415(alse if an in)-.1 F +E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 +372 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1(dirs) +3.143 E F0 .644(is performed as well, and the return status is 0.)3.143 +F F1(popd)5.644 E F0 .416(returns f)144 384 R .416(alse if an in)-.1 F -.25(va)-.4 G .415 -(lid option is encountered, the directory stack is empty).25 F 2.916 -(,an)-.65 G(on-e)-2.916 E .416(xistent direc-)-.15 F -(tory stack entry is speci\214ed, or the directory change f)144 372 Q -(ails.)-.1 E F1(printf)108 388.8 Q F0([)2.5 E F1A F2(var)2.5 E F0 -(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .358 -(Write the formatted)144 400.8 R F2(ar)2.858 E(guments)-.37 E F0 .358 -(to the standard output under the control of the)2.858 F F2(format)2.857 -E F0 5.357(.T)C(he)-5.357 E F12.857 E F0(op-)2.857 E .714 -(tion causes the output to be assigned to the v)144 412.8 R(ariable)-.25 +(lid option is encountered, the directory stack is empty).25 F 2.915 +(,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F +(tory stack entry is speci\214ed, or the directory change f)144 396 Q +(ails.)-.1 E F1(printf)108 412.8 Q F0([)2.5 E F1A F2(var)2.5 E F0 +(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .357 +(Write the formatted)144 424.8 R F2(ar)2.857 E(guments)-.37 E F0 .357 +(to the standard output under the control of the)2.857 F F2(format)2.858 +E F0 5.358(.T)C(he)-5.358 E F12.858 E F0(op-)2.858 E .714 +(tion causes the output to be assigned to the v)144 436.8 R(ariable)-.25 E F2(var)3.214 E F0 .714(rather than being printed to the standard)3.214 -F(output.)144 424.8 Q(The)144 448.8 Q F2(format)3.018 E F0 .517(is a ch\ +F(output.)144 448.8 Q(The)144 472.8 Q F2(format)3.017 E F0 .517(is a ch\ aracter string which contains three types of objects: plain characters,\ - which are)3.018 F .704(simply copied to standard output, character esc\ -ape sequences, which are con)144 460.8 R -.15(ve)-.4 G .704 + which are)3.017 F .704(simply copied to standard output, character esc\ +ape sequences, which are con)144 484.8 R -.15(ve)-.4 G .703 (rted and copied to).15 F .036(the standard output, and format speci\ -\214cations, each of which causes printing of the ne)144 472.8 R .036 -(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 484.8 Q(gument)-.37 E F0 -5.531(.I)C 3.031(na)-5.531 G .531(ddition to the standard)-3.031 F F2 -(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.032 -E F0 .532(interprets the follo)3.032 F(w-)-.25 E(ing e)144 496.8 Q -(xtensions:)-.15 E F1(%b)144 508.8 Q F0(causes)180 508.8 Q F1(printf) -2.596 E F0 .096(to e)2.596 F .096 +\214cations, each of which causes printing of the ne)144 496.8 R .037 +(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 508.8 Q(gument)-.37 E F0 +5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2 +(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031 +E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 520.8 Q +(xtensions:)-.15 E F1(%b)144 532.8 Q F0(causes)180 532.8 Q F1(printf) +2.595 E F0 .096(to e)2.595 F .096 (xpand backslash escape sequences in the corresponding)-.15 F F2(ar) -2.596 E(gument)-.37 E F0 .095(in the)2.595 F(same w)180 520.8 Q(ay as) --.1 E F1(echo \255e)2.5 E F0(.)A F1(%q)144 532.8 Q F0(causes)180 532.8 Q +2.596 E(gument)-.37 E F0 .096(in the)2.596 F(same w)180 544.8 Q(ay as) +-.1 E F1(echo \255e)2.5 E F0(.)A F1(%q)144 556.8 Q F0(causes)180 556.8 Q F1(printf)2.51 E F0 .01(to output the corresponding)2.51 F F2(ar)2.51 E (gument)-.37 E F0 .01(in a format that can be reused as shell)2.51 F -(input.)180 544.8 Q F1(%\()144 556.8 Q F2(datefmt)A F1(\)T)A F0(causes) -180 568.8 Q F1(printf)4.404 E F0 1.904 -(to output the date-time string resulting from using)4.404 F F2(datefmt) -4.404 E F0 1.903(as a format)4.404 F .38(string for)180 580.8 R F2 +(input.)180 568.8 Q F1(%\()144 580.8 Q F2(datefmt)A F1(\)T)A F0(causes) +180 592.8 Q F1(printf)4.403 E F0 1.904 +(to output the date-time string resulting from using)4.403 F F2(datefmt) +4.404 E F0 1.904(as a format)4.404 F .381(string for)180 604.8 R F2 (strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar) 2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381 -(ger representing the number)-.15 F .293(of seconds since the epoch.)180 -592.8 R -1 -.8(Tw o)5.293 H .293(special ar)3.593 F .293(gument v)-.18 F -.293(alues may be used: \2551 represents the)-.25 F .693 -(current time, and \2552 represents the time the shell w)180 604.8 R -.693(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.194(d. If).1 F .694(no ar) -3.194 F .694(gument is speci-)-.18 F .21(\214ed, con)180 616.8 R -.15 +(ger representing the number)-.15 F .292(of seconds since the epoch.)180 +616.8 R -1 -.8(Tw o)5.293 H .293(special ar)3.593 F .293(gument v)-.18 F +.293(alues may be used: \2551 represents the)-.25 F .694 +(current time, and \2552 represents the time the shell w)180 628.8 R +.693(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.193(d. If).1 F .693(no ar) +3.193 F .693(gument is speci-)-.18 F .21(\214ed, con)180 640.8 R -.15 (ve)-.4 G .21(rsion beha).15 F -.15(ve)-.2 G 2.71(sa).15 G 2.71(si)-2.71 G 2.71<66ad>-2.71 G 2.71(1h)-2.71 G .21(ad been gi)-2.71 F -.15(ve)-.25 G 2.71(n. This).15 F .21(is an e)2.71 F .21(xception to the usual)-.15 F -F1(printf)2.71 E F0(beha)180 628.8 Q(vior)-.2 E(.)-.55 E(Ar)144 645.6 Q -.463(guments to non-string format speci\214ers are treated as C constan\ -ts, e)-.18 F .464(xcept that a leading plus or)-.15 F 1.259 -(minus sign is allo)144 657.6 R 1.259 +F1(printf)2.71 E F0(beha)180 652.8 Q(vior)-.2 E(.)-.55 E(Ar)144 669.6 Q +.464(guments to non-string format speci\214ers are treated as C constan\ +ts, e)-.18 F .463(xcept that a leading plus or)-.15 F 1.258 +(minus sign is allo)144 681.6 R 1.259 (wed, and if the leading character is a single or double quote, the v) --.25 F 1.258(alue is the)-.25 F(ASCII v)144 669.6 Q(alue of the follo) --.25 E(wing character)-.25 E(.)-.55 E(The)144 686.4 Q F2(format)2.514 E -F0 .015(is reused as necessary to consume all of the)2.514 F F2(ar)2.515 -E(guments)-.37 E F0 5.015(.I)C 2.515(ft)-5.015 G(he)-2.515 E F2(format) -2.515 E F0 .015(requires more)2.515 F F2(ar)2.515 E(-)-.2 E(guments)144 -698.4 Q F0 .566(than are supplied, the e)3.066 F .566 +-.25 F 1.259(alue is the)-.25 F(ASCII v)144 693.6 Q(alue of the follo) +-.25 E(wing character)-.25 E(.)-.55 E(The)144 710.4 Q F2(format)2.515 E +F0 .015(is reused as necessary to consume all of the)2.515 F F2(ar)2.515 +E(guments)-.37 E F0 5.015(.I)C 2.514(ft)-5.015 G(he)-2.514 E F2(format) +2.514 E F0 .014(requires more)2.514 F F2(ar)2.514 E(-)-.2 E(guments)144 +722.4 Q F0 .565(than are supplied, the e)3.065 F .566 (xtra format speci\214cations beha)-.15 F .866 -.15(ve a)-.2 H 3.066(si) -.15 G 3.065(faz)-3.066 G .565(ero v)-3.065 F .565(alue or null string,) --.25 F(as appropriate, had been supplied.)144 710.4 Q(The return v)5 E -(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(67)190.395 E 0 Cg EP +.15 G 3.066(faz)-3.066 G .566(ero v)-3.066 F .566(alue or null string,) +-.25 F(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22) +.15 E(67)185.545 E 0 Cg EP %%Page: 68 68 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF(pushd)108 84 Q F0([)2.5 E F1A F0 2.5(][)C(+)-2.5 E/F2 10 -/Times-Italic@0 SF(n)A F0 2.5(][)C-2.5 E F2(n)A F0(])A F1(pushd)108 -96 Q F0([)2.5 E F1A F0 2.5(][)C F2(dir)-2.5 E F0(])A .639(Adds a \ -directory to the top of the directory stack, or rotates the stack, maki\ -ng the ne)144 108 R 3.14(wt)-.25 G .64(op of the)-3.14 F .417 -(stack the current w)144 120 R .416(orking directory)-.1 F 5.416(.W)-.65 -G .416(ith no ar)-5.816 F(guments,)-.18 E F1(pushd)2.916 E F0 -.15(ex) -2.916 G .416(changes the top tw).15 F 2.916(od)-.1 G(irectories)-2.916 E -1.625(and returns 0, unless the directory stack is empty)144 132 R 6.625 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E +(as appropriate, had been supplied.)144 84 Q(The return v)5 E +(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E/F1 10 +/Times-Bold@0 SF(pushd)108 100.8 Q F0([)2.5 E F1A F0 2.5(][)C(+) +-2.5 E/F2 10/Times-Italic@0 SF(n)A F0 2.5(][)C-2.5 E F2(n)A F0(])A +F1(pushd)108 112.8 Q F0([)2.5 E F1A F0 2.5(][)C F2(dir)-2.5 E F0 +(])A .64(Adds a directory to the top of the directory stack, or rotates\ + the stack, making the ne)144 124.8 R 3.139(wt)-.25 G .639(op of the) +-3.139 F .416(stack the current w)144 136.8 R .416(orking directory)-.1 +F 5.416(.W)-.65 G .416(ith no ar)-5.816 F(guments,)-.18 E F1(pushd)2.916 +E F0 -.15(ex)2.916 G .416(changes the top tw).15 F 2.917(od)-.1 G +(irectories)-2.917 E 1.625 +(and returns 0, unless the directory stack is empty)144 148.8 R 6.625 (.A)-.65 G -.18(rg)-6.625 G 1.625(uments, if supplied, ha).18 F 1.925 --.15(ve t)-.2 H 1.625(he follo).15 F(wing)-.25 E(meanings:)144 144 Q F1 -144 156 Q F0 1.811(Suppresses the normal change of directory when\ - rotating or adding directories to the)180 156 R -(stack, so that only the stack is manipulated.)180 168 Q F1(+)144 180 Q -F2(n)A F0 1.267(Rotates the stack so that the)180 180 R F2(n)3.767 E F0 -1.268(th directory \(counting from the left of the list sho)B 1.268 -(wn by)-.25 F F1(dirs)180 192 Q F0 2.5(,s)C -(tarting with zero\) is at the top.)-2.5 E F1144 204 Q F2(n)A F0 .92 -(Rotates the stack so that the)180 204 R F2(n)3.42 E F0 .92 +-.15(ve t)-.2 H 1.625(he follo).15 F(wing)-.25 E(meanings:)144 160.8 Q +F1144 172.8 Q F0 1.811(Suppresses the normal change of directory \ +when rotating or adding directories to the)180 172.8 R +(stack, so that only the stack is manipulated.)180 184.8 Q F1(+)144 +196.8 Q F2(n)A F0 1.268(Rotates the stack so that the)180 196.8 R F2(n) +3.768 E F0 1.267(th directory \(counting from the left of the list sho)B +1.267(wn by)-.25 F F1(dirs)180 208.8 Q F0 2.5(,s)C +(tarting with zero\) is at the top.)-2.5 E F1144 220.8 Q F2(n)A F0 +.92(Rotates the stack so that the)180 220.8 R F2(n)3.42 E F0 .92 (th directory \(counting from the right of the list sho)B .92(wn by)-.25 -F F1(dirs)180 216 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5 -E F2(dir)144.35 228 Q F0(Adds)180 228 Q F2(dir)3.137 E F0 .287 -(to the directory stack at the top, making it the ne)3.517 F 2.788(wc) --.25 G .288(urrent w)-2.788 F .288(orking directory as)-.1 F -(if it had been supplied as the ar)180 240 Q(gument to the)-.18 E F1(cd) -2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .489(If the)144 256.8 R F1(pushd)2.989 -E F0 .489(command is successful, a)2.989 F F1(dirs)2.988 E F0 .488 -(is performed as well.)2.988 F .488(If the \214rst form is used,)5.488 F -F1(pushd)2.988 E F0 1.039(returns 0 unless the cd to)144 268.8 R F2(dir) -3.889 E F0 -.1(fa)4.269 G 3.539(ils. W).1 F 1.039(ith the second form,) --.4 F F1(pushd)3.54 E F0 1.04(returns 0 unless the directory)3.54 F .847 -(stack is empty)144 280.8 R 3.347(,an)-.65 G(on-e)-3.347 E .847(xistent\ +F F1(dirs)180 232.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.) +-2.5 E F2(dir)144.35 244.8 Q F0(Adds)180 244.8 Q F2(dir)3.138 E F0 .288 +(to the directory stack at the top, making it the ne)3.518 F 2.787(wc) +-.25 G .287(urrent w)-2.787 F .287(orking directory as)-.1 F +(if it had been supplied as the ar)180 256.8 Q(gument to the)-.18 E F1 +(cd)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 273.6 R F1(pushd) +2.988 E F0 .488(command is successful, a)2.988 F F1(dirs)2.988 E F0 .488 +(is performed as well.)2.988 F .489(If the \214rst form is used,)5.488 F +F1(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 285.6 R F2(dir) +3.89 E F0 -.1(fa)4.27 G 3.539(ils. W).1 F 1.039(ith the second form,)-.4 +F F1(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846 +(stack is empty)144 297.6 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent\ directory stack element is speci\214ed, or the directory change to the) --.15 F(speci\214ed ne)144 292.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5 -E(ails.)-.1 E F1(pwd)108 309.6 Q F0([)2.5 E F1(\255LP)A F0(])A .844 -(Print the absolute pathname of the current w)144 321.6 R .845 -(orking directory)-.1 F 5.845(.T)-.65 G .845 -(he pathname printed contains no)-5.845 F .182(symbolic links if the)144 -333.6 R F12.681 E F0 .181(option is supplied or the)2.681 F F1 +-.15 F(speci\214ed ne)144 309.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 +E(ails.)-.1 E F1(pwd)108 326.4 Q F0([)2.5 E F1(\255LP)A F0(])A .845 +(Print the absolute pathname of the current w)144 338.4 R .845 +(orking directory)-.1 F 5.844(.T)-.65 G .844 +(he pathname printed contains no)-5.844 F .181(symbolic links if the)144 +350.4 R F12.681 E F0 .181(option is supplied or the)2.681 F F1 .181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1 -(set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263 -(enabled. If)144 345.6 R(the)3.263 E F13.263 E F0 .763 -(option is used, the pathname printed may contain symbolic links.)3.263 -F .764(The return)5.764 F .405(status is 0 unless an error occurs while\ - reading the name of the current directory or an in)144 357.6 R -.25(va) --.4 G .405(lid op-).25 F(tion is supplied.)144 369.6 Q F1 -.18(re)108 -386.4 S(ad).18 E F0([)3.816 E F1(\255ers)A F0 3.816(][)C F1-3.816 -E F2(aname)3.816 E F0 3.816(][)C F1-3.816 E F2(delim)3.816 E F0 -3.816(][)C F1-3.816 E F2(te)3.816 E(xt)-.2 E F0 3.816(][)C F1 --3.816 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.817(][)C F1 --3.817 E F2(nc)3.817 E(har)-.15 E(s)-.1 E F0 3.817(][)C F1-3.817 E -F2(pr)3.817 E(ompt)-.45 E F0 3.817(][)C F1-3.817 E F2(timeout) -3.817 E F0 3.817(][)C F1-3.817 E F2(fd)3.817 E F0(])A([)108 398.4 +(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264 +(enabled. If)144 362.4 R(the)3.264 E F13.264 E F0 .763 +(option is used, the pathname printed may contain symbolic links.)3.264 +F .763(The return)5.763 F .405(status is 0 unless an error occurs while\ + reading the name of the current directory or an in)144 374.4 R -.25(va) +-.4 G .405(lid op-).25 F(tion is supplied.)144 386.4 Q F1 -.18(re)108 +403.2 S(ad).18 E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1-3.817 +E F2(aname)3.817 E F0 3.817(][)C F1-3.817 E F2(delim)3.817 E F0 +3.817(][)C F1-3.817 E F2(te)3.817 E(xt)-.2 E F0 3.817(][)C F1 +-3.817 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1 +-3.816 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1-3.816 E +F2(pr)3.816 E(ompt)-.45 E F0 3.816(][)C F1-3.816 E F2(timeout) +3.816 E F0 3.816(][)C F1-3.816 E F2(fd)3.816 E F0(])A([)108 415.2 Q F2(name)A F0(...])2.5 E .516(One line is read from the standard input\ -, or from the \214le descriptor)144 410.4 R F2(fd)3.016 E F0 .516 -(supplied as an ar)3.016 F .516(gument to)-.18 F(the)144 422.4 Q F1 -2.935 E F0 .435(option, split into w)2.935 F .435 +, or from the \214le descriptor)144 427.2 R F2(fd)3.016 E F0 .516 +(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 439.2 Q F1 +2.936 E F0 .436(option, split into w)2.936 F .435 (ords as described abo)-.1 F .735 -.15(ve u)-.15 H(nder).15 E F1 -.75 -(Wo)2.935 G .435(rd Splitting).75 F F0 2.935(,a)C .436(nd the \214rst w) --2.935 F .436(ord is as-)-.1 F .376(signed to the \214rst)144 434.4 R F2 -(name)3.236 E F0 2.876(,t).18 G .376(he second w)-2.876 F .376 +(Wo)2.935 G .435(rd Splitting).75 F F0 2.935(,a)C .435(nd the \214rst w) +-2.935 F .435(ord is as-)-.1 F .375(signed to the \214rst)144 451.2 R F2 +(name)3.235 E F0 2.876(,t).18 G .376(he second w)-2.876 F .376 (ord to the second)-.1 F F2(name)3.236 E F0 2.876(,a).18 G .376 -(nd so on.)-2.876 F .375(If there are more w)5.376 F(ords)-.1 E .236 -(than names, the remaining w)144 446.4 R .237(ords and their interv)-.1 -F .237(ening delimiters are assigned to the last)-.15 F F2(name)3.097 E -F0 5.237(.I).18 G(f)-5.237 E .875(there are fe)144 458.4 R .875(wer w) +(nd so on.)-2.876 F .376(If there are more w)5.376 F(ords)-.1 E .237 +(than names, the remaining w)144 463.2 R .237(ords and their interv)-.1 +F .237(ening delimiters are assigned to the last)-.15 F F2(name)3.096 E +F0 5.236(.I).18 G(f)-5.236 E .874(there are fe)144 475.2 R .874(wer w) -.25 F .875(ords read from the input stream than names, the remaining n\ -ames are assigned)-.1 F .517(empty v)144 470.4 R 3.017(alues. The)-.25 F -.517(characters in)3.017 F/F3 9/Times-Bold@0 SF(IFS)3.017 E F0 .518 -(are used to split the line into w)2.767 F .518 -(ords using the same rules the)-.1 F .027(shell uses for e)144 482.4 R +ames are assigned)-.1 F .518(empty v)144 487.2 R 3.018(alues. The)-.25 F +.518(characters in)3.018 F/F3 9/Times-Bold@0 SF(IFS)3.018 E F0 .518 +(are used to split the line into w)2.768 F .517 +(ords using the same rules the)-.1 F .026(shell uses for e)144 499.2 R .026(xpansion \(described abo)-.15 F .326 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.526 G .026(rd Splitting).75 F F0 2.526(\). The)B .026 -(backslash character \()2.526 F F1(\\)A F0 2.526(\)m)C(ay)-2.526 E .488 -(be used to remo)144 494.4 R .788 -.15(ve a)-.15 H .788 -.15(ny s).15 H +(backslash character \()2.526 F F1(\\)A F0 2.527(\)m)C(ay)-2.527 E .489 +(be used to remo)144 511.2 R .788 -.15(ve a)-.15 H .788 -.15(ny s).15 H .488(pecial meaning for the ne).15 F .488 -(xt character read and for line continuation.)-.15 F(Op-)5.489 E -(tions, if supplied, ha)144 506.4 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 518.4 Q F2(aname)2.5 E F0 1.026 -(The w)180 530.4 R 1.026 +(xt character read and for line continuation.)-.15 F(Op-)5.488 E +(tions, if supplied, ha)144 523.2 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1144 535.2 Q F2(aname)2.5 E F0 1.025 +(The w)180 547.2 R 1.026 (ords are assigned to sequential indices of the array v)-.1 F(ariable) --.25 E F2(aname)3.855 E F0 3.525(,s).18 G 1.025(tarting at 0.)-3.525 F -F2(aname)180.33 542.4 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 +-.25 E F2(aname)3.856 E F0 3.526(,s).18 G 1.026(tarting at 0.)-3.526 F +F2(aname)180.33 559.2 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0 -(ar)2.5 E(guments are ignored.)-.18 E F1144 554.4 Q F2(delim)2.5 E -F0 .28(The \214rst character of)180 566.4 R F2(delim)2.78 E F0 .281 -(is used to terminate the input line, rather than ne)2.78 F 2.781 -(wline. If)-.25 F F2(de-)2.781 E(lim)180 578.4 Q F0 -(is the empty string,)2.5 E F1 -.18(re)2.5 G(ad).18 E F0 +(ar)2.5 E(guments are ignored.)-.18 E F1144 571.2 Q F2(delim)2.5 E +F0 .281(The \214rst character of)180 583.2 R F2(delim)2.781 E F0 .281 +(is used to terminate the input line, rather than ne)2.781 F 2.78 +(wline. If)-.25 F F2(de-)2.78 E(lim)180 595.2 Q F0(is the empty string,) +2.5 E F1 -.18(re)2.5 G(ad).18 E F0 (will terminate a line when it reads a NUL character)2.5 E(.)-.55 E F1 -144 590.4 Q F0 .373 -(If the standard input is coming from a terminal,)180 590.4 R F1 -.18 -(re)2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.872 E F0(abo) -2.622 E -.15(ve)-.15 G 2.872(\)i).15 G 2.872(su)-2.872 G(sed)-2.872 E -.218(to obtain the line.)180 602.4 R .218 +144 607.2 Q F0 .372 +(If the standard input is coming from a terminal,)180 607.2 R F1 -.18 +(re)2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo) +2.623 E -.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E +.218(to obtain the line.)180 619.2 R .218 (Readline uses the current \(or def)5.218 F .218 (ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E -(acti)180 614.4 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)-2.5 E +(acti)180 631.2 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)-2.5 E (ut uses Readline')-.2 E 2.5(sd)-.55 G(ef)-2.5 E -(ault \214lename completion.)-.1 E F1144 626.4 Q F2(te)2.5 E(xt) --.2 E F0(If)180 626.4 Q F1 -.18(re)2.716 G(adline).18 E F0 .216 -(is being used to read the line,)2.716 F F2(te)2.716 E(xt)-.2 E F0 .216 -(is placed into the editing b)2.716 F(uf)-.2 E .215(fer before edit-) --.25 F(ing be)180 638.4 Q(gins.)-.15 E F1144 650.4 Q F2(nc)2.5 E -(har)-.15 E(s)-.1 E F1 -.18(re)180 662.4 S(ad).18 E F0 .322 -(returns after reading)2.822 F F2(nc)2.823 E(har)-.15 E(s)-.1 E F0 .323 +(ault \214lename completion.)-.1 E F1144 643.2 Q F2(te)2.5 E(xt) +-.2 E F0(If)180 643.2 Q F1 -.18(re)2.715 G(adline).18 E F0 .216 +(is being used to read the line,)2.715 F F2(te)2.716 E(xt)-.2 E F0 .216 +(is placed into the editing b)2.716 F(uf)-.2 E .216(fer before edit-) +-.25 F(ing be)180 655.2 Q(gins.)-.15 E F1144 667.2 Q F2(nc)2.5 E +(har)-.15 E(s)-.1 E F1 -.18(re)180 679.2 S(ad).18 E F0 .323 +(returns after reading)2.823 F F2(nc)2.823 E(har)-.15 E(s)-.1 E F0 .323 (characters rather than w)2.823 F .323 -(aiting for a complete line of in-)-.1 F(put, b)180 674.4 Q +(aiting for a complete line of in-)-.1 F(put, b)180 691.2 Q (ut honors a delimiter if fe)-.2 E(wer than)-.25 E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F1 -144 686.4 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 698.4 S -(ad).18 E F0 1.269(returns after reading e)3.77 F(xactly)-.15 E F2(nc) +144 703.2 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 715.2 S +(ad).18 E F0 1.269(returns after reading e)3.769 F(xactly)-.15 E F2(nc) 3.769 E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F -1.269(aiting for a complete)-.1 F .274 -(line of input, unless EOF is encountered or)180 710.4 R F1 -.18(re) -2.775 G(ad).18 E F0 .275(times out.)2.775 F .275 -(Delimiter characters encoun-)5.275 F 1.003 -(tered in the input are not treated specially and do not cause)180 722.4 -R F1 -.18(re)3.502 G(ad).18 E F0 1.002(to return until)3.502 F F2(nc) -3.502 E(har)-.15 E(s)-.1 E F0(GNU Bash 5.0)72 768 Q(2019 October 30) -141.235 E(68)190.395 E 0 Cg EP +1.27(aiting for a complete)-.1 F 3.19 +(line of input, unless EOF is encountered or)180 727.2 R F1 -.18(re)5.69 +G(ad).18 E F0 3.19(times out.)5.69 F 3.19(Delimiter characters)8.19 F +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(68)185.545 E 0 Cg EP %%Page: 69 69 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .608 -(characters are read.)180 84 R .608 -(The result is not split on the characters in)5.608 F/F1 10/Times-Bold@0 -SF(IFS)3.108 E F0 3.108(;t)C .609(he intent is that the)-3.108 F -.25 -(va)180 96 S .67(riable is assigned e).25 F .669 -(xactly the characters read \(with the e)-.15 F .669 -(xception of backslash; see the)-.15 F F1180 108 Q F0(option belo) -2.5 E(w\).)-.25 E F1144 120 Q/F2 10/Times-Italic@0 SF(pr)2.5 E -(ompt)-.45 E F0(Display)180 132 Q F2(pr)3.66 E(ompt)-.45 E F0 1.161 -(on standard error)3.66 F 3.661(,w)-.4 G 1.161(ithout a trailing ne) --3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 144 Q 2.5 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.109 +(encountered in the input are not treated specially and do not cause)180 +84 R/F1 10/Times-Bold@0 SF -.18(re)3.609 G(ad).18 E F0 1.109 +(to return until)3.609 F/F2 10/Times-Italic@0 SF(nc)180 96 Q(har)-.15 E +(s)-.1 E F0 .819(characters are read.)3.319 F .818 +(The result is not split on the characters in)5.818 F F1(IFS)3.318 E F0 +3.318(;t)C .818(he intent is)-3.318 F .497(that the v)180 108 R .497 +(ariable is assigned e)-.25 F .498 +(xactly the characters read \(with the e)-.15 F .498 +(xception of backslash;)-.15 F(see the)180 120 Q F12.5 E F0 +(option belo)2.5 E(w\).)-.25 E F1144 132 Q F2(pr)2.5 E(ompt)-.45 E +F0(Display)180 144 Q F2(pr)3.661 E(ompt)-.45 E F0 1.161 +(on standard error)3.661 F 3.661(,w)-.4 G 1.161(ithout a trailing ne) +-3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 156 Q 2.5 (yi)-.15 G 2.5(nput. The)-2.5 F (prompt is displayed only if input is coming from a terminal.)2.5 E F1 -144 156 Q F0 .544(Backslash does not act as an escape character) -180 156 R 5.543(.T)-.55 G .543(he backslash is considered to be part of) --5.543 F .492(the line.)180 168 R .492(In particular)5.492 F 2.992(,ab) --.4 G(ackslash-ne)-2.992 E .493 +144 168 Q F0 .543(Backslash does not act as an escape character) +180 168 R 5.543(.T)-.55 G .544(he backslash is considered to be part of) +-5.543 F .493(the line.)180 180 R .493(In particular)5.493 F 2.993(,ab) +-.4 G(ackslash-ne)-2.993 E .493 (wline pair may not then be used as a line continua-)-.25 F(tion.)180 -180 Q F1144 192 Q F0(Silent mode.)180 192 Q +192 Q F1144 204 Q F0(Silent mode.)180 204 Q (If input is coming from a terminal, characters are not echoed.)5 E F1 -144 204 Q F2(timeout)2.5 E F0(Cause)180 216 Q F1 -.18(re)2.929 G -(ad).18 E F0 .428(to time out and return f)2.929 F .428 -(ailure if a complete line of input \(or a speci\214ed num-)-.1 F .56 -(ber of characters\) is not read within)180 228 R F2(timeout)3.061 E F0 -(seconds.)3.061 E F2(timeout)5.561 E F0 .561(may be a decimal number) -3.061 F(with a fractional portion follo)180 240 Q +144 216 Q F2(timeout)2.5 E F0(Cause)180 228 Q F1 -.18(re)2.928 G +(ad).18 E F0 .428(to time out and return f)2.928 F .428 +(ailure if a complete line of input \(or a speci\214ed num-)-.1 F .561 +(ber of characters\) is not read within)180 240 R F2(timeout)3.061 E F0 +(seconds.)3.061 E F2(timeout)5.561 E F0 .56(may be a decimal number) +3.061 F(with a fractional portion follo)180 252 Q (wing the decimal point.)-.25 E(This option is only ef)5 E(fecti)-.25 E .3 -.15(ve i)-.25 H(f).15 E F1 -.18(re)2.5 G(ad).18 E F0 .506(is readin\ g input from a terminal, pipe, or other special \214le; it has no ef)180 -252 R .506(fect when reading)-.25 F .59(from re)180 264 R .59 -(gular \214les.)-.15 F(If)5.59 E F1 -.18(re)3.09 G(ad).18 E F0 .589 -(times out,)3.09 F F1 -.18(re)3.089 G(ad).18 E F0(sa)3.089 E -.15(ve)-.2 -G 3.089(sa).15 G .889 -.15(ny p)-3.089 H .589 -(artial input read into the speci\214ed).15 F -.25(va)180 276 S(riable) +264 R .505(fect when reading)-.25 F .589(from re)180 276 R .589 +(gular \214les.)-.15 F(If)5.589 E F1 -.18(re)3.089 G(ad).18 E F0 .589 +(times out,)3.089 F F1 -.18(re)3.089 G(ad).18 E F0(sa)3.089 E -.15(ve) +-.2 G 3.089(sa).15 G .889 -.15(ny p)-3.089 H .59 +(artial input read into the speci\214ed).15 F -.25(va)180 288 S(riable) .25 E F2(name)2.77 E F0 5.27(.I)C(f)-5.27 E F2(timeout)2.77 E F0 .27 (is 0,)2.77 F F1 -.18(re)2.77 G(ad).18 E F0 .27(returns immediately)2.77 F 2.77(,w)-.65 G .27(ithout trying to read an)-2.77 F 2.77(yd)-.15 G -(ata.)-2.77 E 1.12(The e)180 288 R 1.12(xit status is 0 if input is a) +(ata.)-2.77 E 1.12(The e)180 300 R 1.12(xit status is 0 if input is a) -.15 F -.25(va)-.2 G 1.12(ilable on the speci\214ed \214le descriptor) .25 F 3.62(,n)-.4 G 1.12(on-zero other)-3.62 F(-)-.2 E 2.5(wise. The)180 -300 R -.15(ex)2.5 G(it status is greater than 128 if the timeout is e) -.15 E(xceeded.)-.15 E F1144 312 Q F2(fd)2.5 E F0 -(Read input from \214le descriptor)180 312 Q F2(fd)2.5 E F0(.)A .476 -(If no)144 328.8 R F2(names)3.336 E F0 .476 -(are supplied, the line read is assigned to the v)3.246 F(ariable)-.25 E -/F3 9/Times-Bold@0 SF(REPL)2.977 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A -F0 .477(The e)4.977 F .477(xit status is zero,)-.15 F .773 -(unless end-of-\214le is encountered,)144 340.8 R F1 -.18(re)3.273 G(ad) -.18 E F0 .772 -(times out \(in which case the status is greater than 128\), a)3.273 F --.25(va)144 352.8 S .852 -(riable assignment error \(such as assigning to a readonly v).25 F .853 -(ariable\) occurs, or an in)-.25 F -.25(va)-.4 G .853(lid \214le de-).25 -F(scriptor is supplied as the ar)144 364.8 Q(gument to)-.18 E F1 -2.5 E F0(.)A F1 -.18(re)108 381.6 S(adonly).18 E F0([)2.5 E F1(\255aAf)A +312 R -.15(ex)2.5 G(it status is greater than 128 if the timeout is e) +.15 E(xceeded.)-.15 E F1144 324 Q F2(fd)2.5 E F0 +(Read input from \214le descriptor)180 324 Q F2(fd)2.5 E F0(.)A .477 +(If no)144 340.8 R F2(names)3.337 E F0 .477 +(are supplied, the line read is assigned to the v)3.247 F(ariable)-.25 E +/F3 9/Times-Bold@0 SF(REPL)2.976 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A +F0 .476(The e)4.976 F .476(xit status is zero,)-.15 F .772 +(unless end-of-\214le is encountered,)144 352.8 R F1 -.18(re)3.272 G(ad) +.18 E F0 .773 +(times out \(in which case the status is greater than 128\), a)3.272 F +-.25(va)144 364.8 S .853 +(riable assignment error \(such as assigning to a readonly v).25 F .852 +(ariable\) occurs, or an in)-.25 F -.25(va)-.4 G .852(lid \214le de-).25 +F(scriptor is supplied as the ar)144 376.8 Q(gument to)-.18 E F1 +2.5 E F0(.)A F1 -.18(re)108 393.6 S(adonly).18 E F0([)2.5 E F1(\255aAf)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A -(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 393.6 R -.15(ve)-.25 G +(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 405.6 R -.15(ve)-.25 G (n).15 E F2(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v) -.1 F .77(alues of these)-.25 F F2(names)3.63 E F0 .77 -(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 405.6 R -1.096(If the)6.096 F F13.596 E F0 1.097 -(option is supplied, the functions corresponding to the)3.596 F F2 -(names)3.597 E F0 1.097(are so)3.597 F(mark)144 417.6 Q 3.334(ed. The) +(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 417.6 R +1.097(If the)6.097 F F13.597 E F0 1.097 +(option is supplied, the functions corresponding to the)3.597 F F2 +(names)3.596 E F0 1.096(are so)3.596 F(mark)144 429.6 Q 3.334(ed. The) -.1 F F13.334 E F0 .834(option restricts the v)3.334 F .834 (ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the) -3.334 F F13.334 E F0 .834(option restricts the v)3.334 F(ari-) --.25 E .776(ables to associati)144 429.6 R 1.076 -.15(ve a)-.25 H 3.276 -(rrays. If).15 F .777(both options are supplied,)3.276 F F13.277 E -F0(tak)3.277 E .777(es precedence.)-.1 F .777(If no)5.777 F F2(name) -3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 441.6 R -.15(ve) +-.25 E .777(ables to associati)144 441.6 R 1.077 -.15(ve a)-.25 H 3.277 +(rrays. If).15 F .777(both options are supplied,)3.277 F F13.277 E +F0(tak)3.277 E .776(es precedence.)-.1 F .776(If no)5.776 F F2(name) +3.636 E F0(ar)3.456 E(gu-)-.18 E .521(ments are gi)144 453.6 R -.15(ve) -.25 G .521(n, or if the).15 F F13.021 E F0 .521 (option is supplied, a list of all readonly names is printed.)3.021 F -.521(The other)5.521 F .295(options may be used to restrict the output \ -to a subset of the set of readonly names.)144 453.6 R(The)5.296 E F1 -2.796 E F0(option)2.796 E .786 +.522(The other)5.521 F .295(options may be used to restrict the output \ +to a subset of the set of readonly names.)144 465.6 R(The)5.295 E F1 +2.795 E F0(option)2.795 E .786 (causes output to be displayed in a format that may be reused as input.) -144 465.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144 -477.6 Q .717(wed by =)-.25 F F2(wor)A(d)-.37 E F0 3.218(,t)C .718(he v) +144 477.6 R .786(If a v)5.786 F .786(ariable name is fol-)-.25 F(lo)144 +489.6 Q .718(wed by =)-.25 F F2(wor)A(d)-.37 E F0 3.218(,t)C .718(he v) -3.218 F .718(alue of the v)-.25 F .718(ariable is set to)-.25 F F2(wor) 3.218 E(d)-.37 E F0 5.718(.T)C .718(he return status is 0 unless an in) -5.718 F -.25(va)-.4 G(lid).25 E .26(option is encountered, one of the) -144 489.6 R F2(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v) +144 501.6 R F2(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v) -.25 F .26(ariable name, or)-.25 F F12.76 E F0 .26 -(is supplied with a)2.76 F F2(name)144.36 501.6 Q F0 -(that is not a function.)2.68 E F1 -.18(re)108 518.4 S(tur).18 E(n)-.15 -E F0([)2.5 E F2(n)A F0(])A .02(Causes a function to stop e)144 530.4 R --.15(xe)-.15 G .02(cuting and return the v).15 F .021 -(alue speci\214ed by)-.25 F F2(n)2.881 E F0 .021(to its caller)2.761 F -5.021(.I)-.55 G(f)-5.021 E F2(n)2.881 E F0 .021(is omitted,)2.761 F .597 -(the return status is that of the last command e)144 542.4 R -.15(xe) --.15 G .596(cuted in the function body).15 F 5.596(.I)-.65 G(f)-5.596 E -F1 -.18(re)3.096 G(tur).18 E(n)-.15 E F0 .596(is e)3.096 F -.15(xe)-.15 -G(cuted).15 E .267(by a trap handler)144 554.4 R 2.767(,t)-.4 G .267 +(is supplied with a)2.76 F F2(name)144.36 513.6 Q F0 +(that is not a function.)2.68 E F1 -.18(re)108 530.4 S(tur).18 E(n)-.15 +E F0([)2.5 E F2(n)A F0(])A .021(Causes a function to stop e)144 542.4 R +-.15(xe)-.15 G .021(cuting and return the v).15 F .021 +(alue speci\214ed by)-.25 F F2(n)2.88 E F0 .02(to its caller)2.76 F 5.02 +(.I)-.55 G(f)-5.02 E F2(n)2.88 E F0 .02(is omitted,)2.76 F .596 +(the return status is that of the last command e)144 554.4 R -.15(xe) +-.15 G .597(cuted in the function body).15 F 5.597(.I)-.65 G(f)-5.597 E +F1 -.18(re)3.097 G(tur).18 E(n)-.15 E F0 .597(is e)3.097 F -.15(xe)-.15 +G(cuted).15 E .267(by a trap handler)144 566.4 R 2.767(,t)-.4 G .267 (he last command used to determine the status is the last command e) --2.767 F -.15(xe)-.15 G .268(cuted be-).15 F .02(fore the trap handler) -144 566.4 R 5.02(.I)-.55 G(f)-5.02 E F1 -.18(re)2.52 G(tur).18 E(n)-.15 +-2.767 F -.15(xe)-.15 G .267(cuted be-).15 F .02(fore the trap handler) +144 578.4 R 5.02(.I)-.55 G(f)-5.02 E F1 -.18(re)2.52 G(tur).18 E(n)-.15 E F0 .02(is e)2.52 F -.15(xe)-.15 G .02(cuted during a).15 F F1(DEB)2.52 E(UG)-.1 E F0 .02(trap, the last command used to deter)2.52 F(-)-.2 E -.885(mine the status is the last command e)144 578.4 R -.15(xe)-.15 G -.886(cuted by the trap handler before).15 F F1 -.18(re)3.386 G(tur).18 E -(n)-.15 E F0 -.1(wa)3.386 G 3.386(si).1 G -1.9 -.4(nv o)-3.386 H -.1(ke) -.4 G 3.386(d. If).1 F F1 -.18(re)144 590.4 S(tur).18 E(n)-.15 E F0 .628 -(is used outside a function, b)3.128 F .628(ut during e)-.2 F -.15(xe) --.15 G .628(cution of a script by the).15 F F1(.)3.127 E F0(\()5.627 E -F1(sour)A(ce)-.18 E F0 3.127(\)c)C .627(ommand, it)-3.127 F .588 -(causes the shell to stop e)144 602.4 R -.15(xe)-.15 G .588 -(cuting that script and return either).15 F F2(n)3.448 E F0 .589 -(or the e)3.329 F .589(xit status of the last com-)-.15 F .326(mand e) -144 614.4 R -.15(xe)-.15 G .326(cuted within the script as the e).15 F -.326(xit status of the script.)-.15 F(If)5.326 E F2(n)2.826 E F0 .325 -(is supplied, the return v)2.826 F .325(alue is)-.25 F .444 -(its least signi\214cant 8 bits.)144 626.4 R .444 -(The return status is non-zero if)5.444 F F1 -.18(re)2.945 G(tur).18 E -(n)-.15 E F0 .445(is supplied a non-numeric ar)2.945 F(gu-)-.18 E .381 -(ment, or is used outside a function and not during e)144 638.4 R -.15 +.886(mine the status is the last command e)144 590.4 R -.15(xe)-.15 G +.886(cuted by the trap handler before).15 F F1 -.18(re)3.385 G(tur).18 E +(n)-.15 E F0 -.1(wa)3.385 G 3.385(si).1 G -1.9 -.4(nv o)-3.385 H -.1(ke) +.4 G 3.385(d. If).1 F F1 -.18(re)144 602.4 S(tur).18 E(n)-.15 E F0 .627 +(is used outside a function, b)3.127 F .628(ut during e)-.2 F -.15(xe) +-.15 G .628(cution of a script by the).15 F F1(.)3.128 E F0(\()5.628 E +F1(sour)A(ce)-.18 E F0 3.128(\)c)C .628(ommand, it)-3.128 F .589 +(causes the shell to stop e)144 614.4 R -.15(xe)-.15 G .589 +(cuting that script and return either).15 F F2(n)3.448 E F0 .588 +(or the e)3.328 F .588(xit status of the last com-)-.15 F .325(mand e) +144 626.4 R -.15(xe)-.15 G .325(cuted within the script as the e).15 F +.326(xit status of the script.)-.15 F(If)5.326 E F2(n)2.826 E F0 .326 +(is supplied, the return v)2.826 F .326(alue is)-.25 F .445 +(its least signi\214cant 8 bits.)144 638.4 R .444 +(The return status is non-zero if)5.445 F F1 -.18(re)2.944 G(tur).18 E +(n)-.15 E F0 .444(is supplied a non-numeric ar)2.944 F(gu-)-.18 E .381 +(ment, or is used outside a function and not during e)144 650.4 R -.15 (xe)-.15 G .381(cution of a script by).15 F F1(.)2.881 E F0(or)3.714 E -F1(sour)2.881 E(ce)-.18 E F0 5.38(.A)C .68 -.15(ny c)-5.38 H(om-).15 E -.749(mand associated with the)144 650.4 R F1(RETURN)3.249 E F0 .749 +F1(sour)2.881 E(ce)-.18 E F0 5.381(.A)C .681 -.15(ny c)-5.381 H(om-).15 +E .75(mand associated with the)144 662.4 R F1(RETURN)3.249 E F0 .749 (trap is e)3.249 F -.15(xe)-.15 G .749(cuted before e).15 F -.15(xe)-.15 -G .75(cution resumes after the function).15 F(or script.)144 662.4 Q F1 -(set)108 679.2 Q F0([)2.5 E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C +G .749(cution resumes after the function).15 F(or script.)144 674.4 Q F1 +(set)108 691.2 Q F0([)2.5 E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E -F0(...])2.5 E F1(set)108 691.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 +F0(...])2.5 E F1(set)108 703.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E -(g)-.37 E F0(...])2.5 E -.4(Wi)144 703.2 S .836 +(g)-.37 E F0(...])2.5 E -.4(Wi)144 715.2 S .835 (thout options, the name and v).4 F .835(alue of each shell v)-.25 F -.835(ariable are displayed in a format that can be)-.25 F .784 -(reused as input for setting or resetting the currently-set v)144 715.2 -R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784 -(riables cannot be).25 F 2.947(reset. In)144 727.2 R F2 .447(posix mode) -2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447 -(ariables are listed.)-.25 F .447 -(The output is sorted according to the current)5.447 F(GNU Bash 5.0)72 -768 Q(2019 October 30)141.235 E(69)190.395 E 0 Cg EP +.836(ariable are displayed in a format that can be)-.25 F .784 +(reused as input for setting or resetting the currently-set v)144 727.2 +R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783 +(riables cannot be).25 F(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15 +(ve)-.15 G(mber 22).15 E(69)185.545 E 0 Cg EP %%Page: 70 70 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 3.53(locale. When) -144 84 R 1.031(options are speci\214ed, the)3.53 F 3.531(ys)-.15 G 1.031 -(et or unset shell attrib)-3.531 F 3.531(utes. An)-.2 F 3.531(ya)-.15 G --.18(rg)-3.531 G 1.031(uments remaining).18 F .585 -(after option processing are treated as v)144 96 R .584 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 2.946(reset. In) +144 84 R/F1 10/Times-Italic@0 SF .447(posix mode)2.946 F F0 2.947(,o)C +.447(nly shell v)-2.947 F .447(ariables are listed.)-.25 F .447 +(The output is sorted according to the current)5.447 F 3.531 +(locale. When)144 96 R 1.031(options are speci\214ed, the)3.531 F 3.531 +(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)-.2 F +3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F .584 +(after option processing are treated as v)144 108 R .585 (alues for the positional parameters and are assigned, in or)-.25 F(-) --.2 E(der)144 108 Q 2.5(,t)-.4 G(o)-2.5 E/F1 10/Times-Bold@0 SF($1)2.5 E -F0(,)A F1($2)2.5 E F0(,)A F1 2.5(... $)2.5 F/F2 10/Times-Italic@0 SF(n)A -F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3 -.15(ve t)-.2 H(he follo) -.15 E(wing meanings:)-.25 E F1144 120 Q F0 1.377(Each v)184 120 R -1.377(ariable or function that is created or modi\214ed is gi)-.25 F --.15(ve)-.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.378(xport attrib) --.15 F 1.378(ute and)-.2 F(mark)184 132 Q(ed for e)-.1 E -(xport to the en)-.15 E(vironment of subsequent commands.)-.4 E F1 -144 144 Q F0 .132 -(Report the status of terminated background jobs immediately)184 144 R -2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E -(primary prompt.)184 156 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25 -H(nly when job control is enabled.).15 E F1144 168 Q F0 .087 -(Exit immediately if a)184 168 R F2(pipeline)2.587 E F0 .087 -(\(which may consist of a single)2.587 F F2 .088(simple command)2.588 F -F0 .088(\), a)B F2(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 180 Q F2 -1.521(compound command)4.021 F F0(\(see)4.021 E/F3 9/Times-Bold@0 SF -1.521(SHELL GRAMMAR)4.021 F F0(abo)3.771 E -.15(ve)-.15 G 1.521(\), e) -.15 F 1.521(xits with a non-zero status.)-.15 F .079 -(The shell does not e)184 192 R .079(xit if the command that f)-.15 F -.08(ails is part of the command list immediately)-.1 F(follo)184 204 Q -1.655(wing a)-.25 F F1(while)4.155 E F0(or)4.155 E F1(until)4.155 E F0 --.1(ke)4.155 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.654 -(wing the)-.25 F F1(if)4.154 E F0(or)4.154 E F1(elif)4.154 E F0(reserv) -4.154 E(ed)-.15 E -.1(wo)184 216 S .581(rds, part of an).1 F 3.081(yc) --.15 G .581(ommand e)-3.081 F -.15(xe)-.15 G .581(cuted in a).15 F F1 -(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .582(list e)3.082 F .582 -(xcept the command follo)-.15 F(wing)-.25 E .918(the \214nal)184 228 R -F1(&&)3.418 E F0(or)3.418 E F1(||)3.418 E F0 3.418(,a)C 1.218 -.15(ny c) --3.418 H .918(ommand in a pipeline b).15 F .917 -(ut the last, or if the command')-.2 F 3.417(sr)-.55 G(eturn)-3.417 E --.25(va)184 240 S .66(lue is being in).25 F -.15(ve)-.4 G .66(rted with) -.15 F F1(!)3.16 E F0 5.661(.I)C 3.161(fac)-5.661 G .661 -(ompound command other than a subshell returns a)-3.161 F 1.113 -(non-zero status because a command f)184 252 R 1.112(ailed while)-.1 F -F13.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.112 -(eing ignored, the shell does)-3.612 F .177(not e)184 264 R 2.677 -(xit. A)-.15 F .177(trap on)2.677 F F1(ERR)2.677 E F0 2.677(,i)C 2.678 -(fs)-2.677 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178 -(cuted before the shell e).15 F 2.678(xits. This)-.15 F .178 -(option applies to)2.678 F .618(the shell en)184 276 R .617 +-.2 E(der)144 120 Q 2.5(,t)-.4 G(o)-2.5 E/F2 10/Times-Bold@0 SF($1)2.5 E +F0(,)A F2($2)2.5 E F0(,)A F2 2.5(... $)2.5 F F1(n)A F0 5(.O)C +(ptions, if speci\214ed, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F2144 132 Q F0 1.378(Each v)184 132 R 1.377 +(ariable or function that is created or modi\214ed is gi)-.25 F -.15(ve) +-.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.377(xport attrib)-.15 F +1.377(ute and)-.2 F(mark)184 144 Q(ed for e)-.1 E(xport to the en)-.15 E +(vironment of subsequent commands.)-.4 E F2144 156 Q F0 .131 +(Report the status of terminated background jobs immediately)184 156 R +2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E +(primary prompt.)184 168 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25 +H(nly when job control is enabled.).15 E F2144 180 Q F0 .088 +(Exit immediately if a)184 180 R F1(pipeline)2.588 E F0 .087 +(\(which may consist of a single)2.588 F F1 .087(simple command)2.587 F +F0 .087(\), a)B F1(list)2.587 E F0 2.587(,o)C(r)-2.587 E(a)184 192 Q F1 +1.52(compound command)4.02 F F0(\(see)4.021 E/F3 9/Times-Bold@0 SF 1.521 +(SHELL GRAMMAR)4.021 F F0(abo)3.771 E -.15(ve)-.15 G 1.521(\), e).15 F +1.521(xits with a non-zero status.)-.15 F .08(The shell does not e)184 +204 R .079(xit if the command that f)-.15 F .079 +(ails is part of the command list immediately)-.1 F(follo)184 216 Q +1.654(wing a)-.25 F F2(while)4.154 E F0(or)4.154 E F2(until)4.154 E F0 +-.1(ke)4.154 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.655 +(wing the)-.25 F F2(if)4.155 E F0(or)4.155 E F2(elif)4.155 E F0(reserv) +4.155 E(ed)-.15 E -.1(wo)184 228 S .582(rds, part of an).1 F 3.082(yc) +-.15 G .582(ommand e)-3.082 F -.15(xe)-.15 G .581(cuted in a).15 F F2 +(&&)3.081 E F0(or)3.081 E F2(||)3.081 E F0 .581(list e)3.081 F .581 +(xcept the command follo)-.15 F(wing)-.25 E .917(the \214nal)184 240 R +F2(&&)3.417 E F0(or)3.417 E F2(||)3.417 E F0 3.417(,a)C 1.217 -.15(ny c) +-3.417 H .918(ommand in a pipeline b).15 F .918 +(ut the last, or if the command')-.2 F 3.418(sr)-.55 G(eturn)-3.418 E +-.25(va)184 252 S .661(lue is being in).25 F -.15(ve)-.4 G .661 +(rted with).15 F F2(!)3.161 E F0 5.661(.I)C 3.161(fac)-5.661 G .66 +(ompound command other than a subshell returns a)-3.161 F 1.112 +(non-zero status because a command f)184 264 R 1.112(ailed while)-.1 F +F23.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.113 +(eing ignored, the shell does)-3.612 F .178(not e)184 276 R 2.678 +(xit. A)-.15 F .178(trap on)2.678 F F2(ERR)2.678 E F0 2.678(,i)C 2.678 +(fs)-2.678 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178 +(cuted before the shell e).15 F 2.677(xits. This)-.15 F .177 +(option applies to)2.677 F .617(the shell en)184 288 R .617 (vironment and each subshell en)-.4 F .617(vironment separately \(see) --.4 F F3 .617(COMMAND EXE-)3.117 F .642(CUTION ENVIR)184 288 R(ONMENT) +-.4 F F3 .618(COMMAND EXE-)3.118 F .643(CUTION ENVIR)184 300 R(ONMENT) -.27 E F0(abo)2.893 E -.15(ve)-.15 G .643 (\), and may cause subshells to e).15 F .643(xit before e)-.15 F -.15 -(xe)-.15 G .643(cuting all).15 F(the commands in the subshell.)184 300 Q -.999(If a compound command or shell function e)184 318 R -.15(xe)-.15 G -.999(cutes in a conte).15 F .998(xt where)-.15 F F13.498 E F0 .998 -(is being ig-)3.498 F .089(nored, none of the commands e)184 330 R -.15 +(xe)-.15 G .642(cuting all).15 F(the commands in the subshell.)184 312 Q +.998(If a compound command or shell function e)184 330 R -.15(xe)-.15 G +.999(cutes in a conte).15 F .999(xt where)-.15 F F23.499 E F0 .999 +(is being ig-)3.499 F .089(nored, none of the commands e)184 342 R -.15 (xe)-.15 G .089(cuted within the compound command or function body).15 F -.503(will be af)184 342 R .503(fected by the)-.25 F F13.002 E F0 -.502(setting, e)3.002 F -.15(ve)-.25 G 3.002(ni).15 G(f)-3.002 E F1 -3.002 E F0 .502(is set and a command returns a f)3.002 F .502 -(ailure sta-)-.1 F 4.183(tus. If)184 354 R 4.183(ac)4.183 G 1.683 -(ompound command or shell function sets)-4.183 F F14.184 E F0 -1.684(while e)4.184 F -.15(xe)-.15 G 1.684(cuting in a conte).15 F(xt) --.15 E(where)184 366 Q F13.154 E F0 .654 -(is ignored, that setting will not ha)3.154 F .953 -.15(ve a)-.2 H .953 --.15(ny e).15 H -.25(ff).15 G .653(ect until the compound command).25 F -(or the command containing the function call completes.)184 378 Q F1 -144 390 Q F0(Disable pathname e)184 390 Q(xpansion.)-.15 E F1 -144 402 Q F0 .988(Remember the location of commands as the)184 402 +.502(will be af)184 354 R .502(fected by the)-.25 F F23.002 E F0 +.502(setting, e)3.002 F -.15(ve)-.25 G 3.002(ni).15 G(f)-3.002 E F2 +3.002 E F0 .502(is set and a command returns a f)3.002 F .503 +(ailure sta-)-.1 F 4.184(tus. If)184 366 R 4.184(ac)4.184 G 1.684 +(ompound command or shell function sets)-4.184 F F24.183 E F0 +1.683(while e)4.183 F -.15(xe)-.15 G 1.683(cuting in a conte).15 F(xt) +-.15 E(where)184 378 Q F23.153 E F0 .653 +(is ignored, that setting will not ha)3.153 F .954 -.15(ve a)-.2 H .954 +-.15(ny e).15 H -.25(ff).15 G .654(ect until the compound command).25 F +(or the command containing the function call completes.)184 390 Q F2 +144 402 Q F0(Disable pathname e)184 402 Q(xpansion.)-.15 E F2 +144 414 Q F0 .988(Remember the location of commands as the)184 414 R 3.488(ya)-.15 G .988(re look)-3.488 F .988(ed up for e)-.1 F -.15(xe) --.15 G 3.488(cution. This).15 F .988(is en-)3.488 F(abled by def)184 414 -Q(ault.)-.1 E F1144 426 Q F0 .514(All ar)184 426 R .514 +-.15 G 3.488(cution. This).15 F .987(is en-)3.487 F(abled by def)184 426 +Q(ault.)-.1 E F2144 438 Q F0 .513(All ar)184 438 R .514 (guments in the form of assignment statements are placed in the en)-.18 -F .513(vironment for a)-.4 F -(command, not just those that precede the command name.)184 438 Q F1 -144 450 Q F0 .148(Monitor mode.)184 450 R .148 -(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F -.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .651 -(on systems that support it \(see)184 462 R F3 .651(JOB CONTR)3.151 F -(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .65 -(processes run in a separate)3.151 F .678(process group.)184 474 R .679 +F .514(vironment for a)-.4 F +(command, not just those that precede the command name.)184 450 Q F2 +144 462 Q F0 .149(Monitor mode.)184 462 R .149 +(Job control is enabled.)5.149 F .148(This option is on by def)5.149 F +.148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .65 +(on systems that support it \(see)184 474 R F3 .651(JOB CONTR)3.151 F +(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .651 +(processes run in a separate)3.151 F .679(process group.)184 486 R .678 (When a background job completes, the shell prints a line containing it\ -s)5.678 F -.15(ex)184 486 S(it status.).15 E F1144 498 Q F0 .653 -(Read commands b)184 498 R .653(ut do not e)-.2 F -.15(xe)-.15 G .653 -(cute them.).15 F .652(This may be used to check a shell script for) -5.653 F(syntax errors.)184 510 Q(This is ignored by interacti)5 E .3 --.15(ve s)-.25 H(hells.).15 E F1144 522 Q F2(option\255name)2.5 E -F0(The)184 534 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5 -E(wing:)-.25 E F1(allexport)184 546 Q F0(Same as)224 558 Q F12.5 E -F0(.)A F1(braceexpand)184 570 Q F0(Same as)224 582 Q F12.5 E F0(.) -A F1(emacs)184 594 Q F0 .089 -(Use an emacs-style command line editing interf)224 594 R 2.589 +s)5.679 F -.15(ex)184 498 S(it status.).15 E F2144 510 Q F0 .652 +(Read commands b)184 510 R .652(ut do not e)-.2 F -.15(xe)-.15 G .652 +(cute them.).15 F .653(This may be used to check a shell script for) +5.652 F(syntax errors.)184 522 Q(This is ignored by interacti)5 E .3 +-.15(ve s)-.25 H(hells.).15 E F2144 534 Q F1(option\255name)2.5 E +F0(The)184 546 Q F1(option\255name)2.5 E F0(can be one of the follo)2.5 +E(wing:)-.25 E F2(allexport)184 558 Q F0(Same as)224 570 Q F22.5 E +F0(.)A F2(braceexpand)184 582 Q F0(Same as)224 594 Q F22.5 E F0(.) +A F2(emacs)184 606 Q F0 .089 +(Use an emacs-style command line editing interf)224 606 R 2.589 (ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95 -(when the shell is interacti)224 606 R -.15(ve)-.25 G 3.45(,u).15 G .95 -(nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E -F0 2.5(option. This)224 618 R(also af)2.5 E(fects the editing interf) --.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err) -184 630 Q(exit)-.18 E F0(Same as)224 630 Q F12.5 E F0(.)A F1 -(errtrace)184 642 Q F0(Same as)224 642 Q F12.5 E F0(.)A F1 -(functrace)184 654 Q F0(Same as)224 666 Q F12.5 E F0(.)A F1 -(hashall)184 678 Q F0(Same as)224 678 Q F12.5 E F0(.)A F1 -(histexpand)184 690 Q F0(Same as)224 702 Q F12.5 E F0(.)A F1 -(history)184 714 Q F0 .586(Enable command history)224 714 R 3.087(,a) --.65 G 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 -H(nder).15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF -(.)A F0 .587(This option is)5.087 F(on by def)224 726 Q -(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E(GNU Bash 5.0) -72 768 Q(2019 October 30)141.235 E(70)190.395 E 0 Cg EP +(when the shell is interacti)224 618 R -.15(ve)-.25 G 3.45(,u).15 G .95 +(nless the shell is started with the)-3.45 F F2(\255\255noediting)3.45 E +F0 2.5(option. This)224 630 R(also af)2.5 E(fects the editing interf) +-.25 E(ace used for)-.1 E F2 -.18(re)2.5 G(ad \255e).18 E F0(.)A F2(err) +184 642 Q(exit)-.18 E F0(Same as)224 642 Q F22.5 E F0(.)A F2 +(errtrace)184 654 Q F0(Same as)224 654 Q F22.5 E F0(.)A F2 +(functrace)184 666 Q F0(Same as)224 678 Q F22.5 E F0(.)A F2 +(hashall)184 690 Q F0(Same as)224 690 Q F22.5 E F0(.)A F2 +(histexpand)184 702 Q F0(Same as)224 714 Q F22.5 E F0(.)A +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(70)185.545 E 0 Cg EP %%Page: 71 71 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF(ignor)184 84 Q(eeof)-.18 E F0 1.657(The ef)224 96 R 1.657 -(fect is as if the shell command)-.25 F/F2 10/Courier@0 SF(IGNOREEOF=10) -4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted).15 E(\(see)224 -108 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).) -.15 E F1 -.1(ke)184 120 S(yw).1 E(ord)-.1 E F0(Same as)224 132 Q F1 -2.5 E F0(.)A F1(monitor)184 144 Q F0(Same as)224 144 Q F12.5 -E F0(.)A F1(noclob)184 156 Q(ber)-.1 E F0(Same as)224 168 Q F12.5 -E F0(.)A F1(noexec)184 180 Q F0(Same as)224 180 Q F12.5 E F0(.)A -F1(noglob)184 192 Q F0(Same as)224 192 Q F12.5 E F0(.)A F1(nolog) -184 204 Q F0(Currently ignored.)224 204 Q F1(notify)184 216 Q F0 -(Same as)224 216 Q F12.5 E F0(.)A F1(nounset)184 228 Q F0(Same as) -224 228 Q F12.5 E F0(.)A F1(onecmd)184 240 Q F0(Same as)224 240 Q -F12.5 E F0(.)A F1(ph)184 252 Q(ysical)-.15 E F0(Same as)224 252 Q -F12.5 E F0(.)A F1(pipefail)184 264 Q F0 1.029 -(If set, the return v)224 264 R 1.029(alue of a pipeline is the v)-.25 F -1.03(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 276 -R 1.136 +SF(history)184 84 Q F0 .587(Enable command history)224 84 R 3.087(,a) +-.65 G 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 +H(nder).15 E/F2 9/Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F3 9 +/Times-Roman@0 SF(.)A F0 .587(This option is)5.087 F(on by def)224 96 Q +(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 +108 Q(eeof)-.18 E F0 1.656(The ef)224 120 R 1.656 +(fect is as if the shell command)-.25 F/F4 10/Courier@0 SF(IGNOREEOF=10) +4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224 +132 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).) +.15 E F1 -.1(ke)184 144 S(yw).1 E(ord)-.1 E F0(Same as)224 156 Q F1 +2.5 E F0(.)A F1(monitor)184 168 Q F0(Same as)224 168 Q F12.5 +E F0(.)A F1(noclob)184 180 Q(ber)-.1 E F0(Same as)224 192 Q F12.5 +E F0(.)A F1(noexec)184 204 Q F0(Same as)224 204 Q F12.5 E F0(.)A +F1(noglob)184 216 Q F0(Same as)224 216 Q F12.5 E F0(.)A F1(nolog) +184 228 Q F0(Currently ignored.)224 228 Q F1(notify)184 240 Q F0 +(Same as)224 240 Q F12.5 E F0(.)A F1(nounset)184 252 Q F0(Same as) +224 252 Q F12.5 E F0(.)A F1(onecmd)184 264 Q F0(Same as)224 264 Q +F12.5 E F0(.)A F1(ph)184 276 Q(ysical)-.15 E F0(Same as)224 276 Q +F12.5 E F0(.)A F1(pipefail)184 288 Q F0 1.03(If set, the return v) +224 288 R 1.029(alue of a pipeline is the v)-.25 F 1.029 +(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 300 R +1.136 (xit with a non-zero status, or zero if all commands in the pipeline) --.15 F -.15(ex)224 288 S(it successfully).15 E 5(.T)-.65 G -(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 300 Q F0 -2.09(Change the beha)224 300 R 2.091(vior of)-.2 F F1(bash)4.591 E F0 +-.15 F -.15(ex)224 312 S(it successfully).15 E 5(.T)-.65 G +(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 324 Q F0 +2.091(Change the beha)224 324 R 2.091(vior of)-.2 F F1(bash)4.591 E F0 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091 (fers from the)-.25 F 1.212(POSIX standard to match the standard \()224 -312 R/F3 10/Times-Italic@0 SF 1.212(posix mode)B F0 3.712(\). See)B/F4 9 -/Times-Bold@0 SF 1.212(SEE ALSO)3.712 F F0(belo)3.462 E(w)-.25 E .954 -(for a reference to a document that details ho)224 324 R 3.455(wp)-.25 G -.955(osix mode af)-3.455 F .955(fects bash')-.25 F 3.455(sb)-.55 G(e-) --3.455 E(ha)224 336 Q(vior)-.2 E(.)-.55 E F1(pri)184 348 Q(vileged)-.1 E -F0(Same as)224 360 Q F12.5 E F0(.)A F1 -.1(ve)184 372 S(rbose).1 E -F0(Same as)224 372 Q F12.5 E F0(.)A F1(vi)184 384 Q F0 .209 -(Use a vi-style command line editing interf)224 384 R 2.709(ace. This) --.1 F .209(also af)2.709 F .209(fects the editing in-)-.25 F(terf)224 -396 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1 -(xtrace)184 408 Q F0(Same as)224 408 Q F12.5 E F0(.)A(If)184 426 Q -F13.052 E F0 .552(is supplied with no)3.052 F F3(option\255name) -3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553 -(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184 -438 Q F0 1.072(is supplied with no)3.572 F F3(option\255name)3.572 E F0 -3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071 -(commands to recreate the current)3.571 F -(option settings is displayed on the standard output.)184 450 Q F1 -144 462 Q F0 -.45(Tu)184 462 S 1.071(rn on).45 F F3(privile)4.821 E -.1 -(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F -F4($ENV)3.572 E F0(and)3.322 E F4($B)3.572 E(ASH_ENV)-.27 E F0 1.072 -(\214les are not pro-)3.322 F 1.501 -(cessed, shell functions are not inherited from the en)184 474 R 1.5 -(vironment, and the)-.4 F F4(SHELLOPTS)4 E/F5 9/Times-Roman@0 SF(,)A F4 --.27(BA)184 486 S(SHOPTS).27 E F5(,)A F4(CDP)2.774 E -.855(AT)-.666 G(H) -.855 E F5(,)A F0(and)2.774 E F4(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G -.524(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F -(vironment,)-.4 E .38(are ignored.)184 498 R .38 -(If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u) --.25 H .379(ser \(group\) id not equal to the real).15 F .461 -(user \(group\) id, and the)184 510 R F12.961 E F0 .461 -(option is not supplied, these actions are tak)2.961 F .462 -(en and the ef)-.1 F(fec-)-.25 E(ti)184 522 Q .695 -.15(ve u)-.25 H .395 +336 R/F5 10/Times-Italic@0 SF 1.212(posix mode)B F0 3.712(\). See)B F2 +1.212(SEE ALSO)3.712 F F0(belo)3.463 E(w)-.25 E .955 +(for a reference to a document that details ho)224 348 R 3.454(wp)-.25 G +.954(osix mode af)-3.454 F .954(fects bash')-.25 F 3.454(sb)-.55 G(e-) +-3.454 E(ha)224 360 Q(vior)-.2 E(.)-.55 E F1(pri)184 372 Q(vileged)-.1 E +F0(Same as)224 384 Q F12.5 E F0(.)A F1 -.1(ve)184 396 S(rbose).1 E +F0(Same as)224 396 Q F12.5 E F0(.)A F1(vi)184 408 Q F0 .209 +(Use a vi-style command line editing interf)224 408 R 2.709(ace. This) +-.1 F .209(also af)2.709 F .21(fects the editing in-)-.25 F(terf)224 420 +Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(xtrace) +184 432 Q F0(Same as)224 432 Q F12.5 E F0(.)A(If)184 450 Q F1 +3.053 E F0 .553(is supplied with no)3.053 F F5(option\255name) +3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552 +(alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184 +462 Q F0 1.071(is supplied with no)3.571 F F5(option\255name)3.571 E F0 +3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072 +(commands to recreate the current)3.572 F +(option settings is displayed on the standard output.)184 474 Q F1 +144 486 Q F0 -.45(Tu)184 486 S 1.072(rn on).45 F F5(privile)4.822 E -.1 +(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F +F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.071 +(\214les are not pro-)3.322 F 1.5 +(cessed, shell functions are not inherited from the en)184 498 R 1.501 +(vironment, and the)-.4 F F2(SHELLOPTS)4.001 E F3(,)A F2 -.27(BA)184 510 +S(SHOPTS).27 E F3(,)A F2(CDP)2.775 E -.855(AT)-.666 G(H).855 E F3(,)A F0 +(and)2.775 E F2(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G .524 +(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F +(vironment,)-.4 E .379(are ignored.)184 522 R .379 +(If the shell is started with the ef)5.379 F(fecti)-.25 E .679 -.15 +(ve u)-.25 H .38(ser \(group\) id not equal to the real).15 F .462 +(user \(group\) id, and the)184 534 R F12.961 E F0 .461 +(option is not supplied, these actions are tak)2.961 F .461 +(en and the ef)-.1 F(fec-)-.25 E(ti)184 546 Q .694 -.15(ve u)-.25 H .394 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1 -2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25 -E -.15(ve)-.25 G .386(user id is not reset.)184 534 R -.45(Tu)5.386 G -.386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886 -F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F -(set to the real user and group ids.)184 546 Q F1144 558 Q F0 -(Exit after reading and e)184 558 Q -.15(xe)-.15 G(cuting one command.) -.15 E F1144 570 Q F0 -.35(Tr)184 570 S .044(eat unset v).35 F .044 +2.895 E F0 .395(option is supplied at startup, the ef)2.895 F(fecti)-.25 +E -.15(ve)-.25 G .387(user id is not reset.)184 558 R -.45(Tu)5.387 G +.387(rning this option of).45 F 2.886(fc)-.25 G .386(auses the ef)-2.886 +F(fecti)-.25 E .686 -.15(ve u)-.25 H .386(ser and group ids to be).15 F +(set to the real user and group ids.)184 570 Q F1144 582 Q F0 +(Exit after reading and e)184 582 Q -.15(xe)-.15 G(cuting one command.) +.15 E F1144 594 Q F0 -.35(Tr)184 594 S .043(eat unset v).35 F .044 (ariables and parameters other than the special parameters "@" and "*" \ -as an)-.25 F .182(error when performing parameter e)184 582 R 2.682 -(xpansion. If)-.15 F -.15(ex)2.682 G .183 +as an)-.25 F .183(error when performing parameter e)184 606 R 2.683 +(xpansion. If)-.15 F -.15(ex)2.683 G .182 (pansion is attempted on an unset v).15 F(ari-)-.25 E .746 -(able or parameter)184 594 R 3.246(,t)-.4 G .746 +(able or parameter)184 618 R 3.246(,t)-.4 G .746 (he shell prints an error message, and, if not interacti)-3.246 F -.15 (ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184 -606 Q F1144 618 Q F0(Print shell input lines as the)184 618 Q 2.5 -(ya)-.15 G(re read.)-2.5 E F1144 630 Q F0 .315(After e)184 630 R -.315(xpanding each)-.15 F F3 .315(simple command)2.815 F F0(,)A F1 -.25 +630 Q F1144 642 Q F0(Print shell input lines as the)184 642 Q 2.5 +(ya)-.15 G(re read.)-2.5 E F1144 654 Q F0 .315(After e)184 654 R +.315(xpanding each)-.15 F F5 .315(simple command)2.815 F F0(,)A F1 -.25 (fo)2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,) -2.815 E F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 -642 R F1 -.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F -1.236(xpanded v)-.15 F 1.236(alue of)-.25 F F4(PS4)3.736 E F5(,)A F0 -(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 654 Q +2.815 E F1(select)2.815 E F0(command,)2.815 E 1.235(or arithmetic)184 +666 R F1 -.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F +1.236(xpanded v)-.15 F 1.236(alue of)-.25 F F2(PS4)3.736 E F3(,)A F0 +(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 678 Q (xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1 -144 666 Q F0 1.205(The shell performs brace e)184 666 R 1.205 +144 690 Q F0 1.206(The shell performs brace e)184 690 R 1.206 (xpansion \(see)-.15 F F1 1.205(Brace Expansion)3.705 F F0(abo)3.705 E --.15(ve)-.15 G 3.706(\). This).15 F 1.206(is on by de-)3.706 F -.1(fa) -184 678 S(ult.).1 E F1144 690 Q F0 .214(If set,)184 690 R F1(bash) -2.714 E F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F +-.15(ve)-.15 G 3.705(\). This).15 F 1.205(is on by de-)3.705 F -.1(fa) +184 702 S(ult.).1 E F1144 714 Q F0 .213(If set,)184 714 R F1(bash) +2.713 E F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0 -2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F -3.053(tors. This)184 702 R .553(may be o)3.053 F -.15(ve)-.15 G .553 -(rridden when creating output \214les by using the redirection opera-) -.15 F(tor)184 714 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(71)190.395 E 0 Cg EP +2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F +5.436(tors. This)184 726 R 2.936(may be o)5.436 F -.15(ve)-.15 G 2.936 +(rridden when creating output \214les by using the redirection).15 F +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(71)185.545 E 0 Cg EP %%Page: 72 72 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF144 84 Q F0 .104(If set, an)184 84 R 2.604(yt)-.15 G .104 -(rap on)-2.604 F F1(ERR)2.604 E F0 .103 -(is inherited by shell functions, command substitutions, and com-)2.604 -F .838(mands e)184 96 R -.15(xe)-.15 G .838(cuted in a subshell en).15 F -3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839 -(trap is normally not inherited in)3.339 F(such cases.)184 108 Q F1 -144 120 Q F0(Enable)184 120 Q F1(!)3.032 E F0 .532 -(style history substitution.)5.532 F .531(This option is on by def)5.532 -F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 132 Q -.15 -(ve)-.25 G(.).15 E F1144 144 Q F0 .959 -(If set, the shell does not resolv)184 144 R 3.459(es)-.15 G .959 -(ymbolic links when e)-3.459 F -.15(xe)-.15 G .96 -(cuting commands such as).15 F F1(cd)3.46 E F0 1.453 -(that change the current w)184 156 R 1.453(orking directory)-.1 F 6.453 -(.I)-.65 G 3.952(tu)-6.453 G 1.452(ses the ph)-3.952 F 1.452 -(ysical directory structure in-)-.05 F 3.334(stead. By)184 168 R(def) -3.334 E(ault,)-.1 E F1(bash)3.334 E F0(follo)3.334 E .834 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(operator)184 84 Q +/F1 10/Times-Bold@0 SF(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 +144 96 Q F0 .103(If set, an)184 96 R 2.603(yt)-.15 G .103(rap on) +-2.603 F F1(ERR)2.603 E F0 .104 +(is inherited by shell functions, command substitutions, and com-)2.603 +F .839(mands e)184 108 R -.15(xe)-.15 G .839(cuted in a subshell en).15 +F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838 +(trap is normally not inherited in)3.338 F(such cases.)184 120 Q F1 +144 132 Q F0(Enable)184 132 Q F1(!)3.031 E F0 .531 +(style history substitution.)5.531 F .531(This option is on by def)5.531 +F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 144 Q -.15 +(ve)-.25 G(.).15 E F1144 156 Q F0 .96 +(If set, the shell does not resolv)184 156 R 3.459(es)-.15 G .959 +(ymbolic links when e)-3.459 F -.15(xe)-.15 G .959 +(cuting commands such as).15 F F1(cd)3.459 E F0 1.452 +(that change the current w)184 168 R 1.452(orking directory)-.1 F 6.452 +(.I)-.65 G 3.953(tu)-6.452 G 1.453(ses the ph)-3.953 F 1.453 +(ysical directory structure in-)-.05 F 3.335(stead. By)184 180 R(def) +3.335 E(ault,)-.1 E F1(bash)3.334 E F0(follo)3.334 E .834 (ws the logical chain of directories when performing com-)-.25 F -(mands which change the current directory)184 180 Q(.)-.65 E F1144 -192 Q F0 .89(If set, an)184 192 R 3.39(yt)-.15 G .89(raps on)-3.39 F F1 +(mands which change the current directory)184 192 Q(.)-.65 E F1144 +204 Q F0 .89(If set, an)184 204 R 3.39(yt)-.15 G .89(raps on)-3.39 F F1 (DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89 (are inherited by shell functions, command)3.39 F 1.932 -(substitutions, and commands e)184 204 R -.15(xe)-.15 G 1.932 +(substitutions, and commands e)184 216 R -.15(xe)-.15 G 1.932 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E -(UG)-.1 E F0(and)4.432 E F1(RETURN)184 216 Q F0 -(traps are normally not inherited in such cases.)2.5 E F1144 228 Q -F0 .401(If no ar)184 228 R .401(guments follo)-.18 F 2.901(wt)-.25 G -.401(his option, then the positional parameters are unset.)-2.901 F -(Otherwise,)5.4 E(the positional parameters are set to the)184 240 Q/F2 -10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni) -.15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F12.5 E -F0(.)A F1144 252 Q F0 .796 -(Signal the end of options, cause all remaining)184 252 R F2(ar)3.297 E -(g)-.37 E F0 3.297(st)C 3.297(ob)-3.297 G 3.297(ea)-3.297 G .797 -(ssigned to the positional pa-)-3.297 F 3.022(rameters. The)184 264 R F1 -3.022 E F0(and)3.022 E F13.022 E F0 .522 +(UG)-.1 E F0(and)4.432 E F1(RETURN)184 228 Q F0 +(traps are normally not inherited in such cases.)2.5 E F1144 240 Q +F0 .4(If no ar)184 240 R .401(guments follo)-.18 F 2.901(wt)-.25 G .401 +(his option, then the positional parameters are unset.)-2.901 F +(Otherwise,)5.401 E(the positional parameters are set to the)184 252 Q +/F2 10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5 +(ni).15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1 +2.5 E F0(.)A F1144 264 Q F0 .797 +(Signal the end of options, cause all remaining)184 264 R F2(ar)3.297 E +(g)-.37 E F0 3.297(st)C 3.297(ob)-3.297 G 3.296(ea)-3.297 G .796 +(ssigned to the positional pa-)-3.296 F 3.021(rameters. The)184 276 R F1 +3.021 E F0(and)3.022 E F13.022 E F0 .522 (options are turned of)3.022 F 3.022(f. If)-.25 F .522(there are no) -3.022 F F2(ar)3.022 E(g)-.37 E F0 .521(s, the positional pa-)B -(rameters remain unchanged.)184 276 Q .425(The options are of)144 292.8 +3.022 F F2(ar)3.022 E(g)-.37 E F0 .522(s, the positional pa-)B +(rameters remain unchanged.)184 288 Q .425(The options are of)144 304.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 (ault unless otherwise noted.)-.1 F .425 -(Using + rather than \255 causes these options)5.425 F .178 -(to be turned of)144 304.8 R 2.678(f. The)-.25 F .178 +(Using + rather than \255 causes these options)5.425 F .177 +(to be turned of)144 316.8 R 2.677(f. The)-.25 F .178 (options can also be speci\214ed as ar)2.678 F .178(guments to an in) --.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066 -(current set of options may be found in)144 316.8 R F1<24ad>2.566 E F0 +-.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066 +(current set of options may be found in)144 328.8 R F1<24ad>2.566 E F0 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066 -(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F -(is encountered.)144 328.8 Q F1(shift)108 345.6 Q F0([)2.5 E F2(n)A F0 -(])A .429(The positional parameters from)144 357.6 R F2(n)2.929 E F0 -.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G -.428(rameters represented by the num-).15 F(bers)144 369.6 Q F1($#)2.582 -E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0A F2(n)A F0 .082 -(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga) --.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to) -.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06 -(is 0, no parameters are changed.)144 381.6 R(If)5.06 E F2(n)2.92 E F0 +(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F +(is encountered.)144 340.8 Q F1(shift)108 357.6 Q F0([)2.5 E F2(n)A F0 +(])A .428(The positional parameters from)144 369.6 R F2(n)2.928 E F0 +.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G +.429(rameters represented by the num-).15 F(bers)144 381.6 Q F1($#)2.583 +E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0A F2(n)A F0 .083 +(+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga) +-.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to) +.15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06 +(is 0, no parameters are changed.)144 393.6 R(If)5.06 E F2(n)2.92 E F0 .06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F (If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56 -(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 393.6 R -.144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0 -.144(is greater than)2.884 F F1($#)2.644 E F0 -(or less than zero; otherwise 0.)144 405.6 Q F1(shopt)108 422.4 Q F0([) +(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 405.6 R +.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0 +.143(is greater than)2.883 F F1($#)2.643 E F0 +(or less than zero; otherwise 0.)144 417.6 Q F1(shopt)108 434.4 Q F0([) 2.5 E F1(\255pqsu)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(optname) --2.5 E F0(...])2.5 E -.8(To)144 434.4 S .64(ggle the v).8 F .639 +-2.5 E F0(...])2.5 E -.8(To)144 446.4 S .639(ggle the v).8 F .639 (alues of settings controlling optional shell beha)-.25 F(vior)-.2 E -5.639(.T)-.55 G .639(he settings can be either those)-5.639 F .374 -(listed belo)144 446.4 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H -2.874(ft).4 G(he)-2.874 E F12.874 E F0 .375 +5.639(.T)-.55 G .64(he settings can be either those)-5.639 F .375 +(listed belo)144 458.4 R 1.675 -.65(w, o)-.25 H 1.175 -.4(r, i).65 H +2.875(ft).4 G(he)-2.875 E F12.875 E F0 .375 (option is used, those a)2.875 F -.25(va)-.2 G .375(ilable with the).25 -F F12.875 E F0 .375(option to the)2.875 F F1(set)2.875 E F0 -.2 -(bu)2.875 G .375(iltin com-).2 F 2.566(mand. W)144 458.4 R .066 +F F12.875 E F0 .374(option to the)2.875 F F1(set)2.874 E F0 -.2 +(bu)2.874 G .374(iltin com-).2 F 2.565(mand. W)144 470.4 R .065 (ith no options, or with the)-.4 F F12.566 E F0 .066 (option, a list of all settable options is displayed, with an in-)2.566 -F .074(dication of whether or not each is set; if)144 470.4 R F2 +F .074(dication of whether or not each is set; if)144 482.4 R F2 (optnames)2.574 E F0 .074 (are supplied, the output is restricted to those op-)2.574 F 3.105 -(tions. The)144 482.4 R F13.105 E F0 .605(option causes output to\ +(tions. The)144 494.4 R F13.105 E F0 .605(option causes output to\ be displayed in a form that may be reused as input.)3.105 F(Other)5.605 -E(options ha)144 494.4 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 506.4 Q F0(Enable \(set\) each)180 -506.4 Q F2(optname)2.5 E F0(.)A F1144 518.4 Q F0 -(Disable \(unset\) each)180 518.4 Q F2(optname)2.5 E F0(.)A F1144 -530.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\ -tus indicates whether the)180 530.4 R F2(optname)2.504 E F0(is)2.504 E -.256(set or unset.)180 542.4 R .256(If multiple)5.256 F F2(optname)2.756 -E F0(ar)2.756 E .256(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G -(ith)-2.756 E F12.756 E F0 2.755(,t)C .255 -(he return status is zero if)-2.755 F(all)180 554.4 Q F2(optnames)2.5 E -F0(are enabled; non-zero otherwise.)2.5 E F1144 566.4 Q F0 -(Restricts the v)180 566.4 Q(alues of)-.25 E F2(optname)2.5 E F0 +E(options ha)144 506.4 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1144 518.4 Q F0(Enable \(set\) each)180 +518.4 Q F2(optname)2.5 E F0(.)A F1144 530.4 Q F0 +(Disable \(unset\) each)180 530.4 Q F2(optname)2.5 E F0(.)A F1144 +542.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\ +tus indicates whether the)180 542.4 R F2(optname)2.503 E F0(is)2.503 E +.255(set or unset.)180 554.4 R .255(If multiple)5.255 F F2(optname)2.755 +E F0(ar)2.755 E .256(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G +(ith)-2.756 E F12.756 E F0 2.756(,t)C .256 +(he return status is zero if)-2.756 F(all)180 566.4 Q F2(optnames)2.5 E +F0(are enabled; non-zero otherwise.)2.5 E F1144 578.4 Q F0 +(Restricts the v)180 578.4 Q(alues of)-.25 E F2(optname)2.5 E F0 (to be those de\214ned for the)2.5 E F12.5 E F0(option to the)2.5 -E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .624(If either)144 583.2 R F1 -3.124 E F0(or)3.124 E F13.124 E F0 .624(is used with no) +E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .625(If either)144 595.2 R F1 +3.125 E F0(or)3.124 E F13.124 E F0 .624(is used with no) 3.124 F F2(optname)3.124 E F0(ar)3.124 E(guments,)-.18 E F1(shopt)3.124 -E F0(sho)3.124 E .624(ws only those options which are)-.25 F .984 -(set or unset, respecti)144 595.2 R -.15(ve)-.25 G(ly).15 E 5.984(.U) --.65 G .984(nless otherwise noted, the)-5.984 F F1(shopt)3.484 E F0 .983 -(options are disabled \(unset\) by de-)3.483 F -.1(fa)144 607.2 S(ult.) -.1 E 1.544(The return status when listing options is zero if all)144 624 -R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)4.045 F +E F0(sho)3.124 E .624(ws only those options which are)-.25 F .983 +(set or unset, respecti)144 607.2 R -.15(ve)-.25 G(ly).15 E 5.983(.U) +-.65 G .983(nless otherwise noted, the)-5.983 F F1(shopt)3.484 E F0 .984 +(options are disabled \(unset\) by de-)3.484 F -.1(fa)144 619.2 S(ult.) +.1 E 1.544(The return status when listing options is zero if all)144 636 +R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)4.044 F .696 (When setting or unsetting options, the return status is zero unless an) -144 636 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell) --.25 F(option.)144 648 Q(The list of)144 664.8 Q F1(shopt)2.5 E F0 -(options is:)2.5 E F1(assoc_expand_once)144 682.8 Q F0 1.944 -(If set, the shell suppresses multiple e)184 694.8 R -.25(va)-.25 G -1.945(luation of associati).25 F 2.245 -.15(ve a)-.25 H 1.945 -(rray subscripts during).15 F .885(arithmetic e)184 706.8 R .885 +144 648 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell) +-.25 F(option.)144 660 Q(The list of)144 676.8 Q F1(shopt)2.5 E F0 +(options is:)2.5 E F1(assoc_expand_once)144 694.8 Q F0 1.945 +(If set, the shell suppresses multiple e)184 706.8 R -.25(va)-.25 G +1.944(luation of associati).25 F 2.244 -.15(ve a)-.25 H 1.944 +(rray subscripts during).15 F .885(arithmetic e)184 718.8 R .885 (xpression e)-.15 F -.25(va)-.25 G .885(luation, while e).25 F -.15(xe) -.15 G .885(cuting b).15 F .885(uiltins that can perform v)-.2 F .885 -(ariable as-)-.25 F(signments, and while e)184 718.8 Q -.15(xe)-.15 G +(ariable as-)-.25 F(signments, and while e)184 730.8 Q -.15(xe)-.15 G (cuting b).15 E(uiltins that perform array dereferencing.)-.2 E -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(72)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(72)185.545 E 0 Cg EP %%Page: 73 73 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF(autocd)144 84 Q F0 .199 +SF(autocd)144 84 Q F0 .2 (If set, a command name that is the name of a directory is e)184 84 R --.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E +-.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E (ment to the)184 96 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E -F1(cdable_v)144 108 Q(ars)-.1 E F0 .156(If set, an ar)184 120 R .156 -(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155 +F1(cdable_v)144 108 Q(ars)-.1 E F0 .155(If set, an ar)184 120 R .155 +(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156 (iltin command that is not a directory is assumed to be the).2 F (name of a v)184 132 Q(ariable whose v)-.25 E (alue is the directory to change to.)-.25 E F1(cdspell)144 144 Q F0 1.055 (If set, minor errors in the spelling of a directory component in a)184 -144 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988 -(corrected. The)184 156 R 1.488(errors check)3.988 F 1.487 -(ed for are transposed characters, a missing character)-.1 F 3.987(,a) --.4 G(nd)-3.987 E .77(one character too man)184 168 R 4.57 -.65(y. I) +144 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987 +(corrected. The)184 156 R 1.487(errors check)3.987 F 1.487 +(ed for are transposed characters, a missing character)-.1 F 3.988(,a) +-.4 G(nd)-3.988 E .77(one character too man)184 168 R 4.57 -.65(y. I) -.15 H 3.27(fac).65 G .77 (orrection is found, the corrected \214lename is printed, and)-3.27 F (the command proceeds.)184 180 Q(This option is only used by interacti)5 -E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 192 Q F0 .737 -(If set,)184 204 R F1(bash)3.237 E F0 .736 -(checks that a command found in the hash table e)3.237 F .736 +E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 192 Q F0 .736 +(If set,)184 204 R F1(bash)3.236 E F0 .736 +(checks that a command found in the hash table e)3.236 F .737 (xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 216 Q(If a hashed command no longer e)5 E (xists, a normal path search is performed.)-.15 E F1(checkjobs)144 228 Q -F0 .448(If set,)184 240 R F1(bash)2.948 E F0 .448 -(lists the status of an)2.948 F 2.949(ys)-.15 G .449 -(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15 -F -.15(ve)-.25 G 2.662(shell. If)184 252 R(an)2.662 E 2.661(yj)-.15 G +F0 .449(If set,)184 240 R F1(bash)2.949 E F0 .449 +(lists the status of an)2.949 F 2.949(ys)-.15 G .448 +(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15 +F -.15(ve)-.25 G 2.661(shell. If)184 252 R(an)2.661 E 2.661(yj)-.15 G .161(obs are running, this causes the e)-2.661 F .161 -(xit to be deferred until a second e)-.15 F .161(xit is at-)-.15 F 1.472 +(xit to be deferred until a second e)-.15 F .162(xit is at-)-.15 F 1.473 (tempted without an interv)184 264 R 1.473(ening command \(see)-.15 F/F2 9/Times-Bold@0 SF 1.473(JOB CONTR)3.973 F(OL)-.27 E F0(abo)3.723 E -.15 -(ve)-.15 G 3.973(\). The).15 F 1.473(shell al-)3.973 F -.1(wa)184 276 S +(ve)-.15 G 3.973(\). The).15 F 1.472(shell al-)3.972 F -.1(wa)184 276 S (ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.) -2.5 E F1(checkwinsize)144 288 Q F0 1.09(If set,)184 300 R F1(bash)3.59 E F0 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09(ize after each e) -3.59 F 1.09(xternal \(non-b)-.15 F 1.09(uiltin\) command and, if)-.2 F -(necessary)184 312 Q 3.35(,u)-.65 G .85(pdates the v)-3.35 F .85 +(necessary)184 312 Q 3.351(,u)-.65 G .851(pdates the v)-3.351 F .85 (alues of)-.25 F F2(LINES)3.35 E F0(and)3.1 E F2(COLUMNS)3.35 E/F3 9 /Times-Roman@0 SF(.)A F0 .85(This option is enabled by de-)5.35 F -.1 -(fa)184 324 S(ult.).1 E F1(cmdhist)144 336 Q F0 .173(If set,)184 336 R -F1(bash)2.673 E F0 .173(attempts to sa)2.673 F .473 -.15(ve a)-.2 H .172 +(fa)184 324 S(ult.).1 E F1(cmdhist)144 336 Q F0 .172(If set,)184 336 R +F1(bash)2.672 E F0 .172(attempts to sa)2.672 F .472 -.15(ve a)-.2 H .173 (ll lines of a multiple-line command in the same history en-).15 F(try) -184 348 Q 5.596(.T)-.65 G .597(his allo)-5.596 F .597 +184 348 Q 5.597(.T)-.65 G .597(his allo)-5.597 F .597 (ws easy re-editing of multi-line commands.)-.25 F .597 -(This option is enabled by de-)5.597 F -.1(fa)184 360 S 1.288(ult, b).1 +(This option is enabled by de-)5.597 F -.1(fa)184 360 S 1.287(ult, b).1 F 1.288(ut only has an ef)-.2 F 1.288 -(fect if command history is enabled, as described abo)-.25 F 1.587 -.15 +(fect if command history is enabled, as described abo)-.25 F 1.588 -.15 (ve u)-.15 H(nder).15 E F2(HIST)184 372 Q(OR)-.162 E(Y)-.315 E F3(.)A F1 -(compat31)144 384 Q F0 .419(If set,)184 396 R F1(bash)2.919 E F0 .419 -(changes its beha)2.919 F .419(vior to that of v)-.2 F .42 -(ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E .462(to the) -184 408 R F1([[)2.962 E F0 .462(conditional command')2.962 F(s)-.55 E F1 +(compat31)144 384 Q F0 .42(If set,)184 396 R F1(bash)2.92 E F0 .42 +(changes its beha)2.92 F .419(vior to that of v)-.2 F .419 +(ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E .461(to the) +184 408 R F1([[)2.961 E F0 .462(conditional command')2.962 F(s)-.55 E F1 (=~)2.962 E F0 .462 (operator and locale-speci\214c string comparison when)2.962 F .71 (using the)184 420 R F1([[)3.21 E F0 .71(conditional command')3.21 F(s) -.55 E F1(<)3.21 E F0(and)3.21 E F1(>)3.21 E F0 3.21(operators. Bash) -3.21 F -.15(ve)3.21 G .71(rsions prior to bash-4.1).15 F .793 -(use ASCII collation and)184 432 R/F4 10/Times-Italic@0 SF(str)3.633 E -(cmp)-.37 E F0 .792(\(3\); bash-4.1 and later use the current locale') -.19 F 3.292(sc)-.55 G(ollation)-3.292 E(sequence and)184 444 Q F4(str) -2.84 E(coll)-.37 E F0(\(3\).).51 E F1(compat32)144 456 Q F0 1.409 -(If set,)184 468 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F -1.409(vior to that of v)-.2 F 1.41 -(ersion 3.2 with respect to locale-speci\214c)-.15 F .423 +3.21 F -.15(ve)3.21 G .71(rsions prior to bash-4.1).15 F .792 +(use ASCII collation and)184 432 R/F4 10/Times-Italic@0 SF(str)3.632 E +(cmp)-.37 E F0 .793(\(3\); bash-4.1 and later use the current locale') +.19 F 3.293(sc)-.55 G(ollation)-3.293 E(sequence and)184 444 Q F4(str) +2.84 E(coll)-.37 E F0(\(3\).).51 E F1(compat32)144 456 Q F0 1.41 +(If set,)184 468 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409 +(vior to that of v)-.2 F 1.409 +(ersion 3.2 with respect to locale-speci\214c)-.15 F .422 (string comparison when using the)184 480 R F1([[)2.922 E F0 .422 (conditional command')2.922 F(s)-.55 E F1(<)2.922 E F0(and)2.922 E F1(>) -2.922 E F0 .422(operators \(see pre-)2.922 F .48 +2.923 E F0 .423(operators \(see pre-)2.923 F .481 (vious item\) and the ef)184 492 R .481 -(fect of interrupting a command list.)-.25 F .481(Bash v)5.481 F .481 +(fect of interrupting a command list.)-.25 F .48(Bash v)5.481 F .48 (ersions 3.2 and earlier)-.15 F(continue with the ne)184 504 Q (xt command in the list after one terminates due to an interrupt.)-.15 E -F1(compat40)144 516 Q F0 1.41(If set,)184 528 R F1(bash)3.91 E F0 1.41 -(changes its beha)3.91 F 1.409(vior to that of v)-.2 F 1.409 -(ersion 4.0 with respect to locale-speci\214c)-.15 F .678 -(string comparison when using the)184 540 R F1([[)3.178 E F0 .678 -(conditional command')3.178 F(s)-.55 E F1(<)3.179 E F0(and)3.179 E F1(>) -3.179 E F0 .679(operators \(see de-)3.179 F .283(scription of)184 552 R -F1(compat31)2.783 E F0 2.783(\)a)C .283(nd the ef)-2.783 F .282 -(fect of interrupting a command list.)-.25 F .282(Bash v)5.282 F .282 +F1(compat40)144 516 Q F0 1.409(If set,)184 528 R F1(bash)3.909 E F0 +1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F 1.41 +(ersion 4.0 with respect to locale-speci\214c)-.15 F .679 +(string comparison when using the)184 540 R F1([[)3.179 E F0 .678 +(conditional command')3.179 F(s)-.55 E F1(<)3.178 E F0(and)3.178 E F1(>) +3.178 E F0 .678(operators \(see de-)3.178 F .282(scription of)184 552 R +F1(compat31)2.782 E F0 2.782(\)a)C .282(nd the ef)-2.782 F .282 +(fect of interrupting a command list.)-.25 F .283(Bash v)5.283 F .283 (ersions 4.0)-.15 F 1.164 (and later interrupt the list as if the shell recei)184 564 R -.15(ve) --.25 G 3.664(dt).15 G 1.165(he interrupt; pre)-3.664 F 1.165(vious v) --.25 F 1.165(ersions con-)-.15 F(tinue with the ne)184 576 Q +-.25 G 3.664(dt).15 G 1.164(he interrupt; pre)-3.664 F 1.164(vious v) +-.25 F 1.164(ersions con-)-.15 F(tinue with the ne)184 576 Q (xt command in the list.)-.15 E F1(compat41)144 588 Q F0 .414(If set,) 184 600 R F1(bash)2.914 E F0 2.914(,w)C .414(hen in)-2.914 F F4 .414 (posix mode)2.914 F F0 2.914(,t)C .414 (reats a single quote in a double-quoted parameter e)-2.914 F(x-)-.15 E -.502(pansion as a special character)184 612 R 5.502(.T)-.55 G .502 +.503(pansion as a special character)184 612 R 5.502(.T)-.55 G .502 (he single quotes must match \(an e)-5.502 F -.15(ve)-.25 G 3.002(nn).15 -G .503(umber\) and the)-3.002 F 1.866 +G .502(umber\) and the)-3.002 F 1.866 (characters between the single quotes are considered quoted.)184 624 R -1.866(This is the beha)6.866 F 1.865(vior of)-.2 F .589 +1.866(This is the beha)6.866 F 1.866(vior of)-.2 F .59 (posix mode through v)184 636 R .589(ersion 4.1.)-.15 F .589(The def) -5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .59 +5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .589 (vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 648 Q F1(compat42)144 660 Q -F0 .588(If set,)184 672 R F1(bash)3.088 E F0 .588 +F0 .587(If set,)184 672 R F1(bash)3.087 E F0 .588 (does not process the replacement string in the pattern substitution w) -3.088 F .587(ord e)-.1 F(x-)-.15 E(pansion using quote remo)184 684 Q --.25(va)-.15 G(l.).25 E F1(compat43)144 696 Q F0 .14(If set,)184 708 R -F1(bash)2.64 E F0 .14(does not print a w)2.64 F .141 -(arning message if an attempt is made to use a quoted com-)-.1 F .913 -(pound array assignment as an ar)184 720 R .913(gument to)-.18 F F1 -(declar)3.412 E(e)-.18 E F0 3.412(,m)C(ak)-3.412 E .912(es w)-.1 F .912 -(ord e)-.1 F .912(xpansion errors non-)-.15 F(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(73)190.395 E 0 Cg EP +3.088 F .588(ord e)-.1 F(x-)-.15 E(pansion using quote remo)184 684 Q +-.25(va)-.15 G(l.).25 E F1(compat43)144 696 Q F0 .141(If set,)184 708 R +F1(bash)2.641 E F0 .141(does not print a w)2.641 F .14 +(arning message if an attempt is made to use a quoted com-)-.1 F .912 +(pound array assignment as an ar)184 720 R .912(gument to)-.18 F F1 +(declar)3.413 E(e)-.18 E F0 3.413(,m)C(ak)-3.413 E .913(es w)-.1 F .913 +(ord e)-.1 F .913(xpansion errors non-)-.15 F(GNU Bash 5.0)72 768 Q +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(73)185.545 E 0 Cg EP %%Page: 74 74 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -.1(fa)184 84 S -.352(tal errors that cause the current command to f).1 F .353 -(ail \(the def)-.1 F .353(ault beha)-.1 F .353(vior is to mak)-.2 F -2.853(et)-.1 G(hem)-2.853 E -.1(fa)184 96 S 1.058 -(tal errors that cause the shell to e).1 F 1.057 -(xit\), and does not reset the loop state when a shell)-.15 F .374 -(function is e)184 108 R -.15(xe)-.15 G .374(cuted \(this allo).15 F(ws) --.25 E/F1 10/Times-Bold@0 SF(br)2.874 E(eak)-.18 E F0(or)2.875 E F1 -(continue)2.875 E F0 .375(in a shell function to af)2.875 F .375 +.353(tal errors that cause the current command to f).1 F .353 +(ail \(the def)-.1 F .352(ault beha)-.1 F .352(vior is to mak)-.2 F +2.852(et)-.1 G(hem)-2.852 E -.1(fa)184 96 S 1.057 +(tal errors that cause the shell to e).1 F 1.058 +(xit\), and does not reset the loop state when a shell)-.15 F .375 +(function is e)184 108 R -.15(xe)-.15 G .375(cuted \(this allo).15 F(ws) +-.25 E/F1 10/Times-Bold@0 SF(br)2.875 E(eak)-.18 E F0(or)2.875 E F1 +(continue)2.875 E F0 .374(in a shell function to af)2.875 F .374 (fect loops in)-.25 F(the caller')184 120 Q 2.5(sc)-.55 G(onte)-2.5 E -(xt\).)-.15 E F1(compat44)144 132 Q F0 .442(If set,)184 144 R F1(bash) -2.942 E F0(sa)2.942 E -.15(ve)-.2 G 2.942(st).15 G .442 -(he positional parameters to B)-2.942 F .442(ASH_ARGV and B)-.35 F .441 +(xt\).)-.15 E F1(compat44)144 132 Q F0 .441(If set,)184 144 R F1(bash) +2.941 E F0(sa)2.942 E -.15(ve)-.2 G 2.942(st).15 G .442 +(he positional parameters to B)-2.942 F .442(ASH_ARGV and B)-.35 F .442 (ASH_ARGC before)-.35 F(the)184 156 Q 2.5(ya)-.15 G(re used, re)-2.5 E -.05(ga)-.15 G(rdless of whether or not e).05 E(xtended deb)-.15 E -(ugging mode is enabled.)-.2 E F1(complete_fullquote)144 168 Q F0 .653 +(ugging mode is enabled.)-.2 E F1(complete_fullquote)144 168 Q F0 .654 (If set,)184 180 R F1(bash)3.153 E F0 .653(quotes all shell metacharact\ -ers in \214lenames and directory names when per)3.153 F(-)-.2 E 1.525 -(forming completion.)184 192 R 1.524(If not set,)6.525 F F1(bash)4.024 E +ers in \214lenames and directory names when per)3.153 F(-)-.2 E 1.524 +(forming completion.)184 192 R 1.524(If not set,)6.524 F F1(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15 G 4.024(sm).15 G 1.524 (etacharacters such as the dollar sign)-4.024 F 2.667(from the set of c\ haracters that will be quoted in completed \214lenames when these)184 -204 R .029(metacharacters appear in shell v)184 216 R .028 -(ariable references in w)-.25 F .028(ords to be completed.)-.1 F .028 -(This means)5.028 F 1.072(that dollar signs in v)184 228 R 1.073 +204 R .028(metacharacters appear in shell v)184 216 R .028 +(ariable references in w)-.25 F .029(ords to be completed.)-.1 F .029 +(This means)5.029 F 1.073(that dollar signs in v)184 228 R 1.073 (ariable names that e)-.25 F 1.073 (xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25 -(ev e)184 240 T 1.923 -.4(r, a).25 H 1.423 -.15(ny d).4 H 1.123 +(ev e)184 240 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123 (ollar signs appearing in \214lenames will not be quoted, either).15 F -6.123(.T)-.55 G 1.122(his is acti)-6.123 F -.15(ve)-.25 G .59 +6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59 (only when bash is using backslashes to quote completed \214lenames.)184 252 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 264 Q (ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E -(ersions through 4.2.)-.15 E F1(dir)144 276 Q(expand)-.18 E F0 .487 -(If set,)184 288 R F1(bash)2.987 E F0 .486 +(ersions through 4.2.)-.15 E F1(dir)144 276 Q(expand)-.18 E F0 .486 +(If set,)184 288 R F1(bash)2.986 E F0 .486 (replaces directory names with the results of w)2.986 F .486(ord e)-.1 F -.486(xpansion when perform-)-.15 F .179(ing \214lename completion.)184 -300 R .179(This changes the contents of the readline editing b)5.179 F -(uf)-.2 E(fer)-.25 E 5.18(.I)-.55 G 2.68(fn)-5.18 G(ot)-2.68 E(set,)184 -312 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G -(hat the user typed.)-2.5 E F1(dirspell)144 324 Q F0 .859(If set,)184 -324 R F1(bash)3.359 E F0 .858 -(attempts spelling correction on directory names during w)3.359 F .858 +.487(xpansion when perform-)-.15 F .18(ing \214lename completion.)184 +300 R .179(This changes the contents of the readline editing b)5.18 F +(uf)-.2 E(fer)-.25 E 5.179(.I)-.55 G 2.679(fn)-5.179 G(ot)-2.679 E(set,) +184 312 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G +(hat the user typed.)-2.5 E F1(dirspell)144 324 Q F0 .858(If set,)184 +324 R F1(bash)3.358 E F0 .858 +(attempts spelling correction on directory names during w)3.358 F .859 (ord completion if)-.1 F (the directory name initially supplied does not e)184 336 Q(xist.)-.15 E F1(dotglob)144 348 Q F0 .165(If set,)184 348 R F1(bash)2.665 E F0 .165 @@ -9006,41 +9042,41 @@ F1(dotglob)144 348 Q F0 .165(If set,)184 348 R F1(bash)2.665 E F0 .165 G(')-.08 E F0(and)5 E F1 -.63(``)2.5 G(..).63 E -.63('')-.55 G F0 (must al)5.63 E -.1(wa)-.1 G(ys be matched e).1 E(xplicitly)-.15 E 2.5 (,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F1(dotglob)2.5 E F0 -(is set.)2.5 E F1(execfail)144 372 Q F0 .517(If set, a non-interacti)184 -372 R .817 -.15(ve s)-.25 H .517(hell will not e).15 F .516 -(xit if it cannot e)-.15 F -.15(xe)-.15 G .516 +(is set.)2.5 E F1(execfail)144 372 Q F0 .516(If set, a non-interacti)184 +372 R .816 -.15(ve s)-.25 H .516(hell will not e).15 F .516 +(xit if it cannot e)-.15 F -.15(xe)-.15 G .517 (cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the)184 384 Q F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E(An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F1(exec)2.5 E F0 --.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 396 Q F0 .716 +-.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 396 Q F0 .717 (If set, aliases are e)184 408 R .717(xpanded as described abo)-.15 F 1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E -/F3 9/Times-Roman@0 SF(.)A F0 .717(This option is enabled)5.217 F +/F3 9/Times-Roman@0 SF(.)A F0 .716(This option is enabled)5.217 F (by def)184 420 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.) .15 E F1(extdeb)144 432 Q(ug)-.2 E F0 .17(If set at shell in)184 444 R -.2(vo)-.4 G .17(cation, or in a shell startup \214le, arrange to e).2 F --.15(xe)-.15 G .17(cute the deb).15 F .17(ugger pro\214le)-.2 F 1.081 +-.15(xe)-.15 G .17(cute the deb).15 F .17(ugger pro\214le)-.2 F 1.082 (before the shell starts, identical to the)184 456 R F13.582 -E(ugger)-.2 E F0 3.582(option. If)3.582 F 1.082(set after in)3.582 F -.2 -(vo)-.4 G 1.082(cation, be-).2 F(ha)184 468 Q +E(ugger)-.2 E F0 3.581(option. If)3.581 F 1.081(set after in)3.581 F -.2 +(vo)-.4 G 1.081(cation, be-).2 F(ha)184 468 Q (vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184 -480 Q F0(The)220 480 Q F14.251 E F0 1.751(option to the)4.251 F F1 +480 Q F0(The)220 480 Q F14.25 E F0 1.75(option to the)4.25 F F1 (declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751 (iltin displays the source \214le name and line).2 F (number corresponding to each function name supplied as an ar)220 492 Q (gument.)-.18 E F1(2.)184 504 Q F0 1.667(If the command run by the)220 504 R F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F 1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 516 -Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 528 Q F0 .841 -(If the command run by the)220 528 R F1(DEB)3.341 E(UG)-.1 E F0 .841 -(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15 +Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 528 Q F0 .84 +(If the command run by the)220 528 R F1(DEB)3.34 E(UG)-.1 E F0 .841 +(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15 (exe)220 540 S .488 (cuting in a subroutine \(a shell function or a shell script e).15 F -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1 (sour)220 552 Q(ce)-.18 E F0 -.2(bu)2.5 G (iltins\), the shell simulates a call to).2 E F1 -.18(re)2.5 G(tur).18 E (n)-.15 E F0(.)A F1(4.)184 564 Q F2 -.27(BA)220 564 S(SH_ARGC).27 E F0 -(and)3.154 E F2 -.27(BA)3.404 G(SH_ARGV).27 E F0 .904 +(and)3.153 E F2 -.27(BA)3.403 G(SH_ARGV).27 E F0 .904 (are updated as described in their descriptions)3.154 F(abo)220 576 Q -.15(ve)-.15 G(.).15 E F1(5.)184 588 Q F0 1.637(Function tracing is ena\ bled: command substitution, shell functions, and sub-)220 588 R @@ -9060,74 +9096,75 @@ F0(are enabled.)2.5 E F1(extquote)144 660 Q F0 .86(If set,)184 672 R F1 (${)3.36 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)3.36 G .86 (pansions en-).15 F(closed in double quotes.)184 684 Q (This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 696 Q F0 -.242(If set, patterns which f)184 696 R .243 +.243(If set, patterns which f)184 696 R .243 (ail to match \214lenames during pathname e)-.1 F .243 (xpansion result in an e)-.15 F(x-)-.15 E(pansion error)184 708 Q(.)-.55 -E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(74)190.395 E 0 Cg EP +E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(74)185.545 E 0 Cg EP %%Page: 75 75 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF -.25(fo)144 84 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 .937 +SF -.25(fo)144 84 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 .936 (If set, the suf)184 96 R<8c78>-.25 E .936(es speci\214ed by the)-.15 F /F2 9/Times-Bold@0 SF(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936 -(ariable cause w)-.25 F .936(ords to be ignored)-.1 F .32 +(ariable cause w)-.25 F .937(ords to be ignored)-.1 F .32 (when performing w)184 108 R .32(ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32(he ignored w)-2.82 F .32 -(ords are the only possible com-)-.1 F 2.948(pletions. See)184 120 R F2 -.448(SHELL V)2.948 F(ARIABLES)-1.215 E F0(abo)2.698 E .748 -.15(ve f) --.15 H .448(or a description of).15 F F2(FIGNORE)2.947 E/F3 9 -/Times-Roman@0 SF(.)A F0 .447(This option is)4.947 F(enabled by def)184 -132 Q(ault.)-.1 E F1(globasciiranges)144 144 Q F0 2.518(If set, range e) -184 156 R 2.519(xpressions used in pattern matching brack)-.15 F 2.519 -(et e)-.1 F 2.519(xpressions \(see)-.15 F F2 -.09(Pa)5.019 G(tter).09 E -(n)-.135 E(Matching)184 168 Q F0(abo)2.965 E -.15(ve)-.15 G 3.215(\)b) -.15 G(eha)-3.215 E 1.015 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 +(ords are the only possible com-)-.1 F 2.947(pletions. See)184 120 R F2 +.447(SHELL V)2.947 F(ARIABLES)-1.215 E F0(abo)2.697 E .747 -.15(ve f) +-.15 H .448(or a description of).15 F F2(FIGNORE)2.948 E/F3 9 +/Times-Roman@0 SF(.)A F0 .448(This option is)4.948 F(enabled by def)184 +132 Q(ault.)-.1 E F1(globasciiranges)144 144 Q F0 2.519(If set, range e) +184 156 R 2.519(xpressions used in pattern matching brack)-.15 F 2.518 +(et e)-.1 F 2.518(xpressions \(see)-.15 F F2 -.09(Pa)5.018 G(tter).09 E +(n)-.135 E(Matching)184 168 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b) +.15 G(eha)-3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 G 3.214(nt)-3.214 G .714 (he traditional C locale when performing comparisons.)-3.214 F 1.02 (That is, the current locale')184 180 R 3.52(sc)-.55 G 1.02 (ollating sequence is not tak)-3.52 F 1.02(en into account, so)-.1 F F1 -(b)3.52 E F0 1.02(will not)3.52 F .957(collate between)184 192 R F1(A) -3.457 E F0(and)3.457 E F1(B)3.457 E F0 3.457(,a)C .957(nd upper)-3.457 F -.957(-case and lo)-.2 F(wer)-.25 E .956 +(b)3.52 E F0 1.02(will not)3.52 F .956(collate between)184 192 R F1(A) +3.456 E F0(and)3.456 E F1(B)3.456 E F0 3.457(,a)C .957(nd upper)-3.457 F +.957(-case and lo)-.2 F(wer)-.25 E .957 (-case ASCII characters will collate)-.2 F(together)184 204 Q(.)-.55 E -F1(globstar)144 216 Q F0 .518(If set, the pattern)184 216 R F1(**)3.018 -E F0 .519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .519 -(xt will match all \214les and zero)-.15 F .432 +F1(globstar)144 216 Q F0 .519(If set, the pattern)184 216 R F1(**)3.019 +E F0 .519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .518 +(xt will match all \214les and zero)-.15 F .431 (or more directories and subdirectories.)184 228 R .431 -(If the pattern is follo)5.432 F .431(wed by a)-.25 F F1(/)2.931 E F0 -2.931(,o)C .431(nly directories)-2.931 F(and subdirectories match.)184 +(If the pattern is follo)5.431 F .432(wed by a)-.25 F F1(/)2.932 E F0 +2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184 240 Q F1(gnu_errfmt)144 252 Q F0(If set, shell error messages are writt\ en in the standard GNU error message format.)184 264 Q F1(histappend)144 276 Q F0 .676 (If set, the history list is appended to the \214le named by the v)184 -288 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G +288 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G (ri-).25 E(able when the shell e)184 300 Q(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 312 Q(eedit)-.18 -E F0 .576(If set, and)184 324 R F1 -.18(re)3.076 G(adline).18 E F0 .575 -(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575 -(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F -(tory substitution.)184 336 Q F1(histv)144 348 Q(erify)-.1 E F0 .402 +E F0 .575(If set, and)184 324 R F1 -.18(re)3.075 G(adline).18 E F0 .575 +(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576 +(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F +(tory substitution.)184 336 Q F1(histv)144 348 Q(erify)-.1 E F0 .403 (If set, and)184 360 R F1 -.18(re)2.903 G(adline).18 E F0 .403 (is being used, the results of history substitution are not immediately) -2.903 F .662(passed to the shell parser)184 372 R 5.662(.I)-.55 G .661 -(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161 -G(adline).18 E F0(editing)3.161 E -.2(bu)184 384 S -.25(ff).2 G(er).25 E +2.903 F .661(passed to the shell parser)184 372 R 5.661(.I)-.55 G .662 +(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162 +G(adline).18 E F0(editing)3.162 E -.2(bu)184 384 S -.25(ff).2 G(er).25 E 2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1 -(hostcomplete)144 396 Q F0 1.181(If set, and)184 408 R F1 -.18(re)3.681 -G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182 -(will attempt to perform hostname completion)3.682 F 1.381(when a w)184 -420 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381 -(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E -F2(READLINE)3.88 E F0(abo)184 432 Q -.15(ve)-.15 G 2.5(\). This).15 F +(hostcomplete)144 396 Q F0 1.182(If set, and)184 408 R F1 -.18(re)3.682 +G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181 +(will attempt to perform hostname completion)3.681 F 1.38(when a w)184 +420 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381 +(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E +F2(READLINE)3.881 E F0(abo)184 432 Q -.15(ve)-.15 G 2.5(\). This).15 F (is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 444 Q F0(If set,) 184 456 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0 (to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e) -.15 E(xits.)-.15 E F1(inherit_err)144 468 Q(exit)-.18 E F0 .219 +.15 E(xits.)-.15 E F1(inherit_err)144 468 Q(exit)-.18 E F0 .22 (If set, command substitution inherits the v)184 480 R .219(alue of the) --.25 F F1(err)2.719 E(exit)-.18 E F0 .22(option, instead of unsetting) +-.25 F F1(err)2.719 E(exit)-.18 E F0 .219(option, instead of unsetting) 2.719 F(it in the subshell en)184 492 Q 2.5(vironment. This)-.4 F (option is enabled when)2.5 E/F4 10/Times-Italic@0 SF(posix mode)2.5 E F0(is enabled.)2.5 E F1(interacti)144 504 Q -.1(ve)-.1 G(_comments).1 E @@ -9136,86 +9173,87 @@ F0 .33(If set, allo)184 516 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33 (ord and all remaining characters on)-.1 F .967 (that line to be ignored in an interacti)184 528 R 1.267 -.15(ve s)-.25 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15 -G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184 540 Q +G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 540 Q (ault.)-.1 E F1(lastpipe)144 552 Q F0 .066 (If set, and job control is not acti)184 552 R -.15(ve)-.25 G 2.566(,t) .15 G .066(he shell runs the last command of a pipeline not e)-2.566 F -.15(xe)-.15 G(-).15 E(cuted in the background in the current shell en) -184 564 Q(vironment.)-.4 E F1(lithist)144 576 Q F0 .654(If set, and the) -184 576 R F1(cmdhist)3.154 E F0 .654 +184 564 Q(vironment.)-.4 E F1(lithist)144 576 Q F0 .655(If set, and the) +184 576 R F1(cmdhist)3.155 E F0 .654 (option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G -3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F +3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F (with embedded ne)184 588 Q (wlines rather than using semicolon separators where possible.)-.25 E F1 -(localv)144 600 Q(ar_inherit)-.1 E F0 .422(If set, local v)184 612 R +(localv)144 600 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 612 R .422(ariables inherit the v)-.25 F .422(alue and attrib)-.25 F .422 (utes of a v)-.2 F .422(ariable of the same name that)-.25 F -.15(ex)184 -624 S .173(ists at a pre).15 F .173(vious scope before an)-.25 F 2.673 -(yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .174 -(The nameref attrib)5.174 F .174(ute is not)-.2 F(inherited.)184 636 Q -F1(localv)144 648 Q(ar_unset)-.1 E F0 .329(If set, calling)184 660 R F1 -(unset)2.829 E F0 .329(on local v)2.829 F .329(ariables in pre)-.25 F -.328(vious function scopes marks them so subse-)-.25 F .543(quent looku\ +624 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673 +(yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .173 +(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 636 Q +F1(localv)144 648 Q(ar_unset)-.1 E F0 .328(If set, calling)184 660 R F1 +(unset)2.828 E F0 .328(on local v)2.828 F .329(ariables in pre)-.25 F +.329(vious function scopes marks them so subse-)-.25 F .543(quent looku\ ps \214nd them unset until that function returns. This is identical to \ the beha)184 672 R(v-)-.2 E(ior of unsetting local v)184 684 Q (ariables at the current function scope.)-.25 E F1(login_shell)144 696 Q F0 .486 (The shell sets this option if it is started as a login shell \(see)184 -708 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve) --.15 G 2.986(\). The).15 F -.25(va)184 720 S(lue may not be changed.).25 -E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(75)190.395 E 0 Cg EP +708 R F2(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)2.737 E -.15(ve) +-.15 G 2.987(\). The).15 F -.25(va)184 720 S(lue may not be changed.).25 +E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(75)185.545 E 0 Cg EP %%Page: 76 76 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF(mailwar)144 84 Q(n)-.15 E F0 .814(If set, and a \214le that)184 96 R -F1(bash)3.314 E F0 .815 -(is checking for mail has been accessed since the last time it)3.314 F +SF(mailwar)144 84 Q(n)-.15 E F0 .815(If set, and a \214le that)184 96 R +F1(bash)3.315 E F0 .814 +(is checking for mail has been accessed since the last time it)3.315 F -.1(wa)184 108 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E (`The mail in)-.74 E/F2 10/Times-Italic@0 SF(mail\214le)2.5 E F0 (has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1 -(no_empty_cmd_completion)144 120 Q F0 .325(If set, and)184 132 R F1 -.18 -(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E +(no_empty_cmd_completion)144 120 Q F0 .324(If set, and)184 132 R F1 -.18 +(re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E F0 .324(will not attempt to search the)2.824 F/F3 9/Times-Bold@0 SF --.666(PA)2.824 G(TH)-.189 E F0 .324(for possible)2.574 F +-.666(PA)2.825 G(TH)-.189 E F0 .325(for possible)2.575 F (completions when completion is attempted on an empty line.)184 144 Q F1 -(nocaseglob)144 156 Q F0 .436(If set,)184 168 R F1(bash)2.936 E F0 .436 -(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25 -H .437(ashion when performing pathname).05 F -.15(ex)184 180 S +(nocaseglob)144 156 Q F0 .437(If set,)184 168 R F1(bash)2.937 E F0 .436 +(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25 +H .436(ashion when performing pathname).05 F -.15(ex)184 180 S (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E F1(nocasematch)144 192 Q F0 1.194(If set,)184 -204 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti) -3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05 +-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 192 Q F0 1.193(If set,)184 +204 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti) +3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05 F .551(while e)184 216 R -.15(xe)-.15 G(cuting).15 E F1(case)3.051 E F0 (or)3.051 E F1([[)3.051 E F0 .551 (conditional commands, when performing pattern substitution)3.051 F -.1 -(wo)184 228 S .623(rd e).1 F .623(xpansions, or when \214ltering possib\ +(wo)184 228 S .622(rd e).1 F .623(xpansions, or when \214ltering possib\ le completions as part of programmable com-)-.15 F(pletion.)184 240 Q F1 -(nullglob)144 252 Q F0 .854(If set,)184 264 R F1(bash)3.354 E F0(allo) -3.354 E .855(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa) -3.355 G .855(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355 -(\)t).15 G(o)-3.355 E -.15(ex)184 276 S +(nullglob)144 252 Q F0 .855(If set,)184 264 R F1(bash)3.355 E F0(allo) +3.355 E .855(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa) +3.354 G .854(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354 +(\)t).15 G(o)-3.354 E -.15(ex)184 276 S (pand to a null string, rather than themselv).15 E(es.)-.15 E F1(pr)144 -288 Q(ogcomp)-.18 E F0 .677(If set, the programmable completion f)184 -300 R .677(acilities \(see)-.1 F F1(Pr)3.176 E .676 -(ogrammable Completion)-.18 F F0(abo)3.176 E -.15(ve)-.15 G(\)).15 E +288 Q(ogcomp)-.18 E F0 .676(If set, the programmable completion f)184 +300 R .677(acilities \(see)-.1 F F1(Pr)3.177 E .677 +(ogrammable Completion)-.18 F F0(abo)3.177 E -.15(ve)-.15 G(\)).15 E (are enabled.)184 312 Q(This option is enabled by def)5 E(ault.)-.1 E F1 (pr)144 324 Q(ogcomp_alias)-.18 E F0 2.124 (If set, and programmable completion is enabled,)184 336 R F1(bash)4.624 -E F0 2.124(treats a command name that)4.624 F(doesn')184 348 Q 3.289(th) --.18 G -2.25 -.2(av e)-3.289 H(an)3.489 E 3.289(yc)-.15 G .789 -(ompletions as a possible alias and attempts alias e)-3.289 F .788 +E F0 2.124(treats a command name that)4.624 F(doesn')184 348 Q 3.288(th) +-.18 G -2.25 -.2(av e)-3.288 H(an)3.488 E 3.288(yc)-.15 G .789 +(ompletions as a possible alias and attempts alias e)-3.288 F .789 (xpansion. If it has)-.15 F 1.473(an alias,)184 360 R F1(bash)3.973 E F0 1.473(attempts programmable completion using the command w)3.973 F 1.473 (ord resulting)-.1 F(from the e)184 372 Q(xpanded alias.)-.15 E F1(pr) -144 384 Q(omptv)-.18 E(ars)-.1 E F0 1.448(If set, prompt strings under) -184 396 R 1.448(go parameter e)-.18 F 1.447 -(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 408 S .17 -(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17 -(fter being e)-2.67 F .17(xpanded as described in)-.15 F F3(PR)2.671 E -(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15 E +144 384 Q(omptv)-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under) +184 396 R 1.448(go parameter e)-.18 F 1.448 +(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 408 S +.171(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17 +(fter being e)-2.67 F .17(xpanded as described in)-.15 F F3(PR)2.67 E +(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E (This option is enabled by def)184 420 Q(ault.)-.1 E F1 -.18(re)144 432 S(stricted_shell).18 E F0 1.069 (The shell sets this option if it is started in restricted mode \(see) @@ -9224,47 +9262,47 @@ S(stricted_shell).18 E F0 1.069 (This is not reset when the startup \214les are e)5.36 F -.15(xe)-.15 G (-).15 E(cuted, allo)184 468 Q(wing the startup \214les to disco)-.25 E -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E -F1(shift_v)144 480 Q(erbose)-.1 E F0 .502(If set, the)184 492 R F1 -(shift)3.002 E F0 -.2(bu)3.002 G .501 -(iltin prints an error message when the shift count e).2 F .501 +F1(shift_v)144 480 Q(erbose)-.1 E F0 .501(If set, the)184 492 R F1 +(shift)3.001 E F0 -.2(bu)3.001 G .501 +(iltin prints an error message when the shift count e).2 F .502 (xceeds the number)-.15 F(of positional parameters.)184 504 Q F1(sour) -144 516 Q(cepath)-.18 E F0 .77(If set, the)184 528 R F1(sour)3.27 E(ce) --.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F -.771(alue of)-.25 F F3 -.666(PA)3.271 G(TH)-.189 E F0 .771 -(to \214nd the directory containing the)3.021 F -(\214le supplied as an ar)184 540 Q 2.5(gument. This)-.18 F -(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 552 Q F0 -(If set, the)184 564 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E -(xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend) -108 580.8 Q F0([)2.5 E F1A F0(])A 1.002(Suspend the e)144 592.8 R --.15(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve) --.25 G 3.501(sa).15 G F3(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001 -(login shell cannot be)3.501 F .022(suspended; the)144 604.8 R F1 -2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022 -(rride this and force the suspension.).15 F .023(The return status is) -5.023 F 2.5(0u)144 616.8 S(nless the shell is a login shell and)-2.5 E +144 516 Q(cepath)-.18 E F0 .771(If set, the)184 528 R F1(sour)3.271 E +(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v) +-3.471 F .771(alue of)-.25 F F3 -.666(PA)3.27 G(TH)-.189 E F0 .77 +(to \214nd the directory containing the)3.02 F(\214le supplied as an ar) +184 540 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.) +-.1 E F1(xpg_echo)144 552 Q F0(If set, the)184 564 Q F1(echo)2.5 E F0 +-.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15 +E(ault.)-.1 E F1(suspend)108 580.8 Q F0([)2.5 E F1A F0(])A 1.001 +(Suspend the e)144 592.8 R -.15(xe)-.15 G 1.001 +(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G +F3(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be) +3.502 F .023(suspended; the)144 604.8 R F12.523 E F0 .023 +(option can be used to o)2.523 F -.15(ve)-.15 G .022 +(rride this and force the suspension.).15 F .022(The return status is) +5.022 F 2.5(0u)144 616.8 S(nless the shell is a login shell and)-2.5 E F12.5 E F0(is not supplied, or if job control is not enabled.)2.5 E F1(test)108 633.6 Q F2 -.2(ex)2.5 G(pr).2 E F1([)108 645.6 Q F2 -.2 -(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878 -(Return a status of 0 \(true\) or 1 \(f)144 645.6 R .877 -(alse\) depending on the e)-.1 F -.25(va)-.25 G .877 +(ex)2.5 G(pr).2 E F1(])2.5 E F0 .877 +(Return a status of 0 \(true\) or 1 \(f)144 645.6 R .878 +(alse\) depending on the e)-.1 F -.25(va)-.25 G .878 (luation of the conditional e).25 F(xpression)-.15 E F2 -.2(ex)144 657.6 S(pr).2 E F0 5.53(.E).73 G .53 (ach operator and operand must be a separate ar)-5.53 F 3.03 -(gument. Expressions)-.18 F .53(are composed of the)3.03 F 1.361 -(primaries described abo)144 669.6 R 1.661 -.15(ve u)-.15 H(nder).15 E -F3(CONDITION)3.861 E 1.36(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.) -A F1(test)5.86 E F0 1.36(does not accept an)3.86 F 3.86(yo)-.15 G(p-) --3.86 E(tions, nor does it accept and ignore an ar)144 681.6 Q +(gument. Expressions)-.18 F .53(are composed of the)3.03 F 1.36 +(primaries described abo)144 669.6 R 1.66 -.15(ve u)-.15 H(nder).15 E F3 +(CONDITION)3.86 E 1.36(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A +F1(test)5.86 E F0 1.361(does not accept an)3.86 F 3.861(yo)-.15 G(p-) +-3.861 E(tions, nor does it accept and ignore an ar)144 681.6 Q (gument of)-.18 E F12.5 E F0(as signifying the end of options.)2.5 -E .785(Expressions may be combined using the follo)144 699.6 R .786 -(wing operators, listed in decreasing order of prece-)-.25 F 3.412 -(dence. The)144 711.6 R -.25(eva)3.412 G .912 -(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F -4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F +E .786(Expressions may be combined using the follo)144 699.6 R .785 +(wing operators, listed in decreasing order of prece-)-.25 F 3.411 +(dence. The)144 711.6 R -.25(eva)3.411 G .911 +(luation depends on the number of ar).25 F .912(guments; see belo)-.18 F +4.712 -.65(w. O)-.25 H .912(perator precedence is).65 F (used when there are \214v)144 723.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G -(ore ar)-2.5 E(guments.)-.18 E(GNU Bash 5.0)72 768 Q(2019 October 30) -141.235 E(76)190.395 E 0 Cg EP +(ore ar)-2.5 E(guments.)-.18 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E +-.15(ve)-.15 G(mber 22).15 E(76)185.545 E 0 Cg EP %%Page: 77 77 %%BeginPageSetup BP @@ -9292,10 +9330,10 @@ F0 -.25(eva)2.5 G(luate conditional e).25 E E 2.5(2a)144 238.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) 180 250.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15 F .37 -(gument is null.)-.18 F .379(If the \214rst ar)180 262.8 R .38 -(gument is one of the unary conditional operators listed abo)-.18 F .68 --.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180 -274.8 Q .553(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552 +(gument is null.)-.18 F .38(If the \214rst ar)180 262.8 R .38 +(gument is one of the unary conditional operators listed abo)-.18 F .679 +-.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180 +274.8 Q .552(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552 (the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F .552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 286.8 Q (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E @@ -9305,28 +9343,28 @@ F .37(xpression is true if and only if the second ar)-.15 F .37 (If the second ar)5.236 F .236(gument is one of)-.18 F .855 (the binary conditional operators listed abo)180 322.8 R 1.155 -.15 (ve u)-.15 H(nder).15 E F3(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F -F4(,)A F0(the)3.104 E .578(result of the e)180 334.8 R .578(xpression i\ +F4(,)A F0(the)3.105 E .579(result of the e)180 334.8 R .578(xpression i\ s the result of the binary test using the \214rst and third ar)-.15 F -(guments)-.18 E 1.333(as operands.)180 346.8 R(The)6.333 E F13.833 -E F0(and)3.833 E F13.832 E F0 1.332 +(guments)-.18 E 1.332(as operands.)180 346.8 R(The)6.332 E F13.832 +E F0(and)3.832 E F13.832 E F0 1.333 (operators are considered binary operators when there are)3.832 F .558 (three ar)180 358.8 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F .558(gument is)-.18 F F1(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F .558(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F -(o-ar)-.1 E(gument)-.18 E .521(test using the second and third ar)180 -370.8 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .52 -(gument is e)-.18 F(xactly)-.15 E F1(\()3.02 E F0 .52(and the third)3.02 -F(ar)180 382.8 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985 E F0 -2.985(,t)C .485(he result is the one-ar)-2.985 F .485 +(o-ar)-.1 E(gument)-.18 E .52(test using the second and third ar)180 +370.8 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .521 +(gument is e)-.18 F(xactly)-.15 E F1(\()3.021 E F0 .521(and the third) +3.021 F(ar)180 382.8 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985 +E F0 2.985(,t)C .485(he result is the one-ar)-2.985 F .485 (gument test of the second ar)-.18 F 2.985(gument. Other)-.18 F(-)-.2 E (wise, the e)180 394.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 -406.8 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 418.8 R -.385(gument is)-.18 F F1(!)2.885 E F0 2.885(,t)C .385 -(he result is the ne)-2.885 F -.05(ga)-.15 G .384(tion of the three-ar) -.05 F .384(gument e)-.18 F .384(xpression com-)-.15 F .284 +406.8 S -.18(rg)-2.5 G(uments).18 E .384(If the \214rst ar)180 418.8 R +.384(gument is)-.18 F F1(!)2.884 E F0 2.885(,t)C .385 +(he result is the ne)-2.885 F -.05(ga)-.15 G .385(tion of the three-ar) +.05 F .385(gument e)-.18 F .385(xpression com-)-.15 F .285 (posed of the remaining ar)180 430.8 R 2.784(guments. Otherwise,)-.18 F .284(the e)2.784 F .284(xpression is parsed and e)-.15 F -.25(va)-.25 G -.285(luated ac-).25 F(cording to precedence using the rules listed abo) +.284(luated ac-).25 F(cording to precedence using the rules listed abo) 180 442.8 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 454.8 S 2.5(rm)-2.5 G (ore ar)-2.5 E(guments)-.18 E 1.635(The e)180 466.8 R 1.635 (xpression is parsed and e)-.15 F -.25(va)-.25 G 1.635 @@ -9338,44 +9376,45 @@ F0(or)2.5 E F1([)2.5 E F0 2.5(,t)C(he)-2.5 E F1(<)2.5 E F0(and)2.5 E F1 1.229(Print the accumulated user and system times for the shell and for\ processes run from the shell.)144 513.6 R(The return status is 0.)144 525.6 Q F1(trap)108 542.4 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E -F2(ar)A(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .683(The command) -144 554.4 R F2(ar)3.513 E(g)-.37 E F0 .683(is to be read and e)3.403 F +F2(ar)A(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .682(The command) +144 554.4 R F2(ar)3.512 E(g)-.37 E F0 .682(is to be read and e)3.402 F -.15(xe)-.15 G .682(cuted when the shell recei).15 F -.15(ve)-.25 G -3.182(ss).15 G(ignal\(s\))-3.182 E F2(sigspec)3.522 E F0 5.682(.I).31 G -(f)-5.682 E F2(ar)3.512 E(g)-.37 E F0(is)3.402 E .608 +3.183(ss).15 G(ignal\(s\))-3.183 E F2(sigspec)3.523 E F0 5.683(.I).31 G +(f)-5.683 E F2(ar)3.513 E(g)-.37 E F0(is)3.403 E .609 (absent \(and there is a single)144 566.4 R F2(sigspec)3.108 E F0 3.108 (\)o)C(r)-3.108 E F13.108 E F0 3.108(,e)C .608 (ach speci\214ed signal is reset to its original disposition)-3.108 F -.659(\(the v)144 578.4 R .659(alue it had upon entrance to the shell\).) --.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658 +.658(\(the v)144 578.4 R .658(alue it had upon entrance to the shell\).) +-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .659 (is the null string the signal speci\214ed by each)3.378 F F2(sigspec) -144.34 590.4 Q F0 .58(is ignored by the shell and by the commands it in) -3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E -F0 .581(is not present and)3.301 F F13.081 E F0(has)3.081 E 1.215 +144.34 590.4 Q F0 .581 +(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G +-.1(ke).2 G 3.08(s. If).1 F F2(ar)3.41 E(g)-.37 E F0 .58 +(is not present and)3.3 F F13.08 E F0(has)3.08 E 1.214 (been supplied, then the trap commands associated with each)144 602.4 R -F2(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214 +F2(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215 F(gu-)-.18 E .86(ments are supplied or if only)144 614.4 R F13.36 E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86 (prints the list of commands associated with each)3.36 F 2.83 (signal. The)144 626.4 R F12.83 E F0 .33(option causes the shell \ -to print a list of signal names and their corresponding num-)2.83 F 4.31 -(bers. Each)144 638.4 R F2(sigspec)4.65 E F0 1.811 -(is either a signal name de\214ned in <)4.62 F F2(signal.h)A F0 1.811 -(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E +to print a list of signal names and their corresponding num-)2.83 F +4.311(bers. Each)144 638.4 R F2(sigspec)4.651 E F0 1.811 +(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81 +(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E (names are case insensiti)144 650.4 Q .3 -.15(ve a)-.25 H(nd the).15 E -F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E .667(If a)144 668.4 R F2 -(sigspec)3.507 E F0(is)3.477 E F3(EXIT)3.167 E F0 .667 -(\(0\) the command)2.917 F F2(ar)3.496 E(g)-.37 E F0 .666(is e)3.386 F --.15(xe)-.15 G .666(cuted on e).15 F .666(xit from the shell.)-.15 F -.666(If a)5.666 F F2(sigspec)3.506 E F0(is)3.476 E F3(DE-)3.166 E -.09 -(BU)144 680.4 S(G).09 E F4(,)A F0 .483(the command)2.733 F F2(ar)3.313 E -(g)-.37 E F0 .483(is e)3.203 F -.15(xe)-.15 G .484(cuted before e).15 F --.15(ve)-.25 G(ry).15 E F2 .484(simple command)2.984 F F0(,)A F2(for) -2.984 E F0(command,)2.984 E F2(case)2.984 E F0(command,)2.984 E F2 -(select)144 692.4 Q F0 .563(command, e)3.063 F -.15(ve)-.25 G .563 +F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E .666(If a)144 668.4 R F2 +(sigspec)3.506 E F0(is)3.476 E F3(EXIT)3.166 E F0 .666 +(\(0\) the command)2.916 F F2(ar)3.496 E(g)-.37 E F0 .666(is e)3.386 F +-.15(xe)-.15 G .666(cuted on e).15 F .667(xit from the shell.)-.15 F +.667(If a)5.667 F F2(sigspec)3.507 E F0(is)3.477 E F3(DE-)3.167 E -.09 +(BU)144 680.4 S(G).09 E F4(,)A F0 .484(the command)2.734 F F2(ar)3.314 E +(g)-.37 E F0 .484(is e)3.204 F -.15(xe)-.15 G .484(cuted before e).15 F +-.15(ve)-.25 G(ry).15 E F2 .483(simple command)2.984 F F0(,)A F2(for) +2.983 E F0(command,)2.983 E F2(case)2.983 E F0(command,)2.983 E F2 +(select)144 692.4 Q F0 .562(command, e)3.062 F -.15(ve)-.25 G .563 (ry arithmetic).15 F F2(for)3.063 E F0 .563 -(command, and before the \214rst command e)3.063 F -.15(xe)-.15 G .562 -(cutes in a shell).15 F .622(function \(see)144 704.4 R F3 .622 +(command, and before the \214rst command e)3.063 F -.15(xe)-.15 G .563 +(cutes in a shell).15 F .623(function \(see)144 704.4 R F3 .622 (SHELL GRAMMAR)3.122 F F0(abo)2.872 E -.15(ve)-.15 G 3.122(\). Refer).15 F .622(to the description of the)3.122 F F1(extdeb)3.122 E(ug)-.2 E F0 .622(option to the)3.122 F F1(shopt)144 716.4 Q F0 -.2(bu)2.996 G .496 @@ -9386,38 +9425,38 @@ F .622(to the description of the)3.122 F F1(extdeb)3.122 E(ug)-.2 E F0 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G .18 (cuted with the).15 F F1(.)2.68 E F0(or)2.68 E F1(sour)2.68 E(ce)-.18 E F0 -.2(bu)2.68 G .18(iltins \214nishes).2 F(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(77)190.395 E 0 Cg EP +(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(77)185.545 E 0 Cg EP %%Page: 78 78 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -.15(exe)144 84 S -(cuting.).15 E .961(If a)144 102 R/F1 10/Times-Italic@0 SF(sigspec)3.801 -E F0(is)3.771 E/F2 9/Times-Bold@0 SF(ERR)3.461 E/F3 9/Times-Roman@0 SF -(,)A F0 .961(the command)3.211 F F1(ar)3.791 E(g)-.37 E F0 .961(is e) -3.681 F -.15(xe)-.15 G .961(cuted whene).15 F -.15(ve)-.25 G 3.461(ra) -.15 G .96(pipeline \(which may consist of a)-.001 F .185(single simple \ -command\), a list, or a compound command returns a non\255zero e)144 114 -R .185(xit status, subject to)-.15 F .452(the follo)144 126 R .452 -(wing conditions.)-.25 F(The)5.452 E F2(ERR)2.952 E F0 .451 -(trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .451 -(ailed command is part of the com-)-.1 F .387 -(mand list immediately follo)144 138 R .387(wing a)-.25 F/F4 10 -/Times-Bold@0 SF(while)2.887 E F0(or)2.887 E F4(until)2.888 E F0 -.1(ke) -2.888 G(yw)-.05 E .388(ord, part of the test in an)-.1 F F1(if)2.898 E -F0 .388(statement, part)4.848 F .778(of a command e)144 150 R -.15(xe) +(cuting.).15 E .96(If a)144 102 R/F1 10/Times-Italic@0 SF(sigspec)3.8 E +F0(is)3.77 E/F2 9/Times-Bold@0 SF(ERR)3.46 E/F3 9/Times-Roman@0 SF(,)A +F0 .96(the command)3.21 F F1(ar)3.791 E(g)-.37 E F0 .961(is e)3.681 F +-.15(xe)-.15 G .961(cuted whene).15 F -.15(ve)-.25 G 3.461(rap).15 G +.961(ipeline \(which may consist of a)-3.461 F .185(single simple comma\ +nd\), a list, or a compound command returns a non\255zero e)144 114 R +.184(xit status, subject to)-.15 F .451(the follo)144 126 R .451 +(wing conditions.)-.25 F(The)5.451 E F2(ERR)2.951 E F0 .451 +(trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .452 +(ailed command is part of the com-)-.1 F .388 +(mand list immediately follo)144 138 R .388(wing a)-.25 F/F4 10 +/Times-Bold@0 SF(while)2.888 E F0(or)2.888 E F4(until)2.888 E F0 -.1(ke) +2.888 G(yw)-.05 E .388(ord, part of the test in an)-.1 F F1(if)2.897 E +F0 .387(statement, part)4.847 F .777(of a command e)144 150 R -.15(xe) -.15 G .778(cuted in a).15 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E F0 .778(list e)3.278 F .778(xcept the command follo)-.15 F .778 -(wing the \214nal)-.25 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.277 E F0 -3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 162 R 1.28 +(wing the \214nal)-.25 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E F0 +3.278(,a)C -.15(ny)-3.278 G 1.28(command in a pipeline b)144 162 R 1.28 (ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)-3.78 F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F4(!) 3.78 E F0(.)A(These are the same conditions obe)144 174 Q(yed by the) -.15 E F4(err)2.5 E(exit)-.18 E F0(\()2.5 E F4A F0 2.5(\)o)C -(ption.)-2.5 E .133 +(ption.)-2.5 E .132 (Signals ignored upon entry to the shell cannot be trapped or reset.)144 -192 R -.35(Tr)5.132 G .132(apped signals that are not be-).35 F .117 +192 R -.35(Tr)5.133 G .133(apped signals that are not be-).35 F .117 (ing ignored are reset to their original v)144 204 R .117 (alues in a subshell or subshell en)-.25 F .117 (vironment when one is cre-)-.4 F 2.5(ated. The)144 216 R @@ -9425,71 +9464,71 @@ F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F4(!) (is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E F4(trap)2.5 E F0 (returns true.)2.5 E F4(type)108 232.8 Q F0([)2.5 E F4(\255aftpP)A F0(]) A F1(name)2.5 E F0([)2.5 E F1(name)A F0(...])2.5 E -.4(Wi)144 244.8 S -.174(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F1 -(name)3.034 E F0 -.1(wo)2.854 G .173 -(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F +.173(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F1 +(name)3.033 E F0 -.1(wo)2.853 G .174 +(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F F4144 256.8 Q F0 .715(option is used,)3.215 F F4(type)3.215 E F0 .715(prints a string which is one of)3.215 F F1(alias)3.545 E F0(,).27 E F1 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)5.185 E F0 (,).24 E F1 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F1 -(\214le)5.125 E F0(if)3.395 E F1(name)144.36 268.8 Q F0 .087 -(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087 -(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15 -(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F1 -(name)2.946 E F0 .086(is not)2.766 F .118 +(\214le)5.125 E F0(if)3.395 E F1(name)144.36 268.8 Q F0 .086 +(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086 +(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15 +(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F1 +(name)2.947 E F0 .087(is not)2.767 F .119 (found, then nothing is printed, and an e)144 280.8 R .118 -(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F -F42.619 E F0 .119(option is used,)2.619 F F4(type)2.619 E F0 .855 +(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F +F42.618 E F0 .118(option is used,)2.618 F F4(type)2.618 E F0 .855 (either returns the name of the disk \214le that w)144 292.8 R .855 (ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)3.715 E F0 -.855(were speci\214ed as a com-)3.535 F .528(mand name, or nothing if) +.855(were speci\214ed as a com-)3.535 F .529(mand name, or nothing if) 144 304.8 R/F5 10/Courier@0 SF .528(type -t name)3.028 F F0 -.1(wo)3.028 G .528(uld not return).1 F F1(\214le)4.938 E F0 5.528(.T).18 G(he)-5.528 -E F43.028 E F0 .529(option forces a)3.028 F F2 -.666(PA)3.029 G -(TH)-.189 E F0 .007(search for each)144 316.8 R F1(name)2.507 E F0 2.507 -(,e)C -.15(ve)-2.757 G 2.507(ni).15 G(f)-2.507 E F5 .007(type -t name) -2.507 F F0 -.1(wo)2.507 G .007(uld not return).1 F F1(\214le)4.417 E F0 -5.006(.I).18 G 2.506(fac)-5.006 G .006(ommand is hashed,)-2.506 F F4 -2.506 E F0(and)144 328.8 Q F43.23 E F0 .73 -(print the hashed v)3.23 F .731 +E F43.028 E F0 .528(option forces a)3.028 F F2 -.666(PA)3.028 G +(TH)-.189 E F0 .006(search for each)144 316.8 R F1(name)2.506 E F0 2.506 +(,e)C -.15(ve)-2.756 G 2.506(ni).15 G(f)-2.506 E F5 .007(type -t name) +2.506 F F0 -.1(wo)2.507 G .007(uld not return).1 F F1(\214le)4.417 E F0 +5.007(.I).18 G 2.507(fac)-5.007 G .007(ommand is hashed,)-2.507 F F4 +2.507 E F0(and)144 328.8 Q F43.231 E F0 .731 +(print the hashed v)3.231 F .73 (alue, which is not necessarily the \214le that appears \214rst in)-.25 -F F2 -.666(PA)3.231 G(TH)-.189 E F3(.)A F0 .731(If the)5.231 F F4 -144 340.8 Q F0 .824(option is used,)3.324 F F4(type)3.324 E F0 .824 -(prints all of the places that contain an e)3.324 F -.15(xe)-.15 G .823 -(cutable named).15 F F1(name)3.683 E F0 5.823(.T).18 G .823(his in-) --5.823 F 1.176(cludes aliases and functions, if and only if the)144 -352.8 R F43.676 E F0 1.176(option is not also used.)3.676 F 1.177 +F F2 -.666(PA)3.23 G(TH)-.189 E F3(.)A F0 .73(If the)5.23 F F4144 +340.8 Q F0 .823(option is used,)3.323 F F4(type)3.323 E F0 .824 +(prints all of the places that contain an e)3.323 F -.15(xe)-.15 G .824 +(cutable named).15 F F1(name)3.684 E F0 5.824(.T).18 G .824(his in-) +-5.824 F 1.176(cludes aliases and functions, if and only if the)144 +352.8 R F43.676 E F0 1.176(option is not also used.)3.676 F 1.176 (The table of hashed)6.176 F 1.223(commands is not consulted when using) 144 364.8 R F43.723 E F0 6.223(.T)C(he)-6.223 E F43.723 E F0 -1.223(option suppresses shell function lookup, as)3.723 F .325(with the) -144 376.8 R F4(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F4(type) -5.325 E F0 .325(returns true if all of the ar)2.825 F .326 -(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326 -(re not)-2.826 F(found.)144 388.8 Q F4(ulimit)108 405.6 Q F0([)2.5 E F4 +1.223(option suppresses shell function lookup, as)3.723 F .326(with the) +144 376.8 R F4(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F4(type) +5.326 E F0 .326(returns true if all of the ar)2.826 F .325 +(guments are found, f)-.18 F .325(alse if an)-.1 F 2.825(ya)-.15 G .325 +(re not)-2.825 F(found.)144 388.8 Q F4(ulimit)108 405.6 Q F0([)2.5 E F4 (\255HSabcde\214klmnpqrstuvxPT)A F0([)2.5 E F1(limit)A F0(]])A(Pro)144 -417.6 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15 G .244 -(he resources a)-2.744 F -.25(va)-.2 G .244 +417.6 Q .243(vides control o)-.15 F -.15(ve)-.15 G 2.743(rt).15 G .243 +(he resources a)-2.743 F -.25(va)-.2 G .244 (ilable to the shell and to processes started by it, on systems).25 F -.943(that allo)144 429.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F -(The)5.943 E F43.443 E F0(and)3.443 E F43.444 E F0 .944 +.944(that allo)144 429.6 R 3.444(ws)-.25 G .944(uch control.)-3.444 F +(The)5.944 E F43.444 E F0(and)3.444 E F43.444 E F0 .943 (options specify that the hard or soft limit is set for the)3.444 F(gi) -144 441.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208 +144 441.6 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208 (hard limit cannot be increased by a non-root user once it is set; a so\ -ft limit may)2.709 F .425(be increased up to the v)144 453.6 R .425 -(alue of the hard limit.)-.25 F .426(If neither)5.425 F F42.926 E -F0(nor)2.926 E F42.926 E F0 .426 -(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144 +ft limit may)2.708 F .426(be increased up to the v)144 453.6 R .426 +(alue of the hard limit.)-.25 F .425(If neither)5.426 F F42.925 E +F0(nor)2.925 E F42.925 E F0 .425 +(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144 465.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139 (can be a number in the unit speci\214ed for the resource or one)3.319 F -.741(of the special v)144 477.6 R(alues)-.25 E F4(hard)3.241 E F0(,)A F4 +.742(of the special v)144 477.6 R(alues)-.25 E F4(hard)3.242 E F0(,)A F4 (soft)3.241 E F0 3.241(,o)C(r)-3.241 E F4(unlimited)3.241 E F0 3.241(,w) -C .741(hich stand for the current hard limit, the current)-3.241 F .024 +C .741(hich stand for the current hard limit, the current)-3.241 F .023 (soft limit, and no limit, respecti)144 489.6 R -.15(ve)-.25 G(ly).15 E 5.023(.I)-.65 G(f)-5.023 E F1(limit)2.613 E F0 .023 (is omitted, the current v)3.203 F .023 -(alue of the soft limit of the re-)-.25 F .984 -(source is printed, unless the)144 501.6 R F43.484 E F0 .984 -(option is gi)3.484 F -.15(ve)-.25 G 3.484(n. When).15 F .985 +(alue of the soft limit of the re-)-.25 F .985 +(source is printed, unless the)144 501.6 R F43.485 E F0 .984 +(option is gi)3.485 F -.15(ve)-.25 G 3.484(n. When).15 F .984 (more than one resource is speci\214ed, the)3.484 F (limit name and unit are printed before the v)144 513.6 Q 2.5 (alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F4 @@ -9510,7 +9549,7 @@ Q F0(The maximum size of a process')180 561.6 Q 2.5(sd)-.55 G(ata se) (The maximum resident set size \(man)180 633.6 Q 2.5(ys)-.15 G (ystems do not honor this limit\))-2.5 E F4144 645.6 Q F0 .791(Th\ e maximum number of open \214le descriptors \(most systems do not allo) -180 645.6 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F +180 645.6 R 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F (be set\))180 657.6 Q F4144 669.6 Q F0 (The pipe size in 512-byte blocks \(this may not be set\))180 669.6 Q F4 144 681.6 Q F0 @@ -9518,7 +9557,8 @@ e maximum number of open \214le descriptors \(most systems do not allo) 144 693.6 Q F0(The maximum real-time scheduling priority)180 693.6 Q F4144 705.6 Q F0(The maximum stack size)180 705.6 Q F4144 717.6 Q F0(The maximum amount of cpu time in seconds)180 717.6 Q -(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(78)190.395 E 0 Cg EP +(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(78)185.545 E 0 Cg EP %%Page: 79 79 %%BeginPageSetup BP @@ -9536,15 +9576,15 @@ Q/F2 10/Times-Italic@0 SF(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve) -.25 G .468(n, and the).15 F F12.968 E F0 .468 (option is not used,)2.968 F F2(limit)2.968 E F0 .468(is the ne)2.968 F 2.968(wv)-.25 G .468(alue of the speci\214ed resource.)-3.218 F(If)5.468 -E .044(no option is gi)144 172.8 R -.15(ve)-.25 G .044(n, then).15 F F1 -2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045 -(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1 -2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .673(in seconds;)144 -184.8 R F13.173 E F0 3.172(,w)C .672 +E .045(no option is gi)144 172.8 R -.15(ve)-.25 G .045(n, then).15 F F1 +2.545 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045 +(lues are in 1024-byte increments, e)1.11 F .044(xcept for)-.15 F F1 +2.544 E F0 2.544(,w)C .044(hich is)-2.544 F .672(in seconds;)144 +184.8 R F13.172 E F0 3.172(,w)C .672 (hich is in units of 512-byte blocks;)-3.172 F F13.172 E F0(,)A F1 3.172 E F0(,)A F13.172 E F0(,)A F13.172 E F0(,)A F1 3.172 E F0 3.172(,a)C(nd)-3.172 E F13.172 E F0 3.172(,w)C -.672(hich are un-)-3.172 F .36(scaled v)144 196.8 R .36 +.673(hich are un-)-3.172 F .36(scaled v)144 196.8 R .36 (alues; and, when in posix mode,)-.25 F F12.86 E F0(and)2.86 E F1 2.86 E F0 2.86(,w)C .36(hich are in 512-byte increments.)-2.86 F .36(The return)5.36 F .411(status is 0 unless an in)144 208.8 R -.25(va) @@ -9557,222 +9597,236 @@ E(limit.)144 220.8 Q F1(umask)108 237.6 Q F0([)2.5 E F1A F0 2.5 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\ therwise it is interpreted as a symbolic mode mask similar to that acce\ pted by)144 261.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 -273.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382 +273.6 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382 (alue of the mask is printed.)-.25 F(The)5.382 E F12.882 E F0 .382 (option causes the mask to be)2.882 F .547 (printed in symbolic form; the def)144 285.6 R .547 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G (he)-3.047 E F13.047 E F0 .547(option is supplied, and)3.047 F F2 -(mode)144.38 297.6 Q F0 .551 -(is omitted, the output is in a form that may be reused as input.)3.231 -F .552(The return status is 0 if the)5.552 F(mode w)144 309.6 Q +(mode)144.38 297.6 Q F0 .552 +(is omitted, the output is in a form that may be reused as input.)3.232 +F .551(The return status is 0 if the)5.551 F(mode w)144 309.6 Q (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1 (unalias)108 326.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0 -(...])2.5 E(Remo)144 338.4 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name) -3.258 E F0 .758(from the list of de\214ned aliases.)3.258 F(If)5.758 E -F13.258 E F0 .757(is supplied, all alias de\214nitions are re-) +(...])2.5 E(Remo)144 338.4 Q 1.057 -.15(ve e)-.15 H(ach).15 E F2(name) +3.257 E F0 .757(from the list of de\214ned aliases.)3.257 F(If)5.758 E +F13.258 E F0 .758(is supplied, all alias de\214nitions are re-) 3.258 F(mo)144 350.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E (alue is true unless a supplied)-.25 E F2(name)2.86 E F0 (is not a de\214ned alias.)2.68 E F1(unset)108 367.2 Q F0<5bad>2.5 E F1 (fv)A F0 2.5(][)C-2.5 E F1(n)A F0 2.5(][)C F2(name)-2.5 E F0(...]) -2.5 E -.15(Fo)144 379.2 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0 -3.803(,r).18 G(emo)-3.803 E 1.603 -.15(ve t)-.15 H 1.303 +2.5 E -.15(Fo)144 379.2 S 3.804(re).15 G(ach)-3.804 E F2(name)4.164 E F0 +3.804(,r).18 G(emo)-3.804 E 1.604 -.15(ve t)-.15 H 1.304 (he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303 -(If the)6.303 F F13.804 E F0 1.304(option is gi)3.804 F -.15(ve) --.25 G 1.304(n, each).15 F F2(name)144.36 391.2 Q F0 .465 -(refers to a shell v)3.145 F .464(ariable, and that v)-.25 F .464 -(ariable is remo)-.25 F -.15(ve)-.15 G 2.964(d. Read-only).15 F -.25(va) -2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 403.2 R F1 -2.768 E F0 .269(is speci\214ed, each)2.768 F F2(name)3.129 E F0 +(If the)6.303 F F13.803 E F0 1.303(option is gi)3.803 F -.15(ve) +-.25 G 1.303(n, each).15 F F2(name)144.36 391.2 Q F0 .464 +(refers to a shell v)3.144 F .464(ariable, and that v)-.25 F .464 +(ariable is remo)-.25 F -.15(ve)-.15 G 2.965(d. Read-only).15 F -.25(va) +2.965 G .465(riables may not be un-).25 F 2.769(set. If)144 403.2 R F1 +2.769 E F0 .269(is speci\214ed, each)2.769 F F2(name)3.129 E F0 .269(refers to a shell function, and the function de\214nition is remo) -2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 415.2 R F12.904 E +2.949 F -.15(ve)-.15 G(d.).15 E .403(If the)144 415.2 R F12.903 E F0 .404(option is supplied, and)2.904 F F2(name)2.904 E F0 .404(is a v) 2.904 F .404(ariable with the)-.25 F F2(namer)2.904 E(ef)-.37 E F0 -(attrib)2.904 E(ute,)-.2 E F2(name)2.904 E F0 .403(will be unset)2.904 F -.719(rather than the v)144 427.2 R .719(ariable it references.)-.25 F F1 -5.719 E F0 .719(has no ef)3.219 F .719(fect if the)-.25 F F1 -3.22 E F0 .72(option is supplied.)3.22 F .72(If no options)5.72 F .19 -(are supplied, each)144 439.2 R F2(name)2.69 E F0 .19(refers to a v)2.69 -F .189(ariable; if there is no v)-.25 F .189(ariable by that name, an) --.25 F 2.689(yf)-.15 G .189(unction with)-2.689 F 1.115 -(that name is unset.)144 451.2 R 1.115(Each unset v)6.115 F 1.115 -(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.616(df).15 G 1.116 -(rom the en)-3.616 F 1.116(vironment passed to)-.4 F 1.501 -(subsequent commands.)144 463.2 R 1.501(If an)6.501 F 4.001(yo)-.15 G(f) +(attrib)2.904 E(ute,)-.2 E F2(name)2.904 E F0 .404(will be unset)2.904 F +.72(rather than the v)144 427.2 R .72(ariable it references.)-.25 F F1 +5.72 E F0 .72(has no ef)3.22 F .719(fect if the)-.25 F F1 +3.219 E F0 .719(option is supplied.)3.219 F .719(If no options)5.719 F +.189(are supplied, each)144 439.2 R F2(name)2.689 E F0 .189 +(refers to a v)2.689 F .189(ariable; if there is no v)-.25 F .19 +(ariable by that name, an)-.25 F 2.69(yf)-.15 G .19(unction with)-2.69 F +1.116(that name is unset.)144 451.2 R 1.116(Each unset v)6.116 F 1.115 +(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.615(df).15 G 1.115 +(rom the en)-3.615 F 1.115(vironment passed to)-.4 F 1.5 +(subsequent commands.)144 463.2 R 1.501(If an)6.5 F 4.001(yo)-.15 G(f) -4.001 E/F3 9/Times-Bold@0 SF -.27(BA)4.001 G(SH_ALIASES).27 E/F4 9 /Times-Roman@0 SF(,)A F3 -.27(BA)3.751 G(SH_ARGV0).27 E F4(,)A F3 -.27 -(BA)3.75 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)3.75 G(SH_COM-).27 E(MAND)144 -475.2 Q F4(,)A F3 -.27(BA)2.845 G(SH_SUBSHELL).27 E F4(,)A F3 -.27(BA) -2.846 G(SHPID).27 E F4(,)A F3(COMP_W)2.846 E(ORDBREAKS)-.09 E F4(,)A F3 -(DIRST)2.846 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)2.846 E -(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)144 487.2 Q F4(,)A F3(FUNCN)6.481 E -(AME)-.18 E F4(,)A F3(GR)6.481 E(OUPS)-.27 E F4(,)A F3(HISTCMD)6.481 E -F4(,)A F3(LINENO)6.481 E F4(,)A F3(RANDOM)6.48 E F4(,)A F3(SECONDS)6.48 -E F4(,)A F0(or)6.48 E F3(SRANDOM)144 499.2 Q F0 .831(are unset, the) -3.081 F 3.332(yl)-.15 G .832(ose their special properties, e)-3.332 F +(BA)3.751 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)3.751 G(SH_COM-).27 E(MAND) +144 475.2 Q F4(,)A F3 -.27(BA)2.846 G(SH_SUBSHELL).27 E F4(,)A F3 -.27 +(BA)2.846 G(SHPID).27 E F4(,)A F3(COMP_W)2.846 E(ORDBREAKS)-.09 E F4(,)A +F3(DIRST)2.846 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)2.845 E +(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)144 487.2 Q F4(,)A F3(FUNCN)6.48 E +(AME)-.18 E F4(,)A F3(GR)6.48 E(OUPS)-.27 E F4(,)A F3(HISTCMD)6.48 E F4 +(,)A F3(LINENO)6.481 E F4(,)A F3(RANDOM)6.481 E F4(,)A F3(SECONDS)6.481 +E F4(,)A F0(or)6.481 E F3(SRANDOM)144 499.2 Q F0 .832(are unset, the) +3.082 F 3.332(yl)-.15 G .832(ose their special properties, e)-3.332 F -.15(ve)-.25 G 3.332(ni).15 G 3.332(ft)-3.332 G(he)-3.332 E 3.332(ya) --.15 G .832(re subsequently reset.)-3.332 F(The)5.832 E -.15(ex)144 +-.15 G .832(re subsequently reset.)-3.332 F(The)5.831 E -.15(ex)144 511.2 S(it status is true unless a).15 E F2(name)2.86 E F0(is readonly) -2.68 E(.)-.65 E F1(wait)108 528 Q F0([)2.5 E F1(\255fn)A F0 2.5(][)C F2 -(id ...)-2.5 E F0(])A -.8(Wa)144 540 S .659(it for each speci\214ed chi\ -ld process and return its termination status.).8 F(Each)5.659 E F2(id) -3.169 E F0 .658(may be a process)3.928 F .008 +2.68 E(.)-.65 E F1(wait)108 528 Q F0([)2.5 E F1(\255fn)A F0 2.5(][)C F1 +-2.5 E F2(varname)2.5 E F0 2.5(][)C F2(id ...)-2.5 E F0(])A -.8 +(Wa)144 540 S .659(it for each speci\214ed child process and return its\ + termination status.).8 F(Each)5.659 E F2(id)3.169 E F0 .659 +(may be a process)3.929 F .009 (ID or a job speci\214cation; if a job spec is gi)144 552 R -.15(ve)-.25 -G .009(n, all processes in that job').15 F 2.509(sp)-.55 G .009 -(ipeline are w)-2.509 F .009(aited for)-.1 F 5.009(.I)-.55 G(f)-5.009 E -F2(id)144.01 564 Q F0 .442(is not gi)3.712 F -.15(ve)-.25 G(n,).15 E F1 -(wait)2.942 E F0 -.1(wa)2.942 G .441 +G .008(n, all processes in that job').15 F 2.508(sp)-.55 G .008 +(ipeline are w)-2.508 F .008(aited for)-.1 F 5.008(.I)-.55 G(f)-5.008 E +F2(id)144.01 564 Q F0 .441(is not gi)3.711 F -.15(ve)-.25 G(n,).15 E F1 +(wait)2.941 E F0 -.1(wa)2.941 G .441 (its for all running background jobs and the last-e).1 F -.15(xe)-.15 G -.441(cuted process substitu-).15 F .597 +.442(cuted process substitu-).15 F .598 (tion, if its process id is the same as)144 576 R F1($!)3.098 E F0 3.098 -(,a)C .598(nd the return status is zero.)-3.098 F .598(If the)5.598 F F1 -3.098 E F0 .598(option is supplied,)3.098 F F1(wait)144 588 Q F0 --.1(wa)3.057 G .557(its for a single job to terminate and returns its e) -.1 F .556(xit status.)-.15 F .556(Supplying the)5.556 F F13.056 E -F0 .556(option, when)3.056 F .345(job control is enabled, forces)144 600 -R F1(wait)2.846 E F0 .346(to w)2.846 F .346(ait for)-.1 F F2(id)2.846 E -F0 .346(to terminate before returning its status, instead of)2.846 F .6 -(returning when it changes status.)144 612 R(If)5.6 E F2(id)3.11 E F0 -.599(speci\214es a non-e)3.869 F .599 -(xistent process or job, the return status is)-.15 F 2.5 -(127. Otherwise,)144 624 R(the return status is the e)2.5 E +(,a)C .598(nd the return status is zero.)-3.098 F .597(If the)5.597 F F1 +3.097 E F0 .597(option is supplied,)3.097 F F1(wait)144 588 Q F0 +-.1(wa)2.793 G .293(its for a single job to terminate and returns its e) +.1 F .293(xit status.)-.15 F .293(If the)5.293 F F12.793 E F0 .294 +(option is supplied, the)2.793 F .636 +(process or job identi\214er of the job for which the e)144 600 R .636 +(xit status is returned is assigned to the v)-.15 F(ariable)-.25 E F2 +(varname)144 612 Q F0 1.016(named by the option ar)3.516 F 3.516 +(gument. The)-.18 F -.25(va)3.516 G 1.017 +(riable will be unset initially).25 F 3.517(,b)-.65 G 1.017(efore an) +-3.517 F 3.517(ya)-.15 G(ssign-)-3.517 E 2.673(ment. This)144 624 R .173 +(is useful only when the)2.673 F F12.672 E F0 .172 +(option is supplied.)2.672 F .172(Supplying the)5.172 F F12.672 E +F0 .172(option, when job con-)2.672 F .346(trol is enabled, forces)144 +636 R F1(wait)2.846 E F0 .346(to w)2.846 F .346(ait for)-.1 F F2(id) +2.846 E F0 .347 +(to terminate before returning its status, instead of return-)2.846 F +.793(ing when it changes status.)144 648 R(If)5.793 E F2(id)3.303 E F0 +.792(speci\214es a non-e)4.062 F .792 +(xistent process or job, the return status is 127.)-.15 F +(Otherwise, the return status is the e)144 660 Q (xit status of the last process or job w)-.15 E(aited for)-.1 E(.)-.55 E -/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 640.8 Q F0(If)108 652.8 Q +/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 676.8 Q F0(If)108 688.8 Q F1(bash)3.581 E F0 1.081(is started with the name)3.581 F F1(rbash)3.581 E F0 3.581(,o)C 3.581(rt)-3.581 G(he)-3.581 E F13.581 E F0 1.081 (option is supplied at in)3.581 F -.2(vo)-.4 G 1.081 -(cation, the shell becomes re-).2 F 2.977(stricted. A)108 664.8 R .476 +(cation, the shell becomes re-).2 F 2.977(stricted. A)108 700.8 R .476 (restricted shell is used to set up an en)2.977 F .476 (vironment more controlled than the standard shell.)-.4 F .476(It be-) -5.476 F(ha)108 676.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E +5.476 F(ha)108 712.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E -(wing are disallo)-.25 E(wed or not performed:)-.25 E<83>108 693.6 Q -(changing directories with)144 693.6 Q F1(cd)2.5 E F0<83>108 710.4 Q -(setting or unsetting the v)144 710.4 Q(alues of)-.25 E F3(SHELL)2.5 E -F4(,)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(GNU Bash 5.0)72 768 Q -(2019 October 30)141.235 E(79)190.395 E 0 Cg EP +(wing are disallo)-.25 E(wed or not performed:)-.25 E(GNU Bash 5.0)72 +768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(79)185.545 E 0 Cg +EP %%Page: 80 80 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E<83>108 84 Q -(specifying command names containing)144 84 Q/F1 10/Times-Bold@0 SF(/) -2.5 E F0<83>108 100.8 Q(specifying a \214lename containing a)144 100.8 Q -F1(/)2.5 E F0(as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 -.2(bu)5 -G(iltin command).2 E<83>108 117.6 Q .449 -(specifying a \214lename containing a slash as an ar)144 117.6 R .449 +(changing directories with)144 84 Q/F1 10/Times-Bold@0 SF(cd)2.5 E F0 +<83>108 100.8 Q(setting or unsetting the v)144 100.8 Q(alues of)-.25 E +/F2 9/Times-Bold@0 SF(SHELL)2.5 E/F3 9/Times-Roman@0 SF(,)A F2 -.666(PA) +2.25 G(TH)-.189 E F3(,)A F2(ENV)2.25 E F3(,)A F0(or)2.25 E F2 -.27(BA) +2.5 G(SH_ENV).27 E F0<83>108 117.6 Q +(specifying command names containing)144 117.6 Q F1(/)2.5 E F0<83>108 +134.4 Q(specifying a \214lename containing a)144 134.4 Q F1(/)2.5 E F0 +(as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 -.2(bu)5 G +(iltin command).2 E<83>108 151.2 Q .449 +(specifying a \214lename containing a slash as an ar)144 151.2 R .449 (gument to the)-.18 F F12.95 E F0 .45(option to the)2.95 F F1 -(hash)2.95 E F0 -.2(bu)2.95 G .45(iltin com-).2 F(mand)144 129.6 Q<83> -108 146.4 Q(importing function de\214nitions from the shell en)144 146.4 -Q(vironment at startup)-.4 E<83>108 163.2 Q(parsing the v)144 163.2 Q -(alue of)-.25 E/F2 9/Times-Bold@0 SF(SHELLOPTS)2.5 E F0 -(from the shell en)2.25 E(vironment at startup)-.4 E<83>108 180 Q(redir\ -ecting output using the >, >|, <>, >&, &>, and >> redirection operators) -144 180 Q<83>108 196.8 Q(using the)144 196.8 Q F1(exec)2.5 E F0 -.2(bu) -2.5 G(iltin command to replace the shell with another command).2 E<83> -108 213.6 Q(adding or deleting b)144 213.6 Q(uiltin commands with the) --.2 E F12.5 E F0(and)2.5 E F12.5 E F0(options to the)2.5 E -F1(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 230.4 Q -(using the)144 230.4 Q F1(enable)2.5 E F0 -.2(bu)2.5 G +(hash)2.95 E F0 -.2(bu)2.95 G .45(iltin com-).2 F(mand)144 163.2 Q<83> +108 180 Q(importing function de\214nitions from the shell en)144 180 Q +(vironment at startup)-.4 E<83>108 196.8 Q(parsing the v)144 196.8 Q +(alue of)-.25 E F2(SHELLOPTS)2.5 E F0(from the shell en)2.25 E +(vironment at startup)-.4 E<83>108 213.6 Q(redirecting output using the\ + >, >|, <>, >&, &>, and >> redirection operators)144 213.6 Q<83>108 +230.4 Q(using the)144 230.4 Q F1(exec)2.5 E F0 -.2(bu)2.5 G +(iltin command to replace the shell with another command).2 E<83>108 +247.2 Q(adding or deleting b)144 247.2 Q(uiltin commands with the)-.2 E +F12.5 E F0(and)2.5 E F12.5 E F0(options to the)2.5 E F1 +(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 264 Q(using the) +144 264 Q F1(enable)2.5 E F0 -.2(bu)2.5 G (iltin command to enable disabled shell b).2 E(uiltins)-.2 E<83>108 -247.2 Q(specifying the)144 247.2 Q F12.5 E F0(option to the)2.5 E -F1(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 264 Q -(turning of)144 264 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F1 +280.8 Q(specifying the)144 280.8 Q F12.5 E F0(option to the)2.5 E +F1(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 297.6 Q +(turning of)144 297.6 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F1 (set +r)2.5 E F0(or)2.5 E F1(set +o r)2.5 E(estricted)-.18 E F0(.)A -(These restrictions are enforced after an)108 280.8 Q 2.5(ys)-.15 G +(These restrictions are enforced after an)108 314.4 Q 2.5(ys)-.15 G (tartup \214les are read.)-2.5 E 1.566 -(When a command that is found to be a shell script is e)108 297.6 R -.15 +(When a command that is found to be a shell script is e)108 331.2 R -.15 (xe)-.15 G 1.566(cuted \(see).15 F F2 1.566(COMMAND EXECUTION)4.066 F F0 -(abo)3.816 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 309.6 Q F0(turns of) +(abo)3.816 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 343.2 Q F0(turns of) 2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H(estrictions in the shell spa).15 -E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E/F3 10.95 -/Times-Bold@0 SF(SEE ALSO)72 326.4 Q/F4 10/Times-Italic@0 SF(Bash Refer) -108 338.4 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)-2.5 E -(ox and Chet Rame)-.15 E(y)-.15 E F4(The Gnu Readline Libr)108 350.4 Q -(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E -F4(The Gnu History Libr)108 362.4 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E -(ox and Chet Rame)-.15 E(y)-.15 E F4 -.8(Po)108 374.4 S(rtable Oper).8 E +E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E/F4 10.95 +/Times-Bold@0 SF(SEE ALSO)72 360 Q/F5 10/Times-Italic@0 SF(Bash Refer) +108 372 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame) +-.15 E(y)-.15 E F5(The Gnu Readline Libr)108 384 Q(ary)-.15 E F0 2.5(,B) +C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F5 +(The Gnu History Libr)108 396 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E +(ox and Chet Rame)-.15 E(y)-.15 E F5 -.8(Po)108 408 S(rtable Oper).8 E (ating System Interface \(POSIX\) P)-.15 E(art 2: Shell and Utilities) --.8 E F0 2.5(,I)C(EEE --)-2.5 E(http://pubs.opengroup.or)144 386.4 Q -(g/onlinepubs/9699919799/)-.18 E(http://tiswww)108 398.4 Q -(.case.edu/~chet/bash/POSIX -- a description of posix mode)-.65 E F4(sh) -108 410.4 Q F0(\(1\),)A F4(ksh)2.5 E F0(\(1\),)A F4(csh)2.5 E F0(\(1\))A -F4(emacs)108 422.4 Q F0(\(1\),)A F4(vi)2.5 E F0(\(1\))A F4 -.37(re)108 -434.4 S(adline).37 E F0(\(3\))A F3(FILES)72 451.2 Q F4(/bin/bash)109.666 -463.2 Q F0(The)144 475.2 Q F1(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E -F4(/etc/pr)109.666 487.2 Q(o\214le)-.45 E F0 -(The systemwide initialization \214le, e)144 499.2 Q -.15(xe)-.15 G -(cuted for login shells).15 E F4(~/.bash_pr)109.666 511.2 Q(o\214le)-.45 -E F0(The personal initialization \214le, e)144 523.2 Q -.15(xe)-.15 G -(cuted for login shells).15 E F4(~/.bashr)109.666 535.2 Q(c)-.37 E F0 -(The indi)144 547.2 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G -(-shell startup \214le).15 E F4(~/.bash_lo)109.666 559.2 Q(gout)-.1 E F0 -(The indi)144 571.2 Q(vidual login shell cleanup \214le, e)-.25 E -.15 -(xe)-.15 G(cuted when a login shell e).15 E(xits)-.15 E F4(~/.inputr) -109.666 583.2 Q(c)-.37 E F0(Indi)144 595.2 Q(vidual)-.25 E F4 -.37(re) -2.5 G(adline).37 E F0(initialization \214le)2.5 E F3 -.548(AU)72 612 S -(THORS).548 E F0(Brian F)108 624 Q(ox, Free Softw)-.15 E(are F)-.1 E -(oundation)-.15 E(bfox@gnu.or)108 636 Q(g)-.18 E(Chet Rame)108 652.8 Q +-.8 E F0 2.5(,I)C(EEE --)-2.5 E(http://pubs.opengroup.or)144 420 Q +(g/onlinepubs/9699919799/)-.18 E(http://tiswww)108 432 Q +(.case.edu/~chet/bash/POSIX -- a description of posix mode)-.65 E F5(sh) +108 444 Q F0(\(1\),)A F5(ksh)2.5 E F0(\(1\),)A F5(csh)2.5 E F0(\(1\))A +F5(emacs)108 456 Q F0(\(1\),)A F5(vi)2.5 E F0(\(1\))A F5 -.37(re)108 468 +S(adline).37 E F0(\(3\))A F4(FILES)72 484.8 Q F5(/bin/bash)109.666 496.8 +Q F0(The)144 508.8 Q F1(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E F5 +(/etc/pr)109.666 520.8 Q(o\214le)-.45 E F0 +(The systemwide initialization \214le, e)144 532.8 Q -.15(xe)-.15 G +(cuted for login shells).15 E F5(~/.bash_pr)109.666 544.8 Q(o\214le)-.45 +E F0(The personal initialization \214le, e)144 556.8 Q -.15(xe)-.15 G +(cuted for login shells).15 E F5(~/.bashr)109.666 568.8 Q(c)-.37 E F0 +(The indi)144 580.8 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G +(-shell startup \214le).15 E F5(~/.bash_lo)109.666 592.8 Q(gout)-.1 E F0 +(The indi)144 604.8 Q(vidual login shell cleanup \214le, e)-.25 E -.15 +(xe)-.15 G(cuted when a login shell e).15 E(xits)-.15 E F5(~/.inputr) +109.666 616.8 Q(c)-.37 E F0(Indi)144 628.8 Q(vidual)-.25 E F5 -.37(re) +2.5 G(adline).37 E F0(initialization \214le)2.5 E F4 -.548(AU)72 645.6 S +(THORS).548 E F0(Brian F)108 657.6 Q(ox, Free Softw)-.15 E(are F)-.1 E +(oundation)-.15 E(bfox@gnu.or)108 669.6 Q(g)-.18 E(Chet Rame)108 686.4 Q 1.3 -.65(y, C)-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni) --2.5 E -.15(ve)-.25 G(rsity).15 E(chet.rame)108 664.8 Q(y@case.edu)-.15 -E F3 -.11(BU)72 681.6 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567 -(If you \214nd a b)108 693.6 R .568(ug in)-.2 F F1(bash,)3.068 E F0 .568 -(you should report it.)3.068 F .568(But \214rst, you should mak)5.568 F -3.068(es)-.1 G .568(ure that it really is a b)-3.068 F .568(ug, and)-.2 -F 5.626(that it appears in the latest v)108 705.6 R 5.625(ersion of)-.15 -F F1(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.625 -(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625 -(ilable from).25 F F4(ftp://ftp.gnu.or)108 717.6 Q(g/pub/gnu/bash/)-.37 -E F0(.)A(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 E(80)190.395 E 0 -Cg EP +-2.5 E -.15(ve)-.25 G(rsity).15 E(chet.rame)108 698.4 Q(y@case.edu)-.15 +E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15(ve)-.15 G(mber 22).15 E +(80)185.545 E 0 Cg EP %%Page: 81 81 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .41(Once you ha) -108 84 R .71 -.15(ve d)-.2 H .41(etermined that a b).15 F .41 -(ug actually e)-.2 F .411(xists, use the)-.15 F/F1 10/Times-Italic@0 SF -(bashb)3.181 E(ug)-.2 E F0 .411(command to submit a b)3.131 F .411 -(ug report.)-.2 F(If)5.411 E .595(you ha)108 96 R .895 -.15(ve a \214) --.2 H .595(x, you are encouraged to mail that as well!).15 F .594 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10.95 +/Times-Bold@0 SF -.11(BU)72 84 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E +F0 .567(If you \214nd a b)108 96 R .568(ug in)-.2 F/F2 10/Times-Bold@0 +SF(bash,)3.068 E F0 .568(you should report it.)3.068 F .568 +(But \214rst, you should mak)5.568 F 3.068(es)-.1 G .568 +(ure that it really is a b)-3.068 F .568(ug, and)-.2 F 5.626 +(that it appears in the latest v)108 108 R 5.625(ersion of)-.15 F F2 +(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.625 +(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625 +(ilable from).25 F/F3 10/Times-Italic@0 SF(ftp://ftp.gnu.or)108 120 Q +(g/pub/gnu/bash/)-.37 E F0(.)A .41(Once you ha)108 136.8 R .71 -.15 +(ve d)-.2 H .41(etermined that a b).15 F .41(ug actually e)-.2 F .411 +(xists, use the)-.15 F F3(bashb)3.181 E(ug)-.2 E F0 .411 +(command to submit a b)3.131 F .411(ug report.)-.2 F(If)5.411 E .595 +(you ha)108 148.8 R .895 -.15(ve a \214)-.2 H .595 +(x, you are encouraged to mail that as well!).15 F .594 (Suggestions and `philosophical' b)5.595 F .594(ug reports may)-.2 F -(be mailed to)108 108 Q F1 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0 -(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E/F2 10/Times-Bold@0 SF -(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(ALL b)108 124.8 Q -(ug reports should include:)-.2 E(The v)108 141.6 Q(ersion number of) --.15 E F2(bash)2.5 E F0(The hardw)108 153.6 Q(are and operating system) --.1 E(The compiler used to compile)108 165.6 Q 2.5(Ad)108 177.6 S -(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E 2.5(As)108 189.6 S -(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 G(rcises the b).15 -E(ug)-.2 E F1(bashb)108.27 206.4 Q(ug)-.2 E F0 +(be mailed to)108 160.8 Q F3 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0 +(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F2(gnu.bash.b)2.5 E(ug) +-.2 E F0(.)A(ALL b)108 177.6 Q(ug reports should include:)-.2 E(The v) +108 194.4 Q(ersion number of)-.15 E F2(bash)2.5 E F0(The hardw)108 206.4 +Q(are and operating system)-.1 E(The compiler used to compile)108 218.4 +Q 2.5(Ad)108 230.4 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 +E 2.5(As)108 242.4 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 +G(rcises the b).15 E(ug)-.2 E F3(bashb)108.27 259.2 Q(ug)-.2 E F0 (inserts the \214rst three items automatically into the template it pro) 2.72 E(vides for \214ling a b)-.15 E(ug report.)-.2 E(Comments and b)108 -223.2 Q(ug reports concerning this manual page should be directed to)-.2 -E F1 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.) -.25 E/F3 10.95/Times-Bold@0 SF -.11(BU)72 240 S(GS).11 E F0(It')108 252 -Q 2.5(st)-.55 G(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.868 -(There are some subtle dif)108 268.8 R 1.868(ferences between)-.25 F F2 +276 Q(ug reports concerning this manual page should be directed to)-.2 E +F3 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.).25 +E F1 -.11(BU)72 292.8 S(GS).11 E F0(It')108 304.8 Q 2.5(st)-.55 G +(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.868 +(There are some subtle dif)108 321.6 R 1.868(ferences between)-.25 F F2 (bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F F2(sh)4.369 E F0 4.369(,m)C 1.869(ostly because of the)-4.369 F/F4 9 -/Times-Bold@0 SF(POSIX)108 280.8 Q F0(speci\214cation.)2.25 E -(Aliases are confusing in some uses.)108 297.6 Q(Shell b)108 314.4 Q +/Times-Bold@0 SF(POSIX)108 333.6 Q F0(speci\214cation.)2.25 E +(Aliases are confusing in some uses.)108 350.4 Q(Shell b)108 367.2 Q (uiltin commands and functions are not stoppable/restartable.)-.2 E 1.315(Compound commands and command sequences of the form `a ; b ; c' a\ -re not handled gracefully when)108 331.2 R .389 -(process suspension is attempted.)108 343.2 R .389 +re not handled gracefully when)108 384 R .389 +(process suspension is attempted.)108 396 R .389 (When a process is stopped, the shell immediately e)5.389 F -.15(xe)-.15 G .39(cutes the ne).15 F .39(xt com-)-.15 F .193(mand in the sequence.) -108 355.2 R .192(It suf)5.193 F .192(\214ces to place the sequence of c\ -ommands between parentheses to force it into a)-.25 F -(subshell, which may be stopped as a unit.)108 367.2 Q(Array v)108 384 Q +108 408 R .192(It suf)5.193 F .192(\214ces to place the sequence of com\ +mands between parentheses to force it into a)-.25 F +(subshell, which may be stopped as a unit.)108 420 Q(Array v)108 436.8 Q (ariables may not \(yet\) be e)-.25 E(xported.)-.15 E -(There may be only one acti)108 400.8 Q .3 -.15(ve c)-.25 H -(oprocess at a time.).15 E(GNU Bash 5.0)72 768 Q(2019 October 30)141.235 -E(81)190.395 E 0 Cg EP +(There may be only one acti)108 453.6 Q .3 -.15(ve c)-.25 H +(oprocess at a time.).15 E(GNU Bash 5.0)72 768 Q(2019 No)136.385 E -.15 +(ve)-.15 G(mber 22).15 E(81)185.545 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/bashref.aux b/doc/bashref.aux index d4e2c9b8..20aabc6b 100644 --- a/doc/bashref.aux +++ b/doc/bashref.aux @@ -87,13 +87,13 @@ @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} diff --git a/doc/bashref.bts b/doc/bashref.bts index f239a8de..b920ac06 100644 --- a/doc/bashref.bts +++ b/doc/bashref.bts @@ -1,80 +1,80 @@ \initial {.} -\entry {\code {.}}{44} +\entry{\code {.}}{44} \initial {:} -\entry {\code {:}}{44} +\entry{\code {:}}{44} \initial {[} -\entry {\code {[}}{48} +\entry{\code {[}}{48} \initial {A} -\entry {\code {alias}}{51} +\entry{\code {alias}}{51} \initial {B} -\entry {\code {bg}}{106} -\entry {\code {bind}}{51} -\entry {\code {break}}{45} -\entry {\code {builtin}}{53} +\entry{\code {bg}}{106} +\entry{\code {bind}}{51} +\entry{\code {break}}{45} +\entry{\code {builtin}}{53} \initial {C} -\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 {continue}}{45} +\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 {continue}}{45} \initial {D} -\entry {\code {declare}}{53} -\entry {\code {dirs}}{97} -\entry {\code {disown}}{107} +\entry{\code {declare}}{53} +\entry{\code {dirs}}{97} +\entry{\code {disown}}{107} \initial {E} -\entry {\code {echo}}{55} -\entry {\code {enable}}{56} -\entry {\code {eval}}{45} -\entry {\code {exec}}{46} -\entry {\code {exit}}{46} -\entry {\code {export}}{46} +\entry{\code {echo}}{55} +\entry{\code {enable}}{56} +\entry{\code {eval}}{45} +\entry{\code {exec}}{46} +\entry{\code {exit}}{46} +\entry{\code {export}}{46} \initial {F} -\entry {\code {fc}}{145} -\entry {\code {fg}}{106} +\entry{\code {fc}}{145} +\entry{\code {fg}}{106} \initial {G} -\entry {\code {getopts}}{46} +\entry{\code {getopts}}{46} \initial {H} -\entry {\code {hash}}{47} -\entry {\code {help}}{56} -\entry {\code {history}}{145} +\entry{\code {hash}}{47} +\entry{\code {help}}{56} +\entry{\code {history}}{145} \initial {J} -\entry {\code {jobs}}{106} +\entry{\code {jobs}}{106} \initial {K} -\entry {\code {kill}}{107} +\entry{\code {kill}}{107} \initial {L} -\entry {\code {let}}{56} -\entry {\code {local}}{56} -\entry {\code {logout}}{57} +\entry{\code {let}}{56} +\entry{\code {local}}{56} +\entry{\code {logout}}{57} \initial {M} -\entry {\code {mapfile}}{57} +\entry{\code {mapfile}}{57} \initial {P} -\entry {\code {popd}}{97} -\entry {\code {printf}}{57} -\entry {\code {pushd}}{98} -\entry {\code {pwd}}{47} +\entry{\code {popd}}{97} +\entry{\code {printf}}{57} +\entry{\code {pushd}}{98} +\entry{\code {pwd}}{47} \initial {R} -\entry {\code {read}}{58} -\entry {\code {readarray}}{60} -\entry {\code {readonly}}{47} -\entry {\code {return}}{48} +\entry{\code {read}}{58} +\entry{\code {readarray}}{60} +\entry{\code {readonly}}{47} +\entry{\code {return}}{48} \initial {S} -\entry {\code {set}}{62} -\entry {\code {shift}}{48} -\entry {\code {shopt}}{66} -\entry {\code {source}}{60} -\entry {\code {suspend}}{108} +\entry{\code {set}}{62} +\entry{\code {shift}}{48} +\entry{\code {shopt}}{66} +\entry{\code {source}}{60} +\entry{\code {suspend}}{108} \initial {T} -\entry {\code {test}}{48} -\entry {\code {times}}{50} -\entry {\code {trap}}{50} -\entry {\code {type}}{60} -\entry {\code {typeset}}{60} +\entry{\code {test}}{48} +\entry{\code {times}}{50} +\entry{\code {trap}}{50} +\entry{\code {type}}{60} +\entry{\code {typeset}}{60} \initial {U} -\entry {\code {ulimit}}{60} -\entry {\code {umask}}{51} -\entry {\code {unalias}}{62} -\entry {\code {unset}}{51} +\entry{\code {ulimit}}{60} +\entry{\code {umask}}{51} +\entry{\code {unalias}}{62} +\entry{\code {unset}}{51} \initial {W} -\entry {\code {wait}}{107} +\entry{\code {wait}}{107} diff --git a/doc/bashref.cp b/doc/bashref.cp index 768b26e4..8fe054a5 100644 --- a/doc/bashref.cp +++ b/doc/bashref.cp @@ -49,8 +49,8 @@ \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} diff --git a/doc/bashref.cps b/doc/bashref.cps index a4cb61a9..a88fcb30 100644 --- a/doc/bashref.cps +++ b/doc/bashref.cps @@ -1,136 +1,136 @@ \initial {A} -\entry {alias expansion}{94} -\entry {arithmetic evaluation}{93} -\entry {arithmetic expansion}{31} -\entry {arithmetic, shell}{93} -\entry {arrays}{95} +\entry{alias expansion}{94} +\entry{arithmetic evaluation}{93} +\entry{arithmetic expansion}{31} +\entry{arithmetic, shell}{93} +\entry{arrays}{95} \initial {B} -\entry {background}{105} -\entry {Bash configuration}{150} -\entry {Bash installation}{150} -\entry {Bourne shell}{5} -\entry {brace expansion}{23} -\entry {builtin}{3} +\entry{background}{105} +\entry{Bash configuration}{150} +\entry{Bash installation}{150} +\entry{Bourne shell}{5} +\entry{brace expansion}{23} +\entry{builtin}{3} \initial {C} -\entry {command editing}{110} -\entry {command execution}{39} -\entry {command expansion}{38} -\entry {command history}{144} -\entry {command search}{39} -\entry {command substitution}{31} -\entry {command timing}{8} -\entry {commands, compound}{9} -\entry {commands, conditional}{11} -\entry {commands, grouping}{15} -\entry {commands, lists}{9} -\entry {commands, looping}{10} -\entry {commands, pipelines}{8} -\entry {commands, shell}{8} -\entry {commands, simple}{8} -\entry {comments, shell}{7} -\entry {completion builtins}{137} -\entry {configuration}{150} -\entry {control operator}{3} -\entry {coprocess}{15} +\entry{command editing}{110} +\entry{command execution}{39} +\entry{command expansion}{38} +\entry{command history}{144} +\entry{command search}{39} +\entry{command substitution}{31} +\entry{command timing}{8} +\entry{commands, compound}{9} +\entry{commands, conditional}{11} +\entry{commands, grouping}{15} +\entry{commands, lists}{9} +\entry{commands, looping}{10} +\entry{commands, pipelines}{8} +\entry{commands, shell}{8} +\entry{commands, simple}{8} +\entry{comments, shell}{7} +\entry{completion builtins}{137} +\entry{configuration}{150} +\entry{control operator}{3} +\entry{coprocess}{15} \initial {D} -\entry {directory stack}{97} +\entry{directory stack}{97} \initial {E} -\entry {editing command lines}{110} -\entry {environment}{40} -\entry {evaluation, arithmetic}{93} -\entry {event designators}{147} -\entry {execution environment}{39} -\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, tilde}{24} -\entry {expressions, arithmetic}{93} -\entry {expressions, conditional}{91} +\entry{editing command lines}{110} +\entry{environment}{40} +\entry{evaluation, arithmetic}{93} +\entry{event designators}{147} +\entry{execution environment}{39} +\entry{exit status}{3, 41} +\entry{expansion}{22} +\entry{expansion, arithmetic}{31} +\entry{expansion, brace}{23} +\entry{expansion, filename}{32} +\entry{expansion, parameter}{25} +\entry{expansion, pathname}{32} +\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{field}{3} +\entry{filename}{3} +\entry{filename expansion}{32} +\entry{foreground}{105} +\entry{functions, shell}{17} \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}{144} +\entry{history events}{147} +\entry{history expansion}{146} +\entry{history list}{144} +\entry{History, how to use}{143} \initial {I} -\entry {identifier}{3} -\entry {initialization file, readline}{112} -\entry {installation}{150} -\entry {interaction, readline}{109} -\entry {interactive shell}{88, 89} -\entry {internationalization}{7} +\entry{identifier}{3} +\entry{initialization file, readline}{112} +\entry{installation}{150} +\entry{interaction, readline}{109} +\entry{interactive shell}{88, 89} +\entry{internationalization}{7} \initial {J} -\entry {job}{3} -\entry {job control}{3, 105} +\entry{job}{3} +\entry{job control}{3, 105} \initial {K} -\entry {kill ring}{111} -\entry {killing text}{111} +\entry{kill ring}{111} +\entry{killing text}{111} \initial {L} -\entry {localization}{7} -\entry {login shell}{88} +\entry{localization}{7} +\entry{login shell}{88} \initial {M} -\entry {matching, pattern}{33} -\entry {metacharacter}{3} +\entry{matching, pattern}{33} +\entry{metacharacter}{3} \initial {N} -\entry {name}{3} -\entry {native languages}{7} -\entry {notation, readline}{110} +\entry{name}{3} +\entry{native languages}{7} +\entry{notation, readline}{110} \initial {O} -\entry {operator, shell}{3} +\entry{operator, shell}{3} \initial {P} -\entry {parameter expansion}{24} -\entry {parameters}{20} -\entry {parameters, positional}{21} -\entry {parameters, special}{21} -\entry {pathname expansion}{32} -\entry {pattern matching}{33} -\entry {pipeline}{8} -\entry {POSIX}{3} -\entry {POSIX Mode}{100} -\entry {process group}{3} -\entry {process group ID}{3} -\entry {process substitution}{31} -\entry {programmable completion}{135} -\entry {prompting}{98} +\entry{parameter expansion}{25} +\entry{parameters}{20} +\entry{parameters, positional}{21} +\entry{parameters, special}{21} +\entry{pathname expansion}{32} +\entry{pattern matching}{33} +\entry{pipeline}{8} +\entry{POSIX}{3} +\entry{POSIX Mode}{100} +\entry{process group}{3} +\entry{process group ID}{3} +\entry{process substitution}{31} +\entry{programmable completion}{135} +\entry{prompting}{98} \initial {Q} -\entry {quoting}{6} -\entry {quoting, ANSI}{6} +\entry{quoting}{6} +\entry{quoting, ANSI}{6} \initial {R} -\entry {Readline, how to use}{108} -\entry {redirection}{34} -\entry {reserved word}{3} -\entry {restricted shell}{100} -\entry {return status}{4} +\entry{Readline, how to use}{108} +\entry{redirection}{34} +\entry{reserved word}{3} +\entry{restricted shell}{100} +\entry{return status}{4} \initial {S} -\entry {shell arithmetic}{93} -\entry {shell function}{17} -\entry {shell script}{42} -\entry {shell variable}{20} -\entry {shell, interactive}{89} -\entry {signal}{4} -\entry {signal handling}{41} -\entry {special builtin}{4, 72} -\entry {startup files}{88} -\entry {suspending jobs}{105} +\entry{shell arithmetic}{93} +\entry{shell function}{17} +\entry{shell script}{42} +\entry{shell variable}{20} +\entry{shell, interactive}{89} +\entry{signal}{4} +\entry{signal handling}{41} +\entry{special builtin}{4, 72} +\entry{startup files}{88} +\entry{suspending jobs}{105} \initial {T} -\entry {tilde expansion}{24} -\entry {token}{4} -\entry {translation, native languages}{7} +\entry{tilde expansion}{24} +\entry{token}{4} +\entry{translation, native languages}{7} \initial {V} -\entry {variable, shell}{20} -\entry {variables, readline}{113} +\entry{variable, shell}{20} +\entry{variables, readline}{113} \initial {W} -\entry {word}{4} -\entry {word splitting}{32} +\entry{word}{4} +\entry{word splitting}{32} \initial {Y} -\entry {yanking text}{111} +\entry{yanking text}{111} diff --git a/doc/bashref.dvi b/doc/bashref.dvi index 22854c2b8e55cc7f01a4011518c2a26bcdc899d1..b57a70b461a4f1fea05d0eafa69f8c26db67c12c 100644 GIT binary patch delta 14135 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 Ko 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 WG0dI`N*}fDCt(8UKgfeK`1e20MzCuD diff --git a/doc/bashref.fns b/doc/bashref.fns index eed6c619..f0433bb0 100644 --- a/doc/bashref.fns +++ b/doc/bashref.fns @@ -1,131 +1,131 @@ \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)}}{132} +\entry{\code {accept-line (Newline or Return)}}{126} +\entry{\code {alias-expand-line ()}}{134} \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)}}{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} \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)}}{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} \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 ()}}{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} \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)}}{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} \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 ()}}{128} +\entry{\code {forward-char (C-f)}}{125} +\entry{\code {forward-search-history (C-s)}}{126} +\entry{\code {forward-word (M-f)}}{125} \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)}}{134} +\entry{\code {glob-expand-word (C-x *)}}{134} +\entry{\code {glob-list-expansions (C-x g)}}{134} \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 ()}}{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} \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-#)}}{133} +\entry{\code {insert-completions (M-*)}}{131} +\entry{\code {insert-last-argument (M-. or M-_)}}{134} \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)}}{129} +\entry{\code {kill-region ()}}{129} +\entry{\code {kill-whole-line ()}}{129} +\entry{\code {kill-word (M-d)}}{129} \initial {M} -\entry {\code {magic-space ()}}{134} -\entry {\code {menu-complete ()}}{131} -\entry {\code {menu-complete-backward ()}}{131} +\entry{\code {magic-space ()}}{134} +\entry{\code {menu-complete ()}}{131} +\entry{\code {menu-complete-backward ()}}{131} \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)}}{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} \initial {O} -\entry {\code {operate-and-get-next (C-o)}}{134} -\entry {\code {overwrite-mode ()}}{128} +\entry{\code {operate-and-get-next (C-o)}}{134} +\entry{\code {overwrite-mode ()}}{128} \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 !)}}{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} \initial {Q} -\entry {\code {quoted-insert (C-q or C-v)}}{128} +\entry{\code {quoted-insert (C-q or C-v)}}{128} \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)}}{132} +\entry{\code {redraw-current-line ()}}{126} +\entry{\code {reverse-search-history (C-r)}}{126} +\entry{\code {revert-line (M-r)}}{133} \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 {})}}{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} \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-&)}}{133} +\entry{\code {transpose-chars (C-t)}}{128} +\entry{\code {transpose-words (M-t)}}{128} \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)}}{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} \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)}}{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} diff --git a/doc/bashref.html b/doc/bashref.html index b814e210..82cf9c06 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -1,9 +1,9 @@ - + Bash Reference Manual @@ -33,23 +33,14 @@ A copy of the license is included in the section entitled


-
-
+

Next: , Previous: , Up: Top   [Contents][Index]

- -

5 Shell Variables

+

5 Shell Variables

- - @@ -6465,27 +6343,25 @@ Next: , Previ Bash automatically assigns default values to a number of variables.


- -
+ - -

5.1 Bourne Shell Variables

+

5.1 Bourne Shell Variables

Bash uses certain shell variables in the same way as the Bourne shell. In some cases, Bash assigns a default value to the variable.

CDPATH - +

A colon-separated list of directories used as a search path for the cd builtin command.

HOME - +

The current user’s home directory; the default for the cd builtin command. @@ -6494,14 +6370,14 @@ The value of this variable is also used by tilde expansion

IFS - +

A list of characters that separate fields; used when the shell splits words as part of expansion.

MAIL - +

If this parameter is set to a filename or directory name and the MAILPATH variable @@ -6510,7 +6386,7 @@ the specified file or Maildir-format directory.

MAILPATH - +

A colon-separated list of filenames which the shell periodically checks for new mail. @@ -6522,19 +6398,19 @@ the current mail file.

OPTARG - +

The value of the last option argument processed by the getopts builtin.

OPTIND - +

The index of the last option argument processed by the getopts builtin.

PATH - +

A colon-separated list of directories in which the shell looks for commands. @@ -6545,7 +6421,7 @@ or trailing colon.

PS1 - +

The primary prompt string. The default value is ‘\s-\v\$ ’. See Controlling the Prompt, for the complete list of escape @@ -6553,7 +6429,7 @@ sequences that are expanded before PS1 is displayed.

PS2 - +

The secondary prompt string. The default value is ‘> ’. PS2 is expanded in the same way as PS1 before being @@ -6563,13 +6439,11 @@ displayed.


- -
+ - -

5.2 Bash Variables

+

5.2 Bash Variables

These variables are set or used by Bash, but other shells do not normally treat them specially. @@ -6580,13 +6454,13 @@ variables for controlling the job control facilities

BASH - +

The full pathname used to execute the current instance of Bash.

BASHOPTS - +

A colon-separated list of enabled shell options. Each word in the list is a valid argument for the -s option to the @@ -6599,7 +6473,7 @@ reading any startup files. This variable is readonly.

BASHPID - +

Expands to the process ID of the current Bash process. This differs from $$ under certain circumstances, such as subshells @@ -6611,7 +6485,7 @@ subsequently reset.

BASH_ALIASES - +

An associative array variable whose members correspond to the internal list of aliases as maintained by the alias builtin. @@ -6625,7 +6499,7 @@ subsequently reset.

BASH_ARGC - +

An array variable whose values are the number of parameters in each frame of the current bash execution call stack. The number of @@ -6643,7 +6517,7 @@ may result in inconsistent values.

BASH_ARGV - +

An array variable containing all of the parameters in the current bash execution call stack. The final parameter of the last subroutine call @@ -6660,7 +6534,7 @@ may result in inconsistent values.

BASH_ARGV0 - +

When referenced, this variable expands to the name of the shell or shell script (identical to $0; See Special Parameters, @@ -6673,7 +6547,7 @@ subsequently reset.

BASH_CMDS - +

An associative array variable whose members correspond to the internal hash table of commands as maintained by the hash builtin @@ -6687,7 +6561,7 @@ subsequently reset.

BASH_COMMAND - +

The command currently being executed or about to be executed, unless the shell is executing a command as the result of a trap, @@ -6698,7 +6572,7 @@ subsequently reset.

BASH_COMPAT - +

The value is used to set the shell’s compatibility level. See The Shopt Builtin, for a description of the various compatibility @@ -6717,7 +6591,7 @@ The current version is also a valid value.

BASH_ENV - +

If this variable is set when Bash is invoked to execute a shell script, its value is expanded and used as the name of a startup file @@ -6725,13 +6599,13 @@ to read before executing the script. See Bash Sta

BASH_EXECUTION_STRING - +

The command argument to the -c invocation option.

BASH_LINENO - +

An array variable whose members are the line numbers in source files where each corresponding member of FUNCNAME was invoked. @@ -6743,7 +6617,7 @@ Use LINENO to obtain the current line number.

BASH_LOADABLES_PATH - +

A colon-separated list of directories in which the shell looks for dynamically loadable builtins specified by the @@ -6751,7 +6625,7 @@ dynamically loadable builtins specified by the

BASH_REMATCH - +

An array variable whose members are assigned by the ‘=~’ binary operator to the [[ conditional command @@ -6760,11 +6634,10 @@ The element with index 0 is the portion of the string matching the entire regular expression. The element with index n is the portion of the string matching the nth parenthesized subexpression. -This variable is read-only.

BASH_SOURCE - +

An array variable whose members are the source filenames where the corresponding shell function names in the FUNCNAME array @@ -6774,7 +6647,7 @@ The shell function ${FUNCNAME[$i]} is defined in the file

BASH_SUBSHELL - +

Incremented by one within each subshell or subshell environment when the shell begins executing in that environment. @@ -6785,7 +6658,7 @@ subsequently reset.

BASH_VERSINFO - +

A readonly array variable (see Arrays) whose members hold version information for this instance of Bash. @@ -6819,13 +6692,13 @@ The values assigned to the array members are as follows:

BASH_VERSION - +

The version number of the current instance of Bash.

BASH_XTRACEFD - +

If set to an integer corresponding to a valid file descriptor, Bash will write the trace output generated when ‘set -x’ @@ -6842,7 +6715,7 @@ being closed.

CHILD_MAX - +

Set the number of exited child status values for the shell to remember. Bash will not allow this value to be decreased below a POSIX-mandated @@ -6852,7 +6725,7 @@ The minimum value is system-dependent.

COLUMNS - +

Used by the select command to determine the terminal width when printing selection lists. @@ -6862,7 +6735,7 @@ Automatically set if the checkwinsize option is enabled

COMP_CWORD - +

An index into ${COMP_WORDS} of the word containing the current cursor position. @@ -6871,7 +6744,7 @@ programmable completion facilities (see Progr

COMP_LINE - +

The current command line. This variable is available only in shell functions and external @@ -6880,7 +6753,7 @@ programmable completion facilities (see Progr

COMP_POINT - +

The index of the current cursor position relative to the beginning of the current command. @@ -6892,7 +6765,7 @@ programmable completion facilities (see Progr

COMP_TYPE - +

Set to an integer value corresponding to the type of completion attempted that caused a completion function to be called: @@ -6908,14 +6781,14 @@ programmable completion facilities (see Progr

COMP_KEY - +

The key (or final key of a key sequence) used to invoke the current completion function.

COMP_WORDBREAKS - +

The set of characters that the Readline library treats as word separators when performing word completion. @@ -6925,7 +6798,7 @@ even if it is subsequently reset.

COMP_WORDS - +

An array variable consisting of the individual words in the current command line. @@ -6936,7 +6809,7 @@ programmable completion facilities (see Progr

COMPREPLY - +

An array variable from which Bash reads the possible completions generated by a shell function invoked by the programmable completion @@ -6945,14 +6818,14 @@ Each array element contains one possible completion.

COPROC - +

An array variable created to hold the file descriptors for output from and input to an unnamed coprocess (see Coprocesses).

DIRSTACK - +

An array variable containing the current contents of the directory stack. Directories appear in the stack in the order they are displayed by the @@ -6967,7 +6840,7 @@ it is subsequently reset.

EMACS - +

If Bash finds this variable in the environment when the shell starts with value ‘t’, it assumes that the shell is running in an @@ -6975,14 +6848,14 @@ Emacs shell buffer and disables line editing.

ENV - +

Similar to BASH_ENV; used when the shell is invoked in POSIX Mode (see Bash POSIX Mode).

EPOCHREALTIME - +

Each time this parameter is referenced, it expands to the number of seconds since the Unix Epoch as a floating point value with micro-second granularity @@ -6995,7 +6868,7 @@ it is subsequently reset.

EPOCHSECONDS - +

Each time this parameter is referenced, it expands to the number of seconds since the Unix Epoch (see the documentation for the C library function @@ -7007,14 +6880,14 @@ it is subsequently reset.

EUID - +

The numeric effective user id of the current user. This variable is readonly.

EXECIGNORE - +

A colon-separated list of shell patterns (see Pattern Matching) defining the list of filenames to be ignored by command search using @@ -7032,14 +6905,14 @@ option.

FCEDIT - +

The editor used as a default by the -e option to the fc builtin command.

FIGNORE - +

A colon-separated list of suffixes to ignore when performing filename completion. @@ -7050,7 +6923,7 @@ value is ‘.o:~

FUNCNAME - +

An array variable containing the names of all shell functions currently in the execution call stack. @@ -7074,7 +6947,7 @@ information.

FUNCNEST - +

If set to a numeric value greater than 0, defines a maximum function nesting level. Function invocations that exceed this nesting level @@ -7082,7 +6955,7 @@ will cause the current command to abort.

GLOBIGNORE - +

A colon-separated list of patterns defining the set of file names to be ignored by filename expansion. @@ -7094,7 +6967,7 @@ option.

GROUPS - +

An array variable containing the list of groups of which the current user is a member. @@ -7105,7 +6978,7 @@ subsequently reset.

histchars - +

Up to three characters which control history expansion, quick substitution, and tokenization (see History Interaction). @@ -7122,7 +6995,7 @@ parser to treat the rest of the line as a comment.

HISTCMD - +

The history number, or index in the history list, of the current command. @@ -7132,7 +7005,7 @@ even if it is subsequently reset.

HISTCONTROL - +

A colon-separated list of values controlling how commands are saved on the history list. @@ -7155,14 +7028,14 @@ not tested, and are added to the history regardless of the value of

HISTFILE - +

The name of the file to which the command history is saved. The default value is ~/.bash_history.

HISTFILESIZE - +

The maximum number of lines contained in the history file. When this variable is assigned a value, the history file is truncated, @@ -7177,7 +7050,7 @@ after reading any startup files.

HISTIGNORE - +

A colon-separated list of patterns used to decide which command lines should be saved on the history list. Each pattern is @@ -7202,7 +7075,7 @@ provides the functionality of ignoreboth.

HISTSIZE - +

The maximum number of commands to remember on the history list. If the value is 0, commands are not saved in the history list. @@ -7212,7 +7085,7 @@ The shell sets the default value to 500 after reading any startup files.

HISTTIMEFORMAT - +

If this variable is set and not null, its value is used as a format string for strftime to print the time stamp associated with each history @@ -7224,7 +7097,7 @@ other history lines.

HOSTFILE - +

Contains the name of a file in the same format as /etc/hosts that should be read when the shell needs to complete a hostname. @@ -7240,19 +7113,19 @@ When HOSTFILE is unset, the hostname list is cleared.

HOSTNAME - +

The name of the current host.

HOSTTYPE - +

A string describing the machine Bash is running on.

IGNOREEOF - +

Controls the action of the shell on receipt of an EOF character as the sole input. If set, the value denotes the number @@ -7265,14 +7138,14 @@ input to the shell. This is only in effect for interactive shells.

INPUTRC - +

The name of the Readline initialization file, overriding the default of ~/.inputrc.

INSIDE_EMACS - +

If Bash finds this variable in the environment when the shell starts, it assumes that the shell is running in an Emacs shell buffer @@ -7280,21 +7153,21 @@ and may disable line editing depending on the value of TERM.

LANG - +

Used to determine the locale category for any category not specifically selected with a variable starting with LC_.

LC_ALL - +

This variable overrides the value of LANG and any other LC_ variable specifying a locale category.

LC_COLLATE - +

This variable determines the collation order used when sorting the results of filename expansion, and @@ -7304,7 +7177,7 @@ and collating sequences within filename expansion and pattern matching

LC_CTYPE - +

This variable determines the interpretation of characters and the behavior of character classes within filename expansion and pattern @@ -7312,27 +7185,27 @@ matching (see Filename Expansion).

LC_MESSAGES - +

This variable determines the locale used to translate double-quoted strings preceded by a ‘$’ (see Locale Translation).

LC_NUMERIC - +

This variable determines the locale category used for number formatting.

LC_TIME - +

This variable determines the locale category used for data and time formatting.

LINENO - +

The line number in the script or shell function currently executing. If LINENO @@ -7341,7 +7214,7 @@ subsequently reset.

LINES - +

Used by the select command to determine the column length for printing selection lists. @@ -7351,14 +7224,14 @@ Automatically set if the checkwinsize option is enabled

MACHTYPE - +

A string that fully describes the system type on which Bash is executing, in the standard GNU cpu-company-system format.

MAILCHECK - +

How often (in seconds) that the shell should check for mail in the files specified in the MAILPATH or MAIL variables. @@ -7369,33 +7242,33 @@ greater than or equal to zero, the shell disables mail checking.

MAPFILE - +

An array variable created to hold the text read by the mapfile builtin when no variable name is supplied.

OLDPWD - +

The previous working directory as set by the cd builtin.

OPTERR - +

If set to the value 1, Bash displays error messages generated by the getopts builtin command.

OSTYPE - +

A string describing the operating system Bash is running on.

PIPESTATUS - +

An array variable (see Arrays) containing a list of exit status values from the processes @@ -7404,7 +7277,7 @@ contain only a single command).

POSIXLY_CORRECT - +

If this variable is in the environment when Bash starts, the shell enters POSIX mode (see Bash POSIX Mode) before reading the @@ -7420,21 +7293,21 @@ not already set.

PPID - +

The process ID of the shell’s parent process. This variable is readonly.

PROMPT_COMMAND - +

If set, the value is interpreted as a command to execute before the printing of each primary prompt ($PS1).

PROMPT_DIRTRIM - +

If set to a number greater than zero, the value is used as the number of trailing directory components to retain when expanding the \w and @@ -7443,7 +7316,7 @@ Characters removed are replaced with an ellipsis.

PS0 - +

The value of this parameter is expanded like PS1 and displayed by interactive shells after reading a command @@ -7451,7 +7324,7 @@ and before the command is executed.

PS3 - +

The value of this variable is used as the prompt for the select command. If this variable is not set, the @@ -7459,7 +7332,7 @@ and before the command is executed.

PS4 - +

The value of this parameter is expanded like PS1 and the expanded value is the prompt printed before the command line @@ -7470,13 +7343,13 @@ The default is ‘+ ’.

PWD - +

The current working directory as set by the cd builtin.

RANDOM - +

Each time this parameter is referenced, it expands to a random integer between 0 and 32767. Assigning a value to this @@ -7487,27 +7360,27 @@ subsequently reset.

READLINE_LINE - +

The contents of the Readline line buffer, for use with ‘bind -x’ (see Bash Builtins).

READLINE_POINT - +

The position of the insertion point in the Readline line buffer, for use with ‘bind -x’ (see Bash Builtins).

REPLY - +

The default variable for the read builtin.

SECONDS - +

This variable expands to the number of seconds since the shell was started. Assignment to this variable resets @@ -7520,7 +7393,7 @@ even if it is subsequently reset.

SHELL - +

This environment variable expands to the full pathname to the shell. If it is not set when the shell starts, @@ -7528,7 +7401,7 @@ Bash assigns to it the full pathname of the current user’s login shell.

SHELLOPTS - +

A colon-separated list of enabled shell options. Each word in the list is a valid argument for the -o option to the @@ -7541,14 +7414,14 @@ reading any startup files. This variable is readonly.

SHLVL - +

Incremented by one each time a new instance of Bash is started. This is intended to be a count of how deeply your Bash shells are nested.

SRANDOM - +

This variable expands to a 32-bit pseudo-random number each time it is referenced. The random number generator is not linear on systems that @@ -7562,7 +7435,7 @@ even if it is subsequently reset.

TIMEFORMAT - +

The value of this parameter is used as a format string specifying how the timing information for pipelines prefixed with the time @@ -7615,7 +7488,7 @@ A trailing newline is added when the format string is displayed.

TMOUT - +

If set to a value greater than zero, TMOUT is treated as the default timeout for the read builtin (see Bash Builtins). @@ -7632,14 +7505,14 @@ line of input does not arrive.

TMPDIR - +

If set, Bash uses its value as the name of a directory in which Bash creates temporary files for the shell’s use.

UID - +

The numeric real user id of the current user. This variable is readonly.

@@ -7647,52 +7520,48 @@ Bash creates temporary files for the shell’s use.

- -
+

Next: , Previous: , Up: Top   [Contents][Index]

- -

6 Bash Features

+

6 Bash Features

This chapter describes features unique to Bash.

- - - - - - - - - - -
- -
+ - -

6.1 Invoking Bash

+

6.1 Invoking Bash

bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o option]
@@ -7852,11 +7721,11 @@ Any arguments after the -- are treated as filenames and arguments.
 

- +

A login shell is one whose first character of argument zero is ‘-’, or one invoked with the --login option.

- +

An interactive shell is one started without non-option arguments, unless -s is specified, without specifying the -c option, and whose input and output are both @@ -7876,14 +7745,12 @@ Bash’s exit status is the exit status of the last command executed in the script. If no commands are executed, the exit status is 0.


- -
+ - -

6.2 Bash Startup Files

- +

6.2 Bash Startup Files

+

This section describes how Bash executes its startup files. If any of the files exist but cannot be read, Bash reports an error. @@ -7892,8 +7759,7 @@ Tilde Expansion (see Tilde Expansion).

Interactive shells are described in Interactive Shells.

- -

Invoked as an interactive login shell, or with --login

+

Invoked as an interactive login shell, or with --login

When Bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and @@ -7909,8 +7775,7 @@ or a non-interactive login shell executes the exit builtin command, Bash reads and executes commands from the file ~/.bash_logout, if it exists.

- -

Invoked as an interactive non-login shell

+

Invoked as an interactive non-login shell

When an interactive shell that is not a login shell is started, Bash reads and executes commands from ~/.bashrc, if that file exists. @@ -7924,8 +7789,7 @@ execute commands from file instead of ~/.bashrc.

after (or before) any login-specific initializations.

- -

Invoked non-interactively

+

Invoked non-interactively

When Bash is started non-interactively, to run a shell script, for example, it looks for the variable BASH_ENV in the environment, @@ -7942,8 +7806,7 @@ filename. --login option, Bash attempts to read and execute commands from the login shell startup files.

- -

Invoked with name sh

+

Invoked with name sh

If Bash is invoked with the name sh, it tries to mimic the startup behavior of historical versions of sh as closely as @@ -7966,8 +7829,7 @@ to read any other startup files.

When invoked as sh, Bash enters POSIX mode after the startup files are read.

- -

Invoked in POSIX mode

+

Invoked in POSIX mode

When Bash is started in POSIX mode, as with the --posix command line option, it follows the POSIX standard @@ -7977,8 +7839,7 @@ and commands are read and executed from the file whose name is the expanded value. No other startup files are read.

- -

Invoked by remote shell daemon

+

Invoked by remote shell daemon

Bash attempts to determine when it is being run with its standard input connected to a network connection, as when executed by the remote shell @@ -7992,8 +7853,7 @@ The --norc option may be used to inhibit this behavior, and the neither rshd nor sshd generally invoke the shell with those options or allow them to be specified.

- -

Invoked with unequal effective and real UID/GIDs

+

Invoked with unequal effective and real UID/GIDs

If Bash is started with the effective user (group) id not equal to the real user (group) id, and the -p option is not supplied, no startup @@ -8005,33 +7865,29 @@ If the -p option is supplied at invocation, the startup behavior is the same, but the effective user id is not reset.


- -
+ - -

6.3 Interactive Shells

- - +

6.3 Interactive Shells

+ + - - -
- -
+ - -

6.3.1 What is an Interactive Shell?

+

6.3.1 What is an Interactive Shell?

An interactive shell is one started without non-option arguments, unless -s is @@ -8047,13 +7903,11 @@ terminal. when an interactive shell is started.


- -
+ - -

6.3.2 Is this Shell Interactive?

+

6.3.2 Is this Shell Interactive?

To determine within a startup script whether or not Bash is running interactively, @@ -8080,13 +7934,11 @@ fi


- -
+ - -

6.3.3 Interactive Shell Behavior

+

6.3.3 Interactive Shell Behavior

When the shell is running interactively, it changes its behavior in several ways. @@ -8172,14 +8024,12 @@ printing $PS1 (see Bash Variables).


- -
+ - -

6.4 Bash Conditional Expressions

- +

6.4 Bash Conditional Expressions

+

Conditional expressions are used by the [[ compound command and the test and [ builtin commands. The test @@ -8367,18 +8217,16 @@ are evaluated as arithmetic expressions (see Shell A


- -
+ - -

6.5 Shell Arithmetic

- - - - - +

6.5 Shell Arithmetic

+ + + + +

The shell allows arithmetic expressions to be evaluated, as one of the shell expansions or by using the (( compound command, the @@ -8500,14 +8348,12 @@ parentheses are evaluated first and may override the precedence rules above.


- -
+

Next: , Previous: , Up: Bash Features   [Contents][Index]

- -

6.6 Aliases

- +

6.6 Aliases

+

Aliases allow a string to be substituted for a word when it is used as the first word of a simple command. @@ -8567,14 +8413,12 @@ in compound commands.

For almost every purpose, shell functions are preferred over aliases.


- -
+ - -

6.7 Arrays

- +

6.7 Arrays

+

Bash provides one-dimensional indexed and associative array variables. Any variable may be used as an indexed array; @@ -8709,17 +8553,15 @@ builtins display array values in a way that allows them to be reused as input.


- -
+ - -

6.8 The Directory Stack

- +

6.8 The Directory Stack

+ - @@ -8736,17 +8578,15 @@ of the directory stack. as the value of the DIRSTACK shell variable.


- -
+ - -

6.8.1 Directory Stack Builtins

+

6.8.1 Directory Stack Builtins

dirs
-
+
dirs [-clpv] [+N | -N]
 
@@ -8786,7 +8626,7 @@ with zero.
popd
-
+
popd [-n] [+N | -N]
 
@@ -8812,7 +8652,7 @@ list printed by dirs), starting with zero.

- +
pushd
@@ -8849,14 +8689,12 @@ to the cd builtin.
- -
+ - -

6.9 Controlling the Prompt

- +

6.9 Controlling the Prompt

+

The value of the variable PROMPT_COMMAND is examined just before Bash prints each primary prompt. If PROMPT_COMMAND is set and @@ -8972,14 +8810,12 @@ appear within command substitution or contain characters special to word expansion.


- -
+ - -

6.10 The Restricted Shell

- +

6.10 The Restricted Shell

+

If Bash is started with the name rbash, or the --restricted @@ -9032,14 +8868,12 @@ such as jails, zones, or containers.


- -
+ - -

6.11 Bash POSIX Mode

- +

6.11 Bash POSIX Mode

+

Starting Bash with the --posix command-line option or executing ‘set -o posix’ while Bash is running will cause Bash to conform more @@ -9216,10 +9050,6 @@ Bash clears the -e option in such subshells. that exceed the number of positional parameters will result in an error message. -

  • Enabling POSIX mode has the effect of setting the posixglob -option, which affects how unquoted backslashes are treated during -filename expansion (see Filename Expansion). -
  • When the alias builtin displays alias definitions, it does not display them with a leading ‘alias ’ unless the -p option is supplied. @@ -9299,40 +9129,36 @@ the --enable-strict-posix-default to configure when bu (see Optional Features).


    - -
    +

    Next: , Previous: , Up: Top   [Contents][Index]

    - -

    7 Job Control

    +

    7 Job Control

    This chapter discusses what job control is, how it works, and how Bash allows you to access its facilities.

    - - -
    - -
    + - -

    7.1 Job Control Basics

    - - - - +

    7.1 Job Control Basics

    + + + +

    Job control refers to the ability to selectively stop (suspend) @@ -9437,17 +9263,15 @@ job changes state. The -f option causes wait to wait until the job or process terminates before returning.


    - -
    + - -

    7.2 Job Control Builtins

    +

    7.2 Job Control Builtins

    bg
    -
    +
    bg [jobspec …]
     
    @@ -9462,7 +9286,7 @@ that was started without job control.

    fg
    -
    +
    fg [jobspec]
     
    @@ -9476,7 +9300,7 @@ job control enabled, jobspec does not specify a valid job or

    jobs
    -
    +
    jobs [-lnprs] [jobspec]
     jobs -x command [arguments]
    @@ -9520,7 +9344,7 @@ passing it arguments, returning its exit status.
     

    kill
    -
    +
    kill [-s sigspec] [-n signum] [-sigspec] jobspec or pid
     kill -l|-L [exit_status]
    @@ -9544,9 +9368,9 @@ or non-zero if an error occurs or an invalid option is encountered.
     

    wait
    -
    +
    -
    wait [-fn] [jobspec or pid …]
    +
    wait [-fn] [-p varname] [jobspec or pid …]
     

    Wait until the child process specified by each process ID pid @@ -9560,6 +9384,11 @@ the last-executed process substitution, if its process id is the same as and the return status is zero. If the -n option is supplied, wait waits for a single job to terminate and returns its exit status. +If the -p option is supplied, the process or job identifier of the job +for which the exit status is returned is assigned to the variable +varname named by the option argument. +The variable will be unset initially, before any assignment. +This is useful only when the -n option is supplied. Supplying the -f option, when job control is enabled, forces wait to wait for each pid or jobspec to terminate before returning its status, intead of returning when it changes @@ -9569,7 +9398,7 @@ of the shell, the return status is 127.

    disown
    -
    +
    disown [-ar] [-h] [jobspec … | pid … ]
     
    @@ -9587,7 +9416,7 @@ argument restricts operation to running jobs.

    suspend
    -
    +
    suspend [-f]
     
    @@ -9604,17 +9433,15 @@ builtins do not accept jobspec arguments. They must be supplied process IDs.


    - -
    + - -

    7.3 Job Control Variables

    +

    7.3 Job Control Variables

    auto_resume - +

    This variable controls how the shell interacts with the user and job control. If this variable exists then single word simple @@ -9636,19 +9463,17 @@ analogous to the ‘%’ job ID.

    - +
    - -
    + - -

    8 Command Line Editing

    +

    8 Command Line Editing

    This chapter describes the basic features of the GNU command line editing interface. @@ -9666,37 +9491,35 @@ Line editing can be enabled at any time using the -o emacs or +o vi options to set.

    - - - - - - - -
    - -
    + - -

    8.1 Introduction to Line Editing

    +

    8.1 Introduction to Line Editing

    The following paragraphs describe the notation used to represent keystrokes. @@ -9734,14 +9557,12 @@ The RET key may be labeled Return or < some keyboards.


    - -
    + - -

    8.2 Readline Interaction

    - +

    8.2 Readline Interaction

    +

    Often during an interactive session you type in a long line of text, only to notice that the first word on the line is misspelled. The @@ -9755,29 +9576,27 @@ end of the line to press RET; the entire line is accepted regardless of the location of the cursor within the line.

    - - - - -
    - -
    + - -

    8.2.1 Readline Bare Essentials

    - - - +

    8.2.1 Readline Bare Essentials

    + + +

    In order to enter characters into the line, simply type them. The typed character appears where the cursor was, and then the cursor moves one @@ -9825,13 +9644,11 @@ to delete the character underneath the cursor, like C-d, rather than the character to the left of the cursor.)


    - -
    + - -

    8.2.2 Readline Movement Commands

    +

    8.2.2 Readline Movement Commands

    The above table describes the most basic keystrokes that you need @@ -9863,16 +9680,14 @@ forward a word. It is a loose convention that control keystrokes operate on characters while meta keystrokes operate on words.


    - -
    + - -

    8.2.3 Readline Killing Commands

    +

    8.2.3 Readline Killing Commands

    - - + +

    Killing text means to delete the text from the line, but to save it away for later use, usually by yanking (re-inserting) @@ -9889,7 +9704,7 @@ that when you yank it back, you get it all. The kill ring is not line specific; the text that you killed on a previously typed line is available to be yanked back later, when you are typing another line. - +

    Here is the list of commands for killing text.

    @@ -9932,13 +9747,11 @@ the prior command is C-y or M-y.

    - -
    + - -

    8.2.4 Readline Arguments

    +

    8.2.4 Readline Arguments

    You can pass numeric arguments to Readline commands. Sometimes the argument acts as a repeat count, other times it is the sign of the @@ -9956,13 +9769,11 @@ the C-d command an argument of 10, you could type ‘M-1 0 which will delete the next ten characters on the input line.


    - -
    + - -

    8.2.5 Searching for Commands in the History

    +

    8.2.5 Searching for Commands in the History

    Readline provides commands for searching through the command history (see Bash History Facilities) @@ -10005,14 +9816,12 @@ to search for matching history lines. The search string may be typed by the user or be part of the contents of the current line.


    - -
    + - -

    8.3 Readline Init File

    - +

    8.3 Readline Init File

    +

    Although the Readline library comes with a set of Emacs-like keybindings installed by default, it is possible to use a different set @@ -10035,26 +9844,24 @@ init file is read, and the key bindings are set. incorporating any changes that you might have made to it.

    -
    - -
    + - -

    8.3.1 Readline Init File Syntax

    +

    8.3.1 Readline Init File Syntax

    There are only a few basic constructs allowed in the Readline init file. Blank lines are ignored. @@ -10095,10 +9902,10 @@ and values. See Bash Builtins.

    A great deal of run-time behavior is changeable with the following variables.

    - +
    bell-style
    -
    +

    Controls what happens when Readline wants to ring the terminal bell. If set to ‘none’, Readline never rings the bell. If set to ‘visible’, Readline uses a visible bell if one is available. @@ -10107,21 +9914,21 @@ the terminal’s bell.

    bind-tty-special-chars
    -
    +

    If set to ‘on’ (the default), Readline attempts to bind the control characters treated specially by the kernel’s terminal driver to their Readline equivalents.

    blink-matching-paren
    -
    +

    If set to ‘on’, Readline attempts to briefly move the cursor to an opening parenthesis when a closing parenthesis is inserted. The default is ‘off’.

    colored-completion-prefix
    -
    +

    If set to ‘on’, when listing completions, Readline displays the common prefix of the set of possible completions using a different color. The color definitions are taken from the value of the LS_COLORS @@ -10130,7 +9937,7 @@ The default is ‘off’.

    colored-stats
    -
    +

    If set to ‘on’, Readline displays possible completions using different colors to indicate their file type. The color definitions are taken from the value of the LS_COLORS @@ -10139,14 +9946,14 @@ The default is ‘off’.

    comment-begin
    -
    +

    The string to insert at the beginning of the line when the insert-comment command is executed. The default value is "#".

    completion-display-width
    -
    +

    The number of screen columns used to display possible matches when performing completion. The value is ignored if it is less than 0 or greater than the terminal @@ -10156,14 +9963,14 @@ The default value is -1.

    completion-ignore-case
    -
    +

    If set to ‘on’, Readline performs filename matching and completion in a case-insensitive fashion. The default value is ‘off’.

    completion-map-case
    -
    +

    If set to ‘on’, and completion-ignore-case is enabled, Readline treats hyphens (‘-’) and underscores (‘_’) as equivalent when performing case-insensitive filename matching and completion. @@ -10171,7 +9978,7 @@ The default value is ‘off’.

    completion-prefix-display-length
    -
    +

    The length in characters of the common prefix of a list of possible completions that is displayed without modification. When set to a value greater than zero, common prefixes longer than this value are @@ -10179,7 +9986,7 @@ replaced with an ellipsis when displaying possible completions.

    completion-query-items
    -
    +

    The number of possible completions that determines when the user is asked whether the list of possibilities should be displayed. If the number of possible completions is greater than this value, @@ -10191,7 +9998,7 @@ The default limit is 100.

    convert-meta
    -
    +

    If set to ‘on’, Readline will convert characters with the eighth bit set to an ASCII key sequence by stripping the eighth bit and prefixing an ESC character, converting them to a @@ -10201,21 +10008,21 @@ eight-bit characters.

    disable-completion
    -
    +

    If set to ‘On’, Readline will inhibit word completion. Completion characters will be inserted into the line as if they had been mapped to self-insert. The default is ‘off’.

    echo-control-characters
    -
    +

    When set to ‘on’, on operating systems that indicate they support it, readline echoes a character corresponding to a signal generated from the keyboard. The default is ‘on’.

    editing-mode
    -
    +

    The editing-mode variable controls which default set of key bindings is used. By default, Readline starts up in Emacs editing mode, where the keystrokes are most similar to Emacs. This variable can be @@ -10223,7 +10030,7 @@ set to either ‘emacs’ or ‘vi’.

    emacs-mode-string
    -
    +

    If the show-mode-in-prompt variable is enabled, this string is displayed immediately before the last line of the primary prompt when emacs editing mode is active. The value is expanded like a @@ -10236,7 +10043,7 @@ The default is ‘@’.

    enable-bracketed-paste
    -
    +

    When set to ‘On’, Readline will configure the terminal in a way that will enable it to insert each paste into the editing buffer as a single string of characters, instead of treating each character as if @@ -10245,7 +10052,7 @@ from being interpreted as editing commands. The default is ‘off

    enable-keypad
    -
    +

    When set to ‘on’, Readline will try to enable the application keypad when it is called. Some systems need this to enable the arrow keys. The default is ‘off’. @@ -10259,13 +10066,13 @@ The default is ‘on’.

    expand-tilde
    -
    +

    If set to ‘on’, tilde expansion is performed when Readline attempts word completion. The default is ‘off’.

    history-preserve-point
    -
    +

    If set to ‘on’, the history code attempts to place the point (the current cursor position) at the same location on each history line retrieved with previous-history @@ -10273,7 +10080,7 @@ or next-history. The default is ‘off’.

    history-size
    -
    +

    Set the maximum number of history entries saved in the history list. If set to zero, any existing history entries are deleted and no new entries are saved. @@ -10285,7 +10092,7 @@ the maximum number of history entries will be set to 500.

    horizontal-scroll-mode
    -
    +

    This variable can be set to either ‘on’ or ‘off’. Setting it to ‘on’ means that the text of the lines being edited will scroll horizontally on a single screen line when they are longer than the width @@ -10294,8 +10101,8 @@ this variable is set to ‘off’.

    input-meta
    -
    - +
    +

    If set to ‘on’, Readline will enable eight-bit input (it will not clear the eighth bit in the characters it reads), regardless of what the terminal claims it can support. The @@ -10305,7 +10112,7 @@ The name meta-flag is a synonym for this variable.

    isearch-terminators
    -
    +

    The string of characters that should terminate an incremental search without subsequently executing the character as a command (see Searching). If this variable has not been given a value, the characters ESC and @@ -10313,7 +10120,7 @@ If this variable has not been given a value, the characters ESC<

    keymap
    -
    +

    Sets Readline’s idea of the current keymap for key binding commands. Built-in keymap names are emacs, @@ -10355,14 +10162,14 @@ appended. The default is ‘on’.

    mark-modified-lines
    -
    +

    This variable, when set to ‘on’, causes Readline to display an asterisk (‘*’) at the start of history lines which have been modified. This variable is ‘off’ by default.

    mark-symlinked-directories
    -
    +

    If set to ‘on’, completed names which are symbolic links to directories have a slash appended (subject to the value of mark-directories). @@ -10370,7 +10177,7 @@ The default is ‘off’.

    match-hidden-files
    -
    +

    This variable, when set to ‘on’, causes Readline to match files whose names begin with a ‘.’ (hidden files) when performing filename completion. @@ -10380,14 +10187,14 @@ This variable is ‘on’ by default.

    menu-complete-display-prefix
    -
    +

    If set to ‘on’, menu completion displays the common prefix of the list of possible completions (which may be empty) before cycling through the list. The default is ‘off’.

    output-meta
    -
    +

    If set to ‘on’, Readline will display characters with the eighth bit set directly rather than as a meta-prefixed escape sequence. @@ -10396,7 +10203,7 @@ locale contains eight-bit characters.

    page-completions
    -
    +

    If set to ‘on’, Readline uses an internal more-like pager to display a screenful of possible completions at a time. This variable is ‘on’ by default. @@ -10409,7 +10216,7 @@ The default is ‘off’.

    revert-all-at-newline
    -
    +

    If set to ‘on’, Readline will undo all changes to history lines before returning when accept-line is executed. By default, history lines may be modified and retain individual undo lists across @@ -10417,7 +10224,7 @@ calls to readline. The default is ‘off’.

    show-all-if-ambiguous
    -
    +

    This alters the default behavior of the completion functions. If set to ‘on’, words which have more than one possible completion cause the @@ -10426,7 +10233,7 @@ The default value is ‘off’.

    show-all-if-unmodified
    -
    +

    This alters the default behavior of the completion functions in a fashion similar to show-all-if-ambiguous. If set to ‘on’, @@ -10438,7 +10245,7 @@ The default value is ‘off’.

    show-mode-in-prompt
    -
    +

    If set to ‘on’, add a string to the beginning of the prompt indicating the editing mode: emacs, vi command, or vi insertion. The mode strings are user-settable (e.g., emacs-mode-string). @@ -10446,7 +10253,7 @@ The default value is ‘off’.

    skip-completed-text
    -
    +

    If set to ‘on’, this alters the default completion behavior when inserting a single match into the line. It’s only active when performing completion in the middle of a word. If enabled, readline @@ -10461,7 +10268,7 @@ The default value is ‘off’.

    vi-cmd-mode-string
    -
    +

    If the show-mode-in-prompt variable is enabled, this string is displayed immediately before the last line of the primary prompt when vi editing mode is active and in command mode. @@ -10475,7 +10282,7 @@ The default is ‘(cmd)’.

    vi-ins-mode-string
    -
    +

    If the show-mode-in-prompt variable is enabled, this string is displayed immediately before the last line of the primary prompt when vi editing mode is active and in insertion mode. @@ -10489,7 +10296,7 @@ The default is ‘(ins)’.

    visible-stats
    -
    +

    If set to ‘on’, a character denoting a file’s type is appended to the filename when listing possible completions. The default is ‘off’. @@ -10653,13 +10460,11 @@ insert a single ‘\’ into the line:


    - -
    + - -

    8.3.2 Conditional Init Constructs

    +

    8.3.2 Conditional Init Constructs

    Readline implements a facility similar in spirit to the conditional compilation features of the C preprocessor which allows key @@ -10773,13 +10578,11 @@ For example, the following directive reads from /etc/inputrc:


    - -
    + - -

    8.3.3 Sample Init File

    +

    8.3.3 Sample Init File

    Here is an example of an inputrc file. This illustrates key binding, variable assignment, and conditional syntax. @@ -10887,30 +10690,28 @@ $endif


    - -
    + - -

    8.4 Bindable Readline Commands

    +

    8.4 Bindable Readline Commands

    - - - - - - - - @@ -10927,68 +10728,66 @@ position, and mark refers to a cursor position saved by the The text between the point and mark is referred to as the region.


    - -
    + - -

    8.4.1 Commands For Moving

    +

    8.4.1 Commands For Moving

    beginning-of-line (C-a) - +

    Move to the start of the current line.

    end-of-line (C-e) - +

    Move to the end of the line.

    forward-char (C-f) - +

    Move forward a character.

    backward-char (C-b) - +

    Move back a character.

    forward-word (M-f) - +

    Move forward to the end of the next word. Words are composed of letters and digits.

    backward-word (M-b) - +

    Move back to the start of the current or previous word. Words are composed of letters and digits.

    shell-forward-word (M-C-f) - +

    Move forward to the end of the next word. Words are delimited by non-quoted shell metacharacters.

    shell-backward-word (M-C-b) - +

    Move back to the start of the current or previous word. Words are delimited by non-quoted shell metacharacters.

    previous-screen-line () - +

    Attempt to move point to the same physical screen column on the previous physical screen line. This will not have the desired effect if the current @@ -10997,7 +10796,7 @@ greater than the length of the prompt plus the screen width.

    next-screen-line () - +

    Attempt to move point to the same physical screen column on the next physical screen line. This will not have the desired effect if the current @@ -11007,14 +10806,14 @@ plus the screen width.

    clear-screen (C-l) - +

    Clear the screen and redraw the current line, leaving the current line at the top of the screen.

    redraw-current-line () - +

    Refresh the current line. By default, this is unbound.

    @@ -11022,17 +10821,15 @@ leaving the current line at the top of the screen.

    - -
    + - -

    8.4.2 Commands For Manipulating The History

    +

    8.4.2 Commands For Manipulating The History

    accept-line (Newline or Return) - +

    Accept the line regardless of where the cursor is. If this line is @@ -11043,46 +10840,46 @@ to its original state.

    previous-history (C-p) - +

    Move ‘back’ through the history list, fetching the previous command.

    next-history (C-n) - +

    Move ‘forward’ through the history list, fetching the next command.

    beginning-of-history (M-<) - +

    Move to the first line in the history.

    end-of-history (M->) - +

    Move to the end of the input history, i.e., the line currently being entered.

    reverse-search-history (C-r) - +

    Search backward starting at the current line and moving ‘up’ through the history as necessary. This is an incremental search.

    forward-search-history (C-s) - +

    Search forward starting at the current line and moving ‘down’ through the history as necessary. This is an incremental search.

    non-incremental-reverse-search-history (M-p) - +

    Search backward starting at the current line and moving ‘up’ through the history as necessary using a non-incremental search @@ -11091,7 +10888,7 @@ The search string may match anywhere in a history line.

    non-incremental-forward-search-history (M-n) - +

    Search forward starting at the current line and moving ‘down’ through the history as necessary using a non-incremental search @@ -11100,7 +10897,7 @@ The search string may match anywhere in a history line.

    history-search-forward () - +

    Search forward through the history for the string of characters between the start of the current line and the point. @@ -11110,7 +10907,7 @@ By default, this command is unbound.

    history-search-backward () - +

    Search backward through the history for the string of characters between the start of the current line and the point. @@ -11120,7 +10917,7 @@ By default, this command is unbound.

    history-substring-search-forward () - +

    Search forward through the history for the string of characters between the start of the current line and the point. @@ -11130,7 +10927,7 @@ By default, this command is unbound.

    history-substring-search-backward () - +

    Search backward through the history for the string of characters between the start of the current line and the point. @@ -11140,7 +10937,7 @@ By default, this command is unbound.

    yank-nth-arg (M-C-y) - +

    Insert the first argument to the previous command (usually the second word on the previous line) at point. @@ -11153,7 +10950,7 @@ as if the ‘!n’ history expansion had been sp

    yank-last-arg (M-. or M-_) - +

    Insert last argument to the previous command (the last word of the previous history entry). @@ -11171,17 +10968,15 @@ as if the ‘!$’ history expansion had been specified.


    - -
    + - -

    8.4.3 Commands For Changing Text

    +

    8.4.3 Commands For Changing Text

    end-of-file (usually C-d) - +

    The character indicating end-of-file as set, for example, by stty. If this character is read when there are no characters @@ -11190,7 +10985,7 @@ interprets it as the end of input and returns EOF.

    delete-char (C-d) - +

    Delete the character at point. If this function is bound to the same character as the tty EOF character, as C-d @@ -11198,14 +10993,14 @@ commonly is, see above for the effects.

    backward-delete-char (Rubout) - +

    Delete the character behind the cursor. A numeric argument means to kill the characters instead of deleting them.

    forward-backward-delete-char () - +

    Delete the character under the cursor, unless the cursor is at the end of the line, in which case the character behind the cursor is @@ -11213,7 +11008,7 @@ deleted. By default, this is not bound to a key.

    quoted-insert (C-q or C-v) - +

    Add the next character typed to the line verbatim. This is how to insert key sequences like C-q, for example. @@ -11221,13 +11016,13 @@ how to insert key sequences like C-q, for example.

    self-insert (a, b, A, 1, !, …) - +

    Insert yourself.

    bracketed-paste-begin () - +

    This function is intended to be bound to the "bracketed paste" escape sequence sent by some terminals, and such a binding is assigned by default. @@ -11238,7 +11033,7 @@ executing any editing commands.

    transpose-chars (C-t) - +

    Drag the character before the cursor forward over the character at the cursor, moving the @@ -11249,7 +11044,7 @@ Negative arguments have no effect.

    transpose-words (M-t) - +

    Drag the word before point past the word after point, moving point past that word as well. @@ -11258,28 +11053,28 @@ the last two words on the line.

    upcase-word (M-u) - +

    Uppercase the current (or following) word. With a negative argument, uppercase the previous word, but do not move the cursor.

    downcase-word (M-l) - +

    Lowercase the current (or following) word. With a negative argument, lowercase the previous word, but do not move the cursor.

    capitalize-word (M-c) - +

    Capitalize the current (or following) word. With a negative argument, capitalize the previous word, but do not move the cursor.

    overwrite-mode () - +

    Toggle overwrite mode. With an explicit positive numeric argument, switches to overwrite mode. With an explicit non-positive numeric @@ -11298,42 +11093,40 @@ before point with a space.


    - -
    + - -

    8.4.4 Killing And Yanking

    +

    8.4.4 Killing And Yanking

    kill-line (C-k) - +

    Kill the text from point to the end of the line.

    backward-kill-line (C-x Rubout) - +

    Kill backward from the cursor to the beginning of the current line.

    unix-line-discard (C-u) - +

    Kill backward from the cursor to the beginning of the current line.

    kill-whole-line () - +

    Kill all characters on the current line, no matter where point is. By default, this is unbound.

    kill-word (M-d) - +

    Kill from point to the end of the current word, or if between words, to the end of the next word. @@ -11341,14 +11134,14 @@ Word boundaries are the same as forward-word.

    backward-kill-word (M-DEL) - +

    Kill the word behind point. Word boundaries are the same as backward-word.

    shell-kill-word (M-C-d) - +

    Kill from point to the end of the current word, or if between words, to the end of the next word. @@ -11356,14 +11149,14 @@ Word boundaries are the same as shell-forward-word.

    shell-backward-kill-word () - +

    Kill the word behind point. Word boundaries are the same as shell-backward-word.

    shell-transpose-words (M-C-t) - +

    Drag the word before point past the word after point, moving point past that word as well. @@ -11374,14 +11167,14 @@ Word boundaries are the same as shell-forward-word and

    unix-word-rubout (C-w) - +

    Kill the word behind point, using white space as a word boundary. The killed text is saved on the kill-ring.

    unix-filename-rubout () - +

    Kill the word behind point, using white space and the slash character as the word boundaries. @@ -11389,27 +11182,27 @@ The killed text is saved on the kill-ring.

    delete-horizontal-space () - +

    Delete all spaces and tabs around point. By default, this is unbound.

    kill-region () - +

    Kill the text in the current region. By default, this command is unbound.

    copy-region-as-kill () - +

    Copy the text in the region to the kill buffer, so it can be yanked right away. By default, this command is unbound.

    copy-backward-word () - +

    Copy the word before point to the kill buffer. The word boundaries are the same as backward-word. @@ -11417,7 +11210,7 @@ By default, this command is unbound.

    copy-forward-word () - +

    Copy the word following point to the kill buffer. The word boundaries are the same as forward-word. @@ -11425,13 +11218,13 @@ By default, this command is unbound.

    yank (C-y) - +

    Yank the top of the kill ring into the buffer at point.

    yank-pop (M-y) - +

    Rotate the kill-ring, and yank the new top. You can only do this if the prior command is yank or yank-pop. @@ -11439,23 +11232,21 @@ the prior command is yank or yank-pop.


    - -
    + - -

    8.4.5 Specifying Numeric Arguments

    +

    8.4.5 Specifying Numeric Arguments

    digit-argument (M-0, M-1, … M--) - +

    Add this digit to the argument already accumulating, or start a new argument. M-- starts a negative argument.

    universal-argument () - +

    This is another way to specify an argument. If this command is followed by one or more digits, optionally with a @@ -11473,17 +11264,15 @@ By default, this is not bound to a key.


    - -
    + - -

    8.4.6 Letting Readline Type For You

    +

    8.4.6 Letting Readline Type For You

    complete (TAB) - +

    Attempt to perform completion on the text before point. The actual completion performed is application-specific. @@ -11495,7 +11284,7 @@ of these produces a match, filename completion is attempted.

    possible-completions (M-?) - +

    List the possible completions of the text before point. When displaying completions, Readline sets the number of columns used @@ -11504,14 +11293,14 @@ the environment variable COLUMNS, or the screen width, in that orde

    insert-completions (M-*) - +

    Insert all completions of the text before point that would have been generated by possible-completions.

    menu-complete () - +

    Similar to complete, but replaces the word to be completed with a single match from the list of possible completions. @@ -11528,7 +11317,7 @@ by default.

    menu-complete-backward () - +

    Identical to menu-complete, but moves backward through the list of possible completions, as if menu-complete had been given a @@ -11536,7 +11325,7 @@ negative argument.

    delete-char-or-list () - +

    Deletes the character under the cursor if not at the beginning or end of the line (like delete-char). @@ -11546,62 +11335,62 @@ This command is unbound by default.

    complete-filename (M-/) - +

    Attempt filename completion on the text before point.

    possible-filename-completions (C-x /) - +

    List the possible completions of the text before point, treating it as a filename.

    complete-username (M-~) - +

    Attempt completion on the text before point, treating it as a username.

    possible-username-completions (C-x ~) - +

    List the possible completions of the text before point, treating it as a username.

    complete-variable (M-$) - +

    Attempt completion on the text before point, treating it as a shell variable.

    possible-variable-completions (C-x $) - +

    List the possible completions of the text before point, treating it as a shell variable.

    complete-hostname (M-@) - +

    Attempt completion on the text before point, treating it as a hostname.

    possible-hostname-completions (C-x @) - +

    List the possible completions of the text before point, treating it as a hostname.

    complete-command (M-!) - +

    Attempt completion on the text before point, treating it as a command name. Command completion attempts to @@ -11611,14 +11400,14 @@ in that order.

    possible-command-completions (C-x !) - +

    List the possible completions of the text before point, treating it as a command name.

    dynamic-complete-history (M-TAB) - +

    Attempt completion on the text before point, comparing the text against lines from the history list for possible @@ -11626,7 +11415,7 @@ completion matches.

    dabbrev-expand () - +

    Attempt menu completion on the text before point, comparing the text against lines from the history list for possible @@ -11634,7 +11423,7 @@ completion matches.

    complete-into-braces (M-{) - +

    Perform filename completion and insert the list of possible completions enclosed within braces so the list is available to the shell @@ -11644,36 +11433,34 @@ enclosed within braces so the list is available to the shell


    - -
    + - -

    8.4.7 Keyboard Macros

    +

    8.4.7 Keyboard Macros

    start-kbd-macro (C-x () - +

    Begin saving the characters typed into the current keyboard macro.

    end-kbd-macro (C-x )) - +

    Stop saving the characters typed into the current keyboard macro and save the definition.

    call-last-kbd-macro (C-x e) - +

    Re-execute the last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard.

    print-last-kbd-macro () - +

    Print the last keboard macro defined in a format suitable for the inputrc file. @@ -11682,23 +11469,21 @@ in the macro appear as if typed at the keyboard.


    - -
    + - -

    8.4.8 Some Miscellaneous Commands

    +

    8.4.8 Some Miscellaneous Commands

    re-read-init-file (C-x C-r) - +

    Read in the contents of the inputrc file, and incorporate any bindings or variable assignments found there.

    abort (C-g) - +

    Abort the current editing command and ring the terminal’s bell (subject to the setting of @@ -11706,7 +11491,7 @@ ring the terminal’s bell (subject to the setting of

    do-lowercase-version (M-A, M-B, M-x, …) - +

    If the metafied character x is upper case, run the command that is bound to the corresponding metafied lower case character. @@ -11714,7 +11499,7 @@ The behavior is undefined if x is already lower case.

    prefix-meta (ESC) - +

    Metafy the next character typed. This is for keyboards without a meta key. Typing ‘ESC f’ is equivalent to typing @@ -11722,47 +11507,47 @@ without a meta key. Typing ‘ESC f&r

    undo (C-_ or C-x C-u) - +

    Incremental undo, separately remembered for each line.

    revert-line (M-r) - +

    Undo all changes made to this line. This is like executing the undo command enough times to get back to the beginning.

    tilde-expand (M-&) - +

    Perform tilde expansion on the current word.

    set-mark (C-@) - +

    Set the mark to the point. If a numeric argument is supplied, the mark is set to that position.

    exchange-point-and-mark (C-x C-x) - +

    Swap the point with the mark. The current cursor position is set to the saved position, and the old cursor position is saved as the mark.

    character-search (C-]) - +

    A character is read and point is moved to the next occurrence of that character. A negative count searches for previous occurrences.

    character-search-backward (M-C-]) - +

    A character is read and point is moved to the previous occurrence of that character. A negative count searches for subsequent @@ -11770,7 +11555,7 @@ occurrences.

    skip-csi-sequence () - +

    Read enough characters to consume a multi-key sequence such as those defined for keys like Home and End. Such sequences begin with a @@ -11782,7 +11567,7 @@ but usually bound to ESC-[.

    insert-comment (M-#) - +

    Without a numeric argument, the value of the comment-begin variable is inserted at the beginning of the current line. @@ -11799,7 +11584,7 @@ will be executed by the shell.

    dump-functions () - +

    Print all of the functions and their key bindings to the Readline output stream. If a numeric argument is supplied, @@ -11808,7 +11593,7 @@ of an inputrc file. This command is unbound by default.

    dump-variables () - +

    Print all of the settable variables and their values to the Readline output stream. If a numeric argument is supplied, @@ -11817,7 +11602,7 @@ of an inputrc file. This command is unbound by default.

    dump-macros () - +

    Print all of the Readline key sequences bound to macros and the strings they output. If a numeric argument is supplied, @@ -11826,7 +11611,7 @@ of an inputrc file. This command is unbound by default.

    glob-complete-word (M-g) - +

    The word before point is treated as a pattern for pathname expansion, with an asterisk implicitly appended. This pattern is used to @@ -11834,7 +11619,7 @@ generate a list of matching file names for possible completions.

    glob-expand-word (C-x *) - +

    The word before point is treated as a pattern for pathname expansion, and the list of matching file names is inserted, replacing the word. @@ -11843,7 +11628,7 @@ pathname expansion.

    glob-list-expansions (C-x g) - +

    The list of expansions that would have been generated by glob-expand-word is displayed, and the line is redrawn. @@ -11852,13 +11637,13 @@ pathname expansion.

    display-shell-version (C-x C-v) - +

    Display version information about the current instance of Bash.

    shell-expand-line (M-C-e) - +

    Expand the line as the shell does. This performs alias and history expansion as well as all of the shell @@ -11866,38 +11651,38 @@ word expansions (see Shell Expansions).

    history-expand-line (M-^) - +

    Perform history expansion on the current line.

    magic-space () - +

    Perform history expansion on the current line and insert a space (see History Interaction).

    alias-expand-line () - +

    Perform alias expansion on the current line (see Aliases).

    history-and-alias-expand-line () - +

    Perform history and alias expansion on the current line.

    insert-last-argument (M-. or M-_) - +

    A synonym for yank-last-arg.

    operate-and-get-next (C-o) - +

    Accept the current line for execution and fetch the next line relative to the current line from the history for editing. @@ -11906,7 +11691,7 @@ of the current line.

    edit-and-execute-command (C-x C-e) - +

    Invoke an editor on the current command line, and execute the result as shell commands. @@ -11920,13 +11705,11 @@ as the editor, in that order.


    - -
    + - -

    8.5 Readline vi Mode

    +

    8.5 Readline vi Mode

    While the Readline library does not have a full set of vi editing functions, it does contain enough to allow simple editing @@ -11946,14 +11729,12 @@ history lines with ‘k’ and subsequent lines with &lsquo so forth.


    - -
    + - -

    8.6 Programmable Completion

    - +

    8.6 Programmable Completion

    +

    When word completion is attempted for an argument to a command for which a completion specification (a compspec) has been defined @@ -12110,14 +11891,12 @@ complete -D -F _completion_loader -o bashdefault -o default


    - -
    + - -

    8.7 Programmable Completion Builtins

    - +

    8.7 Programmable Completion Builtins

    +

    Three builtin commands are available to manipulate the programmable completion facilities: one to specify how the arguments to a particular command are to @@ -12125,7 +11904,7 @@ be completed, and two to modify the completion as it is happening.

    compgen
    -
    +
    compgen [option] [word]
     
    @@ -12150,7 +11929,7 @@ matches were generated.

    complete
    -
    +
    complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat]
     [-W wordlist] [-F function] [-C command] [-X filterpat]
    @@ -12406,7 +12185,7 @@ an error occurs adding a completion specification.
     

    compopt
    -
    +
    compopt [-o option] [-DEI] [+o option] [name]
     
    @@ -12439,13 +12218,11 @@ specification exists, or an output error occurs.

    - -
    + - -

    8.8 A Programmable Completion Example

    +

    8.8 A Programmable Completion Example

    The most common way to obtain additional completion functionality beyond the default actions complete and compgen provide is to use @@ -12561,16 +12338,14 @@ other systems such as Solaris and Mac OS X.

    An older version of the bash_completion package is distributed with bash in the examples/complete subdirectory.

    - +
    - -
    +

    Next: , Previous: , Up: Top   [Contents][Index]

    - -

    9 Using History Interactively

    +

    9 Using History Interactively

    This chapter describes how to use the GNU History Library @@ -12580,26 +12355,24 @@ For information on using the GNU History Library in other program see the GNU Readline Library Manual.

    - - -
    - -
    + - -

    9.1 Bash History Facilities

    - - +

    9.1 Bash History Facilities

    + +

    When the -o history option to the set builtin is enabled (see The Set Builtin), @@ -12663,21 +12436,19 @@ The shopt builtin is used to set these options. See The Shopt Builtin, for a description of shopt.


    - -
    + - -

    9.2 Bash History Builtins

    - +

    9.2 Bash History Builtins

    +

    Bash provides two builtin commands which manipulate the history list and history file.

    fc
    -
    +
    fc [-e ename] [-lnr] [first] [last]
     fc -s [pat=rep] [command]
    @@ -12713,7 +12484,7 @@ and typing ‘r’ re-executes the last command (see 
     
    history
    -
    +
    history [n]
     history -c
    @@ -12798,14 +12569,12 @@ the value of the HISTFILE variable is used.
     

    - -
    + - -

    9.3 History Expansion

    - +

    9.3 History Expansion

    +

    The History library provides a history expansion feature that is similar to the history expansion provided by csh. This section @@ -12872,29 +12641,27 @@ the history comment character to mark history timestamps when writing the history file.

    - - -
    - -
    + - -

    9.3.1 Event Designators

    - +

    9.3.1 Event Designators

    +

    An event designator is a reference to a command line entry in the history list. Unless the reference is absolute, events are relative to the current position in the history list. - +

    !
    @@ -12928,12 +12695,14 @@ containing string. The trailing ‘?’ may be omitted if the string is followed immediately by a newline. +If string is missing, the string from the most recent search is used; +it is an error if there is no previous search string.

  • ^string1^string2^

    Quick Substitution. Repeat the last command, replacing string1 with string2. Equivalent to -!!:s/string1/string2/. +!!:s^string1^string2^.

    !#
    @@ -12943,13 +12712,11 @@ with string2. Equivalent to
    - -
    + - -

    9.3.2 Word Designators

    +

    9.3.2 Word Designators

    Word designators are used to select desired words from the event. A ‘:’ separates the event specification from the word designator. It @@ -12997,7 +12764,8 @@ the letters fi.

    %
    -

    The word matched by the most recent ‘?string?’ search. +

    The first word matched by the most recent ‘?string?’ search, +if the search string begins with a character that is part of a word.

    x-y
    @@ -13016,6 +12784,7 @@ the empty string is returned in that case.
    x-

    Abbreviates ‘x-$’ like ‘x*’, but omits the last word. +If ‘x’ is missing, it defaults to 0.

    @@ -13024,16 +12793,15 @@ the empty string is returned in that case. previous command is used as the event.


    - -
    + - -

    9.3.3 Modifiers

    +

    9.3.3 Modifiers

    After the optional word designator, you can add a sequence of one or more of the following modifiers, each preceded by a ‘:’. +These modify, or edit, the word or words selected from the history event.

    h
    @@ -13064,15 +12832,25 @@ the basename.
    x

    Quote the substituted words as with ‘q’, but break into words at spaces, tabs, and newlines. +The ‘q’ and ‘x’ modifiers are mutually exclusive; the last one +supplied is used.

    s/old/new/

    Substitute new for the first occurrence of old in the -event line. Any delimiter may be used in place of ‘/’. +event line. +Any character may be used as the delimiter in place of ‘/’. The delimiter may be quoted in old and new with a single backslash. If ‘&’ appears in new, it is replaced by old. A single backslash will quote -the ‘&’. The final delimiter is optional if it is the last +the ‘&’. +If old is null, it is set to the last old +substituted, or, if no previous history substitutions took place, +the last string +in a !?string[?] +search. +If new is is null, each matching old is deleted. +The final delimiter is optional if it is the last character on the input line.

    @@ -13088,19 +12866,18 @@ or with ‘&’.

    G
    -

    Apply the following ‘s’ modifier once to each word in the event. +

    Apply the following ‘s’ or ‘&’ modifier once to each word +in the event.


    - -
    + - -

    10 Installing Bash

    +

    10 Installing Bash

    This chapter provides basic instructions for installing Bash on the various supported platforms. The distribution supports the @@ -13110,41 +12887,39 @@ Other independent ports exist for MS-DOS, OS/2, and Windows platforms.

    - - - - - - - -
    - -
    + - -

    10.1 Basic Installation

    - - - - +

    10.1 Basic Installation

    + + + +

    These are installation instructions for Bash.

    @@ -13231,13 +13006,11 @@ files that configure created (so you can compile Bash for a different kind of computer), type ‘make distclean’.


    - -
    + - -

    10.2 Compilers and Options

    +

    10.2 Compilers and Options

    Some systems require unusual options for compilation or linking that the configure script does not know about. You can @@ -13259,13 +13032,11 @@ can do that on the command line like this: is available.


    - -
    + - -

    10.3 Compiling For Multiple Architectures

    +

    10.3 Compiling For Multiple Architectures

    You can compile Bash for more than one kind of computer at the same time, by placing the object files for each architecture in their @@ -13301,13 +13072,11 @@ Bash for at least one architecture before you can create build directories for other architectures.


    - -
    + - -

    10.4 Installation Names

    +

    10.4 Installation Names

    By default, ‘make install’ will install into /usr/local/bin, /usr/local/man, etc. You can @@ -13324,13 +13093,11 @@ If you give configure the option Documentation and other data files will still use the regular prefix.


    - -
    + - -

    10.5 Specifying the System Type

    +

    10.5 Specifying the System Type

    There may be some features configure can not figure out automatically, but need to determine by the type of host Bash @@ -13345,13 +13112,11 @@ or a canonical name with three fields: ‘CPU-COMPANY-SYSTEM&rs values of each field.


    - -
    + - -

    10.6 Sharing Defaults

    +

    10.6 Sharing Defaults

    If you want to set default values for configure scripts to share, you can create a site shell script called @@ -13364,13 +13129,11 @@ script. A warning: the Bash configure looks for a site script, but not all configure scripts do.


    - -
    + - -

    10.7 Operation Controls

    +

    10.7 Operation Controls

    configure recognizes the following options to control how it operates. @@ -13408,13 +13171,11 @@ script, and exit. options. ‘configure --help’ prints the complete list.


    - -
    + - -

    10.8 Optional Features

    +

    10.8 Optional Features

    The Bash configure has a number of --enable-feature options, where feature indicates an optional part of Bash. @@ -13733,13 +13494,11 @@ Read the comments associated with each definition for more information about its effect.


    - -
    + - -

    Appendix A Reporting Bugs

    +

    Appendix A Reporting Bugs

    Please report all bugs you find in Bash. But first, you should @@ -13772,13 +13531,11 @@ the template it provides for filing a bug report. bug-bash@gnu.org.


    - -
    + - -

    Appendix B Major Differences From The Bourne Shell

    +

    Appendix B Major Differences From The Bourne Shell

    Bash implements essentially the same grammar, parameter and variable expansion, redirection, and quoting as the Bourne Shell. @@ -14112,8 +13869,7 @@ shell scripts.

    More features unique to Bash may be found in Bash Features.

    - -

    B.1 Implementation Differences From The SVR4.2 Shell

    +

    B.1 Implementation Differences From The SVR4.2 Shell

    Since Bash is a completely new implementation, it does not suffer from many of the limitations of the SVR4.2 shell. For instance: @@ -14161,13 +13917,11 @@ only for certain failures, as enumerated in the POSIX standard.


    - -
    + - -

    Appendix C GNU Free Documentation License

    +

    Appendix C GNU Free Documentation License

    Version 1.3, 3 November 2008
    @@ -14602,15 +14356,14 @@ provided the MMC is eligible for relicensing.

    - -

    ADDENDUM: How to use this License for your documents

    +

    ADDENDUM: How to use this License for your documents

    To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

    -
    -
      Copyright (C)  year  your name.
    +
    +
      Copyright (C)  year  your name.
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
       or any later version published by the Free Software Foundation;
    @@ -14622,8 +14375,8 @@ license notices just after the title page:
     

    If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:

    -
    -
        with the Invariant Sections being list their titles, with
    +
    +
        with the Invariant Sections being list their titles, with
         the Front-Cover Texts being list, and with the Back-Cover Texts
         being list.
     
    @@ -14640,37 +14393,33 @@ to permit their use in free software.
    - -
    + - -

    Appendix D Indexes

    +

    Appendix D Indexes

    - - - - -
    - -
    + - -

    D.1 Index of Shell Builtin Commands

    +

    D.1 Index of Shell Builtin Commands

    Jump to:   .   : @@ -14718,25 +14467,25 @@ Next:

    - -
    +

    Next: , Previous: , Up: Indexes   [Contents][Index]

    - -

    D.2 Index of Shell Reserved Words

    +

    D.2 Index of Shell Reserved Words

    Jump to:   !   [ @@ -14906,53 +14653,53 @@ Next: , Pre - + - + - + - + - + - + - + - + - + - + - + - + - + - +
    Index Entry  Section

    !
    !
    !: Pipelines

    [
    [
    [[: Conditional Constructs

    ]
    ]
    ]]: Conditional Constructs

    {
    {
    {: Command Grouping

    }
    }
    }: Command Grouping

    C
    C
    case: Conditional Constructs

    D
    D
    do: Looping Constructs
    done: Looping Constructs

    E
    E
    elif: Conditional Constructs
    else: Conditional Constructs
    esac: Conditional Constructs

    F
    F
    fi: Conditional Constructs
    for: Looping Constructs
    function: Shell Functions

    I
    I
    if: Conditional Constructs
    in: Conditional Constructs

    S
    S
    select: Conditional Constructs

    T
    T
    then: Conditional Constructs
    time: Pipelines

    U
    U
    until: Looping Constructs

    W
    W
    while: Looping Constructs

    @@ -14988,13 +14735,11 @@ Next: , Pre

    - -
    + - -

    D.3 Parameter and Variable Index

    +

    D.3 Parameter and Variable Index

    Jump to:   !   # @@ -15056,13 +14801,13 @@ Next: , Pre - + - + - + @@ -15074,28 +14819,28 @@ Next: , Pre - + - + - + - + - + - + - + - + @@ -15120,7 +14865,7 @@ Next: , Pre - + @@ -15143,11 +14888,11 @@ Next: , Pre - + - + @@ -15161,17 +14906,17 @@ Next: , Pre - + - + - + @@ -15188,7 +14933,7 @@ Next: , Pre - + @@ -15196,10 +14941,10 @@ Next: , Pre - + - + @@ -15211,7 +14956,7 @@ Next: , Pre - + @@ -15223,7 +14968,7 @@ Next: , Pre - + @@ -15231,7 +14976,7 @@ Next: , Pre - + @@ -15246,14 +14991,14 @@ Next: , Pre - + - + @@ -15264,17 +15009,17 @@ Next: , Pre - + - + - + @@ -15340,13 +15085,11 @@ Next: , Pre
    Index Entry  Section

    !
    !
    !: Special Parameters

    #
    #
    #: Special Parameters

    $
    $
    $: Special Parameters
    $!: Special Parameters
    $#: Special Parameters
    $@: Special Parameters
    $_: Special Parameters

    *
    *
    *: Special Parameters

    -
    -
    -: Special Parameters

    0
    0
    0: Special Parameters

    ?
    ?
    ?: Special Parameters

    @
    @
    @: Special Parameters

    _
    _
    _: Special Parameters

    A
    A
    auto_resume: Job Control Variables

    B
    B
    BASH: Bash Variables
    BASHOPTS: Bash Variables
    BASHPID: Bash Variables
    bind-tty-special-chars: Readline Init File Syntax
    blink-matching-paren: Readline Init File Syntax

    C
    C
    CDPATH: Bourne Shell Variables
    CHILD_MAX: Bash Variables
    colored-completion-prefix: Readline Init File Syntax
    convert-meta: Readline Init File Syntax
    COPROC: Bash Variables

    D
    D
    DIRSTACK: Bash Variables
    disable-completion: Readline Init File Syntax

    E
    E
    echo-control-characters: Readline Init File Syntax
    editing-mode: Readline Init File Syntax
    EMACS: Bash Variables
    EXECIGNORE: Bash Variables
    expand-tilde: Readline Init File Syntax

    F
    F
    FCEDIT: Bash Variables
    FIGNORE: Bash Variables
    FUNCNAME: Bash Variables
    FUNCNEST: Bash Variables

    G
    G
    GLOBIGNORE: Bash Variables
    GROUPS: Bash Variables

    H
    H
    histchars: Bash Variables
    HISTCMD: Bash Variables
    HISTCONTROL: Bash Variables
    HOSTNAME: Bash Variables
    HOSTTYPE: Bash Variables

    I
    I
    IFS: Bourne Shell Variables
    IGNOREEOF: Bash Variables
    input-meta: Readline Init File Syntax
    INSIDE_EMACS: Bash Variables
    isearch-terminators: Readline Init File Syntax

    K
    K
    keymap: Readline Init File Syntax

    L
    L
    LANG: Bash Variables
    LC_ALL: Bash Variables
    LC_COLLATE: Bash Variables
    LINENO: Bash Variables
    LINES: Bash Variables

    M
    M
    MACHTYPE: Bash Variables
    MAIL: Bourne Shell Variables
    MAILCHECK: Bash Variables
    menu-complete-display-prefix: Readline Init File Syntax
    meta-flag: Readline Init File Syntax

    O
    O
    OLDPWD: Bash Variables
    OPTARG: Bourne Shell Variables
    OPTERR: Bash Variables
    OSTYPE: Bash Variables
    output-meta: Readline Init File Syntax

    P
    P
    page-completions: Readline Init File Syntax
    PATH: Bourne Shell Variables
    PIPESTATUS: Bash Variables
    PS4: Bash Variables
    PWD: Bash Variables

    R
    R
    RANDOM: Bash Variables
    READLINE_LINE: Bash Variables
    READLINE_POINT: Bash Variables
    REPLY: Bash Variables
    revert-all-at-newline: Readline Init File Syntax

    S
    S
    SECONDS: Bash Variables
    SHELL: Bash Variables
    SHELLOPTS: Bash Variables
    skip-completed-text: Readline Init File Syntax
    SRANDOM: Bash Variables

    T
    T
    TEXTDOMAIN: Locale Translation
    TEXTDOMAINDIR: Locale Translation
    TIMEFORMAT: Bash Variables
    TMOUT: Bash Variables
    TMPDIR: Bash Variables

    U
    U
    UID: Bash Variables

    V
    V
    vi-cmd-mode-string: Readline Init File Syntax
    vi-ins-mode-string: Readline Init File Syntax
    visible-stats: Readline Init File Syntax

    - -
    +

    Next: , Previous: , Up: Indexes   [Contents][Index]

    - -

    D.4 Function Index

    +

    D.4 Function Index

    Jump to:   A   B @@ -15391,12 +15134,12 @@ Next: , Previ - + - + @@ -15406,7 +15149,7 @@ Next: , Previ - + @@ -15423,7 +15166,7 @@ Next: , Previ - + @@ -15437,7 +15180,7 @@ Next: , Previ - + @@ -15445,18 +15188,18 @@ Next: , Previ - + - + - + @@ -15464,33 +15207,33 @@ Next: , Previ - + - + - + - + - + - + @@ -15502,16 +15245,16 @@ Next: , Previ - + - + - + @@ -15523,12 +15266,12 @@ Next: , Previ - + - + @@ -15536,7 +15279,7 @@ Next: , Previ - + @@ -15586,13 +15329,11 @@ Next: , Previ
    Index Entry  Section

    A
    A
    abort (C-g): Miscellaneous Commands
    accept-line (Newline or Return): Commands For History
    alias-expand-line (): Miscellaneous Commands

    B
    B
    backward-char (C-b): Commands For Moving
    backward-delete-char (Rubout): Commands For Text
    backward-kill-line (C-x Rubout): Commands For Killing
    beginning-of-line (C-a): Commands For Moving
    bracketed-paste-begin (): Commands For Text

    C
    C
    call-last-kbd-macro (C-x e): Keyboard Macros
    capitalize-word (M-c): Commands For Text
    character-search (C-]): Miscellaneous Commands
    copy-forward-word (): Commands For Killing
    copy-region-as-kill (): Commands For Killing

    D
    D
    dabbrev-expand (): Commands For Completion
    delete-char (C-d): Commands For Text
    delete-char-or-list (): Commands For Completion
    dump-variables (): Miscellaneous Commands
    dynamic-complete-history (M-TAB): Commands For Completion

    E
    E
    edit-and-execute-command (C-x C-e): Miscellaneous Commands
    end-kbd-macro (C-x )): Keyboard Macros
    end-of-file (usually C-d): Commands For Text
    end-of-line (C-e): Commands For Moving
    exchange-point-and-mark (C-x C-x): Miscellaneous Commands

    F
    F
    forward-backward-delete-char (): Commands For Text
    forward-char (C-f): Commands For Moving
    forward-search-history (C-s): Commands For History
    forward-word (M-f): Commands For Moving

    G
    G
    glob-complete-word (M-g): Miscellaneous Commands
    glob-expand-word (C-x *): Miscellaneous Commands
    glob-list-expansions (C-x g): Miscellaneous Commands

    H
    H
    history-and-alias-expand-line (): Miscellaneous Commands
    history-expand-line (M-^): Miscellaneous Commands
    history-search-backward (): Commands For History
    history-substring-search-backward (): Commands For History
    history-substring-search-forward (): Commands For History

    I
    I
    insert-comment (M-#): Miscellaneous Commands
    insert-completions (M-*): Commands For Completion
    insert-last-argument (M-. or M-_): Miscellaneous Commands

    K
    K
    kill-line (C-k): Commands For Killing
    kill-region (): Commands For Killing
    kill-whole-line (): Commands For Killing
    kill-word (M-d): Commands For Killing

    M
    M
    magic-space (): Miscellaneous Commands
    menu-complete (): Commands For Completion
    menu-complete-backward (): Commands For Completion

    N
    N
    next-history (C-n): Commands For History
    next-screen-line (): Commands For Moving
    non-incremental-forward-search-history (M-n): Commands For History
    non-incremental-reverse-search-history (M-p): Commands For History

    O
    O
    operate-and-get-next (C-o): Miscellaneous Commands
    overwrite-mode (): Commands For Text

    P
    P
    possible-command-completions (C-x !): Commands For Completion
    possible-completions (M-?): Commands For Completion
    possible-filename-completions (C-x /): Commands For Completion
    previous-screen-line (): Commands For Moving
    print-last-kbd-macro (): Keyboard Macros

    Q
    Q
    quoted-insert (C-q or C-v): Commands For Text

    R
    R
    re-read-init-file (C-x C-r): Miscellaneous Commands
    redraw-current-line (): Commands For Moving
    reverse-search-history (C-r): Commands For History
    revert-line (M-r): Miscellaneous Commands

    S
    S
    self-insert (a, b, A, 1, !, …): Commands For Text
    set-mark (C-@): Miscellaneous Commands
    shell-backward-kill-word (): Commands For Killing
    skip-csi-sequence (): Miscellaneous Commands
    start-kbd-macro (C-x (): Keyboard Macros

    T
    T
    tilde-expand (M-&): Miscellaneous Commands
    transpose-chars (C-t): Commands For Text
    transpose-words (M-t): Commands For Text

    U
    U
    undo (C-_ or C-x C-u): Miscellaneous Commands
    universal-argument (): Numeric Arguments
    unix-filename-rubout (): Commands For Killing
    unix-word-rubout (C-w): Commands For Killing
    upcase-word (M-u): Commands For Text

    Y
    Y
    yank (C-y): Commands For Killing
    yank-last-arg (M-. or M-_): Commands For History
    yank-nth-arg (M-C-y): Commands For History

    - -
    +

    Previous: , Up: Indexes   [Contents][Index]

    - -

    D.5 Concept Index

    +

    D.5 Concept Index

    Jump to:   A   B @@ -15641,14 +15382,14 @@ Previous: , - + - + @@ -15656,7 +15397,7 @@ Previous: , - + @@ -15678,10 +15419,10 @@ Previous: , - + - + @@ -15699,21 +15440,21 @@ Previous: , - + - + - + @@ -15722,32 +15463,32 @@ Previous: , - + - + - + - + - + - + - + @@ -15763,18 +15504,18 @@ Previous: , - + - + - + @@ -15787,20 +15528,20 @@ Previous: , - + - + - + - +
    Index Entry  Section

    A
    A
    alias expansion: Aliases
    arithmetic evaluation: Shell Arithmetic
    arithmetic expansion: Arithmetic Expansion
    arithmetic, shell: Shell Arithmetic
    arrays: Arrays

    B
    B
    background: Job Control Basics
    Bash configuration: Basic Installation
    Bash installation: Basic Installation
    brace expansion: Brace Expansion
    builtin: Definitions

    C
    C
    command editing: Readline Bare Essentials
    command execution: Command Search and Execution
    command expansion: Simple Command Expansion
    control operator: Definitions
    coprocess: Coprocesses

    D
    D
    directory stack: The Directory Stack

    E
    E
    editing command lines: Readline Bare Essentials
    environment: Environment
    evaluation, arithmetic: Shell Arithmetic
    expressions, arithmetic: Shell Arithmetic
    expressions, conditional: Bash Conditional Expressions

    F
    F
    field: Definitions
    filename: Definitions
    filename expansion: Filename Expansion
    foreground: Job Control Basics
    functions, shell: Shell Functions

    H
    H
    history builtins: Bash History Builtins
    history events: Event Designators
    history expansion: History Interaction
    history list: Bash History Facilities
    History, how to use: A Programmable Completion Example

    I
    I
    identifier: Definitions
    initialization file, readline: Readline Init File
    installation: Basic Installation
    interactive shell: Interactive Shells
    internationalization: Locale Translation

    J
    J
    job: Definitions
    job control: Definitions
    job control: Job Control Basics

    K
    K
    kill ring: Readline Killing Commands
    killing text: Readline Killing Commands

    L
    L
    localization: Locale Translation
    login shell: Invoking Bash

    M
    M
    matching, pattern: Pattern Matching
    metacharacter: Definitions

    N
    N
    name: Definitions
    native languages: Locale Translation
    notation, readline: Readline Bare Essentials

    O
    O
    operator, shell: Definitions

    P
    P
    parameter expansion: Shell Parameter Expansion
    parameters: Shell Parameters
    parameters, positional: Positional Parameters
    programmable completion: Programmable Completion
    prompting: Controlling the Prompt

    Q
    Q
    quoting: Quoting
    quoting, ANSI: ANSI-C Quoting

    R
    R
    Readline, how to use: Job Control Variables
    redirection: Redirections
    reserved word: Definitions
    restricted shell: The Restricted Shell
    return status: Definitions

    S
    S
    shell arithmetic: Shell Arithmetic
    shell function: Shell Functions
    shell script: Shell Scripts
    startup files: Bash Startup Files
    suspending jobs: Job Control Basics

    T
    T
    tilde expansion: Tilde Expansion
    token: Definitions
    translation, native languages: Locale Translation

    V
    V
    variable, shell: Shell Parameters
    variables, readline: Readline Init File Syntax

    W
    W
    word: Definitions
    word splitting: Word Splitting

    Y
    Y
    yanking text: Readline Killing Commands

    diff --git a/doc/bashref.info b/doc/bashref.info index 6249c1fb..90e8dc8c 100644 --- a/doc/bashref.info +++ b/doc/bashref.info @@ -1,10 +1,10 @@ -This is bashref.info, produced by makeinfo version 6.5 from +This is bashref.info, produced by makeinfo version 6.7 from bashref.texi. This text is a brief description of the features that are present in the -Bash shell (version 5.0, 8 July 2019). +Bash shell (version 5.0, 22 November 2019). - This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash + This is Edition 5.0, last updated 22 November 2019, of 'The GNU Bash Reference Manual', for 'Bash', Version 5.0. Copyright (C) 1988-2018 Free Software Foundation, Inc. @@ -27,10 +27,10 @@ Bash Features ************* This text is a brief description of the features that are present in the -Bash shell (version 5.0, 8 July 2019). The Bash home page is +Bash shell (version 5.0, 22 November 2019). The Bash home page is . - This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash + This is Edition 5.0, last updated 22 November 2019, of 'The GNU Bash Reference Manual', for 'Bash', Version 5.0. Bash contains features that appear in other popular shells, and some @@ -893,7 +893,8 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre An additional binary operator, '=~', is available, with the same precedence as '==' and '!='. When it is used, the string to the right of the operator is considered a POSIX extended regular - expression and matched accordingly (as in regex3)). The return + expression and matched accordingly (using the POSIX 'regcomp' and + 'regexec' interfaces usually described in regex(3)). The return value is 0 if the string matches the pattern, and 1 otherwise. If the regular expression is syntactically incorrect, the conditional expression's return value is 2. If the 'nocasematch' shell option @@ -905,18 +906,24 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre normal quoting characters lose their meanings between brackets. If the pattern is stored in a shell variable, quoting the variable expansion forces the entire pattern to be matched as a string. + + The pattern will match if it matches any part of the string. + Anchor the pattern using the '^' and '$' regular expression + operators to force it to match the entire string. The array + variable 'BASH_REMATCH' records which parts of the string matched + the pattern. The element of 'BASH_REMATCH' with index 0 contains + the portion of the string matching the entire regular expression. Substrings matched by parenthesized subexpressions within the - regular expression are saved in the array variable 'BASH_REMATCH'. - The element of 'BASH_REMATCH' with index 0 is the portion of the - string matching the entire regular expression. The element of - 'BASH_REMATCH' with index N is the portion of the string matching - the Nth parenthesized subexpression. + regular expression are saved in the remaining 'BASH_REMATCH' + indices. The element of 'BASH_REMATCH' with index N is the portion + of the string matching the Nth parenthesized subexpression. For example, the following will match a line (stored in the shell - variable LINE) if there is a sequence of characters in the value - consisting of any number, including zero, of space characters, zero - or one instances of 'a', then a 'b': - [[ $line =~ [[:space:]]*?(a)b ]] + variable LINE) if there is a sequence of characters anywhere in the + value consisting of any number, including zero, of characters in + the 'space' character class, zero or one instances of 'a', then a + 'b': + [[ $line =~ [[:space:]]*(a)?b ]] That means values like 'aab' and ' aaaaaab' will match, as will a line containing a 'b' anywhere in its value. @@ -929,7 +936,7 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre to the shell's quote removal. Using a shell variable to store the pattern decreases these problems. For example, the following is equivalent to the above: - pattern='[[:space:]]*?(a)b' + pattern='[[:space:]]*(a)?b' [[ $line =~ $pattern ]] If you want to match a character that's special to the regular @@ -1083,21 +1090,27 @@ names, use find's '-print0' option and parallel's '-0' option. You can use Parallel to move files from the current directory when the number of files is too large to process with one 'mv' invocation: - ls | parallel mv {} destdir + printf '%s\n' * | parallel mv {} destdir As you can see, the {} is replaced with each line read from standard input. While using 'ls' will work in most instances, it is not -sufficient to deal with all filenames. If you need to accommodate -special characters in filenames, you can use +sufficient to deal with all filenames. 'printf' is a shell builtin, and +therefore is not subject to the kernel's limit on the number of +arguments to a program, so you can use '*' (but see below about the +'dotglob' shell option). If you need to accommodate special characters +in filenames, you can use - find . -depth 1 \! -name '.*' -print0 | parallel -0 mv {} destdir + printf '%s\0' * | parallel -0 mv {} destdir as alluded to above. This will run as many 'mv' commands as there are files in the current directory. You can emulate a parallel 'xargs' by adding the '-X' option: - find . -depth 1 \! -name '.*' -print0 | parallel -0 -X mv {} destdir + printf '%s\0' * | parallel -0 -X mv {} destdir + + (You may have to modify the pattern if you have the 'dotglob' option +enabled.) GNU Parallel can replace certain common idioms that operate on lines read from a file (in this case, filenames listed one per line): @@ -1410,7 +1423,7 @@ only be referenced; assignment to them is not allowed. the expansion is not within double quotes, each positional parameter expands to a separate word. In contexts where it is performed, those words are subject to further word splitting and - pathname expansion. When the expansion occurs within double + filename expansion. When the expansion occurs within double quotes, it expands to a single word with the value of each parameter separated by the first character of the 'IFS' special variable. That is, '"$*"' is equivalent to '"$1C$2C..."', where C @@ -1984,7 +1997,7 @@ omitted, the operator tests only for existence. and the expansion is the resultant list. The result of the expansion is subject to word splitting and - pathname expansion as described below. + filename expansion as described below.  File: bashref.info, Node: Command Substitution, Next: Arithmetic Expansion, Prev: Shell Parameter Expansion, Up: Shell Expansions @@ -2116,18 +2129,17 @@ File: bashref.info, Node: Filename Expansion, Next: Quote Removal, Prev: Word * Pattern Matching:: How the shell matches patterns. After word splitting, unless the '-f' option has been set (*note The Set -Builtin::), Bash scans each word for the characters '*', '?', '[', and, -under certain circumstances (e.g., when it appears in the expansion of -an unquoted shell variable), '\\'. If one of these characters appears, -then the word is regarded as a PATTERN, and replaced with an -alphabetically sorted list of filenames matching the pattern (*note -Pattern Matching::). If no matching filenames are found, and the shell -option 'nullglob' is disabled, the word is left unchanged. If the -'nullglob' option is set, and no matches are found, the word is removed. -If the 'failglob' shell option is set, and no matches are found, an -error message is printed and the command is not executed. If the shell -option 'nocaseglob' is enabled, the match is performed without regard to -the case of alphabetic characters. +Builtin::), Bash scans each word for the characters '*', '?', and '['. +If one of these characters appears, and is not quoted, then the word is +regarded as a PATTERN, and replaced with an alphabetically sorted list +of filenames matching the pattern (*note Pattern Matching::). If no +matching filenames are found, and the shell option 'nullglob' is +disabled, the word is left unchanged. If the 'nullglob' option is set, +and no matches are found, the word is removed. If the 'failglob' shell +option is set, and no matches are found, an error message is printed and +the command is not executed. If the shell option 'nocaseglob' is +enabled, the match is performed without regard to the case of alphabetic +characters. When a pattern is used for filename expansion, the character '.' at the start of a filename or immediately following a slash must be matched @@ -2443,7 +2455,7 @@ A variant of here documents, the format is: [N]<<< WORD The WORD undergoes tilde expansion, parameter and variable expansion, -command substitution, arithmetic expansion, and quote removal. Pathname +command substitution, arithmetic expansion, and quote removal. Filename expansion and word splitting are not performed. The result is supplied as a single string, with a newline appended, to the command on its standard input (or file descriptor N if N is specified). @@ -2828,20 +2840,28 @@ of commands remembered by the parent (see the description of 'hash' in Most versions of Unix make this a part of the operating system's command execution mechanism. If the first line of a script begins with the two characters '#!', the remainder of the line specifies an -interpreter for the program. Thus, you can specify Bash, 'awk', Perl, -or some other interpreter and write the rest of the script file in that -language. +interpreter for the program and, depending on the operating system, one +or more optional arguments for that interpreter. Thus, you can specify +Bash, 'awk', Perl, or some other interpreter and write the rest of the +script file in that language. - The arguments to the interpreter consist of a single optional -argument following the interpreter name on the first line of the script + The arguments to the interpreter consist of one or more optional +arguments following the interpreter name on the first line of the script file, followed by the name of the script file, followed by the rest of -the arguments. Bash will perform this action on operating systems that -do not handle it themselves. Note that some older versions of Unix -limit the interpreter name and argument to a maximum of 32 characters. +the arguments supplied to the script. The details of how the +interpreter line is split into an interpreter name and a set of +arguments vary across systems. Bash will perform this action on +operating systems that do not handle it themselves. Note that some +older versions of Unix limit the interpreter name and a single argument +to a maximum of 32 characters, so it's not portable to assume that using +more than one argument will work. Bash scripts often begin with '#! /bin/bash' (assuming that Bash has been installed in '/bin'), since this ensures that Bash will be used to -interpret the script, even if it is executed under another shell. +interpret the script, even if it is executed under another shell. It's +a common idiom to use 'env' to find 'bash' even if it's been installed +in another directory: '#!/usr/bin/env bash' will find the first +occurrence of 'bash' in '$PATH'.  File: bashref.info, Node: Shell Builtin Commands, Next: Shell Variables, Prev: Basic Shell Features, Up: Top @@ -3032,7 +3052,7 @@ standard. supplied with a name that is not a shell function. 'getopts' - getopts OPTSTRING NAME [ARGS] + getopts OPTSTRING NAME [ARG ...] 'getopts' is used by shell scripts to parse positional parameters. OPTSTRING contains the option characters to be recognized; if a @@ -3054,7 +3074,8 @@ standard. the first non-option argument, and NAME is set to '?'. 'getopts' normally parses the positional parameters, but if more - arguments are given in ARGS, 'getopts' parses those instead. + arguments are supplied as ARG values, 'getopts' parses those + instead. 'getopts' can report errors in two ways. If the first character of OPTSTRING is a colon, SILENT error reporting is used. In normal @@ -4681,12 +4702,6 @@ This builtin allows you to change additional shell optional behavior. If set, Bash allows filename patterns which match no files to expand to a null string, rather than themselves. - 'posixglob' - If set, Bash makes words containing unquoted backslashes after - expansion eligible for filename expansion, even if they don't - contain any other unquoted pattern characters. This option is - enabled by default and is enabled when POSIX mode is enabled. - 'progcomp' If set, the programmable completion facilities (*note Programmable Completion::) are enabled. This option is @@ -4963,7 +4978,7 @@ Variables::). Constructs::). The element with index 0 is the portion of the string matching the entire regular expression. The element with index N is the portion of the string matching the Nth parenthesized - subexpression. This variable is read-only. + subexpression. 'BASH_SOURCE' An array variable whose members are the source filenames where the @@ -6776,66 +6791,62 @@ startup files. option, so numeric arguments to 'shift' that exceed the number of positional parameters will result in an error message. - 45. Enabling POSIX mode has the effect of setting the 'posixglob' - option, which affects how unquoted backslashes are treated during - filename expansion (*note Filename Expansion::). - - 46. When the 'alias' builtin displays alias definitions, it does not + 45. When the 'alias' builtin displays alias definitions, it does not display them with a leading 'alias ' unless the '-p' option is supplied. - 47. When the 'set' builtin is invoked without options, it does not + 46. When the 'set' builtin is invoked without options, it does not display shell function names and definitions. - 48. When the 'set' builtin is invoked without options, it displays + 47. When the 'set' builtin is invoked without options, it displays variable values without quotes, unless they contain shell metacharacters, even if the result contains nonprinting characters. - 49. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname + 48. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname constructed from '$PWD' and the directory name supplied as an argument does not refer to an existing directory, 'cd' will fail instead of falling back to PHYSICAL mode. - 50. When the 'cd' builtin cannot change a directory because the length + 49. When the 'cd' builtin cannot change a directory because the length of the pathname constructed from '$PWD' and the directory name supplied as an argument exceeds PATH_MAX when all symbolic links are expanded, 'cd' will fail instead of attempting to use only the supplied directory name. - 51. The 'pwd' builtin verifies that the value it prints is the same as + 50. The 'pwd' builtin verifies that the value it prints is the same as the current directory, even if it is not asked to check the file system with the '-P' option. - 52. When listing the history, the 'fc' builtin does not include an + 51. When listing the history, the 'fc' builtin does not include an indication of whether or not a history entry has been modified. - 53. The default editor used by 'fc' is 'ed'. + 52. The default editor used by 'fc' is 'ed'. - 54. The 'type' and 'command' builtins will not report a non-executable + 53. The 'type' and 'command' builtins will not report a non-executable file as having been found, though the shell will attempt to execute such a file if it is the only so-named file found in '$PATH'. - 55. The 'vi' editing mode will invoke the 'vi' editor directly when + 54. The 'vi' editing mode will invoke the 'vi' editor directly when the 'v' command is run, instead of checking '$VISUAL' and '$EDITOR'. - 56. When the 'xpg_echo' option is enabled, Bash does not attempt to + 55. When the 'xpg_echo' option is enabled, Bash does not attempt to interpret any arguments to 'echo' as options. Each argument is displayed, after escape characters are converted. - 57. The 'ulimit' builtin uses a block size of 512 bytes for the '-c' + 56. The 'ulimit' builtin uses a block size of 512 bytes for the '-c' and '-f' options. - 58. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not + 57. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not interrupt the 'wait' builtin and cause it to return immediately. The trap command is run once for each child that exits. - 59. The 'read' builtin may be interrupted by a signal for which a trap + 58. The 'read' builtin may be interrupted by a signal for which a trap has been set. If Bash receives a trapped signal while executing 'read', the trap handler executes and 'read' returns an exit status greater than 128. - 60. Bash removes an exited background process's status from the list + 59. Bash removes an exited background process's status from the list of such statuses after the 'wait' builtin is used to obtain it. There is other POSIX behavior that Bash does not implement by default @@ -7037,7 +7048,7 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables, option is encountered. 'wait' - wait [-fn] [JOBSPEC or PID ...] + wait [-fn] [-p VARNAME] [JOBSPEC or PID ...] Wait until the child process specified by each process ID PID or job specification JOBSPEC exits and return the exit status of the @@ -7046,12 +7057,16 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables, 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 '-n' option is supplied, 'wait' waits for a - single job to terminate and returns its exit status. Supplying the - '-f' option, when job control is enabled, forces 'wait' to wait for - each PID or JOBSPEC to terminate before returning its status, - intead of returning when it changes status. If neither JOBSPEC nor - PID specifies an active child process of the shell, the return - status is 127. + single job to terminate and returns its exit status. If the '-p' + option is supplied, the process or job identifier of the job for + which the exit status is returned is assigned to the variable + VARNAME named by the option argument. The variable will be unset + initially, before any assignment. This is useful only when the + '-n' option is supplied. Supplying the '-f' option, when job + control is enabled, forces 'wait' to wait for each PID or JOBSPEC + to terminate before returning its status, intead of returning when + it changes status. If neither JOBSPEC nor PID specifies an active + child process of the shell, the return status is 127. 'disown' disown [-ar] [-h] [JOBSPEC ... | PID ... ] @@ -9490,11 +9505,13 @@ the current position in the history list. '!?STRING[?]' Refer to the most recent command preceding the current position in the history list containing STRING. The trailing '?' may be - omitted if the STRING is followed immediately by a newline. + omitted if the STRING is followed immediately by a newline. If + STRING is missing, the string from the most recent search is used; + it is an error if there is no previous search string. '^STRING1^STRING2^' Quick Substitution. Repeat the last command, replacing STRING1 - with STRING2. Equivalent to '!!:s/STRING1/STRING2/'. + with STRING2. Equivalent to '!!:s^STRING1^STRING2^'. '!#' The entire command line typed so far. @@ -9541,7 +9558,8 @@ separated by single spaces. The last argument. '%' - The word matched by the most recent '?STRING?' search. + The first word matched by the most recent '?STRING?' search, if the + search string begins with a character that is part of a word. 'X-Y' A range of words; '-Y' abbreviates '0-Y'. @@ -9555,7 +9573,8 @@ separated by single spaces. Abbreviates 'X-$' 'X-' - Abbreviates 'X-$' like 'X*', but omits the last word. + Abbreviates 'X-$' like 'X*', but omits the last word. If 'x' is + missing, it defaults to 0. If a word designator is supplied without an event specification, the previous command is used as the event. @@ -9567,7 +9586,8 @@ File: bashref.info, Node: Modifiers, Prev: Word Designators, Up: History Inte --------------- After the optional word designator, you can add a sequence of one or -more of the following modifiers, each preceded by a ':'. +more of the following modifiers, each preceded by a ':'. These modify, +or edit, the word or words selected from the history event. 'h' Remove a trailing pathname component, leaving only the head. @@ -9590,15 +9610,19 @@ more of the following modifiers, each preceded by a ':'. 'x' Quote the substituted words as with 'q', but break into words at - spaces, tabs, and newlines. + spaces, tabs, and newlines. The 'q' and 'x' modifiers are mutually + exclusive; the last one supplied is used. 's/OLD/NEW/' Substitute NEW for the first occurrence of OLD in the event line. - Any delimiter may be used in place of '/'. The delimiter may be - quoted in OLD and NEW with a single backslash. If '&' appears in - NEW, it is replaced by OLD. A single backslash will quote the '&'. - The final delimiter is optional if it is the last character on the - input line. + Any character may be used as the delimiter in place of '/'. The + delimiter may be quoted in OLD and NEW with a single backslash. If + '&' appears in NEW, it is replaced by OLD. A single backslash will + quote the '&'. If OLD is null, it is set to the last OLD + substituted, or, if no previous history substitutions took place, + the last STRING in a !?STRING'[?]' search. If NEW is is null, each + matching OLD is deleted. The final delimiter is optional if it is + the last character on the input line. '&' Repeat the previous substitution. @@ -9609,7 +9633,8 @@ more of the following modifiers, each preceded by a ':'. conjunction with 's', as in 'gs/OLD/NEW/', or with '&'. 'G' - Apply the following 's' modifier once to each word in the event. + Apply the following 's' or '&' modifier once to each word in the + event.  File: bashref.info, Node: Installing Bash, Next: Reporting Bugs, Prev: Using History Interactively, Up: Top @@ -11019,7 +11044,7 @@ D.1 Index of Shell Builtin Commands * :: Bourne Shell Builtins. (line 11) * [: Bourne Shell Builtins. - (line 269) + (line 270) * alias: Bash Builtins. (line 11) * bg: Job Control Builtins. (line 7) @@ -11043,7 +11068,7 @@ D.1 Index of Shell Builtin Commands * dirs: Directory Stack Builtins. (line 7) * disown: Job Control Builtins. - (line 93) + (line 97) * echo: Bash Builtins. (line 246) * enable: Bash Builtins. (line 295) * eval: Bourne Shell Builtins. @@ -11061,7 +11086,7 @@ D.1 Index of Shell Builtin Commands * getopts: Bourne Shell Builtins. (line 143) * hash: Bourne Shell Builtins. - (line 186) + (line 187) * help: Bash Builtins. (line 324) * history: Bash History Builtins. (line 40) @@ -11079,34 +11104,34 @@ D.1 Index of Shell Builtin Commands * pushd: Directory Stack Builtins. (line 53) * pwd: Bourne Shell Builtins. - (line 206) + (line 207) * read: Bash Builtins. (line 460) * readarray: Bash Builtins. (line 554) * readonly: Bourne Shell Builtins. - (line 216) + (line 217) * return: Bourne Shell Builtins. - (line 235) + (line 236) * set: The Set Builtin. (line 11) * shift: Bourne Shell Builtins. - (line 256) + (line 257) * shopt: The Shopt Builtin. (line 9) * source: Bash Builtins. (line 563) * suspend: Job Control Builtins. - (line 105) + (line 109) * test: Bourne Shell Builtins. - (line 269) + (line 270) * times: Bourne Shell Builtins. - (line 348) + (line 349) * trap: Bourne Shell Builtins. - (line 354) + (line 355) * type: Bash Builtins. (line 568) * typeset: Bash Builtins. (line 600) * ulimit: Bash Builtins. (line 606) * umask: Bourne Shell Builtins. - (line 403) + (line 404) * unalias: Bash Builtins. (line 705) * unset: Bourne Shell Builtins. - (line 421) + (line 422) * wait: Job Control Builtins. (line 76) @@ -11743,134 +11768,139 @@ D.5 Concept Index  Tag Table: -Node: Top887 -Node: Introduction2797 -Node: What is Bash?3013 -Node: What is a shell?4127 -Node: Definitions6665 -Node: Basic Shell Features9616 -Node: Shell Syntax10835 -Node: Shell Operation11861 -Node: Quoting13154 -Node: Escape Character14454 -Node: Single Quotes14939 -Node: Double Quotes15287 -Node: ANSI-C Quoting16565 -Node: Locale Translation17824 -Node: Comments18720 -Node: Shell Commands19338 -Node: Simple Commands20210 -Node: Pipelines20841 -Node: Lists23773 -Node: Compound Commands25564 -Node: Looping Constructs26576 -Node: Conditional Constructs29071 -Node: Command Grouping40239 -Node: Coprocesses41718 -Node: GNU Parallel43621 -Node: Shell Functions47679 -Node: Shell Parameters54762 -Node: Positional Parameters59175 -Node: Special Parameters60075 -Node: Shell Expansions63829 -Node: Brace Expansion65952 -Node: Tilde Expansion68675 -Node: Shell Parameter Expansion71292 -Node: Command Substitution85725 -Node: Arithmetic Expansion87080 -Node: Process Substitution88012 -Node: Word Splitting89132 -Node: Filename Expansion91076 -Node: Pattern Matching93713 -Node: Quote Removal97699 -Node: Redirections97994 -Node: Executing Commands107552 -Node: Simple Command Expansion108222 -Node: Command Search and Execution110176 -Node: Command Execution Environment112552 -Node: Environment115536 -Node: Exit Status117195 -Node: Signals118865 -Node: Shell Scripts120832 -Node: Shell Builtin Commands123347 -Node: Bourne Shell Builtins125385 -Node: Bash Builtins146284 -Node: Modifying Shell Behavior175209 -Node: The Set Builtin175554 -Node: The Shopt Builtin185967 -Node: Special Builtins203945 -Node: Shell Variables204924 -Node: Bourne Shell Variables205361 -Node: Bash Variables207465 -Node: Bash Features238906 -Node: Invoking Bash239805 -Node: Bash Startup Files245818 -Node: Interactive Shells250921 -Node: What is an Interactive Shell?251331 -Node: Is this Shell Interactive?251980 -Node: Interactive Shell Behavior252795 -Node: Bash Conditional Expressions256282 -Node: Shell Arithmetic260859 -Node: Aliases263799 -Node: Arrays266419 -Node: The Directory Stack271784 -Node: Directory Stack Builtins272568 -Node: Controlling the Prompt275536 -Node: The Restricted Shell278457 -Node: Bash POSIX Mode280939 -Node: Job Control292066 -Node: Job Control Basics292526 -Node: Job Control Builtins297490 -Node: Job Control Variables302308 -Node: Command Line Editing303464 -Node: Introduction and Notation305135 -Node: Readline Interaction306758 -Node: Readline Bare Essentials307949 -Node: Readline Movement Commands309732 -Node: Readline Killing Commands310692 -Node: Readline Arguments312610 -Node: Searching313654 -Node: Readline Init File315840 -Node: Readline Init File Syntax317099 -Node: Conditional Init Constructs337538 -Node: Sample Init File341734 -Node: Bindable Readline Commands344851 -Node: Commands For Moving346055 -Node: Commands For History347914 -Node: Commands For Text352209 -Node: Commands For Killing355597 -Node: Numeric Arguments358412 -Node: Commands For Completion359551 -Node: Keyboard Macros363742 -Node: Miscellaneous Commands364429 -Node: Readline vi Mode370382 -Node: Programmable Completion371289 -Node: Programmable Completion Builtins379069 -Node: A Programmable Completion Example389764 -Node: Using History Interactively395011 -Node: Bash History Facilities395695 -Node: Bash History Builtins398700 -Node: History Interaction403231 -Node: Event Designators406851 -Node: Word Designators408070 -Node: Modifiers409707 -Node: Installing Bash411109 -Node: Basic Installation412246 -Node: Compilers and Options415504 -Node: Compiling For Multiple Architectures416245 -Node: Installation Names417938 -Node: Specifying the System Type418756 -Node: Sharing Defaults419472 -Node: Operation Controls420145 -Node: Optional Features421103 -Node: Reporting Bugs431621 -Node: Major Differences From The Bourne Shell432815 -Node: GNU Free Documentation License449667 -Node: Indexes474844 -Node: Builtin Index475298 -Node: Reserved Word Index482125 -Node: Variable Index484573 -Node: Function Index500397 -Node: Concept Index513836 +Node: Top897 +Node: Introduction2817 +Node: What is Bash?3033 +Node: What is a shell?4147 +Node: Definitions6685 +Node: Basic Shell Features9636 +Node: Shell Syntax10855 +Node: Shell Operation11881 +Node: Quoting13174 +Node: Escape Character14474 +Node: Single Quotes14959 +Node: Double Quotes15307 +Node: ANSI-C Quoting16585 +Node: Locale Translation17844 +Node: Comments18740 +Node: Shell Commands19358 +Node: Simple Commands20230 +Node: Pipelines20861 +Node: Lists23793 +Node: Compound Commands25584 +Node: Looping Constructs26596 +Node: Conditional Constructs29091 +Node: Command Grouping40662 +Node: Coprocesses42141 +Node: GNU Parallel44044 +Node: Shell Functions48345 +Node: Shell Parameters55428 +Node: Positional Parameters59841 +Node: Special Parameters60741 +Node: Shell Expansions64495 +Node: Brace Expansion66618 +Node: Tilde Expansion69341 +Node: Shell Parameter Expansion71958 +Node: Command Substitution86391 +Node: Arithmetic Expansion87746 +Node: Process Substitution88678 +Node: Word Splitting89798 +Node: Filename Expansion91742 +Node: Pattern Matching94291 +Node: Quote Removal98277 +Node: Redirections98572 +Node: Executing Commands108130 +Node: Simple Command Expansion108800 +Node: Command Search and Execution110754 +Node: Command Execution Environment113130 +Node: Environment116114 +Node: Exit Status117773 +Node: Signals119443 +Node: Shell Scripts121410 +Node: Shell Builtin Commands124422 +Node: Bourne Shell Builtins126460 +Node: Bash Builtins147376 +Node: Modifying Shell Behavior176301 +Node: The Set Builtin176646 +Node: The Shopt Builtin187059 +Node: Special Builtins204729 +Node: Shell Variables205708 +Node: Bourne Shell Variables206145 +Node: Bash Variables208249 +Node: Bash Features239661 +Node: Invoking Bash240560 +Node: Bash Startup Files246573 +Node: Interactive Shells251676 +Node: What is an Interactive Shell?252086 +Node: Is this Shell Interactive?252735 +Node: Interactive Shell Behavior253550 +Node: Bash Conditional Expressions257037 +Node: Shell Arithmetic261614 +Node: Aliases264554 +Node: Arrays267174 +Node: The Directory Stack272539 +Node: Directory Stack Builtins273323 +Node: Controlling the Prompt276291 +Node: The Restricted Shell279212 +Node: Bash POSIX Mode281694 +Node: Job Control292627 +Node: Job Control Basics293087 +Node: Job Control Builtins298051 +Node: Job Control Variables303197 +Node: Command Line Editing304353 +Node: Introduction and Notation306024 +Node: Readline Interaction307647 +Node: Readline Bare Essentials308838 +Node: Readline Movement Commands310621 +Node: Readline Killing Commands311581 +Node: Readline Arguments313499 +Node: Searching314543 +Node: Readline Init File316729 +Node: Readline Init File Syntax317988 +Node: Conditional Init Constructs338427 +Node: Sample Init File342623 +Node: Bindable Readline Commands345740 +Node: Commands For Moving346944 +Node: Commands For History348803 +Node: Commands For Text353098 +Node: Commands For Killing356486 +Node: Numeric Arguments359301 +Node: Commands For Completion360440 +Node: Keyboard Macros364631 +Node: Miscellaneous Commands365318 +Node: Readline vi Mode371271 +Node: Programmable Completion372178 +Node: Programmable Completion Builtins379958 +Node: A Programmable Completion Example390653 +Node: Using History Interactively395900 +Node: Bash History Facilities396584 +Node: Bash History Builtins399589 +Node: History Interaction404120 +Node: Event Designators407740 +Node: Word Designators409094 +Node: Modifiers410854 +Node: Installing Bash412665 +Node: Basic Installation413802 +Node: Compilers and Options417060 +Node: Compiling For Multiple Architectures417801 +Node: Installation Names419494 +Node: Specifying the System Type420312 +Node: Sharing Defaults421028 +Node: Operation Controls421701 +Node: Optional Features422659 +Node: Reporting Bugs433177 +Node: Major Differences From The Bourne Shell434371 +Node: GNU Free Documentation License451223 +Node: Indexes476400 +Node: Builtin Index476854 +Node: Reserved Word Index483681 +Node: Variable Index486129 +Node: Function Index501953 +Node: Concept Index515392  End Tag Table + + +Local Variables: +coding: utf-8 +End: diff --git a/doc/bashref.log b/doc/bashref.log index 2d641a9a..1bf46a72 100644 --- a/doc/bashref.log +++ b/doc/bashref.log @@ -1,11 +1,11 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/MacPorts 2018.47642_7) (preloaded format=pdfetex 2019.1.16) 20 SEP 2019 14:50 +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/MacPorts 2019.50896_1) (preloaded format=etex 2019.11.6) 22 NOV 2019 15:35 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. %&-line parsing enabled. -**\input /usr/homes/chet/src/bash/src/doc/bashref.texi +**\nonstopmode \input /usr/homes/chet/src/bash/src/doc/bashref.texi (/usr/homes/chet/src/bash/src/doc/bashref.texi -(/Users/chet/src/bash/src/doc/texinfo.tex +(/usr/homes/chet/src/bash/src/doc/texinfo.tex Loading texinfo [version 2015-11-22.14]: \outerhsize=\dimen16 \outervsize=\dimen17 @@ -161,14 +161,12 @@ 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{/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 +(/usr/homes/chet/src/bash/src/doc/version.texi) [1] [2] +(/usr/homes/chet/src/bash/src/doc/bashref.toc [-1] [-2] [-3]) [-4] Chapter 1 \openout0 = `bashref.toc'. -(/Users/chet/src/bash/src/doc/bashref.aux) +(/usr/homes/chet/src/bash/src/doc/bashref.aux) \openout1 = `bashref.aux'. Chapter 2 [1] [2] @@ -192,7 +190,7 @@ p/pdftex/updmap/pdftex.map}] [2] (/Users/chet/src/bash/src/doc/bashref.toc [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] +[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] Chapter 7 [104] [105] [106] [107] @@ -267,8 +265,9 @@ texinfo.tex: doing @include of hsuser.texi [163] Appendix C [164] 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] + (/usr/homes/chet/src/bash/src/doc/fdl.texi [165] +[166] [167] [168] [169] [170] [171]) Appendix D [172] [173] [174] [175] +[176] Overfull \vbox (0.67252pt too high) has occurred while \output is active \vbox(340.17245+0.0)x207.80492 .\glue(\topskip) 0.0 @@ -284,34 +283,12 @@ Overfull \vbox (0.67252pt too high) has occurred while \output is active [177] [178] [179] [180] [181] ) Here is how much of TeX's memory you used: - 4069 strings out of 497100 - 47090 string characters out of 6206794 - 137054 words of memory out of 5000000 - 4846 multiletter control sequences out of 15000+600000 + 3517 strings out of 497108 + 39941 string characters out of 6207178 + 86576 words of memory out of 5000000 + 4683 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,326b,968s stack positions out of 5000i,500n,10000p,200000b,80000s -{/opt/local/share/texmf-texlive/fonts/enc/dvips/ -cm-super/cm-super-t1.enc} - -Output written on bashref.pdf (187 pages, 757573 bytes). -PDF statistics: - 2644 PDF objects out of 2984 (max. 8388607) - 2411 compressed objects within 25 object streams - 313 named destinations out of 1000 (max. 500000) - 1125 words of extra memory for PDF output out of 10000 (max. 10000000) + 16i,6n,16p,339b,936s stack positions out of 5000i,500n,10000p,200000b,80000s +Output written on bashref.dvi (187 pages, 774688 bytes). diff --git a/doc/bashref.pdf b/doc/bashref.pdf index f7b95647f29e9764566de74946678ea021cdfa95..27098d3d6f6c45ec6d4f45924213f44b273e56a7 100644 GIT binary patch delta 157088 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 Zu@nm&o;w}N3zdN*6{&@UbWC)q{|z$w?J@uW delta 155975 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 Fu(')g(op)s(erators)g -(sort)g(lexicographically)j(using)d(the)630 1518 y(curren)m(t)30 -b(lo)s(cale.)630 1669 y(When)22 b(the)h(`)p Ft(==)p Fu(')f(and)g(`)p +(sort)g(lexicographically)j(using)d(the)630 1536 y(curren)m(t)30 +b(lo)s(cale.)630 1692 y(When)22 b(the)h(`)p Ft(==)p Fu(')f(and)g(`)p Ft(!=)p Fu(')g(op)s(erators)h(are)g(used,)g(the)g(string)f(to)i(the)e -(righ)m(t)h(of)g(the)g(op)s(erator)630 1778 y(is)31 b(considered)g(a)h +(righ)m(t)h(of)g(the)g(op)s(erator)630 1802 y(is)31 b(considered)g(a)h (pattern)f(and)g(matc)m(hed)h(according)g(to)g(the)g(rules)f(describ)s -(ed)f(b)s(elo)m(w)h(in)630 1888 y(Section)d(3.5.8.1)h([P)m(attern)f +(ed)f(b)s(elo)m(w)h(in)630 1911 y(Section)d(3.5.8.1)h([P)m(attern)f (Matc)m(hing],)h(page)f(33,)g(as)f(if)g(the)g Ft(extglob)d -Fu(shell)j(option)g(w)m(ere)630 1998 y(enabled.)46 b(The)31 +Fu(shell)j(option)g(w)m(ere)630 2021 y(enabled.)46 b(The)31 b(`)p Ft(=)p Fu(')h(op)s(erator)h(is)f(iden)m(tical)h(to)g(`)p Ft(==)p Fu('.)46 b(If)31 b(the)h Ft(nocasematch)d Fu(shell)j(option)630 -2107 y(\(see)42 b(the)f(description)g(of)h Ft(shopt)d +2131 y(\(see)42 b(the)f(description)g(of)h Ft(shopt)d Fu(in)i(Section)h(4.3.2)h([The)e(Shopt)f(Builtin],)45 -b(page)d(66\))630 2217 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s +b(page)d(66\))630 2240 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s (erformed)g(without)g(regard)h(to)h(the)f(case)g(of)g(alphab)s(etic)630 -2326 y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28 +2350 y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28 b(is)g(0)g(if)g(the)g(string)g(matc)m(hes)h(\(`)p Ft(==)p -Fu('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 2436 y(\(`)p +Fu('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 2459 y(\(`)p Ft(!=)p Fu('\))j(the)f(pattern,)h(and)e(1)i(otherwise.)41 b(An)m(y)30 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s(e)f(quoted)g(to) -630 2545 y(force)h(the)g(quoted)f(p)s(ortion)g(to)h(b)s(e)f(matc)m(hed) -h(as)g(a)f(string.)630 2696 y(An)j(additional)i(binary)e(op)s(erator,)i +630 2569 y(force)h(the)g(quoted)f(p)s(ortion)g(to)h(b)s(e)f(matc)m(hed) +h(as)g(a)f(string.)630 2725 y(An)j(additional)i(binary)e(op)s(erator,)i (`)p Ft(=~)p Fu(',)g(is)f(a)m(v)-5 b(ailable,)37 b(with)c(the)h(same)g -(precedence)h(as)630 2806 y(`)p Ft(==)p Fu(')g(and)g(`)p -Ft(!=)p Fu('.)55 b(When)35 b(it)g(is)h(used,)f(the)h(string)f(to)h(the) -f(righ)m(t)h(of)f(the)h(op)s(erator)f(is)g(con-)630 2915 -y(sidered)43 b(a)h Fm(POSIX)f Fu(extended)h(regular)g(expression)f(and) -g(matc)m(hed)i(accordingly)f(\(as)630 3025 y(in)d Fl(r)-5 -b(e)g(gex)11 b Fu(3\)\).)76 b(The)41 b(return)f(v)-5 -b(alue)42 b(is)g(0)f(if)h(the)f(string)h(matc)m(hes)g(the)g(pattern,)j -(and)c(1)630 3134 y(otherwise.)59 b(If)35 b(the)i(regular)f(expression) -g(is)g(syn)m(tactically)j(incorrect,)g(the)e(conditional)630 -3244 y(expression's)27 b(return)f(v)-5 b(alue)28 b(is)f(2.)40 -b(If)27 b(the)g Ft(nocasematch)e Fu(shell)i(option)h(\(see)g(the)f -(descrip-)630 3354 y(tion)41 b(of)g Ft(shopt)f Fu(in)h(Section)g(4.3.2) -i([The)e(Shopt)f(Builtin],)k(page)e(66\))g(is)f(enabled,)j(the)630 -3463 y(matc)m(h)36 b(is)f(p)s(erformed)e(without)i(regard)g(to)h(the)f -(case)h(of)f(alphab)s(etic)g(c)m(haracters.)56 b(An)m(y)630 -3573 y(part)25 b(of)h(the)g(pattern)f(ma)m(y)h(b)s(e)f(quoted)h(to)g -(force)g(the)g(quoted)f(p)s(ortion)g(to)i(b)s(e)d(matc)m(hed)j(as)630 -3682 y(a)34 b(string.)49 b(Brac)m(k)m(et)36 b(expressions)c(in)h -(regular)h(expressions)f(m)m(ust)g(b)s(e)f(treated)j(carefully)-8 -b(,)630 3792 y(since)37 b(normal)f(quoting)h(c)m(haracters)g(lose)g -(their)g(meanings)f(b)s(et)m(w)m(een)h(brac)m(k)m(ets.)60 -b(If)36 b(the)630 3902 y(pattern)e(is)g(stored)g(in)f(a)i(shell)f(v)-5 -b(ariable,)36 b(quoting)e(the)g(v)-5 b(ariable)35 b(expansion)e(forces) -i(the)630 4011 y(en)m(tire)30 b(pattern)e(to)i(b)s(e)e(matc)m(hed)h(as) -g(a)g(string.)40 b(Substrings)27 b(matc)m(hed)j(b)m(y)e(paren)m -(thesized)630 4121 y(sub)s(expressions)40 b(within)h(the)g(regular)h -(expression)f(are)h(sa)m(v)m(ed)h(in)e(the)h(arra)m(y)g(v)-5 -b(ariable)630 4230 y Ft(BASH_REMATCH)p Fu(.)56 b(The)37 -b(elemen)m(t)h(of)f Ft(BASH_REMATCH)c Fu(with)j(index)h(0)g(is)g(the)f -(p)s(ortion)h(of)630 4340 y(the)22 b(string)f(matc)m(hing)h(the)g(en)m -(tire)g(regular)g(expression.)37 b(The)21 b(elemen)m(t)i(of)e -Ft(BASH_REMATCH)630 4450 y Fu(with)26 b(index)h Fr(n)f -Fu(is)h(the)g(p)s(ortion)f(of)h(the)g(string)g(matc)m(hing)h(the)f -Fr(n)p Fu(th)f(paren)m(thesized)h(sub)s(ex-)630 4559 -y(pression.)630 4710 y(F)-8 b(or)28 b(example,)h(the)e(follo)m(wing)i -(will)e(matc)m(h)h(a)g(line)f(\(stored)h(in)e(the)i(shell)f(v)-5 -b(ariable)28 b Fr(line)5 b Fu(\))28 b(if)630 4819 y(there)22 -b(is)g(a)h(sequence)f(of)h(c)m(haracters)g(in)f(the)g(v)-5 -b(alue)23 b(consisting)g(of)f(an)m(y)h(n)m(um)m(b)s(er,)f(including)630 -4929 y(zero,)31 b(of)g(space)g(c)m(haracters,)h(zero)f(or)g(one)f -(instances)h(of)g(`)p Ft(a)p Fu(',)f(then)g(a)h(`)p Ft(b)p -Fu(':)870 5080 y Ft([[)47 b($line)g(=~)g([[:space:]]*?\(a\)b)c(]])630 -5230 y Fu(That)24 b(means)g(v)-5 b(alues)24 b(lik)m(e)h(`)p -Ft(aab)p Fu(')e(and)h(`)30 b Ft(aaaaaab)p Fu(')22 b(will)i(matc)m(h,)j -(as)d(will)g(a)g(line)g(con)m(taining)630 5340 y(a)31 -b(`)p Ft(b)p Fu(')f(an)m(ywhere)h(in)f(its)g(v)-5 b(alue.)p -eop end +(precedence)h(as)630 2835 y(`)p Ft(==)p Fu(')29 b(and)f(`)p +Ft(!=)p Fu('.)40 b(When)29 b(it)g(is)g(used,)f(the)h(string)g(to)h(the) +e(righ)m(t)i(of)f(the)g(op)s(erator)g(is)g(consid-)630 +2945 y(ered)c(a)h Fm(POSIX)e Fu(extended)h(regular)h(expression)f(and)f +(matc)m(hed)i(accordingly)h(\(using)e(the)630 3054 y +Fm(POSIX)36 b Ft(regcomp)f Fu(and)h Ft(regexec)e Fu(in)m(terfaces)k +(usually)e(describ)s(ed)g(in)g Fl(r)-5 b(e)g(gex)11 b +Fu(\(3\)\).)61 b(The)630 3164 y(return)40 b(v)-5 b(alue)42 +b(is)f(0)g(if)g(the)h(string)f(matc)m(hes)h(the)f(pattern,)k(and)40 +b(1)i(otherwise.)73 b(If)41 b(the)630 3273 y(regular)27 +b(expression)g(is)h(syn)m(tactically)i(incorrect,)f(the)e(conditional)i +(expression's)e(return)630 3383 y(v)-5 b(alue)40 b(is)g(2.)68 +b(If)39 b(the)h Ft(nocasematch)c Fu(shell)k(option)g(\(see)g(the)g +(description)g(of)f Ft(shopt)f Fu(in)630 3493 y(Section)32 +b(4.3.2)g([The)f(Shopt)f(Builtin],)i(page)g(66\))g(is)f(enabled,)g(the) +g(matc)m(h)h(is)e(p)s(erformed)630 3602 y(without)36 +b(regard)g(to)h(the)f(case)h(of)f(alphab)s(etic)h(c)m(haracters.)59 +b(An)m(y)36 b(part)g(of)h(the)f(pattern)630 3712 y(ma)m(y)31 +b(b)s(e)f(quoted)h(to)g(force)g(the)g(quoted)g(p)s(ortion)f(to)h(b)s(e) +f(matc)m(hed)h(as)g(a)g(string.)41 b(Brac)m(k)m(et)630 +3821 y(expressions)27 b(in)f(regular)i(expressions)e(m)m(ust)h(b)s(e)g +(treated)h(carefully)-8 b(,)29 b(since)e(normal)g(quot-)630 +3931 y(ing)i(c)m(haracters)i(lose)f(their)f(meanings)h(b)s(et)m(w)m +(een)f(brac)m(k)m(ets.)42 b(If)29 b(the)g(pattern)h(is)f(stored)g(in) +630 4041 y(a)k(shell)f(v)-5 b(ariable,)34 b(quoting)f(the)f(v)-5 +b(ariable)33 b(expansion)g(forces)f(the)h(en)m(tire)g(pattern)g(to)g(b) +s(e)630 4150 y(matc)m(hed)e(as)g(a)g(string.)630 4307 +y(The)26 b(pattern)g(will)h(matc)m(h)g(if)f(it)h(matc)m(hes)h(an)m(y)e +(part)h(of)f(the)h(string.)39 b(Anc)m(hor)26 b(the)h(pattern)630 +4416 y(using)f(the)i(`)p Ft(^)p Fu(')f(and)f(`)p Ft($)p +Fu(')h(regular)h(expression)e(op)s(erators)h(to)h(force)g(it)f(to)h +(matc)m(h)g(the)f(en)m(tire)630 4526 y(string.)81 b(The)44 +b(arra)m(y)g(v)-5 b(ariable)45 b Ft(BASH_REMATCH)40 b +Fu(records)k(whic)m(h)f(parts)h(of)g(the)g(string)630 +4635 y(matc)m(hed)31 b(the)f(pattern.)41 b(The)30 b(elemen)m(t)i(of)e +Ft(BASH_REMATCH)d Fu(with)j(index)g(0)g(con)m(tains)i(the)630 +4745 y(p)s(ortion)20 b(of)h(the)g(string)f(matc)m(hing)i(the)f(en)m +(tire)g(regular)g(expression.)37 b(Substrings)19 b(matc)m(hed)630 +4855 y(b)m(y)30 b(paren)m(thesized)g(sub)s(expressions)e(within)i(the)g +(regular)g(expression)g(are)g(sa)m(v)m(ed)h(in)f(the)630 +4964 y(remaining)j Ft(BASH_REMATCH)c Fu(indices.)49 b(The)32 +b(elemen)m(t)i(of)f Ft(BASH_REMATCH)d Fu(with)i(index)g +Fr(n)630 5074 y Fu(is)e(the)h(p)s(ortion)f(of)g(the)h(string)f(matc)m +(hing)i(the)e Fr(n)p Fu(th)g(paren)m(thesized)h(sub)s(expression.)630 +5230 y(F)-8 b(or)34 b(example,)h(the)e(follo)m(wing)i(will)f(matc)m(h)g +(a)g(line)f(\(stored)h(in)f(the)h(shell)f(v)-5 b(ariable)34 +b Fr(line)5 b Fu(\))630 5340 y(if)42 b(there)h(is)g(a)f(sequence)h(of)g +(c)m(haracters)h(an)m(ywhere)e(in)g(the)h(v)-5 b(alue)43 +b(consisting)g(of)g(an)m(y)p eop end %%Page: 14 20 TeXDict begin 14 19 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(14)630 299 -y(Storing)31 b(the)g(regular)g(expression)f(in)h(a)g(shell)g(v)-5 +y(n)m(um)m(b)s(er,)30 b(including)h(zero,)h(of)f(c)m(haracters)i(in)e +(the)g Ft(space)f Fu(c)m(haracter)i(class,)h(zero)f(or)f(one)630 +408 y(instances)g(of)f(`)p Ft(a)p Fu(',)h(then)f(a)h(`)p +Ft(b)p Fu(':)870 549 y Ft([[)47 b($line)g(=~)g([[:space:]]*\(a\)?b)c +(]])630 690 y Fu(That)24 b(means)g(v)-5 b(alues)24 b(lik)m(e)h(`)p +Ft(aab)p Fu(')e(and)h(`)30 b Ft(aaaaaab)p Fu(')22 b(will)i(matc)m(h,)j +(as)d(will)g(a)g(line)g(con)m(taining)630 800 y(a)31 +b(`)p Ft(b)p Fu(')f(an)m(ywhere)h(in)f(its)g(v)-5 b(alue.)630 +941 y(Storing)31 b(the)g(regular)g(expression)f(in)h(a)g(shell)g(v)-5 b(ariable)31 b(is)g(often)g(a)g(useful)f(w)m(a)m(y)i(to)f(a)m(v)m(oid) -630 408 y(problems)f(with)g(quoting)h(c)m(haracters)i(that)e(are)g(sp)s -(ecial)g(to)h(the)f(shell.)41 b(It)31 b(is)g(sometimes)630 -518 y(di\016cult)24 b(to)h(sp)s(ecify)f(a)h(regular)g(expression)f +630 1050 y(problems)f(with)g(quoting)h(c)m(haracters)i(that)e(are)g(sp) +s(ecial)g(to)h(the)f(shell.)41 b(It)31 b(is)g(sometimes)630 +1160 y(di\016cult)24 b(to)h(sp)s(ecify)f(a)h(regular)g(expression)f (literally)i(without)f(using)e(quotes,)k(or)d(to)h(k)m(eep)630 -628 y(trac)m(k)33 b(of)g(the)f(quoting)g(used)g(b)m(y)g(regular)g +1270 y(trac)m(k)33 b(of)g(the)f(quoting)g(used)g(b)m(y)g(regular)g (expressions)g(while)g(pa)m(ying)h(atten)m(tion)h(to)f(the)630 -737 y(shell's)25 b(quote)g(remo)m(v)-5 b(al.)40 b(Using)25 +1379 y(shell's)25 b(quote)g(remo)m(v)-5 b(al.)40 b(Using)25 b(a)g(shell)g(v)-5 b(ariable)26 b(to)f(store)g(the)g(pattern)g -(decreases)g(these)630 847 y(problems.)40 b(F)-8 b(or)31 +(decreases)g(these)630 1489 y(problems.)40 b(F)-8 b(or)31 b(example,)g(the)g(follo)m(wing)h(is)e(equiv)-5 b(alen)m(t)32 -b(to)f(the)g(ab)s(o)m(v)m(e:)870 992 y Ft(pattern='[[:space:]]*?\(a)o -(\)b')870 1101 y([[)47 b($line)g(=~)g($pattern)e(]])630 -1246 y Fu(If)28 b(y)m(ou)h(w)m(an)m(t)g(to)g(matc)m(h)h(a)e(c)m +b(to)f(the)g(ab)s(o)m(v)m(e:)870 1630 y Ft(pattern='[[:space:]]*\(a\))o +(?b')870 1739 y([[)47 b($line)g(=~)g($pattern)e(]])630 +1880 y Fu(If)28 b(y)m(ou)h(w)m(an)m(t)g(to)g(matc)m(h)h(a)e(c)m (haracter)j(that's)e(sp)s(ecial)g(to)g(the)g(regular)f(expression)g -(gram-)630 1356 y(mar,)g(it)g(has)g(to)g(b)s(e)f(quoted)h(to)g(remo)m +(gram-)630 1990 y(mar,)g(it)g(has)g(to)g(b)s(e)f(quoted)h(to)g(remo)m (v)m(e)h(its)f(sp)s(ecial)g(meaning.)40 b(This)27 b(means)g(that)h(in)g -(the)630 1465 y(pattern)e(`)p Ft(xxx.txt)p Fu(',)g(the)h(`)p +(the)630 2099 y(pattern)e(`)p Ft(xxx.txt)p Fu(',)g(the)h(`)p Ft(.)p Fu(')f(matc)m(hes)i(an)m(y)e(c)m(haracter)i(in)e(the)h(string)f -(\(its)h(usual)f(regular)630 1575 y(expression)g(meaning\),)i(but)e(in) +(\(its)h(usual)f(regular)630 2209 y(expression)g(meaning\),)i(but)e(in) g(the)h(pattern)f(`)p Ft("xxx.txt")p Fu(')f(it)i(can)g(only)f(matc)m(h) -i(a)e(literal)630 1685 y(`)p Ft(.)p Fu('.)56 b(Shell)35 +i(a)e(literal)630 2318 y(`)p Ft(.)p Fu('.)56 b(Shell)35 b(programmers)f(should)h(tak)m(e)i(sp)s(ecial)e(care)i(with)e(bac)m -(kslashes,)i(since)f(bac)m(k-)630 1794 y(slashes)27 b(are)g(used)f(b)s +(kslashes,)i(since)f(bac)m(k-)630 2428 y(slashes)27 b(are)g(used)f(b)s (oth)g(b)m(y)h(the)f(shell)h(and)f(regular)h(expressions)g(to)g(remo)m -(v)m(e)h(the)f(sp)s(ecial)630 1904 y(meaning)h(from)f(the)h(follo)m +(v)m(e)h(the)f(sp)s(ecial)630 2538 y(meaning)h(from)f(the)h(follo)m (wing)i(c)m(haracter.)41 b(The)27 b(follo)m(wing)j(t)m(w)m(o)f(sets)f -(of)g(commands)g(are)630 2013 y Fl(not)40 b Fu(equiv)-5 -b(alen)m(t:)870 2158 y Ft(pattern='\\.')870 2378 y([[)47 -b(.)h(=~)f($pattern)e(]])870 2487 y([[)i(.)h(=~)f(\\.)g(]])870 -2706 y([[)g(.)h(=~)f("$pattern")e(]])870 2816 y([[)i(.)h(=~)f('\\.')f -(]])630 2961 y Fu(The)28 b(\014rst)h(t)m(w)m(o)h(matc)m(hes)g(will)f +(of)g(commands)g(are)630 2647 y Fl(not)40 b Fu(equiv)-5 +b(alen)m(t:)870 2788 y Ft(pattern='\\.')870 3007 y([[)47 +b(.)h(=~)f($pattern)e(]])870 3117 y([[)i(.)h(=~)f(\\.)g(]])870 +3336 y([[)g(.)h(=~)f("$pattern")e(]])870 3446 y([[)i(.)h(=~)f('\\.')f +(]])630 3587 y Fu(The)28 b(\014rst)h(t)m(w)m(o)h(matc)m(hes)g(will)f (succeed,)h(but)f(the)g(second)g(t)m(w)m(o)h(will)f(not,)h(b)s(ecause)f -(in)g(the)630 3070 y(second)39 b(t)m(w)m(o)i(the)e(bac)m(kslash)h(will) +(in)g(the)630 3696 y(second)39 b(t)m(w)m(o)i(the)e(bac)m(kslash)h(will) f(b)s(e)g(part)g(of)g(the)h(pattern)f(to)h(b)s(e)e(matc)m(hed.)68 -b(In)39 b(the)630 3180 y(\014rst)31 b(t)m(w)m(o)h(examples,)h(the)e +b(In)39 b(the)630 3806 y(\014rst)31 b(t)m(w)m(o)h(examples,)h(the)e (bac)m(kslash)h(remo)m(v)m(es)h(the)f(sp)s(ecial)g(meaning)f(from)g(`)p -Ft(.)p Fu(',)h(so)g(the)630 3290 y(literal)f(`)p Ft(.)p +Ft(.)p Fu(',)h(so)g(the)630 3915 y(literal)f(`)p Ft(.)p Fu(')e(matc)m(hes.)42 b(If)28 b(the)i(string)f(in)g(the)g(\014rst)g (examples)g(w)m(ere)h(an)m(ything)g(other)f(than)630 -3399 y(`)p Ft(.)p Fu(',)g(sa)m(y)g(`)p Ft(a)p Fu(',)g(the)f(pattern)g +4025 y(`)p Ft(.)p Fu(',)g(sa)m(y)g(`)p Ft(a)p Fu(',)g(the)f(pattern)g (w)m(ould)g(not)h(matc)m(h,)h(b)s(ecause)e(the)g(quoted)g(`)p -Ft(.)p Fu(')h(in)e(the)i(pattern)630 3509 y(loses)i(its)g(sp)s(ecial)g +Ft(.)p Fu(')h(in)e(the)i(pattern)630 4134 y(loses)i(its)g(sp)s(ecial)g (meaning)f(of)h(matc)m(hing)g(an)m(y)g(single)g(c)m(haracter.)630 -3654 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h +4275 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h (follo)m(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630 -3763 y(order)30 b(of)g(precedence:)630 3944 y Ft(\()g -Fj(expression)e Ft(\))1110 4053 y Fu(Returns)i(the)h(v)-5 +4385 y(order)30 b(of)g(precedence:)630 4557 y Ft(\()g +Fj(expression)e Ft(\))1110 4667 y Fu(Returns)i(the)h(v)-5 b(alue)31 b(of)g Fr(expression)p Fu(.)42 b(This)30 b(ma)m(y)i(b)s(e)e -(used)g(to)i(o)m(v)m(erride)g(the)1110 4163 y(normal)e(precedence)h(of) -g(op)s(erators.)630 4343 y Ft(!)f Fj(expression)1110 -4453 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630 -4633 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 4743 +(used)g(to)i(o)m(v)m(erride)g(the)1110 4776 y(normal)e(precedence)h(of) +g(op)s(erators.)630 4949 y Ft(!)f Fj(expression)1110 +5058 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630 +5230 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 5340 y Fu(T)-8 b(rue)30 b(if)g(b)s(oth)g Fr(expression1)38 -b Fu(and)29 b Fr(expression2)38 b Fu(are)31 b(true.)630 -4923 y Fj(expression1)c Ft(||)j Fj(expression2)1110 5032 -y Fu(T)-8 b(rue)30 b(if)g(either)h Fr(expression1)38 -b Fu(or)30 b Fr(expression2)38 b Fu(is)30 b(true.)630 -5213 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g -(ev)-5 b(aluate)27 b Fr(expression2)32 b Fu(if)25 b(the)g(v)-5 -b(alue)25 b(of)g Fr(expression1)630 5322 y Fu(is)30 b(su\016cien)m(t)h -(to)g(determine)g(the)f(return)g(v)-5 b(alue)31 b(of)f(the)h(en)m(tire) -g(conditional)h(expression.)p eop end +b Fu(and)29 b Fr(expression2)38 b Fu(are)31 b(true.)p +eop end %%Page: 15 21 TeXDict begin 15 20 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)150 299 -y Fk(3.2.4.3)63 b(Grouping)43 b(Commands)150 446 y Fu(Bash)30 -b(pro)m(vides)g(t)m(w)m(o)h(w)m(a)m(ys)f(to)h(group)e(a)h(list)g(of)g -(commands)f(to)i(b)s(e)e(executed)h(as)g(a)h(unit.)40 -b(When)29 b(com-)150 555 y(mands)h(are)i(group)s(ed,)f(redirections)h -(ma)m(y)g(b)s(e)e(applied)i(to)g(the)f(en)m(tire)h(command)g(list.)44 -b(F)-8 b(or)32 b(example,)150 665 y(the)f(output)f(of)g(all)h(the)g -(commands)f(in)g(the)h(list)g(ma)m(y)g(b)s(e)e(redirected)i(to)g(a)g -(single)g(stream.)150 839 y Ft(\(\))870 979 y(\()47 b -Fj(list)g Ft(\))630 1118 y Fu(Placing)30 b(a)f(list)g(of)g(commands)f -(b)s(et)m(w)m(een)i(paren)m(theses)e(causes)i(a)f(subshell)e(en)m -(vironmen)m(t)630 1228 y(to)k(b)s(e)e(created)j(\(see)f(Section)g -(3.7.3)h([Command)d(Execution)i(En)m(vironmen)m(t],)g(page)f(39\),)630 -1337 y(and)d(eac)m(h)h(of)g(the)f(commands)g(in)g Fr(list)j +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)630 299 +y Fj(expression1)27 b Ft(||)j Fj(expression2)1110 408 +y Fu(T)-8 b(rue)30 b(if)g(either)h Fr(expression1)38 +b Fu(or)30 b Fr(expression2)38 b Fu(is)30 b(true.)630 +566 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g +(ev)-5 b(aluate)27 b Fr(expression2)32 b Fu(if)25 b(the)g(v)-5 +b(alue)25 b(of)g Fr(expression1)630 676 y Fu(is)30 b(su\016cien)m(t)h +(to)g(determine)g(the)f(return)g(v)-5 b(alue)31 b(of)f(the)h(en)m(tire) +g(conditional)h(expression.)150 873 y Fk(3.2.4.3)63 b(Grouping)43 +b(Commands)150 1020 y Fu(Bash)30 b(pro)m(vides)g(t)m(w)m(o)h(w)m(a)m +(ys)f(to)h(group)e(a)h(list)g(of)g(commands)f(to)i(b)s(e)e(executed)h +(as)g(a)h(unit.)40 b(When)29 b(com-)150 1129 y(mands)h(are)i(group)s +(ed,)f(redirections)h(ma)m(y)g(b)s(e)e(applied)i(to)g(the)f(en)m(tire)h +(command)g(list.)44 b(F)-8 b(or)32 b(example,)150 1239 +y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g(the)h(list)g(ma)m(y)g +(b)s(e)e(redirected)i(to)g(a)g(single)g(stream.)150 1397 +y Ft(\(\))870 1530 y(\()47 b Fj(list)g Ft(\))630 1664 +y Fu(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i(paren)m +(theses)e(causes)i(a)f(subshell)e(en)m(vironmen)m(t)630 +1773 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)h([Command)d +(Execution)i(En)m(vironmen)m(t],)g(page)f(39\),)630 1883 +y(and)d(eac)m(h)h(of)g(the)f(commands)g(in)g Fr(list)j Fu(to)f(b)s(e)d(executed)j(in)e(that)h(subshell.)38 b(Since)28 -b(the)f Fr(list)630 1447 y Fu(is)i(executed)g(in)f(a)h(subshell,)g(v)-5 +b(the)f Fr(list)630 1992 y Fu(is)i(executed)g(in)f(a)h(subshell,)g(v)-5 b(ariable)29 b(assignmen)m(ts)g(do)g(not)g(remain)f(in)g(e\013ect)j -(after)e(the)630 1557 y(subshell)g(completes.)150 1726 -y Ft({})870 1866 y({)47 b Fj(list)p Ft(;)g(})630 2005 +(after)e(the)630 2102 y(subshell)g(completes.)150 2260 +y Ft({})870 2393 y({)47 b Fj(list)p Ft(;)g(})630 2527 y Fu(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h(curly)f (braces)g(causes)h(the)f(list)h(to)g(b)s(e)f(executed)630 -2115 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42 +2636 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42 b(No)27 b(subshell)f(is)g(created.)41 b(The)26 b(semicolon)i(\(or)f -(newline\))630 2224 y(follo)m(wing)32 b Fr(list)h Fu(is)d(required.)275 -2399 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j +(newline\))630 2746 y(follo)m(wing)32 b Fr(list)h Fu(is)d(required.)275 +2903 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j (there)e(is)f(a)g(subtle)g(di\013erence)h(b)s(et)m(w)m(een)f(these)150 -2508 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67 +3013 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67 b(The)39 b(braces)g(are)h Ft(reserved)28 b(words)p Fu(,)40 -b(so)g(they)f(m)m(ust)150 2618 y(b)s(e)d(separated)h(from)f(the)g +b(so)g(they)f(m)m(ust)150 3122 y(b)s(e)d(separated)h(from)f(the)g Fr(list)j Fu(b)m(y)e Ft(blank)p Fu(s)e(or)h(other)h(shell)f(metac)m -(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 2727 +(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 3232 y Ft(operators)p Fu(,)23 b(and)h(are)g(recognized)i(as)e(separate)i (tok)m(ens)f(b)m(y)f(the)g(shell)h(ev)m(en)g(if)f(they)g(are)h(not)f -(separated)150 2837 y(from)30 b(the)g Fr(list)j Fu(b)m(y)e(whitespace.) -275 2981 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h +(separated)150 3342 y(from)30 b(the)g Fr(list)j Fu(b)m(y)e(whitespace.) +275 3475 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h (constructs)g(is)f(the)h(exit)g(status)f(of)h Fr(list)p -Fu(.)150 3191 y Fk(3.2.5)63 b(Copro)s(cesses)150 3337 +Fu(.)150 3673 y Fk(3.2.5)63 b(Copro)s(cesses)150 3819 y Fu(A)37 b Ft(coprocess)c Fu(is)k(a)g(shell)f(command)h(preceded)f(b)m (y)g(the)h Ft(coproc)d Fu(reserv)m(ed)j(w)m(ord.)59 b(A)36 -b(copro)s(cess)h(is)150 3447 y(executed)g(async)m(hronously)g(in)f(a)h +b(copro)s(cess)h(is)150 3929 y(executed)g(async)m(hronously)g(in)f(a)h (subshell,)g(as)g(if)g(the)f(command)h(had)f(b)s(een)f(terminated)i -(with)g(the)150 3557 y(`)p Ft(&)p Fu(')d(con)m(trol)h(op)s(erator,)g +(with)g(the)150 4039 y(`)p Ft(&)p Fu(')d(con)m(trol)h(op)s(erator,)g (with)f(a)g(t)m(w)m(o-w)m(a)m(y)i(pip)s(e)d(established)h(b)s(et)m(w)m -(een)h(the)f(executing)h(shell)f(and)f(the)150 3666 y(copro)s(cess.)275 -3811 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390 -3955 y Ft(coproc)46 b([)p Fj(NAME)p Ft(])g Fj(command)g -Ft([)p Fj(redirections)p Ft(])150 4100 y Fu(This)39 b(creates)j(a)e +(een)h(the)f(executing)h(shell)f(and)f(the)150 4148 y(copro)s(cess.)275 +4282 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390 +4415 y Ft(coproc)46 b([)p Fj(NAME)p Ft(])g Fj(command)g +Ft([)p Fj(redirections)p Ft(])150 4549 y Fu(This)39 b(creates)j(a)e (copro)s(cess)h(named)f Fr(NAME)p Fu(.)70 b(If)40 b Fr(NAME)46 b Fu(is)40 b(not)g(supplied,)i(the)e(default)h(name)f(is)150 -4209 y Fr(COPR)m(OC)p Fu(.)d Fr(NAME)28 b Fu(m)m(ust)23 +4658 y Fr(COPR)m(OC)p Fu(.)d Fr(NAME)28 b Fu(m)m(ust)23 b(not)g(b)s(e)e(supplied)h(if)g Fr(command)k Fu(is)d(a)g(simple)f -(command)g(\(see)i(Section)f(3.2.1)150 4319 y([Simple)39 +(command)g(\(see)i(Section)f(3.2.1)150 4768 y([Simple)39 b(Commands],)h(page)g(8\);)k(otherwise,)e(it)d(is)g(in)m(terpreted)h (as)f(the)g(\014rst)f(w)m(ord)h(of)g(the)g(simple)150 -4428 y(command.)275 4573 y(When)j(the)i(copro)s(cess)f(is)g(executed,) +4878 y(command.)275 5011 y(When)j(the)i(copro)s(cess)f(is)g(executed,) 48 b(the)43 b(shell)g(creates)i(an)e(arra)m(y)g(v)-5 -b(ariable)44 b(\(see)g(Section)g(6.7)150 4682 y([Arra)m(ys],)32 +b(ariable)44 b(\(see)g(Section)g(6.7)150 5121 y([Arra)m(ys],)32 b(page)g(95\))h(named)e Ft(NAME)f Fu(in)h(the)h(con)m(text)h(of)e(the)h (executing)g(shell.)44 b(The)31 b(standard)f(output)150 -4792 y(of)39 b Fr(command)j Fu(is)d(connected)g(via)g(a)g(pip)s(e)f(to) +5230 y(of)39 b Fr(command)j Fu(is)d(connected)g(via)g(a)g(pip)s(e)f(to) i(a)f(\014le)f(descriptor)h(in)f(the)h(executing)h(shell,)h(and)d(that) -150 4902 y(\014le)i(descriptor)h(is)f(assigned)h(to)g +150 5340 y(\014le)i(descriptor)h(is)f(assigned)h(to)g Ft(NAME)p Fu([0].)70 b(The)40 b(standard)f(input)h(of)g -Fr(command)k Fu(is)c(connected)h(via)150 5011 y(a)h(pip)s(e)f(to)i(a)f -(\014le)g(descriptor)g(in)f(the)h(executing)i(shell,)h(and)c(that)h -(\014le)g(descriptor)g(is)g(assigned)g(to)150 5121 y -Ft(NAME)p Fu([1].)69 b(This)39 b(pip)s(e)g(is)h(established)g(b)s -(efore)f(an)m(y)h(redirections)h(sp)s(eci\014ed)e(b)m(y)g(the)h -(command)g(\(see)150 5230 y(Section)45 b(3.6)h([Redirections],)k(page) -45 b(34\).)84 b(The)44 b(\014le)h(descriptors)f(can)h(b)s(e)f(utilized) -h(as)g(argumen)m(ts)150 5340 y(to)d(shell)g(commands)f(and)g -(redirections)h(using)f(standard)g(w)m(ord)g(expansions.)74 -b(Other)41 b(than)g(those)p eop end +Fr(command)k Fu(is)c(connected)h(via)p eop end %%Page: 16 22 TeXDict begin 16 21 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(16)150 299 -y(created)27 b(to)g(execute)g(command)f(and)f(pro)s(cess)h -(substitutions,)h(the)f(\014le)g(descriptors)g(are)g(not)h(a)m(v)-5 -b(ailable)150 408 y(in)30 b(subshells.)275 542 y(The)d(pro)s(cess)h(ID) -h(of)f(the)h(shell)f(spa)m(wned)g(to)h(execute)h(the)e(copro)s(cess)h -(is)f(a)m(v)-5 b(ailable)31 b(as)d(the)h(v)-5 b(alue)29 -b(of)150 651 y(the)k(v)-5 b(ariable)33 b Ft(NAME)p 850 -651 28 4 v 39 w Fu(PID.)g(The)f Ft(wait)f Fu(builtin)h(command)g(ma)m -(y)h(b)s(e)f(used)g(to)h(w)m(ait)h(for)e(the)h(copro)s(cess)150 -761 y(to)e(terminate.)275 894 y(Since)20 b(the)g(copro)s(cess)h(is)g +y(a)42 b(pip)s(e)f(to)i(a)f(\014le)g(descriptor)g(in)f(the)h(executing) +i(shell,)h(and)c(that)h(\014le)g(descriptor)g(is)g(assigned)g(to)150 +408 y Ft(NAME)p Fu([1].)69 b(This)39 b(pip)s(e)g(is)h(established)g(b)s +(efore)f(an)m(y)h(redirections)h(sp)s(eci\014ed)e(b)m(y)g(the)h +(command)g(\(see)150 518 y(Section)45 b(3.6)h([Redirections],)k(page)45 +b(34\).)84 b(The)44 b(\014le)h(descriptors)f(can)h(b)s(e)f(utilized)h +(as)g(argumen)m(ts)150 628 y(to)d(shell)g(commands)f(and)g +(redirections)h(using)f(standard)g(w)m(ord)g(expansions.)74 +b(Other)41 b(than)g(those)150 737 y(created)27 b(to)g(execute)g +(command)f(and)f(pro)s(cess)h(substitutions,)h(the)f(\014le)g +(descriptors)g(are)g(not)h(a)m(v)-5 b(ailable)150 847 +y(in)30 b(subshells.)275 991 y(The)d(pro)s(cess)h(ID)h(of)f(the)h +(shell)f(spa)m(wned)g(to)h(execute)h(the)e(copro)s(cess)h(is)f(a)m(v)-5 +b(ailable)31 b(as)d(the)h(v)-5 b(alue)29 b(of)150 1101 +y(the)k(v)-5 b(ariable)33 b Ft(NAME)p 850 1101 28 4 v +39 w Fu(PID.)g(The)f Ft(wait)f Fu(builtin)h(command)g(ma)m(y)h(b)s(e)f +(used)g(to)h(w)m(ait)h(for)e(the)h(copro)s(cess)150 1210 +y(to)e(terminate.)275 1355 y(Since)20 b(the)g(copro)s(cess)h(is)g (created)g(as)g(an)f(async)m(hronous)g(command,)i(the)f -Ft(coproc)d Fu(command)i(alw)m(a)m(ys)150 1003 y(returns)29 +Ft(coproc)d Fu(command)i(alw)m(a)m(ys)150 1464 y(returns)29 b(success.)41 b(The)30 b(return)f(status)i(of)f(a)h(copro)s(cess)g(is)f -(the)h(exit)g(status)g(of)f Fr(command)p Fu(.)150 1200 -y Fk(3.2.6)63 b(GNU)41 b(P)m(arallel)150 1347 y Fu(There)30 +(the)h(exit)g(status)g(of)f Fr(command)p Fu(.)150 1673 +y Fk(3.2.6)63 b(GNU)41 b(P)m(arallel)150 1820 y Fu(There)30 b(are)h(w)m(a)m(ys)g(to)g(run)f(commands)g(in)g(parallel)h(that)h(are)e (not)h(built)g(in)m(to)g(Bash.)41 b(GNU)31 b(P)m(arallel)i(is)150 -1457 y(a)e(to)s(ol)g(to)g(do)f(just)g(that.)275 1590 +1930 y(a)e(to)s(ol)g(to)g(do)f(just)g(that.)275 2074 y(GNU)e(P)m(arallel,)i(as)e(its)g(name)f(suggests,)j(can)d(b)s(e)g (used)g(to)h(build)f(and)g(run)f(commands)h(in)h(parallel.)150 -1699 y(Y)-8 b(ou)41 b(ma)m(y)g(run)e(the)h(same)h(command)f(with)g +2184 y(Y)-8 b(ou)41 b(ma)m(y)g(run)e(the)h(same)h(command)f(with)g (di\013eren)m(t)h(argumen)m(ts,)j(whether)39 b(they)i(are)g -(\014lenames,)150 1809 y(usernames,)27 b(hostnames,)h(or)e(lines)h +(\014lenames,)150 2293 y(usernames,)27 b(hostnames,)h(or)e(lines)h (read)f(from)h(\014les.)39 b(GNU)27 b(P)m(arallel)i(pro)m(vides)d -(shorthand)g(references)150 1918 y(to)38 b(man)m(y)g(of)g(the)g(most)g +(shorthand)g(references)150 2403 y(to)38 b(man)m(y)g(of)g(the)g(most)g (common)g(op)s(erations)g(\(input)f(lines,)j(v)-5 b(arious)38 -b(p)s(ortions)f(of)h(the)g(input)e(line,)150 2028 y(di\013eren)m(t)f(w) +b(p)s(ortions)f(of)h(the)g(input)e(line,)150 2512 y(di\013eren)m(t)f(w) m(a)m(ys)h(to)f(sp)s(ecify)f(the)h(input)f(source,)i(and)e(so)h(on\).) 54 b(P)m(arallel)36 b(can)f(replace)h Ft(xargs)d Fu(or)i(feed)150 -2138 y(commands)30 b(from)g(its)h(input)e(sources)h(to)i(sev)m(eral)f -(di\013eren)m(t)g(instances)g(of)g(Bash.)275 2271 y(F)-8 +2622 y(commands)30 b(from)g(its)h(input)e(sources)h(to)i(sev)m(eral)f +(di\013eren)m(t)g(instances)g(of)g(Bash.)275 2766 y(F)-8 b(or)33 b(a)g(complete)h(description,)g(refer)e(to)i(the)f(GNU)g(P)m (arallel)i(do)s(cumen)m(tation.)48 b(A)33 b(few)f(examples)150 -2380 y(should)d(pro)m(vide)i(a)g(brief)e(in)m(tro)s(duction)i(to)g(its) -g(use.)275 2513 y(F)-8 b(or)37 b(example,)i(it)e(is)f(easy)h(to)g +2876 y(should)d(pro)m(vide)i(a)g(brief)e(in)m(tro)s(duction)i(to)g(its) +g(use.)275 3020 y(F)-8 b(or)37 b(example,)i(it)e(is)f(easy)h(to)g (replace)h Ft(xargs)d Fu(to)i(gzip)g(all)g(h)m(tml)g(\014les)f(in)h -(the)f(curren)m(t)g(directory)150 2623 y(and)30 b(its)h(sub)s -(directories:)390 2756 y Ft(find)47 b(.)g(-type)f(f)i(-name)e('*.html') -g(-print)g(|)h(parallel)f(gzip)150 2889 y Fu(If)30 b(y)m(ou)h(need)f +(the)f(curren)m(t)g(directory)150 3130 y(and)30 b(its)h(sub)s +(directories:)390 3274 y Ft(find)47 b(.)g(-type)f(f)i(-name)e('*.html') +g(-print)g(|)h(parallel)f(gzip)150 3418 y Fu(If)30 b(y)m(ou)h(need)f (to)h(protect)h(sp)s(ecial)f(c)m(haracters)g(suc)m(h)g(as)f(newlines)h (in)f(\014le)g(names,)h(use)f(\014nd's)f Ft(-print0)150 -2999 y Fu(option)i(and)f(parallel's)h Ft(-0)f Fu(option.)275 -3132 y(Y)-8 b(ou)34 b(can)g(use)f(P)m(arallel)j(to)e(mo)m(v)m(e)h +3528 y Fu(option)i(and)f(parallel's)h Ft(-0)f Fu(option.)275 +3672 y(Y)-8 b(ou)34 b(can)g(use)f(P)m(arallel)j(to)e(mo)m(v)m(e)h (\014les)f(from)f(the)h(curren)m(t)f(directory)h(when)f(the)h(n)m(um)m -(b)s(er)e(of)i(\014les)150 3242 y(is)c(to)s(o)i(large)f(to)g(pro)s +(b)s(er)e(of)i(\014les)150 3782 y(is)c(to)s(o)i(large)f(to)g(pro)s (cess)f(with)g(one)h Ft(mv)f Fu(in)m(v)m(o)s(cation:)390 -3375 y Ft(ls)47 b(|)h(parallel)d(mv)i({})h(destdir)275 -3508 y Fu(As)28 b(y)m(ou)h(can)g(see,)g(the)g Fi({})g -Fu(is)g(replaced)g(with)f(eac)m(h)i(line)f(read)f(from)g(standard)g -(input.)39 b(While)29 b(using)150 3617 y Ft(ls)g Fu(will)h(w)m(ork)g -(in)f(most)h(instances,)h(it)f(is)g(not)g(su\016cien)m(t)g(to)h(deal)f -(with)f(all)i(\014lenames.)40 b(If)30 b(y)m(ou)g(need)f(to)150 -3727 y(accommo)s(date)j(sp)s(ecial)f(c)m(haracters)h(in)e(\014lenames,) -h(y)m(ou)f(can)h(use)390 3860 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f -(-name)f('.*')h(-print0)f(|)h(parallel)f(-0)h(mv)g({})g(destdir)150 -3993 y Fu(as)31 b(alluded)f(to)h(ab)s(o)m(v)m(e.)275 -4126 y(This)e(will)i(run)e(as)h(man)m(y)h Ft(mv)e Fu(commands)h(as)h +3926 y Ft(printf)46 b('\045s\\n')g(*)i(|)f(parallel)f(mv)h({})g +(destdir)275 4071 y Fu(As)28 b(y)m(ou)h(can)g(see,)g(the)g +Fi({})g Fu(is)g(replaced)g(with)f(eac)m(h)i(line)f(read)f(from)g +(standard)g(input.)39 b(While)29 b(using)150 4180 y Ft(ls)34 +b Fu(will)i(w)m(ork)f(in)g(most)g(instances,)i(it)f(is)f(not)g +(su\016cien)m(t)h(to)g(deal)f(with)g(all)h(\014lenames.)55 +b Ft(printf)33 b Fu(is)j(a)150 4290 y(shell)31 b(builtin,)f(and)g +(therefore)h(is)g(not)g(sub)5 b(ject)30 b(to)h(the)g(k)m(ernel's)g +(limit)g(on)g(the)g(n)m(um)m(b)s(er)e(of)i(argumen)m(ts)150 +4399 y(to)37 b(a)f(program,)h(so)g(y)m(ou)f(can)g(use)g(`)p +Ft(*)p Fu(')g(\(but)f(see)i(b)s(elo)m(w)f(ab)s(out)g(the)g +Ft(dotglob)e Fu(shell)i(option\).)58 b(If)36 b(y)m(ou)150 +4509 y(need)30 b(to)h(accommo)s(date)h(sp)s(ecial)f(c)m(haracters)h(in) +e(\014lenames,)h(y)m(ou)g(can)f(use)390 4653 y Ft(printf)46 +b('\045s\\0')g(*)i(|)f(parallel)f(-0)h(mv)g({})g(destdir)150 +4797 y Fu(as)31 b(alluded)f(to)h(ab)s(o)m(v)m(e.)275 +4942 y(This)e(will)i(run)e(as)h(man)m(y)h Ft(mv)e Fu(commands)h(as)h (there)f(are)h(\014les)f(in)h(the)f(curren)m(t)g(directory)-8 -b(.)42 b(Y)-8 b(ou)31 b(can)150 4236 y(em)m(ulate)h(a)f(parallel)g +b(.)42 b(Y)-8 b(ou)31 b(can)150 5051 y(em)m(ulate)h(a)f(parallel)g Ft(xargs)e Fu(b)m(y)h(adding)g(the)h Ft(-X)f Fu(option:)390 -4369 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f(-name)f('.*')h(-print0)f(|)h -(parallel)f(-0)h(-X)g(mv)g({})g(destdir)275 4502 y Fu(GNU)31 -b(P)m(arallel)i(can)e(replace)h(certain)g(common)g(idioms)f(that)g(op)s -(erate)h(on)f(lines)g(read)g(from)f(a)i(\014le)150 4612 -y(\(in)e(this)h(case,)g(\014lenames)g(listed)g(one)f(p)s(er)g(line\):) -390 4745 y Ft(while)46 b(IFS=)h(read)g(-r)g(x;)g(do)390 -4855 y(do-something1)d("$x")j("config-$x")390 4964 y(do-something2)d(<) -k("$x")390 5074 y(done)f(<)g(file)g(|)g(process-output)150 -5207 y Fu(with)30 b(a)h(more)f(compact)i(syn)m(tax)f(reminiscen)m(t)g -(of)g(lam)m(b)s(das:)390 5340 y Ft(cat)47 b(list)g(|)g(parallel)f -("do-something1)d({})48 b(config-{})d(;)i(do-something2)e(<)i({}")g(|)p -eop end +5196 y Ft(printf)46 b('\045s\\0')g(*)i(|)f(parallel)f(-0)h(-X)g(mv)g +({})g(destdir)275 5340 y Fu(\(Y)-8 b(ou)31 b(ma)m(y)g(ha)m(v)m(e)g(to)g +(mo)s(dify)f(the)h(pattern)f(if)g(y)m(ou)h(ha)m(v)m(e)h(the)e +Ft(dotglob)f Fu(option)h(enabled.\))p eop end %%Page: 17 23 TeXDict begin 17 22 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)915 299 -y Ft(process-output)275 430 y Fu(P)m(arallel)31 b(pro)m(vides)e(a)h -(built-in)g(mec)m(hanism)g(to)g(remo)m(v)m(e)h(\014lename)e -(extensions,)i(whic)m(h)e(lends)g(itself)150 540 y(to)i(batc)m(h)g -(\014le)g(transformations)f(or)g(renaming:)390 672 y -Ft(ls)47 b(*.gz)g(|)g(parallel)f(-j+0)g("zcat)h({})g(|)g(bzip2)g -(>{.}.bz2)e(&&)j(rm)f({}")150 803 y Fu(This)28 b(will)i(recompress)e +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)275 299 +y(GNU)31 b(P)m(arallel)i(can)e(replace)h(certain)g(common)g(idioms)f +(that)g(op)s(erate)h(on)f(lines)g(read)g(from)f(a)i(\014le)150 +408 y(\(in)e(this)h(case,)g(\014lenames)g(listed)g(one)f(p)s(er)g +(line\):)390 543 y Ft(while)46 b(IFS=)h(read)g(-r)g(x;)g(do)390 +652 y(do-something1)d("$x")j("config-$x")390 762 y(do-something2)d(<)k +("$x")390 871 y(done)f(<)g(file)g(|)g(process-output)150 +1005 y Fu(with)30 b(a)h(more)f(compact)i(syn)m(tax)f(reminiscen)m(t)g +(of)g(lam)m(b)s(das:)390 1140 y Ft(cat)47 b(list)g(|)g(parallel)f +("do-something1)d({})48 b(config-{})d(;)i(do-something2)e(<)i({}")g(|) +915 1249 y(process-output)275 1383 y Fu(P)m(arallel)31 +b(pro)m(vides)e(a)h(built-in)g(mec)m(hanism)g(to)g(remo)m(v)m(e)h +(\014lename)e(extensions,)i(whic)m(h)e(lends)g(itself)150 +1493 y(to)i(batc)m(h)g(\014le)g(transformations)f(or)g(renaming:)390 +1627 y Ft(ls)47 b(*.gz)g(|)g(parallel)f(-j+0)g("zcat)h({})g(|)g(bzip2)g +(>{.}.bz2)e(&&)j(rm)f({}")150 1761 y Fu(This)28 b(will)i(recompress)e (all)i(\014les)f(in)g(the)g(curren)m(t)g(directory)g(with)g(names)g -(ending)f(in)h(.gz)h(using)f(bzip2,)150 913 y(running)37 +(ending)f(in)h(.gz)h(using)f(bzip2,)150 1871 y(running)37 b(one)i(job)f(p)s(er)f(CPU)h(\(-j)p Ft(+)p Fu(0\))i(in)e(parallel.)66 b(\(W)-8 b(e)40 b(use)e Ft(ls)g Fu(for)h(brevit)m(y)g(here;)j(using)c -Ft(find)g Fu(as)150 1022 y(ab)s(o)m(v)m(e)e(is)g(more)f(robust)f(in)h +Ft(find)g Fu(as)150 1980 y(ab)s(o)m(v)m(e)e(is)g(more)f(robust)f(in)h (the)h(face)g(of)f(\014lenames)h(con)m(taining)g(unexp)s(ected)f(c)m -(haracters.\))57 b(P)m(arallel)150 1132 y(can)31 b(tak)m(e)h(argumen)m +(haracters.\))57 b(P)m(arallel)150 2090 y(can)31 b(tak)m(e)h(argumen)m (ts)e(from)g(the)h(command)f(line;)h(the)f(ab)s(o)m(v)m(e)i(can)f(also) -g(b)s(e)f(written)g(as)390 1263 y Ft(parallel)46 b("zcat)g({})h(|)h -(bzip2)e(>{.}.bz2)f(&&)j(rm)f({}")g(:::)g(*.gz)275 1395 +g(b)s(e)f(written)g(as)390 2224 y Ft(parallel)46 b("zcat)g({})h(|)h +(bzip2)e(>{.}.bz2)f(&&)j(rm)f({}")g(:::)g(*.gz)275 2358 y Fu(If)24 b(a)i(command)f(generates)h(output,)g(y)m(ou)g(ma)m(y)f(w)m (an)m(t)h(to)g(preserv)m(e)g(the)f(input)f(order)h(in)g(the)g(output.) -150 1504 y(F)-8 b(or)31 b(instance,)g(the)g(follo)m(wing)h(command)390 -1636 y Ft({)581 1746 y(echo)47 b(foss.org.my)d(;)581 -1855 y(echo)j(debian.org)e(;)581 1965 y(echo)i(freenetproject.org)42 -b(;)390 2074 y(})47 b(|)h(parallel)d(traceroute)150 2206 +150 2468 y(F)-8 b(or)31 b(instance,)g(the)g(follo)m(wing)h(command)390 +2602 y Ft({)581 2711 y(echo)47 b(foss.org.my)d(;)581 +2821 y(echo)j(debian.org)e(;)581 2930 y(echo)i(freenetproject.org)42 +b(;)390 3040 y(})47 b(|)h(parallel)d(traceroute)150 3174 y Fu(will)31 b(displa)m(y)f(as)h(output)f(the)g(traceroute)i(in)m(v)m (o)s(cation)h(that)e(\014nishes)e(\014rst.)40 b(Adding)30 -b(the)g Ft(-k)g Fu(option)390 2337 y Ft({)581 2447 y(echo)47 -b(foss.org.my)d(;)581 2557 y(echo)j(debian.org)e(;)581 -2666 y(echo)i(freenetproject.org)42 b(;)390 2776 y(})47 -b(|)h(parallel)d(-k)j(traceroute)150 2907 y Fu(will)31 +b(the)g Ft(-k)g Fu(option)390 3308 y Ft({)581 3418 y(echo)47 +b(foss.org.my)d(;)581 3527 y(echo)j(debian.org)e(;)581 +3637 y(echo)i(freenetproject.org)42 b(;)390 3747 y(})47 +b(|)h(parallel)d(-k)j(traceroute)150 3881 y Fu(will)31 b(ensure)e(that)i(the)g(output)f(of)g Ft(traceroute)e(foss.org.my)f -Fu(is)k(displa)m(y)m(ed)g(\014rst.)275 3039 y(Finally)-8 +Fu(is)k(displa)m(y)m(ed)g(\014rst.)275 4015 y(Finally)-8 b(,)31 b(P)m(arallel)h(can)e(b)s(e)f(used)g(to)i(run)d(a)i(sequence)h (of)f(shell)g(commands)f(in)h(parallel,)h(similar)f(to)150 -3148 y(`)p Ft(cat)g(file)f(|)h(bash)p Fu('.)53 b(It)35 +4124 y(`)p Ft(cat)g(file)f(|)h(bash)p Fu('.)53 b(It)35 b(is)g(not)g(uncommon)f(to)i(tak)m(e)g(a)f(list)h(of)f(\014lenames,)h -(create)g(a)g(series)f(of)g(shell)150 3258 y(commands)24 +(create)g(a)g(series)f(of)g(shell)150 4234 y(commands)24 b(to)h(op)s(erate)h(on)e(them,)i(and)e(feed)g(that)h(list)h(of)e (commands)g(to)i(a)f(shell.)39 b(P)m(arallel)26 b(can)f(sp)s(eed)150 -3368 y(this)30 b(up.)40 b(Assuming)30 b(that)h Ft(file)e +4344 y(this)30 b(up.)40 b(Assuming)30 b(that)h Ft(file)e Fu(con)m(tains)i(a)g(list)g(of)g(shell)f(commands,)h(one)f(p)s(er)g -(line,)390 3499 y Ft(parallel)46 b(-j)h(10)g(<)g(file)150 -3631 y Fu(will)37 b(ev)-5 b(aluate)38 b(the)f(commands)f(using)g(the)h +(line,)390 4478 y Ft(parallel)46 b(-j)h(10)g(<)g(file)150 +4612 y Fu(will)37 b(ev)-5 b(aluate)38 b(the)f(commands)f(using)g(the)h (shell)g(\(since)g(no)f(explicit)i(command)e(is)h(supplied)e(as)i(an) -150 3740 y(argumen)m(t\),)31 b(in)f(blo)s(c)m(ks)h(of)g(ten)f(shell)h -(jobs)f(at)h(a)g(time.)150 3975 y Fs(3.3)68 b(Shell)45 -b(F)-11 b(unctions)150 4134 y Fu(Shell)35 b(functions)h(are)g(a)g(w)m +150 4721 y(argumen)m(t\),)31 b(in)f(blo)s(c)m(ks)h(of)g(ten)f(shell)h +(jobs)f(at)h(a)g(time.)150 4961 y Fs(3.3)68 b(Shell)45 +b(F)-11 b(unctions)150 5121 y Fu(Shell)35 b(functions)h(are)g(a)g(w)m (a)m(y)g(to)h(group)e(commands)g(for)h(later)g(execution)h(using)e(a)h -(single)g(name)g(for)150 4244 y(the)f(group.)55 b(They)35 +(single)g(name)g(for)150 5230 y(the)f(group.)55 b(They)35 b(are)g(executed)h(just)f(lik)m(e)h(a)g Ft(")p Fu(regular)p Ft(")f Fu(command.)54 b(When)35 b(the)h(name)f(of)g(a)h(shell)150 -4354 y(function)j(is)g(used)f(as)h(a)h(simple)f(command)g(name,)i(the)e -(list)h(of)f(commands)g(asso)s(ciated)i(with)d(that)150 -4463 y(function)25 b(name)h(is)g(executed.)40 b(Shell)25 -b(functions)g(are)i(executed)f(in)f(the)h(curren)m(t)g(shell)g(con)m -(text;)j(no)c(new)150 4573 y(pro)s(cess)30 b(is)g(created)i(to)f(in)m -(terpret)g(them.)275 4704 y(F)-8 b(unctions)30 b(are)h(declared)g -(using)f(this)g(syn)m(tax:)390 4836 y Fj(name)47 b Ft(\(\))g -Fj(compound-command)c Ft([)48 b Fj(redirections)c Ft(])275 -4967 y Fu(or)390 5099 y Ft(function)i Fj(name)g Ft([\(\)])h -Fj(compound-command)c Ft([)48 b Fj(redirections)c Ft(])275 -5230 y Fu(This)31 b(de\014nes)h(a)h(shell)g(function)g(named)f -Fr(name)p Fu(.)48 b(The)32 b(reserv)m(ed)h(w)m(ord)f -Ft(function)f Fu(is)h(optional.)49 b(If)150 5340 y(the)39 -b Ft(function)f Fu(reserv)m(ed)h(w)m(ord)g(is)g(supplied,)i(the)e -(paren)m(theses)h(are)f(optional.)69 b(The)39 b Fr(b)s(o)s(dy)45 -b Fu(of)40 b(the)p eop end +5340 y(function)j(is)g(used)f(as)h(a)h(simple)f(command)g(name,)i(the)e +(list)h(of)f(commands)g(asso)s(ciated)i(with)d(that)p +eop end %%Page: 18 24 TeXDict begin 18 23 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(18)150 299 -y(function)41 b(is)h(the)g(comp)s(ound)e(command)h Fr(comp)s -(ound-command)j Fu(\(see)e(Section)h(3.2.4)g([Comp)s(ound)150 -408 y(Commands],)33 b(page)h(9\).)49 b(That)33 b(command)f(is)h +y(function)25 b(name)h(is)g(executed.)40 b(Shell)25 b(functions)g(are)i +(executed)f(in)f(the)h(curren)m(t)g(shell)g(con)m(text;)j(no)c(new)150 +408 y(pro)s(cess)30 b(is)g(created)i(to)f(in)m(terpret)g(them.)275 +545 y(F)-8 b(unctions)30 b(are)h(declared)g(using)f(this)g(syn)m(tax:) +390 682 y Fj(name)47 b Ft(\(\))g Fj(compound-command)c +Ft([)48 b Fj(redirections)c Ft(])275 819 y Fu(or)390 +956 y Ft(function)i Fj(name)g Ft([\(\)])h Fj(compound-command)c +Ft([)48 b Fj(redirections)c Ft(])275 1093 y Fu(This)31 +b(de\014nes)h(a)h(shell)g(function)g(named)f Fr(name)p +Fu(.)48 b(The)32 b(reserv)m(ed)h(w)m(ord)f Ft(function)f +Fu(is)h(optional.)49 b(If)150 1203 y(the)39 b Ft(function)f +Fu(reserv)m(ed)h(w)m(ord)g(is)g(supplied,)i(the)e(paren)m(theses)h(are) +f(optional.)69 b(The)39 b Fr(b)s(o)s(dy)45 b Fu(of)40 +b(the)150 1313 y(function)h(is)h(the)g(comp)s(ound)e(command)h +Fr(comp)s(ound-command)j Fu(\(see)e(Section)h(3.2.4)g([Comp)s(ound)150 +1422 y(Commands],)33 b(page)h(9\).)49 b(That)33 b(command)f(is)h (usually)g(a)g Fr(list)j Fu(enclosed)e(b)s(et)m(w)m(een)f -Fi({)h Fu(and)e Fi(})p Fu(,)i(but)e(ma)m(y)150 518 y(b)s(e)39 +Fi({)h Fu(and)e Fi(})p Fu(,)i(but)e(ma)m(y)150 1532 y(b)s(e)39 b(an)m(y)h(comp)s(ound)e(command)i(listed)g(ab)s(o)m(v)m(e,)j(with)d (one)g(exception:)60 b(If)39 b(the)h Ft(function)e Fu(reserv)m(ed)150 -628 y(w)m(ord)g(is)g(used,)h(but)f(the)g(paren)m(theses)h(are)f(not)h +1641 y(w)m(ord)g(is)g(used,)h(but)f(the)g(paren)m(theses)h(are)f(not)h (supplied,)g(the)f(braces)g(are)h(required.)63 b Fr(comp)s(ound-)150 -737 y(command)39 b Fu(is)c(executed)h(whenev)m(er)f Fr(name)41 -b Fu(is)35 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)h(a)f(command.)56 -b(When)35 b(the)150 847 y(shell)30 b(is)f(in)g Fm(posix)g -Fu(mo)s(de)g(\(see)i(Section)f(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page) -h(100\),)g Fr(name)k Fu(ma)m(y)30 b(not)g(b)s(e)150 956 -y(the)37 b(same)g(as)g(one)g(of)g(the)f(sp)s(ecial)i(builtins)e(\(see)h -(Section)h(4.4)g([Sp)s(ecial)f(Builtins],)i(page)e(72\).)61 -b(An)m(y)150 1066 y(redirections)32 b(\(see)g(Section)h(3.6)f +1751 y(command)39 b Fu(is)c(executed)h(whenev)m(er)f +Fr(name)41 b Fu(is)35 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)h(a)f +(command.)56 b(When)35 b(the)150 1861 y(shell)30 b(is)f(in)g +Fm(posix)g Fu(mo)s(de)g(\(see)i(Section)f(6.11)h([Bash)f(POSIX)e(Mo)s +(de],)i(page)h(100\),)g Fr(name)k Fu(ma)m(y)30 b(not)g(b)s(e)150 +1970 y(the)37 b(same)g(as)g(one)g(of)g(the)f(sp)s(ecial)i(builtins)e +(\(see)h(Section)h(4.4)g([Sp)s(ecial)f(Builtins],)i(page)e(72\).)61 +b(An)m(y)150 2080 y(redirections)32 b(\(see)g(Section)h(3.6)f ([Redirections],)i(page)e(34\))h(asso)s(ciated)g(with)e(the)h(shell)f -(function)h(are)150 1176 y(p)s(erformed)d(when)g(the)i(function)f(is)g -(executed.)275 1326 y(A)44 b(function)g(de\014nition)h(ma)m(y)g(b)s(e)f +(function)h(are)150 2189 y(p)s(erformed)d(when)g(the)i(function)f(is)g +(executed.)275 2326 y(A)44 b(function)g(de\014nition)h(ma)m(y)g(b)s(e)f (deleted)h(using)f(the)h Ft(-f)f Fu(option)h(to)g(the)g -Ft(unset)e Fu(builtin)h(\(see)150 1436 y(Section)31 b(4.1)h([Bourne)e -(Shell)g(Builtins],)h(page)h(44\).)275 1587 y(The)26 +Ft(unset)e Fu(builtin)h(\(see)150 2436 y(Section)31 b(4.1)h([Bourne)e +(Shell)g(Builtins],)h(page)h(44\).)275 2573 y(The)26 b(exit)i(status)g(of)f(a)h(function)f(de\014nition)g(is)g(zero)h (unless)f(a)g(syn)m(tax)h(error)f(o)s(ccurs)g(or)g(a)h(readonly)150 -1696 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46 +2682 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46 b(When)32 b(executed,)h(the)f(exit)h(status)g(of)f(a)g(function)150 -1806 y(is)e(the)h(exit)g(status)g(of)f(the)h(last)g(command)f(executed) -i(in)e(the)g(b)s(o)s(dy)-8 b(.)275 1956 y(Note)22 b(that)f(for)f +2792 y(is)e(the)h(exit)g(status)g(of)f(the)h(last)g(command)f(executed) +i(in)e(the)g(b)s(o)s(dy)-8 b(.)275 2929 y(Note)22 b(that)f(for)f (historical)i(reasons,)h(in)e(the)g(most)g(common)g(usage)g(the)g -(curly)f(braces)h(that)g(surround)150 2066 y(the)38 b(b)s(o)s(dy)d(of)j +(curly)f(braces)h(that)g(surround)150 3039 y(the)38 b(b)s(o)s(dy)d(of)j (the)f(function)g(m)m(ust)g(b)s(e)g(separated)h(from)f(the)g(b)s(o)s (dy)f(b)m(y)h Ft(blank)p Fu(s)f(or)h(newlines.)62 b(This)150 -2176 y(is)38 b(b)s(ecause)g(the)h(braces)f(are)h(reserv)m(ed)f(w)m +3148 y(is)38 b(b)s(ecause)g(the)h(braces)f(are)h(reserv)m(ed)f(w)m (ords)g(and)f(are)i(only)f(recognized)i(as)e(suc)m(h)g(when)f(they)i -(are)150 2285 y(separated)26 b(from)f(the)h(command)f(list)i(b)m(y)e +(are)150 3258 y(separated)26 b(from)f(the)h(command)f(list)i(b)m(y)e (whitespace)h(or)g(another)g(shell)g(metac)m(haracter.)41 -b(Also,)28 b(when)150 2395 y(using)i(the)g(braces,)h(the)g +b(Also,)28 b(when)150 3367 y(using)i(the)g(braces,)h(the)g Fr(list)i Fu(m)m(ust)d(b)s(e)g(terminated)h(b)m(y)f(a)h(semicolon,)h(a) -e(`)p Ft(&)p Fu(',)h(or)g(a)f(newline.)275 2545 y(When)i(a)i(function)f +e(`)p Ft(&)p Fu(',)h(or)g(a)f(newline.)275 3504 y(When)i(a)i(function)f (is)g(executed,)i(the)e(argumen)m(ts)h(to)g(the)f(function)g(b)s(ecome) -g(the)h(p)s(ositional)g(pa-)150 2655 y(rameters)42 b(during)e(its)i +g(the)h(p)s(ositional)g(pa-)150 3614 y(rameters)42 b(during)e(its)i (execution)h(\(see)f(Section)g(3.4.1)h([P)m(ositional)h(P)m -(arameters],)i(page)c(21\).)75 b(The)150 2765 y(sp)s(ecial)37 +(arameters],)i(page)c(21\).)75 b(The)150 3724 y(sp)s(ecial)37 b(parameter)f(`)p Ft(#)p Fu(')g(that)h(expands)e(to)i(the)f(n)m(um)m(b) s(er)f(of)h(p)s(ositional)h(parameters)f(is)g(up)s(dated)f(to)150 -2874 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35 +3833 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35 b(parameter)h Ft(0)f Fu(is)g(unc)m(hanged.)54 b(The)35 -b(\014rst)f(elemen)m(t)j(of)e(the)g Ft(FUNCNAME)150 2984 +b(\014rst)f(elemen)m(t)j(of)e(the)g Ft(FUNCNAME)150 3943 y Fu(v)-5 b(ariable)31 b(is)g(set)f(to)i(the)e(name)h(of)f(the)h (function)f(while)g(the)h(function)f(is)g(executing.)275 -3134 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en) +4080 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en) m(vironmen)m(t)g(are)f(iden)m(tical)h(b)s(et)m(w)m(een)g(a)f(function)g -(and)150 3244 y(its)35 b(caller)i(with)d(these)i(exceptions:)50 +(and)150 4189 y(its)35 b(caller)i(with)d(these)i(exceptions:)50 b(the)36 b Ft(DEBUG)d Fu(and)h Ft(RETURN)g Fu(traps)g(are)i(not)f -(inherited)f(unless)h(the)150 3354 y(function)26 b(has)g(b)s(een)f(giv) +(inherited)f(unless)h(the)150 4299 y(function)26 b(has)g(b)s(een)f(giv) m(en)i(the)g Ft(trace)d Fu(attribute)j(using)f(the)g Ft(declare)e Fu(builtin)i(or)g(the)h Ft(-o)i(functrace)150 -3463 y Fu(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g +4408 y Fu(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g Ft(set)f Fu(builtin,)i(\(in)f(whic)m(h)f(case)j(all)f(functions)e -(inherit)h(the)g Ft(DEBUG)150 3573 y Fu(and)33 b Ft(RETURN)f +(inherit)h(the)g Ft(DEBUG)150 4518 y Fu(and)33 b Ft(RETURN)f Fu(traps\),)j(and)e(the)h Ft(ERR)f Fu(trap)h(is)g(not)g(inherited)f (unless)g(the)h Ft(-o)c(errtrace)h Fu(shell)j(option)150 -3682 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f +4628 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f (Shell)g(Builtins],)i(page)f(44,)i(for)c(the)i(description)f(of)150 -3792 y(the)c Ft(trap)e Fu(builtin.)275 3943 y(The)38 +4737 y(the)c Ft(trap)e Fu(builtin.)275 4874 y(The)38 b Ft(FUNCNEST)f Fu(v)-5 b(ariable,)42 b(if)d(set)h(to)g(a)g(n)m(umeric) f(v)-5 b(alue)39 b(greater)h(than)f(0,)j(de\014nes)d(a)g(maxim)m(um)150 -4052 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25 +4984 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25 b(in)m(v)m(o)s(cations)i(that)e(exceed)g(the)g(limit)g(cause)g(the)g -(en)m(tire)g(command)150 4162 y(to)31 b(ab)s(ort.)275 -4313 y(If)37 b(the)g(builtin)g(command)h Ft(return)d +(en)m(tire)g(command)150 5093 y(to)31 b(ab)s(ort.)275 +5230 y(If)37 b(the)g(builtin)g(command)h Ft(return)d Fu(is)j(executed)g(in)g(a)g(function,)h(the)e(function)h(completes)h -(and)150 4422 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f +(and)150 5340 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f (after)i(the)f(function)f(call.)40 b(An)m(y)24 b(command)f(asso)s -(ciated)150 4532 y(with)36 b(the)h Ft(RETURN)d Fu(trap)i(is)h(executed) -g(b)s(efore)f(execution)i(resumes.)57 b(When)37 b(a)f(function)g -(completes,)150 4641 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s -(ositional)h(parameters)f(and)g(the)g(sp)s(ecial)h(parameter)f(`)p -Ft(#)p Fu(')g(are)h(restored)f(to)h(the)150 4751 y(v)-5 -b(alues)26 b(they)f(had)g(prior)f(to)i(the)g(function's)f(execution.)40 -b(If)25 b(a)h(n)m(umeric)f(argumen)m(t)h(is)f(giv)m(en)h(to)g -Ft(return)p Fu(,)150 4861 y(that)j(is)g(the)f(function's)h(return)e -(status;)j(otherwise)f(the)f(function's)h(return)e(status)i(is)f(the)h -(exit)h(status)150 4970 y(of)h(the)f(last)h(command)f(executed)i(b)s -(efore)e(the)g Ft(return)p Fu(.)275 5121 y(V)-8 b(ariables)31 -b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i(b)s(e)e(declared)h(with)f -(the)h Ft(local)f Fu(builtin.)40 b(These)29 b(v)-5 b(ariables)150 -5230 y(are)25 b(visible)h(only)f(to)g(the)g(function)g(and)f(the)i -(commands)e(it)i(in)m(v)m(ok)m(es.)40 b(This)24 b(is)h(particularly)h -(imp)s(ortan)m(t)150 5340 y(when)j(a)i(shell)g(function)f(calls)h -(other)g(functions.)p eop end +(ciated)p eop end %%Page: 19 25 TeXDict begin 19 24 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)275 299 -y(Lo)s(cal)41 b(v)-5 b(ariables)42 b Ft(")p Fu(shado)m(w)p +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)150 299 +y(with)36 b(the)h Ft(RETURN)d Fu(trap)i(is)h(executed)g(b)s(efore)f +(execution)i(resumes.)57 b(When)37 b(a)f(function)g(completes,)150 +408 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s(ositional)h(parameters)f +(and)g(the)g(sp)s(ecial)h(parameter)f(`)p Ft(#)p Fu(')g(are)h(restored) +f(to)h(the)150 518 y(v)-5 b(alues)26 b(they)f(had)g(prior)f(to)i(the)g +(function's)f(execution.)40 b(If)25 b(a)h(n)m(umeric)f(argumen)m(t)h +(is)f(giv)m(en)h(to)g Ft(return)p Fu(,)150 628 y(that)j(is)g(the)f +(function's)h(return)e(status;)j(otherwise)f(the)f(function's)h(return) +e(status)i(is)f(the)h(exit)h(status)150 737 y(of)h(the)f(last)h +(command)f(executed)i(b)s(efore)e(the)g Ft(return)p Fu(.)275 +871 y(V)-8 b(ariables)31 b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i(b) +s(e)e(declared)h(with)f(the)h Ft(local)f Fu(builtin.)40 +b(These)29 b(v)-5 b(ariables)150 981 y(are)25 b(visible)h(only)f(to)g +(the)g(function)g(and)f(the)i(commands)e(it)i(in)m(v)m(ok)m(es.)40 +b(This)24 b(is)h(particularly)h(imp)s(ortan)m(t)150 1090 +y(when)j(a)i(shell)g(function)f(calls)h(other)g(functions.)275 +1224 y(Lo)s(cal)41 b(v)-5 b(ariables)42 b Ft(")p Fu(shado)m(w)p Ft(")e Fu(v)-5 b(ariables)42 b(with)f(the)g(same)g(name)g(declared)h -(at)f(previous)g(scop)s(es.)150 408 y(F)-8 b(or)41 b(instance,)j(a)d +(at)f(previous)g(scop)s(es.)150 1334 y(F)-8 b(or)41 b(instance,)j(a)d (lo)s(cal)h(v)-5 b(ariable)41 b(declared)g(in)f(a)h(function)f(hides)g (a)h(global)h(v)-5 b(ariable)41 b(of)g(the)g(same)150 -518 y(name:)59 b(references)40 b(and)f(assignmen)m(ts)h(refer)f(to)i +1443 y(name:)59 b(references)40 b(and)f(assignmen)m(ts)h(refer)f(to)i (the)f(lo)s(cal)g(v)-5 b(ariable,)43 b(lea)m(ving)f(the)d(global)i(v)-5 -b(ariable)150 628 y(unmo)s(di\014ed.)39 b(When)30 b(the)g(function)g +b(ariable)150 1553 y(unmo)s(di\014ed.)39 b(When)30 b(the)g(function)g (returns,)g(the)g(global)i(v)-5 b(ariable)31 b(is)g(once)g(again)g -(visible.)275 778 y(The)f(shell)h(uses)g Fr(dynamic)g(scoping)39 +(visible.)275 1687 y(The)f(shell)h(uses)g Fr(dynamic)g(scoping)39 b Fu(to)32 b(con)m(trol)g(a)f(v)-5 b(ariable's)32 b(visibilit)m(y)h -(within)d(functions.)42 b(With)150 888 y(dynamic)31 b(scoping,)i -(visible)e(v)-5 b(ariables)32 b(and)f(their)h(v)-5 b(alues)32 -b(are)f(a)h(result)g(of)f(the)h(sequence)g(of)f(function)150 -998 y(calls)37 b(that)g(caused)g(execution)g(to)g(reac)m(h)g(the)g +(within)d(functions.)42 b(With)150 1797 y(dynamic)31 +b(scoping,)i(visible)e(v)-5 b(ariables)32 b(and)f(their)h(v)-5 +b(alues)32 b(are)f(a)h(result)g(of)f(the)h(sequence)g(of)f(function)150 +1906 y(calls)37 b(that)g(caused)g(execution)g(to)g(reac)m(h)g(the)g (curren)m(t)f(function.)58 b(The)36 b(v)-5 b(alue)36 -b(of)h(a)g(v)-5 b(ariable)37 b(that)g(a)150 1107 y(function)24 +b(of)h(a)g(v)-5 b(ariable)37 b(that)g(a)150 2016 y(function)24 b(sees)g(dep)s(ends)f(on)h(its)g(v)-5 b(alue)25 b(within)e(its)i (caller,)i(if)d(an)m(y)-8 b(,)26 b(whether)e(that)g(caller)i(is)e(the)g -Ft(")p Fu(global)p Ft(")150 1217 y Fu(scop)s(e)41 b(or)g(another)g +Ft(")p Fu(global)p Ft(")150 2125 y Fu(scop)s(e)41 b(or)g(another)g (shell)g(function.)73 b(This)40 b(is)h(also)h(the)f(v)-5 b(alue)41 b(that)h(a)f(lo)s(cal)i(v)-5 b(ariable)41 b(declaration)150 -1326 y Ft(")p Fu(shado)m(ws)p Ft(")p Fu(,)30 b(and)g(the)g(v)-5 +2235 y Ft(")p Fu(shado)m(ws)p Ft(")p Fu(,)30 b(and)g(the)g(v)-5 b(alue)31 b(that)g(is)f(restored)h(when)e(the)i(function)f(returns.)275 -1477 y(F)-8 b(or)41 b(example,)j(if)d(a)g(v)-5 b(ariable)41 +2369 y(F)-8 b(or)41 b(example,)j(if)d(a)g(v)-5 b(ariable)41 b Fr(v)-5 b(ar)48 b Fu(is)40 b(declared)h(as)g(lo)s(cal)h(in)f (function)f Fr(func1)p Fu(,)j(and)d Fr(func1)48 b Fu(calls)150 -1587 y(another)33 b(function)g Fr(func2)p Fu(,)g(references)g(to)h +2478 y(another)33 b(function)g Fr(func2)p Fu(,)g(references)g(to)h Fr(v)-5 b(ar)39 b Fu(made)33 b(from)f(within)h Fr(func2)39 -b Fu(will)34 b(resolv)m(e)g(to)g(the)f(lo)s(cal)150 1696 +b Fu(will)34 b(resolv)m(e)g(to)g(the)f(lo)s(cal)150 2588 y(v)-5 b(ariable)31 b Fr(v)-5 b(ar)37 b Fu(from)30 b Fr(func1)p Fu(,)g(shado)m(wing)h(an)m(y)f(global)i(v)-5 -b(ariable)31 b(named)f Fr(v)-5 b(ar)p Fu(.)275 1847 y(The)29 +b(ariable)31 b(named)f Fr(v)-5 b(ar)p Fu(.)275 2722 y(The)29 b(follo)m(wing)j(script)f(demonstrates)f(this)h(b)s(eha)m(vior.)40 b(When)31 b(executed,)g(the)g(script)f(displa)m(ys)390 -1998 y Ft(In)47 b(func2,)f(var)h(=)h(func1)e(local)390 -2148 y(func1\(\))390 2258 y({)581 2367 y(local)g(var='func1)f(local') -581 2477 y(func2)390 2587 y(})390 2806 y(func2\(\))390 -2915 y({)581 3025 y(echo)i("In)f(func2,)h(var)f(=)i($var")390 -3134 y(})390 3354 y(var=global)390 3463 y(func1)275 3614 +2856 y Ft(In)47 b(func2,)f(var)h(=)h(func1)e(local)390 +2990 y(func1\(\))390 3099 y({)581 3209 y(local)g(var='func1)f(local') +581 3319 y(func2)390 3428 y(})390 3647 y(func2\(\))390 +3757 y({)581 3867 y(echo)i("In)f(func2,)h(var)f(=)i($var")390 +3976 y(})390 4195 y(var=global)390 4305 y(func1)275 4439 y Fu(The)32 b Ft(unset)g Fu(builtin)g(also)i(acts)g(using)e(the)i(same) f(dynamic)g(scop)s(e:)46 b(if)33 b(a)g(v)-5 b(ariable)34 -b(is)f(lo)s(cal)h(to)g(the)150 3724 y(curren)m(t)i(scop)s(e,)h +b(is)f(lo)s(cal)h(to)g(the)150 4548 y(curren)m(t)i(scop)s(e,)h Ft(unset)e Fu(will)h(unset)g(it;)j(otherwise)e(the)f(unset)f(will)h (refer)g(to)h(the)f(v)-5 b(ariable)37 b(found)d(in)150 -3833 y(an)m(y)j(calling)h(scop)s(e)f(as)g(describ)s(ed)f(ab)s(o)m(v)m +4658 y(an)m(y)j(calling)h(scop)s(e)f(as)g(describ)s(ed)f(ab)s(o)m(v)m (e.)61 b(If)36 b(a)h(v)-5 b(ariable)38 b(at)f(the)g(curren)m(t)g(lo)s -(cal)h(scop)s(e)e(is)h(unset,)h(it)150 3943 y(will)27 +(cal)h(scop)s(e)e(is)h(unset,)h(it)150 4768 y(will)27 b(remain)h(so)f(un)m(til)g(it)h(is)f(reset)h(in)f(that)g(scop)s(e)h(or) f(un)m(til)g(the)h(function)e(returns.)39 b(Once)27 b(the)g(function) -150 4052 y(returns,)34 b(an)m(y)h(instance)g(of)f(the)g(v)-5 +150 4877 y(returns,)34 b(an)m(y)h(instance)g(of)f(the)g(v)-5 b(ariable)35 b(at)g(a)g(previous)e(scop)s(e)i(will)f(b)s(ecome)h -(visible.)52 b(If)34 b(the)g(unset)150 4162 y(acts)e(on)f(a)h(v)-5 +(visible.)52 b(If)34 b(the)g(unset)150 4987 y(acts)e(on)f(a)h(v)-5 b(ariable)32 b(at)g(a)f(previous)g(scop)s(e,)h(an)m(y)f(instance)h(of)f (a)h(v)-5 b(ariable)32 b(with)f(that)h(name)f(that)h(had)150 -4271 y(b)s(een)e(shado)m(w)m(ed)g(will)h(b)s(ecome)g(visible.)275 -4422 y(F)-8 b(unction)51 b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s +5096 y(b)s(een)e(shado)m(w)m(ed)g(will)h(b)s(ecome)g(visible.)275 +5230 y(F)-8 b(unction)51 b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s (e)e(listed)h(with)f(the)h Ft(-f)f Fu(option)h(to)g(the)g -Ft(declare)150 4532 y Fu(\()p Ft(typeset)p Fu(\))35 b(builtin)g +Ft(declare)150 5340 y Fu(\()p Ft(typeset)p Fu(\))35 b(builtin)g (command)h(\(see)h(Section)g(4.2)g([Bash)f(Builtins],)i(page)f(51\).)59 -b(The)35 b Ft(-F)h Fu(option)g(to)150 4641 y Ft(declare)e -Fu(or)i Ft(typeset)e Fu(will)i(list)h(the)f(function)g(names)g(only)g -(\(and)g(optionally)h(the)f(source)g(\014le)h(and)150 -4751 y(line)c(n)m(um)m(b)s(er,)g(if)f(the)h Ft(extdebug)e -Fu(shell)i(option)g(is)g(enabled\).)49 b(F)-8 b(unctions)33 -b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 4861 y(subshells)j -(automatically)k(ha)m(v)m(e)f(them)e(de\014ned)f(with)h(the)h -Ft(-f)e Fu(option)i(to)g(the)g Ft(export)d Fu(builtin)i(\(see)150 -4970 y(Section)31 b(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(44\).) -275 5121 y(F)-8 b(unctions)33 b(ma)m(y)g(b)s(e)g(recursiv)m(e.)48 -b(The)32 b Ft(FUNCNEST)f Fu(v)-5 b(ariable)34 b(ma)m(y)f(b)s(e)f(used)g -(to)i(limit)g(the)f(depth)f(of)150 5230 y(the)27 b(function)f(call)i -(stac)m(k)h(and)d(restrict)h(the)g(n)m(um)m(b)s(er)f(of)h(function)f -(in)m(v)m(o)s(cations.)42 b(By)27 b(default,)g(no)g(limit)150 -5340 y(is)j(placed)h(on)g(the)f(n)m(um)m(b)s(er)f(of)i(recursiv)m(e)f -(calls.)p eop end +b(The)35 b Ft(-F)h Fu(option)g(to)p eop end %%Page: 20 26 TeXDict begin 20 25 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(20)150 299 -y Fs(3.4)68 b(Shell)45 b(P)l(arameters)150 458 y Fu(A)23 -b Fr(parameter)31 b Fu(is)23 b(an)g(en)m(tit)m(y)i(that)f(stores)g(v)-5 -b(alues.)39 b(It)23 b(can)h(b)s(e)f(a)g Ft(name)p Fu(,)h(a)g(n)m(um)m -(b)s(er,)f(or)h(one)f(of)h(the)f(sp)s(ecial)150 568 y(c)m(haracters)i -(listed)e(b)s(elo)m(w.)39 b(A)23 b Fr(v)-5 b(ariable)30 -b Fu(is)23 b(a)g(parameter)h(denoted)f(b)m(y)h(a)f Ft(name)p -Fu(.)37 b(A)24 b(v)-5 b(ariable)24 b(has)f(a)g Fr(v)-5 -b(alue)150 677 y Fu(and)33 b(zero)i(or)f(more)g Fr(attributes)p -Fu(.)52 b(A)m(ttributes)35 b(are)f(assigned)g(using)g(the)g -Ft(declare)e Fu(builtin)h(command)150 787 y(\(see)e(the)g(description)f -(of)h(the)f Ft(declare)f Fu(builtin)h(in)g(Section)h(4.2)g([Bash)g -(Builtins],)g(page)g(51\).)275 932 y(A)d(parameter)h(is)g(set)g(if)f -(it)h(has)f(b)s(een)g(assigned)h(a)g(v)-5 b(alue.)40 -b(The)28 b(n)m(ull)h(string)f(is)h(a)g(v)-5 b(alid)28 -b(v)-5 b(alue.)41 b(Once)150 1041 y(a)31 b(v)-5 b(ariable)31 -b(is)f(set,)i(it)e(ma)m(y)h(b)s(e)f(unset)g(only)h(b)m(y)f(using)g(the) -g Ft(unset)f Fu(builtin)h(command.)275 1186 y(A)g(v)-5 -b(ariable)31 b(ma)m(y)g(b)s(e)f(assigned)g(to)i(b)m(y)e(a)h(statemen)m -(t)h(of)e(the)h(form)390 1330 y Fj(name)p Ft(=[)p Fj(value)p -Ft(])150 1474 y Fu(If)j Fr(v)-5 b(alue)40 b Fu(is)35 -b(not)g(giv)m(en,)h(the)f(v)-5 b(ariable)35 b(is)g(assigned)g(the)f(n)m -(ull)h(string.)53 b(All)35 b Fr(v)-5 b(alue)5 b Fu(s)35 -b(undergo)f(tilde)h(ex-)150 1584 y(pansion,)h(parameter)f(and)f(v)-5 -b(ariable)36 b(expansion,)f(command)g(substitution,)h(arithmetic)g -(expansion,)150 1694 y(and)k(quote)h(remo)m(v)-5 b(al)42 -b(\(detailed)h(b)s(elo)m(w\).)72 b(If)40 b(the)h(v)-5 -b(ariable)41 b(has)g(its)g Ft(integer)e Fu(attribute)i(set,)j(then)150 -1803 y Fr(v)-5 b(alue)38 b Fu(is)33 b(ev)-5 b(aluated)34 -b(as)f(an)g(arithmetic)h(expression)f(ev)m(en)h(if)e(the)h -Ft($\(\(...)o(\)\))f Fu(expansion)h(is)g(not)g(used)150 -1913 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f(page)h -(31\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s(erformed,)f -(with)150 2022 y(the)35 b(exception)h(of)f Ft("$@")f -Fu(as)h(explained)g(b)s(elo)m(w.)54 b(Filename)36 b(expansion)f(is)g -(not)g(p)s(erformed.)53 b(Assign-)150 2132 y(men)m(t)33 -b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g(argumen)m(ts)h(to)g -(the)g Ft(alias)p Fu(,)e Ft(declare)p Fu(,)g Ft(typeset)p -Fu(,)g Ft(export)p Fu(,)150 2242 y Ft(readonly)p Fu(,)38 -b(and)g Ft(local)f Fu(builtin)h(commands)g(\()p Fr(declaration)j -Fu(commands\).)64 b(When)39 b(in)f Fm(posix)f Fu(mo)s(de)150 -2351 y(\(see)29 b(Section)h(6.11)g([Bash)f(POSIX)e(Mo)s(de],)j(page)f -(100\),)h(these)f(builtins)f(ma)m(y)h(app)s(ear)f(in)g(a)h(command)150 -2461 y(after)34 b(one)g(or)f(more)h(instances)g(of)f(the)h -Ft(command)d Fu(builtin)i(and)g(retain)h(these)g(assignmen)m(t)g -(statemen)m(t)150 2570 y(prop)s(erties.)275 2715 y(In)29 +y Ft(declare)34 b Fu(or)i Ft(typeset)e Fu(will)i(list)h(the)f(function) +g(names)g(only)g(\(and)g(optionally)h(the)f(source)g(\014le)h(and)150 +408 y(line)c(n)m(um)m(b)s(er,)g(if)f(the)h Ft(extdebug)e +Fu(shell)i(option)g(is)g(enabled\).)49 b(F)-8 b(unctions)33 +b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 518 y(subshells)j +(automatically)k(ha)m(v)m(e)f(them)e(de\014ned)f(with)h(the)h +Ft(-f)e Fu(option)i(to)g(the)g Ft(export)d Fu(builtin)i(\(see)150 +628 y(Section)31 b(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(44\).) +275 759 y(F)-8 b(unctions)33 b(ma)m(y)g(b)s(e)g(recursiv)m(e.)48 +b(The)32 b Ft(FUNCNEST)f Fu(v)-5 b(ariable)34 b(ma)m(y)f(b)s(e)f(used)g +(to)i(limit)g(the)f(depth)f(of)150 869 y(the)27 b(function)f(call)i +(stac)m(k)h(and)d(restrict)h(the)g(n)m(um)m(b)s(er)f(of)h(function)f +(in)m(v)m(o)s(cations.)42 b(By)27 b(default,)g(no)g(limit)150 +978 y(is)j(placed)h(on)g(the)f(n)m(um)m(b)s(er)f(of)i(recursiv)m(e)f +(calls.)150 1213 y Fs(3.4)68 b(Shell)45 b(P)l(arameters)150 +1373 y Fu(A)23 b Fr(parameter)31 b Fu(is)23 b(an)g(en)m(tit)m(y)i(that) +f(stores)g(v)-5 b(alues.)39 b(It)23 b(can)h(b)s(e)f(a)g +Ft(name)p Fu(,)h(a)g(n)m(um)m(b)s(er,)f(or)h(one)f(of)h(the)f(sp)s +(ecial)150 1482 y(c)m(haracters)i(listed)e(b)s(elo)m(w.)39 +b(A)23 b Fr(v)-5 b(ariable)30 b Fu(is)23 b(a)g(parameter)h(denoted)f(b) +m(y)h(a)f Ft(name)p Fu(.)37 b(A)24 b(v)-5 b(ariable)24 +b(has)f(a)g Fr(v)-5 b(alue)150 1592 y Fu(and)33 b(zero)i(or)f(more)g +Fr(attributes)p Fu(.)52 b(A)m(ttributes)35 b(are)f(assigned)g(using)g +(the)g Ft(declare)e Fu(builtin)h(command)150 1701 y(\(see)e(the)g +(description)f(of)h(the)f Ft(declare)f Fu(builtin)h(in)g(Section)h(4.2) +g([Bash)g(Builtins],)g(page)g(51\).)275 1833 y(A)d(parameter)h(is)g +(set)g(if)f(it)h(has)f(b)s(een)g(assigned)h(a)g(v)-5 +b(alue.)40 b(The)28 b(n)m(ull)h(string)f(is)h(a)g(v)-5 +b(alid)28 b(v)-5 b(alue.)41 b(Once)150 1943 y(a)31 b(v)-5 +b(ariable)31 b(is)f(set,)i(it)e(ma)m(y)h(b)s(e)f(unset)g(only)h(b)m(y)f +(using)g(the)g Ft(unset)f Fu(builtin)h(command.)275 2074 +y(A)g(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)f(assigned)g(to)i(b)m(y)e(a)h +(statemen)m(t)h(of)e(the)h(form)390 2206 y Fj(name)p +Ft(=[)p Fj(value)p Ft(])150 2337 y Fu(If)j Fr(v)-5 b(alue)40 +b Fu(is)35 b(not)g(giv)m(en,)h(the)f(v)-5 b(ariable)35 +b(is)g(assigned)g(the)f(n)m(ull)h(string.)53 b(All)35 +b Fr(v)-5 b(alue)5 b Fu(s)35 b(undergo)f(tilde)h(ex-)150 +2447 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36 +b(expansion,)f(command)g(substitution,)h(arithmetic)g(expansion,)150 +2556 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).) +72 b(If)40 b(the)h(v)-5 b(ariable)41 b(has)g(its)g Ft(integer)e +Fu(attribute)i(set,)j(then)150 2666 y Fr(v)-5 b(alue)38 +b Fu(is)33 b(ev)-5 b(aluated)34 b(as)f(an)g(arithmetic)h(expression)f +(ev)m(en)h(if)e(the)h Ft($\(\(...)o(\)\))f Fu(expansion)h(is)g(not)g +(used)150 2776 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f +(page)h(31\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s +(erformed,)f(with)150 2885 y(the)35 b(exception)h(of)f +Ft("$@")f Fu(as)h(explained)g(b)s(elo)m(w.)54 b(Filename)36 +b(expansion)f(is)g(not)g(p)s(erformed.)53 b(Assign-)150 +2995 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g +(argumen)m(ts)h(to)g(the)g Ft(alias)p Fu(,)e Ft(declare)p +Fu(,)g Ft(typeset)p Fu(,)g Ft(export)p Fu(,)150 3104 +y Ft(readonly)p Fu(,)38 b(and)g Ft(local)f Fu(builtin)h(commands)g(\()p +Fr(declaration)j Fu(commands\).)64 b(When)39 b(in)f Fm(posix)f +Fu(mo)s(de)150 3214 y(\(see)29 b(Section)h(6.11)g([Bash)f(POSIX)e(Mo)s +(de],)j(page)f(100\),)h(these)f(builtins)f(ma)m(y)h(app)s(ear)f(in)g(a) +h(command)150 3323 y(after)34 b(one)g(or)f(more)h(instances)g(of)f(the) +h Ft(command)d Fu(builtin)i(and)g(retain)h(these)g(assignmen)m(t)g +(statemen)m(t)150 3433 y(prop)s(erties.)275 3565 y(In)29 b(the)h(con)m(text)i(where)d(an)h(assignmen)m(t)h(statemen)m(t)h(is)e (assigning)g(a)h(v)-5 b(alue)30 b(to)h(a)f(shell)g(v)-5 -b(ariable)31 b(or)150 2824 y(arra)m(y)24 b(index)f(\(see)h(Section)g +b(ariable)31 b(or)150 3674 y(arra)m(y)24 b(index)f(\(see)h(Section)g (6.7)g([Arra)m(ys],)i(page)e(95\),)i(the)e(`)p Ft(+=)p Fu(')f(op)s(erator)g(can)h(b)s(e)f(used)f(to)i(app)s(end)e(to)i(or)150 -2934 y(add)k(to)i(the)f(v)-5 b(ariable's)30 b(previous)e(v)-5 +3784 y(add)k(to)i(the)f(v)-5 b(ariable's)30 b(previous)e(v)-5 b(alue.)41 b(This)28 b(includes)g(argumen)m(ts)i(to)f(builtin)g -(commands)f(suc)m(h)h(as)150 3044 y Ft(declare)e Fu(that)i(accept)h +(commands)f(suc)m(h)h(as)150 3893 y Ft(declare)e Fu(that)i(accept)h (assignmen)m(t)f(statemen)m(ts)h(\()p Fr(declaration)h Fu(commands\).)40 b(When)28 b(`)p Ft(+=)p Fu(')h(is)f(applied)150 -3153 y(to)d(a)f(v)-5 b(ariable)24 b(for)g(whic)m(h)f(the)h +4003 y(to)d(a)f(v)-5 b(ariable)24 b(for)g(whic)m(h)f(the)h Fr(in)m(teger)32 b Fu(attribute)24 b(has)g(b)s(een)f(set,)j Fr(v)-5 b(alue)29 b Fu(is)24 b(ev)-5 b(aluated)25 b(as)f(an)g -(arithmetic)150 3263 y(expression)30 b(and)f(added)g(to)i(the)f(v)-5 +(arithmetic)150 4113 y(expression)30 b(and)f(added)g(to)i(the)f(v)-5 b(ariable's)30 b(curren)m(t)g(v)-5 b(alue,)31 b(whic)m(h)e(is)h(also)h (ev)-5 b(aluated.)42 b(When)29 b(`)p Ft(+=)p Fu(')h(is)150 -3372 y(applied)25 b(to)h(an)f(arra)m(y)h(v)-5 b(ariable)26 +4222 y(applied)25 b(to)h(an)f(arra)m(y)h(v)-5 b(ariable)26 b(using)f(comp)s(ound)f(assignmen)m(t)i(\(see)g(Section)g(6.7)g([Arra)m -(ys],)h(page)f(95\),)150 3482 y(the)33 b(v)-5 b(ariable's)33 +(ys],)h(page)f(95\),)150 4332 y(the)33 b(v)-5 b(ariable's)33 b(v)-5 b(alue)33 b(is)g(not)g(unset)f(\(as)h(it)g(is)g(when)e(using)i (`)p Ft(=)p Fu('\),)g(and)f(new)g(v)-5 b(alues)33 b(are)g(app)s(ended)e -(to)150 3592 y(the)26 b(arra)m(y)h(b)s(eginning)e(at)i(one)f(greater)h +(to)150 4441 y(the)26 b(arra)m(y)h(b)s(eginning)e(at)i(one)f(greater)h (than)f(the)g(arra)m(y's)h(maxim)m(um)f(index)f(\(for)i(indexed)e(arra) -m(ys\),)j(or)150 3701 y(added)c(as)i(additional)g(k)m(ey-v)-5 +m(ys\),)j(or)150 4551 y(added)c(as)i(additional)g(k)m(ey-v)-5 b(alue)26 b(pairs)f(in)g(an)g(asso)s(ciativ)m(e)j(arra)m(y)-8 b(.)40 b(When)24 b(applied)h(to)h(a)g(string-v)-5 b(alued)150 -3811 y(v)g(ariable,)31 b Fr(v)-5 b(alue)36 b Fu(is)31 +4660 y(v)g(ariable,)31 b Fr(v)-5 b(alue)36 b Fu(is)31 b(expanded)e(and)h(app)s(ended)f(to)i(the)f(v)-5 b(ariable's)32 -b(v)-5 b(alue.)275 3955 y(A)28 b(v)-5 b(ariable)29 b(can)f(b)s(e)f +b(v)-5 b(alue.)275 4792 y(A)28 b(v)-5 b(ariable)29 b(can)f(b)s(e)f (assigned)i(the)f Fr(nameref)45 b Fu(attribute)29 b(using)f(the)g Ft(-n)f Fu(option)i(to)g(the)f Ft(declare)e Fu(or)150 -4065 y Ft(local)f Fu(builtin)h(commands)g(\(see)i(Section)f(4.2)h +4902 y Ft(local)f Fu(builtin)h(commands)g(\(see)i(Section)f(4.2)h ([Bash)f(Builtins],)h(page)f(51\))h(to)f(create)i(a)e -Fr(nameref)p Fu(,)g(or)g(a)150 4174 y(reference)f(to)g(another)f(v)-5 +Fr(nameref)p Fu(,)g(or)g(a)150 5011 y(reference)f(to)g(another)f(v)-5 b(ariable.)40 b(This)24 b(allo)m(ws)j(v)-5 b(ariables)26 b(to)g(b)s(e)e(manipulated)h(indirectly)-8 b(.)40 b(Whenev)m(er)150 -4284 y(the)31 b(nameref)g(v)-5 b(ariable)32 b(is)f(referenced,)g +5121 y(the)31 b(nameref)g(v)-5 b(ariable)32 b(is)f(referenced,)g (assigned)h(to,)g(unset,)f(or)g(has)f(its)i(attributes)f(mo)s(di\014ed) -f(\(other)150 4394 y(than)c(using)g(or)h(c)m(hanging)g(the)g(nameref)f +f(\(other)150 5230 y(than)c(using)g(or)h(c)m(hanging)g(the)g(nameref)f (attribute)i(itself)7 b(\),)29 b(the)d(op)s(eration)h(is)g(actually)h -(p)s(erformed)d(on)150 4503 y(the)31 b(v)-5 b(ariable)31 +(p)s(erformed)d(on)150 5340 y(the)31 b(v)-5 b(ariable)31 b(sp)s(eci\014ed)f(b)m(y)g(the)h(nameref)f(v)-5 b(ariable's)31 -b(v)-5 b(alue.)42 b(A)30 b(nameref)g(is)h(commonly)g(used)e(within)150 -4613 y(shell)h(functions)g(to)h(refer)f(to)h(a)f(v)-5 -b(ariable)31 b(whose)f(name)h(is)f(passed)g(as)g(an)g(argumen)m(t)h(to) -g(the)f(function.)150 4722 y(F)-8 b(or)31 b(instance,)g(if)g(a)g(v)-5 -b(ariable)31 b(name)f(is)h(passed)e(to)j(a)e(shell)h(function)f(as)h -(its)f(\014rst)g(argumen)m(t,)h(running)390 4867 y Ft(declare)46 -b(-n)h(ref=$1)150 5011 y Fu(inside)31 b(the)h(function)f(creates)i(a)g -(nameref)e(v)-5 b(ariable)32 b Fr(ref)49 b Fu(whose)32 -b(v)-5 b(alue)32 b(is)g(the)f(v)-5 b(ariable)33 b(name)e(passed)150 -5121 y(as)e(the)h(\014rst)e(argumen)m(t.)41 b(References)30 -b(and)e(assignmen)m(ts)i(to)g Fr(ref)p Fu(,)f(and)g(c)m(hanges)h(to)g -(its)f(attributes,)i(are)150 5230 y(treated)g(as)f(references,)g -(assignmen)m(ts,)h(and)e(attribute)i(mo)s(di\014cations)f(to)h(the)f(v) --5 b(ariable)30 b(whose)g(name)150 5340 y(w)m(as)h(passed)f(as)g -Ft($1)p Fu(.)p eop end +b(v)-5 b(alue.)42 b(A)30 b(nameref)g(is)h(commonly)g(used)e(within)p +eop end %%Page: 21 27 TeXDict begin 21 26 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)275 299 -y(If)31 b(the)g(con)m(trol)i(v)-5 b(ariable)32 b(in)g(a)f -Ft(for)g Fu(lo)s(op)h(has)f(the)g(nameref)h(attribute,)g(the)g(list)g -(of)g(w)m(ords)f(can)h(b)s(e)150 408 y(a)h(list)h(of)f(shell)g(v)-5 -b(ariables,)34 b(and)e(a)i(name)f(reference)g(will)g(b)s(e)f -(established)h(for)g(eac)m(h)h(w)m(ord)e(in)h(the)g(list,)150 -518 y(in)c(turn,)g(when)g(the)h(lo)s(op)g(is)g(executed.)41 -b(Arra)m(y)30 b(v)-5 b(ariables)30 b(cannot)h(b)s(e)e(giv)m(en)h(the)g -(nameref)g(attribute.)150 628 y(Ho)m(w)m(ev)m(er,)39 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299 +y(shell)30 b(functions)g(to)h(refer)f(to)h(a)f(v)-5 b(ariable)31 +b(whose)f(name)h(is)f(passed)g(as)g(an)g(argumen)m(t)h(to)g(the)f +(function.)150 408 y(F)-8 b(or)31 b(instance,)g(if)g(a)g(v)-5 +b(ariable)31 b(name)f(is)h(passed)e(to)j(a)e(shell)h(function)f(as)h +(its)f(\014rst)g(argumen)m(t,)h(running)390 542 y Ft(declare)46 +b(-n)h(ref=$1)150 675 y Fu(inside)31 b(the)h(function)f(creates)i(a)g +(nameref)e(v)-5 b(ariable)32 b Fr(ref)49 b Fu(whose)32 +b(v)-5 b(alue)32 b(is)g(the)f(v)-5 b(ariable)33 b(name)e(passed)150 +785 y(as)e(the)h(\014rst)e(argumen)m(t.)41 b(References)30 +b(and)e(assignmen)m(ts)i(to)g Fr(ref)p Fu(,)f(and)g(c)m(hanges)h(to)g +(its)f(attributes,)i(are)150 894 y(treated)g(as)f(references,)g +(assignmen)m(ts,)h(and)e(attribute)i(mo)s(di\014cations)f(to)h(the)f(v) +-5 b(ariable)30 b(whose)g(name)150 1004 y(w)m(as)h(passed)f(as)g +Ft($1)p Fu(.)275 1137 y(If)h(the)g(con)m(trol)i(v)-5 +b(ariable)32 b(in)g(a)f Ft(for)g Fu(lo)s(op)h(has)f(the)g(nameref)h +(attribute,)g(the)g(list)g(of)g(w)m(ords)f(can)h(b)s(e)150 +1247 y(a)h(list)h(of)f(shell)g(v)-5 b(ariables,)34 b(and)e(a)i(name)f +(reference)g(will)g(b)s(e)f(established)h(for)g(eac)m(h)h(w)m(ord)e(in) +h(the)g(list,)150 1356 y(in)c(turn,)g(when)g(the)h(lo)s(op)g(is)g +(executed.)41 b(Arra)m(y)30 b(v)-5 b(ariables)30 b(cannot)h(b)s(e)e +(giv)m(en)h(the)g(nameref)g(attribute.)150 1466 y(Ho)m(w)m(ev)m(er,)39 b(nameref)d(v)-5 b(ariables)36 b(can)g(reference)g(arra)m(y)g(v)-5 b(ariables)37 b(and)e(subscripted)f(arra)m(y)i(v)-5 b(ariables.)150 -737 y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h +1575 y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h Ft(-n)e Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h(Section) -g(4.1)h([Bourne)150 847 y(Shell)43 b(Builtins],)j(page)e(44\).)79 +g(4.1)h([Bourne)150 1685 y(Shell)43 b(Builtins],)j(page)e(44\).)79 b(Otherwise,)45 b(if)e Ft(unset)e Fu(is)i(executed)h(with)e(the)h(name) -g(of)g(a)g(nameref)150 956 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m +g(of)g(a)g(nameref)150 1795 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m (t,)h(the)g(v)-5 b(ariable)31 b(referenced)f(b)m(y)g(the)h(nameref)f(v) --5 b(ariable)31 b(will)g(b)s(e)f(unset.)150 1157 y Fk(3.4.1)63 -b(P)m(ositional)41 b(P)m(arameters)150 1304 y Fu(A)28 +-5 b(ariable)31 b(will)g(b)s(e)f(unset.)150 1991 y Fk(3.4.1)63 +b(P)m(ositional)41 b(P)m(arameters)150 2138 y Fu(A)28 b Fr(p)s(ositional)h(parameter)35 b Fu(is)28 b(a)g(parameter)g(denoted) g(b)m(y)g(one)g(or)g(more)g(digits,)h(other)g(than)e(the)h(single)150 -1414 y(digit)34 b Ft(0)p Fu(.)48 b(P)m(ositional)36 b(parameters)d(are) +2248 y(digit)34 b Ft(0)p Fu(.)48 b(P)m(ositional)36 b(parameters)d(are) g(assigned)h(from)e(the)i(shell's)f(argumen)m(ts)g(when)f(it)i(is)f(in) -m(v)m(ok)m(ed,)150 1523 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using) +m(v)m(ok)m(ed,)150 2357 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using) e(the)h Ft(set)g Fu(builtin)f(command.)67 b(P)m(ositional)41 -b(parameter)e Ft(N)g Fu(ma)m(y)h(b)s(e)150 1633 y(referenced)34 +b(parameter)e Ft(N)g Fu(ma)m(y)h(b)s(e)150 2467 y(referenced)34 b(as)h Ft(${N})p Fu(,)g(or)f(as)h Ft($N)e Fu(when)h Ft(N)g Fu(consists)h(of)f(a)h(single)g(digit.)54 b(P)m(ositional)37 -b(parameters)d(ma)m(y)150 1743 y(not)j(b)s(e)f(assigned)h(to)g(with)f +b(parameters)d(ma)m(y)150 2577 y(not)j(b)s(e)f(assigned)h(to)g(with)f (assignmen)m(t)i(statemen)m(ts.)61 b(The)36 b Ft(set)g Fu(and)g Ft(shift)f Fu(builtins)h(are)h(used)f(to)150 -1852 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h +2686 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h (Builtin)g(Commands],)h(page)f(44\).)68 b(The)39 b(p)s(ositional)150 -1962 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h +2796 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h (shell)g(function)g(is)g(executed)g(\(see)h(Section)g(3.3)150 -2071 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(17\).)275 -2207 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f +2905 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(17\).)275 +3039 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f (than)g(a)g(single)h(digit)g(is)f(expanded,)g(it)h(m)m(ust)150 -2317 y(b)s(e)h(enclosed)h(in)f(braces.)150 2518 y Fk(3.4.2)63 -b(Sp)s(ecial)41 b(P)m(arameters)150 2665 y Fu(The)d(shell)g(treats)h +3148 y(b)s(e)h(enclosed)h(in)f(braces.)150 3345 y Fk(3.4.2)63 +b(Sp)s(ecial)41 b(P)m(arameters)150 3492 y Fu(The)d(shell)g(treats)h (sev)m(eral)g(parameters)f(sp)s(ecially)-8 b(.)65 b(These)38 b(parameters)h(ma)m(y)f(only)g(b)s(e)g(referenced;)150 -2774 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150 -2936 y Ft(*)432 b Fu(\($*\))38 b(Expands)d(to)i(the)f(p)s(ositional)h +3601 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150 +3758 y Ft(*)432 b Fu(\($*\))38 b(Expands)d(to)i(the)f(p)s(ositional)h (parameters,)h(starting)f(from)f(one.)59 b(When)36 b(the)g(ex-)630 -3046 y(pansion)h(is)h(not)g(within)f(double)g(quotes,)j(eac)m(h)f(p)s -(ositional)f(parameter)g(expands)f(to)i(a)630 3155 y(separate)e(w)m -(ord.)56 b(In)35 b(con)m(texts)i(where)e(it)h(is)g(p)s(erformed,)g -(those)g(w)m(ords)f(are)h(sub)5 b(ject)35 b(to)630 3265 -y(further)h(w)m(ord)h(splitting)h(and)f(pathname)g(expansion.)61 -b(When)38 b(the)f(expansion)g(o)s(ccurs)630 3374 y(within)25 -b(double)h(quotes,)h(it)f(expands)f(to)i(a)f(single)g(w)m(ord)f(with)h -(the)g(v)-5 b(alue)26 b(of)g(eac)m(h)h(param-)630 3484 -y(eter)32 b(separated)h(b)m(y)e(the)h(\014rst)f(c)m(haracter)i(of)f -(the)g Ft(IFS)f Fu(sp)s(ecial)h(v)-5 b(ariable.)45 b(That)32 -b(is,)g Ft("$*")630 3593 y Fu(is)f(equiv)-5 b(alen)m(t)32 -b(to)g Ft("$1)p Fj(c)p Ft($2)p Fj(c)p Ft(...)m(")p Fu(,)f(where)g -Fr(c)37 b Fu(is)31 b(the)g(\014rst)f(c)m(haracter)j(of)e(the)g(v)-5 -b(alue)32 b(of)f(the)630 3703 y Ft(IFS)e Fu(v)-5 b(ariable.)41 +3868 y(pansion)h(is)h(not)g(within)f(double)g(quotes,)j(eac)m(h)f(p)s +(ositional)f(parameter)g(expands)f(to)i(a)630 3978 y(separate)23 +b(w)m(ord.)38 b(In)21 b(con)m(texts)j(where)e(it)g(is)h(p)s(erformed,)f +(those)h(w)m(ords)e(are)i(sub)5 b(ject)22 b(to)h(fur-)630 +4087 y(ther)k(w)m(ord)g(splitting)i(and)e(\014lename)g(expansion.)40 +b(When)27 b(the)h(expansion)f(o)s(ccurs)g(within)630 +4197 y(double)37 b(quotes,)k(it)d(expands)f(to)h(a)g(single)h(w)m(ord)e +(with)h(the)f(v)-5 b(alue)39 b(of)f(eac)m(h)g(parameter)630 +4306 y(separated)g(b)m(y)g(the)f(\014rst)g(c)m(haracter)i(of)f(the)g +Ft(IFS)f Fu(sp)s(ecial)h(v)-5 b(ariable.)63 b(That)38 +b(is,)h Ft("$*")e Fu(is)630 4416 y(equiv)-5 b(alen)m(t)39 +b(to)g Ft("$1)p Fj(c)p Ft($2)p Fj(c)p Ft(...)m(")p Fu(,)h(where)d +Fr(c)44 b Fu(is)38 b(the)g(\014rst)g(c)m(haracter)h(of)f(the)g(v)-5 +b(alue)39 b(of)f(the)630 4526 y Ft(IFS)29 b Fu(v)-5 b(ariable.)41 b(If)29 b Ft(IFS)g Fu(is)h(unset,)f(the)h(parameters)g(are)g(separated) -g(b)m(y)g(spaces.)41 b(If)29 b Ft(IFS)g Fu(is)630 3813 +g(b)m(y)g(spaces.)41 b(If)29 b Ft(IFS)g Fu(is)630 4635 y(n)m(ull,)i(the)f(parameters)h(are)g(joined)f(without)g(in)m(terv)m -(ening)i(separators.)150 3974 y Ft(@)432 b Fu(\($@\))43 +(ening)i(separators.)150 4792 y Ft(@)432 b Fu(\($@\))43 b(Expands)f(to)h(the)g(p)s(ositional)g(parameters,)k(starting)c(from)f -(one.)78 b(In)42 b(con)m(texts)630 4083 y(where)35 b(w)m(ord)h +(one.)78 b(In)42 b(con)m(texts)630 4902 y(where)35 b(w)m(ord)h (splitting)g(is)g(p)s(erformed,)g(this)g(expands)e(eac)m(h)j(p)s -(ositional)g(parameter)f(to)630 4193 y(a)d(separate)h(w)m(ord;)g(if)f +(ositional)g(parameter)f(to)630 5011 y(a)d(separate)h(w)m(ord;)g(if)f (not)g(within)g(double)f(quotes,)j(these)e(w)m(ords)g(are)g(sub)5 -b(ject)33 b(to)g(w)m(ord)630 4302 y(splitting.)60 b(In)36 +b(ject)33 b(to)g(w)m(ord)630 5121 y(splitting.)60 b(In)36 b(con)m(texts)j(where)d(w)m(ord)g(splitting)h(is)g(not)g(p)s(erformed,) -g(this)f(expands)g(to)630 4412 y(a)c(single)h(w)m(ord)e(with)h(eac)m(h) +g(this)f(expands)g(to)630 5230 y(a)c(single)h(w)m(ord)e(with)h(eac)m(h) h(p)s(ositional)g(parameter)f(separated)g(b)m(y)g(a)g(space.)46 -b(When)32 b(the)630 4522 y(expansion)i(o)s(ccurs)h(within)e(double)i -(quotes,)h(and)e(w)m(ord)g(splitting)h(is)g(p)s(erformed,)f(eac)m(h)630 -4631 y(parameter)23 b(expands)f(to)i(a)f(separate)h(w)m(ord.)37 -b(That)23 b(is,)i Ft("$@")c Fu(is)i(equiv)-5 b(alen)m(t)24 -b(to)g Ft("$1")29 b("$2")630 4741 y(...)o Fu(.)39 b(If)26 -b(the)g(double-quoted)g(expansion)f(o)s(ccurs)h(within)f(a)h(w)m(ord,)h -(the)f(expansion)g(of)g(the)630 4850 y(\014rst)31 b(parameter)h(is)g -(joined)f(with)g(the)h(b)s(eginning)f(part)h(of)f(the)h(original)h(w)m -(ord,)f(and)f(the)630 4960 y(expansion)25 b(of)g(the)h(last)g -(parameter)f(is)h(joined)f(with)g(the)g(last)h(part)f(of)g(the)h -(original)g(w)m(ord.)630 5069 y(When)i(there)g(are)g(no)g(p)s -(ositional)g(parameters,)h Ft("$@")e Fu(and)g Ft($@)h -Fu(expand)f(to)h(nothing)g(\(i.e.,)630 5179 y(they)j(are)f(remo)m(v)m -(ed\).)150 5340 y Ft(#)432 b Fu(\($#\))31 b(Expands)e(to)i(the)g(n)m -(um)m(b)s(er)e(of)h(p)s(ositional)i(parameters)e(in)g(decimal.)p +b(When)32 b(the)630 5340 y(expansion)i(o)s(ccurs)h(within)e(double)i +(quotes,)h(and)e(w)m(ord)g(splitting)h(is)g(p)s(erformed,)f(eac)m(h)p eop end %%Page: 22 28 TeXDict begin 22 27 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(22)150 299 -y Ft(?)432 b Fu(\($?\))88 b(Expands)45 b(to)h(the)g(exit)h(status)f(of) -g(the)g(most)h(recen)m(tly)g(executed)g(foreground)630 -408 y(pip)s(eline.)150 564 y Ft(-)432 b Fu(\($-,)24 b(a)e(h)m(yphen.\)) -37 b(Expands)20 b(to)i(the)f(curren)m(t)h(option)f(\015ags)h(as)f(sp)s -(eci\014ed)g(up)s(on)f(in)m(v)m(o)s(cation,)630 673 y(b)m(y)38 -b(the)h Ft(set)f Fu(builtin)g(command,)j(or)d(those)i(set)f(b)m(y)f -(the)h(shell)g(itself)g(\(suc)m(h)g(as)g(the)g Ft(-i)630 -783 y Fu(option\).)150 938 y Ft($)432 b Fu(\($$\))31 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(22)630 299 +y(parameter)23 b(expands)f(to)i(a)f(separate)h(w)m(ord.)37 +b(That)23 b(is,)i Ft("$@")c Fu(is)i(equiv)-5 b(alen)m(t)24 +b(to)g Ft("$1")29 b("$2")630 408 y(...)o Fu(.)39 b(If)26 +b(the)g(double-quoted)g(expansion)f(o)s(ccurs)h(within)f(a)h(w)m(ord,)h +(the)f(expansion)g(of)g(the)630 518 y(\014rst)31 b(parameter)h(is)g +(joined)f(with)g(the)h(b)s(eginning)f(part)h(of)f(the)h(original)h(w)m +(ord,)f(and)f(the)630 628 y(expansion)25 b(of)g(the)h(last)g(parameter) +f(is)h(joined)f(with)g(the)g(last)h(part)f(of)g(the)h(original)g(w)m +(ord.)630 737 y(When)i(there)g(are)g(no)g(p)s(ositional)g(parameters,)h +Ft("$@")e Fu(and)g Ft($@)h Fu(expand)f(to)h(nothing)g(\(i.e.,)630 +847 y(they)j(are)f(remo)m(v)m(ed\).)150 1011 y Ft(#)432 +b Fu(\($#\))31 b(Expands)e(to)i(the)g(n)m(um)m(b)s(er)e(of)h(p)s +(ositional)i(parameters)e(in)g(decimal.)150 1176 y Ft(?)432 +b Fu(\($?\))88 b(Expands)45 b(to)h(the)g(exit)h(status)f(of)g(the)g +(most)h(recen)m(tly)g(executed)g(foreground)630 1285 +y(pip)s(eline.)150 1450 y Ft(-)432 b Fu(\($-,)24 b(a)e(h)m(yphen.\))37 +b(Expands)20 b(to)i(the)f(curren)m(t)h(option)f(\015ags)h(as)f(sp)s +(eci\014ed)g(up)s(on)f(in)m(v)m(o)s(cation,)630 1559 +y(b)m(y)38 b(the)h Ft(set)f Fu(builtin)g(command,)j(or)d(those)i(set)f +(b)m(y)f(the)h(shell)g(itself)g(\(suc)m(h)g(as)g(the)g +Ft(-i)630 1669 y Fu(option\).)150 1833 y Ft($)432 b Fu(\($$\))31 b(Expands)d(to)j(the)e(pro)s(cess)h Fm(id)f Fu(of)h(the)g(shell.)41 b(In)28 b(a)i Ft(\(\))f Fu(subshell,)h(it)g(expands)e(to)j(the)630 -1048 y(pro)s(cess)f Fm(id)g Fu(of)h(the)g(in)m(v)m(oking)g(shell,)g -(not)g(the)f(subshell.)150 1203 y Ft(!)432 b Fu(\($!\))51 +1943 y(pro)s(cess)f Fm(id)g Fu(of)h(the)g(in)m(v)m(oking)g(shell,)g +(not)g(the)f(subshell.)150 2107 y Ft(!)432 b Fu(\($!\))51 b(Expands)32 b(to)i(the)g(pro)s(cess)f Fm(id)h Fu(of)f(the)h(job)f (most)h(recen)m(tly)h(placed)f(in)m(to)g(the)g(bac)m(k-)630 -1313 y(ground,)26 b(whether)g(executed)g(as)h(an)f(async)m(hronous)f +2217 y(ground,)26 b(whether)g(executed)g(as)h(an)f(async)m(hronous)f (command)h(or)g(using)g(the)g Ft(bg)f Fu(builtin)630 -1422 y(\(see)31 b(Section)h(7.2)f([Job)f(Con)m(trol)h(Builtins],)g -(page)h(106\).)150 1578 y Ft(0)432 b Fu(\($0\))46 b(Expands)d(to)i(the) +2327 y(\(see)31 b(Section)h(7.2)f([Job)f(Con)m(trol)h(Builtins],)g +(page)h(106\).)150 2491 y Ft(0)432 b Fu(\($0\))46 b(Expands)d(to)i(the) g(name)g(of)f(the)h(shell)g(or)f(shell)h(script.)83 b(This)44 -b(is)g(set)h(at)h(shell)630 1687 y(initialization.)d(If)27 +b(is)g(set)h(at)h(shell)630 2601 y(initialization.)d(If)27 b(Bash)h(is)g(in)m(v)m(ok)m(ed)h(with)e(a)i(\014le)e(of)h(commands)g -(\(see)g(Section)h(3.8)g([Shell)630 1797 y(Scripts],)g(page)g(42\),)h +(\(see)g(Section)h(3.8)g([Shell)630 2710 y(Scripts],)g(page)g(42\),)h Ft($0)e Fu(is)h(set)g(to)g(the)f(name)h(of)f(that)h(\014le.)41 -b(If)28 b(Bash)g(is)h(started)g(with)f(the)630 1907 y +b(If)28 b(Bash)g(is)h(started)g(with)f(the)630 2820 y Ft(-c)i Fu(option)h(\(see)h(Section)g(6.1)f([In)m(v)m(oking)h(Bash],)g (page)f(86\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the)f(\014rst)630 -2016 y(argumen)m(t)g(after)g(the)g(string)g(to)g(b)s(e)f(executed,)i +2929 y(argumen)m(t)g(after)g(the)g(string)g(to)g(b)s(e)f(executed,)i (if)f(one)g(is)f(presen)m(t.)42 b(Otherwise,)31 b(it)g(is)f(set)630 -2126 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m(ok)m(e)h(Bash,)f -(as)g(giv)m(en)g(b)m(y)f(argumen)m(t)h(zero.)150 2281 -y Ft(_)432 b Fu(\($)p 716 2281 28 4 v 41 w(,)41 b(an)e(underscore.\))67 +3039 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m(ok)m(e)h(Bash,)f +(as)g(giv)m(en)g(b)m(y)f(argumen)m(t)h(zero.)150 3203 +y Ft(_)432 b Fu(\($)p 716 3203 28 4 v 41 w(,)41 b(an)e(underscore.\))67 b(A)m(t)40 b(shell)f(startup,)i(set)f(to)g(the)f(absolute)h(pathname)f -(used)f(to)630 2391 y(in)m(v)m(ok)m(e)43 b(the)e(shell)g(or)g(shell)g +(used)f(to)630 3313 y(in)m(v)m(ok)m(e)43 b(the)e(shell)g(or)g(shell)g (script)g(b)s(eing)f(executed)i(as)f(passed)g(in)f(the)h(en)m(vironmen) -m(t)630 2500 y(or)34 b(argumen)m(t)g(list.)52 b(Subsequen)m(tly)-8 +m(t)630 3423 y(or)34 b(argumen)m(t)g(list.)52 b(Subsequen)m(tly)-8 b(,)34 b(expands)f(to)i(the)f(last)h(argumen)m(t)f(to)g(the)g(previous) -630 2610 y(simple)g(command)f(executed)i(in)e(the)h(foreground,)g +630 3532 y(simple)g(command)f(executed)i(in)e(the)h(foreground,)g (after)g(expansion.)51 b(Also)34 b(set)g(to)h(the)630 -2720 y(full)d(pathname)h(used)f(to)i(in)m(v)m(ok)m(e)g(eac)m(h)g +3642 y(full)d(pathname)h(used)f(to)i(in)m(v)m(ok)m(e)g(eac)m(h)g (command)f(executed)g(and)f(placed)i(in)e(the)h(en)m(vi-)630 -2829 y(ronmen)m(t)24 b(exp)s(orted)g(to)h(that)g(command.)38 +3751 y(ronmen)m(t)24 b(exp)s(orted)g(to)h(that)g(command.)38 b(When)24 b(c)m(hec)m(king)i(mail,)h(this)d(parameter)g(holds)630 -2939 y(the)31 b(name)f(of)h(the)f(mail)h(\014le.)150 -3175 y Fs(3.5)68 b(Shell)45 b(Expansions)150 3335 y Fu(Expansion)27 +3861 y(the)31 b(name)f(of)h(the)f(mail)h(\014le.)150 +4109 y Fs(3.5)68 b(Shell)45 b(Expansions)150 4269 y Fu(Expansion)27 b(is)i(p)s(erformed)d(on)i(the)g(command)g(line)h(after)f(it)h(has)f(b) s(een)f(split)h(in)m(to)i Ft(token)p Fu(s.)38 b(There)28 -b(are)150 3444 y(sev)m(en)j(kinds)e(of)i(expansion)f(p)s(erformed:)225 -3577 y Fq(\017)60 b Fu(brace)31 b(expansion)225 3709 -y Fq(\017)60 b Fu(tilde)31 b(expansion)225 3842 y Fq(\017)60 +b(are)150 4378 y(sev)m(en)j(kinds)e(of)i(expansion)f(p)s(erformed:)225 +4518 y Fq(\017)60 b Fu(brace)31 b(expansion)225 4655 +y Fq(\017)60 b Fu(tilde)31 b(expansion)225 4792 y Fq(\017)60 b Fu(parameter)31 b(and)f(v)-5 b(ariable)31 b(expansion)225 -3974 y Fq(\017)60 b Fu(command)30 b(substitution)225 -4107 y Fq(\017)60 b Fu(arithmetic)32 b(expansion)225 -4239 y Fq(\017)60 b Fu(w)m(ord)30 b(splitting)225 4372 -y Fq(\017)60 b Fu(\014lename)31 b(expansion)275 4527 -y(The)24 b(order)h(of)h(expansions)f(is:)39 b(brace)25 -b(expansion;)j(tilde)e(expansion,)g(parameter)g(and)f(v)-5 -b(ariable)26 b(ex-)150 4637 y(pansion,)j(arithmetic)i(expansion,)f(and) -f(command)g(substitution)g(\(done)g(in)h(a)f(left-to-righ)m(t)k -(fashion\);)150 4746 y(w)m(ord)d(splitting;)h(and)f(\014lename)h -(expansion.)275 4879 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,) -47 b(there)d(is)f(an)h(additional)g(expansion)f(a)m(v)-5 -b(ailable:)69 b Fr(pro)s(cess)150 4988 y(substitution)p -Fu(.)50 b(This)33 b(is)h(p)s(erformed)e(at)j(the)f(same)g(time)g(as)g -(tilde,)i(parameter,)f(v)-5 b(ariable,)35 b(and)f(arith-)150 -5098 y(metic)d(expansion)g(and)e(command)i(substitution.)275 -5230 y(After)f(these)h(expansions)f(are)g(p)s(erformed,)f(quote)i(c)m -(haracters)h(presen)m(t)e(in)g(the)g(original)i(w)m(ord)e(are)150 -5340 y(remo)m(v)m(ed)h(unless)f(they)h(ha)m(v)m(e)g(b)s(een)f(quoted)g -(themselv)m(es)i(\()p Fr(quote)f(remo)m(v)-5 b(al)t Fu(\).)p -eop end +4929 y Fq(\017)60 b Fu(command)30 b(substitution)225 +5066 y Fq(\017)60 b Fu(arithmetic)32 b(expansion)225 +5203 y Fq(\017)60 b Fu(w)m(ord)30 b(splitting)225 5340 +y Fq(\017)60 b Fu(\014lename)31 b(expansion)p eop end %%Page: 23 29 TeXDict begin 23 28 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)275 299 -y(Only)31 b(brace)i(expansion,)h(w)m(ord)e(splitting,)i(and)e +y(The)24 b(order)h(of)h(expansions)f(is:)39 b(brace)25 +b(expansion;)j(tilde)e(expansion,)g(parameter)g(and)f(v)-5 +b(ariable)26 b(ex-)150 408 y(pansion,)j(arithmetic)i(expansion,)f(and)f +(command)g(substitution)g(\(done)g(in)h(a)f(left-to-righ)m(t)k +(fashion\);)150 518 y(w)m(ord)d(splitting;)h(and)f(\014lename)h +(expansion.)275 672 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,) +47 b(there)d(is)f(an)h(additional)g(expansion)f(a)m(v)-5 +b(ailable:)69 b Fr(pro)s(cess)150 782 y(substitution)p +Fu(.)50 b(This)33 b(is)h(p)s(erformed)e(at)j(the)f(same)g(time)g(as)g +(tilde,)i(parameter,)f(v)-5 b(ariable,)35 b(and)f(arith-)150 +891 y(metic)d(expansion)g(and)e(command)i(substitution.)275 +1046 y(After)f(these)h(expansions)f(are)g(p)s(erformed,)f(quote)i(c)m +(haracters)h(presen)m(t)e(in)g(the)g(original)i(w)m(ord)e(are)150 +1155 y(remo)m(v)m(ed)h(unless)f(they)h(ha)m(v)m(e)g(b)s(een)f(quoted)g +(themselv)m(es)i(\()p Fr(quote)f(remo)m(v)-5 b(al)t Fu(\).)275 +1309 y(Only)31 b(brace)i(expansion,)h(w)m(ord)e(splitting,)i(and)e (\014lename)h(expansion)f(can)h(increase)g(the)g(n)m(um)m(b)s(er)150 -408 y(of)24 b(w)m(ords)g(of)g(the)h(expansion;)h(other)e(expansions)g +1419 y(of)24 b(w)m(ords)g(of)g(the)h(expansion;)h(other)e(expansions)g (expand)g(a)g(single)h(w)m(ord)f(to)h(a)f(single)h(w)m(ord.)38 -b(The)24 b(only)150 518 y(exceptions)i(to)f(this)g(are)g(the)g +b(The)24 b(only)150 1529 y(exceptions)i(to)f(this)g(are)g(the)g (expansions)g(of)g Ft("$@")f Fu(and)g Ft($*)g Fu(\(see)i(Section)f -(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)150 628 y(page)31 +(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)150 1638 y(page)31 b(21\),)h(and)e Ft("${)p Fj(name)p Ft([@]}")d Fu(and)i Ft(${)p Fj(name)p Ft([*]})f Fu(\(see)j(Section)h(6.7)f([Arra)m(ys],)g -(page)g(95\).)275 774 y(After)41 b(all)i(expansions,)h +(page)g(95\).)275 1792 y(After)41 b(all)i(expansions,)h Ft(quote)29 b(removal)40 b Fu(\(see)i(Section)h(3.5.9)g([Quote)f(Remo)m -(v)-5 b(al],)47 b(page)42 b(34\))h(is)150 884 y(p)s(erformed.)150 -1095 y Fk(3.5.1)63 b(Brace)40 b(Expansion)150 1242 y +(v)-5 b(al],)47 b(page)42 b(34\))h(is)150 1902 y(p)s(erformed.)150 +2121 y Fk(3.5.1)63 b(Brace)40 b(Expansion)150 2268 y Fu(Brace)32 b(expansion)f(is)f(a)i(mec)m(hanism)f(b)m(y)f(whic)m(h)h (arbitrary)f(strings)h(ma)m(y)g(b)s(e)f(generated.)43 -b(This)30 b(mec)m(h-)150 1352 y(anism)35 b(is)h(similar)f(to)h +b(This)30 b(mec)m(h-)150 2377 y(anism)35 b(is)h(similar)f(to)h Fr(\014lename)g(expansion)f Fu(\(see)i(Section)f(3.5.8)h([Filename)g -(Expansion],)f(page)g(32\),)150 1462 y(but)26 b(the)h(\014lenames)g +(Expansion],)f(page)g(32\),)150 2487 y(but)26 b(the)h(\014lenames)g (generated)h(need)f(not)g(exist.)40 b(P)m(atterns)28 b(to)f(b)s(e)g(brace)g(expanded)f(tak)m(e)i(the)f(form)g(of)150 -1571 y(an)j(optional)h Fr(pream)m(ble)p Fu(,)g(follo)m(w)m(ed)g(b)m(y)f +2597 y(an)j(optional)h Fr(pream)m(ble)p Fu(,)g(follo)m(w)m(ed)g(b)m(y)f (either)g(a)h(series)f(of)g(comma-separated)i(strings)d(or)h(a)h -(sequence)150 1681 y(expression)36 b(b)s(et)m(w)m(een)g(a)h(pair)e(of)i +(sequence)150 2706 y(expression)36 b(b)s(et)m(w)m(een)g(a)h(pair)e(of)i (braces,)g(follo)m(w)m(ed)h(b)m(y)e(an)g(optional)h Fr(p)s(ostscript)p -Fu(.)57 b(The)36 b(pream)m(ble)g(is)150 1790 y(pre\014xed)28 +Fu(.)57 b(The)36 b(pream)m(ble)g(is)150 2816 y(pre\014xed)28 b(to)h(eac)m(h)h(string)f(con)m(tained)h(within)e(the)h(braces,)g(and)g (the)g(p)s(ostscript)f(is)h(then)f(app)s(ended)f(to)150 -1900 y(eac)m(h)32 b(resulting)e(string,)h(expanding)e(left)j(to)f(righ) -m(t.)275 2047 y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)59 +2925 y(eac)m(h)32 b(resulting)e(string,)h(expanding)e(left)j(to)f(righ) +m(t.)275 3079 y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)59 b(The)36 b(results)g(of)h(eac)m(h)g(expanded)f(string)g(are)h(not)g -(sorted;)150 2156 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m -(ed.)41 b(F)-8 b(or)31 b(example,)390 2303 y Ft(bash$)46 -b(echo)h(a{d,c,b}e)390 2413 y(ade)g(ace)g(abe)275 2559 +(sorted;)150 3189 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m +(ed.)41 b(F)-8 b(or)31 b(example,)390 3343 y Ft(bash$)46 +b(echo)h(a{d,c,b}e)390 3453 y(ade)g(ace)g(abe)275 3607 y Fu(A)23 b(sequence)g(expression)g(tak)m(es)i(the)e(form)g Ft({)p Fj(x)p Ft(..)p Fj(y)p Ft([..)p Fj(incr)p Ft(]})p Fu(,)e(where)i Fr(x)29 b Fu(and)23 b Fr(y)30 b Fu(are)24 -b(either)g(in)m(tegers)150 2669 y(or)42 b(single)h(c)m(haracters,)48 +b(either)g(in)m(tegers)150 3717 y(or)42 b(single)h(c)m(haracters,)48 b(and)41 b Fr(incr)p Fu(,)46 b(an)c(optional)i(incremen)m(t,)i(is)c(an) -h(in)m(teger.)78 b(When)42 b(in)m(tegers)i(are)150 2779 +h(in)m(teger.)78 b(When)42 b(in)m(tegers)i(are)150 3826 y(supplied,)f(the)f(expression)f(expands)f(to)i(eac)m(h)h(n)m(um)m(b)s (er)d(b)s(et)m(w)m(een)i Fr(x)47 b Fu(and)41 b Fr(y)p -Fu(,)j(inclusiv)m(e.)75 b(Supplied)150 2888 y(in)m(tegers)33 +Fu(,)j(inclusiv)m(e.)75 b(Supplied)150 3936 y(in)m(tegers)33 b(ma)m(y)e(b)s(e)g(pre\014xed)f(with)h(`)p Ft(0)p Fu(')h(to)g(force)g (eac)m(h)g(term)g(to)g(ha)m(v)m(e)g(the)g(same)g(width.)42 -b(When)31 b(either)150 2998 y Fr(x)43 b Fu(or)36 b Fr(y)44 +b(When)31 b(either)150 4045 y Fr(x)43 b Fu(or)36 b Fr(y)44 b Fu(b)s(egins)36 b(with)g(a)h(zero,)i(the)e(shell)g(attempts)g(to)g (force)g(all)h(generated)f(terms)g(to)g(con)m(tain)h(the)150 -3107 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h +4155 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h (necessary)-8 b(.)57 b(When)35 b(c)m(haracters)i(are)f(supplied,)g(the) -150 3217 y(expression)24 b(expands)g(to)h(eac)m(h)h(c)m(haracter)g +150 4265 y(expression)24 b(expands)g(to)h(eac)m(h)h(c)m(haracter)g (lexicographically)h(b)s(et)m(w)m(een)e Fr(x)30 b Fu(and)24 -b Fr(y)p Fu(,)i(inclusiv)m(e,)h(using)d(the)150 3326 +b Fr(y)p Fu(,)i(inclusiv)m(e,)h(using)d(the)150 4374 y(default)32 b(C)g(lo)s(cale.)48 b(Note)34 b(that)f(b)s(oth)e Fr(x)39 b Fu(and)31 b Fr(y)40 b Fu(m)m(ust)32 b(b)s(e)g(of)g(the)h (same)f(t)m(yp)s(e.)47 b(When)32 b(the)g(incremen)m(t)150 -3436 y(is)d(supplied,)g(it)h(is)f(used)f(as)i(the)f(di\013erence)h(b)s +4484 y(is)d(supplied,)g(it)h(is)f(used)f(as)i(the)f(di\013erence)h(b)s (et)m(w)m(een)g(eac)m(h)g(term.)41 b(The)29 b(default)g(incremen)m(t)h -(is)f(1)h(or)f(-1)150 3546 y(as)i(appropriate.)275 3692 +(is)f(1)h(or)f(-1)150 4593 y(as)i(appropriate.)275 4747 y(Brace)36 b(expansion)g(is)f(p)s(erformed)f(b)s(efore)h(an)m(y)h (other)g(expansions,)h(and)e(an)m(y)g(c)m(haracters)i(sp)s(ecial)150 -3802 y(to)32 b(other)g(expansions)g(are)g(preserv)m(ed)f(in)h(the)f +4857 y(to)32 b(other)g(expansions)g(are)g(preserv)m(ed)f(in)h(the)f (result.)45 b(It)32 b(is)g(strictly)g(textual.)46 b(Bash)32 -b(do)s(es)f(not)h(apply)150 3912 y(an)m(y)27 b(syn)m(tactic)i(in)m +b(do)s(es)f(not)h(apply)150 4967 y(an)m(y)27 b(syn)m(tactic)i(in)m (terpretation)g(to)f(the)f(con)m(text)i(of)e(the)g(expansion)g(or)g -(the)h(text)g(b)s(et)m(w)m(een)f(the)h(braces.)275 4058 +(the)h(text)g(b)s(et)m(w)m(een)f(the)h(braces.)275 5121 y(A)h(correctly-formed)i(brace)f(expansion)f(m)m(ust)h(con)m(tain)h (unquoted)e(op)s(ening)g(and)g(closing)i(braces,)150 -4168 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5 +5230 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5 b(alid)33 b(sequence)g(expression.)48 b(An)m(y)33 b(incorrectly)h -(formed)150 4278 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275 -4424 y(A)25 b Fi({)h Fu(or)f(`)p Ft(,)p Fu(')g(ma)m(y)h(b)s(e)f(quoted) -h(with)f(a)g(bac)m(kslash)h(to)g(prev)m(en)m(t)g(its)g(b)s(eing)f -(considered)g(part)g(of)h(a)g(brace)150 4534 y(expression.)51 -b(T)-8 b(o)34 b(a)m(v)m(oid)i(con\015icts)e(with)g(parameter)g -(expansion,)h(the)f(string)g(`)p Ft(${)p Fu(')g(is)g(not)g(considered) -150 4643 y(eligible)e(for)e(brace)h(expansion,)f(and)g(inhibits)g -(brace)h(expansion)f(un)m(til)g(the)h(closing)h(`)p Ft(})p -Fu('.)275 4790 y(This)e(construct)h(is)g(t)m(ypically)i(used)d(as)h -(shorthand)f(when)g(the)h(common)g(pre\014x)f(of)h(the)g(strings)g(to) -150 4900 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s(o)m -(v)m(e)i(example:)390 5046 y Ft(mkdir)46 b(/usr/local/src/bash/{old,n)o -(ew,)o(dist)o(,bug)o(s})275 5193 y Fu(or)390 5340 y Ft(chown)g(root)h -(/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})p +(formed)150 5340 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)p eop end %%Page: 24 30 TeXDict begin 24 29 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(24)150 299 -y Fk(3.5.2)63 b(Tilde)41 b(Expansion)150 446 y Fu(If)29 -b(a)h(w)m(ord)g(b)s(egins)f(with)g(an)h(unquoted)f(tilde)h(c)m +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(24)275 299 +y(A)25 b Fi({)h Fu(or)f(`)p Ft(,)p Fu(')g(ma)m(y)h(b)s(e)f(quoted)h +(with)f(a)g(bac)m(kslash)h(to)g(prev)m(en)m(t)g(its)g(b)s(eing)f +(considered)g(part)g(of)h(a)g(brace)150 408 y(expression.)51 +b(T)-8 b(o)34 b(a)m(v)m(oid)i(con\015icts)e(with)g(parameter)g +(expansion,)h(the)f(string)g(`)p Ft(${)p Fu(')g(is)g(not)g(considered) +150 518 y(eligible)e(for)e(brace)h(expansion,)f(and)g(inhibits)g(brace) +h(expansion)f(un)m(til)g(the)h(closing)h(`)p Ft(})p Fu('.)275 +659 y(This)e(construct)h(is)g(t)m(ypically)i(used)d(as)h(shorthand)f +(when)g(the)h(common)g(pre\014x)f(of)h(the)g(strings)g(to)150 +769 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s(o)m(v)m +(e)i(example:)390 910 y Ft(mkdir)46 b(/usr/local/src/bash/{old,n)o(ew,) +o(dist)o(,bug)o(s})275 1052 y Fu(or)390 1193 y Ft(chown)g(root)h +(/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})150 +1399 y Fk(3.5.2)63 b(Tilde)41 b(Expansion)150 1546 y +Fu(If)29 b(a)h(w)m(ord)g(b)s(egins)f(with)g(an)h(unquoted)f(tilde)h(c)m (haracter)h(\(`)p Ft(~)p Fu('\),)g(all)g(of)f(the)g(c)m(haracters)h(up) -d(to)j(the)f(\014rst)150 555 y(unquoted)24 b(slash)g(\(or)h(all)h(c)m +d(to)j(the)f(\014rst)150 1656 y(unquoted)24 b(slash)g(\(or)h(all)h(c)m (haracters,)h(if)e(there)g(is)f(no)h(unquoted)e(slash\))i(are)g -(considered)g(a)g Fr(tilde-pre\014x)p Fu(.)150 665 y(If)38 +(considered)g(a)g Fr(tilde-pre\014x)p Fu(.)150 1765 y(If)38 b(none)g(of)g(the)h(c)m(haracters)g(in)f(the)h(tilde-pre\014x)f(are)h (quoted,)h(the)f(c)m(haracters)h(in)d(the)i(tilde-pre\014x)150 -775 y(follo)m(wing)28 b(the)g(tilde)f(are)h(treated)g(as)f(a)g(p)s +1875 y(follo)m(wing)28 b(the)g(tilde)f(are)h(treated)g(as)f(a)g(p)s (ossible)g Fr(login)h(name)p Fu(.)39 b(If)27 b(this)g(login)h(name)f -(is)g(the)g(n)m(ull)g(string,)150 884 y(the)35 b(tilde)g(is)g(replaced) -g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g Ft(HOME)e -Fu(shell)i(v)-5 b(ariable.)54 b(If)34 b Ft(HOME)g Fu(is)h(unset,)g(the) -g(home)150 994 y(directory)e(of)g(the)f(user)g(executing)i(the)e(shell) -h(is)f(substituted)g(instead.)47 b(Otherwise,)33 b(the)g -(tilde-pre\014x)150 1103 y(is)d(replaced)h(with)f(the)h(home)f -(directory)h(asso)s(ciated)h(with)e(the)h(sp)s(eci\014ed)e(login)j -(name.)275 1240 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p +(is)g(the)g(n)m(ull)g(string,)150 1985 y(the)35 b(tilde)g(is)g +(replaced)g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g +Ft(HOME)e Fu(shell)i(v)-5 b(ariable.)54 b(If)34 b Ft(HOME)g +Fu(is)h(unset,)g(the)g(home)150 2094 y(directory)e(of)g(the)f(user)g +(executing)i(the)e(shell)h(is)f(substituted)g(instead.)47 +b(Otherwise,)33 b(the)g(tilde-pre\014x)150 2204 y(is)d(replaced)h(with) +f(the)h(home)f(directory)h(asso)s(ciated)h(with)e(the)h(sp)s(eci\014ed) +e(login)j(name.)275 2345 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p Ft(~+)p Fu(',)g(the)g(v)-5 b(alue)33 b(of)g(the)g(shell)g(v)-5 b(ariable)34 b Ft(PWD)d Fu(replaces)j(the)f(tilde-pre\014x.)47 -b(If)150 1349 y(the)31 b(tilde-pre\014x)f(is)g(`)p Ft(~-)p +b(If)150 2455 y(the)31 b(tilde-pre\014x)f(is)g(`)p Ft(~-)p Fu(',)h(the)f(v)-5 b(alue)31 b(of)g(the)f(shell)h(v)-5 b(ariable)31 b Ft(OLDPWD)p Fu(,)e(if)h(it)h(is)g(set,)g(is)f -(substituted.)275 1486 y(If)f(the)h(c)m(haracters)h(follo)m(wing)h(the) +(substituted.)275 2596 y(If)f(the)h(c)m(haracters)h(follo)m(wing)h(the) e(tilde)g(in)g(the)g(tilde-pre\014x)g(consist)g(of)g(a)h(n)m(um)m(b)s -(er)d Fr(N)p Fu(,)j(optionally)150 1595 y(pre\014xed)22 +(er)d Fr(N)p Fu(,)j(optionally)150 2706 y(pre\014xed)22 b(b)m(y)h(a)h(`)p Ft(+)p Fu(')f(or)h(a)f(`)p Ft(-)p Fu(',)j(the)d (tilde-pre\014x)g(is)h(replaced)f(with)g(the)h(corresp)s(onding)e -(elemen)m(t)j(from)e(the)150 1705 y(directory)36 b(stac)m(k,)i(as)e(it) +(elemen)m(t)j(from)e(the)150 2815 y(directory)36 b(stac)m(k,)i(as)e(it) g(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)g(the)f Ft(dirs)g Fu(builtin)g(in)m(v)m(ok)m(ed)i(with)e(the)g(c)m(haracters) -150 1814 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g +150 2925 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g (an)f(argumen)m(t)h(\(see)h(Section)f(6.8)h([The)e(Directory)i(Stac)m -(k],)150 1924 y(page)c(97\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans) +(k],)150 3034 y(page)c(97\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans) e(the)h(tilde,)h(consists)f(of)g(a)f(n)m(um)m(b)s(er)f(without)i(a)f -(leading)h(`)p Ft(+)p Fu(')g(or)150 2034 y(`)p Ft(-)p -Fu(',)31 b(`)p Ft(+)p Fu(')f(is)h(assumed.)275 2170 y(If)e(the)i(login) +(leading)h(`)p Ft(+)p Fu(')g(or)150 3144 y(`)p Ft(-)p +Fu(',)31 b(`)p Ft(+)p Fu(')f(is)h(assumed.)275 3285 y(If)e(the)i(login) g(name)g(is)f(in)m(v)-5 b(alid,)31 b(or)g(the)f(tilde)h(expansion)f (fails,)i(the)e(w)m(ord)g(is)h(left)g(unc)m(hanged.)275 -2306 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m +3427 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m (k)m(ed)j(for)d(unquoted)g(tilde-pre\014xes)h(immediately)g(follo)m -(wing)150 2416 y(a)d(`)p Ft(:)p Fu(')g(or)g(the)g(\014rst)f(`)p +(wing)150 3536 y(a)d(`)p Ft(:)p Fu(')g(or)g(the)g(\014rst)f(`)p Ft(=)p Fu('.)54 b(In)34 b(these)h(cases,)i(tilde)e(expansion)g(is)g (also)h(p)s(erformed.)52 b(Consequen)m(tly)-8 b(,)37 -b(one)150 2526 y(ma)m(y)29 b(use)e(\014lenames)h(with)g(tildes)g(in)g +b(one)150 3646 y(ma)m(y)29 b(use)e(\014lenames)h(with)g(tildes)g(in)g (assignmen)m(ts)g(to)h Ft(PATH)p Fu(,)f Ft(MAILPATH)p Fu(,)e(and)h Ft(CDPATH)p Fu(,)g(and)h(the)g(shell)150 -2635 y(assigns)j(the)f(expanded)g(v)-5 b(alue.)275 2771 +3755 y(assigns)j(the)f(expanded)g(v)-5 b(alue.)275 3897 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g(Bash)h(treats)g -(unquoted)e(tilde-pre\014xes:)150 2934 y Ft(~)432 b Fu(The)30 -b(v)-5 b(alue)31 b(of)f Ft($HOME)150 3095 y(~/foo)240 -b($HOME/foo)150 3256 y(~fred/foo)630 3366 y Fu(The)30 +(unquoted)e(tilde-pre\014xes:)150 4067 y Ft(~)432 b Fu(The)30 +b(v)-5 b(alue)31 b(of)f Ft($HOME)150 4233 y(~/foo)240 +b($HOME/foo)150 4399 y(~fred/foo)630 4509 y Fu(The)30 b(sub)s(directory)f Ft(foo)h Fu(of)g(the)h(home)f(directory)h(of)g(the) -f(user)g Ft(fred)150 3527 y(~+/foo)192 b($PWD/foo)150 -3688 y(~-/foo)g(${OLDPWD-'~-'}/foo)150 3850 y(~)p Fj(N)384 +f(user)g Ft(fred)150 4675 y(~+/foo)192 b($PWD/foo)150 +4841 y(~-/foo)g(${OLDPWD-'~-'}/foo)150 5007 y(~)p Fj(N)384 b Fu(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m -(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 4011 y Ft(~+)p +(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 5174 y Ft(~+)p Fj(N)336 b Fu(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m -(ed)h(b)m(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 4172 +(ed)h(b)m(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 5340 y Ft(~-)p Fj(N)336 b Fu(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g -(displa)m(y)m(ed)h(b)m(y)f(`)p Ft(dirs)g(-)p Fj(N)p Fu(')275 -4334 y(Bash)40 b(also)h(p)s(erforms)e(tilde)h(expansion)g(on)h(w)m -(ords)e(satisfying)i(the)f(conditions)h(of)f(v)-5 b(ariable)41 -b(as-)150 4444 y(signmen)m(ts)f(\(see)h(Section)g(3.4)g([Shell)f(P)m -(arameters],)k(page)d(20\))g(when)e(they)h(app)s(ear)f(as)i(argumen)m -(ts)150 4554 y(to)c(simple)f(commands.)57 b(Bash)36 b(do)s(es)f(not)h -(do)g(this,)i(except)f(for)e(the)h Fr(declaration)i Fu(commands)d -(listed)150 4663 y(ab)s(o)m(v)m(e,)d(when)d(in)h Fm(posix)g -Fu(mo)s(de.)150 4864 y Fk(3.5.3)63 b(Shell)41 b(P)m(arameter)f -(Expansion)150 5011 y Fu(The)g(`)p Ft($)p Fu(')h(c)m(haracter)i(in)m -(tro)s(duces)d(parameter)h(expansion,)j(command)d(substitution,)i(or)e -(arithmetic)150 5121 y(expansion.)d(The)22 b(parameter)h(name)f(or)g -(sym)m(b)s(ol)h(to)g(b)s(e)e(expanded)h(ma)m(y)h(b)s(e)f(enclosed)h(in) -f(braces,)i(whic)m(h)150 5230 y(are)31 b(optional)g(but)f(serv)m(e)h -(to)h(protect)f(the)g(v)-5 b(ariable)31 b(to)g(b)s(e)f(expanded)g(from) -g(c)m(haracters)i(immediately)150 5340 y(follo)m(wing)g(it)f(whic)m(h)f -(could)g(b)s(e)g(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)p +(displa)m(y)m(ed)h(b)m(y)f(`)p Ft(dirs)g(-)p Fj(N)p Fu(')p eop end %%Page: 25 31 TeXDict begin 25 30 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)275 299 -y(When)44 b(braces)i(are)f(used,)j(the)e(matc)m(hing)g(ending)f(brace)g -(is)g(the)g(\014rst)g(`)p Ft(})p Fu(')g(not)g(escap)s(ed)h(b)m(y)f(a) -150 408 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,)j(and)c -(not)i(within)e(an)h(em)m(b)s(edded)f(arithmetic)j(expansion,)150 -518 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275 -662 y(The)40 b(basic)i(form)f(of)g(parameter)h(expansion)f(is)h($)p +y(Bash)40 b(also)h(p)s(erforms)e(tilde)h(expansion)g(on)h(w)m(ords)e +(satisfying)i(the)f(conditions)h(of)f(v)-5 b(ariable)41 +b(as-)150 408 y(signmen)m(ts)f(\(see)h(Section)g(3.4)g([Shell)f(P)m +(arameters],)k(page)d(20\))g(when)e(they)h(app)s(ear)f(as)i(argumen)m +(ts)150 518 y(to)c(simple)f(commands.)57 b(Bash)36 b(do)s(es)f(not)h +(do)g(this,)i(except)f(for)e(the)h Fr(declaration)i Fu(commands)d +(listed)150 628 y(ab)s(o)m(v)m(e,)d(when)d(in)h Fm(posix)g +Fu(mo)s(de.)150 863 y Fk(3.5.3)63 b(Shell)41 b(P)m(arameter)f +(Expansion)150 1010 y Fu(The)g(`)p Ft($)p Fu(')h(c)m(haracter)i(in)m +(tro)s(duces)d(parameter)h(expansion,)j(command)d(substitution,)i(or)e +(arithmetic)150 1119 y(expansion.)d(The)22 b(parameter)h(name)f(or)g +(sym)m(b)s(ol)h(to)g(b)s(e)e(expanded)h(ma)m(y)h(b)s(e)f(enclosed)h(in) +f(braces,)i(whic)m(h)150 1229 y(are)31 b(optional)g(but)f(serv)m(e)h +(to)h(protect)f(the)g(v)-5 b(ariable)31 b(to)g(b)s(e)f(expanded)g(from) +g(c)m(haracters)i(immediately)150 1339 y(follo)m(wing)g(it)f(whic)m(h)f +(could)g(b)s(e)g(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)275 +1509 y(When)44 b(braces)i(are)f(used,)j(the)e(matc)m(hing)g(ending)f +(brace)g(is)g(the)g(\014rst)g(`)p Ft(})p Fu(')g(not)g(escap)s(ed)h(b)m +(y)f(a)150 1619 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,) +j(and)c(not)i(within)e(an)h(em)m(b)s(edded)f(arithmetic)j(expansion,) +150 1728 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275 +1899 y(The)40 b(basic)i(form)f(of)g(parameter)h(expansion)f(is)h($)p Fi({)p Fr(parameter)7 b Fi(})p Fu(.)74 b(The)41 b(v)-5 -b(alue)42 b(of)g Fr(parameter)48 b Fu(is)150 772 y(substituted.)43 +b(alue)42 b(of)g Fr(parameter)48 b Fu(is)150 2008 y(substituted.)43 b(The)31 b Fr(parameter)39 b Fu(is)31 b(a)h(shell)f(parameter)h(as)g (describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)g(3.4)h([Shell)150 -881 y(P)m(arameters],)e(page)f(20\))h(or)e(an)g(arra)m(y)h(reference)f +2118 y(P)m(arameters],)e(page)f(20\))h(or)e(an)g(arra)m(y)h(reference)f (\(see)i(Section)f(6.7)g([Arra)m(ys],)g(page)g(95\).)42 -b(The)29 b(braces)150 991 y(are)j(required)g(when)f Fr(parameter)39 -b Fu(is)32 b(a)h(p)s(ositional)f(parameter)h(with)f(more)g(than)g(one)g -(digit,)i(or)e(when)150 1100 y Fr(parameter)37 b Fu(is)31 -b(follo)m(w)m(ed)h(b)m(y)e(a)h(c)m(haracter)h(that)f(is)f(not)h(to)g(b) -s(e)f(in)m(terpreted)g(as)h(part)f(of)h(its)f(name.)275 -1244 y(If)k(the)h(\014rst)f(c)m(haracter)i(of)f Fr(parameter)42 +b(The)29 b(braces)150 2228 y(are)j(required)g(when)f +Fr(parameter)39 b Fu(is)32 b(a)h(p)s(ositional)f(parameter)h(with)f +(more)g(than)g(one)g(digit,)i(or)e(when)150 2337 y Fr(parameter)37 +b Fu(is)31 b(follo)m(w)m(ed)h(b)m(y)e(a)h(c)m(haracter)h(that)f(is)f +(not)h(to)g(b)s(e)f(in)m(terpreted)g(as)h(part)f(of)h(its)f(name.)275 +2508 y(If)k(the)h(\014rst)f(c)m(haracter)i(of)f Fr(parameter)42 b Fu(is)35 b(an)g(exclamation)i(p)s(oin)m(t)e(\(!\),)i(and)d -Fr(parameter)42 b Fu(is)34 b(not)i(a)150 1354 y Fr(nameref)p +Fr(parameter)42 b Fu(is)34 b(not)i(a)150 2617 y Fr(nameref)p Fu(,)c(it)f(in)m(tro)s(duces)h(a)f(lev)m(el)i(of)f(indirection.)44 b(Bash)31 b(uses)g(the)g(v)-5 b(alue)32 b(formed)f(b)m(y)g(expanding)g -(the)150 1463 y(rest)c(of)f Fr(parameter)33 b Fu(as)27 +(the)150 2727 y(rest)c(of)f Fr(parameter)33 b Fu(as)27 b(the)g(new)f Fr(parameter)7 b Fu(;)28 b(this)e(is)g(then)g(expanded)g (and)g(that)h(v)-5 b(alue)27 b(is)f(used)g(in)g(the)150 -1573 y(rest)33 b(of)f(the)h(expansion,)g(rather)g(than)f(the)h +2837 y(rest)33 b(of)f(the)h(expansion,)g(rather)g(than)f(the)h (expansion)f(of)h(the)g(original)g Fr(parameter)p Fu(.)48 -b(This)32 b(is)g(kno)m(wn)150 1683 y(as)42 b Ft(indirect)28 +b(This)32 b(is)g(kno)m(wn)150 2946 y(as)42 b Ft(indirect)28 b(expansion)p Fu(.)71 b(The)41 b(v)-5 b(alue)41 b(is)h(sub)5 b(ject)41 b(to)h(tilde)g(expansion,)i(parameter)e(expansion,)150 -1792 y(command)31 b(substitution,)g(and)g(arithmetic)h(expansion.)43 +3056 y(command)31 b(substitution,)g(and)g(arithmetic)h(expansion.)43 b(If)31 b Fr(parameter)38 b Fu(is)32 b(a)f(nameref,)h(this)f(expands) -150 1902 y(to)d(the)g(name)g(of)f(the)h(v)-5 b(ariable)28 +150 3165 y(to)d(the)g(name)g(of)f(the)h(v)-5 b(ariable)28 b(referenced)g(b)m(y)f Fr(parameter)35 b Fu(instead)27 -b(of)h(p)s(erforming)e(the)i(complete)h(in-)150 2011 +b(of)h(p)s(erforming)e(the)i(complete)h(in-)150 3275 y(direct)e(expansion.)39 b(The)25 b(exceptions)i(to)g(this)f(are)h(the) f(expansions)g(of)g($)p Fi({)p Fu(!)p Fr(pre\014x)6 b Fu(*)p Fi(})28 b Fu(and)d($)p Fi({)p Fu(!)p Fr(name)5 -b Fu([@])p Fi(})150 2121 y Fu(describ)s(ed)28 b(b)s(elo)m(w.)41 +b Fu([@])p Fi(})150 3385 y Fu(describ)s(ed)28 b(b)s(elo)m(w.)41 b(The)28 b(exclamation)j(p)s(oin)m(t)f(m)m(ust)f(immediately)h(follo)m -(w)g(the)g(left)f(brace)h(in)f(order)f(to)150 2231 y(in)m(tro)s(duce)i -(indirection.)275 2375 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m +(w)g(the)g(left)f(brace)h(in)f(order)f(to)150 3494 y(in)m(tro)s(duce)i +(indirection.)275 3665 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m (w,)i Fr(w)m(ord)h Fu(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j -(parameter)e(expansion,)150 2484 y(command)30 b(substitution,)g(and)g -(arithmetic)i(expansion.)275 2628 y(When)h(not)h(p)s(erforming)e +(parameter)e(expansion,)150 3774 y(command)30 b(substitution,)g(and)g +(arithmetic)i(expansion.)275 3945 y(When)h(not)h(p)s(erforming)e (substring)h(expansion,)h(using)g(the)f(form)h(describ)s(ed)e(b)s(elo)m -(w)i(\(e.g.,)i(`)p Ft(:-)p Fu('\),)150 2738 y(Bash)d(tests)h(for)e(a)i +(w)i(\(e.g.,)i(`)p Ft(:-)p Fu('\),)150 4054 y(Bash)d(tests)h(for)e(a)i (parameter)f(that)h(is)e(unset)h(or)g(n)m(ull.)48 b(Omitting)33 -b(the)h(colon)f(results)g(in)g(a)g(test)h(only)150 2847 +b(the)h(colon)f(results)g(in)g(a)g(test)h(only)150 4164 y(for)c(a)i(parameter)f(that)g(is)g(unset.)41 b(Put)31 b(another)f(w)m(a)m(y)-8 b(,)33 b(if)e(the)f(colon)i(is)f(included,)f -(the)h(op)s(erator)g(tests)150 2957 y(for)36 b(b)s(oth)g +(the)h(op)s(erator)g(tests)150 4274 y(for)36 b(b)s(oth)g Fr(parameter)7 b Fu('s)37 b(existence)h(and)e(that)i(its)f(v)-5 b(alue)37 b(is)g(not)f(n)m(ull;)k(if)d(the)g(colon)h(is)e(omitted,)k -(the)150 3066 y(op)s(erator)31 b(tests)g(only)f(for)g(existence.)150 -3240 y Ft(${)p Fj(parameter)p Ft(:)p Fq(\000)p Fj(word)p -Ft(})630 3350 y Fu(If)g Fr(parameter)37 b Fu(is)30 b(unset)g(or)h(n)m +(the)150 4383 y(op)s(erator)31 b(tests)g(only)f(for)g(existence.)150 +4597 y Ft(${)p Fj(parameter)p Ft(:)p Fq(\000)p Fj(word)p +Ft(})630 4706 y Fu(If)g Fr(parameter)37 b Fu(is)30 b(unset)g(or)h(n)m (ull,)f(the)h(expansion)f(of)g Fr(w)m(ord)k Fu(is)c(substituted.)40 -b(Otherwise,)630 3459 y(the)31 b(v)-5 b(alue)30 b(of)h -Fr(parameter)37 b Fu(is)31 b(substituted.)150 3628 y -Ft(${)p Fj(parameter)p Ft(:=)p Fj(word)p Ft(})630 3738 +b(Otherwise,)630 4816 y(the)31 b(v)-5 b(alue)30 b(of)h +Fr(parameter)37 b Fu(is)31 b(substituted.)150 5011 y +Ft(${)p Fj(parameter)p Ft(:=)p Fj(word)p Ft(})630 5121 y Fu(If)i Fr(parameter)40 b Fu(is)33 b(unset)f(or)h(n)m(ull,)h(the)f (expansion)g(of)g Fr(w)m(ord)j Fu(is)d(assigned)g(to)h -Fr(parameter)p Fu(.)630 3847 y(The)c(v)-5 b(alue)32 b(of)f +Fr(parameter)p Fu(.)630 5230 y(The)c(v)-5 b(alue)32 b(of)f Fr(parameter)38 b Fu(is)31 b(then)g(substituted.)42 b(P)m(ositional)33 -b(parameters)e(and)f(sp)s(ecial)630 3957 y(parameters)h(ma)m(y)g(not)f -(b)s(e)g(assigned)h(to)g(in)f(this)g(w)m(a)m(y)-8 b(.)150 -4126 y Ft(${)p Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630 -4235 y Fu(If)26 b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h -(the)f(expansion)g(of)g Fr(w)m(ord)k Fu(\(or)c(a)h(message)g(to)g(that) -f(e\013ect)630 4345 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h -(is)f(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f -(it)h(is)f(not)630 4454 y(in)m(teractiv)m(e,)33 b(exits.)42 -b(Otherwise,)30 b(the)h(v)-5 b(alue)31 b(of)f Fr(parameter)38 -b Fu(is)30 b(substituted.)150 4623 y Ft(${)p Fj(parameter)p -Ft(:+)p Fj(word)p Ft(})630 4733 y Fu(If)35 b Fr(parameter)42 -b Fu(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i -(otherwise)e(the)h(expansion)630 4842 y(of)31 b Fr(w)m(ord)i -Fu(is)e(substituted.)150 5011 y Ft(${)p Fj(parameter)p -Ft(:)p Fj(offset)p Ft(})150 5121 y(${)p Fj(parameter)p -Ft(:)p Fj(offset)p Ft(:)p Fj(lengt)o(h)p Ft(})630 5230 -y Fu(This)f(is)h(referred)f(to)h(as)g(Substring)f(Expansion.)41 -b(It)31 b(expands)f(to)h(up)f(to)h Fr(length)g Fu(c)m(harac-)630 -5340 y(ters)k(of)g(the)h(v)-5 b(alue)35 b(of)g Fr(parameter)42 -b Fu(starting)36 b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)d(b)m(y)h -Fr(o\013set)p Fu(.)55 b(If)p eop end +b(parameters)e(and)f(sp)s(ecial)630 5340 y(parameters)h(ma)m(y)g(not)f +(b)s(e)g(assigned)h(to)g(in)f(this)g(w)m(a)m(y)-8 b(.)p +eop end %%Page: 26 32 TeXDict begin 26 31 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(26)630 299 -y Fr(parameter)32 b Fu(is)26 b(`)p Ft(@)p Fu(',)g(an)f(indexed)g(arra)m -(y)h(subscripted)e(b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p -Ft(*)p Fu(',)g(or)g(an)f(asso)s(ciativ)m(e)j(ar-)630 -408 y(ra)m(y)g(name,)h(the)f(results)g(di\013er)g(as)g(describ)s(ed)f -(b)s(elo)m(w.)40 b(If)28 b Fr(length)g Fu(is)g(omitted,)i(it)f(expands) -630 518 y(to)e(the)g(substring)f(of)g(the)h(v)-5 b(alue)27 -b(of)g Fr(parameter)33 b Fu(starting)28 b(at)f(the)g(c)m(haracter)h(sp) -s(eci\014ed)e(b)m(y)630 628 y Fr(o\013set)37 b Fu(and)d(extending)g(to) -h(the)f(end)g(of)g(the)g(v)-5 b(alue.)53 b Fr(length)34 -b Fu(and)g Fr(o\013set)j Fu(are)e(arithmetic)630 737 -y(expressions)30 b(\(see)h(Section)g(6.5)h([Shell)e(Arithmetic],)i -(page)f(93\).)630 883 y(If)39 b Fr(o\013set)k Fu(ev)-5 -b(aluates)41 b(to)f(a)g(n)m(um)m(b)s(er)f(less)h(than)f(zero,)k(the)d -(v)-5 b(alue)40 b(is)g(used)e(as)i(an)g(o\013set)630 -993 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h(the)g(v)-5 -b(alue)34 b(of)g Fr(parameter)p Fu(.)51 b(If)33 b Fr(length)h -Fu(ev)-5 b(aluates)35 b(to)g(a)630 1103 y(n)m(um)m(b)s(er)23 -b(less)h(than)g(zero,)j(it)d(is)h(in)m(terpreted)f(as)g(an)h(o\013set)g -(in)f(c)m(haracters)h(from)f(the)g(end)g(of)630 1212 -y(the)31 b(v)-5 b(alue)31 b(of)g Fr(parameter)38 b Fu(rather)30 -b(than)h(a)g(n)m(um)m(b)s(er)f(of)g(c)m(haracters,)j(and)d(the)h -(expansion)630 1322 y(is)39 b(the)g(c)m(haracters)i(b)s(et)m(w)m(een)f -Fr(o\013set)i Fu(and)c(that)i(result.)67 b(Note)40 b(that)g(a)g -(negativ)m(e)h(o\013set)630 1431 y(m)m(ust)27 b(b)s(e)g(separated)g -(from)g(the)g(colon)i(b)m(y)e(at)h(least)g(one)f(space)h(to)g(a)m(v)m -(oid)h(b)s(eing)e(confused)630 1541 y(with)j(the)h(`)p -Ft(:-)p Fu(')f(expansion.)630 1687 y(Here)43 b(are)g(some)f(examples)h -(illustrating)g(substring)f(expansion)g(on)g(parameters)h(and)630 -1797 y(subscripted)29 b(arra)m(ys:)630 1943 y Ft($)47 -b(string=01234567890abcdefgh)630 2052 y($)g(echo)g(${string:7})630 -2162 y(7890abcdefgh)630 2271 y($)g(echo)g(${string:7:0})630 -2491 y($)g(echo)g(${string:7:2})630 2600 y(78)630 2710 -y($)g(echo)g(${string:7:-2})630 2819 y(7890abcdef)630 -2929 y($)g(echo)g(${string:)e(-7})630 3039 y(bcdefgh)630 -3148 y($)i(echo)g(${string:)e(-7:0})630 3367 y($)i(echo)g(${string:)e -(-7:2})630 3477 y(bc)630 3587 y($)i(echo)g(${string:)e(-7:-2})630 -3696 y(bcdef)630 3806 y($)i(set)g(--)h(01234567890abcdefgh)630 -3915 y($)f(echo)g(${1:7})630 4025 y(7890abcdefgh)630 -4134 y($)g(echo)g(${1:7:0})630 4354 y($)g(echo)g(${1:7:2})630 -4463 y(78)630 4573 y($)g(echo)g(${1:7:-2})630 4682 y(7890abcdef)630 -4792 y($)g(echo)g(${1:)g(-7})630 4902 y(bcdefgh)630 5011 -y($)g(echo)g(${1:)g(-7:0})630 5230 y($)g(echo)g(${1:)g(-7:2})630 -5340 y(bc)p eop end +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(26)150 299 +y Ft(${)p Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630 408 +y Fu(If)26 b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h(the)f +(expansion)g(of)g Fr(w)m(ord)k Fu(\(or)c(a)h(message)g(to)g(that)f +(e\013ect)630 518 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h(is)f +(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f(it)h +(is)f(not)630 628 y(in)m(teractiv)m(e,)33 b(exits.)42 +b(Otherwise,)30 b(the)h(v)-5 b(alue)31 b(of)f Fr(parameter)38 +b Fu(is)30 b(substituted.)150 800 y Ft(${)p Fj(parameter)p +Ft(:+)p Fj(word)p Ft(})630 909 y Fu(If)35 b Fr(parameter)42 +b Fu(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i +(otherwise)e(the)h(expansion)630 1019 y(of)31 b Fr(w)m(ord)i +Fu(is)e(substituted.)150 1191 y Ft(${)p Fj(parameter)p +Ft(:)p Fj(offset)p Ft(})150 1301 y(${)p Fj(parameter)p +Ft(:)p Fj(offset)p Ft(:)p Fj(lengt)o(h)p Ft(})630 1410 +y Fu(This)f(is)h(referred)f(to)h(as)g(Substring)f(Expansion.)41 +b(It)31 b(expands)f(to)h(up)f(to)h Fr(length)g Fu(c)m(harac-)630 +1520 y(ters)k(of)g(the)h(v)-5 b(alue)35 b(of)g Fr(parameter)42 +b Fu(starting)36 b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)d(b)m(y)h +Fr(o\013set)p Fu(.)55 b(If)630 1630 y Fr(parameter)32 +b Fu(is)26 b(`)p Ft(@)p Fu(',)g(an)f(indexed)g(arra)m(y)h(subscripted)e +(b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p Ft(*)p Fu(',)g(or)g(an)f(asso)s +(ciativ)m(e)j(ar-)630 1739 y(ra)m(y)g(name,)h(the)f(results)g(di\013er) +g(as)g(describ)s(ed)f(b)s(elo)m(w.)40 b(If)28 b Fr(length)g +Fu(is)g(omitted,)i(it)f(expands)630 1849 y(to)e(the)g(substring)f(of)g +(the)h(v)-5 b(alue)27 b(of)g Fr(parameter)33 b Fu(starting)28 +b(at)f(the)g(c)m(haracter)h(sp)s(eci\014ed)e(b)m(y)630 +1958 y Fr(o\013set)37 b Fu(and)d(extending)g(to)h(the)f(end)g(of)g(the) +g(v)-5 b(alue.)53 b Fr(length)34 b Fu(and)g Fr(o\013set)j +Fu(are)e(arithmetic)630 2068 y(expressions)30 b(\(see)h(Section)g(6.5)h +([Shell)e(Arithmetic],)i(page)f(93\).)630 2209 y(If)39 +b Fr(o\013set)k Fu(ev)-5 b(aluates)41 b(to)f(a)g(n)m(um)m(b)s(er)f +(less)h(than)f(zero,)k(the)d(v)-5 b(alue)40 b(is)g(used)e(as)i(an)g +(o\013set)630 2318 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h +(the)g(v)-5 b(alue)34 b(of)g Fr(parameter)p Fu(.)51 b(If)33 +b Fr(length)h Fu(ev)-5 b(aluates)35 b(to)g(a)630 2428 +y(n)m(um)m(b)s(er)23 b(less)h(than)g(zero,)j(it)d(is)h(in)m(terpreted)f +(as)g(an)h(o\013set)g(in)f(c)m(haracters)h(from)f(the)g(end)g(of)630 +2538 y(the)31 b(v)-5 b(alue)31 b(of)g Fr(parameter)38 +b Fu(rather)30 b(than)h(a)g(n)m(um)m(b)s(er)f(of)g(c)m(haracters,)j +(and)d(the)h(expansion)630 2647 y(is)39 b(the)g(c)m(haracters)i(b)s(et) +m(w)m(een)f Fr(o\013set)i Fu(and)c(that)i(result.)67 +b(Note)40 b(that)g(a)g(negativ)m(e)h(o\013set)630 2757 +y(m)m(ust)27 b(b)s(e)g(separated)g(from)g(the)g(colon)i(b)m(y)e(at)h +(least)g(one)f(space)h(to)g(a)m(v)m(oid)h(b)s(eing)e(confused)630 +2866 y(with)j(the)h(`)p Ft(:-)p Fu(')f(expansion.)630 +3007 y(Here)43 b(are)g(some)f(examples)h(illustrating)g(substring)f +(expansion)g(on)g(parameters)h(and)630 3117 y(subscripted)29 +b(arra)m(ys:)630 3258 y Ft($)47 b(string=01234567890abcdefgh)630 +3367 y($)g(echo)g(${string:7})630 3477 y(7890abcdefgh)630 +3587 y($)g(echo)g(${string:7:0})630 3806 y($)g(echo)g(${string:7:2})630 +3915 y(78)630 4025 y($)g(echo)g(${string:7:-2})630 4134 +y(7890abcdef)630 4244 y($)g(echo)g(${string:)e(-7})630 +4354 y(bcdefgh)630 4463 y($)i(echo)g(${string:)e(-7:0})630 +4682 y($)i(echo)g(${string:)e(-7:2})630 4792 y(bc)630 +4902 y($)i(echo)g(${string:)e(-7:-2})630 5011 y(bcdef)630 +5121 y($)i(set)g(--)h(01234567890abcdefgh)630 5230 y($)f(echo)g(${1:7}) +630 5340 y(7890abcdefgh)p eop end %%Page: 27 33 TeXDict begin 27 32 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)630 299 -y Ft($)47 b(echo)g(${1:)g(-7:-2})630 408 y(bcdef)630 -518 y($)g(array[0]=01234567890abcdef)o(gh)630 628 y($)g(echo)g -(${array[0]:7})630 737 y(7890abcdefgh)630 847 y($)g(echo)g -(${array[0]:7:0})630 1066 y($)g(echo)g(${array[0]:7:2})630 -1176 y(78)630 1285 y($)g(echo)g(${array[0]:7:-2})630 -1395 y(7890abcdef)630 1504 y($)g(echo)g(${array[0]:)e(-7})630 -1614 y(bcdefgh)630 1724 y($)i(echo)g(${array[0]:)e(-7:0})630 -1943 y($)i(echo)g(${array[0]:)e(-7:2})630 2052 y(bc)630 -2162 y($)i(echo)g(${array[0]:)e(-7:-2})630 2271 y(bcdef)630 -2436 y Fu(If)22 b Fr(parameter)30 b Fu(is)23 b(`)p Ft(@)p +y Ft($)47 b(echo)g(${1:7:0})630 518 y($)g(echo)g(${1:7:2})630 +628 y(78)630 737 y($)g(echo)g(${1:7:-2})630 847 y(7890abcdef)630 +956 y($)g(echo)g(${1:)g(-7})630 1066 y(bcdefgh)630 1176 +y($)g(echo)g(${1:)g(-7:0})630 1395 y($)g(echo)g(${1:)g(-7:2})630 +1504 y(bc)630 1614 y($)g(echo)g(${1:)g(-7:-2})630 1724 +y(bcdef)630 1833 y($)g(array[0]=01234567890abcdef)o(gh)630 +1943 y($)g(echo)g(${array[0]:7})630 2052 y(7890abcdefgh)630 +2162 y($)g(echo)g(${array[0]:7:0})630 2381 y($)g(echo)g +(${array[0]:7:2})630 2491 y(78)630 2600 y($)g(echo)g(${array[0]:7:-2}) +630 2710 y(7890abcdef)630 2819 y($)g(echo)g(${array[0]:)e(-7})630 +2929 y(bcdefgh)630 3039 y($)i(echo)g(${array[0]:)e(-7:0})630 +3258 y($)i(echo)g(${array[0]:)e(-7:2})630 3367 y(bc)630 +3477 y($)i(echo)g(${array[0]:)e(-7:-2})630 3587 y(bcdef)630 +3733 y Fu(If)22 b Fr(parameter)30 b Fu(is)23 b(`)p Ft(@)p Fu(',)i(the)e(result)g(is)g Fr(length)h Fu(p)s(ositional)f(parameters)h -(b)s(eginning)e(at)i Fr(o\013set)p Fu(.)630 2545 y(A)36 +(b)s(eginning)e(at)i Fr(o\013set)p Fu(.)630 3842 y(A)36 b(negativ)m(e)j Fr(o\013set)g Fu(is)e(tak)m(en)g(relativ)m(e)i(to)e (one)g(greater)g(than)f(the)h(greatest)h(p)s(ositional)630 -2655 y(parameter,)29 b(so)f(an)g(o\013set)h(of)f(-1)g(ev)-5 +3952 y(parameter,)29 b(so)f(an)g(o\013set)h(of)f(-1)g(ev)-5 b(aluates)30 b(to)e(the)g(last)h(p)s(ositional)g(parameter.)40 -b(It)28 b(is)g(an)630 2765 y(expansion)i(error)g(if)h +b(It)28 b(is)g(an)630 4061 y(expansion)i(error)g(if)h Fr(length)f Fu(ev)-5 b(aluates)32 b(to)f(a)g(n)m(um)m(b)s(er)e(less)i -(than)f(zero.)630 2929 y(The)i(follo)m(wing)i(examples)f(illustrate)h +(than)f(zero.)630 4208 y(The)i(follo)m(wing)i(examples)f(illustrate)h (substring)d(expansion)i(using)f(p)s(ositional)h(param-)630 -3039 y(eters:)630 3203 y Ft($)47 b(set)g(--)h(1)f(2)g(3)h(4)f(5)h(6)f -(7)h(8)f(9)h(0)f(a)h(b)f(c)g(d)h(e)f(f)h(g)f(h)630 3313 -y($)g(echo)g(${@:7})630 3422 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h -(g)f(h)630 3532 y($)g(echo)g(${@:7:0})630 3751 y($)g(echo)g(${@:7:2}) -630 3861 y(7)g(8)630 3970 y($)g(echo)g(${@:7:-2})630 -4080 y(bash:)f(-2:)h(substring)f(expression)f(<)i(0)630 -4189 y($)g(echo)g(${@:)g(-7:2})630 4299 y(b)g(c)630 4408 -y($)g(echo)g(${@:0})630 4518 y(./bash)f(1)i(2)f(3)g(4)h(5)f(6)h(7)f(8)h -(9)f(0)h(a)f(b)h(c)f(d)g(e)h(f)f(g)h(h)630 4628 y($)f(echo)g(${@:0:2}) -630 4737 y(./bash)f(1)630 4847 y($)h(echo)g(${@:)g(-7:0})630 -5121 y Fu(If)36 b Fr(parameter)43 b Fu(is)36 b(an)g(indexed)g(arra)m(y) -g(name)g(subscripted)f(b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p -Ft(*)p Fu(',)h(the)e(result)g(is)630 5230 y(the)j Fr(length)g -Fu(mem)m(b)s(ers)f(of)h(the)f(arra)m(y)i(b)s(eginning)d(with)i -Ft(${)p Fj(parameter)p Ft([)p Fj(offset)p Ft(]})p Fu(.)60 -b(A)630 5340 y(negativ)m(e)33 b Fr(o\013set)g Fu(is)e(tak)m(en)h -(relativ)m(e)g(to)g(one)f(greater)g(than)g(the)f(maxim)m(um)h(index)f -(of)h(the)p eop end +4317 y(eters:)630 4463 y Ft($)47 b(set)g(--)h(1)f(2)g(3)h(4)f(5)h(6)f +(7)h(8)f(9)h(0)f(a)h(b)f(c)g(d)h(e)f(f)h(g)f(h)630 4573 +y($)g(echo)g(${@:7})630 4682 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h +(g)f(h)630 4792 y($)g(echo)g(${@:7:0})630 5011 y($)g(echo)g(${@:7:2}) +630 5121 y(7)g(8)630 5230 y($)g(echo)g(${@:7:-2})630 +5340 y(bash:)f(-2:)h(substring)f(expression)f(<)i(0)p +eop end %%Page: 28 34 TeXDict begin 28 33 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(28)630 299 -y(sp)s(eci\014ed)38 b(arra)m(y)-8 b(.)65 b(It)38 b(is)g(an)h(expansion) -f(error)f(if)i Fr(length)f Fu(ev)-5 b(aluates)40 b(to)f(a)g(n)m(um)m(b) -s(er)e(less)630 408 y(than)30 b(zero.)630 562 y(These)23 -b(examples)i(sho)m(w)e(ho)m(w)h(y)m(ou)g(can)g(use)f(substring)f -(expansion)i(with)f(indexed)g(arra)m(ys:)630 715 y Ft($)47 -b(array=\(0)f(1)h(2)h(3)f(4)h(5)f(6)h(7)f(8)h(9)f(0)h(a)f(b)g(c)h(d)f -(e)h(f)f(g)h(h\))630 825 y($)f(echo)g(${array[@]:7})630 -934 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h(g)f(h)630 -1044 y($)g(echo)g(${array[@]:7:2})630 1154 y(7)g(8)630 -1263 y($)g(echo)g(${array[@]:)e(-7:2})630 1373 y(b)i(c)630 -1482 y($)g(echo)g(${array[@]:)e(-7:-2})630 1592 y(bash:)h(-2:)h -(substring)f(expression)f(<)i(0)630 1702 y($)g(echo)g(${array[@]:0})630 -1811 y(0)g(1)h(2)f(3)h(4)f(5)h(6)f(7)h(8)f(9)h(0)f(a)g(b)h(c)f(d)h(e)f -(f)h(g)f(h)630 1921 y($)g(echo)g(${array[@]:0:2})630 -2030 y(0)g(1)630 2140 y($)g(echo)g(${array[@]:)e(-7:0})630 -2403 y Fu(Substring)25 b(expansion)g(applied)h(to)h(an)f(asso)s(ciativ) -m(e)j(arra)m(y)d(pro)s(duces)f(unde\014ned)f(results.)630 -2556 y(Substring)32 b(indexing)i(is)f(zero-based)i(unless)e(the)h(p)s -(ositional)g(parameters)g(are)g(used,)g(in)630 2666 y(whic)m(h)29 +y Ft($)47 b(echo)g(${@:)g(-7:2})630 408 y(b)g(c)630 518 +y($)g(echo)g(${@:0})630 628 y(./bash)f(1)i(2)f(3)g(4)h(5)f(6)h(7)f(8)h +(9)f(0)h(a)f(b)h(c)f(d)g(e)h(f)f(g)h(h)630 737 y($)f(echo)g(${@:0:2}) +630 847 y(./bash)f(1)630 956 y($)h(echo)g(${@:)g(-7:0})630 +1200 y Fu(If)36 b Fr(parameter)43 b Fu(is)36 b(an)g(indexed)g(arra)m(y) +g(name)g(subscripted)f(b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p +Ft(*)p Fu(',)h(the)e(result)g(is)630 1310 y(the)j Fr(length)g +Fu(mem)m(b)s(ers)f(of)h(the)f(arra)m(y)i(b)s(eginning)d(with)i +Ft(${)p Fj(parameter)p Ft([)p Fj(offset)p Ft(]})p Fu(.)60 +b(A)630 1419 y(negativ)m(e)33 b Fr(o\013set)g Fu(is)e(tak)m(en)h +(relativ)m(e)g(to)g(one)f(greater)g(than)g(the)f(maxim)m(um)h(index)f +(of)h(the)630 1529 y(sp)s(eci\014ed)38 b(arra)m(y)-8 +b(.)65 b(It)38 b(is)g(an)h(expansion)f(error)f(if)i Fr(length)f +Fu(ev)-5 b(aluates)40 b(to)f(a)g(n)m(um)m(b)s(er)e(less)630 +1638 y(than)30 b(zero.)630 1772 y(These)23 b(examples)i(sho)m(w)e(ho)m +(w)h(y)m(ou)g(can)g(use)f(substring)f(expansion)i(with)f(indexed)g +(arra)m(ys:)630 1906 y Ft($)47 b(array=\(0)f(1)h(2)h(3)f(4)h(5)f(6)h(7) +f(8)h(9)f(0)h(a)f(b)g(c)h(d)f(e)h(f)f(g)h(h\))630 2016 +y($)f(echo)g(${array[@]:7})630 2125 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h +(e)f(f)h(g)f(h)630 2235 y($)g(echo)g(${array[@]:7:2})630 +2345 y(7)g(8)630 2454 y($)g(echo)g(${array[@]:)e(-7:2})630 +2564 y(b)i(c)630 2673 y($)g(echo)g(${array[@]:)e(-7:-2})630 +2783 y(bash:)h(-2:)h(substring)f(expression)f(<)i(0)630 +2892 y($)g(echo)g(${array[@]:0})630 3002 y(0)g(1)h(2)f(3)h(4)f(5)h(6)f +(7)h(8)f(9)h(0)f(a)g(b)h(c)f(d)h(e)f(f)h(g)f(h)630 3112 +y($)g(echo)g(${array[@]:0:2})630 3221 y(0)g(1)630 3331 +y($)g(echo)g(${array[@]:)e(-7:0})630 3574 y Fu(Substring)25 +b(expansion)g(applied)h(to)h(an)f(asso)s(ciativ)m(e)j(arra)m(y)d(pro)s +(duces)f(unde\014ned)f(results.)630 3708 y(Substring)32 +b(indexing)i(is)f(zero-based)i(unless)e(the)h(p)s(ositional)g +(parameters)g(are)g(used,)g(in)630 3818 y(whic)m(h)29 b(case)i(the)f(indexing)g(starts)g(at)g(1)g(b)m(y)g(default.)41 b(If)29 b Fr(o\013set)k Fu(is)d(0,)g(and)f(the)h(p)s(ositional)630 -2776 y(parameters)h(are)f(used,)g Ft($@)g Fu(is)g(pre\014xed)g(to)h -(the)f(list.)150 2973 y Ft(${!)p Fj(prefix)p Ft(*})150 -3082 y(${!)p Fj(prefix)p Ft(@})630 3192 y Fu(Expands)24 +3927 y(parameters)h(are)f(used,)g Ft($@)g Fu(is)g(pre\014xed)g(to)h +(the)f(list.)150 4086 y Ft(${!)p Fj(prefix)p Ft(*})150 +4195 y(${!)p Fj(prefix)p Ft(@})630 4305 y Fu(Expands)24 b(to)h(the)g(names)g(of)g(v)-5 b(ariables)26 b(whose)f(names)f(b)s (egin)h(with)f Fr(pre\014x)p Fu(,)i(separated)f(b)m(y)630 -3302 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Ft(IFS)f +4415 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Ft(IFS)f Fu(sp)s(ecial)i(v)-5 b(ariable.)41 b(When)29 b(`)p Ft(@)p -Fu(')g(is)g(used)f(and)h(the)g(expan-)630 3411 y(sion)35 +Fu(')g(is)g(used)f(and)h(the)g(expan-)630 4524 y(sion)35 b(app)s(ears)g(within)f(double)h(quotes,)i(eac)m(h)f(v)-5 b(ariable)36 b(name)f(expands)g(to)g(a)h(separate)630 -3521 y(w)m(ord.)150 3718 y Ft(${!)p Fj(name)p Ft([@]})150 -3828 y(${!)p Fj(name)p Ft([*]})630 3937 y Fu(If)26 b +4634 y(w)m(ord.)150 4792 y Ft(${!)p Fj(name)p Ft([@]})150 +4902 y(${!)p Fj(name)p Ft([*]})630 5011 y Fu(If)26 b Fr(name)32 b Fu(is)27 b(an)f(arra)m(y)h(v)-5 b(ariable,)29 b(expands)d(to)h(the)g(list)g(of)g(arra)m(y)g(indices)g(\(k)m(eys\))h -(assigned)630 4047 y(in)c Fr(name)p Fu(.)39 b(If)24 b +(assigned)630 5121 y(in)c Fr(name)p Fu(.)39 b(If)24 b Fr(name)30 b Fu(is)24 b(not)h(an)f(arra)m(y)-8 b(,)27 b(expands)c(to)j(0)f(if)f Fr(name)30 b Fu(is)24 b(set)h(and)f(n)m(ull)g -(otherwise.)630 4156 y(When)39 b(`)p Ft(@)p Fu(')h(is)f(used)g(and)f +(otherwise.)630 5230 y(When)39 b(`)p Ft(@)p Fu(')h(is)f(used)g(and)f (the)i(expansion)f(app)s(ears)g(within)f(double)h(quotes,)k(eac)m(h)d -(k)m(ey)630 4266 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150 -4463 y Ft(${#)p Fj(parameter)p Ft(})630 4573 y Fu(The)40 -b(length)g(in)g(c)m(haracters)i(of)e(the)h(expanded)e(v)-5 -b(alue)41 b(of)f Fr(parameter)47 b Fu(is)40 b(substituted.)630 -4682 y(If)i Fr(parameter)50 b Fu(is)43 b(`)p Ft(*)p Fu(')g(or)g(`)p -Ft(@)p Fu(',)k(the)c(v)-5 b(alue)43 b(substituted)f(is)h(the)g(n)m(um)m -(b)s(er)f(of)h(p)s(ositional)630 4792 y(parameters.)i(If)32 -b Fr(parameter)38 b Fu(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m -(y)g(`)p Ft(*)p Fu(')h(or)g(`)p Ft(@)p Fu(',)g(the)g(v)-5 -b(alue)630 4902 y(substituted)30 b(is)h(the)g(n)m(um)m(b)s(er)e(of)i -(elemen)m(ts)i(in)d(the)h(arra)m(y)-8 b(.)43 b(If)30 -b Fr(parameter)38 b Fu(is)31 b(an)f(indexed)630 5011 -y(arra)m(y)37 b(name)g(subscripted)f(b)m(y)h(a)g(negativ)m(e)i(n)m(um)m -(b)s(er,)f(that)f(n)m(um)m(b)s(er)f(is)g(in)m(terpreted)i(as)630 -5121 y(relativ)m(e)47 b(to)g(one)e(greater)i(than)e(the)h(maxim)m(um)f -(index)g(of)g Fr(parameter)p Fu(,)50 b(so)c(negativ)m(e)630 -5230 y(indices)30 b(coun)m(t)h(bac)m(k)g(from)f(the)h(end)e(of)i(the)f -(arra)m(y)-8 b(,)32 b(and)e(an)g(index)g(of)g(-1)h(references)g(the)630 -5340 y(last)g(elemen)m(t.)p eop end +(k)m(ey)630 5340 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)p +eop end %%Page: 29 35 TeXDict begin 29 34 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)150 299 -y Ft(${)p Fj(parameter)p Ft(#)p Fj(word)p Ft(})150 408 -y(${)p Fj(parameter)p Ft(##)p Fj(word)p Ft(})630 518 -y Fu(The)43 b Fr(w)m(ord)k Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h -(pattern)g(and)f(matc)m(hed)i(according)f(to)h(the)630 -628 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)g -(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f(33\).)46 -b(If)32 b(the)630 737 y(pattern)37 b(matc)m(hes)h(the)f(b)s(eginning)f -(of)h(the)g(expanded)f(v)-5 b(alue)38 b(of)f Fr(parameter)p -Fu(,)i(then)e(the)630 847 y(result)f(of)h(the)f(expansion)h(is)f(the)h -(expanded)e(v)-5 b(alue)37 b(of)g Fr(parameter)43 b Fu(with)36 -b(the)h(shortest)630 956 y(matc)m(hing)31 b(pattern)e(\(the)h(`)p -Ft(#)p Fu(')g(case\))h(or)e(the)h(longest)h(matc)m(hing)f(pattern)g -(\(the)g(`)p Ft(##)p Fu(')g(case\))630 1066 y(deleted.)49 -b(If)32 b Fr(parameter)40 b Fu(is)33 b(`)p Ft(@)p Fu(')g(or)g(`)p +y Ft(${#)p Fj(parameter)p Ft(})630 408 y Fu(The)40 b(length)g(in)g(c)m +(haracters)i(of)e(the)h(expanded)e(v)-5 b(alue)41 b(of)f +Fr(parameter)47 b Fu(is)40 b(substituted.)630 518 y(If)i +Fr(parameter)50 b Fu(is)43 b(`)p Ft(*)p Fu(')g(or)g(`)p +Ft(@)p Fu(',)k(the)c(v)-5 b(alue)43 b(substituted)f(is)h(the)g(n)m(um)m +(b)s(er)f(of)h(p)s(ositional)630 628 y(parameters.)i(If)32 +b Fr(parameter)38 b Fu(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m +(y)g(`)p Ft(*)p Fu(')h(or)g(`)p Ft(@)p Fu(',)g(the)g(v)-5 +b(alue)630 737 y(substituted)30 b(is)h(the)g(n)m(um)m(b)s(er)e(of)i +(elemen)m(ts)i(in)d(the)h(arra)m(y)-8 b(.)43 b(If)30 +b Fr(parameter)38 b Fu(is)31 b(an)f(indexed)630 847 y(arra)m(y)37 +b(name)g(subscripted)f(b)m(y)h(a)g(negativ)m(e)i(n)m(um)m(b)s(er,)f +(that)f(n)m(um)m(b)s(er)f(is)g(in)m(terpreted)i(as)630 +956 y(relativ)m(e)47 b(to)g(one)e(greater)i(than)e(the)h(maxim)m(um)f +(index)g(of)g Fr(parameter)p Fu(,)50 b(so)c(negativ)m(e)630 +1066 y(indices)30 b(coun)m(t)h(bac)m(k)g(from)f(the)h(end)e(of)i(the)f +(arra)m(y)-8 b(,)32 b(and)e(an)g(index)g(of)g(-1)h(references)g(the)630 +1176 y(last)g(elemen)m(t.)150 1322 y Ft(${)p Fj(parameter)p +Ft(#)p Fj(word)p Ft(})150 1431 y(${)p Fj(parameter)p +Ft(##)p Fj(word)p Ft(})630 1541 y Fu(The)43 b Fr(w)m(ord)k +Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h(pattern)g(and)f(matc)m(hed)i +(according)f(to)h(the)630 1650 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w) +h(\(see)h(Section)g(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f +(33\).)46 b(If)32 b(the)630 1760 y(pattern)37 b(matc)m(hes)h(the)f(b)s +(eginning)f(of)h(the)g(expanded)f(v)-5 b(alue)38 b(of)f +Fr(parameter)p Fu(,)i(then)e(the)630 1870 y(result)f(of)h(the)f +(expansion)h(is)f(the)h(expanded)e(v)-5 b(alue)37 b(of)g +Fr(parameter)43 b Fu(with)36 b(the)h(shortest)630 1979 +y(matc)m(hing)31 b(pattern)e(\(the)h(`)p Ft(#)p Fu(')g(case\))h(or)e +(the)h(longest)h(matc)m(hing)f(pattern)g(\(the)g(`)p +Ft(##)p Fu(')g(case\))630 2089 y(deleted.)49 b(If)32 +b Fr(parameter)40 b Fu(is)33 b(`)p Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)h(the)f(pattern)g(remo)m(v)-5 b(al)34 b(op)s(eration)g(is) -f(applied)f(to)630 1176 y(eac)m(h)38 b(p)s(ositional)g(parameter)g(in)f +f(applied)f(to)630 2198 y(eac)m(h)38 b(p)s(ositional)g(parameter)g(in)f (turn,)h(and)e(the)h(expansion)g(is)h(the)f(resultan)m(t)h(list.)61 -b(If)630 1285 y Fr(parameter)38 b Fu(is)32 b(an)f(arra)m(y)h(v)-5 +b(If)630 2308 y Fr(parameter)38 b Fu(is)32 b(an)f(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h(`)p Ft(@)p Fu(')g(or)h(`)p -Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5 b(al)630 1395 +Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5 b(al)630 2418 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m(b)s(er)e(of)h (the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g(is)630 -1504 y(the)h(resultan)m(t)g(list.)150 1943 y Ft(${)p -Fj(parameter)p Ft(\045)p Fj(word)p Ft(})150 2052 y(${)p -Fj(parameter)p Ft(\045\045)p Fj(word)p Ft(})630 2162 +2527 y(the)h(resultan)m(t)g(list.)150 2673 y Ft(${)p +Fj(parameter)p Ft(\045)p Fj(word)p Ft(})150 2783 y(${)p +Fj(parameter)p Ft(\045\045)p Fj(word)p Ft(})630 2892 y Fu(The)43 b Fr(w)m(ord)k Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h (pattern)g(and)f(matc)m(hed)i(according)f(to)h(the)630 -2271 y(rules)f(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)g(3.5.8.1)h +3002 y(rules)f(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)g(3.5.8.1)h ([P)m(attern)f(Matc)m(hing],)51 b(page)45 b(33\).)85 -b(If)630 2381 y(the)43 b(pattern)g(matc)m(hes)h(a)g(trailing)g(p)s +b(If)630 3112 y(the)43 b(pattern)g(matc)m(hes)h(a)g(trailing)g(p)s (ortion)e(of)h(the)g(expanded)g(v)-5 b(alue)43 b(of)g -Fr(parameter)p Fu(,)630 2491 y(then)c(the)g(result)g(of)h(the)f +Fr(parameter)p Fu(,)630 3221 y(then)c(the)g(result)g(of)h(the)f (expansion)g(is)h(the)f(v)-5 b(alue)40 b(of)f Fr(parameter)46 -b Fu(with)39 b(the)h(shortest)630 2600 y(matc)m(hing)31 +b Fu(with)39 b(the)h(shortest)630 3331 y(matc)m(hing)31 b(pattern)e(\(the)h(`)p Ft(\045)p Fu(')g(case\))h(or)e(the)h(longest)h (matc)m(hing)f(pattern)g(\(the)g(`)p Ft(\045\045)p Fu(')g(case\))630 -2710 y(deleted.)49 b(If)32 b Fr(parameter)40 b Fu(is)33 +3440 y(deleted.)49 b(If)32 b Fr(parameter)40 b Fu(is)33 b(`)p Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)h(the)f(pattern)g(remo)m(v)-5 -b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 2819 y(eac)m(h)38 +b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 3550 y(eac)m(h)38 b(p)s(ositional)g(parameter)g(in)f(turn,)h(and)e(the)h(expansion)g(is)h -(the)f(resultan)m(t)h(list.)61 b(If)630 2929 y Fr(parameter)38 +(the)f(resultan)m(t)h(list.)61 b(If)630 3660 y Fr(parameter)38 b Fu(is)32 b(an)f(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h (`)p Ft(@)p Fu(')g(or)h(`)p Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5 -b(al)630 3039 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m +b(al)630 3769 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m (b)s(er)e(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g -(is)630 3148 y(the)h(resultan)m(t)g(list.)150 3587 y +(is)630 3879 y(the)h(resultan)m(t)g(list.)150 4025 y Ft(${)p Fj(parameter)p Ft(/)p Fj(pattern)p Ft(/)p Fj(stri)o(ng)p -Ft(})630 3696 y Fu(The)37 b Fr(pattern)g Fu(is)g(expanded)g(to)h(pro)s +Ft(})630 4134 y Fu(The)37 b Fr(pattern)g Fu(is)g(expanded)g(to)h(pro)s (duce)e(a)h(pattern)g(just)g(as)h(in)e(\014lename)i(expansion.)630 -3806 y Fr(P)m(arameter)46 b Fu(is)38 b(expanded)f(and)g(the)i(longest)g +4244 y Fr(P)m(arameter)46 b Fu(is)38 b(expanded)f(and)g(the)i(longest)g (matc)m(h)g(of)f Fr(pattern)g Fu(against)h(its)f(v)-5 -b(alue)39 b(is)630 3915 y(replaced)31 b(with)g Fr(string)p +b(alue)39 b(is)630 4354 y(replaced)31 b(with)g Fr(string)p Fu(.)42 b(The)30 b(matc)m(h)h(is)g(p)s(erformed)f(according)h(to)h(the) -f(rules)f(describ)s(ed)630 4025 y(b)s(elo)m(w)f(\(see)h(Section)g +f(rules)f(describ)s(ed)630 4463 y(b)s(elo)m(w)f(\(see)h(Section)g (3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f(33\).)41 -b(If)29 b Fr(pattern)g Fu(b)s(egins)f(with)630 4134 y(`)p +b(If)29 b Fr(pattern)g Fu(b)s(egins)f(with)630 4573 y(`)p Ft(/)p Fu(',)43 b(all)e(matc)m(hes)g(of)f Fr(pattern)g Fu(are)h(replaced)f(with)g Fr(string)p Fu(.)69 b(Normally)41 -b(only)f(the)h(\014rst)630 4244 y(matc)m(h)28 b(is)f(replaced.)40 +b(only)f(the)h(\014rst)630 4682 y(matc)m(h)28 b(is)f(replaced.)40 b(If)26 b Fr(pattern)h Fu(b)s(egins)f(with)h(`)p Ft(#)p Fu(',)h(it)f(m)m(ust)g(matc)m(h)h(at)g(the)f(b)s(eginning)f(of)630 -4354 y(the)32 b(expanded)f(v)-5 b(alue)32 b(of)g Fr(parameter)p +4792 y(the)32 b(expanded)f(v)-5 b(alue)32 b(of)g Fr(parameter)p Fu(.)45 b(If)31 b Fr(pattern)h Fu(b)s(egins)f(with)g(`)p -Ft(\045)p Fu(',)i(it)f(m)m(ust)g(matc)m(h)g(at)630 4463 +Ft(\045)p Fu(',)i(it)f(m)m(ust)g(matc)m(h)g(at)630 4902 y(the)24 b(end)f(of)h(the)h(expanded)e(v)-5 b(alue)24 b(of)g Fr(parameter)p Fu(.)39 b(If)24 b Fr(string)31 b Fu(is)24 b(n)m(ull,)i(matc)m(hes)f(of)f Fr(pattern)630 -4573 y Fu(are)36 b(deleted)g(and)f(the)g Ft(/)g Fu(follo)m(wing)i +5011 y Fu(are)36 b(deleted)g(and)f(the)g Ft(/)g Fu(follo)m(wing)i Fr(pattern)e Fu(ma)m(y)h(b)s(e)f(omitted.)57 b(If)34 -b(the)i Ft(nocasematch)630 4682 y Fu(shell)31 b(option)h(\(see)g(the)g +b(the)i Ft(nocasematch)630 5121 y Fu(shell)31 b(option)h(\(see)g(the)g (description)f(of)g Ft(shopt)f Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)f -(Builtin],)630 4792 y(page)45 b(66\))h(is)f(enabled,)j(the)d(matc)m(h)g +(Builtin],)630 5230 y(page)45 b(66\))h(is)f(enabled,)j(the)d(matc)m(h)g (is)g(p)s(erformed)e(without)i(regard)f(to)h(the)g(case)h(of)630 -4902 y(alphab)s(etic)36 b(c)m(haracters.)56 b(If)34 b +5340 y(alphab)s(etic)36 b(c)m(haracters.)56 b(If)34 b Fr(parameter)42 b Fu(is)36 b(`)p Ft(@)p Fu(')f(or)g(`)p -Ft(*)p Fu(',)h(the)g(substitution)e(op)s(eration)i(is)630 -5011 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e -(turn,)h(and)f(the)h(expansion)g(is)f(the)h(resultan)m(t)630 -5121 y(list.)38 b(If)21 b Fr(parameter)28 b Fu(is)22 -b(an)f(arra)m(y)h(v)-5 b(ariable)22 b(subscripted)e(with)h(`)p -Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)j(the)d(substitution)630 -5230 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m(b)s(er)e -(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g(is)630 -5340 y(the)h(resultan)m(t)g(list.)p eop end +Ft(*)p Fu(',)h(the)g(substitution)e(op)s(eration)i(is)p +eop end %%Page: 30 36 TeXDict begin 30 35 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(30)150 299 -y Ft(${)p Fj(parameter)p Ft(^)p Fj(pattern)p Ft(})150 -408 y(${)p Fj(parameter)p Ft(^^)p Fj(pattern)p Ft(})150 -518 y(${)p Fj(parameter)p Ft(,)p Fj(pattern)p Ft(})150 -628 y(${)p Fj(parameter)p Ft(,,)p Fj(pattern)p Ft(})630 -737 y Fu(This)36 b(expansion)g(mo)s(di\014es)g(the)g(case)i(of)f -(alphab)s(etic)g(c)m(haracters)h(in)e Fr(parameter)p -Fu(.)59 b(The)630 847 y Fr(pattern)33 b Fu(is)g(expanded)e(to)j(pro)s -(duce)d(a)j(pattern)e(just)g(as)h(in)g(\014lename)g(expansion.)47 -b(Eac)m(h)630 956 y(c)m(haracter)32 b(in)e(the)g(expanded)f(v)-5 -b(alue)31 b(of)f Fr(parameter)37 b Fu(is)30 b(tested)h(against)h -Fr(pattern)p Fu(,)e(and,)g(if)630 1066 y(it)j(matc)m(hes)h(the)g -(pattern,)f(its)h(case)g(is)f(con)m(v)m(erted.)49 b(The)33 -b(pattern)g(should)f(not)h(attempt)630 1176 y(to)f(matc)m(h)g(more)f -(than)g(one)g(c)m(haracter.)44 b(The)30 b(`)p Ft(^)p -Fu(')i(op)s(erator)f(con)m(v)m(erts)h(lo)m(w)m(ercase)i(letters)630 -1285 y(matc)m(hing)i Fr(pattern)f Fu(to)h(upp)s(ercase;)h(the)e(`)p -Ft(,)p Fu(')g(op)s(erator)g(con)m(v)m(erts)i(matc)m(hing)f(upp)s -(ercase)630 1395 y(letters)e(to)f(lo)m(w)m(ercase.)50 -b(The)32 b(`)p Ft(^^)p Fu(')h(and)f(`)p Ft(,,)p Fu(')g(expansions)h -(con)m(v)m(ert)h(eac)m(h)g(matc)m(hed)f(c)m(har-)630 -1504 y(acter)c(in)f(the)h(expanded)e(v)-5 b(alue;)30 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(30)630 299 +y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e(turn,)h +(and)f(the)h(expansion)g(is)f(the)h(resultan)m(t)630 +408 y(list.)38 b(If)21 b Fr(parameter)28 b Fu(is)22 b(an)f(arra)m(y)h +(v)-5 b(ariable)22 b(subscripted)e(with)h(`)p Ft(@)p +Fu(')g(or)g(`)p Ft(*)p Fu(',)j(the)d(substitution)630 +518 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m(b)s(er)e +(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g(is)630 +628 y(the)h(resultan)m(t)g(list.)150 792 y Ft(${)p Fj(parameter)p +Ft(^)p Fj(pattern)p Ft(})150 902 y(${)p Fj(parameter)p +Ft(^^)p Fj(pattern)p Ft(})150 1011 y(${)p Fj(parameter)p +Ft(,)p Fj(pattern)p Ft(})150 1121 y(${)p Fj(parameter)p +Ft(,,)p Fj(pattern)p Ft(})630 1230 y Fu(This)36 b(expansion)g(mo)s +(di\014es)g(the)g(case)i(of)f(alphab)s(etic)g(c)m(haracters)h(in)e +Fr(parameter)p Fu(.)59 b(The)630 1340 y Fr(pattern)33 +b Fu(is)g(expanded)e(to)j(pro)s(duce)d(a)j(pattern)e(just)g(as)h(in)g +(\014lename)g(expansion.)47 b(Eac)m(h)630 1450 y(c)m(haracter)32 +b(in)e(the)g(expanded)f(v)-5 b(alue)31 b(of)f Fr(parameter)37 +b Fu(is)30 b(tested)h(against)h Fr(pattern)p Fu(,)e(and,)g(if)630 +1559 y(it)j(matc)m(hes)h(the)g(pattern,)f(its)h(case)g(is)f(con)m(v)m +(erted.)49 b(The)33 b(pattern)g(should)f(not)h(attempt)630 +1669 y(to)f(matc)m(h)g(more)f(than)g(one)g(c)m(haracter.)44 +b(The)30 b(`)p Ft(^)p Fu(')i(op)s(erator)f(con)m(v)m(erts)h(lo)m(w)m +(ercase)i(letters)630 1778 y(matc)m(hing)i Fr(pattern)f +Fu(to)h(upp)s(ercase;)h(the)e(`)p Ft(,)p Fu(')g(op)s(erator)g(con)m(v)m +(erts)i(matc)m(hing)f(upp)s(ercase)630 1888 y(letters)e(to)f(lo)m(w)m +(ercase.)50 b(The)32 b(`)p Ft(^^)p Fu(')h(and)f(`)p Ft(,,)p +Fu(')g(expansions)h(con)m(v)m(ert)h(eac)m(h)g(matc)m(hed)f(c)m(har-)630 +1998 y(acter)c(in)f(the)h(expanded)e(v)-5 b(alue;)30 b(the)e(`)p Ft(^)p Fu(')g(and)g(`)p Ft(,)p Fu(')g(expansions)g(matc)m -(h)h(and)f(con)m(v)m(ert)i(only)630 1614 y(the)37 b(\014rst)g(c)m +(h)h(and)f(con)m(v)m(ert)i(only)630 2107 y(the)37 b(\014rst)g(c)m (haracter)i(in)e(the)g(expanded)g(v)-5 b(alue.)61 b(If)37 b Fr(pattern)g Fu(is)h(omitted,)i(it)e(is)f(treated)630 -1724 y(lik)m(e)h(a)f(`)p Ft(?)p Fu(',)i(whic)m(h)d(matc)m(hes)i(ev)m +2217 y(lik)m(e)h(a)f(`)p Ft(?)p Fu(',)i(whic)m(h)d(matc)m(hes)i(ev)m (ery)f(c)m(haracter.)61 b(If)37 b Fr(parameter)43 b Fu(is)37 b(`)p Ft(@)p Fu(')g(or)f(`)p Ft(*)p Fu(',)j(the)e(case)630 -1833 y(mo)s(di\014cation)29 b(op)s(eration)f(is)g(applied)g(to)h(eac)m +2326 y(mo)s(di\014cation)29 b(op)s(eration)f(is)g(applied)g(to)h(eac)m (h)h(p)s(ositional)f(parameter)f(in)g(turn,)g(and)g(the)630 -1943 y(expansion)38 b(is)g(the)g(resultan)m(t)h(list.)65 +2436 y(expansion)38 b(is)g(the)g(resultan)m(t)h(list.)65 b(If)37 b Fr(parameter)46 b Fu(is)38 b(an)g(arra)m(y)g(v)-5 -b(ariable)39 b(subscripted)630 2052 y(with)26 b(`)p Ft(@)p +b(ariable)39 b(subscripted)630 2545 y(with)26 b(`)p Ft(@)p Fu(')f(or)h(`)p Ft(*)p Fu(',)h(the)f(case)h(mo)s(di\014cation)f(op)s (eration)h(is)e(applied)h(to)h(eac)m(h)g(mem)m(b)s(er)e(of)h(the)630 -2162 y(arra)m(y)31 b(in)f(turn,)f(and)h(the)h(expansion)f(is)g(the)h -(resultan)m(t)g(list.)150 2359 y Ft(${)p Fj(parameter)p -Ft(@)p Fj(operator)p Ft(})630 2469 y Fu(The)d(expansion)h(is)f(either)h +2655 y(arra)m(y)31 b(in)f(turn,)f(and)h(the)h(expansion)f(is)g(the)h +(resultan)m(t)g(list.)150 2819 y Ft(${)p Fj(parameter)p +Ft(@)p Fj(operator)p Ft(})630 2929 y Fu(The)d(expansion)h(is)f(either)h (a)g(transformation)g(of)g(the)g(v)-5 b(alue)29 b(of)g -Fr(parameter)35 b Fu(or)29 b(informa-)630 2578 y(tion)e(ab)s(out)f +Fr(parameter)35 b Fu(or)29 b(informa-)630 3039 y(tion)e(ab)s(out)f Fr(parameter)33 b Fu(itself,)28 b(dep)s(ending)c(on)i(the)h(v)-5 b(alue)26 b(of)h Fr(op)s(erator)p Fu(.)39 b(Eac)m(h)27 -b Fr(op)s(erator)630 2688 y Fu(is)j(a)h(single)g(letter:)630 -2885 y Ft(Q)432 b Fu(The)30 b(expansion)h(is)g(a)g(string)f(that)i(is)f +b Fr(op)s(erator)630 3148 y Fu(is)j(a)h(single)g(letter:)630 +3313 y Ft(Q)432 b Fu(The)30 b(expansion)h(is)g(a)g(string)f(that)i(is)f (the)g(v)-5 b(alue)31 b(of)g Fr(parameter)37 b Fu(quoted)31 -b(in)1110 2995 y(a)g(format)f(that)h(can)g(b)s(e)f(reused)f(as)i -(input.)630 3192 y Ft(E)432 b Fu(The)27 b(expansion)g(is)g(a)g(string)h +b(in)1110 3422 y(a)g(format)f(that)h(can)g(b)s(e)f(reused)f(as)i +(input.)630 3587 y Ft(E)432 b Fu(The)27 b(expansion)g(is)g(a)g(string)h (that)f(is)h(the)f(v)-5 b(alue)28 b(of)f Fr(parameter)34 -b Fu(with)27 b(bac)m(k-)1110 3302 y(slash)e(escap)s(e)h(sequences)f +b Fu(with)27 b(bac)m(k-)1110 3696 y(slash)e(escap)s(e)h(sequences)f (expanded)g(as)g(with)g(the)h Ft($'...)o(')e Fu(quoting)i(mec)m(h-)1110 -3411 y(anism.)630 3608 y Ft(P)432 b Fu(The)22 b(expansion)h(is)g(a)g +3806 y(anism.)630 3970 y Ft(P)432 b Fu(The)22 b(expansion)h(is)g(a)g (string)g(that)g(is)g(the)g(result)g(of)g(expanding)f(the)h(v)-5 -b(alue)24 b(of)1110 3718 y Fr(parameter)31 b Fu(as)24 +b(alue)24 b(of)1110 4080 y Fr(parameter)31 b Fu(as)24 b(if)f(it)h(w)m(ere)g(a)g(prompt)f(string)h(\(see)g(Section)h(6.9)g -([Con)m(trolling)1110 3828 y(the)31 b(Prompt],)f(page)h(98\).)630 -4025 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g +([Con)m(trolling)1110 4189 y(the)31 b(Prompt],)f(page)h(98\).)630 +4354 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g (form)g(of)h(an)f(assignmen)m(t)h(statemen)m(t)h(or)1110 -4134 y Ft(declare)h Fu(command)i(that,)h(if)f(ev)-5 b(aluated,)31 -b(will)e(recreate)i Fr(parameter)36 b Fu(with)1110 4244 -y(its)31 b(attributes)g(and)e(v)-5 b(alue.)630 4441 y +4463 y Ft(declare)h Fu(command)i(that,)h(if)f(ev)-5 b(aluated,)31 +b(will)e(recreate)i Fr(parameter)36 b Fu(with)1110 4573 +y(its)31 b(attributes)g(and)e(v)-5 b(alue.)630 4737 y Ft(a)432 b Fu(The)30 b(expansion)g(is)g(a)h(string)f(consisting)h(of)g (\015ag)g(v)-5 b(alues)30 b(represen)m(ting)h Fr(pa-)1110 -4551 y(rameter)7 b Fu('s)31 b(attributes.)630 4748 y(If)e +4847 y(rameter)7 b Fu('s)31 b(attributes.)630 5011 y(If)e Fr(parameter)37 b Fu(is)30 b(`)p Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)g(the)g(op)s(eration)g(is)g(applied)f(to)i(eac)m(h)g(p)s -(ositional)f(parameter)630 4858 y(in)24 b(turn,)g(and)f(the)h +(ositional)f(parameter)630 5121 y(in)24 b(turn,)g(and)f(the)h (expansion)g(is)g(the)g(resultan)m(t)h(list.)39 b(If)23 b Fr(parameter)31 b Fu(is)24 b(an)g(arra)m(y)g(v)-5 b(ariable)630 -4967 y(subscripted)24 b(with)h(`)p Ft(@)p Fu(')h(or)g(`)p +5230 y(subscripted)24 b(with)h(`)p Ft(@)p Fu(')h(or)g(`)p Ft(*)p Fu(',)h(the)e(op)s(eration)h(is)g(applied)f(to)h(eac)m(h)h(mem)m -(b)s(er)e(of)h(the)f(arra)m(y)630 5077 y(in)30 b(turn,)g(and)f(the)i -(expansion)f(is)h(the)f(resultan)m(t)h(list.)630 5230 -y(The)22 b(result)g(of)g(the)h(expansion)f(is)g(sub)5 -b(ject)22 b(to)h(w)m(ord)f(splitting)g(and)g(pathname)g(expansion)630 -5340 y(as)31 b(describ)s(ed)e(b)s(elo)m(w.)p eop end +(b)s(er)e(of)h(the)f(arra)m(y)630 5340 y(in)30 b(turn,)g(and)f(the)i +(expansion)f(is)h(the)f(resultan)m(t)h(list.)p eop end %%Page: 31 37 TeXDict begin 31 36 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)150 299 -y Fk(3.5.4)63 b(Command)41 b(Substitution)150 446 y Fu(Command)f -(substitution)h(allo)m(ws)i(the)e(output)g(of)h(a)f(command)g(to)h -(replace)g(the)g(command)f(itself.)150 555 y(Command)29 -b(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is)g(enclosed)h(as)g -(follo)m(ws:)390 691 y Ft($\()p Fj(command)p Ft(\))150 -827 y Fu(or)390 962 y Ft(`)p Fj(command)p Ft(`)150 1098 -y Fu(Bash)20 b(p)s(erforms)f(the)i(expansion)f(b)m(y)g(executing)i -Fr(command)h Fu(in)d(a)h(subshell)e(en)m(vironmen)m(t)i(and)f -(replacing)150 1207 y(the)40 b(command)g(substitution)f(with)h(the)g -(standard)f(output)g(of)h(the)g(command,)i(with)e(an)m(y)g(trailing)150 -1317 y(newlines)e(deleted.)64 b(Em)m(b)s(edded)37 b(newlines)h(are)g -(not)g(deleted,)j(but)d(they)g(ma)m(y)h(b)s(e)e(remo)m(v)m(ed)i(during) -150 1427 y(w)m(ord)30 b(splitting.)42 b(The)30 b(command)g -(substitution)h Ft($\(cat)e Fj(file)p Ft(\))g Fu(can)h(b)s(e)g -(replaced)h(b)m(y)g(the)f(equiv)-5 b(alen)m(t)150 1536 -y(but)30 b(faster)g Ft($\(<)g Fj(file)p Ft(\))p Fu(.)275 -1672 y(When)j(the)i(old-st)m(yle)h(bac)m(kquote)f(form)f(of)g -(substitution)g(is)g(used,)h(bac)m(kslash)f(retains)h(its)f(literal)150 -1781 y(meaning)k(except)h(when)e(follo)m(w)m(ed)j(b)m(y)e(`)p -Ft($)p Fu(',)j(`)p Ft(`)p Fu(',)f(or)e(`)p Ft(\\)p Fu('.)64 -b(The)38 b(\014rst)f(bac)m(kquote)j(not)e(preceded)g(b)m(y)g(a)150 -1891 y(bac)m(kslash)k(terminates)f(the)h(command)e(substitution.)72 -b(When)41 b(using)f(the)i Ft($\()p Fj(command)p Ft(\))c -Fu(form,)43 b(all)150 2000 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the) -f(paren)m(theses)h(mak)m(e)g(up)f(the)g(command;)h(none)f(are)h -(treated)g(sp)s(ecially)-8 b(.)275 2136 y(Command)22 -b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39 b(T)-8 -b(o)23 b(nest)g(when)f(using)h(the)g(bac)m(kquoted)h(form,)g(escap)s(e) -150 2246 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m(kslashes.)275 -2381 y(If)e(the)i(substitution)e(app)s(ears)h(within)g(double)f -(quotes,)i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion)150 -2491 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150 -2691 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150 2838 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)630 299 +y(The)27 b(result)h(of)g(the)f(expansion)h(is)g(sub)5 +b(ject)27 b(to)h(w)m(ord)g(splitting)g(and)f(\014lename)h(expansion)630 +408 y(as)j(describ)s(ed)e(b)s(elo)m(w.)150 610 y Fk(3.5.4)63 +b(Command)41 b(Substitution)150 757 y Fu(Command)f(substitution)h(allo) +m(ws)i(the)e(output)g(of)h(a)f(command)g(to)h(replace)g(the)g(command)f +(itself.)150 866 y(Command)29 b(substitution)h(o)s(ccurs)h(when)e(a)i +(command)f(is)g(enclosed)h(as)g(follo)m(ws:)390 1003 +y Ft($\()p Fj(command)p Ft(\))150 1140 y Fu(or)390 1277 +y Ft(`)p Fj(command)p Ft(`)150 1413 y Fu(Bash)20 b(p)s(erforms)f(the)i +(expansion)f(b)m(y)g(executing)i Fr(command)h Fu(in)d(a)h(subshell)e +(en)m(vironmen)m(t)i(and)f(replacing)150 1523 y(the)40 +b(command)g(substitution)f(with)h(the)g(standard)f(output)g(of)h(the)g +(command,)i(with)e(an)m(y)g(trailing)150 1632 y(newlines)e(deleted.)64 +b(Em)m(b)s(edded)37 b(newlines)h(are)g(not)g(deleted,)j(but)d(they)g +(ma)m(y)h(b)s(e)e(remo)m(v)m(ed)i(during)150 1742 y(w)m(ord)30 +b(splitting.)42 b(The)30 b(command)g(substitution)h Ft($\(cat)e +Fj(file)p Ft(\))g Fu(can)h(b)s(e)g(replaced)h(b)m(y)g(the)f(equiv)-5 +b(alen)m(t)150 1852 y(but)30 b(faster)g Ft($\(<)g Fj(file)p +Ft(\))p Fu(.)275 1988 y(When)j(the)i(old-st)m(yle)h(bac)m(kquote)f +(form)f(of)g(substitution)g(is)g(used,)h(bac)m(kslash)f(retains)h(its)f +(literal)150 2098 y(meaning)k(except)h(when)e(follo)m(w)m(ed)j(b)m(y)e +(`)p Ft($)p Fu(',)j(`)p Ft(`)p Fu(',)f(or)e(`)p Ft(\\)p +Fu('.)64 b(The)38 b(\014rst)f(bac)m(kquote)j(not)e(preceded)g(b)m(y)g +(a)150 2207 y(bac)m(kslash)k(terminates)f(the)h(command)e +(substitution.)72 b(When)41 b(using)f(the)i Ft($\()p +Fj(command)p Ft(\))c Fu(form,)43 b(all)150 2317 y(c)m(haracters)32 +b(b)s(et)m(w)m(een)f(the)f(paren)m(theses)h(mak)m(e)g(up)f(the)g +(command;)h(none)f(are)h(treated)g(sp)s(ecially)-8 b(.)275 +2454 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39 +b(T)-8 b(o)23 b(nest)g(when)f(using)h(the)g(bac)m(kquoted)h(form,)g +(escap)s(e)150 2563 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m +(kslashes.)275 2700 y(If)e(the)i(substitution)e(app)s(ears)h(within)g +(double)f(quotes,)i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion) +150 2810 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150 +3011 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150 3158 y Fu(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5 b(aluation)26 b(of)f(an)f(arithmetic)i(expression)e(and)g(the)g -(substitution)150 2948 y(of)31 b(the)f(result.)41 b(The)30 -b(format)g(for)g(arithmetic)i(expansion)e(is:)390 3083 -y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 3219 y Fu(The)33 +(substitution)150 3268 y(of)31 b(the)f(result.)41 b(The)30 +b(format)g(for)g(arithmetic)i(expansion)e(is:)390 3404 +y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 3541 y Fu(The)33 b(expression)g(is)h(treated)g(as)g(if)g(it)g(w)m(ere)g(within)f(double) -h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150 3328 +h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150 3651 y(the)k(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8 b(.)65 b(All)38 b(tok)m(ens)h(in)f(the)g(expression)f(undergo)g -(parameter)150 3438 y(and)26 b(v)-5 b(ariable)28 b(expansion,)g +(parameter)150 3760 y(and)26 b(v)-5 b(ariable)28 b(expansion,)g (command)e(substitution,)i(and)e(quote)i(remo)m(v)-5 -b(al.)41 b(The)26 b(result)h(is)g(treated)h(as)150 3548 +b(al.)41 b(The)26 b(result)h(is)g(treated)h(as)150 3870 y(the)j(arithmetic)g(expression)f(to)h(b)s(e)f(ev)-5 b(aluated.)42 b(Arithmetic)31 b(expansions)g(ma)m(y)g(b)s(e)e(nested.) -275 3683 y(The)34 b(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e +275 4006 y(The)34 b(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e (according)i(to)g(the)g(rules)f(listed)h(b)s(elo)m(w)g(\(see)g(Section) -g(6.5)h([Shell)150 3793 y(Arithmetic],)32 b(page)f(93\).)42 +g(6.5)h([Shell)150 4116 y(Arithmetic],)32 b(page)f(93\).)42 b(If)30 b(the)h(expression)f(is)g(in)m(v)-5 b(alid,)32 b(Bash)e(prin)m(ts)g(a)h(message)g(indicating)h(failure)150 -3902 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s -(ccurs.)150 4103 y Fk(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150 -4250 y Fu(Pro)s(cess)33 b(substitution)g(allo)m(ws)i(a)e(pro)s(cess's)g +4226 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s +(ccurs.)150 4427 y Fk(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150 +4574 y Fu(Pro)s(cess)33 b(substitution)g(allo)m(ws)i(a)e(pro)s(cess's)g (input)f(or)h(output)g(to)h(b)s(e)f(referred)f(to)i(using)f(a)g -(\014lename.)150 4359 y(It)d(tak)m(es)i(the)f(form)f(of)390 -4495 y Ft(<\()p Fj(list)p Ft(\))150 4630 y Fu(or)390 -4766 y Ft(>\()p Fj(list)p Ft(\))150 4902 y Fu(The)e(pro)s(cess)h +(\014lename.)150 4684 y(It)d(tak)m(es)i(the)f(form)f(of)390 +4820 y Ft(<\()p Fj(list)p Ft(\))150 4957 y Fu(or)390 +5094 y Ft(>\()p Fj(list)p Ft(\))150 5230 y Fu(The)e(pro)s(cess)h Fr(list)j Fu(is)d(run)e(async)m(hronously)-8 b(,)30 b(and)e(its)i (input)e(or)h(output)f(app)s(ears)h(as)g(a)g(\014lename.)41 -b(This)150 5011 y(\014lename)25 b(is)g(passed)g(as)g(an)g(argumen)m(t)h +b(This)150 5340 y(\014lename)25 b(is)g(passed)g(as)g(an)g(argumen)m(t)h (to)g(the)f(curren)m(t)g(command)g(as)g(the)g(result)g(of)g(the)h -(expansion.)38 b(If)150 5121 y(the)28 b Ft(>\()p Fj(list)p -Ft(\))d Fu(form)i(is)g(used,)h(writing)f(to)h(the)g(\014le)f(will)h -(pro)m(vide)g(input)e(for)h Fr(list)p Fu(.)41 b(If)26 -b(the)i Ft(<\()p Fj(list)p Ft(\))d Fu(form)150 5230 y(is)g(used,)g(the) -f(\014le)h(passed)f(as)h(an)f(argumen)m(t)h(should)e(b)s(e)h(read)h(to) -g(obtain)g(the)f(output)g(of)h Fr(list)p Fu(.)40 b(Note)25 -b(that)150 5340 y(no)33 b(space)g(ma)m(y)g(app)s(ear)f(b)s(et)m(w)m -(een)i(the)f Ft(<)f Fu(or)h Ft(>)f Fu(and)g(the)h(left)h(paren)m -(thesis,)f(otherwise)h(the)f(construct)p eop end +(expansion.)38 b(If)p eop end %%Page: 32 38 TeXDict begin 32 37 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(32)150 299 -y(w)m(ould)36 b(b)s(e)g(in)m(terpreted)g(as)h(a)f(redirection.)59 -b(Pro)s(cess)36 b(substitution)g(is)h(supp)s(orted)d(on)i(systems)g -(that)150 408 y(supp)s(ort)29 b(named)h(pip)s(es)f(\()p -Fm(fif)n(o)p Fu(s\))h(or)h(the)f Ft(/dev/fd)f Fu(metho)s(d)h(of)g -(naming)g(op)s(en)g(\014les.)275 567 y(When)36 b(a)m(v)-5 -b(ailable,)40 b(pro)s(cess)c(substitution)h(is)f(p)s(erformed)f(sim)m -(ultaneously)i(with)g(parameter)g(and)150 677 y(v)-5 -b(ariable)31 b(expansion,)g(command)f(substitution,)g(and)g(arithmetic) -i(expansion.)150 900 y Fk(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150 -1047 y Fu(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g +y(the)28 b Ft(>\()p Fj(list)p Ft(\))d Fu(form)i(is)g(used,)h(writing)f +(to)h(the)g(\014le)f(will)h(pro)m(vide)g(input)e(for)h +Fr(list)p Fu(.)41 b(If)26 b(the)i Ft(<\()p Fj(list)p +Ft(\))d Fu(form)150 408 y(is)g(used,)g(the)f(\014le)h(passed)f(as)h(an) +f(argumen)m(t)h(should)e(b)s(e)h(read)h(to)g(obtain)g(the)f(output)g +(of)h Fr(list)p Fu(.)40 b(Note)25 b(that)150 518 y(no)33 +b(space)g(ma)m(y)g(app)s(ear)f(b)s(et)m(w)m(een)i(the)f +Ft(<)f Fu(or)h Ft(>)f Fu(and)g(the)h(left)h(paren)m(thesis,)f +(otherwise)h(the)f(construct)150 628 y(w)m(ould)j(b)s(e)g(in)m +(terpreted)g(as)h(a)f(redirection.)59 b(Pro)s(cess)36 +b(substitution)g(is)h(supp)s(orted)d(on)i(systems)g(that)150 +737 y(supp)s(ort)29 b(named)h(pip)s(es)f(\()p Fm(fif)n(o)p +Fu(s\))h(or)h(the)f Ft(/dev/fd)f Fu(metho)s(d)h(of)g(naming)g(op)s(en)g +(\014les.)275 866 y(When)36 b(a)m(v)-5 b(ailable,)40 +b(pro)s(cess)c(substitution)h(is)f(p)s(erformed)f(sim)m(ultaneously)i +(with)g(parameter)g(and)150 976 y(v)-5 b(ariable)31 b(expansion,)g +(command)f(substitution,)g(and)g(arithmetic)i(expansion.)150 +1164 y Fk(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150 1311 +y Fu(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g (expansion,)g(command)g(substitution,)g(and)f(arithmetic)150 -1157 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h -(quotes)h(for)f(w)m(ord)g(splitting.)275 1315 y(The)e(shell)g(treats)i +1421 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h +(quotes)h(for)f(w)m(ord)g(splitting.)275 1549 y(The)e(shell)g(treats)i (eac)m(h)g(c)m(haracter)g(of)f Ft($IFS)e Fu(as)i(a)g(delimiter,)h(and)e -(splits)g(the)h(results)f(of)h(the)g(other)150 1425 y(expansions)22 +(splits)g(the)h(results)f(of)h(the)g(other)150 1659 y(expansions)22 b(in)m(to)i(w)m(ords)e(using)h(these)g(c)m(haracters)h(as)f(\014eld)f (terminators.)39 b(If)22 b Ft(IFS)g Fu(is)h(unset,)h(or)e(its)h(v)-5 -b(alue)150 1535 y(is)36 b(exactly)j Ft()p +b(alue)150 1769 y(is)36 b(exactly)j Ft()p Fu(,)32 b(the)37 b(default,)h(then)e(sequences)h(of)67 -b Ft()p Fu(,)36 b Ft()p Fu(,)h(and)150 1644 +b Ft()p Fu(,)36 b Ft()p Fu(,)h(and)150 1878 y Ft()28 b Fu(at)k(the)f(b)s(eginning)f(and)h(end)f(of)h(the)g (results)g(of)g(the)g(previous)g(expansions)f(are)i(ignored,)150 -1754 y(and)k(an)m(y)h(sequence)h(of)f Ft(IFS)f Fu(c)m(haracters)i(not)f +1988 y(and)k(an)m(y)h(sequence)h(of)f Ft(IFS)f Fu(c)m(haracters)i(not)f (at)h(the)f(b)s(eginning)f(or)h(end)f(serv)m(es)h(to)h(delimit)f(w)m -(ords.)150 1863 y(If)43 b Ft(IFS)f Fu(has)h(a)h(v)-5 +(ords.)150 2097 y(If)43 b Ft(IFS)f Fu(has)h(a)h(v)-5 b(alue)43 b(other)h(than)f(the)g(default,)k(then)c(sequences)h(of)f -(the)h(whitespace)f(c)m(haracters)150 1973 y Ft(space)p +(the)h(whitespace)f(c)m(haracters)150 2207 y Ft(space)p Fu(,)29 b Ft(tab)p Fu(,)h(and)g Ft(newline)e Fu(are)j(ignored)g(at)g (the)f(b)s(eginning)g(and)g(end)g(of)g(the)h(w)m(ord,)f(as)h(long)g(as) -g(the)150 2083 y(whitespace)c(c)m(haracter)h(is)f(in)f(the)g(v)-5 +g(the)150 2317 y(whitespace)c(c)m(haracter)h(is)f(in)f(the)g(v)-5 b(alue)27 b(of)g Ft(IFS)e Fu(\(an)i Ft(IFS)e Fu(whitespace)i(c)m -(haracter\).)42 b(An)m(y)26 b(c)m(haracter)i(in)150 2192 +(haracter\).)42 b(An)m(y)26 b(c)m(haracter)i(in)150 2426 y Ft(IFS)c Fu(that)h(is)g(not)f Ft(IFS)g Fu(whitespace,)j(along)f(with) e(an)m(y)h(adjacen)m(t)h Ft(IFS)e Fu(whitespace)h(c)m(haracters,)i -(delimits)150 2302 y(a)k(\014eld.)40 b(A)31 b(sequence)g(of)f +(delimits)150 2536 y(a)k(\014eld.)40 b(A)31 b(sequence)g(of)f Ft(IFS)g Fu(whitespace)h(c)m(haracters)h(is)e(also)h(treated)h(as)f(a)f -(delimiter.)42 b(If)30 b(the)g(v)-5 b(alue)150 2411 y(of)31 +(delimiter.)42 b(If)30 b(the)g(v)-5 b(alue)150 2645 y(of)31 b Ft(IFS)e Fu(is)h(n)m(ull,)h(no)f(w)m(ord)g(splitting)h(o)s(ccurs.)275 -2570 y(Explicit)21 b(n)m(ull)g(argumen)m(ts)g(\()p Ft("")g +2774 y(Explicit)21 b(n)m(ull)g(argumen)m(ts)g(\()p Ft("")g Fu(or)g Ft('')p Fu(\))f(are)h(retained)h(and)e(passed)g(to)i(commands)e -(as)i(empt)m(y)f(strings.)150 2680 y(Unquoted)37 b(implicit)i(n)m(ull)f +(as)i(empt)m(y)f(strings.)150 2884 y(Unquoted)37 b(implicit)i(n)m(ull)f (argumen)m(ts,)i(resulting)d(from)g(the)h(expansion)g(of)g(parameters)f -(that)i(ha)m(v)m(e)150 2789 y(no)32 b(v)-5 b(alues,)33 +(that)i(ha)m(v)m(e)150 2993 y(no)32 b(v)-5 b(alues,)33 b(are)f(remo)m(v)m(ed.)47 b(If)32 b(a)g(parameter)h(with)e(no)h(v)-5 b(alue)33 b(is)f(expanded)f(within)h(double)f(quotes,)j(a)150 -2899 y(n)m(ull)c(argumen)m(t)g(results)g(and)f(is)h(retained)g(and)f +3103 y(n)m(ull)c(argumen)m(t)g(results)g(and)f(is)h(retained)g(and)f (passed)g(to)i(a)f(command)g(as)g(an)f(empt)m(y)i(string.)40 -b(When)150 3008 y(a)f(quoted)f(n)m(ull)g(argumen)m(t)h(app)s(ears)e(as) +b(When)150 3213 y(a)f(quoted)f(n)m(ull)g(argumen)m(t)h(app)s(ears)e(as) i(part)f(of)g(a)g(w)m(ord)g(whose)g(expansion)g(is)h(non-n)m(ull,)h -(the)e(n)m(ull)150 3118 y(argumen)m(t)i(is)f(remo)m(v)m(ed.)69 +(the)e(n)m(ull)150 3322 y(argumen)m(t)i(is)f(remo)m(v)m(ed.)69 b(That)39 b(is,)j(the)e(w)m(ord)f Ft(-d'')f Fu(b)s(ecomes)i Ft(-d)e Fu(after)i(w)m(ord)f(splitting)h(and)f(n)m(ull)150 -3228 y(argumen)m(t)31 b(remo)m(v)-5 b(al.)275 3386 y(Note)31 +3432 y(argumen)m(t)31 b(remo)m(v)-5 b(al.)275 3561 y(Note)31 b(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h(splitting)g(is)f(p)s -(erformed.)150 3610 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150 -3757 y Fu(After)30 b(w)m(ord)f(splitting,)i(unless)d(the)i +(erformed.)150 3749 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150 +3896 y Fu(After)30 b(w)m(ord)f(splitting,)i(unless)d(the)i Ft(-f)f Fu(option)h(has)f(b)s(een)g(set)h(\(see)g(Section)h(4.3.1)g -([The)e(Set)h(Builtin],)150 3866 y(page)35 b(62\),)h(Bash)f(scans)f -(eac)m(h)h(w)m(ord)f(for)f(the)i(c)m(haracters)g(`)p -Ft(*)p Fu(',)h(`)p Ft(?)p Fu(',)f(`)p Ft([)p Fu(',)h(and,)e(under)f -(certain)i(circum-)150 3976 y(stances)e(\(e.g.,)h(when)d(it)i(app)s -(ears)e(in)h(the)g(expansion)g(of)g(an)g(unquoted)f(shell)i(v)-5 -b(ariable\),)33 b(`)p Ft(\\\\)p Fu('.)46 b(If)32 b(one)150 -4085 y(of)h(these)h(c)m(haracters)g(app)s(ears,)f(then)g(the)g(w)m(ord) -f(is)h(regarded)g(as)g(a)h Fr(pattern)p Fu(,)g(and)e(replaced)h(with)g -(an)150 4195 y(alphab)s(etically)41 b(sorted)e(list)h(of)g(\014lenames) -f(matc)m(hing)i(the)e(pattern)g(\(see)i(Section)f(3.5.8.1)i([P)m -(attern)150 4305 y(Matc)m(hing],)e(page)e(33\).)60 b(If)36 -b(no)h(matc)m(hing)g(\014lenames)g(are)g(found,)g(and)f(the)g(shell)h -(option)g Ft(nullglob)150 4414 y Fu(is)k(disabled,)i(the)f(w)m(ord)e -(is)h(left)h(unc)m(hanged.)72 b(If)40 b(the)h Ft(nullglob)e -Fu(option)i(is)g(set,)k(and)40 b(no)h(matc)m(hes)150 -4524 y(are)c(found,)g(the)g(w)m(ord)f(is)g(remo)m(v)m(ed.)60 -b(If)36 b(the)h Ft(failglob)d Fu(shell)j(option)g(is)g(set,)i(and)c(no) -i(matc)m(hes)h(are)150 4633 y(found,)e(an)g(error)f(message)i(is)f -(prin)m(ted)f(and)h(the)g(command)f(is)h(not)g(executed.)58 -b(If)35 b(the)h(shell)g(option)150 4743 y Ft(nocaseglob)e -Fu(is)j(enabled,)i(the)e(matc)m(h)h(is)f(p)s(erformed)e(without)i -(regard)g(to)h(the)f(case)h(of)f(alphab)s(etic)150 4853 -y(c)m(haracters.)275 5011 y(When)23 b(a)h(pattern)f(is)h(used)f(for)g -(\014lename)h(expansion,)h(the)e(c)m(haracter)i(`)p Ft(.)p -Fu(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150 5121 -y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f(matc) -m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option)g +([The)e(Set)h(Builtin],)150 4006 y(page)d(62\),)i(Bash)d(scans)h(eac)m +(h)h(w)m(ord)e(for)g(the)h(c)m(haracters)g(`)p Ft(*)p +Fu(',)h(`)p Ft(?)p Fu(',)g(and)e(`)p Ft([)p Fu('.)39 +b(If)26 b(one)h(of)g(these)f(c)m(haracters)150 4115 y(app)s(ears,)34 +b(and)f(is)g(not)h(quoted,)h(then)e(the)h(w)m(ord)f(is)h(regarded)f(as) +h(a)g Fr(pattern)p Fu(,)h(and)e(replaced)h(with)f(an)150 +4225 y(alphab)s(etically)41 b(sorted)e(list)h(of)g(\014lenames)f(matc)m +(hing)i(the)e(pattern)g(\(see)i(Section)f(3.5.8.1)i([P)m(attern)150 +4334 y(Matc)m(hing],)e(page)e(33\).)60 b(If)36 b(no)h(matc)m(hing)g +(\014lenames)g(are)g(found,)g(and)f(the)g(shell)h(option)g +Ft(nullglob)150 4444 y Fu(is)k(disabled,)i(the)f(w)m(ord)e(is)h(left)h +(unc)m(hanged.)72 b(If)40 b(the)h Ft(nullglob)e Fu(option)i(is)g(set,)k +(and)40 b(no)h(matc)m(hes)150 4553 y(are)c(found,)g(the)g(w)m(ord)f(is) +g(remo)m(v)m(ed.)60 b(If)36 b(the)h Ft(failglob)d Fu(shell)j(option)g +(is)g(set,)i(and)c(no)i(matc)m(hes)h(are)150 4663 y(found,)e(an)g +(error)f(message)i(is)f(prin)m(ted)f(and)h(the)g(command)f(is)h(not)g +(executed.)58 b(If)35 b(the)h(shell)g(option)150 4773 +y Ft(nocaseglob)e Fu(is)j(enabled,)i(the)e(matc)m(h)h(is)f(p)s +(erformed)e(without)i(regard)g(to)h(the)f(case)h(of)f(alphab)s(etic)150 +4882 y(c)m(haracters.)275 5011 y(When)23 b(a)h(pattern)f(is)h(used)f +(for)g(\014lename)h(expansion,)h(the)e(c)m(haracter)i(`)p +Ft(.)p Fu(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150 +5121 y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f +(matc)m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option)g Ft(dotglob)150 5230 y Fu(is)k(set.)41 b(The)28 b(\014lenames)g(`)p Ft(.)p Fu(')g(and)g(`)p Ft(..)p Fu(')g(m)m(ust)g(alw)m(a)m(ys)i(b)s(e)e (matc)m(hed)h(explicitly)-8 b(,)30 b(ev)m(en)f(if)g Ft(dotglob)d @@ -10821,9 +10836,9 @@ b(Strings)150 3359 y Fu(A)30 b(v)-5 b(arian)m(t)32 b(of)e(here)h(do)s (cumen)m(ts,)f(the)g(format)h(is:)390 3502 y Ft([)p Fj(n)p Ft(]<<<)46 b Fj(word)275 3645 y Fu(The)29 b Fr(w)m(ord)k Fu(undergo)s(es)c(tilde)i(expansion,)f(parameter)h(and)e(v)-5 -b(ariable)31 b(expansion,)f(command)g(sub-)150 3755 y(stitution,)25 -b(arithmetic)f(expansion,)h(and)d(quote)h(remo)m(v)-5 -b(al.)40 b(P)m(athname)23 b(expansion)g(and)f(w)m(ord)g(splitting)150 +b(ariable)31 b(expansion,)f(command)g(sub-)150 3755 y(stitution,)f +(arithmetic)f(expansion,)g(and)f(quote)h(remo)m(v)-5 +b(al.)41 b(Filename)29 b(expansion)e(and)f(w)m(ord)h(splitting)150 3865 y(are)35 b(not)g(p)s(erformed.)51 b(The)34 b(result)h(is)g (supplied)e(as)i(a)f(single)i(string,)f(with)g(a)g(newline)f(app)s (ended,)g(to)150 3974 y(the)d(command)f(on)g(its)h(standard)e(input)h @@ -11173,99 +11188,111 @@ Ft(SIGQUIT)e Fu(in)j(addition)f(to)i(these)f(inherited)f(handlers.)55 b(Commands)35 b(run)f(as)i(a)150 628 y(result)27 b(of)h(command)f (substitution)h(ignore)g(the)g(k)m(eyb)s(oard-generated)g(job)g(con)m (trol)h(signals)f Ft(SIGTTIN)p Fu(,)150 737 y Ft(SIGTTOU)p -Fu(,)h(and)g Ft(SIGTSTP)p Fu(.)275 882 y(The)h(shell)i(exits)g(b)m(y)f +Fu(,)h(and)g Ft(SIGTSTP)p Fu(.)275 872 y(The)h(shell)i(exits)g(b)m(y)f (default)g(up)s(on)f(receipt)i(of)f(a)h Ft(SIGHUP)p Fu(.)42 b(Before)32 b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150 -992 y(resends)41 b(the)i Ft(SIGHUP)e Fu(to)i(all)g(jobs,)i(running)c +982 y(resends)41 b(the)i Ft(SIGHUP)e Fu(to)i(all)g(jobs,)i(running)c (or)h(stopp)s(ed.)76 b(Stopp)s(ed)41 b(jobs)h(are)h(sen)m(t)g -Ft(SIGCONT)d Fu(to)150 1101 y(ensure)32 b(that)h(they)g(receiv)m(e)i +Ft(SIGCONT)d Fu(to)150 1092 y(ensure)32 b(that)h(they)g(receiv)m(e)i (the)e Ft(SIGHUP)p Fu(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell) -g(from)g(sending)f(the)h Ft(SIGHUP)e Fu(signal)150 1211 +g(from)g(sending)f(the)h Ft(SIGHUP)e Fu(signal)150 1201 y(to)i(a)g(particular)g(job,)g(it)g(should)f(b)s(e)g(remo)m(v)m(ed)h (from)g(the)f(jobs)g(table)i(with)e(the)h Ft(disown)e -Fu(builtin)h(\(see)150 1320 y(Section)c(7.2)g([Job)e(Con)m(trol)i +Fu(builtin)h(\(see)150 1311 y(Section)c(7.2)g([Job)e(Con)m(trol)i (Builtins],)g(page)g(106\))h(or)e(mark)m(ed)g(to)g(not)g(receiv)m(e)i -Ft(SIGHUP)c Fu(using)i Ft(disown)150 1430 y(-h)p Fu(.)275 -1575 y(If)38 b(the)h Ft(huponexit)e Fu(shell)i(option)g(has)g(b)s(een)f +Ft(SIGHUP)c Fu(using)i Ft(disown)150 1420 y(-h)p Fu(.)275 +1556 y(If)38 b(the)h Ft(huponexit)e Fu(shell)i(option)g(has)g(b)s(een)f (set)i(with)f Ft(shopt)e Fu(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150 -1684 y(Builtin],)31 b(page)g(66\),)h(Bash)f(sends)e(a)i +1665 y(Builtin],)31 b(page)g(66\),)h(Bash)f(sends)e(a)i Ft(SIGHUP)e Fu(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login) -e(shell)g(exits.)275 1829 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g +e(shell)g(exits.)275 1800 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g (command)f(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)h(for)e(whic) -m(h)h(a)g(trap)150 1939 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g +m(h)h(a)g(trap)150 1910 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g (not)g(b)s(e)f(executed)i(un)m(til)f(the)g(command)f(completes.)55 -b(When)35 b(Bash)g(is)150 2048 y(w)m(aiting)j(for)f(an)g(async)m +b(When)35 b(Bash)g(is)150 2020 y(w)m(aiting)j(for)f(an)g(async)m (hronous)g(command)g(via)h(the)f Ft(wait)f Fu(builtin,)i(the)g -(reception)g(of)f(a)g(signal)h(for)150 2158 y(whic)m(h)d(a)g(trap)g +(reception)g(of)f(a)g(signal)h(for)150 2129 y(whic)m(h)d(a)g(trap)g (has)g(b)s(een)f(set)h(will)h(cause)f(the)g Ft(wait)f Fu(builtin)h(to)g(return)f(immediately)i(with)f(an)g(exit)150 -2267 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h) -f(the)h(trap)f(is)g(executed.)150 2524 y Fs(3.8)68 b(Shell)45 -b(Scripts)150 2683 y Fu(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le) +2239 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h) +f(the)h(trap)f(is)g(executed.)150 2481 y Fs(3.8)68 b(Shell)45 +b(Scripts)150 2640 y Fu(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le) f(con)m(taining)h(shell)f(commands.)40 b(When)29 b(suc)m(h)g(a)h -(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 2792 y(non-option)c +(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 2750 y(non-option)c (argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)f(neither)g(the)g Ft(-c)g Fu(nor)f Ft(-s)h Fu(option)g(is)g(supplied)f(\(see)150 -2902 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(86\),)i +2859 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(86\),)i (Bash)d(reads)g(and)f(executes)i(commands)f(from)f(the)i(\014le,)150 -3012 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s(eration)f +2969 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s(eration)f (creates)i(a)e(non-in)m(teractiv)m(e)j(shell.)46 b(The)31 -b(shell)i(\014rst)e(searc)m(hes)150 3121 y(for)d(the)g(\014le)g(in)g +b(shell)i(\014rst)e(searc)m(hes)150 3078 y(for)d(the)g(\014le)g(in)g (the)g(curren)m(t)f(directory)-8 b(,)30 b(and)d(lo)s(oks)i(in)e(the)i (directories)g(in)e Ft($PATH)g Fu(if)h(not)g(found)e(there.)275 -3266 y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f +3214 y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f (sp)s(ecial)i(parameter)f Ft(0)f Fu(to)h(the)g(name)g(of)g(the)g -(\014le,)150 3376 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j +(\014le,)150 3323 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j (and)d(the)h(p)s(ositional)g(parameters)f(are)h(set)g(to)g(the)g -(remain-)150 3485 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m +(remain-)150 3433 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m (en.)67 b(If)39 b(no)g(additional)g(argumen)m(ts)h(are)f(supplied,)h -(the)f(p)s(ositional)150 3595 y(parameters)31 b(are)f(unset.)275 -3740 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m +(the)f(p)s(ositional)150 3542 y(parameters)31 b(are)f(unset.)275 +3678 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m (y)e(using)g(the)h Ft(chmod)e Fu(command)h(to)h(turn)e(on)i(the)150 -3849 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h +3787 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h (\014le)f(while)g(searc)m(hing)h(the)f Ft($PATH)f Fu(for)h(a)h -(command,)h(it)150 3959 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h -(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 4103 -y Ft(filename)46 b Fj(arguments)150 4248 y Fu(is)30 b(equiv)-5 -b(alen)m(t)32 b(to)f(executing)390 4393 y Ft(bash)47 -b(filename)e Fj(arguments)150 4538 y Fu(if)30 b Ft(filename)d +(command,)h(it)150 3897 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h +(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 4032 +y Ft(filename)46 b Fj(arguments)150 4167 y Fu(is)30 b(equiv)-5 +b(alen)m(t)32 b(to)f(executing)390 4302 y Ft(bash)47 +b(filename)e Fj(arguments)150 4438 y Fu(if)30 b Ft(filename)d Fu(is)j(an)f(executable)j(shell)e(script.)40 b(This)29 b(subshell)g(reinitializes)i(itself,)g(so)f(that)h(the)e(e\013ect)150 -4647 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok) +4547 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok) m(ed)h(to)h(in)m(terpret)e(the)h(script,)h(with)e(the)h(exception)h -(that)f(the)150 4757 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s +(that)f(the)150 4657 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s (ered)h(b)m(y)g(the)g(paren)m(t)g(\(see)h(the)f(description)g(of)g -Ft(hash)f Fu(in)h(Section)h(4.1)150 4866 y([Bourne)30 +Ft(hash)f Fu(in)h(Section)h(4.1)150 4766 y([Bourne)30 b(Shell)h(Builtins],)g(page)g(44\))h(are)e(retained)h(b)m(y)f(the)h(c)m -(hild.)275 5011 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g +(hild.)275 4902 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g (a)g(part)f(of)h(the)g(op)s(erating)g(system's)f(command)h(execution) -150 5121 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h +150 5011 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h (script)f(b)s(egins)g(with)g(the)g(t)m(w)m(o)i(c)m(haracters)g(`)p -Ft(#!)p Fu(',)f(the)g(remainder)150 5230 y(of)d(the)g(line)h(sp)s -(eci\014es)e(an)h(in)m(terpreter)g(for)g(the)g(program.)43 -b(Th)m(us,)30 b(y)m(ou)h(can)h(sp)s(ecify)e(Bash,)i Ft(awk)p -Fu(,)e(P)m(erl,)150 5340 y(or)g(some)h(other)g(in)m(terpreter)g(and)e -(write)i(the)f(rest)h(of)g(the)f(script)g(\014le)h(in)f(that)h +Ft(#!)p Fu(',)f(the)g(remainder)150 5121 y(of)27 b(the)g(line)g(sp)s +(eci\014es)g(an)g(in)m(terpreter)g(for)g(the)g(program)g(and,)g(dep)s +(ending)e(on)i(the)g(op)s(erating)h(system,)150 5230 +y(one)e(or)g(more)g(optional)h(argumen)m(ts)f(for)g(that)g(in)m +(terpreter.)40 b(Th)m(us,)26 b(y)m(ou)g(can)g(sp)s(ecify)g(Bash,)h +Ft(awk)p Fu(,)f(P)m(erl,)150 5340 y(or)k(some)h(other)g(in)m(terpreter) +g(and)e(write)i(the)f(rest)h(of)g(the)f(script)g(\014le)h(in)f(that)h (language.)p eop end %%Page: 43 49 TeXDict begin 43 48 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(43)275 299 -y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m(terpreter)g(consist)g(of)g(a) -g(single)h(optional)f(argumen)m(t)h(follo)m(wing)g(the)150 -408 y(in)m(terpreter)33 b(name)h(on)f(the)g(\014rst)f(line)i(of)f(the)g -(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y)e(the)g(name)g(of)g(the)h -(script)f(\014le,)150 518 y(follo)m(w)m(ed)g(b)m(y)f(the)f(rest)h(of)g -(the)f(argumen)m(ts.)45 b(Bash)31 b(will)h(p)s(erform)e(this)i(action)h -(on)e(op)s(erating)h(systems)150 628 y(that)24 b(do)g(not)f(handle)g -(it)h(themselv)m(es.)40 b(Note)25 b(that)f(some)g(older)g(v)m(ersions)f -(of)h(Unix)f(limit)i(the)f(in)m(terpreter)150 737 y(name)30 -b(and)g(argumen)m(t)h(to)g(a)g(maxim)m(um)f(of)h(32)g(c)m(haracters.) -275 872 y(Bash)h(scripts)g(often)g(b)s(egin)g(with)g -Ft(#!)e(/bin/bash)g Fu(\(assuming)i(that)h(Bash)f(has)g(b)s(een)f -(installed)i(in)150 981 y Ft(/bin)p Fu(\),)26 b(since)h(this)f(ensures) -f(that)i(Bash)f(will)h(b)s(e)f(used)f(to)i(in)m(terpret)f(the)h -(script,)g(ev)m(en)g(if)f(it)h(is)f(executed)150 1091 -y(under)j(another)h(shell.)p eop end +y(The)35 b(argumen)m(ts)h(to)h(the)f(in)m(terpreter)h(consist)f(of)h +(one)f(or)g(more)g(optional)h(argumen)m(ts)f(follo)m(wing)150 +408 y(the)e(in)m(terpreter)g(name)g(on)g(the)g(\014rst)g(line)g(of)g +(the)g(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y)e(the)g(name)g(of)g +(the)g(script)150 518 y(\014le,)k(follo)m(w)m(ed)g(b)m(y)e(the)g(rest)g +(of)g(the)h(argumen)m(ts)f(supplied)f(to)i(the)f(script.)58 +b(The)35 b(details)i(of)g(ho)m(w)f(the)150 628 y(in)m(terpreter)26 +b(line)g(is)g(split)g(in)m(to)h(an)f(in)m(terpreter)g(name)g(and)f(a)h +(set)h(of)e(argumen)m(ts)i(v)-5 b(ary)25 b(across)i(systems.)150 +737 y(Bash)j(will)f(p)s(erform)g(this)g(action)i(on)e(op)s(erating)h +(systems)g(that)g(do)f(not)h(handle)f(it)h(themselv)m(es.)42 +b(Note)150 847 y(that)e(some)g(older)g(v)m(ersions)g(of)g(Unix)f(limit) +i(the)f(in)m(terpreter)g(name)g(and)f(a)h(single)g(argumen)m(t)g(to)h +(a)150 956 y(maxim)m(um)21 b(of)g(32)h(c)m(haracters,)j(so)c(it's)h +(not)g(p)s(ortable)f(to)h(assume)e(that)i(using)f(more)g(than)g(one)g +(argumen)m(t)150 1066 y(will)31 b(w)m(ork.)275 1200 y(Bash)h(scripts)g +(often)g(b)s(egin)g(with)g Ft(#!)e(/bin/bash)g Fu(\(assuming)i(that)h +(Bash)f(has)g(b)s(een)f(installed)i(in)150 1310 y Ft(/bin)p +Fu(\),)26 b(since)h(this)f(ensures)f(that)i(Bash)f(will)h(b)s(e)f(used) +f(to)i(in)m(terpret)f(the)h(script,)g(ev)m(en)g(if)f(it)h(is)f +(executed)150 1420 y(under)h(another)h(shell.)41 b(It's)28 +b(a)h(common)g(idiom)f(to)h(use)f Ft(env)g Fu(to)h(\014nd)e +Ft(bash)g Fu(ev)m(en)i(if)f(it's)i(b)s(een)d(installed)150 +1529 y(in)h(another)g(directory:)40 b Ft(#!/usr/bin/env)27 +b(bash)f Fu(will)j(\014nd)d(the)j(\014rst)e(o)s(ccurrence)h(of)g +Ft(bash)f Fu(in)h Ft($PATH)p Fu(.)p eop end %%Page: 44 50 TeXDict begin 44 49 bop 3659 -116 a Fu(44)150 299 y Fp(4)80 b(Shell)53 b(Builtin)f(Commands)150 499 y Fu(Builtin)34 @@ -11481,7 +11508,7 @@ Fr(v)-5 b(alue)p Fu(.)630 3499 y(The)29 b(return)e(status)j(is)f(zero)h b(shell)h(v)-5 b(ariable)33 b(name,)i(or)e Ft(-f)f Fu(is)h(supplied)f (with)h(a)g(name)g(that)h(is)f(not)h(a)630 3718 y(shell)d(function.)150 3871 y Ft(getopts)870 4003 y(getopts)46 b Fj(optstring)f(name)i -Ft([)p Fj(args)p Ft(])630 4134 y(getopts)28 b Fu(is)i(used)g(b)m(y)g +Ft([)p Fj(arg)f Ft(...])630 4134 y(getopts)28 b Fu(is)i(used)g(b)m(y)g (shell)g(scripts)g(to)g(parse)g(p)s(ositional)h(parameters.)41 b Fr(optstring)d Fu(con-)630 4244 y(tains)k(the)g(option)f(c)m (haracters)i(to)g(b)s(e)d(recognized;)49 b(if)42 b(a)f(c)m(haracter)j @@ -11518,9 +11545,10 @@ g(index)f(of)g(the)h(\014rst)f(non-option)g(argumen)m(t,)630 518 y(and)g Fr(name)35 b Fu(is)c(set)g(to)g(`)p Ft(?)p Fu('.)630 655 y Ft(getopts)c Fu(normally)j(parses)e(the)i(p)s (ositional)g(parameters,)g(but)e(if)i(more)f(argumen)m(ts)h(are)630 -765 y(giv)m(en)h(in)f Fr(args)p Fu(,)h Ft(getopts)e Fu(parses)h(those)h -(instead.)630 902 y Ft(getopts)h Fu(can)h(rep)s(ort)g(errors)g(in)h(t)m -(w)m(o)h(w)m(a)m(ys.)51 b(If)33 b(the)h(\014rst)e(c)m(haracter)k(of)d +765 y(supplied)f(as)i Fr(arg)38 b Fu(v)-5 b(alues,)31 +b Ft(getopts)e Fu(parses)h(those)h(instead.)630 902 y +Ft(getopts)h Fu(can)h(rep)s(ort)g(errors)g(in)h(t)m(w)m(o)h(w)m(a)m +(ys.)51 b(If)33 b(the)h(\014rst)e(c)m(haracter)k(of)d Fr(optstring)42 b Fu(is)34 b(a)630 1011 y(colon,)g Fr(silen)m(t)h Fu(error)d(rep)s(orting)f(is)i(used.)45 b(In)31 b(normal)h(op)s (eration,)h(diagnostic)h(messages)630 1121 y(are)c(prin)m(ted)e(when)g @@ -13286,86 +13314,79 @@ Ft(case)d Fu(or)h Ft([[)g Fu(conditional)h(com-)1110 b(set,)j(Bash)e(allo)m(ws)g(\014lename)g(patterns)g(whic)m(h)f(matc)m (h)h(no)g(\014les)f(to)i(expand)1110 4971 y(to)31 b(a)g(n)m(ull)f (string,)h(rather)f(than)g(themselv)m(es.)630 5121 y -Ft(posixglob)1110 5230 y Fu(If)43 b(set,)49 b(Bash)44 -b(mak)m(es)h(w)m(ords)e(con)m(taining)i(unquoted)f(bac)m(kslashes)g -(after)1110 5340 y(expansion)24 b(eligible)h(for)f(\014lename)g -(expansion,)h(ev)m(en)f(if)g(they)g(don't)g(con)m(tain)p +Ft(progcomp)96 b Fu(If)25 b(set,)i(the)f(programmable)g(completion)g +(facilities)i(\(see)f(Section)f(8.6)h([Pro-)1110 5230 +y(grammable)45 b(Completion],)k(page)c(135\))h(are)f(enabled.)82 +b(This)44 b(option)h(is)1110 5340 y(enabled)30 b(b)m(y)h(default.)p eop end %%Page: 72 78 TeXDict begin 72 77 bop 150 -116 a Fu(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(72)1110 299 y(an)m(y)33 -b(other)g(unquoted)f(pattern)h(c)m(haracters.)49 b(This)32 -b(option)i(is)e(enabled)h(b)m(y)1110 408 y(default)e(and)e(is)i -(enabled)f(when)f Fm(posix)h Fu(mo)s(de)g(is)g(enabled.)630 -558 y Ft(progcomp)96 b Fu(If)25 b(set,)i(the)f(programmable)g -(completion)g(facilities)i(\(see)f(Section)f(8.6)h([Pro-)1110 -667 y(grammable)45 b(Completion],)k(page)c(135\))h(are)f(enabled.)82 -b(This)44 b(option)h(is)1110 777 y(enabled)30 b(b)m(y)h(default.)630 -926 y Ft(progcomp_alias)1110 1036 y Fu(If)23 b(set,)j(and)d -(programmable)h(completion)h(is)f(enabled,)h(Bash)f(treats)h(a)f(com-) -1110 1145 y(mand)34 b(name)h(that)g(do)s(esn't)f(ha)m(v)m(e)i(an)m(y)g -(completions)f(as)g(a)g(p)s(ossible)g(alias)1110 1255 -y(and)40 b(attempts)i(alias)h(expansion.)72 b(If)41 b(it)g(has)g(an)g -(alias,)k(Bash)c(attempts)1110 1365 y(programmable)28 -b(completion)h(using)e(the)h(command)f(w)m(ord)h(resulting)f(from)1110 -1474 y(the)k(expanded)e(alias.)630 1623 y Ft(promptvars)1110 -1733 y Fu(If)50 b(set,)56 b(prompt)49 b(strings)h(undergo)g(parameter)h -(expansion,)k(command)1110 1843 y(substitution,)35 b(arithmetic)g -(expansion,)g(and)e(quote)i(remo)m(v)-5 b(al)35 b(after)f(b)s(eing)1110 -1952 y(expanded)53 b(as)h(describ)s(ed)e(b)s(elo)m(w)i(\(see)h(Section) -f(6.9)h([Con)m(trolling)g(the)1110 2062 y(Prompt],)30 -b(page)h(98\).)42 b(This)30 b(option)h(is)f(enabled)h(b)m(y)f(default.) -630 2211 y Ft(restricted_shell)1110 2321 y Fu(The)40 -b(shell)h(sets)g(this)g(option)g(if)g(it)h(is)e(started)i(in)e -(restricted)i(mo)s(de)e(\(see)1110 2430 y(Section)32 -b(6.10)h([The)d(Restricted)j(Shell],)e(page)h(100\).)45 -b(The)30 b(v)-5 b(alue)32 b(ma)m(y)g(not)1110 2540 y(b)s(e)g(c)m -(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f(the)h(startup)g -(\014les)f(are)i(executed,)1110 2649 y(allo)m(wing)k(the)e(startup)f -(\014les)h(to)g(disco)m(v)m(er)h(whether)f(or)f(not)i(a)f(shell)g(is)g -(re-)1110 2759 y(stricted.)630 2908 y Ft(shift_verbose)1110 -3018 y Fu(If)g(this)g(is)g(set,)j(the)d Ft(shift)f Fu(builtin)h(prin)m -(ts)f(an)h(error)g(message)i(when)d(the)1110 3127 y(shift)30 -b(coun)m(t)h(exceeds)g(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)i -(parameters.)630 3277 y Ft(sourcepath)1110 3386 y Fu(If)22 -b(set,)j(the)e Ft(source)e Fu(builtin)h(uses)g(the)h(v)-5 -b(alue)23 b(of)g Ft(PATH)e Fu(to)j(\014nd)d(the)h(directory)1110 -3496 y(con)m(taining)29 b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m -(t.)40 b(This)27 b(option)h(is)f(enabled)1110 3606 y(b)m(y)j(default.) -630 3755 y Ft(xpg_echo)96 b Fu(If)31 b(set,)h(the)g Ft(echo)e +b(Shell)30 b(Builtin)h(Commands)2069 b(72)630 299 y Ft(progcomp_alias) +1110 408 y Fu(If)23 b(set,)j(and)d(programmable)h(completion)h(is)f +(enabled,)h(Bash)f(treats)h(a)f(com-)1110 518 y(mand)34 +b(name)h(that)g(do)s(esn't)f(ha)m(v)m(e)i(an)m(y)g(completions)f(as)g +(a)g(p)s(ossible)g(alias)1110 628 y(and)40 b(attempts)i(alias)h +(expansion.)72 b(If)41 b(it)g(has)g(an)g(alias,)k(Bash)c(attempts)1110 +737 y(programmable)28 b(completion)h(using)e(the)h(command)f(w)m(ord)h +(resulting)f(from)1110 847 y(the)k(expanded)e(alias.)630 +996 y Ft(promptvars)1110 1106 y Fu(If)50 b(set,)56 b(prompt)49 +b(strings)h(undergo)g(parameter)h(expansion,)k(command)1110 +1215 y(substitution,)35 b(arithmetic)g(expansion,)g(and)e(quote)i(remo) +m(v)-5 b(al)35 b(after)f(b)s(eing)1110 1325 y(expanded)53 +b(as)h(describ)s(ed)e(b)s(elo)m(w)i(\(see)h(Section)f(6.9)h([Con)m +(trolling)g(the)1110 1434 y(Prompt],)30 b(page)h(98\).)42 +b(This)30 b(option)h(is)f(enabled)h(b)m(y)f(default.)630 +1584 y Ft(restricted_shell)1110 1693 y Fu(The)40 b(shell)h(sets)g(this) +g(option)g(if)g(it)h(is)e(started)i(in)e(restricted)i(mo)s(de)e(\(see) +1110 1803 y(Section)32 b(6.10)h([The)d(Restricted)j(Shell],)e(page)h +(100\).)45 b(The)30 b(v)-5 b(alue)32 b(ma)m(y)g(not)1110 +1913 y(b)s(e)g(c)m(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f +(the)h(startup)g(\014les)f(are)i(executed,)1110 2022 +y(allo)m(wing)k(the)e(startup)f(\014les)h(to)g(disco)m(v)m(er)h +(whether)f(or)f(not)i(a)f(shell)g(is)g(re-)1110 2132 +y(stricted.)630 2281 y Ft(shift_verbose)1110 2391 y Fu(If)g(this)g(is)g +(set,)j(the)d Ft(shift)f Fu(builtin)h(prin)m(ts)f(an)h(error)g(message) +i(when)d(the)1110 2500 y(shift)30 b(coun)m(t)h(exceeds)g(the)g(n)m(um)m +(b)s(er)e(of)h(p)s(ositional)i(parameters.)630 2649 y +Ft(sourcepath)1110 2759 y Fu(If)22 b(set,)j(the)e Ft(source)e +Fu(builtin)h(uses)g(the)h(v)-5 b(alue)23 b(of)g Ft(PATH)e +Fu(to)j(\014nd)d(the)h(directory)1110 2869 y(con)m(taining)29 +b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m(t.)40 +b(This)27 b(option)h(is)f(enabled)1110 2978 y(b)m(y)j(default.)630 +3127 y Ft(xpg_echo)96 b Fu(If)31 b(set,)h(the)g Ft(echo)e Fu(builtin)h(expands)f(bac)m(kslash-escap)s(e)j(sequences)f(b)m(y)f -(de-)1110 3864 y(fault.)630 4014 y(The)c(return)f(status)i(when)f +(de-)1110 3237 y(fault.)630 3386 y(The)c(return)f(status)i(when)f (listing)h(options)g(is)f(zero)i(if)e(all)i Fr(optnames)i -Fu(are)d(enabled,)g(non-)630 4123 y(zero)40 b(otherwise.)66 +Fu(are)d(enabled,)g(non-)630 3496 y(zero)40 b(otherwise.)66 b(When)39 b(setting)h(or)f(unsetting)g(options,)i(the)e(return)f -(status)h(is)g(zero)630 4233 y(unless)30 b(an)g Fr(optname)36 +(status)h(is)g(zero)630 3606 y(unless)30 b(an)g Fr(optname)36 b Fu(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)150 -4463 y Fs(4.4)68 b(Sp)t(ecial)45 b(Builtins)150 4623 +3836 y Fs(4.4)68 b(Sp)t(ecial)45 b(Builtins)150 3996 y Fu(F)-8 b(or)35 b(historical)h(reasons,)g(the)e Fm(posix)g Fu(standard)f(has)i(classi\014ed)f(sev)m(eral)i(builtin)e(commands)g -(as)h Fl(sp)-5 b(e-)150 4732 y(cial)p Fu(.)47 b(When)33 +(as)h Fl(sp)-5 b(e-)150 4105 y(cial)p Fu(.)47 b(When)33 b(Bash)f(is)h(executing)g(in)f Fm(posix)g Fu(mo)s(de,)h(the)g(sp)s (ecial)g(builtins)e(di\013er)i(from)f(other)g(builtin)150 -4842 y(commands)e(in)g(three)h(resp)s(ects:)199 4972 +4215 y(commands)e(in)g(three)h(resp)s(ects:)199 4344 y(1.)61 b(Sp)s(ecial)31 b(builtins)e(are)i(found)e(b)s(efore)h(shell)h -(functions)f(during)f(command)h(lo)s(okup.)199 5101 y(2.)61 +(functions)f(during)f(command)h(lo)s(okup.)199 4474 y(2.)61 b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h(error)g(status,)h -(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199 5230 +(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199 4603 y(3.)61 b(Assignmen)m(t)30 b(statemen)m(ts)h(preceding)f(the)f(command) g(sta)m(y)i(in)e(e\013ect)i(in)e(the)h(shell)f(en)m(vironmen)m(t)330 -5340 y(after)i(the)f(command)h(completes.)p eop end -%%Page: 73 79 -TeXDict begin 73 78 bop 150 -116 a Fu(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(73)275 299 y(When)36 +4713 y(after)i(the)f(command)h(completes.)275 4862 y(When)36 b(Bash)g(is)h(not)f(executing)i(in)e Fm(posix)f Fu(mo)s(de,)j(these)f (builtins)f(b)s(eha)m(v)m(e)h(no)f(di\013eren)m(tly)h(than)150 -408 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41 +4972 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41 b(The)30 b(Bash)g Fm(posix)g Fu(mo)s(de)g(is)g(describ)s(ed)f(in)h -(Section)h(6.11)150 518 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(100.)275 -653 y(These)f(are)g(the)h Fm(posix)f Fu(sp)s(ecial)h(builtins:)390 -787 y Ft(break)46 b(:)i(.)f(continue)f(eval)g(exec)h(exit)g(export)f -(readonly)f(return)h(set)390 897 y(shift)g(trap)h(unset)p -eop end +(Section)h(6.11)150 5081 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(100.)275 +5211 y(These)f(are)g(the)h Fm(posix)f Fu(sp)s(ecial)h(builtins:)390 +5340 y Ft(break)46 b(:)i(.)f(continue)f(eval)g(exec)h(exit)g(export)f +(readonly)f(return)h(set)p eop end +%%Page: 73 79 +TeXDict begin 73 78 bop 150 -116 a Fu(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(73)390 299 y Ft(shift)46 +b(trap)h(unset)p eop end %%Page: 74 80 TeXDict begin 74 79 bop 3659 -116 a Fu(74)150 299 y Fp(5)80 b(Shell)53 b(V)-13 b(ariables)150 522 y Fu(This)21 b(c)m(hapter)i @@ -13595,8 +13616,7 @@ b(arra)m(y)i(v)-5 b(ariable)44 b(whose)g(mem)m(b)s(ers)f(are)h 5230 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27 b(elemen)m(t)j(with)d(index)h Fr(n)f Fu(is)h(the)g(p)s(ortion)g(of)g (the)g(string)630 5340 y(matc)m(hing)j(the)g Fr(n)p Fu(th)f(paren)m -(thesized)h(sub)s(expression.)39 b(This)29 b(v)-5 b(ariable)31 -b(is)g(read-only)-8 b(.)p eop end +(thesized)h(sub)s(expression.)p eop end %%Page: 77 83 TeXDict begin 77 82 bop 150 -116 a Fu(Chapter)30 b(5:)41 b(Shell)30 b(V)-8 b(ariables)2459 b(77)150 299 y Ft(BASH_SOURCE)630 @@ -14672,7 +14692,7 @@ b(after)g(`)p Ft(set)29 b(-u)p Fu(')k(has)g(b)s(een)330 (errors)g(caused)g(b)m(y)h Fr(v)-5 b(ar)54 b Fu(b)s(eing)48 b(unset)g(or)h(n)m(ull)f(in)330 2128 y Ft(${)p Fj(var)p Ft(:?)p Fj(word)p Ft(})27 b Fu(expansions)j(\(see)h(Section)h(3.5.3)g -([Shell)e(P)m(arameter)i(Expansion],)e(page)h(24\).)154 +([Shell)e(P)m(arameter)i(Expansion],)e(page)h(25\).)154 2261 y(16.)61 b(Redirection)31 b(errors)f(encoun)m(tered)h(b)m(y)f (shell)h(builtins)f(will)g(not)h(cause)g(the)f(shell)h(to)g(exit.)154 2393 y(17.)61 b(When)26 b(running)f(in)i Fm(posix)e Fu(mo)s(de,)j(a)f @@ -15575,105 +15595,100 @@ TeXDict begin 103 108 bop 150 -116 a Fu(Chapter)30 b(6:)41 b(Bash)30 b(F)-8 b(eatures)2439 b(103)330 299 y(paren)m(t)37 b(shell.)62 b(When)37 b(the)g Ft(inherit_errexit)c Fu(option)38 b(is)f(not)h(enabled,)h(Bash)e(clears)h(the)g Ft(-e)330 -408 y Fu(option)31 b(in)f(suc)m(h)g(subshells.)154 537 +408 y Fu(option)31 b(in)f(suc)m(h)g(subshells.)154 542 y(44.)61 b(Enabling)32 b Fm(posix)f Fu(mo)s(de)h(has)g(the)h(e\013ect)g (of)g(setting)g(the)g Ft(shift_verbose)28 b Fu(option,)34 -b(so)e(n)m(umeric)330 647 y(argumen)m(ts)f(to)g Ft(shift)f +b(so)e(n)m(umeric)330 652 y(argumen)m(ts)f(to)g Ft(shift)f Fu(that)h(exceed)h(the)e(n)m(um)m(b)s(er)g(of)h(p)s(ositional)g -(parameters)g(will)g(result)g(in)f(an)330 757 y(error)g(message.)154 -886 y(45.)61 b(Enabling)41 b Fm(posix)f Fu(mo)s(de)h(has)f(the)i -(e\013ect)g(of)f(setting)i(the)e Ft(posixglob)d Fu(option,)45 -b(whic)m(h)40 b(a\013ects)330 995 y(ho)m(w)j(unquoted)f(bac)m(kslashes) -i(are)g(treated)g(during)d(\014lename)j(expansion)e(\(see)i(Section)g -(3.5.8)330 1105 y([Filename)32 b(Expansion],)e(page)h(32\).)154 -1234 y(46.)61 b(When)43 b(the)g Ft(alias)f Fu(builtin)g(displa)m(ys)i +(parameters)g(will)g(result)g(in)f(an)330 762 y(error)g(message.)154 +896 y(45.)61 b(When)43 b(the)g Ft(alias)f Fu(builtin)g(displa)m(ys)i (alias)g(de\014nitions,)i(it)d(do)s(es)g(not)g(displa)m(y)h(them)f -(with)g(a)330 1343 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g -Ft(-p)g Fu(option)h(is)f(supplied.)154 1472 y(47.)61 +(with)g(a)330 1005 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g +Ft(-p)g Fu(option)h(is)f(supplied.)154 1139 y(46.)61 b(When)40 b(the)g Ft(set)f Fu(builtin)h(is)g(in)m(v)m(ok)m(ed)h (without)f(options,)j(it)e(do)s(es)f(not)g(displa)m(y)g(shell)g -(function)330 1582 y(names)30 b(and)g(de\014nitions.)154 -1711 y(48.)61 b(When)36 b(the)g Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok) +(function)330 1249 y(names)30 b(and)g(de\014nitions.)154 +1383 y(47.)61 b(When)36 b(the)g Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok) m(ed)i(without)e(options,)i(it)f(displa)m(ys)f(v)-5 b(ariable)37 -b(v)-5 b(alues)37 b(without)330 1820 y(quotes,)26 b(unless)d(they)i +b(v)-5 b(alues)37 b(without)330 1492 y(quotes,)26 b(unless)d(they)i (con)m(tain)g(shell)f(metac)m(haracters,)k(ev)m(en)d(if)f(the)g(result) -g(con)m(tains)i(nonprin)m(ting)330 1930 y(c)m(haracters.)154 -2059 y(49.)61 b(When)35 b(the)g Ft(cd)f Fu(builtin)h(is)g(in)m(v)m(ok)m +g(con)m(tains)i(nonprin)m(ting)330 1602 y(c)m(haracters.)154 +1736 y(48.)61 b(When)35 b(the)g Ft(cd)f Fu(builtin)h(is)g(in)m(v)m(ok)m (ed)i(in)d Fr(logical)41 b Fu(mo)s(de,)36 b(and)f(the)g(pathname)g -(constructed)g(from)330 2168 y Ft($PWD)i Fu(and)h(the)h(directory)f +(constructed)g(from)330 1845 y Ft($PWD)i Fu(and)h(the)h(directory)f (name)h(supplied)e(as)i(an)f(argumen)m(t)h(do)s(es)f(not)g(refer)h(to)g -(an)f(existing)330 2278 y(directory)-8 b(,)32 b Ft(cd)d +(an)f(existing)330 1955 y(directory)-8 b(,)32 b Ft(cd)d Fu(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f -Fr(ph)m(ysical)j Fu(mo)s(de.)154 2407 y(50.)61 b(When)37 +Fr(ph)m(ysical)j Fu(mo)s(de.)154 2089 y(49.)61 b(When)37 b(the)h Ft(cd)f Fu(builtin)g(cannot)h(c)m(hange)h(a)f(directory)g(b)s -(ecause)g(the)g(length)g(of)f(the)h(pathname)330 2516 +(ecause)g(the)g(length)g(of)f(the)h(pathname)330 2198 y(constructed)52 b(from)f Ft($PWD)f Fu(and)g(the)i(directory)g(name)f -(supplied)f(as)i(an)f(argumen)m(t)h(exceeds)330 2626 -y Fr(P)-8 b(A)g(TH)p 584 2626 28 4 v 41 w(MAX)42 b Fu(when)31 +(supplied)f(as)i(an)f(argumen)m(t)h(exceeds)330 2308 +y Fr(P)-8 b(A)g(TH)p 584 2308 28 4 v 41 w(MAX)42 b Fu(when)31 b(all)j(sym)m(b)s(olic)e(links)h(are)f(expanded,)h Ft(cd)f -Fu(will)g(fail)h(instead)g(of)g(attempting)330 2736 y(to)e(use)f(only)h -(the)f(supplied)f(directory)i(name.)154 2865 y(51.)61 +Fu(will)g(fail)h(instead)g(of)g(attempting)330 2418 y(to)e(use)f(only)h +(the)f(supplied)f(directory)i(name.)154 2552 y(50.)61 b(The)36 b Ft(pwd)f Fu(builtin)h(v)m(eri\014es)h(that)g(the)f(v)-5 b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)m(t)f -(directory)-8 b(,)330 2974 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m +(directory)-8 b(,)330 2661 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m (ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h -Ft(-P)e Fu(option.)154 3103 y(52.)61 b(When)35 b(listing)g(the)g +Ft(-P)e Fu(option.)154 2795 y(51.)61 b(When)35 b(listing)g(the)g (history)-8 b(,)36 b(the)f Ft(fc)g Fu(builtin)f(do)s(es)g(not)h -(include)g(an)f(indication)i(of)f(whether)f(or)330 3213 +(include)g(an)f(indication)i(of)f(whether)f(or)330 2905 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154 -3342 y(53.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g -Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 3471 y(54.)61 b(The)37 +3039 y(52.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g +Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 3173 y(53.)61 b(The)37 b Ft(type)g Fu(and)g Ft(command)f Fu(builtins)i(will)g(not)g(rep)s(ort) f(a)i(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s(een)330 -3580 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g +3282 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g (execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g(so-named) -g(\014le)330 3690 y(found)i(in)h Ft($PATH)p Fu(.)154 -3819 y(55.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m +g(\014le)330 3392 y(found)i(in)h Ft($PATH)p Fu(.)154 +3526 y(54.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m (ok)m(e)i(the)e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p -Ft(v)p Fu(')f(command)g(is)g(run,)330 3928 y(instead)e(of)f(c)m(hec)m -(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 4057 -y(56.)61 b(When)41 b(the)g Ft(xpg_echo)e Fu(option)i(is)g(enabled,)j +Ft(v)p Fu(')f(command)g(is)g(run,)330 3635 y(instead)e(of)f(c)m(hec)m +(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 3769 +y(55.)61 b(When)41 b(the)g Ft(xpg_echo)e Fu(option)i(is)g(enabled,)j (Bash)d(do)s(es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330 -4167 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54 +3879 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54 b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)m(y)m(ed,)j(after)e(escap)s(e) -g(c)m(haracters)h(are)330 4276 y(con)m(v)m(erted.)154 -4405 y(57.)61 b(The)30 b Ft(ulimit)f Fu(builtin)g(uses)h(a)h(blo)s(c)m +g(c)m(haracters)h(are)330 3988 y(con)m(v)m(erted.)154 +4122 y(56.)61 b(The)30 b Ft(ulimit)f Fu(builtin)g(uses)h(a)h(blo)s(c)m (k)g(size)g(of)g(512)g(b)m(ytes)g(for)f(the)h Ft(-c)f -Fu(and)g Ft(-f)f Fu(options.)154 4534 y(58.)61 b(The)39 +Fu(and)g Ft(-f)f Fu(options.)154 4256 y(57.)61 b(The)39 b(arriv)-5 b(al)41 b(of)f Ft(SIGCHLD)e Fu(when)h(a)h(trap)g(is)g(set)h (on)f Ft(SIGCHLD)e Fu(do)s(es)h(not)h(in)m(terrupt)g(the)g -Ft(wait)330 4644 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f +Ft(wait)330 4366 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f (immediately)-8 b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j -(for)f(eac)m(h)330 4753 y(c)m(hild)31 b(that)g(exits.)154 -4882 y(59.)61 b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m +(for)f(eac)m(h)330 4475 y(c)m(hild)31 b(that)g(exits.)154 +4609 y(58.)61 b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m (terrupted)h(b)m(y)g(a)h(signal)f(for)g(whic)m(h)g(a)h(trap)f(has)g(b)s -(een)f(set.)40 b(If)27 b(Bash)330 4992 y(receiv)m(es)41 +(een)f(set.)40 b(If)27 b(Bash)330 4719 y(receiv)m(es)41 b(a)f(trapp)s(ed)e(signal)i(while)f(executing)h Ft(read)p Fu(,)h(the)e(trap)h(handler)e(executes)i(and)f Ft(read)330 -5101 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)154 -5230 y(60.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e +4829 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)154 +4963 y(59.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e (pro)s(cess's)h(status)g(from)f(the)h(list)g(of)g(suc)m(h)f(statuses)h -(after)330 5340 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain) -g(it.)p eop end +(after)330 5072 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain) +g(it.)275 5230 y(There)j(is)g(other)h Fm(posix)f Fu(b)s(eha)m(vior)h +(that)g(Bash)g(do)s(es)f(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m +(en)i(when)d(in)150 5340 y Fm(posix)d Fu(mo)s(de.)40 +b(Sp)s(eci\014cally:)p eop end %%Page: 104 110 TeXDict begin 104 109 bop 150 -116 a Fu(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2439 b(104)275 299 y(There)34 -b(is)g(other)h Fm(posix)f Fu(b)s(eha)m(vior)h(that)g(Bash)g(do)s(es)f -(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in)150 -408 y Fm(posix)d Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199 -543 y(1.)61 b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i -Ft($EDITOR)c Fu(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h -(if)f Ft(FCEDIT)f Fu(is)h(unset,)330 653 y(rather)g(than)g(defaulting)h +b(Bash)30 b(F)-8 b(eatures)2439 b(104)199 299 y(1.)61 +b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i Ft($EDITOR)c +Fu(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h(if)f +Ft(FCEDIT)f Fu(is)h(unset,)330 408 y(rather)g(than)g(defaulting)h (directly)g(to)g Ft(ed)p Fu(.)40 b Ft(fc)30 b Fu(uses)g -Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 787 y(2.)61 +Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 543 y(2.)61 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i(Bash)e(requires)g(the)g Ft(xpg_echo)e Fu(option)j(to)g(b)s(e)e(enabled)h(for)g(the)g -Ft(echo)f Fu(builtin)330 897 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 -1056 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g +Ft(echo)f Fu(builtin)330 653 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 +812 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g Fm(posix)p Fu(-conforman)m(t)g(b)m(y)g(default,)h(b)m(y)f(sp)s -(ecifying)g(the)g Ft(--enable-)150 1166 y(strict-posix-default)c +(ecifying)g(the)g Ft(--enable-)150 922 y(strict-posix-default)c Fu(to)27 b Ft(configure)e Fu(when)h(building)h(\(see)h(Section)g(10.8)g -([Optional)g(F)-8 b(eatures],)150 1275 y(page)31 b(153\).)p +([Optional)g(F)-8 b(eatures],)150 1031 y(page)31 b(153\).)p eop end %%Page: 105 111 TeXDict begin 105 110 bop 3614 -116 a Fu(105)150 299 @@ -15895,83 +15910,93 @@ b(return)g(status)h(is)g(zero)g(if)g(at)g(least)h(one)f(signal)h(w)m (as)f(successfully)g(sen)m(t,)h(or)630 2981 y(non-zero)d(if)f(an)h (error)f(o)s(ccurs)g(or)g(an)g(in)m(v)-5 b(alid)31 b(option)g(is)f (encoun)m(tered.)150 3133 y Ft(wait)870 3263 y(wait)47 -b([-fn])f([)p Fj(jobspec)g Ft(or)h Fj(pid)g Ft(...)o(])630 -3393 y Fu(W)-8 b(ait)28 b(un)m(til)f(the)f(c)m(hild)h(pro)s(cess)f(sp)s -(eci\014ed)g(b)m(y)g(eac)m(h)h(pro)s(cess)f Fm(id)h Fr(pid)i -Fu(or)d(job)g(sp)s(eci\014cation)630 3503 y Fr(jobsp)s(ec)40 -b Fu(exits)35 b(and)f(return)g(the)g(exit)i(status)f(of)g(the)g(last)g -(command)f(w)m(aited)i(for.)53 b(If)35 b(a)630 3613 y(job)g(sp)s(ec)f -(is)h(giv)m(en,)i(all)f(pro)s(cesses)f(in)f(the)h(job)g(are)g(w)m -(aited)h(for.)54 b(If)35 b(no)f(argumen)m(ts)i(are)630 -3722 y(giv)m(en,)28 b Ft(wait)c Fu(w)m(aits)j(for)e(all)i(running)c -(bac)m(kground)j(jobs)f(and)g(the)h(last-executed)h(pro)s(cess)630 -3832 y(substitution,)i(if)g(its)h(pro)s(cess)f(id)g(is)g(the)g(same)h -(as)f Fr($!)p Fu(,)i(and)d(the)h(return)g(status)g(is)g(zero.)41 -b(If)630 3941 y(the)32 b Ft(-n)e Fu(option)i(is)g(supplied,)e +b([-fn])f([-p)h Fj(varname)p Ft(])e([)p Fj(jobspec)h +Ft(or)h Fj(pid)g Ft(...)o(])630 3393 y Fu(W)-8 b(ait)28 +b(un)m(til)f(the)f(c)m(hild)h(pro)s(cess)f(sp)s(eci\014ed)g(b)m(y)g +(eac)m(h)h(pro)s(cess)f Fm(id)h Fr(pid)i Fu(or)d(job)g(sp)s +(eci\014cation)630 3503 y Fr(jobsp)s(ec)40 b Fu(exits)35 +b(and)f(return)g(the)g(exit)i(status)f(of)g(the)g(last)g(command)f(w)m +(aited)i(for.)53 b(If)35 b(a)630 3613 y(job)g(sp)s(ec)f(is)h(giv)m(en,) +i(all)f(pro)s(cesses)f(in)f(the)h(job)g(are)g(w)m(aited)h(for.)54 +b(If)35 b(no)f(argumen)m(ts)i(are)630 3722 y(giv)m(en,)28 +b Ft(wait)c Fu(w)m(aits)j(for)e(all)i(running)c(bac)m(kground)j(jobs)f +(and)g(the)h(last-executed)h(pro)s(cess)630 3832 y(substitution,)i(if)g +(its)h(pro)s(cess)f(id)g(is)g(the)g(same)h(as)f Fr($!)p +Fu(,)i(and)d(the)h(return)g(status)g(is)g(zero.)41 b(If)630 +3941 y(the)32 b Ft(-n)e Fu(option)i(is)g(supplied,)e Ft(wait)g Fu(w)m(aits)j(for)e(a)h(single)g(job)f(to)h(terminate)g(and)f -(returns)630 4051 y(its)39 b(exit)h(status.)65 b(Supplying)38 -b(the)g Ft(-f)g Fu(option,)k(when)37 b(job)i(con)m(trol)h(is)f -(enabled,)h(forces)630 4161 y Ft(wait)33 b Fu(to)j(w)m(ait)g(for)e(eac) -m(h)i Fr(pid)h Fu(or)e Fr(jobsp)s(ec)k Fu(to)d(terminate)f(b)s(efore)g -(returning)e(its)i(status,)630 4270 y(in)m(tead)c(of)g(returning)e -(when)h(it)h(c)m(hanges)g(status.)41 b(If)30 b(neither)h -Fr(jobsp)s(ec)k Fu(nor)30 b Fr(pid)j Fu(sp)s(eci\014es)630 -4380 y(an)d(activ)m(e)j(c)m(hild)e(pro)s(cess)f(of)g(the)h(shell,)f -(the)h(return)e(status)i(is)f(127.)150 4531 y Ft(disown)870 -4662 y(disown)46 b([-ar])g([-h])h([)p Fj(jobspec)f Ft(...)h(|)g -Fj(pid)g Ft(...)g(])630 4792 y Fu(Without)33 b(options,)h(remo)m(v)m(e) +(returns)630 4051 y(its)h(exit)h(status.)46 b(If)32 b(the)g +Ft(-p)f Fu(option)i(is)f(supplied,)f(the)h(pro)s(cess)g(or)g(job)f +(iden)m(ti\014er)i(of)f(the)630 4161 y(job)38 b(for)g(whic)m(h)f(the)i +(exit)g(status)f(is)g(returned)f(is)h(assigned)h(to)g(the)f(v)-5 +b(ariable)39 b Fr(v)-5 b(arname)630 4270 y Fu(named)29 +b(b)m(y)f(the)i(option)f(argumen)m(t.)41 b(The)28 b(v)-5 +b(ariable)30 b(will)g(b)s(e)e(unset)h(initially)-8 b(,)31 +b(b)s(efore)e(an)m(y)630 4380 y(assignmen)m(t.)76 b(This)41 +b(is)h(useful)f(only)h(when)f(the)h Ft(-n)f Fu(option)i(is)f(supplied.) +74 b(Supplying)630 4489 y(the)39 b Ft(-f)f Fu(option,)k(when)37 +b(job)i(con)m(trol)h(is)f(enabled,)i(forces)e Ft(wait)e +Fu(to)j(w)m(ait)g(for)e(eac)m(h)i Fr(pid)630 4599 y Fu(or)29 +b Fr(jobsp)s(ec)34 b Fu(to)c(terminate)g(b)s(efore)f(returning)f(its)h +(status,)h(in)m(tead)g(of)f(returning)f(when)g(it)630 +4709 y(c)m(hanges)37 b(status.)58 b(If)35 b(neither)h +Fr(jobsp)s(ec)41 b Fu(nor)36 b Fr(pid)i Fu(sp)s(eci\014es)e(an)g(activ) +m(e)i(c)m(hild)e(pro)s(cess)g(of)630 4818 y(the)31 b(shell,)f(the)h +(return)e(status)i(is)f(127.)150 4969 y Ft(disown)870 +5100 y(disown)46 b([-ar])g([-h])h([)p Fj(jobspec)f Ft(...)h(|)g +Fj(pid)g Ft(...)g(])630 5230 y Fu(Without)33 b(options,)h(remo)m(v)m(e) g(eac)m(h)f Fr(jobsp)s(ec)38 b Fu(from)32 b(the)h(table)g(of)g(activ)m -(e)h(jobs.)47 b(If)32 b(the)h Ft(-h)630 4902 y Fu(option)j(is)f(giv)m +(e)h(jobs.)47 b(If)32 b(the)h Ft(-h)630 5340 y Fu(option)j(is)f(giv)m (en,)i(the)f(job)f(is)g(not)g(remo)m(v)m(ed)h(from)f(the)g(table,)j -(but)c(is)i(mark)m(ed)f(so)g(that)630 5011 y Ft(SIGHUP)e -Fu(is)j(not)f(sen)m(t)h(to)g(the)f(job)g(if)g(the)g(shell)h(receiv)m -(es)h(a)e Ft(SIGHUP)p Fu(.)54 b(If)34 b Fr(jobsp)s(ec)40 -b Fu(is)c(not)630 5121 y(presen)m(t,)41 b(and)d(neither)h(the)g -Ft(-a)f Fu(nor)g(the)h Ft(-r)f Fu(option)h(is)g(supplied,)g(the)g -(curren)m(t)g(job)f(is)630 5230 y(used.)g(If)25 b(no)h -Fr(jobsp)s(ec)k Fu(is)c(supplied,)f(the)h Ft(-a)f Fu(option)h(means)g -(to)g(remo)m(v)m(e)h(or)e(mark)h(all)g(jobs;)630 5340 -y(the)31 b Ft(-r)e Fu(option)i(without)g(a)f Fr(jobsp)s(ec)36 -b Fu(argumen)m(t)30 b(restricts)h(op)s(eration)g(to)g(running)e(jobs.)p -eop end +(but)c(is)i(mark)m(ed)f(so)g(that)p eop end %%Page: 108 114 TeXDict begin 108 113 bop 150 -116 a Fu(Chapter)30 b(7:)41 -b(Job)30 b(Con)m(trol)2526 b(108)150 299 y Ft(suspend)870 -433 y(suspend)46 b([-f])630 568 y Fu(Susp)s(end)31 b(the)i(execution)h -(of)g(this)f(shell)g(un)m(til)h(it)g(receiv)m(es)h(a)e -Ft(SIGCONT)f Fu(signal.)50 b(A)33 b(login)630 677 y(shell)28 -b(cannot)g(b)s(e)f(susp)s(ended;)g(the)g Ft(-f)g Fu(option)i(can)f(b)s -(e)f(used)g(to)h(o)m(v)m(erride)h(this)e(and)g(force)630 -787 y(the)k(susp)s(ension.)275 946 y(When)f(job)f(con)m(trol)j(is)e -(not)h(activ)m(e,)i(the)d Ft(kill)f Fu(and)h Ft(wait)f -Fu(builtins)g(do)h(not)h(accept)h Fr(jobsp)s(ec)j Fu(argu-)150 -1056 y(men)m(ts.)41 b(They)30 b(m)m(ust)g(b)s(e)g(supplied)f(pro)s -(cess)h Fm(id)p Fu(s.)150 1297 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V) --11 b(ariables)150 1481 y Ft(auto_resume)630 1591 y Fu(This)31 -b(v)-5 b(ariable)32 b(con)m(trols)g(ho)m(w)g(the)f(shell)h(in)m -(teracts)h(with)e(the)h(user)e(and)h(job)g(con)m(trol.)45 -b(If)630 1700 y(this)28 b(v)-5 b(ariable)30 b(exists)f(then)f(single)h -(w)m(ord)f(simple)h(commands)f(without)g(redirections)i(are)630 -1810 y(treated)h(as)g(candidates)f(for)g(resumption)g(of)g(an)g -(existing)h(job.)41 b(There)29 b(is)h(no)h(am)m(biguit)m(y)630 -1919 y(allo)m(w)m(ed;)f(if)d(there)g(is)g(more)g(than)f(one)h(job)g(b)s -(eginning)f(with)g(the)h(string)g(t)m(yp)s(ed,)g(then)g(the)630 -2029 y(most)j(recen)m(tly)h(accessed)f(job)f(will)h(b)s(e)f(selected.) -42 b(The)29 b(name)g(of)h(a)g(stopp)s(ed)e(job,)i(in)f(this)630 -2139 y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g -(it.)41 b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5 -b(alue)630 2248 y(`)p Ft(exact)p Fu(',)33 b(the)g(string)g(supplied)f +b(Job)30 b(Con)m(trol)2526 b(108)630 299 y Ft(SIGHUP)33 +b Fu(is)j(not)f(sen)m(t)h(to)g(the)f(job)g(if)g(the)g(shell)h(receiv)m +(es)h(a)e Ft(SIGHUP)p Fu(.)54 b(If)34 b Fr(jobsp)s(ec)40 +b Fu(is)c(not)630 408 y(presen)m(t,)41 b(and)d(neither)h(the)g +Ft(-a)f Fu(nor)g(the)h Ft(-r)f Fu(option)h(is)g(supplied,)g(the)g +(curren)m(t)g(job)f(is)630 518 y(used.)g(If)25 b(no)h +Fr(jobsp)s(ec)k Fu(is)c(supplied,)f(the)h Ft(-a)f Fu(option)h(means)g +(to)g(remo)m(v)m(e)h(or)e(mark)h(all)g(jobs;)630 628 +y(the)31 b Ft(-r)e Fu(option)i(without)g(a)f Fr(jobsp)s(ec)36 +b Fu(argumen)m(t)30 b(restricts)h(op)s(eration)g(to)g(running)e(jobs.) +150 787 y Ft(suspend)870 922 y(suspend)46 b([-f])630 +1056 y Fu(Susp)s(end)31 b(the)i(execution)h(of)g(this)f(shell)g(un)m +(til)h(it)g(receiv)m(es)h(a)e Ft(SIGCONT)f Fu(signal.)50 +b(A)33 b(login)630 1166 y(shell)28 b(cannot)g(b)s(e)f(susp)s(ended;)g +(the)g Ft(-f)g Fu(option)i(can)f(b)s(e)f(used)g(to)h(o)m(v)m(erride)h +(this)e(and)g(force)630 1275 y(the)k(susp)s(ension.)275 +1435 y(When)f(job)f(con)m(trol)j(is)e(not)h(activ)m(e,)i(the)d +Ft(kill)f Fu(and)h Ft(wait)f Fu(builtins)g(do)h(not)h(accept)h +Fr(jobsp)s(ec)j Fu(argu-)150 1544 y(men)m(ts.)41 b(They)30 +b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h Fm(id)p Fu(s.)150 +1785 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11 b(ariables)150 +1969 y Ft(auto_resume)630 2079 y Fu(This)31 b(v)-5 b(ariable)32 +b(con)m(trols)g(ho)m(w)g(the)f(shell)h(in)m(teracts)h(with)e(the)h +(user)e(and)h(job)g(con)m(trol.)45 b(If)630 2188 y(this)28 +b(v)-5 b(ariable)30 b(exists)f(then)f(single)h(w)m(ord)f(simple)h +(commands)f(without)g(redirections)i(are)630 2298 y(treated)h(as)g +(candidates)f(for)g(resumption)g(of)g(an)g(existing)h(job.)41 +b(There)29 b(is)h(no)h(am)m(biguit)m(y)630 2408 y(allo)m(w)m(ed;)f(if)d +(there)g(is)g(more)g(than)f(one)h(job)g(b)s(eginning)f(with)g(the)h +(string)g(t)m(yp)s(ed,)g(then)g(the)630 2517 y(most)j(recen)m(tly)h +(accessed)f(job)f(will)h(b)s(e)f(selected.)42 b(The)29 +b(name)g(of)h(a)g(stopp)s(ed)e(job,)i(in)f(this)630 2627 +y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g(it.)41 +b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5 +b(alue)630 2736 y(`)p Ft(exact)p Fu(',)33 b(the)g(string)g(supplied)f (m)m(ust)h(matc)m(h)g(the)h(name)f(of)g(a)g(stopp)s(ed)f(job)h -(exactly;)j(if)630 2358 y(set)29 b(to)h(`)p Ft(substring)p +(exactly;)j(if)630 2846 y(set)29 b(to)h(`)p Ft(substring)p Fu(',)d(the)i(string)g(supplied)e(needs)i(to)g(matc)m(h)h(a)f -(substring)f(of)h(the)g(name)630 2467 y(of)38 b(a)f(stopp)s(ed)g(job.) +(substring)f(of)h(the)g(name)630 2956 y(of)38 b(a)f(stopp)s(ed)g(job.) 62 b(The)37 b(`)p Ft(substring)p Fu(')e(v)-5 b(alue)38 b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630 -2577 y(the)c(`)p Ft(\045?)p Fu(')g(job)g Fm(id)g Fu(\(see)h(Section)g +3065 y(the)c(`)p Ft(\045?)p Fu(')g(job)g Fm(id)g Fu(\(see)h(Section)g (7.1)g([Job)e(Con)m(trol)i(Basics],)i(page)e(105\).)56 -b(If)34 b(set)i(to)g(an)m(y)630 2687 y(other)c(v)-5 b(alue,)32 +b(If)34 b(set)i(to)g(an)m(y)630 3175 y(other)c(v)-5 b(alue,)32 b(the)g(supplied)e(string)i(m)m(ust)f(b)s(e)g(a)h(pre\014x)f(of)h(a)g -(stopp)s(ed)e(job's)i(name;)g(this)630 2796 y(pro)m(vides)e +(stopp)s(ed)e(job's)i(name;)g(this)630 3284 y(pro)m(vides)e (functionalit)m(y)i(analogous)g(to)f(the)g(`)p Ft(\045)p Fu(')f(job)g Fm(id)p Fu(.)p eop end %%Page: 109 115 @@ -18497,72 +18522,75 @@ Fu(')g(and)e(`)p Ft(')p Fu(')i(ma)m(y)g(b)s(e)f(used)g(to)h(escap)s(e)g b(the)i(history)g(expansion)f(c)m(haracter)i(is)f(also)g(treated)h(as)e (quoted)h(if)g(it)g(immediately)150 518 y(precedes)30 b(the)h(closing)g(double)f(quote)h(in)f(a)h(double-quoted)g(string.)275 -658 y(Sev)m(eral)48 b(shell)g(options)h(settable)g(with)e(the)h +651 y(Sev)m(eral)48 b(shell)g(options)h(settable)g(with)e(the)h Ft(shopt)f Fu(builtin)g(\(see)i(Section)f(4.3.2)i([The)e(Shopt)150 -767 y(Builtin],)24 b(page)e(66\))h(ma)m(y)e(b)s(e)g(used)g(to)h(tailor) +760 y(Builtin],)24 b(page)e(66\))h(ma)m(y)e(b)s(e)g(used)g(to)h(tailor) g(the)g(b)s(eha)m(vior)f(of)h(history)f(expansion.)37 -b(If)21 b(the)h Ft(histverify)150 877 y Fu(shell)35 b(option)f(is)h +b(If)21 b(the)h Ft(histverify)150 870 y Fu(shell)35 b(option)f(is)h (enabled,)g(and)f(Readline)h(is)f(b)s(eing)g(used,)h(history)g -(substitutions)e(are)i(not)g(immedi-)150 987 y(ately)i(passed)d(to)i +(substitutions)e(are)i(not)g(immedi-)150 979 y(ately)i(passed)d(to)i (the)g(shell)f(parser.)55 b(Instead,)37 b(the)e(expanded)g(line)g(is)h -(reloaded)g(in)m(to)g(the)f(Readline)150 1096 y(editing)29 +(reloaded)g(in)m(to)g(the)f(Readline)150 1089 y(editing)29 b(bu\013er)f(for)h(further)e(mo)s(di\014cation.)41 b(If)28 b(Readline)h(is)g(b)s(eing)f(used,)h(and)f(the)h Ft(histreedit)d -Fu(shell)150 1206 y(option)e(is)g(enabled,)h(a)g(failed)f(history)g +Fu(shell)150 1198 y(option)e(is)g(enabled,)h(a)g(failed)f(history)g (expansion)g(will)g(b)s(e)f(reloaded)h(in)m(to)h(the)f(Readline)g -(editing)h(bu\013er)150 1315 y(for)31 b(correction.)43 +(editing)h(bu\013er)150 1308 y(for)31 b(correction.)43 b(The)30 b Ft(-p)g Fu(option)h(to)h(the)f Ft(history)e Fu(builtin)h(command)h(ma)m(y)g(b)s(e)f(used)g(to)i(see)f(what)g(a)150 -1425 y(history)25 b(expansion)g(will)g(do)g(b)s(efore)g(using)f(it.)40 +1418 y(history)25 b(expansion)g(will)g(do)g(b)s(efore)g(using)f(it.)40 b(The)24 b Ft(-s)h Fu(option)g(to)h(the)f Ft(history)e -Fu(builtin)i(ma)m(y)g(b)s(e)g(used)150 1534 y(to)36 b(add)f(commands)g +Fu(builtin)i(ma)m(y)g(b)s(e)g(used)150 1527 y(to)36 b(add)f(commands)g (to)h(the)g(end)f(of)g(the)h(history)f(list)i(without)e(actually)i -(executing)g(them,)g(so)e(that)150 1644 y(they)c(are)f(a)m(v)-5 +(executing)g(them,)g(so)e(that)150 1637 y(they)c(are)f(a)m(v)-5 b(ailable)33 b(for)d(subsequen)m(t)g(recall.)42 b(This)29 b(is)i(most)g(useful)e(in)h(conjunction)h(with)f(Readline.)275 -1784 y(The)j(shell)h(allo)m(ws)h(con)m(trol)h(of)e(the)g(v)-5 +1769 y(The)j(shell)h(allo)m(ws)h(con)m(trol)h(of)e(the)g(v)-5 b(arious)34 b(c)m(haracters)h(used)f(b)m(y)f(the)h(history)g(expansion) -g(mec)m(h-)150 1893 y(anism)h(with)g(the)g Ft(histchars)d +g(mec)m(h-)150 1879 y(anism)h(with)g(the)g Ft(histchars)d Fu(v)-5 b(ariable,)38 b(as)d(explained)g(ab)s(o)m(v)m(e)i(\(see)f -(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150 2003 y(page)32 +(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150 1988 y(page)32 b(74\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g(commen)m(t)i(c)m (haracter)f(to)g(mark)f(history)g(timestamps)h(when)150 -2112 y(writing)e(the)h(history)f(\014le.)150 2317 y Fk(9.3.1)63 -b(Ev)m(en)m(t)39 b(Designators)150 2464 y Fu(An)32 b(ev)m(en)m(t)j +2098 y(writing)e(the)h(history)f(\014le.)150 2293 y Fk(9.3.1)63 +b(Ev)m(en)m(t)39 b(Designators)150 2440 y Fu(An)32 b(ev)m(en)m(t)j (designator)e(is)g(a)g(reference)g(to)h(a)f(command)f(line)h(en)m(try)g (in)g(the)g(history)g(list.)48 b(Unless)33 b(the)150 -2573 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts)f(are)g(relativ)m(e)i +2550 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts)f(are)g(relativ)m(e)i (to)e(the)f(curren)m(t)g(p)s(osition)h(in)f(the)h(history)f(list.)150 -2741 y Ft(!)432 b Fu(Start)34 b(a)f(history)h(substitution,)g(except)g +2705 y Ft(!)432 b Fu(Start)34 b(a)f(history)h(substitution,)g(except)g (when)f(follo)m(w)m(ed)i(b)m(y)e(a)h(space,)h(tab,)f(the)g(end)f(of)630 -2850 y(the)i(line,)g(`)p Ft(=)p Fu(')g(or)f(`)p Ft(\()p +2815 y(the)i(line,)g(`)p Ft(=)p Fu(')g(or)f(`)p Ft(\()p Fu(')h(\(when)e(the)i Ft(extglob)d Fu(shell)j(option)f(is)h(enabled)f -(using)g(the)g Ft(shopt)630 2960 y Fu(builtin\).)150 -3124 y Ft(!)p Fj(n)384 b Fu(Refer)30 b(to)i(command)e(line)g -Fr(n)p Fu(.)150 3289 y Ft(!-)p Fj(n)336 b Fu(Refer)30 +(using)g(the)g Ft(shopt)630 2924 y Fu(builtin\).)150 +3080 y Ft(!)p Fj(n)384 b Fu(Refer)30 b(to)i(command)e(line)g +Fr(n)p Fu(.)150 3235 y Ft(!-)p Fj(n)336 b Fu(Refer)30 b(to)i(the)e(command)g Fr(n)g Fu(lines)h(bac)m(k.)150 -3454 y Ft(!!)384 b Fu(Refer)30 b(to)i(the)e(previous)g(command.)40 +3390 y Ft(!!)384 b Fu(Refer)30 b(to)i(the)e(previous)g(command.)40 b(This)30 b(is)g(a)h(synon)m(ym)f(for)g(`)p Ft(!-1)p -Fu('.)150 3618 y Ft(!)p Fj(string)144 b Fu(Refer)25 b(to)h(the)f(most)h +Fu('.)150 3546 y Ft(!)p Fj(string)144 b Fu(Refer)25 b(to)h(the)f(most)h (recen)m(t)g(command)f(preceding)g(the)g(curren)m(t)g(p)s(osition)g(in) -g(the)g(history)630 3728 y(list)31 b(starting)g(with)f -Fr(string)p Fu(.)150 3892 y Ft(!?)p Fj(string)p Ft([?])630 -4002 y Fu(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding) +g(the)g(history)630 3655 y(list)31 b(starting)g(with)f +Fr(string)p Fu(.)150 3810 y Ft(!?)p Fj(string)p Ft([?])630 +3920 y Fu(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding) g(the)g(curren)m(t)g(p)s(osition)g(in)g(the)g(history)630 -4111 y(list)32 b(con)m(taining)i Fr(string)p Fu(.)45 +4030 y(list)32 b(con)m(taining)i Fr(string)p Fu(.)45 b(The)31 b(trailing)i(`)p Ft(?)p Fu(')f(ma)m(y)g(b)s(e)f(omitted)i(if)f -(the)g Fr(string)39 b Fu(is)32 b(follo)m(w)m(ed)630 4221 -y(immediately)g(b)m(y)e(a)h(newline.)150 4386 y Ft(^)p -Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630 4495 y Fu(Quic)m(k)h -(Substitution.)44 b(Rep)s(eat)32 b(the)g(last)h(command,)f(replacing)g -Fr(string1)40 b Fu(with)31 b Fr(string2)p Fu(.)630 4605 -y(Equiv)-5 b(alen)m(t)31 b(to)g Ft(!!:s/)p Fj(string1)p -Ft(/)p Fj(string2)p Ft(/)p Fu(.)150 4769 y Ft(!#)384 -b Fu(The)30 b(en)m(tire)h(command)f(line)h(t)m(yp)s(ed)f(so)h(far.)150 -4974 y Fk(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150 -5121 y Fu(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h -(desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 b(A)27 -b(`)p Ft(:)p Fu(')g(separates)h(the)f(ev)m(en)m(t)150 +(the)g Fr(string)39 b Fu(is)32 b(follo)m(w)m(ed)630 4139 +y(immediately)f(b)m(y)e(a)h(newline.)40 b(If)29 b Fr(string)38 +b Fu(is)29 b(missing,)h(the)g(string)f(from)g(the)h(most)g(recen)m(t) +630 4249 y(searc)m(h)h(is)f(used;)g(it)h(is)g(an)f(error)g(if)g(there)h +(is)f(no)g(previous)g(searc)m(h)h(string.)150 4404 y +Ft(^)p Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630 4514 +y Fu(Quic)m(k)h(Substitution.)44 b(Rep)s(eat)32 b(the)g(last)h +(command,)f(replacing)g Fr(string1)40 b Fu(with)31 b +Fr(string2)p Fu(.)630 4623 y(Equiv)-5 b(alen)m(t)31 b(to)g +Ft(!!:s^)p Fj(string1)p Ft(^)p Fj(string2)p Ft(^)p Fu(.)150 +4779 y Ft(!#)384 b Fu(The)30 b(en)m(tire)h(command)f(line)h(t)m(yp)s +(ed)f(so)h(far.)150 4974 y Fk(9.3.2)63 b(W)-10 b(ord)41 +b(Designators)150 5121 y Fu(W)-8 b(ord)27 b(designators)h(are)g(used)e +(to)i(select)h(desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 +b(A)27 b(`)p Ft(:)p Fu(')g(separates)h(the)f(ev)m(en)m(t)150 5230 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61 b(It)37 b(ma)m(y)h(b)s(e)e(omitted)i(if)e(the)h(w)m(ord)g(designator)g (b)s(egins)150 5340 y(with)30 b(a)g(`)p Ft(^)p Fu(',)g(`)p @@ -18576,79 +18604,94 @@ b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(148)150 299 y(\014rst)29 b(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h (\(zero\).)41 b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g (curren)m(t)f(line)g(separated)h(b)m(y)150 408 y(single)h(spaces.)275 -552 y(F)-8 b(or)31 b(example,)150 725 y Ft(!!)384 b Fu(designates)37 +550 y(F)-8 b(or)31 b(example,)150 719 y Ft(!!)384 b Fu(designates)37 b(the)f(preceding)g(command.)57 b(When)35 b(y)m(ou)i(t)m(yp)s(e)f -(this,)h(the)f(preceding)g(com-)630 834 y(mand)30 b(is)g(rep)s(eated)g -(in)g(toto.)150 1002 y Ft(!!:$)288 b Fu(designates)23 +(this,)h(the)f(preceding)g(com-)630 829 y(mand)30 b(is)g(rep)s(eated)g +(in)g(toto.)150 995 y Ft(!!:$)288 b Fu(designates)23 b(the)g(last)g(argumen)m(t)g(of)f(the)h(preceding)f(command.)38 -b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 1112 y(to)31 -b Ft(!$)p Fu(.)150 1280 y Ft(!fi:2)240 b Fu(designates)30 +b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 1105 y(to)31 +b Ft(!$)p Fu(.)150 1271 y Ft(!fi:2)240 b Fu(designates)30 b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f(recen)m(t)i(command)e -(starting)h(with)f(the)630 1390 y(letters)j Ft(fi)p Fu(.)275 -1563 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150 -1735 y Ft(0)g(\(zero\))114 b Fu(The)30 b Ft(0)p Fu(th)g(w)m(ord.)40 +(starting)h(with)f(the)630 1381 y(letters)j Ft(fi)p Fu(.)275 +1550 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150 +1720 y Ft(0)g(\(zero\))114 b Fu(The)30 b Ft(0)p Fu(th)g(w)m(ord.)40 b(F)-8 b(or)31 b(man)m(y)g(applications,)h(this)e(is)g(the)h(command)f -(w)m(ord.)150 1904 y Fj(n)432 b Fu(The)30 b Fr(n)p Fu(th)g(w)m(ord.)150 -2072 y Ft(^)432 b Fu(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m -(ord)g(1.)150 2240 y Ft($)432 b Fu(The)30 b(last)h(argumen)m(t.)150 -2409 y Ft(\045)432 b Fu(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h -(most)g(recen)m(t)g(`)p Ft(?)p Fj(string)p Ft(?)p Fu(')e(searc)m(h.)150 -2577 y Fj(x)p Ft(-)p Fj(y)336 b Fu(A)30 b(range)h(of)g(w)m(ords;)f(`)p -Ft(-)p Fj(y)p Fu(')g(abbreviates)h(`)p Ft(0-)p Fj(y)p -Fu('.)150 2745 y Ft(*)432 b Fu(All)28 b(of)g(the)g(w)m(ords,)g(except)h -(the)e Ft(0)p Fu(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p +(w)m(ord.)150 1886 y Fj(n)432 b Fu(The)30 b Fr(n)p Fu(th)g(w)m(ord.)150 +2052 y Ft(^)432 b Fu(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m +(ord)g(1.)150 2218 y Ft($)432 b Fu(The)30 b(last)h(argumen)m(t.)150 +2385 y Ft(\045)432 b Fu(The)40 b(\014rst)h(w)m(ord)f(matc)m(hed)i(b)m +(y)f(the)g(most)g(recen)m(t)h(`)p Ft(?)p Fj(string)p +Ft(?)p Fu(')d(searc)m(h,)44 b(if)d(the)g(searc)m(h)630 +2494 y(string)30 b(b)s(egins)g(with)g(a)h(c)m(haracter)h(that)f(is)f +(part)h(of)f(a)h(w)m(ord.)150 2660 y Fj(x)p Ft(-)p Fj(y)336 +b Fu(A)30 b(range)h(of)g(w)m(ords;)f(`)p Ft(-)p Fj(y)p +Fu(')g(abbreviates)h(`)p Ft(0-)p Fj(y)p Fu('.)150 2827 +y Ft(*)432 b Fu(All)28 b(of)g(the)g(w)m(ords,)g(except)h(the)e +Ft(0)p Fu(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p Ft(1-$)p Fu('.)39 b(It)28 b(is)g(not)g(an)f(error)630 -2855 y(to)j(use)g(`)p Ft(*)p Fu(')f(if)h(there)g(is)g(just)f(one)h(w)m +2936 y(to)j(use)g(`)p Ft(*)p Fu(')f(if)h(there)g(is)g(just)f(one)h(w)m (ord)f(in)g(the)h(ev)m(en)m(t;)i(the)d(empt)m(y)i(string)e(is)h -(returned)e(in)630 2964 y(that)j(case.)150 3133 y Fj(x)p +(returned)e(in)630 3046 y(that)j(case.)150 3212 y Fj(x)p Ft(*)384 b Fu(Abbreviates)31 b(`)p Fj(x)p Ft(-$)p Fu(')150 -3301 y Fj(x)p Ft(-)384 b Fu(Abbreviates)31 b(`)p Fj(x)p -Ft(-$)p Fu(')f(lik)m(e)h(`)p Fj(x)p Ft(*)p Fu(',)g(but)f(omits)h(the)f -(last)h(w)m(ord.)275 3474 y(If)i(a)h(w)m(ord)g(designator)g(is)g -(supplied)f(without)h(an)g(ev)m(en)m(t)h(sp)s(eci\014cation,)h(the)e -(previous)f(command)150 3583 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150 -3791 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 3938 y Fu(After)29 -b(the)g(optional)g(w)m(ord)g(designator,)g(y)m(ou)g(can)g(add)f(a)h -(sequence)g(of)g(one)g(or)f(more)h(of)g(the)f(follo)m(wing)150 -4048 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p -Ft(:)p Fu('.)150 4221 y Ft(h)432 b Fu(Remo)m(v)m(e)32 +3378 y Fj(x)p Ft(-)384 b Fu(Abbreviates)27 b(`)p Fj(x)p +Ft(-$)p Fu(')g(lik)m(e)h(`)p Fj(x)p Ft(*)p Fu(',)g(but)e(omits)i(the)f +(last)h(w)m(ord.)39 b(If)27 b(`)p Ft(x)p Fu(')g(is)g(missing,)g(it)h +(defaults)630 3488 y(to)j(0.)275 3658 y(If)i(a)h(w)m(ord)g(designator)g +(is)g(supplied)f(without)h(an)g(ev)m(en)m(t)h(sp)s(eci\014cation,)h +(the)e(previous)f(command)150 3767 y(is)d(used)g(as)h(the)f(ev)m(en)m +(t.)150 3973 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 4120 +y Fu(After)29 b(the)g(optional)g(w)m(ord)g(designator,)g(y)m(ou)g(can)g +(add)f(a)h(sequence)g(of)g(one)g(or)f(more)h(of)g(the)f(follo)m(wing) +150 4230 y(mo)s(di\014ers,)33 b(eac)m(h)h(preceded)f(b)m(y)g(a)h(`)p +Ft(:)p Fu('.)50 b(These)33 b(mo)s(dify)-8 b(,)33 b(or)h(edit,)g(the)g +(w)m(ord)f(or)g(w)m(ords)g(selected)h(from)150 4339 y(the)d(history)f +(ev)m(en)m(t.)150 4509 y Ft(h)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(pathname)g(comp)s(onen)m(t,)g(lea)m(ving)h(only)e(the) -h(head.)150 4389 y Ft(t)432 b Fu(Remo)m(v)m(e)32 b(all)f(leading)h +h(head.)150 4675 y Ft(t)432 b Fu(Remo)m(v)m(e)32 b(all)f(leading)h (pathname)e(comp)s(onen)m(ts,)h(lea)m(ving)h(the)e(tail.)150 -4557 y Ft(r)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g +4841 y Ft(r)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g (the)h(form)f(`)p Ft(.)p Fj(suffix)p Fu(',)f(lea)m(ving)j(the)f -(basename.)150 4726 y Ft(e)432 b Fu(Remo)m(v)m(e)32 b(all)f(but)f(the)h -(trailing)g(su\016x.)150 4894 y Ft(p)432 b Fu(Prin)m(t)30 +(basename.)150 5008 y Ft(e)432 b Fu(Remo)m(v)m(e)32 b(all)f(but)f(the)h +(trailing)g(su\016x.)150 5174 y Ft(p)432 b Fu(Prin)m(t)30 b(the)h(new)f(command)g(but)g(do)g(not)g(execute)i(it.)150 -5062 y Ft(q)432 b Fu(Quote)31 b(the)f(substituted)g(w)m(ords,)g -(escaping)h(further)e(substitutions.)150 5230 y Ft(x)432 -b Fu(Quote)32 b(the)f(substituted)g(w)m(ords)f(as)i(with)f(`)p -Ft(q)p Fu(',)h(but)e(break)h(in)m(to)i(w)m(ords)d(at)i(spaces,)h(tabs,) -630 5340 y(and)d(newlines.)p eop end +5340 y Ft(q)432 b Fu(Quote)31 b(the)f(substituted)g(w)m(ords,)g +(escaping)h(further)e(substitutions.)p eop end %%Page: 149 155 TeXDict begin 149 154 bop 150 -116 a Fu(Chapter)30 b(9:)41 b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(149)150 -299 y Ft(s/)p Fj(old)p Ft(/)p Fj(new)p Ft(/)630 408 y -Fu(Substitute)32 b Fr(new)40 b Fu(for)32 b(the)h(\014rst)f(o)s -(ccurrence)h(of)f Fr(old)37 b Fu(in)32 b(the)h(ev)m(en)m(t)h(line.)48 -b(An)m(y)32 b(delimiter)630 518 y(ma)m(y)25 b(b)s(e)g(used)f(in)g -(place)i(of)f(`)p Ft(/)p Fu('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s -(e)e(quoted)h(in)f Fr(old)29 b Fu(and)24 b Fr(new)32 -b Fu(with)25 b(a)630 628 y(single)k(bac)m(kslash.)40 -b(If)28 b(`)p Ft(&)p Fu(')g(app)s(ears)g(in)f Fr(new)p -Fu(,)i(it)f(is)h(replaced)f(b)m(y)g Fr(old)p Fu(.)40 -b(A)28 b(single)h(bac)m(kslash)630 737 y(will)35 b(quote)g(the)g(`)p -Ft(&)p Fu('.)54 b(The)34 b(\014nal)g(delimiter)i(is)e(optional)i(if)f -(it)g(is)f(the)h(last)h(c)m(haracter)g(on)630 847 y(the)31 -b(input)e(line.)150 1006 y Ft(&)432 b Fu(Rep)s(eat)31 -b(the)f(previous)g(substitution.)150 1166 y Ft(g)150 -1275 y(a)432 b Fu(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f(applied)h(o)m(v) -m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 b(Used)39 -b(in)f(conjunction)630 1385 y(with)30 b(`)p Ft(s)p Fu(',)h(as)f(in)h -Ft(gs/)p Fj(old)p Ft(/)p Fj(new)p Ft(/)p Fu(,)c(or)j(with)h(`)p -Ft(&)p Fu('.)150 1544 y Ft(G)432 b Fu(Apply)30 b(the)g(follo)m(wing)i -(`)p Ft(s)p Fu(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g -(the)g(ev)m(en)m(t.)p eop end +299 y Ft(x)432 b Fu(Quote)32 b(the)f(substituted)g(w)m(ords)f(as)i +(with)f(`)p Ft(q)p Fu(',)h(but)e(break)h(in)m(to)i(w)m(ords)d(at)i +(spaces,)h(tabs,)630 408 y(and)38 b(newlines.)66 b(The)39 +b(`)p Ft(q)p Fu(')g(and)f(`)p Ft(x)p Fu(')h(mo)s(di\014ers)f(are)h(m)m +(utually)g(exclusiv)m(e;)45 b(the)39 b(last)h(one)630 +518 y(supplied)29 b(is)i(used.)150 677 y Ft(s/)p Fj(old)p +Ft(/)p Fj(new)p Ft(/)630 787 y Fu(Substitute)g Fr(new)39 +b Fu(for)32 b(the)g(\014rst)f(o)s(ccurrence)h(of)f Fr(old)36 +b Fu(in)31 b(the)h(ev)m(en)m(t)h(line.)46 b(An)m(y)31 +b(c)m(haracter)630 897 y(ma)m(y)k(b)s(e)e(used)h(as)g(the)h(delimiter)g +(in)f(place)h(of)f(`)p Ft(/)p Fu('.)53 b(The)33 b(delimiter)i(ma)m(y)g +(b)s(e)f(quoted)g(in)630 1006 y Fr(old)40 b Fu(and)c +Fr(new)44 b Fu(with)36 b(a)h(single)g(bac)m(kslash.)60 +b(If)36 b(`)p Ft(&)p Fu(')h(app)s(ears)e(in)i Fr(new)p +Fu(,)g(it)h(is)e(replaced)h(b)m(y)630 1116 y Fr(old)p +Fu(.)k(A)31 b(single)g(bac)m(kslash)g(will)g(quote)g(the)g(`)p +Ft(&)p Fu('.)41 b(If)31 b Fr(old)j Fu(is)c(n)m(ull,)h(it)g(is)g(set)g +(to)g(the)g(last)g Fr(old)630 1225 y Fu(substituted,)j(or,)g(if)f(no)g +(previous)g(history)g(substitutions)g(to)s(ok)h(place,)h(the)e(last)h +Fr(string)630 1335 y Fu(in)j(a)g(!?)p Fr(string)8 b Ft([?])37 +b Fu(searc)m(h.)61 b(If)37 b Fr(new)45 b Fu(is)37 b(is)g(n)m(ull,)i +(eac)m(h)f(matc)m(hing)h Fr(old)h Fu(is)e(deleted.)61 +b(The)630 1445 y(\014nal)30 b(delimiter)h(is)g(optional)g(if)f(it)h(is) +g(the)f(last)i(c)m(haracter)f(on)g(the)f(input)g(line.)150 +1604 y Ft(&)432 b Fu(Rep)s(eat)31 b(the)f(previous)g(substitution.)150 +1763 y Ft(g)150 1873 y(a)432 b Fu(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f +(applied)h(o)m(v)m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 +b(Used)39 b(in)f(conjunction)630 1983 y(with)30 b(`)p +Ft(s)p Fu(',)h(as)f(in)h Ft(gs/)p Fj(old)p Ft(/)p Fj(new)p +Ft(/)p Fu(,)c(or)j(with)h(`)p Ft(&)p Fu('.)150 2142 y +Ft(G)432 b Fu(Apply)30 b(the)g(follo)m(wing)i(`)p Ft(s)p +Fu(')f(or)f(`)p Ft(&)p Fu(')h(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m +(ord)e(in)g(the)g(ev)m(en)m(t.)p eop end %%Page: 150 156 TeXDict begin 150 155 bop 3614 -116 a Fu(150)150 299 y Fp(10)80 b(Installing)52 b(Bash)150 534 y Fu(This)31 @@ -19323,33 +19366,33 @@ Ft(#)p Fu(',)g(`)p Ft(\045\045)p Fu(')e(and)f(`)p Ft(##)p Fu(')h(expansions)g(to)g(remo)m(v)m(e)330 2342 y(leading)f(or)f (trailing)h(substrings)e(from)g(v)-5 b(ariable)35 b(v)-5 b(alues)35 b(\(see)g(Section)g(3.5.3)g([Shell)g(P)m(arameter)330 -2452 y(Expansion],)30 b(page)h(24\).)225 2587 y Fq(\017)60 +2452 y(Expansion],)30 b(page)h(25\).)225 2587 y Fq(\017)60 b Fu(The)46 b(expansion)g Ft(${#xx})p Fu(,)j(whic)m(h)d(returns)f(the)i (length)f(of)h Ft(${xx})p Fu(,)i(is)e(supp)s(orted)d(\(see)j(Sec-)330 2697 y(tion)31 b(3.5.3)h([Shell)f(P)m(arameter)g(Expansion],)f(page)i -(24\).)225 2832 y Fq(\017)60 b Fu(The)30 b(expansion)g +(25\).)225 2832 y Fq(\017)60 b Fu(The)30 b(expansion)g Ft(${var:)p Fr(o\013set)r Ft([:)p Fr(length)p Ft(]})p Fu(,)g(whic)m(h)g(expands)g(to)h(the)g(substring)e(of)i Ft(var)p Fu('s)e(v)-5 b(alue)330 2942 y(of)43 b(length)g Fr(length)p Fu(,)k(b)s(eginning)42 b(at)i Fr(o\013set)p Fu(,)j(is)c(presen)m(t)g(\(see)g(Section)h(3.5.3)h([Shell)e(P)m -(arameter)330 3051 y(Expansion],)30 b(page)h(24\).)225 +(arameter)330 3051 y(Expansion],)30 b(page)h(25\).)225 3187 y Fq(\017)60 b Fu(The)21 b(expansion)f Ft(${var/[/])p Fr(pattern)p Ft([/)p Fr(replacemen)m(t)r Ft(]})p Fu(,)i(whic)m(h)e (matc)m(hes)j Fr(pattern)e Fu(and)f(replaces)330 3296 y(it)29 b(with)e Fr(replacemen)m(t)32 b Fu(in)c(the)g(v)-5 b(alue)29 b(of)f Ft(var)p Fu(,)g(is)g(a)m(v)-5 b(ailable)31 b(\(see)e(Section)f(3.5.3)i([Shell)f(P)m(arameter)330 -3406 y(Expansion],)h(page)h(24\).)225 3541 y Fq(\017)60 +3406 y(Expansion],)h(page)h(25\).)225 3541 y Fq(\017)60 b Fu(The)33 b(expansion)g Ft(${!)p Fj(prefix)p Ft(*})d Fu(expansion,)k(whic)m(h)e(expands)h(to)h(the)f(names)g(of)g(all)h (shell)f(v)-5 b(ari-)330 3651 y(ables)36 b(whose)g(names)g(b)s(egin)g (with)g Fr(pre\014x)p Fu(,)g(is)g(a)m(v)-5 b(ailable)39 b(\(see)e(Section)g(3.5.3)g([Shell)g(P)m(arameter)330 -3761 y(Expansion],)30 b(page)h(24\).)225 3896 y Fq(\017)60 +3761 y(Expansion],)30 b(page)h(25\).)225 3896 y Fq(\017)60 b Fu(Bash)22 b(has)f Fr(indirect)j Fu(v)-5 b(ariable)22 b(expansion)g(using)f Ft(${!word})e Fu(\(see)k(Section)f(3.5.3)i -([Shell)e(P)m(arameter)330 4006 y(Expansion],)30 b(page)h(24\).)225 +([Shell)e(P)m(arameter)330 4006 y(Expansion],)30 b(page)h(25\).)225 4141 y Fq(\017)60 b Fu(Bash)31 b(can)f(expand)g(p)s(ositional)h (parameters)g(b)s(ey)m(ond)e Ft($9)h Fu(using)g Ft(${)p Fj(num)p Ft(})p Fu(.)225 4276 y Fq(\017)60 b Fu(The)27 @@ -20557,7 +20600,7 @@ g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28 b Fb(10)2025 3015 y Fe(function)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b -Fb(17)2021 3359 y Fs(I)2025 3491 y Fe(if)16 b Fc(:)e(:)f(:)g(:)g(:)g(:) +Fb(18)2021 3359 y Fs(I)2025 3491 y Fe(if)16 b Fc(:)e(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)31 b Fb(11)2025 3578 y Fe(in)16 b Fc(:)e(:)f(:)g(:)g(:) @@ -20591,7 +20634,7 @@ g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(22)146 1327 y Fs(#)150 1445 y Fe(#)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(21)146 +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(22)146 1701 y Fs($)150 1820 y Fe($)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f @@ -20601,7 +20644,7 @@ g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)31 b Fb(22)150 1997 y Fe($#)16 b Fc(:)e(:)f(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)31 b Fb(21)150 2085 y Fe($$)16 b Fc(:)e(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)31 b Fb(22)150 2085 y Fe($$)16 b Fc(:)e(:)f(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)31 b Fb(22)150 2173 y Fe($*)16 @@ -21448,7 +21491,7 @@ b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(32)150 3854 y(expansion,)26 b(parameter)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)34 b Fb(24)150 3944 y(expansion,)26 b(pathname)7 +g(:)34 b Fb(25)150 3944 y(expansion,)26 b(pathname)7 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(32)150 4033 y(expansion,)k(tilde)14 b Fc(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g @@ -21545,7 +21588,7 @@ Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g 37 b Fb(3)146 1184 y Fs(P)150 1300 y Fb(parameter)26 b(expansion)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)28 -b Fb(24)150 1388 y(parameters)c Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g +b Fb(25)150 1388 y(parameters)c Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fb(20)150 1475 y(parameters,)27 b(p)r(ositional)7 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g diff --git a/doc/bashref.rw b/doc/bashref.rw index 7685e341..0daacf2b 100644 --- a/doc/bashref.rw +++ b/doc/bashref.rw @@ -18,4 +18,4 @@ \entry{]]}{13}{\code {]]}} \entry{{\indexlbrace }}{15}{\code {{\tt \char 123}}} \entry{{\indexrbrace }}{15}{\code {{\tt \char 125}}} -\entry{function}{17}{\code {function}} +\entry{function}{18}{\code {function}} diff --git a/doc/bashref.rws b/doc/bashref.rws index c3dd1328..4fcd1375 100644 --- a/doc/bashref.rws +++ b/doc/bashref.rws @@ -1,35 +1,35 @@ \initial {!} -\entry {\code {!}}{8} +\entry{\code {!}}{8} \initial {[} -\entry {\code {[[}}{13} +\entry{\code {[[}}{13} \initial {]} -\entry {\code {]]}}{13} +\entry{\code {]]}}{13} \initial {{\indexlbrace }} -\entry {\code {{\tt \char 123}}}{15} +\entry{\code {{\tt \char 123}}}{15} \initial {{\indexrbrace }} -\entry {\code {{\tt \char 125}}}{15} +\entry{\code {{\tt \char 125}}}{15} \initial {C} -\entry {\code {case}}{11} +\entry{\code {case}}{11} \initial {D} -\entry {\code {do}}{10} -\entry {\code {done}}{10} +\entry{\code {do}}{10} +\entry{\code {done}}{10} \initial {E} -\entry {\code {elif}}{11} -\entry {\code {else}}{11} -\entry {\code {esac}}{11} +\entry{\code {elif}}{11} +\entry{\code {else}}{11} +\entry{\code {esac}}{11} \initial {F} -\entry {\code {fi}}{11} -\entry {\code {for}}{10} -\entry {\code {function}}{17} +\entry{\code {fi}}{11} +\entry{\code {for}}{10} +\entry{\code {function}}{18} \initial {I} -\entry {\code {if}}{11} -\entry {\code {in}}{11} +\entry{\code {if}}{11} +\entry{\code {in}}{11} \initial {S} -\entry {\code {select}}{12} +\entry{\code {select}}{12} \initial {T} -\entry {\code {then}}{11} -\entry {\code {time}}{8} +\entry{\code {then}}{11} +\entry{\code {time}}{8} \initial {U} -\entry {\code {until}}{10} +\entry{\code {until}}{10} \initial {W} -\entry {\code {while}}{10} +\entry{\code {while}}{10} diff --git a/doc/bashref.texi b/doc/bashref.texi index da0d4949..bbd6cef2 100644 --- a/doc/bashref.texi +++ b/doc/bashref.texi @@ -8161,7 +8161,7 @@ or non-zero if an error occurs or an invalid option is encountered. @item wait @btindex wait @example -wait [-fn] [@var{jobspec} or @var{pid} @dots{}] +wait [-fn] [-p @var{varname}] [@var{jobspec} or @var{pid} @dots{}] @end example Wait until the child process specified by each process @sc{id} @var{pid} @@ -8175,6 +8175,11 @@ the last-executed process substitution, if its process id is the same as and the return status is zero. If the @option{-n} option is supplied, @code{wait} waits for a single job to terminate and returns its exit status. +If the @option{-p} 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} named by the option argument. +The variable will be unset initially, before any assignment. +This is useful only when the @option{-n} option is supplied. Supplying the @option{-f} option, when job control is enabled, forces @code{wait} to wait for each @var{pid} or @var{jobspec} to terminate before returning its status, intead of returning when it changes diff --git a/doc/bashref.toc b/doc/bashref.toc index f56a6c8c..216354e5 100644 --- a/doc/bashref.toc +++ b/doc/bashref.toc @@ -29,7 +29,7 @@ @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} diff --git a/doc/bashref.vr b/doc/bashref.vr index 34347f62..fd6ba30e 100644 --- a/doc/bashref.vr +++ b/doc/bashref.vr @@ -5,8 +5,8 @@ \entry{$*}{21}{\code {$*}} \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 {-}} diff --git a/doc/bashref.vrs b/doc/bashref.vrs index 19dd3339..de1df268 100644 --- a/doc/bashref.vrs +++ b/doc/bashref.vrs @@ -1,194 +1,194 @@ \initial {!} -\entry {\code {!}}{22} +\entry{\code {!}}{22} \initial {#} -\entry {\code {#}}{21} +\entry{\code {#}}{22} \initial {$} -\entry {\code {$}}{22} -\entry {\code {$!}}{22} -\entry {\code {$#}}{21} -\entry {\code {$$}}{22} -\entry {\code {$*}}{21} -\entry {\code {$-}}{22} -\entry {\code {$?}}{22} -\entry {\code {$@}}{21} -\entry {\code {$_}}{22} -\entry {\code {$0}}{22} +\entry{\code {$}}{22} +\entry{\code {$!}}{22} +\entry{\code {$#}}{22} +\entry{\code {$$}}{22} +\entry{\code {$*}}{21} +\entry{\code {$-}}{22} +\entry{\code {$?}}{22} +\entry{\code {$@}}{21} +\entry{\code {$_}}{22} +\entry{\code {$0}}{22} \initial {*} -\entry {\code {*}}{21} +\entry{\code {*}}{21} \initial {-} -\entry {\code {-}}{22} +\entry{\code {-}}{22} \initial {?} -\entry {\code {?}}{22} +\entry{\code {?}}{22} \initial {@} -\entry {\code {@}}{21} +\entry{\code {@}}{21} \initial {_} -\entry {\code {_}}{22} +\entry{\code {_}}{22} \initial {0} -\entry {\code {0}}{22} +\entry{\code {0}}{22} \initial {A} -\entry {\code {auto_resume}}{108} +\entry{\code {auto_resume}}{108} \initial {B} -\entry {\code {BASH}}{74} -\entry {\code {BASH_ALIASES}}{75} -\entry {\code {BASH_ARGC}}{75} -\entry {\code {BASH_ARGV}}{75} -\entry {\code {BASH_ARGV0}}{75} -\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_LOADABLES_PATH}}{76} -\entry {\code {BASH_REMATCH}}{76} -\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}}{74} +\entry{\code {BASH_ALIASES}}{75} +\entry{\code {BASH_ARGC}}{75} +\entry{\code {BASH_ARGV}}{75} +\entry{\code {BASH_ARGV0}}{75} +\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_LOADABLES_PATH}}{76} +\entry{\code {BASH_REMATCH}}{76} +\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} \initial {C} -\entry {\code {CDPATH}}{74} -\entry {\code {CHILD_MAX}}{77} -\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}}{78} -\entry {\code {convert-meta}}{114} -\entry {\code {COPROC}}{79} +\entry{\code {CDPATH}}{74} +\entry{\code {CHILD_MAX}}{77} +\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}}{78} +\entry{\code {convert-meta}}{114} +\entry{\code {COPROC}}{79} \initial {D} -\entry {\code {DIRSTACK}}{79} -\entry {\code {disable-completion}}{114} +\entry{\code {DIRSTACK}}{79} +\entry{\code {disable-completion}}{114} \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}}{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} \initial {F} -\entry {\code {FCEDIT}}{79} -\entry {\code {FIGNORE}}{79} -\entry {\code {FUNCNAME}}{79} -\entry {\code {FUNCNEST}}{80} +\entry{\code {FCEDIT}}{79} +\entry{\code {FIGNORE}}{79} +\entry{\code {FUNCNAME}}{79} +\entry{\code {FUNCNEST}}{80} \initial {G} -\entry {\code {GLOBIGNORE}}{80} -\entry {\code {GROUPS}}{80} +\entry{\code {GLOBIGNORE}}{80} +\entry{\code {GROUPS}}{80} \initial {H} -\entry {\code {histchars}}{80} -\entry {\code {HISTCMD}}{80} -\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 {HOSTFILE}}{81} -\entry {\code {HOSTNAME}}{82} -\entry {\code {HOSTTYPE}}{82} +\entry{\code {histchars}}{80} +\entry{\code {HISTCMD}}{80} +\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 {HOSTFILE}}{81} +\entry{\code {HOSTNAME}}{82} +\entry{\code {HOSTTYPE}}{82} \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}}{74} +\entry{\code {IGNOREEOF}}{82} +\entry{\code {input-meta}}{116} +\entry{\code {INPUTRC}}{82} +\entry{\code {INSIDE_EMACS}}{82} +\entry{\code {isearch-terminators}}{116} \initial {K} -\entry {\code {keymap}}{116} +\entry{\code {keymap}}{116} \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 {LC_NUMERIC}}{82} -\entry {\code {LC_TIME}}{82} -\entry {\code {LINENO}}{82} -\entry {\code {LINES}}{82} +\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 {LC_NUMERIC}}{82} +\entry{\code {LC_TIME}}{82} +\entry{\code {LINENO}}{82} +\entry{\code {LINES}}{82} \initial {M} -\entry {\code {MACHTYPE}}{82} -\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}}{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} \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}}{83} +\entry{\code {OPTARG}}{74} +\entry{\code {OPTERR}}{83} +\entry{\code {OPTIND}}{74} +\entry{\code {OSTYPE}}{83} +\entry{\code {output-meta}}{117} \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 {PROMPT_DIRTRIM}}{83} -\entry {\code {PS0}}{83} -\entry {\code {PS1}}{74} -\entry {\code {PS2}}{74} -\entry {\code {PS3}}{83} -\entry {\code {PS4}}{83} -\entry {\code {PWD}}{84} +\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 {PROMPT_DIRTRIM}}{83} +\entry{\code {PS0}}{83} +\entry{\code {PS1}}{74} +\entry{\code {PS2}}{74} +\entry{\code {PS3}}{83} +\entry{\code {PS4}}{83} +\entry{\code {PWD}}{84} \initial {R} -\entry {\code {RANDOM}}{84} -\entry {\code {READLINE_LINE}}{84} -\entry {\code {READLINE_POINT}}{84} -\entry {\code {REPLY}}{84} -\entry {\code {revert-all-at-newline}}{117} +\entry{\code {RANDOM}}{84} +\entry{\code {READLINE_LINE}}{84} +\entry{\code {READLINE_POINT}}{84} +\entry{\code {REPLY}}{84} +\entry{\code {revert-all-at-newline}}{117} \initial {S} -\entry {\code {SECONDS}}{84} -\entry {\code {SHELL}}{84} -\entry {\code {SHELLOPTS}}{84} -\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 {SRANDOM}}{84} +\entry{\code {SECONDS}}{84} +\entry{\code {SHELL}}{84} +\entry{\code {SHELLOPTS}}{84} +\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 {SRANDOM}}{84} \initial {T} -\entry {\code {TEXTDOMAIN}}{7} -\entry {\code {TEXTDOMAINDIR}}{7} -\entry {\code {TIMEFORMAT}}{84} -\entry {\code {TMOUT}}{85} -\entry {\code {TMPDIR}}{85} +\entry{\code {TEXTDOMAIN}}{7} +\entry{\code {TEXTDOMAINDIR}}{7} +\entry{\code {TIMEFORMAT}}{84} +\entry{\code {TMOUT}}{85} +\entry{\code {TMPDIR}}{85} \initial {U} -\entry {\code {UID}}{85} +\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}}{118} +\entry{\code {vi-ins-mode-string}}{118} +\entry{\code {visible-stats}}{118} diff --git a/doc/builtins.0 b/doc/builtins.0 index d76d57ef..f9fffd28 100644 --- a/doc/builtins.0 +++ b/doc/builtins.0 @@ -4,8 +4,8 @@ BASH_BUILTINS(1) General Commands Manual BASH_BUILTINS(1) NNAAMMEE bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, command, - compgen, complete, compopt, continue, declare, dirs, disown, echo, - enable, eval, exec, exit, export, false, fc, fg, getopts, hash, help, + compgen, complete, compopt, continue, declare, dirs, disown, echo, en- + able, eval, exec, exit, export, false, fc, fg, getopts, hash, help, history, jobs, kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, true, type, typeset, ulimit, umask, unalias, unset, wait - @@ -28,8 +28,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS .. _f_i_l_e_n_a_m_e [_a_r_g_u_m_e_n_t_s] ssoouurrccee _f_i_l_e_n_a_m_e [_a_r_g_u_m_e_n_t_s] - Read and execute commands from _f_i_l_e_n_a_m_e in the current shell - environment and return the exit status of the last command exe- + Read and execute commands from _f_i_l_e_n_a_m_e in the current shell en- + vironment and return the exit status of the last command exe- cuted from _f_i_l_e_n_a_m_e. If _f_i_l_e_n_a_m_e does not contain a slash, filenames in PPAATTHH are used to find the directory containing _f_i_l_e_n_a_m_e. The file searched for in PPAATTHH need not be executable. @@ -37,15 +37,15 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS searched if no file is found in PPAATTHH. If the ssoouurrcceeppaatthh option to the sshhoopptt builtin command is turned off, the PPAATTHH is not searched. If any _a_r_g_u_m_e_n_t_s are supplied, they become the posi- - tional parameters when _f_i_l_e_n_a_m_e is executed. Otherwise the - positional parameters are unchanged. If the --TT option is - enabled, ssoouurrccee inherits any trap on DDEEBBUUGG; if it is not, any - DDEEBBUUGG trap string is saved and restored around the call to - ssoouurrccee, and ssoouurrccee unsets the DDEEBBUUGG trap while it executes. If - --TT is not set, and the sourced file changes the DDEEBBUUGG trap, the - new value is retained when ssoouurrccee completes. The return status - is the status of the last command exited within the script (0 if - no commands are executed), and false if _f_i_l_e_n_a_m_e is not found or + tional parameters when _f_i_l_e_n_a_m_e is executed. Otherwise the po- + sitional parameters are unchanged. If the --TT option is enabled, + ssoouurrccee inherits any trap on DDEEBBUUGG; if it is not, any DDEEBBUUGG trap + string is saved and restored around the call to ssoouurrccee, and + ssoouurrccee unsets the DDEEBBUUGG trap while it executes. If --TT is not + set, and the sourced file changes the DDEEBBUUGG trap, the new value + is retained when ssoouurrccee completes. The return status is the + status of the last command exited within the script (0 if no + commands are executed), and false if _f_i_l_e_n_a_m_e is not found or cannot be read. aalliiaass [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] @@ -55,8 +55,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS _v_a_l_u_e is given. A trailing space in _v_a_l_u_e causes the next word to be checked for alias substitution when the alias is expanded. For each _n_a_m_e in the argument list for which no _v_a_l_u_e is sup- - plied, the name and value of the alias is printed. AAlliiaass - returns true unless a _n_a_m_e is given for which no alias has been + plied, the name and value of the alias is printed. AAlliiaass re- + turns true unless a _n_a_m_e is given for which no alias has been defined. bbgg [_j_o_b_s_p_e_c ...] @@ -75,10 +75,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS bbiinndd [--mm _k_e_y_m_a_p] _k_e_y_s_e_q:_r_e_a_d_l_i_n_e_-_c_o_m_m_a_n_d Display current rreeaaddlliinnee key and function bindings, bind a key sequence to a rreeaaddlliinnee function or macro, or set a rreeaaddlliinnee - variable. Each non-option argument is a command as it would - appear in _._i_n_p_u_t_r_c, but each binding or command must be passed - as a separate argument; e.g., '"\C-x\C-r": re-read-init-file'. - Options, if supplied, have the following meanings: + variable. Each non-option argument is a command as it would ap- + pear in _._i_n_p_u_t_r_c, but each binding or command must be passed as + a separate argument; e.g., '"\C-x\C-r": re-read-init-file'. Op- + tions, if supplied, have the following meanings: --mm _k_e_y_m_a_p Use _k_e_y_m_a_p as the keymap to be affected by the subsequent bindings. Acceptable _k_e_y_m_a_p names are _e_m_a_c_s_, _e_m_a_c_s_-_s_t_a_n_- @@ -107,8 +107,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS --rr _k_e_y_s_e_q Remove any current binding for _k_e_y_s_e_q. --xx _k_e_y_s_e_q::_s_h_e_l_l_-_c_o_m_m_a_n_d - Cause _s_h_e_l_l_-_c_o_m_m_a_n_d to be executed whenever _k_e_y_s_e_q is - entered. When _s_h_e_l_l_-_c_o_m_m_a_n_d is executed, the shell sets + Cause _s_h_e_l_l_-_c_o_m_m_a_n_d to be executed whenever _k_e_y_s_e_q is en- + tered. When _s_h_e_l_l_-_c_o_m_m_a_n_d is executed, the shell sets the RREEAADDLLIINNEE__LLIINNEE variable to the contents of the rreeaadd-- lliinnee line buffer and the RREEAADDLLIINNEE__PPOOIINNTT variable to the current location of the insertion point. If the executed @@ -116,8 +116,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS LLIINNEE__PPOOIINNTT, those new values will be reflected in the editing state. --XX List all key sequences bound to shell commands and the - associated commands in a format that can be reused as - input. + associated commands in a format that can be reused as in- + put. The return value is 0 unless an unrecognized option is given or an error occurred. @@ -125,8 +125,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS bbrreeaakk [_n] Exit from within a ffoorr, wwhhiillee, uunnttiill, or sseelleecctt loop. If _n is specified, break _n levels. _n must be >= 1. If _n is greater - than the number of enclosing loops, all enclosing loops are - exited. The return value is 0 unless _n is not greater than or + than the number of enclosing loops, all enclosing loops are ex- + ited. The return value is 0 unless _n is not greater than or equal to 1. bbuuiillttiinn _s_h_e_l_l_-_b_u_i_l_t_i_n [_a_r_g_u_m_e_n_t_s] @@ -155,8 +155,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS the value of the HHOOMMEE shell variable is the default. Any addi- tional arguments following _d_i_r are ignored. The variable CCDDPPAATTHH defines the search path for the directory containing _d_i_r: each - directory name in CCDDPPAATTHH is searched for _d_i_r. Alternative - directory names in CCDDPPAATTHH are separated by a colon (:). A null + directory name in CCDDPPAATTHH is searched for _d_i_r. Alternative di- + rectory names in CCDDPPAATTHH are separated by a colon (:). A null directory name in CCDDPPAATTHH is the same as the current directory, i.e., ``..''. If _d_i_r begins with a slash (/), then CCDDPPAATTHH is not used. The --PP option causes ccdd to use the physical directory @@ -184,8 +184,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS lookup. Only builtin commands or commands found in the PPAATTHH are executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is performed using a default value for PPAATTHH that is guaranteed to - find all of the standard utilities. If either the --VV or --vv - option is supplied, a description of _c_o_m_m_a_n_d is printed. The --vv + find all of the standard utilities. If either the --VV or --vv op- + tion is supplied, a description of _c_o_m_m_a_n_d is printed. The --vv option causes a single word indicating the command or filename used to invoke _c_o_m_m_a_n_d to be displayed; the --VV option produces a more verbose description. If the --VV or --vv option is supplied, @@ -199,8 +199,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee builtin with the exception of --pp and --rr, and write the matches to the standard output. When using the --FF or --CC options, the - various shell variables set by the programmable completion - facilities, while available, will not have useful values. + various shell variables set by the programmable completion fa- + cilities, while available, will not have useful values. The matches will be generated in the same way as if the program- mable completion code had generated them directly from a comple- @@ -211,77 +211,78 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS or no matches were generated. ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEEII] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_- - _p_a_t] [--WW _w_o_r_d_l_i_s_t] [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d] - [--XX _f_i_l_t_e_r_p_a_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_f_i_x] _n_a_m_e [_n_a_m_e _._._.] + _p_a_t] [--WW _w_o_r_d_l_i_s_t] + [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d] [--XX _f_i_l_t_e_r_p_a_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_- + _f_i_x] _n_a_m_e [_n_a_m_e _._._.] ccoommpplleettee --pprr [--DDEEII] [_n_a_m_e ...] - Specify how arguments to each _n_a_m_e should be completed. If the - --pp option is supplied, or if no options are supplied, existing - completion specifications are printed in a way that allows them + Specify how arguments to each _n_a_m_e should be completed. If the + --pp option is supplied, or if no options are supplied, existing + completion specifications are printed in a way that allows them to be reused as input. The --rr option removes a completion spec- - ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com- + ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com- pletion specifications. The --DD option indicates that other sup- - plied options and actions should apply to the ``default'' com- - mand completion; that is, completion attempted on a command for - which no completion has previously been defined. The --EE option - indicates that other supplied options and actions should apply - to ``empty'' command completion; that is, completion attempted - on a blank line. The --II option indicates that other supplied - options and actions should apply to completion on the initial - non-assignment word on the line, or after a command delimiter - such as ;; or ||, which is usually command name completion. If - multiple options are supplied, the --DD option takes precedence + plied options and actions should apply to the ``default'' com- + mand completion; that is, completion attempted on a command for + which no completion has previously been defined. The --EE option + indicates that other supplied options and actions should apply + to ``empty'' command completion; that is, completion attempted + on a blank line. The --II option indicates that other supplied + options and actions should apply to completion on the initial + non-assignment word on the line, or after a command delimiter + such as ;; or ||, which is usually command name completion. If + multiple options are supplied, the --DD option takes precedence over --EE, and both take precedence over --II. If any of --DD, --EE, or - --II are supplied, any other _n_a_m_e arguments are ignored; these + --II are supplied, any other _n_a_m_e arguments are ignored; these completions only apply to the case specified by the option. - The process of applying these completion specifications when - word completion is attempted is described above under PPrrooggrraamm-- + The process of applying these completion specifications when + word completion is attempted is described above under PPrrooggrraamm-- mmaabbllee CCoommpplleettiioonn. - Other options, if specified, have the following meanings. The - arguments to the --GG, --WW, and --XX options (and, if necessary, the - --PP and --SS options) should be quoted to protect them from expan- + Other options, if specified, have the following meanings. The + arguments to the --GG, --WW, and --XX options (and, if necessary, the + --PP and --SS options) should be quoted to protect them from expan- sion before the ccoommpplleettee builtin is invoked. --oo _c_o_m_p_-_o_p_t_i_o_n - The _c_o_m_p_-_o_p_t_i_o_n controls several aspects of the comp- - spec's behavior beyond the simple generation of comple- + The _c_o_m_p_-_o_p_t_i_o_n controls several aspects of the comp- + spec's behavior beyond the simple generation of comple- tions. _c_o_m_p_-_o_p_t_i_o_n may be one of: bbaasshhddeeffaauulltt Perform the rest of the default bbaasshh completions if the compspec generates no matches. - ddeeffaauulltt Use readline's default filename completion if + ddeeffaauulltt Use readline's default filename completion if the compspec generates no matches. ddiirrnnaammeess - Perform directory name completion if the comp- + Perform directory name completion if the comp- spec generates no matches. ffiilleennaammeess - Tell readline that the compspec generates file- - names, so it can perform any filename-specific - processing (like adding a slash to directory - names, quoting special characters, or suppress- - ing trailing spaces). Intended to be used with + Tell readline that the compspec generates file- + names, so it can perform any filename-specific + processing (like adding a slash to directory + names, quoting special characters, or suppress- + ing trailing spaces). Intended to be used with shell functions. - nnooqquuoottee Tell readline not to quote the completed words - if they are filenames (quoting filenames is the + nnooqquuoottee Tell readline not to quote the completed words + if they are filenames (quoting filenames is the default). - nnoossoorrtt Tell readline not to sort the list of possible + nnoossoorrtt Tell readline not to sort the list of possible completions alphabetically. - nnoossppaaccee Tell readline not to append a space (the - default) to words completed at the end of the + nnoossppaaccee Tell readline not to append a space (the de- + fault) to words completed at the end of the line. pplluussddiirrss - After any matches defined by the compspec are - generated, directory name completion is - attempted and any matches are added to the - results of the other actions. + After any matches defined by the compspec are + generated, directory name completion is at- + tempted and any matches are added to the results + of the other actions. --AA _a_c_t_i_o_n - The _a_c_t_i_o_n may be one of the following to generate a + The _a_c_t_i_o_n may be one of the following to generate a list of possible completions: aalliiaass Alias names. May also be specified as --aa. aarrrraayyvvaarr Array variable names. bbiinnddiinngg RReeaaddlliinnee key binding names. - bbuuiillttiinn Names of shell builtin commands. May also be + bbuuiillttiinn Names of shell builtin commands. May also be specified as --bb. ccoommmmaanndd Command names. May also be specified as --cc. ddiirreeccttoorryy @@ -289,7 +290,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS ddiissaabblleedd Names of disabled shell builtins. eennaabblleedd Names of enabled shell builtins. - eexxppoorrtt Names of exported shell variables. May also be + eexxppoorrtt Names of exported shell variables. May also be specified as --ee. ffiillee File names. May also be specified as --ff. ffuunnccttiioonn @@ -298,17 +299,17 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS hheellppttooppiicc Help topics as accepted by the hheellpp builtin. hhoossttnnaammee - Hostnames, as taken from the file specified by + Hostnames, as taken from the file specified by the HHOOSSTTFFIILLEE shell variable. - jjoobb Job names, if job control is active. May also + jjoobb Job names, if job control is active. May also be specified as --jj. - kkeeyywwoorrdd Shell reserved words. May also be specified as + kkeeyywwoorrdd Shell reserved words. May also be specified as --kk. rruunnnniinngg Names of running jobs, if job control is active. sseerrvviiccee Service names. May also be specified as --ss. - sseettoopptt Valid arguments for the --oo option to the sseett + sseettoopptt Valid arguments for the --oo option to the sseett builtin. - sshhoopptt Shell option names as accepted by the sshhoopptt + sshhoopptt Shell option names as accepted by the sshhoopptt builtin. ssiiggnnaall Signal names. ssttooppppeedd Names of stopped jobs, if job control is active. @@ -317,128 +318,127 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS Names of all shell variables. May also be spec- ified as --vv. --CC _c_o_m_m_a_n_d - _c_o_m_m_a_n_d is executed in a subshell environment, and its + _c_o_m_m_a_n_d is executed in a subshell environment, and its output is used as the possible completions. --FF _f_u_n_c_t_i_o_n - The shell function _f_u_n_c_t_i_o_n is executed in the current - shell environment. When the function is executed, the - first argument ($$11) is the name of the command whose - arguments are being completed, the second argument ($$22) - is the word being completed, and the third argument ($$33) - is the word preceding the word being completed on the - current command line. When it finishes, the possible - completions are retrieved from the value of the CCOOMMPPRREE-- - PPLLYY array variable. + The shell function _f_u_n_c_t_i_o_n is executed in the current + shell environment. When the function is executed, the + first argument ($$11) is the name of the command whose ar- + guments are being completed, the second argument ($$22) is + the word being completed, and the third argument ($$33) is + the word preceding the word being completed on the cur- + rent command line. When it finishes, the possible com- + pletions are retrieved from the value of the CCOOMMPPRREEPPLLYY + array variable. --GG _g_l_o_b_p_a_t - The pathname expansion pattern _g_l_o_b_p_a_t is expanded to + The pathname expansion pattern _g_l_o_b_p_a_t is expanded to generate the possible completions. --PP _p_r_e_f_i_x - _p_r_e_f_i_x is added at the beginning of each possible com- + _p_r_e_f_i_x is added at the beginning of each possible com- pletion after all other options have been applied. --SS _s_u_f_f_i_x _s_u_f_f_i_x is appended to each possible completion after all other options have been applied. --WW _w_o_r_d_l_i_s_t - The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS - special variable as delimiters, and each resultant word - is expanded. Shell quoting is honored within _w_o_r_d_l_i_s_t, + The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS + special variable as delimiters, and each resultant word + is expanded. Shell quoting is honored within _w_o_r_d_l_i_s_t, in order to provide a mechanism for the words to contain - shell metacharacters or characters in the value of IIFFSS. - The possible completions are the members of the resul- + shell metacharacters or characters in the value of IIFFSS. + The possible completions are the members of the resul- tant list which match the word being completed. --XX _f_i_l_t_e_r_p_a_t - _f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion. + _f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion. It is applied to the list of possible completions gener- - ated by the preceding options and arguments, and each - completion matching _f_i_l_t_e_r_p_a_t is removed from the list. - A leading !! in _f_i_l_t_e_r_p_a_t negates the pattern; in this + ated by the preceding options and arguments, and each + completion matching _f_i_l_t_e_r_p_a_t is removed from the list. + A leading !! in _f_i_l_t_e_r_p_a_t negates the pattern; in this case, any completion not matching _f_i_l_t_e_r_p_a_t is removed. - The return value is true unless an invalid option is supplied, - an option other than --pp or --rr is supplied without a _n_a_m_e argu- - ment, an attempt is made to remove a completion specification + The return value is true unless an invalid option is supplied, + an option other than --pp or --rr is supplied without a _n_a_m_e argu- + ment, an attempt is made to remove a completion specification for a _n_a_m_e for which no specification exists, or an error occurs adding a completion specification. ccoommppoopptt [--oo _o_p_t_i_o_n] [--DDEEII] [++oo _o_p_t_i_o_n] [_n_a_m_e] - Modify completion options for each _n_a_m_e according to the - _o_p_t_i_o_ns, or for the currently-executing completion if no _n_a_m_es - are supplied. If no _o_p_t_i_o_ns are given, display the completion - options for each _n_a_m_e or the current completion. The possible - values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin - described above. The --DD option indicates that other supplied - options should apply to the ``default'' command completion; that - is, completion attempted on a command for which no completion + Modify completion options for each _n_a_m_e according to the _o_p_- + _t_i_o_ns, or for the currently-executing completion if no _n_a_m_es are + supplied. If no _o_p_t_i_o_ns are given, display the completion op- + tions for each _n_a_m_e or the current completion. The possible + values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin de- + scribed above. The --DD option indicates that other supplied op- + tions should apply to the ``default'' command completion; that + is, completion attempted on a command for which no completion has previously been defined. The --EE option indicates that other - supplied options should apply to ``empty'' command completion; - that is, completion attempted on a blank line. The --II option + supplied options should apply to ``empty'' command completion; + that is, completion attempted on a blank line. The --II option indicates that other supplied options should apply to completion - on the initial non-assignment word on the line, or after a com- - mand delimiter such as ;; or ||, which is usually command name + on the initial non-assignment word on the line, or after a com- + mand delimiter such as ;; or ||, which is usually command name completion. - The return value is true unless an invalid option is supplied, + The return value is true unless an invalid option is supplied, an attempt is made to modify the options for a _n_a_m_e for which no completion specification exists, or an output error occurs. ccoonnttiinnuuee [_n] Resume the next iteration of the enclosing ffoorr, wwhhiillee, uunnttiill, or - sseelleecctt loop. If _n is specified, resume at the _nth enclosing - loop. _n must be >= 1. If _n is greater than the number of - enclosing loops, the last enclosing loop (the ``top-level'' - loop) is resumed. The return value is 0 unless _n is not greater - than or equal to 1. + sseelleecctt loop. If _n is specified, resume at the _nth enclosing + loop. _n must be >= 1. If _n is greater than the number of en- + closing loops, the last enclosing loop (the ``top-level'' loop) + 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] ...] - 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 + 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 - with _n_a_m_e arguments, additional options, other than --ff and --FF, - are ignored. When --pp is supplied without _n_a_m_e arguments, it - will display the attributes and values of all variables having + with _n_a_m_e arguments, additional options, other than --ff and --FF, + are ignored. When --pp is supplied without _n_a_m_e arguments, it + will display the attributes and values of all variables having the attributes specified by the additional options. If no other - options are supplied with --pp, ddeeccllaarree will display the - attributes and values of all shell variables. The --ff option - will restrict the display to shell functions. The --FF option - inhibits the display of function definitions; only the function - name and attributes are printed. If the eexxttddeebbuugg shell option - is enabled using sshhoopptt, the source file name and line number - where each _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 function. It is ignored in all other cases. The follow- - ing options can be used to restrict output to variables with the - specified attribute or to give variables attributes: - --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss + options are supplied with --pp, ddeeccllaarree will display the at- + tributes and values of all shell variables. The --ff option will + restrict the display to shell functions. The --FF option inhibits + the display of function definitions; only the function name and + attributes are printed. If the eexxttddeebbuugg shell option is enabled + using sshhoopptt, the source file name and line number where each + _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: + --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 + --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss above). --ff Use function names only. --ii The variable is treated as an integer; arithmetic evalua- - tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when + tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when the variable is assigned a value. - --ll When the variable is assigned a value, all upper-case - characters are converted to lower-case. The upper-case + --ll When the variable is assigned a value, all upper-case + characters are converted to lower-case. The upper-case attribute is disabled. - --nn Give each _n_a_m_e the _n_a_m_e_r_e_f attribute, making it a name - reference to another variable. That other variable is - defined by the value of _n_a_m_e. All references, assign- - ments, and attribute modifications to _n_a_m_e, except those - using or changing the --nn attribute itself, are performed - on the variable referenced by _n_a_m_e's value. The nameref + --nn Give each _n_a_m_e the _n_a_m_e_r_e_f attribute, making it a name + reference to another variable. That other variable is + defined by the value of _n_a_m_e. All references, assign- + ments, and attribute modifications to _n_a_m_e, except those + using or changing the --nn attribute itself, are performed + on the variable referenced by _n_a_m_e's value. The nameref attribute cannot be applied to array variables. --rr Make _n_a_m_es readonly. These names cannot then be assigned values by subsequent assignment statements or unset. - --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions - inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling - shell. The trace attribute has no special meaning for - variables. + --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions in- + herit the DDEEBBUUGG and RREETTUURRNN traps from the calling shell. + The trace attribute has no special meaning for variables. --uu When the variable is assigned a value, all lower-case characters are converted to upper-case. The lower-case attribute is disabled. - --xx Mark _n_a_m_es for export to subsequent commands via the - environment. + --xx Mark _n_a_m_es for export to subsequent commands via the en- + vironment. Using `+' instead of `-' turns off the attribute instead, with the exceptions that ++aa and ++AA may not be used to destroy array @@ -451,23 +451,23 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS not take effect until subsequent assignments. The return value is 0 unless an invalid option is encountered, an attempt is made to define a function using ``-f foo=bar'', an attempt is made to - assign a value to a readonly variable, an attempt is made to - assign a value to an array variable without using the compound - assignment syntax (see AArrrraayyss above), one of the _n_a_m_e_s is not a + assign a value to a readonly variable, an attempt is made to as- + sign a value to an array variable without using the compound as- + signment syntax (see AArrrraayyss above), one of the _n_a_m_e_s is not a valid shell variable name, an attempt is made to turn off read- only status for a readonly variable, an attempt is made to turn off array status for an array variable, or an attempt is made to display a non-existent function with --ff. ddiirrss [[--ccllppvv]] [[++_n]] [[--_n]] - Without options, displays the list of currently remembered - directories. The default display is on a single line with - directory names separated by spaces. Directories are added to - the list with the ppuusshhdd command; the ppooppdd command removes - entries from the list. The current directory is always the - first directory in the stack. - --cc Clears the directory stack by deleting all of the - entries. + Without options, displays the list of currently remembered di- + rectories. The default display is on a single line with direc- + tory names separated by spaces. Directories are added to the + list with the ppuusshhdd command; the ppooppdd command removes entries + from the list. The current directory is always the first direc- + tory in the stack. + --cc Clears the directory stack by deleting all of the en- + tries. --ll Produces a listing using full pathnames; the default listing format uses a tilde to denote the home directory. --pp Print the directory stack with one entry per line. @@ -488,11 +488,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS jobs. If _j_o_b_s_p_e_c is not present, and neither the --aa nor the --rr option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option is given, each _j_o_b_s_p_e_c is not removed from the table, but is - marked so that SSIIGGHHUUPP is not sent to the job if the shell - receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is supplied, the --aa option - means to remove or mark all jobs; the --rr option without a _j_o_b_- - _s_p_e_c argument restricts operation to running jobs. The return - value is 0 unless a _j_o_b_s_p_e_c does not specify a valid job. + marked so that SSIIGGHHUUPP is not sent to the job if the shell re- + ceives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is supplied, the --aa option means + to remove or mark all jobs; the --rr option without a _j_o_b_s_p_e_c ar- + gument restricts operation to running jobs. The return value is + 0 unless a _j_o_b_s_p_e_c does not specify a valid job. eecchhoo [--nneeEE] [_a_r_g ...] Output the _a_r_gs, separated by spaces, followed by a newline. @@ -502,10 +502,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS characters is enabled. The --EE option disables the interpreta- tion of these escape characters, even on systems where they are interpreted by default. The xxppgg__eecchhoo shell option may be used - to dynamically determine whether or not eecchhoo expands these - escape characters by default. eecchhoo does not interpret ---- to - mean the end of options. eecchhoo interprets the following escape - sequences: + to dynamically determine whether or not eecchhoo expands these es- + cape characters by default. eecchhoo does not interpret ---- to mean + the end of options. eecchhoo interprets the following escape se- + quences: \\aa alert (bell) \\bb backspace \\cc suppress further output @@ -532,8 +532,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS allows a disk command which has the same name as a shell builtin to be executed without specifying a full pathname, even though the shell normally searches for builtins before disk commands. - If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are - enabled. For example, to use the tteesstt binary found via the PPAATTHH + If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are en- + abled. For example, to use the tteesstt binary found via the PPAATTHH instead of the shell builtin version, run ``enable -n test''. The --ff option means to load the new builtin command _n_a_m_e from shared object _f_i_l_e_n_a_m_e, on systems that support dynamic loading. @@ -558,8 +558,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If the --ll option is supplied, the shell places a dash at the begin- - ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what - _l_o_g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with + ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what _l_o_- + _g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with an empty environment. If --aa is supplied, the shell passes _n_a_m_e as the zeroth argument to the executed command. If _c_o_m_m_a_n_d can- not be executed for some reason, a non-interactive shell exits, @@ -616,8 +616,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history + 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 @@ -634,73 +634,74 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS 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_s] + 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 - expected 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 + 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 _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 - option requires an argument, ggeettooppttss places that argument into - the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati- - cally; it must be manually reset between multiple calls to - ggeettooppttss within the same shell invocation if a new set of parame- - ters is to be used. + 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 + to be used. - When the end of options is encountered, ggeettooppttss exits with a - return value greater than zero. OOPPTTIINNDD is set to the index of - the first non-option argument, and _n_a_m_e is set to ?. + 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 given in _a_r_g_s, ggeettooppttss parses those instead. + 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 - OOPPTTAARRGG and no diagnostic message is printed. + 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 - causes the shell to forget all remembered locations. The --dd - option 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 argu- - ments are supplied with --tt, the _n_a_m_e is printed before the - hashed full pathname. The --ll option causes output to be dis- - played in a format that may be reused as input. If no arguments - are given, or if only --ll is supplied, information about remem- - bered commands is printed. The return status is true unless a - _n_a_m_e is not found or an invalid option is supplied. + 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 + 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 + 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 + 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 @@ -718,53 +719,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 - appended 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. @@ -773,242 +774,242 @@ 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 - _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and - executes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status. + _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and ex- + ecutes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status. 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 - successfully sent, or false if an error occurs or an invalid - option is encountered. + --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_r_a_y before assigning to it. + 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 - directories from the stack, so that only the stack is - manipulated. - ++_n Removes the _nth entry counting from the left of the list - shown by ddiirrss, starting with zero. For example: ``popd + --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 +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 - argument is specified, conversion behaves as if -1 had - been given. This is an exception to the usual pprriinnttff - behavior. + 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- + ior. - Arguments to non-string format specifiers are treated as C con- + 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 + if the leading character is a single or double quote, the value is the ASCII value of the following character. - The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- + The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- _m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied, - the extra format specifications behave as if a zero value or - null string, as appropriate, had been supplied. The return + the extra format specifications behave as if a zero value or + null string, as appropriate, had been supplied. The return value is zero on success, non-zero on failure. ppuusshhdd [--nn] [+_n] [-_n] ppuusshhdd [--nn] [_d_i_r] - Adds a directory to the top of the directory stack, or rotates - the stack, making the new top of the stack the current working - directory. With no arguments, ppuusshhdd exchanges the top two - directories and returns 0, unless the directory stack is empty. + Adds a directory to the top of the directory stack, or rotates + the stack, making the new top of the stack the current working + directory. With no arguments, ppuusshhdd exchanges the top two di- + rectories and returns 0, unless the directory stack is empty. Arguments, if supplied, have the following meanings: - --nn Suppresses the normal change of directory when rotating - or adding directories to the stack, so that only the + --nn Suppresses the normal change of directory when rotating + or adding directories to the stack, so that only the stack is manipulated. - ++_n Rotates the stack so that the _nth directory (counting - from the left of the list shown by ddiirrss, starting with + ++_n Rotates the stack so that the _nth directory (counting + from the left of the list shown by ddiirrss, starting with zero) is at the top. - --_n Rotates the stack so that the _nth directory (counting - from the right of the list shown by ddiirrss, starting with + --_n Rotates the stack so that the _nth directory (counting + from the right of the list shown by ddiirrss, starting with zero) is at the top. _d_i_r Adds _d_i_r to the directory stack at the top, making it the - new current working directory as if it had been supplied + new current working directory as if it had been supplied as the argument to the ccdd builtin. If the ppuusshhdd command is successful, a ddiirrss is performed as well. - If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r - fails. With the second form, ppuusshhdd returns 0 unless the direc- - tory stack is empty, a non-existent directory stack element is - specified, or the directory change to the specified new current + If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r + fails. With the second form, ppuusshhdd returns 0 unless the direc- + tory stack is empty, a non-existent directory stack element is + specified, or the directory change to the specified new current directory fails. ppwwdd [--LLPP] - Print the absolute pathname of the current working directory. + Print the absolute pathname of the current working directory. The pathname printed contains no symbolic links if the --PP option is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command - is enabled. If the --LL option is used, the pathname printed may - contain symbolic links. The return status is 0 unless an error - occurs while reading the name of the current directory or an - invalid option is supplied. + is enabled. If the --LL option is used, the pathname printed may + contain symbolic links. The return status is 0 unless an error + occurs while reading the name of the current directory or an in- + valid option is supplied. rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp _p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...] - One line is read from the standard input, or from the file - descriptor _f_d supplied as an argument to the --uu option, split - into words as described above under WWoorrdd SSpplliittttiinngg, and the - first word is assigned to the first _n_a_m_e, the second word to the - second _n_a_m_e, and so on. If there are more words than names, the + One line is read from the standard input, or from the file de- + scriptor _f_d supplied as an argument to the --uu option, split into + words as described above under WWoorrdd SSpplliittttiinngg, and the first + word is assigned to the first _n_a_m_e, the second word to the sec- + ond _n_a_m_e, and so on. If there are more words than names, the remaining words and their intervening delimiters are assigned to - the last _n_a_m_e. If there are fewer words read from the input - stream than names, the remaining names are assigned empty val- - ues. The characters in IIFFSS are used to split the line into - words using the same rules the shell uses for expansion - (described above under WWoorrdd SSpplliittttiinngg). The backslash character + the last _n_a_m_e. If there are fewer words read from the input + stream than names, the remaining names are assigned empty val- + ues. The characters in IIFFSS are used to split the line into + words using the same rules the shell uses for expansion (de- + scribed above under WWoorrdd SSpplliittttiinngg). The backslash character (\\) may be used to remove any special meaning for the next char- - acter read and for line continuation. Options, if supplied, + acter read and for line continuation. Options, if supplied, have the following meanings: --aa _a_n_a_m_e The words are assigned to sequential indices of the array variable _a_n_a_m_e, starting at 0. _a_n_a_m_e is unset before any - new values are assigned. Other _n_a_m_e arguments are - ignored. + new values are assigned. Other _n_a_m_e arguments are ig- + nored. --dd _d_e_l_i_m - The first character of _d_e_l_i_m is used to terminate the - input line, rather than newline. If _d_e_l_i_m is the empty - string, rreeaadd will terminate a line when it reads a NUL + The first character of _d_e_l_i_m is used to terminate the in- + put line, rather than newline. If _d_e_l_i_m is the empty + string, rreeaadd will terminate a line when it reads a NUL character. --ee If the standard input is coming from a terminal, rreeaaddlliinnee - (see RREEAADDLLIINNEE above) is used to obtain the line. Read- - line uses the current (or default, if line editing was - not previously active) editing settings, but uses Read- + (see RREEAADDLLIINNEE above) is used to obtain the line. Read- + line uses the current (or default, if line editing was + not previously active) editing settings, but uses Read- line's default filename completion. --ii _t_e_x_t - If rreeaaddlliinnee is being used to read the line, _t_e_x_t is + If rreeaaddlliinnee is being used to read the line, _t_e_x_t is placed into the editing buffer before editing begins. --nn _n_c_h_a_r_s - rreeaadd returns after reading _n_c_h_a_r_s characters rather than + rreeaadd returns after reading _n_c_h_a_r_s characters rather than waiting for a complete line of input, but honors a delim- - iter if fewer than _n_c_h_a_r_s characters are read before the + iter if fewer than _n_c_h_a_r_s characters are read before the delimiter. --NN _n_c_h_a_r_s - rreeaadd returns after reading exactly _n_c_h_a_r_s characters - rather than waiting for a complete line of input, unless - EOF is encountered or rreeaadd times out. Delimiter charac- - ters encountered in the input are not treated specially - and do not cause rreeaadd to return until _n_c_h_a_r_s characters - are read. The result is not split on the characters in - IIFFSS; the intent is that the variable is assigned exactly + rreeaadd returns after reading exactly _n_c_h_a_r_s characters + rather than waiting for a complete line of input, unless + EOF is encountered or rreeaadd times out. Delimiter charac- + ters encountered in the input are not treated specially + and do not cause rreeaadd to return until _n_c_h_a_r_s characters + are read. The result is not split on the characters in + IIFFSS; the intent is that the variable is assigned exactly the characters read (with the exception of backslash; see the --rr option below). --pp _p_r_o_m_p_t @@ -1016,142 +1017,142 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS line, before attempting to read any input. The prompt is displayed only if input is coming from a terminal. --rr Backslash does not act as an escape character. The back- - slash is considered to be part of the line. In particu- - lar, a backslash-newline pair may not then be used as a + slash is considered to be part of the line. In particu- + lar, a backslash-newline pair may not then be used as a line continuation. --ss Silent mode. If input is coming from a terminal, charac- ters are not echoed. --tt _t_i_m_e_o_u_t - Cause rreeaadd to time out and return failure if a complete - line of input (or a specified number of characters) is - not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a deci- - mal number with a fractional portion following the deci- - mal point. This option is only effective if rreeaadd is - reading input from a terminal, pipe, or other special - file; it has no effect when reading from regular files. + Cause rreeaadd to time out and return failure if a complete + line of input (or a specified number of characters) is + not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a deci- + mal number with a fractional portion following the deci- + mal point. This option is only effective if rreeaadd is + reading input from a terminal, pipe, or other special + file; it has no effect when reading from regular files. If rreeaadd times out, rreeaadd saves any partial input read into - the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd - returns immediately, without trying to read any data. - The exit status is 0 if input is available on the speci- - fied file descriptor, non-zero otherwise. The exit sta- - tus is greater than 128 if the timeout is exceeded. + the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd re- + turns immediately, without trying to read any data. The + exit status is 0 if input is available on the specified + file descriptor, non-zero otherwise. The exit status is + greater than 128 if the timeout is exceeded. --uu _f_d Read input from file descriptor _f_d. If no _n_a_m_e_s are supplied, the line read is assigned to the vari- - able RREEPPLLYY. The exit status is zero, unless end-of-file is - encountered, rreeaadd times out (in which case the status is greater - than 128), a variable assignment error (such as assigning to a + able RREEPPLLYY. The exit status is zero, unless end-of-file is en- + countered, rreeaadd times out (in which case the status is greater + than 128), a variable assignment error (such as assigning to a readonly variable) occurs, or an invalid file descriptor is sup- plied as the argument to --uu. rreeaaddoonnllyy [--aaAAff] [--pp] [_n_a_m_e[=_w_o_r_d] ...] - The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s - may not be changed by subsequent assignment. If the --ff option - is supplied, the functions corresponding to the _n_a_m_e_s are so - marked. The --aa option restricts the variables to indexed - arrays; the --AA option restricts the variables to associative - arrays. If both options are supplied, --AA takes precedence. If - no _n_a_m_e arguments are given, or if the --pp option is supplied, a + The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s + may not be changed by subsequent assignment. If the --ff option + is supplied, the functions corresponding to the _n_a_m_e_s are so + marked. The --aa option restricts the variables to indexed ar- + rays; the --AA option restricts the variables to associative ar- + rays. If both options are supplied, --AA takes precedence. If no + _n_a_m_e arguments are given, or if the --pp option is supplied, a list of all readonly names is printed. The other options may be - used to restrict the output to a subset of the set of readonly - names. The --pp option causes output to be displayed in a format - that may be reused as input. If a variable name is followed by - =_w_o_r_d, the value of the variable is set to _w_o_r_d. The return - status is 0 unless an invalid option is encountered, one of the + used to restrict the output to a subset of the set of readonly + names. The --pp option causes output to be displayed in a format + that may be reused as input. If a variable name is followed by + =_w_o_r_d, the value of the variable is set to _w_o_r_d. The return + status is 0 unless an invalid option is encountered, one of the _n_a_m_e_s is not a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a function. rreettuurrnn [_n] - Causes a function to stop executing and return the value speci- - fied by _n to its caller. If _n is omitted, the return status is - that of the last command executed in the function body. If - rreettuurrnn is executed by a trap handler, the last command used to - determine the status is the last command executed before the - trap handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the - last command used to determine the status is the last command - executed by the trap handler before rreettuurrnn was invoked. If - rreettuurrnn is used outside a function, but during execution of a - script by the .. (ssoouurrccee) command, it causes the shell to stop - executing that script and return either _n or the exit status of - the last command executed within the script as the exit status - of the script. If _n is supplied, the return value is its least - significant 8 bits. The return status is non-zero if rreettuurrnn is - supplied a non-numeric argument, or is used outside a function - and not during execution of a script by .. or ssoouurrccee. Any com- - mand associated with the RREETTUURRNN trap is executed before execu- - tion resumes after the function or script. + Causes a function to stop executing and return the value speci- + fied by _n to its caller. If _n is omitted, the return status is + that of the last command executed in the function body. If rree-- + ttuurrnn is executed by a trap handler, the last command used to de- + termine the status is the last command executed before the trap + handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the last + command used to determine the status is the last command exe- + cuted by the trap handler before rreettuurrnn was invoked. If rreettuurrnn + is used outside a function, but during execution of a script by + the .. (ssoouurrccee) command, it causes the shell to stop executing + that script and return either _n or the exit status of the last + command executed within the script as the exit status of the + script. If _n is supplied, the return value is its least signif- + icant 8 bits. The return status is non-zero if rreettuurrnn is sup- + plied a non-numeric argument, or is used outside a function and + not during execution of a script by .. or ssoouurrccee. Any command + associated with the RREETTUURRNN trap is executed before execution re- + sumes after the function or script. sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...] sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...] - Without options, the name and value of each shell variable are + Without options, the name and value of each shell variable are displayed in a format that can be reused as input for setting or resetting the currently-set variables. Read-only variables can- - not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed. - The output is sorted according to the current locale. When - options are specified, they set or unset shell attributes. Any - arguments remaining after option processing are treated as val- + not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed. + The output is sorted according to the current locale. When op- + tions are specified, they set or unset shell attributes. Any + arguments remaining after option processing are treated as val- ues for the positional parameters and are assigned, in order, to - $$11, $$22, ...... $$_n. Options, if specified, have the following + $$11, $$22, ...... $$_n. Options, if specified, have the following meanings: --aa Each variable or function that is created or modified is - given the export attribute and marked for export to the + given the export attribute and marked for export to the environment of subsequent commands. - --bb Report the status of terminated background jobs immedi- + --bb Report the status of terminated background jobs immedi- ately, rather than before the next primary prompt. This is effective only when job control is enabled. - --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a - single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d + --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a + single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d (see SSHHEELLLL GGRRAAMMMMAARR above), exits with a non-zero status. - The shell does not exit if the command that fails is - part of the command list immediately following a wwhhiillee - or uunnttiill keyword, part of the test following the iiff or - eelliiff reserved words, part of any command executed in a - &&&& or |||| list except the command following the final &&&& + The shell does not exit if the command that fails is + part of the command list immediately following a wwhhiillee + or uunnttiill keyword, part of the test following the iiff or + eelliiff reserved words, part of any command executed in a + &&&& or |||| list except the command following the final &&&& or ||||, any command in a pipeline but the last, or if the - command's return value is being inverted with !!. If a - compound command other than a subshell returns a non- - zero status because a command failed while --ee was being - ignored, the shell does not exit. A trap on EERRRR, if - set, is executed before the shell exits. This option + command's return value is being inverted with !!. If a + compound command other than a subshell returns a non- + zero status because a command failed while --ee was being + ignored, the shell does not exit. A trap on EERRRR, if + set, is executed before the shell exits. This option applies to the shell environment and each subshell envi- - ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT + ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT above), and may cause subshells to exit before executing all the commands in the subshell. - If a compound command or shell function executes in a - context where --ee is being ignored, none of the commands - executed within the compound command or function body - will be affected by the --ee setting, even if --ee is set - and a command returns a failure status. If a compound - command or shell function sets --ee while executing in a - context where --ee is ignored, that setting will not have - any effect until the compound command or the command + If a compound command or shell function executes in a + context where --ee is being ignored, none of the commands + executed within the compound command or function body + will be affected by the --ee setting, even if --ee is set + and a command returns a failure status. If a compound + command or shell function sets --ee while executing in a + context where --ee is ignored, that setting will not have + any effect until the compound command or the command containing the function call completes. --ff Disable pathname expansion. - --hh Remember the location of commands as they are looked up + --hh Remember the location of commands as they are looked up for execution. This is enabled by default. - --kk All arguments in the form of assignment statements are - placed in the environment for a command, not just those + --kk All arguments in the form of assignment statements are + placed in the environment for a command, not just those that precede the command name. - --mm Monitor mode. Job control is enabled. This option is - on by default for interactive shells on systems that - support it (see JJOOBB CCOONNTTRROOLL above). All processes run + --mm Monitor mode. Job control is enabled. This option is + on by default for interactive shells on systems that + support it (see JJOOBB CCOONNTTRROOLL above). All processes run in a separate process group. When a background job com- pletes, the shell prints a line containing its exit sta- tus. --nn Read commands but do not execute them. This may be used - to check a shell script for syntax errors. This is - ignored by interactive shells. + to check a shell script for syntax errors. This is ig- + nored by interactive shells. --oo _o_p_t_i_o_n_-_n_a_m_e The _o_p_t_i_o_n_-_n_a_m_e can be one of the following: aalllleexxppoorrtt Same as --aa. bbrraacceeeexxppaanndd Same as --BB. - eemmaaccss Use an emacs-style command line editing inter- + eemmaaccss Use an emacs-style command line editing inter- face. This is enabled by default when the shell is interactive, unless the shell is started with - the ----nnooeeddiittiinngg option. This also affects the + the ----nnooeeddiittiinngg option. This also affects the editing interface used for rreeaadd --ee. eerrrreexxiitt Same as --ee. eerrrrttrraaccee @@ -1165,9 +1166,9 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS HHIISSTTOORRYY. This option is on by default in inter- active shells. iiggnnoorreeeeooff - The effect is as if the shell command - ``IGNOREEOF=10'' had been executed (see SShheellll - VVaarriiaabblleess above). + The effect is as if the shell command ``IG- + NOREEOF=10'' had been executed (see SShheellll VVaarrii-- + aabblleess above). kkeeyywwoorrdd Same as --kk. mmoonniittoorr Same as --mm. nnoocclloobbbbeerr @@ -1181,419 +1182,412 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS pphhyyssiiccaall Same as --PP. ppiippeeffaaiill - If set, the return value of a pipeline is the - value of the last (rightmost) command to exit - with a non-zero status, or zero if all commands - in the pipeline exit successfully. This option + If set, the return value of a pipeline is the + value of the last (rightmost) command to exit + with a non-zero status, or zero if all commands + in the pipeline exit successfully. This option is disabled by default. - ppoossiixx Change the behavior of bbaasshh where the default - operation differs from the POSIX standard to - match the standard (_p_o_s_i_x _m_o_d_e). See SSEEEE AALLSSOO + ppoossiixx Change the behavior of bbaasshh where the default + operation differs from the POSIX standard to + match the standard (_p_o_s_i_x _m_o_d_e). See SSEEEE AALLSSOO below for a reference to a document that details how posix mode affects bash's behavior. pprriivviilleeggeedd Same as --pp. vveerrbboossee Same as --vv. - vvii Use a vi-style command line editing interface. + vvii Use a vi-style command line editing interface. This also affects the editing interface used for rreeaadd --ee. xxttrraaccee Same as --xx. If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, the values of the - current options are printed. If ++oo is supplied with no - _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the - current option settings is displayed on the standard + current options are printed. If ++oo is supplied with no + _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the + current option settings is displayed on the standard output. - --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and - $$BBAASSHH__EENNVV files are not processed, shell functions are - not inherited from the environment, and the SSHHEELLLLOOPPTTSS, - BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they - appear in the environment, are ignored. If the shell is - started with the effective user (group) id not equal to - the real user (group) id, and the --pp option is not sup- + --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and + $$BBAASSHH__EENNVV files are not processed, shell functions are + not inherited from the environment, and the SSHHEELLLLOOPPTTSS, + BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they ap- + pear in the environment, are ignored. If the shell is + started with the effective user (group) id not equal to + the real user (group) id, and the --pp option is not sup- plied, these actions are taken and the effective user id - is set to the real user id. If the --pp option is sup- - plied at startup, the effective user id is not reset. - Turning this option off causes the effective user and + is set to the real user id. If the --pp option is sup- + plied at startup, the effective user id is not reset. + Turning this option off causes the effective user and group ids to be set to the real user and group ids. --tt Exit after reading and executing one command. --uu Treat unset variables and parameters other than the spe- - cial parameters "@" and "*" as an error when performing - parameter expansion. If expansion is attempted on an - unset variable or parameter, the shell prints an error - message, and, if not interactive, exits with a non-zero + cial parameters "@" and "*" as an error when performing + parameter expansion. If expansion is attempted on an + unset variable or parameter, the shell prints an error + message, and, if not interactive, exits with a non-zero status. --vv Print shell input lines as they are read. - --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee + --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee command, sseelleecctt command, or arithmetic ffoorr command, dis- - play the expanded value of PPSS44, followed by the command + play the expanded value of PPSS44, followed by the command and its expanded arguments or associated word list. - --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn + --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn above). This is on by default. - --CC If set, bbaasshh does not overwrite an existing file with - the >>, >>&&, and <<>> redirection operators. This may be + --CC If set, bbaasshh does not overwrite an existing file with + the >>, >>&&, and <<>> redirection operators. This may be overridden when creating output files by using the redi- rection operator >>|| instead of >>. --EE If set, any trap on EERRRR is inherited by shell functions, - command substitutions, and commands executed in a sub- - shell environment. The EERRRR trap is normally not inher- + command substitutions, and commands executed in a sub- + shell environment. The EERRRR trap is normally not inher- ited in such cases. --HH Enable !! style history substitution. This option is on by default when the shell is interactive. - --PP If set, the shell does not resolve symbolic links when - executing commands such as ccdd that change the current + --PP If set, the shell does not resolve symbolic links when + executing commands such as ccdd that change the current working directory. It uses the physical directory structure instead. By default, bbaasshh follows the logical - chain of directories when performing commands which + chain of directories when performing commands which change the current directory. - --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by - shell functions, command substitutions, and commands - executed in a subshell environment. The DDEEBBUUGG and - RREETTUURRNN traps are normally not inherited in such cases. - ---- If no arguments follow this option, then the positional + --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by + shell functions, command substitutions, and commands ex- + ecuted in a subshell environment. The DDEEBBUUGG and RREETTUURRNN + traps are normally not inherited in such cases. + ---- If no arguments follow this option, then the positional parameters are unset. Otherwise, the positional parame- - ters are set to the _a_r_gs, even if some of them begin + ters are set to the _a_r_gs, even if some of them begin with a --. - -- Signal the end of options, cause all remaining _a_r_gs to + -- Signal the end of options, cause all remaining _a_r_gs to be assigned to the positional parameters. The --xx and --vv options are turned off. If there are no _a_r_gs, the posi- tional parameters remain unchanged. - The options are off by default unless otherwise noted. Using + - rather than - causes these options to be turned off. The - options can also be specified as arguments to an invocation of - the shell. The current set of options may be found in $$--. The - return status is always true unless an invalid option is encoun- + The options are off by default unless otherwise noted. Using + + rather than - causes these options to be turned off. The op- + tions can also be specified as arguments to an invocation of the + shell. The current set of options may be found in $$--. The re- + turn status is always true unless an invalid option is encoun- tered. sshhiifftt [_n] - The positional parameters from _n+1 ... are renamed to $$11 ........ - Parameters represented by the numbers $$## down to $$##-_n+1 are - unset. _n must be a non-negative number less than or equal to - $$##. If _n is 0, no parameters are changed. If _n is not given, - it is assumed to be 1. If _n is greater than $$##, the positional - parameters are not changed. The return status is greater than - zero if _n is greater than $$## or less than zero; otherwise 0. + The positional parameters from _n+1 ... are renamed to $$11 ........ + Parameters represented by the numbers $$## down to $$##-_n+1 are un- + set. _n must be a non-negative number less than or equal to $$##. + If _n is 0, no parameters are changed. If _n is not given, it is + assumed to be 1. If _n is greater than $$##, the positional param- + eters are not changed. The return status is greater than zero + if _n is greater than $$## or less than zero; otherwise 0. sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...] - Toggle the values of settings controlling optional shell behav- - ior. The settings can be either those listed below, or, if the + Toggle the values of settings controlling optional shell behav- + ior. The settings can be either those listed below, or, if the --oo option is used, those available with the --oo option to the sseett builtin command. With no options, or with the --pp option, a list - of all settable options is displayed, with an indication of + of all settable options is displayed, with an indication of whether or not each is set; if _o_p_t_n_a_m_e_s are supplied, the output - is restricted to those options. The --pp option causes output to - be displayed in a form that may be reused as input. Other - options have the following meanings: + is restricted to those options. The --pp option causes output to + be displayed in a form that may be reused as input. Other op- + tions have the following meanings: --ss Enable (set) each _o_p_t_n_a_m_e. --uu Disable (unset) each _o_p_t_n_a_m_e. - --qq Suppresses normal output (quiet mode); the return status + --qq Suppresses normal output (quiet mode); the return status indicates whether the _o_p_t_n_a_m_e is set or unset. If multi- - ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta- - tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other- + ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta- + tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other- wise. - --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for + --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for the --oo option to the sseett builtin. - If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, sshhoopptt - shows only those options which are set or unset, respectively. - Unless otherwise noted, the sshhoopptt options are disabled (unset) + If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, sshhoopptt + shows only those options which are set or unset, respectively. + Unless otherwise noted, the sshhoopptt options are disabled (unset) by default. - The return status when listing options is zero if all _o_p_t_n_a_m_e_s - are enabled, non-zero otherwise. When setting or unsetting - options, the return status is zero unless an _o_p_t_n_a_m_e is not a + The return status when listing options is zero if all _o_p_t_n_a_m_e_s + are enabled, non-zero otherwise. When setting or unsetting op- + tions, the return status is zero unless an _o_p_t_n_a_m_e is not a valid shell option. The list of sshhoopptt options is: aassssoocc__eexxppaanndd__oonnccee - If set, the shell suppresses multiple evaluation of - associative array subscripts during arithmetic expres- - sion evaluation, while executing builtins that can per- - form variable assignments, and while executing builtins - that perform array dereferencing. - aauuttooccdd If set, a command name that is the name of a directory - is executed as if it were the argument to the ccdd com- + If set, the shell suppresses multiple evaluation of as- + sociative array subscripts during arithmetic expression + evaluation, while executing builtins that can perform + variable assignments, and while executing builtins that + perform array dereferencing. + aauuttooccdd If set, a command name that is the name of a directory + is executed as if it were the argument to the ccdd com- mand. This option is only used by interactive shells. ccddaabbllee__vvaarrss - If set, an argument to the ccdd builtin command that is - not a directory is assumed to be the name of a variable + If set, an argument to the ccdd builtin command that is + not a directory is assumed to be the name of a variable whose value is the directory to change to. ccddssppeellll If set, minor errors in the spelling of a directory com- - ponent in a ccdd command will be corrected. The errors + ponent in a ccdd command will be corrected. The errors checked for are transposed characters, a missing charac- - ter, and one character too many. If a correction is - found, the corrected filename is printed, and the com- - mand proceeds. This option is only used by interactive + ter, and one character too many. If a correction is + found, the corrected filename is printed, and the com- + mand proceeds. This option is only used by interactive shells. cchheecckkhhaasshh If set, bbaasshh checks that a command found in the hash ta- - ble exists before trying to execute it. If a hashed - command no longer exists, a normal path search is per- + ble exists before trying to execute it. If a hashed + command no longer exists, a normal path search is per- formed. cchheecckkjjoobbss If set, bbaasshh lists the status of any stopped and running - jobs before exiting an interactive shell. If any jobs + jobs before exiting an interactive shell. If any jobs are running, this causes the exit to be deferred until a - second exit is attempted without an intervening command - (see JJOOBB CCOONNTTRROOLL above). The shell always postpones - exiting if any jobs are stopped. + second exit is attempted without an intervening command + (see JJOOBB CCOONNTTRROOLL above). The shell always postpones ex- + iting if any jobs are stopped. cchheecckkwwiinnssiizzee - If set, bbaasshh checks the window size after each external - (non-builtin) command and, if necessary, updates the - values of LLIINNEESS and CCOOLLUUMMNNSS. This option is enabled by + If set, bbaasshh checks the window size after each external + (non-builtin) command and, if necessary, updates the + values of LLIINNEESS and CCOOLLUUMMNNSS. This option is enabled by default. - ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- - line command in the same history entry. This allows - easy re-editing of multi-line commands. This option is - enabled by default, but only has an effect if command + ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- + line command in the same history entry. This allows + easy re-editing of multi-line commands. This option is + 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 + with respect to quoted arguments to the [[[[ conditional command's ==~~ operator and locale-specific string compar- - ison when using the [[[[ conditional command's << and >> - operators. Bash versions prior to bash-4.1 use ASCII - collation and _s_t_r_c_m_p(3); bash-4.1 and later use the cur- - rent locale's collation sequence and _s_t_r_c_o_l_l(3). + 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 + 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 - interrupt the list as if the shell received the inter- - rupt; previous versions continue with the next command - in the list. + 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 + 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 - removal. + 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 - attempt is made to use a quoted compound array assign- - ment 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). + 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 + 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. ccoommpplleettee__ffuullllqquuoottee - If set, bbaasshh quotes all shell metacharacters in file- - names and directory names when performing completion. + If set, bbaasshh quotes all shell metacharacters in file- + names and directory names when performing completion. If not set, bbaasshh removes metacharacters such as the dol- - lar sign from the set of characters that will be quoted - in completed filenames when these metacharacters appear - in shell variable references in words to be completed. - This means that dollar signs in variable names that - expand to directories will not be quoted; however, any - dollar signs appearing in filenames will not be quoted, - either. This is active only when bash is using back- - slashes to quote completed filenames. This variable is - set by default, which is the default bash behavior in + lar sign from the set of characters that will be quoted + in completed filenames when these metacharacters appear + in shell variable references in words to be completed. + This means that dollar signs in variable names that ex- + pand to directories will not be quoted; however, any + dollar signs appearing in filenames will not be quoted, + either. This is active only when bash is using back- + 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 + 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- + 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 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 + 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 + 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, + 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 - after invocation, behavior intended for use by debuggers + 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 + 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 + 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 + 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described in their descriptions above. - 55.. Function tracing is enabled: command substitu- + 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 (( + 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 + 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 + 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 + If set, the suffixes specified by the FFIIGGNNOORREE shell + variable cause words to be ignored when performing word completion even if the ignored words are the only possi- - ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a - description of FFIIGGNNOORREE. This option is enabled by - default. + 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 - as if in the traditional C locale when performing com- - parisons. That is, the current locale's collating - sequence is not taken into account, so bb will not col- - late between AA and BB, and upper-case and lower-case - ASCII characters will collate together. + If set, range expressions used in pattern matching + bracket expressions (see PPaatttteerrnn MMaattcchhiinngg above) behave + as if in the traditional C locale when performing com- + parisons. That is, the current locale's collating se- + 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 //, + 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 - exits, rather than overwriting the file. + 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 + 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 + 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 + 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 + 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 - option is enabled by default. + 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 + 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 + 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 - attribute is not inherited. + 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 + 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 + 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- + 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 - attempt to search the PPAATTHH for possible completions when + 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 + 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 + 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- + 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, + If set, bbaasshh allows patterns which match no files (see + PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string, rather than themselves. - ppoossiixxgglloobb - If set, bbaasshh makes words containing unquoted backslashes - after expansion eligible for pathname expansion, even if - they don't contain any other unquoted pattern charac- - ters. This option is enabled by default, and is enabled - when _p_o_s_i_x _m_o_d_e is enabled. 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 - using the command word resulting from the expanded - alias. + 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 - removal after being expanded as described in PPRROOMMPPTTIINNGG + 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 - restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value + 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. @@ -1606,8 +1600,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - sequences by default. + If set, the eecchhoo builtin expands backslash-escape se- + quences by default. ssuussppeenndd [--ff] Suspend the execution of this shell until it receives a SSIIGGCCOONNTT @@ -1627,8 +1621,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS options. Expressions may be combined using the following operators, - listed in decreasing order of precedence. The evaluation - depends on the number of arguments; see below. Operator prece- + listed in decreasing order of precedence. The evaluation de- + pends on the number of arguments; see below. Operator prece- dence is used when there are five or more arguments. !! _e_x_p_r True if _e_x_p_r is false. (( _e_x_p_r )) @@ -1685,20 +1679,20 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS for processes run from the shell. The return status is 0. ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...] - The command _a_r_g is to be read and executed when the shell - receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a - single _s_i_g_s_p_e_c) or --, each specified signal is reset to its - original disposition (the value it had upon entrance to the - shell). If _a_r_g is the null string the signal specified by each - _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. - If _a_r_g is not present and --pp has been supplied, then the trap - commands associated with each _s_i_g_s_p_e_c are displayed. If no - arguments are supplied or if only --pp is given, ttrraapp prints the - list of commands associated with each signal. The --ll option - causes the shell to print a list of signal names and their cor- - responding numbers. Each _s_i_g_s_p_e_c is either a signal name - defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are - case insensitive and the SSIIGG prefix is optional. + The command _a_r_g is to be read and executed when the shell re- + ceives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a sin- + gle _s_i_g_s_p_e_c) or --, each specified signal is reset to its origi- + nal disposition (the value it had upon entrance to the shell). + If _a_r_g is the null string the signal specified by each _s_i_g_s_p_e_c + is ignored by the shell and by the commands it invokes. If _a_r_g + is not present and --pp has been supplied, then the trap commands + associated with each _s_i_g_s_p_e_c are displayed. If no arguments are + supplied or if only --pp is given, ttrraapp prints the list of com- + mands associated with each signal. The --ll option causes the + shell to print a list of signal names and their corresponding + numbers. Each _s_i_g_s_p_e_c is either a signal name defined in <_s_i_g_- + _n_a_l_._h>, or a signal number. Signal names are case insensitive + and the SSIIGG prefix is optional. If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe- @@ -1720,11 +1714,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS part of a command executed in a &&&& or |||| list except the command following the final &&&& or ||||, any command in a pipeline but the last, or if the command's return value is being inverted using - !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee) - option. + !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee) op- + tion. - Signals ignored upon entry to the shell cannot be trapped or - reset. Trapped signals that are not being ignored are reset to + Signals ignored upon entry to the shell cannot be trapped or re- + set. Trapped signals that are not being ignored are reset to their original values in a subshell or subshell environment when one is created. The return status is false if any _s_i_g_s_p_e_c is invalid; otherwise ttrraapp returns true. @@ -1735,11 +1729,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, builtin, or disk file, respectively. If the _n_a_m_e is not found, - then nothing is printed, and an exit status of false is - returned. If the --pp option is used, ttyyppee either returns the - name of the disk file that would be executed if _n_a_m_e were speci- - fied as a command name, or nothing if ``type -t name'' would not - return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, + then nothing is printed, and an exit status of false is re- + turned. If the --pp option is used, ttyyppee either returns the name + of the disk file that would be executed if _n_a_m_e were specified + as a command name, or nothing if ``type -t name'' would not re- + turn _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, even if ``type -t name'' would not return _f_i_l_e. If a command is hashed, --pp and --PP print the hashed value, which is not necessar- ily the file that appears first in PPAATTHH. If the --aa option is @@ -1760,11 +1754,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS fied, both the soft and hard limits are set. The value of _l_i_m_i_t can be a number in the unit specified for the resource or one of the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the - current hard limit, the current soft limit, and no limit, - respectively. If _l_i_m_i_t is omitted, the current value of the - soft limit of the resource is printed, unless the --HH option is - given. When more than one resource is specified, the limit name - and unit are printed before the value. Other options are inter- + current hard limit, the current soft limit, and no limit, re- + spectively. If _l_i_m_i_t is omitted, the current value of the soft + limit of the resource is printed, unless the --HH option is given. + When more than one resource is specified, the limit name and + unit are printed before the value. Other options are inter- preted as follows: --aa All current limits are reported --bb The maximum socket buffer size @@ -1839,7 +1833,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS sequently reset. The exit status is true unless a _n_a_m_e is read- only. - wwaaiitt [--ffnn] [_i_d _._._.] + wwaaiitt [--ffnn] [--pp _v_a_r_n_a_m_e] [_i_d _._._.] Wait for each specified child process and return its termination status. Each _i_d may be a process ID or a job specification; if a job spec is given, all processes in that job's pipeline are @@ -1847,12 +1841,17 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS 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. 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. + 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. SSEEEE AALLSSOO bash(1), sh(1) diff --git a/doc/builtins.ps b/doc/builtins.ps index bc8e51f5..4ce994ff 100644 --- a/doc/builtins.ps +++ b/doc/builtins.ps @@ -1,13 +1,13 @@ %!PS-Adobe-3.0 -%%Creator: groff version 1.22.3 -%%CreationDate: Mon Jul 8 15:16:14 2019 +%%Creator: groff version 1.22.4 +%%CreationDate: Fri Nov 22 15:53:55 2019 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%+ font Symbol %%+ font Courier -%%DocumentSuppliedResources: procset grops 1.22 3 -%%Pages: 25 +%%DocumentSuppliedResources: procset grops 1.22 4 +%%Pages: 24 %%PageOrder: Ascend %%DocumentMedia: Default 612 792 0 () () %%Orientation: Portrait @@ -16,7 +16,7 @@ %%PageMedia: Default %%EndDefaults %%BeginProlog -%%BeginResource: procset grops 1.22 3 +%%BeginResource: procset grops 1.22 4 %!PS-Adobe-3.0 Resource-ProcSet /setpacking where{ pop @@ -242,19 +242,19 @@ BP /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10.95/Times-Bold@0 SF -.219(NA)72 84 S -(ME).219 E F0 1.325(bash, :, ., [, alias, bg, bind, break, b)108 96 R -1.325(uiltin, caller)-.2 F 3.825(,c)-.4 G 1.324 -(d, command, compgen, complete, compopt, continue,)-3.825 F .903 -(declare, dirs, diso)108 108 R .903(wn, echo, enable, e)-.25 F -.25(va) --.25 G .904(l, e).25 F -.15(xe)-.15 G .904(c, e).15 F .904(xit, e)-.15 F -.904(xport, f)-.15 F .904(alse, fc, fg, getopts, hash, help, history)-.1 -F 3.404(,j)-.65 G(obs,)-3.404 E .133(kill, let, local, logout, map\214l\ -e, popd, printf, pushd, pwd, read, readonly)108 120 R 2.633(,r)-.65 G -.133(eturn, set, shift, shopt, source, sus-)-2.633 F .279(pend, test, t\ -imes, trap, true, type, typeset, ulimit, umask, unalias, unset, w)108 -132 R .279(ait \255 bash b)-.1 F .279(uilt-in commands, see)-.2 F/F2 10 -/Times-Bold@0 SF(bash)108 144 Q F0(\(1\))A F1 -.329(BA)72 160.8 S(SH B) -.329 E(UIL)-.11 E(TIN COMMANDS)-1.007 E F0 .063 +(ME).219 E F0 .288(bash, :, ., [, alias, bg, bind, break, b)108 96 R +.287(uiltin, caller)-.2 F 2.787(,c)-.4 G .287 +(d, command, compgen, complete, compopt, continue, de-)-2.787 F .327 +(clare, dirs, diso)108 108 R .327(wn, echo, enable, e)-.25 F -.25(va) +-.25 G .327(l, e).25 F -.15(xe)-.15 G .327(c, e).15 F .327(xit, e)-.15 F +.327(xport, f)-.15 F .327(alse, fc, fg, getopts, hash, help, history)-.1 +F 2.827(,j)-.65 G .328(obs, kill,)-2.827 F .124(let, local, logout, map\ +\214le, popd, printf, pushd, pwd, read, readonly)108 120 R 2.624(,r)-.65 +G .124(eturn, set, shift, shopt, source, suspend,)-2.624 F 1.926(test, \ +times, trap, true, type, typeset, ulimit, umask, unalias, unset, w)108 +132 R 1.927(ait \255 bash b)-.1 F 1.927(uilt-in commands, see)-.2 F/F2 +10/Times-Bold@0 SF(bash)108 144 Q F0(\(1\))A F1 -.329(BA)72 160.8 S +(SH B).329 E(UIL)-.11 E(TIN COMMANDS)-1.007 E F0 .063 (Unless otherwise noted, each b)108 172.8 R .062(uiltin command documen\ ted in this section as accepting options preceded by)-.2 F F2108 184.8 Q F0(accepts)3.077 E F23.077 E F0 .577 @@ -285,16 +285,15 @@ F2(sour)108 303.6 Q(ce)-.18 E F3(\214lename)2.5 E F0([)2.5 E F3(ar)A (guments)-.37 E F0(])A 1.02(Read and e)144 315.6 R -.15(xe)-.15 G 1.02 (cute commands from).15 F F3(\214lename)5.43 E F0 1.02 (in the current shell en)3.7 F 1.02(vironment and return the e)-.4 F -(xit)-.15 E 1.458(status of the last command e)144 327.6 R -.15(xe)-.15 -G 1.458(cuted from).15 F F3(\214lename)3.958 E F0 6.458(.I).18 G(f) --6.458 E F3(\214lename)5.868 E F0 1.458 -(does not contain a slash, \214le-)4.138 F .608(names in)144 339.6 R/F4 -9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608 -(are used to \214nd the directory containing)2.858 F F3(\214lename)3.108 -E F0 5.608(.T).18 G .608(he \214le searched for in)-5.608 F F4 -.666(PA) -3.108 G(TH)-.189 E F0 .832(need not be e)144 351.6 R -.15(xe)-.15 G -3.332(cutable. When).15 F F2(bash)3.332 E F0 .832(is not in)3.332 F F3 -.832(posix mode)3.332 F F0 3.332(,t)C .833 +(xit)-.15 E 1.33(status of the last command e)144 327.6 R -.15(xe)-.15 G +1.331(cuted from).15 F F3(\214lename)5.741 E F0 6.331(.I).18 G(f)-6.331 +E F3(\214lename)5.741 E F0 1.331(does not contain a slash, \214le-)4.011 +F .489(names in)144 339.6 R/F4 9/Times-Bold@0 SF -.666(PA)2.989 G(TH) +-.189 E F0 .489(are used to \214nd the directory containing)2.739 F F3 +(\214lename)4.899 E F0 5.488(.T).18 G .488(he \214le searched for in) +-5.488 F F4 -.666(PA)2.988 G(TH)-.189 E F0 .832(need not be e)144 351.6 +R -.15(xe)-.15 G 3.332(cutable. When).15 F F2(bash)3.332 E F0 .832 +(is not in)3.332 F F3 .832(posix mode)3.332 F F0 3.332(,t)C .833 (he current directory is searched if no)-3.332 F .982 (\214le is found in)144 363.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F2(sour)3.481 E(cepath)-.18 @@ -303,18 +302,18 @@ E F0 .981(option to the)3.481 F F2(shopt)3.481 E F0 -.2(bu)3.481 G .981 375.6 S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F (y)-.15 E F3(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F 2.612(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F3 -(\214lename)144 387.6 Q F0 1.697(is e)4.197 F -.15(xe)-.15 G 4.197 -(cuted. Otherwise).15 F 1.697(the positional parameters are unchanged.) -4.197 F 1.697(If the)6.697 F F24.197 E F0 1.696(option is)4.197 F -(enabled,)144 399.6 Q F2(sour)3.617 E(ce)-.18 E F0 1.117(inherits an) -3.617 F 3.617(yt)-.15 G 1.117(rap on)-3.617 F F2(DEB)3.617 E(UG)-.1 E F0 -3.618(;i)C 3.618(fi)-3.618 G 3.618(ti)-3.618 G 3.618(sn)-3.618 G 1.118 -(ot, an)-3.618 F(y)-.15 E F2(DEB)3.618 E(UG)-.1 E F0 1.118 -(trap string is sa)3.618 F -.15(ve)-.2 G 3.618(da).15 G(nd)-3.618 E .36 -(restored around the call to)144 411.6 R F2(sour)2.86 E(ce)-.18 E F0 -2.86(,a)C(nd)-2.86 E F2(sour)2.86 E(ce)-.18 E F0 .36(unsets the)2.86 F -F2(DEB)2.86 E(UG)-.1 E F0 .36(trap while it e)2.86 F -.15(xe)-.15 G 2.86 -(cutes. If).15 F F22.86 E F0(is)2.86 E 1.435 +(\214lename)144 387.6 Q F0 .485(is e)2.985 F -.15(xe)-.15 G 2.985 +(cuted. Otherwise).15 F .485(the positional parameters are unchanged.) +2.985 F .485(If the)5.485 F F22.985 E F0 .485(option is en-)2.985 +F(abled,)144 399.6 Q F2(sour)3.324 E(ce)-.18 E F0 .824(inherits an)3.324 +F 3.324(yt)-.15 G .824(rap on)-3.324 F F2(DEB)3.324 E(UG)-.1 E F0 3.324 +(;i)C 3.324(fi)-3.324 G 3.324(ti)-3.324 G 3.324(sn)-3.324 G .825(ot, an) +-3.324 F(y)-.15 E F2(DEB)3.325 E(UG)-.1 E F0 .825(trap string is sa) +3.325 F -.15(ve)-.2 G 3.325(da).15 G .825(nd re-)-3.325 F .817 +(stored around the call to)144 411.6 R F2(sour)3.317 E(ce)-.18 E F0 +3.317(,a)C(nd)-3.317 E F2(sour)3.317 E(ce)-.18 E F0 .817(unsets the) +3.317 F F2(DEB)3.317 E(UG)-.1 E F0 .817(trap while it e)3.317 F -.15(xe) +-.15 G 3.317(cutes. If).15 F F23.317 E F0(is)3.317 E 1.435 (not set, and the sourced \214le changes the)144 423.6 R F2(DEB)3.935 E (UG)-.1 E F0 1.435(trap, the ne)3.935 F 3.935(wv)-.25 G 1.435 (alue is retained when)-4.185 F F2(sour)3.935 E(ce)-.18 E F0 3.763 @@ -372,9 +371,9 @@ G(ymap)-.2 E F0(])A F3 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F3 -.37(re)C 2.739 F .476(macro, or set a)144 702 R F2 -.18(re)2.976 G(adline).18 E F0 -.25(va)2.976 G 2.976(riable. Each).25 F .476(non-option ar)2.976 F .475(gument is a command as it w)-.18 F .475(ould appear in)-.1 F F3 -(.inputr)144 714 Q(c)-.37 E F0 2.983(,b).31 G .484 -(ut each binding or command must be passed as a separate ar)-3.183 F -.484(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5 +(.inputr)144.23 714 Q(c)-.37 E F0 2.967(,b).31 G .467 +(ut each binding or command must be passed as a separate ar)-3.167 F +.468(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5 (re\255read\255init\255\214le'. Options,)144 726 R(if supplied, ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(1)203.725 E 0 Cg EP @@ -391,10 +390,10 @@ E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF144 84 Q/F2 10 (Acceptable)7.658 E F2 -.1(ke)180 108 S(ymap)-.2 E F0 3.192(names are) 5.882 F F2 3.192(emacs, emacs\255standar)5.692 F 3.193 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E -(vi\255command)180 120 Q F0 4.114(,a)C(nd)-4.114 E F2(vi\255insert)4.114 -E F0(.).68 E F2(vi)6.614 E F0 1.613(is equi)4.114 F -.25(va)-.25 G 1.613 -(lent to).25 F F2(vi\255command)4.113 E F0(\()4.113 E F2(vi\255mo)A(ve) --.1 E F0 1.613(is also a syn-)4.113 F(on)180 132 Q(ym\);)-.15 E F2 +(vi\255command)180 120 Q F0 4.09(,a)C(nd)-4.09 E F2(vi\255insert)4.38 E +F0(.).68 E F2(vi)6.589 E F0 1.589(is equi)4.089 F -.25(va)-.25 G 1.589 +(lent to).25 F F2(vi\255command)4.089 E F0(\()4.089 E F2(vi\255mo)A(ve) +-.1 E F0 1.589(is also a syn-)4.089 F(on)180 132 Q(ym\);)-.15 E F2 (emacs)2.5 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F2 (emacs\255standar)2.5 E(d)-.37 E F0(.)A F1144 144 Q F0 (List the names of all)180 144 Q F1 -.18(re)2.5 G(adline).18 E F0 @@ -430,12 +429,12 @@ E F2(function)2.5 E F0(.)A F1144 288 Q F2(function)2.5 E F0 4.325 E(mand)180 360 Q F0 1.764(is e)4.264 F -.15(xe)-.15 G 1.765 (cuted, the shell sets the).15 F/F3 9/Times-Bold@0 SF(READLINE_LINE) 4.265 E F0 -.25(va)4.015 G 1.765(riable to the contents of the).25 F F1 --.18(re)180 372 S(adline).18 E F0 1.353(line b)3.853 F(uf)-.2 E 1.353 -(fer and the)-.25 F F3(READLINE_POINT)3.853 E F0 -.25(va)3.603 G 1.353 -(riable to the current location of the).25 F 2.011(insertion point.)180 -384 R 2.011(If the e)7.011 F -.15(xe)-.15 G 2.011 -(cuted command changes the v).15 F 2.011(alue of)-.25 F F3 -(READLINE_LINE)4.512 E F0(or)4.262 E F3(READLINE_POINT)180 396 Q/F4 9 +-.18(re)180 372 S(adline).18 E F0 .202(line b)2.702 F(uf)-.2 E .202 +(fer and the)-.25 F F3(READLINE_POINT)2.702 E F0 -.25(va)2.452 G .202 +(riable to the current location of the in-).25 F 2.718(sertion point.) +180 384 R 2.718(If the e)7.718 F -.15(xe)-.15 G 2.718 +(cuted command changes the v).15 F 2.719(alue of)-.25 F F3 +(READLINE_LINE)5.219 E F0(or)4.969 E F3(READLINE_POINT)180 396 Q/F4 9 /Times-Roman@0 SF(,)A F0(those ne)2.25 E 2.5(wv)-.25 G (alues will be re\215ected in the editing state.)-2.75 E F1144 408 Q F0 .83(List all k)180 408 R 1.13 -.15(ey s)-.1 H .829 @@ -454,10 +453,10 @@ E F0(1.)2.555 E(If)144 477.6 Q F2(n)3.075 E F0 .215(is greater than the\ (xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E(is 0 unless)144 489.6 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 E F1 -.2 (bu)108 506.4 S(iltin).2 E F2(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E -F2(ar)A(guments)-.37 E F0(])A(Ex)144 518.4 Q .792 -(ecute the speci\214ed shell b)-.15 F .792(uiltin, passing it)-.2 F F2 -(ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G .793(nd return its e)-3.293 -F .793(xit status.)-.15 F .793(This is useful)5.793 F .616 +F2(ar)A(guments)-.37 E F0(])A(Ex)144 518.4 Q .77 +(ecute the speci\214ed shell b)-.15 F .77(uiltin, passing it)-.2 F F2 +(ar)3.601 E(guments)-.37 E F0 3.271(,a).27 G .771(nd return its e)-3.271 +F .771(xit status.)-.15 F .771(This is useful)5.771 F .616 (when de\214ning a function whose name is the same as a shell b)144 530.4 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144 542.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 @@ -493,11 +492,11 @@ F0 .321(shell v)2.571 F .321(ariable is)-.25 F 1.035(the def)144 696 R 3.535(ault. An)-.1 F 3.535(ya)-.15 G 1.035(dditional ar)-3.535 F 1.035 (guments follo)-.18 F(wing)-.25 E F2(dir)3.535 E F0 1.035(are ignored.) 3.535 F 1.036(The v)6.035 F(ariable)-.25 E F3(CDP)3.536 E -.855(AT)-.666 -G(H).855 E F0(de\214nes)3.286 E .85 -(the search path for the directory containing)144 708 R F2(dir)3.35 E F0 -3.35(:e).73 G .849(ach directory name in)-3.35 F F3(CDP)3.349 E -.855 -(AT)-.666 G(H).855 E F0 .849(is searched for)3.099 F F2(dir)144 720 Q F0 -5.664(.A)C(lternati)-5.664 E .964 -.15(ve d)-.25 H .665 +G(H).855 E F0(de\214nes)3.286 E .827 +(the search path for the directory containing)144 708 R F2(dir)3.676 E +F0 3.326(:e).73 G .826(ach directory name in)-3.326 F F3(CDP)3.326 E +-.855(AT)-.666 G(H).855 E F0 .826(is searched for)3.076 F F2(dir)144 720 +Q F0 5.664(.A)C(lternati)-5.664 E .964 -.15(ve d)-.25 H .665 (irectory names in).15 F F3(CDP)3.165 E -.855(AT)-.666 G(H).855 E F0 .665(are separated by a colon \(:\).)2.915 F 3.165(An)5.665 G .665 (ull directory name)-3.165 F(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E @@ -508,45 +507,46 @@ BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E(in)144 84 Q/F1 9/Times-Bold@0 SF(CDP)4.163 -E -.855(AT)-.666 G(H).855 E F0 1.663 -(is the same as the current directory)3.913 F 4.162(,i)-.65 G 1.662 -(.e., `)-4.162 F(`)-.74 E/F2 10/Times-Bold@0 SF(.)A F0 -.74('')C 6.662 -(.I).74 G(f)-6.662 E/F3 10/Times-Italic@0 SF(dir)4.512 E F0(be)4.892 E -1.662(gins with a slash \(/\), then)-.15 F F1(CDP)144 96 Q -.855(AT) --.666 G(H).855 E F0 .19(is not used.)2.44 F(The)5.191 E F22.691 E -F0 .191(option causes)2.691 F F2(cd)2.691 E F0 .191(to use the ph)2.691 -F .191(ysical directory structure by resolving)-.05 F 1.12 +E(UIL)-.1 E(TINS\(1\))-.92 E(in)144 84 Q/F1 9/Times-Bold@0 SF(CDP)3.102 +E -.855(AT)-.666 G(H).855 E F0 .602 +(is the same as the current directory)2.852 F 3.102(,i)-.65 G .602 +(.e., `)-3.102 F(`)-.74 E/F2 10/Times-Bold@0 SF(.)A F0 -.74('')C 5.602 +(.I).74 G(f)-5.602 E/F3 10/Times-Italic@0 SF(dir)3.451 E F0(be)3.831 E +.601(gins with a slash \(/\), then)-.15 F F1(CD-)3.101 E -.666(PA)144 96 +S(TH)-.189 E F0 1.003(is not used.)3.253 F(The)6.003 E F23.503 E +F0 1.003(option causes)3.503 F F2(cd)3.503 E F0 1.003(to use the ph) +3.503 F 1.003(ysical directory structure by resolving)-.05 F .123 (symbolic links while tra)144 108 R -.15(ve)-.2 G(rsing).15 E F3(dir) -3.62 E F0 1.12(and before processing instances of)3.62 F F3(..)3.62 E F0 -(in)3.62 E F3(dir)3.62 E F0 1.12(\(see also the)3.62 F F23.62 E F0 -.395(option to the)144 120 R F2(set)2.895 E F0 -.2(bu)2.895 G .395 -(iltin command\); the).2 F F22.895 E F0 .395 -(option forces symbolic links to be follo)2.895 F .395(wed by resolv-) --.25 F .444(ing the link after processing instances of)144 132 R F3(..) -2.943 E F0(in)2.943 E F3(dir)2.943 E F0 5.443(.I)C(f)-5.443 E F3(..) -2.943 E F0 .443(appears in)2.943 F F3(dir)2.943 E F0 2.943(,i)C 2.943 -(ti)-2.943 G 2.943(sp)-2.943 G .443(rocessed by remo)-2.943 F(ving)-.15 -E .744(the immediately pre)144 144 R .744(vious pathname component from) --.25 F F3(dir)3.244 E F0 3.244(,b)C .744(ack to a slash or the be)-3.244 -F .744(ginning of)-.15 F F3(dir)3.244 E F0(.)A 1.466(If the)144 156 R F2 -3.966 E F0 1.466(option is supplied with)3.966 F F23.965 E -F0 3.965(,a)C 1.465(nd the current w)-3.965 F 1.465 -(orking directory cannot be successfully)-.1 F .467 -(determined after a successful directory change,)144 168 R F2(cd)2.968 E -F0 .468(will return an unsuccessful status.)2.968 F .468(On systems) -5.468 F .337(that support it, the)144 180 R F22.837 E F0 .336 -(option presents the e)2.836 F .336(xtended attrib)-.15 F .336 -(utes associated with a \214le as a directory)-.2 F(.)-.65 E .71(An ar) -144 192 R .71(gument of)-.18 F F23.21 E F0 .71(is con)3.21 F -.15 -(ve)-.4 G .71(rted to).15 F F1($OLDPWD)3.21 E F0 .71 -(before the directory change is attempted.)2.96 F .71(If a non-)5.71 F -.107(empty directory name from)144 204 R F1(CDP)2.607 E -.855(AT)-.666 G -(H).855 E F0 .107(is used, or if)2.357 F F22.607 E F0 .106 -(is the \214rst ar)2.607 F .106(gument, and the directory change)-.18 F -.038(is successful, the absolute pathname of the ne)144 216 R 2.538(ww) --.25 G .038(orking directory is written to the standard output.)-2.638 F -(The return v)144 228 Q(alue is true if the directory w)-.25 E +2.623 E F0 .123(and before processing instances of)2.623 F F3(..)2.623 E +F0(in)2.623 E F3(dir)2.623 E F0 .123(\(see also the)2.623 F F2 +2.623 E F0(op-)2.622 E .429(tion to the)144 120 R F2(set)2.929 E F0 -.2 +(bu)2.929 G .429(iltin command\); the).2 F F22.929 E F0 .43 +(option forces symbolic links to be follo)2.929 F .43(wed by resolving) +-.25 F .473(the link after processing instances of)144 132 R F3(..)2.973 +E F0(in)2.973 E F3(dir)2.973 E F0 5.473(.I)C(f)-5.473 E F3(..)2.973 E F0 +.473(appears in)2.973 F F3(dir)2.972 E F0 2.972(,i)C 2.972(ti)-2.972 G +2.972(sp)-2.972 G .472(rocessed by remo)-2.972 F .472(ving the)-.15 F +.948(immediately pre)144 144 R .948(vious pathname component from)-.25 F +F3(dir)3.448 E F0 3.448(,b)C .948(ack to a slash or the be)-3.448 F .948 +(ginning of)-.15 F F3(dir)3.448 E F0 5.948(.I)C(f)-5.948 E(the)144 156 Q +F22.868 E F0 .368(option is supplied with)2.868 F F22.868 E +F0 2.868(,a)C .368(nd the current w)-2.868 F .368 +(orking directory cannot be successfully deter)-.1 F(-)-.2 E .612 +(mined after a successful directory change,)144 168 R F2(cd)3.112 E F0 +.612(will return an unsuccessful status.)3.112 F .613(On systems that) +5.612 F .354(support it, the)144 180 R F22.854 E F0 .354 +(option presents the e)2.854 F .354(xtended attrib)-.15 F .354 +(utes associated with a \214le as a directory)-.2 F 5.353(.A)-.65 G(n) +-5.353 E(ar)144 192 Q .072(gument of)-.18 F F22.572 E F0 .072 +(is con)2.572 F -.15(ve)-.4 G .072(rted to).15 F F1($OLDPWD)2.572 E F0 +.072(before the directory change is attempted.)2.322 F .072 +(If a non-empty)5.072 F .055(directory name from)144 204 R F1(CDP)2.555 +E -.855(AT)-.666 G(H).855 E F0 .055(is used, or if)2.305 F F22.555 E +F0 .055(is the \214rst ar)2.555 F .054 +(gument, and the directory change is suc-)-.18 F .168 +(cessful, the absolute pathname of the ne)144 216 R 2.668(ww)-.25 G .168 +(orking directory is written to the standard output.)-2.768 F(The)5.168 +E(return v)144 228 Q(alue is true if the directory w)-.25 E (as successfully changed; f)-.1 E(alse otherwise.)-.1 E F2(command)108 244.8 Q F0([)2.5 E F2(\255pVv)A F0(])A F3(command)2.5 E F0([)2.5 E F3 (ar)A(g)-.37 E F0(...])2.5 E(Run)144 256.8 Q F3(command)2.765 E F0(with) @@ -574,7 +574,7 @@ F F2144 316.8 Q F0 .249(option produces a more v)2.749 F .249 (command)144.2 340.8 Q F0 1.598(cannot be found, the e)4.868 F 1.599 (xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.599 (xit status of the)-.15 F F2(command)4.099 E F0 -.2(bu)144 352.8 S -(iltin is the e).2 E(xit status of)-.15 E F3(command)2.5 E F0(.).77 E F2 +(iltin is the e).2 E(xit status of)-.15 E F3(command)2.7 E F0(.).77 E F2 (compgen)108 369.6 Q F0([)2.5 E F3(option)A F0 2.5(][)C F3(wor)-2.5 E(d) -.37 E F0(])A .013(Generate possible completion matches for)144 381.6 R F3(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F3(option)2.513 @@ -595,486 +595,501 @@ em directly from a completion speci\214cation with the same \215ags.)144 (will be displayed.)2.5 E(The return v)144 489.6 Q (alue is true unless an in)-.25 E -.25(va)-.4 G (lid option is supplied, or no matches were generated.).25 E F2 -(complete)108 506.4 Q F0([)3.404 E F2(\255abcdefgjksuv)A F0 3.404(][)C -F2-3.404 E F3(comp-option)3.404 E F0 3.404(][)C F2(\255DEI)-3.404 -E F0 3.404(][)C F2-3.404 E F3(action)3.404 E F0 3.404(][)C F2 --3.404 E F3(globpat)3.404 E F0 3.404(][)C F2-3.404 E F3(wor) -3.404 E(dlist)-.37 E F0 3.405(][)C F2-3.405 E F3(func-)3.405 E -(tion)108 518.4 Q F0 2.5(][)C F2-2.5 E F3(command)2.5 E F0(])A([) -144 530.4 Q F2A F3(\214lterpat)2.5 E F0 2.5(][)C F2-2.5 E F3 -(pr)2.5 E(e\214x)-.37 E F0 2.5(][)C F2-2.5 E F3(suf)2.5 E<8c78> --.18 E F0(])A F3(name)2.5 E F0([)2.5 E F3(name ...)A F0(])A F2 -(complete \255pr)108 542.4 Q F0([)2.5 E F2(\255DEI)A F0 2.5(][)C F3 -(name)-2.5 E F0(...])2.5 E .634(Specify ho)144 554.4 R 3.134(wa)-.25 G --.18(rg)-3.134 G .634(uments to each).18 F F3(name)3.134 E F0 .634 -(should be completed.)3.134 F .633(If the)5.634 F F23.133 E F0 -.633(option is supplied, or if no)3.133 F .139(options are supplied, e) -144 566.4 R .139(xisting completion speci\214cations are printed in a w) --.15 F .14(ay that allo)-.1 F .14(ws them to be)-.25 F .31 -(reused as input.)144 578.4 R(The)5.31 E F22.81 E F0 .31 -(option remo)2.81 F -.15(ve)-.15 G 2.81(sac).15 G .31 -(ompletion speci\214cation for each)-2.81 F F3(name)2.81 E F0 2.81(,o)C -1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F3(name)2.81 E F0(s)A 1.207 -(are supplied, all completion speci\214cations.)144 590.4 R(The)6.207 E -F23.707 E F0 1.208(option indicates that other supplied options) -3.708 F .5(and actions should apply to the `)144 602.4 R(`def)-.74 E +(complete)108 506.4 Q F0([)2.5 E F2(\255abcdefgjksuv)A F0 2.5(][)C F2 +-2.5 E F3(comp-option)2.5 E F0 2.5(][)C F2(\255DEI)-2.5 E F0 2.5 +(][)C F2-2.5 E F3(action)2.5 E F0 2.5(][)C F2-2.5 E F3 +(globpat)2.5 E F0 2.5(][)C F2-2.5 E F3(wor)2.5 E(dlist)-.37 E F0 +(])A([)144 518.4 Q F2A F3(function)2.5 E F0 2.5(][)C F2-2.5 +E F3(command)2.5 E F0 2.5(][)C F2-2.5 E F3(\214lterpat)2.5 E F0 +2.5(][)C F2-2.5 E F3(pr)2.5 E(e\214x)-.37 E F0 2.5(][)C F2 +-2.5 E F3(suf)2.5 E<8c78>-.18 E F0(])A F3(name)2.5 E F0([)2.5 E F3 +(name ...)A F0(])A F2(complete \255pr)108 530.4 Q F0([)2.5 E F2(\255DEI) +A F0 2.5(][)C F3(name)-2.5 E F0(...])2.5 E .633(Specify ho)144 542.4 R +3.133(wa)-.25 G -.18(rg)-3.133 G .633(uments to each).18 F F3(name)3.133 +E F0 .633(should be completed.)3.133 F .634(If the)5.634 F F23.134 +E F0 .634(option is supplied, or if no)3.134 F .14 +(options are supplied, e)144 554.4 R .139 +(xisting completion speci\214cations are printed in a w)-.15 F .139 +(ay that allo)-.1 F .139(ws them to be)-.25 F .31(reused as input.)144 +566.4 R(The)5.31 E F22.81 E F0 .31(option remo)2.81 F -.15(ve)-.15 +G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F3(name) +2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F3 +(name)2.81 E F0(s)A 1.208 +(are supplied, all completion speci\214cations.)144 578.4 R(The)6.208 E +F23.708 E F0 1.207(option indicates that other supplied options) +3.707 F .5(and actions should apply to the `)144 590.4 R(`def)-.74 E (ault')-.1 E 3('c)-.74 G .5 (ommand completion; that is, completion attempted on)-3 F 3.455(ac)144 -614.4 S .955(ommand for which no completion has pre)-3.455 F .955 +602.4 S .955(ommand for which no completion has pre)-3.455 F .955 (viously been de\214ned.)-.25 F(The)5.955 E F23.455 E F0 .955 (option indicates that)3.455 F .876 -(other supplied options and actions should apply to `)144 626.4 R +(other supplied options and actions should apply to `)144 614.4 R (`empty')-.74 E 3.376('c)-.74 G .876(ommand completion; that is, com-) --3.376 F .447(pletion attempted on a blank line.)144 638.4 R(The)5.447 E -F22.947 E F0 .448 -(option indicates that other supplied options and actions)2.947 F 1.15 -(should apply to completion on the initial non-assignment w)144 650.4 R -1.149(ord on the line, or after a command)-.1 F .43(delimiter such as) -144 662.4 R F2(;)2.93 E F0(or)2.93 E F2(|)2.93 E F0 2.93(,w)C .431 -(hich is usually command name completion.)-2.93 F .431 -(If multiple options are sup-)5.431 F .708(plied, the)144 674.4 R F2 -3.208 E F0 .708(option tak)3.208 F .708(es precedence o)-.1 F -.15 +-3.376 F .448(pletion attempted on a blank line.)144 626.4 R(The)5.447 E +F22.947 E F0 .447 +(option indicates that other supplied options and actions)2.947 F .123 +(should apply to completion on the initial non-assignment w)144 638.4 R +.123(ord on the line, or after a command de-)-.1 F 1.021 +(limiter such as)144 650.4 R F2(;)3.521 E F0(or)3.521 E F2(|)3.521 E F0 +3.521(,w)C 1.021(hich is usually command name completion.)-3.521 F 1.02 +(If multiple options are sup-)6.02 F .707(plied, the)144 662.4 R F2 +3.207 E F0 .707(option tak)3.207 F .707(es precedence o)-.1 F -.15 (ve)-.15 G(r).15 E F23.208 E F0 3.208(,a)C .708(nd both tak)-3.208 -F 3.208(ep)-.1 G .707(recedence o)-3.208 F -.15(ve)-.15 G(r).15 E F2 -3.207 E F0 5.707(.I)C 3.207(fa)-5.707 G 1.007 -.15(ny o)-3.207 H -(f).15 E F23.207 E F0(,)A F2144 686.4 Q F0 2.603(,o)C(r) --2.603 E F22.603 E F0 .103(are supplied, an)2.603 F 2.603(yo)-.15 +F 3.208(ep)-.1 G .708(recedence o)-3.208 F -.15(ve)-.15 G(r).15 E F2 +3.208 E F0 5.708(.I)C 3.208(fa)-5.708 G 1.008 -.15(ny o)-3.208 H +(f).15 E F23.208 E F0(,)A F2144 674.4 Q F0 2.604(,o)C(r) +-2.604 E F22.604 E F0 .103(are supplied, an)2.603 F 2.603(yo)-.15 G(ther)-2.603 E F3(name)2.603 E F0(ar)2.603 E .103 (guments are ignored; these completions only apply to the)-.18 F -(case speci\214ed by the option.)144 698.4 Q 1.438 +(case speci\214ed by the option.)144 686.4 Q .152 (The process of applying these completion speci\214cations when w)144 -722.4 R 1.437(ord completion is attempted is)-.1 F(GNU Bash 5.0)72 768 Q -(2004 Apr 20)149.565 E(3)203.725 E 0 Cg EP +710.4 R .153(ord completion is attempted is de-)-.1 F(scribed abo)144 +722.4 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E +(ogrammable Completion)-.18 E F0(.)A(GNU Bash 5.0)72 768 Q(2004 Apr 20) +149.565 E(3)203.725 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E(described abo)144 84 Q .3 -.15(ve u)-.15 H -(nder).15 E/F1 10/Times-Bold@0 SF(Pr)2.5 E(ogrammable Completion)-.18 E -F0(.)A .555(Other options, if speci\214ed, ha)144 108 R .855 -.15(ve t) --.2 H .555(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F -.555(guments to the)-.18 F F13.056 E F0(,)A F13.056 E F0 -3.056(,a)C(nd)-3.056 E F13.056 E F0 .723 -(options \(and, if necessary)144 120 R 3.223(,t)-.65 G(he)-3.223 E F1 -3.223 E F0(and)3.223 E F13.223 E F0 .722 -(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E -(sion before the)144 132 Q F1(complete)2.5 E F0 -.2(bu)2.5 G -(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1144 144 Q/F2 -10/Times-Italic@0 SF(comp-option)2.5 E F0(The)184 156 Q F2(comp-option) -2.79 E F0 .291(controls se)2.791 F -.15(ve)-.25 G .291 +E(UIL)-.1 E(TINS\(1\))-.92 E .556(Other options, if speci\214ed, ha)144 +84 R .856 -.15(ve t)-.2 H .555(he follo).15 F .555(wing meanings.)-.25 F +.555(The ar)5.555 F .555(guments to the)-.18 F/F1 10/Times-Bold@0 SF +3.055 E F0(,)A F13.055 E F0 3.055(,a)C(nd)-3.055 E F1 +3.055 E F0 .722(options \(and, if necessary)144 96 R 3.222(,t)-.65 G(he) +-3.222 E F13.222 E F0(and)3.222 E F13.222 E F0 .723 +(options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E +(sion before the)144 108 Q F1(complete)2.5 E F0 -.2(bu)2.5 G +(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1144 120 Q/F2 +10/Times-Italic@0 SF(comp-option)2.5 E F0(The)184 132 Q F2(comp-option) +2.791 E F0 .291(controls se)2.791 F -.15(ve)-.25 G .291 (ral aspects of the compspec').15 F 2.791(sb)-.55 G(eha)-2.791 E .291 (vior be)-.2 F .291(yond the simple)-.15 F(generation of completions.) -184 168 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 -180 Q F0 .281(Perform the rest of the def)224 192 R(ault)-.1 E F1(bash) +184 144 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 +156 Q F0 .281(Perform the rest of the def)224 168 R(ault)-.1 E F1(bash) 2.781 E F0 .281(completions if the compspec generates no)2.781 F -(matches.)224 204 Q F1(default)184 216 Q F0 2.875(Use readline')224 216 -R 5.375(sd)-.55 G(ef)-5.375 E 2.876 +(matches.)224 180 Q F1(default)184 192 Q F0 2.876(Use readline')224 192 +R 5.376(sd)-.55 G(ef)-5.376 E 2.875 (ault \214lename completion if the compspec generates no)-.1 F(matches.) -224 228 Q F1(dir)184 240 Q(names)-.15 E F0(Perform directory name compl\ -etion if the compspec generates no matches.)224 252 Q F1(\214lenames)184 -264 Q F0 -.7(Te)224 276 S .137(ll readline that the compspec generates \ -\214lenames, so it can perform an).7 F 2.636<798c>-.15 G(le-)-2.636 E -.134(name\255speci\214c processing \(lik)224 288 R 2.634(ea)-.1 G .134 +224 204 Q F1(dir)184 216 Q(names)-.15 E F0(Perform directory name compl\ +etion if the compspec generates no matches.)224 228 Q F1(\214lenames)184 +240 Q F0 -.7(Te)224 252 S .137(ll readline that the compspec generates \ +\214lenames, so it can perform an).7 F 2.637<798c>-.15 G(le-)-2.637 E +.134(name\255speci\214c processing \(lik)224 264 R 2.634(ea)-.1 G .134 (dding a slash to directory names, quoting spe-)-2.634 F .45 -(cial characters, or suppressing trailing spaces\).)224 300 R .45 -(Intended to be used with shell)5.45 F(functions.)224 312 Q F1(noquote) -184 324 Q F0 -.7(Te)224 324 S .814 +(cial characters, or suppressing trailing spaces\).)224 276 R .45 +(Intended to be used with shell)5.45 F(functions.)224 288 Q F1(noquote) +184 300 Q F0 -.7(Te)224 300 S .814 (ll readline not to quote the completed w).7 F .814(ords if the)-.1 F -3.314(ya)-.15 G .815(re \214lenames \(quoting)-3.314 F -(\214lenames is the def)224 336 Q(ault\).)-.1 E F1(nosort)184 348 Q F0 --.7(Te)224 348 S(ll readline not to sort the list of possible completio\ -ns alphabetically).7 E(.)-.65 E F1(nospace)184 360 Q F0 -.7(Te)224 360 S +3.314(ya)-.15 G .814(re \214lenames \(quoting)-3.314 F +(\214lenames is the def)224 312 Q(ault\).)-.1 E F1(nosort)184 324 Q F0 +-.7(Te)224 324 S(ll readline not to sort the list of possible completio\ +ns alphabetically).7 E(.)-.65 E F1(nospace)184 336 Q F0 -.7(Te)224 336 S .22(ll readline not to append a space \(the def).7 F .22(ault\) to w)-.1 -F .22(ords completed at the end)-.1 F(of the line.)224 372 Q F1 -(plusdirs)184 384 Q F0 1.985(After an)224 384 R 4.485(ym)-.15 G 1.985 +F .22(ords completed at the end)-.1 F(of the line.)224 348 Q F1 +(plusdirs)184 360 Q F0 1.985(After an)224 360 R 4.485(ym)-.15 G 1.985 (atches de\214ned by the compspec are generated, directory name)-4.485 F -.584(completion is attempted and an)224 396 R 3.084(ym)-.15 G .584 -(atches are added to the results of the other)-3.084 F(actions.)224 408 -Q F1144 420 Q F2(action)2.5 E F0(The)184 432 Q F2(action)2.5 E F0 +.583(completion is attempted and an)224 372 R 3.084(ym)-.15 G .584 +(atches are added to the results of the other)-3.084 F(actions.)224 384 +Q F1144 396 Q F2(action)2.5 E F0(The)184 408 Q F2(action)2.5 E F0 (may be one of the follo)2.5 E (wing to generate a list of possible completions:)-.25 E F1(alias)184 -444 Q F0(Alias names.)224 444 Q(May also be speci\214ed as)5 E F1 -2.5 E F0(.)A F1(arrayv)184 456 Q(ar)-.1 E F0(Array v)224 468 Q -(ariable names.)-.25 E F1(binding)184 480 Q(Readline)224 480 Q F0 -.1 -(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 492 S(iltin) -.2 E F0(Names of shell b)224 492 Q(uiltin commands.)-.2 E -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(command)184 504 -Q F0(Command names.)224 516 Q(May also be speci\214ed as)5 E F12.5 -E F0(.)A F1(dir)184 528 Q(ectory)-.18 E F0(Directory names.)224 540 Q -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(disabled)184 552 -Q F0(Names of disabled shell b)224 564 Q(uiltins.)-.2 E F1(enabled)184 -576 Q F0(Names of enabled shell b)224 576 Q(uiltins.)-.2 E F1(export)184 -588 Q F0(Names of e)224 588 Q(xported shell v)-.15 E 2.5(ariables. May) +420 Q F0(Alias names.)224 420 Q(May also be speci\214ed as)5 E F1 +2.5 E F0(.)A F1(arrayv)184 432 Q(ar)-.1 E F0(Array v)224 444 Q +(ariable names.)-.25 E F1(binding)184 456 Q(Readline)224 456 Q F0 -.1 +(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 468 S(iltin) +.2 E F0(Names of shell b)224 468 Q(uiltin commands.)-.2 E +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(command)184 480 +Q F0(Command names.)224 492 Q(May also be speci\214ed as)5 E F12.5 +E F0(.)A F1(dir)184 504 Q(ectory)-.18 E F0(Directory names.)224 516 Q +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(disabled)184 528 +Q F0(Names of disabled shell b)224 540 Q(uiltins.)-.2 E F1(enabled)184 +552 Q F0(Names of enabled shell b)224 552 Q(uiltins.)-.2 E F1(export)184 +564 Q F0(Names of e)224 564 Q(xported shell v)-.15 E 2.5(ariables. May) -.25 F(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1(\214le)184 -600 Q F0(File names.)224 600 Q(May also be speci\214ed as)5 E F1 -2.5 E F0(.)A F1(function)184 612 Q F0(Names of shell functions.)224 624 -Q F1(gr)184 636 Q(oup)-.18 E F0(Group names.)224 636 Q +576 Q F0(File names.)224 576 Q(May also be speci\214ed as)5 E F1 +2.5 E F0(.)A F1(function)184 588 Q F0(Names of shell functions.)224 600 +Q F1(gr)184 612 Q(oup)-.18 E F0(Group names.)224 612 Q (May also be speci\214ed as)5 E F12.5 E F0(.)A F1(helptopic)184 -648 Q F0(Help topics as accepted by the)224 660 Q F1(help)2.5 E F0 -.2 -(bu)2.5 G(iltin.).2 E F1(hostname)184 672 Q F0(Hostnames, as tak)224 684 +624 Q F0(Help topics as accepted by the)224 636 Q F1(help)2.5 E F0 -.2 +(bu)2.5 G(iltin.).2 E F1(hostname)184 648 Q F0(Hostnames, as tak)224 660 Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF -(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 696 Q F0 -(Job names, if job control is acti)224 696 Q -.15(ve)-.25 G 5(.M).15 G -(ay also be speci\214ed as)-5 E F12.5 E F0(.)A(GNU Bash 5.0)72 768 -Q(2004 Apr 20)149.565 E(4)203.725 E 0 Cg EP +(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 672 Q F0 +(Job names, if job control is acti)224 672 Q -.15(ve)-.25 G 5(.M).15 G +(ay also be speci\214ed as)-5 E F12.5 E F0(.)A F1 -.1(ke)184 684 S +(yw).1 E(ord)-.1 E F0(Shell reserv)224 696 Q(ed w)-.15 E 2.5(ords. May) +-.1 F(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1(running)184 +708 Q F0(Names of running jobs, if job control is acti)224 708 Q -.15 +(ve)-.25 G(.).15 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(4)203.725 +E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF -.1(ke)184 84 S(yw).1 -E(ord)-.1 E F0(Shell reserv)224 96 Q(ed w)-.15 E 2.5(ords. May)-.1 F -(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1(running)184 108 Q -F0(Names of running jobs, if job control is acti)224 108 Q -.15(ve)-.25 -G(.).15 E F1(ser)184 120 Q(vice)-.1 E F0(Service names.)224 120 Q -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(setopt)184 132 Q -F0 -1.11(Va)224 132 S(lid ar)1.11 E(guments for the)-.18 E F12.5 E -F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1 -(shopt)184 144 Q F0(Shell option names as accepted by the)224 144 Q F1 -(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 156 Q F0 -(Signal names.)224 156 Q F1(stopped)184 168 Q F0 -(Names of stopped jobs, if job control is acti)224 168 Q -.15(ve)-.25 G -(.).15 E F1(user)184 180 Q F0(User names.)224 180 Q -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1 -.1(va)184 192 S -(riable).1 E F0(Names of all shell v)224 192 Q 2.5(ariables. May)-.25 F -(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1144 204 Q/F2 -10/Times-Italic@0 SF(command)2.5 E(command)184 216 Q F0 1.055(is e)3.555 -F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F 1.056 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(ser)184 84 Q(vice)-.1 +E F0(Service names.)224 84 Q(May also be speci\214ed as)5 E F12.5 +E F0(.)A F1(setopt)184 96 Q F0 -1.11(Va)224 96 S(lid ar)1.11 E +(guments for the)-.18 E F12.5 E F0(option to the)2.5 E F1(set)2.5 +E F0 -.2(bu)2.5 G(iltin.).2 E F1(shopt)184 108 Q F0 +(Shell option names as accepted by the)224 108 Q F1(shopt)2.5 E F0 -.2 +(bu)2.5 G(iltin.).2 E F1(signal)184 120 Q F0(Signal names.)224 120 Q F1 +(stopped)184 132 Q F0(Names of stopped jobs, if job control is acti)224 +132 Q -.15(ve)-.25 G(.).15 E F1(user)184 144 Q F0(User names.)224 144 Q +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1 -.1(va)184 156 S +(riable).1 E F0(Names of all shell v)224 156 Q 2.5(ariables. May)-.25 F +(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1144 168 Q/F2 +10/Times-Italic@0 SF(command)2.5 E(command)184 180 Q F0 1.056(is e)3.556 +F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056 (vironment, and its output is used as the possible)-.4 F(completions.) -184 228 Q F1144 240 Q F2(function)2.5 E F0 .114 -(The shell function)184 252 R F2(function)2.614 E F0 .114(is e)2.614 F +184 192 Q F1144 204 Q F2(function)2.5 E F0 .113 +(The shell function)184 216 R F2(function)2.614 E F0 .114(is e)2.614 F -.15(xe)-.15 G .114(cuted in the current shell en).15 F 2.614 -(vironment. When)-.4 F .113(the func-)2.613 F .816(tion is e)184 264 R --.15(xe)-.15 G .816(cuted, the \214rst ar).15 F .816(gument \()-.18 F F1 -($1)A F0 3.316(\)i)C 3.316(st)-3.316 G .817 +(vironment. When)-.4 F .114(the func-)2.614 F .817(tion is e)184 228 R +-.15(xe)-.15 G .817(cuted, the \214rst ar).15 F .817(gument \()-.18 F F1 +($1)A F0 3.316(\)i)C 3.316(st)-3.316 G .816 (he name of the command whose ar)-3.316 F(guments)-.18 E 1.407 -(are being completed, the second ar)184 276 R 1.407(gument \()-.18 F F1 +(are being completed, the second ar)184 240 R 1.407(gument \()-.18 F F1 ($2)A F0 3.907(\)i)C 3.907(st)-3.907 G 1.407(he w)-3.907 F 1.407 -(ord being completed, and the)-.1 F .103(third ar)184 288 R .103 -(gument \()-.18 F F1($3)A F0 2.603(\)i)C 2.603(st)-2.603 G .103(he w) --2.603 F .104(ord preceding the w)-.1 F .104 -(ord being completed on the current com-)-.1 F .102(mand line.)184 300 R -.102(When it \214nishes, the possible completions are retrie)5.102 F --.15(ve)-.25 G 2.601(df).15 G .101(rom the v)-2.601 F .101(alue of the) --.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 312 Q(Y)-.828 E F0(array v)2.25 -E(ariable.)-.25 E F1144 324 Q F2(globpat)2.5 E F0 1.007 -(The pathname e)184 336 R 1.007(xpansion pattern)-.15 F F2(globpat)3.507 -E F0 1.007(is e)3.507 F 1.008(xpanded to generate the possible comple-) --.15 F(tions.)184 348 Q F1144 360 Q F2(pr)2.5 E(e\214x)-.37 E(pr) -184 372 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534 +(ord being completed, and the)-.1 F .104(third ar)184 252 R .104 +(gument \()-.18 F F1($3)A F0 2.604(\)i)C 2.604(st)-2.604 G .104(he w) +-2.604 F .104(ord preceding the w)-.1 F .103 +(ord being completed on the current com-)-.1 F .101(mand line.)184 264 R +.101(When it \214nishes, the possible completions are retrie)5.101 F +-.15(ve)-.25 G 2.602(df).15 G .102(rom the v)-2.602 F .102(alue of the) +-.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 276 Q(Y)-.828 E F0(array v)2.25 +E(ariable.)-.25 E F1144 288 Q F2(globpat)2.5 E F0 1.008 +(The pathname e)184 300 R 1.008(xpansion pattern)-.15 F F2(globpat)3.507 +E F0 1.007(is e)3.507 F 1.007(xpanded to generate the possible comple-) +-.15 F(tions.)184 312 Q F1144 324 Q F2(pr)2.5 E(e\214x)-.37 E(pr) +184 336 Q(e\214x)-.37 E F0 .534(is added at the be)3.034 F .534 (ginning of each possible completion after all other options ha)-.15 F --.15(ve)-.2 G(been applied.)184 384 Q F1144 396 Q F2(suf)2.5 E -<8c78>-.18 E(suf)184 396 Q<8c78>-.18 E F0 +-.15(ve)-.2 G(been applied.)184 348 Q F1144 360 Q F2(suf)2.5 E +<8c78>-.18 E(suf)184 360 Q<8c78>-.18 E F0 (is appended to each possible completion after all other options ha)2.5 -E .3 -.15(ve b)-.2 H(een applied.).15 E F1144 408 Q F2(wor)2.5 E -(dlist)-.37 E F0(The)184 420 Q F2(wor)3.639 E(dlist)-.37 E F0 1.14 -(is split using the characters in the)3.639 F F3(IFS)3.64 E F0 1.14 -(special v)3.39 F 1.14(ariable as delimiters, and)-.25 F .981 -(each resultant w)184 432 R .981(ord is e)-.1 F 3.481(xpanded. Shell) --.15 F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37 -E F0 3.48(,i)C 3.48(no)-3.48 G .98(rder to)-3.48 F(pro)184 444 Q .765 -(vide a mechanism for the w)-.15 F .766 +E .3 -.15(ve b)-.2 H(een applied.).15 E F1144 372 Q F2(wor)2.5 E +(dlist)-.37 E F0(The)184 384 Q F2(wor)3.64 E(dlist)-.37 E F0 1.14 +(is split using the characters in the)3.64 F F3(IFS)3.64 E F0 1.139 +(special v)3.39 F 1.139(ariable as delimiters, and)-.25 F .98 +(each resultant w)184 396 R .98(ord is e)-.1 F 3.481(xpanded. Shell)-.15 +F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37 E F0 +3.481(,i)C 3.481(no)-3.481 G .981(rder to)-3.481 F(pro)184 408 Q .766 +(vide a mechanism for the w)-.15 F .765 (ords to contain shell metacharacters or characters in the)-.1 F -.25 -(va)184 456 S 1.965(lue of).25 F F3(IFS)4.465 E/F4 9/Times-Roman@0 SF(.) +(va)184 420 S 1.964(lue of).25 F F3(IFS)4.464 E/F4 9/Times-Roman@0 SF(.) A F0 1.964 (The possible completions are the members of the resultant list which) -6.465 F(match the w)184 468 Q(ord being completed.)-.1 E F1144 480 -Q F2(\214lterpat)2.5 E(\214lterpat)184 492 Q F0 .455 -(is a pattern as used for pathname e)2.955 F 2.956(xpansion. It)-.15 F -.456(is applied to the list of possible)2.956 F 1.596 -(completions generated by the preceding options and ar)184 504 R 1.596 -(guments, and each completion)-.18 F(matching)184 516 Q F2(\214lterpat) -3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704 -(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0 -(in)3.204 E F2(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15 G .705 -(tes the pattern;).05 F(in this case, an)184 528 Q 2.5(yc)-.15 G +6.464 F(match the w)184 432 Q(ord being completed.)-.1 E F1144 444 +Q F2(\214lterpat)2.5 E(\214lterpat)184 456 Q F0 .456 +(is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 F +.455(is applied to the list of possible)2.956 F 1.596 +(completions generated by the preceding options and ar)184 468 R 1.596 +(guments, and each completion)-.18 F(matching)184 480 Q F2(\214lterpat) +3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704 +(rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0 +(in)3.204 E F2(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704 +(tes the pattern;).05 F(in this case, an)184 492 Q 2.5(yc)-.15 G (ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E --.15(ve)-.15 G(d.).15 E .467(The return v)144 544.8 R .467 +-.15(ve)-.15 G(d.).15 E .466(The return v)144 508.8 R .466 (alue is true unless an in)-.25 F -.25(va)-.4 G .466 -(lid option is supplied, an option other than).25 F F12.966 E F0 -(or)2.966 E F12.966 E F0 .466(is sup-)2.966 F 1.361 -(plied without a)144 556.8 R F2(name)3.861 E F0(ar)3.861 E 1.361 -(gument, an attempt is made to remo)-.18 F 1.662 -.15(ve a c)-.15 H -1.362(ompletion speci\214cation for a).15 F F2(name)144 568.8 Q F0 +(lid option is supplied, an option other than).25 F F12.967 E F0 +(or)2.967 E F12.967 E F0 .467(is sup-)2.967 F 1.362 +(plied without a)144 520.8 R F2(name)3.862 E F0(ar)3.862 E 1.361 +(gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H +1.361(ompletion speci\214cation for a).15 F F2(name)144 532.8 Q F0 (for which no speci\214cation e)2.5 E (xists, or an error occurs adding a completion speci\214cation.)-.15 E -F1(compopt)108 585.6 Q F0([)2.5 E F1A F2(option)2.5 E F0 2.5(][)C +F1(compopt)108 549.6 Q F0([)2.5 E F1A F2(option)2.5 E F0 2.5(][)C F1(\255DEI)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C -F2(name)-2.5 E F0(])A .447(Modify completion options for each)144 597.6 +F2(name)-2.5 E F0(])A .447(Modify completion options for each)144 561.6 R F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0 -.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .725 -(completion if no)144 609.6 R F2(name)3.225 E F0 3.225(sa)C .725 -(re supplied.)-3.225 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa) -C .725(re gi)-3.225 F -.15(ve)-.25 G .726 -(n, display the completion options for).15 F(each)144 621.6 Q F2(name) -3.224 E F0 .724(or the current completion.)3.224 F .724(The possible v) +.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726 +(completion if no)144 573.6 R F2(name)3.226 E F0 3.226(sa)C .726 +(re supplied.)-3.226 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa) +C .725(re gi)-3.225 F -.15(ve)-.25 G .725 +(n, display the completion options for).15 F(each)144 585.6 Q F2(name) +3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v) 5.724 F .724(alues of)-.25 F F2(option)3.224 E F0 .724(are those v)3.224 -F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 633.6 Q F0 -.2(bu) -2.677 G .177(iltin described abo).2 F -.15(ve)-.15 G 5.178(.T).15 G(he) +F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 597.6 Q F0 -.2(bu) +2.678 G .178(iltin described abo).2 F -.15(ve)-.15 G 5.178(.T).15 G(he) -5.178 E F12.678 E F0 .178 (option indicates that other supplied options should apply to)2.678 F -1.228(the `)144 645.6 R(`def)-.74 E(ault')-.1 E 3.728('c)-.74 G 1.228(o\ +1.227(the `)144 609.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\ mmand completion; that is, completion attempted on a command for which \ -no)-3.728 F 2.038(completion has pre)144 657.6 R 2.038 -(viously been de\214ned.)-.25 F(The)7.038 E F14.538 E F0 2.039 -(option indicates that other supplied options)4.538 F 1.539 -(should apply to `)144 669.6 R(`empty')-.74 E 4.039('c)-.74 G 1.538 +no)-3.727 F 2.039(completion has pre)144 621.6 R 2.039 +(viously been de\214ned.)-.25 F(The)7.038 E F14.538 E F0 2.038 +(option indicates that other supplied options)4.538 F 1.538 +(should apply to `)144 633.6 R(`empty')-.74 E 4.038('c)-.74 G 1.539 (ommand completion; that is, completion attempted on a blank line.) --4.039 F(The)144 681.6 Q F13.02 E F0 .52(option indicates that ot\ +-4.038 F(The)144 645.6 Q F13.02 E F0 .52(option indicates that ot\ her supplied options should apply to completion on the initial non-)3.02 -F .868(assignment w)144 693.6 R .868 +F .867(assignment w)144 657.6 R .868 (ord on the line, or after a command delimiter such as)-.1 F F1(;)3.368 -E F0(or)3.368 E F1(|)3.368 E F0 3.367(,w)C .867(hich is usually com-) --3.367 F(mand name completion.)144 705.6 Q 1.387(The return v)144 729.6 -R 1.387(alue is true unless an in)-.25 F -.25(va)-.4 G 1.388 -(lid option is supplied, an attempt is made to modify the).25 F -(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(5)203.725 E 0 Cg EP +E F0(or)3.368 E F1(|)3.368 E F0 3.368(,w)C .868(hich is usually com-) +-3.368 F(mand name completion.)144 669.6 Q .432(The return v)144 693.6 R +.431(alue is true unless an in)-.25 F -.25(va)-.4 G .431 +(lid option is supplied, an attempt is made to modify the op-).25 F +(tions for a)144 705.6 Q F2(name)2.5 E F0 +(for which no completion speci\214cation e)2.5 E +(xists, or an output error occurs.)-.15 E(GNU Bash 5.0)72 768 Q +(2004 Apr 20)149.565 E(5)203.725 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E(options for a)144 84 Q/F1 10/Times-Italic@0 -SF(name)2.5 E F0(for which no completion speci\214cation e)2.5 E -(xists, or an output error occurs.)-.15 E/F2 10/Times-Bold@0 SF -(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A 1.754(Resume the ne)144 -112.8 R 1.754(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r) -.25 E F0(,)A F2(while)4.254 E F0(,)A F2(until)4.254 E F0 4.254(,o)C(r) --4.254 E F2(select)4.254 E F0 4.253(loop. If)4.254 F F1(n)4.613 E F0 -1.753(is speci\214ed,)4.493 F 1.208(resume at the)144 124.8 R F1(n)3.709 -E F0 1.209(th enclosing loop.)B F1(n)6.569 E F0 1.209(must be)3.949 F/F3 -10/Symbol SF3.709 E F0 3.709(1. If)3.709 F F1(n)4.069 E F0 1.209 -(is greater than the number of enclosing)3.949 F .514 -(loops, the last enclosing loop \(the `)144 136.8 R(`top-le)-.74 E -.15 -(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513 -(The return v)5.513 F .513(alue is 0 unless)-.25 F F1(n)3.013 E F0(is) -3.013 E(not greater than or equal to 1.)144 148.8 Q F2(declar)108 165.6 -Q(e)-.18 E F0([)2.5 E F2(\255aAfFgilnrtux)A F0 2.5(][)C F2-2.5 E -F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2 -(typeset)108 177.6 Q F0([)2.5 E F2(\255aAfFgilnrtux)A F0 2.5(][)C F2 --2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C -(..])-2.5 E 1.264(Declare v)144 189.6 R 1.264(ariables and/or gi)-.25 F -1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no) -3.765 E F1(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 -G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F --.25(va)144 201.6 S 3.483(riables. The).25 F F23.483 E F0 .983 -(option will display the attrib)3.483 F .983(utes and v)-.2 F .982 -(alues of each)-.25 F F1(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F2 -3.482 E F0 .982(is used)3.482 F(with)144 213.6 Q F1(name)2.774 E -F0(ar)2.774 E .274(guments, additional options, other than)-.18 F F2 -2.775 E F0(and)2.775 E F22.775 E F0 2.775(,a)C .275 -(re ignored.)-2.775 F(When)5.275 E F22.775 E F0 .275(is supplied) -2.775 F(without)144 225.6 Q F1(name)4.814 E F0(ar)4.814 E 2.314 -(guments, it will display the attrib)-.18 F 2.314(utes and v)-.2 F 2.313 -(alues of all v)-.25 F 2.313(ariables ha)-.25 F 2.313(ving the)-.2 F -(attrib)144 237.6 Q 1.181(utes speci\214ed by the additional options.) --.2 F 1.182(If no other options are supplied with)6.181 F F23.682 -E F0(,)A F2(declar)3.682 E(e)-.18 E F0 .62(will display the attrib)144 -249.6 R .62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12 -(ariables. The)-.25 F F23.12 E F0 .62 -(option will restrict the display)3.12 F 1.29(to shell functions.)144 -261.6 R(The)6.29 E F23.79 E F0 1.291(option inhibits the display \ -of function de\214nitions; only the function)3.791 F .948 -(name and attrib)144 273.6 R .948(utes are printed.)-.2 F .948(If the) -5.948 F F2(extdeb)3.448 E(ug)-.2 E F0 .948 -(shell option is enabled using)3.448 F F2(shopt)3.448 E F0 3.448(,t)C -.948(he source)-3.448 F 1.69(\214le name and line number where each)144 -285.6 R F1(name)4.19 E F0 1.69(is de\214ned are displayed as well.)4.19 -F(The)6.69 E F24.19 E F0(option)4.19 E(implies)144 297.6 Q F2 -3.892 E F0 6.392(.T)C(he)-6.392 E F23.892 E F0 1.391 -(option forces v)3.892 F 1.391 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(continue)108 84 Q F0 +([)2.5 E/F2 10/Times-Italic@0 SF(n)A F0(])A .85(Resume the ne)144 96 R +.85(xt iteration of the enclosing)-.15 F F1 -.25(fo)3.35 G(r).25 E F0(,) +A F1(while)3.351 E F0(,)A F1(until)3.351 E F0 3.351(,o)C(r)-3.351 E F1 +(select)3.351 E F0 3.351(loop. If)3.351 F F2(n)3.711 E F0 .851 +(is speci\214ed, re-)3.591 F .204(sume at the)144 108 R F2(n)2.704 E F0 +.204(th enclosing loop.)B F2(n)5.564 E F0 .204(must be)2.944 F/F3 10 +/Symbol SF2.704 E F0 2.703(1. If)2.704 F F2(n)3.063 E F0 .203 +(is greater than the number of enclosing loops,)2.943 F 1.183 +(the last enclosing loop \(the `)144 120 R(`top-le)-.74 E -.15(ve)-.25 G +(l').15 E 3.683('l)-.74 G 1.183(oop\) is resumed.)-3.683 F 1.184 +(The return v)6.184 F 1.184(alue is 0 unless)-.25 F F2(n)3.684 E F0 +1.184(is not)3.684 F(greater than or equal to 1.)144 132 Q F1(declar)108 +148.8 Q(e)-.18 E F0([)2.5 E F1(\255aAfFgilnrtux)A F0 2.5(][)C F1 +-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..]) +-2.5 E F1(typeset)108 160.8 Q F0([)2.5 E F1(\255aAfFgilnrtux)A F0 2.5 +(][)C F1-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 +2.5(].)C(..])-2.5 E 1.265(Declare v)144 172.8 R 1.265 +(ariables and/or gi)-.25 F 1.565 -.15(ve t)-.25 H 1.265(hem attrib).15 F +3.765(utes. If)-.2 F(no)3.765 E F2(name)3.765 E F0 3.765(sa)C 1.265 +(re gi)-3.765 F -.15(ve)-.25 G 3.764(nt).15 G 1.264(hen display the v) +-3.764 F 1.264(alues of)-.25 F -.25(va)144 184.8 S 3.46(riables. The).25 +F F13.46 E F0 .96(option will display the attrib)3.46 F .96 +(utes and v)-.2 F .96(alues of each)-.25 F F2(name)3.82 E F0 5.96(.W).18 +G(hen)-5.96 E F13.46 E F0 .96(is used)3.46 F(with)144 196.8 Q F2 +(name)2.775 E F0(ar)2.775 E .275 +(guments, additional options, other than)-.18 F F12.775 E F0(and) +2.775 E F12.775 E F0 2.775(,a)C .274(re ignored.)-2.775 F(When) +5.274 E F12.774 E F0 .274(is supplied)2.774 F(without)144 208.8 Q +F2(name)3.789 E F0(ar)3.789 E 1.289(guments, it will display the attrib) +-.18 F 1.289(utes and v)-.2 F 1.29(alues of all v)-.25 F 1.29 +(ariables ha)-.25 F 1.29(ving the at-)-.2 F(trib)144 220.8 Q .38 +(utes speci\214ed by the additional options.)-.2 F .38 +(If no other options are supplied with)5.38 F F12.88 E F0(,)A F1 +(declar)2.88 E(e)-.18 E F0(will)2.88 E 1.106(display the attrib)144 +232.8 R 1.106(utes and v)-.2 F 1.106(alues of all shell v)-.25 F 3.606 +(ariables. The)-.25 F F13.606 E F0 1.107 +(option will restrict the display to)3.606 F .3(shell functions.)144 +244.8 R(The)5.3 E F12.8 E F0 .299(option inhibits the display of \ +function de\214nitions; only the function name)2.8 F 1.54(and attrib)144 +256.8 R 1.54(utes are printed.)-.2 F 1.54(If the)6.54 F F1(extdeb)4.04 E +(ug)-.2 E F0 1.54(shell option is enabled using)4.04 F F1(shopt)4.04 E +F0 4.04(,t)C 1.54(he source \214le)-4.04 F .648 +(name and line number where each)144 268.8 R F2(name)3.148 E F0 .648 +(is de\214ned are displayed as well.)3.148 F(The)5.648 E F13.148 E +F0 .648(option implies)3.148 F F1144 280.8 Q F0 5.836(.T)C(he) +-5.836 E F13.336 E F0 .836(option forces v)3.336 F .837 (ariables to be created or modi\214ed at the global scope, e)-.25 F -.15 -(ve)-.25 G(n).15 E(when)144 309.6 Q F2(declar)4.382 E(e)-.18 E F0 1.882 -(is e)4.382 F -.15(xe)-.15 G 1.882(cuted in a shell function.).15 F -1.883(It is ignored in all other cases.)6.882 F 1.883(The follo)6.883 F -(wing)-.25 E .794(options can be used to restrict output to v)144 321.6 -R .794(ariables with the speci\214ed attrib)-.25 F .793(ute or to gi)-.2 -F 1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 333.6 Q(utes:)-.2 E -F2144 345.6 Q F0(Each)180 345.6 Q F1(name)2.5 E F0(is an inde)2.5 -E -.15(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F2 -(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2144 357.6 Q -F0(Each)180 357.6 Q F1(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a) --.25 H(rray v).15 E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E F2144 369.6 Q F0(Use function names only) -180 369.6 Q(.)-.65 E F2144 381.6 Q F0 .557(The v)180 381.6 R .558 +(ve)-.25 G 3.337(nw).15 G(hen)-3.337 E F1(de-)3.337 E(clar)144 292.8 Q +(e)-.18 E F0 .223(is e)2.723 F -.15(xe)-.15 G .223 +(cuted in a shell function.).15 F .223 +(It is ignored in all other cases.)5.223 F .222(The follo)5.223 F .222 +(wing options can be)-.25 F(used to restrict output to v)144 304.8 Q +(ariables with the speci\214ed attrib)-.25 E(ute or to gi)-.2 E .3 -.15 +(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F1144 316.8 Q F0 +(Each)180 316.8 Q F2(name)2.5 E F0(is an inde)2.5 E -.15(xe)-.15 G 2.5 +(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 +E -.15(ve)-.15 G(\).).15 E F1144 328.8 Q F0(Each)180 328.8 Q F2 +(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H(rray v).15 E +(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).) +.15 E F1144 340.8 Q F0(Use function names only)180 340.8 Q(.)-.65 +E F1144 352.8 Q F0 .557(The v)180 352.8 R .558 (ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25 (va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .558 -(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 393.6 Q F0(abo) +(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 364.8 Q F0(abo) 2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v) --2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F2144 405.6 Q -F0 .91(When the v)180 405.6 R .909(ariable is assigned a v)-.25 F .909 +-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F1144 376.8 Q +F0 .91(When the v)180 376.8 R .909(ariable is assigned a v)-.25 F .909 (alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4 -G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 417.6 R -(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2144 429.6 -Q F0(Gi)180 429.6 Q 1.619 -.15(ve e)-.25 H(ach).15 E F1(name)3.819 E F0 -(the)3.819 E F1(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319 -(ute, making it a name reference to another v)-.2 F(ariable.)-.25 E -1.519(That other v)180 441.6 R 1.519(ariable is de\214ned by the v)-.25 -F 1.518(alue of)-.25 F F1(name)4.018 E F0 6.518(.A)C 1.518 -(ll references, assignments, and)-6.518 F(attrib)180 453.6 Q .226 -(ute modi\214cations to)-.2 F F1(name)2.726 E F0 2.726(,e)C .226 -(xcept those using or changing the)-2.876 F F22.726 E F0(attrib) -2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 465.6 R -.809(ariable referenced by)-.25 F F1(name)3.308 E F0 1.908 -.55('s v)D +G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 388.8 R +(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1144 400.8 +Q F0(Gi)180 400.8 Q 1.619 -.15(ve e)-.25 H(ach).15 E F2(name)3.819 E F0 +(the)3.819 E F2(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319 +(ute, making it a name reference to another v)-.2 F(ariable.)-.25 E .478 +(That other v)180 412.8 R .478(ariable is de\214ned by the v)-.25 F .478 +(alue of)-.25 F F2(name)2.978 E F0 5.478(.A)C .478 +(ll references, assignments, and at-)-5.478 F(trib)180 424.8 Q .781 +(ute modi\214cations to)-.2 F F2(name)3.281 E F0 3.281(,e)C .782 +(xcept those using or changing the)-3.431 F F13.282 E F0(attrib) +3.282 E .782(ute itself, are)-.2 F .809(performed on the v)180 436.8 R +.809(ariable referenced by)-.25 F F2(name)3.308 E F0 1.908 -.55('s v)D 3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2 -F(applied to array v)180 477.6 Q(ariables.)-.25 E F2144 489.6 Q F0 -(Mak)180 489.6 Q(e)-.1 E F1(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E -7.546(.T)-.65 G 2.546(hese names cannot then be assigned v)-7.546 F -2.547(alues by subsequent)-.25 F(assignment statements or unset.)180 -501.6 Q F2144 513.6 Q F0(Gi)180 513.6 Q .73 -.15(ve e)-.25 H(ach) -.15 E F1(name)2.93 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib) -2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2 -(DEB)2.929 E(UG)-.1 E F0(and)2.929 E F2(RETURN)2.929 E F0 -(traps from the calling shell.)180 525.6 Q(The trace attrib)5 E -(ute has no special meaning for v)-.2 E(ariables.)-.25 E F2144 -537.6 Q F0 .909(When the v)180 537.6 R .909(ariable is assigned a v)-.25 +F(applied to array v)180 448.8 Q(ariables.)-.25 E F1144 460.8 Q F0 +(Mak)180 460.8 Q(e)-.1 E F2(name)3.654 E F0 3.654(sr)C(eadonly)-3.654 E +6.154(.T)-.65 G 1.154(hese names cannot then be assigned v)-6.154 F +1.155(alues by subsequent as-)-.25 F(signment statements or unset.)180 +472.8 Q F1144 484.8 Q F0(Gi)180 484.8 Q .73 -.15(ve e)-.25 H(ach) +.15 E F2(name)2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib) +2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1 +(DEB)2.929 E(UG)-.1 E F0(and)2.929 E F1(RETURN)2.929 E F0 +(traps from the calling shell.)180 496.8 Q(The trace attrib)5 E +(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1144 +508.8 Q F0 .909(When the v)180 508.8 R .909(ariable is assigned a v)-.25 F .909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 -F -.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 549.6 -R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2 -144 561.6 Q F0(Mark)180 561.6 Q F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E +F -.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 520.8 +R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1 +144 532.8 Q F0(Mark)180 532.8 Q F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E (xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .144 -(Using `+' instead of `\255' turns of)144 578.4 R 2.643(ft)-.25 G .143 +(Using `+' instead of `\255' turns of)144 549.6 R 2.643(ft)-.25 G .143 (he attrib)-2.643 F .143(ute instead, with the e)-.2 F .143 -(xceptions that)-.15 F F2(+a)2.643 E F0(and)2.643 E F2(+A)2.643 E F0 -.143(may not)2.643 F .578(be used to destro)144 590.4 R 3.079(ya)-.1 G -.579(rray v)-3.079 F .579(ariables and)-.25 F F2(+r)3.079 E F0 .579 +(xceptions that)-.15 F F1(+a)2.643 E F0(and)2.643 E F1(+A)2.643 E F0 +.143(may not)2.643 F .578(be used to destro)144 561.6 R 3.079(ya)-.1 G +.579(rray v)-3.079 F .579(ariables and)-.25 F F1(+r)3.079 E F0 .579 (will not remo)3.079 F .879 -.15(ve t)-.15 H .579(he readonly attrib).15 -F 3.079(ute. When)-.2 F .579(used in a)3.079 F(function,)144 602.4 Q F2 -(declar)3.544 E(e)-.18 E F0(and)3.544 E F2(typeset)3.544 E F0(mak)3.544 -E 3.544(ee)-.1 G(ach)-3.544 E F1(name)3.543 E F0 1.043 -(local, as with the)3.543 F F2(local)3.543 E F0 1.043 -(command, unless the)3.543 F F23.543 E F0 1.205 -(option is supplied.)144 614.4 R 1.205(If a v)6.205 F 1.205 -(ariable name is follo)-.25 F 1.205(wed by =)-.25 F F1(value)A F0 3.705 +F 3.079(ute. When)-.2 F .579(used in a)3.079 F(function,)144 573.6 Q F1 +(declar)3.544 E(e)-.18 E F0(and)3.544 E F1(typeset)3.544 E F0(mak)3.544 +E 3.544(ee)-.1 G(ach)-3.544 E F2(name)3.543 E F0 1.043 +(local, as with the)3.543 F F1(local)3.543 E F0 1.043 +(command, unless the)3.543 F F13.543 E F0 1.205 +(option is supplied.)144 585.6 R 1.205(If a v)6.205 F 1.205 +(ariable name is follo)-.25 F 1.205(wed by =)-.25 F F2(value)A F0 3.705 (,t)C 1.205(he v)-3.705 F 1.205(alue of the v)-.25 F 1.205 -(ariable is set to)-.25 F F1(value)144 626.4 Q F0 5.218(.W)C .218 -(hen using)-5.218 F F22.718 E F0(or)2.718 E F22.718 E F0 +(ariable is set to)-.25 F F2(value)144 597.6 Q F0 5.218(.W)C .218 +(hen using)-5.218 F F12.718 E F0(or)2.718 E F12.718 E F0 .217(and the compound assignment syntax to create array v)2.717 F .217 -(ariables, addi-)-.25 F .882(tional attrib)144 638.4 R .882 +(ariables, addi-)-.25 F .882(tional attrib)144 609.6 R .882 (utes do not tak)-.2 F 3.382(ee)-.1 G -.25(ff)-3.382 G .882 (ect until subsequent assignments.).25 F .882(The return v)5.882 F .882 -(alue is 0 unless an)-.25 F(in)144 650.4 Q -.25(va)-.4 G 1.26(lid optio\ +(alue is 0 unless an)-.25 F(in)144 621.6 Q -.25(va)-.4 G .366(lid optio\ n is encountered, an attempt is made to de\214ne a function using).25 F -/F5 10/Courier@0 SF 1.26(\255f foo=bar)3.76 F F0 3.76(,a)C(n)-3.76 E -.187(attempt is made to assign a v)144 662.4 R .187 -(alue to a readonly v)-.25 F .188 -(ariable, an attempt is made to assign a v)-.25 F .188(alue to an)-.25 F -1.749(array v)144 674.4 R 1.749 -(ariable without using the compound assignment syntax \(see)-.25 F F2 +/F5 10/Courier@0 SF .365(\255f foo=bar)2.865 F F0 2.865(,a)C 2.865(na) +-2.865 G(t-)-2.865 E .548(tempt is made to assign a v)144 633.6 R .548 +(alue to a readonly v)-.25 F .549 +(ariable, an attempt is made to assign a v)-.25 F .549(alue to an)-.25 F +1.749(array v)144 645.6 R 1.749 +(ariable without using the compound assignment syntax \(see)-.25 F F1 (Arrays)4.248 E F0(abo)4.248 E -.15(ve)-.15 G 1.748(\), one of the).15 F -F1(names)144 686.4 Q F0 .359(is not a v)2.858 F .359(alid shell v)-.25 F +F2(names)144 657.6 Q F0 .359(is not a v)2.858 F .359(alid shell v)-.25 F .359(ariable name, an attempt is made to turn of)-.25 F 2.859(fr)-.25 G -.359(eadonly status for a read-)-2.859 F 1.213(only v)144 698.4 R 1.213 +.359(eadonly status for a read-)-2.859 F 1.213(only v)144 669.6 R 1.213 (ariable, an attempt is made to turn of)-.25 F 3.713(fa)-.25 G 1.213 (rray status for an array v)-3.713 F 1.212(ariable, or an attempt is) --.25 F(made to display a non-e)144 710.4 Q(xistent function with)-.15 E -F22.5 E F0(.)A(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(6) -203.725 E 0 Cg EP +-.25 F(made to display a non-e)144 681.6 Q(xistent function with)-.15 E +F12.5 E F0(.)A F1(dirs [\255clpv] [+)108 698.4 Q F2(n)A F1 2.5(][) +C-2.5 E F2(n)A F1(])A F0 -.4(Wi)144 710.4 S .328 +(thout options, displays the list of currently remembered directories.) +.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238 +(single line with directory names separated by spaces.)144 722.4 R 1.238 +(Directories are added to the list with the)6.238 F(GNU Bash 5.0)72 768 +Q(2004 Apr 20)149.565 E(6)203.725 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(dirs [\255clpv] [+) -108 84 Q/F2 10/Times-Italic@0 SF(n)A F1 2.5(][)C-2.5 E F2(n)A F1(])A -F0 -.4(Wi)144 96 S .328 -(thout options, displays the list of currently remembered directories.) -.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238 -(single line with directory names separated by spaces.)144 108 R 1.238 -(Directories are added to the list with the)6.238 F F1(pushd)144 120 Q -F0 2.003(command; the)4.503 F F1(popd)4.503 E F0 2.003(command remo) -4.503 F -.15(ve)-.15 G 4.503(se).15 G 2.003(ntries from the list.)-4.503 -F 2.003(The current directory is)7.003 F(al)144 132 Q -.1(wa)-.1 G -(ys the \214rst directory in the stack.).1 E F1144 144 Q F0 -(Clears the directory stack by deleting all of the entries.)180 144 Q F1 -144 156 Q F0 .882 -(Produces a listing using full pathnames; the def)180 156 R .881 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(pushd)144 84 Q F0 +.927(command; the)3.427 F F1(popd)3.428 E F0 .928(command remo)3.428 F +-.15(ve)-.15 G 3.428(se).15 G .928(ntries from the list.)-3.428 F .928 +(The current directory is al-)5.928 F -.1(wa)144 96 S +(ys the \214rst directory in the stack.).1 E F1144 108 Q F0 +(Clears the directory stack by deleting all of the entries.)180 108 Q F1 +144 120 Q F0 .882 +(Produces a listing using full pathnames; the def)180 120 R .881 (ault listing format uses a tilde to denote)-.1 F(the home directory)180 -168 Q(.)-.65 E F1144 180 Q F0 -(Print the directory stack with one entry per line.)180 180 Q F1 -144 192 Q F0 .272(Print the directory stack with one entry per line, pr\ -e\214xing each entry with its inde)180 192 R 2.773(xi)-.15 G 2.773(nt) --2.773 G(he)-2.773 E(stack.)180 204 Q F1(+)144 216 Q F2(n)A F0 1.565 -(Displays the)180 216 R F2(n)4.065 E F0 1.565 -(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1 -(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E -(without options, starting with zero.)180 228 Q F1144 240 Q F2(n)A -F0 1.194(Displays the)180 240 R F2(n)3.694 E F0 1.194 +132 Q(.)-.65 E F1144 144 Q F0 +(Print the directory stack with one entry per line.)180 144 Q F1 +144 156 Q F0 .272(Print the directory stack with one entry per line, pr\ +e\214xing each entry with its inde)180 156 R 2.773(xi)-.15 G 2.773(nt) +-2.773 G(he)-2.773 E(stack.)180 168 Q F1(+)144 180 Q/F2 10 +/Times-Italic@0 SF(n)A F0 1.565(Displays the)180 180 R F2(n)4.065 E F0 +1.565(th entry counting from the left of the list sho)B 1.564(wn by)-.25 +F F1(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 +E(without options, starting with zero.)180 192 Q F1144 204 Q F2(n)A +F0 1.194(Displays the)180 204 R F2(n)3.694 E F0 1.194 (th entry counting from the right of the list sho)B 1.194(wn by)-.25 F F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E -(without options, starting with zero.)180 252 Q .258(The return v)144 -268.8 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258 +(without options, starting with zero.)180 216 Q .258(The return v)144 +232.8 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258 (lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe) -.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-) -.15 F(tory stack.)144 280.8 Q F1(diso)108 297.6 Q(wn)-.1 E F0([)2.5 E F1 +.15 F(tory stack.)144 244.8 Q F1(diso)108 261.6 Q(wn)-.1 E F0([)2.5 E F1 (\255ar)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(jobspec)-2.5 E F0 -(... |)2.5 E F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144 309.6 S .121 +(... |)2.5 E F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144 273.6 S .121 (thout options, remo).4 F .422 -.15(ve e)-.15 H(ach).15 E F2(jobspec) 4.362 E F0 .122(from the table of acti)2.932 F .422 -.15(ve j)-.25 H 2.622(obs. If).15 F F2(jobspec)4.362 E F0 .122(is not present, and)2.932 -F .096(neither the)144 321.6 R F12.596 E F0 .096(nor the)2.596 F +F .096(neither the)144 285.6 R F12.596 E F0 .096(nor the)2.596 F F12.596 E F0 .096(option is supplied, the)2.596 F F2(curr)2.596 E .096(ent job)-.37 F F0 .096(is used.)2.596 F .096(If the)5.096 F F1 2.596 E F0 .096(option is gi)2.596 F -.15(ve)-.25 G .096(n, each) -.15 F F2(jobspec)145.74 333.6 Q F0 .585(is not remo)3.395 F -.15(ve)-.15 +.15 F F2(jobspec)145.74 297.6 Q F0 .585(is not remo)3.395 F -.15(ve)-.15 G 3.085(df).15 G .585(rom the table, b)-3.085 F .585(ut is mark)-.2 F .585(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)3.085 E F0 .586 -(is not sent to the job if the)2.835 F .962(shell recei)144 345.6 R -.15 +(is not sent to the job if the)2.835 F .962(shell recei)144 309.6 R -.15 (ve)-.25 G 3.462(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .962 (If no)5.462 F F2(jobspec)5.202 E F0 .962(is supplied, the)3.772 F F1 3.462 E F0 .962(option means to remo)3.462 F 1.262 -.15(ve o)-.15 -H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 357.6 R F1 +H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 321.6 R F1 3.858 E F0 1.358(option without a)3.858 F F2(jobspec)5.598 E F0 (ar)4.169 E 1.359(gument restricts operation to running jobs.)-.18 F -1.359(The return)6.359 F -.25(va)144 369.6 S(lue is 0 unless a).25 E F2 +1.359(The return)6.359 F -.25(va)144 333.6 S(lue is 0 unless a).25 E F2 (jobspec)4.24 E F0(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E -F1(echo)108 386.4 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g) --.37 E F0(...])2.5 E .425(Output the)144 398.4 R F2(ar)2.925 E(g)-.37 E +F1(echo)108 350.4 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g) +-.37 E F0(...])2.5 E .425(Output the)144 362.4 R F2(ar)2.925 E(g)-.37 E F0 .424(s, separated by spaces, follo)B .424(wed by a ne)-.25 F 2.924 (wline. The)-.25 F .424(return status is 0 unless a write)2.924 F .307 -(error occurs.)144 410.4 R(If)5.307 E F12.807 E F0 .307 +(error occurs.)144 374.4 R(If)5.307 E F12.807 E F0 .307 (is speci\214ed, the trailing ne)2.807 F .308(wline is suppressed.)-.25 F .308(If the)5.308 F F12.808 E F0 .308(option is gi)2.808 F -.15 -(ve)-.25 G .308(n, inter).15 F(-)-.2 E 1.349(pretation of the follo)144 -422.4 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The) -6.348 E F13.848 E F0 1.348(option disables the)3.848 F 1.054 -(interpretation of these escape characters, e)144 434.4 R -.15(ve)-.25 G -3.555(no).15 G 3.555(ns)-3.555 G 1.055(ystems where the)-3.555 F 3.555 -(ya)-.15 G 1.055(re interpreted by def)-3.555 F(ault.)-.1 E(The)144 -446.4 Q F1(xpg_echo)3.459 E F0 .959 -(shell option may be used to dynamically determine whether or not)3.459 -F F1(echo)3.458 E F0 -.15(ex)3.458 G(pands).15 E .715 -(these escape characters by def)144 458.4 R(ault.)-.1 E F1(echo)5.715 E -F0 .716(does not interpret)3.215 F F13.216 E F0 .716 -(to mean the end of options.)3.216 F F1(echo)5.716 E F0 -(interprets the follo)144 470.4 Q(wing escape sequences:)-.25 E F1(\\a) -144 482.4 Q F0(alert \(bell\))180 482.4 Q F1(\\b)144 494.4 Q F0 -(backspace)180 494.4 Q F1(\\c)144 506.4 Q F0(suppress further output)180 -506.4 Q F1(\\e)144 518.4 Q(\\E)144 530.4 Q F0(an escape character)180 -530.4 Q F1(\\f)144 542.4 Q F0(form feed)180 542.4 Q F1(\\n)144 554.4 Q -F0(ne)180 554.4 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 566.4 Q F0 -(carriage return)180 566.4 Q F1(\\t)144 578.4 Q F0(horizontal tab)180 -578.4 Q F1(\\v)144 590.4 Q F0 -.15(ve)180 590.4 S(rtical tab).15 E F1 -(\\\\)144 602.4 Q F0(backslash)180 602.4 Q F1(\\0)144 614.4 Q F2(nnn)A -F0(the eight-bit character whose v)180 614.4 Q(alue is the octal v)-.25 +(ve)-.25 G .308(n, inter).15 F(-)-.2 E .198(pretation of the follo)144 +386.4 R .198(wing backslash-escaped characters is enabled.)-.25 F(The) +5.198 E F12.698 E F0 .197(option disables the in-)2.697 F .067 +(terpretation of these escape characters, e)144 398.4 R -.15(ve)-.25 G +2.567(no).15 G 2.567(ns)-2.567 G .067(ystems where the)-2.567 F 2.567 +(ya)-.15 G .067(re interpreted by def)-2.567 F 2.568(ault. The)-.1 F F1 +(xpg_echo)144 410.4 Q F0 .602 +(shell option may be used to dynamically determine whether or not)3.102 +F F1(echo)3.101 E F0 -.15(ex)3.101 G .601(pands these).15 F .658 +(escape characters by def)144 422.4 R(ault.)-.1 E F1(echo)5.658 E F0 +.659(does not interpret)3.159 F F13.159 E F0 .659 +(to mean the end of options.)3.159 F F1(echo)5.659 E F0(inter)3.159 E(-) +-.2 E(prets the follo)144 434.4 Q(wing escape sequences:)-.25 E F1(\\a) +144 446.4 Q F0(alert \(bell\))180 446.4 Q F1(\\b)144 458.4 Q F0 +(backspace)180 458.4 Q F1(\\c)144 470.4 Q F0(suppress further output)180 +470.4 Q F1(\\e)144 482.4 Q(\\E)144 494.4 Q F0(an escape character)180 +494.4 Q F1(\\f)144 506.4 Q F0(form feed)180 506.4 Q F1(\\n)144 518.4 Q +F0(ne)180 518.4 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 530.4 Q F0 +(carriage return)180 530.4 Q F1(\\t)144 542.4 Q F0(horizontal tab)180 +542.4 Q F1(\\v)144 554.4 Q F0 -.15(ve)180 554.4 S(rtical tab).15 E F1 +(\\\\)144 566.4 Q F0(backslash)180 566.4 Q F1(\\0)144 578.4 Q F2(nnn)A +F0(the eight-bit character whose v)180 578.4 Q(alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0(\(zero to three octal digits\))2.5 E F1 -(\\x)144 626.4 Q F2(HH)A F0(the eight-bit character whose v)180 626.4 Q +(\\x)144 590.4 Q F2(HH)A F0(the eight-bit character whose v)180 590.4 Q (alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0 (\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1 -(\\u)144 638.4 Q F2(HHHH)A F0 1.507 -(the Unicode \(ISO/IEC 10646\) character whose v)180 650.4 R 1.506 +(\\u)144 602.4 Q F2(HHHH)A F0 1.507 +(the Unicode \(ISO/IEC 10646\) character whose v)180 614.4 R 1.506 (alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F2(HHHH) -4.006 E F0(\(one to four he)180 662.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1 -(\\U)144 674.4 Q F2(HHHHHHHH)A F0 .547 -(the Unicode \(ISO/IEC 10646\) character whose v)180 686.4 R .547 +4.006 E F0(\(one to four he)180 626.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1 +(\\U)144 638.4 Q F2(HHHHHHHH)A F0 .547 +(the Unicode \(ISO/IEC 10646\) character whose v)180 650.4 R .547 (alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-) -3.048 E(HHH)180 698.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G -(igits\))-2.5 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(7)203.725 E +3.048 E(HHH)180 662.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G +(igits\))-2.5 E F1(enable)108 679.2 Q F0([)2.5 E F1A F0 2.5(][)C +F1(\255dnps)-2.5 E F0 2.5(][)C F1-2.5 E F2(\214lename)2.5 E F0 2.5 +(][)C F2(name)-2.5 E F0(...])2.5 E .278(Enable and disable b)144 691.2 R +.278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278 +(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .833 +(the same name as a shell b)144 703.2 R .834(uiltin to be e)-.2 F -.15 +(xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15 +(ve)-.25 G 3.334(nt).15 G(hough)-3.334 E .99 +(the shell normally searches for b)144 715.2 R .989 +(uiltins before disk commands.)-.2 F(If)5.989 E F13.489 E F0 .989 +(is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F 1.581 +(abled; otherwise,)144 727.2 R F2(names)4.082 E F0 1.582(are enabled.) +4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F +F1(test)4.082 E F0 1.582(binary found via the)4.082 F F3 -.666(PA)4.082 +G(TH)-.189 E F0(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(7)203.725 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup @@ -1082,268 +1097,276 @@ BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(enable)108 84 Q F0([) -2.5 E F1A F0 2.5(][)C F1(\255dnps)-2.5 E F0 2.5(][)C F1-2.5 -E/F2 10/Times-Italic@0 SF(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0 -(...])2.5 E .278(Enable and disable b)144 96 R .278 -(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278 -(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .833 -(the same name as a shell b)144 108 R .834(uiltin to be e)-.2 F -.15(xe) --.15 G .834(cuted without specifying a full pathname, e).15 F -.15(ve) --.25 G 3.334(nt).15 G(hough)-3.334 E .99 -(the shell normally searches for b)144 120 R .989 -(uiltins before disk commands.)-.2 F(If)5.989 E F13.489 E F0 .989 -(is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F 1.581 -(abled; otherwise,)144 132 R F2(names)4.082 E F0 1.582(are enabled.) -4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F -F1(test)4.082 E F0 1.582(binary found via the)4.082 F/F3 9/Times-Bold@0 -SF -.666(PA)4.082 G(TH)-.189 E F0 .081(instead of the shell b)144 144 R -.081(uiltin v)-.2 F .081(ersion, run)-.15 F/F4 10/Courier@0 SF .081 -(enable -n test)2.581 F F0 5.081(.T)C(he)-5.081 E F12.58 E F0 .08 -(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 156 S 1.524 -(iltin command).2 F F2(name)4.384 E F0 1.524(from shared object)4.204 F -F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524 -(ystems that support dynamic loading.)-4.024 F(The)144 168 Q F1 -2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F -.367(viously loaded with)-.25 F F12.866 E F0 5.366(.I)C 2.866(fn) --5.366 G(o)-2.866 E F2(name)2.866 E F0(ar)2.866 E .366(guments are gi) --.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 180 R F1 -2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399 -(uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4 -F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144 -192 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 -(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F -(If)5.098 E F12.598 E F0 1.916 -(is supplied, the list printed includes all b)144 204 R 1.916 -(uiltins, with an indication of whether or not each is)-.2 F 2.879 -(enabled. If)144 216 R F12.879 E F0 .379 -(is supplied, the output is restricted to the POSIX)2.879 F F2(special) -2.879 E F0 -.2(bu)2.878 G 2.878(iltins. The).2 F .378(return v)2.878 F -(alue)-.25 E .994(is 0 unless a)144 228 R F2(name)3.854 E F0 .994 -(is not a shell b)3.674 F .994(uiltin or there is an error loading a ne) --.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144 240 -Q F1 -2.3 -.15(ev a)108 256.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0 -(...])2.5 E(The)144 268.8 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C .671 -(re read and concatenated together into a single command.)-3.171 F .67 -(This command is then read)5.67 F .495(and e)144 280.8 R -.15(xe)-.15 G -.495(cuted by the shell, and its e).15 F .495 -(xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15 -(ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no) --2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 292.8 Q -(guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1 -(exec)108 309.6 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 -(name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments) --.37 E F0(]])A(If)144 321.6 Q F2(command)3.006 E F0 .306 -(is speci\214ed, it replaces the shell.)3.576 F .305(No ne)5.305 F 2.805 -(wp)-.25 G .305(rocess is created.)-2.805 F(The)5.305 E F2(ar)3.135 E -(guments)-.37 E F0(become)3.075 E .176(the ar)144 333.6 R .176 -(guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G -(he)-2.676 E F12.676 E F0 .176 -(option is supplied, the shell places a dash at the be)2.676 F .177 -(ginning of)-.15 F .5(the zeroth ar)144 345.6 R .5(gument passed to)-.18 -F F2(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2(lo)2.999 -E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F12.999 E F0 -.499(option causes)2.999 F F2(com-)3.199 E(mand)144 357.6 Q F0 .638 -(to be e)3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 -(vironment. If)-.4 F F13.138 E F0 .638 -(is supplied, the shell passes)3.138 F F2(name)3.499 E F0 .639(as the) -3.319 F 1.078(zeroth ar)144 369.6 R 1.077(gument to the e)-.18 F -.15 -(xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0 +E(UIL)-.1 E(TINS\(1\))-.92 E .081(instead of the shell b)144 84 R .081 +(uiltin v)-.2 F .081(ersion, run)-.15 F/F1 10/Courier@0 SF .081 +(enable -n test)2.581 F F0 5.081(.T)C(he)-5.081 E/F2 10/Times-Bold@0 SF +2.58 E F0 .08(option means to load the ne)2.58 F(w)-.25 E -.2(bu) +144 96 S 1.365(iltin command).2 F/F3 10/Times-Italic@0 SF(name)4.225 E +F0 1.365(from shared object)4.045 F F3(\214lename)5.775 E F0 3.865(,o) +.18 G 3.865(ns)-3.865 G 1.365(ystems that support dynamic loading.) +-3.865 F(The)144 108 Q F22.867 E F0 .367(option will delete a b) +2.867 F .367(uiltin pre)-.2 F .367(viously loaded with)-.25 F F2 +2.866 E F0 5.366(.I)C 2.866(fn)-5.366 G(o)-2.866 E F3(name)2.866 E F0 +(ar)2.866 E .366(guments are gi)-.18 F -.15(ve)-.25 G .366(n, or).15 F +.398(if the)144 120 R F22.898 E F0 .399 +(option is supplied, a list of shell b)2.899 F .399(uiltins is printed.) +-.2 F -.4(Wi)5.399 G .399(th no other option ar).4 F .399(guments, the) +-.18 F .099(list consists of all enabled shell b)144 132 R 2.598 +(uiltins. If)-.2 F F22.598 E F0 .098(is supplied, only disabled b) +2.598 F .098(uiltins are printed.)-.2 F(If)5.098 E F22.598 E F0 +.905(is supplied, the list printed includes all b)144 144 R .905 +(uiltins, with an indication of whether or not each is en-)-.2 F 2.873 +(abled. If)144 156 R F22.873 E F0 .372 +(is supplied, the output is restricted to the POSIX)2.873 F F3(special) +2.872 E F0 -.2(bu)2.872 G 2.872(iltins. The).2 F .372(return v)2.872 F +.372(alue is)-.25 F 2.5(0u)144 168 S(nless a)-2.5 E F3(name)2.86 E F0 +(is not a shell b)2.68 E(uiltin or there is an error loading a ne)-.2 E +2.5(wb)-.25 G(uiltin from a shared object.)-2.7 E F2 -2.3 -.15(ev a)108 +184.8 T(l).15 E F0([)2.5 E F3(ar)A(g)-.37 E F0(...])2.5 E(The)144 196.8 +Q F3(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671 +(re read and concatenated together into a single command.)-3.17 F .671 +(This command is then read)5.671 F .479(and e)144 208.8 R -.15(xe)-.15 G +.479(cuted by the shell, and its e).15 F .479 +(xit status is returned as the v)-.15 F .478(alue of)-.25 F F2 -2.3 -.15 +(ev a)2.978 H(l).15 E F0 5.478(.I)C 2.978(ft)-5.478 G .478(here are no) +-2.978 F F3(ar)3.308 E(gs)-.37 E F0(,).27 E(or only null ar)144 220.8 Q +(guments,)-.18 E F2 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F2 +(exec)108 237.6 Q F0([)2.5 E F2(\255cl)A F0 2.5(][)C F2-2.5 E F3 +(name)2.5 E F0 2.5(][)C F3(command)-2.5 E F0([)2.5 E F3(ar)A(guments) +-.37 E F0(]])A(If)144 249.6 Q F3(command)3.005 E F0 .305 +(is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805 +(wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F3(ar)3.136 E +(guments)-.37 E F0(become)3.076 E .177(the ar)144 261.6 R .177 +(guments to)-.18 F F3(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G +(he)-2.676 E F22.676 E F0 .176 +(option is supplied, the shell places a dash at the be)2.676 F .176 +(ginning of)-.15 F .48(the zeroth ar)144 273.6 R .48(gument passed to) +-.18 F F3(command)3.18 E F0 5.48(.T).77 G .48(his is what)-5.48 F F3(lo) +3.07 E(gin)-.1 E F0 .48(\(1\) does.).24 F(The)5.48 E F22.98 E F0 +.48(option causes)2.98 F F3(com-)3.18 E(mand)144 285.6 Q F0 .639 +(to be e)3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 +(vironment. If)-.4 F F23.138 E F0 .638 +(is supplied, the shell passes)3.138 F F3(name)3.498 E F0 .638(as the) +3.318 F 1.077(zeroth ar)144 297.6 R 1.077(gument to the e)-.18 F -.15 +(xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F3(command)3.777 E F0 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a) -.15 F(non-interacti)144 381.6 Q .876 -.15(ve s)-.25 H .576(hell e).15 F -.576(xits, unless the)-.15 F F1(execfail)3.076 E F0 .577 -(shell option is enabled.)3.077 F .577(In that case, it returns f)5.577 -F(ail-)-.1 E 3.32(ure. An)144 393.6 R(interacti)3.32 E 1.12 -.15(ve s) +.15 F(non-interacti)144 309.6 Q .877 -.15(ve s)-.25 H .577(hell e).15 F +.577(xits, unless the)-.15 F F2(execfail)3.077 E F0 .577 +(shell option is enabled.)3.077 F .576(In that case, it returns f)5.577 +F(ail-)-.1 E 3.32(ure. An)144 321.6 R(interacti)3.32 E 1.12 -.15(ve s) -.25 H .82(hell returns f).15 F .82(ailure if the \214le cannot be e)-.1 F -.15(xe)-.15 G 3.32(cuted. A).15 F .82(subshell e)3.32 F .82 -(xits uncondi-)-.15 F .287(tionally if)144 405.6 R F1(exec)2.787 E F0 --.1(fa)2.787 G 2.787(ils. If).1 F F2(command)2.987 E F0 .287 -(is not speci\214ed, an)3.557 F 2.788(yr)-.15 G .288(edirections tak) --2.788 F 2.788(ee)-.1 G -.25(ff)-2.788 G .288(ect in the current shell,) -.25 F(and the return status is 0.)144 417.6 Q +(xits uncondi-)-.15 F .288(tionally if)144 333.6 R F2(exec)2.788 E F0 +-.1(fa)2.788 G 2.788(ils. If).1 F F3(command)2.988 E F0 .288 +(is not speci\214ed, an)3.558 F 2.787(yr)-.15 G .287(edirections tak) +-2.787 F 2.787(ee)-.1 G -.25(ff)-2.787 G .287(ect in the current shell,) +.25 F(and the return status is 0.)144 345.6 Q (If there is a redirection error)5 E 2.5(,t)-.4 G -(he return status is 1.)-2.5 E F1(exit)108 434.4 Q F0([)2.5 E F2(n)A F0 -(])A .096(Cause the shell to e)144 434.4 R .096(xit with a status of) --.15 F F2(n)2.596 E F0 5.096(.I)C(f)-5.096 E F2(n)2.955 E F0 .095 -(is omitted, the e)2.835 F .095(xit status is that of the last command) --.15 F -.15(exe)144 446.4 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5 -E F0(is e)2.25 E -.15(xe)-.15 G(cuted before the shell terminates.).15 E -F1(export)108 463.2 Q F0([)2.5 E F1(\255fn)A F0 2.5(][).833 G F2(name) --2.5 E F0([=)A F2(wor)A(d)-.37 E F0(]] ...)A F1(export \255p)108 475.2 Q -F0 .256(The supplied)144 487.2 R F2(names)3.117 E F0 .257(are mark)3.027 -F .257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257 -(vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.627 -(commands. If)144 499.2 R(the)2.627 E F12.627 E F0 .127 -(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2(names)2.987 E -F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2(names)2.987 E -F0 .127(are gi)2.897 F -.15(ve)-.25 G .126(n, or if the).15 F F1 -144 511.2 Q F0 .048(option is supplied, a list of names of all e)2.547 F -.048(xported v)-.15 F .048(ariables is printed.)-.25 F(The)5.048 E F1 -2.548 E F0 .048(option causes the)2.548 F -.15(ex)144 523.2 S -1.447(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447 -(rom each)-3.947 F F2(name)3.947 E F0 6.447(.I)C 3.947(fav)-6.447 G -1.447(ariable name is follo)-4.197 F 1.447(wed by =)-.25 F F2(wor)A(d) --.37 E F0 3.946(,t)C(he)-3.946 E -.25(va)144 535.2 S .741(lue of the v) -.25 F .741(ariable is set to)-.25 F F2(wor)3.241 E(d)-.37 E F0(.)A F1 -(export)5.741 E F0 .742(returns an e)3.242 F .742 -(xit status of 0 unless an in)-.15 F -.25(va)-.4 G .742(lid option is) -.25 F .032(encountered, one of the)144 547.2 R F2(names)2.532 E F0 .032 -(is not a v)2.532 F .032(alid shell v)-.25 F .032(ariable name, or)-.25 -F F12.531 E F0 .031(is supplied with a)2.531 F F2(name)2.891 E F0 -(that)2.711 E(is not a function.)144 559.2 Q F1(fc)108 576 Q F0([)2.5 E -F1A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2 -<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108 -588 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2 -(cmd)-2.5 E F0(])A .431 -(The \214rst form selects a range of commands from)144 600 R F2<8c72> -4.842 E(st)-.1 E F0(to)3.612 E F2(last)3.022 E F0 .432 -(from the history list and displays or)3.612 F .142(edits and re-e)144 -612 R -.15(xe)-.15 G .142(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs) -.45 G(t).1 E F0(and)3.321 E F2(last)2.731 E F0 .141 +(he return status is 1.)-2.5 E F2(exit)108 362.4 Q F0([)2.5 E F3(n)A F0 +(])A .095(Cause the shell to e)144 362.4 R .095(xit with a status of) +-.15 F F3(n)2.595 E F0 5.095(.I)C(f)-5.095 E F3(n)2.955 E F0 .096 +(is omitted, the e)2.835 F .096(xit status is that of the last command) +-.15 F -.15(exe)144 374.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F4 9 +/Times-Bold@0 SF(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G +(cuted before the shell terminates.).15 E F2(export)108 391.2 Q F0([)2.5 +E F2(\255fn)A F0 2.5(][).833 G F3(name)-2.5 E F0([=)A F3(wor)A(d)-.37 E +F0(]] ...)A F2(export \255p)108 403.2 Q F0 .257(The supplied)144 415.2 R +F3(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F +.257(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15 +(xe)-.15 G(cuted).15 E 2.626(commands. If)144 427.2 R(the)2.626 E F2 +2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the) +.15 F F3(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no) +5.127 F F3(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127 +(n, or if the).15 F F2144 439.2 Q F0 .048 +(option is supplied, a list of names of all e)2.548 F .048(xported v) +-.15 F .048(ariables is printed.)-.25 F(The)5.048 E F22.547 E F0 +.047(option causes the)2.547 F -.15(ex)144 451.2 S 1.446 +(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447 +(rom each)-3.947 F F3(name)3.947 E F0 6.447(.I)C 3.947(fav)-6.447 G +1.447(ariable name is follo)-4.197 F 1.447(wed by =)-.25 F F3(wor)A(d) +-.37 E F0 3.947(,t)C(he)-3.947 E -.25(va)144 463.2 S .742(lue of the v) +.25 F .742(ariable is set to)-.25 F F3(wor)3.242 E(d)-.37 E F0(.)A F2 +(export)5.742 E F0 .742(returns an e)3.242 F .741 +(xit status of 0 unless an in)-.15 F -.25(va)-.4 G .741(lid option is) +.25 F .031(encountered, one of the)144 475.2 R F3(names)2.531 E F0 .031 +(is not a v)2.531 F .032(alid shell v)-.25 F .032(ariable name, or)-.25 +F F22.532 E F0 .032(is supplied with a)2.532 F F3(name)2.892 E F0 +(that)2.712 E(is not a function.)144 487.2 Q F2(fc)108 504 Q F0([)2.5 E +F2A F3(ename)2.5 E F0 2.5(][)C F2(\255lnr)-2.5 E F0 2.5(][)C F3 +<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F3(last)-2.5 E F0(])A F2(fc \255s)108 +516 Q F0([)2.5 E F3(pat)A F0(=)A F3 -.37(re)C(p).37 E F0 2.5(][)C F3 +(cmd)-2.5 E F0(])A .432 +(The \214rst form selects a range of commands from)144 528 R F3<8c72> +4.842 E(st)-.1 E F0(to)3.612 E F3(last)3.022 E F0 .431 +(from the history list and displays or)3.612 F .141(edits and re-e)144 +540 R -.15(xe)-.15 G .141(cutes them.).15 F F3 -.45(Fi)5.141 G -.1(rs) +.45 G(t).1 E F0(and)3.321 E F3(last)2.731 E F0 .141 (may be speci\214ed as a string \(to locate the last command)3.321 F(be) -144 624 Q .31(ginning with that string\) or as a number \(an inde)-.15 F -2.811(xi)-.15 G .311(nto the history list, where a ne)-2.811 F -.05(ga) --.15 G(ti).05 E .611 -.15(ve n)-.25 H(umber).15 E .19(is used as an of) -144 636 R .19(fset from the current command number\).)-.25 F(If)5.19 E -F2(last)2.779 E F0 .189(is not speci\214ed, it is set to the cur)3.369 F -(-)-.2 E .948(rent command for listing \(so that)144 648 R F4 .948 +144 552 Q .311(ginning with that string\) or as a number \(an inde)-.15 +F 2.811(xi)-.15 G .31(nto the history list, where a ne)-2.811 F -.05(ga) +-.15 G(ti).05 E .61 -.15(ve n)-.25 H(umber).15 E .189(is used as an of) +144 564 R .189(fset from the current command number\).)-.25 F(If)5.189 E +F3(last)2.78 E F0 .19(is not speci\214ed, it is set to the cur)3.37 F(-) +-.2 E .949(rent command for listing \(so that)144 576 R F1 .948 (fc \255l \25510)3.448 F F0 .948(prints the last 10 commands\) and to) -3.448 F F2<8c72>5.359 E(st)-.1 E F0(other)4.129 E(-)-.2 E 2.5(wise. If) -144 660 R F2<8c72>4.41 E(st)-.1 E F0 +3.448 F F3<8c72>5.358 E(st)-.1 E F0(other)4.128 E(-)-.2 E 2.5(wise. If) +144 588 R F3<8c72>4.41 E(st)-.1 E F0 (is not speci\214ed, it is set to the pre)3.18 E -(vious command for editing and \25516 for listing.)-.25 E(The)144 684 Q -F12.522 E F0 .022 +(vious command for editing and \25516 for listing.)-.25 E(The)144 612 Q +F22.522 E F0 .022 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E -F12.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 -(rses the order of).15 F .438(the commands.)144 696 R .438(If the)5.438 -F F12.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 +F22.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 +(rses the order of).15 F .438(the commands.)144 624 R .438(If the)5.438 +F F22.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E -.335(the editor gi)144 708 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E F2 -(ename)3.025 E F0 .335(is in)3.015 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do) +.334(the editor gi)144 636 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E F3 +(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do) .1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F -(If)5.334 E F2(ename)3.024 E F0 .334(is not gi)3.014 F -.15(ve)-.25 G -(n,).15 E 1.668(the v)144 720 R 1.668(alue of the)-.25 F F3(FCEDIT)4.168 -E F0 -.25(va)3.918 G 1.668(riable is used, and the v).25 F 1.669 -(alue of)-.25 F F3(EDIT)4.169 E(OR)-.162 E F0(if)3.919 E F3(FCEDIT)4.169 -E F0 1.669(is not set.)3.919 F(If)6.669 E(GNU Bash 5.0)72 768 Q -(2004 Apr 20)149.565 E(8)203.725 E 0 Cg EP +(If)5.335 E F3(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G +(n,).15 E .631(the v)144 648 R .631(alue of the)-.25 F F4(FCEDIT)3.131 E +F0 -.25(va)2.881 G .631(riable is used, and the v).25 F .631(alue of) +-.25 F F4(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F4(FCEDIT)3.13 E F0 .63 +(is not set.)2.88 F .63(If nei-)5.63 F .005(ther v)144 660 R .005 +(ariable is set,)-.25 F F3(vi)4.171 E F0 .005(is used.)4.171 F .005 +(When editing is complete, the edited commands are echoed and e)5.005 F +(x-)-.15 E(ecuted.)144 672 Q .789(In the second form,)144 696 R F3 +(command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788 +(cuted after each instance of).15 F F3(pat)3.288 E F0 .788 +(is replaced by)3.288 F F3 -.37(re)3.288 G(p).37 E F0(.)A F3(Com-)5.788 +E(mand)144 708 Q F0 .171(is interpreted the same as)2.671 F F3<8c72> +2.671 E(st)-.1 E F0(abo)2.671 E -.15(ve)-.15 G 5.171(.A).15 G .172 +(useful alias to use with this is)-2.499 F F1 .172(r='fc \255s')2.672 F +F0 2.672(,s)C 2.672(ot)-2.672 G(hat)-2.672 E(typing)144 720 Q F1 8.78 +(rc)5.28 G(c)-8.78 E F0 2.78(runs the last command be)5.28 F 2.78 +(ginning with)-.15 F F1(cc)5.28 E F0 2.78(and typing)5.28 F F1(r)5.28 E +F0(re-e)5.28 E -.15(xe)-.15 G 2.78(cutes the last).15 F(GNU Bash 5.0)72 +768 Q(2004 Apr 20)149.565 E(8)203.725 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E .187(neither v)144 84 R .187 -(ariable is set,)-.25 F/F1 10/Times-Italic@0 SF(vi)4.353 E F0 .187 -(is used.)4.353 F .187 -(When editing is complete, the edited commands are echoed and)5.187 F --.15(exe)144 96 S(cuted.).15 E .788(In the second form,)144 120 R F1 -(command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788 -(cuted after each instance of).15 F F1(pat)3.288 E F0 .788 -(is replaced by)3.288 F F1 -.37(re)3.289 G(p).37 E F0(.)A F1(Com-)5.789 -E(mand)144 132 Q F0 .172(is interpreted the same as)2.672 F F1<8c72> -2.672 E(st)-.1 E F0(abo)2.672 E -.15(ve)-.15 G 5.172(.A).15 G .171 -(useful alias to use with this is)-2.5 F/F2 10/Courier@0 SF .171 -(r='fc \255s')2.671 F F0 2.671(,s)C 2.671(ot)-2.671 G(hat)-2.671 E -(typing)144 144 Q F2 7.165(rc)3.665 G(c)-7.165 E F0 1.165 -(runs the last command be)3.665 F 1.166(ginning with)-.15 F F2(cc)3.666 -E F0 1.166(and typing)3.666 F F2(r)3.666 E F0(re-e)3.666 E -.15(xe)-.15 -G 1.166(cutes the last com-).15 F(mand.)144 156 Q .142 -(If the \214rst form is used, the return v)144 180 R .142 +E(UIL)-.1 E(TINS\(1\))-.92 E(command.)144 84 Q .142 +(If the \214rst form is used, the return v)144 108 R .142 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .142 -(lid option is encountered or).25 F F1<8c72>4.552 E(st)-.1 E F0(or)3.322 -E F1(last)2.732 E F0 .454(specify history lines out of range.)144 192 R -.454(If the)5.454 F/F3 10/Times-Bold@0 SF2.954 E F0 .454 -(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455 -(alue of the)-.25 F .788(last command e)144 204 R -.15(xe)-.15 G .788 -(cuted or f).15 F .787 +(lid option is encountered or).25 F/F1 10/Times-Italic@0 SF<8c72>4.552 E +(st)-.1 E F0(or)3.322 E F1(last)2.732 E F0 .455 +(specify history lines out of range.)144 120 R .454(If the)5.454 F/F2 10 +/Times-Bold@0 SF2.954 E F0 .454(option is supplied, the return v) +2.954 F .454(alue is the v)-.25 F .454(alue of the)-.25 F .787 +(last command e)144 132 R -.15(xe)-.15 G .787(cuted or f).15 F .788 (ailure if an error occurs with the temporary \214le of commands.)-.1 F -.787(If the)5.787 F 1.135 +.788(If the)5.788 F 1.136 (second form is used, the return status is that of the command re-e)144 -216 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F1(cmd)3.836 E F0 1.136 -(does not)4.406 F(specify a v)144 228 Q -(alid history line, in which case)-.25 E F3(fc)2.5 E F0(returns f)2.5 E -(ailure.)-.1 E F3(fg)108 244.8 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume) -144 256.8 Q F1(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413 +144 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F1(cmd)3.835 E F0 1.135 +(does not)4.405 F(specify a v)144 156 Q +(alid history line, in which case)-.25 E F2(fc)2.5 E F0(returns f)2.5 E +(ailure.)-.1 E F2(fg)108 172.8 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume) +144 184.8 Q F1(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413 (ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413 (he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1(jobspec)5.653 E F0 -1.413(is not present, the)4.223 F(shell')144 268.8 Q 3.116(sn)-.55 G -.616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)-.37 F F0 .617 -(is used.)3.116 F .617(The return v)5.617 F .617 -(alue is that of the command placed into the)-.25 F(fore)144 280.8 Q -.363(ground, or f)-.15 F .363 -(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362 -(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 292.8 Q +1.414(is not present, the)4.223 F(shell')144 196.8 Q 3.117(sn)-.55 G +.617(otion of the)-3.117 F F1(curr)3.117 E .617(ent job)-.37 F F0 .617 +(is used.)3.117 F .617(The return v)5.617 F .616 +(alue is that of the command placed into the)-.25 F(fore)144 208.8 Q +.362(ground, or f)-.15 F .362 +(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363 +(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 220.8 Q F0(does not specify a v)2.81 E(alid job or)-.25 E F1(jobspec)4.24 E F0 (speci\214es a job that w)2.81 E(as started without job control.)-.1 E -F3(getopts)108 309.6 Q F1(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs) --.37 E F0(])A F3(getopts)144 321.6 Q F0 .793 -(is used by shell procedures to parse positional parameters.)3.293 F F1 -(optstring)6.023 E F0 .793(contains the option)3.513 F .15 -(characters to be recognized; if a character is follo)144 333.6 R .149 -(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449 --.15(ve a)-.2 H(n).15 E(ar)144 345.6 Q .578 -(gument, which should be separated from it by white space.)-.18 F .579 -(The colon and question mark char)5.579 F(-)-.2 E 1.665 -(acters may not be used as option characters.)144 357.6 R 1.665 -(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F3(getopts) -4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796 -(option in the shell v)144 369.6 R(ariable)-.25 E F1(name)3.296 E F0 -3.296(,i).18 G(nitializing)-3.296 E F1(name)3.657 E F0 .797 -(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G -3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 381.6 Q .085 -(gument to be processed into the v)-.18 F(ariable)-.25 E/F4 9 -/Times-Bold@0 SF(OPTIND)2.585 E/F5 9/Times-Roman@0 SF(.)A F4(OPTIND) -4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .845 -(or a shell script is in)144 393.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345 -(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F3 -(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804 -(into the v)144 405.6 R(ariable)-.25 E F4(OPT)3.304 E(ARG)-.81 E F5(.)A -F0 .803(The shell does not reset)5.304 F F4(OPTIND)3.303 E F0 .803 -(automatically; it must be manually)3.053 F .293 -(reset between multiple calls to)144 417.6 R F3(getopts)2.793 E F0 .293 -(within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F -2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 429.6 -Q 2.044(When the end of options is encountered,)144 453.6 R F3(getopts) -4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043 -(alue greater than zero.)-.25 F F4(OPTIND)144 465.6 Q F0 +F2(getopts)108 237.6 Q F1(optstring name)2.5 E F0([)2.5 E F1(ar)A 2.5 +(g.)-.37 G(..)-2.5 E F0(])A F2(getopts)144 249.6 Q F0 .793 +(is used by shell procedures to parse positional parameters.)3.294 F F1 +(optstring)6.023 E F0 .793(contains the option)3.513 F .149 +(characters to be recognized; if a character is follo)144 261.6 R .15 +(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45 +-.15(ve a)-.2 H(n).15 E(ar)144 273.6 Q .579 +(gument, which should be separated from it by white space.)-.18 F .578 +(The colon and question mark char)5.579 F(-)-.2 E .636 +(acters may not be used as option characters.)144 285.6 R .636 +(Each time it is in)5.636 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F2(getopts) +3.136 E F0 .636(places the ne)3.136 F .636(xt op-)-.15 F .03 +(tion in the shell v)144 297.6 R(ariable)-.25 E F1(name)2.89 E F0 2.53 +(,i).18 G(nitializing)-2.53 E F1(name)2.89 E F0 .029(if it does not e) +2.71 F .029(xist, and the inde)-.15 F 2.529(xo)-.15 G 2.529(ft)-2.529 G +.029(he ne)-2.529 F .029(xt ar)-.15 F(gu-)-.18 E .065 +(ment to be processed into the v)144 309.6 R(ariable)-.25 E/F3 9 +/Times-Bold@0 SF(OPTIND)2.565 E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND) +4.565 E F0 .066(is initialized to 1 each time the shell or a)2.315 F +.885(shell script is in)144 321.6 R -.2(vo)-.4 G -.1(ke).2 G 3.385 +(d. When).1 F .885(an option requires an ar)3.385 F(gument,)-.18 E F2 +(getopts)3.385 E F0 .885(places that ar)3.385 F .885(gument into)-.18 F +.566(the v)144 333.6 R(ariable)-.25 E F3(OPT)3.066 E(ARG)-.81 E F4(.)A +F0 .566(The shell does not reset)5.066 F F3(OPTIND)3.066 E F0 .567 +(automatically; it must be manually reset)2.816 F .39 +(between multiple calls to)144 345.6 R F2(getopts)2.89 E F0 .39 +(within the same shell in)2.89 F -.2(vo)-.4 G .389(cation if a ne).2 F +2.889(ws)-.25 G .389(et of parameters is to)-2.889 F(be used.)144 357.6 +Q 2.043(When the end of options is encountered,)144 381.6 R F2(getopts) +4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044 +(alue greater than zero.)-.25 F F3(OPTIND)144 393.6 Q F0 (is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G (he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0 -(is set to ?.)2.5 E F3(getopts)144 489.6 Q F0 2.392 -(normally parses the positional parameters, b)4.892 F 2.392 -(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893 -(ni).15 G(n)-4.893 E F1(ar)4.893 E(gs)-.37 E F0(,).27 E F3(getopts)144 -501.6 Q F0(parses those instead.)2.5 E F3(getopts)144 525.6 Q F0 1.166 -(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F -1.165(the \214rst character of)3.665 F F1(optstring)3.895 E F0 1.165 -(is a colon,)3.885 F F1(silent)4.005 E F0(error)4.345 E 1.07 -(reporting is used.)144 537.6 R 1.071 -(In normal operation, diagnostic messages are printed when in)6.07 F --.25(va)-.4 G 1.071(lid options or).25 F .394(missing option ar)144 -549.6 R .394(guments are encountered.)-.18 F .394(If the v)5.394 F -(ariable)-.25 E F4(OPTERR)2.894 E F0 .394 -(is set to 0, no error messages)2.644 F(will be displayed, e)144 561.6 Q +(is set to ?.)2.5 E F2(getopts)144 417.6 Q F0 .485 +(normally parses the positional parameters, b)2.985 F .485 +(ut if more ar)-.2 F .485(guments are supplied as)-.18 F F1(ar)3.315 E +(g)-.37 E F0 -.25(va)3.205 G(l-).25 E(ues,)144 429.6 Q F2(getopts)2.5 E +F0(parses those instead.)2.5 E F2(getopts)144 453.6 Q F0 .345 +(can report errors in tw)2.845 F 2.845(ow)-.1 G 2.845(ays. If)-2.945 F +.345(the \214rst character of)2.845 F F1(optstring)3.075 E F0 .345 +(is a colon,)3.065 F F1(silent)3.185 E F0 .345(error re-)3.525 F 1.669 +(porting is used.)144 465.6 R 1.668 +(In normal operation, diagnostic messages are printed when in)6.669 F +-.25(va)-.4 G 1.668(lid options or).25 F .393(missing option ar)144 +477.6 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F +(ariable)-.25 E F3(OPTERR)2.894 E F0 .394 +(is set to 0, no error messages)2.644 F(will be displayed, e)144 489.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E -F1(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 585.6 R --.25(va)-.4 G .666(lid option is seen,).25 F F3(getopts)3.166 E F0 .667 -(places ? into)3.167 F F1(name)3.527 E F0 .667 -(and, if not silent, prints an error message)3.347 F .4(and unsets)144 -597.6 R F4(OPT)2.9 E(ARG)-.81 E F5(.)A F0(If)4.899 E F3(getopts)2.899 E -F0 .399(is silent, the option character found is placed in)2.899 F F4 -(OPT)2.899 E(ARG)-.81 E F0 .399(and no)2.649 F -(diagnostic message is printed.)144 609.6 Q 1.241(If a required ar)144 -633.6 R 1.241(gument is not found, and)-.18 F F3(getopts)3.741 E F0 -1.241(is not silent, a question mark \()3.741 F F3(?).833 E F0 3.742 -(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F F1(name)144 645.6 -Q F0(,).18 E F4(OPT)2.735 E(ARG)-.81 E F0 .234 -(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F3 -(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F3(:).833 E -F0(\)).833 E(is placed in)144 657.6 Q F1(name)2.86 E F0(and)2.68 E F4 -(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F3 -(getopts)144 681.6 Q F0 .902 +F1(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 513.6 R +-.25(va)-.4 G .667(lid option is seen,).25 F F2(getopts)3.167 E F0 .667 +(places ? into)3.167 F F1(name)3.527 E F0 .666 +(and, if not silent, prints an error message)3.347 F .399(and unsets)144 +525.6 R F3(OPT)2.899 E(ARG)-.81 E F4(.)A F0(If)4.899 E F2(getopts)2.899 +E F0 .399(is silent, the option character found is placed in)2.899 F F3 +(OPT)2.899 E(ARG)-.81 E F0 .4(and no)2.65 F +(diagnostic message is printed.)144 537.6 Q 1.242(If a required ar)144 +561.6 R 1.242(gument is not found, and)-.18 F F2(getopts)3.741 E F0 +1.241(is not silent, a question mark \()3.741 F F2(?).833 E F0 3.741 +(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F F1(name)144.36 +573.6 Q F0(,).18 E F3(OPT)2.713 E(ARG)-.81 E F0 .213 +(is unset, and a diagnostic message is printed.)2.463 F(If)5.213 E F2 +(getopts)2.713 E F0 .213(is silent, then a colon \()2.713 F F2(:).833 E +F0(\)).833 E(is placed in)144 585.6 Q F1(name)2.86 E F0(and)2.68 E F3 +(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F2 +(getopts)144 609.6 Q F0 .902 (returns true if an option, speci\214ed or unspeci\214ed, is found.) -3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F -(options is encountered or an error occurs.)144 693.6 Q(GNU Bash 5.0)72 +3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F +(options is encountered or an error occurs.)144 621.6 Q F2(hash)108 +638.4 Q F0([)2.5 E F2(\255lr)A F0 2.5(][)C F2-2.5 E F1(\214lename) +2.5 E F0 2.5(][)C F2(\255dt)-2.5 E F0 2.5(][)C F1(name)-2.5 E F0(])A +.858(Each time)144 650.4 R F2(hash)3.358 E F0 .858(is in)3.358 F -.2(vo) +-.4 G -.1(ke).2 G .858(d, the full pathname of the command).1 F F1(name) +3.718 E F0 .858(is determined by searching)3.538 F .956 +(the directories in)144 662.4 R F2($P)3.456 E -.95(AT)-.74 G(H).95 E F0 +.956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956 +(viously-remembered pathname is discarded.)-.25 F .242(If the)144 674.4 +R F22.742 E F0 .243 +(option is supplied, no path search is performed, and)2.742 F F1 +(\214lename)4.653 E F0 .243(is used as the full \214lename)2.923 F .615 +(of the command.)144 686.4 R(The)5.615 E F23.115 E F0 .615 +(option causes the shell to for)3.115 F .615 +(get all remembered locations.)-.18 F(The)5.615 E F23.115 E F0 +(op-)3.115 E .293(tion causes the shell to for)144 698.4 R .293 +(get the remembered location of each)-.18 F F1(name)2.794 E F0 5.294(.I) +C 2.794(ft)-5.294 G(he)-2.794 E F22.794 E F0 .294 +(option is supplied,)2.794 F .028(the full pathname to which each)144 +710.4 R F1(name)2.528 E F0 .028(corresponds is printed.)2.528 F .028 +(If multiple)5.028 F F1(name)2.528 E F0(ar)2.528 E .028 +(guments are sup-)-.18 F .175(plied with)144 722.4 R F22.675 E F0 +2.675(,t)C(he)-2.675 E F1(name)2.675 E F0 .175 +(is printed before the hashed full pathname.)2.675 F(The)5.175 E F2 +2.676 E F0 .176(option causes output to)2.676 F(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(9)203.725 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup @@ -1351,636 +1374,632 @@ BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(hash)108 84 Q F0([) -2.5 E F1(\255lr)A F0 2.5(][)C F1-2.5 E/F2 10/Times-Italic@0 SF -(\214lename)2.5 E F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 -E F0(])A .858(Each time)144 96 R F1(hash)3.358 E F0 .858(is in)3.358 F --.2(vo)-.4 G -.1(ke).2 G .858(d, the full pathname of the command).1 F -F2(name)3.718 E F0 .858(is determined by searching)3.538 F .956 -(the directories in)144 108 R F1($P)3.456 E -.95(AT)-.74 G(H).95 E F0 -.956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956 -(viously-remembered pathname is discarded.)-.25 F .243(If the)144 120 R -F12.743 E F0 .243 -(option is supplied, no path search is performed, and)2.743 F F2 -(\214lename)4.653 E F0 .242(is used as the full \214lename)2.923 F 1.711 -(of the command.)144 132 R(The)6.711 E F14.211 E F0 1.711 -(option causes the shell to for)4.211 F 1.712 -(get all remembered locations.)-.18 F(The)6.712 E F14.212 E F0 -.833(option causes the shell to for)144 144 R .833 -(get the remembered location of each)-.18 F F2(name)3.333 E F0 5.833(.I) -C 3.333(ft)-5.833 G(he)-3.333 E F13.333 E F0 .833(option is sup-) -3.333 F .703(plied, the full pathname to which each)144 156 R F2(name) -3.204 E F0 .704(corresponds is printed.)3.204 F .704(If multiple)5.704 F -F2(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144 -168 R F13.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0 .795 -(is printed before the hashed full pathname.)3.295 F(The)5.795 E F1 -3.295 E F0 .795(option causes)3.295 F .934 -(output to be displayed in a format that may be reused as input.)144 180 -R .934(If no ar)5.934 F .935(guments are gi)-.18 F -.15(ve)-.25 G .935 -(n, or if).15 F(only)144 192 Q F12.822 E F0 .322 -(is supplied, information about remembered commands is printed.)2.822 F -.321(The return status is true)5.321 F(unless a)144 204 Q F2(name)2.86 E -F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.) -.25 E F1(help)108 220.8 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2 -(pattern)-2.5 E F0(])A .866(Display helpful information about b)144 -232.8 R .867(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 -.867(is speci\214ed,)3.607 F F1(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 -G 3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144 -244.8 R F2(pattern)2.807 E F0 2.807(;o).24 G .307 -(therwise help for all the b)-2.807 F .306 -(uiltins and shell control struc-)-.2 F(tures is printed.)144 256.8 Q F1 -144 268.8 Q F0(Display a short description of each)180 268.8 Q F2 -(pattern)2.5 E F1144 280.8 Q F0(Display the description of each) -180 280.8 Q F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G -(ormat)-2.5 E F1144 292.8 Q F0 -(Display only a short usage synopsis for each)180 292.8 Q F2(pattern)2.5 -E F0(The return status is 0 unless no command matches)144 309.6 Q F2 -(pattern)2.5 E F0(.).24 E F1(history [)108 326.4 Q F2(n)A F1(])A -(history \255c)108 338.4 Q(history \255d)108 350.4 Q F2(of)2.5 E(fset) --.18 E F1(history \255d)108 362.4 Q F2(start)2.5 E F0A F2(end)A F1 -(history \255anrw)108 374.4 Q F0([)2.5 E F2(\214lename)A F0(])A F1 -(history \255p)108 386.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5 -(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 398.4 Q F2(ar)2.5 E(g) +E(UIL)-.1 E(TINS\(1\))-.92 E .783 +(be displayed in a format that may be reused as input.)144 84 R .783 +(If no ar)5.783 F .783(guments are gi)-.18 F -.15(ve)-.25 G .783 +(n, or if only).15 F/F1 10/Times-Bold@0 SF3.283 E F0(is)3.283 E +.807(supplied, information about remembered commands is printed.)144 96 +R .807(The return status is true unless a)5.807 F/F2 10/Times-Italic@0 +SF(name)144.36 108 Q F0(is not found or an in)2.68 E -.25(va)-.4 G +(lid option is supplied.).25 E F1(help)108 124.8 Q F0([)2.5 E F1 +(\255dms)A F0 2.5(][)C F2(pattern)-2.5 E F0(])A .867 +(Display helpful information about b)144 136.8 R .867(uiltin commands.) +-.2 F(If)5.867 E F2(pattern)4.617 E F0 .866(is speci\214ed,)3.607 F F1 +(help)3.366 E F0(gi)3.366 E -.15(ve)-.25 G 3.366(sd).15 G(etailed)-3.366 +E .223(help on all commands matching)144 148.8 R F2(pattern)3.973 E F0 +2.723(;o).24 G .223(therwise help for all the b)-2.723 F .224 +(uiltins and shell control struc-)-.2 F(tures is printed.)144 160.8 Q F1 +144 172.8 Q F0(Display a short description of each)180 172.8 Q F2 +(pattern)2.5 E F1144 184.8 Q F0(Display the description of each) +180 184.8 Q F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G +(ormat)-2.5 E F1144 196.8 Q F0 +(Display only a short usage synopsis for each)180 196.8 Q F2(pattern)2.5 +E F0(The return status is 0 unless no command matches)144 213.6 Q F2 +(pattern)3.75 E F0(.).24 E F1(history [)108 230.4 Q F2(n)A F1(])A +(history \255c)108 242.4 Q(history \255d)108 254.4 Q F2(of)2.5 E(fset) +-.18 E F1(history \255d)108 266.4 Q F2(start)2.5 E F0A F2(end)A F1 +(history \255anrw)108 278.4 Q F0([)2.5 E F2(\214lename)A F0(])A F1 +(history \255p)108 290.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5 +(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 302.4 Q F2(ar)2.5 E(g) -.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144 -410.4 S .752 +314.4 S .752 (th no options, display the command history list with line numbers.).4 F -.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2 -G .381(been modi\214ed.)144 422.4 R .38(An ar)5.38 F .38(gument of)-.18 -F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88 +.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2 +G .38(been modi\214ed.)144 326.4 R .38(An ar)5.38 F .38(gument of)-.18 F +F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88 (lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9 -/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 434.4 Q(T)-.855 E F0 .264 -(is set and not null, it is used as a format string for)2.514 F F2 -(strftime)2.765 E F0 .265(\(3\) to display the time stamp asso-)B 1.02 -(ciated with each displayed history entry)144 446.4 R 6.019(.N)-.65 G +/Times-Bold@0 SF(HISTTIMEFOR-)2.881 E(MA)144 338.4 Q(T)-.855 E F0 .265 +(is set and not null, it is used as a format string for)2.515 F F2 +(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019 +(ciated with each displayed history entry)144 350.4 R 6.019(.N)-.65 G 3.519(oi)-6.019 G(nterv)-3.519 E 1.019 (ening blank is printed between the formatted)-.15 F .176 -(time stamp and the history line.)144 458.4 R(If)5.176 E F2(\214lename) +(time stamp and the history line.)144 362.4 R(If)5.176 E F2(\214lename) 2.676 E F0 .176 (is supplied, it is used as the name of the history \214le; if)2.676 F -(not, the v)144 470.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.) +(not, the v)144 374.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.) 2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 482.4 Q F0 -(Clear the history list by deleting all the entries.)180 482.4 Q F1 -144 494.4 Q F2(of)2.5 E(fset)-.18 E F0 .39 -(Delete the history entry at position)180 506.4 R F2(of)2.889 E(fset) +(wing meanings:)-.25 E F1144 386.4 Q F0 +(Clear the history list by deleting all the entries.)180 386.4 Q F1 +144 398.4 Q F2(of)2.5 E(fset)-.18 E F0 .389 +(Delete the history entry at position)180 410.4 R F2(of)2.889 E(fset) -.18 E F0 5.389(.I)C(f)-5.389 E F2(of)2.889 E(fset)-.18 E F0 .389(is ne) -2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.889(,i).15 G 2.889(ti) --2.889 G 2.889(si)-2.889 G .389(nterpreted as relati)-2.889 F -.15(ve) --.25 G .598(to one greater than the last history position, so ne)180 -518.4 R -.05(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .599 -(ndices count back from the end).15 F(of the history)180 530.4 Q 2.5(,a) +2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.89(,i).15 G 2.89(ti) +-2.89 G 2.89(si)-2.89 G .39(nterpreted as relati)-2.89 F -.15(ve)-.25 G +.599(to one greater than the last history position, so ne)180 422.4 R +-.05(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .598 +(ndices count back from the end).15 F(of the history)180 434.4 Q 2.5(,a) -.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G (efers to the current)-2.5 E F1(history -d)2.5 E F0(command.)2.5 E F1 -144 542.4 Q F2(start)2.5 E F0A F2(end)A F0 .758 -(Delete the history entries between positions)180 554.4 R F2(start)3.258 -E F0(and)3.257 E F2(end)3.257 E F0 3.257(,i)C(nclusi)-3.257 E -.15(ve) --.25 G 5.757(.P).15 G(ositi)-5.757 E 1.057 -.15(ve a)-.25 H .757(nd ne) -.15 F -.05(ga)-.15 G(-).05 E(ti)180 566.4 Q .3 -.15(ve v)-.25 H +144 446.4 Q F2(start)2.5 E F0A F2(end)A F0 .757 +(Delete the history entries between positions)180 458.4 R F2(start)3.257 +E F0(and)3.258 E F2(end)3.258 E F0 3.258(,i)C(nclusi)-3.258 E -.15(ve) +-.25 G 5.758(.P).15 G(ositi)-5.758 E 1.058 -.15(ve a)-.25 H .758(nd ne) +.15 F -.05(ga)-.15 G(-).05 E(ti)180 470.4 Q .3 -.15(ve v)-.25 H (alues for)-.1 E F2(start)2.5 E F0(and)2.5 E F2(end)2.5 E F0 (are interpreted as described abo)2.5 E -.15(ve)-.15 G(.).15 E F1 -144 578.4 Q F0 .564(Append the `)180 578.4 R(`ne)-.74 E(w')-.25 E 3.064 -('h)-.74 G .564(istory lines to the history \214le.)-3.064 F .565 -(These are history lines entered since)5.564 F(the be)180 590.4 Q +144 482.4 Q F0 .565(Append the `)180 482.4 R(`ne)-.74 E(w')-.25 E 3.065 +('h)-.74 G .564(istory lines to the history \214le.)-3.065 F .564 +(These are history lines entered since)5.564 F(the be)180 494.4 Q (ginning of the current)-.15 E F1(bash)2.5 E F0(session, b)2.5 E -(ut not already appended to the history \214le.)-.2 E F1144 602.4 +(ut not already appended to the history \214le.)-.2 E F1144 506.4 Q F0 .854(Read the history lines not already read from the history \214\ -le into the current history list.)180 602.4 R .772 -(These are lines appended to the history \214le since the be)180 614.4 R -.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E -(sion.)180 626.4 Q F1144 638.4 Q F0(Read the contents of the hist\ -ory \214le and append them to the current history list.)180 638.4 Q F1 -144 650.4 Q F0 -(Write the current history list to the history \214le, o)180 650.4 Q +le into the current history list.)180 506.4 R .773 +(These are lines appended to the history \214le since the be)180 518.4 R +.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E +(sion.)180 530.4 Q F1144 542.4 Q F0(Read the contents of the hist\ +ory \214le and append them to the current history list.)180 542.4 Q F1 +144 554.4 Q F0 +(Write the current history list to the history \214le, o)180 554.4 Q -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G -(ontents.)-2.5 E F1144 662.4 Q F0 .626 -(Perform history substitution on the follo)180 662.4 R(wing)-.25 E F2 -(ar)3.125 E(gs)-.37 E F0 .625(and display the result on the standard) -3.125 F 2.975(output. Does)180 674.4 R .475 +(ontents.)-2.5 E F1144 566.4 Q F0 .625 +(Perform history substitution on the follo)180 566.4 R(wing)-.25 E F2 +(ar)3.125 E(gs)-.37 E F0 .626(and display the result on the standard) +3.125 F 2.975(output. Does)180 578.4 R .475 (not store the results in the history list.)2.975 F(Each)5.475 E F2(ar) 2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F -(normal history e)180 686.4 Q(xpansion.)-.15 E F1144 698.4 Q F0 -.363(Store the)180 698.4 R F2(ar)3.193 E(gs)-.37 E F0 .363 -(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362 -(he last command in the history list is)-5.363 F(remo)180 710.4 Q -.15 +(normal history e)180 590.4 Q(xpansion.)-.15 E F1144 602.4 Q F0 +.362(Store the)180 602.4 R F2(ar)3.192 E(gs)-.37 E F0 .363 +(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363 +(he last command in the history list is)-5.363 F(remo)180 614.4 Q -.15 (ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0 -(are added.)2.77 E .145(If the)144 727.2 R F3(HISTTIMEFORMA)2.645 E(T) +(are added.)2.77 E .146(If the)144 631.2 R F3(HISTTIMEFORMA)2.645 E(T) -.855 E F0 -.25(va)2.395 G .145 (riable is set, the time stamp information associated with each history) -.25 F(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(10)198.725 E 0 Cg EP +.25 F .668(entry is written to the history \214le, mark)144 643.2 R .669 +(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669 +(hen the history)-5.669 F .956(\214le is read, lines be)144 655.2 R .956 +(ginning with the history comment character follo)-.15 F .955 +(wed immediately by a digit)-.25 F .832 +(are interpreted as timestamps for the follo)144 667.2 R .832 +(wing history entry)-.25 F 5.833(.T)-.65 G .833(he return v)-5.833 F +.833(alue is 0 unless an in-)-.25 F -.25(va)144 679.2 S .168(lid option\ + is encountered, an error occurs while reading or writing the history \ +\214le, an in).25 F -.25(va)-.4 G(lid).25 E F2(of)2.668 E(f-)-.18 E(set) +144 691.2 Q F0(is supplied as an ar)2.5 E(gument to)-.18 E F12.5 E +F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E +(xpansion supplied as an ar)-.15 E(gument to)-.18 E F12.5 E F0 -.1 +(fa)2.5 G(ils.).1 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(10) +198.725 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E .669 -(entry is written to the history \214le, mark)144 84 R .669 -(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668 -(hen the history)-5.668 F .955(\214le is read, lines be)144 96 R .956 -(ginning with the history comment character follo)-.15 F .956 -(wed immediately by a digit)-.25 F 1.796 -(are interpreted as timestamps for the follo)144 108 R 1.795 -(wing history entry)-.25 F 6.795(.T)-.65 G 1.795(he return v)-6.795 F -1.795(alue is 0 unless an)-.25 F(in)144 120 Q -.25(va)-.4 G .768(lid op\ -tion is encountered, an error occurs while reading or writing the histo\ -ry \214le, an in).25 F -.25(va)-.4 G(lid).25 E/F1 10/Times-Italic@0 SF -(of)144 132 Q(fset)-.18 E F0 1.032(is supplied as an ar)3.532 F 1.031 -(gument to)-.18 F/F2 10/Times-Bold@0 SF3.531 E F0 3.531(,o)C 3.531 -(rt)-3.531 G 1.031(he history e)-3.531 F 1.031 -(xpansion supplied as an ar)-.15 F 1.031(gument to)-.18 F F23.531 -E F0 -.1(fa)144 144 S(ils.).1 E F2(jobs)108 160.8 Q F0([)2.5 E F2 -(\255lnprs)A F0 2.5(][)C F1(jobspec)A F0(... ])2.5 E F2(jobs \255x)108 -172.8 Q F1(command)2.5 E F0([)2.5 E F1(ar)2.5 E(gs)-.37 E F0(... ])2.5 E -(The \214rst form lists the acti)144 184.8 Q .3 -.15(ve j)-.25 H 2.5 -(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 196.8 Q F0 -(List process IDs in addition to the normal information.)180 196.8 Q F2 -144 208.8 Q F0 .193(Display information only about jobs that ha) -180 208.8 R .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 -F .194(as last noti-)-.1 F(\214ed of their status.)180 220.8 Q F2 -144 232.8 Q F0(List only the process ID of the job')180 232.8 Q 2.5(sp) --.55 G(rocess group leader)-2.5 E(.)-.55 E F2144 244.8 Q F0 -(Display only running jobs.)180 244.8 Q F2144 256.8 Q F0 -(Display only stopped jobs.)180 256.8 Q(If)144 273.6 Q F1(jobspec)4.554 -E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(jobs)108 84 Q F0([) +2.5 E F1(\255lnprs)A F0 2.5(][)C/F2 10/Times-Italic@0 SF(jobspec)A F0 +(... ])2.5 E F1(jobs \255x)108 96 Q F2(command)2.5 E F0([)2.5 E F2(ar) +2.5 E(gs)-.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 108 Q +.3 -.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 +H(he follo).15 E(wing meanings:)-.25 E F1144 120 Q F0 +(List process IDs in addition to the normal information.)180 120 Q F1 +144 132 Q F0 .193(Display information only about jobs that ha)180 +132 R .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 F +.194(as last noti-)-.1 F(\214ed of their status.)180 144 Q F1144 +156 Q F0(List only the process ID of the job')180 156 Q 2.5(sp)-.55 G +(rocess group leader)-2.5 E(.)-.55 E F1144 168 Q F0 +(Display only running jobs.)180 168 Q F1144 180 Q F0 +(Display only stopped jobs.)180 180 Q(If)144 196.8 Q F2(jobspec)4.554 E +F0 .314(is gi)3.124 F -.15(ve)-.25 G .314 (n, output is restricted to information about that job).15 F 5.313(.T) --.4 G .313(he return status is 0 unless)-5.313 F(an in)144 285.6 Q -.25 +-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 208.8 Q -.25 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 -E F1(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 302.4 R F2 -2.894 E F0 .394(option is supplied,)2.894 F F2(jobs)2.894 E F0 -.394(replaces an)2.894 F(y)-.15 E F1(jobspec)4.634 E F0 .394(found in) -3.204 F F1(command)3.094 E F0(or)3.664 E F1(ar)3.224 E(gs)-.37 E F0 .395 -(with the corre-)3.164 F(sponding process group ID, and e)144 314.4 Q --.15(xe)-.15 G(cutes).15 E F1(command)2.7 E F0(passing it)3.27 E F1(ar) -2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E -F2(kill)108 331.2 Q F0([)2.5 E F2A F1(sigspec)2.5 E F0(|)2.5 E F2 -2.5 E F1(signum)2.5 E F0(|)2.5 E F22.5 E F1(sigspec)A F0 2.5 -(][)C F1(pid)-2.5 E F0(|)2.5 E F1(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F2 -(kill \255l)108 343.2 Q F0(|)A F2A F0([)2.5 E F1(sigspec)A F0(|) -2.5 E F1 -.2(ex)2.5 G(it_status).2 E F0(])A .12 -(Send the signal named by)144 355.2 R F1(sigspec)2.96 E F0(or)2.93 E F1 -(signum)2.96 E F0 .119(to the processes named by)2.939 F F1(pid)3.869 E -F0(or)3.389 E F1(jobspec)2.619 E F0(.).31 E F1(sigspec)5.459 E F0(is) -2.929 E .318(either a case-insensiti)144 367.2 R .618 -.15(ve s)-.25 H +E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 225.6 R F1 +2.894 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0 +.394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in) +3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395 +(with the corre-)3.164 F(sponding process group ID, and e)144 237.6 Q +-.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar) +2.83 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 +E F1(kill)108 254.4 Q F0([)2.5 E F1A F2(sigspec)2.5 E F0(|)2.5 E +F12.5 E F2(signum)2.5 E F0(|)2.5 E F12.5 E F2(sigspec)A F0 2.5 +(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1 +(kill \255l)108 266.4 Q F0(|)A F1A F0([)2.5 E F2(sigspec)A F0(|) +2.5 E F2 -.2(ex)2.5 G(it_status).2 E F0(])A .017 +(Send the signal named by)144 278.4 R F2(sigspec)2.857 E F0(or)2.827 E +F2(signum)2.857 E F0 .017(to the processes named by)2.837 F F2(pid)3.767 +E F0(or)3.287 E F2(jobspec)4.257 E F0(.).31 E F2(sigspec)5.357 E F0(is) +2.827 E .318(either a case-insensiti)144 290.4 R .618 -.15(ve s)-.25 H .318(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0 .319(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319 -(pre\214x\) or a signal)2.569 F(number;)144 379.2 Q F1(signum)4.189 E F0 -1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F1(sigspec) -4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0 -1.348(is assumed.)3.599 F(An)6.348 E(ar)144 391.2 Q .522(gument of)-.18 -F F23.023 E F0 .523(lists the signal names.)3.023 F .523(If an) -5.523 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when) -.18 F F23.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523 -(n, the names).15 F .28(of the signals corresponding to the ar)144 403.2 -R .28(guments are listed, and the return status is 0.)-.18 F(The)5.28 E -F1 -.2(ex)2.78 G(it_status).2 E F0(ar)144 415.2 Q .377(gument to)-.18 F -F22.877 E F0 .378 -(is a number specifying either a signal number or the e)2.877 F .378 -(xit status of a process termi-)-.15 F .963(nated by a signal.)144 427.2 -R(The)5.962 E F23.462 E F0 .962(option is equi)3.462 F -.25(va) --.25 G .962(lent to).25 F F23.462 E F0(.)A F2(kill)5.962 E F0 .962 +(pre\214x\) or a signal)2.569 F(number;)144 302.4 Q F2(signum)3.268 E F0 +.427(is a signal number)3.247 F 5.427(.I)-.55 G(f)-5.427 E F2(sigspec) +3.267 E F0 .427(is not present, then)3.237 F F3(SIGTERM)2.927 E F0 .427 +(is assumed.)2.677 F .427(An ar)5.427 F(-)-.2 E .313(gument of)144 314.4 +R F12.813 E F0 .314(lists the signal names.)2.814 F .314(If an) +5.314 F 2.814(ya)-.15 G -.18(rg)-2.814 G .314(uments are supplied when) +.18 F F12.814 E F0 .314(is gi)2.814 F -.15(ve)-.25 G .314 +(n, the names of).15 F .12(the signals corresponding to the ar)144 326.4 +R .119(guments are listed, and the return status is 0.)-.18 F(The)5.119 +E F2 -.2(ex)2.619 G(it_status).2 E F0(ar)2.619 E(-)-.2 E .799(gument to) +144 338.4 R F13.299 E F0 .799 +(is a number specifying either a signal number or the e)3.299 F .8 +(xit status of a process termi-)-.15 F .963(nated by a signal.)144 350.4 +R(The)5.962 E F13.462 E F0 .962(option is equi)3.462 F -.25(va) +-.25 G .962(lent to).25 F F13.462 E F0(.)A F1(kill)5.962 E F0 .962 (returns true if at least one signal w)3.462 F(as)-.1 E -(successfully sent, or f)144 439.2 Q(alse if an error occurs or an in) --.1 E -.25(va)-.4 G(lid option is encountered.).25 E F2(let)108 456 Q F1 -(ar)2.5 E(g)-.37 E F0([)2.5 E F1(ar)A(g)-.37 E F0(...])2.5 E(Each)144 -468 Q F1(ar)3.026 E(g)-.37 E F0 .196(is an arithmetic e)2.916 F .197 +(successfully sent, or f)144 362.4 Q(alse if an error occurs or an in) +-.1 E -.25(va)-.4 G(lid option is encountered.).25 E F1(let)108 379.2 Q +F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Each)144 +391.2 Q F2(ar)3.026 E(g)-.37 E F0 .196(is an arithmetic e)2.916 F .197 (xpression to be e)-.15 F -.25(va)-.25 G .197(luated \(see).25 F F3 .197 (ARITHMETIC EV)2.697 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(abo) -2.447 E -.15(ve)-.15 G 2.697(\). If).15 F(the last)144 480 Q F1(ar)2.83 -E(g)-.37 E F0 -.25(eva)2.72 G(luates to 0,).25 E F2(let)2.5 E F0 -(returns 1; 0 is returned otherwise.)2.5 E F2(local)108 496.8 Q F0([)2.5 -E F1(option)A F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C -(.. | \255 ])-2.5 E -.15(Fo)144 508.8 S 2.56(re).15 G .06(ach ar)-2.56 F -.06(gument, a local v)-.18 F .06(ariable named)-.25 F F1(name)2.92 E F0 -.06(is created, and assigned)2.74 F F1(value)2.56 E F0 5.06(.T).18 G(he) --5.06 E F1(option)2.56 E F0 .06(can be)2.56 F(an)144 520.8 Q 3.152(yo) --.15 G 3.152(ft)-3.152 G .652(he options accepted by)-3.152 F F2(declar) -3.152 E(e)-.18 E F0 5.652(.W)C(hen)-5.652 E F2(local)3.152 E F0 .653 -(is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144 -532.8 Q F1(name)3.282 E F0 .422(to ha)3.102 F .722 -.15(ve a v)-.2 H -.422(isible scope restricted to that function and its children.).15 F -(If)5.421 E F1(name)2.921 E F0 .421(is \255, the set)2.921 F 1.461 -(of shell options is made local to the function in which)144 544.8 R F2 -(local)3.961 E F0 1.462(is in)3.961 F -.2(vo)-.4 G -.1(ke).2 G 1.462 -(d: shell options changed).1 F 1.563(using the)144 556.8 R F2(set)4.063 -E F0 -.2(bu)4.063 G 1.563 -(iltin inside the function are restored to their original v).2 F 1.562 -(alues when the function)-.25 F 3.743(returns. W)144 568.8 R 1.243 -(ith no operands,)-.4 F F2(local)3.743 E F0 1.243 -(writes a list of local v)3.743 F 1.244 -(ariables to the standard output.)-.25 F 1.244(It is an)6.244 F .42 -(error to use)144 580.8 R F2(local)2.92 E F0 .42 -(when not within a function.)2.92 F .42(The return status is 0 unless) -5.42 F F2(local)2.92 E F0 .42(is used outside a)2.92 F(function, an in) -144 592.8 Q -.25(va)-.4 G(lid).25 E F1(name)2.86 E F0(is supplied, or) -2.68 E F1(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F2(logout) -108 609.6 Q F0(Exit a login shell.)144 609.6 Q F2(map\214le)108 626.4 Q -F0([)2.5 E F2A F1(delim)2.5 E F0 2.5(][)C F2-2.5 E F1(count) -2.5 E F0 2.5(][)C F2-2.5 E F1(origin)2.5 E F0 2.5(][)C F2 --2.5 E F1(count)2.5 E F0 2.5(][)C F2-2.5 E F0 2.5(][)C F2 --2.5 E F1(fd)2.5 E F0 2.5(][)C F2-2.5 E F1(callbac)2.5 E(k)-.2 E -F0 2.5(][)C F2-2.5 E F1(quantum)2.5 E F0 2.5(][)C F1(arr)-2.5 E -(ay)-.15 E F0(])A F2 -.18(re)108 638.4 S(adarray).18 E F0([)2.5 E F2 -A F1(delim)2.5 E F0 2.5(][)C F2-2.5 E F1(count)2.5 E F0 2.5 -(][)C F2-2.5 E F1(origin)2.5 E F0 2.5(][)C F2-2.5 E F1 -(count)2.5 E F0 2.5(][)C F2-2.5 E F0 2.5(][)C F2-2.5 E F1 -(fd)2.5 E F0 2.5(][)C F2-2.5 E F1(callbac)2.5 E(k)-.2 E F0 2.5(][) -C F2-2.5 E F1(quantum)2.5 E F0 2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0 -(])A .179(Read lines from the standard input into the inde)144 650.4 R --.15(xe)-.15 G 2.679(da).15 G .179(rray v)-2.679 F(ariable)-.25 E F1 -(arr)2.68 E(ay)-.15 E F0 2.68(,o).32 G 2.68(rf)-2.68 G .18 -(rom \214le descriptor)-2.68 F F1(fd)4.65 E F0 1.249(if the)144 662.4 R -F23.749 E F0 1.249(option is supplied.)3.749 F 1.249(The v)6.249 F -(ariable)-.25 E F3(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 -E F1(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,) --6.248 F(ha)144 674.4 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 686.4 Q F0 .91 -(The \214rst character of)180 686.4 R F1(delim)3.41 E F0 .911 +2.447 E -.15(ve)-.15 G 2.697(\). If).15 F(the last)144 403.2 Q F2(ar) +2.83 E(g)-.37 E F0 -.25(eva)2.72 G(luates to 0,).25 E F1(let)2.5 E F0 +(returns 1; 0 is returned otherwise.)2.5 E F1(local)108 420 Q F0([)2.5 E +F2(option)A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C +(.. | \255 ])-2.5 E -.15(Fo)144 432 S 2.542(re).15 G .042(ach ar)-2.542 +F .042(gument, a local v)-.18 F .042(ariable named)-.25 F F2(name)2.902 +E F0 .042(is created, and assigned)2.722 F F2(value)2.832 E F0 5.042(.T) +.18 G(he)-5.042 E F2(option)2.542 E F0 .041(can be)2.541 F(an)144 444 Q +3.152(yo)-.15 G 3.152(ft)-3.152 G .652(he options accepted by)-3.152 F +F1(declar)3.152 E(e)-.18 E F0 5.652(.W)C(hen)-5.652 E F1(local)3.152 E +F0 .653(is used within a function, it causes the v)3.152 F(ari-)-.25 E +(able)144 456 Q F2(name)3.282 E F0 .422(to ha)3.102 F .722 -.15(ve a v) +-.2 H .422(isible scope restricted to that function and its children.) +.15 F(If)5.421 E F2(name)2.921 E F0 .421(is \255, the set)2.921 F .509 +(of shell options is made local to the function in which)144 468 R F1 +(local)3.01 E F0 .51(is in)3.01 F -.2(vo)-.4 G -.1(ke).2 G .51 +(d: shell options changed us-).1 F 1.171(ing the)144 480 R F1(set)3.671 +E F0 -.2(bu)3.671 G 1.171 +(iltin inside the function are restored to their original v).2 F 1.17 +(alues when the function re-)-.25 F 2.887(turns. W)144 492 R .387 +(ith no operands,)-.4 F F1(local)2.887 E F0 .388 +(writes a list of local v)2.888 F .388(ariables to the standard output.) +-.25 F .388(It is an error)5.388 F .333(to use)144 504 R F1(local)2.833 +E F0 .332(when not within a function.)2.832 F .332 +(The return status is 0 unless)5.332 F F1(local)2.832 E F0 .332 +(is used outside a func-)2.832 F(tion, an in)144 516 Q -.25(va)-.4 G +(lid).25 E F2(name)2.86 E F0(is supplied, or)2.68 E F2(name)2.5 E F0 +(is a readonly v)2.5 E(ariable.)-.25 E F1(logout)108 532.8 Q F0 +(Exit a login shell.)144 532.8 Q F1(map\214le)108 549.6 Q F0([)2.5 E F1 +A F2(delim)2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E F0 2.5 +(][)C F1-2.5 E F2(origin)2.5 E F0 2.5(][)C F1-2.5 E F2 +(count)2.5 E F0 2.5(][)C F1-2.5 E F0 2.5(][)C F1-2.5 E F2 +(fd)2.5 E F0 2.5(][)C F1-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][) +C F1-2.5 E F2(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0 +(])A F1 -.18(re)108 561.6 S(adarray).18 E F0([)2.5 E F1A F2(delim) +2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E F0 2.5(][)C F1-2.5 +E F2(origin)2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E F0 2.5(][)C +F1-2.5 E F0 2.5(][)C F1-2.5 E F2(fd)2.5 E F0 2.5(][)C F1 +-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1-2.5 E F2 +(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .158 +(Read lines from the standard input into the inde)144 573.6 R -.15(xe) +-.15 G 2.659(da).15 G .159(rray v)-2.659 F(ariable)-.25 E F2(arr)2.989 E +(ay)-.15 E F0 2.659(,o).32 G 2.659(rf)-2.659 G .159 +(rom \214le descriptor)-2.659 F F2(fd)4.629 E F0 1.249(if the)144 585.6 +R F13.749 E F0 1.249(option is supplied.)3.749 F 1.249(The v)6.249 +F(ariable)-.25 E F3(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 +E F2(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,) +-6.248 F(ha)144 597.6 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1144 609.6 Q F0 .91 +(The \214rst character of)180 609.6 R F2(delim)3.41 E F0 .911 (is used to terminate each input line, rather than ne)3.41 F 3.411 -(wline. If)-.25 F F1(delim)180 698.4 Q F0(is the empty string,)2.5 E F2 +(wline. If)-.25 F F2(delim)180 621.6 Q F0(is the empty string,)2.5 E F1 (map\214le)2.5 E F0(will terminate a line when it reads a NUL character) -2.5 E(.)-.55 E F2144 710.4 Q F0(Cop)180 710.4 Q 2.5(ya)-.1 G 2.5 -(tm)-2.5 G(ost)-2.5 E F1(count)2.7 E F0 2.5(lines. If)3.18 F F1(count) -2.5 E F0(is 0, all lines are copied.)2.5 E(GNU Bash 5.0)72 768 Q -(2004 Apr 20)149.565 E(11)198.725 E 0 Cg EP +2.5 E(.)-.55 E F1144 633.6 Q F0(Cop)180 633.6 Q 2.5(ya)-.1 G 2.5 +(tm)-2.5 G(ost)-2.5 E F2(count)2.7 E F0 2.5(lines. If)3.18 F F2(count) +2.5 E F0(is 0, all lines are copied.)2.5 E F1144 645.6 Q F0(Be)180 +645.6 Q(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)2.82 +E(x)-.15 E F2(origin)2.73 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E +2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1144 657.6 Q F0 +(Discard the \214rst)180 657.6 Q F2(count)2.5 E F0(lines read.)2.5 E F1 +144 669.6 Q F0(Remo)180 669.6 Q .3 -.15(ve a t)-.15 H(railing).15 +E F2(delim)2.5 E F0(\(def)2.5 E(ault ne)-.1 E +(wline\) from each line read.)-.25 E F1144 681.6 Q F0 +(Read lines from \214le descriptor)180 681.6 Q F2(fd)2.5 E F0 +(instead of the standard input.)2.5 E F1144 693.6 Q F0(Ev)180 +693.6 Q(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2 +(quantum)2.5 E F0(lines are read.)2.5 E(The)5 E F12.5 E F0 +(option speci\214es)2.5 E F2(quantum)2.75 E F0(.).32 E F1144 705.6 +Q F0(Specify the number of lines read between each call to)180 705.6 Q +F2(callbac)2.7 E(k)-.2 E F0(.).67 E(If)144 722.4 Q F14.229 E F0 +1.729(is speci\214ed without)4.229 F F14.229 E F0 4.229(,t)C 1.729 +(he def)-4.229 F 1.729(ault quantum is 5000.)-.1 F(When)6.729 E F2 +(callbac)4.229 E(k)-.2 E F0 1.728(is e)4.228 F -.25(va)-.25 G 1.728 +(luated, it is).25 F(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(11) +198.725 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF144 84 Q F0(Be) -180 84 Q(gin assigning to)-.15 E/F2 10/Times-Italic@0 SF(arr)2.83 E(ay) --.15 E F0(at inde)2.82 E(x)-.15 E F2(origin)2.5 E F0 5(.T).24 G(he def) --5 E(ault inde)-.1 E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1144 96 -Q F0(Discard the \214rst)180 96 Q F2(count)2.5 E F0(lines read.)2.5 E F1 -144 108 Q F0(Remo)180 108 Q .3 -.15(ve a t)-.15 H(railing).15 E F2 -(delim)2.5 E F0(\(def)2.5 E(ault ne)-.1 E(wline\) from each line read.) --.25 E F1144 120 Q F0(Read lines from \214le descriptor)180 120 Q -F2(fd)2.5 E F0(instead of the standard input.)2.5 E F1144 132 Q F0 -(Ev)180 132 Q(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E -F2(quantum)2.5 E F0(lines are read.)2.5 E(The)5 E F12.5 E F0 -(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1144 144 Q -F0(Specify the number of lines read between each call to)180 144 Q F2 -(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 160.8 Q F12.968 E F0 .467 -(is speci\214ed without)2.967 F F12.967 E F0 2.967(,t)C .467 -(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F2 -(callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467 -(luated, it is sup-).25 F .261(plied the inde)144 172.8 R 2.761(xo)-.15 -G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\ -igned and the line to be assigned to that element)-.15 F .275 -(as additional ar)144 184.8 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E -F0 .275(is e)2.775 F -.25(va)-.25 G .274 -(luated after the line is read b).25 F .274 -(ut before the array element is)-.2 F(assigned.)144 196.8 Q -(If not supplied with an e)144 213.6 Q(xplicit origin,)-.15 E F1 -(map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0 -(before assigning to it.)2.5 E F1(map\214le)144 230.4 Q F0 1.905 -(returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905 -(lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr) -4.406 E(ay)-.15 E F0(is)4.406 E(in)144 242.4 Q -.25(va)-.4 G -(lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0 -(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E -F1(popd)108 259.2 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 -2.5(][)C-2.5 E F2(n)A F0(])A(Remo)144 271.2 Q -.15(ve)-.15 G 2.8(se) -.15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299 -(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G -.299(he top directory from the)-2.799 F 1.478(stack, and performs a)144 -283.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479 -(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479 -(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15 -F(wing)-.25 E(meanings:)144 295.2 Q F1144 307.2 Q F0 .551 -(Suppresses the normal change of directory when remo)180 307.2 R .551 -(ving directories from the stack, so)-.15 F -(that only the stack is manipulated.)180 319.2 Q F1(+)144 331.2 Q F2(n)A -F0(Remo)180 331.2 Q -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E +E(UIL)-.1 E(TINS\(1\))-.92 E .407(supplied the inde)144 84 R 2.908(xo) +-.15 G 2.908(ft)-2.908 G .408(he ne)-2.908 F .408(xt array element to b\ +e assigned and the line to be assigned to that ele-)-.15 F .484 +(ment as additional ar)144 96 R(guments.)-.18 E/F1 10/Times-Italic@0 SF +(callbac)5.483 E(k)-.2 E F0 .483(is e)2.983 F -.25(va)-.25 G .483 +(luated after the line is read b).25 F .483(ut before the array ele-)-.2 +F(ment is assigned.)144 108 Q(If not supplied with an e)144 124.8 Q +(xplicit origin,)-.15 E/F2 10/Times-Bold@0 SF(map\214le)2.5 E F0 +(will clear)2.5 E F1(arr)2.5 E(ay)-.15 E F0(before assigning to it.)2.5 +E F2(map\214le)144 141.6 Q F0 .797(returns successfully unless an in) +3.297 F -.25(va)-.4 G .797(lid option or option ar).25 F .797 +(gument is supplied,)-.18 F F1(arr)3.297 E(ay)-.15 E F0 .798(is in-) +3.298 F -.25(va)144 153.6 S(lid or unassignable, or if).25 E F1(arr)2.5 +E(ay)-.15 E F0(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray) +-2.5 E(.)-.65 E F2(popd)108 170.4 Q F0<5bad>2.5 E F2(n)A F0 2.5(][)C(+) +-2.5 E F1(n)A F0 2.5(][)C-2.5 E F1(n)A F0(])A(Remo)144 182.4 Q -.15 +(ve)-.15 G 2.8(se).15 G .3(ntries from the directory stack.)-2.8 F -.4 +(Wi)5.299 G .299(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G +2.799(st).15 G .299(he top directory from the)-2.799 F 1.478 +(stack, and performs a)144 194.4 R F2(cd)3.978 E F0 1.479(to the ne) +3.978 F 3.979(wt)-.25 G 1.479(op directory)-3.979 F 6.479(.A)-.65 G -.18 +(rg)-6.479 G 1.479(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H +1.479(he follo).15 F(wing)-.25 E(meanings:)144 206.4 Q F2144 218.4 +Q F0 .551(Suppresses the normal change of directory when remo)180 218.4 +R .551(ving directories from the stack, so)-.15 F +(that only the stack is manipulated.)180 230.4 Q F2(+)144 242.4 Q F1(n)A +F0(Remo)180 242.4 Q -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F1(n)2.64 E F0 .14(th entry counting from the left of the list sho)B .14(wn by)-.25 -F F1(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 -343.2 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0 +F F2(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 +254.4 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,) --.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1144 355.2 Q F2(n)A F0 -(Remo)180 355.2 Q -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0 +-.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F2144 266.4 Q F1(n)A F0 +(Remo)180 266.4 Q -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F1(n)3.76 E F0 1.259(th entry counting from the right of the list sho)B 1.259(wn by) --.25 F F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5 -(zero. F)180 367.2 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0 +-.25 F F2(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5 +(zero. F)180 278.4 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 -384 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1(dirs) -3.143 E F0 .644(is performed as well, and the return status is 0.)3.143 -F F1(popd)5.644 E F0 .416(returns f)144 396 R .416(alse if an in)-.1 F --.25(va)-.4 G .415 +295.2 R F2(popd)3.143 E F0 .643(command is successful, a)3.143 F F2 +(dirs)3.143 E F0 .644(is performed as well, and the return status is 0.) +3.143 F F2(popd)5.644 E F0 .416(returns f)144 307.2 R .416 +(alse if an in)-.1 F -.25(va)-.4 G .415 (lid option is encountered, the directory stack is empty).25 F 2.915 (,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F -(tory stack entry is speci\214ed, or the directory change f)144 408 Q -(ails.)-.1 E F1(printf)108 424.8 Q F0([)2.5 E F1A F2(var)2.5 E F0 -(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.436 -(Write the formatted)144 436.8 R F2(ar)3.936 E(guments)-.37 E F0 1.437 -(to the standard output under the control of the)3.936 F F2(format)3.937 -E F0 6.437(.T)C(he)-6.437 E F13.937 E F0 .126 -(option causes the output to be assigned to the v)144 448.8 R(ariable) --.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard) -2.626 F(output.)144 460.8 Q(The)144 484.8 Q F2(format)3.017 E F0 .517(i\ -s a character string which contains three types of objects: plain chara\ -cters, which are)3.017 F .704(simply copied to standard output, charact\ -er escape sequences, which are con)144 496.8 R -.15(ve)-.4 G .703 -(rted and copied to).15 F .036(the standard output, and format speci\ -\214cations, each of which causes printing of the ne)144 508.8 R .037 -(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 520.8 Q(gument)-.37 E F0 -5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2 -(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031 -E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 532.8 Q -(xtensions:)-.15 E F1(%b)144 544.8 Q F0(causes)180 544.8 Q F1(printf) -2.595 E F0 .096(to e)2.595 F .096 -(xpand backslash escape sequences in the corresponding)-.15 F F2(ar) -2.596 E(gument)-.37 E F0 .096(in the)2.596 F(same w)180 556.8 Q(ay as) --.1 E F1(echo \255e)2.5 E F0(.)A F1(%q)144 568.8 Q F0(causes)180 568.8 Q -F1(printf)2.51 E F0 .01(to output the corresponding)2.51 F F2(ar)2.51 E -(gument)-.37 E F0 .01(in a format that can be reused as shell)2.51 F -(input.)180 580.8 Q F1(%\()144 592.8 Q F2(datefmt)A F1(\)T)A F0(causes) -180 604.8 Q F1(printf)4.403 E F0 1.904 -(to output the date-time string resulting from using)4.403 F F2(datefmt) -4.404 E F0 1.904(as a format)4.404 F .381(string for)180 616.8 R F2 -(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar) +(tory stack entry is speci\214ed, or the directory change f)144 319.2 Q +(ails.)-.1 E F2(printf)108 336 Q F0([)2.5 E F2A F1(var)2.5 E F0(]) +A F1(format)2.5 E F0([)2.5 E F1(ar)A(guments)-.37 E F0(])A .357 +(Write the formatted)144 348 R F1(ar)2.857 E(guments)-.37 E F0 .357 +(to the standard output under the control of the)2.857 F F1(format)2.858 +E F0 5.358(.T)C(he)-5.358 E F22.858 E F0(op-)2.858 E .714 +(tion causes the output to be assigned to the v)144 360 R(ariable)-.25 E +F1(var)3.214 E F0 .714(rather than being printed to the standard)3.214 F +(output.)144 372 Q(The)144 396 Q F1(format)3.017 E F0 .517(is a charact\ +er string which contains three types of objects: plain characters, whic\ +h are)3.017 F .704(simply copied to standard output, character escape s\ +equences, which are con)144 408 R -.15(ve)-.4 G .703(rted and copied to) +.15 F .036(the standard output, and format speci\214cations, each of wh\ +ich causes printing of the ne)144 420 R .037(xt successi)-.15 F -.15(ve) +-.25 G F1(ar)144 432 Q(gument)-.37 E F0 5.532(.I)C 3.032(na)-5.532 G +.532(ddition to the standard)-3.032 F F1(printf)3.032 E F0 .532 +(\(1\) format speci\214cations,)B F2(printf)3.031 E F0 .531 +(interprets the follo)3.031 F(w-)-.25 E(ing e)144 444 Q(xtensions:)-.15 +E F2(%b)144 456 Q F0(causes)180 456 Q F2(printf)2.595 E F0 .096(to e) +2.595 F .096(xpand backslash escape sequences in the corresponding)-.15 +F F1(ar)2.596 E(gument)-.37 E F0 .096(in the)2.596 F(same w)180 468 Q +(ay as)-.1 E F2(echo \255e)2.5 E F0(.)A F2(%q)144 480 Q F0(causes)180 +480 Q F2(printf)2.51 E F0 .01(to output the corresponding)2.51 F F1(ar) +2.51 E(gument)-.37 E F0 .01(in a format that can be reused as shell)2.51 +F(input.)180 492 Q F2(%\()144 504 Q F1(datefmt)A F2(\)T)A F0(causes)180 +516 Q F2(printf)4.403 E F0 1.904 +(to output the date-time string resulting from using)4.403 F F1(datefmt) +4.404 E F0 1.904(as a format)4.404 F .381(string for)180 528 R F1 +(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F1(ar) 2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381 (ger representing the number)-.15 F .292(of seconds since the epoch.)180 -628.8 R -1 -.8(Tw o)5.293 H .293(special ar)3.593 F .293(gument v)-.18 F +540 R -1 -.8(Tw o)5.293 H .293(special ar)3.593 F .293(gument v)-.18 F .293(alues may be used: \2551 represents the)-.25 F .694 -(current time, and \2552 represents the time the shell w)180 640.8 R -.693(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.193(d. If).1 F .693(no ar) -3.193 F .693(gument is speci-)-.18 F .21(\214ed, con)180 652.8 R -.15 -(ve)-.4 G .21(rsion beha).15 F -.15(ve)-.2 G 2.71(sa).15 G 2.71(si)-2.71 -G 2.71<66ad>-2.71 G 2.71(1h)-2.71 G .21(ad been gi)-2.71 F -.15(ve)-.25 -G 2.71(n. This).15 F .21(is an e)2.71 F .21(xception to the usual)-.15 F -F1(printf)2.71 E F0(beha)180 664.8 Q(vior)-.2 E(.)-.55 E(Ar)144 681.6 Q -.464(guments to non-string format speci\214ers are treated as C constan\ -ts, e)-.18 F .463(xcept that a leading plus or)-.15 F 1.258 -(minus sign is allo)144 693.6 R 1.259 +(current time, and \2552 represents the time the shell w)180 552 R .693 +(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.193(d. If).1 F .693(no ar)3.193 +F .693(gument is speci-)-.18 F .21(\214ed, con)180 564 R -.15(ve)-.4 G +.21(rsion beha).15 F -.15(ve)-.2 G 2.71(sa).15 G 2.71(si)-2.71 G 2.71 +<66ad>-2.71 G 2.71(1h)-2.71 G .21(ad been gi)-2.71 F -.15(ve)-.25 G 2.71 +(n. This).15 F .21(is an e)2.71 F .21(xception to the usual)-.15 F F2 +(printf)2.71 E F0(beha)180 576 Q(vior)-.2 E(.)-.55 E(Ar)144 592.8 Q .464 +(guments to non-string format speci\214ers are treated as C constants, \ +e)-.18 F .463(xcept that a leading plus or)-.15 F 1.258 +(minus sign is allo)144 604.8 R 1.259 (wed, and if the leading character is a single or double quote, the v) --.25 F 1.259(alue is the)-.25 F(ASCII v)144 705.6 Q(alue of the follo) --.25 E(wing character)-.25 E(.)-.55 E(The)144 722.4 Q F2(format)3.424 E -F0 .923(is reused as necessary to consume all of the)3.424 F F2(ar)3.423 -E(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format) -3.423 E F0 .923(requires more)3.423 F(GNU Bash 5.0)72 768 Q(2004 Apr 20) -149.565 E(12)198.725 E 0 Cg EP +-.25 F 1.259(alue is the)-.25 F(ASCII v)144 616.8 Q(alue of the follo) +-.25 E(wing character)-.25 E(.)-.55 E(The)144 633.6 Q F1(format)2.515 E +F0 .015(is reused as necessary to consume all of the)2.515 F F1(ar)2.515 +E(guments)-.37 E F0 5.015(.I)C 2.514(ft)-5.015 G(he)-2.514 E F1(format) +2.514 E F0 .014(requires more)2.514 F F1(ar)2.514 E(-)-.2 E(guments)144 +645.6 Q F0 .565(than are supplied, the e)3.065 F .566 +(xtra format speci\214cations beha)-.15 F .866 -.15(ve a)-.2 H 3.066(si) +.15 G 3.066(faz)-3.066 G .566(ero v)-3.066 F .566(alue or null string,) +-.25 F(as appropriate, had been supplied.)144 657.6 Q(The return v)5 E +(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F2(pushd) +108 674.4 Q F0([)2.5 E F2A F0 2.5(][)C(+)-2.5 E F1(n)A F0 2.5(][)C +-2.5 E F1(n)A F0(])A F2(pushd)108 686.4 Q F0([)2.5 E F2A F0 +2.5(][)C F1(dir)-2.5 E F0(])A .64(Adds a directory to the top of the di\ +rectory stack, or rotates the stack, making the ne)144 698.4 R 3.139(wt) +-.25 G .639(op of the)-3.139 F .416(stack the current w)144 710.4 R .416 +(orking directory)-.1 F 5.416(.W)-.65 G .416(ith no ar)-5.816 F +(guments,)-.18 E F2(pushd)2.916 E F0 -.15(ex)2.916 G .416 +(changes the top tw).15 F 2.917(od)-.1 G(irectories)-2.917 E 1.625 +(and returns 0, unless the directory stack is empty)144 722.4 R 6.625 +(.A)-.65 G -.18(rg)-6.625 G 1.625(uments, if supplied, ha).18 F 1.925 +-.15(ve t)-.2 H 1.625(he follo).15 F(wing)-.25 E(GNU Bash 5.0)72 768 Q +(2004 Apr 20)149.565 E(12)198.725 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Italic@0 SF(ar)144 84 Q -(guments)-.37 E F0 .033(than are supplied, the e)2.533 F .033 -(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si) -.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,) --.25 F(as appropriate, had been supplied.)144 96 Q(The return v)5 E -(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E/F2 10 -/Times-Bold@0 SF(pushd)108 112.8 Q F0([)2.5 E F2A F0 2.5(][)C(+) --2.5 E F1(n)A F0 2.5(][)C-2.5 E F1(n)A F0(])A F2(pushd)108 124.8 Q -F0([)2.5 E F2A F0 2.5(][)C F1(dir)-2.5 E F0(])A .64(Adds a direct\ -ory to the top of the directory stack, or rotates the stack, making the\ - ne)144 136.8 R 3.139(wt)-.25 G .639(op of the)-3.139 F .416 -(stack the current w)144 148.8 R .416(orking directory)-.1 F 5.416(.W) --.65 G .416(ith no ar)-5.816 F(guments,)-.18 E F2(pushd)2.916 E F0 -.15 -(ex)2.916 G .416(changes the top tw).15 F 2.917(od)-.1 G(irectories) --2.917 E 1.625(and returns 0, unless the directory stack is empty)144 -160.8 R 6.625(.A)-.65 G -.18(rg)-6.625 G 1.625(uments, if supplied, ha) -.18 F 1.925 -.15(ve t)-.2 H 1.625(he follo).15 F(wing)-.25 E(meanings:) -144 172.8 Q F2144 184.8 Q F0 1.811(Suppresses the normal change o\ -f directory when rotating or adding directories to the)180 184.8 R -(stack, so that only the stack is manipulated.)180 196.8 Q F2(+)144 -208.8 Q F1(n)A F0 1.268(Rotates the stack so that the)180 208.8 R F1(n) -3.768 E F0 1.267(th directory \(counting from the left of the list sho)B -1.267(wn by)-.25 F F2(dirs)180 220.8 Q F0 2.5(,s)C -(tarting with zero\) is at the top.)-2.5 E F2144 232.8 Q F1(n)A F0 -.92(Rotates the stack so that the)180 232.8 R F1(n)3.42 E F0 .92 +E(UIL)-.1 E(TINS\(1\))-.92 E(meanings:)144 84 Q/F1 10/Times-Bold@0 SF +144 96 Q F0 1.811(Suppresses the normal change of directory when \ +rotating or adding directories to the)180 96 R +(stack, so that only the stack is manipulated.)180 108 Q F1(+)144 120 Q +/F2 10/Times-Italic@0 SF(n)A F0 1.268(Rotates the stack so that the)180 +120 R F2(n)3.768 E F0 1.267 +(th directory \(counting from the left of the list sho)B 1.267(wn by) +-.25 F F1(dirs)180 132 Q F0 2.5(,s)C(tarting with zero\) is at the top.) +-2.5 E F1144 144 Q F2(n)A F0 .92(Rotates the stack so that the)180 +144 R F2(n)3.42 E F0 .92 (th directory \(counting from the right of the list sho)B .92(wn by)-.25 -F F2(dirs)180 244.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.) --2.5 E F1(dir)144.35 256.8 Q F0(Adds)180 256.8 Q F1(dir)3.138 E F0 .288 +F F1(dirs)180 156 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5 +E F2(dir)144.35 168 Q F0(Adds)180 168 Q F2(dir)3.138 E F0 .288 (to the directory stack at the top, making it the ne)3.518 F 2.787(wc) -.25 G .287(urrent w)-2.787 F .287(orking directory as)-.1 F -(if it had been supplied as the ar)180 268.8 Q(gument to the)-.18 E F2 -(cd)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 285.6 R F2(pushd) -2.988 E F0 .488(command is successful, a)2.988 F F2(dirs)2.988 E F0 .488 +(if it had been supplied as the ar)180 180 Q(gument to the)-.18 E F1(cd) +2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 196.8 R F1(pushd)2.988 +E F0 .488(command is successful, a)2.988 F F1(dirs)2.988 E F0 .488 (is performed as well.)2.988 F .489(If the \214rst form is used,)5.488 F -F2(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 297.6 R F1(dir) +F1(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 208.8 R F2(dir) 3.89 E F0 -.1(fa)4.27 G 3.539(ils. W).1 F 1.039(ith the second form,)-.4 -F F2(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846 -(stack is empty)144 309.6 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent\ +F F1(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846 +(stack is empty)144 220.8 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent\ directory stack element is speci\214ed, or the directory change to the) --.15 F(speci\214ed ne)144 321.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 -E(ails.)-.1 E F2(pwd)108 338.4 Q F0([)2.5 E F2(\255LP)A F0(])A .845 -(Print the absolute pathname of the current w)144 350.4 R .845 +-.15 F(speci\214ed ne)144 232.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5 +E(ails.)-.1 E F1(pwd)108 249.6 Q F0([)2.5 E F1(\255LP)A F0(])A .845 +(Print the absolute pathname of the current w)144 261.6 R .845 (orking directory)-.1 F 5.844(.T)-.65 G .844 (he pathname printed contains no)-5.844 F .181(symbolic links if the)144 -362.4 R F22.681 E F0 .181(option is supplied or the)2.681 F F2 -.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F2 +273.6 R F12.681 E F0 .181(option is supplied or the)2.681 F F1 +.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1 (set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264 -(enabled. If)144 374.4 R(the)3.264 E F23.264 E F0 .763 +(enabled. If)144 285.6 R(the)3.264 E F13.264 E F0 .763 (option is used, the pathname printed may contain symbolic links.)3.264 -F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\ - reading the name of the current directory or an in)144 386.4 R -.25(va) --.4 G(lid).25 E(option is supplied.)144 398.4 Q F2 -.18(re)108 415.2 S -(ad).18 E F0([)3.817 E F2(\255ers)A F0 3.817(][)C F2-3.817 E F1 -(aname)3.817 E F0 3.817(][)C F2-3.817 E F1(delim)3.817 E F0 3.817 -(][)C F2-3.817 E F1(te)3.817 E(xt)-.2 E F0 3.817(][)C F2 --3.817 E F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2-3.816 E -F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2-3.816 E F1(pr) -3.816 E(ompt)-.45 E F0 3.816(][)C F2-3.816 E F1(timeout)3.816 E F0 -3.816(][)C F2-3.816 E F1(fd)3.816 E F0(])A([)108 427.2 Q F1(name)A -F0(...])2.5 E .516(One line is read from the standard input, or from th\ -e \214le descriptor)144 439.2 R F1(fd)3.016 E F0 .516(supplied as an ar) -3.016 F .517(gument to)-.18 F(the)144 451.2 Q F23.848 E F0 1.348 -(option, split into w)3.848 F 1.348(ords as described abo)-.1 F 1.647 --.15(ve u)-.15 H(nder).15 E F2 -.75(Wo)3.847 G 1.347(rd Splitting).75 F -F0 3.847(,a)C 1.347(nd the \214rst w)-3.847 F 1.347(ord is)-.1 F 1.465 -(assigned to the \214rst)144 463.2 R F1(name)3.965 E F0 3.965(,t).18 G -1.465(he second w)-3.965 F 1.465(ord to the second)-.1 F F1(name)3.965 E -F0 3.965(,a).18 G 1.465(nd so on.)-3.965 F 1.465(If there are more)6.465 -F -.1(wo)144 475.2 S 1.112(rds than names, the remaining w).1 F 1.112 -(ords and their interv)-.1 F 1.112 -(ening delimiters are assigned to the last)-.15 F F1(name)144 487.2 Q F0 -5.722(.I).18 G 3.222(ft)-5.722 G .722(here are fe)-3.222 F .722(wer w) --.25 F .723 -(ords read from the input stream than names, the remaining names are)-.1 -F .532(assigned empty v)144 499.2 R 3.032(alues. The)-.25 F .532 -(characters in)3.032 F/F3 9/Times-Bold@0 SF(IFS)3.032 E F0 .531 -(are used to split the line into w)2.782 F .531(ords using the same)-.1 -F .197(rules the shell uses for e)144 511.2 R .197 -(xpansion \(described abo)-.15 F .497 -.15(ve u)-.15 H(nder).15 E F2 --.75(Wo)2.697 G .197(rd Splitting).75 F F0 2.697(\). The)B .197 -(backslash charac-)2.697 F .157(ter \()144 523.2 R F2(\\)A F0 2.657(\)m) -C .157(ay be used to remo)-2.657 F .457 -.15(ve a)-.15 H .457 -.15(ny s) -.15 H .157(pecial meaning for the ne).15 F .156 -(xt character read and for line continu-)-.15 F 2.5(ation. Options,)144 -535.2 R(if supplied, ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 547.2 Q F1(aname)2.5 E F0 1.049 -(The w)180 559.2 R 1.049 +F .763(The return)5.763 F .405(status is 0 unless an error occurs while\ + reading the name of the current directory or an in)144 297.6 R -.25(va) +-.4 G .405(lid op-).25 F(tion is supplied.)144 309.6 Q F1 -.18(re)108 +326.4 S(ad).18 E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1-3.817 +E F2(aname)3.817 E F0 3.817(][)C F1-3.817 E F2(delim)3.817 E F0 +3.817(][)C F1-3.817 E F2(te)3.817 E(xt)-.2 E F0 3.817(][)C F1 +-3.817 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1 +-3.816 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1-3.816 E +F2(pr)3.816 E(ompt)-.45 E F0 3.816(][)C F1-3.816 E F2(timeout) +3.816 E F0 3.816(][)C F1-3.816 E F2(fd)3.816 E F0(])A([)108 338.4 +Q F2(name)A F0(...])2.5 E .516(One line is read from the standard input\ +, or from the \214le descriptor)144 350.4 R F2(fd)3.016 E F0 .516 +(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 362.4 Q F1 +2.936 E F0 .436(option, split into w)2.936 F .435 +(ords as described abo)-.1 F .735 -.15(ve u)-.15 H(nder).15 E F1 -.75 +(Wo)2.935 G .435(rd Splitting).75 F F0 2.935(,a)C .435(nd the \214rst w) +-2.935 F .435(ord is as-)-.1 F .375(signed to the \214rst)144 374.4 R F2 +(name)3.235 E F0 2.876(,t).18 G .376(he second w)-2.876 F .376 +(ord to the second)-.1 F F2(name)3.236 E F0 2.876(,a).18 G .376 +(nd so on.)-2.876 F .376(If there are more w)5.376 F(ords)-.1 E .237 +(than names, the remaining w)144 386.4 R .237(ords and their interv)-.1 +F .237(ening delimiters are assigned to the last)-.15 F F2(name)3.096 E +F0 5.236(.I).18 G(f)-5.236 E .874(there are fe)144 398.4 R .874(wer w) +-.25 F .875(ords read from the input stream than names, the remaining n\ +ames are assigned)-.1 F .518(empty v)144 410.4 R 3.018(alues. The)-.25 F +.518(characters in)3.018 F/F3 9/Times-Bold@0 SF(IFS)3.018 E F0 .518 +(are used to split the line into w)2.768 F .517 +(ords using the same rules the)-.1 F .026(shell uses for e)144 422.4 R +.026(xpansion \(described abo)-.15 F .326 -.15(ve u)-.15 H(nder).15 E F1 +-.75(Wo)2.526 G .026(rd Splitting).75 F F0 2.526(\). The)B .026 +(backslash character \()2.526 F F1(\\)A F0 2.527(\)m)C(ay)-2.527 E .489 +(be used to remo)144 434.4 R .788 -.15(ve a)-.15 H .788 -.15(ny s).15 H +.488(pecial meaning for the ne).15 F .488 +(xt character read and for line continuation.)-.15 F(Op-)5.488 E +(tions, if supplied, ha)144 446.4 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1144 458.4 Q F2(aname)2.5 E F0 1.025 +(The w)180 470.4 R 1.026 (ords are assigned to sequential indices of the array v)-.1 F(ariable) --.25 E F1(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F1 -(aname)180.33 571.2 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25 -(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F1(name)2.5 E F0(ar)2.5 -E(guments are ignored.)-.18 E F2144 583.2 Q F1(delim)2.5 E F0 -1.318(The \214rst character of)180 595.2 R F1(delim)3.818 E F0 1.317 -(is used to terminate the input line, rather than ne)3.818 F 3.817 -(wline. If)-.25 F F1(delim)180 607.2 Q F0(is the empty string,)2.5 E F2 --.18(re)2.5 G(ad).18 E F0 -(will terminate a line when it reads a NUL character)2.5 E(.)-.55 E F2 -144 619.2 Q F0 .372 -(If the standard input is coming from a terminal,)180 619.2 R F2 -.18 +-.25 E F2(aname)3.856 E F0 3.526(,s).18 G 1.026(tarting at 0.)-3.526 F +F2(aname)180.33 482.4 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 +-.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0 +(ar)2.5 E(guments are ignored.)-.18 E F1144 494.4 Q F2(delim)2.5 E +F0 .281(The \214rst character of)180 506.4 R F2(delim)2.781 E F0 .281 +(is used to terminate the input line, rather than ne)2.781 F 2.78 +(wline. If)-.25 F F2(de-)2.78 E(lim)180 518.4 Q F0(is the empty string,) +2.5 E F1 -.18(re)2.5 G(ad).18 E F0 +(will terminate a line when it reads a NUL character)2.5 E(.)-.55 E F1 +144 530.4 Q F0 .372 +(If the standard input is coming from a terminal,)180 530.4 R F1 -.18 (re)2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo) 2.623 E -.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E -.218(to obtain the line.)180 631.2 R .218 +.218(to obtain the line.)180 542.4 R .218 (Readline uses the current \(or def)5.218 F .218 (ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E -(acti)180 643.2 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)-2.5 E +(acti)180 554.4 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)-2.5 E (ut uses Readline')-.2 E 2.5(sd)-.55 G(ef)-2.5 E -(ault \214lename completion.)-.1 E F2144 655.2 Q F1(te)2.5 E(xt) --.2 E F0(If)180 655.2 Q F2 -.18(re)2.715 G(adline).18 E F0 .216 -(is being used to read the line,)2.715 F F1(te)2.716 E(xt)-.2 E F0 .216 +(ault \214lename completion.)-.1 E F1144 566.4 Q F2(te)2.5 E(xt) +-.2 E F0(If)180 566.4 Q F1 -.18(re)2.715 G(adline).18 E F0 .216 +(is being used to read the line,)2.715 F F2(te)2.716 E(xt)-.2 E F0 .216 (is placed into the editing b)2.716 F(uf)-.2 E .216(fer before edit-) --.25 F(ing be)180 667.2 Q(gins.)-.15 E F2144 679.2 Q F1(nc)2.5 E -(har)-.15 E(s)-.1 E F2 -.18(re)180 691.2 S(ad).18 E F0 1.395 -(returns after reading)3.895 F F1(nc)3.895 E(har)-.15 E(s)-.1 E F0 1.395 -(characters rather than w)3.895 F 1.394(aiting for a complete line of) --.1 F(input, b)180 703.2 Q(ut honors a delimiter if fe)-.2 E(wer than) --.25 E F1(nc)2.5 E(har)-.15 E(s)-.1 E F0 -(characters are read before the delimiter)2.5 E(.)-.55 E(GNU Bash 5.0)72 -768 Q(2004 Apr 20)149.565 E(13)198.725 E 0 Cg EP +-.25 F(ing be)180 578.4 Q(gins.)-.15 E F1144 590.4 Q F2(nc)2.5 E +(har)-.15 E(s)-.1 E F1 -.18(re)180 602.4 S(ad).18 E F0 .323 +(returns after reading)2.823 F F2(nc)2.823 E(har)-.15 E(s)-.1 E F0 .323 +(characters rather than w)2.823 F .323 +(aiting for a complete line of in-)-.1 F(put, b)180 614.4 Q +(ut honors a delimiter if fe)-.2 E(wer than)-.25 E F2(nc)2.5 E(har)-.15 +E(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F1 +144 626.4 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 638.4 S +(ad).18 E F0 1.269(returns after reading e)3.769 F(xactly)-.15 E F2(nc) +3.769 E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F +1.27(aiting for a complete)-.1 F .275 +(line of input, unless EOF is encountered or)180 650.4 R F1 -.18(re) +2.775 G(ad).18 E F0 .274(times out.)2.774 F .274 +(Delimiter characters encoun-)5.274 F 1.002 +(tered in the input are not treated specially and do not cause)180 662.4 +R F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc) +3.503 E(har)-.15 E(s)-.1 E F0 .609(characters are read.)180 674.4 R .608 +(The result is not split on the characters in)5.609 F F1(IFS)3.108 E F0 +3.108(;t)C .608(he intent is that the)-3.108 F -.25(va)180 686.4 S .669 +(riable is assigned e).25 F .669 +(xactly the characters read \(with the e)-.15 F .67 +(xception of backslash; see the)-.15 F F1180 698.4 Q F0 +(option belo)2.5 E(w\).)-.25 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 +E(13)198.725 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF144 84 Q/F2 10 -/Times-Italic@0 SF(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 96 S(ad) -.18 E F0 1.269(returns after reading e)3.769 F(xactly)-.15 E F2(nc)3.769 -E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F 1.27 -(aiting for a complete)-.1 F .275 -(line of input, unless EOF is encountered or)180 108 R F1 -.18(re)2.775 -G(ad).18 E F0 .274(times out.)2.774 F .274(Delimiter characters encoun-) -5.274 F 1.002 -(tered in the input are not treated specially and do not cause)180 120 R -F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)3.503 -E(har)-.15 E(s)-.1 E F0 .609(characters are read.)180 132 R .608 -(The result is not split on the characters in)5.609 F F1(IFS)3.108 E F0 -3.108(;t)C .608(he intent is that the)-3.108 F -.25(va)180 144 S .669 -(riable is assigned e).25 F .669 -(xactly the characters read \(with the e)-.15 F .67 -(xception of backslash; see the)-.15 F F1180 156 Q F0(option belo) -2.5 E(w\).)-.25 E F1144 168 Q F2(pr)2.5 E(ompt)-.45 E F0(Display) -180 180 Q F2(pr)3.661 E(ompt)-.45 E F0 1.161(on standard error)3.661 F -3.661(,w)-.4 G 1.161(ithout a trailing ne)-3.661 F 1.161 -(wline, before attempting to read)-.25 F(an)180 192 Q 2.5(yi)-.15 G 2.5 -(nput. The)-2.5 F +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF144 84 Q/F2 10 +/Times-Italic@0 SF(pr)2.5 E(ompt)-.45 E F0(Display)180 96 Q F2(pr)3.661 +E(ompt)-.45 E F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161 +(ithout a trailing ne)-3.661 F 1.161(wline, before attempting to read) +-.25 F(an)180 108 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F (prompt is displayed only if input is coming from a terminal.)2.5 E F1 -144 204 Q F0 .543(Backslash does not act as an escape character) -180 204 R 5.543(.T)-.55 G .544(he backslash is considered to be part of) --5.543 F .493(the line.)180 216 R .493(In particular)5.493 F 2.993(,ab) +144 120 Q F0 .543(Backslash does not act as an escape character) +180 120 R 5.543(.T)-.55 G .544(he backslash is considered to be part of) +-5.543 F .493(the line.)180 132 R .493(In particular)5.493 F 2.993(,ab) -.4 G(ackslash-ne)-2.993 E .493 (wline pair may not then be used as a line continua-)-.25 F(tion.)180 -228 Q F1144 240 Q F0(Silent mode.)180 240 Q +144 Q F1144 156 Q F0(Silent mode.)180 156 Q (If input is coming from a terminal, characters are not echoed.)5 E F1 -144 252 Q F2(timeout)2.5 E F0(Cause)180 264 Q F1 -.18(re)2.928 G +144 168 Q F2(timeout)2.5 E F0(Cause)180 180 Q F1 -.18(re)2.928 G (ad).18 E F0 .428(to time out and return f)2.928 F .428 (ailure if a complete line of input \(or a speci\214ed num-)-.1 F .561 -(ber of characters\) is not read within)180 276 R F2(timeout)3.061 E F0 +(ber of characters\) is not read within)180 192 R F2(timeout)3.061 E F0 (seconds.)3.061 E F2(timeout)5.561 E F0 .56(may be a decimal number) -3.061 F(with a fractional portion follo)180 288 Q +3.061 F(with a fractional portion follo)180 204 Q (wing the decimal point.)-.25 E(This option is only ef)5 E(fecti)-.25 E .3 -.15(ve i)-.25 H(f).15 E F1 -.18(re)2.5 G(ad).18 E F0 .506(is readin\ g input from a terminal, pipe, or other special \214le; it has no ef)180 -300 R .505(fect when reading)-.25 F .589(from re)180 312 R .589 +216 R .505(fect when reading)-.25 F .589(from re)180 228 R .589 (gular \214les.)-.15 F(If)5.589 E F1 -.18(re)3.089 G(ad).18 E F0 .589 (times out,)3.089 F F1 -.18(re)3.089 G(ad).18 E F0(sa)3.089 E -.15(ve) -.2 G 3.089(sa).15 G .889 -.15(ny p)-3.089 H .59 -(artial input read into the speci\214ed).15 F -.25(va)180 324 S(riable) +(artial input read into the speci\214ed).15 F -.25(va)180 240 S(riable) .25 E F2(name)2.77 E F0 5.27(.I)C(f)-5.27 E F2(timeout)2.77 E F0 .27 (is 0,)2.77 F F1 -.18(re)2.77 G(ad).18 E F0 .27(returns immediately)2.77 F 2.77(,w)-.65 G .27(ithout trying to read an)-2.77 F 2.77(yd)-.15 G -(ata.)-2.77 E 1.12(The e)180 336 R 1.12(xit status is 0 if input is a) +(ata.)-2.77 E 1.12(The e)180 252 R 1.12(xit status is 0 if input is a) -.15 F -.25(va)-.2 G 1.12(ilable on the speci\214ed \214le descriptor) .25 F 3.62(,n)-.4 G 1.12(on-zero other)-3.62 F(-)-.2 E 2.5(wise. The)180 -348 R -.15(ex)2.5 G(it status is greater than 128 if the timeout is e) -.15 E(xceeded.)-.15 E F1144 360 Q F2(fd)2.5 E F0 -(Read input from \214le descriptor)180 360 Q F2(fd)2.5 E F0(.)A .477 -(If no)144 376.8 R F2(names)3.337 E F0 .477 +264 R -.15(ex)2.5 G(it status is greater than 128 if the timeout is e) +.15 E(xceeded.)-.15 E F1144 276 Q F2(fd)2.5 E F0 +(Read input from \214le descriptor)180 276 Q F2(fd)2.5 E F0(.)A .477 +(If no)144 292.8 R F2(names)3.337 E F0 .477 (are supplied, the line read is assigned to the v)3.247 F(ariable)-.25 E /F3 9/Times-Bold@0 SF(REPL)2.976 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F0 .476(The e)4.976 F .476(xit status is zero,)-.15 F .772 -(unless end-of-\214le is encountered,)144 388.8 R F1 -.18(re)3.272 G(ad) +(unless end-of-\214le is encountered,)144 304.8 R F1 -.18(re)3.272 G(ad) .18 E F0 .773 (times out \(in which case the status is greater than 128\), a)3.272 F --.25(va)144 400.8 S 2.004 -(riable assignment error \(such as assigning to a readonly v).25 F 2.004 -(ariable\) occurs, or an in)-.25 F -.25(va)-.4 G 2.004(lid \214le).25 F -(descriptor is supplied as the ar)144 412.8 Q(gument to)-.18 E F1 -2.5 E F0(.)A F1 -.18(re)108 429.6 S(adonly).18 E F0([)2.5 E F1(\255aAf)A +-.25(va)144 316.8 S .853 +(riable assignment error \(such as assigning to a readonly v).25 F .852 +(ariable\) occurs, or an in)-.25 F -.25(va)-.4 G .852(lid \214le de-).25 +F(scriptor is supplied as the ar)144 328.8 Q(gument to)-.18 E F1 +2.5 E F0(.)A F1 -.18(re)108 345.6 S(adonly).18 E F0([)2.5 E F1(\255aAf)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A -(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 441.6 R -.15(ve)-.25 G +(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 357.6 R -.15(ve)-.25 G (n).15 E F2(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v) -.1 F .77(alues of these)-.25 F F2(names)3.63 E F0 .77 -(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 453.6 R +(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 369.6 R 1.097(If the)6.097 F F13.597 E F0 1.097 (option is supplied, the functions corresponding to the)3.597 F F2 -(names)3.596 E F0 1.096(are so)3.596 F(mark)144 465.6 Q 3.334(ed. The) +(names)3.596 E F0 1.096(are so)3.596 F(mark)144 381.6 Q 3.334(ed. The) -.1 F F13.334 E F0 .834(option restricts the v)3.334 F .834 (ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the) -3.334 F F13.334 E F0 .834(option restricts the v)3.334 F(ari-) --.25 E .777(ables to associati)144 477.6 R 1.077 -.15(ve a)-.25 H 3.277 +-.25 E .777(ables to associati)144 393.6 R 1.077 -.15(ve a)-.25 H 3.277 (rrays. If).15 F .777(both options are supplied,)3.277 F F13.277 E F0(tak)3.277 E .776(es precedence.)-.1 F .776(If no)5.776 F F2(name) -3.636 E F0(ar)3.456 E(gu-)-.18 E .521(ments are gi)144 489.6 R -.15(ve) +3.636 E F0(ar)3.456 E(gu-)-.18 E .521(ments are gi)144 405.6 R -.15(ve) -.25 G .521(n, or if the).15 F F13.021 E F0 .521 (option is supplied, a list of all readonly names is printed.)3.021 F .522(The other)5.521 F .295(options may be used to restrict the output \ -to a subset of the set of readonly names.)144 501.6 R(The)5.295 E F1 +to a subset of the set of readonly names.)144 417.6 R(The)5.295 E F1 2.795 E F0(option)2.795 E .786 (causes output to be displayed in a format that may be reused as input.) -144 513.6 R .786(If a v)5.786 F .786(ariable name is fol-)-.25 F(lo)144 -525.6 Q .718(wed by =)-.25 F F2(wor)A(d)-.37 E F0 3.218(,t)C .718(he v) +144 429.6 R .786(If a v)5.786 F .786(ariable name is fol-)-.25 F(lo)144 +441.6 Q .718(wed by =)-.25 F F2(wor)A(d)-.37 E F0 3.218(,t)C .718(he v) -3.218 F .718(alue of the v)-.25 F .718(ariable is set to)-.25 F F2(wor) 3.218 E(d)-.37 E F0 5.718(.T)C .718(he return status is 0 unless an in) -5.718 F -.25(va)-.4 G(lid).25 E .26(option is encountered, one of the) -144 537.6 R F2(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v) +144 453.6 R F2(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v) -.25 F .26(ariable name, or)-.25 F F12.76 E F0 .26 -(is supplied with a)2.76 F F2(name)144.36 549.6 Q F0 -(that is not a function.)2.68 E F1 -.18(re)108 566.4 S(tur).18 E(n)-.15 -E F0([)2.5 E F2(n)A F0(])A .021(Causes a function to stop e)144 578.4 R +(is supplied with a)2.76 F F2(name)144.36 465.6 Q F0 +(that is not a function.)2.68 E F1 -.18(re)108 482.4 S(tur).18 E(n)-.15 +E F0([)2.5 E F2(n)A F0(])A .021(Causes a function to stop e)144 494.4 R -.15(xe)-.15 G .021(cuting and return the v).15 F .021 (alue speci\214ed by)-.25 F F2(n)2.88 E F0 .02(to its caller)2.76 F 5.02 (.I)-.55 G(f)-5.02 E F2(n)2.88 E F0 .02(is omitted,)2.76 F .596 -(the return status is that of the last command e)144 590.4 R -.15(xe) +(the return status is that of the last command e)144 506.4 R -.15(xe) -.15 G .597(cuted in the function body).15 F 5.597(.I)-.65 G(f)-5.597 E F1 -.18(re)3.097 G(tur).18 E(n)-.15 E F0 .597(is e)3.097 F -.15(xe)-.15 -G(cuted).15 E 1.239(by a trap handler)144 602.4 R 3.738(,t)-.4 G 1.238 +G(cuted).15 E .267(by a trap handler)144 518.4 R 2.767(,t)-.4 G .267 (he last command used to determine the status is the last command e) --3.738 F -.15(xe)-.15 G(cuted).15 E 1.032(before the trap handler)144 -614.4 R 6.032(.I)-.55 G(f)-6.032 E F1 -.18(re)3.532 G(tur).18 E(n)-.15 E -F0 1.032(is e)3.532 F -.15(xe)-.15 G 1.032(cuted during a).15 F F1(DEB) -3.533 E(UG)-.1 E F0 1.033(trap, the last command used to)3.533 F .39 -(determine the status is the last command e)144 626.4 R -.15(xe)-.15 G -.389(cuted by the trap handler before).15 F F1 -.18(re)2.889 G(tur).18 E -(n)-.15 E F0 -.1(wa)2.889 G 2.889(si).1 G -1.9 -.4(nv o)-2.889 H -.1(ke) -.4 G(d.).1 E(If)144 638.4 Q F1 -.18(re)2.583 G(tur).18 E(n)-.15 E F0 -.084(is used outside a function, b)2.583 F .084(ut during e)-.2 F -.15 -(xe)-.15 G .084(cution of a script by the).15 F F1(.)2.584 E F0(\()5.084 -E F1(sour)A(ce)-.18 E F0 2.584(\)c)C .084(ommand, it)-2.584 F .589 -(causes the shell to stop e)144 650.4 R -.15(xe)-.15 G .589 +-2.767 F -.15(xe)-.15 G .267(cuted be-).15 F .02(fore the trap handler) +144 530.4 R 5.02(.I)-.55 G(f)-5.02 E F1 -.18(re)2.52 G(tur).18 E(n)-.15 +E F0 .02(is e)2.52 F -.15(xe)-.15 G .02(cuted during a).15 F F1(DEB)2.52 +E(UG)-.1 E F0 .02(trap, the last command used to deter)2.52 F(-)-.2 E +.886(mine the status is the last command e)144 542.4 R -.15(xe)-.15 G +.886(cuted by the trap handler before).15 F F1 -.18(re)3.385 G(tur).18 E +(n)-.15 E F0 -.1(wa)3.385 G 3.385(si).1 G -1.9 -.4(nv o)-3.385 H -.1(ke) +.4 G 3.385(d. If).1 F F1 -.18(re)144 554.4 S(tur).18 E(n)-.15 E F0 .627 +(is used outside a function, b)3.127 F .628(ut during e)-.2 F -.15(xe) +-.15 G .628(cution of a script by the).15 F F1(.)3.128 E F0(\()5.628 E +F1(sour)A(ce)-.18 E F0 3.128(\)c)C .628(ommand, it)-3.128 F .589 +(causes the shell to stop e)144 566.4 R -.15(xe)-.15 G .589 (cuting that script and return either).15 F F2(n)3.448 E F0 .588 (or the e)3.328 F .588(xit status of the last com-)-.15 F .325(mand e) -144 662.4 R -.15(xe)-.15 G .325(cuted within the script as the e).15 F +144 578.4 R -.15(xe)-.15 G .325(cuted within the script as the e).15 F .326(xit status of the script.)-.15 F(If)5.326 E F2(n)2.826 E F0 .326 (is supplied, the return v)2.826 F .326(alue is)-.25 F .445 -(its least signi\214cant 8 bits.)144 674.4 R .444 +(its least signi\214cant 8 bits.)144 590.4 R .444 (The return status is non-zero if)5.445 F F1 -.18(re)2.944 G(tur).18 E (n)-.15 E F0 .444(is supplied a non-numeric ar)2.944 F(gu-)-.18 E .381 -(ment, or is used outside a function and not during e)144 686.4 R -.15 +(ment, or is used outside a function and not during e)144 602.4 R -.15 (xe)-.15 G .381(cution of a script by).15 F F1(.)2.881 E F0(or)3.714 E F1(sour)2.881 E(ce)-.18 E F0 5.381(.A)C .681 -.15(ny c)-5.381 H(om-).15 -E .75(mand associated with the)144 698.4 R F1(RETURN)3.249 E F0 .749 +E .75(mand associated with the)144 614.4 R F1(RETURN)3.249 E F0 .749 (trap is e)3.249 F -.15(xe)-.15 G .749(cuted before e).15 F -.15(xe)-.15 -G .749(cution resumes after the function).15 F(or script.)144 710.4 Q +G .749(cution resumes after the function).15 F(or script.)144 626.4 Q F1 +(set)108 643.2 Q F0([)2.5 E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C +F1-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E +F0(...])2.5 E F1(set)108 655.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 +2.5(][)C F1(+o)-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E +(g)-.37 E F0(...])2.5 E -.4(Wi)144 667.2 S .835 +(thout options, the name and v).4 F .835(alue of each shell v)-.25 F +.836(ariable are displayed in a format that can be)-.25 F .784 +(reused as input for setting or resetting the currently-set v)144 679.2 +R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783 +(riables cannot be).25 F 2.946(reset. In)144 691.2 R F2 .447(posix mode) +2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447 +(ariables are listed.)-.25 F .447 +(The output is sorted according to the current)5.447 F 3.531 +(locale. When)144 703.2 R 1.031(options are speci\214ed, the)3.531 F +3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An) +-.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F .584 +(after option processing are treated as v)144 715.2 R .585 +(alues for the positional parameters and are assigned, in or)-.25 F(-) +-.2 E(der)144 727.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 +E F0(,)A F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha) +-5 E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E (GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(14)198.725 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup @@ -1988,754 +2007,755 @@ BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(set)108 84 Q F0([)2.5 -E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1-2.5 E/F2 10 -/Times-Italic@0 SF(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 -E F0(...])2.5 E F1(set)108 96 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 -2.5(][)C F1(+o)-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E -(g)-.37 E F0(...])2.5 E -.4(Wi)144 108 S .835 -(thout options, the name and v).4 F .835(alue of each shell v)-.25 F -.836(ariable are displayed in a format that can be)-.25 F .784 -(reused as input for setting or resetting the currently-set v)144 120 R -3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783(riables cannot be) -.25 F 2.946(reset. In)144 132 R F2 .447(posix mode)2.946 F F0 2.947(,o)C -.447(nly shell v)-2.947 F .447(ariables are listed.)-.25 F .447 -(The output is sorted according to the current)5.447 F 3.531 -(locale. When)144 144 R 1.031(options are speci\214ed, the)3.531 F 3.531 -(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)-.2 F -3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F 1.623 -(after option processing are treated as v)144 156 R 1.624 -(alues for the positional parameters and are assigned, in)-.25 F(order) -144 168 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A F1 -2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3 -.15 -(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 180 Q F0 -1.378(Each v)184 180 R 1.377 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF144 84 Q F0 +1.378(Each v)184 84 R 1.377 (ariable or function that is created or modi\214ed is gi)-.25 F -.15(ve) -.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.377(xport attrib)-.15 F -1.377(ute and)-.2 F(mark)184 192 Q(ed for e)-.1 E(xport to the en)-.15 E -(vironment of subsequent commands.)-.4 E F1144 204 Q F0 .131 -(Report the status of terminated background jobs immediately)184 204 R +1.377(ute and)-.2 F(mark)184 96 Q(ed for e)-.1 E(xport to the en)-.15 E +(vironment of subsequent commands.)-.4 E F1144 108 Q F0 .131 +(Report the status of terminated background jobs immediately)184 108 R 2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E -(primary prompt.)184 216 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25 -H(nly when job control is enabled.).15 E F1144 228 Q F0 .088 -(Exit immediately if a)184 228 R F2(pipeline)2.588 E F0 .087 -(\(which may consist of a single)2.588 F F2 .087(simple command)2.587 F -F0 .087(\), a)B F2(list)2.587 E F0 2.587(,o)C(r)-2.587 E(a)184 240 Q F2 -1.52(compound command)4.02 F F0(\(see)4.021 E/F3 9/Times-Bold@0 SF 1.521 -(SHELL GRAMMAR)4.021 F F0(abo)3.771 E -.15(ve)-.15 G 1.521(\), e).15 F -1.521(xits with a non-zero status.)-.15 F .08(The shell does not e)184 -252 R .079(xit if the command that f)-.15 F .079 -(ails is part of the command list immediately)-.1 F(follo)184 264 Q +(primary prompt.)184 120 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25 +H(nly when job control is enabled.).15 E F1144 132 Q F0 .088 +(Exit immediately if a)184 132 R/F2 10/Times-Italic@0 SF(pipeline)2.588 +E F0 .087(\(which may consist of a single)2.588 F F2 .087 +(simple command)2.587 F F0 .087(\), a)B F2(list)2.587 E F0 2.587(,o)C(r) +-2.587 E(a)184 144 Q F2 1.52(compound command)4.02 F F0(\(see)4.021 E/F3 +9/Times-Bold@0 SF 1.521(SHELL GRAMMAR)4.021 F F0(abo)3.771 E -.15(ve) +-.15 G 1.521(\), e).15 F 1.521(xits with a non-zero status.)-.15 F .08 +(The shell does not e)184 156 R .079(xit if the command that f)-.15 F +.079(ails is part of the command list immediately)-.1 F(follo)184 168 Q 1.654(wing a)-.25 F F1(while)4.154 E F0(or)4.154 E F1(until)4.154 E F0 -.1(ke)4.154 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.655 (wing the)-.25 F F1(if)4.155 E F0(or)4.155 E F1(elif)4.155 E F0(reserv) -4.155 E(ed)-.15 E -.1(wo)184 276 S .582(rds, part of an).1 F 3.082(yc) +4.155 E(ed)-.15 E -.1(wo)184 180 S .582(rds, part of an).1 F 3.082(yc) -.15 G .582(ommand e)-3.082 F -.15(xe)-.15 G .581(cuted in a).15 F F1 (&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .581(list e)3.081 F .581 -(xcept the command follo)-.15 F(wing)-.25 E .917(the \214nal)184 288 R +(xcept the command follo)-.15 F(wing)-.25 E .917(the \214nal)184 192 R F1(&&)3.417 E F0(or)3.417 E F1(||)3.417 E F0 3.417(,a)C 1.217 -.15(ny c) -3.417 H .918(ommand in a pipeline b).15 F .918 (ut the last, or if the command')-.2 F 3.418(sr)-.55 G(eturn)-3.418 E --.25(va)184 300 S .661(lue is being in).25 F -.15(ve)-.4 G .661 +-.25(va)184 204 S .661(lue is being in).25 F -.15(ve)-.4 G .661 (rted with).15 F F1(!)3.161 E F0 5.661(.I)C 3.161(fac)-5.661 G .66 (ompound command other than a subshell returns a)-3.161 F 1.112 -(non-zero status because a command f)184 312 R 1.112(ailed while)-.1 F +(non-zero status because a command f)184 216 R 1.112(ailed while)-.1 F F13.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.113 -(eing ignored, the shell does)-3.612 F .178(not e)184 324 R 2.678 +(eing ignored, the shell does)-3.612 F .178(not e)184 228 R 2.678 (xit. A)-.15 F .178(trap on)2.678 F F1(ERR)2.678 E F0 2.678(,i)C 2.678 (fs)-2.678 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178 (cuted before the shell e).15 F 2.677(xits. This)-.15 F .177 -(option applies to)2.677 F .617(the shell en)184 336 R .617 +(option applies to)2.677 F .617(the shell en)184 240 R .617 (vironment and each subshell en)-.4 F .617(vironment separately \(see) --.4 F F3 .618(COMMAND EXE-)3.118 F .643(CUTION ENVIR)184 348 R(ONMENT) +-.4 F F3 .618(COMMAND EXE-)3.118 F .643(CUTION ENVIR)184 252 R(ONMENT) -.27 E F0(abo)2.893 E -.15(ve)-.15 G .643 (\), and may cause subshells to e).15 F .643(xit before e)-.15 F -.15 -(xe)-.15 G .642(cuting all).15 F(the commands in the subshell.)184 360 Q -2.042(If a compound command or shell function e)184 378 R -.15(xe)-.15 G -2.042(cutes in a conte).15 F 2.042(xt where)-.15 F F14.542 E F0 -2.043(is being)4.543 F 1.436(ignored, none of the commands e)184 390 R --.15(xe)-.15 G 1.435(cuted within the compound command or function).15 F -.193(body will be af)184 402 R .193(fected by the)-.25 F F12.693 E -F0 .193(setting, e)2.693 F -.15(ve)-.25 G 2.693(ni).15 G(f)-2.693 E F1 -2.693 E F0 .194(is set and a command returns a f)2.693 F(ailure) --.1 E 3.39(status. If)184 414 R 3.39(ac)3.39 G .89 -(ompound command or shell function sets)-3.39 F F13.39 E F0 .89 -(while e)3.39 F -.15(xe)-.15 G .89(cuting in a conte).15 F(xt)-.15 E -(where)184 426 Q F13.153 E F0 .653 +(xe)-.15 G .642(cuting all).15 F(the commands in the subshell.)184 264 Q +.998(If a compound command or shell function e)184 282 R -.15(xe)-.15 G +.999(cutes in a conte).15 F .999(xt where)-.15 F F13.499 E F0 .999 +(is being ig-)3.499 F .089(nored, none of the commands e)184 294 R -.15 +(xe)-.15 G .089(cuted within the compound command or function body).15 F +.502(will be af)184 306 R .502(fected by the)-.25 F F13.002 E F0 +.502(setting, e)3.002 F -.15(ve)-.25 G 3.002(ni).15 G(f)-3.002 E F1 +3.002 E F0 .502(is set and a command returns a f)3.002 F .503 +(ailure sta-)-.1 F 4.184(tus. If)184 318 R 4.184(ac)4.184 G 1.684 +(ompound command or shell function sets)-4.184 F F14.183 E F0 +1.683(while e)4.183 F -.15(xe)-.15 G 1.683(cuting in a conte).15 F(xt) +-.15 E(where)184 330 Q F13.153 E F0 .653 (is ignored, that setting will not ha)3.153 F .954 -.15(ve a)-.2 H .954 -.15(ny e).15 H -.25(ff).15 G .654(ect until the compound command).25 F -(or the command containing the function call completes.)184 438 Q F1 -144 450 Q F0(Disable pathname e)184 450 Q(xpansion.)-.15 E F1 -144 462 Q F0 2.239(Remember the location of commands as the)184 -462 R 4.738(ya)-.15 G 2.238(re look)-4.738 F 2.238(ed up for e)-.1 F --.15(xe)-.15 G 4.738(cution. This).15 F(is)4.738 E(enabled by def)184 -474 Q(ault.)-.1 E F1144 486 Q F0 .513(All ar)184 486 R .514 +(or the command containing the function call completes.)184 342 Q F1 +144 354 Q F0(Disable pathname e)184 354 Q(xpansion.)-.15 E F1 +144 366 Q F0 .988(Remember the location of commands as the)184 366 +R 3.488(ya)-.15 G .988(re look)-3.488 F .988(ed up for e)-.1 F -.15(xe) +-.15 G 3.488(cution. This).15 F .987(is en-)3.487 F(abled by def)184 378 +Q(ault.)-.1 E F1144 390 Q F0 .513(All ar)184 390 R .514 (guments in the form of assignment statements are placed in the en)-.18 F .514(vironment for a)-.4 F -(command, not just those that precede the command name.)184 498 Q F1 -144 510 Q F0 .149(Monitor mode.)184 510 R .149 +(command, not just those that precede the command name.)184 402 Q F1 +144 414 Q F0 .149(Monitor mode.)184 414 R .149 (Job control is enabled.)5.149 F .148(This option is on by def)5.149 F .148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .65 -(on systems that support it \(see)184 522 R F3 .651(JOB CONTR)3.151 F +(on systems that support it \(see)184 426 R F3 .651(JOB CONTR)3.151 F (OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .651 -(processes run in a separate)3.151 F .679(process group.)184 534 R .678 +(processes run in a separate)3.151 F .679(process group.)184 438 R .678 (When a background job completes, the shell prints a line containing it\ -s)5.679 F -.15(ex)184 546 S(it status.).15 E F1144 558 Q F0 .652 -(Read commands b)184 558 R .652(ut do not e)-.2 F -.15(xe)-.15 G .652 +s)5.679 F -.15(ex)184 450 S(it status.).15 E F1144 462 Q F0 .652 +(Read commands b)184 462 R .652(ut do not e)-.2 F -.15(xe)-.15 G .652 (cute them.).15 F .653(This may be used to check a shell script for) -5.652 F(syntax errors.)184 570 Q(This is ignored by interacti)5 E .3 --.15(ve s)-.25 H(hells.).15 E F1144 582 Q F2(option\255name)2.5 E -F0(The)184 594 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5 -E(wing:)-.25 E F1(allexport)184 606 Q F0(Same as)224 618 Q F12.5 E -F0(.)A F1(braceexpand)184 630 Q F0(Same as)224 642 Q F12.5 E F0(.) -A F1(emacs)184 654 Q F0 .089 -(Use an emacs-style command line editing interf)224 654 R 2.589 +5.652 F(syntax errors.)184 474 Q(This is ignored by interacti)5 E .3 +-.15(ve s)-.25 H(hells.).15 E F1144 486 Q F2(option\255name)2.5 E +F0(The)184 498 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5 +E(wing:)-.25 E F1(allexport)184 510 Q F0(Same as)224 522 Q F12.5 E +F0(.)A F1(braceexpand)184 534 Q F0(Same as)224 546 Q F12.5 E F0(.) +A F1(emacs)184 558 Q F0 .089 +(Use an emacs-style command line editing interf)224 558 R 2.589 (ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95 -(when the shell is interacti)224 666 R -.15(ve)-.25 G 3.45(,u).15 G .95 +(when the shell is interacti)224 570 R -.15(ve)-.25 G 3.45(,u).15 G .95 (nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E -F0 2.5(option. This)224 678 R(also af)2.5 E(fects the editing interf) +F0 2.5(option. This)224 582 R(also af)2.5 E(fects the editing interf) -.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err) -184 690 Q(exit)-.18 E F0(Same as)224 690 Q F12.5 E F0(.)A F1 -(errtrace)184 702 Q F0(Same as)224 702 Q F12.5 E F0(.)A -(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(15)198.725 E 0 Cg EP +184 594 Q(exit)-.18 E F0(Same as)224 594 Q F12.5 E F0(.)A F1 +(errtrace)184 606 Q F0(Same as)224 606 Q F12.5 E F0(.)A F1 +(functrace)184 618 Q F0(Same as)224 630 Q F12.5 E F0(.)A F1 +(hashall)184 642 Q F0(Same as)224 642 Q F12.5 E F0(.)A F1 +(histexpand)184 654 Q F0(Same as)224 666 Q F12.5 E F0(.)A F1 +(history)184 678 Q F0 .587(Enable command history)224 678 R 3.087(,a) +-.65 G 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 +H(nder).15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF +(.)A F0 .587(This option is)5.087 F(on by def)224 690 Q +(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 +702 Q(eeof)-.18 E F0 1.656(The ef)224 714 R 1.656 +(fect is as if the shell command)-.25 F/F5 10/Courier@0 SF(IGNOREEOF=10) +4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224 +726 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).) +.15 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(15)198.725 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(functrace)184 84 Q F0 -(Same as)224 96 Q F12.5 E F0(.)A F1(hashall)184 108 Q F0(Same as) -224 108 Q F12.5 E F0(.)A F1(histexpand)184 120 Q F0(Same as)224 -132 Q F12.5 E F0(.)A F1(history)184 144 Q F0 .587 -(Enable command history)224 144 R 3.087(,a)-.65 G 3.087(sd)-3.087 G .587 -(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E/F2 9 -/Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F3 9/Times-Roman@0 SF -(.)A F0 .587(This option is)5.087 F(on by def)224 156 Q -(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 -168 Q(eeof)-.18 E F0 1.656(The ef)224 180 R 1.656 -(fect is as if the shell command)-.25 F/F4 10/Courier@0 SF(IGNOREEOF=10) -4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224 -192 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).) -.15 E F1 -.1(ke)184 204 S(yw).1 E(ord)-.1 E F0(Same as)224 216 Q F1 -2.5 E F0(.)A F1(monitor)184 228 Q F0(Same as)224 228 Q F12.5 -E F0(.)A F1(noclob)184 240 Q(ber)-.1 E F0(Same as)224 252 Q F12.5 -E F0(.)A F1(noexec)184 264 Q F0(Same as)224 264 Q F12.5 E F0(.)A -F1(noglob)184 276 Q F0(Same as)224 276 Q F12.5 E F0(.)A F1(nolog) -184 288 Q F0(Currently ignored.)224 288 Q F1(notify)184 300 Q F0 -(Same as)224 300 Q F12.5 E F0(.)A F1(nounset)184 312 Q F0(Same as) -224 312 Q F12.5 E F0(.)A F1(onecmd)184 324 Q F0(Same as)224 324 Q -F12.5 E F0(.)A F1(ph)184 336 Q(ysical)-.15 E F0(Same as)224 336 Q -F12.5 E F0(.)A F1(pipefail)184 348 Q F0 1.03(If set, the return v) -224 348 R 1.029(alue of a pipeline is the v)-.25 F 1.029 -(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 360 R +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF -.1(ke)184 84 S(yw).1 +E(ord)-.1 E F0(Same as)224 96 Q F12.5 E F0(.)A F1(monitor)184 108 +Q F0(Same as)224 108 Q F12.5 E F0(.)A F1(noclob)184 120 Q(ber)-.1 +E F0(Same as)224 132 Q F12.5 E F0(.)A F1(noexec)184 144 Q F0 +(Same as)224 144 Q F12.5 E F0(.)A F1(noglob)184 156 Q F0(Same as) +224 156 Q F12.5 E F0(.)A F1(nolog)184 168 Q F0(Currently ignored.) +224 168 Q F1(notify)184 180 Q F0(Same as)224 180 Q F12.5 E F0(.)A +F1(nounset)184 192 Q F0(Same as)224 192 Q F12.5 E F0(.)A F1 +(onecmd)184 204 Q F0(Same as)224 204 Q F12.5 E F0(.)A F1(ph)184 +216 Q(ysical)-.15 E F0(Same as)224 216 Q F12.5 E F0(.)A F1 +(pipefail)184 228 Q F0 1.03(If set, the return v)224 228 R 1.029 +(alue of a pipeline is the v)-.25 F 1.029 +(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 240 R 1.136 (xit with a non-zero status, or zero if all commands in the pipeline) --.15 F -.15(ex)224 372 S(it successfully).15 E 5(.T)-.65 G -(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 384 Q F0 -2.091(Change the beha)224 384 R 2.091(vior of)-.2 F F1(bash)4.591 E F0 +-.15 F -.15(ex)224 252 S(it successfully).15 E 5(.T)-.65 G +(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 264 Q F0 +2.091(Change the beha)224 264 R 2.091(vior of)-.2 F F1(bash)4.591 E F0 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091 (fers from the)-.25 F 1.212(POSIX standard to match the standard \()224 -396 R/F5 10/Times-Italic@0 SF 1.212(posix mode)B F0 3.712(\). See)B F2 -1.212(SEE ALSO)3.712 F F0(belo)3.463 E(w)-.25 E 2.307 -(for a reference to a document that details ho)224 408 R 4.806(wp)-.25 G -2.306(osix mode af)-4.806 F 2.306(fects bash')-.25 F(s)-.55 E(beha)224 -420 Q(vior)-.2 E(.)-.55 E F1(pri)184 432 Q(vileged)-.1 E F0(Same as)224 -444 Q F12.5 E F0(.)A F1 -.1(ve)184 456 S(rbose).1 E F0(Same as)224 -456 Q F12.5 E F0(.)A F1(vi)184 468 Q F0 1.465 -(Use a vi-style command line editing interf)224 468 R 3.966(ace. This) --.1 F 1.466(also af)3.966 F 1.466(fects the editing)-.25 F(interf)224 -480 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1 -(xtrace)184 492 Q F0(Same as)224 492 Q F12.5 E F0(.)A(If)184 510 Q -F13.053 E F0 .553(is supplied with no)3.053 F F5(option\255name) +276 R/F2 10/Times-Italic@0 SF 1.212(posix mode)B F0 3.712(\). See)B/F3 9 +/Times-Bold@0 SF 1.212(SEE ALSO)3.712 F F0(belo)3.463 E(w)-.25 E .955 +(for a reference to a document that details ho)224 288 R 3.454(wp)-.25 G +.954(osix mode af)-3.454 F .954(fects bash')-.25 F 3.454(sb)-.55 G(e-) +-3.454 E(ha)224 300 Q(vior)-.2 E(.)-.55 E F1(pri)184 312 Q(vileged)-.1 E +F0(Same as)224 324 Q F12.5 E F0(.)A F1 -.1(ve)184 336 S(rbose).1 E +F0(Same as)224 336 Q F12.5 E F0(.)A F1(vi)184 348 Q F0 .209 +(Use a vi-style command line editing interf)224 348 R 2.709(ace. This) +-.1 F .209(also af)2.709 F .21(fects the editing in-)-.25 F(terf)224 360 +Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(xtrace) +184 372 Q F0(Same as)224 372 Q F12.5 E F0(.)A(If)184 390 Q F1 +3.053 E F0 .553(is supplied with no)3.053 F F2(option\255name) 3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552 (alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184 -522 Q F0 1.071(is supplied with no)3.571 F F5(option\255name)3.571 E F0 +402 Q F0 1.071(is supplied with no)3.571 F F2(option\255name)3.571 E F0 3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072 (commands to recreate the current)3.572 F -(option settings is displayed on the standard output.)184 534 Q F1 -144 546 Q F0 -.45(Tu)184 546 S 1.072(rn on).45 F F5(privile)4.822 E -.1 +(option settings is displayed on the standard output.)184 414 Q F1 +144 426 Q F0 -.45(Tu)184 426 S 1.072(rn on).45 F F2(privile)4.822 E -.1 (ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F -F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.071 +F3($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV)-.27 E F0 1.071 (\214les are not pro-)3.322 F 1.5 -(cessed, shell functions are not inherited from the en)184 558 R 1.501 -(vironment, and the)-.4 F F2(SHELLOPTS)4.001 E F3(,)A F2 -.27(BA)184 570 -S(SHOPTS).27 E F3(,)A F2(CDP)2.775 E -.855(AT)-.666 G(H).855 E F3(,)A F0 -(and)2.775 E F2(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G .524 -(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F -(vironment,)-.4 E .379(are ignored.)184 582 R .379 +(cessed, shell functions are not inherited from the en)184 438 R 1.501 +(vironment, and the)-.4 F F3(SHELLOPTS)4.001 E/F4 9/Times-Roman@0 SF(,)A +F3 -.27(BA)184 450 S(SHOPTS).27 E F4(,)A F3(CDP)2.775 E -.855(AT)-.666 G +(H).855 E F4(,)A F0(and)2.775 E F3(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G +.524(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F +(vironment,)-.4 E .379(are ignored.)184 462 R .379 (If the shell is started with the ef)5.379 F(fecti)-.25 E .679 -.15 (ve u)-.25 H .38(ser \(group\) id not equal to the real).15 F .462 -(user \(group\) id, and the)184 594 R F12.961 E F0 .461 +(user \(group\) id, and the)184 474 R F12.961 E F0 .461 (option is not supplied, these actions are tak)2.961 F .461 -(en and the ef)-.1 F(fec-)-.25 E(ti)184 606 Q .694 -.15(ve u)-.25 H .394 +(en and the ef)-.1 F(fec-)-.25 E(ti)184 486 Q .694 -.15(ve u)-.25 H .394 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1 2.895 E F0 .395(option is supplied at startup, the ef)2.895 F(fecti)-.25 -E -.15(ve)-.25 G .387(user id is not reset.)184 618 R -.45(Tu)5.387 G +E -.15(ve)-.25 G .387(user id is not reset.)184 498 R -.45(Tu)5.387 G .387(rning this option of).45 F 2.886(fc)-.25 G .386(auses the ef)-2.886 F(fecti)-.25 E .686 -.15(ve u)-.25 H .386(ser and group ids to be).15 F -(set to the real user and group ids.)184 630 Q F1144 642 Q F0 -(Exit after reading and e)184 642 Q -.15(xe)-.15 G(cuting one command.) -.15 E F1144 654 Q F0 -.35(Tr)184 654 S .043(eat unset v).35 F .044 +(set to the real user and group ids.)184 510 Q F1144 522 Q F0 +(Exit after reading and e)184 522 Q -.15(xe)-.15 G(cuting one command.) +.15 E F1144 534 Q F0 -.35(Tr)184 534 S .043(eat unset v).35 F .044 (ariables and parameters other than the special parameters "@" and "*" \ -as an)-.25 F .183(error when performing parameter e)184 666 R 2.683 +as an)-.25 F .183(error when performing parameter e)184 546 R 2.683 (xpansion. If)-.15 F -.15(ex)2.683 G .182 (pansion is attempted on an unset v).15 F(ari-)-.25 E .746 -(able or parameter)184 678 R 3.246(,t)-.4 G .746 +(able or parameter)184 558 R 3.246(,t)-.4 G .746 (he shell prints an error message, and, if not interacti)-3.246 F -.15 (ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184 -690 Q F1144 702 Q F0(Print shell input lines as the)184 702 Q 2.5 -(ya)-.15 G(re read.)-2.5 E F1144 714 Q F0 .315(After e)184 714 R -.315(xpanding each)-.15 F F5 .315(simple command)2.815 F F0(,)A F1 -.25 +570 Q F1144 582 Q F0(Print shell input lines as the)184 582 Q 2.5 +(ya)-.15 G(re read.)-2.5 E F1144 594 Q F0 .315(After e)184 594 R +.315(xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25 (fo)2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,) -2.815 E F1(select)2.815 E F0(command,)2.815 E 3.259(or arithmetic)184 -726 R F1 -.25(fo)5.759 G(r).25 E F0 3.26(command, display the e)5.759 F -3.26(xpanded v)-.15 F 3.26(alue of)-.25 F F2(PS4)5.76 E F3(,)A F0(follo) -5.51 E 3.26(wed by the)-.25 F(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 -E(16)198.725 E 0 Cg EP +2.815 E F1(select)2.815 E F0(command,)2.815 E 1.235(or arithmetic)184 +606 R F1 -.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F +1.236(xpanded v)-.15 F 1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F0 +(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 618 Q +(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1 +144 630 Q F0 1.206(The shell performs brace e)184 630 R 1.206 +(xpansion \(see)-.15 F F1 1.205(Brace Expansion)3.705 F F0(abo)3.705 E +-.15(ve)-.15 G 3.705(\). This).15 F 1.205(is on by de-)3.705 F -.1(fa) +184 642 S(ult.).1 E F1144 654 Q F0 .213(If set,)184 654 R F1(bash) +2.713 E F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F +.214(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0 +2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F +3.054(tors. This)184 666 R .553(may be o)3.053 F -.15(ve)-.15 G .553 +(rridden when creating output \214les by using the redirection opera-) +.15 F(tor)184 678 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 +144 690 Q F0 .103(If set, an)184 690 R 2.603(yt)-.15 G .103 +(rap on)-2.603 F F1(ERR)2.603 E F0 .104 +(is inherited by shell functions, command substitutions, and com-)2.603 +F .839(mands e)184 702 R -.15(xe)-.15 G .839(cuted in a subshell en).15 +F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838 +(trap is normally not inherited in)3.338 F(such cases.)184 714 Q +(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(16)198.725 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E(command and its e)184 84 Q(xpanded ar)-.15 -E(guments or associated w)-.18 E(ord list.)-.1 E/F1 10/Times-Bold@0 SF -144 96 Q F0 2.579(The shell performs brace e)184 96 R 2.578 -(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E --.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 108 Q -(ault.)-.1 E F1144 120 Q F0 .213(If set,)184 120 R F1(bash)2.713 E -F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214 -(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0 -2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F -3.054(tors. This)184 132 R .553(may be o)3.053 F -.15(ve)-.15 G .553 -(rridden when creating output \214les by using the redirection opera-) -.15 F(tor)184 144 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 -144 156 Q F0 .103(If set, an)184 156 R 2.603(yt)-.15 G .103 -(rap on)-2.603 F F1(ERR)2.603 E F0 .104 -(is inherited by shell functions, command substitutions, and com-)2.603 -F .839(mands e)184 168 R -.15(xe)-.15 G .839(cuted in a subshell en).15 -F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838 -(trap is normally not inherited in)3.338 F(such cases.)184 180 Q F1 -144 192 Q F0(Enable)184 192 Q F1(!)3.031 E F0 .531 -(style history substitution.)5.531 F .531(This option is on by def)5.531 -F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 204 Q -.15 -(ve)-.25 G(.).15 E F1144 216 Q F0 .96 -(If set, the shell does not resolv)184 216 R 3.459(es)-.15 G .959 -(ymbolic links when e)-3.459 F -.15(xe)-.15 G .959 -(cuting commands such as).15 F F1(cd)3.459 E F0 2.821 -(that change the current w)184 228 R 2.822(orking directory)-.1 F 7.822 -(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.822 -(ysical directory structure)-.05 F 2.686(instead. By)184 240 R(def)2.686 -E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF144 84 Q F0 +(Enable)184 84 Q F1(!)3.031 E F0 .531(style history substitution.)5.531 +F .531(This option is on by def)5.531 F .532 +(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 96 Q -.15(ve)-.25 G +(.).15 E F1144 108 Q F0 .96(If set, the shell does not resolv)184 +108 R 3.459(es)-.15 G .959(ymbolic links when e)-3.459 F -.15(xe)-.15 G +.959(cuting commands such as).15 F F1(cd)3.459 E F0 1.452 +(that change the current w)184 120 R 1.452(orking directory)-.1 F 6.452 +(.I)-.65 G 3.953(tu)-6.452 G 1.453(ses the ph)-3.953 F 1.453 +(ysical directory structure in-)-.05 F 3.335(stead. By)184 132 R(def) +3.335 E(ault,)-.1 E F1(bash)3.334 E F0(follo)3.334 E .834 (ws the logical chain of directories when performing com-)-.25 F -(mands which change the current directory)184 252 Q(.)-.65 E F1144 -264 Q F0 .89(If set, an)184 264 R 3.39(yt)-.15 G .89(raps on)-3.39 F F1 +(mands which change the current directory)184 144 Q(.)-.65 E F1144 +156 Q F0 .89(If set, an)184 156 R 3.39(yt)-.15 G .89(raps on)-3.39 F F1 (DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89 (are inherited by shell functions, command)3.39 F 1.932 -(substitutions, and commands e)184 276 R -.15(xe)-.15 G 1.932 +(substitutions, and commands e)184 168 R -.15(xe)-.15 G 1.932 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E -(UG)-.1 E F0(and)4.432 E F1(RETURN)184 288 Q F0 -(traps are normally not inherited in such cases.)2.5 E F1144 300 Q -F0 .4(If no ar)184 300 R .401(guments follo)-.18 F 2.901(wt)-.25 G .401 +(UG)-.1 E F0(and)4.432 E F1(RETURN)184 180 Q F0 +(traps are normally not inherited in such cases.)2.5 E F1144 192 Q +F0 .4(If no ar)184 192 R .401(guments follo)-.18 F 2.901(wt)-.25 G .401 (his option, then the positional parameters are unset.)-2.901 F -(Otherwise,)5.401 E(the positional parameters are set to the)184 312 Q +(Otherwise,)5.401 E(the positional parameters are set to the)184 204 Q /F2 10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5 (ni).15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1 -2.5 E F0(.)A F1144 324 Q F0 1.945 -(Signal the end of options, cause all remaining)184 324 R F2(ar)4.444 E -(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G 1.944 -(ssigned to the positional)-4.444 F 3.445(parameters. The)184 336 R F1 -3.445 E F0(and)3.445 E F13.445 E F0 .945 -(options are turned of)3.445 F 3.445(f. If)-.25 F .946(there are no) -3.445 F F2(ar)3.446 E(g)-.37 E F0 .946(s, the positional)B -(parameters remain unchanged.)184 348 Q .425(The options are of)144 -364.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 +2.5 E F0(.)A F1144 216 Q F0 .797 +(Signal the end of options, cause all remaining)184 216 R F2(ar)3.297 E +(g)-.37 E F0 3.297(st)C 3.297(ob)-3.297 G 3.296(ea)-3.297 G .796 +(ssigned to the positional pa-)-3.296 F 3.021(rameters. The)184 228 R F1 +3.021 E F0(and)3.022 E F13.022 E F0 .522 +(options are turned of)3.022 F 3.022(f. If)-.25 F .522(there are no) +3.022 F F2(ar)3.022 E(g)-.37 E F0 .522(s, the positional pa-)B +(rameters remain unchanged.)184 240 Q .425(The options are of)144 256.8 +R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 (ault unless otherwise noted.)-.1 F .425 (Using + rather than \255 causes these options)5.425 F .177 -(to be turned of)144 376.8 R 2.677(f. The)-.25 F .178 +(to be turned of)144 268.8 R 2.677(f. The)-.25 F .178 (options can also be speci\214ed as ar)2.678 F .178(guments to an in) -.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066 -(current set of options may be found in)144 388.8 R F1<24ad>2.566 E F0 +(current set of options may be found in)144 280.8 R F1<24ad>2.566 E F0 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066 (ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F -(is encountered.)144 400.8 Q F1(shift)108 417.6 Q F0([)2.5 E F2(n)A F0 -(])A .428(The positional parameters from)144 429.6 R F2(n)2.928 E F0 +(is encountered.)144 292.8 Q F1(shift)108 309.6 Q F0([)2.5 E F2(n)A F0 +(])A .428(The positional parameters from)144 321.6 R F2(n)2.928 E F0 .429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G -.429(rameters represented by the num-).15 F(bers)144 441.6 Q F1($#)2.583 +.429(rameters represented by the num-).15 F(bers)144 333.6 Q F1($#)2.583 E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0A F2(n)A F0 .083 (+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga) -.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to) .15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06 -(is 0, no parameters are changed.)144 453.6 R(If)5.06 E F2(n)2.92 E F0 +(is 0, no parameters are changed.)144 345.6 R(If)5.06 E F2(n)2.92 E F0 .06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F (If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56 -(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 465.6 R +(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 357.6 R .144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0 .143(is greater than)2.883 F F1($#)2.643 E F0 -(or less than zero; otherwise 0.)144 477.6 Q F1(shopt)108 494.4 Q F0([) +(or less than zero; otherwise 0.)144 369.6 Q F1(shopt)108 386.4 Q F0([) 2.5 E F1(\255pqsu)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(optname) --2.5 E F0(...])2.5 E -.8(To)144 506.4 S .639(ggle the v).8 F .639 +-2.5 E F0(...])2.5 E -.8(To)144 398.4 S .639(ggle the v).8 F .639 (alues of settings controlling optional shell beha)-.25 F(vior)-.2 E 5.639(.T)-.55 G .64(he settings can be either those)-5.639 F .375 -(listed belo)144 518.4 R 1.675 -.65(w, o)-.25 H 1.175 -.4(r, i).65 H +(listed belo)144 410.4 R 1.675 -.65(w, o)-.25 H 1.175 -.4(r, i).65 H 2.875(ft).4 G(he)-2.875 E F12.875 E F0 .375 (option is used, those a)2.875 F -.25(va)-.2 G .375(ilable with the).25 F F12.875 E F0 .374(option to the)2.875 F F1(set)2.874 E F0 -.2 -(bu)2.874 G .374(iltin com-).2 F 3.325(mand. W)144 530.4 R .825 -(ith no options, or with the)-.4 F F13.325 E F0 .826 -(option, a list of all settable options is displayed, with an)3.325 F -.552(indication of whether or not each is set; if)144 542.4 R F2 -(optnames)3.052 E F0 .551 -(are supplied, the output is restricted to those)3.052 F 2.549 -(options. The)144 554.4 R F12.549 E F0 .049(option causes output \ -to be displayed in a form that may be reused as input.)2.549 F(Other) -5.05 E(options ha)144 566.4 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 578.4 Q F0(Enable \(set\) each)180 -578.4 Q F2(optname)2.5 E F0(.)A F1144 590.4 Q F0 -(Disable \(unset\) each)180 590.4 Q F2(optname)2.5 E F0(.)A F1144 -602.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\ -tus indicates whether the)180 602.4 R F2(optname)2.503 E F0(is)2.503 E -.255(set or unset.)180 614.4 R .255(If multiple)5.255 F F2(optname)2.755 +(bu)2.874 G .374(iltin com-).2 F 2.565(mand. W)144 422.4 R .065 +(ith no options, or with the)-.4 F F12.566 E F0 .066 +(option, a list of all settable options is displayed, with an in-)2.566 +F .074(dication of whether or not each is set; if)144 434.4 R F2 +(optnames)2.574 E F0 .074 +(are supplied, the output is restricted to those op-)2.574 F 3.105 +(tions. The)144 446.4 R F13.105 E F0 .605(option causes output to\ + be displayed in a form that may be reused as input.)3.105 F(Other)5.605 +E(options ha)144 458.4 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1144 470.4 Q F0(Enable \(set\) each)180 +470.4 Q F2(optname)2.5 E F0(.)A F1144 482.4 Q F0 +(Disable \(unset\) each)180 482.4 Q F2(optname)2.5 E F0(.)A F1144 +494.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\ +tus indicates whether the)180 494.4 R F2(optname)2.503 E F0(is)2.503 E +.255(set or unset.)180 506.4 R .255(If multiple)5.255 F F2(optname)2.755 E F0(ar)2.755 E .256(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G (ith)-2.756 E F12.756 E F0 2.756(,t)C .256 -(he return status is zero if)-2.756 F(all)180 626.4 Q F2(optnames)2.5 E -F0(are enabled; non-zero otherwise.)2.5 E F1144 638.4 Q F0 -(Restricts the v)180 638.4 Q(alues of)-.25 E F2(optname)2.5 E F0 +(he return status is zero if)-2.756 F(all)180 518.4 Q F2(optnames)2.5 E +F0(are enabled; non-zero otherwise.)2.5 E F1144 530.4 Q F0 +(Restricts the v)180 530.4 Q(alues of)-.25 E F2(optname)2.5 E F0 (to be those de\214ned for the)2.5 E F12.5 E F0(option to the)2.5 -E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .625(If either)144 655.2 R F1 +E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .625(If either)144 547.2 R F1 3.125 E F0(or)3.124 E F13.124 E F0 .624(is used with no) 3.124 F F2(optname)3.124 E F0(ar)3.124 E(guments,)-.18 E F1(shopt)3.124 -E F0(sho)3.124 E .624(ws only those options which are)-.25 F 2.233 -(set or unset, respecti)144 667.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U) --.65 G 2.234(nless otherwise noted, the)-7.234 F F1(shopt)4.734 E F0 -2.234(options are disabled \(unset\) by)4.734 F(def)144 679.2 Q(ault.) --.1 E 1.544(The return status when listing options is zero if all)144 -696 R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.) -4.044 F .696 +E F0(sho)3.124 E .624(ws only those options which are)-.25 F .983 +(set or unset, respecti)144 559.2 R -.15(ve)-.25 G(ly).15 E 5.983(.U) +-.65 G .983(nless otherwise noted, the)-5.983 F F1(shopt)3.484 E F0 .984 +(options are disabled \(unset\) by de-)3.484 F -.1(fa)144 571.2 S(ult.) +.1 E 1.544(The return status when listing options is zero if all)144 588 +R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)4.044 F +.696 (When setting or unsetting options, the return status is zero unless an) -144 708 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell) --.25 F(option.)144 720 Q(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(17) -198.725 E 0 Cg EP +144 600 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell) +-.25 F(option.)144 612 Q(The list of)144 628.8 Q F1(shopt)2.5 E F0 +(options is:)2.5 E F1(assoc_expand_once)144 646.8 Q F0 1.945 +(If set, the shell suppresses multiple e)184 658.8 R -.25(va)-.25 G +1.944(luation of associati).25 F 2.244 -.15(ve a)-.25 H 1.944 +(rray subscripts during).15 F .885(arithmetic e)184 670.8 R .885 +(xpression e)-.15 F -.25(va)-.25 G .885(luation, while e).25 F -.15(xe) +-.15 G .885(cuting b).15 F .885(uiltins that can perform v)-.2 F .885 +(ariable as-)-.25 F(signments, and while e)184 682.8 Q -.15(xe)-.15 G +(cuting b).15 E(uiltins that perform array dereferencing.)-.2 E F1 +(autocd)144 694.8 Q F0 .2 +(If set, a command name that is the name of a directory is e)184 694.8 R +-.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E +(ment to the)184 706.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F +(option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E +(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(17)198.725 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E(The list of)144 84 Q/F1 10/Times-Bold@0 SF -(shopt)2.5 E F0(options is:)2.5 E F1(assoc_expand_once)144 102 Q F0 -1.945(If set, the shell suppresses multiple e)184 114 R -.25(va)-.25 G -1.944(luation of associati).25 F 2.244 -.15(ve a)-.25 H 1.944 -(rray subscripts during).15 F 2.556(arithmetic e)184 126 R 2.556 -(xpression e)-.15 F -.25(va)-.25 G 2.556(luation, while e).25 F -.15(xe) --.15 G 2.557(cuting b).15 F 2.557(uiltins that can perform v)-.2 F -(ariable)-.25 E(assignments, and while e)184 138 Q -.15(xe)-.15 G -(cuting b).15 E(uiltins that perform array dereferencing.)-.2 E F1 -(autocd)144 150 Q F0 .2 -(If set, a command name that is the name of a directory is e)184 150 R --.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E -(ment to the)184 162 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F -(option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E -F1(cdable_v)144 174 Q(ars)-.1 E F0 .155(If set, an ar)184 186 R .155 -(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(cdable_v)144 84 Q +(ars)-.1 E F0 .155(If set, an ar)184 96 R .155(gument to the)-.18 F F1 +(cd)2.655 E F0 -.2(bu)2.655 G .156 (iltin command that is not a directory is assumed to be the).2 F -(name of a v)184 198 Q(ariable whose v)-.25 E -(alue is the directory to change to.)-.25 E F1(cdspell)144 210 Q F0 +(name of a v)184 108 Q(ariable whose v)-.25 E +(alue is the directory to change to.)-.25 E F1(cdspell)144 120 Q F0 1.055 (If set, minor errors in the spelling of a directory component in a)184 -210 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987 -(corrected. The)184 222 R 1.487(errors check)3.987 F 1.487 +120 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987 +(corrected. The)184 132 R 1.487(errors check)3.987 F 1.487 (ed for are transposed characters, a missing character)-.1 F 3.988(,a) --.4 G(nd)-3.988 E .77(one character too man)184 234 R 4.57 -.65(y. I) +-.4 G(nd)-3.988 E .77(one character too man)184 144 R 4.57 -.65(y. I) -.15 H 3.27(fac).65 G .77 (orrection is found, the corrected \214lename is printed, and)-3.27 F -(the command proceeds.)184 246 Q(This option is only used by interacti)5 -E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 258 Q F0 .736 -(If set,)184 270 R F1(bash)3.236 E F0 .736 +(the command proceeds.)184 156 Q(This option is only used by interacti)5 +E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 168 Q F0 .736 +(If set,)184 180 R F1(bash)3.236 E F0 .736 (checks that a command found in the hash table e)3.236 F .737 -(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 282 +(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 192 Q(If a hashed command no longer e)5 E -(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 294 Q -F0 .449(If set,)184 306 R F1(bash)2.949 E F0 .449 +(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 204 Q +F0 .449(If set,)184 216 R F1(bash)2.949 E F0 .449 (lists the status of an)2.949 F 2.949(ys)-.15 G .448 (topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15 -F -.15(ve)-.25 G 3.438(shell. If)184 318 R(an)3.438 E 3.438(yj)-.15 G -.938(obs are running, this causes the e)-3.438 F .938 -(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 2.203 -(attempted without an interv)184 330 R 2.203(ening command \(see)-.15 F -/F2 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E --.15(ve)-.15 G 4.703(\). The).15 F(shell)4.703 E(al)184 342 Q -.1(wa)-.1 -G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G -(obs are stopped.)-2.5 E F1(checkwinsize)144 354 Q F0 1.09(If set,)184 -366 R F1(bash)3.59 E F0 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09 -(ize after each e)-3.59 F 1.09(xternal \(non-b)-.15 F 1.09 -(uiltin\) command and, if)-.2 F(necessary)184 378 Q 4.694(,u)-.65 G -2.194(pdates the v)-4.694 F 2.194(alues of)-.25 F F2(LINES)4.694 E F0 -(and)4.444 E F2(COLUMNS)4.693 E/F3 9/Times-Roman@0 SF(.)A F0 2.193 -(This option is enabled by)6.693 F(def)184 390 Q(ault.)-.1 E F1(cmdhist) -144 402 Q F0 1.202(If set,)184 402 R F1(bash)3.702 E F0 1.202 -(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202 -(ll lines of a multiple-line command in the same history).15 F(entry)184 -414 Q 6.133(.T)-.65 G 1.133(his allo)-6.133 F 1.133 -(ws easy re-editing of multi-line commands.)-.25 F 1.132 -(This option is enabled by)6.132 F(def)184 426 Q .613(ault, b)-.1 F .613 -(ut only has an ef)-.2 F .614 -(fect if command history is enabled, as described abo)-.25 F .914 -.15 -(ve u)-.15 H(nder).15 E F2(HIST)184 438 Q(OR)-.162 E(Y)-.315 E F3(.)A F1 -(compat31)144 450 Q F0 .42(If set,)184 462 R F1(bash)2.92 E F0 .42 +F -.15(ve)-.25 G 2.661(shell. If)184 228 R(an)2.661 E 2.661(yj)-.15 G +.161(obs are running, this causes the e)-2.661 F .161 +(xit to be deferred until a second e)-.15 F .162(xit is at-)-.15 F 1.473 +(tempted without an interv)184 240 R 1.473(ening command \(see)-.15 F/F2 +9/Times-Bold@0 SF 1.473(JOB CONTR)3.973 F(OL)-.27 E F0(abo)3.723 E -.15 +(ve)-.15 G 3.973(\). The).15 F 1.472(shell al-)3.972 F -.1(wa)184 252 S +(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.) +-2.5 E F1(checkwinsize)144 264 Q F0 1.09(If set,)184 276 R F1(bash)3.59 +E F0 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09(ize after each e) +-3.59 F 1.09(xternal \(non-b)-.15 F 1.09(uiltin\) command and, if)-.2 F +(necessary)184 288 Q 3.351(,u)-.65 G .851(pdates the v)-3.351 F .85 +(alues of)-.25 F F2(LINES)3.35 E F0(and)3.1 E F2(COLUMNS)3.35 E/F3 9 +/Times-Roman@0 SF(.)A F0 .85(This option is enabled by de-)5.35 F -.1 +(fa)184 300 S(ult.).1 E F1(cmdhist)144 312 Q F0 .172(If set,)184 312 R +F1(bash)2.672 E F0 .172(attempts to sa)2.672 F .472 -.15(ve a)-.2 H .173 +(ll lines of a multiple-line command in the same history en-).15 F(try) +184 324 Q 5.597(.T)-.65 G .597(his allo)-5.597 F .597 +(ws easy re-editing of multi-line commands.)-.25 F .597 +(This option is enabled by de-)5.597 F -.1(fa)184 336 S 1.287(ult, b).1 +F 1.288(ut only has an ef)-.2 F 1.288 +(fect if command history is enabled, as described abo)-.25 F 1.588 -.15 +(ve u)-.15 H(nder).15 E F2(HIST)184 348 Q(OR)-.162 E(Y)-.315 E F3(.)A F1 +(compat31)144 360 Q F0 .42(If set,)184 372 R F1(bash)2.92 E F0 .42 (changes its beha)2.92 F .419(vior to that of v)-.2 F .419 (ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E .461(to the) -184 474 R F1([[)2.961 E F0 .462(conditional command')2.962 F(s)-.55 E F1 +184 384 R F1([[)2.961 E F0 .462(conditional command')2.962 F(s)-.55 E F1 (=~)2.962 E F0 .462 (operator and locale-speci\214c string comparison when)2.962 F .71 -(using the)184 486 R F1([[)3.21 E F0 .71(conditional command')3.21 F(s) +(using the)184 396 R F1([[)3.21 E F0 .71(conditional command')3.21 F(s) -.55 E F1(<)3.21 E F0(and)3.21 E F1(>)3.21 E F0 3.21(operators. Bash) -3.21 F -.15(ve)3.21 G .71(rsions prior to bash-4.1).15 F .82 -(use ASCII collation and)184 498 R/F4 10/Times-Italic@0 SF(str)3.321 E -(cmp)-.37 E F0 .821(\(3\); bash-4.1 and later use the current locale') -.19 F 3.321(sc)-.55 G(ollation)-3.321 E(sequence and)184 510 Q F4(str) -2.5 E(coll)-.37 E F0(\(3\).).51 E F1(compat32)144 522 Q F0 1.41(If set,) -184 534 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409 +3.21 F -.15(ve)3.21 G .71(rsions prior to bash-4.1).15 F .792 +(use ASCII collation and)184 408 R/F4 10/Times-Italic@0 SF(str)3.632 E +(cmp)-.37 E F0 .793(\(3\); bash-4.1 and later use the current locale') +.19 F 3.293(sc)-.55 G(ollation)-3.293 E(sequence and)184 420 Q F4(str) +2.84 E(coll)-.37 E F0(\(3\).).51 E F1(compat32)144 432 Q F0 1.41 +(If set,)184 444 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409 (vior to that of v)-.2 F 1.409 (ersion 3.2 with respect to locale-speci\214c)-.15 F .422 -(string comparison when using the)184 546 R F1([[)2.922 E F0 .422 +(string comparison when using the)184 456 R F1([[)2.922 E F0 .422 (conditional command')2.922 F(s)-.55 E F1(<)2.922 E F0(and)2.922 E F1(>) 2.923 E F0 .423(operators \(see pre-)2.923 F .481 -(vious item\) and the ef)184 558 R .481 +(vious item\) and the ef)184 468 R .481 (fect of interrupting a command list.)-.25 F .48(Bash v)5.481 F .48 -(ersions 3.2 and earlier)-.15 F(continue with the ne)184 570 Q +(ersions 3.2 and earlier)-.15 F(continue with the ne)184 480 Q (xt command in the list after one terminates due to an interrupt.)-.15 E -F1(compat40)144 582 Q F0 1.409(If set,)184 594 R F1(bash)3.909 E F0 +F1(compat40)144 492 Q F0 1.409(If set,)184 504 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F 1.41 -(ersion 4.0 with respect to locale-speci\214c)-.15 F 2.008 -(string comparison when using the)184 606 R F1([[)4.508 E F0 2.007 -(conditional command')4.508 F(s)-.55 E F1(<)4.507 E F0(and)4.507 E F1(>) -4.507 E F0 2.007(operators \(see)4.507 F .769(description of)184 618 R -F1(compat31)3.269 E F0 3.269(\)a)C .769(nd the ef)-3.269 F .769 -(fect of interrupting a command list.)-.25 F .77(Bash v)5.77 F(ersions) --.15 E .087(4.0 and later interrupt the list as if the shell recei)184 -630 R -.15(ve)-.25 G 2.586(dt).15 G .086(he interrupt; pre)-2.586 F .086 -(vious v)-.25 F .086(ersions con-)-.15 F(tinue with the ne)184 642 Q -(xt command in the list.)-.15 E F1(compat41)144 654 Q F0 1.523(If set,) -184 666 R F1(bash)4.023 E F0 4.023(,w)C 1.523(hen in)-4.023 F F4 1.523 -(posix mode)4.023 F F0 4.024(,t)C 1.524 -(reats a single quote in a double-quoted parameter)-4.024 F -.15(ex)184 -678 S .959(pansion as a special character).15 F 5.959(.T)-.55 G .958 -(he single quotes must match \(an e)-5.959 F -.15(ve)-.25 G 3.458(nn).15 -G .958(umber\) and)-3.458 F .59 -(the characters between the single quotes are considered quoted.)184 690 -R .59(This is the beha)5.59 F .59(vior of)-.2 F .59 -(posix mode through v)184 702 R .589(ersion 4.1.)-.15 F .589(The def) +(ersion 4.0 with respect to locale-speci\214c)-.15 F .679 +(string comparison when using the)184 516 R F1([[)3.179 E F0 .678 +(conditional command')3.179 F(s)-.55 E F1(<)3.178 E F0(and)3.178 E F1(>) +3.178 E F0 .678(operators \(see de-)3.178 F .282(scription of)184 528 R +F1(compat31)2.782 E F0 2.782(\)a)C .282(nd the ef)-2.782 F .282 +(fect of interrupting a command list.)-.25 F .283(Bash v)5.283 F .283 +(ersions 4.0)-.15 F 1.164 +(and later interrupt the list as if the shell recei)184 540 R -.15(ve) +-.25 G 3.664(dt).15 G 1.164(he interrupt; pre)-3.664 F 1.164(vious v) +-.25 F 1.164(ersions con-)-.15 F(tinue with the ne)184 552 Q +(xt command in the list.)-.15 E F1(compat41)144 564 Q F0 .414(If set,) +184 576 R F1(bash)2.914 E F0 2.914(,w)C .414(hen in)-2.914 F F4 .414 +(posix mode)2.914 F F0 2.914(,t)C .414 +(reats a single quote in a double-quoted parameter e)-2.914 F(x-)-.15 E +.503(pansion as a special character)184 588 R 5.502(.T)-.55 G .502 +(he single quotes must match \(an e)-5.502 F -.15(ve)-.25 G 3.002(nn).15 +G .502(umber\) and the)-3.002 F 1.866 +(characters between the single quotes are considered quoted.)184 600 R +1.866(This is the beha)6.866 F 1.866(vior of)-.2 F .59 +(posix mode through v)184 612 R .589(ersion 4.1.)-.15 F .589(The def) 5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .589 -(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 714 Q(GNU Bash 5.0)72 768 Q -(2004 Apr 20)149.565 E(18)198.725 E 0 Cg EP +(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 624 Q F1(compat42)144 636 Q +F0 .587(If set,)184 648 R F1(bash)3.087 E F0 .588 +(does not process the replacement string in the pattern substitution w) +3.088 F .588(ord e)-.1 F(x-)-.15 E(pansion using quote remo)184 660 Q +-.25(va)-.15 G(l.).25 E F1(compat43)144 672 Q F0 .141(If set,)184 684 R +F1(bash)2.641 E F0 .141(does not print a w)2.641 F .14 +(arning message if an attempt is made to use a quoted com-)-.1 F .912 +(pound array assignment as an ar)184 696 R .912(gument to)-.18 F F1 +(declar)3.413 E(e)-.18 E F0 3.413(,m)C(ak)-3.413 E .913(es w)-.1 F .913 +(ord e)-.1 F .913(xpansion errors non-)-.15 F -.1(fa)184 708 S .353 +(tal errors that cause the current command to f).1 F .353(ail \(the def) +-.1 F .352(ault beha)-.1 F .352(vior is to mak)-.2 F 2.852(et)-.1 G(hem) +-2.852 E -.1(fa)184 720 S 1.057(tal errors that cause the shell to e).1 +F 1.058(xit\), and does not reset the loop state when a shell)-.15 F +(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(18)198.725 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(compat42)144 84 Q F0 -1.796(If set,)184 96 R F1(bash)4.296 E F0 1.796 -(does not process the replacement string in the pattern substitution w) -4.296 F(ord)-.1 E -.15(ex)184 108 S(pansion using quote remo).15 E -.25 -(va)-.15 G(l.).25 E F1(compat43)144 120 Q F0 .141(If set,)184 132 R F1 -(bash)2.641 E F0 .141(does not print a w)2.641 F .14 -(arning message if an attempt is made to use a quoted com-)-.1 F .912 -(pound array assignment as an ar)184 144 R .912(gument to)-.18 F F1 -(declar)3.413 E(e)-.18 E F0 3.413(,m)C(ak)-3.413 E .913(es w)-.1 F .913 -(ord e)-.1 F .913(xpansion errors non-)-.15 F -.1(fa)184 156 S .353 -(tal errors that cause the current command to f).1 F .353(ail \(the def) --.1 F .352(ault beha)-.1 F .352(vior is to mak)-.2 F 2.852(et)-.1 G(hem) --2.852 E -.1(fa)184 168 S 1.057(tal errors that cause the shell to e).1 -F 1.058(xit\), and does not reset the loop state when a shell)-.15 F -.375(function is e)184 180 R -.15(xe)-.15 G .375(cuted \(this allo).15 F -(ws)-.25 E F1(br)2.875 E(eak)-.18 E F0(or)2.875 E F1(continue)2.875 E F0 -.374(in a shell function to af)2.875 F .374(fect loops in)-.25 F -(the caller')184 192 Q 2.5(sc)-.55 G(onte)-2.5 E(xt\).)-.15 E F1 -(compat44)144 204 Q F0 .441(If set,)184 216 R F1(bash)2.941 E F0(sa) +E(UIL)-.1 E(TINS\(1\))-.92 E .375(function is e)184 84 R -.15(xe)-.15 G +.375(cuted \(this allo).15 F(ws)-.25 E/F1 10/Times-Bold@0 SF(br)2.875 E +(eak)-.18 E F0(or)2.875 E F1(continue)2.875 E F0 .374 +(in a shell function to af)2.875 F .374(fect loops in)-.25 F +(the caller')184 96 Q 2.5(sc)-.55 G(onte)-2.5 E(xt\).)-.15 E F1 +(compat44)144 108 Q F0 .441(If set,)184 120 R F1(bash)2.941 E F0(sa) 2.942 E -.15(ve)-.2 G 2.942(st).15 G .442(he positional parameters to B) -2.942 F .442(ASH_ARGV and B)-.35 F .442(ASH_ARGC before)-.35 F(the)184 -228 Q 2.5(ya)-.15 G(re used, re)-2.5 E -.05(ga)-.15 G +132 Q 2.5(ya)-.15 G(re used, re)-2.5 E -.05(ga)-.15 G (rdless of whether or not e).05 E(xtended deb)-.15 E -(ugging mode is enabled.)-.2 E F1(complete_fullquote)144 240 Q F0 .654 -(If set,)184 252 R F1(bash)3.153 E F0 .653(quotes all shell metacharact\ +(ugging mode is enabled.)-.2 E F1(complete_fullquote)144 144 Q F0 .654 +(If set,)184 156 R F1(bash)3.153 E F0 .653(quotes all shell metacharact\ ers in \214lenames and directory names when per)3.153 F(-)-.2 E 1.524 -(forming completion.)184 264 R 1.524(If not set,)6.524 F F1(bash)4.024 E +(forming completion.)184 168 R 1.524(If not set,)6.524 F F1(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15 G 4.024(sm).15 G 1.524 (etacharacters such as the dollar sign)-4.024 F 2.667(from the set of c\ haracters that will be quoted in completed \214lenames when these)184 -276 R .028(metacharacters appear in shell v)184 288 R .028 +180 R .028(metacharacters appear in shell v)184 192 R .028 (ariable references in w)-.25 F .029(ords to be completed.)-.1 F .029 -(This means)5.029 F 1.073(that dollar signs in v)184 300 R 1.073 +(This means)5.029 F 1.073(that dollar signs in v)184 204 R 1.073 (ariable names that e)-.25 F 1.073 (xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25 -(ev e)184 312 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123 +(ev e)184 216 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123 (ollar signs appearing in \214lenames will not be quoted, either).15 F 6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59 (only when bash is using backslashes to quote completed \214lenames.)184 -324 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 336 Q +228 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 240 Q (ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E -(ersions through 4.2.)-.15 E F1(dir)144 348 Q(expand)-.18 E F0 .486 -(If set,)184 360 R F1(bash)2.986 E F0 .486 +(ersions through 4.2.)-.15 E F1(dir)144 252 Q(expand)-.18 E F0 .486 +(If set,)184 264 R F1(bash)2.986 E F0 .486 (replaces directory names with the results of w)2.986 F .486(ord e)-.1 F .487(xpansion when perform-)-.15 F .18(ing \214lename completion.)184 -372 R .179(This changes the contents of the readline editing b)5.18 F +276 R .179(This changes the contents of the readline editing b)5.18 F (uf)-.2 E(fer)-.25 E 5.179(.I)-.55 G 2.679(fn)-5.179 G(ot)-2.679 E(set,) -184 384 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G -(hat the user typed.)-2.5 E F1(dirspell)144 396 Q F0 .858(If set,)184 -396 R F1(bash)3.358 E F0 .858 +184 288 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G +(hat the user typed.)-2.5 E F1(dirspell)144 300 Q F0 .858(If set,)184 +300 R F1(bash)3.358 E F0 .858 (attempts spelling correction on directory names during w)3.358 F .859 (ord completion if)-.1 F -(the directory name initially supplied does not e)184 408 Q(xist.)-.15 E -F1(dotglob)144 420 Q F0 .165(If set,)184 420 R F1(bash)2.665 E F0 .165 +(the directory name initially supplied does not e)184 312 Q(xist.)-.15 E +F1(dotglob)144 324 Q F0 .165(If set,)184 324 R F1(bash)2.665 E F0 .165 (includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i) -.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F -(xpansion.)-.15 E(The \214lenames)184 432 Q F1 -.63(``)2.5 G -.55(.').63 +(xpansion.)-.15 E(The \214lenames)184 336 Q F1 -.63(``)2.5 G -.55(.').63 G(')-.08 E F0(and)5 E F1 -.63(``)2.5 G(..).63 E -.63('')-.55 G F0 (must al)5.63 E -.1(wa)-.1 G(ys be matched e).1 E(xplicitly)-.15 E 2.5 (,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F1(dotglob)2.5 E F0 -(is set.)2.5 E F1(execfail)144 444 Q F0 1.386(If set, a non-interacti) -184 444 R 1.686 -.15(ve s)-.25 H 1.386(hell will not e).15 F 1.386 -(xit if it cannot e)-.15 F -.15(xe)-.15 G 1.387 -(cute the \214le speci\214ed as an).15 F(ar)184 456 Q(gument to the)-.18 -E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E(An interacti)5 E .3 --.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F1(exec)2.5 E F0 --.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 468 Q F0 .717 -(If set, aliases are e)184 480 R .717(xpanded as described abo)-.15 F +(is set.)2.5 E F1(execfail)144 348 Q F0 .516(If set, a non-interacti)184 +348 R .816 -.15(ve s)-.25 H .516(hell will not e).15 F .516 +(xit if it cannot e)-.15 F -.15(xe)-.15 G .517 +(cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the)184 +360 Q F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E(An interacti)5 E +.3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F1(exec)2.5 E F0 +-.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 372 Q F0 .717 +(If set, aliases are e)184 384 R .717(xpanded as described abo)-.15 F 1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E /F3 9/Times-Roman@0 SF(.)A F0 .716(This option is enabled)5.217 F -(by def)184 492 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.) -.15 E F1(extdeb)144 504 Q(ug)-.2 E F0 .17(If set at shell in)184 516 R +(by def)184 396 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.) +.15 E F1(extdeb)144 408 Q(ug)-.2 E F0 .17(If set at shell in)184 420 R -.2(vo)-.4 G .17(cation, or in a shell startup \214le, arrange to e).2 F --.15(xe)-.15 G .17(cute the deb).15 F .17(ugger pro\214le)-.2 F 2.444 -(before the shell starts, identical to the)184 528 R F14.944 -E(ugger)-.2 E F0 4.944(option. If)4.944 F 2.444(set after in)4.944 F -.2 -(vo)-.4 G(cation,).2 E(beha)184 540 Q(vior intended for use by deb)-.2 E -(uggers is enabled:)-.2 E F1(1.)184 552 Q F0(The)220 552 Q F14.25 -E F0 1.75(option to the)4.25 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu) -4.251 G 1.751(iltin displays the source \214le name and line).2 F -(number corresponding to each function name supplied as an ar)220 564 Q -(gument.)-.18 E F1(2.)184 576 Q F0 1.667(If the command run by the)220 -576 R F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F -1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 588 -Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 600 Q F0 .84 -(If the command run by the)220 600 R F1(DEB)3.34 E(UG)-.1 E F0 .841 +-.15(xe)-.15 G .17(cute the deb).15 F .17(ugger pro\214le)-.2 F 1.082 +(before the shell starts, identical to the)184 432 R F13.582 +E(ugger)-.2 E F0 3.581(option. If)3.581 F 1.081(set after in)3.581 F -.2 +(vo)-.4 G 1.081(cation, be-).2 F(ha)184 444 Q +(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184 +456 Q F0(The)220 456 Q F14.25 E F0 1.75(option to the)4.25 F F1 +(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751 +(iltin displays the source \214le name and line).2 F +(number corresponding to each function name supplied as an ar)220 468 Q +(gument.)-.18 E F1(2.)184 480 Q F0 1.667(If the command run by the)220 +480 R F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F +1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 492 +Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 504 Q F0 .84 +(If the command run by the)220 504 R F1(DEB)3.34 E(UG)-.1 E F0 .841 (trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15 -(exe)220 612 S .488 +(exe)220 516 S .488 (cuting in a subroutine \(a shell function or a shell script e).15 F -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1 -(sour)220 624 Q(ce)-.18 E F0 -.2(bu)2.5 G +(sour)220 528 Q(ce)-.18 E F0 -.2(bu)2.5 G (iltins\), the shell simulates a call to).2 E F1 -.18(re)2.5 G(tur).18 E -(n)-.15 E F0(.)A F1(4.)184 636 Q F2 -.27(BA)220 636 S(SH_ARGC).27 E F0 +(n)-.15 E F0(.)A F1(4.)184 540 Q F2 -.27(BA)220 540 S(SH_ARGC).27 E F0 (and)3.153 E F2 -.27(BA)3.403 G(SH_ARGV).27 E F0 .904 -(are updated as described in their descriptions)3.154 F(abo)220 648 Q --.15(ve)-.15 G(.).15 E F1(5.)184 660 Q F0 1.637(Function tracing is ena\ -bled: command substitution, shell functions, and sub-)220 660 R -(shells in)220 672 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1 +(are updated as described in their descriptions)3.154 F(abo)220 552 Q +-.15(ve)-.15 G(.).15 E F1(5.)184 564 Q F0 1.637(Function tracing is ena\ +bled: command substitution, shell functions, and sub-)220 564 R +(shells in)220 576 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1 (\()2.5 E/F4 10/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0 (inherit the)2.5 E F1(DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0 -(traps.)2.5 E F1(6.)184 684 Q F0 1.082(Error tracing is enabled: comman\ -d substitution, shell functions, and subshells)220 684 R(in)220 696 Q +(traps.)2.5 E F1(6.)184 588 Q F0 1.082(Error tracing is enabled: comman\ +d substitution, shell functions, and subshells)220 588 R(in)220 600 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4(command) 2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)2.5 E F1 -(extglob)144 708 Q F0 .4(If set, the e)184 708 R .4 +(extglob)144 612 Q F0 .4(If set, the e)184 612 R .4 (xtended pattern matching features described abo)-.15 F .7 -.15(ve u) --.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 720 Q -F0(are enabled.)2.5 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(19) -198.725 E 0 Cg EP +-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 624 Q +F0(are enabled.)2.5 E F1(extquote)144 636 Q F0 .86(If set,)184 648 R F1 +($)3.36 E F0<08>A F4(string)A F0 3.36<0861>C(nd)-3.36 E F1($)3.36 E F0 +(")A F4(string)A F0 3.36("q)C .86(uoting is performed within)-3.36 F F1 +(${)3.36 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)3.36 G .86 +(pansions en-).15 F(closed in double quotes.)184 660 Q +(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 672 Q F0 +.243(If set, patterns which f)184 672 R .243 +(ail to match \214lenames during pathname e)-.1 F .243 +(xpansion result in an e)-.15 F(x-)-.15 E(pansion error)184 684 Q(.)-.55 +E F1 -.25(fo)144 696 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 .936 +(If set, the suf)184 708 R<8c78>-.25 E .936(es speci\214ed by the)-.15 F +F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)-.25 F +.937(ords to be ignored)-.1 F 2.268(when performing w)184 720 R 2.268 +(ord completion e)-.1 F -.15(ve)-.25 G 4.768(ni).15 G 4.768(ft)-4.768 G +2.267(he ignored w)-4.768 F 2.267(ords are the only possible)-.1 F +(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(19)198.725 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(extquote)144 84 Q F0 -2.473(If set,)184 96 R F1($)4.973 E F0<08>A/F2 10/Times-Italic@0 SF -(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973 E F0(")A F2(string)A F0 -4.973("q)C 2.473(uoting is performed within)-4.973 F F1(${)4.973 E F2 -(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G(pansions).15 E -(enclosed in double quotes.)184 108 Q(This option is enabled by def)5 E -(ault.)-.1 E F1(failglob)144 120 Q F0 1.425(If set, patterns which f)184 -120 R 1.425(ail to match \214lenames during pathname e)-.1 F 1.424 -(xpansion result in an)-.15 F -.15(ex)184 132 S(pansion error).15 E(.) --.55 E F1 -.25(fo)144 144 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 -.936(If set, the suf)184 156 R<8c78>-.25 E .936(es speci\214ed by the) --.15 F/F3 9/Times-Bold@0 SF(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936 -(ariable cause w)-.25 F .937(ords to be ignored)-.1 F .32 -(when performing w)184 168 R .32(ord completion e)-.1 F -.15(ve)-.25 G -2.82(ni).15 G 2.82(ft)-2.82 G .32(he ignored w)-2.82 F .32 -(ords are the only possible com-)-.1 F 2.947(pletions. See)184 180 R F3 -.447(SHELL V)2.947 F(ARIABLES)-1.215 E F0(abo)2.697 E .747 -.15(ve f) --.15 H .448(or a description of).15 F F3(FIGNORE)2.948 E/F4 9 -/Times-Roman@0 SF(.)A F0 .448(This option is)4.948 F(enabled by def)184 -192 Q(ault.)-.1 E F1(globasciiranges)144 204 Q F0 2.519(If set, range e) -184 216 R 2.519(xpressions used in pattern matching brack)-.15 F 2.518 -(et e)-.1 F 2.518(xpressions \(see)-.15 F F3 -.09(Pa)5.018 G(tter).09 E -(n)-.135 E(Matching)184 228 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b) -.15 G(eha)-3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 -G 3.214(nt)-3.214 G .714 -(he traditional C locale when performing comparisons.)-3.214 F 1.02 -(That is, the current locale')184 240 R 3.52(sc)-.55 G 1.02 -(ollating sequence is not tak)-3.52 F 1.02(en into account, so)-.1 F F1 -(b)3.52 E F0 1.02(will not)3.52 F .956(collate between)184 252 R F1(A) -3.456 E F0(and)3.456 E F1(B)3.456 E F0 3.457(,a)C .957(nd upper)-3.457 F +E(UIL)-.1 E(TINS\(1\))-.92 E 3.368(completions. See)184 84 R/F1 9 +/Times-Bold@0 SF .868(SHELL V)3.368 F(ARIABLES)-1.215 E F0(abo)3.118 E +1.168 -.15(ve f)-.15 H .868(or a description of).15 F F1(FIGNORE)3.369 E +/F2 9/Times-Roman@0 SF(.)A F0 .869(This op-)5.369 F +(tion is enabled by def)184 96 Q(ault.)-.1 E/F3 10/Times-Bold@0 SF +(globasciiranges)144 108 Q F0 2.519(If set, range e)184 120 R 2.519 +(xpressions used in pattern matching brack)-.15 F 2.518(et e)-.1 F 2.518 +(xpressions \(see)-.15 F F1 -.09(Pa)5.018 G(tter).09 E(n)-.135 E +(Matching)184 132 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b).15 G(eha) +-3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 G 3.214 +(nt)-3.214 G .714(he traditional C locale when performing comparisons.) +-3.214 F 1.02(That is, the current locale')184 144 R 3.52(sc)-.55 G 1.02 +(ollating sequence is not tak)-3.52 F 1.02(en into account, so)-.1 F F3 +(b)3.52 E F0 1.02(will not)3.52 F .956(collate between)184 156 R F3(A) +3.456 E F0(and)3.456 E F3(B)3.456 E F0 3.457(,a)C .957(nd upper)-3.457 F .957(-case and lo)-.2 F(wer)-.25 E .957 -(-case ASCII characters will collate)-.2 F(together)184 264 Q(.)-.55 E -F1(globstar)144 276 Q F0 .519(If set, the pattern)184 276 R F1(**)3.019 +(-case ASCII characters will collate)-.2 F(together)184 168 Q(.)-.55 E +F3(globstar)144 180 Q F0 .519(If set, the pattern)184 180 R F3(**)3.019 E F0 .519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .518 (xt will match all \214les and zero)-.15 F .431 -(or more directories and subdirectories.)184 288 R .431 -(If the pattern is follo)5.431 F .432(wed by a)-.25 F F1(/)2.932 E F0 +(or more directories and subdirectories.)184 192 R .431 +(If the pattern is follo)5.431 F .432(wed by a)-.25 F F3(/)2.932 E F0 2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184 -300 Q F1(gnu_errfmt)144 312 Q F0(If set, shell error messages are writt\ -en in the standard GNU error message format.)184 324 Q F1(histappend)144 -336 Q F0 .676 +204 Q F3(gnu_errfmt)144 216 Q F0(If set, shell error messages are writt\ +en in the standard GNU error message format.)184 228 Q F3(histappend)144 +240 Q F0 .676 (If set, the history list is appended to the \214le named by the v)184 -348 R .676(alue of the)-.25 F F3(HISTFILE)3.176 E F0 -.25(va)2.926 G -(ri-).25 E(able when the shell e)184 360 Q(xits, rather than o)-.15 E --.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 372 Q(eedit)-.18 -E F0 .575(If set, and)184 384 R F1 -.18(re)3.075 G(adline).18 E F0 .575 +252 R .676(alue of the)-.25 F F1(HISTFILE)3.176 E F0 -.25(va)2.926 G +(ri-).25 E(able when the shell e)184 264 Q(xits, rather than o)-.15 E +-.15(ve)-.15 G(rwriting the \214le.).15 E F3(histr)144 276 Q(eedit)-.18 +E F0 .575(If set, and)184 288 R F3 -.18(re)3.075 G(adline).18 E F0 .575 (is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576 (he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F -(tory substitution.)184 396 Q F1(histv)144 408 Q(erify)-.1 E F0 .403 -(If set, and)184 420 R F1 -.18(re)2.903 G(adline).18 E F0 .403 +(tory substitution.)184 300 Q F3(histv)144 312 Q(erify)-.1 E F0 .403 +(If set, and)184 324 R F3 -.18(re)2.903 G(adline).18 E F0 .403 (is being used, the results of history substitution are not immediately) -2.903 F .661(passed to the shell parser)184 432 R 5.661(.I)-.55 G .662 -(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162 -G(adline).18 E F0(editing)3.162 E -.2(bu)184 444 S -.25(ff).2 G(er).25 E -2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1 -(hostcomplete)144 456 Q F0 1.182(If set, and)184 468 R F1 -.18(re)3.682 -G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181 +2.903 F .661(passed to the shell parser)184 336 R 5.661(.I)-.55 G .662 +(nstead, the resulting line is loaded into the)-5.661 F F3 -.18(re)3.162 +G(adline).18 E F0(editing)3.162 E -.2(bu)184 348 S -.25(ff).2 G(er).25 E +2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F3 +(hostcomplete)144 360 Q F0 1.182(If set, and)184 372 R F3 -.18(re)3.682 +G(adline).18 E F0 1.182(is being used,)3.682 F F3(bash)3.682 E F0 1.181 (will attempt to perform hostname completion)3.681 F 1.38(when a w)184 -480 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381 -(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E -F3(READLINE)3.881 E F0(abo)184 492 Q -.15(ve)-.15 G 2.5(\). This).15 F -(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 504 Q F0(If set,) -184 516 Q F1(bash)2.5 E F0(will send)2.5 E F3(SIGHUP)2.5 E F0 +384 R 1.38(ord containing a)-.1 F F3(@)3.881 E F0 1.381 +(is being completed \(see)3.881 F F3(Completing)3.881 E F0(under)3.881 E +F1(READLINE)3.881 E F0(abo)184 396 Q -.15(ve)-.15 G 2.5(\). This).15 F +(is enabled by def)2.5 E(ault.)-.1 E F3(huponexit)144 408 Q F0(If set,) +184 420 Q F3(bash)2.5 E F0(will send)2.5 E F1(SIGHUP)2.5 E F0 (to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e) -.15 E(xits.)-.15 E F1(inherit_err)144 528 Q(exit)-.18 E F0 .22 -(If set, command substitution inherits the v)184 540 R .219(alue of the) --.25 F F1(err)2.719 E(exit)-.18 E F0 .219(option, instead of unsetting) -2.719 F(it in the subshell en)184 552 Q 2.5(vironment. This)-.4 F -(option is enabled when)2.5 E F2(posix mode)2.5 E F0(is enabled.)2.5 E -F1(interacti)144 564 Q -.1(ve)-.1 G(_comments).1 E F0 .33(If set, allo) -184 576 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33(ginning with)-.15 F F1 -(#)2.83 E F0 .33(to cause that w)2.83 F .33 +.15 E(xits.)-.15 E F3(inherit_err)144 432 Q(exit)-.18 E F0 .22 +(If set, command substitution inherits the v)184 444 R .219(alue of the) +-.25 F F3(err)2.719 E(exit)-.18 E F0 .219(option, instead of unsetting) +2.719 F(it in the subshell en)184 456 Q 2.5(vironment. This)-.4 F +(option is enabled when)2.5 E/F4 10/Times-Italic@0 SF(posix mode)2.5 E +F0(is enabled.)2.5 E F3(interacti)144 468 Q -.1(ve)-.1 G(_comments).1 E +F0 .33(If set, allo)184 480 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33 +(ginning with)-.15 F F3(#)2.83 E F0 .33(to cause that w)2.83 F .33 (ord and all remaining characters on)-.1 F .967 -(that line to be ignored in an interacti)184 588 R 1.267 -.15(ve s)-.25 -H .967(hell \(see).15 F F3(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15 -G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 600 Q -(ault.)-.1 E F1(lastpipe)144 612 Q F0 .066 -(If set, and job control is not acti)184 612 R -.15(ve)-.25 G 2.566(,t) +(that line to be ignored in an interacti)184 492 R 1.267 -.15(ve s)-.25 +H .967(hell \(see).15 F F1(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15 +G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 504 Q +(ault.)-.1 E F3(lastpipe)144 516 Q F0 .066 +(If set, and job control is not acti)184 516 R -.15(ve)-.25 G 2.566(,t) .15 G .066(he shell runs the last command of a pipeline not e)-2.566 F -.15(xe)-.15 G(-).15 E(cuted in the background in the current shell en) -184 624 Q(vironment.)-.4 E F1(lithist)144 636 Q F0 .655(If set, and the) -184 636 R F1(cmdhist)3.155 E F0 .654 +184 528 Q(vironment.)-.4 E F3(lithist)144 540 Q F0 .655(If set, and the) +184 540 R F3(cmdhist)3.155 E F0 .654 (option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G 3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F -(with embedded ne)184 648 Q -(wlines rather than using semicolon separators where possible.)-.25 E F1 -(localv)144 660 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 672 R +(with embedded ne)184 552 Q +(wlines rather than using semicolon separators where possible.)-.25 E F3 +(localv)144 564 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 576 R .422(ariables inherit the v)-.25 F .422(alue and attrib)-.25 F .422 (utes of a v)-.2 F .422(ariable of the same name that)-.25 F -.15(ex)184 -684 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673 +588 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673 (yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .173 -(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 696 Q -(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(20)198.725 E 0 Cg EP +(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 600 Q +F3(localv)144 612 Q(ar_unset)-.1 E F0 .328(If set, calling)184 624 R F3 +(unset)2.828 E F0 .328(on local v)2.828 F .329(ariables in pre)-.25 F +.329(vious function scopes marks them so subse-)-.25 F .543(quent looku\ +ps \214nd them unset until that function returns. This is identical to \ +the beha)184 636 R(v-)-.2 E(ior of unsetting local v)184 648 Q +(ariables at the current function scope.)-.25 E F3(login_shell)144 660 Q +F0 .486 +(The shell sets this option if it is started as a login shell \(see)184 +672 R F1(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)2.737 E -.15(ve) +-.15 G 2.987(\). The).15 F -.25(va)184 684 S(lue may not be changed.).25 +E F3(mailwar)144 696 Q(n)-.15 E F0 .815(If set, and a \214le that)184 +708 R F3(bash)3.315 E F0 .814 +(is checking for mail has been accessed since the last time it)3.315 F +-.1(wa)184 720 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E +(`The mail in)-.74 E F4(mail\214le)2.5 E F0(has been read')2.5 E 2.5('i) +-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E(GNU Bash 5.0)72 768 Q(2004 Apr 20) +149.565 E(20)198.725 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(localv)144 84 Q -(ar_unset)-.1 E F0 .328(If set, calling)184 96 R F1(unset)2.828 E F0 -.328(on local v)2.828 F .329(ariables in pre)-.25 F .329 -(vious function scopes marks them so subse-)-.25 F .543(quent lookups \ -\214nd them unset until that function returns. This is identical to the\ - beha)184 108 R(v-)-.2 E(ior of unsetting local v)184 120 Q -(ariables at the current function scope.)-.25 E F1(login_shell)144 132 Q -F0 .486 -(The shell sets this option if it is started as a login shell \(see)184 -144 R/F2 9/Times-Bold@0 SF(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo) -2.737 E -.15(ve)-.15 G 2.987(\). The).15 F -.25(va)184 156 S -(lue may not be changed.).25 E F1(mailwar)144 168 Q(n)-.15 E F0 .815 -(If set, and a \214le that)184 180 R F1(bash)3.315 E F0 .814 -(is checking for mail has been accessed since the last time it)3.315 F --.1(wa)184 192 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E -(`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0 -(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1 -(no_empty_cmd_completion)144 204 Q F0 .324(If set, and)184 216 R F1 -.18 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF +(no_empty_cmd_completion)144 84 Q F0 .324(If set, and)184 96 R F1 -.18 (re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E -F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH) --.189 E F0 .325(for possible)2.575 F -(completions when completion is attempted on an empty line.)184 228 Q F1 -(nocaseglob)144 240 Q F0 .437(If set,)184 252 R F1(bash)2.937 E F0 .436 +F0 .324(will not attempt to search the)2.824 F/F2 9/Times-Bold@0 SF +-.666(PA)2.825 G(TH)-.189 E F0 .325(for possible)2.575 F +(completions when completion is attempted on an empty line.)184 108 Q F1 +(nocaseglob)144 120 Q F0 .437(If set,)184 132 R F1(bash)2.937 E F0 .436 (matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25 -H .436(ashion when performing pathname).05 F -.15(ex)184 264 S +H .436(ashion when performing pathname).05 F -.15(ex)184 144 S (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E F1(nocasematch)144 276 Q F0 1.193(If set,)184 -288 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti) +-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 156 Q F0 1.193(If set,)184 +168 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti) 3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05 -F .551(while e)184 300 R -.15(xe)-.15 G(cuting).15 E F1(case)3.051 E F0 +F .551(while e)184 180 R -.15(xe)-.15 G(cuting).15 E F1(case)3.051 E F0 (or)3.051 E F1([[)3.051 E F0 .551 (conditional commands, when performing pattern substitution)3.051 F -.1 -(wo)184 312 S .622(rd e).1 F .623(xpansions, or when \214ltering possib\ -le completions as part of programmable com-)-.15 F(pletion.)184 324 Q F1 -(nullglob)144 336 Q F0 .855(If set,)184 348 R F1(bash)3.355 E F0(allo) +(wo)184 192 S .622(rd e).1 F .623(xpansions, or when \214ltering possib\ +le completions as part of programmable com-)-.15 F(pletion.)184 204 Q F1 +(nullglob)144 216 Q F0 .855(If set,)184 228 R F1(bash)3.355 E F0(allo) 3.355 E .855(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa) 3.354 G .854(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354 -(\)t).15 G(o)-3.354 E -.15(ex)184 360 S -(pand to a null string, rather than themselv).15 E(es.)-.15 E F1 -(posixglob)144 372 Q F0 1.036(If set,)184 384 R F1(bash)3.536 E F0(mak) -3.536 E 1.036(es w)-.1 F 1.036 -(ords containing unquoted backslashes after e)-.1 F 1.037 -(xpansion eligible for)-.15 F 1.076(pathname e)184 396 R 1.076 -(xpansion, e)-.15 F -.15(ve)-.25 G 3.576(ni).15 G 3.576(ft)-3.576 G(he) --3.576 E 3.576(yd)-.15 G(on')-3.576 E 3.575(tc)-.18 G 1.075(ontain an) --3.575 F 3.575(yo)-.15 G 1.075(ther unquoted pattern characters.)-3.575 -F(This option is enabled by def)184 408 Q(ault, and is enabled when)-.1 -E F3(posix mode)2.5 E F0(is enabled.)2.5 E F1(pr)144 420 Q(ogcomp)-.18 E -F0 .676(If set, the programmable completion f)184 432 R .677 -(acilities \(see)-.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F -F0(abo)3.177 E -.15(ve)-.15 G(\)).15 E(are enabled.)184 444 Q -(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 456 Q -(ogcomp_alias)-.18 E F0 2.124 -(If set, and programmable completion is enabled,)184 468 R F1(bash)4.624 -E F0 2.124(treats a command name that)4.624 F(doesn')184 480 Q 3.288(th) +(\)t).15 G(o)-3.354 E -.15(ex)184 240 S +(pand to a null string, rather than themselv).15 E(es.)-.15 E F1(pr)144 +252 Q(ogcomp)-.18 E F0 .676(If set, the programmable completion f)184 +264 R .677(acilities \(see)-.1 F F1(Pr)3.177 E .677 +(ogrammable Completion)-.18 F F0(abo)3.177 E -.15(ve)-.15 G(\)).15 E +(are enabled.)184 276 Q(This option is enabled by def)5 E(ault.)-.1 E F1 +(pr)144 288 Q(ogcomp_alias)-.18 E F0 2.124 +(If set, and programmable completion is enabled,)184 300 R F1(bash)4.624 +E F0 2.124(treats a command name that)4.624 F(doesn')184 312 Q 3.288(th) -.18 G -2.25 -.2(av e)-3.288 H(an)3.488 E 3.288(yc)-.15 G .789 (ompletions as a possible alias and attempts alias e)-3.288 F .789 -(xpansion. If it has)-.15 F 1.473(an alias,)184 492 R F1(bash)3.973 E F0 +(xpansion. If it has)-.15 F 1.473(an alias,)184 324 R F1(bash)3.973 E F0 1.473(attempts programmable completion using the command w)3.973 F 1.473 -(ord resulting)-.1 F(from the e)184 504 Q(xpanded alias.)-.15 E F1(pr) -144 516 Q(omptv)-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under) -184 528 R 1.448(go parameter e)-.18 F 1.448 -(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 540 S +(ord resulting)-.1 F(from the e)184 336 Q(xpanded alias.)-.15 E F1(pr) +144 348 Q(omptv)-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under) +184 360 R 1.448(go parameter e)-.18 F 1.448 +(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 372 S .171(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17 (fter being e)-2.67 F .17(xpanded as described in)-.15 F F2(PR)2.67 E (OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E -(This option is enabled by def)184 552 Q(ault.)-.1 E F1 -.18(re)144 564 +(This option is enabled by def)184 384 Q(ault.)-.1 E F1 -.18(re)144 396 S(stricted_shell).18 E F0 1.069 (The shell sets this option if it is started in restricted mode \(see) -184 576 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 588 Q 2.86 +184 408 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 420 Q 2.86 (w\). The)-.25 F -.25(va)2.86 G .36(lue may not be changed.).25 F .36 (This is not reset when the startup \214les are e)5.36 F -.15(xe)-.15 G -(-).15 E(cuted, allo)184 600 Q(wing the startup \214les to disco)-.25 E +(-).15 E(cuted, allo)184 432 Q(wing the startup \214les to disco)-.25 E -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E -F1(shift_v)144 612 Q(erbose)-.1 E F0 .501(If set, the)184 624 R F1 +F1(shift_v)144 444 Q(erbose)-.1 E F0 .501(If set, the)184 456 R F1 (shift)3.001 E F0 -.2(bu)3.001 G .501 (iltin prints an error message when the shift count e).2 F .502 -(xceeds the number)-.15 F(of positional parameters.)184 636 Q F1(sour) -144 648 Q(cepath)-.18 E F0 .771(If set, the)184 660 R F1(sour)3.271 E +(xceeds the number)-.15 F(of positional parameters.)184 468 Q F1(sour) +144 480 Q(cepath)-.18 E F0 .771(If set, the)184 492 R F1(sour)3.271 E (ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v) -3.471 F .771(alue of)-.25 F F2 -.666(PA)3.27 G(TH)-.189 E F0 .77 (to \214nd the directory containing the)3.02 F(\214le supplied as an ar) -184 672 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.) --.1 E F1(xpg_echo)144 684 Q F0(If set, the)184 696 Q F1(echo)2.5 E F0 +184 504 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.) +-.1 E F1(xpg_echo)144 516 Q F0(If set, the)184 528 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15 -E(ault.)-.1 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(21)198.725 E 0 +E(ault.)-.1 E F1(suspend)108 544.8 Q F0([)2.5 E F1A F0(])A 1.001 +(Suspend the e)144 556.8 R -.15(xe)-.15 G 1.001 +(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G +F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be) +3.502 F .023(suspended; the)144 568.8 R F12.523 E F0 .023 +(option can be used to o)2.523 F -.15(ve)-.15 G .022 +(rride this and force the suspension.).15 F .022(The return status is) +5.022 F 2.5(0u)144 580.8 S(nless the shell is a login shell and)-2.5 E +F12.5 E F0(is not supplied, or if job control is not enabled.)2.5 +E F1(test)108 597.6 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([) +108 609.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .877 +(Return a status of 0 \(true\) or 1 \(f)144 609.6 R .878 +(alse\) depending on the e)-.1 F -.25(va)-.25 G .878 +(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 621.6 +S(pr).2 E F0 5.53(.E).73 G .53 +(ach operator and operand must be a separate ar)-5.53 F 3.03 +(gument. Expressions)-.18 F .53(are composed of the)3.03 F .072 +(primaries described in the)144 633.6 R F1(bash)2.573 E F0 .073 +(manual page under)2.573 F F2(CONDITION)2.573 E .073(AL EXPRESSIONS)-.18 +F/F4 9/Times-Roman@0 SF(.)A F1(test)4.573 E F0 .073(does not)2.573 F +.695(accept an)144 645.6 R 3.195(yo)-.15 G .695 +(ptions, nor does it accept and ignore an ar)-3.195 F .694(gument of) +-.18 F F13.194 E F0 .694(as signifying the end of op-)3.194 F +(tions.)144 657.6 Q .785(Expressions may be combined using the follo)144 +675.6 R .786(wing operators, listed in decreasing order of prece-)-.25 F +3.412(dence. The)144 687.6 R -.25(eva)3.412 G .912 +(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F +4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F +(used when there are \214v)144 699.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G +(ore ar)-2.5 E(guments.)-.18 E F1(!)144 711.6 Q F3 -.2(ex)2.5 G(pr).2 E +F0 -.35(Tr)180 711.6 S(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 +E(alse.)-.1 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(21)198.725 E 0 Cg EP %%Page: 22 22 %%BeginPageSetup @@ -2743,410 +2763,387 @@ BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(suspend)108 84 Q F0 -([)2.5 E F1A F0(])A 1.001(Suspend the e)144 96 R -.15(xe)-.15 G -1.001(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa) -.15 G/F2 9/Times-Bold@0 SF(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002 -(login shell cannot be)3.502 F .023(suspended; the)144 108 R F1 -2.523 E F0 .023(option can be used to o)2.523 F -.15(ve)-.15 G .022 -(rride this and force the suspension.).15 F .022(The return status is) -5.022 F 2.5(0u)144 120 S(nless the shell is a login shell and)-2.5 E F1 -2.5 E F0(is not supplied, or if job control is not enabled.)2.5 E -F1(test)108 136.8 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([) -108 148.8 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .877 -(Return a status of 0 \(true\) or 1 \(f)144 148.8 R .878 -(alse\) depending on the e)-.1 F -.25(va)-.25 G .878 -(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 160.8 -S(pr).2 E F0 5.53(.E).73 G .53 -(ach operator and operand must be a separate ar)-5.53 F 3.03 -(gument. Expressions)-.18 F .53(are composed of the)3.03 F .072 -(primaries described in the)144 172.8 R F1(bash)2.573 E F0 .073 -(manual page under)2.573 F F2(CONDITION)2.573 E .073(AL EXPRESSIONS)-.18 -F/F4 9/Times-Roman@0 SF(.)A F1(test)4.573 E F0 .073(does not)2.573 F -1.667(accept an)144 184.8 R 4.167(yo)-.15 G 1.667 -(ptions, nor does it accept and ignore an ar)-4.167 F 1.666(gument of) --.18 F F14.166 E F0 1.666(as signifying the end of)4.166 F -(options.)144 196.8 Q .785(Expressions may be combined using the follo) -144 214.8 R .786(wing operators, listed in decreasing order of prece-) --.25 F 3.412(dence. The)144 226.8 R -.25(eva)3.412 G .912 -(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F -4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F -(used when there are \214v)144 238.8 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G -(ore ar)-2.5 E(guments.)-.18 E F1(!)144 250.8 Q F3 -.2(ex)2.5 G(pr).2 E -F0 -.35(Tr)180 250.8 S(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 -E(alse.)-.1 E F1(\()144 262.8 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 -.26(Returns the v)180 262.8 R .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 -E F0 5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26 -(rride the normal precedence of opera-).15 F(tors.)180 274.8 Q F3 -.2 -(ex)144 286.8 S(pr1).2 E F02.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 --.35(Tr)180 298.8 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 -E F3 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 310.8 S -(pr1).2 E F02.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 -322.8 S(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2 -(ex)2.5 G(pr2).2 E F0(is true.)2.52 E F1(test)144 339.6 Q F0(and)2.5 E -F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(\()144 84 Q/F2 10 +/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26 +(Returns the v)180 84 R .26(alue of)-.25 F F2 -.2(ex)2.76 G(pr).2 E F0 +5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26 +(rride the normal precedence of opera-).15 F(tors.)180 96 Q F2 -.2(ex) +144 108 S(pr1).2 E F02.5 E F1(a)A F2 -.2(ex)2.5 G(pr2).2 E F0 -.35 +(Tr)180 120 S(ue if both).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F2 +-.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F2 -.2(ex)144 132 S(pr1).2 E +F02.5 E F1(o)A F2 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 144 S +(ue if either).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F2 -.2(ex)2.5 G +(pr2).2 E F0(is true.)2.52 E F1(test)144 160.8 Q F0(and)2.5 E F1([)2.5 E +F0 -.25(eva)2.5 G(luate conditional e).25 E (xpressions using a set of rules based on the number of ar)-.15 E -(guments.)-.18 E 2.5(0a)144 357.6 S -.18(rg)-2.5 G(uments).18 E(The e) -180 369.6 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 381.6 S -.18 -(rg)-2.5 G(ument).18 E(The e)180 393.6 Q +(guments.)-.18 E 2.5(0a)144 178.8 S -.18(rg)-2.5 G(uments).18 E(The e) +180 190.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 202.8 S -.18 +(rg)-2.5 G(ument).18 E(The e)180 214.8 Q (xpression is true if and only if the ar)-.15 E(gument is not null.)-.18 -E 2.5(2a)144 405.6 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) -180 417.6 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87 +E 2.5(2a)144 226.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) +180 238.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15 F .37 -(gument is null.)-.18 F .379(If the \214rst ar)180 429.6 R .38 +(gument is null.)-.18 F .379(If the \214rst ar)180 250.8 R .38 (gument is one of the unary conditional operators listed abo)-.18 F .68 --.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 441.6 Q .553 -(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552 -(xpression is true if the unary test is true.)-.15 F .552 -(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 453.6 Q +-.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180 +262.8 Q .553(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552 +(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F +.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 274.8 Q (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E -(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 465.6 S -.18(rg)-2.5 G -(uments).18 E .236(The follo)180 477.6 R .236 +(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 286.8 S -.18(rg)-2.5 G +(uments).18 E .236(The follo)180 298.8 R .236 (wing conditions are applied in the order listed.)-.25 F .236 (If the second ar)5.236 F .236(gument is one of)-.18 F .855 -(the binary conditional operators listed abo)180 489.6 R 1.155 -.15 -(ve u)-.15 H(nder).15 E F2(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F -F4(,)A F0(the)3.104 E .578(result of the e)180 501.6 R .578(xpression i\ +(the binary conditional operators listed abo)180 310.8 R 1.155 -.15 +(ve u)-.15 H(nder).15 E F3(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F +F4(,)A F0(the)3.104 E .578(result of the e)180 322.8 R .578(xpression i\ s the result of the binary test using the \214rst and third ar)-.15 F -(guments)-.18 E 1.333(as operands.)180 513.6 R(The)6.333 E F13.833 +(guments)-.18 E 1.333(as operands.)180 334.8 R(The)6.333 E F13.833 E F0(and)3.833 E F13.832 E F0 1.332 (operators are considered binary operators when there are)3.832 F .558 -(three ar)180 525.6 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 +(three ar)180 346.8 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F .558(gument is)-.18 F F1(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F .558(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F (o-ar)-.1 E(gument)-.18 E .521(test using the second and third ar)180 -537.6 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .52 +358.8 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .52 (gument is e)-.18 F(xactly)-.15 E F1(\()3.02 E F0 .52(and the third)3.02 -F(ar)180 549.6 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985 E F0 +F(ar)180 370.8 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985 E F0 2.985(,t)C .485(he result is the one-ar)-2.985 F .485 (gument test of the second ar)-.18 F 2.985(gument. Other)-.18 F(-)-.2 E -(wise, the e)180 561.6 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 -573.6 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 585.6 R +(wise, the e)180 382.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 +394.8 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 406.8 R .385(gument is)-.18 F F1(!)2.885 E F0 2.885(,t)C .385 (he result is the ne)-2.885 F -.05(ga)-.15 G .384(tion of the three-ar) -.05 F .384(gument e)-.18 F .384(xpression com-)-.15 F 1.647 -(posed of the remaining ar)180 597.6 R 4.147(guments. Otherwise,)-.18 F -1.647(the e)4.147 F 1.648(xpression is parsed and e)-.15 F -.25(va)-.25 -G(luated).25 E(according to precedence using the rules listed abo)180 -609.6 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 621.6 S 2.5(rm)-2.5 G(ore ar) --2.5 E(guments)-.18 E 1.635(The e)180 633.6 R 1.635 +.05 F .384(gument e)-.18 F .384(xpression com-)-.15 F .284 +(posed of the remaining ar)180 418.8 R 2.784(guments. Otherwise,)-.18 F +.284(the e)2.784 F .284(xpression is parsed and e)-.15 F -.25(va)-.25 G +.285(luated ac-).25 F(cording to precedence using the rules listed abo) +180 430.8 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 442.8 S 2.5(rm)-2.5 G +(ore ar)-2.5 E(guments)-.18 E 1.635(The e)180 454.8 R 1.635 (xpression is parsed and e)-.15 F -.25(va)-.25 G 1.635 (luated according to precedence using the rules listed).25 F(abo)180 -645.6 Q -.15(ve)-.15 G(.).15 E(When used with)144 663.6 Q F1(test)2.5 E +466.8 Q -.15(ve)-.15 G(.).15 E(When used with)144 484.8 Q F1(test)2.5 E F0(or)2.5 E F1([)2.5 E F0 2.5(,t)C(he)-2.5 E F1(<)2.5 E F0(and)2.5 E F1 (>)2.5 E F0(operators sort le)2.5 E -(xicographically using ASCII ordering.)-.15 E F1(times)108 680.4 Q F0 +(xicographically using ASCII ordering.)-.15 E F1(times)108 501.6 Q F0 1.229(Print the accumulated user and system times for the shell and for\ - processes run from the shell.)144 680.4 R(The return status is 0.)144 -692.4 Q(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(22)198.725 E 0 Cg EP + processes run from the shell.)144 501.6 R(The return status is 0.)144 +513.6 Q F1(trap)108 530.4 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E +F2(ar)A(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .683(The command) +144 542.4 R F2(ar)3.513 E(g)-.37 E F0 .683(is to be read and e)3.403 F +-.15(xe)-.15 G .682(cuted when the shell recei).15 F -.15(ve)-.25 G +3.182(ss).15 G(ignal\(s\))-3.182 E F2(sigspec)3.522 E F0 5.682(.I).31 G +(f)-5.682 E F2(ar)3.512 E(g)-.37 E F0(is)3.402 E .608 +(absent \(and there is a single)144 554.4 R F2(sigspec)3.108 E F0 3.108 +(\)o)C(r)-3.108 E F13.108 E F0 3.108(,e)C .608 +(ach speci\214ed signal is reset to its original disposition)-3.108 F +.659(\(the v)144 566.4 R .659(alue it had upon entrance to the shell\).) +-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658 +(is the null string the signal speci\214ed by each)3.378 F F2(sigspec) +144.34 578.4 Q F0 .58(is ignored by the shell and by the commands it in) +3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E +F0 .581(is not present and)3.301 F F13.081 E F0(has)3.081 E 1.215 +(been supplied, then the trap commands associated with each)144 590.4 R +F2(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214 +F(gu-)-.18 E .86(ments are supplied or if only)144 602.4 R F13.36 +E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86 +(prints the list of commands associated with each)3.36 F 2.83 +(signal. The)144 614.4 R F12.83 E F0 .33(option causes the shell \ +to print a list of signal names and their corresponding num-)2.83 F 4.31 +(bers. Each)144 626.4 R F2(sigspec)4.65 E F0 1.811 +(is either a signal name de\214ned in <)4.62 F F2(signal.h)A F0 1.811 +(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E +(names are case insensiti)144 638.4 Q .3 -.15(ve a)-.25 H(nd the).15 E +F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E .667(If a)144 656.4 R F2 +(sigspec)3.507 E F0(is)3.477 E F3(EXIT)3.167 E F0 .667 +(\(0\) the command)2.917 F F2(ar)3.496 E(g)-.37 E F0 .666(is e)3.386 F +-.15(xe)-.15 G .666(cuted on e).15 F .666(xit from the shell.)-.15 F +.666(If a)5.666 F F2(sigspec)3.506 E F0(is)3.476 E F3(DE-)3.166 E -.09 +(BU)144 668.4 S(G).09 E F4(,)A F0 .483(the command)2.733 F F2(ar)3.313 E +(g)-.37 E F0 .483(is e)3.203 F -.15(xe)-.15 G .484(cuted before e).15 F +-.15(ve)-.25 G(ry).15 E F2 .484(simple command)2.984 F F0(,)A F2(for) +2.984 E F0(command,)2.984 E F2(case)2.984 E F0(command,)2.984 E F2 +(select)144 680.4 Q F0 .563(command, e)3.063 F -.15(ve)-.25 G .563 +(ry arithmetic).15 F F2(for)3.063 E F0 .563 +(command, and before the \214rst command e)3.063 F -.15(xe)-.15 G .562 +(cutes in a shell).15 F .622(function \(see)144 692.4 R F3 .622 +(SHELL GRAMMAR)3.122 F F0(abo)2.872 E -.15(ve)-.15 G 3.122(\). Refer).15 +F .622(to the description of the)3.122 F F1(extdeb)3.122 E(ug)-.2 E F0 +.622(option to the)3.122 F F1(shopt)144 704.4 Q F0 -.2(bu)2.996 G .496 +(iltin for details of its ef).2 F .496(fect on the)-.25 F F1(DEB)2.996 E +(UG)-.1 E F0 2.996(trap. If)2.996 F(a)2.996 E F2(sigspec)3.336 E F0(is) +3.306 E F3(RETURN)2.996 E F4(,)A F0 .496(the command)2.746 F F2(ar) +144.33 716.4 Q(g)-.37 E F0 .18(is e)2.9 F -.15(xe)-.15 G .18 +(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G .18 +(cuted with the).15 F F1(.)2.68 E F0(or)2.68 E F1(sour)2.68 E(ce)-.18 E +F0 -.2(bu)2.68 G .18(iltins \214nishes).2 F -.15(exe)144 728.4 S +(cuting.).15 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(22)198.725 E +0 Cg EP %%Page: 23 23 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(trap)108 84 Q F0([) -2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F2 10/Times-Italic@0 SF(ar)A(g) --.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .703(The command)144 96 R -F2(ar)3.533 E(g)-.37 E F0 .703(is to be read and e)3.423 F -.15(xe)-.15 -G .702(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G -(ignal\(s\))-3.202 E F2(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F2 -(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single) -144 108 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F13.108 E F0 -3.108(,e)C .608 -(ach speci\214ed signal is reset to its original disposition)-3.108 F -.659(\(the v)144 120 R .659(alue it had upon entrance to the shell\).) --.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658 -(is the null string the signal speci\214ed by each)3.378 F F2(sigspec) -144.34 132 Q F0 .58(is ignored by the shell and by the commands it in) -3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E -F0 .581(is not present and)3.301 F F13.081 E F0(has)3.081 E 1.215 -(been supplied, then the trap commands associated with each)144 144 R F2 -(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214 F -(gu-)-.18 E .86(ments are supplied or if only)144 156 R F13.36 E -F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86 -(prints the list of commands associated with each)3.36 F 2.83 -(signal. The)144 168 R F12.83 E F0 .33(option causes the shell to\ - print a list of signal names and their corresponding num-)2.83 F 4.31 -(bers. Each)144 180 R F2(sigspec)4.65 E F0 1.811 -(is either a signal name de\214ned in <)4.62 F F2(signal.h)A F0 1.811 -(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E -(names are case insensiti)144 192 Q .3 -.15(ve a)-.25 H(nd the).15 E/F3 -9/Times-Bold@0 SF(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a) -144 210 R F2(sigspec)4.489 E F0(is)4.459 E F3(EXIT)4.149 E F0 1.649 -(\(0\) the command)3.899 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F --.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)-.15 F -1.648(If a)6.648 F F2(sigspec)4.488 E F0(is)4.458 E F3(DEB)144 222 Q(UG) --.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.167(the command)3.417 F F2(ar) -3.997 E(g)-.37 E F0 1.167(is e)3.887 F -.15(xe)-.15 G 1.167 -(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.168(simple command) -3.667 F F0(,)A F2(for)3.668 E F0(command,)3.668 E F2(case)3.668 E F0 -(com-)3.668 E(mand,)144 234 Q F2(select)2.647 E F0 .147(command, e)2.647 -F -.15(ve)-.25 G .147(ry arithmetic).15 F F2(for)2.647 E F0 .146 -(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146 -(cutes in a).15 F .145(shell function \(see)144 246 R F3 .145 -(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15 -F .146(to the description of the)2.646 F F1(extdeb)2.646 E(ug)-.2 E F0 -.146(option to)2.646 F(the)144 258 Q F1(shopt)3.201 E F0 -.2(bu)3.201 G -.7(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E -(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E -F3(RETURN)3.2 E F4(,)A F0 .7(the com-)2.95 F(mand)144 270 Q F2(ar)3.473 -E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643 -(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G -.644(cuted with the).15 F F1(.)3.144 E F0(or)3.144 E F1(sour)3.144 E(ce) --.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 282 Q -.15(xe)-.15 -G(cuting.).15 E .961(If a)144 300 R F2(sigspec)3.801 E F0(is)3.771 E F3 -(ERR)3.461 E F4(,)A F0 .961(the command)3.211 F F2(ar)3.791 E(g)-.37 E +E(UIL)-.1 E(TINS\(1\))-.92 E .961(If a)144 84 R/F1 10/Times-Italic@0 SF +(sigspec)3.801 E F0(is)3.771 E/F2 9/Times-Bold@0 SF(ERR)3.461 E/F3 9 +/Times-Roman@0 SF(,)A F0 .961(the command)3.211 F F1(ar)3.791 E(g)-.37 E F0 .961(is e)3.681 F -.15(xe)-.15 G .961(cuted whene).15 F -.15(ve)-.25 G 3.461(ra).15 G .96(pipeline \(which may consist of a)-.001 F .185(sin\ gle simple command\), a list, or a compound command returns a non\255ze\ -ro e)144 312 R .185(xit status, subject to)-.15 F .452(the follo)144 324 -R .452(wing conditions.)-.25 F(The)5.452 E F3(ERR)2.952 E F0 .451 +ro e)144 96 R .185(xit status, subject to)-.15 F .452(the follo)144 108 +R .452(wing conditions.)-.25 F(The)5.452 E F2(ERR)2.952 E F0 .451 (trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .451 (ailed command is part of the com-)-.1 F .387 -(mand list immediately follo)144 336 R .387(wing a)-.25 F F1(while)2.887 -E F0(or)2.887 E F1(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388 -(ord, part of the test in an)-.1 F F2(if)2.898 E F0 .388 -(statement, part)4.848 F .778(of a command e)144 348 R -.15(xe)-.15 G -.778(cuted in a).15 F F1(&&)3.278 E F0(or)3.278 E F1(||)3.278 E F0 .778 -(list e)3.278 F .778(xcept the command follo)-.15 F .778 -(wing the \214nal)-.25 F F1(&&)3.278 E F0(or)3.278 E F1(||)3.277 E F0 -3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 360 R 1.28 +(mand list immediately follo)144 120 R .387(wing a)-.25 F/F4 10 +/Times-Bold@0 SF(while)2.887 E F0(or)2.887 E F4(until)2.888 E F0 -.1(ke) +2.888 G(yw)-.05 E .388(ord, part of the test in an)-.1 F F1(if)2.898 E +F0 .388(statement, part)4.848 F .778(of a command e)144 132 R -.15(xe) +-.15 G .778(cuted in a).15 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E +F0 .778(list e)3.278 F .778(xcept the command follo)-.15 F .778 +(wing the \214nal)-.25 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.277 E F0 +3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 144 R 1.28 (ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)-3.78 -F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F1(!) -3.78 E F0(.)A(These are the same conditions obe)144 372 Q(yed by the) --.15 E F1(err)2.5 E(exit)-.18 E F0(\()2.5 E F1A F0 2.5(\)o)C -(ption.)-2.5 E 1.095 +F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F4(!) +3.78 E F0(.)A(These are the same conditions obe)144 156 Q(yed by the) +-.15 E F4(err)2.5 E(exit)-.18 E F0(\()2.5 E F4A F0 2.5(\)o)C +(ption.)-2.5 E .133 (Signals ignored upon entry to the shell cannot be trapped or reset.)144 -390 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662 -(being ignored are reset to their original v)144 402 R .662 -(alues in a subshell or subshell en)-.25 F .662(vironment when one is) --.4 F 2.5(created. The)144 414 R(return status is f)2.5 E(alse if an)-.1 -E(y)-.15 E F2(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G -(lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(type)108 -430.8 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2 -(name)A F0(...])2.5 E -.4(Wi)144 442.8 S .174 -(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F2(name) -3.034 E F0 -.1(wo)2.854 G .173 +174 R -.35(Tr)5.132 G .132(apped signals that are not be-).35 F .117 +(ing ignored are reset to their original v)144 186 R .117 +(alues in a subshell or subshell en)-.25 F .117 +(vironment when one is cre-)-.4 F 2.5(ated. The)144 198 R +(return status is f)2.5 E(alse if an)-.1 E(y)-.15 E F1(sigspec)2.84 E F0 +(is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E F4(trap)2.5 E F0 +(returns true.)2.5 E F4(type)108 214.8 Q F0([)2.5 E F4(\255aftpP)A F0(]) +A F1(name)2.5 E F0([)2.5 E F1(name)A F0(...])2.5 E -.4(Wi)144 226.8 S +.174(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F1 +(name)3.034 E F0 -.1(wo)2.854 G .173 (uld be interpreted if used as a command name.).1 F .173(If the)5.173 F -F1144 454.8 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0 -.843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E -F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0 -(,).24 E F2 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F2 -(\214le)5.253 E F0(if)3.523 E F2(name)144.36 466.8 Q F0 .087 +F4144 238.8 Q F0 .715(option is used,)3.215 F F4(type)3.215 E F0 +.715(prints a string which is one of)3.215 F F1(alias)3.545 E F0(,).27 E +F1 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)5.185 E F0 +(,).24 E F1 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F1 +(\214le)5.125 E F0(if)3.395 E F1(name)144.36 250.8 Q F0 .087 (is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087 (ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15 -(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F2 +(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F1 (name)2.946 E F0 .086(is not)2.766 F .118 -(found, then nothing is printed, and an e)144 478.8 R .118 +(found, then nothing is printed, and an e)144 262.8 R .118 (xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F -F12.619 E F0 .119(option is used,)2.619 F F1(type)2.619 E F0 .855 -(either returns the name of the disk \214le that w)144 490.8 R .855 -(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0 -.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144 -502.8 R/F5 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641 -(uld not return).1 F F2(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F1 -3.141 E F0 .641(option forces a)3.141 F F3 -.666(PA)3.141 G(TH) --.189 E F0 .113(search for each)144 514.8 R F2(name)2.613 E F0 2.613(,e) -C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F5 .113(type -t name)2.613 -F F0 -.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113 -(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F1 -2.612 E F0(and)144 526.8 Q F13.23 E F0 .73(print the hashed v)3.23 -F .731 +F42.619 E F0 .119(option is used,)2.619 F F4(type)2.619 E F0 .855 +(either returns the name of the disk \214le that w)144 274.8 R .855 +(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)3.715 E F0 +.855(were speci\214ed as a com-)3.535 F .528(mand name, or nothing if) +144 286.8 R/F5 10/Courier@0 SF .528(type -t name)3.028 F F0 -.1(wo)3.028 +G .528(uld not return).1 F F1(\214le)4.938 E F0 5.528(.T).18 G(he)-5.528 +E F43.028 E F0 .529(option forces a)3.028 F F2 -.666(PA)3.029 G +(TH)-.189 E F0 .007(search for each)144 298.8 R F1(name)2.507 E F0 2.507 +(,e)C -.15(ve)-2.757 G 2.507(ni).15 G(f)-2.507 E F5 .007(type -t name) +2.507 F F0 -.1(wo)2.507 G .007(uld not return).1 F F1(\214le)4.417 E F0 +5.006(.I).18 G 2.506(fac)-5.006 G .006(ommand is hashed,)-2.506 F F4 +2.506 E F0(and)144 310.8 Q F43.23 E F0 .73 +(print the hashed v)3.23 F .731 (alue, which is not necessarily the \214le that appears \214rst in)-.25 -F F3 -.666(PA)3.231 G(TH)-.189 E F4(.)A F0 .731(If the)5.231 F F1 -144 538.8 Q F0 1.749(option is used,)4.249 F F1(type)4.248 E F0 1.748 -(prints all of the places that contain an e)4.248 F -.15(xe)-.15 G 1.748 -(cutable named).15 F F2(name)4.248 E F0 6.748(.T).18 G(his)-6.748 E .744 -(includes aliases and functions, if and only if the)144 550.8 R F1 -3.244 E F0 .744(option is not also used.)3.244 F .744 -(The table of hashed)5.744 F 1.223(commands is not consulted when using) -144 562.8 R F13.723 E F0 6.223(.T)C(he)-6.223 E F13.723 E F0 +F F2 -.666(PA)3.231 G(TH)-.189 E F3(.)A F0 .731(If the)5.231 F F4 +144 322.8 Q F0 .824(option is used,)3.324 F F4(type)3.324 E F0 .824 +(prints all of the places that contain an e)3.324 F -.15(xe)-.15 G .823 +(cutable named).15 F F1(name)3.683 E F0 5.823(.T).18 G .823(his in-) +-5.823 F 1.176(cludes aliases and functions, if and only if the)144 +334.8 R F43.676 E F0 1.176(option is not also used.)3.676 F 1.177 +(The table of hashed)6.176 F 1.223(commands is not consulted when using) +144 346.8 R F43.723 E F0 6.223(.T)C(he)-6.223 E F43.723 E F0 1.223(option suppresses shell function lookup, as)3.723 F .325(with the) -144 574.8 R F1(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F1(type) +144 358.8 R F4(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F4(type) 5.325 E F0 .325(returns true if all of the ar)2.825 F .326 (guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326 -(re not)-2.826 F(found.)144 586.8 Q F1(ulimit)108 603.6 Q F0([)2.5 E F1 -(\255HSabcde\214klmnpqrstuvxPT)A F0([)2.5 E F2(limit)A F0(]])A(Pro)144 -615.6 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15 G .244 +(re not)-2.826 F(found.)144 370.8 Q F4(ulimit)108 387.6 Q F0([)2.5 E F4 +(\255HSabcde\214klmnpqrstuvxPT)A F0([)2.5 E F1(limit)A F0(]])A(Pro)144 +399.6 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15 G .244 (he resources a)-2.744 F -.25(va)-.2 G .244 (ilable to the shell and to processes started by it, on systems).25 F -.943(that allo)144 627.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F -(The)5.943 E F13.443 E F0(and)3.443 E F13.444 E F0 .944 +.943(that allo)144 411.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F +(The)5.943 E F43.443 E F0(and)3.443 E F43.444 E F0 .944 (options specify that the hard or soft limit is set for the)3.444 F(gi) -144 639.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208 +144 423.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208 (hard limit cannot be increased by a non-root user once it is set; a so\ -ft limit may)2.709 F .425(be increased up to the v)144 651.6 R .425 -(alue of the hard limit.)-.25 F .426(If neither)5.425 F F12.926 E -F0(nor)2.926 E F12.926 E F0 .426 +ft limit may)2.709 F .425(be increased up to the v)144 435.6 R .425 +(alue of the hard limit.)-.25 F .426(If neither)5.425 F F42.926 E +F0(nor)2.926 E F42.926 E F0 .426 (is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144 -663.6 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139 +447.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139 (can be a number in the unit speci\214ed for the resource or one)3.319 F -.741(of the special v)144 675.6 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1 -(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w) -C .741(hich stand for the current hard limit, the current)-3.241 F .78 -(soft limit, and no limit, respecti)144 687.6 R -.15(ve)-.25 G(ly).15 E -5.78(.I)-.65 G(f)-5.78 E F2(limit)3.37 E F0 .78 -(is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25 -F .498(resource is printed, unless the)144 699.6 R F12.999 E F0 -.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499 -(more than one resource is speci\214ed, the)2.999 F -(limit name and unit are printed before the v)144 711.6 Q 2.5 -(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E -(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(23)198.725 E 0 Cg EP +.741(of the special v)144 459.6 R(alues)-.25 E F4(hard)3.241 E F0(,)A F4 +(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F4(unlimited)3.241 E F0 3.241(,w) +C .741(hich stand for the current hard limit, the current)-3.241 F .024 +(soft limit, and no limit, respecti)144 471.6 R -.15(ve)-.25 G(ly).15 E +5.023(.I)-.65 G(f)-5.023 E F1(limit)2.613 E F0 .023 +(is omitted, the current v)3.203 F .023 +(alue of the soft limit of the re-)-.25 F .984 +(source is printed, unless the)144 483.6 R F43.484 E F0 .984 +(option is gi)3.484 F -.15(ve)-.25 G 3.484(n. When).15 F .985 +(more than one resource is speci\214ed, the)3.484 F +(limit name and unit are printed before the v)144 495.6 Q 2.5 +(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F4 +144 507.6 Q F0(All current limits are reported)180 507.6 Q F4 +144 519.6 Q F0(The maximum sock)180 519.6 Q(et b)-.1 E(uf)-.2 E +(fer size)-.25 E F4144 531.6 Q F0 +(The maximum size of core \214les created)180 531.6 Q F4144 543.6 +Q F0(The maximum size of a process')180 543.6 Q 2.5(sd)-.55 G(ata se) +-2.5 E(gment)-.15 E F4144 555.6 Q F0 +(The maximum scheduling priority \("nice"\))180 555.6 Q F4144 +567.6 Q F0 +(The maximum size of \214les written by the shell and its children)180 +567.6 Q F4144 579.6 Q F0(The maximum number of pending signals)180 +579.6 Q F4144 591.6 Q F0 +(The maximum number of kqueues that may be allocated)180 591.6 Q F4 +144 603.6 Q F0(The maximum size that may be lock)180 603.6 Q +(ed into memory)-.1 E F4144 615.6 Q F0 +(The maximum resident set size \(man)180 615.6 Q 2.5(ys)-.15 G +(ystems do not honor this limit\))-2.5 E F4144 627.6 Q F0 .791(Th\ +e maximum number of open \214le descriptors \(most systems do not allo) +180 627.6 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F +(be set\))180 639.6 Q F4144 651.6 Q F0 +(The pipe size in 512-byte blocks \(this may not be set\))180 651.6 Q F4 +144 663.6 Q F0 +(The maximum number of bytes in POSIX message queues)180 663.6 Q F4 +144 675.6 Q F0(The maximum real-time scheduling priority)180 675.6 +Q F4144 687.6 Q F0(The maximum stack size)180 687.6 Q F4144 +699.6 Q F0(The maximum amount of cpu time in seconds)180 699.6 Q F4 +144 711.6 Q F0(The maximum number of processes a)180 711.6 Q -.25 +(va)-.2 G(ilable to a single user).25 E(GNU Bash 5.0)72 768 Q +(2004 Apr 20)149.565 E(23)198.725 E 0 Cg EP %%Page: 24 24 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF144 84 Q F0 -(All current limits are reported)180 84 Q F1144 96 Q F0 -(The maximum sock)180 96 Q(et b)-.1 E(uf)-.2 E(fer size)-.25 E F1 -144 108 Q F0(The maximum size of core \214les created)180 108 Q F1 -144 120 Q F0(The maximum size of a process')180 120 Q 2.5(sd)-.55 G -(ata se)-2.5 E(gment)-.15 E F1144 132 Q F0 -(The maximum scheduling priority \("nice"\))180 132 Q F1144 144 Q -F0(The maximum size of \214les written by the shell and its children)180 -144 Q F1144 156 Q F0(The maximum number of pending signals)180 156 -Q F1144 168 Q F0 -(The maximum number of kqueues that may be allocated)180 168 Q F1 -144 180 Q F0(The maximum size that may be lock)180 180 Q(ed into memory) --.1 E F1144 192 Q F0(The maximum resident set size \(man)180 192 Q -2.5(ys)-.15 G(ystems do not honor this limit\))-2.5 E F1144 204 Q -F0 .791(The maximum number of open \214le descriptors \(most systems do\ - not allo)180 204 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F -(be set\))180 216 Q F1144 228 Q F0 -(The pipe size in 512-byte blocks \(this may not be set\))180 228 Q F1 -144 240 Q F0(The maximum number of bytes in POSIX message queues) -180 240 Q F1144 252 Q F0 -(The maximum real-time scheduling priority)180 252 Q F1144 264 Q -F0(The maximum stack size)180 264 Q F1144 276 Q F0 -(The maximum amount of cpu time in seconds)180 276 Q F1144 288 Q -F0(The maximum number of processes a)180 288 Q -.25(va)-.2 G -(ilable to a single user).25 E F1144 300 Q F0 .47 -(The maximum amount of virtual memory a)180 300 R -.25(va)-.2 G .47 -(ilable to the shell and, on some systems, to).25 F(its children)180 312 -Q F1144 324 Q F0(The maximum number of \214le locks)180 324 Q F1 -144 336 Q F0(The maximum number of pseudoterminals)180 336 Q F1 -144 348 Q F0(The maximum number of threads)180 348 Q(If)144 364.8 +E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF144 84 Q F0 .47 +(The maximum amount of virtual memory a)180 84 R -.25(va)-.2 G .47 +(ilable to the shell and, on some systems, to).25 F(its children)180 96 +Q F1144 108 Q F0(The maximum number of \214le locks)180 108 Q F1 +144 120 Q F0(The maximum number of pseudoterminals)180 120 Q F1 +144 132 Q F0(The maximum number of threads)180 132 Q(If)144 148.8 Q/F2 10/Times-Italic@0 SF(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve) -.25 G .468(n, and the).15 F F12.968 E F0 .468 (option is not used,)2.968 F F2(limit)2.968 E F0 .468(is the ne)2.968 F 2.968(wv)-.25 G .468(alue of the speci\214ed resource.)-3.218 F(If)5.468 -E .044(no option is gi)144 376.8 R -.15(ve)-.25 G .044(n, then).15 F F1 +E .044(no option is gi)144 160.8 R -.15(ve)-.25 G .044(n, then).15 F F1 2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045 (lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1 -2.545 E F0 2.545(,w)C .045(hich is)-2.545 F 1.589(in seconds;)144 -388.8 R F14.089 E F0 4.089(,w)C 1.589 -(hich is in units of 512-byte blocks;)-4.089 F F14.089 E F0(,)A F1 -4.089 E F0(,)A F14.089 E F0(,)A F14.089 E F0(,)A F1 -4.089 E F0 4.089(,a)C(nd)-4.089 E F14.089 E F0 4.088(,w)C -1.588(hich are)-4.088 F 1.476(unscaled v)144 400.8 R 1.476 -(alues; and, when in posix mode,)-.25 F F13.976 E F0(and)3.976 E -F13.976 E F0 3.976(,w)C 1.476(hich are in 512-byte increments.) --3.976 F(The)6.476 E .404(return status is 0 unless an in)144 412.8 R --.25(va)-.4 G .404(lid option or ar).25 F .404 -(gument is supplied, or an error occurs while setting)-.18 F 2.5(an)144 -424.8 S .5 -.25(ew l)-2.5 H(imit.).25 E F1(umask)108 441.6 Q F0([)2.5 E -F1A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A -.2(The user \214le-creation mask is set to)144 453.6 R F2(mode)2.7 E F0 -5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2 +2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .673(in seconds;)144 +172.8 R F13.173 E F0 3.172(,w)C .672 +(hich is in units of 512-byte blocks;)-3.172 F F13.172 E F0(,)A F1 +3.172 E F0(,)A F13.172 E F0(,)A F13.172 E F0(,)A F1 +3.172 E F0 3.172(,a)C(nd)-3.172 E F13.172 E F0 3.172(,w)C +.672(hich are un-)-3.172 F .36(scaled v)144 184.8 R .36 +(alues; and, when in posix mode,)-.25 F F12.86 E F0(and)2.86 E F1 +2.86 E F0 2.86(,w)C .36(hich are in 512-byte increments.)-2.86 F +.36(The return)5.36 F .411(status is 0 unless an in)144 196.8 R -.25(va) +-.4 G .411(lid option or ar).25 F .411 +(gument is supplied, or an error occurs while setting a ne)-.18 F(w)-.25 +E(limit.)144 208.8 Q F1(umask)108 225.6 Q F0([)2.5 E F1A F0 2.5 +(][)C F1-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A .18 +(The user \214le-creation mask is set to)144 237.6 R F2(mode)3.06 E F0 +5.18(.I).18 G(f)-5.18 E F2(mode)3.06 E F0(be)2.86 E .18 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\ therwise it is interpreted as a symbolic mode mask similar to that acce\ -pted by)144 465.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 -477.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382 +pted by)144 249.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 +261.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382 (alue of the mask is printed.)-.25 F(The)5.382 E F12.882 E F0 .382 (option causes the mask to be)2.882 F .547 -(printed in symbolic form; the def)144 489.6 R .547 +(printed in symbolic form; the def)144 273.6 R .547 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G (he)-3.047 E F13.047 E F0 .547(option is supplied, and)3.047 F F2 -(mode)144.38 501.6 Q F0 .551 +(mode)144.38 285.6 Q F0 .551 (is omitted, the output is in a form that may be reused as input.)3.231 -F .552(The return status is 0 if the)5.552 F(mode w)144 513.6 Q +F .552(The return status is 0 if the)5.552 F(mode w)144 297.6 Q (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1 -(unalias)108 530.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0 -(...])2.5 E(Remo)144 542.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name) -4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E -F14.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155 -F(remo)144 554.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E +(unalias)108 314.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0 +(...])2.5 E(Remo)144 326.4 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name) +3.258 E F0 .758(from the list of de\214ned aliases.)3.258 F(If)5.758 E +F13.258 E F0 .757(is supplied, all alias de\214nitions are re-) +3.258 F(mo)144 338.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E (alue is true unless a supplied)-.25 E F2(name)2.86 E F0 -(is not a de\214ned alias.)2.68 E F1(unset)108 571.2 Q F0<5bad>2.5 E F1 +(is not a de\214ned alias.)2.68 E F1(unset)108 355.2 Q F0<5bad>2.5 E F1 (fv)A F0 2.5(][)C-2.5 E F1(n)A F0 2.5(][)C F2(name)-2.5 E F0(...]) -2.5 E -.15(Fo)144 583.2 S 3.827(re).15 G(ach)-3.827 E F2(name)3.827 E F0 -3.827(,r).18 G(emo)-3.827 E 1.627 -.15(ve t)-.15 H 1.327 -(he corresponding v).15 F 1.327(ariable or function.)-.25 F 1.327 -(If the)6.327 F F13.828 E F0 1.328(option is gi)3.828 F -.15(ve) --.25 G 1.328(n, each).15 F F2(name)144.36 595.2 Q F0 1.551 -(refers to a shell v)4.231 F 1.551(ariable, and that v)-.25 F 1.551 -(ariable is remo)-.25 F -.15(ve)-.15 G 4.05(d. Read-only).15 F -.25(va) -4.05 G 1.55(riables may not be).25 F 4.641(unset. If)144 607.2 R F1 -4.641 E F0 2.141(is speci\214ed, each)4.641 F F2(name)5.001 E F0 -2.141(refers to a shell function, and the function de\214nition is)4.821 -F(remo)144 619.2 Q -.15(ve)-.15 G 2.538(d. If).15 F(the)2.537 E F1 -2.537 E F0 .037(option is supplied, and)2.537 F F2(name)2.537 E F0 .037 -(is a v)2.537 F .037(ariable with the)-.25 F F2(namer)2.537 E(ef)-.37 E -F0(attrib)2.537 E(ute,)-.2 E F2(name)2.537 E F0(will)2.537 E .492 -(be unset rather than the v)144 631.2 R .492(ariable it references.)-.25 -F F15.492 E F0 .492(has no ef)2.992 F .492(fect if the)-.25 F F1 -2.992 E F0 .492(option is supplied.)2.992 F .493(If no)5.493 F -.221(options are supplied, each)144 643.2 R F2(name)2.721 E F0 .221 -(refers to a v)2.721 F .22(ariable; if there is no v)-.25 F .22 -(ariable by that name, an)-.25 F 2.72(yf)-.15 G(unc-)-2.72 E 1.188 -(tion with that name is unset.)144 655.2 R 1.189(Each unset v)6.189 F -1.189(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.689(df).15 G -1.189(rom the en)-3.689 F(vironment)-.4 E 3.172 -(passed to subsequent commands.)144 667.2 R 3.172(If an)8.172 F 5.672 -(yo)-.15 G(f)-5.672 E/F3 9/Times-Bold@0 SF -.27(BA)5.672 G(SH_ALIASES) -.27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)5.421 G(SH_ARGV0).27 E F4(,)A -F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 679.2 S -(SH_COMMAND).27 E F4(,)A F3 -.27(BA)11.481 G(SH_SUBSHELL).27 E F4(,)A F3 --.27(BA)11.482 G(SHPID).27 E F4(,)A F3(COMP_W)11.482 E(ORDBREAKS)-.09 E -F4(,)A F3(DIRST)11.482 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL) -144 691.2 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN) -2.67 E(AME)-.18 E F4(,)A F3(GR)2.67 E(OUPS)-.27 E F4(,)A F3(HISTCMD)2.67 -E F4(,)A F3(LINENO)2.67 E F4(,)A F3(RANDOM)2.67 E F4(,)A F3(SECONDS)144 -703.2 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the) -4.029 F 4.279(yl)-.15 G 1.779(ose their special properties, e)-4.279 F --.15(ve)-.25 G 4.279(ni).15 G 4.28(ft)-4.279 G(he)-4.28 E 4.28(ya)-.15 G -1.78(re subse-)-4.28 F(quently reset.)144 715.2 Q(The e)5 E -(xit status is true unless a)-.15 E F2(name)2.86 E F0(is readonly)2.68 E -(.)-.65 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(24)198.725 E 0 Cg -EP -%%Page: 25 25 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61 -(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35 -E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(wait)108 84 Q F0([) -2.5 E F1(\255fn)A F0 2.5(][)C/F2 10/Times-Italic@0 SF(id ...)-2.5 E F0 -(])A -.8(Wa)144 96 S .659(it for each speci\214ed child process and ret\ -urn its termination status.).8 F(Each)5.659 E F2(id)3.169 E F0 .658 +2.5 E -.15(Fo)144 367.2 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0 +3.803(,r).18 G(emo)-3.803 E 1.603 -.15(ve t)-.15 H 1.303 +(he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303 +(If the)6.303 F F13.804 E F0 1.304(option is gi)3.804 F -.15(ve) +-.25 G 1.304(n, each).15 F F2(name)144.36 379.2 Q F0 .465 +(refers to a shell v)3.145 F .464(ariable, and that v)-.25 F .464 +(ariable is remo)-.25 F -.15(ve)-.15 G 2.964(d. Read-only).15 F -.25(va) +2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 391.2 R F1 +2.768 E F0 .269(is speci\214ed, each)2.768 F F2(name)3.129 E F0 +.269(refers to a shell function, and the function de\214nition is remo) +2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 403.2 R F12.904 E +F0 .404(option is supplied, and)2.904 F F2(name)2.904 E F0 .404(is a v) +2.904 F .404(ariable with the)-.25 F F2(namer)2.904 E(ef)-.37 E F0 +(attrib)2.904 E(ute,)-.2 E F2(name)2.904 E F0 .403(will be unset)2.904 F +.719(rather than the v)144 415.2 R .719(ariable it references.)-.25 F F1 +5.719 E F0 .719(has no ef)3.219 F .719(fect if the)-.25 F F1 +3.22 E F0 .72(option is supplied.)3.22 F .72(If no options)5.72 F .19 +(are supplied, each)144 427.2 R F2(name)2.69 E F0 .19(refers to a v)2.69 +F .189(ariable; if there is no v)-.25 F .189(ariable by that name, an) +-.25 F 2.689(yf)-.15 G .189(unction with)-2.689 F 1.115 +(that name is unset.)144 439.2 R 1.115(Each unset v)6.115 F 1.115 +(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.616(df).15 G 1.116 +(rom the en)-3.616 F 1.116(vironment passed to)-.4 F 1.501 +(subsequent commands.)144 451.2 R 1.501(If an)6.501 F 4.001(yo)-.15 G(f) +-4.001 E/F3 9/Times-Bold@0 SF -.27(BA)4.001 G(SH_ALIASES).27 E/F4 9 +/Times-Roman@0 SF(,)A F3 -.27(BA)3.751 G(SH_ARGV0).27 E F4(,)A F3 -.27 +(BA)3.75 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)3.75 G(SH_COM-).27 E(MAND)144 +463.2 Q F4(,)A F3 -.27(BA)2.845 G(SH_SUBSHELL).27 E F4(,)A F3 -.27(BA) +2.846 G(SHPID).27 E F4(,)A F3(COMP_W)2.846 E(ORDBREAKS)-.09 E F4(,)A F3 +(DIRST)2.846 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)2.846 E +(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)144 475.2 Q F4(,)A F3(FUNCN)6.481 E +(AME)-.18 E F4(,)A F3(GR)6.481 E(OUPS)-.27 E F4(,)A F3(HISTCMD)6.481 E +F4(,)A F3(LINENO)6.481 E F4(,)A F3(RANDOM)6.48 E F4(,)A F3(SECONDS)6.48 +E F4(,)A F0(or)6.48 E F3(SRANDOM)144 487.2 Q F0 .831(are unset, the) +3.081 F 3.332(yl)-.15 G .832(ose their special properties, e)-3.332 F +-.15(ve)-.25 G 3.332(ni).15 G 3.332(ft)-3.332 G(he)-3.332 E 3.332(ya) +-.15 G .832(re subsequently reset.)-3.332 F(The)5.832 E -.15(ex)144 +499.2 S(it status is true unless a).15 E F2(name)2.86 E F0(is readonly) +2.68 E(.)-.65 E F1(wait)108 516 Q F0([)2.5 E F1(\255fn)A F0 2.5(][)C F1 +-2.5 E F2(varname)2.5 E F0 2.5(][)C F2(id ...)-2.5 E F0(])A -.8 +(Wa)144 528 S .659(it for each speci\214ed child process and return its\ + termination status.).8 F(Each)5.659 E F2(id)3.169 E F0 .658 (may be a process)3.928 F .008 -(ID or a job speci\214cation; if a job spec is gi)144 108 R -.15(ve)-.25 +(ID or a job speci\214cation; if a job spec is gi)144 540 R -.15(ve)-.25 G .009(n, all processes in that job').15 F 2.509(sp)-.55 G .009 (ipeline are w)-2.509 F .009(aited for)-.1 F 5.009(.I)-.55 G(f)-5.009 E -F2(id)144.01 120 Q F0 .442(is not gi)3.712 F -.15(ve)-.25 G(n,).15 E F1 +F2(id)144.01 552 Q F0 .442(is not gi)3.712 F -.15(ve)-.25 G(n,).15 E F1 (wait)2.942 E F0 -.1(wa)2.942 G .441 (its for all running background jobs and the last-e).1 F -.15(xe)-.15 G .441(cuted process substitu-).15 F .597 -(tion, if its process id is the same as)144 132 R F1($!)3.098 E F0 3.098 +(tion, if its process id is the same as)144 564 R F1($!)3.098 E F0 3.098 (,a)C .598(nd the return status is zero.)-3.098 F .598(If the)5.598 F F1 -3.098 E F0 .598(option is supplied,)3.098 F F1(wait)144 144 Q F0 --.1(wa)3.057 G .557(its for a single job to terminate and returns its e) -.1 F .556(xit status.)-.15 F .556(Supplying the)5.556 F F13.056 E -F0 .556(option, when)3.056 F .345(job control is enabled, forces)144 156 -R F1(wait)2.846 E F0 .346(to w)2.846 F .346(ait for)-.1 F F2(id)2.846 E -F0 .346(to terminate before returning its status, instead of)2.846 F .6 -(returning when it changes status.)144 168 R(If)5.6 E F2(id)3.11 E F0 -.599(speci\214es a non-e)3.869 F .599 -(xistent process or job, the return status is)-.15 F 2.5 -(127. Otherwise,)144 180 R(the return status is the e)2.5 E +3.098 E F0 .598(option is supplied,)3.098 F F1(wait)144 576 Q F0 +-.1(wa)2.794 G .293(its for a single job to terminate and returns its e) +.1 F .293(xit status.)-.15 F .293(If the)5.293 F F12.793 E F0 .293 +(option is supplied, the)2.793 F .636 +(process or job identi\214er of the job for which the e)144 588 R .636 +(xit status is returned is assigned to the v)-.15 F(ariable)-.25 E F2 +(varname)144 600 Q F0 1.017(named by the option ar)3.517 F 3.517 +(gument. The)-.18 F -.25(va)3.516 G 1.016 +(riable will be unset initially).25 F 3.516(,b)-.65 G 1.016(efore an) +-3.516 F 3.516(ya)-.15 G(ssign-)-3.516 E 2.672(ment. This)144 612 R .172 +(is useful only when the)2.672 F F12.672 E F0 .172 +(option is supplied.)2.672 F .173(Supplying the)5.172 F F12.673 E +F0 .173(option, when job con-)2.673 F .347(trol is enabled, forces)144 +624 R F1(wait)2.847 E F0 .347(to w)2.847 F .347(ait for)-.1 F F2(id) +2.847 E F0 .346 +(to terminate before returning its status, instead of return-)2.846 F +.792(ing when it changes status.)144 636 R(If)5.792 E F2(id)3.302 E F0 +.792(speci\214es a non-e)4.062 F .793 +(xistent process or job, the return status is 127.)-.15 F +(Otherwise, the return status is the e)144 648 Q (xit status of the last process or job w)-.15 E(aited for)-.1 E(.)-.55 E -/F3 10.95/Times-Bold@0 SF(SEE ALSO)72 196.8 Q F0(bash\(1\), sh\(1\))108 -208.8 Q(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(25)198.725 E 0 Cg EP +/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 664.8 Q F0(bash\(1\), sh\(1\))108 +676.8 Q(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(24)198.725 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/rbash.ps b/doc/rbash.ps index 2f6ba58e..77ef9a5f 100644 --- a/doc/rbash.ps +++ b/doc/rbash.ps @@ -1,9 +1,9 @@ %!PS-Adobe-3.0 -%%Creator: groff version 1.22.3 -%%CreationDate: Mon Jul 8 15:16:14 2019 +%%Creator: groff version 1.22.4 +%%CreationDate: Fri Nov 22 15:53:55 2019 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold -%%DocumentSuppliedResources: procset grops 1.22 3 +%%DocumentSuppliedResources: procset grops 1.22 4 %%Pages: 1 %%PageOrder: Ascend %%DocumentMedia: Default 612 792 0 () () @@ -13,7 +13,7 @@ %%PageMedia: Default %%EndDefaults %%BeginProlog -%%BeginResource: procset grops 1.22 3 +%%BeginResource: procset grops 1.22 4 %!PS-Adobe-3.0 Resource-ProcSet /setpacking where{ pop @@ -236,15 +236,15 @@ BP (Commands Manual)2.5 E(RB)132.97 E(ASH\(1\))-.35 E/F1 10.95/Times-Bold@0 SF -.219(NA)72 84 S(ME).219 E F0(rbash \255 restricted bash, see)108 96 Q/F2 10/Times-Bold@0 SF(bash)2.5 E F0(\(1\))A F1(RESTRICTED SHELL)72 -112.8 Q F0(If)108 124.8 Q F2(bash)4.397 E F0 1.897 -(is started with the name)4.397 F F2(rbash)4.397 E F0 4.397(,o)C 4.397 -(rt)-4.397 G(he)-4.397 E F24.397 E F0 1.896 -(option is supplied at in)4.397 F -.2(vo)-.4 G 1.896 -(cation, the shell becomes).2 F 3.445(restricted. A)108 136.8 R .945 -(restricted shell is used to set up an en)3.445 F .946 -(vironment more controlled than the standard shell.)-.4 F(It)5.946 E -(beha)108 148.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F2 -(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E +112.8 Q F0(If)108 124.8 Q F2(bash)3.582 E F0 1.081 +(is started with the name)3.581 F F2(rbash)3.581 E F0 3.581(,o)C 3.581 +(rt)-3.581 G(he)-3.581 E F23.581 E F0 1.081 +(option is supplied at in)3.581 F -.2(vo)-.4 G 1.081 +(cation, the shell becomes re-).2 F 2.976(stricted. A)108 136.8 R .476 +(restricted shell is used to set up an en)2.976 F .476 +(vironment more controlled than the standard shell.)-.4 F .477(It be-) +5.477 F(ha)108 148.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E +F2(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E (wing are disallo)-.25 E(wed or not performed:)-.25 E<83>108 165.6 Q (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 diff --git a/doc/version.texi b/doc/version.texi index 446bcdf6..12ee9e21 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -2,10 +2,10 @@ Copyright (C) 1988-2019 Free Software Foundation, Inc. @end ignore -@set LASTCHANGE Fri Nov 15 09:34:39 EST 2019 +@set LASTCHANGE Fri Nov 22 15:27:24 EST 2019 @set EDITION 5.0 @set VERSION 5.0 -@set UPDATED 15 November 2019 +@set UPDATED 22 November 2019 @set UPDATED-MONTH November 2019 diff --git a/jobs.c b/jobs.c index f9079dd2..f1e255ed 100644 --- a/jobs.c +++ b/jobs.c @@ -1802,9 +1802,10 @@ find_job (pid, alive_only, procp) /* Find a job given a PID. If BLOCK is non-zero, block SIGCHLD as required by find_job. */ int -get_job_by_pid (pid, block) +get_job_by_pid (pid, block, procp) pid_t pid; int block; + PROCESS **procp; { int job; sigset_t set, oset; @@ -1812,7 +1813,7 @@ get_job_by_pid (pid, block) if (block) BLOCK_CHILD (set, oset); - job = find_job (pid, 0, NULL); + job = find_job (pid, 0, procp); if (block) UNBLOCK_CHILD (oset); diff --git a/jobs.h b/jobs.h index 596e2e11..37f4389c 100644 --- a/jobs.h +++ b/jobs.h @@ -41,6 +41,7 @@ /* Defines for the wait_for functions and for the wait builtin to use */ #define JWAIT_PERROR 0x01 #define JWAIT_FORCE 0x02 +#define JWAIT_NOWAIT 0x04 /* don't waitpid(), just return status if already exited */ /* The max time to sleep while retrying fork() on EAGAIN failure */ #define FORKSLEEP_MAX 16 @@ -101,7 +102,7 @@ typedef enum { JNONE = -1, JRUNNING = 1, JSTOPPED = 2, JDEAD = 4, JMIXED = 8 } J #define J_NOTIFIED 0x02 /* Non-zero if already notified about job state. */ #define J_JOBCONTROL 0x04 /* Non-zero if this job started under job control. */ #define J_NOHUP 0x08 /* Don't send SIGHUP to job if shell gets SIGHUP. */ -#define J_STATSAVED 0x10 /* A process in this job had had status saved via $! */ +#define J_STATSAVED 0x10 /* A process in this job had status saved via $! */ #define J_ASYNC 0x20 /* Job was started asynchronously */ #define J_PIPEFAIL 0x40 /* pipefail set when job was started */ @@ -245,10 +246,10 @@ extern void hangup_all_jobs PARAMS((void)); extern void kill_current_pipeline PARAMS((void)); #if defined (__STDC__) && defined (pid_t) -extern int get_job_by_pid PARAMS((int, int)); +extern int get_job_by_pid PARAMS((int, int, PROCESS **)); extern void describe_pid PARAMS((int)); #else -extern int get_job_by_pid PARAMS((pid_t, int)); +extern int get_job_by_pid PARAMS((pid_t, int, PROCESS **)); extern void describe_pid PARAMS((pid_t)); #endif diff --git a/lib/readline/colors.c b/lib/readline/colors.c index 81aecfe0..9e37527e 100644 --- a/lib/readline/colors.c +++ b/lib/readline/colors.c @@ -2,7 +2,7 @@ Modified by Chet Ramey for Readline. - Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012, 2015, 2017 + Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012, 2015, 2017, 2019 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -32,6 +32,13 @@ #include "rlconf.h" +#if defined __TANDEM +# define _XOPEN_SOURCE_EXTENDED 1 +# define _TANDEM_SOURCE 1 +# include +# include +#endif + #include #include "posixstat.h" // stat related macros (S_ISREG, ...) diff --git a/lib/readline/complete.c b/lib/readline/complete.c index cbddb6f6..989b15c2 100644 --- a/lib/readline/complete.c +++ b/lib/readline/complete.c @@ -1,6 +1,6 @@ /* complete.c -- filename completion for readline. */ -/* Copyright (C) 1987-2017 Free Software Foundation, Inc. +/* Copyright (C) 1987-2019 Free Software Foundation, Inc. This file is part of the GNU Readline Library (Readline), a library for reading lines of text with interactive input and history editing. @@ -21,11 +21,18 @@ #define READLINE_LIBRARY +#if defined (__TANDEM) +# define _XOPEN_SOURCE_EXTENDED 1 +#endif + #if defined (HAVE_CONFIG_H) # include #endif #include +#if defined (__TANDEM) +# include +#endif #include #if defined (HAVE_SYS_FILE_H) # include diff --git a/lib/readline/doc/history.3 b/lib/readline/doc/history.3 index 75f17eee..346b6614 100644 --- a/lib/readline/doc/history.3 +++ b/lib/readline/doc/history.3 @@ -194,6 +194,7 @@ previous command is used as the event. .PP After the optional word designator, there may appear a sequence of one or more of the following modifiers, each preceded by a `:'. +These modify, or edit, the word or words selected from the history event. .PP .PD 0 .PP @@ -254,6 +255,11 @@ the last in a .B !?\fIstring\fR\fB[?]\fR search. +If +.I new +is null, each matching +.I old +is deleted. .TP .B & Repeat the previous substitution. diff --git a/lib/readline/doc/hsuser.texi b/lib/readline/doc/hsuser.texi index 05bb15a7..b265ff53 100644 --- a/lib/readline/doc/hsuser.texi +++ b/lib/readline/doc/hsuser.texi @@ -456,6 +456,7 @@ previous command is used as the event. After the optional word designator, you can add a sequence of one or more of the following modifiers, each preceded by a @samp{:}. +These modify, or edit, the word or words selected from the history event. @table @code @@ -497,8 +498,9 @@ the @samp{&}. If @var{old} is null, it is set to the last @var{old} substituted, or, if no previous history substitutions took place, the last @var{string} -in a !?@var{string}@code[?]} +in a !?@var{string}@code{[?]} search. +If @var{new} is is null, each matching @var{old} is deleted. The final delimiter is optional if it is the last character on the input line. diff --git a/lib/readline/histfile.c b/lib/readline/histfile.c index dea89729..6e13b842 100644 --- a/lib/readline/histfile.c +++ b/lib/readline/histfile.c @@ -26,6 +26,8 @@ #define READLINE_LIBRARY #if defined (__TANDEM) +# define _XOPEN_SOURCE_EXTENDED 1 +# include # include #endif diff --git a/lib/readline/input.c b/lib/readline/input.c index 0090e97b..c34dabf0 100644 --- a/lib/readline/input.c +++ b/lib/readline/input.c @@ -22,6 +22,8 @@ #define READLINE_LIBRARY #if defined (__TANDEM) +# define _XOPEN_SOURCE_EXTENDED 1 +# define _TANDEM_SOURCE 1 # include #endif diff --git a/nojobs.c b/nojobs.c index d556ff3c..923d0c9d 100644 --- a/nojobs.c +++ b/nojobs.c @@ -1016,9 +1016,10 @@ without_job_control () } int -get_job_by_pid (pid, block) +get_job_by_pid (pid, block, ignore) pid_t pid; int block; + PROCESS **ignore; { int i; diff --git a/po/hu.po b/po/hu.po index 4fec6895..68c670b7 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1,29 +1,29 @@ # Hungarian translation for bash. -# Copyright (C) 2010, 2016, 2017 Free Software Foundation, Inc. +# Copyright (C) 2010, 2016, 2017, 2019 Free Software Foundation, Inc. # This file is distributed under the same license as the bash package. # # Mate Ory , 2010, 2016. # Gabor Kelemen , 2016. -# Balázs Úr , 2017. +# Balázs Úr , 2017, 2019. msgid "" msgstr "" -"Project-Id-Version: bash 4.4\n" +"Project-Id-Version: bash 5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-12-19 15:52-0500\n" -"PO-Revision-Date: 2017-04-27 21:42+0200\n" -"Last-Translator: Balázs Úr \n" +"PO-Revision-Date: 2019-11-16 17:58+0100\n" +"Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 1.2\n" +"X-Generator: Lokalize 19.04.3\n" #: arrayfunc.c:58 msgid "bad array subscript" -msgstr "Hibás tömbindex" +msgstr "hibás tömbindex" #: arrayfunc.c:377 builtins/declare.def:638 variables.c:2254 variables.c:2280 #: variables.c:3108 @@ -58,8 +58,7 @@ msgstr "%s: nem hozható létre: %s" #: bashline.c:4144 msgid "bash_execute_unix_command: cannot find keymap for command" -msgstr "" -"bash_execute_unix_command: nem található billentyűkiosztás a parancshoz" +msgstr "bash_execute_unix_command: nem található billentyűkiosztás a parancshoz" #: bashline.c:4254 #, c-format @@ -82,16 +81,14 @@ msgid "brace expansion: cannot allocate memory for %s" msgstr "szögleteszárójel-kiegészítés: Nem foglalható memória ehhez: %s" #: braces.c:429 -#, fuzzy, c-format +#, c-format msgid "brace expansion: failed to allocate memory for %u elements" -msgstr "" -"szögleteszárójel-kiegészítés: nem sikerült a memóriafoglalás %d elem számára" +msgstr "szögleteszárójel-kiegészítés: nem sikerült a memóriafoglalás %u elem számára" #: braces.c:474 #, c-format msgid "brace expansion: failed to allocate memory for `%s'" -msgstr "" -"szögleteszárójel-kiegészítés: nem sikerült a memóriafoglalás „%s” számára" +msgstr "szögleteszárójel-kiegészítés: nem sikerült a memóriafoglalás „%s” számára" #: builtins/alias.def:131 variables.c:1842 #, c-format @@ -509,8 +506,7 @@ msgstr[1] "A következő kifejezésekre illeszkedő parancsok: „" #: builtins/help.def:185 #, c-format -msgid "" -"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'." +msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'." msgstr "" "nem illeszkedik egy szócikk sem a következőre: „%s”.\n" "A „help help”, „man -k '%s'” vagy „info '%s'” parancsok segíthetnek." @@ -688,17 +684,14 @@ msgid "" " \twith its position in the stack\n" " \n" " Arguments:\n" -" +N\tDisplays the Nth entry counting from the left of the list shown " -"by\n" +" +N\tDisplays the Nth entry counting from the left of the list shown by\n" " \tdirs when invoked without options, starting with zero.\n" " \n" -" -N\tDisplays the Nth entry counting from the right of the list shown " -"by\n" +" -N\tDisplays the Nth entry counting from the right of the list shown by\n" "\tdirs when invoked without options, starting with zero." msgstr "" "Megjeleníti a jelenleg megjegyzett könyvtárakat. A könyvtárakat a\n" -" „pushd” paranccsal lehet a verembe rakni; és a „popd” paranccsal " -"kivenni.\n" +" „pushd” paranccsal lehet a verembe rakni; és a „popd” paranccsal kivenni.\n" " \n" " Kapcsolók:\n" " -c\ta könyvtárverem törlése az összes elem eltávolításával\n" @@ -808,9 +801,7 @@ msgstr "olvasási hiba: %d: %s" #: builtins/return.def:68 msgid "can only `return' from a function or sourced script" -msgstr "" -"csak függvényből vagy source-olt parancsfájlból lehet „return”-nel " -"visszatérni" +msgstr "csak függvényből vagy source-olt parancsfájlból lehet „return”-nel visszatérni" #: builtins/set.def:852 msgid "cannot simultaneously unset a function and a variable" @@ -847,8 +838,7 @@ msgstr "shift-szám" #: builtins/shopt.def:310 msgid "cannot set and unset shell options simultaneously" -msgstr "" -"nem lehet egyszerre beállítani és törölni parancsértelmező-beállításokat" +msgstr "nem lehet egyszerre beállítani és törölni parancsértelmező-beállításokat" #: builtins/shopt.def:420 #, c-format @@ -1077,9 +1067,8 @@ msgid "attempted assignment to non-variable" msgstr "nem változóhoz próbált értéket rendelni" #: expr.c:530 -#, fuzzy msgid "syntax error in variable assignment" -msgstr "szintaktikai hiba a kifejezésben" +msgstr "szintaktikai hiba a változó-értékadásban" #: expr.c:544 expr.c:910 msgid "division by 0" @@ -1143,8 +1132,7 @@ msgstr "nem lehet újraindítani a nodelay módot a(z) %d. fájlleíróhoz" #: input.c:266 #, c-format msgid "cannot allocate new file descriptor for bash input from fd %d" -msgstr "" -"nem lehet új fájlleírót foglalni a bash bemenetéhez a(z) %d. fájlleíróból" +msgstr "nem lehet új fájlleírót foglalni a bash bemenetéhez a(z) %d. fájlleíróból" #: input.c:274 #, c-format @@ -1280,9 +1268,8 @@ msgid "initialize_job_control: getpgrp failed" msgstr "initialize_job_control: getpgrp sikertelen" #: jobs.c:4247 -#, fuzzy msgid "initialize_job_control: no job control in background" -msgstr "initialize_job_control: line discipline" +msgstr "initialize_job_control: nincs munkakezelés a háttérben" #: jobs.c:4263 msgid "initialize_job_control: line discipline" @@ -1452,12 +1439,8 @@ msgstr "make_redirection: %d. átirányító utasítás kívül esik a tartomán #: parse.y:2380 #, c-format -msgid "" -"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line " -"truncated" -msgstr "" -"shell_getc: a shell_input_line_size (%zu) meghaladja a MÉRET_MAXIMUM értékét " -"(%lu): a sor csonkolva" +msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated" +msgstr "shell_getc: a shell_input_line_size (%zu) meghaladja a MÉRET_MAXIMUM értékét (%lu): a sor csonkolva" #: parse.y:2786 msgid "maximum here-document count exceeded" @@ -1645,7 +1628,7 @@ msgstr "/tmp érvényes könyvtárnév kell legyen" #: shell.c:798 msgid "pretty-printing mode ignored in interactive shells" -msgstr "" +msgstr "a csinos kiírási mód mellőzve van interaktív az parancsértelmezőkben" #: shell.c:940 #, c-format @@ -1709,9 +1692,7 @@ msgstr "\t-%s vagy -o kapcsoló\n" #: shell.c:2013 #, c-format msgid "Type `%s -c \"help set\"' for more information about shell options.\n" -msgstr "" -"A „%s -c \"help set\"” további információt ad a parancsértelmező-" -"beállításokról.\n" +msgstr "A „%s -c \"help set\"” további információt ad a parancsértelmező-beállításokról.\n" #: shell.c:2014 #, c-format @@ -1731,9 +1712,7 @@ msgstr "a bash honlapja: \n" #: shell.c:2018 #, c-format msgid "General help using GNU software: \n" -msgstr "" -"Általános segítség a GNU szoftverek használatához: \n" +msgstr "Általános segítség a GNU szoftverek használatához: \n" #: sig.c:730 #, c-format @@ -1974,9 +1953,9 @@ msgid "%s: invalid variable name" msgstr "%s: érvénytelen változónév" #: subst.c:7056 -#, fuzzy, c-format +#, c-format msgid "%s: parameter not set" -msgstr "%s: a paraméter null vagy nincs beállítva" +msgstr "%s: a paraméter nincs beállítva" #: subst.c:7058 #, c-format @@ -1999,12 +1978,8 @@ msgid "$%s: cannot assign in this way" msgstr "$%s: nem lehet így értéket adni" #: subst.c:9485 -msgid "" -"future versions of the shell will force evaluation as an arithmetic " -"substitution" -msgstr "" -"a parancsértelmező későbbi verziói kötelezővé teszik majd az aritmetikai " -"kiértékelést" +msgid "future versions of the shell will force evaluation as an arithmetic substitution" +msgstr "a parancsértelmező későbbi verziói kötelezővé teszik majd az aritmetikai kiértékelést" #: subst.c:10043 #, c-format @@ -2053,9 +2028,9 @@ msgid "invalid signal number" msgstr "érvénytelen szignálszám" #: trap.c:320 -#, fuzzy, c-format +#, c-format msgid "trap handler: maximum trap handler level exceeded (%d)" -msgstr "eval: a maximális eval beágyazási szint túllépve (%d)" +msgstr "elfogáskezelő: a legnagyobb elfogáskezelő-szint túllépve (%d)" #: trap.c:408 #, c-format @@ -2064,10 +2039,8 @@ msgstr "run_pending_traps: rossz érték a trap_list[%d]-ban: %p" #: trap.c:412 #, c-format -msgid "" -"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself" -msgstr "" -"run_pending_traps: szignálkezelő a SIG_DFL, %d (%s) újraküldése önmagunknak" +msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself" +msgstr "run_pending_traps: szignálkezelő a SIG_DFL, %d (%s) újraküldése önmagunknak" #: trap.c:470 #, c-format @@ -2145,14 +2118,11 @@ msgid "%s: %s: compatibility value out of range" msgstr "%s: %s: a kompatibilitási érték kívül esik a tartományon" #: version.c:46 version2.c:46 -#, fuzzy msgid "Copyright (C) 2018 Free Software Foundation, Inc." -msgstr "Copyright © 2016 Free Software Foundation, Inc." +msgstr "Copyright (C) 2018 Free Software Foundation, Inc." #: version.c:47 version2.c:47 -msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +msgid "License GPLv3+: GNU GPL version 3 or later \n" msgstr "" "A licenc GPLv3+: a GNU GPL 3. vagy újabb változata\n" "\n" @@ -2199,13 +2169,8 @@ msgid "unalias [-a] name [name ...]" msgstr "unalias [-a] név [név ...]" #: builtins.c:53 -msgid "" -"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-" -"x keyseq:shell-command] [keyseq:readline-function or readline-command]" -msgstr "" -"bind [-lpsvPSVX] [-m kiosztás] [-f fájlnév] [-q név] [-u név] [-r billkomb] " -"[-x billkomb:shell-parancs] [billkomb:readline-függvény vagy readline-" -"parancs]" +msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]" +msgstr "bind [-lpsvPSVX] [-m kiosztás] [-f fájlnév] [-q név] [-u név] [-r billkomb] [-x billkomb:shell-parancs] [billkomb:readline-függvény vagy readline-parancs]" #: builtins.c:56 msgid "break [n]" @@ -2281,8 +2246,7 @@ msgstr "logout [n]" #: builtins.c:105 msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]" -msgstr "" -"fc [-e ename] [-lnr] [első] [utolsó] vagy fc -s [minta=csere] [parancs]" +msgstr "fc [-e ename] [-lnr] [első] [utolsó] vagy fc -s [minta=csere] [parancs]" #: builtins.c:109 msgid "fg [job_spec]" @@ -2301,12 +2265,8 @@ msgid "help [-dms] [pattern ...]" msgstr "help [-dms] [minta ...]" #: builtins.c:123 -msgid "" -"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg " -"[arg...]" -msgstr "" -"history [-c] [-d szám] [n] vagy history -anrw [fájlnév] vagy history -ps arg " -"[arg...]" +msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]" +msgstr "history [-c] [-d szám] [n] vagy history -anrw [fájlnév] vagy history -ps arg [arg...]" #: builtins.c:127 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]" @@ -2317,24 +2277,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]" msgstr "disown [-h] [-ar] [munkaszám ... | pid ...]" #: builtins.c:134 -msgid "" -"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l " -"[sigspec]" -msgstr "" -"kill [-s szignál | -n szignálszám | -szignál] pid | munkaszám ... vagy kill -" -"l [szignál]" +msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]" +msgstr "kill [-s szignál | -n szignálszám | -szignál] pid | munkaszám ... vagy kill -l [szignál]" #: builtins.c:136 msgid "let arg [arg ...]" msgstr "let arg [arg ...]" #: builtins.c:138 -msgid "" -"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p " -"prompt] [-t timeout] [-u fd] [name ...]" -msgstr "" -"read [-ers] [-a tömb] [-d elválasztó] [-i szöveg] [-n szám] [-N szám] [-p " -"prompt] [-t időkeret] [-u fd] [név ...]" +msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]" +msgstr "read [-ers] [-a tömb] [-d elválasztó] [-i szöveg] [-n szám] [-N szám] [-p prompt] [-t időkeret] [-u fd] [név ...]" #: builtins.c:140 msgid "return [n]" @@ -2397,9 +2349,8 @@ msgid "umask [-p] [-S] [mode]" msgstr "umask [-p] [-S] [mód]" #: builtins.c:177 -#, fuzzy msgid "wait [-fn] [id ...]" -msgstr "wait [-n] [id ...]" +msgstr "wait [-fn] [id ...]" #: builtins.c:181 msgid "wait [pid ...]" @@ -2426,12 +2377,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac" msgstr "case SZÓ in [MINTA [| MINTA]...) PARANCSOK ;;]... esac" #: builtins.c:194 -msgid "" -"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else " -"COMMANDS; ] fi" -msgstr "" -"if PARANCSOK; then PARANCSOK; [ elif PARANCSOK; then PARANCSOK; ]... [ else " -"PARANCSOK; ] fi" +msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi" +msgstr "if PARANCSOK; then PARANCSOK; [ elif PARANCSOK; then PARANCSOK; ]... [ else PARANCSOK; ] fi" #: builtins.c:196 msgid "while COMMANDS; do COMMANDS; done" @@ -2490,46 +2437,24 @@ msgid "printf [-v var] format [arguments]" msgstr "printf [-v változó] formátum [argumentumok]" #: builtins.c:231 -#, fuzzy -msgid "" -"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-" -"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S " -"suffix] [name ...]" -msgstr "" -"complete [-abcdefgjksuv] [-pr] [-DE] [-o beállítás] [-A művelet] [-G " -"globminta] [-W szólista] [-F függvény] [-C parancs] [-X szűrőminta] [-P " -"prefixum] [-S szuffixum] [név ...]" +msgid "complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]" +msgstr "complete [-abcdefgjksuv] [-pr] [-DEI] [-o beállítás] [-A művelet] [-G globminta] [-W szólista] [-F függvény] [-C parancs] [-X szűrőminta] [-P prefixum] [-S szuffixum] [név ...]" #: builtins.c:235 -msgid "" -"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] " -"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]" -msgstr "" -"compgen [-abcdefgjksuv] [-o beállítás] [-A művelet] [-G globminta] [-W " -"szólista] [-F függvény] [-C parancs] [-X szűrőminta] [-P prefixum] [-S " -"szuffixum] [szó]" +msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]" +msgstr "compgen [-abcdefgjksuv] [-o beállítás] [-A művelet] [-G globminta] [-W szólista] [-F függvény] [-C parancs] [-X szűrőminta] [-P prefixum] [-S szuffixum] [szó]" #: builtins.c:239 -#, fuzzy msgid "compopt [-o|+o option] [-DEI] [name ...]" -msgstr "compopt [-o|+o beállítás] [-DE] [név ...]" +msgstr "compopt [-o|+o beállítás] [-DEI] [név ...]" #: builtins.c:242 -msgid "" -"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C " -"callback] [-c quantum] [array]" -msgstr "" -"mapfile [-d elválasztó] [-n szám] [-O kezdet] [-s szám] [-t] [-u fd] [-C " -"parancs] [-c távolság] [tömb]" +msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]" +msgstr "mapfile [-d elválasztó] [-n szám] [-O kezdet] [-s szám] [-t] [-u fd] [-C parancs] [-c távolság] [tömb]" #: builtins.c:244 -#, fuzzy -msgid "" -"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C " -"callback] [-c quantum] [array]" -msgstr "" -"readarray [-n szám] [-O kezdet] [-s szám] [-t] [-u fd] [-C parancs] [-c " -"távolság] [tömb]" +msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]" +msgstr "readarray [-d elválasztó] [-n szám] [-O kezdet] [-s szám] [-t] [-u fd] [-C parancs] [-c távolság] [tömb]" #: builtins.c:256 msgid "" @@ -2546,14 +2471,12 @@ msgid "" " -p\tprint all defined aliases in a reusable format\n" " \n" " Exit Status:\n" -" alias returns true unless a NAME is supplied for which no alias has " -"been\n" +" alias returns true unless a NAME is supplied for which no alias has been\n" " defined." msgstr "" "Aliasok definiálása vagy kiírása.\n" " \n" -" Argumentumok nélkül az „alias” kiír egy újrahasználható listát a " -"meglévő\n" +" Argumentumok nélkül az „alias” kiír egy újrahasználható listát a meglévő\n" " aliasokról „alias NÉV=ÉRTÉK' formában a szabványos kimenetre.\n" " \n" " Különben egy NÉV nevű aliast definiál ÉRTÉK értékkel. Az ÉRTÉK végén a\n" @@ -2594,30 +2517,25 @@ msgid "" " Options:\n" " -m keymap Use KEYMAP as the keymap for the duration of this\n" " command. Acceptable keymap names are emacs,\n" -" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-" -"move,\n" +" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n" " vi-command, and vi-insert.\n" " -l List names of functions.\n" " -P List function names and bindings.\n" " -p List functions and bindings in a form that can be\n" " reused as input.\n" -" -S List key sequences that invoke macros and their " -"values\n" -" -s List key sequences that invoke macros and their " -"values\n" +" -S List key sequences that invoke macros and their values\n" +" -s List key sequences that invoke macros and their values\n" " in a form that can be reused as input.\n" " -V List variable names and values\n" " -v List variable names and values in a form that can\n" " be reused as input.\n" " -q function-name Query about which keys invoke the named function.\n" -" -u function-name Unbind all keys which are bound to the named " -"function.\n" +" -u function-name Unbind all keys which are bound to the named function.\n" " -r keyseq Remove the binding for KEYSEQ.\n" " -f filename Read key bindings from FILENAME.\n" " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n" " \t\t\t\tKEYSEQ is entered.\n" -" -X List key sequences bound with -x and associated " -"commands\n" +" -X List key sequences bound with -x and associated commands\n" " in a form that can be reused as input.\n" " \n" " Exit Status:\n" @@ -2626,14 +2544,12 @@ msgstr "" "Readline billentyűkötések és változók beállítása.\n" " \n" " Egy billentyűsorozat hozzárendelése Readline függvényhez vagy makróhoz,\n" -" vagy Readline változó beállítása. A beállítás nélküli szintaxis " -"megegyezik\n" +" vagy Readline változó beállítása. A beállítás nélküli szintaxis megegyezik\n" " az ~/.inputrc-ben találhatóval, de kell legyen egy argumentuma:\n" " pl. bind '\"\\C-x\\C-r\": re-read-init-file'.\n" " \n" " Kapcsolók:\n" -" -m kiosztás A KIOSZTÁS használata kiosztásként a parancs " -"hatásának\n" +" -m kiosztás A KIOSZTÁS használata kiosztásként a parancs hatásának\n" " idejére. Elfogadható kiosztásnevek: emacs,\n" " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-\n" " move, vi-command és vi-insert.\n" @@ -2641,19 +2557,15 @@ msgstr "" " -P Függvénynevek és kötések listázása.\n" " -p Függvények és kötések listázása újrahasználható\n" " formában.\n" -" -S Makrókat végrehajtó billentyűkombinációk és " -"értékeik\n" +" -S Makrókat végrehajtó billentyűkombinációk és értékeik\n" " listázása.\n" -" -s Makrókat végrehajtó billentyűkombinációk és " -"értékeik\n" +" -s Makrókat végrehajtó billentyűkombinációk és értékeik\n" " listázása újrahasználható formában.\n" " -V Változónevek és értékek listázása.\n" " -v Változónevek és értékek listázása újrahasználható\n" " formában.\n" -" -q függvénynév A függvényhez tartozó billentyűkombináció " -"lekérése.\n" -" -u függvénynév Össze adott függvényhez tartozó " -"billentyűkombináció\n" +" -q függvénynév A függvényhez tartozó billentyűkombináció lekérése.\n" +" -u függvénynév Össze adott függvényhez tartozó billentyűkombináció\n" " törlése.\n" " -r billkomb A BILLKOMB-hoz tartozó kötések törlése.\n" " -f fájlnév Kötések olvasása FÁJLNÉV fájlból.\n" @@ -2702,14 +2614,12 @@ msgstr "" " A kilépési kód 0, ha N >= 1." #: builtins.c:354 -#, fuzzy msgid "" "Execute shell builtins.\n" " \n" " Execute SHELL-BUILTIN with arguments ARGs without performing command\n" " lookup. This is useful when you wish to reimplement a shell builtin\n" -" as a shell function, but need to execute the builtin within the " -"function.\n" +" as a shell function, but need to execute the builtin within the function.\n" " \n" " Exit Status:\n" " Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n" @@ -2757,22 +2667,16 @@ msgstr "" msgid "" "Change the shell working directory.\n" " \n" -" Change the current directory to DIR. The default DIR is the value of " -"the\n" +" Change the current directory to DIR. The default DIR is the value of the\n" " HOME shell variable.\n" " \n" -" The variable CDPATH defines the search path for the directory " -"containing\n" -" DIR. Alternative directory names in CDPATH are separated by a colon " -"(:).\n" -" A null directory name is the same as the current directory. If DIR " -"begins\n" +" The variable CDPATH defines the search path for the directory containing\n" +" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n" +" A null directory name is the same as the current directory. If DIR begins\n" " with a slash (/), then CDPATH is not used.\n" " \n" -" If the directory is not found, and the shell option `cdable_vars' is " -"set,\n" -" the word is assumed to be a variable name. If that variable has a " -"value,\n" +" If the directory is not found, and the shell option `cdable_vars' is set,\n" +" the word is assumed to be a variable name. If that variable has a value,\n" " its value is used for DIR.\n" " \n" " Options:\n" @@ -2788,13 +2692,11 @@ msgid "" " \t\tattributes as a directory containing the file attributes\n" " \n" " The default is to follow symbolic links, as if `-L' were specified.\n" -" `..' is processed by removing the immediately previous pathname " -"component\n" +" `..' is processed by removing the immediately previous pathname component\n" " back to a slash or the beginning of DIR.\n" " \n" " Exit Status:\n" -" Returns 0 if the directory is changed, and if $PWD is set successfully " -"when\n" +" Returns 0 if the directory is changed, and if $PWD is set successfully when\n" " -P is used; non-zero otherwise." msgstr "" "A parancsértelmező munkakönyvtárának váltása.\n" @@ -2803,13 +2705,11 @@ msgstr "" " változóban lévő könyvtárra vált.\n" " \n" " A CDPATH környezeti változó adja meg a KTÁR keresési útvonalait. Az\n" -" útvonalakat kettőspont (:) választja el. Egy üres könyvtárnév az " -"aktuális\n" +" útvonalakat kettőspont (:) választja el. Egy üres könyvtárnév az aktuális\n" " könyvtárat jelenti. Ha a KTÁR „/” jellel kezdődik, a CDPATH értéke\n" " nincs figyelembe véve.\n" " \n" -" Ha a könyvtár nem létezik, és a „cdable_vars” parancsértelmező-" -"beállítás\n" +" Ha a könyvtár nem létezik, és a „cdable_vars” parancsértelmező-beállítás\n" " aktív, a KTÁR változónévként lesz használva. Ha a változónak van\n" " értéke, az lesz KTÁR-értékként használva.\n" " \n" @@ -2827,8 +2727,7 @@ msgstr "" " Az alapértelmezett a szimbolikus linkek követése, mintha „-L” lenne\n" " megadva.\n" " A „..” feldolgozása a közvetlenül előtte lévő útvonalnév-összetevő\n" -" eltávolításával történik, visszamenve egy osztásjelig vagy a KTÁR " -"kezdetéig.\n" +" eltávolításával történik, visszamenve egy osztásjelig vagy a KTÁR kezdetéig.\n" " \n" " Kilépési kód:\n" " 0-val tér vissza, ha könyvtárat váltott és ha a -P használatakor a $PWD\n" @@ -2907,8 +2806,7 @@ msgid "" "Execute a simple command or display information about commands.\n" " \n" " Runs COMMAND with ARGS suppressing shell function lookup, or display\n" -" information about the specified COMMANDs. Can be used to invoke " -"commands\n" +" information about the specified COMMANDs. Can be used to invoke commands\n" " on disk when a function with the same name exists.\n" " \n" " Options:\n" @@ -2939,7 +2837,6 @@ msgstr "" " található a PARANCS." #: builtins.c:490 -#, fuzzy msgid "" "Set variable values and attributes.\n" " \n" @@ -2970,8 +2867,7 @@ msgid "" " Variables with the integer attribute have arithmetic evaluation (see\n" " the `let' command) performed when the variable is assigned a value.\n" " \n" -" When used in a function, `declare' makes NAMEs local, as with the " -"`local'\n" +" When used in a function, `declare' makes NAMEs local, as with the `local'\n" " command. The `-g' option suppresses this behavior.\n" " \n" " Exit Status:\n" @@ -2996,11 +2892,11 @@ msgstr "" " -a\tNÉV indexelt tömbbé alakítása (ha támogatott)\n" " -A\tNÉV asszociatív tömbbé alakítása (ha támogatott)\n" " -i\tminden NÉV kapjon „integer” attribútumot\n" -" -l\ta NÉV kisbetűssé konvertálása értékadáskor\n" +" -l\tminden NÉV értékének kisbetűssé konvertálása értékadáskor\n" " -n\ta NÉV hivatkozás legyen az értékében megadott változóra\n" " -r\tminden NÉV legyen csak olvasható\n" " -t\tminden NÉV kapjon „trace” attribútumot\n" -" -u\ta NÉV nagybetűssé konvertálása értékadáskor\n" +" -u\tminden NÉV értékének nagybetűssé konvertálása értékadáskor\n" " -x\tminden NÉV exportálása\n" " \n" " A „-” helyett „+” használata kikapcsolja az adott attribútumot.\n" @@ -3012,8 +2908,7 @@ msgstr "" " a „local” parancshoz. A „-g” kapcsoló elnyomja ezt a viselkedést.\n" " \n" " Kilépési kód:\n" -" Sikerrel tér vissza, kivéve ha érvénytelen kapcsolót kap, vagy " -"értékadási\n" +" Sikerrel tér vissza, kivéve ha érvénytelen kapcsolót kap, vagy értékadási\n" " hiba történik." #: builtins.c:530 @@ -3053,12 +2948,10 @@ msgstr "" " hiba történik, vagy nem függvényben lett hívva." #: builtins.c:555 -#, fuzzy msgid "" "Write arguments to the standard output.\n" " \n" -" Display the ARGs, separated by a single space character and followed by " -"a\n" +" Display the ARGs, separated by a single space character and followed by a\n" " newline, on the standard output.\n" " \n" " Options:\n" @@ -3082,11 +2975,9 @@ msgid "" " \t\t0 to 3 octal digits\n" " \\xHH\tthe eight-bit character whose value is HH (hexadecimal). HH\n" " \t\tcan be one or two hex digits\n" -" \\uHHHH\tthe Unicode character whose value is the hexadecimal value " -"HHHH.\n" +" \\uHHHH\tthe Unicode character whose value is the hexadecimal value HHHH.\n" " \t\tHHHH can be one to four hex digits.\n" -" \\UHHHHHHHH the Unicode character whose value is the hexadecimal " -"value\n" +" \\UHHHHHHHH the Unicode character whose value is the hexadecimal value\n" " \t\tHHHHHHHH. HHHHHHHH can be one to eight hex digits.\n" " \n" " Exit Status:\n" @@ -3114,9 +3005,13 @@ msgstr "" " \\v\tfüggőleges tabulátor\n" " \\\\\tvisszaper (\\)\n" " \\0nnn\taz oktális NNN ASCII-kódú karakter. NNN 0–3\n" -" \t\toktális számjegy lehet\n" +" \t\toktális számjegy lehet\n" " \\xHH\taz a 8 bites karakter, amelynek értéke HH\n" -" \t\t(hexadecimálisan). HH egy vagy két hexaszámjegy lehet\n" +" \t\t(hexadecimálisan). HH egy vagy két hexaszámjegy lehet\n" +" \\uHHHH\ta Unicode karakter, amely értéke a HHHH hexadecimális\n" +" \t\térték. A HHHH 1-4 hexaszámjegy lehet.\n" +" \\UHHHHHHHH a Unicode karakter, amely értéke a HHHHHHHH hexadecimális\n" +" \t\térték. A HHHHHHHH 1-8 hexaszámjegy lehet.\n" " \n" " Kilépési kód:\n" " Sikerrel tér vissza, kivéve írási hiba esetén." @@ -3199,8 +3094,7 @@ msgstr "" msgid "" "Execute arguments as a shell command.\n" " \n" -" Combine ARGs into a single string, use the result as input to the " -"shell,\n" +" Combine ARGs into a single string, use the result as input to the shell,\n" " and execute the resulting commands.\n" " \n" " Exit Status:\n" @@ -3265,25 +3159,20 @@ msgstr "" " \n" " Minden végrehajtáskor a getopts a $név változóba helyezi a következő\n" " kapcsolót (szükség esetén inicializálva a változót). A kapcsoló indexe\n" -" az OPTIND változóba kerül. Az OPTIND változót a parancsértelmező " -"induláskor\n" +" az OPTIND változóba kerül. Az OPTIND változót a parancsértelmező induláskor\n" " 1-re inicializálja. Ha a kapcsolónak paramétere van, ennek értéke\n" " az OPTARG változóba kerül.\n" " \n" -" A getopts két módon tud hibát jelezni. Elnémítható a hibajelzés az " -"OPCIÓK\n" +" A getopts két módon tud hibát jelezni. Elnémítható a hibajelzés az OPCIÓK\n" " kettősponttal való kezdésével. Ebben a módban nem kerül kiírásra\n" " hibaüzenet. Ha a getopts érvénytelen opciót talál, ezt az OPTARG\n" -" változóba írja. Ha hiányzik egy kötelező paraméter, a $név változóba " -"egy\n" +" változóba írja. Ha hiányzik egy kötelező paraméter, a $név változóba egy\n" " kettőspont kerül, és a talált karakter az OPTARG-ba kerül.\n" " Ha a getopts nincs néma módban, és érvénytelen kapcsolót talál, $NÉV-be\n" " egy kérdőjel kerül, az OPTARG törlésre kerül, és hibaüzenetet ír ki.\n" " \n" -" Ha az OPTERR változó 0-ra van állítva, a getopts letiltja a " -"hibaüzenetet,\n" -" akkor is, ha nem kettősponttal kezdődik az OPCIÓK. Az OPTERR alapértéke " -"1.\n" +" Ha az OPTERR változó 0-ra van állítva, a getopts letiltja a hibaüzenetet,\n" +" akkor is, ha nem kettősponttal kezdődik az OPCIÓK. Az OPTERR alapértéke 1.\n" " \n" " A getopts alapvetően a pozicionális paramétereket értelmezi ($0–$9), de\n" " több argumentum esetén mindet kezeli.\n" @@ -3297,8 +3186,7 @@ msgid "" "Replace the shell with the given command.\n" " \n" " Execute COMMAND, replacing this shell with the specified program.\n" -" ARGUMENTS become the arguments to COMMAND. If COMMAND is not " -"specified,\n" +" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n" " any redirections take effect in the current shell.\n" " \n" " Options:\n" @@ -3306,13 +3194,11 @@ msgid "" " -c\texecute COMMAND with an empty environment\n" " -l\tplace a dash in the zeroth argument to COMMAND\n" " \n" -" If the command cannot be executed, a non-interactive shell exits, " -"unless\n" +" If the command cannot be executed, a non-interactive shell exits, unless\n" " the shell option `execfail' is set.\n" " \n" " Exit Status:\n" -" Returns success unless COMMAND is not found or a redirection error " -"occurs." +" Returns success unless COMMAND is not found or a redirection error occurs." msgstr "" "A parancsértelmező felváltása a megadott paranccsal.\n" " \n" @@ -3326,8 +3212,7 @@ msgstr "" " -c\ta PARANCS végrehajtása üres környezettel\n" " -l\ta PARANCSNAK egy „-” átadása $0-ként\n" " \n" -" Ha a parancs nem hajtható végre, a nem interaktív parancsértelmező " -"kilép,\n" +" Ha a parancs nem hajtható végre, a nem interaktív parancsértelmező kilép,\n" " kivéve, ha az „execfail” parancsértelmező-beállítás él.\n" " \n" " Kilépési kód:\n" @@ -3343,16 +3228,14 @@ msgid "" msgstr "" "Kilépés a parancsértelmezőből.\n" " \n" -" Kilép a parancsértelmezőből N kilépési kóddal. Ha az N hiányzik, az " -"utolsó\n" +" Kilép a parancsértelmezőből N kilépési kóddal. Ha az N hiányzik, az utolsó\n" " parancs kilépési kódjával lép ki." #: builtins.c:722 msgid "" "Exit a login shell.\n" " \n" -" Exits a login shell with exit status N. Returns an error if not " -"executed\n" +" Exits a login shell with exit status N. Returns an error if not executed\n" " in a login shell." msgstr "" "Kilépés a bejelentkező parancsértelmezőből.\n" @@ -3364,15 +3247,13 @@ msgstr "" msgid "" "Display or execute commands from the history list.\n" " \n" -" fc is used to list or edit and re-execute commands from the history " -"list.\n" +" fc is used to list or edit and re-execute commands from the history list.\n" " FIRST and LAST can be numbers specifying the range, or FIRST can be a\n" " string, which means the most recent command beginning with that\n" " string.\n" " \n" " Options:\n" -" -e ENAME\tselect which editor to use. Default is FCEDIT, then " -"EDITOR,\n" +" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n" " \t\tthen vi\n" " -l \tlist lines instead of editing\n" " -n\tomit line numbers when listing\n" @@ -3386,16 +3267,13 @@ msgid "" " the last command.\n" " \n" " Exit Status:\n" -" Returns success or status of executed command; non-zero if an error " -"occurs." +" Returns success or status of executed command; non-zero if an error occurs." msgstr "" "Parancsok megjelenítése vagy végrehajtása az előzményből.\n" " \n" -" Az fc segítségével lehet korábbi parancsokat kiírni, módosítani és " -"újból\n" +" Az fc segítségével lehet korábbi parancsokat kiírni, módosítani és újból\n" " végrehajtani.\n" -" Az ELSŐ és UTOLSÓ lehetnek egy tartományt meghatározó számok, vagy az " -"ELSŐ\n" +" Az ELSŐ és UTOLSÓ lehetnek egy tartományt meghatározó számok, vagy az ELSŐ\n" " lehet egy karakterlánc, amely az utolsó így kezdődő parancsot jelöli.\n" " \n" " Kapcsolók:\n" @@ -3405,8 +3283,7 @@ msgstr "" " -n\tsorok számának elhagyása listázáskor\n" " -r\tsorrend megcserélése (legújabbakkal kezdi a listázást)\n" " \n" -" Az „fc -s [minta=csere] [parancs]” formával PARANCS... újból " -"végrehajtásra\n" +" Az „fc -s [minta=csere] [parancs]” formával PARANCS... újból végrehajtásra\n" " kerül, miután a régi=új behelyettesítés megtörtént.\n" " \n" " Hasznos lehet az „alias r='fc -s'” használata, mivel így pl. az „r cc”\n" @@ -3414,8 +3291,7 @@ msgstr "" " ismétli az utolsó parancsot.\n" " \n" " Kilépési kód:\n" -" Sikert vagy a végrehajtott parancs kilépési kódját adja; nullától " -"eltérőt\n" +" Sikert vagy a végrehajtott parancs kilépési kódját adja; nullától eltérőt\n" " hiba esetén." #: builtins.c:762 @@ -3432,8 +3308,7 @@ msgstr "" "Munka előtérbe hozása.\n" " \n" " A MUNKASZÁM által meghatározott munkát az előtérbe hozza, az aktuális\n" -" munkává téve azt. Ha nincs MUNKASZÁM, a parancsértelmező által " -"megjegyzett\n" +" munkává téve azt. Ha nincs MUNKASZÁM, a parancsértelmező által megjegyzett\n" " aktuális munkára vonatkozik a parancs.\n" " \n" " Kilépési kód:\n" @@ -3444,10 +3319,8 @@ msgstr "" msgid "" "Move jobs to the background.\n" " \n" -" Place the jobs identified by each JOB_SPEC in the background, as if " -"they\n" -" had been started with `&'. If JOB_SPEC is not present, the shell's " -"notion\n" +" Place the jobs identified by each JOB_SPEC in the background, as if they\n" +" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n" " of the current job is used.\n" " \n" " Exit Status:\n" @@ -3457,8 +3330,7 @@ msgstr "" " \n" " A MUNKASZÁM által meghatározott munkákat háttérbe küldi, mintha „&”\n" " jellel a parancs végén lettek volna indítva. Ha nincs MUNKASZÁM, a\n" -" parancsértelmező által megjegyzett aktuális munkára vonatkozik a " -"parancs.\n" +" parancsértelmező által megjegyzett aktuális munkára vonatkozik a parancs.\n" " \n" " Kilépési kód:\n" " Sikerrel tér vissza, kivéve ha a munkakezelés le van tiltva, vagy\n" @@ -3469,8 +3341,7 @@ msgid "" "Remember or display program locations.\n" " \n" " Determine and remember the full pathname of each command NAME. If\n" -" no arguments are given, information about remembered commands is " -"displayed.\n" +" no arguments are given, information about remembered commands is displayed.\n" " \n" " Options:\n" " -d\tforget the remembered location of each NAME\n" @@ -3508,7 +3379,6 @@ msgstr "" " kapcsolót kap." #: builtins.c:816 -#, fuzzy msgid "" "Display information about builtin commands.\n" " \n" @@ -3526,8 +3396,7 @@ msgid "" " PATTERN\tPattern specifying a help topic\n" " \n" " Exit Status:\n" -" Returns success unless PATTERN is not found or an invalid option is " -"given." +" Returns success unless PATTERN is not found or an invalid option is given." msgstr "" "Tájékoztatás megjelenítése beépített parancsokról.\n" " \n" @@ -3548,7 +3417,6 @@ msgstr "" " Sikerrel tér vissza, kivéve ha nincs találat vagy hibás kapcsolót kap." #: builtins.c:840 -#, fuzzy msgid "" "Display or manipulate the history list.\n" " \n" @@ -3576,22 +3444,21 @@ msgid "" " \n" " If the HISTTIMEFORMAT variable is set and not null, its value is used\n" " as a format string for strftime(3) to print the time stamp associated\n" -" with each displayed history entry. No time stamps are printed " -"otherwise.\n" +" with each displayed history entry. No time stamps are printed otherwise.\n" " \n" " Exit Status:\n" " Returns success unless an invalid option is given or an error occurs." msgstr "" "Az előzmények megjelenítése vagy módosítása.\n" " \n" -" Megjeleníti az előzménylistát sorszámokkal, minden módosított " -"bejegyzést\n" +" Megjeleníti az előzménylistát sorszámokkal, minden módosított bejegyzést\n" " az elején „*”-gal megjelölve. N megadása esetén az utolsó N\n" " bejegyzést listázza.\n" " \n" " Kapcsolók:\n" " -c\taz előzménylista törlése az összes bejegyzésének törlésével\n" -" -d eltolás\taz ELTOLÁS pozícióban lévő előzménybejegyzés törlése\n" +" -d eltolás\taz ELTOLÁS pozícióban lévő előzménybejegyzés törlése,\n" +" \t\ta negatív eltolások az előzménylista végétől számolnak vissza\n" " -a\ta munkamenet előzménysorainak hozzáfűzése az előzményfájlhoz\n" " -n\tminden olyan előzménysor beolvasása, amelyek még nem lettek\n" " \t\tbeolvasva az előzményfájlból, és azok hozzáfűzése az\n" @@ -3604,8 +3471,7 @@ msgstr "" " \t\teredmény megjelenítése előzménylistán való tárolás nélkül\n" " -s\tARGUMENTUMOK hozzáfűzése egyetlen bejegyzésként a listához\n" " \n" -" Ha FÁJLNÉV is meg van adva, az lesz előzményfájlként használva. " -"Különben\n" +" Ha FÁJLNÉV is meg van adva, az lesz előzményfájlként használva. Különben\n" " a HISTFILE értéke, vagy ennek híján ~/.bash_history.\n" " \n" " Ha a HISTTIMEFORMAT változó be van állítva, és nem üres, akkor értéke\n" @@ -3652,8 +3518,7 @@ msgstr "" " -r\tcsak a futó munkák megjelenítése\n" " -s\tcsak a megállított munkák megjelenítése\n" " \n" -" Ha -x meg van adva, PARANCS kerül futtatásra úgy, hogy minden " -"argumentum\n" +" Ha -x meg van adva, PARANCS kerül futtatásra úgy, hogy minden argumentum\n" " a meghatározott munkához tartozó folyamatcsoport vezetőjének PID-jére\n" " cserélődik.\n" " \n" @@ -3679,8 +3544,7 @@ msgid "" msgstr "" "Munkák eltávolítása az aktuális parancsértelmezőből.\n" " \n" -" Eltávolít minden MUNKASZÁM munkát az aktív munkák táblájából. A " -"MUNKASZÁM\n" +" Eltávolít minden MUNKASZÁM munkát az aktív munkák táblájából. A MUNKASZÁM\n" " megadása nélkül a parancsértelmező által megjegyzett aktuális\n" " munkát távolítja el.\n" " \n" @@ -3734,8 +3598,7 @@ msgstr "" " folyamatok kilövése, ha a folyamatok számának korlátja elérve.\n" " \n" " Kilépési kód:\n" -" Sikerrel tér vissza, ha nem kap érvénytelen kapcsolót, vagy nem " -"történik\n" +" Sikerrel tér vissza, ha nem kap érvénytelen kapcsolót, vagy nem történik\n" " hiba." #: builtins.c:947 @@ -3745,8 +3608,7 @@ msgid "" " Evaluate each ARG as an arithmetic expression. Evaluation is done in\n" " fixed-width integers with no check for overflow, though division by 0\n" " is trapped and flagged as an error. The following list of operators is\n" -" grouped into levels of equal-precedence operators. The levels are " -"listed\n" +" grouped into levels of equal-precedence operators. The levels are listed\n" " in order of decreasing precedence.\n" " \n" " \tid++, id--\tvariable post-increment, post-decrement\n" @@ -3822,21 +3684,17 @@ msgstr "" " Ha az utolsó argumentum 0, a let 1-gyel tér vissza, különben 0-val." #: builtins.c:992 -#, fuzzy msgid "" "Read a line from the standard input and split it into fields.\n" " \n" " Reads a single line from the standard input, or from file descriptor FD\n" -" if the -u option is supplied. The line is split into fields as with " -"word\n" +" if the -u option is supplied. The line is split into fields as with word\n" " splitting, and the first word is assigned to the first NAME, the second\n" " word to the second NAME, and so on, with any leftover words assigned to\n" -" the last NAME. Only the characters found in $IFS are recognized as " -"word\n" +" the last NAME. Only the characters found in $IFS are recognized as word\n" " delimiters.\n" " \n" -" If no NAMEs are supplied, the line read is stored in the REPLY " -"variable.\n" +" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n" " \n" " Options:\n" " -a array\tassign the words read to sequential indices of the array\n" @@ -3848,8 +3706,7 @@ msgid "" " -n nchars\treturn after reading NCHARS characters rather than waiting\n" " \t\tfor a newline, but honor a delimiter if fewer than\n" " \t\tNCHARS characters are read before the delimiter\n" -" -N nchars\treturn only after reading exactly NCHARS characters, " -"unless\n" +" -N nchars\treturn only after reading exactly NCHARS characters, unless\n" " \t\tEOF is encountered or read times out, ignoring any\n" " \t\tdelimiter\n" " -p prompt\toutput the string PROMPT without a trailing newline before\n" @@ -3867,10 +3724,8 @@ msgid "" " -u fd\tread from file descriptor FD instead of the standard input\n" " \n" " Exit Status:\n" -" The return code is zero, unless end-of-file is encountered, read times " -"out\n" -" (in which case it's greater than 128), a variable assignment error " -"occurs,\n" +" The return code is zero, unless end-of-file is encountered, read times out\n" +" (in which case it's greater than 128), a variable assignment error occurs,\n" " or an invalid file descriptor is supplied as the argument to -u." msgstr "" "Egy sor beolvasása a szabványos bemenetről, és mezőkre osztása.\n" @@ -3884,28 +3739,28 @@ msgstr "" " \n" " Kapcsolók:\n" " -a tömb\ta beolvasott szavak TÖMB tömb 0-tól kezdve egymást követő\n" -" \t\tindexű elemeibe kerülnek\n" +" \t\tindexű elemeibe kerülnek\n" " -d elválasztó\taz ELVÁLASZTÓ első karakteréig olvasson az újsor\n" -" \t\thelyett\n" -" -e\ta sor beolvasása Readline használatával interaktívan\n" +" \t\thelyett\n" +" -e\ta Readline használata a sor megszerzéséhez\n" " -i szöveg\ta SZÖVEG használata kezdeti szövegként (Readline-hoz)\n" " -n szám\tSZÁM karakter beolvasása után térjen vissza, ne várjon\n" -" \t\tújsorra, de vegye figyelembe az elválasztót, ha kevesebb\n" -" \t\tmint SZÁM karaktert olvasott be az elválasztóig\n" +" \t\tújsorra, de vegye figyelembe az elválasztót, ha kevesebb\n" +" \t\tmint SZÁM karaktert olvasott be az elválasztóig\n" " -N szám\tpontosan akkor térjen vissza, ha SZÁM karaktert olvasott\n" -" \t\tbe, kivéve az EOF elérését és az időtúllépést, az\n" -" \t\telválasztókat figyelmen kívül hagyva\n" +" \t\tbe, kivéve az EOF elérését és az időtúllépést, az\n" +" \t\telválasztókat figyelmen kívül hagyva\n" " -p prompt\tírja ki a PROMPT értékét olvasás előtt a sor elejére,\n" -" \t\tzáró újsor nélkül\n" +" \t\tzáró újsor nélkül\n" " -r\ttiltsa le a „\\” kezdetű escape-ek használatát\n" " -s\tterminálról érkező bemenet ne visszhangozzon\n" " -t idő\tIDŐ leteltével jelezzen hibát, ha nem tudott egy teljes\n" -" \t\tsort beolvasni. A $TMOUT változó értéke az alapértelmezett\n" -" \t\tidőkorlát. Az IDŐ lehet tizedestört is. Ha idő 0, csak akkor\n" -" \t\tlesz sikeres a beolvasás, ha az adott fájlleírón már\n" -" \t\tolvasható a bemenet. Időtúllépés esetén a kilépési kód >128\n" +" \t\tsort beolvasni. A $TMOUT változó értéke az alapértelmezett\n" +" \t\tidőkorlát. Az IDŐ lehet tizedestört is. Ha idő 0, csak akkor\n" +" \t\tlesz sikeres a beolvasás, ha az adott fájlleírón már\n" +" \t\tolvasható a bemenet. Időtúllépés esetén a kilépési kód >128\n" " -u fd\tfájl beolvasása az FD. fájlleíróból a szabványos bemenet\n" -" \t\thelyett\n" +" \t\thelyett\n" " \n" " Kilépési kód:\n" " A kilépési kód nulla, kivéve ha EOF-ot ér a beolvasás, időtúllépéskor\n" @@ -3925,8 +3780,7 @@ msgstr "" "Visszatér egy függvényből.\n" " \n" " Egy függvény vagy egy „source”-olt parancsfájl adott N kilépési kóddal\n" -" való visszatérését okozza. Ha N nincs megadva, az utolsó parancs " -"kilépési\n" +" való visszatérését okozza. Ha N nincs megadva, az utolsó parancs kilépési\n" " kódjával tér vissza.\n" " \n" " Kilépési kód:\n" @@ -3976,8 +3830,7 @@ msgid "" " physical same as -P\n" " pipefail the return value of a pipeline is the status of\n" " the last command to exit with a non-zero status,\n" -" or zero if no command exited with a non-zero " -"status\n" +" or zero if no command exited with a non-zero status\n" " posix change the behavior of bash where the default\n" " operation differs from the Posix standard to\n" " match the standard\n" @@ -4001,8 +3854,7 @@ msgid "" " by default when the shell is interactive.\n" " -P If set, do not resolve symbolic links when executing commands\n" " such as cd which change the current directory.\n" -" -T If set, the DEBUG and RETURN traps are inherited by shell " -"functions.\n" +" -T If set, the DEBUG and RETURN traps are inherited by shell functions.\n" " -- Assign any remaining arguments to the positional parameters.\n" " If there are no remaining arguments, the positional parameters\n" " are unset.\n" @@ -4068,8 +3920,7 @@ msgstr "" " vi vi-szerű sorszerkesztés\n" " xtrace mint -x\n" " -p Mindig be van kapcsolva, ha a valós és effektív felhasználó nem\n" -" egyezik. Letiltja az $ENV fájl értelmezését és a " -"parancsértelmező-\n" +" egyezik. Letiltja az $ENV fájl értelmezését és a parancsértelmező-\n" " függvények betöltését. A kapcsoló kikapcsolása az effektív\n" " uid és gid valósra állítását okozza\n" " -t Egyetlen parancs beolvasása és végrehajtás után kilépés\n" @@ -4084,19 +3935,15 @@ msgstr "" " -P Parancsok végrehajtásánál szimbolikus linkek követésének tiltása\n" " (például cd esetében)\n" " -T A DEBUG és RETURN csapdát öröklik a függvények\n" -" -- A további argumentumok hozzárendelése a pozicionális " -"paraméterekhez.\n" -" Ha nincsenek további argumentumok, akkora a pozicionális " -"paraméterek\n" +" -- A további argumentumok hozzárendelése a pozicionális paraméterekhez.\n" +" Ha nincsenek további argumentumok, akkora a pozicionális paraméterek\n" " törlésre kerülnek.\n" " - A további argumentumok pozicionális paraméterekhez rendelése\n" " A -x és -v kapcsolók ki vannak kapcsolva.\n" " \n" " „-” helyett „+” használatával a kapcsolók tilthatóak. A kapcsolók a\n" -" parancsértelmező indításakor is állíthatóak. Az érvényben lévő " -"kapcsolók\n" -" a $- változóban vannak. A záró nem értelmezhető argumentumok " -"pozicionális\n" +" parancsértelmező indításakor is állíthatóak. Az érvényben lévő kapcsolók\n" +" a $- változóban vannak. A záró nem értelmezhető argumentumok pozicionális\n" " paraméterek lesznek (rendre $1, $2 ... $n). Ha nincs ARG, minden\n" " parancsértelmező-változó kiírásra kerül.\n" " \n" @@ -4115,8 +3962,7 @@ msgid "" " -n\ttreat each NAME as a name reference and unset the variable itself\n" " \t\trather than the variable it references\n" " \n" -" Without options, unset first tries to unset a variable, and if that " -"fails,\n" +" Without options, unset first tries to unset a variable, and if that fails,\n" " tries to unset a function.\n" " \n" " Some variables cannot be unset; also see `readonly'.\n" @@ -4124,8 +3970,7 @@ msgid "" " Exit Status:\n" " Returns success unless an invalid option is given or a NAME is read-only." msgstr "" -"Parancsértelmező-változók és -függvények értékeinek és jellemzőinek " -"törlése.\n" +"Parancsértelmező-változók és -függvények értékeinek és jellemzőinek törlése.\n" " \n" " Minden NÉV nevű függvény vagy változó törlése.\n" " \n" @@ -4135,8 +3980,7 @@ msgstr "" " -n\tminden NÉV névhivatkozás, és a változó törlése az általa\n" " \t\thivatkozott változó helyett\n" " \n" -" Kapcsolók nélkül az unset először változót, sikertelenség esetén " -"függvényt\n" +" Kapcsolók nélkül az unset először változót, sikertelenség esetén függvényt\n" " próbál törölni.\n" " \n" " Néhány változót nem lehet törölni, lásd „readonly”.\n" @@ -4150,8 +3994,7 @@ msgid "" "Set export attribute for shell variables.\n" " \n" " Marks each NAME for automatic export to the environment of subsequently\n" -" executed commands. If VALUE is supplied, assign VALUE before " -"exporting.\n" +" executed commands. If VALUE is supplied, assign VALUE before exporting.\n" " \n" " Options:\n" " -f\trefer to shell functions\n" @@ -4251,13 +4094,11 @@ msgstr "" "Parancsok végrehajtása fájlból a futó parancsértelmezőben.\n" " \n" " A FÁJLNÉV fájlból a parancsok beolvasása és végrehajtása. A fájlnév\n" -" megtalálásához a $PATH által felsorolt könyvtárakban keres. Az " -"ARGUMENTUMOK\n" +" megtalálásához a $PATH által felsorolt könyvtárakban keres. Az ARGUMENTUMOK\n" " pozicionális paraméterek lesznek a FÁJLNÉV végrehajtásakor.\n" " \n" " Kilépési kód:\n" -" A FÁJLNÉV utolsó parancsának kilépési kódjával tér vissza; " -"sikertelenül,\n" +" A FÁJLNÉV utolsó parancsának kilépési kódjával tér vissza; sikertelenül,\n" " ha a FÁJLNÉV nem olvasható." #: builtins.c:1243 @@ -4320,8 +4161,7 @@ msgid "" " -x FILE True if the file is executable by you.\n" " -O FILE True if the file is effectively owned by you.\n" " -G FILE True if the file is effectively owned by your group.\n" -" -N FILE True if the file has been modified since it was last " -"read.\n" +" -N FILE True if the file has been modified since it was last read.\n" " \n" " FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n" " modification date).\n" @@ -4342,8 +4182,7 @@ msgid "" " STRING1 != STRING2\n" " True if the strings are not equal.\n" " STRING1 < STRING2\n" -" True if STRING1 sorts before STRING2 " -"lexicographically.\n" +" True if STRING1 sorts before STRING2 lexicographically.\n" " STRING1 > STRING2\n" " True if STRING1 sorts after STRING2 lexicographically.\n" " \n" @@ -4371,8 +4210,7 @@ msgstr "" "Feltételes kifejezések kiértékelése.\n" " \n" " 0-val (igaz) vagy 1-gyel (hamis) lép ki a KIFEJEZÉS értékétől függően.\n" -" A kifejezéseknek egy vagy két operandusa lehet. Az egyoperandusú " -"kifejezések\n" +" A kifejezéseknek egy vagy két operandusa lehet. Az egyoperandusú kifejezések\n" " többnyire fájlok állapotát vizsgálják. Karakterláncokat és\n" " számokat is lehet összehasonlítani.\n" " \n" @@ -4426,10 +4264,8 @@ msgstr "" " \n" " -o BEÁLLÍTÁS Igaz, ha a parancsértelmező-beállítás engedélyezve\n" " van.\n" -" -v VÁLT Igaz, ha a VÁLT parancsértelmező-változó be van " -"állítva.\n" -" -R VÁLT Igaz, ha a VÁLT parancsértelmező-változó be van " -"állítva,\n" +" -v VÁLT Igaz, ha a VÁLT parancsértelmező-változó be van állítva.\n" +" -R VÁLT Igaz, ha a VÁLT parancsértelmező-változó be van állítva,\n" " és névhivatkozás.\n" " ! KIF Igaz, ha KIF hamis.\n" " KIF1 -a KIF2 Igaz, ha KIF1 ÉS KIF2 is igaz.\n" @@ -4443,8 +4279,7 @@ msgstr "" " vagy egyenlő, mint ARG2.\n" " \n" " Kilépési kód:\n" -" Sikerrel tér vissza, ha a KIF igaz; sikertelenséggel, ha a KIF hamis, " -"vagy\n" +" Sikerrel tér vissza, ha a KIF igaz; sikertelenséggel, ha a KIF hamis, vagy\n" " érvénytelen argumentumokat kap." #: builtins.c:1341 @@ -4463,8 +4298,7 @@ msgstr "" msgid "" "Display process times.\n" " \n" -" Prints the accumulated user and system times for the shell and all of " -"its\n" +" Prints the accumulated user and system times for the shell and all of its\n" " child processes.\n" " \n" " Exit Status:\n" @@ -4482,8 +4316,7 @@ msgstr "" msgid "" "Trap signals and other events.\n" " \n" -" Defines and activates handlers to be run when the shell receives " -"signals\n" +" Defines and activates handlers to be run when the shell receives signals\n" " or other conditions.\n" " \n" " ARG is a command to be read and executed when the shell receives the\n" @@ -4492,34 +4325,26 @@ msgid "" " value. If ARG is the null string each SIGNAL_SPEC is ignored by the\n" " shell and by the commands it invokes.\n" " \n" -" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. " -"If\n" -" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. " -"If\n" -" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or " -"a\n" -" script run by the . or source builtins finishes executing. A " -"SIGNAL_SPEC\n" -" of ERR means to execute ARG each time a command's failure would cause " -"the\n" +" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. If\n" +" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. If\n" +" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n" +" script run by the . or source builtins finishes executing. A SIGNAL_SPEC\n" +" of ERR means to execute ARG each time a command's failure would cause the\n" " shell to exit when the -e option is enabled.\n" " \n" -" If no arguments are supplied, trap prints the list of commands " -"associated\n" +" If no arguments are supplied, trap prints the list of commands associated\n" " with each signal.\n" " \n" " Options:\n" " -l\tprint a list of signal names and their corresponding numbers\n" " -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n" " \n" -" Each SIGNAL_SPEC is either a signal name in or a signal " -"number.\n" +" Each SIGNAL_SPEC is either a signal name in or a signal number.\n" " Signal names are case insensitive and the SIG prefix is optional. A\n" " signal may be sent to the shell with \"kill -signal $$\".\n" " \n" " Exit Status:\n" -" Returns success unless a SIGSPEC is invalid or an invalid option is " -"given." +" Returns success unless a SIGSPEC is invalid or an invalid option is given." msgstr "" "Szignálok és más események elfogása.\n" " \n" @@ -4529,19 +4354,14 @@ msgstr "" " Az ARG az a parancs, amelyet a parancsértelmező beolvas és végrehajt a\n" " SZIGNÁLOK bekövetkezésekor. Ha az ARG hiányzik (és egy SZIGNÁL van\n" " megadva) vagy az ARG egy „-”, akkor minden szignálkezelő visszaáll az\n" -" alapértelmezett viselkedésre. Ha az ARG üres, akkor a megadott " -"SZIGNÁLOK\n" +" alapértelmezett viselkedésre. Ha az ARG üres, akkor a megadott SZIGNÁLOK\n" " bekövetkezésekor nem történik semmi a parancsértelmezőben és új\n" " gyermekfolyamataiban.\n" " \n" -" Ha a SZIGNÁL értéke EXIT (0), az ARG a parancsértelmezőből való " -"kilépéskor\n" -" fut. Ha értéke DEBUG, az ARG minden parancs előtt fut. Ha a SZIGNÁL " -"értéke\n" -" RETURN, az ARG a . vagy source kulcsszó használatával futtatott " -"függvény\n" -" vagy parancsfájl befejeződésekor fut le. Ha az érték ERR, akkor az ARG " -"a\n" +" Ha a SZIGNÁL értéke EXIT (0), az ARG a parancsértelmezőből való kilépéskor\n" +" fut. Ha értéke DEBUG, az ARG minden parancs előtt fut. Ha a SZIGNÁL értéke\n" +" RETURN, az ARG a . vagy source kulcsszó használatával futtatott függvény\n" +" vagy parancsfájl befejeződésekor fut le. Ha az érték ERR, akkor az ARG a\n" " parancsok olyan hibáikor fut le, amikor a parancsértelmező kilépne a -e\n" " kapcsoló használatakor.\n" " \n" @@ -4552,8 +4372,7 @@ msgstr "" " -p\tkilistázza a trap által beállított eseménykezelőket\n" " \n" " A SZIGNÁL értéke a -ban megtalálható szignálnév vagy szám.\n" -" A szignálnevek kis- és nagybetűkre érzéketlenek, a SIG előtag " -"elhagyható.\n" +" A szignálnevek kis- és nagybetűkre érzéketlenek, a SIG előtag elhagyható.\n" " Szignált a parancsértelmezőnek a „kill -szignál $$” paranccsal\n" " lehet küldeni.\n" " \n" @@ -4587,8 +4406,7 @@ msgid "" " NAME\tCommand name to be interpreted.\n" " \n" " Exit Status:\n" -" Returns success if all of the NAMEs are found; fails if any are not " -"found." +" Returns success if all of the NAMEs are found; fails if any are not found." msgstr "" "Tájékoztatás egy parancs típusáról.\n" " \n" @@ -4617,8 +4435,7 @@ msgstr "" msgid "" "Modify shell resource limits.\n" " \n" -" Provides control over the resources available to the shell and " -"processes\n" +" Provides control over the resources available to the shell and processes\n" " it creates, on systems that allow such control.\n" " \n" " Options:\n" @@ -4663,8 +4480,7 @@ msgid "" msgstr "" "Parancsértelmező erőforráskorlátjainak beállítása.\n" " \n" -" Szabályozási lehetőséget ad a parancsértelmező által elérhető " -"erőforrások\n" +" Szabályozási lehetőséget ad a parancsértelmező által elérhető erőforrások\n" " korlátozásához, ha a rendszer támogatja.\n" " \n" " Kapcsolók:\n" @@ -4696,13 +4512,11 @@ msgstr "" " \n" " Ha a KORLÁT meg van adva, az lesz az új értéke a megadott erőforrásnak.\n" " Speciális KORLÁT-értékek: „hard” (jelenlegi kemény korlát értéke),\n" -" „soft” (jelenlegi puha korlát értéke) és „unlimited” (korlátozás " -"nélkül).\n" +" „soft” (jelenlegi puha korlát értéke) és „unlimited” (korlátozás nélkül).\n" " Ha nincs kapcsoló megadva, -f az alapértelmezett.\n" " \n" " Az értékek 1024 byte-os egységekben értendőek, kivéve a -t, amely\n" -" másodpercekben, a -p, amely 512 byte-okban, valamint a -u, amely " -"darabban\n" +" másodpercekben, a -p, amely 512 byte-okban, valamint a -u, amely darabban\n" " értendő.\n" " \n" " Kilépési kód:\n" @@ -4733,8 +4547,7 @@ msgstr "" " az itt megadott bitek. Ez nem akadályozza meg, hogy a program vagy a\n" " felhasználó később megváltoztassa a fájl jogait.\n" " \n" -" Ha a MÓD számjeggyel kezdődik, oktális számként lesz értelmezve; " -"egyébként\n" +" Ha a MÓD számjeggyel kezdődik, oktális számként lesz értelmezve; egyébként\n" " a chmod(1) által használt szimbolikus formátumban.\n" " \n" " Kapcsolók:\n" @@ -4745,12 +4558,10 @@ msgstr "" " Sikerrel lép ki, kivéve ha a MÓD vagy egy kapcsoló érvénytelen." #: builtins.c:1499 -#, fuzzy msgid "" "Wait for job completion and return exit status.\n" " \n" -" Waits for each process identified by an ID, which may be a process ID or " -"a\n" +" Waits for each process identified by an ID, which may be a process ID or a\n" " job specification, and reports its termination status. If ID is not\n" " given, waits for all currently active child processes, and the return\n" " status is zero. If ID is a job specification, waits for all processes\n" @@ -4770,14 +4581,16 @@ msgstr "" " \n" " Az ID számú folyamat befejezésére vár, majd jelzi a kilépési kódját.\n" " Az ID lehet egy PID vagy egy %MUNKASZÁM. Ha az ID nincs megadva, minden\n" -" aktív gyermekfolyamat befejezését bevárja, és nullával tér vissza. Ha " -"az\n" +" aktív gyermekfolyamat befejezését bevárja, és nullával tér vissza. Ha az\n" " ID munkaszám, a csővezeték összes folyamatát bevárja.\n" " \n" -" Ha a -n kapcsoló meg van adva, megvárja a következő feladat " -"befejezését,\n" +" Ha a -n kapcsoló meg van adva, megvárja a következő feladat befejezését,\n" " és annak kilépési kódját adja vissza.\n" " \n" +" Ha a -f kapcsoló meg van adva és a munkakezelés engedélyezve van, akkor\n" +" megvárja a megadott azonosító befejezését, ahelyett hogy arra várna az\n" +" az állapot megváltoztatásához.\n" +" \n" " Kilépési kód:\n" " ID kilépési kódjával tér vissza; érvénytelen ID vagy kapcsoló esetén\n" " sikertelenül." @@ -4786,14 +4599,12 @@ msgstr "" msgid "" "Wait for process completion and return exit status.\n" " \n" -" Waits for each process specified by a PID and reports its termination " -"status.\n" +" Waits for each process specified by a PID and reports its termination status.\n" " If PID is not given, waits for all currently active child processes,\n" " and the return status is zero. PID must be a process ID.\n" " \n" " Exit Status:\n" -" Returns the status of the last PID; fails if PID is invalid or an " -"invalid\n" +" Returns the status of the last PID; fails if PID is invalid or an invalid\n" " option is given." msgstr "" "Folyamat befejezésének megvárása, és a kilépési kód visszaadása.\n" @@ -4803,8 +4614,7 @@ msgstr "" " tér vissza. A PID egy folyamatazonosító kell legyen.\n" " \n" " Kilépési kód:\n" -" Az utolsó PID kilépési kódjával tér vissza; érvénytelen PID vagy " -"kapcsoló\n" +" Az utolsó PID kilépési kódjával tér vissza; érvénytelen PID vagy kapcsoló\n" " esetén sikertelenül." #: builtins.c:1538 @@ -4853,8 +4663,7 @@ msgstr "" " \t\tPARANCSOK\n" " \t\t(( KIF3 ))\n" " \tdone\n" -" A KIF1, KIF2 és KIF3 aritmetikai kifejezések. Ha valamelyik el van " -"hagyva,\n" +" A KIF1, KIF2 és KIF3 aritmetikai kifejezések. Ha valamelyik el van hagyva,\n" " akkor úgy működik, mintha értéke 1 lenne.\n" " \n" " Kilépési kód:\n" @@ -4886,8 +4695,7 @@ msgstr "" " „in SZAVAK ...;” rész hiányzik, „in \"$@\"” az alapértelmezés. Ezután\n" " megjelenik a PS3 prompt, és egy sorszámot vár a szabványos bemeneten.\n" " Érvényes sorszám megadásakor a PARANCSOKAT végrehajtja úgy, hogy a NÉV\n" -" a megfelelő sorszámú elem értékét kapja. Ha a sor üres, újból " -"megjelennek\n" +" a megfelelő sorszámú elem értékét kapja. Ha a sor üres, újból megjelennek\n" " a SZAVAK és a prompt, és újból lehet választani. A parancs EOF bemenet\n" " esetén fejeződik be. Bármely más érték beolvasásakor a NÉV null lesz.\n" " A beolvasott sor a REPLY változóba kerül. A PARANCSOK minden választás\n" @@ -4913,8 +4721,7 @@ msgid "" msgstr "" "A csővezeték végrehajtási idejének kiírása.\n" " \n" -" A CSŐVEZETÉK végrehajtása és egy összefoglaló kiírása a végrehajtás " -"közben\n" +" A CSŐVEZETÉK végrehajtása és egy összefoglaló kiírása a végrehajtás közben\n" " eltelt valós időről, a használt felhasználói- és rendszergépidőkről\n" " a CSŐVEZETÉK befejeződésekor.\n" " \n" @@ -4939,8 +4746,7 @@ msgstr "" "Parancsok végrehajtása mintaillesztés alapján.\n" " \n" " A PARANCSOK végrehajtása azon SZAVAKON, amelyek illeszkednek a MINTÁRA.\n" -" Több mintát „|” jellel lehet elválasztani. A minták a fájlnév-" -"helyettesítés\n" +" Több mintát „|” jellel lehet elválasztani. A minták a fájlnév-helyettesítés\n" " formátumát használják.\n" " \n" " Kilépési kód:\n" @@ -4950,17 +4756,12 @@ msgstr "" msgid "" "Execute commands based on conditional.\n" " \n" -" The `if COMMANDS' list is executed. If its exit status is zero, then " -"the\n" -" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list " -"is\n" +" The `if COMMANDS' list is executed. If its exit status is zero, then the\n" +" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n" " executed in turn, and if its exit status is zero, the corresponding\n" -" `then COMMANDS' list is executed and the if command completes. " -"Otherwise,\n" -" the `else COMMANDS' list is executed, if present. The exit status of " -"the\n" -" entire construct is the exit status of the last command executed, or " -"zero\n" +" `then COMMANDS' list is executed and the if command completes. Otherwise,\n" +" the `else COMMANDS' list is executed, if present. The exit status of the\n" +" entire construct is the exit status of the last command executed, or zero\n" " if no condition tested true.\n" " \n" " Exit Status:\n" @@ -4991,8 +4792,7 @@ msgid "" msgstr "" "Parancsok végrehajtása amíg a feltétel teljesül.\n" " \n" -" A PARANCSOK végrehajtása addig, amíg a „while PARANCSOK” utolsó " -"parancsa\n" +" A PARANCSOK végrehajtása addig, amíg a „while PARANCSOK” utolsó parancsa\n" " nullával lép ki.\n" " \n" " Kilépési kód:\n" @@ -5010,8 +4810,7 @@ msgid "" msgstr "" "Parancsok végrehajtása amíg a feltétel nem teljesül.\n" " \n" -" A PARANCSOK értelmezése és végrehajtása addig, amíg az „until " -"PARANCSOK”\n" +" A PARANCSOK értelmezése és végrehajtása addig, amíg az „until PARANCSOK”\n" " utolsó parancsa nem nullával lép ki.\n" " \n" " Kilépési kód:\n" @@ -5044,8 +4843,7 @@ msgid "" "Define shell function.\n" " \n" " Create a shell function named NAME. When invoked as a simple command,\n" -" NAME runs COMMANDs in the calling shell's context. When NAME is " -"invoked,\n" +" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n" " the arguments are passed to the function as $1...$n, and the function's\n" " name is in $FUNCNAME.\n" " \n" @@ -5056,8 +4854,7 @@ msgstr "" " \n" " Létrehoz egy NÉV nevű függvényt. Ha a NÉV parancsként végrehajtásra\n" " kerül, a PARANCSOK futnak a hívó parancsértelmező környezetében. A NÉV\n" -" hívásakor az argumentumok a függvényből $1...$n néven érhetőek el, míg " -"a\n" +" hívásakor az argumentumok a függvényből $1...$n néven érhetőek el, míg a\n" " függvény neve $FUNCNAME-ként.\n" " \n" " Kilépési kód:\n" @@ -5097,8 +4894,7 @@ msgstr "" "Egy munka előtérbe hozása.\n" " \n" " Megegyezik az „fg” parancs MUNKASZÁM argumentumával. Egy megszakított\n" -" vagy háttérben futó munkát hoz előtérbe. A MUNKASZÁM lehet munkanév " -"vagy\n" +" vagy háttérben futó munkát hoz előtérbe. A MUNKASZÁM lehet munkanév vagy\n" " munkaazonosító is. Egy záró „&” megadása a munkát háttérbe küldi, mint\n" " a „bg” parancs.\n" " \n" @@ -5127,12 +4923,9 @@ msgstr "" msgid "" "Execute conditional command.\n" " \n" -" Returns a status of 0 or 1 depending on the evaluation of the " -"conditional\n" -" expression EXPRESSION. Expressions are composed of the same primaries " -"used\n" -" by the `test' builtin, and may be combined using the following " -"operators:\n" +" Returns a status of 0 or 1 depending on the evaluation of the conditional\n" +" expression EXPRESSION. Expressions are composed of the same primaries used\n" +" by the `test' builtin, and may be combined using the following operators:\n" " \n" " ( EXPRESSION )\tReturns the value of EXPRESSION\n" " ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n" @@ -5256,8 +5049,7 @@ msgstr "" " PS1\t\tAz elsődleges prompt\n" " PS2\t\tA másodlagos prompt\n" " PWD\t\tAz aktuális könyvtár teljes útvonala\n" -" SHELLOPTS\tAz engedélyezett parancsértelmező-beállítások " -"kettőspontokkal\n" +" SHELLOPTS\tAz engedélyezett parancsértelmező-beállítások kettőspontokkal\n" " \t\telválasztott listája\n" " TERM\tAz aktuális termináltípus neve\n" " TIMEFORMAT\tA „time” parancs által használt időformátum\n" @@ -5411,8 +5203,7 @@ msgstr "" "A könyvtárverem megjelenítése.\n" " \n" " Megjeleníti a jelenleg megjegyzett könyvtárakat. A könyvtárakat a\n" -" „pushd” paranccsal lehet a verembe rakni; és a „popd” paranccsal " -"kivenni.\n" +" „pushd” paranccsal lehet a verembe rakni; és a „popd” paranccsal kivenni.\n" " \n" " Kapcsolók:\n" " -c\ta könyvtárverem törlése az összes elem eltávolításával\n" @@ -5431,7 +5222,6 @@ msgstr "" " Sikerrel tér vissza, kivéve érvénytelen argumentum vagy hiba esetén." #: builtins.c:1906 -#, fuzzy msgid "" "Set and unset shell options.\n" " \n" @@ -5453,8 +5243,9 @@ msgstr "" "Parancsételmező-kapcsolók beállítása és törlése.\n" " \n" " Minden megadott OPTNÉV kapcsoló beállítása. Argumentumok nélkül hívva\n" -" egy teljes lista kiírása a parancsértelmező kapcsolóiról, jelezve azok\n" -" állapotát.\n" +" felsorol minden megadott OPTNEVET – vagy az összes parancsértelmező\n" +" kapcsolót, ha nincsenek OPTNEVEK megadva – annak jelzésével, hogy be\n" +" vannak-e állítva vagy sem.\n" " \n" " Kapcsolók:\n" " -o\tOPTNEVEK korlátozása a „set -o”-val használtakra\n" @@ -5475,34 +5266,27 @@ msgid "" " -v var\tassign the output to shell variable VAR rather than\n" " \t\tdisplay it on the standard output\n" " \n" -" FORMAT is a character string which contains three types of objects: " -"plain\n" -" characters, which are simply copied to standard output; character " -"escape\n" +" FORMAT is a character string which contains three types of objects: plain\n" +" characters, which are simply copied to standard output; character escape\n" " sequences, which are converted and copied to the standard output; and\n" -" format specifications, each of which causes printing of the next " -"successive\n" +" format specifications, each of which causes printing of the next successive\n" " argument.\n" " \n" -" In addition to the standard format specifications described in printf" -"(1),\n" +" In addition to the standard format specifications described in printf(1),\n" " printf interprets:\n" " \n" " %b\texpand backslash escape sequences in the corresponding argument\n" " %q\tquote the argument in a way that can be reused as shell input\n" -" %(fmt)T\toutput the date-time string resulting from using FMT as a " -"format\n" +" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n" " \t string for strftime(3)\n" " \n" " The format is re-used as necessary to consume all of the arguments. If\n" " there are fewer arguments than the format requires, extra format\n" -" specifications behave as if a zero value or null string, as " -"appropriate,\n" +" specifications behave as if a zero value or null string, as appropriate,\n" " had been supplied.\n" " \n" " Exit Status:\n" -" Returns success unless an invalid option is given or a write or " -"assignment\n" +" Returns success unless an invalid option is given or a write or assignment\n" " error occurs." msgstr "" "FORMÁTUM alapján az ARGUMENTUMOK kiírása.\n" @@ -5526,10 +5310,8 @@ msgstr "" " %(fmt)T\tdátum-idő karakterlánc kiírása az FMT mint strftime(3)\n" " \t\tformátum-karakterlánc használatával\n" " \n" -" A formátum szükség szerint újrafelhasználásra kerül az összes " -"argumentum\n" -" elfogyasztásához. Ha kevesebb argumentum van a formátumnak " -"szükségesnél,\n" +" A formátum szükség szerint újrafelhasználásra kerül az összes argumentum\n" +" elfogyasztásához. Ha kevesebb argumentum van a formátumnak szükségesnél,\n" " az extra formátumjelzők úgy viselkednek, mintha nulla érték vagy null\n" " karakterlánc lett volna megadva.\n" " \n" @@ -5538,14 +5320,11 @@ msgstr "" " értékadás hibával járt." #: builtins.c:1961 -#, fuzzy msgid "" "Specify how arguments are to be completed by Readline.\n" " \n" -" For each NAME, specify how arguments are to be completed. If no " -"options\n" -" are supplied, existing completion specifications are printed in a way " -"that\n" +" For each NAME, specify how arguments are to be completed. If no options\n" +" are supplied, existing completion specifications are printed in a way that\n" " allows them to be reused as input.\n" " \n" " Options:\n" @@ -5560,18 +5339,15 @@ msgid "" " \t\tcommand) word\n" " \n" " When completion is attempted, the actions are applied in the order the\n" -" uppercase-letter options are listed above. If multiple options are " -"supplied,\n" -" the -D option takes precedence over -E, and both take precedence over -" -"I.\n" +" uppercase-letter options are listed above. If multiple options are supplied,\n" +" the -D option takes precedence over -E, and both take precedence over -I.\n" " \n" " Exit Status:\n" " Returns success unless an invalid option is supplied or an error occurs." msgstr "" "Megadja, hogy a Readline hogyan egészítse ki az argumentumokat.\n" " \n" -" Minden NÉVHEZ megadja, hogyan egészítse ki a Readline az " -"argumentumokat.\n" +" Minden NÉVHEZ megadja, hogyan egészítse ki a Readline az argumentumokat.\n" " Ha nincsenek kapcsolók megadva, a jelenlegi érték kerül kiírásra,\n" " újrafelhasználható módon.\n" " \n" @@ -5583,6 +5359,8 @@ msgstr "" " \t\taz adott parancshoz nincs kiegészítés megadva\n" " -E\tkiegészítések és műveletek alkalmazása az „üres” parancsokra,\n" " \t\tvagyis a sor elején\n" +" -I\tkiegészítések és műveletek alkalmazása a kezdeti (általában a\n" +" \t\tparancs) szóra\n" " \n" " Kiegészítéskor a műveletek a nagybetűs kapcsolók felsorolásának\n" " sorrendjében kísérli meg a Readline. A -D elsőbbséget élvez a -E-vel\n" @@ -5596,8 +5374,7 @@ msgid "" "Display possible completions depending on the options.\n" " \n" " Intended to be used from within a shell function generating possible\n" -" completions. If the optional WORD argument is supplied, matches " -"against\n" +" completions. If the optional WORD argument is supplied, matches against\n" " WORD are generated.\n" " \n" " Exit Status:\n" @@ -5605,8 +5382,7 @@ msgid "" msgstr "" "Lehetséges kiegészítések megjelenítése a kapcsolóktól függően.\n" " \n" -" Függvényben való használatra szolgál a lehetséges kiegészítések " -"generálása\n" +" Függvényben való használatra szolgál a lehetséges kiegészítések generálása\n" " céljából. Ha az elhagyható SZÓ argumentum is meg van adva, a SZÓRA\n" " elölről illeszkedő találatok jelennek csak meg.\n" " \n" @@ -5614,16 +5390,12 @@ msgstr "" " Sikerrel lép ki, kivéve érvénytelen kapcsoló vagy hiba esetén." #: builtins.c:2006 -#, fuzzy msgid "" "Modify or display completion options.\n" " \n" -" Modify the completion options for each NAME, or, if no NAMEs are " -"supplied,\n" -" the completion currently being executed. If no OPTIONs are given, " -"print\n" -" the completion options for each NAME or the current completion " -"specification.\n" +" Modify the completion options for each NAME, or, if no NAMEs are supplied,\n" +" the completion currently being executed. If no OPTIONs are given, print\n" +" the completion options for each NAME or the current completion specification.\n" " \n" " Options:\n" " \t-o option\tSet completion option OPTION for each NAME\n" @@ -5654,44 +5426,38 @@ msgstr "" " \n" " Kapcsolók:\n" " \t-o kapcsoló\ta KAPCSOLÓ kiegészítési beállítás megadása minden NÉVHEZ\n" -" \t-D\tAz alapértelmezett kiegészítés beállításainak módosítása\n" -" \t-E\tAz üres kiegészítés beállításainak módosítása\n" +" \t-D\t\tAz alapértelmezett kiegészítés beállításainak módosítása\n" +" \t-E\t\tAz üres kiegészítés beállításainak módosítása\n" +" \t-I\t\tA kezdeti szón történő kiegészítés beállításainak módosítása\n" " \n" " A „-o” helyett „+o” használatával a beállítás kikapcsolható.\n" " \n" " Argumentumok:\n" " \n" " Minden NÉV egy parancsra vonatkozik, amelyhez egy kiegészítést előzőleg\n" -" meg kell adni a „complete” paranccsal. Ha nincs NÉV megadva, a compopt-" -"ot\n" +" meg kell adni a „complete” paranccsal. Ha nincs NÉV megadva, a compopt-ot\n" " egy éppen kiegészítéseket generáló függvényből kell hívni, és a zajló\n" " generálásra fog vonatkozni.\n" " \n" " Kilépési kód:\n" -" Sikerrel lép ki, kivéve ha érvénytelen kapcsolókat kap, vagy a NÉV " -"nincs\n" +" Sikerrel lép ki, kivéve ha érvénytelen kapcsolókat kap, vagy a NÉV nincs\n" " még megadva." #: builtins.c:2037 msgid "" "Read lines from the standard input into an indexed array variable.\n" " \n" -" Read lines from the standard input into the indexed array variable " -"ARRAY, or\n" -" from file descriptor FD if the -u option is supplied. The variable " -"MAPFILE\n" +" Read lines from the standard input into the indexed array variable ARRAY, or\n" +" from file descriptor FD if the -u option is supplied. The variable MAPFILE\n" " is the default ARRAY.\n" " \n" " Options:\n" " -d delim\tUse DELIM to terminate lines, instead of newline\n" -" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are " -"copied\n" -" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default " -"index is 0\n" +" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n" +" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n" " -s count\tDiscard the first COUNT lines read\n" " -t\tRemove a trailing DELIM from each line read (default newline)\n" -" -u fd\tRead lines from file descriptor FD instead of the standard " -"input\n" +" -u fd\tRead lines from file descriptor FD instead of the standard input\n" " -C callback\tEvaluate CALLBACK each time QUANTUM lines are read\n" " -c quantum\tSpecify the number of lines read between each call to\n" " \t\t\tCALLBACK\n" @@ -5704,19 +5470,16 @@ msgid "" " element to be assigned and the line to be assigned to that element\n" " as additional arguments.\n" " \n" -" If not supplied with an explicit origin, mapfile will clear ARRAY " -"before\n" +" If not supplied with an explicit origin, mapfile will clear ARRAY before\n" " assigning to it.\n" " \n" " Exit Status:\n" -" Returns success unless an invalid option is given or ARRAY is readonly " -"or\n" +" Returns success unless an invalid option is given or ARRAY is readonly or\n" " not an indexed array." msgstr "" "Sorok beolvasása a szabványos bemenetről egy indexelt tömbbe.\n" " \n" -" Sorok beolvasása a szabványos bemenetről – vagy a -u megadása esetén az " -"FD\n" +" Sorok beolvasása a szabványos bemenetről – vagy a -u megadása esetén az FD\n" " fájlleíróból – egy megadott nevű TÖMBBE (elhagyása esetén az ARRAY-be).\n" " \n" " Kapcsolók:\n" diff --git a/subst.c b/subst.c index 27dc01a0..6c5b32c1 100644 --- a/subst.c +++ b/subst.c @@ -8076,9 +8076,10 @@ pat_subst (string, pat, rep, mflags) char *string, *pat, *rep; int mflags; { - char *ret, *s, *e, *str, *rstr, *mstr; + char *ret, *s, *e, *str, *rstr, *mstr, *send; int rptr, mtype, rxpand, mlen; size_t rsize, l, replen, rslen; + DECLARE_MBSTATE; if (string == 0) return (savestring ("")); @@ -8132,6 +8133,7 @@ pat_subst (string, pat, rep, mflags) ret = (char *)xmalloc (rsize = 64); ret[0] = '\0'; + send = string + strlen (string); for (replen = STRLEN (rep), rptr = 0, str = string; *str;) { @@ -8185,9 +8187,20 @@ pat_subst (string, pat, rep, mflags) { /* On a zero-length match, make sure we copy one character, since we increment one character to avoid infinite recursion. */ - RESIZE_MALLOCED_BUFFER (ret, rptr, 1, rsize, 64); + char *p, *origp, *origs; + size_t clen; + + RESIZE_MALLOCED_BUFFER (ret, rptr, locale_mb_cur_max, rsize, 64); +#if defined (HANDLE_MULTIBYTE) + p = origp = ret + rptr; + origs = str; + COPY_CHAR_P (p, str, send); + rptr += p - origp; + e += str - origs; +#else ret[rptr++] = *str++; e++; /* avoid infinite recursion on zero-length match */ +#endif } } diff --git a/support/shobj-conf b/support/shobj-conf index 95fa1ae7..31ff97d5 100644 --- a/support/shobj-conf +++ b/support/shobj-conf @@ -65,7 +65,7 @@ while [ $# -gt 0 ]; do done case "${host_os}-${SHOBJ_CC}-${host_vendor}" in -nsk-cc-tandem) +nsk-cc-tandem|nsk-c99-tandem) SHOBJ_CFLAGS=-Wglobalized case `uname -m` in NSR*) diff --git a/support/texi2dvi b/support/texi2dvi index 173e8ab4..17f43557 100755 --- a/support/texi2dvi +++ b/support/texi2dvi @@ -1,10 +1,7 @@ #! /bin/sh # texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources. -# $Id: texi2dvi 5704 2014-07-07 17:45:16Z karl $ # -# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 -# Free Software Foundation, Inc. +# Copyright 1992-2019 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,20 +33,17 @@ set -e # In case the default sed doesn't suffice. : ${SED=sed} -# This string is expanded automatically when this file is checked out. -rcs_revision='$Revision: 5704 $' -rcs_version=`set - $rcs_revision; echo $2` program=`echo $0 | $SED -e 's!.*/!!'` build_mode=${TEXI2DVI_BUILD_MODE:-local} build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.} +orig_pwd=`pwd` + # Initialize variables for option overriding and otherwise. # Don't use `unset' since old bourne shells don't have this command. # Instead, assign them an empty value. action=compile -batch=false # interact normally -catcode_special=maybe debug=false escape="\\" expand=false # true for expansion via makeinfo @@ -68,13 +62,11 @@ txiprereq=19990129 # minimum texinfo.tex version with macro expansion verb=false # true for verbose mode translate_file= # name of charset translation file -orig_pwd=`pwd` - # We have to initialize IFS to space tab newline since we save and # restore IFS and apparently POSIX allows stupid/broken behavior with # empty-but-set IFS. # http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html -# We need space, tab and new line, in precisely that order. And don't leave +# We need space, tab and newline, in precisely that order. And don't leave # trailing blanks. space=' ' tab=' ' @@ -82,70 +74,176 @@ newline=' ' IFS="$space$tab$newline" -# In case someone pedantic insists on using grep -E. : ${EGREP=egrep} # Systems which define $COMSPEC or $ComSpec use semicolons to separate -# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC +# directories in TEXINPUTS -- except for Cygwin and Msys, where COMSPEC # might be inherited, but : is used. + +# In the case of Msys, uname returns a value derived from MSYSTEM, as +# MSYSTEM is user configurable, it is not so safe to use it to detect +# Msys. It is safer to use OSTYPE, this is why we set MSYSTEM to +# $OSTYPE before calling uname if test -n "$COMSPEC$ComSpec" \ - && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then + && MSYSTEM=$OSTYPE uname | $EGREP -iv 'cygwin|msys' >/dev/null; then path_sep=";" else path_sep=":" fi + # Pacify verbose cds. CDPATH=${ZSH_VERSION+.}$path_sep -# If $TEX is set to a directory, don't use it. -test -n "$TEX" && test -d "$TEX" && unset TEX -# -## --------------------- ## -## Auxiliary functions. ## -## --------------------- ## +# Now we define numerous functions, with no other executable code. +# The main program is at the end of the file. -# In case `local' is not supported by the shell, provide a function -# that simulates it by simply performing the assignments. This means -# that we must not expect `local' to work, i.e., we must not (i) rely -# on it during recursion, and (ii) have two local declarations of the -# same variable. (ii) is easy to check statically, and our test suite -# does make sure there is never twice a static local declaration of a -# variable. (i) cannot be checked easily, so just be careful. + +# Standard help and version functions. # -# Note that since we might use a function simulating `local', we can -# no longer rely on the fact that no IFS-splitting is performed. So, -# while -# -# foo=$bar -# -# is fine (no IFS-splitting), never write -# -# local foo=$bar -# -# but rather -# -# local foo="$bar" -( - foo=bar - test_local () { - local foo=foo - } - test_local >/dev/null 2>&1 - test $foo = bar -) || eval ' -local () { - case $1 in - *=*) eval "$1";; - esac +# usage - display usage and exit successfully. +usage () +{ + cat < +General help using GNU software: +EOF + exit 0 } -' -# cd_orig -# ------- -# Return to the original directory. +# version - Display version info and exit successfully. +version () +{ + cat < +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit 0 +} + + +# Generic auxiliary functions. + +# Used to access files and directories after we have changed directory +# (for --tidy). +rel= + +# Change directory, updating some relative paths. +cd_dir () +{ + cd "$1" + + # Check if argument or input file is absolute, and if so, make all the path + # variables absolute. + use_absolute=false + case $1 in + [\\/]* | ?:[\\/]*) # absolute path + use_absolute=true ;; + esac + case $in_input in + [\\/]* | ?:[\\/]*) + use_absolute=true ;; + esac + + if $use_absolute ; then + for cdd_dir in work_build workdir t2ddir work_bak in_input in_dir; do + eval "$cdd_dir=\`absolute \$$cdd_dir\`" + done + return + fi + + # Replace each path component with ".." and add a single trailing slash. + rel=`echo "$1" | \$SED -e 's/[^/\\][^/\\]*/../g' -e 's/[/\\]*$/\//'` +} + +# cd_orig - Return to the original directory. cd_orig () { # In case $orig_pwd is on a different drive (for DOS). @@ -155,11 +253,12 @@ cd_orig () # - the next file is processed in correct conditions # - the temporary file can be removed cd "$orig_pwd" || exit 1 + + rel= } -# func_dirname FILE -# ----------------- -# Return the directory part of FILE. + +# func_dirname FILE - Return the directory part of FILE. func_dirname () { dirname "$1" 2>/dev/null \ @@ -167,18 +266,15 @@ func_dirname () } -# noexit FILE -# ----------- -# Return FILE with one extension remove. foo.bar.baz -> foo.bar. +# noext FILE - Return FILE with one extension removed: +# foo.bar.baz -> foo.bar noext () { echo "$1" | $SED -e 's/\.[^/.][^/.]*$//' } -# absolute NAME -> ABS-NAME -# ------------------------- -# Return an absolute path to NAME. +# absolute NAME - Return an absolute path to NAME. absolute () { case $1 in @@ -186,26 +282,21 @@ absolute () # Absolute paths don't need to be expanded. echo "$1" ;; - *) local slashes - slashes=`echo "$1" | $SED -n 's,.*[^/]\(/*\)$,\1,p'` - local rel - rel=$orig_pwd/`func_dirname "$1"` - if test -d "$rel"; then - (cd "$rel" 2>/dev/null \ - && local n - n=`pwd`/`basename "$1"`"$slashes" - echo "$n") + *) absolute_slashes=`echo "$1" | $SED -n 's,.*[^/]\(/*\)$,\1,p'` + absolute_rel=$orig_pwd/`func_dirname "$1"` + if test -d "$absolute_rel"; then + (cd "$absolute_rel" 2>/dev/null \ + && absolute_name=`pwd`/`basename "$1"`"$absolute_slashes" + echo "$absolute_name") else - error 1 "not a directory: $rel" + error 1 "not a directory: $absolute_rel" fi ;; esac } -# ensure_dir DIR1 DIR2... -# ----------------------- -# Make sure the directories exist. +# ensure_dir DIR1 DIR2... - Make sure given directories exist. ensure_dir () { for dir @@ -221,26 +312,23 @@ ensure_dir () } -# error EXIT_STATUS LINE1 LINE2... -# -------------------------------- -# Report an error and exit with failure if EXIT_STATUS is non-null. +# error EXIT_STATUS LINE1 LINE2... - Report an error and exit with +# failure if EXIT_STATUS is non-null. error () { - local s="$1" + error_status="$1" shift report "$@" - if test "$s" != 0; then - exit $s + if test "$error_status" != 0; then + exit $error_status fi } -# findprog PROG -# ------------- -# Return true if PROG is somewhere in PATH, else false. +# findprog PROG - Return true if PROG is somewhere in PATH, else false. findprog () { - local saveIFS="$IFS" + saveIFS="$IFS" IFS=$path_sep # break path components at the path separator for dir in $PATH; do IFS=$saveIFS @@ -261,9 +349,7 @@ findprog () return 1 } -# report LINE1 LINE2... -# --------------------- -# Report some information on stderr. +# report LINE1 LINE2... - Echo each argument to stderr. report () { for i in "$@" @@ -273,9 +359,7 @@ report () } -# run COMMAND-LINE -# ---------------- -# Run the COMMAND-LINE verbosely, and catching errors as failures. +# run COMMAND-LINE - Run COMMAND-LINE verbosely, catching errors as failures. run () { verbose "Running $@" @@ -284,135 +368,7 @@ run () } -# usage -# ----- -# Display usage and exit successfully. -usage () -{ - # We used to simply have `echo "$usage"', but coping with the - # changing behavior of `echo' is much harder than simply using a - # here-doc. - # - # echo '\noto' echo '\\noto' echo -e '\\noto' - # bash 3.1 \noto \\noto \noto - # bash 3.2 %oto \noto -e \noto - # - # where % denotes the eol character. - cat < -General help using GNU software: -EOF - exit 0 -} - - -# verbose WORD1 WORD2 -# ------------------- -# Report some verbose information. +# verbose WORD1 WORD2... - Echo concatenated WORDs to stderr, if $verb. verbose () { if $verb; then @@ -421,69 +377,45 @@ verbose () } -# version -# ------- -# Display version info and exit successfully. -version () -{ - cat < -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit 0 -} - - -## ---------------- ## -## Handling lists. ## -## ---------------- ## - - -# list_append LIST-NAME ELEM -# -------------------------- -# Set LIST-NAME to its former contents, with ELEM appended. +# Handling lists. +# +# list_append LIST-NAME ELEM - Append ELEM to (the contents of) LIST-NAME. list_append () { - local la_l="$1" + list_name="$1" shift - eval set X \$$la_l "$@" + eval set X \$$list_name "$@" shift - eval $la_l=\""$@"\" + eval $list_name=\""$@"\" } -# list_concat_dirs LIST-NAME DIR-LIST -# ----------------------------------- -# Append to LIST-NAME all the components (included empty) from -# the $path_sep separated list DIR-LIST. Make the paths absolute. +# list_concat_dirs LIST-NAME DIR-LIST - Append to LIST-NAME all the +# components (including empty ones) from the $path_sep-separated list +# DIR-LIST. Make the paths absolute. list_concat_dirs () { - local lcd_list="$1" + lcd_list="$1" # Empty path components are meaningful to tex. We rewrite them as # `EMPTY' so they don't get lost when we split on $path_sep. # Hopefully no one will have an actual directory named EMPTY. - local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \ - -e 's/$path_sep\$/${path_sep}EMPTY/g' \ - -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" + lcd_replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \ + -e 's/$path_sep\$/${path_sep}EMPTY/g' \ + -e 's/$path_sep$path_sep/${path_sep}EMPTY${path_sep}/g'" save_IFS=$IFS IFS=$path_sep - set x `echo "$2" | eval $SED $replace_EMPTY`; shift + set x `echo "$2" | eval $SED $lcd_replace_EMPTY`; shift IFS=$save_IFS - local dir - for dir + for lcd_dir do - case $dir in + case $lcd_dir in EMPTY) list_append $lcd_list "" ;; *) - if test -d $dir; then - dir=`absolute "$dir"` - list_append $lcd_list "$dir" + if test -d $lcd_dir; then + dir=`absolute "$lcd_dir"` + list_append $lcd_list "$lcd_dir" fi ;; esac @@ -491,64 +423,54 @@ list_concat_dirs () } -# list_prefix LIST-NAME SEP -> STRING -# ----------------------------------- -# Return a string that is composed of the LIST-NAME with each item -# preceded by SEP. +# list_prefix LIST-NAME SEP -> STRING - Return string with each element +# of LIST-NAME preceded by SEP. list_prefix () { - local lp_p="$2" + lp_separator="$2" eval set X \$$1 shift - local lp_res + lp_result='' for i do - lp_res="$lp_res \"$lp_p\" \"$i\"" + lp_result="$lp_result \"$lp_separator\" \"$i\"" done - echo "$lp_res" + echo "$lp_result" } -# list_infix LIST-NAME SEP -> STRING -# ---------------------------------- -# Same as list_prefix, but a separator. +# list_infix LIST-NAME SEP -> STRING - Same as list_prefix, but a separator. list_infix () { eval set X \$$1 shift - local la_IFS="$IFS" + save_IFS="$IFS" IFS=$path_sep echo "$*" - IFS=$la_IFS + IFS=$save_IFS } -# list_dir_to_abs LIST-NAME -# ------------------------- -# Convert the list to using only absolute dir names. +# list_dir_to_abs LIST-NAME - Convert list to using only absolute dir names. # Currently unused, but should replace absolute_filenames some day. list_dir_to_abs () { - local ld_l="$1" - eval set X \$$ld_l + ldta_list="$1" + eval set X \$$ldta_list shift - local ld_res + ldta_result='' for dir do dir=`absolute "$dir"` test -d "$dir" || continue - ld_res="$ld_res \"$dir\"" + ldta_result="$ldata_result \"$dir\"" done - set X $ld_res; shift - eval $ld_l=\"$@\" + set X $ldta_result; shift + eval $ldta_list=\"$@\" } -## ------------------------------ ## -## Language auxiliary functions. ## -## ------------------------------ ## - - -# out_lang_set LANG -# ----------------- +# Language auxiliary functions. +# +# out_lang_set LANG - set $out_lang to LANG (dvi, pdf, etc.), or error. out_lang_set () { case $1 in @@ -557,10 +479,7 @@ out_lang_set () esac } - -# out_lang_tex -# ------------ -# Return the tex output language (DVI or PDF) for $OUT_LANG. +# out_lang_tex - Return the tex output language (DVI or PDF) for $out_lang. out_lang_tex () { case $out_lang in @@ -571,10 +490,7 @@ out_lang_tex () esac } - -# out_lang_ext -# ------------ -# Return the extension for $OUT_LANG. +# out_lang_ext - Return the extension for $out_lang (pdf, dvi, etc.). out_lang_ext () { case $out_lang in @@ -585,83 +501,64 @@ out_lang_ext () } -## ------------------------- ## -## TeX auxiliary functions. ## -## ------------------------- ## - -# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file. -# Likewise for bibtex and makeindex. -tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \ -TEXINPUTS TFMFONTS" -for var in $tex_envvars; do - eval ${var}_orig=\$$var - export $var -done - - -# absolute_filenames TEX-PATH -> TEX-PATH -# --------------------------------------- -# Convert relative paths to absolute paths, so we can run in another -# directory (e.g., in tidy build mode, or during the macro-support -# detection). Prepend ".". +# TeX file auxiliary functions. +# +# absolute_filenames TEX-PATH -> TEX-PATH - Convert relative paths to +# absolute, so we can run in another directory (e.g., in tidy build +# mode, or during the macro-support detection). absolute_filenames () { # Empty path components are meaningful to tex. We rewrite them as # `EMPTY' so they don't get lost when we split on $path_sep. # Hopefully no one will have an actual directory named EMPTY. - local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \ - -e 's/$path_sep\$/${path_sep}EMPTY/g' \ - -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" - local res - res=`echo "$1" | eval $SED $replace_empty` + af_replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \ + -e 's/$path_sep\$/${path_sep}EMPTY/g' \ + -e 's/$path_sep$path_sep/${path_sep}EMPTY${path_sep}/g'" + af_result=`echo "$1" | eval $SED $af_replace_empty` save_IFS=$IFS IFS=$path_sep - set x $res; shift - res=. + set x $af_result; shift + af_result= + af_path_sep= for dir do case $dir in EMPTY) - res=$res$path_sep + af_result=$af_result$af_path_sep ;; *) if test -d "$dir"; then - res=$res$path_sep`absolute "$dir"` + af_result=$af_result$af_path_sep`absolute "$dir"` else # Even if $dir is not a directory, preserve it in the path. # It might contain metacharacters that TeX will expand in # turn, e.g., /some/path/{a,b,c}. This will not get the # implicit absolutification of the path, but we can't help that. - res=$res$path_sep$dir + af_result=$af_result$af_path_sep$dir fi ;; esac + af_path_sep=$path_sep done - echo "$res" + echo "$af_result" } -# output_base_name FILE -# --------------------- -# The name of FILE, possibly renamed to satisfy --output. -# FILE is local, there is no directory part. +# output_base_name FILE - Return the name of FILE, possibly renamed to +# satisfy --output. FILE is local, i.e., without any directory part. output_base_name () { case $oname in '') echo "$1";; - *) local out_noext - out_noext=`noext "$oname"` - local file_ext - file_ext=`echo "$1" | $SED 's/^.*\.//'` - echo "$out_noext.$file_ext" + *) obn_out_noext=`noext "$oname"` + obn_file_ext=`echo "$1" | $SED 's/^.*\.//'` + echo "$obn_out_noext.$obn_file_ext" ;; esac } -# destdir -# ------- -# Return the name of the directory where the output is expected. +# destdir - Return the directory where the output is expected. destdir () { case $oname in @@ -671,15 +568,13 @@ destdir () } -# move_to_dest FILE... -# -------------------- -# Move FILE to the place where the user expects it. Truly move it, that -# is, it must not remain in its build location unless that is also the -# output location. (Otherwise it might appear as an extra file in make -# distcheck.) +# move_to_dest FILE... - Move FILE(s) to the place where the user expects. +# Truly move it, that is, it must not remain in its build location +# unless that is also the output location. (Otherwise it might appear +# as an extra file in make distcheck.) # -# FILE can be the principal output (in which case -o directly applies), or -# an auxiliary file with the same base name. +# FILE can be the principal output (in which case -o directly applies), +# or an auxiliary file with the same base name. move_to_dest () { # echo "move_to_dest $*, tidy=$tidy, oname=$oname" @@ -690,23 +585,17 @@ move_to_dest () false:) return;; esac - local destfile - local destdir - local destbase - local sourcedir - local sourcebase - for file do test -f "$file" \ || error 1 "no such file or directory: $file" case $tidy:$oname in - true:) destdir=$orig_pwd - destfile=$destdir/$file;; - true:*) destfile=`output_base_name "$file"` - destdir=`dirname "$destfile"`;; - false:*) destfile=$oname - destdir=`dirname "$destfile"`;; + true:) mtd_destdir=$orig_pwd + mtd_destfile=$mtd_destdir/$file;; + true:*) mtd_destfile=`output_base_name "$file"` + mtd_destdir=`dirname "$mtd_destfile"`;; + false:*) mtd_destfile=$oname + mtd_destdir=`dirname "$mtd_destfile"`;; esac # We want to compare the source location and the output location, @@ -716,45 +605,39 @@ move_to_dest () # directory names, canonicalized with pwd. We can't use cmp -s # since the output file might not actually change from run to run; # e.g., TeX DVI output is timestamped to only the nearest minute. - destdir=`cd "$destdir" && pwd` - destbase=`basename "$destfile"` + mtd_destdir=`cd "$mtd_destdir" && pwd` + mtd_destbase=`basename "$mtd_destfile"` - sourcedir=`dirname "$file"` - sourcedir=`cd "$sourcedir" && pwd` - sourcebase=`basename "$file"` + mtd_sourcedir=`dirname "$file"` + mtd_sourcedir=`cd "$mtd_sourcedir" && pwd` + mtd_sourcebase=`basename "$file"` - if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then - verbose "Moving $file to $destfile" - rm -f "$destfile" - mv "$file" "$destfile" + if test "$mtd_sourcedir/$mtd_sourcebase" != "$mtd_destdir/$mtd_destbase" + then + verbose "Moving $file to $mtd_destfile" + rm -f "$mtd_destfile" + mv "$file" "$mtd_destfile" fi done } -## --------------------- ## -## Managing xref files. ## -## --------------------- ## - -# aux_file_p FILE -# --------------- -# Return with success if FILE is an aux file. +# Managing xref files. +# +# aux_file_p FILE - Echo FILE if FILE is an aux file. aux_file_p () { - test -f "$1" || return 1 + test -f "$1" || return 0 case $1 in - *.aux) return 0;; - *) return 1;; + *.aux) echo "$1";; + *) return 0;; esac } -# bibaux_file_p FILE -# ------------------ -# Return with success if FILE is an aux file containing citation -# requests. +# bibaux_file_p FILE - Echo FILE if FILE contains citation requests. bibaux_file_p () { - test -s "$1" || return 1 + test -s "$1" || return 0 if (grep '^\\bibstyle[{]' "$1" \ && grep '^\\bibdata[{]' "$1" \ ## The following line is suspicious: fails when there @@ -763,17 +646,15 @@ bibaux_file_p () ## && grep '^\\citation[{]' "$f" ) >&6 2>&1; then - return 0 + echo "$1" fi - return 1 + return 0 } -# index_file_p FILE -# ----------------- -# Return with success if FILE is an index file. +# index_file_p FILE - Echo FILE if FILE is an index file. index_file_p () { - test -f "$1" || return 1 + test -f "$1" || return 0 case $in_lang:$latex2html:`out_lang_tex`:`$SED '1q' "$1"` in # When working with TeX4HT, *.idx are created by LaTeX. They must # be processed to produce *.4ix, *.4dx files. The *.4dx file is @@ -781,20 +662,21 @@ index_file_p () # handled by run_index, so we are only interested in the *.idx # files, which have each "\indexentry" preceded by a # "\beforeentry". - latex:tex4ht:html:"\\beforeentry {"*) return 0;; + latex:tex4ht:html:"\\beforeentry {"*) echo $1;; # When index.sty is used, there is a space before the brace. - latex:*:*:"\\indexentry{"*|latex:*:*:"\\indexentry {"*) return 0;; + latex:*:*:"\\indexentry{"*|latex:*:*:"\\indexentry {"*) echo $1;; - texinfo:*:*:"\\entry{"*) return 0;; - - *) return 1;; + texinfo:*:*:"\\entry{"*) echo $1;; + texinfo:*:*:"@entry{"*) echo $1;; + # @entry is output from newer versions of texinfo.tex esac + return 0 } -# xref_file_p FILE -# ---------------- -# Return with success if FILE is an xref file (indexes, tables and lists). +########### not used currently +# xref_file_p FILE - Return success if FILE is an xref file (indexes, +# tables and lists). xref_file_p () { test -f "$1" || return 1 @@ -810,67 +692,52 @@ xref_file_p () } -# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER] -# ----------------------------------------------------- -# Return the list of files generated by the TeX compilation of FILENAME-NOEXT. +# Used in generated_files_get +generated_files_get_from_log () +{ + if test -f "$1.log"; then + # Usually the output is like: \openout1 = `foobar.tex'. + # (including the final period) + # but luatex outputs: \openout1 = foobar.tex + # (no quotes, no period). + # So we have to make the punctuation optional. + grep '^\\openout[0-9]' "$1.log" \ + | $SED -e "s/\\\\openout[^=]*= *[\`']*//" \ + -e "s/'\.$//" + fi +} + +# Used in generated_files_get +generated_files_get_from_fls () +{ + if test -f "$1.fls"; then + grep '^OUTPUT ' "$1.fls" | cut -b 8- \ + | grep -v '\.dvi$' | grep -v '\.log$' | grep -v '\.pdf$' || true + fi +} + +# generated_files_get - Output the list of files generated by the TeX +# compilation. generated_files_get () { - local filter=true - if test -n "$2"; then - filter=$2 + $generated_files_get_method "$in_noext" + if test $generated_files_get_method = generated_files_get_from_fls; then + if test -r "$in_noext.fl"; then + report 'WARNING!! The fl index may typeset as garbage!' # goes to stderr + report 'Try upgrading your version of texinfo.tex, or else try setting' + report 'the environment variable TEXI2DVI_USE_RECORDER to '\''no'\''.' +report 'Once you'\''ve done that, delete the file with an '\''fl'\'' extension.' + fi fi - - # Gather the files created by TeX. - ( - if test -f "$1.log"; then - $SED -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log" - fi - echo "$1.log" - ) | - # Depending on these files, infer outputs from other tools. - while read file; do - echo $file - case $in_lang in - texinfo) - # texindex: texinfo.cp -> texinfo.cps - if index_file_p $file; then - echo ${file}s - fi - ;; - latex) - if aux_file_p $file; then - # bibtex: *.aux -> *.bbl and *.blg. - echo $file | $SED 's/^\(.*\)\.aux$/\1.bbl/' - echo $file | $SED 's/^\(.*\)\.aux$/\1.blg/' - # -recorder: .fls - echo $file | $SED 's/^\(.*\)\.aux$/\1.fls/' - fi - ;; - esac - done | - # Filter existing files matching the criterion. - # - # With an input file name containing a space, this produces a - # "command not found" message (and filtering is ineffective). - # The situation with a newline is presumably even worse. - while read file; do - if $filter "$file"; then - echo $file - fi - done | - sort | - # Some files are opened several times, e.g., listings.sty's *.vrb. - uniq } -# xref_files_save -# --------------- -# Save the xref files. +# xref_files_save - set xref_files_orig from xref_files_new, and save xref +# files in $work_bak. xref_files_save () { # Save copies of auxiliary files for later comparison. - xref_files_orig=`generated_files_get "$in_noext" xref_file_p` + xref_files_orig=$xref_files_new if test -n "$xref_files_orig"; then verbose "Backing up xref files: $xref_files_orig" # The following line improves `cp $xref_files_orig "$work_bak"' @@ -880,14 +747,24 @@ xref_files_save () # Users may have, e.g., --keep-old-files. Don't let this interfere. # (Don't use unset for the sake of ancient shells.) TAR_OPTIONS=; export TAR_OPTIONS - tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -) + tar cf - $xref_files_orig | (cd "$rel$work_bak" && tar xf -) + fi + + # Remove auxiliary files in same directory as main input file. Otherwise, + # these will likely be read instead of those in the build dir. + if $tidy ; then + secondary_xref_files=`sorted_index_files` + for f in $xref_files_new $secondary_xref_files ; do + if test -f "$rel$in_dir/$f" ; then + remove $rel$in_dir/$f + fi + done fi } -# xref_files_changed -# ------------------ -# Whether the xref files were changed since the previous run. +# xref_files_changed - Return success if the xref files have changed +# since the previous run. xref_files_changed () { # LaTeX (and the package changebar) report in the LOG file if it @@ -898,14 +775,14 @@ xref_files_changed () if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then return 0 fi - # biblatex report of whether rerunning is needed. + # Similarly, check for biblatex report of whether rerunning is needed. if grep "biblatex.*(re)run" "$in_noext.log" >&6 2>&1; then return 0 fi # If old and new lists don't have the same file list, # then something has definitely changed. - xref_files_new=`generated_files_get "$in_noext" xref_file_p` + xref_files_new=`generated_files_get` verbose "Original xref files = $xref_files_orig" verbose "New xref files = $xref_files_new" if test "x$xref_files_orig" != "x$xref_files_new"; then @@ -916,31 +793,32 @@ xref_files_changed () for this_file in $xref_files_new; do verbose "Comparing xref file `echo $this_file | $SED 's|\./||g'` ..." # cmp -s returns nonzero exit status if files differ. - if cmp -s "$this_file" "$work_bak/$this_file"; then :; else + if cmp -s "$this_file" "$rel$work_bak/$this_file"; then :; else verbose "xref file `echo $this_file | $SED 's|\./||g'` differed ..." if $debug; then - diff -u "$work_bak/$this_file" "$this_file" + diff -u "$rel$work_bak/$this_file" "$this_file" fi return 0 fi done + secondary_xref_files=`sorted_index_files` + verbose "Secondary xref files = $secondary_xref_files" + for this_file in $secondary_xref_files; do + if test -f $this_file; then :; else + verbose "$this_file missing ..." + return 0 + fi + done + # No change. return 1 } - - -## ----------------------- ## -## Running the TeX suite. ## -## ----------------------- ## - - - -# run_tex () -# ---------- -# Run TeX as "$tex $in_input", taking care of errors and logs. -run_tex () +# Running the TeX suite. +# +# Set tex_cmd variable, for running TeX. +make_tex_cmd () { case $in_lang:$latex2html:`out_lang_tex` in latex:*:dvi|latex:tex4ht:html) @@ -955,18 +833,9 @@ run_tex () *) tex=$TEX esac;; texinfo:*:pdf) tex=$PDFTEX;; - *) error 1 "$out_lang not supported for $in_lang";; esac - # do the special catcode trick for ~ in filenames only for Texinfo, - # not LaTeX. - if test x"$in_lang" = xtexinfo && test $catcode_special = maybe; then - catcode_special=true - else - catcode_special=false - fi - # Beware of aux files in subdirectories that require the # subdirectory to exist. case $in_lang:$tidy in @@ -981,7 +850,7 @@ run_tex () esac # Note that this will be used via an eval: quote properly. - local cmd="$tex" + tex_cmd="$tex" # If possible, make TeX report error locations in GNU format. if $line_error; then @@ -995,98 +864,90 @@ run_tex () # The mk program and perhaps others want to parse TeX's # original error messages. case $tex_help in - *file-line-error*) cmd="$cmd --file-line-error";; + *file-line-error*) tex_cmd="$tex_cmd --file-line-error";; esac fi + # Tell TeX about -recorder option, if specified + # recorder_option_maybe is in { " -recorder", "" } + tex_cmd="$tex_cmd$recorder_option_maybe" + + # Tell TeX about TCX file, if specified. - test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file" + test -n "$translate_file" \ + && tex_cmd="$tex_cmd --translate-file=$translate_file" # Tell TeX to make source specials (for backtracking from output to # source, given a sufficiently smart editor), if specified. - test -n "$src_specials" && cmd="$cmd $src_specials" + test -n "$src_specials" && tex_cmd="$tex_cmd $src_specials" # Tell TeX to allow running external executables - test -n "$shell_escape" && cmd="$cmd $shell_escape" + test -n "$shell_escape" && tex_cmd="$tex_cmd $shell_escape" - # Tell TeX to be batch if requested. - if $batch; then - # \batchmode does not show terminal output at all, so we don't - # want that. And even in batch mode, TeX insists on having input - # from the user. Close its stdin to make it impossible. - cmd="$cmd , \ and any whitespace characters are not supported + # filenames. + in_input_funnies=`echo "$in_input" \ + | $SED -e 's![^}#$%&^_{~]!!g' -e 's!\(.\)!\1\'' +!g' | uniq` + + if test -n "$in_input_funnies" ; then + # Make > an end group character, as it's unlikely to appear in + # a filename. + tex_cmd="$tex_cmd '${escape}bgroup${escape}catcode62=2${escape}relax'" + + # If the filename has funny characters, change the TeX category codes of + # some characters within a group, and use \expandafter to input the file + # outside of the group. + for w in $in_input_funnies ; do + tex_cmd="$tex_cmd '${escape}catcode\`${escape}$w=12${escape}relax'" + done + + # Set \toks0 to "\input FILENAME\relax" + tex_cmd="$tex_cmd '${escape}toks0${escape}bgroup${escape}input' '$rel$in_input' '${escape}relax>" + + # Expand \toks0 after the end of the group + tex_cmd="$tex_cmd${escape}expandafter${escape}egroup" + tex_cmd="$tex_cmd${escape}the${escape}toks0${escape}relax'" + else + # In the case of a simple filename, just pass the filename + # with no funny tricks. + tex_cmd="$tex_cmd '${escape}input' '$rel$in_input'" fi - # we'd like to handle arbitrary input file names, especially - # foo~bar/a~b.tex, since Debian likes ~ characters. - if $catcode_special; then - # $normaltilde is just to reduce line length in this source file. - # The idea is to define \normaltilde as a catcode other ~ character, - # then make the active ~ be equivalent to that, instead of the plain - # TeX tie. Then when the active ~ appears in the filename, it will - # be expanded to itself, as far as \input will see. (This is the - # same thing that texinfo.tex does in general, BTW.) - normaltilde="${escape}catcode126=12 ${escape}def${escape}normaltilde{~}" - cmd="$cmd '$normaltilde${escape}catcode126=13 ${escape}let~\normaltilde '" - fi - # Other special (non-active) characters could be supported by - # resetting their catcodes to other on the command line and changing - # texinfo.tex to initialize everything to plain catcodes. Maybe someday. - - # append the \input command. - cmd="$cmd '${escape}input'" - - # TeX's \input does not (easily or reliably) support whitespace - # characters or other special characters in file names. Our intensive - # use of absolute file names makes this worse: the enclosing directory - # names may include white spaces. Improve the situation using a - # symbolic link to the filename in the current directory, in tidy mode - # only. Do not alter in_input. - # - # The filename is almost always tokenized using plain TeX conventions - # (the exception would be if the user made a texinfo.fmt file). Not - # all the plain TeX special characters cause trouble, but there's no - # harm in making the link. - # - case $tidy:`func_dirname "$in_input"` in - true:*["$space$tab$newline\"#\$%\\^_{}~"]*) - _run_tex_file_name=`basename "$in_input"` - if test ! -f "$_run_tex_file_name"; then - # It might not be a file, clear it. - run rm -f "$_run_tex_file_name" - run ln -s "$in_input" - fi - cmd="$cmd '$_run_tex_file_name'" - ;; - - *) - cmd="$cmd '$in_input'" - ;; - esac - - verbose "$0: Running $cmd ..." - if eval "$cmd" >&5; then + verbose "$0: Running $tex_cmd ..." + if (eval "$tex_cmd" >&5); then case $out_lang in dvi | pdf ) move_to_dest "$in_noext.$out_lang";; esac else - error 1 "$tex exited with bad status, quitting." + tex_failed=true fi } -# run_bibtex () -# ------------- -# Run bibtex on (or biber) current file. -# - If its input (AUX) exists. -# - If some citations are missing (LOG contains `Citation'). -# or the LOG complains of a missing .bbl + +# run_bibtex - Run bibtex (or biber) on current file +# - if its input (AUX) exists, +# - or if some citations are missing (LOG contains `Citation'), +# - or if the LOG complains of a missing .bbl. # # Don't try to be too smart: # 1. Running bibtex only if the bbl file exists and is older than # the LaTeX file is wrong, since the document might include files # that have changed. # -# 3. Because there can be several AUX (if there are \include's), +# 2. Because there can be several AUX (if there are \include's), # but a single LOG, looking for missing citations in LOG is # easier, though we take the risk of matching false messages. run_bibtex () @@ -1109,7 +970,7 @@ run_bibtex () && grep '^\\bibdata' "$in_noext.aux") ) \ >&6 2>&1; \ then - bibtex_aux=`generated_files_get "$in_noext" bibaux_file_p` + bibtex_aux=`filter_files bibaux_file_p` for f in $bibtex_aux; do run $bibtex "$f" done @@ -1122,16 +983,31 @@ run_bibtex () fi } -# run_index () -# ------------ -# Run texindex (or makeindex or texindy) on current index files. If -# they already exist, and after running TeX a first time the index -# files don't change, then there's no reason to run TeX again. But we -# won't know that if the index files are out of date or nonexistent. + +# filter_file PREDICATE - Go through the list of files in xref_files_new +# and use PREDICATE on each one to optionally print it or print other files +# based on the filename. +filter_files () +{ + test -n "$xref_files_new" || return 0 + echo "$xref_files_new" | + # Filter existing files matching the criterion. + # + while read file; do + $1 "$file" + done | + sort | + # Some files are opened several times, e.g., listings.sty's *.vrb. + uniq +} + +# run_index - Run texindex (or makeindex or texindy) on current index +# files. If they already exist, and after running TeX a first time the +# index files don't change, then there's no reason to run TeX again. +# But we won't know that if the index files are out of date or nonexistent. run_index () { - local index_files - index_files=`generated_files_get $in_noext index_file_p` + index_files=`filter_files index_file_p` test -n "$index_files" \ || return 0 @@ -1139,8 +1015,6 @@ run_index () : ${TEXINDEX:=texindex} : ${TEXINDY:=texindy} - local index_file - local index_noext case $in_lang:$latex2html:`out_lang_tex` in latex:tex4ht:html) for index_file in $index_files @@ -1168,16 +1042,14 @@ run_index () } -# run_tex4ht () -# ------------- -# Run the last two phases of TeX4HT: tex4ht extracts the HTML from the -# instrumented DVI file, and t4ht converts the figures and installs -# the files when given -d. +# run_tex4ht - Run the last two phases of TeX4HT: tex4ht extracts the +# HTML from the instrumented DVI file, and t4ht converts the figures and +# installs the files when given -d. # # Because knowing exactly which files are created is complex (in # addition the names are not simple to compute), which makes it -# difficult to install the output files in a second step, it is much -# simpler to install directly the output files. +# difficult to install the output files in a second step, we +# tell t4ht to install the output files. run_tex4ht () { case $in_lang:$latex2html:`out_lang_tex` in @@ -1191,8 +1063,7 @@ run_tex4ht () } -# run_thumbpdf () -# --------------- +# run_thumbpdf - Run thumbpdf. run_thumbpdf () { if test `out_lang_tex` = pdf \ @@ -1212,14 +1083,15 @@ run_thumbpdf () } -# run_dvipdf FILE.dvi -# ------------------- -# Convert FILE.dvi to FILE.pdf. +# run_dvipdf FILE.dvi - Convert FILE.dvi to FILE.pdf. run_dvipdf () { # Find which dvi->pdf program is available. - if test -z "$dvipdf"; then - for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; do + if test -n "$DVIPDF"; then + dvipdf=$DVIPDF # user envvar, use it without checking + + elif test -z "$dvipdf"; then + for i in dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; do if findprog $i; then dvipdf=$i fi @@ -1234,31 +1106,39 @@ run_dvipdf () fi } -# run_tex_suite () -# ---------------- -# Run the TeX tools until a fix point is reached. +# run_tex_suite - Run the TeX tools until a stable point is reached. run_tex_suite () { + make_tex_cmd + # Move to the working directory. if $tidy; then verbose "cd $work_build" - cd "$work_build" || exit 1 + cd_dir "$work_build" || exit 1 fi # Count the number of cycles. - local cycle=0 + suite_cycle=0 + + # Start by checking the log files for what files were created last + # time. This will mean that if they don't change, we finish in 1 cycle. + xref_files_new=`generated_files_get` + xref_files_save while :; do - # check for probably LaTeX loop (e.g. varioref) - if test $cycle -eq "$max_iters"; then + # check for (probably) LaTeX loop (e.g. varioref) + if test $suite_cycle -eq "$max_iters"; then error 0 "Maximum of $max_iters cycles exceeded" break fi # report progress - cycle=`expr $cycle + 1` - verbose "Cycle $cycle for $command_line_filename" + suite_cycle=`expr $suite_cycle + 1` + verbose "Cycle $suite_cycle for $command_line_filename" + tex_failed=false + run_core_conversion + xref_files_changed || break xref_files_save # We run bibtex first, because it's more likely for the indexes @@ -1266,11 +1146,13 @@ run_tex_suite () # would be rare. run_bibtex run_index - run_core_conversion - - xref_files_changed || break done + if $tex_failed ; then + # TeX failed, and the xref files did not change. + error 1 "$tex exited with bad status, quitting." + fi + # If we were using thumbpdf and producing PDF, then run thumbpdf # and TeX one last time. run_thumbpdf @@ -1295,53 +1177,11 @@ run_tex_suite () cd_orig } -## -------------------------------- ## -## TeX processing auxiliary tools. ## -## -------------------------------- ## - -# A sed script that preprocesses Texinfo sources in order to keep the -# iftex sections only. We want to remove non-TeX sections, and comment -# (with `@c _texi2dvi') TeX sections so that makeinfo does not try to -# parse them. Nevertheless, while commenting TeX sections, don't -# comment @macro/@end macro so that makeinfo does propagate them. -# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough -# (yet), makeinfo can't parse the TeX commands, so work around with sed. +# TeX processing auxiliary tools. # -# We assume that `@c _texi2dvi' starting a line is not present in the -# document. -# -comment_iftex=\ -'/^@tex/,/^@end tex/{ - s/^/@c _texi2dvi/ -} -/^@iftex/,/^@end iftex/{ - s/^/@c _texi2dvi/ - /^@c _texi2dvi@macro/,/^@c _texi2dvi@end macro/{ - s/^@c _texi2dvi// - } -} -/^@ifnottex/,/^@end ifnottex/{ - s/^/@c (_texi2dvi)/ -} -/^@ifinfo/,/^@end ifinfo/{ - /^@node/p - /^@menu/,/^@end menu/p - t - s/^/@c (_texi2dvi)/ -} -s/^@ifnotinfo/@c _texi2dvi@ifnotinfo/ -s/^@end ifnotinfo/@c _texi2dvi@end ifnotinfo/' - -# Uncommenting is simpler: remove any leading `@c texi2dvi'; repeated -# copies can sneak in via macro invocations. -uncomment_iftex='s/^@c _texi2dvi\(@c _texi2dvi\)*//' - - -# run_makeinfo () -# --------------- -# Expand macro commands in the original source file using Makeinfo. -# Always use `end' footnote style, since the `separate' style +# run_makeinfo - Expand macro commands in the original source file using +# Makeinfo. Always use `end' footnote style, since the `separate' style # generates different output (arguably this is a bug in -E). Discard # main info output, the user asked to run TeX, not makeinfo. run_makeinfo () @@ -1395,15 +1235,14 @@ to tex itself simply not working." work_src=$workdir/src ensure_dir "$work_src" in_src=$work_src/$in_base - local miincludes - miincludes=`list_prefix includes -I` + run_mi_includes=`list_prefix includes -I` verbose "Macro-expanding $command_line_filename to $in_src ..." # eval $makeinfo because it might be defined as something complex # (running missing) and then we end up with things like '"-I"', # and "-I" (including the quotes) is not an option name. This # happens with gettext 0.14.5, at least. $SED "$comment_iftex" "$command_line_filename" \ - | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \ + | eval $makeinfo --footnote-style=end -I "$in_dir" $run_mi_includes \ -o /dev/null --macro-expand=- \ | $SED "$uncomment_iftex" >"$in_src" # Continue only if everything succeeded. @@ -1416,9 +1255,62 @@ to tex itself simply not working." fi } -# insert_commands () -# ------------------ -# Used most commonly for @finalout, @smallbook, etc. +# Unfortunately, makeinfo --iftex --no-ifinfo doesn't work well enough +# in versions before 5.0, as makeinfo can't parse the TeX commands +# inside @tex blocks, so work around with sed. +# +# This sed script preprocesses Texinfo sources in order to keep the +# iftex sections only. We want to remove non-TeX sections, and comment +# (with `@c _texi2dvi') TeX sections so that makeinfo does not try to +# parse them. Nevertheless, while commenting TeX sections, don't +# comment @macro/@end macro so that makeinfo does propagate them. +# Similarly, preserve the @top node to avoid makeinfo complaining about +# it being missed. Comment it out after preprocessing, so that it does +# not appear in the generated document. +# +# We assume that `@c _texi2dvi' or `@c (_texi2dvi)' starting a line is +# not present in the document. Additionally, conditionally defined +# macros inside the @top node may end up with the wrong value, although +# this is unlikely in practice. +# +comment_iftex=\ +'/^@tex/,/^@end tex/{ + s/^/@c _texi2dvi/ +} +/^@iftex/,/^@end iftex/{ + s/^/@c _texi2dvi/ + /^@c _texi2dvi@macro/,/^@c _texi2dvi@end macro/{ + s/^@c _texi2dvi// + } +} +/^@ifnottex/,/^@end ifnottex/{ + s/^/@c (_texi2dvi)/ + /^@c (_texi2dvi)@node Top/,/^@c (_texi2dvi)@end ifnottex/ { + /^@c (_texi2dvi)@end ifnottex/b + s/^@c (_texi2dvi)// + } +} +/^@ifinfo/,/^@end ifinfo/{ + /^@node/p + /^@menu/,/^@end menu/p + t + s/^/@c (_texi2dvi)/ +} +s/^@ifnotinfo/@c _texi2dvi@ifnotinfo/ +s/^@end ifnotinfo/@c _texi2dvi@end ifnotinfo/' + +# Uncomment @iftex blocks by removing any leading `@c texi2dvi' (repeated +# copies can sneak in via macro invocations). Likewise, comment out +# the @top node inside a @ifnottex block. +uncomment_iftex=\ +'s/^@c _texi2dvi\(@c _texi2dvi\)*// +/^@c (_texi2dvi)@ifnottex/,/^@c (_texi2dvi)@end ifnottex/{ + s/^/@c (_texi2dvi)/ +}' + + +# insert_commands - Insert $textra commands at the beginning of the file. +# Recommended to be used for @finalout, @smallbook, etc. insert_commands () { if test -n "$textra"; then @@ -1427,10 +1319,15 @@ insert_commands () in_xtr=$work_xtr/$in_base ensure_dir "$work_xtr" verbose "Inserting extra commands: $textra" - local textra_cmd case $in_lang in latex) textra_cmd=1i;; - texinfo) textra_cmd='/^@setfilename/a';; + texinfo) + textra_cmd='/^\\input texinfo/a' + # insert after @setfilename line if present + if head -n 10 $in_input | grep '^@setfilename' ; then + textra_cmd='/^@setfilename/a' + fi + ;; *) error 1 "internal error, unknown language: $in_lang";; esac $SED "$textra_cmd\\ @@ -1453,10 +1350,9 @@ $textra" "$in_input" >"$in_xtr" esac } -# compute_language FILENAME -# ------------------------- -# Return the short string describing the language in which FILENAME -# is written: `texinfo' or `latex'. + +# compute_language FILENAME - Return the short string for the language +# in which FILENAME is written: `texinfo' or `latex'. compute_language () { # If the user explicitly specified the language, use that. @@ -1477,9 +1373,7 @@ compute_language () } -# run_hevea (MODE) -# ---------------- -# Convert to HTML/INFO/TEXT. +# run_hevea (MODE) - Convert to HTML/INFO/TEXT. # # Don't pass `-noiso' to hevea: it's useless in HTML since anyway the # charset is set to latin1, and troublesome in other modes since @@ -1490,27 +1384,27 @@ compute_language () # to handle images some day. run_hevea () { - local hevea="${HEVEA:-hevea}" - local run_hevea="$hevea" + run_hevea_name="${HEVEA:-hevea}" + run_hevea_cmd="$run_hevea_name" case $1 in html) ;; - text|info) run_hevea="$run_hevea -$1";; - *) error 1 "run_hevea: invalid argument: $1";; + text|info) run_hevea_cmd="$run_hevea_cmd -$1";; + *) error 1 "run_hevea_cmd: invalid argument: $1";; esac # Compiling to the tmp directory enables to preserve a previous # successful compilation. - run_hevea="$run_hevea -fix -O -o '$out_base'" - run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' " - run_hevea="$run_hevea '$in_input'" + run_hevea_cmd="$run_hevea_cmd -fix -O -o '$out_base'" + run_hevea_cmd="$run_hevea_cmd `list_prefix includes -I` -I '$orig_pwd' " + run_hevea_cmd="$run_hevea_cmd '$rel$in_input'" if $debug; then - run_hevea="$run_hevea -v -v" + run_hevea_cmd="$run_hevea_cmd -v -v" fi - verbose "running $run_hevea" - if eval "$run_hevea" >&5; then + verbose "running $run_hevea_cmd" + if eval "$run_hevea_cmd" >&5; then # hevea leaves trailing white spaces, this is annoying. case $1 in text|info) perl -pi -e 's/[ \t]+$//g' "$out_base"*;; @@ -1521,14 +1415,12 @@ run_hevea () move_to_dest "$out_base"*;; esac else - error 1 "$hevea exited with bad status, quitting." + error 1 "$run_hevea_name exited with bad status, quitting." fi } -# run_core_conversion () -# ---------------------- -# Run the TeX (or HeVeA). +# run_core_conversion - Run TeX (or HeVeA). run_core_conversion () { case $in_lang:$latex2html:`out_lang_tex` in @@ -1542,23 +1434,22 @@ run_core_conversion () } -# compile () -# ---------- -# Run the full compilation chain, from pre-processing to installation -# of the output at its expected location. +# compile - Run the full compilation chain, from pre-processing to +# installation of the output at its expected location. compile () { - # Source file might include additional sources. - # We want `.:$orig_pwd' before anything else. (We'll add `.:' later - # after all other directories have been turned into absolute paths.) - # `.' goes first to ensure that any old .aux, .cps, - # etc. files in ${directory} don't get used in preference to fresher - # files in `.'. Include orig_pwd in case we are in clean build mode, where - # we have cd'd to a temp directory. + # Set include path for tools: + # . Include current directory in case there are files there already, so + # we don't have more TeX runs than necessary. orig_pwd is used in case + # we are in clean build mode, where we have cd'd to a temp directory. + # . Include directory containing file, in case there are other + # files @include'd. + # . Keep a final path_sep to get the default (system) TeX + # directories included. + # . If we have any includes, put those at the end. + common="$orig_pwd$path_sep$in_dir$path_sep" # - # If we have any includes, put those at the end. - # Keep a final path_sep to get the default (system) TeX directories included. txincludes=`list_infix includes $path_sep` test -n "$txincludes" && common="$common$txincludes$path_sep" # @@ -1566,7 +1457,7 @@ compile () eval val="\$common\$${var}_orig" # Convert relative paths to absolute paths, so we can run in another # directory (e.g., in clean build mode, or during the macro-support - # detection). ".:" is added here. + # detection). val=`absolute_filenames "$val"` eval $var="\"$val\"" export $var @@ -1579,13 +1470,137 @@ compile () # --command, --texinfo insert_commands - # Run until a fix point is reached. + # Run until a fixed point is reached. run_tex_suite } +# make_openout_test FLAGS EXTENSION +# - Run TeX with an input file that performs an \openout. Pass FLAGS to TeX. +# +make_openout_test () +{ + recorder_option_maybe="$1" + make_tex_cmd -# remove FILES -# ------------ + ensure_dir "$workdir"/check_recorder + cd_dir "$workdir"/check_recorder + + cat > openout.tex </dev/null 2>&1) +} + +# Check tex supports -recorder option +check_recorder_support () +{ + verbose "Checking TeX recorder support..." + make_openout_test " -recorder" fls + if test -f openout.fls && grep '^OUTPUT dum.dum$' openout.fls > /dev/null + then + cd_orig + verbose "Checking TeX recorder support... yes" + return 0 + else + cd_orig + verbose "Checking TeX recorder support... no" + return 1 + fi +} + +# Check tex supports \openout traces in log +check_openout_in_log_support () +{ + verbose "Checking TeX \openout in log support..." + make_openout_test "" log + if test -f openout.log \ + && grep '^\\openout..\? *= *`\?dum\.dum'\''\?' openout.log >/dev/null + then + cd_orig + verbose "Checking TeX \openout in log support... yes" + return 0 + else + cd_orig + verbose "Checking TeX \openout in log support... no" + return 1 + fi +} + +# Set that output auxiliary files are detected with the -recorder option, +# which creates a file JOBNAME.fls which is a machine-readable listing of +# files read and written during the job. +set_aux_files_from_fls () +{ + recorder_option_maybe=" -recorder" + generated_files_get_method=generated_files_get_from_fls +} + +# Set that output auxiliary files are detected with searching for \openout +# in the log file. +set_aux_files_from_log () +{ + recorder_option_maybe='' + generated_files_get_method=generated_files_get_from_log +} + +# Decide whether output auxiliary files are detected with the -recorder +# option, or by searching for \openout in the log file. +decide_aux_files_method () +{ + # Select output file detection method + # Valid values of TEXI2DVI_USE_RECORDER are: + # yes use the -recorder option, no checks. + # no scan for \openout in the log file, no checks. + # yesmaybe check whether -recorder option is supported, and if yes + # use it, otherwise check for tracing \openout in the + # log file is supported, and if yes use it, else it is an + # error. + # nomaybe same as `yesmaybe', except that the \openout trace in + # log file is checked first. + # + # The default behaviour is `nomaybe'. + + test -n "$TEXI2DVI_USE_RECORDER" || TEXI2DVI_USE_RECORDER=nomaybe + + case $TEXI2DVI_USE_RECORDER in + yes) set_aux_files_from_fls;; + + no) set_aux_files_from_log;; + + yesmaybe) + if check_recorder_support; then + set_aux_files_from_fls + elif check_openout_in_log_support; then + set_aux_files_from_log + else + error 1 "TeX neither supports -recorder nor outputs \\openout lines in its log file" + fi + ;; + + nomaybe) + if check_openout_in_log_support; then + set_aux_files_from_log + elif check_recorder_support; then + set_aux_files_from_fls + else + error 1 "TeX neither supports -recorder nor outputs \\openout lines in its log file" + fi + ;; + + *) error 1 "Invalid value of TEXI2DVI_USE_RECORDER environment variable : $TEXI2DVI_USE_RECORDER.";; + + esac +} + +# remove FILE... remove () { verbose "Removing" "$@" @@ -1593,42 +1608,154 @@ remove () } -# mostly_clean -# ------------ -# Remove auxiliary files and directories. Changes the current directory. +# all_files - Echo the names of all files generated, including those by +# auxiliary tools like texindex. +all_files () +{ + echo $in_noext.log + echo $in_noext.fls + echo $xref_files_new + echo `sorted_index_files` +} + +sorted_index_files () +{ + filter_files sorted_index_filter +} + +# Print the name of a generated file based on FILE if there is one. +sorted_index_filter () +{ + case $in_lang in + texinfo) + # texindex: texinfo.cp -> texinfo.cps + if test -n "`index_file_p $1`" ; then + echo $1s + fi + ;; + esac +} + + +# Not currently used - use with filter_files to add secondary files created by +# bibtex +bibtex_secondary_files () +{ + case $in_lang in + latex) + if test -n "`aux_file_p $1`"; then + # bibtex: *.aux -> *.bbl and *.blg. + echo $1 | $SED 's/^\(.*\)\.aux$/\1.bbl/' + echo $1 | $SED 's/^\(.*\)\.aux$/\1.blg/' + fi + ;; + esac +} + +# mostly_clean - Remove auxiliary files and directories. Changes back to +# the original directory. mostly_clean () { cd_orig set X "$t2ddir" shift $tidy || { - local log="$work_build/$in_noext.log" - set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"` + set X ${1+"$@"} `all_files` shift } remove ${1+"$@"} } -# cleanup () -# ---------- -# Remove what should be removed according to options. +# cleanup - Remove what should be removed according to options. # Called at the end of each compilation cycle, and at the end of # the script. Changes the current directory. cleanup () { - case $build_mode in - local) cd_orig; remove "$t2ddir";; - clean) mostly_clean;; - tidy) ;; + case $clean:$tidy in + true:true) mostly_clean ;; # build mode is "clean" + false:false) cd_orig; remove "$t2ddir";; # build mode is "local" esac } +# input_file_name_decode - Decode COMMAND_LINE_FILENAME, and set the +# following shell variables: +# +# - COMMAND_LINE_FILENAME +# The filename given on the commmand line, but cleaned of TeX commands. +# - IN_DIR +# The directory containing the input file. +# - IN_BASE +# The input file base name (no directory part). +# - IN_NOEXT +# The input file name with neither file extensions nor directory part. +# - IN_INPUT +# The path to the input file for passing as a command-line argument +# to TeX. Defaults to COMMAND_LINE_FILENAME, but might change if the +# input is preprocessed. +input_file_name_decode () +{ + case $command_line_filename in + *\\input{*}*) + # Let AUC-TeX error parser deal with line numbers. + line_error=false + command_line_filename=`\ + expr X"$command_line_filename" : X'.*input{\([^}]*\)}'` + ;; + esac -## ---------------------- ## -## Command line parsing. ## -## ---------------------- ## + # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex), + # prepend `./' in order to avoid that the tools take it as an option. + echo "$command_line_filename" | LC_ALL=C $EGREP '^(/|[A-Za-z]:/)' >&6 \ + || command_line_filename="./$command_line_filename" + + # See if the file exists. If it doesn't we're in trouble since, even + # though the user may be able to reenter a valid filename at the tex + # prompt (assuming they're attending the terminal), this script won't + # be able to find the right xref files and so forth. + test -r "$command_line_filename" \ + || error 1 "cannot read $command_line_filename, skipping." + + # Get the name of the current directory. + in_dir=`func_dirname "$command_line_filename"` + + # Strip directory part but leave extension. + in_base=`basename "$command_line_filename"` + # Strip extension. + in_noext=`noext "$in_base"` + + # The normalized file name to compile. Must always point to the + # file to actually compile (in case of recoding, macro-expansion etc.). + in_input=$in_dir/$in_base + + + # Compute the output file name. + if test x"$oname" != x; then + out_name=$oname + else + out_name=$in_noext.`out_lang_ext` + fi + out_dir=`func_dirname "$out_name"` + out_dir_abs=`absolute "$out_dir"` + out_base=`basename "$out_name"` + out_noext=`noext "$out_base"` +} + + +# +#################### Main program starts ########################## + +# Initialize more variables. +# +# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file. +# Likewise for bibtex and makeindex. +tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \ +TEXINPUTS TFMFONTS" +for var in $tex_envvars; do + eval ${var}_orig=\$$var + export $var +done # Push a token among the arguments that will be used to notice when we # ended options/arguments parsing. @@ -1640,10 +1767,7 @@ cleanup () arg_sep="$$--$$" set dummy ${1+"$@"} "$arg_sep"; shift -# -# Parse command line arguments. while test x"$1" != x"$arg_sep"; do - # Handle --option=value by splitting apart and putting back on argv. case "$1" in --*=*) @@ -1656,9 +1780,8 @@ while test x"$1" != x"$arg_sep"; do case "$1" in -@ ) escape=@;; - -~ ) catcode_special=false;; - # Silently and without documentation accept -b and --b[atch] as synonyms. - -b | --batch) batch=true;; + -~ ) verbose "Option -~ is obsolete: texi2dvi ignores it.";; + -b | --batch) ;; # Obsolete --build) shift; build_mode=$1;; --build-dir) shift; build_dir=$1; build_mode=tidy;; -c | --clean) build_mode=clean;; @@ -1681,7 +1804,7 @@ while test x"$1" != x"$arg_sep"; do out_lang_set `echo "x$1" | $SED 's/^x--//'`;; -p) out_lang_set pdf;; - -q | -s | --quiet | --silent) quiet=true; batch=true;; + -q | -s | --quiet | --silent) quiet=true;; --src-specials) src_specials=--src-specials;; --shell-escape) shell_escape=--shell-escape;; --tex4ht) latex2html=tex4ht;; @@ -1733,9 +1856,15 @@ esac # We can't do much without tex. +# End up with the TEX and PDFTEX variables set to what we are going to use. # -if findprog ${TEX:-tex}; then :; else cat <&2 +You don't have a working TeX binary (tex) installed anywhere in your PATH, and texi2dvi cannot proceed without one. If you want to use this script, you'll need to install TeX (if you don't have it) or change your PATH or TEX environment variable (if you do). See the --help @@ -1744,20 +1873,19 @@ output for more details. For information about obtaining TeX, please see http://tug.org/texlive, or do a web search for TeX and your operating system or distro. EOM - exit 1 -fi + exit 1 + fi - -# We want to use etex (or pdftex) if they are available, and the user -# didn't explicitly specify. We don't check for elatex and pdfelatex -# because (as of 2003), the LaTeX team has asked that new distributions -# use etex by default anyway. -# -# End up with the TEX and PDFTEX variables set to what we are going to use. -if test -z "$TEX"; then + # We want to use etex (or pdftex) if they are available, and the user + # didn't explicitly specify. We don't check for elatex and pdfelatex + # because (as of 2003), the LaTeX team has asked that new distributions + # use etex by default anyway. + # if findprog etex; then TEX=etex; else TEX=tex; fi fi -# + +# For many years, the pdftex binary has included the e-tex extensions, +# but for those people with ancient TeX distributions ... if test -z "$PDFTEX"; then if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi fi @@ -1767,12 +1895,9 @@ fi # 0 standard input # 1 standard output (--verbose messages) # 2 standard error -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan # 5 tools output (turned off by --quiet) # 6 tracing/debugging (set -x output, etc.) - # Main tools' output (TeX, etc.) that TeX users are used to seeing. # # If quiet, discard, else redirect to the message flow. @@ -1797,87 +1922,8 @@ else exec 6>/dev/null fi -# - -# input_file_name_decode -# ---------------------- -# Decode COMMAND_LINE_FILENAME, and compute: -# - COMMAND_LINE_FILENAME clean of TeX commands -# - IN_DIR -# The directory to the input file, possibly absolute if needed. -# - IN_DIR_ABS -# The absolute directory of the input file. -# - IN_BASE -# The input file base name (no directory part). -# - IN_NOEXT -# The input file name without extensions (nor directory part). -# - IN_INPUT -# Defaults to COMMAND_LINE_FILENAME, but might change if the -# input is preprocessed. With directory, possibly absolute. -input_file_name_decode () -{ - # See if we are run from within AUC-Tex, in which case we are - # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'. - case $command_line_filename in - *\\nonstopmode*) - batch=true;; - esac - case $command_line_filename in - *\\input{*}*) - # Let AUC-TeX error parser deal with line numbers. - line_error=false - command_line_filename=`\ - expr X"$command_line_filename" : X'.*input{\([^}]*\)}'` - ;; - esac - - # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex), - # prepend `./' in order to avoid that the tools take it as an option. - echo "$command_line_filename" | LC_ALL=C $EGREP '^(/|[A-Za-z]:/)' >&6 \ - || command_line_filename="./$command_line_filename" - - # See if the file exists. If it doesn't we're in trouble since, even - # though the user may be able to reenter a valid filename at the tex - # prompt (assuming they're attending the terminal), this script won't - # be able to find the right xref files and so forth. - test -r "$command_line_filename" \ - || error 1 "cannot read $command_line_filename, skipping." - - # Get the name of the current directory. - in_dir=`func_dirname "$command_line_filename"` - in_dir_abs=`absolute "$in_dir"` - # In a clean build, we `cd', so get an absolute file name. - if $tidy; then - in_dir=$in_dir_abs - fi - - # Strip directory part but leave extension. - in_base=`basename "$command_line_filename"` - # Strip extension. - in_noext=`noext "$in_base"` - - # The normalized file name to compile. Must always point to the - # file to actually compile (in case of recoding, macro-expansion etc.). - in_input=$in_dir/$in_base - - - # Compute the output file name. - if test x"$oname" != x; then - out_name=$oname - else - out_name=$in_noext.`out_lang_ext` - fi - out_dir=`func_dirname "$out_name"` - out_dir_abs=`absolute "$out_dir"` - out_base=`basename "$out_name"` - out_noext=`noext "$out_base"` -} - - -## -------------- ## -## TeXify files. ## -## -------------- ## +# Main program main loop - TeXify each file in turn. for command_line_filename do verbose "Processing $command_line_filename ..." @@ -1905,8 +1951,6 @@ do ensure_dir "$build_dir" "$t2ddir" - # We will change directory, better work with an absolute path... - t2ddir=`absolute "$t2ddir"` # Sometimes there are incompatibilities between auxiliary files for # DVI and PDF. The contents can also change whether we work on PDF # and/or DVI. So keep separate spaces for each. @@ -1927,6 +1971,9 @@ do # Make those directories. ensure_dir "$work_build" "$work_bak" + # Decide how to find auxiliary files created by TeX. + decide_aux_files_method + case $action in compile) # Compile the document. @@ -1935,6 +1982,7 @@ do ;; mostly-clean) + xref_files_new=`generated_files_get` mostly_clean ;; esac @@ -1942,3 +1990,7 @@ done verbose "done." exit 0 # exit successfully, not however we ended the loop. +# Local Variables: +# sh-basic-offset: 2 +# sh-indentation: 2 +# End: diff --git a/support/texi2dvi.5704 b/support/texi2dvi.5704 new file mode 100755 index 00000000..173e8ab4 --- /dev/null +++ b/support/texi2dvi.5704 @@ -0,0 +1,1944 @@ +#! /bin/sh +# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources. +# $Id: texi2dvi 5704 2014-07-07 17:45:16Z karl $ +# +# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 +# Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, +# or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Originally written by Noah Friedman. +# +# Please send bug reports, etc. to bug-texinfo@gnu.org. +# If possible, please send a copy of the output of the script called with +# the `--debug' option when making a bug report. + +test -f /bin/ksh && test -z "$RUNNING_KSH" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ + && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } +unset RUNNING_KSH + +# No failure shall remain unpunished. +set -e + +# In case the default sed doesn't suffice. +: ${SED=sed} + +# This string is expanded automatically when this file is checked out. +rcs_revision='$Revision: 5704 $' +rcs_version=`set - $rcs_revision; echo $2` +program=`echo $0 | $SED -e 's!.*/!!'` + +build_mode=${TEXI2DVI_BUILD_MODE:-local} +build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.} + +# Initialize variables for option overriding and otherwise. +# Don't use `unset' since old bourne shells don't have this command. +# Instead, assign them an empty value. +action=compile +batch=false # interact normally +catcode_special=maybe +debug=false +escape="\\" +expand=false # true for expansion via makeinfo +includes= +line_error=true # pass --file-line-error to TeX +max_iters=7 # when to quit +oname= # --output +out_lang=dvi +quiet=false # let the tools' message be displayed +set_language= +src_specials= +shell_escape= +latex2html=hevea # or set to tex4ht +textra= # Extra TeX commands to insert in the input file. +txiprereq=19990129 # minimum texinfo.tex version with macro expansion +verb=false # true for verbose mode +translate_file= # name of charset translation file + +orig_pwd=`pwd` + +# We have to initialize IFS to space tab newline since we save and +# restore IFS and apparently POSIX allows stupid/broken behavior with +# empty-but-set IFS. +# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html +# We need space, tab and new line, in precisely that order. And don't leave +# trailing blanks. +space=' ' +tab=' ' +newline=' +' +IFS="$space$tab$newline" + +# In case someone pedantic insists on using grep -E. +: ${EGREP=egrep} + +# Systems which define $COMSPEC or $ComSpec use semicolons to separate +# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC +# might be inherited, but : is used. +if test -n "$COMSPEC$ComSpec" \ + && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then + path_sep=";" +else + path_sep=":" +fi + +# Pacify verbose cds. +CDPATH=${ZSH_VERSION+.}$path_sep + +# If $TEX is set to a directory, don't use it. +test -n "$TEX" && test -d "$TEX" && unset TEX + +# +## --------------------- ## +## Auxiliary functions. ## +## --------------------- ## + +# In case `local' is not supported by the shell, provide a function +# that simulates it by simply performing the assignments. This means +# that we must not expect `local' to work, i.e., we must not (i) rely +# on it during recursion, and (ii) have two local declarations of the +# same variable. (ii) is easy to check statically, and our test suite +# does make sure there is never twice a static local declaration of a +# variable. (i) cannot be checked easily, so just be careful. +# +# Note that since we might use a function simulating `local', we can +# no longer rely on the fact that no IFS-splitting is performed. So, +# while +# +# foo=$bar +# +# is fine (no IFS-splitting), never write +# +# local foo=$bar +# +# but rather +# +# local foo="$bar" +( + foo=bar + test_local () { + local foo=foo + } + test_local >/dev/null 2>&1 + test $foo = bar +) || eval ' +local () { + case $1 in + *=*) eval "$1";; + esac +} +' + + +# cd_orig +# ------- +# Return to the original directory. +cd_orig () +{ + # In case $orig_pwd is on a different drive (for DOS). + cd / + + # Return to the original directory so that + # - the next file is processed in correct conditions + # - the temporary file can be removed + cd "$orig_pwd" || exit 1 +} + +# func_dirname FILE +# ----------------- +# Return the directory part of FILE. +func_dirname () +{ + dirname "$1" 2>/dev/null \ + || { echo "$1" | $SED 's!/[^/]*$!!;s!^$!.!'; } +} + + +# noexit FILE +# ----------- +# Return FILE with one extension remove. foo.bar.baz -> foo.bar. +noext () +{ + echo "$1" | $SED -e 's/\.[^/.][^/.]*$//' +} + + +# absolute NAME -> ABS-NAME +# ------------------------- +# Return an absolute path to NAME. +absolute () +{ + case $1 in + [\\/]* | ?:[\\/]*) + # Absolute paths don't need to be expanded. + echo "$1" + ;; + *) local slashes + slashes=`echo "$1" | $SED -n 's,.*[^/]\(/*\)$,\1,p'` + local rel + rel=$orig_pwd/`func_dirname "$1"` + if test -d "$rel"; then + (cd "$rel" 2>/dev/null \ + && local n + n=`pwd`/`basename "$1"`"$slashes" + echo "$n") + else + error 1 "not a directory: $rel" + fi + ;; + esac +} + + +# ensure_dir DIR1 DIR2... +# ----------------------- +# Make sure the directories exist. +ensure_dir () +{ + for dir + do + # Beware that in parallel builds we may have several concurrent + # attempts to create the directory. So fail only if "mkdir" + # failed *and* the directory still does not exist. + test -d "$dir" \ + || mkdir "$dir" \ + || test -d "$dir" \ + || error 1 "cannot create directory: $dir" + done +} + + +# error EXIT_STATUS LINE1 LINE2... +# -------------------------------- +# Report an error and exit with failure if EXIT_STATUS is non-null. +error () +{ + local s="$1" + shift + report "$@" + if test "$s" != 0; then + exit $s + fi +} + + +# findprog PROG +# ------------- +# Return true if PROG is somewhere in PATH, else false. +findprog () +{ + local saveIFS="$IFS" + IFS=$path_sep # break path components at the path separator + for dir in $PATH; do + IFS=$saveIFS + # The basic test for an executable is `test -f $f && test -x $f'. + # (`test -x' is not enough, because it can also be true for directories.) + # We have to try this both for $1 and $1.exe. + # + # Note: On Cygwin and DJGPP, `test -x' also looks for .exe. On Cygwin, + # also `test -f' has this enhancement, but not on DJGPP. (Both are + # design decisions, so there is little chance to make them consistent.) + # Thusly, it seems to be difficult to make use of these enhancements. + # + if { test -f "$dir/$1" && test -x "$dir/$1"; } \ + || { test -f "$dir/$1.exe" && test -x "$dir/$1.exe"; }; then + return 0 + fi + done + return 1 +} + +# report LINE1 LINE2... +# --------------------- +# Report some information on stderr. +report () +{ + for i in "$@" + do + echo >&2 "$0: $i" + done +} + + +# run COMMAND-LINE +# ---------------- +# Run the COMMAND-LINE verbosely, and catching errors as failures. +run () +{ + verbose "Running $@" + "$@" 2>&5 1>&2 \ + || error 1 "$1 failed" +} + + +# usage +# ----- +# Display usage and exit successfully. +usage () +{ + # We used to simply have `echo "$usage"', but coping with the + # changing behavior of `echo' is much harder than simply using a + # here-doc. + # + # echo '\noto' echo '\\noto' echo -e '\\noto' + # bash 3.1 \noto \\noto \noto + # bash 3.2 %oto \noto -e \noto + # + # where % denotes the eol character. + cat < +General help using GNU software: +EOF + exit 0 +} + + +# verbose WORD1 WORD2 +# ------------------- +# Report some verbose information. +verbose () +{ + if $verb; then + echo >&2 "$0: $@" + fi +} + + +# version +# ------- +# Display version info and exit successfully. +version () +{ + cat < +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit 0 +} + + +## ---------------- ## +## Handling lists. ## +## ---------------- ## + + +# list_append LIST-NAME ELEM +# -------------------------- +# Set LIST-NAME to its former contents, with ELEM appended. +list_append () +{ + local la_l="$1" + shift + eval set X \$$la_l "$@" + shift + eval $la_l=\""$@"\" +} + + +# list_concat_dirs LIST-NAME DIR-LIST +# ----------------------------------- +# Append to LIST-NAME all the components (included empty) from +# the $path_sep separated list DIR-LIST. Make the paths absolute. +list_concat_dirs () +{ + local lcd_list="$1" + # Empty path components are meaningful to tex. We rewrite them as + # `EMPTY' so they don't get lost when we split on $path_sep. + # Hopefully no one will have an actual directory named EMPTY. + local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \ + -e 's/$path_sep\$/${path_sep}EMPTY/g' \ + -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" + save_IFS=$IFS + IFS=$path_sep + set x `echo "$2" | eval $SED $replace_EMPTY`; shift + IFS=$save_IFS + local dir + for dir + do + case $dir in + EMPTY) + list_append $lcd_list "" + ;; + *) + if test -d $dir; then + dir=`absolute "$dir"` + list_append $lcd_list "$dir" + fi + ;; + esac + done +} + + +# list_prefix LIST-NAME SEP -> STRING +# ----------------------------------- +# Return a string that is composed of the LIST-NAME with each item +# preceded by SEP. +list_prefix () +{ + local lp_p="$2" + eval set X \$$1 + shift + local lp_res + for i + do + lp_res="$lp_res \"$lp_p\" \"$i\"" + done + echo "$lp_res" +} + +# list_infix LIST-NAME SEP -> STRING +# ---------------------------------- +# Same as list_prefix, but a separator. +list_infix () +{ + eval set X \$$1 + shift + local la_IFS="$IFS" + IFS=$path_sep + echo "$*" + IFS=$la_IFS +} + +# list_dir_to_abs LIST-NAME +# ------------------------- +# Convert the list to using only absolute dir names. +# Currently unused, but should replace absolute_filenames some day. +list_dir_to_abs () +{ + local ld_l="$1" + eval set X \$$ld_l + shift + local ld_res + for dir + do + dir=`absolute "$dir"` + test -d "$dir" || continue + ld_res="$ld_res \"$dir\"" + done + set X $ld_res; shift + eval $ld_l=\"$@\" +} + + +## ------------------------------ ## +## Language auxiliary functions. ## +## ------------------------------ ## + + +# out_lang_set LANG +# ----------------- +out_lang_set () +{ + case $1 in + dvi|dvipdf|html|info|pdf|ps|text) out_lang=$1;; + *) error 1 "invalid output format: $1";; + esac +} + + +# out_lang_tex +# ------------ +# Return the tex output language (DVI or PDF) for $OUT_LANG. +out_lang_tex () +{ + case $out_lang in + dvi | ps | dvipdf ) echo dvi;; + pdf ) echo $out_lang;; + html | info | text ) echo $out_lang;; + *) error 1 "invalid out_lang: $1";; + esac +} + + +# out_lang_ext +# ------------ +# Return the extension for $OUT_LANG. +out_lang_ext () +{ + case $out_lang in + dvipdf ) echo pdf;; + dvi | html | info | pdf | ps | text ) echo $out_lang;; + *) error 1 "invalid out_lang: $1";; + esac +} + + +## ------------------------- ## +## TeX auxiliary functions. ## +## ------------------------- ## + +# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file. +# Likewise for bibtex and makeindex. +tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \ +TEXINPUTS TFMFONTS" +for var in $tex_envvars; do + eval ${var}_orig=\$$var + export $var +done + + +# absolute_filenames TEX-PATH -> TEX-PATH +# --------------------------------------- +# Convert relative paths to absolute paths, so we can run in another +# directory (e.g., in tidy build mode, or during the macro-support +# detection). Prepend ".". +absolute_filenames () +{ + # Empty path components are meaningful to tex. We rewrite them as + # `EMPTY' so they don't get lost when we split on $path_sep. + # Hopefully no one will have an actual directory named EMPTY. + local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \ + -e 's/$path_sep\$/${path_sep}EMPTY/g' \ + -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" + local res + res=`echo "$1" | eval $SED $replace_empty` + save_IFS=$IFS + IFS=$path_sep + set x $res; shift + res=. + for dir + do + case $dir in + EMPTY) + res=$res$path_sep + ;; + *) + if test -d "$dir"; then + res=$res$path_sep`absolute "$dir"` + else + # Even if $dir is not a directory, preserve it in the path. + # It might contain metacharacters that TeX will expand in + # turn, e.g., /some/path/{a,b,c}. This will not get the + # implicit absolutification of the path, but we can't help that. + res=$res$path_sep$dir + fi + ;; + esac + done + echo "$res" +} + + +# output_base_name FILE +# --------------------- +# The name of FILE, possibly renamed to satisfy --output. +# FILE is local, there is no directory part. +output_base_name () +{ + case $oname in + '') echo "$1";; + *) local out_noext + out_noext=`noext "$oname"` + local file_ext + file_ext=`echo "$1" | $SED 's/^.*\.//'` + echo "$out_noext.$file_ext" + ;; + esac +} + + +# destdir +# ------- +# Return the name of the directory where the output is expected. +destdir () +{ + case $oname in + '') echo "$orig_pwd";; + *) dirname "$oname";; + esac +} + + +# move_to_dest FILE... +# -------------------- +# Move FILE to the place where the user expects it. Truly move it, that +# is, it must not remain in its build location unless that is also the +# output location. (Otherwise it might appear as an extra file in make +# distcheck.) +# +# FILE can be the principal output (in which case -o directly applies), or +# an auxiliary file with the same base name. +move_to_dest () +{ +# echo "move_to_dest $*, tidy=$tidy, oname=$oname" + + # If we built in place and have no output name, there is nothing to + # do, so just return. + case $tidy:$oname in + false:) return;; + esac + + local destfile + local destdir + local destbase + local sourcedir + local sourcebase + + for file + do + test -f "$file" \ + || error 1 "no such file or directory: $file" + case $tidy:$oname in + true:) destdir=$orig_pwd + destfile=$destdir/$file;; + true:*) destfile=`output_base_name "$file"` + destdir=`dirname "$destfile"`;; + false:*) destfile=$oname + destdir=`dirname "$destfile"`;; + esac + + # We want to compare the source location and the output location, + # and if they are different, do the move. But if they are the + # same, we must preserve the source. Since we can't assume + # stat(1) or test -ef is available, resort to comparing the + # directory names, canonicalized with pwd. We can't use cmp -s + # since the output file might not actually change from run to run; + # e.g., TeX DVI output is timestamped to only the nearest minute. + destdir=`cd "$destdir" && pwd` + destbase=`basename "$destfile"` + + sourcedir=`dirname "$file"` + sourcedir=`cd "$sourcedir" && pwd` + sourcebase=`basename "$file"` + + if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then + verbose "Moving $file to $destfile" + rm -f "$destfile" + mv "$file" "$destfile" + fi + done +} + + +## --------------------- ## +## Managing xref files. ## +## --------------------- ## + +# aux_file_p FILE +# --------------- +# Return with success if FILE is an aux file. +aux_file_p () +{ + test -f "$1" || return 1 + case $1 in + *.aux) return 0;; + *) return 1;; + esac +} + +# bibaux_file_p FILE +# ------------------ +# Return with success if FILE is an aux file containing citation +# requests. +bibaux_file_p () +{ + test -s "$1" || return 1 + if (grep '^\\bibstyle[{]' "$1" \ + && grep '^\\bibdata[{]' "$1" \ + ## The following line is suspicious: fails when there + ## are citations in sub aux files. We need to be + ## smarter in this case. + ## && grep '^\\citation[{]' "$f" + ) >&6 2>&1; + then + return 0 + fi + return 1 +} + +# index_file_p FILE +# ----------------- +# Return with success if FILE is an index file. +index_file_p () +{ + test -f "$1" || return 1 + case $in_lang:$latex2html:`out_lang_tex`:`$SED '1q' "$1"` in + # When working with TeX4HT, *.idx are created by LaTeX. They must + # be processed to produce *.4ix, *.4dx files. The *.4dx file is + # passed to makeindex to produce the *.ind file. This sequence is + # handled by run_index, so we are only interested in the *.idx + # files, which have each "\indexentry" preceded by a + # "\beforeentry". + latex:tex4ht:html:"\\beforeentry {"*) return 0;; + + # When index.sty is used, there is a space before the brace. + latex:*:*:"\\indexentry{"*|latex:*:*:"\\indexentry {"*) return 0;; + + texinfo:*:*:"\\entry{"*) return 0;; + + *) return 1;; + esac +} + +# xref_file_p FILE +# ---------------- +# Return with success if FILE is an xref file (indexes, tables and lists). +xref_file_p () +{ + test -f "$1" || return 1 + # If the file is not suitable to be an index or xref file, don't + # process it. It's suitable if the first character is a + # backslash or right quote or at, as long as the first line isn't + # \input texinfo. + case `$SED '1q' "$1"` in + "\\input texinfo"*) return 1;; + [\\''@]*) return 0;; + *) return 1;; + esac +} + + +# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER] +# ----------------------------------------------------- +# Return the list of files generated by the TeX compilation of FILENAME-NOEXT. +generated_files_get () +{ + local filter=true + if test -n "$2"; then + filter=$2 + fi + + # Gather the files created by TeX. + ( + if test -f "$1.log"; then + $SED -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log" + fi + echo "$1.log" + ) | + # Depending on these files, infer outputs from other tools. + while read file; do + echo $file + case $in_lang in + texinfo) + # texindex: texinfo.cp -> texinfo.cps + if index_file_p $file; then + echo ${file}s + fi + ;; + latex) + if aux_file_p $file; then + # bibtex: *.aux -> *.bbl and *.blg. + echo $file | $SED 's/^\(.*\)\.aux$/\1.bbl/' + echo $file | $SED 's/^\(.*\)\.aux$/\1.blg/' + # -recorder: .fls + echo $file | $SED 's/^\(.*\)\.aux$/\1.fls/' + fi + ;; + esac + done | + # Filter existing files matching the criterion. + # + # With an input file name containing a space, this produces a + # "command not found" message (and filtering is ineffective). + # The situation with a newline is presumably even worse. + while read file; do + if $filter "$file"; then + echo $file + fi + done | + sort | + # Some files are opened several times, e.g., listings.sty's *.vrb. + uniq +} + + +# xref_files_save +# --------------- +# Save the xref files. +xref_files_save () +{ + # Save copies of auxiliary files for later comparison. + xref_files_orig=`generated_files_get "$in_noext" xref_file_p` + if test -n "$xref_files_orig"; then + verbose "Backing up xref files: $xref_files_orig" + # The following line improves `cp $xref_files_orig "$work_bak"' + # by preserving the directory parts. Think of + # cp chap1/main.aux chap2/main.aux $work_bak. + # + # Users may have, e.g., --keep-old-files. Don't let this interfere. + # (Don't use unset for the sake of ancient shells.) + TAR_OPTIONS=; export TAR_OPTIONS + tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -) + fi +} + + +# xref_files_changed +# ------------------ +# Whether the xref files were changed since the previous run. +xref_files_changed () +{ + # LaTeX (and the package changebar) report in the LOG file if it + # should be rerun. This is needed for files included from + # subdirs, since texi2dvi does not try to compare xref files in + # subdirs. Performing xref files test is still good since LaTeX + # does not report changes in xref files. + if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then + return 0 + fi + # biblatex report of whether rerunning is needed. + if grep "biblatex.*(re)run" "$in_noext.log" >&6 2>&1; then + return 0 + fi + + # If old and new lists don't have the same file list, + # then something has definitely changed. + xref_files_new=`generated_files_get "$in_noext" xref_file_p` + verbose "Original xref files = $xref_files_orig" + verbose "New xref files = $xref_files_new" + if test "x$xref_files_orig" != "x$xref_files_new"; then + return 0 + fi + + # Compare each file until we find a difference. + for this_file in $xref_files_new; do + verbose "Comparing xref file `echo $this_file | $SED 's|\./||g'` ..." + # cmp -s returns nonzero exit status if files differ. + if cmp -s "$this_file" "$work_bak/$this_file"; then :; else + verbose "xref file `echo $this_file | $SED 's|\./||g'` differed ..." + if $debug; then + diff -u "$work_bak/$this_file" "$this_file" + fi + return 0 + fi + done + + # No change. + return 1 +} + + + +## ----------------------- ## +## Running the TeX suite. ## +## ----------------------- ## + + + +# run_tex () +# ---------- +# Run TeX as "$tex $in_input", taking care of errors and logs. +run_tex () +{ + case $in_lang:$latex2html:`out_lang_tex` in + latex:*:dvi|latex:tex4ht:html) + tex=${LATEX:-latex};; + latex:*:pdf) + tex=${PDFLATEX:-pdflatex};; + texinfo:*:dvi) + # MetaPost also uses the TEX environment variable. If the user + # has set TEX=latex for that reason, don't bomb out. + case $TEX in + *latex) tex=tex;; # don't bother trying to find etex + *) tex=$TEX + esac;; + texinfo:*:pdf) tex=$PDFTEX;; + + *) error 1 "$out_lang not supported for $in_lang";; + esac + + # do the special catcode trick for ~ in filenames only for Texinfo, + # not LaTeX. + if test x"$in_lang" = xtexinfo && test $catcode_special = maybe; then + catcode_special=true + else + catcode_special=false + fi + + # Beware of aux files in subdirectories that require the + # subdirectory to exist. + case $in_lang:$tidy in + latex:true) + $SED -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" | + sort -u | + while read d + do + ensure_dir "$work_build/$d" + done + ;; + esac + + # Note that this will be used via an eval: quote properly. + local cmd="$tex" + + # If possible, make TeX report error locations in GNU format. + if $line_error; then + if test "${tex_help:+set}" != set; then + # Go to a temporary directory to try --help, since old versions that + # don't accept --help will generate a texput.log. + tex_help_dir=$t2ddir/tex_help + ensure_dir "$tex_help_dir" + tex_help=`cd "$tex_help_dir" >&6 && $tex --help &1 || true` + fi + # The mk program and perhaps others want to parse TeX's + # original error messages. + case $tex_help in + *file-line-error*) cmd="$cmd --file-line-error";; + esac + fi + + # Tell TeX about TCX file, if specified. + test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file" + + # Tell TeX to make source specials (for backtracking from output to + # source, given a sufficiently smart editor), if specified. + test -n "$src_specials" && cmd="$cmd $src_specials" + + # Tell TeX to allow running external executables + test -n "$shell_escape" && cmd="$cmd $shell_escape" + + # Tell TeX to be batch if requested. + if $batch; then + # \batchmode does not show terminal output at all, so we don't + # want that. And even in batch mode, TeX insists on having input + # from the user. Close its stdin to make it impossible. + cmd="$cmd &5; then + case $out_lang in + dvi | pdf ) move_to_dest "$in_noext.$out_lang";; + esac + else + error 1 "$tex exited with bad status, quitting." + fi +} + +# run_bibtex () +# ------------- +# Run bibtex on (or biber) current file. +# - If its input (AUX) exists. +# - If some citations are missing (LOG contains `Citation'). +# or the LOG complains of a missing .bbl +# +# Don't try to be too smart: +# 1. Running bibtex only if the bbl file exists and is older than +# the LaTeX file is wrong, since the document might include files +# that have changed. +# +# 3. Because there can be several AUX (if there are \include's), +# but a single LOG, looking for missing citations in LOG is +# easier, though we take the risk of matching false messages. +run_bibtex () +{ + case $in_lang in + latex) bibtex=${BIBTEX:-bibtex};; + texinfo) return;; + esac + + # "Citation undefined" is for LaTeX, "Undefined citation" for btxmac.tex. + # The no .aux && \bibdata test is also for btxmac, in case it was the + # first run of a bibtex-using document. Otherwise, it's possible that + # bibtex would never be run. + if test -r "$in_noext.aux" \ + && test -r "$in_noext.log" \ + && ( (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \ + || grep '.*Undefined citation' "$in_noext.log" \ + || grep 'No file .*\.bbl\.' "$in_noext.log") \ + || (grep 'No \.aux file' "$in_noext.log" \ + && grep '^\\bibdata' "$in_noext.aux") ) \ + >&6 2>&1; \ + then + bibtex_aux=`generated_files_get "$in_noext" bibaux_file_p` + for f in $bibtex_aux; do + run $bibtex "$f" + done + fi + + # biber(+biblatex) check. + if test -r "$in_noext.bcf" \ + && grep '' "$in_noext.bcf" >/dev/null; then + run ${BIBER:-biber} "$in_noext" + fi +} + +# run_index () +# ------------ +# Run texindex (or makeindex or texindy) on current index files. If +# they already exist, and after running TeX a first time the index +# files don't change, then there's no reason to run TeX again. But we +# won't know that if the index files are out of date or nonexistent. +run_index () +{ + local index_files + index_files=`generated_files_get $in_noext index_file_p` + test -n "$index_files" \ + || return 0 + + : ${MAKEINDEX:=makeindex} + : ${TEXINDEX:=texindex} + : ${TEXINDY:=texindy} + + local index_file + local index_noext + case $in_lang:$latex2html:`out_lang_tex` in + latex:tex4ht:html) + for index_file in $index_files + do + index_noext=`noext "$index_file"` + run tex \ + '\def\filename{{'"$index_noext"'}{idx}{4dx}{ind}} + \input idxmake.4ht' + run $MAKEINDEX -o $index_noext.ind $index_noext.4dx + done + ;; + + latex:*) + if $TEXINDY --version >&6 2>&1; then + run $TEXINDY $index_files + else + run $MAKEINDEX $index_files + fi + ;; + + texinfo:*) + run $TEXINDEX $index_files + ;; + esac +} + + +# run_tex4ht () +# ------------- +# Run the last two phases of TeX4HT: tex4ht extracts the HTML from the +# instrumented DVI file, and t4ht converts the figures and installs +# the files when given -d. +# +# Because knowing exactly which files are created is complex (in +# addition the names are not simple to compute), which makes it +# difficult to install the output files in a second step, it is much +# simpler to install directly the output files. +run_tex4ht () +{ + case $in_lang:$latex2html:`out_lang_tex` in + latex:tex4ht:html) + : ${TEX4HT:=tex4ht} ${T4HT:=t4ht} + run "$TEX4HT" "-f/$in_noext" + # Do not remove the / after the destdir. + run "$T4HT" "-d`destdir`/" "-f/$in_noext" + ;; + esac +} + + +# run_thumbpdf () +# --------------- +run_thumbpdf () +{ + if test `out_lang_tex` = pdf \ + && test -r "$in_noext.log" \ + && grep 'thumbpdf\.sty' "$in_noext.log" >&6 2>&1; \ + then + thumbpdf=${THUMBPDF_CMD:-thumbpdf} + thumbcmd="$thumbpdf $in_dir/$in_noext" + verbose "Running $thumbcmd ..." + if $thumbcmd >&5; then + run_tex + else + report "$thumbpdf exited with bad status." \ + "Ignoring its output." + fi + fi +} + + +# run_dvipdf FILE.dvi +# ------------------- +# Convert FILE.dvi to FILE.pdf. +run_dvipdf () +{ + # Find which dvi->pdf program is available. + if test -z "$dvipdf"; then + for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; do + if findprog $i; then + dvipdf=$i + fi + done + fi + # These tools have varying interfaces, some 'input output', others + # 'input -o output'. They all seem to accept 'input' only, + # outputting using the expected file name. + run $dvipdf "$1" + if test ! -f `echo "$1" | $SED -e 's/\.dvi$/.pdf/'`; then + error 1 "cannot find output file" + fi +} + +# run_tex_suite () +# ---------------- +# Run the TeX tools until a fix point is reached. +run_tex_suite () +{ + # Move to the working directory. + if $tidy; then + verbose "cd $work_build" + cd "$work_build" || exit 1 + fi + + # Count the number of cycles. + local cycle=0 + + while :; do + # check for probably LaTeX loop (e.g. varioref) + if test $cycle -eq "$max_iters"; then + error 0 "Maximum of $max_iters cycles exceeded" + break + fi + + # report progress + cycle=`expr $cycle + 1` + verbose "Cycle $cycle for $command_line_filename" + + xref_files_save + + # We run bibtex first, because it's more likely for the indexes + # to change after bibtex is run than the reverse, though either + # would be rare. + run_bibtex + run_index + run_core_conversion + + xref_files_changed || break + done + + # If we were using thumbpdf and producing PDF, then run thumbpdf + # and TeX one last time. + run_thumbpdf + + # If we are using tex4ht, call it. + run_tex4ht + + # Install the result if we didn't already (i.e., if the output is + # dvipdf or ps). + case $latex2html:$out_lang in + *:dvipdf) + run_dvipdf "$in_noext.`out_lang_tex`" + move_to_dest "$in_noext.`out_lang_ext`" + ;; + *:ps) + : ${DVIPS:=dvips} + run $DVIPS -o "$in_noext.`out_lang_ext`" "$in_noext.`out_lang_tex`" + move_to_dest "$in_noext.`out_lang_ext`" + ;; + esac + + cd_orig +} + +## -------------------------------- ## +## TeX processing auxiliary tools. ## +## -------------------------------- ## + + +# A sed script that preprocesses Texinfo sources in order to keep the +# iftex sections only. We want to remove non-TeX sections, and comment +# (with `@c _texi2dvi') TeX sections so that makeinfo does not try to +# parse them. Nevertheless, while commenting TeX sections, don't +# comment @macro/@end macro so that makeinfo does propagate them. +# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough +# (yet), makeinfo can't parse the TeX commands, so work around with sed. +# +# We assume that `@c _texi2dvi' starting a line is not present in the +# document. +# +comment_iftex=\ +'/^@tex/,/^@end tex/{ + s/^/@c _texi2dvi/ +} +/^@iftex/,/^@end iftex/{ + s/^/@c _texi2dvi/ + /^@c _texi2dvi@macro/,/^@c _texi2dvi@end macro/{ + s/^@c _texi2dvi// + } +} +/^@ifnottex/,/^@end ifnottex/{ + s/^/@c (_texi2dvi)/ +} +/^@ifinfo/,/^@end ifinfo/{ + /^@node/p + /^@menu/,/^@end menu/p + t + s/^/@c (_texi2dvi)/ +} +s/^@ifnotinfo/@c _texi2dvi@ifnotinfo/ +s/^@end ifnotinfo/@c _texi2dvi@end ifnotinfo/' + +# Uncommenting is simpler: remove any leading `@c texi2dvi'; repeated +# copies can sneak in via macro invocations. +uncomment_iftex='s/^@c _texi2dvi\(@c _texi2dvi\)*//' + + +# run_makeinfo () +# --------------- +# Expand macro commands in the original source file using Makeinfo. +# Always use `end' footnote style, since the `separate' style +# generates different output (arguably this is a bug in -E). Discard +# main info output, the user asked to run TeX, not makeinfo. +run_makeinfo () +{ + test $in_lang = texinfo \ + || return 0 + + # Unless required by the user, makeinfo expansion is wanted only + # if texinfo.tex is too old. + if $expand; then + makeinfo=${MAKEINFO:-makeinfo} + else + # Check if texinfo.tex performs macro expansion by looking for + # its version. The version is a date of the form YEAR-MO-DA. + # We don't need to use [0-9] to match the digits since anyway + # the comparison with $txiprereq, a number, will fail with non-digits. + # Run in a temporary directory to avoid leaving files. + version_test_dir=$t2ddir/version_test + ensure_dir "$version_test_dir" + if ( + cd "$version_test_dir" + echo '\input texinfo.tex @bye' >txiversion.tex + # Be sure that if tex wants to fail, it is not interactive: + # close stdin. + $TEX txiversion.tex txiversion.out 2>txiversion.err + ); then :; else + report "texinfo.tex appears to be broken. +This may be due to the environment variable TEX set to something +other than (plain) tex, a corrupt texinfo.tex file, or +to tex itself simply not working." + cat "$version_test_dir/txiversion.out" + cat "$version_test_dir/txiversion.err" >&2 + error 1 "quitting." + fi + eval `$SED -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"` + verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..." + if test "$txiprereq" -le "$txiversion" >&6 2>&1; then + makeinfo= + else + makeinfo=${MAKEINFO:-makeinfo} + fi + # If TeX is preloaded, offer the user this convenience: + if test "$txiformat" = Texinfo; then + escape=@ + fi + fi + + if test -n "$makeinfo"; then + # in_src: the file with macros expanded. + # Use the same basename to generate the same aux file names. + work_src=$workdir/src + ensure_dir "$work_src" + in_src=$work_src/$in_base + local miincludes + miincludes=`list_prefix includes -I` + verbose "Macro-expanding $command_line_filename to $in_src ..." + # eval $makeinfo because it might be defined as something complex + # (running missing) and then we end up with things like '"-I"', + # and "-I" (including the quotes) is not an option name. This + # happens with gettext 0.14.5, at least. + $SED "$comment_iftex" "$command_line_filename" \ + | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \ + -o /dev/null --macro-expand=- \ + | $SED "$uncomment_iftex" >"$in_src" + # Continue only if everything succeeded. + if test $? -ne 0 \ + || test ! -r "$in_src"; then + verbose "Expansion failed, ignored..."; + else + in_input=$in_src + fi + fi +} + +# insert_commands () +# ------------------ +# Used most commonly for @finalout, @smallbook, etc. +insert_commands () +{ + if test -n "$textra"; then + # _xtr. The file with the user's extra commands. + work_xtr=$workdir/xtr + in_xtr=$work_xtr/$in_base + ensure_dir "$work_xtr" + verbose "Inserting extra commands: $textra" + local textra_cmd + case $in_lang in + latex) textra_cmd=1i;; + texinfo) textra_cmd='/^@setfilename/a';; + *) error 1 "internal error, unknown language: $in_lang";; + esac + $SED "$textra_cmd\\ +$textra" "$in_input" >"$in_xtr" + in_input=$in_xtr + fi + + case $in_lang:$latex2html:`out_lang_tex` in + latex:tex4ht:html) + # _tex4ht. The file with the added \usepackage{tex4ht}. + work_tex4ht=$workdir/tex4ht + in_tex4ht=$work_tex4ht/$in_base + ensure_dir "$work_tex4ht" + verbose "Inserting \\usepackage{tex4ht}" + perl -pe 's<\\documentclass(?:\[.*\])?{.*}> + <$&\\usepackage[xhtml]{tex4ht}>' \ + "$in_input" >"$in_tex4ht" + in_input=$in_tex4ht + ;; + esac +} + +# compute_language FILENAME +# ------------------------- +# Return the short string describing the language in which FILENAME +# is written: `texinfo' or `latex'. +compute_language () +{ + # If the user explicitly specified the language, use that. + # Otherwise, if the first line is \input texinfo, assume it's texinfo. + # Otherwise, guess from the file extension. + if test -n "$set_language"; then + echo $set_language + elif $SED 1q "$1" | grep 'input texinfo' >&6; then + echo texinfo + else + # Get the type of the file (latex or texinfo) from the given language + # we just guessed, or from the file extension if not set yet. + case $1 in + *.ltx | *.tex | *.drv | *.dtx) echo latex;; + *) echo texinfo;; + esac + fi +} + + +# run_hevea (MODE) +# ---------------- +# Convert to HTML/INFO/TEXT. +# +# Don't pass `-noiso' to hevea: it's useless in HTML since anyway the +# charset is set to latin1, and troublesome in other modes since +# accented characters loose their accents. +# +# Don't pass `-o DEST' to hevea because in that case it leaves all its +# auxiliary files there too... Too bad, because it means we will need +# to handle images some day. +run_hevea () +{ + local hevea="${HEVEA:-hevea}" + local run_hevea="$hevea" + + case $1 in + html) ;; + text|info) run_hevea="$run_hevea -$1";; + *) error 1 "run_hevea: invalid argument: $1";; + esac + + # Compiling to the tmp directory enables to preserve a previous + # successful compilation. + run_hevea="$run_hevea -fix -O -o '$out_base'" + run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' " + run_hevea="$run_hevea '$in_input'" + + if $debug; then + run_hevea="$run_hevea -v -v" + fi + + verbose "running $run_hevea" + if eval "$run_hevea" >&5; then + # hevea leaves trailing white spaces, this is annoying. + case $1 in text|info) + perl -pi -e 's/[ \t]+$//g' "$out_base"*;; + esac + case $1 in + html|text) move_to_dest "$out_base";; + info) # There can be foo.info-1, foo.info-2 etc. + move_to_dest "$out_base"*;; + esac + else + error 1 "$hevea exited with bad status, quitting." + fi +} + + +# run_core_conversion () +# ---------------------- +# Run the TeX (or HeVeA). +run_core_conversion () +{ + case $in_lang:$latex2html:`out_lang_tex` in + *:dvi|*:pdf|latex:tex4ht:html) + run_tex;; + latex:*:html|latex:*:text|latex:*:info) + run_hevea $out_lang;; + *) + error 1 "invalid input/output combination: $in_lang/$out_lang";; + esac +} + + +# compile () +# ---------- +# Run the full compilation chain, from pre-processing to installation +# of the output at its expected location. +compile () +{ + # Source file might include additional sources. + # We want `.:$orig_pwd' before anything else. (We'll add `.:' later + # after all other directories have been turned into absolute paths.) + # `.' goes first to ensure that any old .aux, .cps, + # etc. files in ${directory} don't get used in preference to fresher + # files in `.'. Include orig_pwd in case we are in clean build mode, where + # we have cd'd to a temp directory. + common="$orig_pwd$path_sep$in_dir$path_sep" + # + # If we have any includes, put those at the end. + # Keep a final path_sep to get the default (system) TeX directories included. + txincludes=`list_infix includes $path_sep` + test -n "$txincludes" && common="$common$txincludes$path_sep" + # + for var in $tex_envvars; do + eval val="\$common\$${var}_orig" + # Convert relative paths to absolute paths, so we can run in another + # directory (e.g., in clean build mode, or during the macro-support + # detection). ".:" is added here. + val=`absolute_filenames "$val"` + eval $var="\"$val\"" + export $var + eval verbose \"$var=\'\$${var}\'\" + done + + # --expand + run_makeinfo + + # --command, --texinfo + insert_commands + + # Run until a fix point is reached. + run_tex_suite +} + + +# remove FILES +# ------------ +remove () +{ + verbose "Removing" "$@" + rm -rf "$@" +} + + +# mostly_clean +# ------------ +# Remove auxiliary files and directories. Changes the current directory. +mostly_clean () +{ + cd_orig + set X "$t2ddir" + shift + $tidy || { + local log="$work_build/$in_noext.log" + set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"` + shift + } + remove ${1+"$@"} +} + + +# cleanup () +# ---------- +# Remove what should be removed according to options. +# Called at the end of each compilation cycle, and at the end of +# the script. Changes the current directory. +cleanup () +{ + case $build_mode in + local) cd_orig; remove "$t2ddir";; + clean) mostly_clean;; + tidy) ;; + esac +} + + + +## ---------------------- ## +## Command line parsing. ## +## ---------------------- ## + +# Push a token among the arguments that will be used to notice when we +# ended options/arguments parsing. +# Use "set dummy ...; shift" rather than 'set - ..." because on +# Solaris set - turns off set -x (but keeps set -e). +# Use ${1+"$@"} rather than "$@" because Digital Unix and Ultrix 4.3 +# still expand "$@" to a single argument (the empty string) rather +# than nothing at all. +arg_sep="$$--$$" +set dummy ${1+"$@"} "$arg_sep"; shift + +# +# Parse command line arguments. +while test x"$1" != x"$arg_sep"; do + + # Handle --option=value by splitting apart and putting back on argv. + case "$1" in + --*=*) + opt=`echo "$1" | $SED -e 's/=.*//'` + val=`echo "$1" | $SED -e 's/[^=]*=//'` + shift + set dummy "$opt" "$val" ${1+"$@"}; shift + ;; + esac + + case "$1" in + -@ ) escape=@;; + -~ ) catcode_special=false;; + # Silently and without documentation accept -b and --b[atch] as synonyms. + -b | --batch) batch=true;; + --build) shift; build_mode=$1;; + --build-dir) shift; build_dir=$1; build_mode=tidy;; + -c | --clean) build_mode=clean;; + -D | --debug) debug=true;; + -e | -E | --expand) expand=true;; + -h | --help) usage;; + -I) shift; list_concat_dirs includes "$1";; + -l | --lang | --language) shift; set_language=$1;; + --mostly-clean) action=mostly-clean;; + --no-line-error) line_error=false;; + --max-iterations) shift; max_iters=$1;; + -o | --out | --output) + shift + # Make it absolute, just in case we also have --clean, or whatever. + oname=`absolute "$1"`;; + + # Output formats. + -O|--output-format) shift; out_lang_set "$1";; + --dvi|--dvipdf|--html|--info|--pdf|--ps|--text) + out_lang_set `echo "x$1" | $SED 's/^x--//'`;; + + -p) out_lang_set pdf;; + -q | -s | --quiet | --silent) quiet=true; batch=true;; + --src-specials) src_specials=--src-specials;; + --shell-escape) shell_escape=--shell-escape;; + --tex4ht) latex2html=tex4ht;; + -t | --texinfo | --command ) shift; textra="$textra\\ +"`echo "$1" | $SED 's/\\\\/\\\\\\\\/g'`;; + --translate-file ) shift; translate_file="$1";; + --tidy) build_mode=tidy;; + -v | --vers*) version;; + -V | --verb*) verb=true;; + --) # What remains are not options. + shift + while test x"$1" != x"$arg_sep"; do + set dummy ${1+"$@"} "$1"; shift + shift + done + break;; + -*) + error 1 "Unknown or ambiguous option \`$1'." \ + "Try \`--help' for more information." + ;; + *) set dummy ${1+"$@"} "$1"; shift;; + esac + shift +done +# Pop the token +shift + +# $tidy: compile in a t2d directory. +# $clean: remove all the aux files. +case $build_mode in + local) clean=false; tidy=false;; + tidy) clean=false; tidy=true;; + clean) clean=true; tidy=true;; + *) error 1 "invalid build mode: $build_mode";; +esac + +# Interpret remaining command line args as filenames. +case $# in + 0) + error 2 "Missing file arguments." "Try \`--help' for more information." + ;; + 1) ;; + *) + if test -n "$oname"; then + error 2 "Can't use option \`--output' with more than one argument." + fi + ;; +esac + + +# We can't do much without tex. +# +if findprog ${TEX:-tex}; then :; else cat </dev/null +else + exec 5>&1 +fi + + +# Enable tracing, and auxiliary tools output. +# +# This fd should be used where you'd typically use /dev/null to throw +# output away. But sometimes it is convenient to see that output (e.g., +# from a grep) to aid debugging. Especially debugging at distance, via +# the user. +# +if $debug; then + exec 6>&1 + set -vx +else + exec 6>/dev/null +fi + +# + +# input_file_name_decode +# ---------------------- +# Decode COMMAND_LINE_FILENAME, and compute: +# - COMMAND_LINE_FILENAME clean of TeX commands +# - IN_DIR +# The directory to the input file, possibly absolute if needed. +# - IN_DIR_ABS +# The absolute directory of the input file. +# - IN_BASE +# The input file base name (no directory part). +# - IN_NOEXT +# The input file name without extensions (nor directory part). +# - IN_INPUT +# Defaults to COMMAND_LINE_FILENAME, but might change if the +# input is preprocessed. With directory, possibly absolute. +input_file_name_decode () +{ + # See if we are run from within AUC-Tex, in which case we are + # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'. + case $command_line_filename in + *\\nonstopmode*) + batch=true;; + esac + case $command_line_filename in + *\\input{*}*) + # Let AUC-TeX error parser deal with line numbers. + line_error=false + command_line_filename=`\ + expr X"$command_line_filename" : X'.*input{\([^}]*\)}'` + ;; + esac + + # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex), + # prepend `./' in order to avoid that the tools take it as an option. + echo "$command_line_filename" | LC_ALL=C $EGREP '^(/|[A-Za-z]:/)' >&6 \ + || command_line_filename="./$command_line_filename" + + # See if the file exists. If it doesn't we're in trouble since, even + # though the user may be able to reenter a valid filename at the tex + # prompt (assuming they're attending the terminal), this script won't + # be able to find the right xref files and so forth. + test -r "$command_line_filename" \ + || error 1 "cannot read $command_line_filename, skipping." + + # Get the name of the current directory. + in_dir=`func_dirname "$command_line_filename"` + in_dir_abs=`absolute "$in_dir"` + # In a clean build, we `cd', so get an absolute file name. + if $tidy; then + in_dir=$in_dir_abs + fi + + # Strip directory part but leave extension. + in_base=`basename "$command_line_filename"` + # Strip extension. + in_noext=`noext "$in_base"` + + # The normalized file name to compile. Must always point to the + # file to actually compile (in case of recoding, macro-expansion etc.). + in_input=$in_dir/$in_base + + + # Compute the output file name. + if test x"$oname" != x; then + out_name=$oname + else + out_name=$in_noext.`out_lang_ext` + fi + out_dir=`func_dirname "$out_name"` + out_dir_abs=`absolute "$out_dir"` + out_base=`basename "$out_name"` + out_noext=`noext "$out_base"` +} + + +## -------------- ## +## TeXify files. ## +## -------------- ## + +for command_line_filename +do + verbose "Processing $command_line_filename ..." + + input_file_name_decode + + # `texinfo' or `latex'? + in_lang=`compute_language "$command_line_filename"` + + # An auxiliary directory used for all the auxiliary tasks involved + # in compiling this document. + case $build_dir in + '' | . ) t2ddir=$out_noext.t2d ;; + *) # Avoid collisions between multiple occurrences of the same + # file, so depend on the output path. Remove leading `./', + # at least to avoid creating a file starting with `.!', i.e., + # an invisible file. The sed expression is fragile if the cwd + # has active characters. Transform / into ! so that we don't + # need `mkdir -p'. It might be something to reconsider. + t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" | + $SED "s,^$orig_pwd/,,;s,^\./,,;s,/,!,g"` + esac + # Remove it at exit if clean mode. + trap "cleanup" 0 1 2 15 + + ensure_dir "$build_dir" "$t2ddir" + + # We will change directory, better work with an absolute path... + t2ddir=`absolute "$t2ddir"` + # Sometimes there are incompatibilities between auxiliary files for + # DVI and PDF. The contents can also change whether we work on PDF + # and/or DVI. So keep separate spaces for each. + workdir=$t2ddir/`out_lang_tex` + ensure_dir "$workdir" + + # _build. In a tidy build, where the auxiliary files are output. + if $tidy; then + work_build=$workdir/build + else + work_build=. + fi + + # _bak. Copies of the previous auxiliary files (another round is + # run if they differ from the new ones). + work_bak=$workdir/bak + + # Make those directories. + ensure_dir "$work_build" "$work_bak" + + case $action in + compile) + # Compile the document. + compile + cleanup + ;; + + mostly-clean) + mostly_clean + ;; + esac +done + +verbose "done." +exit 0 # exit successfully, not however we ended the loop. diff --git a/variables.c b/variables.c index 21ee34d4..84fcd5bb 100644 --- a/variables.c +++ b/variables.c @@ -3944,7 +3944,12 @@ check_unbind_variable (name) if (v && readonly_p (v)) { internal_error (_("%s: cannot unset: readonly %s"), name, "variable"); - return -1; + return -2; + } + else if (v && non_unsettable_p (v)) + { + internal_error (_("%s: cannot unset"), name); + return -2; } return (unbind_variable (name)); }