From: Chet Ramey Date: Wed, 9 Sep 2020 19:25:32 +0000 (-0400) Subject: bash-5.1 beta release X-Git-Tag: bash-5.1-beta X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3eb0018e75b74bb886df7fba4b1712529ce7258f;p=thirdparty%2Fbash.git bash-5.1 beta release --- diff --git a/CHANGES b/CHANGES index bc41c5e7e..2c1b632dd 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,94 @@ +This document details the changes between this version, bash-5.1-beta, and +the previous version, bash-5.1-alpha. + +1. Changes to Bash + +a. Fixed a bug that caused name references to variables to not update the + referenced variable's assignment side effects. + +b. Tightened up the parameter transformation error checking for invalid + transformation operators. + +c. System-specific changes for: FreeBSD + +d. A few minor changes to move potential uses of stdio functions out of signal + handling paths. + +e. Make sure SIGCHLD is blocked in all cases where waitchld() is not called + from a signal handler. + +f. Changed `command' builtin processing so it no longer starts an extra process + when run asynchronously (command x &). + +g. Avoid performing tilde expansion after `:' in words that look like assignment + statements when in posix mode. + +h. Slight changes to how the `complete' builtin prints out options and actions + for completion specifications. + +i. Several changes to how `local -' restores the values of options and + $SHELLOPTS. + +j. Don't treat a word in a compound assignment as an assignment statement + unless it has a valid subscript before the `='. + +k. Fixed a bug with the DEBUG trap and process substitution that caused the + terminal's process group to be set incorrectly. + +l. Fixed a bug that left readline's signal handlers installed while running a + shell command from a bindable readline command. + +m. Fixed the `fc' builtin to clamp out of range history specifications at the + boundaries of the history list for POSIX conformance. + +n. Fixed a bug that caused ${foo@a} to treat foo as an unset variable if it + was an array without a value for subscript 0/"0" but had other set + elements. + +o. Fixed a bug that caused the history code to attempt to parse command + substitutions looking for shell comments before adding them to the history, + even while parsing here-documents. + +p. Fixed a bug that could cause a syntax error in a command read by `eval' to + exit an interactive shell. + +2. New Features in Bash + +a. If the hash builtin is listing hashed filenames portably, don't print + anything if the table is empty. + +b. GLOBIGNORE now ignores `.' and `..' as a terminal pathname component. + +c. Bash attempts to optimize away forks in the last command in a function body + under appropriate circumstances. + +d. The globbing code now uses fnmatch(3) to check collation elements (if + available) even in cases without multibyte characters. + +e. The `fg' and `bg' builtins now return an error in a command substitution + when asked to restart a job inherited from the parent shell. + +f. The shell now attempts to unlink all FIFOs on exit, whether a consuming + process has finished with them or not. + +3. Changes to Readline + +a. Make sure that all undo groups are closed when leaving vi insertion mode. + +b. Make sure that the vi-mode `C' and `c' commands enter insert mode even if + the motion command doesn't have any effect. + +c. Fixed several potential memory leaks in the callback mode context handling. + +d. If readline is handling a SIGTTOU, make sure SIGTTOU is blocked while + executing the terminal cleanup code, since it's no longer run in a signal + handling context. + +4. New Features in Readline + +a. The signal cleanup code now blocks SIGINT while processing after a SIGINT. + +------------------------------------------------------------------------------ This document details the changes between this version, bash-5.1-alpha, and the previous version, bash-5.0-release. @@ -304,6 +395,10 @@ q. Readline now behaves better when operate-and-get-next is used when the r. Fixed a bug that could cause vi redo (`.') of a replace command not to work correctly in the C or POSIX locale. +s. Fixed a bug with vi-mode digit arguments that caused the last command to be + set incorrectly. This prevents yank-last-arg from working as intended, for + example. + 3. New Features in Bash a. `bind -x' now supports different bindings for different editing modes and @@ -396,8 +491,8 @@ dd. New `U', `u', and `L' parameter transformations to convert to uppercase, convert first character to uppercase, and convert to lowercase, respectively. -ee. PROMPT_COMMANDS: a new array variable, each element of which can contain a - command to be executed like PROMPT_COMMAND. +ee. PROMPT_COMMAND: can now be an array variable, each element of which can + contain a command to be executed like a string PROMPT_COMMAND variable. ff. `ulimit' has a -R option to report and set the RLIMIT_RTTIME resource. diff --git a/COMPAT b/COMPAT index 883f1ca44..5cfb83600 100644 --- a/COMPAT +++ b/COMPAT @@ -2,7 +2,7 @@ Compatibility with previous versions ==================================== This document details the incompatibilities between this version of bash, -bash-5.1, and the previous widely-available versions, bash-3.x (which is +bash-5.1, and the previous widely-available versions, bash-3.2 (which is still the `standard' version for Mac OS X), 4.2/4.3 (which are still standard on a few Linux distributions), and bash-4.4/bash-5.0, the current widely-available versions. These were discovered by users of bash-2.x @@ -538,6 +538,11 @@ compat50 (set using BASH_COMPAT) lower, it reverts to the method from bash-5.0 and previous versions, so seeding the random number generator by assigning a value to RANDOM will produce the same sequence as in bash-5.0 + - If the command hash table is empty, bash versions prior to bash-5.1 + printed an informational message to that effect even when writing + output in a format that can be reused as input (-l). Bash-5.1 + suppresses that message if -l is supplied + ------------------------------------------------------------------------------- diff --git a/CWRU/changelog b/CWRU/changelog index b48d82f69..7ce16461a 100644 --- a/CWRU/changelog +++ b/CWRU/changelog @@ -8429,10 +8429,10 @@ lib/readline/kill.c fix for bug reported by Phi Debian lib/readline/vi_mode.c - - _rl_vi_change_char: make sure _rl_vi_last_replacement gets filled in + - rl_vi_change_char: make sure _rl_vi_last_replacement gets filled in in the case where MB_CUR_MAX == 1. Rest of fix for bug reported by Phi Debian - - rl_vi_change_char: same fix for _rl_vi_last_replacement + - _rl_vi_callback_change_char: same fix for _rl_vi_last_replacement 5/29 ---- @@ -8538,7 +8538,7 @@ doc/{bash.1,bashref.texi} configure.ac - if CFLAGS is not supplied in the environment or on the command line, add the gcc options that suppress warnings about parens and print - formats in a slightly different way, that will avoid some collisions + formats in a slightly different way that will avoid some collisions lib/readline/readline.c - _rl_dispatch_subseq: don't set rl_last_func to rl_vi_arg_digit, just @@ -8552,3 +8552,428 @@ lib/readline/vi_mode.c it needs to use it later - rl_vi_redo: suppress attempts to redo `.' when the current keymap is vi_movement_keymap, since that will recursively call vi_redo + + 6/11 + ---- +redir.c + - limit HEREDOC_PIPESIZE to 4096 on FreeBSD; that is where it can + handle atomic writes without hanging. Tested on FreeBSD 13 + +[bash-5.1-alpha frozen] + + 6/15 + ---- +subst.c + - do_assignment_internal: call stupidly_hack_special_variables on the + name returned from the variable assignment, in case there was a + nameref expansion, and on the original name only if the assignment + returned NULL. Fixes bug reported by James D. Lin + + 6/16 + ---- +builtins/hash.def + - hash_builtin: don't print anything if the hash table is empty when + listing portably (-l) unless the shell compatibility level is <= 50 + Issue originally raised by + + 6/17 + ---- +pathexp.c + - glob_name_is_acceptable: extend GLOBIGNORE to ignore `.' and `..' + as a terminal pathname component instead of just ignoring filenames + that are `.' or `..'. From a suggestion by Ilkka Virta + + + 6/18 + ---- +po/Makefile.in.in + - MKINSTALLDIRS: deprecated, no longer in AM_INTL_SUBDIR, so we have + to create the variable manually + +lib/readline/doc/rltech.texi + - add descriptions of the active mark functions that are available to + applications. I guess they will remain public + +subst.c + - valid_parameter_transform: new function, reject transformations + longer than a single character or invalid transformation operators + - parameter_brace_transform: call valid_parameter_transform + + 6/22 + ---- +lib/sh/zread.c + - lbuf: bump size up to ZBUFSIZ (default 4096). From a report by + Jason A. Donenfeld + +lib/sh/zcatfd.c + - zcatfd: lbuf: bump size up to ZBUFSIZ (default 4096) + +lib/sh/zmapfd.c + - zmapfd: lbuf: bump size up to ZBUFSIZ (default 4096) + + 6/29 + ---- +aclocal.m4 + - BASH_FUNC_SBRK: changes for cross-compiling on FreeBSD variants, + from Jessica Clarke + +xmalloc.c + - HAVE_SBRK: use #if instead of #ifdef so we only use it if we think + it works + +examples/loadables/finfo.c + - st_dev,st_nlink: cast to unsigned long, report from Jessica Clarke + + +unwind_prot.c + - unwind_protect_mem_internal: make sure we allocate at least as many + bytes for an entire UNWIND_ELT. Fix from Jessica Clarke + + + 7/1 + --- +eval.c + - alrm_catcher: use write(2) instead of fprintf to print the + auto-logout message to the terminal + +jobs.c + - UNQUEUE_SIGCHLD: set queue_sigchld to 1 around call to waitchld(), + since it is not being called from a signal handler and so SIGCHLD is + not blocked. Fixes report by Godmar Back + + 7/2 + --- +doc/{bash.1,bashref.texi} + - read: clarify that without any name arguments, the line assigned to + REPLY is not modified. From a question by M. Nejat AYDIN + with input from Eli Schwartz + + + 7/5 + --- +lib/readline/vi_mode.c + - _rl_vi_done_inserting: make sure to close out all undo groups when + leaving insert mode, so we don't have anything dangling. + Report and fix from David Fries + + 7/6 + --- +lib/readline/vi_mode.c + - _rl_vi_domove_motion_cleanup: the `c' and `C' commands should enter + insert mode even if the motion command doesn't delete any text. + From a report by David Fries + - _rl_vi_done_inserting: add a missing rl_end_undo_group when + _rl_vi_doing_insert is set: there should be one begun by + rl_vi_start_inserting and one begun by the command (change or replace). + From a report by David Fries + - rl_vi_replace: set _rl_vi_last_key_before_insert to 'R' explicitly, + since other code checks that and we want to allow users to rebind + this function + + 7/7 + --- +lib/readline/vi_mode.c + - rl_vi_{delete,change,yank}_to: if we have a non-null _rl_vimvcxt, + just reinitialize it so we don't have to allocate a new one. This is + a change primarily for callback mode, and fixes a memory leak + +builtins/evalstring.c + - optimize_shell_function: try to optimize away the fork in the last + command in a shell function body, under certain conditions + +execute_cmd.c + - execute_function: attempt to optimize away forks in a shell function + that is already marked NO_FORK and being executed in a command + substitution + + 7/8 + --- +{jobs,nojobs,trap,unwind_prot}.c,lib/malloc/{malloc,table}.c + - interrupt_immediately: remove, no longer used + +jobs.c + - waitchld: don't perform asynchronous notification if we are currently + executing a builtin (executing_builtin != 0). Inspired by a report + from Godmar Back + + 7/9 + --- +lib/readline/signals.c + - _rl_handle_signal: block SIGTTOU while handling a SIGTTOU, since we + no longer run this in a signal handling context where SIGTTOIU would + be blocked + + 7/14 + ---- +execute_cmd.c + - execute_simple_command: use new variable `cmdflags' instead of using + simple_command->flags directly; initialize from simple_command->flags + - check_command_builtin: take a simple command list of words starting + with `command' and including a command_word argument, and peel off + the `command' and any instances of `-p' and `--' and return the + updated list + - execute_simple_command: if the first word of the simple command is + `command', call check_command_builtin to peel off any `command' and + `-p' and `--' and go on to execute the rest of the words as a simple + command. If we're in posix mode, we've got the special builtins + handled before this runs. Fixes complaint about `command' in the + background running an extra bash process from Dmitry Alexandrov + + + 7/17 + ---- +doc/bash.1 +lib/readline/doc/{rltech,hstech,rluser}.texi +lib/readline/doc/{readline,history}.3 + - a few small tweaks to make the language gender-neutral + + 7/18 + ---- +subst.c + - expand_word_internal: case `:' make sure the shell is either not in + posix mode or W_TILDEEXP is set before turning on W_ITILDE. The old + code would turn it on unconditionally if the W_ASSIGNMENT flag was + set. Fixes bug reported by OÄuz + + 7/20 + ---- +builtins/complete.def + - replace macros used to print compspec actions, options, and other + info with a small set of functions that traverse the structs used + to hold that information and print everything instead of eumerating + each option and action separately. From a patch submitted by + Martin Kealey + + 7/27 + ---- +variables.c + - push_posix_tempvar_internal: restore $SHELLOPTS after restoring the + values of shell options saved by `local -' by calling set_shellopts(). + Report from Grisha Levit + +flags.c + - reset_shell_flags: set histexp_flag to 0 and let bash_history_reinit + take care of setting history_expansion appropriately. Report and fix + from Grisha Levit + + 7/28 + ---- +general.c + - assignment: if (FLAGS & 1), we are parsing the contents of a compound + assignment, and a word must begin with a `[' and have a valid + subscript terminated by `]' before the `=' to be considered an + assignment statemen and subsequently expanded like one. Report from + Alexey Izbyshev + + 7/30 + ---- +lib/glob/sm_loop.c + - BRACKMATCH: if the bracket expression is matching simple characters + and not a range, compare the character from the string and the + pattern directly, as required by Posix interp 948 + +lib/glob/smatch.c + - charcmp_wc: split off code that calls wcscoll from rangecmp_wc, + just return the results of wcscoll + - rangecmp_wc: call charcmp_wc and impose a total ordering + by performing a byte comparison (or wint_t comparison) of C1 and C2 + as required by Posix interp 948 (charcmp_wc takes care of the + behavior of FORCECOLL) + - collequiv_wc: call charcmp_wc instead of rangecmp_wc + - charcmp: character comparison code from rangecmp + - rangecmp: call charcmp and impose total ordering as required by + Posix interp 948 + - collequiv: call charcmp instead of rangecmp + - _fnmatch_fallback: ASCII version of fallback for equivalence classes + when there are no multibyte characters in the pattern; just calls + fnmatch with a reconstructed equivalence class pattern + - collequiv: call _fnmatch_fallback if charcmp returns non-zero and + the configure check indicates fnmatch has character class support. + Fixes issue reported by Harald van Dijk + + 8/2 + --- +lib/readline/signals.c + - _rl_handle_signal: since we're not called in a signal handler context + any more, we don't need to explicitly unblock the signal we received + so the application's signal handler will get it when we resend the + signal to ourselves. It doesn't hurt anything to do it, but we don't + have to + - _rl_handle_signal: Set up a framework for any signals that need to + be blocked during cleanup: add the signal to SET (initialized to the + existing set of blocked signals) and set BLOCK_SIG to 1. We block + that set around the call to rl_cleanup_after_signal(). + - _rl_handle_signal: on AIX, if the signal is SIGHUP, make sure we + block SIGHUP while running rl_cleanup_after_signal() + + 8/3 + --- +jobs.c + - start_job: don't allow `fg' or `bg' in a command substitution to + attempt to start a parent's jobs. Suggested by OÄuz + + +builtins/set.def + - set_current_options: only call change_flag or SET_BINARY_O_OPTION_VALUE + if the value has changed from what is stored in the bitmap, to avoid + any side effects from setting the options and save time on any + unnecessary function calls. Inspired by report from Grisha Levit + + +parse.y + - xparse_dolparen: before we jump to top level, check whether we are + still reading from the string (we might have run all the unwind- + protects) and turn off PST_CMDSUBST if we are not. Fixes fuzzing + bug reported by Jakub Wilk + + 8/4 + --- +subst.c + - process_substitute: set subshell_environment to include SUBSHELL_ASYNC + in the child process, since we passed FORK_ASYNC to make_child. Fixes + DEBUG trap problem reported by Jonathan Rascher + +subst.c + - unlink_all_fifos: new function, just unconditionally closes and + unlinks (if using FIFOs) each pipe used for process substitution. + There is an open to unblock any child processes sleeping on the + FIFO first. Inspired by a suggestion from "CHIGOT, CLEMENT" + + +shell.c + - exit_shell: call unlink_all_fifos() instead of unlink_fifo_list() + +sig.c + - termsig_handler: call unlink_all_fifos() instead of + unlink_fifo_list() + + 8/5 + --- +arrayfunc.c + - quote_compound_array_list: turn empty strings into '' instead of + leaving them unmodified. Fixes bug in changes from 4/29 reported + by andy_bash + + 8/10 + ---- +bashline.c + - edit_and_execute_command,bash_execute_unix_command: restore the bash + signal handlers before running parse_and_execute() so bash will catch + and handle signals, instead of letting readline catch them without + any opportunity to run _rl_handle_signal(). Fixes bug reported by + Stan Marsh + + 8/11 + ---- +builtins/fc.def + - fc_gethnum: return HIST_INVALID for -0 if not in listing mode + - fc_builtin: throw an out-of-range error if histbeg or histend gets + set to HIST_INVALID + - fc_builtin: don't throw errors for other out-of-range history + specifications, clamp them at the beginning or end of the history + list, as appropriate, per POSIX. Report and fix from Martijn Dekker + + + 8/12 + ---- +builtins/fc.def + - fc_gethnum: return HIST_NOTFOUND (new error) if the string is not a + number and doesn't correspond to any command in the history list + - fc_builtin: print a "no command found" error message if fc_gethnum + returns HIST_NOTFOUND + + 8/14 + ---- +flags.c + - no_invisible_vars: removed undocumented `-I' flag + +{flags,variables}.c,flags.h,builtins/{declare,setattr.def} + - no_invisible_vars: remove all references + +command.h + - PF_ALLINDS: new flag, means to expand an array variable name without + a subscript as if it were subscripted by `@' instead of `0' + +subst.c + - parameter_brace_expand_word: if PFLAGS contains PF_ALLINDS, expand + an array variable name as if it were subscripted by "@" instead of + 0/"0": a string with the element values separated by " ". Little + nuance; we're just interested in whether or not there are any + values at all + - parameter_brace_expand: if we are expanding something like ${foo@a}, + pass PF_ALLINDS to parameter_brace_expand_word and + parameter_brace_expand_indir so we don't get tripped up on `nounset' + if foo has an assigned subscript other than 0/"0". Inspired by a + report from Andrew Neff + + 8/17 + ---- +bashhist.c + - bash_add_history,maybe_add_history: don't need to call shell_comment + if we are in the middle of adding a here-document, since it may + call the parser recursively on data that is not guaranteed to be + valid input. From a report by Hyunho Cho + + 8/24 + ---- +lib/readline/complete.c + - compare_match: compare TEXT from the line buffer and MATCH, a + possible completion for TEXT, after dequoting TEXT if necessary + - rl_complete_internal,rl_menu_complete : if show-all-if-unmodified is + set, use compare_match instead of a straight strcmp to determine if + the match has changed the text to complete, so we can use it for + filenames that require quoting. Report and pointer to fix from + Abon B + + 8/25 + ---- +eval.c + - execute_prompt_command: PROMPT_COMMAND can now be an array, subsuming + PROMPT_COMMANDS, which bash no longer looks for. Prompted by a + suggestion from Martijn Dekker + + 8/26 + ---- +builtins/fc.def + - fc_gethnum: now takes a flags word as the third argument, with two + current flag values: HN_LISTING, which means we are listing history + entries, and HN_FIRST, which means we are parsing the first in a + first,last range of history entries + - fc_gethnum: if we have a number >= 0, and it's out of range, return + different values (0 or last history) depending on whether we are + parsing the first or last in a range argument. Based on a report from + Martijn Dekker + + 8/31 + ---- +parse.y + - grammar: call handle_eof_input_unit from the eof-after-error + production only from interactive top-level shells, so a syntax error + in `eval' doesn't exit an interactive shell. Report and fix from + Koichi Murase + +bashline.c + - bash_execute_unix_command: if we call parse_and_execute with allocated + memory, make sure not to include SEVAL_NOFREE in the flags so it will + free that command string before returning. Report and fix from + Koichi Murase + +array.[ch] + - array_to_argv: now takes a second argument: COUNTP; returns the number + of elements stored in the strvec + - array_to_argv: don't store array elements with null values; it makes + it hard for callers to walk the whole array reliably + +pcomplete.c + - gen_shell_function_matches: change call to array_to_argv + +array.h + - execute_array_command: now takes the entire ARRAY * as the first + parameter + +eval.c + - execute_array_command: now takes the entire array, puts the elements + into a strvec, and executes each element of the strvevc as a command. + This protects against a command from PROMPT_COMMAND[n] unsetting the + corresponding element of PROMPT_COMMAND. + From a report from Koichi Murase diff --git a/MANIFEST b/MANIFEST index 2bc9fa4bb..f9a7af3a4 100644 --- a/MANIFEST +++ b/MANIFEST @@ -916,6 +916,7 @@ tests/array24.sub f tests/array25.sub f tests/array26.sub f tests/array27.sub f +tests/array28.sub f tests/array-at-star f tests/array2.right f tests/assoc.tests f @@ -945,6 +946,7 @@ tests/builtins3.sub f tests/builtins4.sub f tests/builtins5.sub f tests/builtins6.sub f +tests/builtins7.sub f tests/source1.sub f tests/source2.sub f tests/source3.sub f @@ -960,6 +962,8 @@ tests/case3.sub f tests/case4.sub f tests/casemod.tests f tests/casemod.right f +tests/complete.tests f +tests/complete.right f tests/comsub.tests f tests/comsub.right f tests/comsub1.sub f @@ -1221,6 +1225,7 @@ tests/new-exp11.sub f tests/new-exp12.sub f tests/new-exp13.sub f tests/new-exp14.sub f +tests/new-exp15.sub f tests/new-exp.right f tests/nquote.tests f tests/nquote.right f @@ -1322,6 +1327,7 @@ tests/run-braces f tests/run-builtins f tests/run-case f tests/run-casemod f +tests/run-complete f tests/run-comsub f tests/run-comsub-eof f tests/run-comsub-posix f @@ -1453,6 +1459,7 @@ tests/varenv17.sub f tests/varenv18.sub f tests/varenv19.sub f tests/varenv20.sub f +tests/varenv21.sub f tests/version f tests/version.mini f tests/vredir.tests f diff --git a/Makefile.in b/Makefile.in index 3a3ec7540..087a4002f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -760,7 +760,7 @@ Makefile makefile: config.status $(srcdir)/Makefile.in Makefiles makefiles: config.status $(srcdir)/Makefile.in @for mf in $(CREATED_MAKEFILES); do \ - CONFIG_FILES=$$mf CONFIG_HEADERS= $(SHELL) ./config.status ; \ + CONFIG_FILES=$$mf CONFIG_HEADERS= $(SHELL) ./config.status || exit 1; \ done config.h: stamp-h @@ -846,16 +846,16 @@ install-headers-dirs: install-headers: install-headers-dirs @for hf in $(INSTALLED_HEADERS) ; do \ - ${INSTALL_DATA} $(srcdir)/"$$hf" $(DESTDIR)$(headersdir)/$$hf; \ + ${INSTALL_DATA} $(srcdir)/"$$hf" $(DESTDIR)$(headersdir)/$$hf || exit 1; \ done @for hf in $(INSTALLED_INCFILES) ; do \ - ${INSTALL_DATA} $(BASHINCDIR)/"$$hf" $(DESTDIR)$(headersdir)/include/$$hf; \ + ${INSTALL_DATA} $(BASHINCDIR)/"$$hf" $(DESTDIR)$(headersdir)/include/$$hf || exit 1; \ done @for hf in $(INSTALLED_BUILTINS_HEADERS) ; do \ - ${INSTALL_DATA} $(BUILTIN_SRCDIR)/"$$hf" $(DESTDIR)$(headersdir)/builtins/$$hf; \ + ${INSTALL_DATA} $(BUILTIN_SRCDIR)/"$$hf" $(DESTDIR)$(headersdir)/builtins/$$hf || exit 1; \ done @for hf in $(CREATED_HEADERS) ; do \ - ${INSTALL_DATA} $(BUILD_DIR)/"$$hf" $(DESTDIR)$(headersdir)/$$hf; \ + ${INSTALL_DATA} $(BUILD_DIR)/"$$hf" $(DESTDIR)$(headersdir)/$$hf || exit 1; \ done -$(INSTALL_DATA) $(SDIR)/bash.pc $(DESTDIR)$(pkgconfigdir)/bash.pc diff --git a/NEWS b/NEWS index bc2392f41..1d4212565 100644 --- a/NEWS +++ b/NEWS @@ -94,8 +94,8 @@ dd. New `U', `u', and `L' parameter transformations to convert to uppercase, convert first character to uppercase, and convert to lowercase, respectively. -ee. PROMPT_COMMANDS: a new array variable, each element of which can contain a - command to be executed like PROMPT_COMMAND. +ee. PROMPT_COMMAND: can now be an array variable, each element of which can + contain a command to be executed like a string PROMPT_COMMAND variable. ff. `ulimit' has a -R option to report and set the RLIMIT_RTTIME resource. @@ -128,6 +128,23 @@ nn. HISTFILE is now readonly in a restricted shell. oo. The bash malloc now returns memory that is 16-byte aligned on 64-bit systems. +pp. If the hash builtin is listing hashed filenames portably, don't print + anything if the table is empty. + +qq. GLOBIGNORE now ignores `.' and `..' as a terminal pathname component. + +rr. Bash attempts to optimize away forks in the last command in a function body + under appropriate circumstances. + +ss. The globbing code now uses fnmatch(3) to check collation elements (if + available) even in cases without multibyte characters. + +tt. The `fg' and `bg' builtins now return an error in a command substitution + when asked to restart a job inherited from the parent shell. + +uu. The shell now attempts to unlink all FIFOs on exit, whether a consuming + process has finished with them or not. + 2. New Features in Readline a. If a second consecutive completion attempt produces matches where the first @@ -161,6 +178,8 @@ i. Readline tries to take advantage of the more regular structure of UTF-8 j. The bindable operate-and-get-next command (and its default bindings) are now part of readline instead of a bash-specific addition. +k. The signal cleanup code now blocks SIGINT while processing after a SIGINT. + ------------------------------------------------------------------------------- This is a terse description of the new features added to bash-5.0 since the release of bash-4.4. As always, the manual page (doc/bash.1) is diff --git a/aclocal.m4 b/aclocal.m4 index a29d26deb..ba2446e3b 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -2230,7 +2230,12 @@ AC_DEFINE_UNQUOTED([WEXITSTATUS_OFFSET], [$bash_cv_wexitstatus_offset], [Offset AC_DEFUN([BASH_FUNC_SBRK], [ - AC_CHECK_FUNCS_ONCE([sbrk]) + AC_MSG_CHECKING([for sbrk]) + AC_CACHE_VAL(ac_cv_func_sbrk, + [AC_TRY_LINK([#include ], + [ void *x = sbrk (4096); ], + ac_cv_func_sbrk=yes, ac_cv_func_sbrk=no)]) + AC_MSG_RESULT($ac_cv_func_sbrk) if test X$ac_cv_func_sbrk = Xyes; then AC_CACHE_CHECK([for working sbrk], [bash_cv_func_sbrk], [AC_TRY_RUN([ @@ -2253,8 +2258,8 @@ main(int c, char **v) ac_cv_func_sbrk=no fi fi - if test $ac_cv_func_sbrk = no; then - AC_DEFINE(HAVE_SBRK, 0, + if test $ac_cv_func_sbrk = yes; then + AC_DEFINE(HAVE_SBRK, 1, [Define if you have a working sbrk function.]) fi ]) diff --git a/array.c b/array.c index abfa5df46..6d3554bf4 100644 --- a/array.c +++ b/array.c @@ -810,22 +810,29 @@ WORD_LIST *list; } char ** -array_to_argv (a) +array_to_argv (a, countp) ARRAY *a; +int *countp; { char **ret, *t; int i; ARRAY_ELEMENT *ae; - if (a == 0 || array_empty(a)) + if (a == 0 || array_empty(a)) { + if (countp) + *countp = 0; return ((char **)NULL); + } ret = strvec_create (array_num_elements (a) + 1); i = 0; for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { t = element_value (ae); - ret[i++] = t ? savestring (t) : (char *)NULL; + if (t) + ret[i++] = savestring (t); } ret[i] = (char *)NULL; + if (countp) + *countp = i; return (ret); } diff --git a/array.h b/array.h index a610de7c2..fe218470c 100644 --- a/array.h +++ b/array.h @@ -84,7 +84,7 @@ extern WORD_LIST *array_keys_to_word_list PARAMS((ARRAY *)); extern ARRAY *array_assign_list PARAMS((ARRAY *, WORD_LIST *)); -extern char **array_to_argv PARAMS((ARRAY *)); +extern char **array_to_argv PARAMS((ARRAY *, int *)); extern char *array_to_kvpair PARAMS((ARRAY *, int)); extern char *array_to_assign PARAMS((ARRAY *, int)); @@ -121,7 +121,7 @@ extern ARRAY *array_from_string PARAMS((char *, char *)); #define ALL_ELEMENT_SUB(c) ((c) == '@' || (c) == '*') -/* In eval.c, but uses ARRAY_ELEMENT * */ -extern int execute_array_command PARAMS((ARRAY_ELEMENT *, void *)); +/* In eval.c, but uses ARRAY * */ +extern int execute_array_command PARAMS((ARRAY *, void *)); #endif /* _ARRAY_H_ */ diff --git a/arrayfunc.c b/arrayfunc.c index 6da715265..b254c85ad 100644 --- a/arrayfunc.c +++ b/arrayfunc.c @@ -949,7 +949,8 @@ expand_and_quote_assoc_word (w, type) /* For each word in a compound array assignment, if the word looks like [ind]=value, single-quote ind and value, but leave the brackets and - the = sign (and any `+') alone. This is used for indexed arrays. */ + the = sign (and any `+') alone. If it's not an assignment, just single- + quote the word. This is used for indexed arrays. */ void quote_compound_array_list (list, type) WORD_LIST *list; @@ -960,7 +961,7 @@ quote_compound_array_list (list, type) for (l = list; l; l = l->next) { - if (l->word == 0 || l->word->word == 0 || l->word->word[0] == '\0') + if (l->word == 0 || l->word->word == 0) continue; /* should not happen, but just in case... */ if ((l->word->flags & W_ASSIGNMENT) == 0) t = sh_single_quote (l->word->word); diff --git a/bashhist.c b/bashhist.c index 7ccd47460..2a05a53fa 100644 --- a/bashhist.c +++ b/bashhist.c @@ -757,7 +757,7 @@ maybe_add_history (line) int is_comment; hist_last_line_added = 0; - is_comment = shell_comment (line); + is_comment = (parser_state & PST_HEREDOC) ? 0 : shell_comment (line); /* Don't use the value of history_control to affect the second and subsequent lines of a multi-line command (old code did @@ -874,7 +874,7 @@ bash_add_history (line) add_it = 1; if (command_oriented_history && current_command_line_count > 1) { - is_comment = shell_comment (line); + is_comment = (parser_state & PST_HEREDOC) ? 0 : shell_comment (line); /* The second and subsequent lines of a here document have the trailing newline preserved. We don't want to add extra newlines here, but we diff --git a/bashline.c b/bashline.c index 6cc9555ad..f1fb4dfab 100644 --- a/bashline.c +++ b/bashline.c @@ -968,6 +968,7 @@ edit_and_execute_command (count, c, editing_mode, edit_command) if (rl_deprep_term_function) (*rl_deprep_term_function) (); + rl_clear_signals (); save_parser_state (&ps); r = parse_and_execute (command, (editing_mode == VI_EDITING_MODE) ? "v" : "C-xC-e", SEVAL_NOHIST); restore_parser_state (&ps); @@ -977,6 +978,7 @@ edit_and_execute_command (count, c, editing_mode, edit_command) if (rl_prep_term_function) (*rl_prep_term_function) (metaflag); + rl_set_signals (); current_command_line_count = saved_command_line_count; @@ -4337,7 +4339,9 @@ bash_execute_unix_command (count, key) array_needs_making = 1; save_parser_state (&ps); - r = parse_and_execute (savestring (cmd), "bash_execute_unix_command", SEVAL_NOHIST|SEVAL_NOFREE); + rl_clear_signals (); + r = parse_and_execute (savestring (cmd), "bash_execute_unix_command", SEVAL_NOHIST); + rl_set_signals (); restore_parser_state (&ps); v = find_variable ("READLINE_LINE"); diff --git a/builtins/command.def b/builtins/command.def index cea55b8ea..acd46cc1b 100644 --- a/builtins/command.def +++ b/builtins/command.def @@ -124,6 +124,10 @@ command_builtin (list) #define COMMAND_BUILTIN_FLAGS (CMD_NO_FUNCTIONS | CMD_INHIBIT_EXPANSION | CMD_COMMAND_BUILTIN | (use_standard_path ? CMD_STDPATH : 0)) +#ifdef DEBUG + itrace("command_builtin: running execute_command for `%s'", list->word->word); +#endif + /* We don't want this to be reparsed (consider command echo 'foo &'), so just make a simple_command structure and call execute_command with it. */ command = make_bare_simple_command (); diff --git a/builtins/common.h b/builtins/common.h index 0aecc9ce2..a4f9275d8 100644 --- a/builtins/common.h +++ b/builtins/common.h @@ -210,6 +210,7 @@ extern int should_suppress_fork PARAMS((COMMAND *)); extern int can_optimize_connection PARAMS((COMMAND *)); extern void optimize_fork PARAMS((COMMAND *)); extern void optimize_subshell_command PARAMS((COMMAND *)); +extern void optimize_shell_function PARAMS((COMMAND *)); /* Functions from evalfile.c */ extern int maybe_execute_file PARAMS((const char *, int)); diff --git a/builtins/complete.def b/builtins/complete.def index f33328e8c..28a9ec2f9 100644 --- a/builtins/complete.def +++ b/builtins/complete.def @@ -42,7 +42,7 @@ Options: command) word When completion is attempted, the actions are applied in the order the -uppercase-letter options are listed above. If multiple options are supplied, +uppercase-letter options are listed above. If multiple options are supplied, the -D option takes precedence over -E, and both take precedence over -I. Exit Status: @@ -97,11 +97,16 @@ static void print_compopts PARAMS((const char *, COMPSPEC *, int)); static void print_all_completions PARAMS((void)); static int print_cmd_completions PARAMS((WORD_LIST *)); +static void print_compoptions PARAMS((unsigned long, int)); +static void print_compactions PARAMS((unsigned long)); +static void print_arg PARAMS((const char *, const char *, int)); +static void print_cmd_name PARAMS((const char *)); + static char *Garg, *Warg, *Parg, *Sarg, *Xarg, *Farg, *Carg; static const struct _compacts { const char * const actname; - int actflag; + unsigned long actflag; int actopt; } compacts[] = { { "alias", CA_ALIAS, 'a' }, @@ -134,7 +139,7 @@ static const struct _compacts { /* This should be a STRING_INT_ALIST */ static const struct _compopt { const char * const optname; - int optflag; + unsigned long optflag; } compopts[] = { { "bashdefault", COPT_BASHDEFAULT }, { "default", COPT_DEFAULT }, @@ -485,122 +490,95 @@ remove_cmd_completions (list) return ret; } -#define SQPRINTARG(a, f) \ - do { \ - if (a) \ - { \ - x = sh_single_quote (a); \ - printf ("%s %s ", f, x); \ - free (x); \ - } \ - } while (0) - -#define PRINTARG(a, f) \ - do { \ - if (a) \ - printf ("%s %s ", f, a); \ - } while (0) - -#define PRINTOPT(a, f) \ - do { \ - if (acts & a) \ - printf ("%s ", f); \ - } while (0) - -#define PRINTACT(a, f) \ - do { \ - if (acts & a) \ - printf ("-A %s ", f); \ - } while (0) - -#define PRINTCOMPOPT(a, f) \ - do { \ - if (copts & a) \ - printf ("-o %s ", f); \ - } while (0) - -#define XPRINTCOMPOPT(a, f) \ - do { \ - if (copts & a) \ - printf ("-o %s ", f); \ - else \ - printf ("+o %s ", f); \ - } while (0) +static void +print_compoptions (copts, full) + unsigned long copts; + int full; +{ + const struct _compopt *co; + + for (co = compopts; co->optname; co++) + if (copts & co->optflag) + printf ("-o %s ", co->optname); + else if (full) + printf ("+o %s ", co->optname); +} + +static void +print_compactions (acts) + unsigned long acts; +{ + const struct _compacts *ca; + + /* simple flags first */ + for (ca = compacts; ca->actname; ca++) + if (ca->actopt && (acts & ca->actflag)) + printf ("-%c ", ca->actopt); + + /* then the rest of the actions */ + for (ca = compacts; ca->actname; ca++) + if (ca->actopt == 0 && (acts & ca->actflag)) + printf ("-A %s ", ca->actname); +} + +static void +print_arg (arg, flag, quote) + const char *arg, *flag; + int quote; +{ + char *x; + + if (arg) + { + x = quote ? sh_single_quote (arg) : (char *)arg; + printf ("%s %s ", flag, x); + if (x != arg) + free (x); + } +} + +static void +print_cmd_name (cmd) + const char *cmd; +{ + if (STREQ (cmd, DEFAULTCMD)) + printf ("-D"); + else if (STREQ (cmd, EMPTYCMD)) + printf ("-E"); + else if (STREQ (cmd, INITIALWORD)) + printf ("-I"); + else if (*cmd == 0) /* XXX - can this happen? */ + printf ("''"); + else + printf ("%s", cmd); +} static int print_one_completion (cmd, cs) char *cmd; COMPSPEC *cs; { - unsigned long acts, copts; - char *x; - printf ("complete "); - copts = cs->options; - - /* First, print the -o options. */ - PRINTCOMPOPT (COPT_BASHDEFAULT, "bashdefault"); - PRINTCOMPOPT (COPT_DEFAULT, "default"); - PRINTCOMPOPT (COPT_DIRNAMES, "dirnames"); - PRINTCOMPOPT (COPT_FILENAMES, "filenames"); - PRINTCOMPOPT (COPT_NOQUOTE, "noquote"); - PRINTCOMPOPT (COPT_NOSORT, "nosort"); - PRINTCOMPOPT (COPT_NOSPACE, "nospace"); - PRINTCOMPOPT (COPT_PLUSDIRS, "plusdirs"); - - acts = cs->actions; - - /* simple flags next */ - PRINTOPT (CA_ALIAS, "-a"); - PRINTOPT (CA_BUILTIN, "-b"); - PRINTOPT (CA_COMMAND, "-c"); - PRINTOPT (CA_DIRECTORY, "-d"); - PRINTOPT (CA_EXPORT, "-e"); - PRINTOPT (CA_FILE, "-f"); - PRINTOPT (CA_GROUP, "-g"); - PRINTOPT (CA_JOB, "-j"); - PRINTOPT (CA_KEYWORD, "-k"); - PRINTOPT (CA_SERVICE, "-s"); - PRINTOPT (CA_USER, "-u"); - PRINTOPT (CA_VARIABLE, "-v"); - - /* now the rest of the actions */ - PRINTACT (CA_ARRAYVAR, "arrayvar"); - PRINTACT (CA_BINDING, "binding"); - PRINTACT (CA_DISABLED, "disabled"); - PRINTACT (CA_ENABLED, "enabled"); - PRINTACT (CA_FUNCTION, "function"); - PRINTACT (CA_HELPTOPIC, "helptopic"); - PRINTACT (CA_HOSTNAME, "hostname"); - PRINTACT (CA_RUNNING, "running"); - PRINTACT (CA_SETOPT, "setopt"); - PRINTACT (CA_SHOPT, "shopt"); - PRINTACT (CA_SIGNAL, "signal"); - PRINTACT (CA_STOPPED, "stopped"); + print_compoptions (cs->options, 0); + print_compactions (cs->actions); /* now the rest of the arguments */ /* arguments that require quoting */ - SQPRINTARG (cs->globpat, "-G"); - SQPRINTARG (cs->words, "-W"); - SQPRINTARG (cs->prefix, "-P"); - SQPRINTARG (cs->suffix, "-S"); - SQPRINTARG (cs->filterpat, "-X"); + print_arg (cs->globpat, "-G", 1); + print_arg (cs->words, "-W", 1); + print_arg (cs->prefix, "-P", 1); + print_arg (cs->suffix, "-S", 1); + print_arg (cs->filterpat, "-X", 1); - SQPRINTARG (cs->command, "-C"); + print_arg (cs->command, "-C", 1); /* simple arguments that don't require quoting */ - PRINTARG (cs->funcname, "-F"); + print_arg (cs->funcname, "-F", 0); - if (STREQ (cmd, DEFAULTCMD)) - printf ("-D\n"); - else if (STREQ (cmd, EMPTYCMD)) - printf ("-E\n"); - else if (STREQ (cmd, INITIALWORD)) - printf ("-I\n"); - else - printf ("%s\n", cmd); + print_cmd_name (cmd); + printf ("\n"); return (0); } @@ -611,42 +589,12 @@ print_compopts (cmd, cs, full) COMPSPEC *cs; int full; { - int copts; - printf ("compopt "); - copts = cs->options; - if (full) - { - XPRINTCOMPOPT (COPT_BASHDEFAULT, "bashdefault"); - XPRINTCOMPOPT (COPT_DEFAULT, "default"); - XPRINTCOMPOPT (COPT_DIRNAMES, "dirnames"); - XPRINTCOMPOPT (COPT_FILENAMES, "filenames"); - XPRINTCOMPOPT (COPT_NOQUOTE, "noquote"); - XPRINTCOMPOPT (COPT_NOSORT, "nosort"); - XPRINTCOMPOPT (COPT_NOSPACE, "nospace"); - XPRINTCOMPOPT (COPT_PLUSDIRS, "plusdirs"); - } - else - { - PRINTCOMPOPT (COPT_BASHDEFAULT, "bashdefault"); - PRINTCOMPOPT (COPT_DEFAULT, "default"); - PRINTCOMPOPT (COPT_DIRNAMES, "dirnames"); - PRINTCOMPOPT (COPT_FILENAMES, "filenames"); - PRINTCOMPOPT (COPT_NOQUOTE, "noquote"); - PRINTCOMPOPT (COPT_NOSORT, "nosort"); - PRINTCOMPOPT (COPT_NOSPACE, "nospace"); - PRINTCOMPOPT (COPT_PLUSDIRS, "plusdirs"); - } + print_compoptions (cs->options, full); + print_cmd_name (cmd); - if (STREQ (cmd, DEFAULTCMD)) - printf ("-D\n"); - else if (STREQ (cmd, EMPTYCMD)) - printf ("-E\n"); - else if (STREQ (cmd, INITIALWORD)) - printf ("-I\n"); - else - printf ("%s\n", cmd); + printf ("\n"); } static int diff --git a/builtins/declare.def b/builtins/declare.def index 988782432..21e4516d1 100644 --- a/builtins/declare.def +++ b/builtins/declare.def @@ -727,20 +727,20 @@ restart_new_var_name: if (flags_on & att_assoc) { var = make_new_assoc_variable (name); - if (var && offset == 0 && no_invisible_vars == 0) + if (var && offset == 0) VSETATTR (var, att_invisible); } else if ((flags_on & att_array) || making_array_special) { var = make_new_array_variable (name); - if (var && offset == 0 && no_invisible_vars == 0) + if (var && offset == 0) VSETATTR (var, att_invisible); } else #endif { var = mkglobal ? bind_global_variable (name, (char *)NULL, ASS_FORCE) : bind_variable (name, (char *)NULL, ASS_FORCE); - if (var && offset == 0 && no_invisible_vars == 0) + if (var && offset == 0) VSETATTR (var, att_invisible); } if (var == 0) diff --git a/builtins/evalstring.c b/builtins/evalstring.c index 4240277e3..3a6801dda 100644 --- a/builtins/evalstring.c +++ b/builtins/evalstring.c @@ -145,7 +145,27 @@ optimize_subshell_command (command) (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR)) optimize_subshell_command (command->value.Connection->second); } - + +void +optimize_shell_function (command) + COMMAND *command; +{ + COMMAND *fc; + + fc = (command->type == cm_group) ? command->value.Group->command : command; + + if (fc->type == cm_simple && should_suppress_fork (fc)) + { + fc->flags |= CMD_NO_FORK; + fc->value.Simple->flags |= CMD_NO_FORK; + } + else if (fc->type == cm_connection && can_optimize_connection (fc) && should_suppress_fork (fc->value.Connection->second)) + { + fc->value.Connection->second->flags |= CMD_NO_FORK; + fc->value.Connection->second->value.Simple->flags |= CMD_NO_FORK; + } +} + /* How to force parse_and_execute () to clean up after itself. */ void parse_and_execute_cleanup (old_running_trap) diff --git a/builtins/fc.def b/builtins/fc.def index c266ac2ca..467dbcbcc 100644 --- a/builtins/fc.def +++ b/builtins/fc.def @@ -86,6 +86,14 @@ $END extern int errno; #endif /* !errno */ +#define HIST_INVALID INT_MIN +#define HIST_ERANGE INT_MIN+1 +#define HIST_NOTFOUND INT_MIN+2 + +/* Values for the flags argument to fc_gethnum */ +#define HN_LISTING 0x01 +#define HN_FIRST 0x02 + extern int unlink PARAMS((const char *)); extern FILE *sh_mktmpfp PARAMS((char *, int, char **)); @@ -201,7 +209,7 @@ fc_builtin (list) break; case 'l': - listing = 1; + listing = HN_LISTING; /* for fc_gethnum */ break; case 'r': @@ -321,14 +329,11 @@ fc_builtin (list) while (last_hist >= 0 && hlist[last_hist] == 0) last_hist--; if (last_hist < 0) - { - sh_erange ((char *)NULL, _("history specification")); - return (EXECUTION_FAILURE); - } + last_hist = 0; /* per POSIX */ if (list) { - histbeg = fc_gethnum (list->word->word, hlist, listing); + histbeg = fc_gethnum (list->word->word, hlist, listing|HN_FIRST); list = list->next; if (list) @@ -353,12 +358,27 @@ fc_builtin (list) histbeg = histend = last_hist; } - /* We print error messages for line specifications out of range. */ - if ((histbeg < 0) || (histend < 0)) + if (histbeg == HIST_INVALID || histend == HIST_INVALID) + { + sh_erange ((char *)NULL, _("history specification")); + return (EXECUTION_FAILURE); + } + else if (histbeg == HIST_ERANGE || histend == HIST_ERANGE) { sh_erange ((char *)NULL, _("history specification")); return (EXECUTION_FAILURE); } + else if (histbeg == HIST_NOTFOUND || histend == HIST_NOTFOUND) + { + builtin_error (_("no command found")); + return (EXECUTION_FAILURE); + } + + /* We don't throw an error for line specifications out of range, per POSIX */ + if (histbeg < 0) + histbeg = 0; + if (histend < 0) + histend = 0; /* "When not listing, the fc command that caused the editing shall not be entered into the history list." */ @@ -382,12 +402,27 @@ fc_builtin (list) histbeg = last_hist; } - /* We print error messages for line specifications out of range. */ - if ((histbeg < 0) || (histend < 0)) + if (histbeg == HIST_INVALID || histend == HIST_INVALID) + { + sh_erange ((char *)NULL, _("history specification")); + return (EXECUTION_FAILURE); + } + else if (histbeg == HIST_ERANGE || histend == HIST_ERANGE) { sh_erange ((char *)NULL, _("history specification")); return (EXECUTION_FAILURE); } + else if (histbeg == HIST_NOTFOUND || histend == HIST_NOTFOUND) + { + builtin_error (_("no command found")); + return (EXECUTION_FAILURE); + } + + /* We don't throw an error for line specifications out of range, per POSIX */ + if (histbeg < 0) + histbeg = 0; + if (histend < 0) + histend = 0; if (histend < histbeg) { @@ -507,7 +542,9 @@ fc_number (list) /* Return an absolute index into HLIST which corresponds to COMMAND. If COMMAND is a number, then it was specified in relative terms. If it is a string, then it is the start of a command line present in HLIST. - MODE is 1 if we are listing commands, 0 if we are executing them. */ + MODE includes HN_LISTING if we are listing commands, and does not if we + are executing them. If MODE includes HN_FIRST we are looking for the + first history number specification. */ static int fc_gethnum (command, hlist, mode) char *command; @@ -515,9 +552,10 @@ fc_gethnum (command, hlist, mode) int mode; { int sign, n, clen, rh; - register int i, j, last_hist, real_last; + register int i, j, last_hist, real_last, listing; register char *s; + listing = mode & HN_LISTING; sign = 1; /* Count history elements. */ for (i = 0; hlist[i]; i++); @@ -570,19 +608,33 @@ fc_gethnum (command, hlist, mode) n = atoi (s); n *= sign; + /* We want to return something that is an offset to HISTORY_BASE. */ + /* If the value is negative or zero, then it is an offset from the current history item. */ + /* We don't use HN_FIRST here, so we don't return different values + depending on whether we're looking for the first or last in a + pair of range arguments, but nobody else does, either. */ if (n < 0) { n += i + 1; return (n < 0 ? 0 : n); } else if (n == 0) - return ((sign == -1) ? (mode ? real_last : -1) : i); + return ((sign == -1) ? (listing ? real_last : HIST_INVALID) : i); else { + /* If we're out of range (greater than I (last history entry) or + less than HISTORY_BASE, we want to return different values + based on whether or not we are looking for the first or last + value in a desired range of history entries. */ n -= history_base; - return (i < n ? i : n); + if (n < 0) + return (mode & HN_FIRST ? 0 : i); + else if (n >= i) + return (mode & HN_FIRST ? 0 : i); + else + return n; } } @@ -592,7 +644,7 @@ fc_gethnum (command, hlist, mode) if (STREQN (command, histline (j), clen)) return (j); } - return (-1); + return (HIST_NOTFOUND); } /* Locate the most recent history line which begins with diff --git a/builtins/hash.def b/builtins/hash.def index 8eddc9996..c58e91c4f 100644 --- a/builtins/hash.def +++ b/builtins/hash.def @@ -134,7 +134,8 @@ hash_builtin (list) if (list == 0 && expunge_hash_table == 0) { opt = print_hashed_commands (list_portably); - if (opt == 0 && posixly_correct == 0) + if (opt == 0 && posixly_correct == 0 && + (list_portably == 0 || shell_compatibility_level <= 50)) printf (_("%s: hash table empty\n"), this_command_name); return (EXECUTION_SUCCESS); diff --git a/builtins/set.def b/builtins/set.def index 48927679b..8ee016579 100644 --- a/builtins/set.def +++ b/builtins/set.def @@ -358,17 +358,29 @@ void set_current_options (bitmap) const char *bitmap; { - int i; + int i, v, cv, *on_or_off; if (bitmap == 0) return; for (i = 0; o_options[i].name; i++) { + v = bitmap[i] ? FLAG_ON : FLAG_OFF; if (o_options[i].letter) - change_flag (o_options[i].letter, bitmap[i] ? FLAG_ON : FLAG_OFF); + { + /* We should not get FLAG_UNKNOWN here */ + on_or_off = find_flag (o_options[i].letter); + cv = *on_or_off ? FLAG_ON : FLAG_OFF; + if (v != cv) + change_flag (o_options[i].letter, v); + } else - SET_BINARY_O_OPTION_VALUE (i, bitmap[i] ? FLAG_ON : FLAG_OFF, o_options[i].name); + { + cv = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name); + cv = cv ? FLAG_ON : FLAG_OFF; + if (v != cv) + SET_BINARY_O_OPTION_VALUE (i, v, o_options[i].name); + } } /* Now reset the variables changed by posix mode */ diff --git a/builtins/setattr.def b/builtins/setattr.def index e43f70915..a193462da 100644 --- a/builtins/setattr.def +++ b/builtins/setattr.def @@ -645,7 +645,7 @@ set_var_attribute (name, attribute, undo) if (var == 0) { var = bind_variable (name, (char *)NULL, 0); - if (var && no_invisible_vars == 0) + if (var) VSETATTR (var, att_invisible); } else if (var->context != 0) diff --git a/command.h b/command.h index 12774c430..914198f9d 100644 --- a/command.h +++ b/command.h @@ -113,6 +113,7 @@ enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select, #define PF_ASSIGNRHS 0x08 /* same as W_ASSIGNRHS */ #define PF_COMPLETE 0x10 /* same as W_COMPLETE, sets SX_COMPLETE */ #define PF_EXPANDRHS 0x20 /* same as W_EXPANDRHS */ +#define PF_ALLINDS 0x40 /* array, act as if [@] was supplied */ /* Possible values for subshell_environment */ #define SUBSHELL_ASYNC 0x01 /* subshell caused by `command &' */ diff --git a/configure b/configure index 10c975214..b95b42dd9 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac for Bash 5.1, version 5.020. +# From configure.ac for Bash 5.1, version 5.021. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for bash 5.1-alpha. +# Generated by GNU Autoconf 2.69 for bash 5.1-beta. # # Report bugs to . # @@ -581,8 +581,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='bash' PACKAGE_TARNAME='bash' -PACKAGE_VERSION='5.1-alpha' -PACKAGE_STRING='bash 5.1-alpha' +PACKAGE_VERSION='5.1-beta' +PACKAGE_STRING='bash 5.1-beta' PACKAGE_BUGREPORT='bug-bash@gnu.org' PACKAGE_URL='' @@ -1427,7 +1427,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bash 5.1-alpha to adapt to many kinds of systems. +\`configure' configures bash 5.1-beta to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1492,7 +1492,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bash 5.1-alpha:";; + short | recursive ) echo "Configuration of bash 5.1-beta:";; esac cat <<\_ACEOF @@ -1693,7 +1693,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -bash configure 5.1-alpha +bash configure 5.1-beta generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2402,7 +2402,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bash $as_me 5.1-alpha, which was +It was created by bash $as_me 5.1-beta, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2691,7 +2691,6 @@ as_fn_append ac_func_list " uselocale" as_fn_append ac_header_list " xlocale.h" as_fn_append ac_header_list " sys/time.h" as_fn_append ac_func_list " alarm" -as_fn_append ac_func_list " sbrk" as_fn_append ac_func_list " fpurge" as_fn_append ac_func_list " __fpurge" as_fn_append ac_func_list " snprintf" @@ -2801,7 +2800,7 @@ ac_config_headers="$ac_config_headers config.h" BASHVERS=5.1 -RELSTATUS=alpha +RELSTATUS=beta case "$RELSTATUS" in alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;; @@ -2903,6 +2902,9 @@ m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF *-aix*) opt_bash_malloc=no ;; # AIX machines *-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment +# These lack a working sbrk(2) +aarch64-freebsd*) opt_bash_malloc=no ;; +riscv*-freebsd*) opt_bash_malloc=no ;; # Mach-derived systems have a ton of extra malloc functions and lack sbrk(2) *-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep *-openstep*) opt_bash_malloc=no ;; # i386/Sparc/HP machines running Openstep @@ -2915,13 +2917,6 @@ sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF *-nsk*) opt_bash_malloc=no ;; # HP NonStop *-haiku*) opt_bash_malloc=no ;; # Haiku OS *-genode*) opt_bash_malloc=no ;; # Genode has no sbrk -# Deprecated -- bash malloc is suitable -#sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment -#mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment -#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here -#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree -#*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment -#*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment esac # memory scrambling on free() @@ -18548,9 +18543,33 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sbrk" >&5 +$as_echo_n "checking for sbrk... " >&6; } + if ${ac_cv_func_sbrk+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + void *x = sbrk (4096); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_func_sbrk=yes +else + ac_cv_func_sbrk=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi - - + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_sbrk" >&5 +$as_echo "$ac_cv_func_sbrk" >&6; } if test X$ac_cv_func_sbrk = Xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working sbrk" >&5 $as_echo_n "checking for working sbrk... " >&6; } @@ -18595,9 +18614,9 @@ $as_echo "$bash_cv_func_sbrk" >&6; } ac_cv_func_sbrk=no fi fi - if test $ac_cv_func_sbrk = no; then + if test $ac_cv_func_sbrk = yes; then -$as_echo "#define HAVE_SBRK 0" >>confdefs.h +$as_echo "#define HAVE_SBRK 1" >>confdefs.h fi @@ -20394,6 +20413,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading ;; esac ;; netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;; +freebsd*) LOCAL_CFLAGS='-DHEREDOC_PIPESIZE=4096' ;; *qnx[67]*) LOCAL_LIBS="-lncurses" ;; *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; powerux*) LOCAL_LIBS="-lgen" ;; @@ -21037,7 +21057,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by bash $as_me 5.1-alpha, which was +This file was extended by bash $as_me 5.1-beta, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21103,7 +21123,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -bash config.status 5.1-alpha +bash config.status 5.1-beta configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index f91d64440..4e96e4916 100644 --- a/configure.ac +++ b/configure.ac @@ -21,10 +21,10 @@ dnl Process this file with autoconf to produce a configure script. # You should have received a copy of the GNU General Public License # along with this program. If not, see . -AC_REVISION([for Bash 5.1, version 5.020])dnl +AC_REVISION([for Bash 5.1, version 5.021])dnl define(bashvers, 5.1) -define(relstatus, alpha) +define(relstatus, beta) AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org]) @@ -77,6 +77,9 @@ m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF *-aix*) opt_bash_malloc=no ;; # AIX machines *-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment +# These lack a working sbrk(2) +aarch64-freebsd*) opt_bash_malloc=no ;; +riscv*-freebsd*) opt_bash_malloc=no ;; # Mach-derived systems have a ton of extra malloc functions and lack sbrk(2) *-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep *-openstep*) opt_bash_malloc=no ;; # i386/Sparc/HP machines running Openstep @@ -89,13 +92,6 @@ sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF *-nsk*) opt_bash_malloc=no ;; # HP NonStop *-haiku*) opt_bash_malloc=no ;; # Haiku OS *-genode*) opt_bash_malloc=no ;; # Genode has no sbrk -# Deprecated -- bash malloc is suitable -#sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment -#mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment -#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here -#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree -#*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment -#*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment esac # memory scrambling on free() @@ -1139,7 +1135,7 @@ LOCAL_DEFS=-DSHELL dnl use this section to possibly define more cpp variables, specify local dnl libraries, and specify any additional local cc or ld flags dnl -dnl this should really go away someday +dnl most of these are really old; this should really go away someday case "${host_os}" in sysv4.2*) AC_DEFINE(SVR4_2) @@ -1168,6 +1164,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading *) AC_DEFINE(PGRP_PIPE) ;; esac ;; netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;; +freebsd*) LOCAL_CFLAGS='-DHEREDOC_PIPESIZE=4096' ;; *qnx[[67]]*) LOCAL_LIBS="-lncurses" ;; *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; powerux*) LOCAL_LIBS="-lgen" ;; diff --git a/doc/bash.0 b/doc/bash.0 index 0b11b8615..9c558ae1f 100644 --- a/doc/bash.0 +++ b/doc/bash.0 @@ -1088,8 +1088,8 @@ PPAARRAAMMEETTEERRSS 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 values corre- - spond to the compatibility levels described below under SSHHEELLLL - CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE. For example, 4.2 and 42 are valid values + spond to the compatibility levels described below under BBSSHHEELLLL-- + COMPATIBILITYMMOODDEE. For example, 4.2 and 42 are valid values that correspond to the ccoommppaatt4422 sshhoopptt option and set the compat- ibility level to 42. The current version is also a valid value. BBAASSHH__EENNVV @@ -1316,11 +1316,11 @@ PPAARRAAMMEETTEERRSS while the shell is running, bbaasshh enables _p_o_s_i_x _m_o_d_e, as if the command _s_e_t _-_o _p_o_s_i_x had been executed. When the shell enters _p_o_s_i_x _m_o_d_e, it sets this variable if it was not already set. - PPRROOMMPPTT__CCOOMMMMAANNDDSS - If this array variable is set, the value of each set element is - executed as a command prior to issuing each primary prompt. If - this is not set, but PPRROOMMPPTT__CCOOMMMMAANNDD is set to a value, its value - is used as a command to execute instead. + PPRROOMMPPTT__CCOOMMMMAANNDD + If this variable is set, and is an array, the value of each set + element is executed as a command prior to issuing each primary + prompt. If this is set but not an array variable, its value is + used as a command to execute instead. PPRROOMMPPTT__DDIIRRTTRRIIMM If set to a number greater than zero, the value is used as the number of trailing directory components to retain when expanding @@ -3215,9 +3215,9 @@ RREEAADDLLIINNEE ber of possible completions generated by the ppoossssiibbllee--ccoommppllee-- ttiioonnss command. It may be set to any integer value greater than or equal to zero. If the number of possible completions is - greater than or equal to the value of this variable, the user is - asked whether or not he wishes to view them; otherwise they are - simply listed on the terminal. + greater than or equal to the value of this variable, readline + will ask whether or not the user wishes to view them; otherwise + they are simply listed on the terminal. ccoonnvveerrtt--mmeettaa ((OOnn)) If set to OOnn, readline will convert characters with the eighth bit set to an ASCII key sequence by stripping the eighth bit and @@ -5090,11 +5090,13 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 - variable. + The restore is effected as if a series of sseett commands were exe- + cuted to restore the values that were in place before the func- + tion. 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 variable. llooggoouutt Exit a login shell. @@ -5314,110 +5316,111 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 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. + If no _n_a_m_e_s are supplied, the line read, without the ending de- + limiter but otherwise unmodified, is assigned to the variable + RREEPPLLYY. The exit status is zero, unless end-of-file is encoun- + tered, rreeaadd times out (in which case the status is greater than + 128), a variable assignment error (such as assigning to a read- + only variable) occurs, or an invalid file descriptor is supplied + 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 ar- - rays; the --AA option restricts the variables to associative ar- + 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 + _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 rree-- + 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 + 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 + 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 op- - tions 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 ig- + 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: @@ -5425,10 +5428,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 @@ -5442,8 +5445,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS HHIISSTTOORRYY. This option is on by default in inter- active shells. iiggnnoorreeeeooff - The effect is as if the shell command ``IG- - NOREEOF=10'' had been executed (see SShheellll VVaarrii-- + 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. @@ -5458,172 +5461,172 @@ SSHHEELLLL 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 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- + --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 + --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 + 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 + ---- 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 op- + 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- + 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 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 + 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 + 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 op- + 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 op- - tions, 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 as- - sociative array subscripts during arithmetic expression - evaluation, while executing builtins that can perform - variable assignments, and while executing builtins that + 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- + 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 + 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 ccoommppaatt3322 @@ -5632,117 +5635,117 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS ccoommppaatt4422 ccoommppaatt4433 ccoommppaatt4444 - These control aspects of the shell's compatibility mode + These control aspects of the shell's compatibility mode (see SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE below). ccoommpplleettee__ffuullllqquuoottee - If set, bbaasshh quotes all shell metacharacters in file- - names and directory names when performing completion. + 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 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 + 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 af- - ter 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 de- - scription of FFIIGGNNOORREE. This option is enabled by de- + 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 se- - quence is not taken into account, so bb will not collate - between AA and BB, and upper-case and lower-case ASCII + 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 @@ -5750,25 +5753,25 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS GNU error message format. hhiissttaappppeenndd - If set, the history list is appended to the file named + 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 @@ -5776,23 +5779,23 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 op- + 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. @@ -5803,43 +5806,43 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS 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 at- - tempt 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. pprrooggccoommpp @@ -5848,62 +5851,62 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS enabled by default. pprrooggccoommpp__aalliiaass - If set, and programmable completion is enabled, bbaasshh - treats a command name that doesn't have any completions - as a possible alias and attempts alias expansion. If it - has an alias, bbaasshh attempts programmable completion us- + If set, and programmable completion is enabled, bbaasshh + treats a command name that doesn't have any completions + as a possible alias and attempts alias expansion. If it + has an alias, bbaasshh attempts programmable completion us- ing the command word resulting from the expanded alias. pprroommppttvvaarrss If set, prompt strings undergo parameter expansion, com- - mand substitution, arithmetic expansion, and quote re- - moval after being expanded as described in PPRROOMMPPTTIINNGG + mand substitution, arithmetic expansion, and quote re- + moval after being expanded as described in PPRROOMMPPTTIINNGG above. This option is enabled by default. rreessttrriicctteedd__sshheellll - The shell sets this option if it is started in re- - stricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value - may not be changed. This is not reset when the startup - files are executed, allowing the startup files to dis- + 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 se- + 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 de- - pends 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. @@ -5920,134 +5923,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 re- + 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 + 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 + 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 + 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 re- - set. Trapped signals that are not being ignored are reset to + 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 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, + 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 [--HHSSaabbccddeeffiikkllmmnnppqqrrssttuuvvxxPPRRTT [_l_i_m_i_t]] - Provides control over the resources available to the shell and - to processes started by it, on systems that allow such control. + 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, re- - spectively. If _l_i_m_i_t is omitted, the current value of the soft + 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- + 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) @@ -6056,132 +6059,132 @@ 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 - --RR The maximum time a real-time process can run before + --RR The maximum time a real-time process can run before blocking, in microseconds --TT The maximum number of threads - If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the - new value of the specified resource. If no option is given, - then --ff is assumed. Values are in 1024-byte increments, except - for --tt, which is in seconds; --RR, which is in microseconds; --pp, - which is in units of 512-byte blocks; --PP, --TT, --bb, --kk, --nn, and - --uu, which are unscaled values; and, when in posix mode, --cc and - --ff, which are in 512-byte increments. The return status is 0 - unless an invalid option or argument is supplied, or an error + If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the + new value of the specified resource. If no option is given, + then --ff is assumed. Values are in 1024-byte increments, except + for --tt, which is in seconds; --RR, which is in microseconds; --pp, + which is in units of 512-byte blocks; --PP, --TT, --bb, --kk, --nn, and + --uu, which are unscaled values; and, when in posix mode, --cc and + --ff, which are in 512-byte increments. The return status is 0 + unless an invalid option or argument is supplied, or an error occurs while setting a new limit. uummaasskk [--pp] [--SS] [_m_o_d_e] The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with - 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, a function with that name, if any, 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, a function with that name, if any, 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] [--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 from + If the --nn option is supplied, wwaaiitt waits for a single job from the list of _i_ds or, if no _i_ds are supplied, any job, to complete - and returns its exit status. If none of the supplied arguments + and returns its exit status. If none of the supplied arguments is a child of the shell, or if no arguments are supplied and the - shell has no unwaited-for children, the exit status is 127. If - the --pp option is supplied, the process or job identifier of the - job for which the exit status is returned is assigned to the - variable _v_a_r_n_a_m_e named by the option argument. The variable - will be unset initially, before any assignment. This is useful - only when the --nn option is supplied. Supplying the --ff option, - when job control is enabled, forces wwaaiitt to wait for _i_d to ter- + shell has no unwaited-for children, the exit status is 127. If + the --pp option is supplied, the process or job identifier of the + job for which the exit status is returned is assigned to the + variable _v_a_r_n_a_m_e named by the option argument. The variable + will be unset initially, before any assignment. This is useful + only when the --nn option is supplied. Supplying the --ff option, + when job control is enabled, forces wwaaiitt to wait for _i_d to ter- minate before returning its status, instead of returning when it - changes status. If _i_d specifies a non-existent process or job, - the return status is 127. Otherwise, the return status is the + changes status. If _i_d specifies a non-existent process or job, + the return status is 127. Otherwise, the return status is the exit status of the last process or job waited for. SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE Bash-4.0 introduced the concept of a `shell compatibility level', spec- ified as a set of options to the shopt builtin ccoommppaatt3311, ccoommppaatt3322, ccoomm-- - ppaatt4400, ccoommppaatt4411, and so on). There is only one current compatibility + ppaatt4400, ccoommppaatt4411, and so on). There is only one current compatibility level -- each option is mutually exclusive. The compatibility level is - intended to allow users to select behavior from previous versions that - is incompatible with newer versions while they migrate scripts to use - current features and behavior. It's intended to be a temporary solu- + intended to allow users to select behavior from previous versions that + is incompatible with newer versions while they migrate scripts to use + current features and behavior. It's intended to be a temporary solu- tion. - This section does not mention behavior that is standard for a particu- - lar version (e.g., setting ccoommppaatt3322 means that quoting the rhs of the - regexp matching operator quotes special regexp characters in the word, + This section does not mention behavior that is standard for a particu- + lar version (e.g., setting ccoommppaatt3322 means that quoting the rhs of the + regexp matching operator quotes special regexp characters in the word, which is default behavior in bash-3.2 and above). - If a user enables, say, ccoommppaatt3322, it may affect the behavior of other - compatibility levels up to and including the current compatibility - level. The idea is that each compatibility level controls behavior - that changed in that version of bbaasshh, but that behavior may have been - present in earlier versions. For instance, the change to use locale- - based comparisons with the [[[[ command came in bash-4.1, and earlier + If a user enables, say, ccoommppaatt3322, it may affect the behavior of other + compatibility levels up to and including the current compatibility + level. The idea is that each compatibility level controls behavior + that changed in that version of bbaasshh, but that behavior may have been + present in earlier versions. For instance, the change to use locale- + based comparisons with the [[[[ command came in bash-4.1, and earlier versions used ASCII-based comparisons, so enabling ccoommppaatt3322 will enable - ASCII-based comparisons as well. That granularity may not be suffi- - cient for all uses, and as a result users should employ compatibility - levels carefully. Read the documentation for a particular feature to + ASCII-based comparisons as well. That granularity may not be suffi- + cient for all uses, and as a result users should employ compatibility + levels carefully. Read the documentation for a particular feature to find out the current behavior. - Bash-4.3 introduced a new shell variable: BBAASSHH__CCOOMMPPAATT. The value as- + Bash-4.3 introduced a new shell variable: BBAASSHH__CCOOMMPPAATT. The value as- signed to this variable (a decimal version number like 4.2, or an inte- - ger corresponding to the ccoommppaatt_N_N option, like 42) determines the com- + ger corresponding to the ccoommppaatt_N_N option, like 42) determines the com- patibility level. - Starting with bash-4.4, Bash has begun deprecating older compatibility - levels. Eventually, the options will be removed in favor of BBAASSHH__CCOOMM-- + Starting with bash-4.4, Bash has begun deprecating older compatibility + levels. Eventually, the options will be removed in favor of BBAASSHH__CCOOMM-- PPAATT. - Bash-5.0 is the final version for which there will be an individual - shopt option for the previous version. Users should use BBAASSHH__CCOOMMPPAATT on + Bash-5.0 is the final version for which there will be an individual + shopt option for the previous version. Users should use BBAASSHH__CCOOMMPPAATT on bash-5.0 and later versions. - The following table describes the behavior changes controlled by each + The following table describes the behavior changes controlled by each compatibility level setting. The ccoommppaatt_N_N tag is used as shorthand for setting the compatibility level to _N_N using one of the following mecha- - nisms. For versions prior to bash-5.0, the compatibility level may be - set using the corresponding ccoommppaatt_N_N shopt option. For bash-4.3 and - later versions, the BBAASSHH__CCOOMMPPAATT variable is preferred, and it is re- + nisms. For versions prior to bash-5.0, the compatibility level may be + set using the corresponding ccoommppaatt_N_N shopt option. For bash-4.3 and + later versions, the BBAASSHH__CCOOMMPPAATT variable is preferred, and it is re- quired for bash-5.1 and later versions. ccoommppaatt3311 @@ -6189,103 +6192,108 @@ SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE ator (=~) has no special effect ccoommppaatt3322 - +o interrupting a command list such as "a ; b ; c" causes - the execution of the next command in the list (in - bash-4.0 and later versions, the shell acts as if it re- - ceived the interrupt, so interrupting one command in a + +o interrupting a command list such as "a ; b ; c" causes + the execution of the next command in the list (in + bash-4.0 and later versions, the shell acts as if it re- + ceived the interrupt, so interrupting one command in a list aborts the execution of the entire list) ccoommppaatt4400 - +o the << and >> operators to the [[[[ command do not consider + +o the << and >> operators to the [[[[ command do not consider the current locale when comparing strings; they use ASCII ordering. Bash versions prior to bash-4.1 use ASCII col- - lation and _s_t_r_c_m_p(3); bash-4.1 and later use the current + lation and _s_t_r_c_m_p(3); bash-4.1 and later use the current locale's collation sequence and _s_t_r_c_o_l_l(3). ccoommppaatt4411 - +o in _p_o_s_i_x mode, ttiimmee may be followed by options and still + +o in _p_o_s_i_x mode, ttiimmee may be followed by options and still be recognized as a reserved word (this is POSIX interpre- tation 267) +o in _p_o_s_i_x mode, the parser requires that an even number of - single quotes occur in the _w_o_r_d portion of a double- - quoted parameter expansion and treats them specially, so - that characters within the single quotes are considered + single quotes occur in the _w_o_r_d portion of a double- + quoted parameter expansion and treats them specially, so + that characters within the single quotes are considered quoted (this is POSIX interpretation 221) ccoommppaatt4422 +o the replacement string in double-quoted pattern substitu- - tion does not undergo quote removal, as it does in ver- + tion does not undergo quote removal, as it does in ver- sions after bash-4.2 - +o in posix mode, single quotes are considered special when - expanding the _w_o_r_d portion of a double-quoted parameter - expansion and can be used to quote a closing brace or - other special character (this is part of POSIX interpre- - tation 221); in later versions, single quotes are not + +o in posix mode, single quotes are considered special when + expanding the _w_o_r_d portion of a double-quoted parameter + expansion and can be used to quote a closing brace or + other special character (this is part of POSIX interpre- + tation 221); in later versions, single quotes are not special within double-quoted word expansions ccoommppaatt4433 - +o the shell does not print a warning message if an attempt - is made to use a quoted compound assignment as an argu- - ment to declare (declare -a foo='(1 2)'). Later versions + +o the shell does not print a warning message if an attempt + is made to use a quoted compound assignment as an argu- + ment to declare (declare -a foo='(1 2)'). Later versions warn that this usage is deprecated - +o word expansion errors are considered non-fatal errors - that cause the current command to fail, even in posix - mode (the default behavior is to make them fatal errors + +o word expansion errors are considered non-fatal errors + that cause the current command to fail, even in posix + mode (the default behavior is to make them fatal errors that cause the shell to exit) - +o when executing a shell function, the loop state + +o when executing a shell function, the loop state (while/until/etc.) is not reset, so bbrreeaakk or ccoonnttiinnuuee in that function will break or continue loops in the calling - context. Bash-4.4 and later reset the loop state to pre- + context. Bash-4.4 and later reset the loop state to pre- vent this ccoommppaatt4444 - +o the shell sets up the values used by BBAASSHH__AARRGGVV and - BBAASSHH__AARRGGCC so they can expand to the shell's positional + +o the shell sets up the values used by BBAASSHH__AARRGGVV and + BBAASSHH__AARRGGCC so they can expand to the shell's positional parameters even if extended debugging mode is not enabled - +o a subshell inherits loops from its parent context, so - bbrreeaakk or ccoonnttiinnuuee will cause the subshell to exit. - Bash-5.0 and later reset the loop state to prevent the + +o a subshell inherits loops from its parent context, so + bbrreeaakk or ccoonnttiinnuuee will cause the subshell to exit. + Bash-5.0 and later reset the loop state to prevent the exit - +o variable assignments preceding builtins like eexxppoorrtt and + +o variable assignments preceding builtins like eexxppoorrtt and rreeaaddoonnllyy that set attributes continue to affect variables with the same name in the calling environment even if the shell is not in posix mode ccoommppaatt5500 - +o Bash-5.1 changed the way $$RRAANNDDOOMM is generated to intro- + +o Bash-5.1 changed the way $$RRAANNDDOOMM is generated to intro- duce slightly more randomness. If the shell compatibility - level is set to 50 or lower, it reverts to the method - from bash-5.0 and previous versions, so seeding the ran- - dom number generator by assigning a value to RRAANNDDOOMM will + level is set to 50 or lower, it reverts to the method + from bash-5.0 and previous versions, so seeding the ran- + dom number generator by assigning a value to RRAANNDDOOMM will produce the same sequence as in bash-5.0 + +o If the command hash table is empty, bash versions prior + to bash-5.1 printed an informational message to that ef- + fect, even when producing output that can be reused as + input. Bash-5.1 suppresses that message when the --ll op- + tion is supplied. RREESSTTRRIICCTTEEDD SSHHEELLLL If bbaasshh is started with the name rrbbaasshh, or the --rr option is supplied at - invocation, the shell becomes restricted. A restricted shell is used - to set up an environment more controlled than the standard shell. It - behaves identically to bbaasshh with the exception that the following are + invocation, the shell becomes restricted. A restricted shell is used + to set up an environment more controlled than the standard shell. It + behaves identically to bbaasshh with the exception that the following are disallowed or not performed: +o changing directories with ccdd - +o setting or unsetting the values of SSHHEELLLL, PPAATTHH, HHIISSTTFFIILLEE, EENNVV, + +o setting or unsetting the values of SSHHEELLLL, PPAATTHH, HHIISSTTFFIILLEE, EENNVV, or BBAASSHH__EENNVV +o specifying command names containing // - +o specifying a filename containing a // as an argument to the .. + +o specifying a filename containing a // as an argument to the .. builtin command - +o specifying a filename containing a slash as an argument to the + +o specifying a filename containing a slash as an argument to the hhiissttoorryy builtin command - +o specifying a filename containing a slash as an argument to the + +o specifying a filename containing a slash as an argument to the --pp option to the hhaasshh builtin command - +o importing function definitions from the shell environment at + +o importing function definitions from the shell environment at startup - +o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at + +o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at startup +o redirecting output using the >, >|, <>, >&, &>, and >> redirect- @@ -6294,10 +6302,10 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL +o using the eexxeecc builtin command to replace the shell with another command - +o adding or deleting builtin commands with the --ff and --dd options + +o adding or deleting builtin commands with the --ff and --dd options to the eennaabbllee builtin command - +o using the eennaabbllee builtin command to enable disabled shell + +o using the eennaabbllee builtin command to enable disabled shell builtins +o specifying the --pp option to the ccoommmmaanndd builtin command @@ -6307,14 +6315,14 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL These restrictions are enforced after any startup files are read. When a command that is found to be a shell script is executed (see CCOOMM-- - MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell + MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell spawned to execute the script. SSEEEE AALLSSOO _B_a_s_h _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, Brian Fox and Chet Ramey _T_h_e _G_n_u _R_e_a_d_l_i_n_e _L_i_b_r_a_r_y, Brian Fox and Chet Ramey _T_h_e _G_n_u _H_i_s_t_o_r_y _L_i_b_r_a_r_y, Brian Fox and Chet Ramey - _P_o_r_t_a_b_l_e _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e _(_P_O_S_I_X_) _P_a_r_t _2_: _S_h_e_l_l _a_n_d _U_t_i_l_i_- + _P_o_r_t_a_b_l_e _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e _(_P_O_S_I_X_) _P_a_r_t _2_: _S_h_e_l_l _a_n_d _U_t_i_l_i_- _t_i_e_s, IEEE -- http://pubs.opengroup.org/onlinepubs/9699919799/ http://tiswww.case.edu/~chet/bash/POSIX -- a description of posix mode @@ -6332,7 +6340,7 @@ FFIILLEESS _~_/_._b_a_s_h_r_c The individual per-interactive-shell startup file _~_/_._b_a_s_h___l_o_g_o_u_t - The individual login shell cleanup file, executed when a login + The individual login shell cleanup file, executed when a login shell exits _~_/_._i_n_p_u_t_r_c Individual _r_e_a_d_l_i_n_e initialization file @@ -6346,14 +6354,14 @@ AAUUTTHHOORRSS BBUUGG RREEPPOORRTTSS If you find a bug in bbaasshh,, you should report it. But first, you should - make sure that it really is a bug, and that it appears in the latest - version of bbaasshh. The latest version is always available from + make sure that it really is a bug, and that it appears in the latest + version of bbaasshh. The latest version is always available from _f_t_p_:_/_/_f_t_p_._g_n_u_._o_r_g_/_p_u_b_/_g_n_u_/_b_a_s_h_/. - Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g - command to submit a bug report. If you have a fix, you are encouraged - to mail that as well! Suggestions and `philosophical' bug reports may - be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup + Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g + command to submit a bug report. If you have a fix, you are encouraged + to mail that as well! Suggestions and `philosophical' bug reports may + be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup ggnnuu..bbaasshh..bbuugg. ALL bug reports should include: @@ -6364,7 +6372,7 @@ BBUUGG RREEPPOORRTTSS A description of the bug behaviour A short script or `recipe' which exercises the bug - _b_a_s_h_b_u_g inserts the first three items automatically into the template + _b_a_s_h_b_u_g inserts the first three items automatically into the template it provides for filing a bug report. Comments and bug reports concerning this manual page should be directed @@ -6381,10 +6389,10 @@ BBUUGGSS Shell builtin commands and functions are not stoppable/restartable. Compound commands and command sequences of the form `a ; b ; c' are not - handled gracefully when process suspension is attempted. When a - process is stopped, the shell immediately executes the next command in - the sequence. It suffices to place the sequence of commands between - parentheses to force it into a subshell, which may be stopped as a + handled gracefully when process suspension is attempted. When a + process is stopped, the shell immediately executes the next command in + the sequence. It suffices to place the sequence of commands between + parentheses to force it into a subshell, which may be stopped as a unit. Array variables may not (yet) be exported. @@ -6393,4 +6401,4 @@ BBUUGGSS -GNU Bash 5.1 2020 June 5 BASH(1) +GNU Bash 5.1 2020 August 25 BASH(1) diff --git a/doc/bash.1 b/doc/bash.1 index b7ff0d05c..0f4e37f99 100644 --- a/doc/bash.1 +++ b/doc/bash.1 @@ -5,12 +5,12 @@ .\" Case Western Reserve University .\" chet.ramey@case.edu .\" -.\" Last Change: Fri Jun 5 14:46:57 EDT 2020 +.\" Last Change: Tue Aug 25 09:58:55 EDT 2020 .\" .\" bash_builtins, strip all but Built-Ins section .if \n(zZ=1 .ig zZ .if \n(zY=1 .ig zY -.TH BASH 1 "2020 June 5" "GNU Bash 5.1" +.TH BASH 1 "2020 August 25" "GNU Bash 5.1" .\" .\" There's some problem with having a `@' .\" in a tagged paragraph with the BSD man macros. @@ -2037,7 +2037,8 @@ below. .B BASH_COMPAT The value is used to set the shell's compatibility level. See -\fBSHELL COMPATIBILITY MODE\fP +.SM +.B SHELL COMPATIBILITY MODE below for a description of the various compatibility levels and their effects. The value may be a decimal number (e.g., 4.2) or an integer (e.g., 42) @@ -2049,7 +2050,8 @@ compatibility levels, the shell prints an error message and sets the compatibility level to the default for the current version. The valid values correspond to the compatibility levels described below under -\fBSHELL COMPATIBILITY MODE\fP. +.SM +.BR BSHELL COMPATIBILITY MODE . For example, 4.2 and 42 are valid values that correspond to the \fBcompat42\fP \fBshopt\fP option and set the compatibility level to 42. @@ -2473,13 +2475,12 @@ had been executed. When the shell enters \fIposix mode\fP, it sets this variable if it was not already set. .TP -.B PROMPT_COMMANDS -If this array variable is set, +.B PROMPT_COMMAND +If this variable is set, and is an array, the value of each set element is executed as a command prior to issuing each primary prompt. -If this is not set, but -.B PROMPT_COMMAND -is set to a value, its value is used as a command to execute instead. +If this is set but not an array variable, +its value is used as a command to execute instead. .TP .B PROMPT_DIRTRIM If set to a number greater than zero, the value is used as the number of @@ -5793,11 +5794,11 @@ replaced with an ellipsis when displaying possible completions. This determines when the user is queried about viewing the number of possible completions generated by the \fBpossible\-completions\fP command. -It may be set to any integer value greater than or equal to -zero. If the number of possible completions is greater than -or equal to the value of this variable, the user is asked whether -or not he wishes to view them; otherwise they are simply listed -on the terminal. +It may be set to any integer value greater than or equal to zero. +If the number of possible completions is greater than +or equal to the value of this variable, +readline will ask whether or not the user wishes to view them; +otherwise they are simply listed on the terminal. .TP .B convert\-meta (On) If set to \fBOn\fP, readline will convert characters with the @@ -8960,6 +8961,8 @@ If \fIname\fP is \-, the set of shell options is made local to the function in which \fBlocal\fP is invoked: shell options changed using the \fBset\fP builtin inside the function are restored to their original values when the function returns. +The restore is effected as if a series of \fBset\fP commands were executed +to restore the values that were in place before the function. With no operands, .B local writes a list of local variables to the standard output. It is @@ -9337,7 +9340,9 @@ Read input from file descriptor \fIfd\fP. .PP If no .I names -are supplied, the line read is assigned to the variable +are supplied, the line read, +without the ending delimiter but otherwise unmodified, +is assigned to the variable .SM .BR REPLY . The exit status is zero, unless end-of-file is encountered, \fBread\fP @@ -11058,6 +11063,11 @@ so seeding the random number generator by assigning a value to .SM .B RANDOM will produce the same sequence as in bash-5.0 +.IP \(bu +If the command hash table is empty, bash versions prior to bash-5.1 +printed an informational message to that effect, even when producing +output that can be reused as input. Bash-5.1 suppresses that message +when the \fB\-l\fP option is supplied. .RE .PD .\" bash_builtins diff --git a/doc/bash.html b/doc/bash.html index 5389e90da..f3ca72958 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -3,7 +3,7 @@ -
BASH(1)2020 June 5BASH(1) +BASH(1)2020 August 25BASH(1)

Index @@ -2589,7 +2589,9 @@ below.
The value is used to set the shell's compatibility level. See -SHELL COMPATIBILITY MODE +SHELL COMPATIBILITY MODE + + below for a description of the various compatibility levels and their effects. The value may be a decimal number (e.g., 4.2) or an integer (e.g., 42) @@ -2601,7 +2603,9 @@ compatibility levels, the shell prints an error message and sets the compatibility level to the default for the current version. The valid values correspond to the compatibility levels described below under -SHELL COMPATIBILITY MODE. +BSHELLCOMPATIBILITYMODE. + + For example, 4.2 and 42 are valid values that correspond to the compat42 shopt option and set the compatibility level to 42. @@ -3125,16 +3129,14 @@ running, bash enables posix mode, as if the command had been executed. When the shell enters posix mode, it sets this variable if it was not already set. -
PROMPT_COMMANDS +
PROMPT_COMMAND
-If this array variable is set, +If this variable is set, and is an array, the value of each set element is executed as a command prior to issuing each primary prompt. -If this is not set, but -PROMPT_COMMAND - -is set to a value, its value is used as a command to execute instead. +If this is set but not an array variable, +its value is used as a command to execute instead.
PROMPT_DIRTRIM
@@ -7392,11 +7394,11 @@ replaced with an ellipsis when displaying possible completions. This determines when the user is queried about viewing the number of possible completions generated by the possible-completions command. -It may be set to any integer value greater than or equal to -zero. If the number of possible completions is greater than -or equal to the value of this variable, the user is asked whether -or not he wishes to view them; otherwise they are simply listed -on the terminal. +It may be set to any integer value greater than or equal to zero. +If the number of possible completions is greater than +or equal to the value of this variable, +readline will ask whether or not the user wishes to view them; +otherwise they are simply listed on the terminal.
convert-meta (On)
@@ -11307,6 +11309,8 @@ If name is -, the set of shell options is made local to the function in which local is invoked: shell options changed using the set builtin inside the function are restored to their original values when the function returns. +The restore is effected as if a series of set commands were executed +to restore the values that were in place before the function. With no operands, local @@ -11765,7 +11769,9 @@ Read input from file descriptor fd. If no names -are supplied, the line read is assigned to the variable +are supplied, the line read, +without the ending delimiter but otherwise unmodified, +is assigned to the variable REPLY. @@ -13944,6 +13950,11 @@ so seeding the random number generator by assigning a value to will produce the same sequence as in bash-5.0 +
*
+If the command hash table is empty, bash versions prior to bash-5.1 +printed an informational message to that effect, even when producing +output that can be reused as input. Bash-5.1 suppresses that message +when the -l option is supplied. @@ -14241,7 +14252,7 @@ There may be only one active coprocess at a time.
-
GNU Bash 5.12020 June 5BASH(1) +GNU Bash 5.12020 August 25BASH(1)

@@ -14348,6 +14359,6 @@ There may be only one active coprocess at a time.
This document was created by man2html from bash.1.
-Time: 10 June 2020 12:00:48 EDT +Time: 07 September 2020 09:52:27 EDT diff --git a/doc/bash.info b/doc/bash.info index f2058e37b..ea49e09d0 100644 --- a/doc/bash.info +++ b/doc/bash.info @@ -2,9 +2,9 @@ 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.1, 5 June 2020). +Bash shell (version 5.1, 25 August 2020). - This is Edition 5.1, last updated 5 June 2020, of 'The GNU Bash + This is Edition 5.1, last updated 25 August 2020, of 'The GNU Bash Reference Manual', for 'Bash', Version 5.1. 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.1, 5 June 2020). The Bash home page is +Bash shell (version 5.1, 25 August 2020). The Bash home page is . - This is Edition 5.1, last updated 5 June 2020, of 'The GNU Bash + This is Edition 5.1, last updated 25 August 2020, of 'The GNU Bash Reference Manual', for 'Bash', Version 5.1. Bash contains features that appear in other popular shells, and some @@ -2322,7 +2322,7 @@ file descriptor greater than 10 and assign it to {VARNAME}. If >&- or <&- is preceded by {VARNAME}, the value of VARNAME defines the file descriptor to close. If {VARNAME} is supplied, the redirection persists beyond the scope of the command, allowing the shell programmer to manage -the file descriptor himself. +the file descriptor's lifetime manually. In the following descriptions, if the file descriptor number is omitted, and the first character of the redirection operator is '<', the @@ -3202,12 +3202,12 @@ standard. Shift the positional parameters to the left by N. The positional parameters from N+1 ... '$#' are renamed to '$1' ... '$#'-N. - Parameters represented by the numbers '$#' to '$#'-N+1 are unset. - N must be a non-negative number less than or equal to '$#'. If N - is zero or greater than '$#', the positional parameters are not - changed. If N is not supplied, it is assumed to be 1. The return - status is zero unless N is greater than '$#' or less than zero, - non-zero otherwise. + 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 zero or greater than '$#', the positional parameters are + not changed. If N is not supplied, it is assumed to be 1. The + return status is zero unless N is greater than '$#' or less than + zero, non-zero otherwise. 'test' '[' @@ -3746,9 +3746,11 @@ standard. and its children. If NAME is '-', the set of shell options is made local to the function in which 'local' is invoked: shell options changed using the 'set' builtin inside the function are restored to - their original values when the function returns. The return status - is zero unless 'local' is used outside a function, an invalid NAME - is supplied, or NAME is a readonly variable. + their original values when the function returns. The restore is + effected as if a series of 'set' commands were executed to restore + the values that were in place before the function. The return + status is zero unless 'local' is used outside a function, an + invalid NAME is supplied, or NAME is a readonly variable. 'logout' logout [N] @@ -3866,13 +3868,7 @@ standard. line into words using the same rules the shell uses for expansion (described above in *note Word Splitting::). The backslash character '\' may be used to remove any special meaning for the - next character read and for line continuation. If no names are - supplied, the line read is assigned to the variable 'REPLY'. The - exit status is zero, unless end-of-file is encountered, 'read' - 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 supplied as the - argument to '-u'. + next character read and for line continuation. Options, if supplied, have the following meanings: @@ -3944,6 +3940,14 @@ standard. '-u FD' Read input from file descriptor FD. + If no NAMEs are supplied, the line read, without the ending + delimiter but otherwise unmodified, is assigned to the variable + 'REPLY'. The exit status is zero, unless end-of-file is + encountered, 'read' 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 + supplied as the argument to '-u'. + 'readarray' readarray [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD] [-C CALLBACK] [-c QUANTUM] [ARRAY] @@ -4746,11 +4750,6 @@ This builtin allows you to change additional shell optional behavior. If set, the 'echo' builtin expands backslash-escape sequences by default. - The return status when listing options is zero if all OPTNAMES are - enabled, non-zero otherwise. When setting or unsetting options, - the return status is zero unless an OPTNAME is not a valid shell - option. -  File: bash.info, Node: Special Builtins, Prev: Modifying Shell Behavior, Up: Shell Builtin Commands @@ -5423,11 +5422,11 @@ Variables::). The process ID of the shell's parent process. This variable is readonly. -'PROMPT_COMMANDS' - If this array variable is set, the value of each set element is - interpreted as a command to execute before printing the primary - prompt ('$PS1'). If this is not set, but 'PROMPT_COMMAND' is set - to a value, its value is used as a command to execute instead. +'PROMPT_COMMAND' + If this variable is set, and is an array, the value of each set + element is interpreted as a command to execute before printing the + primary prompt ('$PS1'). If this is set but not an array variable, + its value is used as a command to execute instead. 'PROMPT_DIRTRIM' If set to a number greater than zero, the value is used as the @@ -7032,6 +7031,10 @@ required for bash-5.1 and later versions. previous versions, so seeding the random number generator by assigning a value to 'RANDOM' will produce the same sequence as in bash-5.0 + * If the command hash table is empty, Bash versions prior to + bash-5.1 printed an informational message to that effect, even + when producing output that can be reused as input. Bash-5.1 + suppresses that message when the '-l' option is supplied.  File: bash.info, Node: Job Control, Next: Command Line Editing, Prev: Bash Features, Up: Top @@ -7698,11 +7701,11 @@ Variable Settings 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, Readline will ask the user whether or not he - wishes to view them; otherwise, they are simply listed. This - variable must be set to an integer value greater than or equal - to 0. A negative value means Readline should never ask. The - default limit is '100'. + than or equal to this value, Readline will ask whether or not + the user wishes to view them; otherwise, they are simply + listed. This variable must be set to an integer value greater + than or equal to 0. A negative value means Readline should + never ask. The default limit is '100'. 'convert-meta' If set to 'on', Readline will convert characters with the @@ -8229,8 +8232,8 @@ variable assignment, and conditional syntax. # rather than as meta-prefixed characters set output-meta on - # if there are more than 150 possible completions for - # a word, ask the user if he wants to see all of them + # if there are 150 or more possible completions for a word, + # ask whether or not the user wants to see all of them set completion-query-items 150 # For FTP @@ -8358,10 +8361,14 @@ File: bash.info, Node: Commands For History, Next: Commands For Text, Prev: C '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. + This command sets the region to the matched text and activates the + mark. '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. + This command sets the region to the matched text and activates the + mark. 'non-incremental-reverse-search-history (M-p)' Search backward starting at the current line and moving 'up' @@ -8469,6 +8476,11 @@ File: bash.info, Node: Commands For Text, Next: Commands For Killing, Prev: C was bound to 'self-insert' instead of executing any editing commands. + Bracketed paste sets the region (the characters between point and + the mark) to the inserted text. It uses the concept of an _active + mark_: when the mark is active, Readline redisplay uses the + terminal's standout mode to denote the region. + 'transpose-chars (C-t)' Drag the character before the cursor forward over the character at the cursor, moving the cursor forward as well. If the insertion @@ -8513,10 +8525,14 @@ File: bash.info, Node: Commands For Killing, Next: Numeric Arguments, Prev: C ------------------------- 'kill-line (C-k)' - Kill the text from point to the end of the line. + Kill the text from point to the end of the line. With a negative + numeric argument, kill backward from the cursor to the beginning of + the current line. 'backward-kill-line (C-x Rubout)' Kill backward from the cursor to the beginning of the current line. + With a negative numeric argument, kill forward from the cursor to + the end of the current line. 'unix-line-discard (C-u)' Kill backward from the cursor to the beginning of the current line. @@ -11284,17 +11300,17 @@ D.1 Index of Shell Builtin Commands (line 58) * let: Bash Builtins. (line 350) * local: Bash Builtins. (line 358) -* logout: Bash Builtins. (line 372) -* mapfile: Bash Builtins. (line 377) +* logout: Bash Builtins. (line 374) +* mapfile: Bash Builtins. (line 379) * popd: Directory Stack Builtins. (line 35) -* printf: Bash Builtins. (line 423) +* printf: Bash Builtins. (line 425) * pushd: Directory Stack Builtins. (line 53) * pwd: Bourne Shell Builtins. (line 207) -* read: Bash Builtins. (line 472) -* readarray: Bash Builtins. (line 566) +* read: Bash Builtins. (line 474) +* readarray: Bash Builtins. (line 570) * readonly: Bourne Shell Builtins. (line 217) * return: Bourne Shell Builtins. @@ -11303,7 +11319,7 @@ D.1 Index of Shell Builtin Commands * shift: Bourne Shell Builtins. (line 257) * shopt: The Shopt Builtin. (line 9) -* source: Bash Builtins. (line 575) +* source: Bash Builtins. (line 579) * suspend: Job Control Builtins. (line 113) * test: Bourne Shell Builtins. @@ -11312,12 +11328,12 @@ D.1 Index of Shell Builtin Commands (line 349) * trap: Bourne Shell Builtins. (line 355) -* type: Bash Builtins. (line 580) -* typeset: Bash Builtins. (line 612) -* ulimit: Bash Builtins. (line 618) +* type: Bash Builtins. (line 584) +* typeset: Bash Builtins. (line 616) +* ulimit: Bash Builtins. (line 622) * umask: Bourne Shell Builtins. (line 404) -* unalias: Bash Builtins. (line 721) +* unalias: Bash Builtins. (line 725) * unset: Bourne Shell Builtins. (line 422) * wait: Job Control Builtins. @@ -11551,7 +11567,7 @@ D.3 Parameter and Variable Index * PIPESTATUS: Bash Variables. (line 553) * POSIXLY_CORRECT: Bash Variables. (line 558) * PPID: Bash Variables. (line 568) -* PROMPT_COMMANDS: Bash Variables. (line 572) +* PROMPT_COMMAND: Bash Variables. (line 572) * PROMPT_DIRTRIM: Bash Variables. (line 578) * PS0: Bash Variables. (line 584) * PS1: Bourne Shell Variables. @@ -11612,16 +11628,16 @@ D.4 Function Index * backward-char (C-b): Commands For Moving. (line 15) * backward-delete-char (Rubout): Commands For Text. (line 17) * backward-kill-line (C-x Rubout): Commands For Killing. - (line 9) + (line 11) * backward-kill-word (M-): Commands For Killing. - (line 24) + (line 28) * backward-word (M-b): Commands For Moving. (line 22) * beginning-of-history (M-<): Commands For History. (line 20) * beginning-of-line (C-a): Commands For Moving. (line 6) * bracketed-paste-begin (): Commands For Text. (line 33) * call-last-kbd-macro (C-x e): Keyboard Macros. (line 13) -* capitalize-word (M-c): Commands For Text. (line 61) +* capitalize-word (M-c): Commands For Text. (line 66) * character-search (C-]): Miscellaneous Commands. (line 42) * character-search-backward (M-C-]): Miscellaneous Commands. @@ -11643,24 +11659,24 @@ D.4 Function Index * complete-variable (M-$): Commands For Completion. (line 64) * copy-backward-word (): Commands For Killing. - (line 65) + (line 69) * copy-forward-word (): Commands For Killing. - (line 70) + (line 74) * copy-region-as-kill (): Commands For Killing. - (line 61) + (line 65) * dabbrev-expand (): Commands For Completion. (line 95) * delete-char (C-d): Commands For Text. (line 12) * delete-char-or-list (): Commands For Completion. (line 43) * delete-horizontal-space (): Commands For Killing. - (line 53) + (line 57) * digit-argument (M-0, M-1, ... M--): Numeric Arguments. (line 6) * display-shell-version (C-x C-v): Miscellaneous Commands. (line 110) * do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands. (line 14) -* downcase-word (M-l): Commands For Text. (line 57) +* downcase-word (M-l): Commands For Text. (line 62) * dump-functions (): Miscellaneous Commands. (line 74) * dump-macros (): Miscellaneous Commands. @@ -11681,7 +11697,7 @@ D.4 Function Index * forward-backward-delete-char (): Commands For Text. (line 21) * forward-char (C-f): Commands For Moving. (line 12) * forward-search-history (C-s): Commands For History. - (line 31) + (line 33) * forward-word (M-f): Commands For Moving. (line 18) * glob-complete-word (M-g): Miscellaneous Commands. (line 92) @@ -11694,13 +11710,13 @@ D.4 Function Index * history-expand-line (M-^): Miscellaneous Commands. (line 118) * history-search-backward (): Commands For History. - (line 53) + (line 57) * history-search-forward (): Commands For History. - (line 47) + (line 51) * history-substring-search-backward (): Commands For History. - (line 65) + (line 69) * history-substring-search-forward (): Commands For History. - (line 59) + (line 63) * insert-comment (M-#): Miscellaneous Commands. (line 61) * insert-completions (M-*): Commands For Completion. @@ -11710,11 +11726,11 @@ D.4 Function Index * kill-line (C-k): Commands For Killing. (line 6) * kill-region (): Commands For Killing. - (line 57) + (line 61) * kill-whole-line (): Commands For Killing. - (line 15) -* kill-word (M-d): Commands For Killing. (line 19) +* kill-word (M-d): Commands For Killing. + (line 23) * magic-space (): Miscellaneous Commands. (line 121) * menu-complete (): Commands For Completion. @@ -11725,12 +11741,12 @@ D.4 Function Index (line 17) * next-screen-line (): Commands For Moving. (line 41) * non-incremental-forward-search-history (M-n): Commands For History. - (line 41) + (line 45) * non-incremental-reverse-search-history (M-p): Commands For History. - (line 35) + (line 39) * operate-and-get-next (C-o): Commands For History. - (line 92) -* overwrite-mode (): Commands For Text. (line 65) + (line 96) +* overwrite-mode (): Commands For Text. (line 70) * possible-command-completions (C-x !): Commands For Completion. (line 86) * possible-completions (M-?): Commands For Completion. @@ -11761,40 +11777,40 @@ D.4 Function Index * set-mark (C-@): Miscellaneous Commands. (line 33) * shell-backward-kill-word (): Commands For Killing. - (line 33) + (line 37) * shell-backward-word (M-C-b): Commands For Moving. (line 30) * shell-expand-line (M-C-e): Miscellaneous Commands. (line 113) * shell-forward-word (M-C-f): Commands For Moving. (line 26) * shell-kill-word (M-C-d): Commands For Killing. - (line 28) + (line 32) * shell-transpose-words (M-C-t): Commands For Killing. - (line 37) + (line 41) * skip-csi-sequence (): Miscellaneous Commands. (line 52) * start-kbd-macro (C-x (): Keyboard Macros. (line 6) * tilde-expand (M-&): Miscellaneous Commands. (line 30) -* transpose-chars (C-t): Commands For Text. (line 42) -* transpose-words (M-t): Commands For Text. (line 48) +* transpose-chars (C-t): Commands For Text. (line 47) +* transpose-words (M-t): Commands For Text. (line 53) * undo (C-_ or C-x C-u): Miscellaneous Commands. (line 23) * universal-argument (): Numeric Arguments. (line 10) * unix-filename-rubout (): Commands For Killing. - (line 48) + (line 52) * unix-line-discard (C-u): Commands For Killing. - (line 12) + (line 16) * unix-word-rubout (C-w): Commands For Killing. - (line 44) -* upcase-word (M-u): Commands For Text. (line 53) + (line 48) +* upcase-word (M-u): Commands For Text. (line 58) * yank (C-y): Commands For Killing. - (line 75) + (line 79) * yank-last-arg (M-. or M-_): Commands For History. - (line 80) + (line 84) * yank-nth-arg (M-C-y): Commands For History. - (line 71) + (line 75) * yank-pop (M-y): Commands For Killing. - (line 78) + (line 82)  File: bash.info, Node: Concept Index, Prev: Function Index, Up: Indexes @@ -11963,66 +11979,66 @@ 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: Comments18977 -Node: Shell Commands19595 -Node: Reserved Words20533 -Node: Simple Commands21289 -Node: Pipelines21943 -Node: Lists24875 -Node: Compound Commands26666 -Node: Looping Constructs27678 -Node: Conditional Constructs30173 -Node: Command Grouping41744 -Node: Coprocesses43223 -Node: GNU Parallel45126 -Node: Shell Functions49427 -Node: Shell Parameters56634 -Node: Positional Parameters61047 -Node: Special Parameters61947 -Node: Shell Expansions65171 -Node: Brace Expansion67294 -Node: Tilde Expansion70017 -Node: Shell Parameter Expansion72634 -Node: Command Substitution87763 -Node: Arithmetic Expansion89118 -Node: Process Substitution90050 -Node: Word Splitting91170 -Node: Filename Expansion93114 -Node: Pattern Matching95663 -Node: Quote Removal99649 -Node: Redirections99944 -Node: Executing Commands109502 -Node: Simple Command Expansion110172 -Node: Command Search and Execution112126 -Node: Command Execution Environment114502 -Node: Environment117486 -Node: Exit Status119145 -Node: Signals120815 -Node: Shell Scripts122782 -Node: Shell Builtin Commands125794 -Node: Bourne Shell Builtins127832 -Node: Bash Builtins148756 -Node: Modifying Shell Behavior178486 -Node: The Set Builtin178831 -Node: The Shopt Builtin189244 -Node: Special Builtins204380 -Node: Shell Variables205359 -Node: Bourne Shell Variables205796 -Node: Bash Variables207900 +Node: Top893 +Node: Introduction2809 +Node: What is Bash?3025 +Node: What is a shell?4139 +Node: Definitions6677 +Node: Basic Shell Features9628 +Node: Shell Syntax10847 +Node: Shell Operation11873 +Node: Quoting13166 +Node: Escape Character14466 +Node: Single Quotes14951 +Node: Double Quotes15299 +Node: ANSI-C Quoting16577 +Node: Locale Translation17836 +Node: Comments18989 +Node: Shell Commands19607 +Node: Reserved Words20545 +Node: Simple Commands21301 +Node: Pipelines21955 +Node: Lists24887 +Node: Compound Commands26678 +Node: Looping Constructs27690 +Node: Conditional Constructs30185 +Node: Command Grouping41756 +Node: Coprocesses43235 +Node: GNU Parallel45138 +Node: Shell Functions49439 +Node: Shell Parameters56646 +Node: Positional Parameters61059 +Node: Special Parameters61959 +Node: Shell Expansions65183 +Node: Brace Expansion67306 +Node: Tilde Expansion70029 +Node: Shell Parameter Expansion72646 +Node: Command Substitution87775 +Node: Arithmetic Expansion89130 +Node: Process Substitution90062 +Node: Word Splitting91182 +Node: Filename Expansion93126 +Node: Pattern Matching95675 +Node: Quote Removal99661 +Node: Redirections99956 +Node: Executing Commands109526 +Node: Simple Command Expansion110196 +Node: Command Search and Execution112150 +Node: Command Execution Environment114526 +Node: Environment117510 +Node: Exit Status119169 +Node: Signals120839 +Node: Shell Scripts122806 +Node: Shell Builtin Commands125818 +Node: Bourne Shell Builtins127856 +Node: Bash Builtins148785 +Node: Modifying Shell Behavior178720 +Node: The Set Builtin179065 +Node: The Shopt Builtin189478 +Node: Special Builtins204388 +Node: Shell Variables205367 +Node: Bourne Shell Variables205804 +Node: Bash Variables207908 Node: Bash Features240478 Node: Invoking Bash241491 Node: Bash Startup Files247504 @@ -12040,60 +12056,60 @@ Node: Controlling the Prompt277893 Node: The Restricted Shell280843 Node: Bash POSIX Mode283437 Node: Shell Compatibility Mode294473 -Node: Job Control300848 -Node: Job Control Basics301308 -Node: Job Control Builtins306304 -Node: Job Control Variables311704 -Node: Command Line Editing312860 -Node: Introduction and Notation314531 -Node: Readline Interaction316154 -Node: Readline Bare Essentials317345 -Node: Readline Movement Commands319128 -Node: Readline Killing Commands320088 -Node: Readline Arguments322006 -Node: Searching323050 -Node: Readline Init File325236 -Node: Readline Init File Syntax326495 -Node: Conditional Init Constructs347025 -Node: Sample Init File351221 -Node: Bindable Readline Commands354338 -Node: Commands For Moving355542 -Node: Commands For History357593 -Node: Commands For Text362220 -Node: Commands For Killing365608 -Node: Numeric Arguments368423 -Node: Commands For Completion369562 -Node: Keyboard Macros373753 -Node: Miscellaneous Commands374440 -Node: Readline vi Mode380124 -Node: Programmable Completion381031 -Node: Programmable Completion Builtins388811 -Node: A Programmable Completion Example399506 -Node: Using History Interactively404753 -Node: Bash History Facilities405437 -Node: Bash History Builtins408442 -Node: History Interaction413171 -Node: Event Designators416791 -Node: Word Designators418145 -Node: Modifiers419905 -Node: Installing Bash421716 -Node: Basic Installation422853 -Node: Compilers and Options426111 -Node: Compiling For Multiple Architectures426852 -Node: Installation Names428545 -Node: Specifying the System Type429363 -Node: Sharing Defaults430079 -Node: Operation Controls430752 -Node: Optional Features431710 -Node: Reporting Bugs442228 -Node: Major Differences From The Bourne Shell443422 -Node: GNU Free Documentation License460274 -Node: Indexes485451 -Node: Builtin Index485905 -Node: Reserved Word Index492732 -Node: Variable Index495180 -Node: Function Index511077 -Node: Concept Index524587 +Node: Job Control301129 +Node: Job Control Basics301589 +Node: Job Control Builtins306585 +Node: Job Control Variables311985 +Node: Command Line Editing313141 +Node: Introduction and Notation314812 +Node: Readline Interaction316435 +Node: Readline Bare Essentials317626 +Node: Readline Movement Commands319409 +Node: Readline Killing Commands320369 +Node: Readline Arguments322287 +Node: Searching323331 +Node: Readline Init File325517 +Node: Readline Init File Syntax326776 +Node: Conditional Init Constructs347315 +Node: Sample Init File351511 +Node: Bindable Readline Commands354635 +Node: Commands For Moving355839 +Node: Commands For History357890 +Node: Commands For Text362683 +Node: Commands For Killing366332 +Node: Numeric Arguments369365 +Node: Commands For Completion370504 +Node: Keyboard Macros374695 +Node: Miscellaneous Commands375382 +Node: Readline vi Mode381066 +Node: Programmable Completion381973 +Node: Programmable Completion Builtins389753 +Node: A Programmable Completion Example400448 +Node: Using History Interactively405695 +Node: Bash History Facilities406379 +Node: Bash History Builtins409384 +Node: History Interaction414113 +Node: Event Designators417733 +Node: Word Designators419087 +Node: Modifiers420847 +Node: Installing Bash422658 +Node: Basic Installation423795 +Node: Compilers and Options427053 +Node: Compiling For Multiple Architectures427794 +Node: Installation Names429487 +Node: Specifying the System Type430305 +Node: Sharing Defaults431021 +Node: Operation Controls431694 +Node: Optional Features432652 +Node: Reporting Bugs443170 +Node: Major Differences From The Bourne Shell444364 +Node: GNU Free Documentation License461216 +Node: Indexes486393 +Node: Builtin Index486847 +Node: Reserved Word Index493674 +Node: Variable Index496122 +Node: Function Index512019 +Node: Concept Index525529  End Tag Table diff --git a/doc/bash.pdf b/doc/bash.pdf index 4ccd1114b..e67e6ccf6 100644 Binary files a/doc/bash.pdf and b/doc/bash.pdf differ diff --git a/doc/bash.ps b/doc/bash.ps index e92ecfb4d..7c748f0bf 100644 --- a/doc/bash.ps +++ b/doc/bash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.22.4 -%%CreationDate: Wed Jun 10 12:00:37 2020 +%%CreationDate: Mon Sep 7 09:52:15 2020 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -340,7 +340,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E (~/.bashr)3.598 E(c)-.37 E F0 1.598(if the)4.408 F(shell is interacti) 144 710.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E (TION)-.855 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(1)204.835 E 0 Cg EP +(2020 August 25)142.895 E(1)197.055 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP @@ -463,8 +463,8 @@ F2(~/.bashr)108 691.2 Q(c)-.37 E F0 2.535(,i)C 2.535(ft)-2.535 G .035 Q F1(bash)5.306 E F0 2.806(is started non-interacti)5.306 F -.15(ve)-.25 G(ly).15 E 5.306(,t)-.65 G 5.306(or)-5.306 G 2.806 (un a shell script, for e)-5.306 F 2.805(xample, it looks for the v)-.15 -F(ariable)-.25 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(2)204.835 E -0 Cg EP +F(ariable)-.25 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(2) +197.055 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP @@ -598,8 +598,8 @@ F .388(wed by)-.25 F F2(blank)2.888 E F0 .388(-separated w)B .388 (ords and)-.1 F .815(redirections, and terminated by a)108 722.4 R F4 (contr)3.315 E .815(ol oper)-.45 F(ator)-.15 E F0 5.815(.T)C .815 (he \214rst w)-5.815 F .816(ord speci\214es the command to be e)-.1 F --.15(xe)-.15 G(cuted,).15 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E -(3)204.835 E 0 Cg EP +-.15(xe)-.15 G(cuted,).15 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 +E(3)197.055 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP @@ -719,8 +719,8 @@ G(cuted if, and only if,).15 E F1(command1)2.7 E F0(returns an e)2.5 E (returns a non-zero e)2.935 F .435(xit status.)-.15 F .435 (The return status of AND)5.435 F(and OR lists is the e)108 722.4 Q (xit status of the last command e)-.15 E -.15(xe)-.15 G -(cuted in the list.).15 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(4) -204.835 E 0 Cg EP +(cuted in the list.).15 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E +(4)197.055 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP @@ -853,7 +853,8 @@ E F0 1.13(indices. The element of)3.38 F F3 -.27(BA)3.63 G(SH_REMA).27 E F0(th parenthesized sube)A(xpression.)-.15 E .785 (Expressions may be combined using the follo)144 697.2 R .786 (wing operators, listed in decreasing order of prece-)-.25 F(dence:)144 -709.2 Q(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(5)204.835 E 0 Cg EP +709.2 Q(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(5)197.055 E 0 Cg +EP %%Page: 6 6 %%BeginPageSetup BP @@ -1005,8 +1006,8 @@ F1(elif)2.978 E F2(list)2.978 E F0 1.088(is e)144 712.8 R -.15(xe)-.15 G 1.239(command completes.)144 724.8 R 1.239(Otherwise, the)6.239 F F1 (else)3.739 E F2(list)3.739 E F0 1.239(is e)3.739 F -.15(xe)-.15 G 1.239 (cuted, if present.).15 F 1.24(The e)6.239 F 1.24(xit status is the e) --.15 F(xit)-.15 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(6)204.835 -E 0 Cg EP +-.15 F(xit)-.15 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(6) +197.055 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP @@ -1145,7 +1146,7 @@ F(ord)-.1 E .604 1.337(option enabled does not allo)3.837 F 3.837(wc)-.25 G 3.836 (omments. The)-3.837 F F1(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E F0 1.336(option is on by def)3.836 F 1.336(ault in)-.1 F(GNU Bash 5.1)72 -768 Q(2020 June 5)150.675 E(7)204.835 E 0 Cg EP +768 Q(2020 August 25)142.895 E(7)197.055 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP @@ -1248,7 +1249,7 @@ Q F4(\\)144 607.2 Q F2(nnn)A F0(the eight-bit character whose v)180 (igits\))-2.5 E F4(\\c)144 703.2 Q F2(x)A F0 2.5(ac)180 703.2 S(ontrol-) -2.5 E F2(x)A F0(character)2.5 E(The e)108 720 Q(xpanded result is sing\ le-quoted, as if the dollar sign had not been present.)-.15 E -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(8)204.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(8)197.055 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP @@ -1397,8 +1398,8 @@ F0 5.144(.I)C 2.644(ft)-5.144 G .144(he control v)-2.644 F .144 -.15(xe)-.15 G(-).15 E .443(cuted with the name of a nameref v)108 693.6 R .442(ariable as an ar)-.25 F .442(gument, the v)-.18 F .442 (ariable referenced by the nameref v)-.25 F(ariable)-.25 E -(will be unset.)108 705.6 Q(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E -(9)204.835 E 0 Cg EP +(will be unset.)108 705.6 Q(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 +E(9)197.055 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP @@ -1528,8 +1529,8 @@ F1(shopt)2.616 E F0 -.2(bu)2.616 G .116(iltin command \(see).2 F F3 .116 (vironment)-.4 E(when)144 703.2 Q F1(bash)3.141 E F0 .642(starts up, ea\ ch shell option in the list will be enabled before reading an)3.141 F 3.142(ys)-.15 G .642(tartup \214les.)-3.142 F(This v)144 715.2 Q -(ariable is read-only)-.25 E(.)-.65 E(GNU Bash 5.1)72 768 Q(2020 June 5) -150.675 E(10)199.835 E 0 Cg EP +(ariable is read-only)-.25 E(.)-.65 E(GNU Bash 5.1)72 768 Q +(2020 August 25)142.895 E(10)192.055 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP @@ -1652,7 +1653,7 @@ E F0 .005(binary operator to the)2.506 F F1([[)2.505 E F0 .005 -.15 F(xpression.)-.15 E 4.331(The element with inde)144 720 R(x)-.15 E F4(n)6.831 E F0 4.331(is the portion of the string matching the)6.831 F F4(n)6.83 E F0 4.33(th parenthesized)B(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(11)199.835 E 0 Cg EP +(2020 August 25)142.895 E(11)192.055 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP @@ -1765,7 +1766,7 @@ F0(belo)2.5 E(w\).)-.25 E F1(COPR)108 702 Q(OC)-.3 E F0 .168(An array v) (w\) created to hold the \214le descriptors for output from and input) -.25 F(to an unnamed coprocess \(see)144 726 Q F1(Copr)2.5 E(ocesses) -.18 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(12)199.835 E 0 Cg EP +(2020 August 25)142.895 E(12)192.055 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP @@ -1874,7 +1875,7 @@ F -.15(xe)-.15 G .899(cuting, in).15 F(the standard GNU)144 678 Q F3 (belo)2.794 E .294(w\) created to hold the te)-.25 F .293 (xt read by the)-.15 F F1(map\214le)2.793 E F0 -.2(bu)2.793 G .293 (iltin when no).2 F -.25(va)144 714 S(riable name is supplied.).25 E -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(13)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(13)192.055 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP @@ -1979,8 +1980,8 @@ F0(Expands to the user ID of the current user)144 708 Q 2.5(,i)-.4 G E(.)-.65 E .993(The follo)108 724.8 R .993(wing v)-.25 F .994 (ariables are used by the shell.)-.25 F .994(In some cases,)5.994 F F1 (bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .994 -(alue to a v)-.25 F(ariable;)-.25 E(GNU Bash 5.1)72 768 Q(2020 June 5) -150.675 E(14)199.835 E 0 Cg EP +(alue to a v)-.25 F(ariable;)-.25 E(GNU Bash 5.1)72 768 Q +(2020 August 25)142.895 E(14)192.055 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP @@ -1988,19 +1989,20 @@ BP /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 (these cases are noted belo)108 84 Q -.65(w.)-.25 G/F1 10/Times-Bold@0 -SF -.3(BA)108 100.8 S(SH_COMP).3 E -.95(AT)-.74 G F0 .534(The v)144 -112.8 R .534(alue is used to set the shell')-.25 F 3.034(sc)-.55 G .534 -(ompatibility le)-3.034 F -.15(ve)-.25 G 3.034(l. See).15 F F1 .533 -(SHELL COMP)3.034 F -.95(AT)-.74 G .533(IBILITY MODE).95 F F0(belo)144 -124.8 Q 3.314(wf)-.25 G .814(or a description of the v)-3.314 F .814 -(arious compatibility le)-.25 F -.15(ve)-.25 G .814(ls and their ef).15 -F 3.315(fects. The)-.25 F -.25(va)3.315 G .815(lue may be a).25 F .195 -(decimal number \(e.g., 4.2\) or an inte)144 136.8 R .195 +SF -.3(BA)108 100.8 S(SH_COMP).3 E -.95(AT)-.74 G F0 .503(The v)144 +112.8 R .502(alue is used to set the shell')-.25 F 3.002(sc)-.55 G .502 +(ompatibility le)-3.002 F -.15(ve)-.25 G 3.002(l. See).15 F/F2 9 +/Times-Bold@0 SF .502(SHELL COMP)3.002 F -.855(AT)-.666 G .502 +(IBILITY MODE).855 F F0(be-)2.752 E(lo)144 124.8 Q 2.662(wf)-.25 G .162 +(or a description of the v)-2.662 F .162(arious compatibility le)-.25 F +-.15(ve)-.25 G .162(ls and their ef).15 F 2.663(fects. The)-.25 F -.25 +(va)2.663 G .163(lue may be a dec-).25 F .33 +(imal number \(e.g., 4.2\) or an inte)144 136.8 R .33 (ger \(e.g., 42\) corresponding to the desired compatibility le)-.15 F --.15(ve)-.25 G(l.).15 E(If)144 148.8 Q F1 -.3(BA)2.771 G(SH_COMP).3 E --.95(AT)-.74 G F0 .271 -(is unset or set to the empty string, the compatibility le)3.721 F -.15 -(ve)-.25 G 2.771(li).15 G 2.771(ss)-2.771 G .272(et to the def)-2.771 F +-.15(ve)-.25 G 2.83(l. If).15 F F1 -.3(BA)144 148.8 S(SH_COMP).3 E -.95 +(AT)-.74 G F0 .86 +(is unset or set to the empty string, the compatibility le)4.31 F -.15 +(ve)-.25 G 3.361(li).15 G 3.361(ss)-3.361 G .861(et to the def)-3.361 F (ault)-.1 E .39(for the current v)144 160.8 R 2.89(ersion. If)-.15 F F1 -.3(BA)2.89 G(SH_COMP).3 E -.95(AT)-.74 G F0 .39(is set to a v)3.84 F .39(alue that is not one of the v)-.25 F .39(alid compati-)-.25 F .277 @@ -2010,36 +2012,37 @@ F -.15(ve)-.25 G 2.778(lt).15 G 2.778(ot)-2.778 G .278(he def)-2.778 F .278(ault for the)-.1 F 1.401(current v)144 184.8 R 3.901(ersion. The) -.15 F -.25(va)3.901 G 1.401(lid v).25 F 1.401 (alues correspond to the compatibility le)-.25 F -.15(ve)-.25 G 1.401 -(ls described belo).15 F 3.9(wu)-.25 G(nder)-3.9 E F1 .077(SHELL COMP) -144 196.8 R -.95(AT)-.74 G .077(IBILITY MODE).95 F F0 5.077(.F)C .077 -(or e)-5.227 F .078(xample, 4.2 and 42 are v)-.15 F .078(alid v)-.25 F -.078(alues that correspond to)-.25 F(the)144 208.8 Q F1 1.245 -(compat42 shopt)3.745 F F0 1.245(option and set the compatibility le) -3.745 F -.15(ve)-.25 G 3.744(lt).15 G 3.744(o4)-3.744 G 3.744(2. The) --3.744 F 1.244(current v)3.744 F 1.244(ersion is also a)-.15 F -.25(va) -144 220.8 S(lid v).25 E(alue.)-.25 E F1 -.3(BA)108 232.8 S(SH_ENV).3 E -F0 .505(If this parameter is set when)144 244.8 R F1(bash)3.005 E F0 -.505(is e)3.005 F -.15(xe)-.15 G .506(cuting a shell script, its v).15 F -.506(alue is interpreted as a \214lename)-.25 F .391 -(containing commands to initialize the shell, as in)144 256.8 R/F2 10 +(ls described belo).15 F 3.9(wu)-.25 G(nder)-3.9 E F2(BSHELL)144 196.8 Q +/F3 9/Times-Roman@0 SF(COMP)A -.999(AT)-.828 G(IBILITY).999 E F2(MODE)A +F3(.)A F0 -.15(Fo)4.997 G 2.997(re).15 G .497(xample, 4.2 and 42 are v) +-3.147 F .497(alid v)-.25 F .498(alues that correspond to the)-.25 F F1 +.774(compat42 shopt)144 208.8 R F0 .774 +(option and set the compatibility le)3.274 F -.15(ve)-.25 G 3.274(lt).15 +G 3.274(o4)-3.274 G 3.274(2. The)-3.274 F .774(current v)3.274 F .773 +(ersion is also a v)-.15 F(alid)-.25 E -.25(va)144 220.8 S(lue.).25 E F1 +-.3(BA)108 232.8 S(SH_ENV).3 E F0 .505(If this parameter is set when)144 +244.8 R F1(bash)3.005 E F0 .505(is e)3.005 F -.15(xe)-.15 G .506 +(cuting a shell script, its v).15 F .506 +(alue is interpreted as a \214lename)-.25 F .391 +(containing commands to initialize the shell, as in)144 256.8 R/F4 10 /Times-Italic@0 SF(~/.bashr)2.39 E(c)-.37 E F0 5.39(.T).31 G .39(he v) --5.39 F .39(alue of)-.25 F/F3 9/Times-Bold@0 SF -.27(BA)2.89 G(SH_ENV) -.27 E F0 .39(is subjected)2.64 F .525(to parameter e)144 268.8 R .525 +-5.39 F .39(alue of)-.25 F F2 -.27(BA)2.89 G(SH_ENV).27 E F0 .39 +(is subjected)2.64 F .525(to parameter e)144 268.8 R .525 (xpansion, command substitution, and arithmetic e)-.15 F .525 (xpansion before being interpreted)-.15 F(as a \214lename.)144 280.8 Q -F3 -.666(PA)5 G(TH)-.189 E F0 +F2 -.666(PA)5 G(TH)-.189 E F0 (is not used to search for the resultant \214lename.)2.25 E F1 -.3(BA) 108 292.8 S(SH_XTRA).3 E(CEFD)-.55 E F0 .481(If set to an inte)144 304.8 R .481(ger corresponding to a v)-.15 F .481(alid \214le descriptor)-.25 F(,)-.4 E F1(bash)2.98 E F0 .48(will write the trace output gener)2.98 F -(-)-.2 E 3.114(ated when)144 316.8 R/F4 10/Courier@0 SF 3.114(set -x) +(-)-.2 E 3.114(ated when)144 316.8 R/F5 10/Courier@0 SF 3.114(set -x) 5.614 F F0 3.114(is enabled to that \214le descriptor)5.614 F 8.114(.T) --.55 G 3.114(he \214le descriptor is closed when)-8.114 F F3 -.27(BA)144 +-.55 G 3.114(he \214le descriptor is closed when)-8.114 F F2 -.27(BA)144 328.8 S(SH_XTRA).27 E(CEFD)-.495 E F0 .138(is unset or assigned a ne) -2.388 F 2.638(wv)-.25 G 2.638(alue. Unsetting)-2.888 F F3 -.27(BA)2.638 +2.388 F 2.638(wv)-.25 G 2.638(alue. Unsetting)-2.888 F F2 -.27(BA)2.638 G(SH_XTRA).27 E(CEFD)-.495 E F0 .138(or assigning it)2.388 F 2.531(the \ empty string causes the trace output to be sent to the standard error) -144 340.8 R 7.531(.N)-.55 G 2.531(ote that setting)-7.531 F F3 -.27(BA) +144 340.8 R 7.531(.N)-.55 G 2.531(ote that setting)-7.531 F F2 -.27(BA) 144 352.8 S(SH_XTRA).27 E(CEFD)-.495 E F0 .74(to 2 \(the standard error\ \214le descriptor\) and then unsetting it will result in the)2.991 F (standard error being closed.)144 364.8 Q F1(CDP)108 376.8 Q -.95(AT) @@ -2048,7 +2051,7 @@ E F0 3.747(command. This)3.747 F 1.248 (is a colon-separated list of directories in which the)3.747 F 3.796 (shell looks for destination directories speci\214ed by the)144 400.8 R F1(cd)6.295 E F0 6.295(command. A)6.295 F 3.795(sample v)6.295 F 3.795 -(alue is)-.25 F F4(".:~:/usr")144 412.8 Q F0(.)A F1(CHILD_MAX)108 424.8 +(alue is)-.25 F F5(".:~:/usr")144 412.8 Q F0(.)A F1(CHILD_MAX)108 424.8 Q F0 .997(Set the number of e)144 436.8 R .997(xited child status v)-.15 F .997(alues for the shell to remember)-.25 F 5.997(.B)-.55 G .997 (ash will not allo)-5.997 F 3.498(wt)-.25 G(his)-3.498 E -.25(va)144 @@ -2061,23 +2064,23 @@ F0 .829(compound command to determine the terminal width when printing \ selection)3.328 F 3.466(lists. Automatically)144 496.8 R .966 (set if the)3.466 F F1(checkwinsize)3.466 E F0 .966 (option is enabled or in an interacti)3.466 F 1.266 -.15(ve s)-.25 H -.966(hell upon re-).15 F(ceipt of a)144 508.8 Q F3(SIGWINCH)2.5 E/F5 9 -/Times-Roman@0 SF(.)A F1(COMPREPL)108 520.8 Q(Y)-.92 E F0 .847 -(An array v)144 532.8 R .848(ariable from which)-.25 F F1(bash)3.348 E -F0 .848(reads the possible completions generated by a shell function) -3.348 F(in)144 544.8 Q -.2(vo)-.4 G -.1(ke).2 G 2.785(db).1 G 2.785(yt) --2.785 G .285(he programmable completion f)-2.785 F .285(acility \(see) --.1 F F1(Pr)2.785 E .285(ogrammable Completion)-.18 F F0(belo)2.785 E -2.785(w\). Each)-.25 F(array element contains one possible completion.) -144 556.8 Q F1(EMA)108 568.8 Q(CS)-.55 E F0(If)144 580.8 Q F1(bash)2.535 -E F0 .035(\214nds this v)2.535 F .035(ariable in the en)-.25 F .036 -(vironment when the shell starts with v)-.4 F(alue)-.25 E F4(t)2.536 E +.966(hell upon re-).15 F(ceipt of a)144 508.8 Q F2(SIGWINCH)2.5 E F3(.)A +F1(COMPREPL)108 520.8 Q(Y)-.92 E F0 .847(An array v)144 532.8 R .848 +(ariable from which)-.25 F F1(bash)3.348 E F0 .848 +(reads the possible completions generated by a shell function)3.348 F +(in)144 544.8 Q -.2(vo)-.4 G -.1(ke).2 G 2.785(db).1 G 2.785(yt)-2.785 G +.285(he programmable completion f)-2.785 F .285(acility \(see)-.1 F F1 +(Pr)2.785 E .285(ogrammable Completion)-.18 F F0(belo)2.785 E 2.785 +(w\). Each)-.25 F(array element contains one possible completion.)144 +556.8 Q F1(EMA)108 568.8 Q(CS)-.55 E F0(If)144 580.8 Q F1(bash)2.535 E +F0 .035(\214nds this v)2.535 F .035(ariable in the en)-.25 F .036 +(vironment when the shell starts with v)-.4 F(alue)-.25 E F5(t)2.536 E F0 2.536(,i)C 2.536(ta)-2.536 G .036(ssumes that the)-2.536 F (shell is running in an Emacs shell b)144 592.8 Q(uf)-.2 E (fer and disables line editing.)-.25 E F1(ENV)108 604.8 Q F0(Similar to) -144 604.8 Q F3 -.27(BA)2.5 G(SH_ENV).27 E F5(;)A F0 +144 604.8 Q F2 -.27(BA)2.5 G(SH_ENV).27 E F3(;)A F0 (used when the shell is in)2.25 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G -(n)-2.5 E F2(posix mode)2.5 E F0(.)A F1(EXECIGNORE)108 616.8 Q F0 2.717 +(n)-2.5 E F4(posix mode)2.5 E F0(.)A F1(EXECIGNORE)108 616.8 Q F0 2.717 (Ac)144 628.8 S .217(olon-separated list of shell patterns \(see)-2.717 F F1 -.1(Pa)2.717 G(tter).1 E 2.717(nM)-.15 G(atching)-2.717 E F0 2.717 (\)d)C .216(e\214ning the list of \214lenames to be)-2.717 F .116 @@ -2097,8 +2100,8 @@ R 1.67 -.15(ve t)-.2 H 1.37(he e).15 F -.15(xe)-.15 G 1.37 (cutable bit set, b).15 F 1.37(ut are not e)-.2 F -.15(xe)-.15 G 1.37 (cutable \214les.).15 F 1.37(The pattern matching)6.37 F (honors the setting of the)144 700.8 Q F1(extglob)2.5 E F0 -(shell option.)2.5 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(15) -199.835 E 0 Cg EP +(shell option.)2.5 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(15) +192.055 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP @@ -2219,7 +2222,7 @@ R F1(history)3.173 E F0 -.2(bu)3.172 G 3.172(iltin. If).2 F .672(this v) 2.644(ym)-.15 G .144(ay be preserv)-2.644 F .144 (ed across shell sessions.)-.15 F(This)5.145 E(uses the history comment\ character to distinguish timestamps from other history lines.)144 696 Q -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(16)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(16)192.055 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP @@ -2327,7 +2330,7 @@ l to zero, the shell disables mail checking.)-.25 E F1(MAILP)108 684 Q with a `?'.)-2.62 F(When used in the te)144 720 Q(xt of the message,) -.15 E F1($_)2.5 E F0 -.15(ex)2.5 G (pands to the name of the current mail\214le.).15 E(Example:)5 E -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(17)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(17)192.055 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP @@ -2375,13 +2378,13 @@ F0(in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F (set -o posix)4.497 F F0 1.997(had been e)4.497 F -.15(xe)-.15 G(cuted.) .15 E(When the shell enters)144 288 Q F4(posix mode)2.5 E F0 2.5(,i)C 2.5(ts)-2.5 G(ets this v)-2.5 E(ariable if it w)-.25 E -(as not already set.)-.1 E F1(PR)108 300 Q(OMPT_COMMANDS)-.3 E F0 .099 -(If this array v)144 312 R .099(ariable is set, the v)-.25 F .099 -(alue of each set element is e)-.25 F -.15(xe)-.15 G .099 -(cuted as a command prior to issuing).15 F .463(each primary prompt.)144 -324 R .463(If this is not set, b)5.463 F(ut)-.2 E F1(PR)2.963 E -(OMPT_COMMAND)-.3 E F0 .463(is set to a v)2.963 F .463(alue, its v)-.25 -F .462(alue is)-.25 F(used as a command to e)144 336 Q -.15(xe)-.15 G +(as not already set.)-.1 E F1(PR)108 300 Q(OMPT_COMMAND)-.3 E F0 .155 +(If this v)144 312 R .155(ariable is set, and is an array)-.25 F 2.655 +(,t)-.65 G .155(he v)-2.655 F .155(alue of each set element is e)-.25 F +-.15(xe)-.15 G .155(cuted as a command prior).15 F .407 +(to issuing each primary prompt.)144 324 R .407(If this is set b)5.407 F +.407(ut not an array v)-.2 F .407(ariable, its v)-.25 F .407 +(alue is used as a com-)-.25 F(mand to e)144 336 Q -.15(xe)-.15 G (cute instead.).15 E F1(PR)108 348 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676 (If set to a number greater than zero, the v)144 360 R .676 (alue is used as the number of trailing directory compo-)-.25 F .923 @@ -2446,8 +2449,8 @@ Q F0(The CPU percentage, computed as \(%U + %S\) / %R.)194 678 Q .87 (decimal point may be speci\214ed; v)144 718.8 R .537(alues of)-.25 F F4 (p)3.037 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.538 E F4(p)3.038 E F0 .538(is not speci\214ed,)3.038 F(the v)144 730.8 Q -(alue 3 is used.)-.25 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(18) -199.835 E 0 Cg EP +(alue 3 is used.)-.25 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E +(18)192.055 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP @@ -2582,7 +2585,7 @@ F 2.529(wu)-.25 G(nder)-2.529 E F3(EXP)2.529 E(ANSION)-.666 E/F4 9 -.15(xe)-.15 G 3.496(da).15 G .996(rrays, if the optional brack)-3.496 F .996(ets and subscript are supplied, that inde)-.1 F 3.495(xi)-.15 G 3.495(sa)-3.495 G .995(ssigned to;)-3.495 F(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(19)199.835 E 0 Cg EP +(2020 August 25)142.895 E(19)192.055 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP @@ -2741,8 +2744,8 @@ F .418(xpansion; tilde e)-.15 F .418(xpansion, parameter and v)-.15 F .418(ariable e)-.25 F .418(xpansion, arithmetic)-.15 F -.15(ex)108 712.8 S .195(pansion, and command substitution \(done in a left-to-right f).15 F .196(ashion\); w)-.1 F .196(ord splitting; and pathname e)-.1 F(xpan-) --.15 E(sion.)108 724.8 Q(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(20) -199.835 E 0 Cg EP +-.15 E(sion.)108 724.8 Q(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E +(20)192.055 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP @@ -2877,7 +2880,7 @@ E(w_e)-.25 E(x}})-.15 E .618(Brace e)108 588 R .618 (.)A F0(If)6.736 E F3(HOME)4.736 E F0 2.236 (is unset, the home directory of the user e)4.486 F -.15(xe)-.15 G 2.236 (cuting the shell is substituted instead.).15 F(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(21)199.835 E 0 Cg EP +(2020 August 25)142.895 E(21)192.055 E 0 Cg EP %%Page: 22 22 %%BeginPageSetup BP @@ -3009,8 +3012,8 @@ F F3(pa-)4.561 E -.15(ra)144 664.8 S(meter).15 E F0 5.741(.T).73 G .741 written to the standard error and the shell, if it is not in-)3.282 F (teracti)144 724.8 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,) -2.65 F(the v)2.5 E(alue of)-.25 E F3(par)2.5 E(ameter)-.15 E F0 -(is substituted.)2.5 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(22) -199.835 E 0 Cg EP +(is substituted.)2.5 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E +(22)192.055 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP @@ -3132,7 +3135,7 @@ H(pands to a separate w).15 E(ord.)-.1 E(${)108 614.4 Q F2(#)A F1(par)A 144 686.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(eferences the last element.)-2.5 E(${)108 703.2 Q F1 (par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A(GNU Bash 5.1)72 768 -Q(2020 June 5)150.675 E(23)199.835 E 0 Cg EP +Q(2020 August 25)142.895 E(23)192.055 E 0 Cg EP %%Page: 24 24 %%BeginPageSetup BP @@ -3279,7 +3282,8 @@ F F1(par)3.36 E(ameter)-.15 E F0 .153(or information about)144 715.2 R F1(par)2.653 E(ameter)-.15 E F0 .153(itself, depending on the v)2.653 F .153(alue of)-.25 F F1(oper)2.653 E(ator)-.15 E F0 5.154(.E)C(ach)-5.154 E F1(oper)2.654 E(ator)-.15 E F0 .154(is a sin-)2.654 F(gle letter:)144 -727.2 Q(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(24)199.835 E 0 Cg EP +727.2 Q(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(24)192.055 E 0 Cg +EP %%Page: 25 25 %%BeginPageSetup BP @@ -3382,7 +3386,7 @@ F2 -.2(ex)2.666 G(pr).2 E(ession)-.37 E F0 .165 (result is treated as the arithmetic e)2.548 F .048(xpression to be e) -.15 F -.25(va)-.25 G 2.548(luated. Arithmetic).25 F -.15(ex)2.548 G(-) .15 E(pansions may be nested.)108 720 Q(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(25)199.835 E 0 Cg EP +(2020 August 25)142.895 E(25)192.055 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup BP @@ -3538,7 +3542,7 @@ E F0(and)6.48 E F4 -.63(``)3.98 G(..).63 E -.63('')-.55 G F0 1.48 (shell option, so all other \214lenames be)3.183 F .682(ginning with a) -.15 F F4 -.63(``)3.182 G -.55(.').63 G(')-.08 E F0 .682(will match.) 5.682 F 2.282 -.8(To g)5.682 H .682(et the old).8 F(GNU Bash 5.1)72 768 -Q(2020 June 5)150.675 E(26)199.835 E 0 Cg EP +Q(2020 August 25)142.895 E(26)192.055 E 0 Cg EP %%Page: 27 27 %%BeginPageSetup BP @@ -3648,8 +3652,8 @@ R .968(xtended pattern matching ag)-.15 F .968 (alternations and the strings contain multiple matches.)108 718.8 R .091 (Using separate matches ag)5.091 F .09(ainst shorter strings, or us-) -.05 F(ing arrays of strings instead of a single long string, may be f) -108 730.8 Q(aster)-.1 E(.)-.55 E(GNU Bash 5.1)72 768 Q(2020 June 5) -150.675 E(27)199.835 E 0 Cg EP +108 730.8 Q(aster)-.1 E(.)-.55 E(GNU Bash 5.1)72 768 Q(2020 August 25) +142.895 E(27)192.055 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP @@ -3751,7 +3755,7 @@ E F3(fd)A F0(If)180 532.8 Q F3(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E an 9 should be used with care, as the)108 710.4 R 2.545(ym)-.15 G .045 (ay con\215ict with \214le de-)-2.545 F (scriptors the shell uses internally)108 722.4 Q(.)-.65 E(GNU Bash 5.1) -72 768 Q(2020 June 5)150.675 E(28)199.835 E 0 Cg EP +72 768 Q(2020 August 25)142.895 E(28)192.055 E 0 Cg EP %%Page: 29 29 %%BeginPageSetup BP @@ -3838,7 +3842,7 @@ l a line containing only)108 681.6 R F2(delimiter)108.35 693.6 Q F0 .614 F(dard input \(or \214le descriptor)108 705.6 Q F2(n)2.5 E F0(if)2.5 E F2(n)2.5 E F0(is speci\214ed\) for a command.)2.5 E (The format of here-documents is:)108 722.4 Q(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(29)199.835 E 0 Cg EP +(2020 August 25)142.895 E(29)192.055 E 0 Cg EP %%Page: 30 30 %%BeginPageSetup BP @@ -3933,7 +3937,7 @@ A F1(wor)A(d)-.37 E F0 .518(causes the \214le whose name is the e)108 (scriptor)108 708 Q F1(n)2.86 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c> -2.5 G(le descriptor 0 if)-2.5 E F1(n)2.86 E F0(is not speci\214ed.)2.74 E(If the \214le does not e)5 E(xist, it is created.)-.15 E(GNU Bash 5.1) -72 768 Q(2020 June 5)150.675 E(30)199.835 E 0 Cg EP +72 768 Q(2020 August 25)142.895 E(30)192.055 E 0 Cg EP %%Page: 31 31 %%BeginPageSetup BP @@ -4082,7 +4086,7 @@ F -.15(xe)-.15 G .007(cution to reach).15 F .813(the current function.) 108 727.2 R .813(The v)5.813 F .813(alue of a v)-.25 F .813 (ariable that a function sees depends on its v)-.25 F .814 (alue within its caller)-.25 F 3.314(,i)-.4 G(f)-3.314 E(GNU Bash 5.1)72 -768 Q(2020 June 5)150.675 E(31)199.835 E 0 Cg EP +768 Q(2020 August 25)142.895 E(31)192.055 E 0 Cg EP %%Page: 32 32 %%BeginPageSetup BP @@ -4191,7 +4195,7 @@ F0(multiplication, di)144 590.4 Q(vision, remainder)-.25 E F2 2.5<2bad> F0(bitwise e)144 674.4 Q(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2(|) 108 686.4 Q F0(bitwise OR)144 686.4 Q F2(&&)108 698.4 Q F0(logical AND) 144 698.4 Q F2(||)108 710.4 Q F0(logical OR)144 710.4 Q(GNU Bash 5.1)72 -768 Q(2020 June 5)150.675 E(32)199.835 E 0 Cg EP +768 Q(2020 August 25)142.895 E(32)192.055 E 0 Cg EP %%Page: 33 33 %%BeginPageSetup BP @@ -4311,7 +4315,7 @@ G(ists and is readable.).15 E F2108 706.8 Q F1(\214le)2.5 E F0 (ists and has a size greater than zero.).15 E F2108 718.8 Q F1(fd) 2.5 E F0 -.35(Tr)144 718.8 S(ue if \214le descriptor).35 E F1(fd)4.47 E F0(is open and refers to a terminal.)3.27 E(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(33)199.835 E 0 Cg EP +(2020 August 25)142.895 E(33)192.055 E 0 Cg EP %%Page: 34 34 %%BeginPageSetup BP @@ -4408,7 +4412,7 @@ F(an)2.68 E 2.68(yw)-.15 G .18(ords remain af-)-2.78 F .347(ter e)144 710.4 R .347(xpansion, the \214rst w)-.15 F .347(ord is tak)-.1 F .347 (en to be the name of the command and the remaining w)-.1 F .346 (ords are)-.1 F(the ar)144 722.4 Q(guments.)-.18 E(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(34)199.835 E 0 Cg EP +(2020 August 25)142.895 E(34)192.055 E 0 Cg EP %%Page: 35 35 %%BeginPageSetup BP @@ -4531,7 +4535,8 @@ F0(,)A F3(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F3(popd)2.5 E F0 2.5(,o)C 2.5 (ri)-2.5 G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G(cation).2 E <83>108 715.2 Q(the \214le creation mode mask as set by)144 715.2 Q F3 (umask)2.5 E F0(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent) --2.5 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(35)199.835 E 0 Cg EP +-2.5 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(35)192.055 E 0 Cg +EP %%Page: 36 36 %%BeginPageSetup BP @@ -4644,7 +4649,8 @@ F0(commands.)2.5 E .562(The en)108 667.2 R .562(vironment for an)-.4 F F3(all)3.64 E F0 .81(parameter assignments are placed in)3.82 F(the en) 108 720 Q (vironment for a command, not just those that precede the command name.) --.4 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(36)199.835 E 0 Cg EP +-.4 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(36)192.055 E 0 Cg +EP %%Page: 37 37 %%BeginPageSetup BP @@ -4772,7 +4778,7 @@ ociated)108 696 R .733(with this job is 25647.)108 708 R .732 (All of the processes in a single pipeline are members of the same job) 5.733 F(.)-.4 E F1(Bash)5.732 E F0(uses)3.232 E(the)108 720 Q F3(job) 4.24 E F0(abstraction as the basis for job control.)2.73 E(GNU Bash 5.1) -72 768 Q(2020 June 5)150.675 E(37)199.835 E 0 Cg EP +72 768 Q(2020 August 25)142.895 E(37)192.055 E 0 Cg EP %%Page: 38 38 %%BeginPageSetup BP @@ -4917,8 +4923,8 @@ F0 .038(as described abo)2.288 F .338 -.15(ve b)-.15 H .038 as follo)108 693.6 Q(ws:)-.25 E F5(\\a)144 705.6 Q F0 (an ASCII bell character \(07\))180 705.6 Q F5(\\d)144 717.6 Q F0 (the date in "W)180 717.6 Q(eekday Month Date" format \(e.g., "T)-.8 E -(ue May 26"\))-.45 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(38) -199.835 E 0 Cg EP +(ue May 26"\))-.45 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(38) +192.055 E 0 Cg EP %%Page: 39 39 %%BeginPageSetup BP @@ -5033,8 +5039,8 @@ F0 .463(In this section, the Emacs-style notation is used to denote k) (ument to a command that).18 F 2.938(acts in the forw)108 727.2 R 2.938 (ard direction \(e.g.,)-.1 F F1(kill\255line)5.438 E F0 5.438(\)c)C 2.938(auses that command to act in a backw)-5.438 F 2.938 -(ard direction.)-.1 F(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(39) -199.835 E 0 Cg EP +(ard direction.)-.1 F(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(39) +192.055 E 0 Cg EP %%Page: 40 40 %%BeginPageSetup BP @@ -5145,7 +5151,7 @@ G(rsal\255ar).1 E(gument)-.1 E F0(.)A F1 .315(C\255x C\255r)5.155 F F0 (ESC [ 1 1 ~)3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F4 (Function Key 1)2.5 E F0(.)A (The full set of GNU Emacs style escape sequences is)108 722.4 Q -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(40)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(40)192.055 E 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP @@ -5239,8 +5245,8 @@ E(ariable.)-.25 E F1(comment\255begin \(`)108 705.6 Q(`#')-.63 E('\)) F1(insert\255comment)3.385 E F0 .884(command is e)3.384 F -.15(xe)-.15 G 3.384(cuted. This).15 F(com-)3.384 E(mand is bound to)144 729.6 Q F1 (M\255#)2.5 E F0(in emacs mode and to)2.5 E F1(#)2.5 E F0 -(in vi command mode.)2.5 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E -(41)199.835 E 0 Cg EP +(in vi command mode.)2.5 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 +E(41)192.055 E 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP @@ -5278,11 +5284,11 @@ ellipsis when displaying possible completions.).25 E F1 .561(may be set to an)3.061 F 3.061(yi)-.15 G(nte)-3.061 E .561(ger v) -.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 276 R .783(If the number of possible completions is greater than or equal to \ -the v)5.783 F .782(alue of this)-.25 F -.25(va)144 288 S .237 -(riable, the user is ask).25 F .237(ed whether or not he wishes to vie) --.1 F 2.737(wt)-.25 G .237(hem; otherwise the)-2.737 F 2.737(ya)-.15 G -.237(re simply listed)-2.737 F(on the terminal.)144 300 Q F1(con)108 312 -Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 324 R F1(On) +the v)5.783 F .782(alue of this)-.25 F -.25(va)144 288 S .367 +(riable, readline will ask whether or not the user wishes to vie).25 F +2.868(wt)-.25 G .368(hem; otherwise the)-2.868 F 2.868(ya)-.15 G .368 +(re simply)-2.868 F(listed on the terminal.)144 300 Q F1(con)108 312 Q +-.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 324 R F1(On) 3.113 E F0 3.113(,r)C .613(eadline will con)-3.113 F -.15(ve)-.4 G .613 (rt characters with the eighth bit set to an ASCII k).15 F .912 -.15 (ey s)-.1 H .612(equence by).15 F .541 @@ -5347,7 +5353,7 @@ E F0 3.052(,t)C .552(he history code attempts to place point at the sam\ e location on each history line re-)-3.052 F(trie)144 720 Q -.15(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E F0(or)2.5 E F1(next-history)2.5 E F0(.)A(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(42)199.835 E 0 Cg EP +(2020 August 25)142.895 E(42)192.055 E 0 Cg EP %%Page: 43 43 %%BeginPageSetup BP @@ -5460,8 +5466,8 @@ ta-)-3.006 F(pre\214x)144 660 Q .885(ed escape sequence.)-.15 F .884 3.308 E F0 3.308(,r)C .808(eadline uses an internal)-3.308 F F2(mor) 3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808 (ager to display a screenful of possible comple-)-3.308 F -(tions at a time.)144 708 Q(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E -(43)199.835 E 0 Cg EP +(tions at a time.)144 708 Q(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 +E(43)192.055 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP @@ -5575,7 +5581,7 @@ F1(term=)3.196 E F0 .696 (wo)3.154 G .654(rd on the right side of).1 F(the)180 727.2 Q F1(=)3.231 E F0 .731(is tested ag)3.231 F .732(ainst both the full name of the ter\ minal and the portion of the terminal)-.05 F(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(44)199.835 E 0 Cg EP +(2020 August 25)142.895 E(44)192.055 E 0 Cg EP %%Page: 45 45 %%BeginPageSetup BP @@ -5682,7 +5688,8 @@ F -.15(xe)-.15 G .174(cute that command.).15 F -.15(Fo)5.174 G(r).15 E (ontrol-Rs are typed without an)-3.153 F 3.152(yi)-.15 G(nterv)-3.152 E (en-)-.15 E(ing characters de\214ning a ne)108 720 Q 2.5(ws)-.25 G (earch string, an)-2.5 E 2.5(yr)-.15 G(emembered search string is used.) --2.5 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(45)199.835 E 0 Cg EP +-2.5 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(45)192.055 E 0 Cg +EP %%Page: 46 46 %%BeginPageSetup BP @@ -5772,8 +5779,8 @@ S(th an ar).4 E (restore the history line to its original state.)144 686.4 Q F1(pr)108 698.4 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0 (Fetch the pre)144 710.4 Q(vious command from the history list, mo)-.25 -E(ving back in the list.)-.15 E(GNU Bash 5.1)72 768 Q(2020 June 5) -150.675 E(46)199.835 E 0 Cg EP +E(ving back in the list.)-.15 E(GNU Bash 5.1)72 768 Q(2020 August 25) +142.895 E(46)192.055 E 0 Cg EP %%Page: 47 47 %%BeginPageSetup BP @@ -5872,7 +5879,7 @@ E .504 -.15(ve c)-.25 H .204(alls to).15 F F1(yank\255last\255ar)2.704 E (See)5.939 E F3(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E (ANSION)-.666 E F0(belo)3.189 E 3.439(wf)-.25 G .939(or a descrip-) -3.439 F(tion of history e)144 696 Q(xpansion.)-.15 E(GNU Bash 5.1)72 -768 Q(2020 June 5)150.675 E(47)199.835 E 0 Cg EP +768 Q(2020 August 25)142.895 E(47)192.055 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP @@ -5970,7 +5977,7 @@ E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 664.8 Q -.05(ga)-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.974 (ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 724.8 S(rd, b) .1 E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E(GNU Bash 5.1)72 -768 Q(2020 June 5)150.675 E(48)199.835 E 0 Cg EP +768 Q(2020 August 25)142.895 E(48)192.055 E 0 Cg EP %%Page: 49 49 %%BeginPageSetup BP @@ -6058,8 +6065,8 @@ F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 681.6 Q (gument already accumulating, or start a ne)-.18 F 2.867(wa)-.25 G -.18 (rg)-2.867 G 2.867(ument. M\255\255).18 F .367(starts a ne)2.867 F -.05 (ga)-.15 G(-).05 E(ti)144 717.6 Q .3 -.15(ve a)-.25 H -.18(rg).15 G -(ument.).18 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(49)199.835 E 0 -Cg EP +(ument.).18 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(49)192.055 +E 0 Cg EP %%Page: 50 50 %%BeginPageSetup BP @@ -6163,7 +6170,7 @@ F0(List the possible completions of the te)144 616.8 Q .715(ords, shell functions, shell b)-.1 F .715(uiltins, and)-.2 F (\214nally e)144 712.8 Q -.15(xe)-.15 G (cutable \214lenames, in that order).15 E(.)-.55 E(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(50)199.835 E 0 Cg EP +(2020 August 25)142.895 E(50)192.055 E 0 Cg EP %%Page: 51 51 %%BeginPageSetup BP @@ -6256,7 +6263,7 @@ SF(ESC)5 E F1(f)2.25 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1 -.1 G 4.327(sl).15 G(ik)-4.327 E(e)-.1 E .791(Home and End.)144 729.6 R .791(Such sequences be)5.791 F .791 (gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(51)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(51)192.055 E 0 Cg EP %%Page: 52 52 %%BeginPageSetup BP @@ -6371,7 +6378,7 @@ d to generate the list of matching w)108 674.4 R 3.317(ords. If)-.1 F (option is used for \214lename or directory name completion, the)3.095 F (shell v)108 727.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0 (is used to \214lter the matches.)2.25 E(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(52)199.835 E 0 Cg EP +(2020 August 25)142.895 E(52)192.055 E 0 Cg EP %%Page: 53 53 %%BeginPageSetup BP @@ -6515,7 +6522,7 @@ F F1 1.172(complete \255D)3.672 F F0 6.172(.I)C(t')-6.172 E 3.672(sp) uld be retried by returning an e)108 712.8 R .93(xit status of 124.)-.15 F .93(If a)5.93 F .1(shell function returns 124, and changes the compsp\ ec associated with the command on which completion is)108 724.8 R -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(53)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(53)192.055 E 0 Cg EP %%Page: 54 54 %%BeginPageSetup BP @@ -6649,8 +6656,8 @@ ds from the history list into the input stream, making it easy to repea\ t)-.1 F .21(commands, insert the ar)108 722.4 R .21(guments to a pre) -.18 F .209 (vious command into the current input line, or \214x errors in pre)-.25 -F(vious)-.25 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(54)199.835 E -0 Cg EP +F(vious)-.25 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(54)192.055 +E 0 Cg EP %%Page: 55 55 %%BeginPageSetup BP @@ -6773,7 +6780,7 @@ F0(,)A F23.029 E F0 3.029(,o)C(r)-3.029 E F2(%)3.029 E F0 5.529(.W)C (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 705.6 -Q(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(55)199.835 E 0 Cg EP +Q(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(55)192.055 E 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP @@ -6900,8 +6907,8 @@ F1(let)2.961 E F0 2.961(,a)C(nd)-2.961 E F1(shift)2.961 E F0 -.2(bu) (names in)144 726 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(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 -E(56)199.835 E 0 Cg EP +-.666(PA)2.988 G(TH)-.189 E F0(GNU Bash 5.1)72 768 Q(2020 August 25) +142.895 E(56)192.055 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP @@ -7031,7 +7038,7 @@ F1144 650.4 Q F2(function)2.5 E F0(Query about which k)180 662.4 Q (ound to the named)-2.5 E F2(function)2.5 E F0(.)A F1144 698.4 Q F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 710.4 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(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(57)199.835 E 0 Cg EP +(.)A(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(57)192.055 E 0 Cg EP %%Page: 58 58 %%BeginPageSetup BP @@ -7177,7 +7184,7 @@ F0(is)3.772 E .4(performed using a def)144 700.8 R .4(ault v)-.1 F .4 F0 .175(option causes)2.675 F 3.318(as)144 724.8 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 F2(command)3.617 E F0 .817(to be displayed; the)4.087 -F(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(58)199.835 E 0 Cg EP +F(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(58)192.055 E 0 Cg EP %%Page: 59 59 %%BeginPageSetup BP @@ -7293,7 +7300,7 @@ e compspec generates \214lenames, so it can perform an).7 F 2.637<798c> 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 705.6 R .45(Intended to be used with shell)5.45 F(functions.)224 717.6 Q -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(59)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(59)192.055 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP @@ -7372,7 +7379,7 @@ E F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1 .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(COMPREPL)184 696 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(60)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(60)192.055 E 0 Cg EP %%Page: 61 61 %%BeginPageSetup BP @@ -7504,8 +7511,8 @@ F0 .648(option implies)3.148 F F1144 715.2 Q F0 5.836(.T)C(he) (e)-.18 E F0 .819(is e)3.319 F -.15(xe)-.15 G .819 (cuted in a shell function.).15 F .818 (It is ignored in all other cases.)5.818 F(The)5.818 E F13.318 E -F0 .818(option causes local)3.318 F(GNU Bash 5.1)72 768 Q(2020 June 5) -150.675 E(61)199.835 E 0 Cg EP +F0 .818(option causes local)3.318 F(GNU Bash 5.1)72 768 Q +(2020 August 25)142.895 E(61)192.055 E 0 Cg EP %%Page: 62 62 %%BeginPageSetup BP @@ -7632,8 +7639,8 @@ F2(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E 698.4 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 710.4 Q(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 -E(62)199.835 E 0 Cg EP +.15 F(tory stack.)144 710.4 Q(GNU Bash 5.1)72 768 Q(2020 August 25) +142.895 E(62)192.055 E 0 Cg EP %%Page: 63 63 %%BeginPageSetup BP @@ -7751,7 +7758,7 @@ Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C .671 (ev a)2.979 H(l).15 E F0 5.479(.I)C 2.979(ft)-5.479 G .479(here are no) -2.979 F F2(ar)3.309 E(gs)-.37 E F0(,).27 E(or only null ar)144 698.4 Q (guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(63)199.835 E 0 Cg EP +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(63)192.055 E 0 Cg EP %%Page: 64 64 %%BeginPageSetup BP @@ -7899,7 +7906,7 @@ R .454(If the)5.454 F F12.954 E F0 .454 .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(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(64)199.835 E 0 Cg EP +(2020 August 25)142.895 E(64)192.055 E 0 Cg EP %%Page: 65 65 %%BeginPageSetup BP @@ -8021,8 +8028,8 @@ G 3.367(sd).15 G(etailed)-3.367 E .224(help on all commands matching)144 (ormat)-2.5 E F2144 710.4 Q F0 (Display only a short usage synopsis for each)180 710.4 Q F1(pattern)2.5 E F0(The return status is 0 unless no command matches)144 727.2 Q F1 -(pattern)3.75 E F0(.).24 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E -(65)199.835 E 0 Cg EP +(pattern)3.75 E F0(.).24 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 +E(65)192.055 E 0 Cg EP %%Page: 66 66 %%BeginPageSetup BP @@ -8136,7 +8143,7 @@ E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 703.2 R F1 (with the corre-)3.164 F(sponding process group ID, and e)144 715.2 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(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(66)199.835 E 0 Cg EP +E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(66)192.055 E 0 Cg EP %%Page: 67 67 %%BeginPageSetup BP @@ -8196,88 +8203,91 @@ C(hen)-5.652 E F1(local)3.152 E F0 .652 (d: shell options changed us-).1 F 1.17(ing the)144 309.6 R F1(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 321.6 R .388 -(ith no operands,)-.4 F F1(local)2.888 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 333.6 R F1(local) -2.832 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 345.6 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 362.4 Q F0 -(Exit a login shell.)144 362.4 Q F1(map\214le)108 379.2 Q F0([)2.5 E F1 +(alues when the function re-)-.25 F 3.381(turns. The)144 321.6 R .881 +(restore is ef)3.381 F .881(fected as if a series of)-.25 F F1(set)3.381 +E F0 .88(commands were e)3.38 F -.15(xe)-.15 G .88 +(cuted to restore the v).15 F(alues)-.25 E .787 +(that were in place before the function.)144 333.6 R -.4(Wi)5.788 G .788 +(th no operands,).4 F F1(local)3.288 E F0 .788(writes a list of local v) +3.288 F .788(ariables to)-.25 F .655(the standard output.)144 345.6 R +.654(It is an error to use)5.655 F F1(local)3.154 E F0 .654 +(when not within a function.)3.154 F .654(The return status is 0)5.654 F +(unless)144 357.6 Q F1(local)2.5 E F0(is used outside a function, an in) +2.5 E -.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 +374.4 Q F0(Exit a login shell.)144 374.4 Q F1(map\214le)108 391.2 Q 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 F1 -.18(re)108 403.2 S(adarray).18 E 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 391.2 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 .159 -(Read lines from the standard input into the inde)144 403.2 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.658(rf)-2.659 G .158 -(rom \214le descriptor)-2.658 F F2(fd)4.628 E F0 1.248(if the)144 415.2 -R F13.748 E F0 1.248(option is supplied.)3.748 F 1.249(The v)6.249 +(])A .158(Read lines from the standard input into the inde)144 415.2 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 427.2 +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.749 E(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,) --6.249 F(ha)144 427.2 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 439.2 Q F0 .911 -(The \214rst character of)180 439.2 R F2(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 F2(delim)180 451.2 Q F0(is the empty string,)2.5 E F1 +E F2(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,) +-6.248 F(ha)144 439.2 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1144 451.2 Q F0 .91 +(The \214rst character of)180 451.2 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 F2(delim)180 463.2 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 F1144 463.2 Q F0(Cop)180 463.2 Q 2.5(ya)-.1 G 2.5 +2.5 E(.)-.55 E F1144 475.2 Q F0(Cop)180 475.2 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 475.2 Q F0(Be)180 -475.2 Q(gin assigning to)-.15 E F2(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 F1144 487.2 Q F0(Be)180 +487.2 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 487.2 Q F0 -(Discard the \214rst)180 487.2 Q F2(count)2.5 E F0(lines read.)2.5 E F1 -144 499.2 Q F0(Remo)180 499.2 Q .3 -.15(ve a t)-.15 H(railing).15 +2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1144 499.2 Q F0 +(Discard the \214rst)180 499.2 Q F2(count)2.5 E F0(lines read.)2.5 E F1 +144 511.2 Q F0(Remo)180 511.2 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 511.2 Q F0 -(Read lines from \214le descriptor)180 511.2 Q F2(fd)2.5 E F0 -(instead of the standard input.)2.5 E F1144 523.2 Q F0(Ev)180 -523.2 Q(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2 +(wline\) from each line read.)-.25 E F1144 523.2 Q F0 +(Read lines from \214le descriptor)180 523.2 Q F2(fd)2.5 E F0 +(instead of the standard input.)2.5 E F1144 535.2 Q F0(Ev)180 +535.2 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 535.2 -Q F0(Specify the number of lines read between each call to)180 535.2 Q -F2(callbac)2.7 E(k)-.2 E F0(.).67 E(If)144 552 Q F12.967 E F0 .467 +(option speci\214es)2.5 E F2(quantum)2.75 E F0(.).32 E F1144 547.2 +Q F0(Specify the number of lines read between each call to)180 547.2 Q +F2(callbac)2.7 E(k)-.2 E F0(.).67 E(If)144 564 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 564 R 2.762(xo)-.15 G -2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be assig\ -ned and the line to be assigned to that element)-.15 F .274 -(as additional ar)144 576 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 588 Q -(If not supplied with an e)144 604.8 Q(xplicit origin,)-.15 E F1 +(luated, it is sup-).25 F .261(plied the inde)144 576 R 2.761(xo)-.15 G +2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be assig\ +ned and the line to be assigned to that element)-.15 F .275 +(as additional ar)144 588 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 600 Q +(If not supplied with an e)144 616.8 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 621.6 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 633.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 F2(arr) -3.297 E(ay)-.15 E F0 .797(is in-)3.297 F -.25(va)144 633.6 S +3.297 E(ay)-.15 E F0 .798(is in-)3.298 F -.25(va)144 645.6 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 650.4 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 662.4 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 -674.4 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 686.4 Q F1144 698.4 Q F0 .551 -(Suppresses the normal change of directory when remo)180 698.4 R .551 +F1(popd)108 662.4 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 674.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 +686.4 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 698.4 Q F1144 710.4 Q F0 .551 +(Suppresses the normal change of directory when remo)180 710.4 R .551 (ving directories from the stack, so)-.15 F -(that only the stack is manipulated.)180 710.4 Q(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(67)199.835 E 0 Cg EP +(that only the stack is manipulated.)180 722.4 Q(GNU Bash 5.1)72 768 Q +(2020 August 25)142.895 E(67)192.055 E 0 Cg EP %%Page: 68 68 %%BeginPageSetup BP @@ -8291,240 +8301,241 @@ G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14 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 108 Q F2(n)A F0(Remo)180 -108 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 120 -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 136.8 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 148.8 R .415(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 +108 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 120 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 136.8 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 148.8 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 160.8 Q (ails.)-.1 E F1(printf)108 177.6 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 189.6 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 +(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .357 +(Write the formatted)144 189.6 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 201.6 R(ariable)-.25 E F2(var)3.214 E F0 .714(rather than being printed to the standard)3.214 -F(output.)144 213.6 Q(The)144 237.6 Q F2(format)3.018 E F0 .517(is a ch\ +F(output.)144 213.6 Q(The)144 237.6 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 249.6 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 249.6 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 261.6 R .036 +\214cations, each of which causes printing of the ne)144 261.6 R .037 (xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 273.6 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 285.6 Q +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 285.6 Q (xtensions:)-.15 E F1(%b)144 297.6 Q F0(causes)180 297.6 Q F1(printf) -2.596 E F0 .096(to e)2.596 F .096 +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 309.6 Q(ay as) +2.596 E(gument)-.37 E F0 .096(in the)2.596 F(same w)180 309.6 Q(ay as) -.1 E F1(echo \255e)2.5 E F0(.)A F1(%q)144 321.6 Q F0(causes)180 321.6 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 333.6 Q F1(%\()144 345.6 Q F2(datefmt)A F1(\)T)A F0(causes) -180 357.6 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 369.6 R F2 +180 357.6 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 369.6 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 +(ger representing the number)-.15 F .292(of seconds since the epoch.)180 381.6 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 +.293(alues may be used: \2551 represents the)-.25 F .694 (current time, and \2552 represents the time the shell w)180 393.6 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 405.6 R -.15 +.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 405.6 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 417.6 Q(vior)-.2 E(.)-.55 E .901 +F1(printf)2.71 E F0(beha)180 417.6 Q(vior)-.2 E(.)-.55 E .902 (The %b, %q, and %T directi)144 434.4 R -.15(ve)-.25 G 3.401(sa).15 G -.901(ll use the \214eld width and precision ar)-3.401 F .902 -(guments from the format)-.18 F .358(speci\214cation and write that man) -144 446.4 R 2.858(yb)-.15 G .357 -(ytes from \(or use that wide a \214eld for\) the e)-2.858 F .357 +.901(ll use the \214eld width and precision ar)-3.401 F .901 +(guments from the format)-.18 F .357(speci\214cation and write that man) +144 446.4 R 2.857(yb)-.15 G .358 +(ytes from \(or use that wide a \214eld for\) the e)-2.857 F .358 (xpanded ar)-.15 F(gument,)-.18 E (which usually contains more characters than the original.)144 458.4 Q -(Ar)144 475.2 Q .463(guments to non-string format speci\214ers are trea\ -ted as C constants, e)-.18 F .464(xcept that a leading plus or)-.15 F -1.259(minus sign is allo)144 487.2 R 1.259 +(Ar)144 475.2 Q .464(guments to non-string format speci\214ers are trea\ +ted as C constants, e)-.18 F .463(xcept that a leading plus or)-.15 F +1.258(minus sign is allo)144 487.2 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 499.2 Q(alue of the follo) --.25 E(wing character)-.25 E(.)-.55 E(The)144 516 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 -528 Q F0 .566(than are supplied, the e)3.066 F .566 +-.25 F 1.259(alue is the)-.25 F(ASCII v)144 499.2 Q(alue of the follo) +-.25 E(wing character)-.25 E(.)-.55 E(The)144 516 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 +528 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,) +.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 540 Q(The return v)5 E (alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd) 108 556.8 Q F0([)2.5 E F1A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C -2.5 E F2(n)A F0(])A F1(pushd)108 568.8 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 d\ -irectory stack, or rotates the stack, making the ne)144 580.8 R 3.14(wt) --.25 G .64(op of the)-3.14 F .417(stack the current w)144 592.8 R .416 +2.5(][)C F2(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 580.8 R 3.139(wt) +-.25 G .639(op of the)-3.139 F .416(stack the current w)144 592.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.916(od)-.1 G(irectories)-2.916 E 1.625 +(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 604.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 616.8 Q F1144 628.8 Q F0 1.811(Suppresses the normal change of directory \ when rotating or adding directories to the)180 628.8 R (stack, so that only the stack is manipulated.)180 640.8 Q F1(+)144 -652.8 Q F2(n)A F0 1.267(Rotates the stack so that the)180 652.8 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 664.8 Q F0 2.5(,s)C +652.8 Q F2(n)A F0 1.268(Rotates the stack so that the)180 652.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 664.8 Q F0 2.5(,s)C (tarting with zero\) is at the top.)-2.5 E F1144 676.8 Q F2(n)A F0 .92(Rotates the stack so that the)180 676.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 688.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.) --2.5 E F2(dir)144.35 700.8 Q F0(Adds)180 700.8 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 +-2.5 E F2(dir)144.35 700.8 Q F0(Adds)180 700.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 712.8 Q(gument to the)-.18 E F1 -(cd)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .489(If the)144 729.6 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(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(68) -199.835 E 0 Cg EP +(cd)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 729.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(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(68) +192.055 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 1.039 -(returns 0 unless the cd to)144 84 R/F1 10/Times-Italic@0 SF(dir)3.889 E -F0 -.1(fa)4.269 G 3.539(ils. W).1 F 1.039(ith the second form,)-.4 F/F2 -10/Times-Bold@0 SF(pushd)3.54 E F0 1.04(returns 0 unless the directory) -3.54 F .847(stack is empty)144 96 R 3.347(,an)-.65 G(on-e)-3.347 E .847 -(xistent directory stack element is speci\214ed, or the directory chang\ -e to the)-.15 F(speci\214ed ne)144 108 Q 2.5(wc)-.25 G -(urrent directory f)-2.5 E(ails.)-.1 E F2(pwd)108 124.8 Q F0([)2.5 E F2 -(\255LP)A F0(])A .844(Print the absolute pathname of the current w)144 -136.8 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 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.04 +(returns 0 unless the cd to)144 84 R/F1 10/Times-Italic@0 SF(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 +10/Times-Bold@0 SF(pushd)3.539 E F0 1.039 +(returns 0 unless the directory)3.539 F .846(stack is empty)144 96 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 +108 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F2(pwd)108 +124.8 Q F0([)2.5 E F2(\255LP)A F0(])A .845 +(Print the absolute pathname of the current w)144 136.8 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 148.8 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 -(set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263 -(enabled. If)144 160.8 R(the)3.263 E F23.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\ +(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264 +(enabled. If)144 160.8 R(the)3.264 E F23.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 172.8 R -.25(va) -.4 G .405(lid op-).25 F(tion is supplied.)144 184.8 Q F2 -.18(re)108 -201.6 S(ad).18 E F0([)3.816 E F2(\255ers)A F0 3.816(][)C F2-3.816 -E F1(aname)3.816 E F0 3.816(][)C F2-3.816 E F1(delim)3.816 E F0 -3.816(][)C F2-3.816 E F1(te)3.816 E(xt)-.2 E F0 3.816(][)C F2 --3.816 E F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.817(][)C F2 --3.817 E F1(nc)3.817 E(har)-.15 E(s)-.1 E F0 3.817(][)C F2-3.817 E -F1(pr)3.817 E(ompt)-.45 E F0 3.817(][)C F2-3.817 E F1(timeout) -3.817 E F0 3.817(][)C F2-3.817 E F1(fd)3.817 E F0(])A([)108 213.6 +201.6 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 213.6 Q F1(name)A F0(...])2.5 E .516(One line is read from the standard input\ , or from the \214le descriptor)144 225.6 R F1(fd)3.016 E F0 .516 -(supplied as an ar)3.016 F .516(gument to)-.18 F(the)144 237.6 Q F2 -2.935 E F0 .435(option, split into w)2.935 F .435 +(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 237.6 Q F2 +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 F2 -.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 249.6 R F1 -(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 249.6 R F1 +(name)3.235 E F0 2.876(,t).18 G .376(he second w)-2.876 F .376 (ord to the second)-.1 F F1(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 +(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 261.6 R .237(ords and their interv)-.1 -F .237(ening delimiters are assigned to the last)-.15 F F1(name)3.097 E -F0 5.237(.I).18 G(f)-5.237 E .875(there are fe)144 273.6 R .875(wer w) +F .237(ening delimiters are assigned to the last)-.15 F F1(name)3.096 E +F0 5.236(.I).18 G(f)-5.236 E .874(there are fe)144 273.6 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 285.6 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 297.6 R +ames are assigned)-.1 F .518(empty v)144 285.6 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 297.6 R .026(xpansion \(described abo)-.15 F .326 -.15(ve u)-.15 H(nder).15 E F2 -.75(Wo)2.526 G .026(rd Splitting).75 F F0 2.526(\). The)B .026 -(backslash character \()2.526 F F2(\\)A F0 2.526(\)m)C(ay)-2.526 E .488 +(backslash character \()2.526 F F2(\\)A F0 2.527(\)m)C(ay)-2.527 E .489 (be used to remo)144 309.6 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 +(xt character read and for line continuation.)-.15 F(Op-)5.488 E (tions, if supplied, ha)144 321.6 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 333.6 Q F1(aname)2.5 E F0 1.026 +(wing meanings:)-.25 E F2144 333.6 Q F1(aname)2.5 E F0 1.025 (The w)180 345.6 R 1.026 (ords are assigned to sequential indices of the array v)-.1 F(ariable) --.25 E F1(aname)3.855 E F0 3.525(,s).18 G 1.025(tarting at 0.)-3.525 F +-.25 E F1(aname)3.856 E F0 3.526(,s).18 G 1.026(tarting at 0.)-3.526 F F1(aname)180.33 357.6 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 369.6 Q F1(delim)2.5 E -F0 .28(The \214rst character of)180 381.6 R F1(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 F1(de-)2.781 E(lim)180 393.6 Q F0 -(is the empty string,)2.5 E F2 -.18(re)2.5 G(ad).18 E F0 +F0 .281(The \214rst character of)180 381.6 R F1(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 F1(de-)2.78 E(lim)180 393.6 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 405.6 Q F0 .373 +144 405.6 Q F0 .372 (If the standard input is coming from a terminal,)180 405.6 R F2 -.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 +(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 417.6 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 429.6 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 441.6 Q F1(te)2.5 E(xt) --.2 E F0(If)180 441.6 Q F2 -.18(re)2.716 G(adline).18 E F0 .216 -(is being used to read the line,)2.716 F F1(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-) +-.2 E F0(If)180 441.6 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 +(is placed into the editing b)2.716 F(uf)-.2 E .216(fer before edit-) -.25 F(ing be)180 453.6 Q(gins.)-.15 E F2144 465.6 Q F1(nc)2.5 E -(har)-.15 E(s)-.1 E F2 -.18(re)180 477.6 S(ad).18 E F0 .322 -(returns after reading)2.822 F F1(nc)2.823 E(har)-.15 E(s)-.1 E F0 .323 +(har)-.15 E(s)-.1 E F2 -.18(re)180 477.6 S(ad).18 E F0 .323 +(returns after reading)2.823 F F1(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 489.6 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 F2 144 501.6 Q F1(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 513.6 S -(ad).18 E F0 1.269(returns after reading e)3.77 F(xactly)-.15 E F1(nc) +(ad).18 E F0 1.269(returns after reading e)3.769 F(xactly)-.15 E F1(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 +1.27(aiting for a complete)-.1 F .275 (line of input, unless EOF is encountered or)180 525.6 R F2 -.18(re) -2.775 G(ad).18 E F0 .275(times out.)2.775 F .275 -(Delimiter characters encoun-)5.275 F 1.003 +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 537.6 -R F2 -.18(re)3.502 G(ad).18 E F0 1.002(to return until)3.502 F F1(nc) -3.502 E(har)-.15 E(s)-.1 E F0 .608(characters are read.)180 549.6 R .608 -(The result is not split on the characters in)5.608 F F2(IFS)3.108 E F0 -3.108(;t)C .609(he intent is that the)-3.108 F -.25(va)180 561.6 S .67 +R F2 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F1(nc) +3.503 E(har)-.15 E(s)-.1 E F0 .609(characters are read.)180 549.6 R .608 +(The result is not split on the characters in)5.609 F F2(IFS)3.108 E F0 +3.108(;t)C .608(he intent is that the)-3.108 F -.25(va)180 561.6 S .669 (riable is assigned e).25 F .669 -(xactly the characters read \(with the e)-.15 F .669 +(xactly the characters read \(with the e)-.15 F .67 (xception of backslash; see the)-.15 F F2180 573.6 Q F0 (option belo)2.5 E(w\).)-.25 E F2144 585.6 Q F1(pr)2.5 E(ompt)-.45 -E F0(Display)180 597.6 Q F1(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) +E F0(Display)180 597.6 Q F1(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 609.6 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 F2 -144 621.6 Q F0 .544(Backslash does not act as an escape character) -180 621.6 R 5.543(.T)-.55 G .543 -(he backslash is considered to be part of)-5.543 F .492(the line.)180 -633.6 R .492(In particular)5.492 F 2.992(,ab)-.4 G(ackslash-ne)-2.992 E +144 621.6 Q F0 .543(Backslash does not act as an escape character) +180 621.6 R 5.543(.T)-.55 G .544 +(he backslash is considered to be part of)-5.543 F .493(the line.)180 +633.6 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 645.6 Q F2144 657.6 Q F0(Silent mode.)180 657.6 Q (If input is coming from a terminal, characters are not echoed.)5 E F2 -144 669.6 Q F1(timeout)2.5 E F0(Cause)180 681.6 Q F2 -.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 +144 669.6 Q F1(timeout)2.5 E F0(Cause)180 681.6 Q F2 -.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 693.6 R F1(timeout)3.061 E -F0(seconds.)3.061 E F1(timeout)5.561 E F0 .561(may be a decimal number) +F0(seconds.)3.061 E F1(timeout)5.561 E F0 .56(may be a decimal number) 3.061 F(with a fractional portion follo)180 705.6 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 F2 -.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 -717.6 R .506(fect when reading)-.25 F .59(from re)180 729.6 R .59 -(gular \214les.)-.15 F(If)5.59 E F2 -.18(re)3.09 G(ad).18 E F0 .589 -(times out,)3.09 F F2 -.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 +717.6 R .505(fect when reading)-.25 F .589(from re)180 729.6 R .589 +(gular \214les.)-.15 F(If)5.589 E F2 -.18(re)3.089 G(ad).18 E F0 .589 +(times out,)3.089 F F2 -.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(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(69)199.835 E 0 Cg EP +(2020 August 25)142.895 E(69)192.055 E 0 Cg EP %%Page: 70 70 %%BeginPageSetup BP @@ -8540,1499 +8551,1505 @@ G(ad).18 E F0 .27(returns immediately)2.77 F 2.77(,w)-.65 G .27 1.12(on-zero other)-3.62 F(-)-.2 E 2.5(wise. The)180 108 R -.15(ex)2.5 G (it status is greater than 128 if the timeout is e).15 E(xceeded.)-.15 E F2144 120 Q F1(fd)2.5 E F0(Read input from \214le descriptor)180 -120 Q F1(fd)2.5 E F0(.)A .476(If no)144 136.8 R F1(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 148.8 R F2 -.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 160.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 172.8 Q(gument to)-.18 E F2 -2.5 E F0(.)A F2 -.18(re)108 189.6 S(adonly).18 E F0([)2.5 E F2(\255aAf)A -F0 2.5(][)C F2-2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(wor)A -(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 201.6 R -.15(ve)-.25 G -(n).15 E F1(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v) --.1 F .77(alues of these)-.25 F F1(names)3.63 E F0 .77 -(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 213.6 R -1.096(If the)6.096 F F23.596 E F0 1.097 -(option is supplied, the functions corresponding to the)3.596 F F1 -(names)3.597 E F0 1.097(are so)3.597 F(mark)144 225.6 Q 3.334(ed. The) +120 Q F1(fd)2.5 E F0(.)A .522(If no)144 136.8 R F1(names)3.382 E F0 .522 +(are supplied, the line read, without the ending delimiter b)3.292 F +.522(ut otherwise unmodi\214ed, is)-.2 F 1.186(assigned to the v)144 +148.8 R(ariable)-.25 E/F3 9/Times-Bold@0 SF(REPL)3.686 E(Y)-.828 E/F4 9 +/Times-Roman@0 SF(.)A F0 1.186(The e)5.686 F 1.186 +(xit status is zero, unless end-of-\214le is encountered,)-.15 F F2 -.18 +(re)3.687 G(ad).18 E F0 .961 +(times out \(in which case the status is greater than 128\), a v)144 +160.8 R .96(ariable assignment error \(such as as-)-.25 F .706 +(signing to a readonly v)144 172.8 R .706(ariable\) occurs, or an in) +-.25 F -.25(va)-.4 G .706(lid \214le descriptor is supplied as the ar) +.25 F .707(gument to)-.18 F F2144 184.8 Q F0(.)A F2 -.18(re)108 +201.6 S(adonly).18 E F0([)2.5 E F2(\255aAf)A F0 2.5(][)C F2-2.5 E +F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(wor)A(d)-.37 E F0 2.5(].)C(..]) +-2.5 E .77(The gi)144 213.6 R -.15(ve)-.25 G(n).15 E F1(names)3.27 E F0 +.77(are mark)3.27 F .77(ed readonly; the v)-.1 F .77(alues of these)-.25 +F F1(names)3.63 E F0 .77(may not be changed by subse-)3.54 F 1.096 +(quent assignment.)144 225.6 R 1.096(If the)6.096 F F23.596 E F0 +1.097(option is supplied, the functions corresponding to the)3.596 F F1 +(names)3.597 E F0 1.097(are so)3.597 F(mark)144 237.6 Q 3.334(ed. The) -.1 F F23.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 F23.334 E F0 .834(option restricts the v)3.334 F(ari-) --.25 E .776(ables to associati)144 237.6 R 1.076 -.15(ve a)-.25 H 3.276 +-.25 E .776(ables to associati)144 249.6 R 1.076 -.15(ve a)-.25 H 3.276 (rrays. If).15 F .777(both options are supplied,)3.276 F F23.277 E F0(tak)3.277 E .777(es precedence.)-.1 F .777(If no)5.777 F F1(name) -3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 249.6 R -.15(ve) +3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 261.6 R -.15(ve) -.25 G .521(n, or if the).15 F F23.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 261.6 R(The)5.296 E F2 +to a subset of the set of readonly names.)144 273.6 R(The)5.296 E F2 2.796 E F0(option)2.796 E .786 (causes output to be displayed in a format that may be reused as input.) -144 273.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144 -285.6 Q .717(wed by =)-.25 F F1(wor)A(d)-.37 E F0 3.218(,t)C .718(he v) +144 285.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144 +297.6 Q .717(wed by =)-.25 F F1(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 F1(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 297.6 R F1(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v) +144 309.6 R F1(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 F22.76 E F0 .26 -(is supplied with a)2.76 F F1(name)144.36 309.6 Q F0 -(that is not a function.)2.68 E F2 -.18(re)108 326.4 S(tur).18 E(n)-.15 -E F0([)2.5 E F1(n)A F0(])A .02(Causes a function to stop e)144 338.4 R +(is supplied with a)2.76 F F1(name)144.36 321.6 Q F0 +(that is not a function.)2.68 E F2 -.18(re)108 338.4 S(tur).18 E(n)-.15 +E F0([)2.5 E F1(n)A F0(])A .02(Causes a function to stop e)144 350.4 R -.15(xe)-.15 G .02(cuting and return the v).15 F .021 (alue speci\214ed by)-.25 F F1(n)2.881 E F0 .021(to its caller)2.761 F 5.021(.I)-.55 G(f)-5.021 E F1(n)2.881 E F0 .021(is omitted,)2.761 F .597 -(the return status is that of the last command e)144 350.4 R -.15(xe) +(the return status is that of the last command e)144 362.4 R -.15(xe) -.15 G .596(cuted in the function body).15 F 5.596(.I)-.65 G(f)-5.596 E F2 -.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 362.4 R 2.767(,t)-.4 G .267 +G(cuted).15 E .267(by a trap handler)144 374.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 374.4 R 5.02(.I)-.55 G(f)-5.02 E F2 -.18(re)2.52 G(tur).18 E(n)-.15 +144 386.4 R 5.02(.I)-.55 G(f)-5.02 E F2 -.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 F2(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 386.4 R -.15(xe)-.15 G +.885(mine the status is the last command e)144 398.4 R -.15(xe)-.15 G .886(cuted by the trap handler before).15 F F2 -.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 F2 -.18(re)144 398.4 S(tur).18 E(n)-.15 E F0 .628 +.4 G 3.386(d. If).1 F F2 -.18(re)144 410.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 F2(.)3.127 E F0(\()5.627 E F2(sour)A(ce)-.18 E F0 3.127(\)c)C .627(ommand, it)-3.127 F .588 -(causes the shell to stop e)144 410.4 R -.15(xe)-.15 G .588 +(causes the shell to stop e)144 422.4 R -.15(xe)-.15 G .588 (cuting that script and return either).15 F F1(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 422.4 R -.15(xe)-.15 G .326(cuted within the script as the e).15 F +144 434.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 F1(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 434.4 R .444 +(its least signi\214cant 8 bits.)144 446.4 R .444 (The return status is non-zero if)5.444 F F2 -.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 446.4 R -.15 +(ment, or is used outside a function and not during e)144 458.4 R -.15 (xe)-.15 G .381(cution of a script by).15 F F2(.)2.881 E F0(or)3.714 E F2(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 458.4 R F2(RETURN)3.249 E F0 .749 +.749(mand associated with the)144 470.4 R F2(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 470.4 Q F2 -(set)108 487.2 Q F0([)2.5 E F2(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C +G .75(cution resumes after the function).15 F(or script.)144 482.4 Q F2 +(set)108 499.2 Q F0([)2.5 E F2(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2-2.5 E F1(option\255name)2.5 E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E -F0(...])2.5 E F2(set)108 499.2 Q F0([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F0 +F0(...])2.5 E F2(set)108 511.2 Q F0([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2(+o)-2.5 E F1(option\255name)2.5 E F0 2.5(][)C F1(ar)-2.5 E -(g)-.37 E F0(...])2.5 E -.4(Wi)144 511.2 S .836 +(g)-.37 E F0(...])2.5 E -.4(Wi)144 523.2 S .836 (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 523.2 +(reused as input for setting or resetting the currently-set v)144 535.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 535.2 R F1 .447(posix mode) +(riables cannot be).25 F 2.947(reset. In)144 547.2 R F1 .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 3.53 -(locale. When)144 547.2 R 1.031(options are speci\214ed, the)3.53 F +(locale. When)144 559.2 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 559.2 R .584 +(after option processing are treated as v)144 571.2 R .584 (alues for the positional parameters and are assigned, in or)-.25 F(-) --.2 E(der)144 571.2 Q 2.5(,t)-.4 G(o)-2.5 E F2($1)2.5 E F0(,)A F2($2)2.5 +-.2 E(der)144 583.2 Q 2.5(,t)-.4 G(o)-2.5 E F2($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 -583.2 Q F0 1.377(Each v)184 583.2 R 1.377 +595.2 Q F0 1.377(Each v)184 595.2 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 595.2 Q(ed for e)-.1 E(xport to the en)-.15 -E(vironment of subsequent commands.)-.4 E F2144 607.2 Q F0 .132 -(Report the status of terminated background jobs immediately)184 607.2 R +1.378(ute and)-.2 F(mark)184 607.2 Q(ed for e)-.1 E(xport to the en)-.15 +E(vironment of subsequent commands.)-.4 E F2144 619.2 Q F0 .132 +(Report the status of terminated background jobs immediately)184 619.2 R 2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E -(primary prompt.)184 619.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o) --.25 H(nly when job control is enabled.).15 E F2144 631.2 Q F0 -.087(Exit immediately if a)184 631.2 R F1(pipeline)2.587 E F0 .087 +(primary prompt.)184 631.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o) +-.25 H(nly when job control is enabled.).15 E F2144 643.2 Q F0 +.087(Exit immediately if a)184 643.2 R F1(pipeline)2.587 E F0 .087 (\(which may consist of a single)2.587 F F1 .088(simple command)2.588 F -F0 .088(\), a)B F1(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 643.2 Q +F0 .088(\), a)B F1(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 655.2 Q F1 1.521(compound command)4.021 F F0(\(see)4.021 E F3 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 -655.2 R .079(xit if the command that f)-.15 F .08 -(ails is part of the command list immediately)-.1 F(follo)184 667.2 Q +667.2 R .079(xit if the command that f)-.15 F .08 +(ails is part of the command list immediately)-.1 F(follo)184 679.2 Q 1.655(wing a)-.25 F F2(while)4.155 E F0(or)4.155 E F2(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 F2(if)4.154 E F0(or)4.154 E F2(elif)4.154 E F0(reserv) -4.154 E(ed)-.15 E -.1(wo)184 679.2 S .581(rds, part of an).1 F 3.081(yc) +4.154 E(ed)-.15 E -.1(wo)184 691.2 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 F2 (&&)3.081 E F0(or)3.081 E F2(||)3.081 E F0 .582(list e)3.082 F .582 -(xcept the command follo)-.15 F(wing)-.25 E .918(the \214nal)184 691.2 R +(xcept the command follo)-.15 F(wing)-.25 E .918(the \214nal)184 703.2 R F2(&&)3.418 E F0(or)3.418 E F2(||)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 703.2 S .66(lue is being in).25 F -.15(ve)-.4 G .66 +-.25(va)184 715.2 S .66(lue is being in).25 F -.15(ve)-.4 G .66 (rted with).15 F F2(!)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 715.2 R 1.112(ailed while)-.1 F +(non-zero status because a command f)184 727.2 R 1.112(ailed while)-.1 F F23.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 727.2 R 2.677 -(xit. A)-.15 F .177(trap on)2.677 F F2(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(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E -(70)199.835 E 0 Cg EP +(eing ignored, the shell does)-3.612 F(GNU Bash 5.1)72 768 Q +(2020 August 25)142.895 E(70)192.055 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 .618(the shell en) -184 84 R .617(vironment and each subshell en)-.4 F .617 -(vironment separately \(see)-.4 F/F1 9/Times-Bold@0 SF .617 -(COMMAND EXE-)3.117 F .642(CUTION ENVIR)184 96 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 108 Q .999 -(If a compound command or shell function e)184 126 R -.15(xe)-.15 G .999 -(cutes in a conte).15 F .998(xt where)-.15 F/F2 10/Times-Bold@0 SF -3.498 E F0 .998(is being ig-)3.498 F .089(nored, none of the commands e) -184 138 R -.15(xe)-.15 G .089 -(cuted within the compound command or function body).15 F .503 -(will be af)184 150 R .503(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 .502 -(ailure sta-)-.1 F 4.183(tus. If)184 162 R 4.183(ac)4.183 G 1.683 -(ompound command or shell function sets)-4.183 F F24.184 E F0 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .177(not e)184 84 +R 2.677(xit. A)-.15 F .177(trap on)2.677 F/F1 10/Times-Bold@0 SF(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 96 R .617 +(vironment and each subshell en)-.4 F .617(vironment separately \(see) +-.4 F/F2 9/Times-Bold@0 SF .617(COMMAND EXE-)3.117 F .642(CUTION ENVIR) +184 108 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 120 Q +.999(If a compound command or shell function e)184 138 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 150 R -.15 +(xe)-.15 G .089(cuted within the compound command or function body).15 F +.503(will be af)184 162 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 174 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 174 Q F23.154 E F0 .654 +-.15 E(where)184 186 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 186 Q F2 -144 198 Q F0(Disable pathname e)184 198 Q(xpansion.)-.15 E F2 -144 210 Q F0 .988(Remember the location of commands as the)184 210 +(or the command containing the function call completes.)184 198 Q F1 +144 210 Q F0(Disable pathname e)184 210 Q(xpansion.)-.15 E F1 +144 222 Q F0 .988(Remember the location of commands as the)184 222 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 222 -Q(ault.)-.1 E F2144 234 Q F0 .514(All ar)184 234 R .514 +-.15 G 3.488(cution. This).15 F .988(is en-)3.488 F(abled by def)184 234 +Q(ault.)-.1 E F1144 246 Q F0 .514(All ar)184 246 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 246 Q F2 -144 258 Q F0 .148(Monitor mode.)184 258 R .148 +(command, not just those that precede the command name.)184 258 Q F1 +144 270 Q F0 .148(Monitor mode.)184 270 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 270 R F1 .651(JOB CONTR)3.151 F +(on systems that support it \(see)184 282 R F2 .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 282 R .679 +(processes run in a separate)3.151 F .678(process group.)184 294 R .679 (When a background job completes, the shell prints a line containing it\ -s)5.678 F -.15(ex)184 294 S(it status.).15 E F2144 306 Q F0 .653 -(Read commands b)184 306 R .653(ut do not e)-.2 F -.15(xe)-.15 G .653 +s)5.678 F -.15(ex)184 306 S(it status.).15 E F1144 318 Q F0 .653 +(Read commands b)184 318 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 318 Q(This is ignored by interacti)5 E .3 --.15(ve s)-.25 H(hells.).15 E F2144 330 Q/F3 10/Times-Italic@0 SF -(option\255name)2.5 E F0(The)184 342 Q F3(option\255name)2.5 E F0 -(can be one of the follo)2.5 E(wing:)-.25 E F2(allexport)184 354 Q F0 -(Same as)224 366 Q F22.5 E F0(.)A F2(braceexpand)184 378 Q F0 -(Same as)224 390 Q F22.5 E F0(.)A F2(emacs)184 402 Q F0 .089 -(Use an emacs-style command line editing interf)224 402 R 2.589 +5.653 F(syntax errors.)184 330 Q(This is ignored by interacti)5 E .3 +-.15(ve s)-.25 H(hells.).15 E F1144 342 Q/F3 10/Times-Italic@0 SF +(option\255name)2.5 E F0(The)184 354 Q F3(option\255name)2.5 E F0 +(can be one of the follo)2.5 E(wing:)-.25 E F1(allexport)184 366 Q F0 +(Same as)224 378 Q F12.5 E F0(.)A F1(braceexpand)184 390 Q F0 +(Same as)224 402 Q F12.5 E F0(.)A F1(emacs)184 414 Q F0 .089 +(Use an emacs-style command line editing interf)224 414 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 414 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 426 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 438 Q(exit)-.18 E F0(Same as)224 438 Q F22.5 E F0(.)A F2 -(errtrace)184 450 Q F0(Same as)224 450 Q F22.5 E F0(.)A F2 -(functrace)184 462 Q F0(Same as)224 474 Q F22.5 E F0(.)A F2 -(hashall)184 486 Q F0(Same as)224 486 Q F22.5 E F0(.)A F2 -(histexpand)184 498 Q F0(Same as)224 510 Q F22.5 E F0(.)A F2 -(history)184 522 Q F0 .586(Enable command history)224 522 R 3.087(,a) +(when the shell is interacti)224 426 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 438 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 450 Q(exit)-.18 E F0(Same as)224 450 Q F12.5 E F0(.)A F1 +(errtrace)184 462 Q F0(Same as)224 462 Q F12.5 E F0(.)A F1 +(functrace)184 474 Q F0(Same as)224 486 Q F12.5 E F0(.)A F1 +(hashall)184 498 Q F0(Same as)224 498 Q F12.5 E F0(.)A F1 +(histexpand)184 510 Q F0(Same as)224 522 Q F12.5 E F0(.)A F1 +(history)184 534 Q F0 .586(Enable command history)224 534 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 F1(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 534 Q -(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F2(ignor)184 -546 Q(eeof)-.18 E F0 1.657(The ef)224 558 R 1.657 +H(nder).15 E F2(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 546 Q +(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 +558 Q(eeof)-.18 E F0 1.657(The ef)224 570 R 1.657 (fect is as if the shell command)-.25 F/F5 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 -570 Q F2(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).) -.15 E F2 -.1(ke)184 582 S(yw).1 E(ord)-.1 E F0(Same as)224 594 Q F2 -2.5 E F0(.)A F2(monitor)184 606 Q F0(Same as)224 606 Q F22.5 -E F0(.)A F2(noclob)184 618 Q(ber)-.1 E F0(Same as)224 630 Q F22.5 -E F0(.)A F2(noexec)184 642 Q F0(Same as)224 642 Q F22.5 E F0(.)A -F2(noglob)184 654 Q F0(Same as)224 654 Q F22.5 E F0(.)A F2(nolog) -184 666 Q F0(Currently ignored.)224 666 Q F2(notify)184 678 Q F0 -(Same as)224 678 Q F22.5 E F0(.)A F2(nounset)184 690 Q F0(Same as) -224 690 Q F22.5 E F0(.)A F2(onecmd)184 702 Q F0(Same as)224 702 Q -F22.5 E F0(.)A F2(ph)184 714 Q(ysical)-.15 E F0(Same as)224 714 Q -F22.5 E F0(.)A(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(71) -199.835 E 0 Cg EP +582 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 594 S(yw).1 E(ord)-.1 E F0(Same as)224 606 Q F1 +2.5 E F0(.)A F1(monitor)184 618 Q F0(Same as)224 618 Q F12.5 +E F0(.)A F1(noclob)184 630 Q(ber)-.1 E F0(Same as)224 642 Q F12.5 +E F0(.)A F1(noexec)184 654 Q F0(Same as)224 654 Q F12.5 E F0(.)A +F1(noglob)184 666 Q F0(Same as)224 666 Q F12.5 E F0(.)A F1(nolog) +184 678 Q F0(Currently ignored.)224 678 Q F1(notify)184 690 Q F0 +(Same as)224 690 Q F12.5 E F0(.)A F1(nounset)184 702 Q F0(Same as) +224 702 Q F12.5 E F0(.)A F1(onecmd)184 714 Q F0(Same as)224 714 Q +F12.5 E F0(.)A(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(71) +192.055 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 -SF(pipefail)184 84 Q F0 1.029(If set, the return v)224 84 R 1.029 +SF(ph)184 84 Q(ysical)-.15 E F0(Same as)224 84 Q F12.5 E F0(.)A F1 +(pipefail)184 96 Q F0 1.029(If set, the return v)224 96 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 96 R +(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 108 R 1.136 (xit with a non-zero status, or zero if all commands in the pipeline) --.15 F -.15(ex)224 108 S(it successfully).15 E 5(.T)-.65 G -(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 120 Q F0 -2.09(Change the beha)224 120 R 2.091(vior of)-.2 F F1(bash)4.591 E F0 +-.15 F -.15(ex)224 120 S(it successfully).15 E 5(.T)-.65 G +(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 132 Q F0 +2.09(Change the beha)224 132 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 -132 R/F2 10/Times-Italic@0 SF 1.212(posix mode)B F0 3.712(\). See)B/F3 9 +144 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.462 E(w)-.25 E .954 -(for a reference to a document that details ho)224 144 R 3.455(wp)-.25 G +(for a reference to a document that details ho)224 156 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 156 Q(vior)-.2 E(.)-.55 E F1(pri)184 168 Q(vileged)-.1 E -F0(Same as)224 180 Q F12.5 E F0(.)A F1 -.1(ve)184 192 S(rbose).1 E -F0(Same as)224 192 Q F12.5 E F0(.)A F1(vi)184 204 Q F0 .209 -(Use a vi-style command line editing interf)224 204 R 2.709(ace. This) +-3.455 E(ha)224 168 Q(vior)-.2 E(.)-.55 E F1(pri)184 180 Q(vileged)-.1 E +F0(Same as)224 192 Q F12.5 E F0(.)A F1 -.1(ve)184 204 S(rbose).1 E +F0(Same as)224 204 Q F12.5 E F0(.)A F1(vi)184 216 Q F0 .209 +(Use a vi-style command line editing interf)224 216 R 2.709(ace. This) -.1 F .209(also af)2.709 F .209(fects the editing in-)-.25 F(terf)224 -216 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1 -(xtrace)184 228 Q F0(Same as)224 228 Q F12.5 E F0(.)A(If)184 246 Q +228 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1 +(xtrace)184 240 Q F0(Same as)224 240 Q F12.5 E F0(.)A(If)184 258 Q F13.052 E F0 .552(is supplied with no)3.052 F F2(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 -258 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0 +270 Q F0 1.072(is supplied with no)3.572 F F2(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 270 Q F1 -144 282 Q F0 -.45(Tu)184 282 S 1.071(rn on).45 F F2(privile)4.821 E -.1 +(option settings is displayed on the standard output.)184 282 Q F1 +144 294 Q F0 -.45(Tu)184 294 S 1.071(rn on).45 F F2(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 F3($ENV)3.572 E F0(and)3.322 E F3($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 294 R 1.5 +(cessed, shell functions are not inherited from the en)184 306 R 1.5 (vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3 --.27(BA)184 306 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H) +-.27(BA)184 318 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H) .855 E F4(,)A F0(and)2.774 E F3(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 318 R .38 +(vironment,)-.4 E .38(are ignored.)184 330 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 330 R F12.961 E F0 .461 +(user \(group\) id, and the)184 342 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 342 Q .695 -.15(ve u)-.25 H .395 +(en and the ef)-.1 F(fec-)-.25 E(ti)184 354 Q .695 -.15(ve u)-.25 H .395 (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 354 R -.45(Tu)5.386 G +E -.15(ve)-.25 G .386(user id is not reset.)184 366 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 366 Q F1144 378 Q F0 -(Exit after reading and e)184 378 Q -.15(xe)-.15 G(cuting one command.) -.15 E F1144 390 Q F0 -.35(Tr)184 390 S .044(eat unset v).35 F .044 +(set to the real user and group ids.)184 378 Q F1144 390 Q F0 +(Exit after reading and e)184 390 Q -.15(xe)-.15 G(cuting one command.) +.15 E F1144 402 Q F0 -.35(Tr)184 402 S .044(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 402 R 2.682 +as an)-.25 F .182(error when performing parameter e)184 414 R 2.682 (xpansion. If)-.15 F -.15(ex)2.682 G .183 (pansion is attempted on an unset v).15 F(ari-)-.25 E .746 -(able or parameter)184 414 R 3.246(,t)-.4 G .746 +(able or parameter)184 426 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 -426 Q F1144 438 Q F0(Print shell input lines as the)184 438 Q 2.5 -(ya)-.15 G(re read.)-2.5 E F1144 450 Q F0 .315(After e)184 450 R +438 Q F1144 450 Q F0(Print shell input lines as the)184 450 Q 2.5 +(ya)-.15 G(re read.)-2.5 E F1144 462 Q F0 .315(After e)184 462 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 1.236(or arithmetic)184 -462 R F1 -.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F +474 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 474 Q +(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 486 Q (xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1 -144 486 Q F0 1.205(The shell performs brace e)184 486 R 1.205 +144 498 Q F0 1.205(The shell performs brace e)184 498 R 1.205 (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 498 S(ult.).1 E F1144 510 Q F0 .214(If set,)184 510 R F1(bash) +184 510 S(ult.).1 E F1144 522 Q F0 .214(If set,)184 522 R F1(bash) 2.714 E F0 .214(does not o)2.714 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 522 R .553(may be o)3.053 F -.15(ve)-.15 G .553 +3.053(tors. This)184 534 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 534 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 -144 546 Q F0 .104(If set, an)184 546 R 2.604(yt)-.15 G .104 +.15 F(tor)184 546 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 +144 558 Q F0 .104(If set, an)184 558 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 558 R -.15(xe)-.15 G .838(cuted in a subshell en).15 +F .838(mands e)184 570 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 570 Q F1 -144 582 Q F0(Enable)184 582 Q F1(!)3.032 E F0 .532 +(trap is normally not inherited in)3.339 F(such cases.)184 582 Q F1 +144 594 Q F0(Enable)184 594 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 594 Q -.15 -(ve)-.25 G(.).15 E F1144 606 Q F0 .959 -(If set, the shell does not resolv)184 606 R 3.459(es)-.15 G .959 +F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 606 Q -.15 +(ve)-.25 G(.).15 E F1144 618 Q F0 .959 +(If set, the shell does not resolv)184 618 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 618 R 1.453(orking directory)-.1 F 6.453 +(that change the current w)184 630 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 630 R(def) +(ysical directory structure in-)-.05 F 3.334(stead. By)184 642 R(def) 3.334 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 642 Q(.)-.65 E F1144 -654 Q F0 .89(If set, an)184 654 R 3.39(yt)-.15 G .89(raps on)-3.39 F F1 +(mands which change the current directory)184 654 Q(.)-.65 E F1144 +666 Q F0 .89(If set, an)184 666 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 666 R -.15(xe)-.15 G 1.932 +(substitutions, and commands e)184 678 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 678 Q F0 -(traps are normally not inherited in such cases.)2.5 E F1144 690 Q -F0 .401(If no ar)184 690 R .401(guments follo)-.18 F 2.901(wt)-.25 G +(UG)-.1 E F0(and)4.432 E F1(RETURN)184 690 Q F0 +(traps are normally not inherited in such cases.)2.5 E F1144 702 Q +F0 .401(If no ar)184 702 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 702 Q F2 +(Otherwise,)5.4 E(the positional parameters are set to the)184 714 Q F2 (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 -714 Q F0 .796(Signal the end of options, cause all remaining)184 714 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 4.075(rameters. The)184 726 -R F14.075 E F0(and)4.075 E F14.075 E F0 1.575 -(options are turned of)4.075 F 4.075(f. If)-.25 F 1.574(there are no) -4.075 F F2(ar)4.074 E(g)-.37 E F0 1.574(s, the positional)B -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(72)199.835 E 0 Cg EP +(ome of them be)-2.5 E(gin with a)-.15 E F12.5 E F0(.)A +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(72)192.055 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 -(parameters remain unchanged.)184 84 Q .425(The options are of)144 100.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 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 +SF144 84 Q F0 .796(Signal the end of options, cause all remaining) +184 84 R/F2 10/Times-Italic@0 SF(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 96 R F13.022 E F0(and)3.022 E F1 +3.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 108 Q .425 +(The options are of)144 124.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 112.8 R 2.678(f. The)-.25 F .178 +(to be turned of)144 136.8 R 2.678(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 124.8 R/F1 10/Times-Bold@0 -SF<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 136.8 Q F1(shift)108 153.6 Q F0([)2.5 E/F2 10 -/Times-Italic@0 SF(n)A F0(])A .429(The positional parameters from)144 -165.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 177.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 189.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 201.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 213.6 Q F1(shopt)108 230.4 Q F0([) +(current set of options may be found in)144 148.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 160.8 Q F1(shift)108 177.6 Q F0([)2.5 E F2(n)A F0 +(])A .429(The positional parameters from)144 189.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 201.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 213.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 225.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 237.6 Q F1(shopt)108 254.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 242.4 S .64(ggle the v).8 F .639 +-2.5 E F0(...])2.5 E -.8(To)144 266.4 S .64(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 254.4 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H +(listed belo)144 278.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 (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 266.4 R .066 +(bu)2.875 G .375(iltin com-).2 F 2.566(mand. W)144 290.4 R .066 (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 278.4 R F2 +F .074(dication of whether or not each is set; if)144 302.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 290.4 R F13.105 E F0 .605(option causes output to\ +(tions. The)144 314.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 302.4 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 314.4 Q F0(Enable \(set\) each)180 -314.4 Q F2(optname)2.5 E F0(.)A F1144 326.4 Q F0 -(Disable \(unset\) each)180 326.4 Q F2(optname)2.5 E F0(.)A F1144 -338.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\ -tus indicates whether the)180 338.4 R F2(optname)2.504 E F0(is)2.504 E -.256(set or unset.)180 350.4 R .256(If multiple)5.256 F F2(optname)2.756 +E(options ha)144 326.4 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1144 338.4 Q F0(Enable \(set\) each)180 +338.4 Q F2(optname)2.5 E F0(.)A F1144 350.4 Q F0 +(Disable \(unset\) each)180 350.4 Q F2(optname)2.5 E F0(.)A F1144 +362.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\ +tus indicates whether the)180 362.4 R F2(optname)2.504 E F0(is)2.504 E +.256(set or unset.)180 374.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 362.4 Q F2(optnames)2.5 E -F0(are enabled; non-zero otherwise.)2.5 E F1144 374.4 Q F0 -(Restricts the v)180 374.4 Q(alues of)-.25 E F2(optname)2.5 E F0 +(he return status is zero if)-2.755 F(all)180 386.4 Q F2(optnames)2.5 E +F0(are enabled; non-zero otherwise.)2.5 E F1144 398.4 Q F0 +(Restricts the v)180 398.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 391.2 R F1 +E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .624(If either)144 415.2 R F1 3.124 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 403.2 R -.15(ve)-.25 G(ly).15 E 5.984(.U) +(set or unset, respecti)144 427.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 415.2 S(ult.) -.1 E 1.544(The return status when listing options is zero if all)144 432 +(options are disabled \(unset\) by de-)3.483 F -.1(fa)144 439.2 S(ult.) +.1 E 1.544(The return status when listing options is zero if all)144 456 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)4.045 F .696 (When setting or unsetting options, the return status is zero unless an) -144 444 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell) --.25 F(option.)144 456 Q(The list of)144 472.8 Q F1(shopt)2.5 E F0 -(options is:)2.5 E F1(assoc_expand_once)144 490.8 Q F0 1.944 -(If set, the shell suppresses multiple e)184 502.8 R -.25(va)-.25 G +144 468 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell) +-.25 F(option.)144 480 Q(The list of)144 496.8 Q F1(shopt)2.5 E F0 +(options is:)2.5 E F1(assoc_expand_once)144 514.8 Q F0 1.944 +(If set, the shell suppresses multiple e)184 526.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 514.8 R .885 +(rray subscripts during).15 F .885(arithmetic e)184 538.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 526.8 Q -.15(xe)-.15 G +(ariable as-)-.25 F(signments, and while e)184 550.8 Q -.15(xe)-.15 G (cuting b).15 E(uiltins that perform array dereferencing.)-.2 E F1 -(autocd)144 538.8 Q F0 .199 -(If set, a command name that is the name of a directory is e)184 538.8 R +(autocd)144 562.8 Q F0 .199 +(If set, a command name that is the name of a directory is e)184 562.8 R -.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E -(ment to the)184 550.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F +(ment to the)184 574.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 -F1(cdable_v)144 562.8 Q(ars)-.1 E F0 .156(If set, an ar)184 574.8 R .156 +F1(cdable_v)144 586.8 Q(ars)-.1 E F0 .156(If set, an ar)184 598.8 R .156 (gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155 (iltin command that is not a directory is assumed to be the).2 F -(name of a v)184 586.8 Q(ariable whose v)-.25 E -(alue is the directory to change to.)-.25 E F1(cdspell)144 598.8 Q F0 +(name of a v)184 610.8 Q(ariable whose v)-.25 E +(alue is the directory to change to.)-.25 E F1(cdspell)144 622.8 Q F0 1.055 (If set, minor errors in the spelling of a directory component in a)184 -598.8 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988 -(corrected. The)184 610.8 R 1.488(errors check)3.988 F 1.487 +622.8 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988 +(corrected. The)184 634.8 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 622.8 R 4.57 -.65(y. I) +-.4 G(nd)-3.987 E .77(one character too man)184 646.8 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 634.8 Q +(the command proceeds.)184 658.8 Q (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.) -.15 E F1(checkhash)144 646.8 Q F0 .737(If set,)184 658.8 R F1(bash)3.237 +.15 E F1(checkhash)144 670.8 Q F0 .737(If set,)184 682.8 R F1(bash)3.237 E F0 .736(checks that a command found in the hash table e)3.237 F .736 (xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 -670.8 Q(If a hashed command no longer e)5 E -(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 682.8 -Q F0 .448(If set,)184 694.8 R F1(bash)2.948 E F0 .448 +694.8 Q(If a hashed command no longer e)5 E +(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 706.8 +Q F0 .448(If set,)184 718.8 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 706.8 R(an)2.662 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 -(tempted without an interv)184 718.8 R 1.473(ening command \(see)-.15 F -/F3 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 -730.8 S(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G -(obs are stopped.)-2.5 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(73) -199.835 E 0 Cg EP +F -.15(ve)-.25 G 3.439(shell. If)184 730.8 R(an)3.439 E 3.439(yj)-.15 G +.938(obs are running, this causes the e)-3.439 F .938 +(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(73)192.055 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/F1 10/Times-Bold@0 -SF(checkwinsize)144 84 Q F0 1.09(If set,)184 96 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 108 Q 3.35(,u)-.65 G .85(pdates the v)-3.35 F .85 -(alues of)-.25 F/F2 9/Times-Bold@0 SF(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 120 S(ult.).1 E F1 -(cmdhist)144 132 Q F0 .173(If set,)184 132 R F1(bash)2.673 E F0 .173 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .816 +(attempted without an interv)184 84 R .816(ening command \(see)-.15 F/F1 +9/Times-Bold@0 SF .817(JOB CONTR)3.316 F(OL)-.27 E F0(abo)3.067 E -.15 +(ve)-.15 G 3.317(\). The).15 F .817(shell al-)3.317 F -.1(wa)184 96 S +(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.) +-2.5 E/F2 10/Times-Bold@0 SF(checkwinsize)144 108 Q F0 1.09(If set,)184 +120 R F2(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 132 Q 3.35(,u)-.65 G .85 +(pdates the v)-3.35 F .85(alues of)-.25 F F1(LINES)3.35 E F0(and)3.1 E +F1(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 144 S(ult.).1 E F2 +(cmdhist)144 156 Q F0 .173(If set,)184 156 R F2(bash)2.673 E F0 .173 (attempts to sa)2.673 F .473 -.15(ve a)-.2 H .172 (ll lines of a multiple-line command in the same history en-).15 F(try) -184 144 Q 5.596(.T)-.65 G .597(his allo)-5.596 F .597 +184 168 Q 5.596(.T)-.65 G .597(his allo)-5.596 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 156 S 1.288(ult, b).1 +(This option is enabled by de-)5.597 F -.1(fa)184 180 S 1.288(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 -(ve u)-.15 H(nder).15 E F2(HIST)184 168 Q(OR)-.162 E(Y)-.315 E F3(.)A F1 -(compat31)144 180 Q(compat32)144 192 Q(compat40)144 204 Q(compat41)144 -216 Q(compat42)144 228 Q(compat43)144 240 Q(compat44)144 252 Q F0 .889 -(These control aspects of the shell')184 264 R 3.389(sc)-.55 G .889 -(ompatibility mode \(see)-3.389 F F2 .889(SHELL COMP)3.389 F -.855(AT) --.666 G(IBILITY).855 E(MODE)184 276 Q F0(belo)2.25 E(w\).)-.25 E F1 -(complete_fullquote)144 292.8 Q F0 .654(If set,)184 304.8 R F1(bash) +(ve u)-.15 H(nder).15 E F1(HIST)184 192 Q(OR)-.162 E(Y)-.315 E F3(.)A F2 +(compat31)144 204 Q(compat32)144 216 Q(compat40)144 228 Q(compat41)144 +240 Q(compat42)144 252 Q(compat43)144 264 Q(compat44)144 276 Q F0 .889 +(These control aspects of the shell')184 288 R 3.389(sc)-.55 G .889 +(ompatibility mode \(see)-3.389 F F1 .889(SHELL COMP)3.389 F -.855(AT) +-.666 G(IBILITY).855 E(MODE)184 300 Q F0(belo)2.25 E(w\).)-.25 E F2 +(complete_fullquote)144 316.8 Q F0 .654(If set,)184 328.8 R F2(bash) 3.153 E F0 .653(quotes all shell metacharacters in \214lenames and dire\ -ctory names when per)3.153 F(-)-.2 E 1.524(forming completion.)184 316.8 -R 1.524(If not set,)6.524 F F1(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15 +ctory names when per)3.153 F(-)-.2 E 1.524(forming completion.)184 340.8 +R 1.524(If not set,)6.524 F F2(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 characters that will be quoted in completed \214l\ -enames when these)184 328.8 R .028(metacharacters appear in shell v)184 -340.8 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 352.8 R +enames when these)184 352.8 R .028(metacharacters appear in shell v)184 +364.8 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 376.8 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 364.8 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123 +(ev e)184 388.8 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 -376.8 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 388.8 Q +400.8 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 412.8 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 405.6 Q(expand)-.18 E F0 .486 -(If set,)184 417.6 R F1(bash)2.986 E F0 .486 +(ersions through 4.2.)-.15 E F2(dir)144 429.6 Q(expand)-.18 E F0 .486 +(If set,)184 441.6 R F2(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 -429.6 R .179(This changes the contents of the readline editing b)5.18 F +453.6 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 441.6 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 458.4 Q F0 .858(If set,)184 -458.4 R F1(bash)3.358 E F0 .858 +184 465.6 Q F2(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G +(hat the user typed.)-2.5 E F2(dirspell)144 482.4 Q F0 .858(If set,)184 +482.4 R F2(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 470.4 Q(xist.)-.15 -E F1(dotglob)144 487.2 Q F0 .165(If set,)184 487.2 R F1(bash)2.665 E F0 +(the directory name initially supplied does not e)184 494.4 Q(xist.)-.15 +E F2(dotglob)144 511.2 Q F0 .165(If set,)184 511.2 R F2(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 499.2 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 +(xpansion.)-.15 E(The \214lenames)184 523.2 Q F2 -.63(``)2.5 G -.55(.') +.63 G(')-.08 E F0(and)5 E F2 -.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 516 Q F0 .516(If set, a non-interacti)184 -516 R .816 -.15(ve s)-.25 H .516(hell will not e).15 F .516 +(,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F2(dotglob)2.5 E F0 +(is set.)2.5 E F2(execfail)144 540 Q F0 .516(If set, a non-interacti)184 +540 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 -528 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 544.8 Q F0 .717 -(If set, aliases are e)184 556.8 R .717(xpanded as described abo)-.15 F -1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .716 -(This option is enabled)5.217 F(by def)184 568.8 Q(ault for interacti) --.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 585.6 Q(ug)-.2 E F0 -.17(If set at shell in)184 597.6 R -.2(vo)-.4 G .17 +552 Q F2(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 F2(exec)2.5 E F0 +-.1(fa)2.5 G(ils.).1 E F2(expand_aliases)144 568.8 Q F0 .717 +(If set, aliases are e)184 580.8 R .717(xpanded as described abo)-.15 F +1.017 -.15(ve u)-.15 H(nder).15 E F1(ALIASES)3.217 E F3(.)A F0 .716 +(This option is enabled)5.217 F(by def)184 592.8 Q(ault for interacti) +-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F2(extdeb)144 609.6 Q(ug)-.2 E F0 +.17(If set at shell in)184 621.6 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.082 -(before the shell starts, identical to the)184 609.6 R F1 +(before the shell starts, identical to the)184 633.6 R F2 3.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 621.6 Q -(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184 -638.4 Q F0(The)220 638.4 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 +F -.2(vo)-.4 G 1.081(cation, be-).2 F(ha)184 645.6 Q +(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F2(1.)184 +662.4 Q F0(The)220 662.4 Q F24.25 E F0 1.75(option to the)4.25 F +F2(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 650.4 -Q(gument.)-.18 E F1(2.)184 667.2 Q F0 1.667(If the command run by the) -220 667.2 R F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v) +(number corresponding to each function name supplied as an ar)220 674.4 +Q(gument.)-.18 E F2(2.)184 691.2 Q F0 1.667(If the command run by the) +220 691.2 R F2(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 679.2 Q -.15(xe)-.15 G(cuted.).15 E F1 -(3.)184 696 Q F0 .84(If the command run by the)220 696 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 708 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 720 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(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(74)199.835 -E 0 Cg EP +(command is skipped and not e)220 703.2 Q -.15(xe)-.15 G(cuted.).15 E +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(74)192.055 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(4.)184 84 Q/F2 9/Times-Bold@0 SF -.27(BA)220 84 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 96 Q --.15(ve)-.15 G(.).15 E F1(5.)184 112.8 Q F0 1.637(Function tracing is e\ -nabled: command substitution, shell functions, and sub-)220 112.8 R -(shells in)220 124.8 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E -F1(\()2.5 E/F3 10/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0 +SF(3.)184 84 Q F0 .84(If the command run by the)220 84 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 96 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 108 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 124.8 Q/F2 9/Times-Bold@0 SF -.27(BA)220 +124.8 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 +136.8 Q -.15(ve)-.15 G(.).15 E F1(5.)184 153.6 Q F0 1.637(Function trac\ +ing is enabled: command substitution, shell functions, and sub-)220 +153.6 R(shells in)220 165.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith) +-2.5 E F1(\()2.5 E/F3 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 141.6 Q F0 1.082(Error tracing is enabled: comm\ -and substitution, shell functions, and subshells)220 141.6 R(in)220 -153.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3 +(traps.)2.5 E F1(6.)184 182.4 Q F0 1.082(Error tracing is enabled: comm\ +and substitution, shell functions, and subshells)220 182.4 R(in)220 +194.4 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3 (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 170.4 Q F0 .4(If set, the e)184 170.4 R .4 +2.5 E F1(extglob)144 211.2 Q F0 .4(If set, the e)184 211.2 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 182.4 Q -F0(are enabled.)2.5 E F1(extquote)144 199.2 Q F0 .86(If set,)184 211.2 R -F1($)3.36 E F0<08>A F3(string)A F0 3.36<0861>C(nd)-3.36 E F1($)3.36 E F0 +-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 223.2 Q +F0(are enabled.)2.5 E F1(extquote)144 240 Q F0 .86(If set,)184 252 R F1 +($)3.36 E F0<08>A F3(string)A F0 3.36<0861>C(nd)-3.36 E F1($)3.36 E F0 (")A F3(string)A F0 3.36("q)C .86(uoting is performed within)-3.36 F F1 (${)3.36 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)3.36 G .86 -(pansions en-).15 F(closed in double quotes.)184 223.2 Q -(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 240 Q F0 -.243(If set, patterns which f)184 240 R .243 +(pansions en-).15 F(closed in double quotes.)184 264 Q +(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 280.8 Q +F0 .243(If set, patterns which f)184 280.8 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 252 Q(.)-.55 -E F1 -.25(fo)144 268.8 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 .936 -(If set, the suf)184 280.8 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 .32(when performing w)184 292.8 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 304.8 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0 +(xpansion result in an e)-.15 F(x-)-.15 E(pansion error)184 292.8 Q(.) +-.55 E F1 -.25(fo)144 309.6 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 +.936(If set, the suf)184 321.6 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 .32(when performing w)184 333.6 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 345.6 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/F4 9/Times-Roman@0 SF(.)A F0 .448(This option is)4.948 -F(enabled by def)184 316.8 Q(ault.)-.1 E F1(globasciiranges)144 333.6 Q -F0 2.519(If set, range e)184 345.6 R 2.519 +F(enabled by def)184 357.6 Q(ault.)-.1 E F1(globasciiranges)144 374.4 Q +F0 2.519(If set, range e)184 386.4 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 357.6 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b).15 G(eha) +(Matching)184 398.4 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 369.6 R 3.52(sc)-.55 G +-3.214 F 1.02(That is, the current locale')184 410.4 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 381.6 R F1 +F1(b)3.52 E F0 1.02(will not)3.52 F .956(collate between)184 422.4 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 393.6 Q(.)-.55 E -F1(globstar)144 410.4 Q F0 .519(If set, the pattern)184 410.4 R F1(**) +(-case ASCII characters will collate)-.2 F(together)184 434.4 Q(.)-.55 E +F1(globstar)144 451.2 Q F0 .519(If set, the pattern)184 451.2 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 422.4 R .431 +(or more directories and subdirectories.)184 463.2 R .431 (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 -434.4 Q F1(gnu_errfmt)144 451.2 Q F0(If set, shell error messages are w\ -ritten in the standard GNU error message format.)184 463.2 Q F1 -(histappend)144 480 Q F0 .676 +475.2 Q F1(gnu_errfmt)144 492 Q F0(If set, shell error messages are wri\ +tten in the standard GNU error message format.)184 504 Q F1(histappend) +144 520.8 Q F0 .676 (If set, the history list is appended to the \214le named by the v)184 -492 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 504 Q(xits, rather than o)-.15 E --.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 520.8 Q(eedit) --.18 E F0 .575(If set, and)184 532.8 R F1 -.18(re)3.075 G(adline).18 E +532.8 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 544.8 Q(xits, rather than o)-.15 E +-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 561.6 Q(eedit) +-.18 E F0 .575(If set, and)184 573.6 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 544.8 Q F1(histv)144 561.6 Q(erify)-.1 E F0 .403 -(If set, and)184 573.6 R F1 -.18(re)2.903 G(adline).18 E F0 .403 +(tory substitution.)184 585.6 Q F1(histv)144 602.4 Q(erify)-.1 E F0 .403 +(If set, and)184 614.4 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 .661(passed to the shell parser)184 585.6 R 5.661(.I)-.55 G .662 +2.903 F .661(passed to the shell parser)184 626.4 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 597.6 S -.25(ff).2 G(er).25 +G(adline).18 E F0(editing)3.162 E -.2(bu)184 638.4 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 614.4 Q F0 1.182(If set, and)184 626.4 R F1 -.18(re) +(hostcomplete)144 655.2 Q F0 1.182(If set, and)184 667.2 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 638.4 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381 +184 679.2 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 650.4 Q -.15(ve)-.15 G 2.5(\). This).15 F -(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 667.2 Q F0 -(If set,)184 679.2 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 696 Q(exit)-.18 E F0 .22 -(If set, command substitution inherits the v)184 708 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 720 Q 2.5(vironment. This)-.4 F -(option is enabled when)2.5 E F3(posix mode)2.5 E F0(is enabled.)2.5 E -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(75)199.835 E 0 Cg EP +F2(READLINE)3.881 E F0(abo)184 691.2 Q -.15(ve)-.15 G 2.5(\). This).15 F +(is enabled by def)2.5 E(ault.)-.1 E(GNU Bash 5.1)72 768 Q +(2020 August 25)142.895 E(75)192.055 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(interacti)144 84 Q -.1(ve)-.1 G(_comments).1 E F0 .33(If set, allo) -184 96 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 -(ord and all remaining characters on)-.1 F .967 -(that line to be ignored in an interacti)184 108 R 1.267 -.15(ve s)-.25 -H .967(hell \(see).15 F/F2 9/Times-Bold@0 SF(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 120 Q(ault.)-.1 E F1(lastpipe)144 136.8 Q F0 .066 -(If set, and job control is not acti)184 136.8 R -.15(ve)-.25 G 2.566 +SF(huponexit)144 84 Q F0(If set,)184 96 Q F1(bash)2.5 E F0(will send)2.5 +E/F2 9/Times-Bold@0 SF(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 112.8 Q(exit)-.18 E F0 .22 +(If set, command substitution inherits the v)184 124.8 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 136.8 Q +2.5(vironment. This)-.4 F(option is enabled when)2.5 E/F3 10 +/Times-Italic@0 SF(posix mode)2.5 E F0(is enabled.)2.5 E F1(interacti) +144 153.6 Q -.1(ve)-.1 G(_comments).1 E F0 .33(If set, allo)184 165.6 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(ord and all remaining characters on) +-.1 F .967(that line to be ignored in an interacti)184 177.6 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 .967(option is)3.467 F +(enabled by def)184 189.6 Q(ault.)-.1 E F1(lastpipe)144 206.4 Q F0 .066 +(If set, and job control is not acti)184 206.4 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 148.8 Q(vironment.) --.4 E F1(lithist)144 165.6 Q F0 .655(If set, and the)184 165.6 R F1 +(cuted in the background in the current shell en)184 218.4 Q(vironment.) +-.4 E F1(lithist)144 235.2 Q F0 .655(If set, and the)184 235.2 R F1 (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 177.6 Q +-3.154 F(with embedded ne)184 247.2 Q (wlines rather than using semicolon separators where possible.)-.25 E F1 -(localv)144 194.4 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 206.4 R +(localv)144 264 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 276 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 -218.4 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673 +288 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 230.4 Q -F1(localv)144 247.2 Q(ar_unset)-.1 E F0 .328(If set, calling)184 259.2 R +(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 300 Q +F1(localv)144 316.8 Q(ar_unset)-.1 E F0 .328(If set, calling)184 328.8 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 271.2 R(v-)-.2 E(ior of unsetting local v)184 283.2 Q -(ariables at the current function scope.)-.25 E F1(login_shell)144 300 Q -F0 .486 +the beha)184 340.8 R(v-)-.2 E(ior of unsetting local v)184 352.8 Q +(ariables at the current function scope.)-.25 E F1(login_shell)144 369.6 +Q F0 .486 (The shell sets this option if it is started as a login shell \(see)184 -312 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 324 S(lue may not be changed.).25 -E F1(mailwar)144 340.8 Q(n)-.15 E F0 .815(If set, and a \214le that)184 -352.8 R F1(bash)3.315 E F0 .814 +381.6 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 393.6 S(lue may not be changed.) +.25 E F1(mailwar)144 410.4 Q(n)-.15 E F0 .815(If set, and a \214le that) +184 422.4 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 364.8 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 381.6 Q F0 .324(If set, and)184 393.6 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 405.6 Q -F1(nocaseglob)144 422.4 Q F0 .437(If set,)184 434.4 R F1(bash)2.937 E F0 +-.1(wa)184 434.4 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E +(`The mail in)-.74 E F3(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 +451.2 Q F0 .324(If set, and)184 463.2 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 475.2 Q +F1(nocaseglob)144 492 Q F0 .437(If set,)184 504 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 446.4 S +-.25 H .436(ashion when performing pathname).05 F -.15(ex)184 516 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 463.2 Q F0 1.193(If set,)184 -475.2 R F1(bash)3.693 E F0 1.194 +-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 532.8 Q F0 1.193(If set,)184 +544.8 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 487.2 R +1.194(ashion when performing matching).05 F .551(while e)184 556.8 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 499.2 S .622(rd e).1 F .623(xpansions, or when \214ltering\ +F -.1(wo)184 568.8 S .622(rd e).1 F .623(xpansions, or when \214ltering\ possible completions as part of programmable com-)-.15 F(pletion.)184 -511.2 Q F1(nullglob)144 528 Q F0 .855(If set,)184 540 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 552 S +580.8 Q F1(nullglob)144 597.6 Q F0 .855(If set,)184 609.6 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 621.6 S (pand to a null string, rather than themselv).15 E(es.)-.15 E F1(pr)144 -568.8 Q(ogcomp)-.18 E F0 .676(If set, the programmable completion f)184 -580.8 R .677(acilities \(see)-.1 F F1(Pr)3.177 E .677 +638.4 Q(ogcomp)-.18 E F0 .676(If set, the programmable completion f)184 +650.4 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 592.8 Q(This option is enabled by def)5 E(ault.)-.1 E -F1(pr)144 609.6 Q(ogcomp_alias)-.18 E F0 2.124 -(If set, and programmable completion is enabled,)184 621.6 R F1(bash) -4.624 E F0 2.124(treats a command name that)4.624 F(doesn')184 633.6 Q +(are enabled.)184 662.4 Q(This option is enabled by def)5 E(ault.)-.1 E +F1(pr)144 679.2 Q(ogcomp_alias)-.18 E F0 2.124 +(If set, and programmable completion is enabled,)184 691.2 R F1(bash) +4.624 E F0 2.124(treats a command name that)4.624 F(doesn')184 703.2 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 645.6 R F1(bash)3.973 E +(xpansion. If it has)-.15 F 1.473(an alias,)184 715.2 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 657.6 Q(xpanded alias.)-.15 E -F1(pr)144 674.4 Q(omptv)-.18 E(ars)-.1 E F0 1.447 -(If set, prompt strings under)184 686.4 R 1.448(go parameter e)-.18 F -1.448(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 -698.4 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 710.4 Q(ault.)-.1 E(GNU Bash 5.1)72 -768 Q(2020 June 5)150.675 E(76)199.835 E 0 Cg EP +1.473(ord resulting)-.1 F(from the e)184 727.2 Q(xpanded alias.)-.15 E +(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E(76)192.055 E 0 Cg EP %%Page: 77 77 %%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 -.18(re)144 84 S(stricted_shell).18 E F0 1.069 +SF(pr)144 84 Q(omptv)-.18 E(ars)-.1 E F0 1.447 +(If set, prompt strings under)184 96 R 1.448(go parameter e)-.18 F 1.448 +(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 108 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 9 +/Times-Bold@0 SF(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 120 Q(ault.)-.1 E F1 -.18(re) +144 136.8 S(stricted_shell).18 E F0 1.069 (The shell sets this option if it is started in restricted mode \(see) -184 96 R/F2 9/Times-Bold@0 SF 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 -108 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 120 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 136.8 Q -(erbose)-.1 E F0 .501(If set, the)184 148.8 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 160.8 Q F1 -(sour)144 177.6 Q(cepath)-.18 E F0 .771(If set, the)184 189.6 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 201.6 Q 2.5(gument. This)-.18 F -(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 218.4 Q F0 -(If set, the)184 230.4 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E +184 148.8 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 160.8 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 172.8 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 189.6 Q(erbose)-.1 E F0 .501(If set, the)184 201.6 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 213.6 Q F1(sour) +144 230.4 Q(cepath)-.18 E F0 .771(If set, the)184 242.4 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 254.4 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E +(ault.)-.1 E F1(xpg_echo)144 271.2 Q F0(If set, the)184 283.2 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 247.2 Q F0([)2.5 E F1A F0(])A 1.001(Suspend the e)144 259.2 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 271.2 R F1 +108 300 Q F0([)2.5 E F1A F0(])A 1.001(Suspend the e)144 312 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 324 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 283.2 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 300 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([) -108 312 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 312 R .878 +5.022 F 2.5(0u)144 336 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 352.8 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([) +108 364.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 364.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 324 S -(pr).2 E F0 5.53(.E).73 G .53 +(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 376.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 1.36 -(primaries described abo)144 336 R 1.66 -.15(ve u)-.15 H(nder).15 E F2 +(primaries described abo)144 388.8 R 1.66 -.15(ve u)-.15 H(nder).15 E F2 (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 348 Q(gument of) --.18 E F12.5 E F0(as signifying the end of options.)2.5 E .786 -(Expressions may be combined using the follo)144 366 R .785 +-3.861 E(tions, nor does it accept and ignore an ar)144 400.8 Q +(gument of)-.18 E F12.5 E F0(as signifying the end of options.)2.5 +E .786(Expressions may be combined using the follo)144 418.8 R .785 (wing operators, listed in decreasing order of prece-)-.25 F 3.411 -(dence. The)144 378 R -.25(eva)3.411 G .911 +(dence. The)144 430.8 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 390 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G(ore ar) --2.5 E(guments.)-.18 E F1(!)144 402 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35 -(Tr)180 402 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 414 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26 -(Returns the v)180 414 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 426 Q F3 -.2(ex) -144 438 S(pr1).2 E F02.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35 -(Tr)180 450 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 462 S(pr1).2 E -F02.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 474 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 490.8 Q F0(and)2.5 E F1([)2.5 E -F0 -.25(eva)2.5 G(luate conditional e).25 E +(used when there are \214v)144 442.8 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G +(ore ar)-2.5 E(guments.)-.18 E F1(!)144 454.8 Q F3 -.2(ex)2.5 G(pr).2 E +F0 -.35(Tr)180 454.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 466.8 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 +.26(Returns the v)180 466.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 478.8 Q F3 -.2 +(ex)144 490.8 S(pr1).2 E F02.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 +-.35(Tr)180 502.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 514.8 S +(pr1).2 E F02.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 +526.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 543.6 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 508.8 S -.18(rg)-2.5 G(uments).18 E(The e) -180 520.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 532.8 S -.18 -(rg)-2.5 G(ument).18 E(The e)180 544.8 Q +(guments.)-.18 E 2.5(0a)144 561.6 S -.18(rg)-2.5 G(uments).18 E(The e) +180 573.6 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 585.6 S -.18 +(rg)-2.5 G(ument).18 E(The e)180 597.6 Q (xpression is true if and only if the ar)-.15 E(gument is not null.)-.18 -E 2.5(2a)144 556.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) -180 568.8 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 609.6 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) +180 621.6 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 .38(If the \214rst ar)180 580.8 R .38 +(gument is null.)-.18 F .38(If the \214rst ar)180 633.6 R .38 (gument is one of the unary conditional operators listed abo)-.18 F .679 --.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.879 E(TION)180 592.8 Q .552 +-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.879 E(TION)180 645.6 Q .552 (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 604.8 Q +(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 657.6 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 616.8 S -.18(rg)-2.5 G -(uments).18 E .236(The follo)180 628.8 R .236 +(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 669.6 S -.18(rg)-2.5 G +(uments).18 E .236(The follo)180 681.6 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 640.8 R 1.155 -.15 +(the binary conditional operators listed abo)180 693.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.105 E .579(result of the e)180 652.8 R .578(xpression i\ +F4(,)A F0(the)3.105 E .579(result of the e)180 705.6 R .578(xpression i\ s the result of the binary test using the \214rst and third ar)-.15 F -(guments)-.18 E 1.332(as operands.)180 664.8 R(The)6.332 E F13.832 +(guments)-.18 E 1.332(as operands.)180 717.6 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 676.8 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 +(three ar)180 729.6 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 .52(test using the second and third ar)180 -688.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 700.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 712.8 Q(xpression is f)-.15 E(alse.)-.1 E(GNU Bash 5.1) -72 768 Q(2020 June 5)150.675 E(77)199.835 E 0 Cg EP +(o-ar)-.1 E(gument)-.18 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 E +(77)192.055 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 2.5(4a)144 84 S --.18(rg)-2.5 G(uments).18 E .384(If the \214rst ar)180 96 R .384 -(gument is)-.18 F/F1 10/Times-Bold@0 SF(!)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 108 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 -.284(luated ac-).25 F(cording to precedence using the rules listed abo) -180 120 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 132 S 2.5(rm)-2.5 G(ore ar) --2.5 E(guments)-.18 E 1.635(The e)180 144 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 156 -Q -.15(ve)-.15 G(.).15 E(When used with)144 174 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 190.8 Q F0 1.229(Print the accumulated user and system t\ -imes for the shell and for processes run from the shell.)144 190.8 R -(The return status is 0.)144 202.8 Q F1(trap)108 219.6 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 .682(The command)144 231.6 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 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .52 +(test using the second and third ar)180 84 R 3.021(guments. If)-.18 F +.521(the \214rst ar)3.021 F .521(gument is e)-.18 F(xactly)-.15 E/F1 10 +/Times-Bold@0 SF(\()3.021 E F0 .521(and the third)3.021 F(ar)180 96 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 108 Q +(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 120 S -.18(rg)-2.5 G +(uments).18 E .384(If the \214rst ar)180 132 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 144 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 .284(luated ac-).25 F +(cording to precedence using the rules listed abo)180 156 Q -.15(ve)-.15 +G(.).15 E 2.5(5o)144 168 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18 E +1.635(The e)180 180 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 192 Q -.15(ve)-.15 G(.).15 E(When used with)144 210 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 226.8 Q F0 +1.229(Print the accumulated user and system times for the shell and for\ + processes run from the shell.)144 226.8 R(The return status is 0.)144 +238.8 Q F1(trap)108 255.6 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 .682(The command)144 267.6 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.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 243.6 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F13.108 E +144 279.6 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 -.658(\(the v)144 255.6 R .658(alue it had upon entrance to the shell\).) +.658(\(the v)144 291.6 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 267.6 Q F0 .581 +144.34 303.6 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 279.6 R +(been supplied, then the trap commands associated with each)144 315.6 R 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 291.6 R F13.36 +F(gu-)-.18 E .86(ments are supplied or if only)144 327.6 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 303.6 R F12.83 E F0 .33(option causes the shell \ +(signal. The)144 339.6 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.311(bers. Each)144 315.6 R F2(sigspec)4.651 E F0 1.811 +4.311(bers. Each)144 351.6 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 327.6 Q .3 -.15(ve a)-.25 H(nd the).15 E +(names are case insensiti)144 363.6 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 .666 -(If a)144 345.6 R F2(sigspec)3.506 E F0(is)3.476 E F3(EXIT)3.166 E F0 +(If a)144 381.6 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 357.6 S(G).09 E/F4 9/Times-Roman@0 SF(,)A F0 .484(the command) +(BU)144 393.6 S(G).09 E/F4 9/Times-Roman@0 SF(,)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 369.6 Q F0 .562(command, e)3.062 F -.15 +(command,)2.983 E F2(select)144 405.6 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 .563 -(cutes in a shell).15 F .623(function \(see)144 381.6 R F3 .622 +(cutes in a shell).15 F .623(function \(see)144 417.6 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 393.6 Q F0 -.2(bu)2.996 G .496 +.622(option to the)3.122 F F1(shopt)144 429.6 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 405.6 Q(g)-.37 E F0 .18(is e)2.9 F -.15(xe)-.15 G .18 +144.33 441.6 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 417.6 S -(cuting.).15 E .96(If a)144 435.6 R F2(sigspec)3.8 E F0(is)3.77 E F3 +F0 -.2(bu)2.68 G .18(iltins \214nishes).2 F -.15(exe)144 453.6 S +(cuting.).15 E .96(If a)144 471.6 R F2(sigspec)3.8 E F0(is)3.77 E F3 (ERR)3.46 E F4(,)A F0 .96(the command)3.21 F F2(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(sin\ gle simple command\), a list, or a compound command returns a non\255ze\ -ro e)144 447.6 R .184(xit status, subject to)-.15 F .451(the follo)144 -459.6 R .451(wing conditions.)-.25 F(The)5.451 E F3(ERR)2.951 E F0 .451 +ro e)144 483.6 R .184(xit status, subject to)-.15 F .451(the follo)144 +495.6 R .451(wing conditions.)-.25 F(The)5.451 E F3(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 471.6 R .388(wing a)-.25 F F1(while) +(mand list immediately follo)144 507.6 R .388(wing a)-.25 F F1(while) 2.888 E F0(or)2.888 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.897 E F0 .387 -(statement, part)4.847 F .777(of a command e)144 483.6 R -.15(xe)-.15 G +(statement, part)4.847 F .777(of a command e)144 519.6 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.278 E F0 -3.278(,a)C -.15(ny)-3.278 G 1.28(command in a pipeline b)144 495.6 R +3.278(,a)C -.15(ny)-3.278 G 1.28(command in a pipeline b)144 531.6 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 507.6 Q +F1(!)3.78 E F0(.)A(These are the same conditions obe)144 543.6 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 .132 (Signals ignored upon entry to the shell cannot be trapped or reset.)144 -525.6 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 537.6 R .117 +561.6 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 573.6 R .117 (alues in a subshell or subshell en)-.25 F .117 -(vironment when one is cre-)-.4 F 2.5(ated. The)144 549.6 R +(vironment when one is cre-)-.4 F 2.5(ated. The)144 585.6 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 566.4 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 578.4 S +(returns true.)2.5 E F1(type)108 602.4 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 614.4 S .173(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F2 (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 -F1144 590.4 Q F0 .715(option is used,)3.215 F F1(type)3.215 E F0 +F1144 626.4 Q F0 .715(option is used,)3.215 F F1(type)3.215 E F0 .715(prints a string which is one of)3.215 F F2(alias)3.545 E F0(,).27 E F2 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)5.185 E F0 (,).24 E F2 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F2 -(\214le)5.125 E F0(if)3.395 E F2(name)144.36 602.4 Q F0 .086 +(\214le)5.125 E F0(if)3.395 E F2(name)144.36 638.4 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 F2 (name)2.947 E F0 .087(is not)2.767 F .119 -(found, then nothing is printed, and an e)144 614.4 R .118 +(found, then nothing is printed, and an e)144 650.4 R .118 (xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F F12.618 E F0 .118(option is used,)2.618 F F1(type)2.618 E F0 .855 -(either returns the name of the disk \214le that w)144 626.4 R .855 +(either returns the name of the disk \214le that w)144 662.4 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 .529(mand name, or nothing if) -144 638.4 R/F5 10/Courier@0 SF .528(type -t name)3.028 F F0 -.1(wo)3.028 +144 674.4 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 F2(\214le)4.938 E F0 5.528(.T).18 G(he)-5.528 E F13.028 E F0 .528(option forces a)3.028 F F3 -.666(PA)3.028 G -(TH)-.189 E F0 .006(search for each)144 650.4 R F2(name)2.506 E F0 2.506 +(TH)-.189 E F0 .006(search for each)144 686.4 R F2(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 F2(\214le)4.417 E F0 5.007(.I).18 G 2.507(fac)-5.007 G .007(ommand is hashed,)-2.507 F F1 -2.507 E F0(and)144 662.4 Q F13.231 E F0 .731 +2.507 E F0(and)144 698.4 Q F13.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 F3 -.666(PA)3.23 G(TH)-.189 E F4(.)A F0 .73(If the)5.23 F F1144 -674.4 Q F0 .823(option is used,)3.323 F F1(type)3.323 E F0 .824 +710.4 Q F0 .823(option is used,)3.323 F F1(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 F2(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 -686.4 R F13.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 698.4 R F13.723 E F0 6.223(.T)C(he)-6.223 E F13.723 E F0 -1.223(option suppresses shell function lookup, as)3.723 F .326(with the) -144 710.4 R F1(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F1(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 722.4 Q(GNU Bash 5.1)72 768 Q(2020 June 5) -150.675 E(78)199.835 E 0 Cg EP +722.4 R F13.676 E F0 1.176(option is not also used.)3.676 F 1.176 +(The table of hashed)6.176 F(GNU Bash 5.1)72 768 Q(2020 August 25) +142.895 E(78)192.055 E 0 Cg EP %%Page: 79 79 %%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(ulimit)108 84 Q F0([)2.5 E F1(\255HSabcde\214klmnpqrstuvxPR)A(T)-.4 E -F0([)2.5 E/F2 10/Times-Italic@0 SF(limit)A F0(]])A(Pro)144 96 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 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.223 +(commands is not consulted when using)144 84 R/F1 10/Times-Bold@0 SF +3.723 E F0 6.223(.T)C(he)-6.223 E F13.723 E F0 1.223 +(option suppresses shell function lookup, as)3.723 F .326(with the)144 +96 R F1(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F1(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 108 Q F1(ulimit)108 124.8 Q F0([)2.5 E F1 +(\255HSabcde\214klmnpqrstuvxPR)A(T)-.4 E F0([)2.5 E/F2 10/Times-Italic@0 +SF(limit)A F0(]])A(Pro)144 136.8 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 -.944(that allo)144 108 R 3.444(ws)-.25 G .944(uch control.)-3.444 F(The) -5.944 E F13.444 E F0(and)3.444 E F13.444 E F0 .943 +.944(that allo)144 148.8 R 3.444(ws)-.25 G .944(uch control.)-3.444 F +(The)5.944 E F13.444 E F0(and)3.444 E F13.444 E F0 .943 (options specify that the hard or soft limit is set for the)3.444 F(gi) -144 120 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 sof\ -t limit may)2.708 F .426(be increased up to the v)144 132 R .426 +144 160.8 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.708 F .426(be increased up to the v)144 172.8 R .426 (alue of the hard limit.)-.25 F .425(If neither)5.426 F F12.925 E F0(nor)2.925 E F12.925 E F0 .425 (is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144 -144 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139 +184.8 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139 (can be a number in the unit speci\214ed for the resource or one)3.319 F -.742(of the special v)144 156 R(alues)-.25 E F1(hard)3.242 E F0(,)A F1 +.742(of the special v)144 196.8 R(alues)-.25 E F1(hard)3.242 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 .023 -(soft limit, and no limit, respecti)144 168 R -.15(ve)-.25 G(ly).15 E +(soft limit, and no limit, respecti)144 208.8 R -.15(ve)-.25 G(ly).15 E 5.023(.I)-.65 G(f)-5.023 E F2(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 .985 -(source is printed, unless the)144 180 R F13.485 E F0 .984 +(source is printed, unless the)144 220.8 R F13.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 192 Q 2.5(alue. Other) --.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F1144 204 -Q F0(All current limits are reported)180 204 Q F1144 216 Q F0 -(The maximum sock)180 216 Q(et b)-.1 E(uf)-.2 E(fer size)-.25 E F1 -144 228 Q F0(The maximum size of core \214les created)180 228 Q F1 -144 240 Q F0(The maximum size of a process')180 240 Q 2.5(sd)-.55 G -(ata se)-2.5 E(gment)-.15 E F1144 252 Q F0 -(The maximum scheduling priority \("nice"\))180 252 Q F1144 264 Q -F0(The maximum size of \214les written by the shell and its children)180 -264 Q F1144 276 Q F0(The maximum number of pending signals)180 276 -Q F1144 288 Q F0 -(The maximum number of kqueues that may be allocated)180 288 Q F1 -144 300 Q F0(The maximum size that may be lock)180 300 Q(ed into memory) --.1 E F1144 312 Q F0(The maximum resident set size \(man)180 312 Q -2.5(ys)-.15 G(ystems do not honor this limit\))-2.5 E F1144 324 Q -F0 .791(The maximum number of open \214le descriptors \(most systems do\ - not allo)180 324 R 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to) --.25 F(be set\))180 336 Q F1144 348 Q F0 -(The pipe size in 512-byte blocks \(this may not be set\))180 348 Q F1 -144 360 Q F0(The maximum number of bytes in POSIX message queues) -180 360 Q F1144 372 Q F0 -(The maximum real-time scheduling priority)180 372 Q F1144 384 Q -F0(The maximum stack size)180 384 Q F1144 396 Q F0 -(The maximum amount of cpu time in seconds)180 396 Q F1144 408 Q -F0(The maximum number of processes a)180 408 Q -.25(va)-.2 G -(ilable to a single user).25 E F1144 420 Q F0 .47 -(The maximum amount of virtual memory a)180 420 R -.25(va)-.2 G .47 -(ilable to the shell and, on some systems, to).25 F(its children)180 432 -Q F1144 444 Q F0(The maximum number of \214le locks)180 444 Q F1 -144 456 Q F0(The maximum number of pseudoterminals)180 456 Q F1 -144 468 Q F0(The maximum time a real-time process can run before \ -blocking, in microseconds)180 468 Q F1144 480 Q F0 -(The maximum number of threads)180 480 Q(If)144 496.8 Q F2(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 +(limit name and unit are printed before the v)144 232.8 Q 2.5 +(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F1 +144 244.8 Q F0(All current limits are reported)180 244.8 Q F1 +144 256.8 Q F0(The maximum sock)180 256.8 Q(et b)-.1 E(uf)-.2 E +(fer size)-.25 E F1144 268.8 Q F0 +(The maximum size of core \214les created)180 268.8 Q F1144 280.8 +Q F0(The maximum size of a process')180 280.8 Q 2.5(sd)-.55 G(ata se) +-2.5 E(gment)-.15 E F1144 292.8 Q F0 +(The maximum scheduling priority \("nice"\))180 292.8 Q F1144 +304.8 Q F0 +(The maximum size of \214les written by the shell and its children)180 +304.8 Q F1144 316.8 Q F0(The maximum number of pending signals)180 +316.8 Q F1144 328.8 Q F0 +(The maximum number of kqueues that may be allocated)180 328.8 Q F1 +144 340.8 Q F0(The maximum size that may be lock)180 340.8 Q +(ed into memory)-.1 E F1144 352.8 Q F0 +(The maximum resident set size \(man)180 352.8 Q 2.5(ys)-.15 G +(ystems do not honor this limit\))-2.5 E F1144 364.8 Q F0 .791(Th\ +e maximum number of open \214le descriptors \(most systems do not allo) +180 364.8 R 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F +(be set\))180 376.8 Q F1144 388.8 Q F0 +(The pipe size in 512-byte blocks \(this may not be set\))180 388.8 Q F1 +144 400.8 Q F0 +(The maximum number of bytes in POSIX message queues)180 400.8 Q F1 +144 412.8 Q F0(The maximum real-time scheduling priority)180 412.8 +Q F1144 424.8 Q F0(The maximum stack size)180 424.8 Q F1144 +436.8 Q F0(The maximum amount of cpu time in seconds)180 436.8 Q F1 +144 448.8 Q F0(The maximum number of processes a)180 448.8 Q -.25 +(va)-.2 G(ilable to a single user).25 E F1144 460.8 Q F0 .47 +(The maximum amount of virtual memory a)180 460.8 R -.25(va)-.2 G .47 +(ilable to the shell and, on some systems, to).25 F(its children)180 +472.8 Q F1144 484.8 Q F0(The maximum number of \214le locks)180 +484.8 Q F1144 496.8 Q F0(The maximum number of pseudoterminals)180 +496.8 Q F1144 508.8 Q F0(The maximum time a real-time process can\ + run before blocking, in microseconds)180 508.8 Q F1144 520.8 Q F0 +(The maximum number of threads)180 520.8 Q(If)144 537.6 Q F2(limit)3.058 +E F0 .468(is gi)3.648 F -.15(ve)-.25 G .468(n, and the).15 F F1 +2.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 .045 -(no option is gi)144 508.8 R -.15(ve)-.25 G .045(n, then).15 F F1 +(no option is gi)144 549.6 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 .67(in seconds;)144 -520.8 R F13.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F +561.6 R F13.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F F13.17 E F0 3.17(,w)C .67(hich is in units of 512-byte blocks;) -3.17 F F13.17 E F0(,)A F13.17 E F0(,)A F13.17 E F0(,) -A F1144 532.8 Q F0(,)A F13.737 E F0 3.737(,a)C(nd)-3.737 E +A F1144 573.6 Q F0(,)A F13.737 E F0 3.737(,a)C(nd)-3.737 E F13.736 E F0 3.736(,w)C 1.236(hich are unscaled v)-3.736 F 1.236 (alues; and, when in posix mode,)-.25 F F13.736 E F0(and)3.736 E F13.736 E F0 3.736(,w)C 1.236(hich are in)-3.736 F .238 -(512-byte increments.)144 544.8 R .238 +(512-byte increments.)144 585.6 R .238 (The return status is 0 unless an in)5.238 F -.25(va)-.4 G .238 (lid option or ar).25 F .238(gument is supplied, or an)-.18 F -(error occurs while setting a ne)144 556.8 Q 2.5(wl)-.25 G(imit.)-2.5 E -F1(umask)108 573.6 Q F0([)2.5 E F1A F0 2.5(][)C F1-2.5 E F0 +(error occurs while setting a ne)144 597.6 Q 2.5(wl)-.25 G(imit.)-2.5 E +F1(umask)108 614.4 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 585.6 R F2(mode)3.06 E F0 +(The user \214le-creation mask is set to)144 626.4 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 597.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 -609.6 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382 +pted by)144 638.4 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 +650.4 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 621.6 R .547 +(printed in symbolic form; the def)144 662.4 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 633.6 Q F0 .552 +(mode)144.38 674.4 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 645.6 Q +F .551(The return status is 0 if the)5.551 F(mode w)144 686.4 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 662.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 674.4 Q 1.057 -.15(ve e)-.15 H(ach).15 E F2(name) +(unalias)108 703.2 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0 +(...])2.5 E(Remo)144 715.2 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 686.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E +3.258 F(mo)144 727.2 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 703.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 715.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.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 727.2 Q F0 1.55 -(refers to a shell v)4.23 F 1.551(ariable, and that v)-.25 F 1.551 -(ariable is remo)-.25 F -.15(ve)-.15 G 4.051(d. Read-only).15 F -.25(va) -4.051 G 1.551(riables may not be).25 F(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(79)199.835 E 0 Cg EP +(is not a de\214ned alias.)2.68 E(GNU Bash 5.1)72 768 Q(2020 August 25) +142.895 E(79)192.055 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 3.716(unset. If) -144 84 R/F1 10/Times-Bold@0 SF3.716 E F0 1.216 -(is speci\214ed, each)3.716 F/F2 10/Times-Italic@0 SF(name)4.075 E F0 -1.215(refers to a shell function, and the function de\214nition is re-) -3.895 F(mo)144 96 Q -.15(ve)-.15 G 2.994(d. If).15 F(the)2.994 E F1 -2.994 E F0 .494(option is supplied, and)2.994 F F2(name)2.994 E F0 -.494(is a v)2.994 F .494(ariable with the)-.25 F F2(namer)2.994 E(ef) --.37 E F0(attrib)2.994 E(ute,)-.2 E F2(name)2.995 E F0(will)2.995 E .492 -(be unset rather than the v)144 108 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 .492(If no)5.492 F -.088(options are supplied, each)144 120 R F2(name)2.588 E F0 .088 -(refers to a v)2.588 F .088(ariable; if there is no v)-.25 F .089 -(ariable by that name, a function)-.25 F .384(with that name, if an)144 -132 R 1.684 -.65(y, i)-.15 H 2.884(su).65 G 2.884(nset. Each)-2.884 F -.384(unset v)2.884 F .384(ariable or function is remo)-.25 F -.15(ve) --.15 G 2.883(df).15 G .383(rom the en)-2.883 F(vironment)-.4 E 3.171 -(passed to subsequent commands.)144 144 R 3.172(If an)8.172 F 5.672(yo) +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 +SF(unset)108 84 Q F0<5bad>2.5 E F1(fv)A F0 2.5(][)C-2.5 E F1(n)A F0 +2.5(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E -.15(Fo)144 +96 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.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 108 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 120 R F12.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 .403(If the)144 132 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 .404(will be unset)2.904 F .72 +(rather than the v)144 144 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 F13.219 E +F0 .719(option is supplied.)3.219 F .719(If no options)5.719 F .736 +(are supplied, each)144 156 R F2(name)3.236 E F0 .736(refers to a v) +3.236 F .737(ariable; if there is no v)-.25 F .737 +(ariable by that name, a function with)-.25 F 1.762(that name, if an)144 +168 R 3.062 -.65(y, i)-.15 H 4.262(su).65 G 4.261(nset. Each)-4.262 F +1.761(unset v)4.261 F 1.761(ariable or function is remo)-.25 F -.15(ve) +-.15 G 4.261(df).15 G 1.761(rom the en)-4.261 F(vironment)-.4 E 3.171 +(passed to subsequent commands.)144 180 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.422 G(SH_ARGV0).27 E F4(,)A F3 --.27(BA)5.422 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 156 S(SH_COMMAND).27 +-.27(BA)5.422 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 192 S(SH_COMMAND).27 E F4(,)A F3 -.27(BA)11.482 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.481 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)144 168 Q +(DIRST)11.481 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)144 204 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 180 Q F4 +F3(LINENO)2.67 E F4(,)A F3(RANDOM)2.67 E F4(,)A F3(SECONDS)144 216 Q F4 (,)A F0(or)4.03 E F3(SRANDOM)4.28 E F0 1.779(are unset, the)4.03 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.279(ft)-4.279 G(he)-4.279 E 4.279(ya)-.15 G 1.779 -(re subse-)-4.279 F(quently reset.)144 192 Q(The e)5 E +(re subse-)-4.279 F(quently reset.)144 228 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 F1(wait)108 208.8 Q F0([)2.5 E F1(\255fn)A F0 2.5(][)C F1 +(.)-.65 E F1(wait)108 244.8 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 220.8 S .659(it for each speci\214ed child process and return i\ +(Wa)144 256.8 S .659(it for each speci\214ed child process and return i\ ts 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 232.8 R -.15(ve) +(ID or a job speci\214cation; if a job spec is gi)144 268.8 R -.15(ve) -.25 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 244.8 Q F0 .441(is not gi)3.711 F -.15(ve)-.25 G(n,).15 E +F2(id)144.01 280.8 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 .442(cuted process substitu-).15 F .598 -(tion, if its process id is the same as)144 256.8 R F1($!)3.098 E F0 +(tion, if its process id is the same as)144 292.8 R F1($!)3.098 E F0 3.098(,a)C .598(nd the return status is zero.)-3.098 F .597(If the)5.597 -F F13.097 E F0 .597(option is supplied,)3.097 F F1(wait)144 268.8 +F F13.097 E F0 .597(option is supplied,)3.097 F F1(wait)144 304.8 Q F0 -.1(wa)3.082 G .583(its for a single job from the list of).1 F F2 (id)3.083 E F0 3.083(so)C 1.383 -.4(r, i)-3.083 H 3.083(fn).4 G(o)-3.083 E F2(id)3.083 E F0 3.083(sa)C .583(re supplied, an)-3.083 F 3.083(yj) --.15 G .583(ob, to complete and)-3.083 F .404(returns its e)144 280.8 R +-.15 G .583(ob, to complete and)-3.083 F .404(returns its e)144 316.8 R .404(xit status.)-.15 F .403(If none of the supplied ar)5.403 F .403 (guments is a child of the shell, or if no ar)-.18 F(guments)-.18 E .572 -(are supplied and the shell has no unw)144 292.8 R .573 +(are supplied and the shell has no unw)144 328.8 R .573 (aited-for children, the e)-.1 F .573(xit status is 127.)-.15 F .573 (If the)5.573 F F13.073 E F0 .573(option is)3.073 F .39 (supplied, the process or job identi\214er of the job for which the e) -144 304.8 R .39(xit status is returned is assigned to)-.15 F .905(the v) -144 316.8 R(ariable)-.25 E F2(varname)3.405 E F0 .905 +144 340.8 R .39(xit status is returned is assigned to)-.15 F .905(the v) +144 352.8 R(ariable)-.25 E F2(varname)3.405 E F0 .905 (named by the option ar)3.405 F 3.405(gument. The)-.18 F -.25(va)3.405 G .905(riable will be unset initially).25 F 3.405(,b)-.65 G(efore)-3.405 E -(an)144 328.8 Q 3.89(ya)-.15 G 3.89(ssignment. This)-3.89 F 1.39 +(an)144 364.8 Q 3.89(ya)-.15 G 3.89(ssignment. This)-3.89 F 1.39 (is useful only when the)3.89 F F13.89 E F0 1.39 (option is supplied.)3.89 F 1.39(Supplying the)6.39 F F13.89 E F0 -(option,)3.89 E .574(when job control is enabled, forces)144 340.8 R F1 +(option,)3.89 E .574(when job control is enabled, forces)144 376.8 R F1 (wait)3.075 E F0 .575(to w)3.075 F .575(ait for)-.1 F F2(id)3.075 E F0 .575(to terminate before returning its status, in-)3.075 F .635 -(stead of returning when it changes status.)144 352.8 R(If)5.635 E F2 +(stead of returning when it changes status.)144 388.8 R(If)5.635 E F2 (id)3.145 E F0 .635(speci\214es a non-e)3.905 F .635 -(xistent process or job, the return)-.15 F(status is 127.)144 364.8 Q +(xistent process or job, the return)-.15 F(status is 127.)144 400.8 Q (Otherwise, the return status is the e)5 E (xit status of the last process or job w)-.15 E(aited for)-.1 E(.)-.55 E -/F5 10.95/Times-Bold@0 SF(SHELL COMP)72 381.6 Q -1.04(AT)-.81 G +/F5 10.95/Times-Bold@0 SF(SHELL COMP)72 417.6 Q -1.04(AT)-.81 G (IBILITY MODE)1.04 E F0 .911 -(Bash-4.0 introduced the concept of a `shell compatibility le)108 393.6 +(Bash-4.0 introduced the concept of a `shell compatibility le)108 429.6 R -.15(ve)-.25 G .912(l', speci\214ed as a set of options to the shopt) -.15 F -.2(bu)108 405.6 S(iltin).2 E F1(compat31)3.378 E F0(,)A F1 +.15 F -.2(bu)108 441.6 S(iltin).2 E F1(compat31)3.378 E F0(,)A F1 (compat32)3.378 E F0(,)A F1(compat40)3.378 E F0(,)A F1(compat41)3.378 E F0 3.378(,a)C .878(nd so on\).)-3.378 F .877 -(There is only one current compatibility)5.878 F(le)108 417.6 Q -.15(ve) +(There is only one current compatibility)5.878 F(le)108 453.6 Q -.15(ve) -.25 G 3.253(l-).15 G 3.253(-e)-3.253 G .753(ach option is mutually e) -3.253 F(xclusi)-.15 E -.15(ve)-.25 G 5.753(.T).15 G .753 (he compatibility le)-5.753 F -.15(ve)-.25 G 3.254(li).15 G 3.254(si) -3.254 G .754(ntended to allo)-3.254 F 3.254(wu)-.25 G .754 -(sers to select be-)-3.254 F(ha)108 429.6 Q 1.084(vior from pre)-.2 F +(sers to select be-)-3.254 F(ha)108 465.6 Q 1.084(vior from pre)-.2 F 1.084(vious v)-.25 F 1.083(ersions that is incompatible with ne)-.15 F 1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.583(ym)-.15 G 1.083 -(igrate scripts to use)-3.583 F(current features and beha)108 441.6 Q +(igrate scripts to use)-3.583 F(current features and beha)108 477.6 Q (vior)-.2 E 2.5(.I)-.55 G(t')-2.5 E 2.5(si)-.55 G (ntended to be a temporary solution.)-2.5 E 1.456 -(This section does not mention beha)108 458.4 R 1.457 +(This section does not mention beha)108 494.4 R 1.457 (vior that is standard for a particular v)-.2 F 1.457 (ersion \(e.g., setting)-.15 F F1(compat32)3.957 E F0 .887 -(means that quoting the rhs of the re)108 470.4 R(ge)-.15 E .886 +(means that quoting the rhs of the re)108 506.4 R(ge)-.15 E .886 (xp matching operator quotes special re)-.15 F(ge)-.15 E .886 -(xp characters in the w)-.15 F(ord,)-.1 E(which is def)108 482.4 Q +(xp characters in the w)-.15 F(ord,)-.1 E(which is def)108 518.4 Q (ault beha)-.1 E(vior in bash-3.2 and abo)-.2 E -.15(ve)-.15 G(\).).15 E -.522(If a user enables, say)108 499.2 R(,)-.65 E F1(compat32)3.023 E F0 +.522(If a user enables, say)108 535.2 R(,)-.65 E F1(compat32)3.023 E F0 3.023(,i)C 3.023(tm)-3.023 G .523(ay af)-3.023 F .523(fect the beha)-.25 F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .523 (ls up to and includ-).15 F .26(ing the current compatibility le)108 -511.2 R -.15(ve)-.25 G 2.76(l. The).15 F .259 +547.2 R -.15(ve)-.25 G 2.76(l. The).15 F .259 (idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.759(lc).15 G .259(ontrols beha)-2.759 F .259(vior that changed)-.2 F 1.645 -(in that v)108 523.2 R 1.646(ersion of)-.15 F F1(bash)4.146 E F0 4.146 +(in that v)108 559.2 R 1.646(ersion of)-.15 F F1(bash)4.146 E F0 4.146 (,b)C 1.646(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946 -.15 (ve b)-.2 H 1.646(een present in earlier v).15 F 4.146(ersions. F)-.15 F 1.646(or instance, the)-.15 F .761 -(change to use locale-based comparisons with the)108 535.2 R F1([[)3.261 +(change to use locale-based comparisons with the)108 571.2 R F1([[)3.261 E F0 .76(command came in bash-4.1, and earlier v)3.261 F .76 (ersions used)-.15 F 1.904(ASCII-based comparisons, so enabling)108 -547.2 R F1(compat32)4.404 E F0 1.905 +583.2 R F1(compat32)4.404 E F0 1.905 (will enable ASCII-based comparisons as well.)4.404 F(That)6.905 E .296 -(granularity may not be suf)108 559.2 R .296 +(granularity may not be suf)108 595.2 R .296 (\214cient for all uses, and as a result users should emplo)-.25 F 2.796 (yc)-.1 G .295(ompatibility le)-2.796 F -.15(ve)-.25 G .295(ls care-).15 -F(fully)108 571.2 Q 5(.R)-.65 G(ead the documentation for a particular \ +F(fully)108 607.2 Q 5(.R)-.65 G(ead the documentation for a particular \ feature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .531 -(Bash-4.3 introduced a ne)108 588 R 3.031(ws)-.25 G .531(hell v)-3.031 F +(Bash-4.3 introduced a ne)108 624 R 3.031(ws)-.25 G .531(hell v)-3.031 F (ariable:)-.25 E F3 -.27(BA)3.031 G(SH_COMP).27 E -.855(AT)-.666 G F4(.) .855 E F0 .531(The v)5.031 F .531(alue assigned to this v)-.25 F .532 -(ariable \(a decimal)-.25 F -.15(ve)108 600 S .108(rsion number lik).15 +(ariable \(a decimal)-.25 F -.15(ve)108 636 S .108(rsion number lik).15 F 2.608(e4)-.1 G .108(.2, or an inte)-2.608 F .108 (ger corresponding to the)-.15 F F1(compat)2.607 E F2(NN)A F0 .107 (option, lik)2.607 F 2.607(e4)-.1 G .107(2\) determines the com-)-2.607 -F(patibility le)108 612 Q -.15(ve)-.25 G(l.).15 E .387 -(Starting with bash-4.4, Bash has be)108 628.8 R .388 +F(patibility le)108 648 Q -.15(ve)-.25 G(l.).15 E .387 +(Starting with bash-4.4, Bash has be)108 664.8 R .388 (gun deprecating older compatibility le)-.15 F -.15(ve)-.25 G 2.888 (ls. Ev).15 F(entually)-.15 E 2.888(,t)-.65 G .388(he options will) --2.888 F(be remo)108 640.8 Q -.15(ve)-.15 G 2.5(di).15 G 2.5(nf)-2.5 G +-2.888 F(be remo)108 676.8 Q -.15(ve)-.15 G 2.5(di).15 G 2.5(nf)-2.5 G -.2(avo)-2.6 G 2.5(ro).2 G(f)-2.5 E F3 -.27(BA)2.5 G(SH_COMP).27 E -.855 -(AT)-.666 G F4(.).855 E F0 1.164(Bash-5.0 is the \214nal v)108 657.6 R +(AT)-.666 G F4(.).855 E F0 1.164(Bash-5.0 is the \214nal v)108 693.6 R 1.164(ersion for which there will be an indi)-.15 F 1.163 (vidual shopt option for the pre)-.25 F 1.163(vious v)-.25 F(ersion.) --.15 E(Users should use)108 669.6 Q F3 -.27(BA)2.5 G(SH_COMP).27 E -.855 +-.15 E(Users should use)108 705.6 Q F3 -.27(BA)2.5 G(SH_COMP).27 E -.855 (AT)-.666 G F0(on bash-5.0 and later v)3.105 E(ersions.)-.15 E 1.613 -(The follo)108 686.4 R 1.613(wing table describes the beha)-.25 F 1.613 +(The follo)108 722.4 R 1.613(wing table describes the beha)-.25 F 1.613 (vior changes controlled by each compatibility le)-.2 F -.15(ve)-.25 G -4.113(ls).15 G 4.114(etting. The)-4.113 F F1(compat)108 698.4 Q F2(NN)A -F0 1.186(tag is used as shorthand for setting the compatibility le)3.686 -F -.15(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F2(NN)3.686 E F0 1.186 -(using one of the follo)3.686 F(wing)-.25 E 3.806(mechanisms. F)108 -710.4 R 1.306(or v)-.15 F 1.306 -(ersions prior to bash-5.0, the compatibility le)-.15 F -.15(ve)-.25 G -3.807(lm).15 G 1.307(ay be set using the corresponding)-3.807 F F1 -(compat)108 722.4 Q F2(NN)A F0 .502(shopt option.)3.002 F -.15(Fo)5.502 -G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the) --.15 F F3 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F0 -.25(va) -3.607 G .502(riable is preferred, and it).25 F(GNU Bash 5.1)72 768 Q -(2020 June 5)150.675 E(80)199.835 E 0 Cg EP +4.113(ls).15 G 4.114(etting. The)-4.113 F(GNU Bash 5.1)72 768 Q +(2020 August 25)142.895 E(80)192.055 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 -(is required for bash-5.1 and later v)108 84 Q(ersions.)-.15 E/F1 10 -/Times-Bold@0 SF(compat31)108 100.8 Q F0<83>144 112.8 Q -(quoting the rhs of the)180 112.8 Q F1([[)2.5 E F0(command')2.5 E 2.5 -(sr)-.55 G -.15(eg)-2.5 G -.15(ex).15 G 2.5(pm).15 G -(atching operator \(=~\) has no special ef)-2.5 E(fect)-.25 E F1 -(compat32)108 129.6 Q F0<83>144 141.6 Q .35 -(interrupting a command list such as "a ; b ; c" causes the e)180 141.6 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 +SF(compat)108 84 Q/F2 10/Times-Italic@0 SF(NN)A F0 1.186 +(tag is used as shorthand for setting the compatibility le)3.686 F -.15 +(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F2(NN)3.686 E F0 1.186 +(using one of the follo)3.686 F(wing)-.25 E 3.806(mechanisms. F)108 96 R +1.306(or v)-.15 F 1.306(ersions prior to bash-5.0, the compatibility le) +-.15 F -.15(ve)-.25 G 3.807(lm).15 G 1.307 +(ay be set using the corresponding)-3.807 F F1(compat)108 108 Q F2(NN)A +F0 .502(shopt option.)3.002 F -.15(Fo)5.502 G 3.002(rb).15 G .502 +(ash-4.3 and later v)-3.002 F .502(ersions, the)-.15 F/F3 9/Times-Bold@0 +SF -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F0 -.25(va)3.607 G +.502(riable is preferred, and it).25 F +(is required for bash-5.1 and later v)108 120 Q(ersions.)-.15 E F1 +(compat31)108 136.8 Q F0<83>144 148.8 Q(quoting the rhs of the)180 148.8 +Q F1([[)2.5 E F0(command')2.5 E 2.5(sr)-.55 G -.15(eg)-2.5 G -.15(ex).15 +G 2.5(pm).15 G(atching operator \(=~\) has no special ef)-2.5 E(fect) +-.25 E F1(compat32)108 165.6 Q F0<83>144 177.6 Q .35 +(interrupting a command list such as "a ; b ; c" causes the e)180 177.6 R -.15(xe)-.15 G .35(cution of the ne).15 F .35(xt command)-.15 F .018 -(in the list \(in bash-4.0 and later v)180 153.6 R .018 +(in the list \(in bash-4.0 and later v)180 189.6 R .018 (ersions, the shell acts as if it recei)-.15 F -.15(ve)-.25 G 2.517(dt) .15 G .017(he interrupt, so in-)-2.517 F -(terrupting one command in a list aborts the e)180 165.6 Q -.15(xe)-.15 -G(cution of the entire list\)).15 E F1(compat40)108 182.4 Q F0<83>144 -194.4 Q(the)180 194.4 Q F1(<)2.673 E F0(and)2.673 E F1(>)2.673 E F0 .173 +(terrupting one command in a list aborts the e)180 201.6 Q -.15(xe)-.15 +G(cution of the entire list\)).15 E F1(compat40)108 218.4 Q F0<83>144 +230.4 Q(the)180 230.4 Q F1(<)2.673 E F0(and)2.673 E F1(>)2.673 E F0 .173 (operators to the)2.673 F F1([[)2.673 E F0 .173 (command do not consider the current locale when compar)2.673 F(-)-.2 E -.068(ing strings; the)180 206.4 R 2.568(yu)-.15 G .068 +.068(ing strings; the)180 242.4 R 2.568(yu)-.15 G .068 (se ASCII ordering.)-2.568 F .068(Bash v)5.068 F .067 -(ersions prior to bash-4.1 use ASCII collation)-.15 F(and)180 218.4 Q/F2 -10/Times-Italic@0 SF(str)4.742 E(cmp)-.37 E F0 1.902 +(ersions prior to bash-4.1 use ASCII collation)-.15 F(and)180 254.4 Q F2 +(str)4.742 E(cmp)-.37 E F0 1.902 (\(3\); bash-4.1 and later use the current locale').19 F 4.403(sc)-.55 G 1.903(ollation sequence and)-4.403 F F2(str)4.743 E(-)-.2 E(coll)180 -230.4 Q F0(\(3\).).51 E F1(compat41)108 247.2 Q F0<83>144 259.2 Q(in)180 -259.2 Q F2(posix)3.79 E F0(mode,)3.79 E F1(time)3.79 E F0 1.29 +266.4 Q F0(\(3\).).51 E F1(compat41)108 283.2 Q F0<83>144 295.2 Q(in)180 +295.2 Q F2(posix)3.79 E F0(mode,)3.79 E F1(time)3.79 E F0 1.29 (may be follo)3.79 F 1.29 (wed by options and still be recognized as a reserv)-.25 F(ed)-.15 E -.1 -(wo)180 271.2 S(rd \(this is POSIX interpretation 267\)).1 E<83>144 -283.2 Q(in)180 283.2 Q F2(posix)2.708 E F0 .208 +(wo)180 307.2 S(rd \(this is POSIX interpretation 267\)).1 E<83>144 +319.2 Q(in)180 319.2 Q F2(posix)2.708 E F0 .208 (mode, the parser requires that an e)2.708 F -.15(ve)-.25 G 2.708(nn).15 G .208(umber of single quotes occur in the)-2.708 F F2(wor)2.709 E(d) --.37 E F0 .282(portion of a double-quoted parameter e)180 295.2 R .282 +-.37 E F0 .282(portion of a double-quoted parameter e)180 331.2 R .282 (xpansion and treats them specially)-.15 F 2.781(,s)-.65 G 2.781(ot) -2.781 G .281(hat charac-)-2.781 F(ters within the single quotes are co\ -nsidered quoted \(this is POSIX interpretation 221\))180 307.2 Q F1 -(compat42)108 324 Q F0<83>144 336 Q 1.055(the replacement string in dou\ -ble-quoted pattern substitution does not under)180 336 R 1.056 -(go quote re-)-.18 F(mo)180 348 Q -.25(va)-.15 G(l, as it does in v).25 -E(ersions after bash-4.2)-.15 E<83>144 360 Q .021 -(in posix mode, single quotes are considered special when e)180 360 R +nsidered quoted \(this is POSIX interpretation 221\))180 343.2 Q F1 +(compat42)108 360 Q F0<83>144 372 Q 1.055(the replacement string in dou\ +ble-quoted pattern substitution does not under)180 372 R 1.056 +(go quote re-)-.18 F(mo)180 384 Q -.25(va)-.15 G(l, as it does in v).25 +E(ersions after bash-4.2)-.15 E<83>144 396 Q .021 +(in posix mode, single quotes are considered special when e)180 396 R .021(xpanding the)-.15 F F2(wor)2.52 E(d)-.37 E F0 .02(portion of a)2.52 -F .017(double-quoted parameter e)180 372 R .017 +F .017(double-quoted parameter e)180 408 R .017 (xpansion and can be used to quote a closing brace or other spe-)-.15 F .999(cial character \(this is part of POSIX interpretation 221\); in la\ -ter v)180 384 R .998(ersions, single quotes)-.15 F -(are not special within double-quoted w)180 396 Q(ord e)-.1 E(xpansions) --.15 E F1(compat43)108 412.8 Q F0<83>144 424.8 Q 1.07 -(the shell does not print a w)180 424.8 R 1.071 +ter v)180 420 R .998(ersions, single quotes)-.15 F +(are not special within double-quoted w)180 432 Q(ord e)-.1 E(xpansions) +-.15 E F1(compat43)108 448.8 Q F0<83>144 460.8 Q 1.07 +(the shell does not print a w)180 460.8 R 1.071 (arning message if an attempt is made to use a quoted com-)-.1 F .249 -(pound assignment as an ar)180 436.8 R .248 +(pound assignment as an ar)180 472.8 R .248 (gument to declare \(declare -a foo='\(1 2\)'\). Later v)-.18 F .248 -(ersions w)-.15 F(arn)-.1 E(that this usage is deprecated)180 448.8 Q -<83>144 460.8 Q -.1(wo)180 460.8 S .5(rd e).1 F .501 +(ersions w)-.15 F(arn)-.1 E(that this usage is deprecated)180 484.8 Q +<83>144 496.8 Q -.1(wo)180 496.8 S .5(rd e).1 F .501 (xpansion errors are considered non-f)-.15 F .501 -(atal errors that cause the current command to)-.1 F -.1(fa)180 472.8 S +(atal errors that cause the current command to)-.1 F -.1(fa)180 508.8 S .605(il, e).1 F -.15(ve)-.25 G 3.105(ni).15 G 3.105(np)-3.105 G .605 (osix mode \(the def)-3.105 F .605(ault beha)-.1 F .605(vior is to mak) -.2 F 3.105(et)-.1 G .605(hem f)-3.105 F .605 -(atal errors that cause the)-.1 F(shell to e)180 484.8 Q(xit\))-.15 E -<83>144 496.8 Q .354(when e)180 496.8 R -.15(xe)-.15 G .354 +(atal errors that cause the)-.1 F(shell to e)180 520.8 Q(xit\))-.15 E +<83>144 532.8 Q .354(when e)180 532.8 R -.15(xe)-.15 G .354 (cuting a shell function, the loop state \(while/until/etc.\)).15 F .355 (is not reset, so)5.354 F F1(br)2.855 E(eak)-.18 E F0(or)2.855 E F1 -(continue)180 508.8 Q F0 .052 +(continue)180 544.8 Q F0 .052 (in that function will break or continue loops in the calling conte) 2.553 F .052(xt. Bash-4.4 and)-.15 F(later reset the loop state to pre) -180 520.8 Q -.15(ve)-.25 G(nt this).15 E F1(compat44)108 537.6 Q F0<83> -144 549.6 Q .719(the shell sets up the v)180 549.6 R .719(alues used by) --.25 F/F3 9/Times-Bold@0 SF -.27(BA)3.219 G(SH_ARGV).27 E F0(and)2.969 E -F3 -.27(BA)3.219 G(SH_ARGC).27 E F0 .719(so the)2.969 F 3.219(yc)-.15 G -.719(an e)-3.219 F(xpand)-.15 E(to the shell')180 561.6 Q 2.5(sp)-.55 G +180 556.8 Q -.15(ve)-.25 G(nt this).15 E F1(compat44)108 573.6 Q F0<83> +144 585.6 Q .719(the shell sets up the v)180 585.6 R .719(alues used by) +-.25 F F3 -.27(BA)3.219 G(SH_ARGV).27 E F0(and)2.969 E F3 -.27(BA)3.219 +G(SH_ARGC).27 E F0 .719(so the)2.969 F 3.219(yc)-.15 G .719(an e)-3.219 +F(xpand)-.15 E(to the shell')180 597.6 Q 2.5(sp)-.55 G (ositional parameters e)-2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(fe)-2.5 G -(xtended deb)-2.65 E(ugging mode is not enabled)-.2 E<83>144 573.6 Q -2.635(as)180 573.6 S .135(ubshell inherits loops from its parent conte) +(xtended deb)-2.65 E(ugging mode is not enabled)-.2 E<83>144 609.6 Q +2.635(as)180 609.6 S .135(ubshell inherits loops from its parent conte) -2.635 F .135(xt, so)-.15 F F1(br)2.635 E(eak)-.18 E F0(or)2.635 E F1 (continue)2.634 E F0 .134(will cause the sub-)2.634 F(shell to e)180 -585.6 Q 2.5(xit. Bash-5.0)-.15 F(and later reset the loop state to pre) -2.5 E -.15(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 597.6 Q -.25(va) -180 597.6 S .618(riable assignments preceding b).25 F .618(uiltins lik) +621.6 Q 2.5(xit. Bash-5.0)-.15 F(and later reset the loop state to pre) +2.5 E -.15(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 633.6 Q -.25(va) +180 633.6 S .618(riable assignments preceding b).25 F .618(uiltins lik) -.2 F(e)-.1 E F1(export)3.118 E F0(and)3.118 E F1 -.18(re)3.118 G (adonly).18 E F0 .618(that set attrib)3.118 F .619(utes con-)-.2 F .12 -(tinue to af)180 609.6 R .12(fect v)-.25 F .119 +(tinue to af)180 645.6 R .12(fect v)-.25 F .119 (ariables with the same name in the calling en)-.25 F .119(vironment e) -.4 F -.15(ve)-.25 G 2.619(ni).15 G 2.619(ft)-2.619 G .119(he shell is) --2.619 F(not in posix mode)180 621.6 Q F1(compat50)108 638.4 Q F0<83>144 -650.4 Q 1.209(Bash-5.1 changed the w)180 650.4 R(ay)-.1 E F3($RANDOM) +-2.619 F(not in posix mode)180 657.6 Q F1(compat50)108 674.4 Q F0<83>144 +686.4 Q 1.209(Bash-5.1 changed the w)180 686.4 R(ay)-.1 E F3($RANDOM) 3.709 E F0 1.209(is generated to introduce slightly more random-)3.459 F -1.019(ness. If the shell compatibility le)180 662.4 R -.15(ve)-.25 G +1.019(ness. If the shell compatibility le)180 698.4 R -.15(ve)-.25 G 3.518(li).15 G 3.518(ss)-3.518 G 1.018(et to 50 or lo)-3.518 F(wer)-.25 E 3.518(,i)-.4 G 3.518(tr)-3.518 G -2.15 -.25(ev e)-3.518 H 1.018 -(rts to the method from).25 F .732(bash-5.0 and pre)180 674.4 R .732 +(rts to the method from).25 F .732(bash-5.0 and pre)180 710.4 R .732 (vious v)-.25 F .733 (ersions, so seeding the random number generator by assigning a)-.15 F --.25(va)180 686.4 S(lue to).25 E F3(RANDOM)2.5 E F0 -(will produce the same sequence as in bash-5.0)2.25 E/F4 10.95 -/Times-Bold@0 SF(RESTRICTED SHELL)72 703.2 Q F0(If)108 715.2 Q F1(bash) -3.582 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 3.902(stricted. A)108 727.2 R 1.402 -(restricted shell is used to set up an en)3.902 F 1.403 -(vironment more controlled than the standard shell.)-.4 F(It)6.403 E -(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E(81)199.835 E 0 Cg EP +-.25(va)180 722.4 S(lue to).25 E F3(RANDOM)2.5 E F0 +(will produce the same sequence as in bash-5.0)2.25 E(GNU Bash 5.1)72 +768 Q(2020 August 25)142.895 E(81)192.055 E 0 Cg EP %%Page: 82 82 %%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(beha)108 84 Q -.15 -(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E/F1 10/Times-Bold@0 SF(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 100.8 Q -(changing directories with)144 100.8 Q F1(cd)2.5 E F0<83>108 117.6 Q -(setting or unsetting the v)144 117.6 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(HISTFILE)2.25 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 134.4 Q -(specifying command names containing)144 134.4 Q F1(/)2.5 E F0<83>108 -151.2 Q(specifying a \214lename containing a)144 151.2 Q F1(/)2.5 E F0 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E<83>144 84 Q .696 +(If the command hash table is empty)180 84 R 3.196(,b)-.65 G .696(ash v) +-3.196 F .695(ersions prior to bash-5.1 printed an informa-)-.15 F 1.32 +(tional message to that ef)180 96 R 1.321(fect, e)-.25 F -.15(ve)-.25 G +3.821(nw).15 G 1.321(hen producing output that can be reused as input.) +-3.821 F(Bash-5.1 suppresses that message when the)180 108 Q/F1 10 +/Times-Bold@0 SF2.5 E F0(option is supplied.)2.5 E/F2 10.95 +/Times-Bold@0 SF(RESTRICTED SHELL)72 124.8 Q F0(If)108 136.8 Q F1(bash) +3.582 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.976(stricted. A)108 148.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 160.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 177.6 Q +(changing directories with)144 177.6 Q F1(cd)2.5 E F0<83>108 194.4 Q +(setting or unsetting the v)144 194.4 Q(alues of)-.25 E/F3 9 +/Times-Bold@0 SF(SHELL)2.5 E/F4 9/Times-Roman@0 SF(,)A F3 -.666(PA)2.25 +G(TH)-.189 E F4(,)A F3(HISTFILE)2.25 E F4(,)A F3(ENV)2.25 E F4(,)A F0 +(or)2.25 E F3 -.27(BA)2.5 G(SH_ENV).27 E F0<83>108 211.2 Q +(specifying command names containing)144 211.2 Q F1(/)2.5 E F0<83>108 +228 Q(specifying a \214lename containing a)144 228 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 168 Q -(specifying a \214lename containing a slash as an ar)144 168 Q +(iltin command).2 E<83>108 244.8 Q +(specifying a \214lename containing a slash as an ar)144 244.8 Q (gument to the)-.18 E F1(history)2.5 E F0 -.2(bu)2.5 G(iltin command).2 -E<83>108 184.8 Q .45 -(specifying a \214lename containing a slash as an ar)144 184.8 R .449 +E<83>108 261.6 Q .45 +(specifying a \214lename containing a slash as an ar)144 261.6 R .449 (gument to the)-.18 F F12.949 E F0 .449(option to the)2.949 F F1 -(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 196.8 Q -<83>108 213.6 Q(importing function de\214nitions from the shell en)144 -213.6 Q(vironment at startup)-.4 E<83>108 230.4 Q(parsing the v)144 -230.4 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 247.2 Q(redirecting output using the\ - >, >|, <>, >&, &>, and >> redirection operators)144 247.2 Q<83>108 264 -Q(using the)144 264 Q F1(exec)2.5 E F0 -.2(bu)2.5 G +(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 273.6 Q +<83>108 290.4 Q(importing function de\214nitions from the shell en)144 +290.4 Q(vironment at startup)-.4 E<83>108 307.2 Q(parsing the v)144 +307.2 Q(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E +(vironment at startup)-.4 E<83>108 324 Q(redirecting output using the >\ +, >|, <>, >&, &>, and >> redirection operators)144 324 Q<83>108 340.8 Q +(using the)144 340.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 -280.8 Q(adding or deleting b)144 280.8 Q(uiltin commands with the)-.2 E +357.6 Q(adding or deleting b)144 357.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 297.6 Q -(using the)144 297.6 Q F1(enable)2.5 E F0 -.2(bu)2.5 G +(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 374.4 Q +(using the)144 374.4 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 -314.4 Q(specifying the)144 314.4 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 331.2 Q -(turning of)144 331.2 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F1 +391.2 Q(specifying the)144 391.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 408 Q +(turning of)144 408 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 348 Q 2.5(ys)-.15 G +(These restrictions are enforced after an)108 424.8 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 364.8 R -.15 -(xe)-.15 G 1.567(cuted \(see).15 F F2 1.567(COMMAND EXECUTION)4.067 F F0 -(abo)3.817 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 376.8 Q F0(turns of) +(When a command that is found to be a shell script is e)108 441.6 R -.15 +(xe)-.15 G 1.567(cuted \(see).15 F F3 1.567(COMMAND EXECUTION)4.067 F F0 +(abo)3.817 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 453.6 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/F4 10.95 -/Times-Bold@0 SF(SEE ALSO)72 393.6 Q/F5 10/Times-Italic@0 SF(Bash Refer) -108 405.6 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 417.6 Q +E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F2(SEE ALSO)72 +470.4 Q/F5 10/Times-Italic@0 SF(Bash Refer)108 482.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 F5 +(The Gnu Readline Libr)108 494.4 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 506.4 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 429.6 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 441.6 S(rtable Oper).8 E +F5 -.8(Po)108 518.4 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 453.6 Q -(g/onlinepubs/9699919799/)-.18 E(http://tiswww)108 465.6 Q +-.8 E F0 2.5(,I)C(EEE --)-2.5 E(http://pubs.opengroup.or)144 530.4 Q +(g/onlinepubs/9699919799/)-.18 E(http://tiswww)108 542.4 Q (.case.edu/~chet/bash/POSIX -- a description of posix mode)-.65 E F5(sh) -108 477.6 Q F0(\(1\),)A F5(ksh)2.5 E F0(\(1\),)A F5(csh)2.5 E F0(\(1\))A -F5(emacs)108 489.6 Q F0(\(1\),)A F5(vi)2.5 E F0(\(1\))A F5 -.37(re)108 -501.6 S(adline).37 E F0(\(3\))A F4(FILES)72 518.4 Q F5(/bin/bash)109.666 -530.4 Q F0(The)144 542.4 Q F1(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E -F5(/etc/pr)109.666 554.4 Q(o\214le)-.45 E F0 -(The systemwide initialization \214le, e)144 566.4 Q -.15(xe)-.15 G -(cuted for login shells).15 E F5(~/.bash_pr)109.666 578.4 Q(o\214le)-.45 -E F0(The personal initialization \214le, e)144 590.4 Q -.15(xe)-.15 G -(cuted for login shells).15 E F5(~/.bashr)109.666 602.4 Q(c)-.37 E F0 -(The indi)144 614.4 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G -(-shell startup \214le).15 E F5(~/.bash_lo)109.666 626.4 Q(gout)-.1 E F0 -(The indi)144 638.4 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 650.4 Q(c)-.37 E F0(Indi)144 662.4 Q(vidual)-.25 E F5 -.37(re) -2.5 G(adline).37 E F0(initialization \214le)2.5 E F4 -.548(AU)72 679.2 S -(THORS).548 E F0(Brian F)108 691.2 Q(ox, Free Softw)-.15 E(are F)-.1 E -(oundation)-.15 E(bfox@gnu.or)108 703.2 Q(g)-.18 E(Chet Rame)108 720 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(GNU Bash 5.1)72 768 Q(2020 June 5) -150.675 E(82)199.835 E 0 Cg EP +108 554.4 Q F0(\(1\),)A F5(ksh)2.5 E F0(\(1\),)A F5(csh)2.5 E F0(\(1\))A +F5(emacs)108 566.4 Q F0(\(1\),)A F5(vi)2.5 E F0(\(1\))A F5 -.37(re)108 +578.4 S(adline).37 E F0(\(3\))A F2(FILES)72 595.2 Q F5(/bin/bash)109.666 +607.2 Q F0(The)144 619.2 Q F1(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E +F5(/etc/pr)109.666 631.2 Q(o\214le)-.45 E F0 +(The systemwide initialization \214le, e)144 643.2 Q -.15(xe)-.15 G +(cuted for login shells).15 E F5(~/.bash_pr)109.666 655.2 Q(o\214le)-.45 +E F0(The personal initialization \214le, e)144 667.2 Q -.15(xe)-.15 G +(cuted for login shells).15 E F5(~/.bashr)109.666 679.2 Q(c)-.37 E F0 +(The indi)144 691.2 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G +(-shell startup \214le).15 E F5(~/.bash_lo)109.666 703.2 Q(gout)-.1 E F0 +(The indi)144 715.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(GNU Bash 5.1)72 +768 Q(2020 August 25)142.895 E(82)192.055 E 0 Cg EP %%Page: 83 83 %%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(chet.rame)108 84 Q -(y@case.edu)-.15 E/F1 10.95/Times-Bold@0 SF -.11(BU)72 100.8 S 2.738(GR) -.11 G(EPOR)-2.738 E(TS)-.438 E F0 .568(If you \214nd a b)108 112.8 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 .567(ug, and)-.2 -F 5.625(that it appears in the latest v)108 124.8 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.626 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10 +/Times-Italic@0 SF(~/.inputr)109.666 84 Q(c)-.37 E F0(Indi)144 96 Q +(vidual)-.25 E F1 -.37(re)2.5 G(adline).37 E F0(initialization \214le) +2.5 E/F2 10.95/Times-Bold@0 SF -.548(AU)72 112.8 S(THORS).548 E F0 +(Brian F)108 124.8 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E +(bfox@gnu.or)108 136.8 Q(g)-.18 E(Chet Rame)108 153.6 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 165.6 Q(y@case.edu)-.15 E F2 -.11(BU)72 +182.4 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568 +(If you \214nd a b)108 194.4 R .568(ug in)-.2 F/F3 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 .567(ug, and)-.2 F 5.625 +(that it appears in the latest v)108 206.4 R 5.625(ersion of)-.15 F F3 +(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626 (ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626 -(ilable from).25 F/F3 10/Times-Italic@0 SF(ftp://ftp.gnu.or)108 136.8 Q -(g/pub/gnu/bash/)-.37 E F0(.)A .411(Once you ha)108 153.6 R .711 -.15 -(ve d)-.2 H .411(etermined that a b).15 F .411(ug actually e)-.2 F .411 -(xists, use the)-.15 F F3(bashb)3.18 E(ug)-.2 E F0 .41 -(command to submit a b)3.13 F .41(ug report.)-.2 F(If)5.41 E .594 -(you ha)108 165.6 R .894 -.15(ve a \214)-.2 H .595 -(x, you are encouraged to mail that as well!).15 F .595 +(ilable from).25 F F1(ftp://ftp.gnu.or)108 218.4 Q(g/pub/gnu/bash/)-.37 +E F0(.)A .411(Once you ha)108 235.2 R .711 -.15(ve d)-.2 H .411 +(etermined that a b).15 F .411(ug actually e)-.2 F .411(xists, use the) +-.15 F F1(bashb)3.18 E(ug)-.2 E F0 .41(command to submit a b)3.13 F .41 +(ug report.)-.2 F(If)5.41 E .594(you ha)108 247.2 R .894 -.15(ve a \214) +-.2 H .595(x, you are encouraged to mail that as well!).15 F .595 (Suggestions and `philosophical' b)5.595 F .595(ug reports may)-.2 F -(be mailed to)108 177.6 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 194.4 Q(ug reports should include:)-.2 E(The v) -108 211.2 Q(ersion number of)-.15 E F2(bash)2.5 E F0(The hardw)108 223.2 -Q(are and operating system)-.1 E(The compiler used to compile)108 235.2 -Q 2.5(Ad)108 247.2 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 -E 2.5(As)108 259.2 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 276 Q(ug)-.2 E F0 +(be mailed to)108 259.2 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 F3(gnu.bash.b)2.5 E(ug) +-.2 E F0(.)A(ALL b)108 276 Q(ug reports should include:)-.2 E(The v)108 +292.8 Q(ersion number of)-.15 E F3(bash)2.5 E F0(The hardw)108 304.8 Q +(are and operating system)-.1 E(The compiler used to compile)108 316.8 Q +2.5(Ad)108 328.8 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E +2.5(As)108 340.8 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 357.6 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 -292.8 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 309.6 S(GS).11 E F0(It')108 321.6 Q 2.5(st)-.55 G +374.4 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 F2 -.11(BU)72 391.2 S(GS).11 E F0(It')108 403.2 Q 2.5(st)-.55 G (oo big and too slo)-2.5 E -.65(w.)-.25 G 1.869 -(There are some subtle dif)108 338.4 R 1.869(ferences between)-.25 F F2 +(There are some subtle dif)108 420 R 1.869(ferences between)-.25 F F3 (bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F -F2(sh)4.368 E F0 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9 -/Times-Bold@0 SF(POSIX)108 350.4 Q F0(speci\214cation.)2.25 E -(Aliases are confusing in some uses.)108 367.2 Q(Shell b)108 384 Q +F3(sh)4.368 E F0 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9 +/Times-Bold@0 SF(POSIX)108 432 Q F0(speci\214cation.)2.25 E +(Aliases are confusing in some uses.)108 448.8 Q(Shell b)108 465.6 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 400.8 R .39 -(process suspension is attempted.)108 412.8 R .389 +re not handled gracefully when)108 482.4 R .39 +(process suspension is attempted.)108 494.4 R .389 (When a process is stopped, the shell immediately e)5.39 F -.15(xe)-.15 G .389(cutes the ne).15 F .389(xt com-)-.15 F .192 -(mand in the sequence.)108 424.8 R .192(It suf)5.192 F .192(\214ces to \ +(mand in the sequence.)108 506.4 R .192(It suf)5.192 F .192(\214ces to \ place the sequence of commands between parentheses to force it into a) --.25 F(subshell, which may be stopped as a unit.)108 436.8 Q(Array v)108 -453.6 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E -(There may be only one acti)108 470.4 Q .3 -.15(ve c)-.25 H -(oprocess at a time.).15 E(GNU Bash 5.1)72 768 Q(2020 June 5)150.675 E -(83)199.835 E 0 Cg EP +-.25 F(subshell, which may be stopped as a unit.)108 518.4 Q(Array v)108 +535.2 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E +(There may be only one acti)108 552 Q .3 -.15(ve c)-.25 H +(oprocess at a time.).15 E(GNU Bash 5.1)72 768 Q(2020 August 25)142.895 +E(83)192.055 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/bashbug.0 b/doc/bashbug.0 index e40eed379..373c47b1d 100644 --- a/doc/bashbug.0 +++ b/doc/bashbug.0 @@ -29,9 +29,10 @@ EENNVVIIRROONNMMEENNTT EEDDIITTOORR Specifies the preferred editor. If EEDDIITTOORR is not set, bbaasshhbbuugg attempts to locate a number of alternative editors, including - eemmaaccss, and defaults to vvii. + eemmaaccss. If bbaasshhbbuugg cannot locate any of the alternative editors, + it attempts to execute vvii. - HHOOMMEE Directory in which the failed bug report is saved if the mail + HHOOMMEE Directory in which the failed bug report is saved if the mail fails. TTMMPPDDIIRR Directory in which to create temporary files and directories. @@ -48,4 +49,4 @@ AAUUTTHHOORRSS -GNU Bash-4.4 2016 February 15 BASHBUG(1) +GNU Bash 5.1 2020 August 1 BASHBUG(1) diff --git a/doc/bashbug.1 b/doc/bashbug.1 index 61d9122ab..abcaf4823 100644 --- a/doc/bashbug.1 +++ b/doc/bashbug.1 @@ -5,9 +5,9 @@ .\" Case Western Reserve University .\" chet@po.cwru.edu .\" -.\" Last Change: Mon Feb 15 14:42:40 EST 2016 +.\" Last Change: Sun Aug 2 15:39:07 EDT 2020 .\" -.TH BASHBUG 1 "2016 February 15" "GNU Bash-4.4" +.TH BASHBUG 1 "2020 August 1" "GNU Bash 5.1" .SH NAME bashbug \- report a bug in bash .SH SYNOPSIS @@ -44,8 +44,10 @@ Specifies the preferred editor. If is not set, .B bashbug attempts to locate a number of alternative editors, including -.BR emacs , -and defaults to \fBvi\fP. +.BR emacs . +If +.B bashbug +cannot locate any of the alternative editors, it attempts to execute \fBvi\fP. .TP .B HOME Directory in which the failed bug report is saved if the mail fails. diff --git a/doc/bashbug.ps b/doc/bashbug.ps index a5df73f55..9c60a331d 100644 --- a/doc/bashbug.ps +++ b/doc/bashbug.ps @@ -1,10 +1,10 @@ %!PS-Adobe-3.0 -%%Creator: groff version 1.22.3 -%%CreationDate: Mon Mar 28 15:34:55 2016 +%%Creator: groff version 1.22.4 +%%CreationDate: Fri Aug 7 11:58:10 2020 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic -%%DocumentSuppliedResources: procset grops 1.22 3 +%%DocumentSuppliedResources: procset grops 1.22 4 %%Pages: 1 %%PageOrder: Ascend %%DocumentMedia: Default 612 792 0 () () @@ -14,7 +14,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 @@ -275,20 +275,23 @@ E(vironment v)-.4 E(ariables if the)-.25 E 2.5(ye)-.15 G(xist:)-2.65 E F2(EDIT)108 300 Q(OR)-.18 E F0 .327(Speci\214es the preferred editor)144 312 R 2.827(.I)-.55 G(f)-2.827 E F4(EDIT)2.827 E(OR)-.162 E F0 .327 (is not set,)2.577 F F2(bashb)2.827 E(ug)-.2 E F0 .328 -(attempts to locate a number of alter)2.827 F(-)-.2 E(nati)144 324 Q .3 --.15(ve e)-.25 H(ditors, including).15 E F2(emacs)2.5 E F0 2.5(,a)C -(nd def)-2.5 E(aults to)-.1 E F2(vi)2.5 E F0(.)A F2(HOME)108 340.8 Q F0 -(Directory in which the f)144 352.8 Q(ailed b)-.1 E(ug report is sa)-.2 -E -.15(ve)-.2 G 2.5(di).15 G 2.5(ft)-2.5 G(he mail f)-2.5 E(ails.)-.1 E -F2(TMPDIR)108 369.6 Q F0 +(attempts to locate a number of alter)2.827 F(-)-.2 E(nati)144 324 Q +1.925 -.15(ve e)-.25 H 1.625(ditors, including).15 F F2(emacs)4.125 E F0 +6.625(.I)C(f)-6.625 E F2(bashb)4.125 E(ug)-.2 E F0 1.625 +(cannot locate an)4.125 F 4.125(yo)-.15 G 4.125(ft)-4.125 G 1.625 +(he alternati)-4.125 F 1.925 -.15(ve e)-.25 H 1.625(ditors, it at-).15 F +(tempts to e)144 336 Q -.15(xe)-.15 G(cute).15 E F2(vi)2.5 E F0(.)A F2 +(HOME)108 352.8 Q F0(Directory in which the f)144 364.8 Q(ailed b)-.1 E +(ug report is sa)-.2 E -.15(ve)-.2 G 2.5(di).15 G 2.5(ft)-2.5 G +(he mail f)-2.5 E(ails.)-.1 E F2(TMPDIR)108 381.6 Q F0 (Directory in which to create temporary \214les and directories.)144 -381.6 Q F1(SEE ALSO)72 398.4 Q F3(bash)108 410.4 Q F0(\(1\))A F1 -.548 -(AU)72 427.2 S(THORS).548 E F0(Brian F)108 439.2 Q(ox, Free Softw)-.15 E -(are F)-.1 E(oundation)-.15 E(bfox@gnu.or)108 451.2 Q(g)-.18 E -(Chet Rame)108 468 Q 1.3 -.65(y, C)-.15 H(ase W).65 E(estern Reserv)-.8 +393.6 Q F1(SEE ALSO)72 410.4 Q F3(bash)108 422.4 Q F0(\(1\))A F1 -.548 +(AU)72 439.2 S(THORS).548 E F0(Brian F)108 451.2 Q(ox, Free Softw)-.15 E +(are F)-.1 E(oundation)-.15 E(bfox@gnu.or)108 463.2 Q(g)-.18 E +(Chet Rame)108 480 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@po.cwru.edu) -108 480 Q(GNU Bash-4.4)72 768 Q(2016 February 15)138.46 E(1)193.45 E 0 -Cg EP +108 492 Q(GNU Bash 5.1)72 768 Q(2020 August 1)145.395 E(1)199.555 E 0 Cg +EP %%Trailer end %%EOF diff --git a/doc/bashref.dvi b/doc/bashref.dvi index 2b4368812..d031d4ac9 100644 Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ diff --git a/doc/bashref.html b/doc/bashref.html index 0a871c6a9..2c1cfadf1 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -1,9 +1,9 @@