diff options
-rw-r--r--[l---------] | CWRU/changelog | 9327 | ||||
-rw-r--r-- | Makefile.in | 4 | ||||
-rwxr-xr-x | configure | 22 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | doc/FAQ | 215 | ||||
-rw-r--r-- | doc/bash.0 | 2447 | ||||
-rw-r--r-- | doc/bash.1 | 236 | ||||
-rw-r--r-- | doc/bash.html | 350 | ||||
-rw-r--r-- | doc/bash.pdf | bin | 288562 -> 288296 bytes | |||
-rw-r--r-- | doc/bash.ps | 11901 | ||||
-rw-r--r-- | doc/bashref.dvi | bin | 663408 -> 663456 bytes | |||
-rw-r--r-- | doc/bashref.html | 11 | ||||
-rw-r--r-- | doc/bashref.info | 234 | ||||
-rw-r--r-- | doc/bashref.pdf | bin | 559415 -> 559434 bytes | |||
-rw-r--r-- | doc/bashref.ps | 162 | ||||
-rw-r--r-- | doc/bashref.texi | 2 | ||||
-rw-r--r-- | doc/builtins.0 | 50 | ||||
-rw-r--r-- | doc/builtins.ps | 475 | ||||
-rw-r--r-- | doc/rbash.ps | 11 | ||||
-rw-r--r-- | execute_cmd.c | 2 | ||||
-rw-r--r--[l---------] | lib/readline/COPYING | 675 | ||||
-rw-r--r--[l---------] | lib/readline/ansi_stdlib.h | 55 | ||||
-rw-r--r--[l---------] | lib/readline/doc/fdl.texi | 507 | ||||
-rw-r--r--[l---------] | lib/readline/posixdir.h | 62 | ||||
-rw-r--r--[l---------] | lib/readline/posixjmp.h | 41 | ||||
-rw-r--r--[l---------] | lib/readline/posixselect.h | 48 | ||||
-rw-r--r--[l---------] | lib/readline/posixstat.h | 143 | ||||
-rw-r--r--[l---------] | lib/readline/tilde.c | 503 | ||||
-rw-r--r--[l---------] | lib/readline/tilde.h | 81 | ||||
-rw-r--r-- | parse.y | 5 | ||||
-rw-r--r-- | po/af.gmo | bin | 1231 -> 1231 bytes | |||
-rw-r--r-- | po/af.po | 104 | ||||
-rw-r--r-- | po/bash.pot | 104 | ||||
-rw-r--r-- | po/bg.gmo | bin | 34844 -> 34844 bytes | |||
-rw-r--r-- | po/bg.po | 104 | ||||
-rw-r--r-- | po/ca.gmo | bin | 9819 -> 9819 bytes | |||
-rw-r--r-- | po/ca.po | 104 | ||||
-rw-r--r-- | po/cs.gmo | bin | 152764 -> 152764 bytes | |||
-rw-r--r-- | po/cs.po | 104 | ||||
-rw-r--r-- | po/de.gmo | bin | 45438 -> 45438 bytes | |||
-rw-r--r-- | po/de.po | 104 | ||||
-rw-r--r-- | po/en@boldquot.gmo | bin | 158963 -> 159145 bytes | |||
-rw-r--r-- | po/en@boldquot.po | 110 | ||||
-rw-r--r-- | po/en@quot.gmo | bin | 157427 -> 157609 bytes | |||
-rw-r--r-- | po/en@quot.po | 110 | ||||
-rw-r--r-- | po/eo.gmo | bin | 141873 -> 141873 bytes | |||
-rw-r--r-- | po/eo.po | 104 | ||||
-rw-r--r-- | po/es.gmo | bin | 151298 -> 151298 bytes | |||
-rw-r--r-- | po/es.po | 104 | ||||
-rw-r--r-- | po/et.gmo | bin | 12257 -> 12257 bytes | |||
-rw-r--r-- | po/et.po | 104 | ||||
-rw-r--r-- | po/fi.gmo | bin | 147540 -> 147540 bytes | |||
-rw-r--r-- | po/fi.po | 104 | ||||
-rw-r--r-- | po/fr.gmo | bin | 26542 -> 26542 bytes | |||
-rw-r--r-- | po/fr.po | 104 | ||||
-rw-r--r-- | po/ga.gmo | bin | 62686 -> 62686 bytes | |||
-rw-r--r-- | po/ga.po | 104 | ||||
-rw-r--r-- | po/hu.gmo | bin | 9311 -> 9311 bytes | |||
-rw-r--r-- | po/hu.po | 104 | ||||
-rw-r--r-- | po/id.gmo | bin | 149543 -> 149543 bytes | |||
-rw-r--r-- | po/id.po | 104 | ||||
-rw-r--r-- | po/ja.gmo | bin | 8183 -> 8183 bytes | |||
-rw-r--r-- | po/ja.po | 104 | ||||
-rw-r--r-- | po/lt.gmo | bin | 30754 -> 30754 bytes | |||
-rw-r--r-- | po/lt.po | 104 | ||||
-rw-r--r-- | po/nl.gmo | bin | 150781 -> 150781 bytes | |||
-rw-r--r-- | po/nl.po | 104 | ||||
-rw-r--r-- | po/pl.gmo | bin | 24983 -> 24983 bytes | |||
-rw-r--r-- | po/pl.po | 104 | ||||
-rw-r--r-- | po/pt_BR.gmo | bin | 9658 -> 9658 bytes | |||
-rw-r--r-- | po/pt_BR.po | 104 | ||||
-rw-r--r-- | po/ro.gmo | bin | 9415 -> 9415 bytes | |||
-rw-r--r-- | po/ro.po | 104 | ||||
-rw-r--r-- | po/ru.gmo | bin | 9142 -> 9142 bytes | |||
-rw-r--r-- | po/ru.po | 104 | ||||
-rw-r--r-- | po/sk.gmo | bin | 150575 -> 150575 bytes | |||
-rw-r--r-- | po/sk.po | 104 | ||||
-rw-r--r-- | po/sv.gmo | bin | 146044 -> 146044 bytes | |||
-rw-r--r-- | po/sv.po | 104 | ||||
-rw-r--r-- | po/tr.gmo | bin | 24589 -> 24589 bytes | |||
-rw-r--r-- | po/tr.po | 104 | ||||
-rw-r--r-- | po/vi.gmo | bin | 161257 -> 161257 bytes | |||
-rw-r--r-- | po/vi.po | 104 | ||||
-rw-r--r-- | po/zh_TW.gmo | bin | 5993 -> 5993 bytes | |||
-rw-r--r-- | po/zh_TW.po | 104 | ||||
-rw-r--r-- | subst.c | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | support/mkconffiles | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | support/mkversion.sh | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | support/rlvers.sh | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | support/shobj-conf | 0 | ||||
-rw-r--r-- | y.tab.c | 27 |
91 files changed, 21300 insertions, 9226 deletions
diff --git a/CWRU/changelog b/CWRU/changelog index d2d81b30..085fdbd7 120000..100644 --- a/CWRU/changelog +++ b/CWRU/changelog @@ -1 +1,9326 @@ -CWRU.chlog
\ No newline at end of file + 7/27/2004 + --------- + +[bash-3.0 released] + + 7/28 + ---- +array.c + - in array_insert(), make sure the value to be added is non-NULL before + calling savestring() on it + +builtins/reserved.def + - fix description of `CDPATH' + +lib/readline/display.c + - when expanding a prompt that spans multiple lines with embedded + newlines, set prompt_physical_chars from the portion after the + final newline, not the preceding portion. Bug reported by + "Ralf S. Engelschall" <rse@engelschall.com> + +make_cmd.c + - explicitly declare `lineno' in function prologue for make_case_command + +builtins/evalfile.c + - include `trap.h' for declaration for run_return_trap + +bashline.c + - fix a `return' without a value in enable_hostname_completion + +general.c + - include test.h for extern declaration for test_eaccess + +externs.h + - add declaration for zcatfd + +tests/{history,histexp}.tests + - unset HISTFILESIZE to avoid problems if a value of 0 is inherited + from the environment + + 7/30 + ---- +bashline.c + - small changes to glob_expand_word to perform tilde expansion before + attempting globbing + +builtins/Makefile.in + - fix the install-help target to not cd into the `helpfiles' + subdirectory, so a value of $INSTALL_DATA containing a relative + pathname (e.g., .././support/install.sh) remains valid + + 7/31 + ---- +subst.c + - new function, mbstrlen(s), returns length of a multibyte character + string + +include/shmbutil.h + - new macro, MB_STRLEN(s), calls mbstrlen or STRLEN as appropriate + +builtins/trap.def + - small change so that a first argument that's a valid signal number + (digits only -- no symbolic names) will be treated as a signal and + reverted back to the original handling disposition. Fixes debian + complaints + +subst.c + - call MB_STRLEN instead of STRLEN where appropriate in + parameter_brace_expand_length to handle multibyte characters properly + - call MB_STRLEN instead of strlen in verify_substring_values so that + negative substrings of strings with multibyte chars work properly + + 8/1 + --- +jobs.c + - describe_pid needs to write to stderr, not stdout (POSIX) + - start_job, since it's only used by builtins (fg/bg), needs to write + its output to stdout, not stderr (POSIX) + +sig.c + - add an `orig_flags' member to struct terminating_signal so the + original signal handling flags (SA_RESTART, etc.) can be preserved + on POSIX systems + - make sure to preserve the signal flags state in + initialize_terminating_signals and reset them for child processes + in reset_terminating_signals + +builtins/fc.def + - fixed an off-by-one error that caused `fc -l' to list one too many + history entries + - in posix mode, `fc' should not list any indication as to whether or + not history lines have been modified (POSIX) + - when in posix mode, the default editor for `fc' should be `ed' (POSIX) + +doc/bashref.texi + - updated the description of `trap' behavior when given a first + argument that is a valid signal number + - noted that `fc -l' won't indicate whether a history entry has been + modified if the shell is in posix mode + +builtins/command.def + - fixed bug: `command -v' is supposed to be silent if a command is not + found + +builtins/hash.def + - `hash' should print its `hash table empty' message to stderr + +lib/readline/misc.c + - back out 7/7 change to _rl_maybe_save_line; it breaks emacs-mode ^P + +general.c + - changed base_pathname so that it will return reasonable results for + non-absolute pathnames -- this is what is intended by all of its + callers + +arrayfunc.c + - fix array_variable_part to return NULL if it finds an invisible + variable in the hash table. Fixes seg fault caused by referring to + unset local variable using array notation + +{locale,variables}.c + - support LC_TIME as a special locale variable so HISTTIMEFORMAT tracks + the current locale + + 8/2 + --- +variables.c + - fixed small memory leak in makunbound() when a local array variable + is unset. Fix from William Park + +lib/readline/display.c + - fixed a problem when computing the number of invisible characters on + the first line of a prompt whose length exceeds the screen width + (should only happen when invisible characters occur after the + line wrap). Bug reported by agriffis@gentoo.org + +builtins/command.def + - `command -V' passes a new flag, CDESC_ABSPATH, which means to convert + to an absolute path + +builtins/type.def + - in posix mode, `type' and `command -v/-V' should not report + non-executable files, even if the execution code will attempt to + run them. Other posix shells do this + +doc/bashref.texi + - add note to POSIX Mode section describing behavior of type and command + when finding a non-executable file + +execute_cmd.c + - force extended_glob to 1 before calling binary_test in + execute_cond_node so that the right extended pattern matching gets + performed + + 8/3 + --- +braces.c + - make sure lhs[0] and rhs[0] are cast to `unsigned char' so chars + with values > 128 are handled correctly + +builtins/printf.def + - change bexpand() and printstr() to handle strings with a leading + '\0' whose length is non-zero, since that's valid input for the + `%b' format specifier + +subst.c + - fix a couple of instances of find_variable that didn't check the + result for an invisible variable + +variables.c + - BASH_ARGC, BASH_ARGV, BASH_SOURCE, BASH_LINENO no longer created as + invisible vars + +pcomplete.c + - make sure COMP_WORDS is not invisible when bind_comp_words returns + - ditto for COMPREPLY in gen_shell_function_matches + + 8/4 + --- +braces.c + - fix problem where ${ was ignored but did not increment the open + brace count. Bug reported by Tim Waugh <twaugh@redhat.com> + +variables.c + - if make_local_variable finds a variable in the correct context in + the right variable scope, make sure it's not invisible before + returning it + + 8/5 + --- +builtins/trap.def + - fixed usage message to show `action' as not optional, though it + actually is when not in posix mode (for a single argument) + + 8/7 + --- +configure.in + - kfreebsd-gnu has had its sbrk() problems fixed, and no longer needs + to be configured --without-gnu-malloc + +lib/readline/vi_mode.c + - in rl_vi_search, free any saved history line before starting the + search, so failure leaves you at that line, not the last line in + the history (assuming the current line is not the last history line). + Fix from llattanzi@apple.com to replace fix of 7/7 + + 8/9 + --- +support/Makefile.in + - renamed `mostly-clean' target to `mostlyclean' + + 8/11 + ---- +lib/readline/vi_mode.c + - make same change for EOL in multibyte character case of + rl_vi_change_char + + 8/12 + ---- +subst.c + - in verify_substring_values, fix off-by-one error checking bounds of + `offset', esp. in array values (e.g., getting the highest element + of an array) + + 8/16 + ---- +aclocal.m4 + - change BASH_CHECK_DEV_FD to make sure that file descriptors > 2 are + accessible via /dev/fd, unlike FreeBSD 5.x + +lib/sh/strftime.c + - make sure `zone' is initialized with gettimeofday before it is used + - work around HPUX lack of `altzone' and differing definitions of + `timezone' + +lib/malloc/malloc.c + - internal_memalign and memalign now take a `size_t' as their first + argument, which seems to be the prevailing standard + +lib/malloc/{malloc.c,shmalloc.h} + - change sh_memalign to take a `size_t' as its first argument + +builtins/echo.def + - if posixly_correct and xpg_echo are both set, don't try to interpret + any arguments at all, as POSIX/XOPEN requires (fix inspired by Paul + Eggert) + +doc/bashref.texi + - amend description of bash posix mode to include new echo behavior + +builtins/fg_bg.def + - allow bg to take multiple job arguments, as posix seems to specify, + placing them all in the background, returning the status of the last + one as the status of `bg' + +lib/readline/vi_mode + - fix _rl_vi_change_mbchar_case (multibyte-char version of `~' + command) to have the right behavior at EOL -- handle case where vi + mode backs up at the end of the line + + 8/18 + ---- +array.c + - check for an empty array in array_rshift before shifting elements + and adjusting max_index + - check for null array in array_subrange + +jobs.c + - fix raw_job_exit_status to not ignore exit status of the last + process in the pipeline when `set -o pipefail' is enabled + + 8/19 + ---- +lib/readline/mbutil.c + - make sure _rl_find_next_mbchar_internal has a valid multibyte + character before it checks whether or not it's a zero-width + wide character and adjusts point accordingly + + 8/24 + ---- +bashline.c + - new function, bash_directory_expansion, duplicates the expansions + performed on the directory name by rl_filename_completion_function + - call bash_directory_expansion in command_word_completion_function + if we decide we're doing tilde expansion (and any other + canonicalization) on the directory name being completed + + 8/25 + ---- +configure.in + - use new-style AC_CHECK_HEADER to check for sys/ptem.h (which requires + sys/stream.h). The correct checks are in the code, but autoconf + complains if sys/stream.h is not included, rather than simply + checking for the header's presence + + 8/26 + ---- +builtins/hash.def + - fix a bug that prevented `hash -d' from working right (as soon as + hash removed a command from the table, the bug caused it to be added + right back) + + 8/27 + ---- +doc/{bash.1,bashref.texi} + - explicitly note that conditional primaries that operate on files + operate on the targets of symbolic links rather than the links + themselves + + 8/30 + ---- +lib/readline/display.c + - fix multibyte calculation of `physchars' in prompt expansion, to + handle double-width multibyte characters correctly + - changes to rl_redisplay to handle prompts longer than the screenwidth + that might contain double-width multibyte characters. Fixes from + Tomohiro Kubota + + 9/6 + --- +subst.c + - change word_list_split to avoid really bad behavior caused by calling + list_append for each split word -- as the list gets long, you have + to traverse it every time. Keep a pointer to the end of the list and + and just tack onto it + + 9/8 + --- +lib/readline/complete.c + - change fnprint to calculate the displayed width of a filename in + the same way as fnwidth + +subst.c + - in verify_substring_values, when expanding ${array[@]:offset}, make + sure negative offsets count from one greater than the array's + maximum index so things like ${x[@}: -1} work to give the last element + (requires fixing array tests) + +builtins/common.c + - new error function, sh_wrerror(), for builtins to call when a write + error occurs + +builtins/common.h + - extern declaration for sh_wrerror() + +builtins/cd.def + - change builtin_error call to use sh_wrerror() + +builtins/echo.def + - report write errors with sh_wrerror() instead of just returning + failure + +builtins/printf.def + - change printstr to return failure (-1) or success (0) indication + rather than void + - report write errors when printstr() fails, return failure + - if any of the PF/printf calls fail, report write error and return + failure + +execute_cmd.c + - change execute_in_subshell so the subshell command inherits the + command timing flags from the enclosing COMMAND * + + 9/11 + ---- +[prayers for the victims of 9/11/2001] + +lib/sh/strnlen.c + - new file, implementation of GNU libc extension function strnlen + +lib/sh/Makefile.in, {config.h,configure,Makefile}.in, MANIFEST + - changes for strnlen + +configure.in + - version changed to 3.1-devel + +doc/bash.1, lib/readline/doc/rluser.texi + - added description of `-o plusdirs' to complete/compgen (thanks, + Arnold) + +parse.y + - new parser_state flag, PST_ASSIGNOK, if set indicates we're parsing + arguments to a builtin that accepts assignment statement arguments + - turn on PST_ASSIGNOK in read_token_word when appropriate + - turn off PST_ASSIGNOK in read_token when appropriate + - don't attempt to parse a compound assignment specially unless we're + in a position where an assignment statement is acceptable, or + PST_ASSIGNOK is set + + 9/13 + ---- +variables.c + - make BASH_ARGC, BASH_ARGV, BASH_LINENO, and BASH_SOURCE + non-unsettable, since the shell uses those values internally + +expr.c + - make exponentiation right-associative, as is apparently correct + + 9/16 + ---- +arrayfunc.c + - make sure convert_var_to_array marks the environment as needing + recreation if the converted variable was exported + + 9/17 + ---- +braces.c + - mark ${ as introducing an additional level of braces only if it's + not in a quoted string -- quoted strings are handled before brace + matching is done + +parse.y + - fixed an obscure problem in history_delimiting_chars where the `in' + in a case statement could have a semicolon added after it, if the + `case word' was on a previous line + +support/config.guess + - support for newest versions of tandem non-stop kernel + +lib/readline/display.c + - in compute_lcd_of_matches, explicitly cast `text' to `char *' before + passing it to rl_filename_dequoting_function + +lib/readline/terminal.c + - bind the key sequence sent by the keypad `delete' key to delete-char + (same as ^D in emacs mode) + +builtins/ulimit.def + - in print_all_limits, don't print anything if get_limit returns + -1/EINVAL, indicating that the kernel doesn't support that particular + limit + - add -i (max number of pending signals), -q (max size of posix msg + queues), -x (max number of file locks) for systems (Linux) that + support them + +doc/{bash.1,bashref.texi} + - fix description of correspondence between FUNCNAME, BASH_LINENO, + and BASH_SOURCE indices in description of BASH_LINENO + + 9/18 + ---- +lib/sh/shquote.c + - don't quote CTLESC and CTLNUL with CTLESC in sh_backslash_quote, as + long as the resultant string never gets sent to the word expansion + functions without going through the shell parser + +externs.h + - add extern declarations for strnlen and strpbkrk from lib/sh + +subst.[ch] + - changes to handle case where IFS consists of multibyte characters. + Changed: string_extract_verbatim, split_at_delims, + string_list_dollar_star, string_list_dollar_at, list_string, + get_word_from_string, setifs + + 9/19 + ---- +mailcheck.c + - change file_mod_date_changed to reset the cached mail file data if + the file size drops to zero + +lib/readline/complete.c + - change append_to_match so that a non-zero value for + rl_completion_suppress_append will cause no `/' to be appended to a + directory name + +bashline.c + - experimental change to suppress appending a slash for a completed + filename that is found in PATH as well as a directory in the current + directory under certain circumstances: a single instance found in + $PATH when `.' is not in $PATH, and multiple instances found in the + $PATH, even when `.' is in the $PATH + + 9/24 + ---- +command.h + - new word flag: W_ASSIGNRHS, means word is rhs of assignment statement + - new word flag: W_NOTILDE, means word is not to be tilde expanded + - new word flag (internal): W_ITILDE, means the next character is a + tilde that should be expanded + +general.c + - new set of tilde suffixes for use when parsing the RHS of an + assignment statement and =~ should not be subject to tilde expansion + - if ASSIGN_P argument to bash_tilde_expand is 2, use tilde prefixes + for parsing RHS of assignment statement + +general.[ch] + - new function bash_tilde_find_word, drop-in replacement for + tilde_find_word + +subst.c + - call bash_tilde_expand with secord argument of 2 when expanding rhs + of an assignment statement, so tildes after second and subsequent + `=' in an assignment are not expanded + - new function, expand_string_assignment, to expand the rhs of an + assignment statement + - add `~' to EXP_CHAR, the characters that will cause the word + expansion functions to be called + - move tilde expansion into expand_word_internal instead of many + different calls to bash_tilde_expand scattered across different + functions. NOTE: This means that double quotes surrounding a + {paramOPword} expansion will cause tilde expansion to NOT be + performed on `word'. I think this is right, what POSIX specifies, + and consistent with the behavior of other characters in the rhs + +execute_cmd.c + - take out calls to bash_tilde_expand before calling word expansion + functions + + 9/26 + ---- +execute_cmd.c + - make sure to call UNBLOCK_CHILD before returning on a pipe creation + failure in execute_pipeline + + 9/27 + ---- +variables.c + - change get_bash_command to deal with the_printed_command_except_trap + being NULL + +execute_cmd.c + - fix execute_simple_command to deal with the_printed_command being + NULL when assigning to the_printed_command_except_trap -- fixes + seg fault in savestring() + +parse.y + - change the parser so that the closing `)' in a compound variable + assignment delimits a token -- ksh93 does it this way + +doc/{bash.1,bashref.texi} + - change description of tilde expansion to note that expansion is + attempted only after the first =~ in an assignment statement + +builtins/declare.def + - when assigning to an array variable with declare -a x=(...), make + sure the last character in the rhs of the variable assignment is + `)', not just that it appears somewhere + + 9/28 + ---- +command.h + - add a `W_NOEXPAND' flag to inhibit all expansion except quote removal + - add a `W_COMPASSIGN' flag to denote a word is a compound assignment + statement + +parse.y + - set W_COMPASSIGN on words that appear to be compound assignments + +subst.c + - pass W_NOXPAND and W_COMPASSIGN through end of expand_word_internal + +subst.[ch] + - new function, expand_assignment_string_to_string, calls + expand_string_assignment and then string_list on the result + +variables.c + - assign_in_env now calls expand_assignment_string_to_string + + 9/30 + ---- +builtins/common.c + - change get_job_spec so the null job `%' once again means the current + job + + 10/1 + ---- +subst.c + - do_assignment_internal now takes a WORD_DESC * as its first + argument, and uses its `word' member as the assignment string + - change expand_word_list_internal to call do_word_assignment instead + of do_assignment, passing it `word' instead of, e.g., `word->word' + - change extract_array_assignment_list to just return the passed + string minus a trailing `)' if the last character is a right + paren + - change do_assignment_internal to call extract_array_assignment_list + +subst.[ch] + - change do_assignment and do_assignment_no_expand to take a `char *' + instead of `const char *' first argument; change extern prototypes + - new function, do_word_assignment, takes a WORD_DESC * and calls + do_assignment_internal on it; add extern declaration with prototype + +general.h + - new typedef, sh_wassign_func_t, like sh_assign_func_t but takes a + WORD_DESC * as its first argument + +variables.[ch] + - assign_in_env now takes a WORD_DESC * as its first argument + + 10/2 + ---- +command.h + - new word flag, W_ASSNBLTIN, denotes that the word is a builtin + command (in a command position) that takes assignment statements + as arguments, like `declare' + - new word flags, W_ASSIGNARG, denotes that word is an assignment + statement given as argument to assignment builtin + +execute_cmd.c + - set W_ASSNBLTIN flag in fix_assignment_words if necessary (if there + are any arguments that are assignment statements) + - set W_ASSIGNARG flag in fix_assignment_words if necessary + +subst.c + - new function, do_compound_assignment, encapsulates the necessary + code to perform a compound array assignment (including creation of + local variables); called from do_assignment_internal + - to fix the double-expansion problem with compound array assignments + that are arguments to builtins like `declare', changed + shell_expand_word_list to treat those arguments like assignment + statements (with proper creation of local variables inside shell + functions) and pass the attribute-setting portion of the statement + onto the builtin. This is what ksh93 appears to do, from inspection + of the `ksh93 -x' output + +execute_cmd.c + - fix execute_simple_command: in case of pipeline or async command, + when forking early, set `subshell_environment' so that it can contain + both SUBSHELL_PIPE and SUBSHELL_ASYNC -- the two should not be + mutually exclusive. Fixes bug reported by pierre.humblet@ieee.org + - remove references to last_pid, old_command_subst_pid; use NO_PID as + a sentinel value to decide whether or not a child process has been + created and needs to be waited for. Submitted by + pierre.humblet@ieee.org to fix recycling-pid problem on cygwin + +doc/{bash.1,bashref.texi} + - fixed documentation of `@(pattern)' extended globbing operator -- + it succeeds if the string matches one of the patterns, not exactly + one. This is what ksh93 does, too + +lib/readline/complete.c + - fixed rl_menu_complete so that a negative argument cycles backwards + through the list + + 10/3 + ---- +subst.c + - use W_COMPASSIGN flag in do_assignment_internal instead of deciding + lexically which assignments are compound array assignments + + 10/6 + ---- +support/shobj-conf + - additions for System V.5 from Boyd Gerber <gerberb@zenez.com> + +subst.c + - in command_substitute, if subshell_environment includes + SUBSHELL_ASYNC, call make_child with the `async_p' argument set to + non-zero. This keeps command substitutions for async commands or + pipelines from trying to give the terminal back to the shell's + pgrp. make sure to save and restore last_asynchronous_pid. Fix + suggested by <pierre.humblet@ieee.org> + + 10/7 + ---- +config.h.in + - add a placeholder definition for WCONTINUED_BROKEN + + 10/9 + ---- +aclocal.m4 + - add BASH_CHECK_WCONTINUED, checks for glibc bug where WCONTINUED is + defined but rejected as invalid by waitpid(2) + +configure.in + - add call to BASH_CHECK_WCONTINUED, defines WCONTINUED_BROKEN + +redir.c + - experimental change to add_undo_redirect to save manipulations to + file descriptors >= SHELL_FD_BASE (10) on the list of redirections + to be undone even if `exec' causes the list to be discarded + +doc/{bash.1,bashref.texi} + - note that redirections using file descriptors > 9 should be used + carefully, because they might conflict with file descriptors the + shell uses internally + + 10/11 + ----- +parse.y + - fix pipeline_command production to handle case where `pipeline' + as `argument' of `!' or `time' is null (e.g., a syntax error not + handled by the grammar) + + 10/13 + ----- +lib/readline/readline.c + - new internal variable, _rl_bind_stty_chars; if non-zero, bind the + terminal special characters to readline equivalents at startup + - change readline_default_bindings() and reset_default_bindings() to + understand _rl_bind_stty_chars + +lib/readline/rlprivate.h + - new extern declaration for _rl_bind_stty_chars + +lib/readline/rltty.c + - change rl_prep_terminal to add support for _rl_bind_stty_chars + + 10/15 + ----- +lib/readline/bind.c + - new bindable variable, `bind-tty-special-chars', bound to value of + _rl_bind_stty_chars + +doc/bash.1,lib/readline/doc/{readline.3,rluser.texi} + - documented new readline variable `bind-tty-special-chars' + +builtins/pushd.def + - make the first check for option `--' skip the rest of option + checking + + 10/16 + ----- +lib/readline/shell.c + - change sh_set_lines_and_columns to prefer setenv, which has + predictable memory allocation behavior, to putenv, which does not + + 10/19 + ----- +variables.c + - change push_exported_var so that a tempenv variable has to have the + export attribute set (which they all do -- something to look at) and + the `propagate' attribute set to be propagated down to the next + scope + +execute_cmd.c + - change execute_builtin so that if CMD_COMMAND_BUILTIN is set in the + passed flags argument, call pop_scope with a value that says the + builtin is not special, since `command' means that preceding variable + assignments don't persist in the environment. Fixes problem with + variable assignments preceding command preceding special builtin + keeping those variable assignments around (when in posix mode) + + 10/20 + ----- +lib/sh/shquote.c + - new function, sh_mkdoublequoted, brackets a given string with + double quotes and returns a new string. Flags argument, if non- + zero, means to quote embedded double quotes with backslashes + +externs.h + - new extern declaration for sh_mkdoublequoted + +parse.y + - use sh_mkdoublequoted after calling localeexpand() + +lib/sh/strtrans.c + - change ansicstr to understand that (flags & 4) != 0 means to remove + backslash from unrecognized escape sequences + +general.c + - fix logic problem in assignment() that caused non-variable-starter + characters to be allowed, resulting in things like `1=xxx' creating + a variable `1' in the hash table + + 10/21 + ----- +bashline.c + - don't call programmable_completions with an assignment statement + argument + + 10/22 + ----- +lib/readline/rltty.c + - in prepare_terminal_settings, turn echoing on (readline_echoing_p) + if get_tty_settings fails because the input is not a terminal + + 10/24 + ----- +lib/readline/util.c + - include rlmbutil.h for multibyte definitions + - new function, _rl_walphabetic, wide char version of rl_alphabetic + +lib/readline/mbutil.c + - new function, _rl_char_value(buf, ind), returns value of (possibly + multibyte) character at buf[ind] + +lib/readline/rlmbutil.h + - extern defines for _rl_walphabetic and _rl_char_value for when + multibyte chars are not being used + - new wrapper definitions for _rl_find_next_mbchar (MB_NEXTCHAR) and + _rl_find_prev_mbchar (MB_PREVCHAR) that try to avoid unneeded + function calls + +lib/readline/text.c + - fix rl_foward_word to work with multibyte characters (or in a + multibyte locale) using above utility functions + - fix rl_backward_word to work with multibyte characters (or in a + multibyte locale) using above utility functions + + 10/26 + ----- +parse.y + - fix parse_matched_pair so that it doesn't swallow \<newline> when + parsing a $'...' construct (call shell_getc with different arg) + + 10/28 + ----- +lib/glob/glob.c + - after some (compiled-in) threshold, glob_vector will stop using + alloca to allocate `struct globval's and will switch to using + malloc, with appropriate cleanup before returning + +subst.c + - don't expand tildes after `=' in expand_word_internal, even if the + W_TILDEEXP flag is set, unless it's the first tilde in a word + marked W_ASSIGNMENT + + 10/31 + ----- +lib/readline/text.c + - make sure rl_point doesn't go below 0 in rl_delete_horizontal_space + (from SUSE, but not sent in) + +shell.c + - make sure shell_is_restricted skips over a single leading `-' in + the shell name (from SUSE, but not sent in) + +lib/readline/display.c + - disable `fast redisplay' at the end of the line if in a locale that + supports multibyte characters (from SUSE, but not sent in) + +lib/readline/histexpand.c + - fix a problem with finding the delimiter of a `?' substring when + compiled for multibyte characters (from SUSE, but not sent in) + + 11/1 + ---- +lib/readline/display.c + - correct some assignments to _rl_last_c_pos: when in a multibyte + locale, it's used as an absolute cursor position; when not using + multibyte characters, it's a buffer offset. I should have caught + this when the multibyte character support was donated + + 11/5 + ---- +general.c + - change `assignment()' to accept `+=' assignment operator + +arrayfunc.[ch] + - bind_array_variable and assign_array_element both take a new `flags' + argument + - assign_array_var_from_string, assign_array_from_string, and + assign_array_var_from_word_list now all take a new `flags' argument + - change assign_array_var_from_word_list to understand how to append + to an array variable + - change assign_array_var_from_string to understand how to append + to an array variable. It does not unset the previous value if + appending, allowing both old values to be changed and new ones to + be added + +subst.h + - new flag #defines to use for evaluating assignment statements + +{subst,variables}.c, builtins/{declare,read}.def + - change callers of assign_array_element and bind_array_variable + - change do_compound_assignment to understand assignment flags + - change do_assignment_internal to set assignment flags and pass them + to underlying functions + +pcomplete.c,builtins/{declare,read}.def + - fix callers of assign_array_var_from_string, assign_array_var_from_word_list + +variables.[ch] + - make_variable_value now takes a new `flags' argument + - make_variable_value now understands how to append to a particular + variable, using the old value + - bind_variable_value now takes a new `flags' argument + - change make_variable_value to understand ASS_APPEND flag + - bind_variable now takes a new `flags' argument + - bind_variable_internal now takes a new `flags' argument + +arrayfunc.c + - change callers of make_variable_value to add flags arg + +builtins/declare.def + - change callers of bind_variable_value to add flags arg + +{execute_cmd,mailcheck,pcomplete,shell,subst,variables}.c,parse.y +builtins/{cd,command,declare,getopts,read,set,setattr}.def + - change callers of bind_variable to add flags arg + +variables.c + - change callers of bind_variable_internal + - change bind_variable_internal to pass assignment flags on to + make_variable_value + - change assign_in_env to treat `var+=value' like `var=value' + +arrayfunc.c + - break code that actually constructs the new value and assigns it + to a particular array index out into a new functions: + bind_array_var_internal. This fakes out make_variable_value by + passing a dummy SHELL_VAR * so it can do proper appending and other + += processing + - changes to assign_array_var_from_string to accept and process as if + they were `standalone' assignment statements array assignment words + of the form [ind]+=val + + 11/7 + ---- +builtins/declare.def + - added support for `declare [flags] var+=value'. `Flags' are applied + before the assignment is performed, which has implications for things + like `-i' -- if -i is supplied, arithmetic evaluation and increment + will be performed + +builtins/setattr.def + - add support for `+=' assignment for rest of `assignment builtins': + export, readonly + + 11/12 + ----- +lib/readline/display.c + - make sure prompt_physical_chars and prompt_invis_chars_first_line + are reset to 0 if the prompt string passed to rl_expand_prompt is + NULL or empty + + 11/14 + ----- +{configure,config.h}.in + - check for `raise', define HAVE_RAISE if available + +lib/intl/dcigettext.c + - make sure `raise' is defined if HAVE_RAISE is not before + eval-plurah.h is included + +lib/malloc/trace.c + - put extern declaration for imalloc_fopen inside the MALLOC_TRACE + #ifdef + + 11/16 + ----- +lib/intl/Makefile.in + - make sure SHELL is defined to cpp + +lib/intl/dcigettext.c + - make sure we use getcwd() even if HAVE_GETCWD is not defined after + including config.h; if SHELL is defined, #define HAVE_GETCWD + + 11/18 + ----- +trap.[ch] + - new function, int signal_in_progress(int sig), returns TRUE if the + trap handler for signal SIG is currently executing + + 11/19 + ----- +redir.c + - slightly change do_redirection_internal to set the close-on-exec + flag for file descriptors > 2 used to save file descriptors < 2 + using explicit redirections (e.g., `exec 3>&1'). This keeps file + descriptors pointing to pipes from being left open but doesn't + change the shell's file descriptor semantics + + 11/20 + ----- +doc/{bash.1,bashref.texi} + - correct some minor typos, forwarded from doko@debian.org + + 11/22 + ----- +doc/bash.1,lib/readline/doc/{readline.3,rluser.texi} + - documented detail that yank-last-arg and yank-nth-arg use the history + arg expansion code (and, as a result, are subject to restrictions + of the history-comment character) + + 11/23 + ----- +execute_cmd.c + - changes so that BASH_COMMAND preserves its value into a DEBUG trap: + for commands, arithmetic for command expressions, select commands, + case commands, (( commands, [[ commands, simple commands + + 11/24 + ----- +doc/{bash.1,bashref.texi} + - changed description of `set' builtin slightly so that it is clear + that only variables are displayed in posix mode and that read-only + variables can't be reset by simply sourcing the output of `set' + +lib/sh/strftime.c + - don't try to redefine `inline' if it's already defined + + 11/26 + ----- +execute_cmd.c + - fix execute_function to check funcname_a after function execution, + since FUNCNAME can be changed or unset within a function + + 11/27 + ----- +builtins/evalfile.c + - make same changes as 11/26, this time to _evalfile + +execute_cmd.c + - change execute_function to run the return trap after a function + completes execution even if the shell is compiled without DEBUGGER + defined + +trap.c + - change reset_or_restore_signal_handlers so that the RETURN trap is + not inherited by command substitution when DEBUGGER is not defined + + 11/30 + ----- +lib/readline/misc.c + - fix memory leaks in _rl_free_history_entry and rl_maybe_replace_line + caused by not freeing `timestamp' member of history entry + - make sure timestamp is initialized to NULL in rl_maybe_save_line + + 12/1 + ---- +execute_cmd.c + - fix execute_function so a function calling `return' will run the + RETURN trap, if one's defined + +doc/{bash.1,bashref.texi} + - fix description of RETURN trap in various places to indicate that it's + only inherited by shell functions if function tracing is on globally + or has been enabled for that function + - fix documentation to indicate that the DEBUG and RETURN traps are + inherited under the same conditions + +execute_cmd.c + - a function does not inherit the RETURN trap if a DEBUG trap is + currently running + + 12/2 + ---- +lib/glob/xmbsrtowcs.c + - change xmbsrtowcs to handle the one case where malloc can fail + (though it should not matter) -- don't try to free a null pointer + + 12/9 + ---- +subst.c + - fix get_var_and_type to handle var[@], where `var' is a scalar + variable, identically to var -- all calling expansions can now + handle var[@] like var. Bug reported by agriffis@gentoo.org + + 12/10 + ----- +lib/readline/bind.c + - make new-style "\M-x" keybindings obey `convert-meta' settings + (bug reported by twaugh@redhat.com) + + 12/14 + ----- +builtins/set.def + - added description of `-' option to help text + +builtins/shopt.def + - fix bug that caused `gnu_errfmt' to not be compiled in unless + READLINE is defined + + 12/16 + ----- +subst.c + - fixed a typo in string_extract_verbatim in first call to MBLEN + (used `slen - 1' instead of `slen - i') + + 12/17 + ----- +subst.c + - avoid some calls to strlen if the value is only being used for + ADVANCE_CHAR and MB_CUR_MAX == 1 (since ADVANCE_CHAR doesn't need + it unless multibyte characters are possible) + - change string_extract_verbatim so it takes the length of the string + as a parameter, so we don't have to recompute the length of the same + string over and over again when doing word splitting (that kills if + it's a long string) + + 12/18 + ----- +subst.c + - in string_list_dollar_star, make sure to null-terminate the + separator if the character is longer than one byte + + 12/22 + ----- +doc/{bash.1,bashref.texi} + - changed text in quoting section explaining that double quotes do + not prevent history expansion from taking place, and that backslashes + escaping ! are not removed + + 12/28 + ----- +shell.c + - set gnu_error_format to 1 if running under emacs. This should allow + the emacs `next-error' stuff to work, at least for interactive shells + +parse.y + - change yy_stream_get to set interrupt_immediately before calling + getc_with_restart when the shell is interactive. This avoids the + synchronization problem caused by the call to QUIT in read_a_line, + which results in the first character after a SIGINT/^C to be + dropped + + 12/30 + ----- +builtins/mkbuiltins.c + - changes to write long documentation to arrays as a single string by + default, rather than an array of strings -- enabled by default + - new option, -S, to restore old behavior of writing multiple strings + for long documentation + - changes to avoid filenames written when the separate-filenames option + (-H) has been supplied being run through gettext + +configure.in + - new cofiguration option, --enable-single-help-strings (on by default), + causes help text to be stored as a single string (or smaller set than + one string per line) + +builtins/Makefile.in + - pass `-S' to mkbuiltins if single-help-strings is turned off + +doc/bashref.texi + - documented new `single-help-strings' configure option + + 1/3/2005 + -------- +jobs.c + - make wait_for return a non-zero status if the job or processed + waited for is suspended. Returns 128 + stop signal. This fixes + the problem with `echo one && sleep 5 && echo two' displaying + `two' after the sleep is suspended + + 1/5 + --- +print_cmd.c + - change indirection_level_string so the code duplicates the first + character of $PS4 to indicate the indirection level, rather than + the first byte + + 1/8 + --- +variables.c + - new special variable hook function for COMP_WORDBREAKS; sets + rl_completer_word_break_characters back to NULL when the variable + is unset + - change bind_variable_value to understand dynamic variables with + assign_function set, and handle them correctly. If the variable is + being appended to, use make_variable_value to create the new + value + - change bind_variable_internal to understand dynamic variables with + assign_function set, and handle them the same way + - RANDOM and LINENO now get the integer attribute, so appending works + as expected + - ditto for HISTCMD, MAILCHECK, OPTIND + +lib/readline/display.c + - change _rl_make_prompt_for_search to set prompt_physical_chars + appropriately + - rl_save_prompt and rl_restore_prompt save and restore + prompt_prefix_length + - change redraw_prompt to use rl_save_prompt and rl_restore_prompt + - change rl_restore_prompt to set the `save' variables back to + NULL/0 so code can check whether or not the prompt has been saved + - change rl_message and rl_clear_message to save and restore the + prompt if the caller has not already done it (using a simple + semaphore-like variable) + - change rl_message to call expand_prompt, so that local_prompt and + local_prompt prefix are set before calling the redisplay functions, + in case the prompt is longer than a screenwidth (fixes bug + reported to debian by epl@unimelb.edu.au) + +lib/readline/doc/rltech.texi + - make sure to note that rl_save_prompt should be called before + rl_message, and rl_restore_prompt before rl_clear_message + +pcomplete.c + - make sure to save and restore the parser state around the call to + execute_shell_function in gen_shell_function_matches. Fixes bug + reported by a050106.1.keeLae3x@captaincrumb.com (cute) + +lib/readline/readline.c + - fix _rl_dispatch_subseq in the case where we're recursing back up + the chain (r == -2) and we encounter a key shadowed by a keymap, + but originally bound to self-insert. Calling rl_dispatch with + ANYOTHERKEY as the first argument will call rl_insert, but with + ANYOTHERKEY (256) as the char to insert. Use the shadow keymap + and set things up to dispatch to rl_insert with the shadowed key + as the argument. Fixes the bug reported by Thomas Glanzmann + (sithglan@stud.uni-erlangen.de) + + 1/13 + ---- +command.h + - new word flag: W_HASQUOTEDNULL + +make_cmd.c + - new function to allocate a WORD_DESC * without doing anything with a + containing string: alloc_word_desc + +make_cmd.h + - extern declaration for alloc_word_desc + +dispose_cmd.c + - new function to just free a WORD_DESC * without freeing the contained + string: dispose_word_desc + +dispose_cmd.h + - extern declaration for dispose_word_desc + +subst.c + - change some places to use alloc_word_desc + - make same changes to word_list_quote_removal as were made to + word_list_split + - set W_HASQUOTEDNULL when a word is created with w->word[0] == + CTLNUL and w->word[1] == '\0' + +subst.c + - parameter_brace_expand_word now returns a WORD_DESC * -- changed + callers to understand + - parameter_brace_expand_indir now returns a WORD_DESC * -- changed + callers to understand + - parameter_brace_expand_rhs now returns a WORD_DESC * -- changed + callers to understand + - remove W_HASQUOTEDNULL from a word's flags when remove_quoted_nulls + is called on the word's enclosed string + + 1/15 + ---- +subst.c + - param_expand now returns a WORD_DESC * -- changed callers to + understand + - parameter_brace_expand now returns a WORD_DESC * -- changed + callers to understand + - in expand_word_internal, only call remove_quoted_nulls after a word + is returned with W_HASQUOTEDNULL + - changes to pass W_HASQUOTEDNULL flag out of expand_word_internal; + changed callers to call remove_quoted_nulls only if return value has + W_HASQUOTEDNULL set. This is a mostly-complete fix for the + long-standing CTLNUL confusion between a quoted null expansion and + the expansion of a variable with a literal '\177' in its value + - change string_list_dollar_at to compute the separator character the + same way as string_list_dollar_star: using the already-computed + values generated in setifs() + - when expanding unquoted $*, if $IFS is empty, check whether or not + we're eventually going to split the results (e.g., on the rhs of an + assignment statement) and concatenate the positional parameters as + if the expansion were within double quotes if we're not going to + split + +tests/iquote.tests + - test cases based on old bug reports about the quoted-null vs. 0177 + problem the recent code fixes + + 1/16 + ---- +dispose_cmd.c + - set w->word to 0 before putting a WORD_DESC * back in the cache in + dispose_word_desc; changed callers to delete those assignments + +variables.c + - change assign_random and get_random_value so that the random number + generator only gets re-seeded once in a subshell environment, and + assigning a value to RANDOM counts as seeding the generator. This + makes the sequences a little more predictable + + 1/20 + ---- +lib/readline/history.c + - fix replace_history_entry, remove_history to return NULL if + passed index is < 0 + + 1/22 + ---- +lib/sh/netconn.c + - fix isnetconn() to understand that getpeername can return ENOTCONN + to indicate that an fd is not a socket + +configure.in + - set BUILD_DIR to contain backslashes to escape any spaces in the + directory name -- this is what make will accept in targets and + prerequisites, so it's better than trying to use double quotes + - set SIZE to the appropriate value if some cross-compiling tool + chain is being used; `size' by default (can be overridden by + SIZE environment variable) + +Makefile.in + - use $(SIZE) instead of size; set SIZE from configure + + 1/31 + ---- +arrayfunc.c + - in array_value_internal, return NULL right away if the variable's + value is NULL, instead of passing a null string to add_string_to_list + + 2/1 + --- +jobs.h + - new struct to hold stats and counters for child processes and jobs + - change some uses of global and static variables to use members of + new struct (struct jobstats) + + 2/2 + --- + +jobs.[ch] + - change PRUNNING to PALIVE + - new define INVALID_JOB + - new macro get_job_by_jid(ind), currently expands to jobs[ind] + - new define J_JOBSTATE, operates on a JOB * like JOBSTATE operates on + a job index + - new function, reset_job_indices, called from delete_job if + js.j_lastj or js.j_firstj are removed + - change various functions to keep counters and stats in struct jobstats + +pcomplete.c, builtins/common.c, builtins/{exit,fg_bg,jobs,kill,wait}.def + - change global variables (e.g., job_slots) to struct members + (e.g., js.j_jobslots) + - use INVALID_JOB define where appropriate + - use get_job_by_jid and J_JOBSTATE where appropriate + +trap.c + - change reset_or_restore_signal_handler to not free the exit trap + string if the function pointer is reset_signal, which is used when + the trap strings shouldn't be freed, like in command substitution + + 2/4 + --- +jobs.c + - new function, realloc_jobs_list, copies jobs array to newly-allocated + memory shrinking (or growing) size to have next multiple of JOB_SLOTS + greater than js.j_njobs + - change compact_jobs_list to just call reap_dead_jobs and then + realloc_jobs_list, simplifying it considerably + - discard_pipeline now returns `int': the number of processes freed + - slightly changed the logic deciding whether or not to call + compact_jobs_list: now non-interactive shells will compact the + list if it reaches MAX_JOBS_IN_ARRAY in size + +parse.y + - move test for backslash-newline after pop_string in shell_getc so + that things like + + ((echo 5) \ + (echo 6)) + + work right + + 2/8 + --- +jobs.h + - new structs for holding status of exited background processes, as + POSIX specifies + - new job flag: J_ASYNC + +jobs.c + - new functions to manipulate struct holding status of exited + background processes + - new members in struct jobstats to hold pointer to last created job + and last created asynchronous job + - initialize js.c_childmax in initialize_job_control + - if the `async' arg to stop_pipeline is non-null, set the J_ASYNC + flag in the job struct + - set js.j_last_made_job and js.j_last_asynchronous_job in + stop_pipeline + - new function: find_last_proc, returns the PROCESS * to the last proc + in a job's pipeline + - changed find_last_pid to call find_last_proc + - change delete_job to call bgp_add on the last proc of the job being + deleted + - change delete_all_jobs and wait_for_background_pids to call bgp_clear + + 2/9 + --- +jobs.c + - change wait_for_single_pid to look for pid in bgpids.list (using + bgp_search()) if find_pipeline returns NULL + + 2/10 + ---- +support/shobj-conf + - change the solaris-gcc stanza so that it auto-selects the appropriate + options for ld depending on which `ld' gcc says it's going to run + + 2/11 + ---- +jobs.h + - add support for PS_RECYCLED as a process state, add PRECYCLED macro + to test it. Change PALIVE and PRUNNING macros to not count processes + in PS_RECYCLED state + +execute_cmd.c + - restore use of last_pid as sentinel value; use NO_PID as sentinel + only if RECYCLES_PIDS is defined + +jobs.c + - change find_job to return a pointer to the PROCESS the desired pid + belongs to, analogous to find_pipeline returning pointer to JOB + - change find_job callers to add extra argument + - change running_only arguments to find_pipeline and find_job to + alive_only, since we don't want recycled pids returned here and it + better describes the result + - new function find_process, calls find_pipeline and searches the + returned pipeline for the PROCESS * describing the desired pid + - in make_child, if fork() returns the same pid as the value of + last_asynchronous_pid when RECYCLES_PIDS is defined, avoid pid + aliasing by resetting last_asynchronous_pid to 1 + - use PRUNNING instead of child->running, since we, for the most + part, don't want to consider recycled pids (e.g., in make_child()) + - call find_process instead of find_pipeline in waitchld() + - use PEXITED(p) instead of testing p->running == PS_DONE + - in make_child, call bgp_delete to remove a just-created pid from the + last of saved pid statuses + - in add_process, check whether or not pid being added is already in + the_pipeline or the jobs list (using find_process) and mark it as + recycled if so + - This set of fixes mostly came from Pierre Humblet + <pierre.humblet@ieee.org> to fix pid aliasing and reuse problems on + cygwin + +variables.c + - set $_ from the environment if we get it there, set to $0 by + default if not in env + +doc/{bashref.texi,bash.1} + - a couple of clarifying changes to the description of $_ based on + comments from Glenn Morris <gmorris+mail@ast.cam.ac.uk> + + 2/15 + ---- +shell.c + - use strstr instead of strmatch when checking whether $EMACS contains + `term' -- simpler and faster + + 2/18 + ---- +builtins/cd.def + - implement posix requirement that `pwd -P' set $PWD to a directory + name containing no symlinks + - add new function, setpwd(), just sets (and changes exported value) + of PWD + +doc/bashref.texi + - add note to posix mode section about pwd -P setting $PWD + +doc{bash.1,bashref.texi} + - added note that BASH_ARGC and BASH_ARGV are only set in extended + debug mode + - expand description of extdebug option to include everything changed + by extended debug mode + + 2/19 + ---- +pathexp.h + - new flag macro, FNMATCH_IGNCASE, evaluates to FNM_CASEFOLD if the + match_ignore_case variable is non-zero + +execute_cmd.c + - new variable, match_ignore_case + - change call to strmatch() in execute_case_command so it includes + FNMATCH_IGNCASE + +test.c + - change call to strmatch() in patcomp() so that pattern matching + calls for [[ ... ]] obey the match_ignore_case variable + +lib/sh/shmatch.c + - if match_ignore_case is set, enable REG_ICASE in the regexp match + flags + +builtins/shopt.def + - new settable option, `nocasematch', controls the match_ignore_case + variable. Currently alters pattern matching for case and [[ ... ]] + commands (==, !=, and =~ operators) + +doc/{bashref.texi,bash.1} + - updated descriptions of [[ and case to include reference to + nocasematch option + + 2/22 + ---- +builtins/mkbuiltins.c + - add `times' to the list of posix special builtins + + 2/23 + ---- +builtins/cd.def + - posix mode no longer turns on effect of -P option on $PWD if a + directory is chosen from CDPATH + +doc/bashref.texi + - clarified that in posix mode, reserved words are not alias expanded + only in a reserved word context + - removed item about cd, $CDPATH, and -P from posix mode section + + 2/24 + ---- +builtins/reserved.def + - minor cleanups to the description of `if' + + 3/2 + --- +subst.c + - change list_string and get_word_from_string to explicitly treat an + IFS character that is not space, tab, or newline *and any adjacent + IFS white space* as a single delimiter, as SUSv3/XPG6 says + +builtins/read.def + - check whether or not the number of fields is exactly the same as + the number of variables instead of just assigning the rest of the + line (minus any trailing IFS white space) to the last variable. + This parses a field and checks whether or not it consumes all of + the input (including any trailing field delimiters), falling back + to the previous behavior if it does not. This is what POSIX.2 + specifies, I believe (and the consensus of the austin-group list). + This requires a few tests in read.tests to be changed: backslashes + escaping IFS whitespace characters at the end of input cause the + whitespace characters to be preserved in the value assigned to the + variable, and the trailing non-whitespace field delimiter issue + + 3/7 + --- +configure.in + - add -D_POSIX_SOURCE to the LOCAL_CFLAGS for Interix + + 3/8 + --- +bashline.c + - make bash_directory_expansion a void function, since it doesn't have + any return value + + 3/9 + --- +builtins/read.def + - when testing for a pipe, use `fd' instead of hard-coding 0, since we + can read from other file descriptors now + +lib/sh/zread.c + - in zsyncfd, only set lind and lused to 0 if the lseek succeeds. + If the lseek fails, we might steal input from other programs, but + a failed lseek won't cause us to erroneously discard input + + 3/11 + ---- +builtins/evalstring.c + - don't allow parse_and_execute to short-circuit and call exec() if + the command's return value is being inverted + + 3/15 + ---- +builtins/printf.def + - new macro PC to call putchar and increment number of chars printed - + fixes bug in computation of value for %n format char + - `tw' is now a global var so printstr can modify it using PC() + - convert PF macro to use asprintf into a local buffer + Preparation for printf -v var + - add code to add the text printed to a `variable buffer' if -v option + supplied. The buffer grows as needed + - printf now takes a `-v var' option to put the output into the variable + VAR rather than sending it to stdout. It does not: + print partial output on error (e.g., format string error) + handle NULs in the variable value, as usual + + 3/16 + ---- +parse.y + - fix bug in prompt string decoding that caused a core dump when PS1 + contained \W and PWD was unset (null pointer deref) + +builtins/printf.def + - changed -v var behavior so it stores partial output into the named + variable upon an error + + 3/24 + ---- +lib/readline/bind.c + - bool_to_int now takes a `const char *' argument + +support/{printenv,recho,zecho}.c + - include config.h + - include "bashansi.h" for appropriate extern function declarations + +configure.in + - on MacOS X 10.4, compensate for loader not allowing static library + to override existing system dynamic library when compiling -dynamic + (affects readline and history libraries); so use absolute pathname + instead of -lreadline as library name + +lib/glob/{glob,sm_loop,smatch}.c + - make sure to cast arguments to (char *) or (unsigned char *) as + appropriate to avoid gcc4 warnings + +lib/glob/smatch.c + - collsym (single-byte version) now takes a (CHAR *) first argument to + match callers; cast argument to strncmp appropriately + +lib/sh/snprintf.c + - fix ldfallback and dfallback to handle width and precision specs in + the format passed to sprintf() + - fix STAR_ARGS macro to deal with negative field widths and precisions + + 3/25 + ---- +builtins/printf.def + - since a negative precision in a "x.x[fFgGeE]" format specifier should + be allowed but treated as if the precision were missing, let it + through + +lib/sh/snprintf.c + - fix * code to deal with a negative precision by treating it as if + the `.' and any digit string in the precision had not been specified + - fix format parsing code to deal with a negative inline precision, + e.g., "%4.-4f" by treating it as if the `'. and any digit string in + the precision had not been specified + - a `+' in a format specifier should only act as a flag if it comes + before a `.' (otherwise it is ignored) + +lib/readline/vi_mode.c + - new function, rl_vi_rubout, to rl_rubout as rl_vi_delete is to + rl_delete; saves deleted text for possible reinsertion as with any + vi-mode `text modification' command (fixes problem with `X' reported + by beat.wieland@gmx.ch) + +lib/readline/vi_keymap.c + - bind `X' in vi command mode to rl_vi_rubout + +lib/readline/funmap.c + - add a bindable `vi-rubout' command, runs rl_vi_rubout + +lib/readline/text.c + - rewrote internals of _rl_rubout_char to make structure cleaner + +lib/readline/{complete,text}.c + - changed code to remove #ifdef HANDLE_MULTIBYTE where possible + + 3/28 + ---- +lib/readline/examples/rl.c + - include <sys/stat.h> instead of posixstat.h if READLINE_LIBRARY not + defined + +subst.c + - fix mbstrlen to treat invalid multibyte sequences as sequences of + single-byte characters + + 4/8 + --- +configure.in + - default SIZE to `:' if cross-compiling and an appropriate size for + the target is not found + + 4/11 + ---- +subst.c + - change match_upattern and match_wpattern to check whether or not the + supplied pattern matches anywhere in the supplied string, prefixing + and appending the pattern with `*' if necessary. If it doesn't we + can short-circuit immediately rather than waste time doing up to + N-1 unsuccessful calls to strmatch/wcsmatch (which kills for long + strings, even if the pattern is short) + + 4/12 + ---- +configure.in + - make sure the special case for MacOS X 10.4 only kicks in if the + `--with-installed-readline' option isn't supplied + +lib/readline/{callback,readline,signals}.c + - make sure rl_prep_term_function and rl_deprep_term_function aren't + dereferenced if NULL (as the documentation says) + +builtins/mkbuiltins.c + - don't bother with the special HAVE_BCOPY code; just use straight + assignments + +builtins/ulimit.def + - use _POSIX_PIPE_BUF in pipesize() if it's defined and PIPE_BUF is + not + + 4/13 + ---- +execute_cmd.c + - add cm_function_def to the list of control structures for which + child processes are forked when pipes come in or out + + 4/14 + ---- +builtins/read.def + - make sure the ^As added for internal quoting are not counted as + characters read when -n is supplied + + 4/20 + ---- +redir.c + - fix redir_open so that the repeat open on failure that AFS support + adds restores the correct value of errno for any error message + + 4/26 + ---- + +Makefile.in + - make sure mksignames and mksyntax are invoked with the $(EXEEXT) + extension + + 4/28 + ---- +lib/readline/readline.h + - new state variable: RL_STATE_CALLBACK, means readline is using the + callback interface + +lib/readline/callback.c + - set RL_STATE_CALLBACK in rl_callback_handler_install, unset in + rl_callback_handler_remove + + 4/29 + ---- +config-top.h + - DONT_REPORT_SIGPIPE is now on by default, since it apparently + interferes with scripts + +configure.in + - arrange things so PGRP_PIPE is defined on Linux-2.4+ and version 3 + kernels (ones that apparently schedule children to run before their + parent) + + 4/30 + ---- +builtins/caller.def + - add call to no_options, so it can handle `--' option + +doc/{bash.1,bashref.texi} + - note explicitly that test, :, true, and false don't understand -- + as meaning the end of options + + 5/7 + --- +support/shobj-conf + - darwin 8 needs the same LDFLAGS setting as darwin 7 + +parse.y + - in save_parser_state, make sure we cast the return value from + xmalloc() to the right type + - remove casts to (char *) in calls to yyerror() + +lib/readline/signals.c + - make SIGQUIT and SIGALRM code conditional on their definition + - use raise() to send a signal if we don't have kill() + +lib/readline/display.c + - some MS-DOS and MINGW changes from the cygwin and mingw folks + +config.h.in + - add HAVE_PWD_H for <pwd.h> + - add HAVE_FCNTL, HAVE_KILL for respective system calls + - add HAVE_GETPW{ENT,NAM,UID} for passwd functions + +configure.in + - add check for <pwd.h> + - add checks for fcntl, kill system calls + - add checks for getpw{ent,nam,uid} C library functions + - pass a flag indicating we're cross compiling through to + CFLAGS_FOR_BUILD in Makefile.in + +lib/readline/complete.c + - guard inclusion of <pwd.h> with HAVE_PWD_H + - don't provide a missing declaration for getpwent if we don't have it + - guard calls to {get,end}pwent with HAVE_GETPWENT + +lib/readline/shell.c + - guard inclusion of <pwd.h> with HAVE_PWD_H + - guard inclusion of <fcntl.h> with HAVE_FCNTL_H + - don't provide a missing declaration for getpwuid if we don't have it + - guard calls to getpwuid with HAVE_GETPWUID + - don't bother with body of sh_unset_nodelay_mode if we don't have + fcntl + +lib/tilde/tilde.c + - guard inclusion of <pwd.h> with HAVE_PWD_H + - guard calls to getpw{nam,uid} with HAVE_GETPW{NAM,UID} + - guard calls to {get,end}pwent with HAVE_GETPWENT + +Makefile.in,builtins/Makefile.in + - @CROSS_COMPILE@ is substituted into CFLAGS_FOR_BUILD (equal to + -DCROSS_COMPILING if bash is being cross-compiled) + + 5/9 + --- +aclocal.m4 + - print version as `0.0' in RL_LIB_READLINE_VERSION if the + `rl_gnu_readline_p' variable isn't 1 (accept no imitations) + + 5/11 + ---- +lib/readline/rlprivate.h + - definition of a readline `search context', to be use for incremental + search initially and other types of search later. Original from + Bob Rossi as part of work on incremental searching problems when + using callback interface + +lib/readline/isearch.c + - functions to allocate and free search contexts + - function to take a search context and a character just read and + `dispatch' on it: change search parameters, add to search string, + search further, etc. + - isearch is now completely context-driven: a search context is + allocated and passed to the rest of the functions + + 5/12 + ---- +lib/readline/isearch.c + - an additional `isearch cleanup' function that can be called from + the callback interface functions when the search is to be terminated + - an additional `isearch callback' function that can be called from + rl_callback_read_char when input is available + - short-circuit from rl_search_history after initialization if + the callback interface is being used + +lib/readline/callback.c + - in rl_callback_read_char(), if RL_STATE_ISEARCH is set, call + _rl_isearch_callback to read the character and dispatch on it. + If RL_STATE_ISEARCH is unset when that call returns, and there is + input pending, call rl_callback_read_char() again so we don't + have to wait for new input to pick it up + +support/shobj-conf,configure.in + - add support for dragonfly bsd, the same as freebsd + + 5/13-5/15 + --------- +lib/readline/callback.c + - support for readline functions to `register' a function that will + be called when more input is available, with a generic data + structure to encapsulate the arguments and parameters. Primarily + intended for functions that read a single additional character, + like quoted-insert + - support for callback code reading numeric arguments in a loop, + using readline state and an auxiliary variable + - support for callback code performing non-incremental searches using + the same search context struct as the isearch code + +lib/readline/{callback,display}.c + - if a callback function sets `_rl_redisplay_wanted', the redisplay + function will be called as soon as it returns + +lib/readline/input.c + - changes to _rl_read_mbchar to handle reading the null multibyte + character and translating it into '\0' + +lib/readline/misc.c + - break rl_digit_loop() into component functions that can be called + individually from the callback code more easily + - share some of the functions with rl_digit_loop1() in vi_mode.c + +lib/readline/readline.h + - change the version #defines to reflect readline 5.1 + +lib/readline/search.c + - break code into smaller functions that can be composed to work with + the callback code more easily + +lib/readline/text.c + - in rl_quoted_insert(), don't mess around with the tty signals if + running in `callback mode' + +lib/readline/vi_mode.c + - changed set-mark, goto-mark, change-char, and char-search to work + when called by callback functions + + 5/17 + ---- + +lib/readline/rlprivate.h + - new struct declaration for a `reading key sequence' context + +lib/readline/readline.c + - new variable, _rl_dispatching_keymap, keeps track of which keymap + we are currently searching + - functions to allocate and deallocate contexts for reading multi-char + key sequences + + 5/18 + ---- +lib/readline/rlprivate.h + - new struct defining a context for multiple-key key sequences (the + base case is escape-prefixed commands) + +lib/readline/readline.c + - change structure of _rl_dispatch_subseq to allow for callback code + to use it - rudimentary support for supporting the existing + recursion using a stack of contexts, each with a reference to the + previous + - fix so that ^G works when in callback mode + +lib/readline/callback.c + - call the appropriate multiple-key sequence callback if the state is + set + + 5/19 + ---- +lib/readline/readline.c + - broke code from _readline_internal_char after call to rl_dispatch + out into separate function: _rl_internal_char_cleanup, callable by + other parts of the code + - change _rl_internal_char_cleanup to unset _rl_want_redisplay after + it calls (*rl_redisplay_func) + +lib/readline/callback.c + - call _rl_internal_char_cleanup from rl_callback_read_char when + appropriate + + 5/24 + ---- +lib/readline/callback.c + - use _rl_dispatch_callback and a chain of _rl_keyseq_contexts to + simulate the recursion used to decode multicharacter key sequences + (even things like ESC- as meta-prefix) + - call setjmp in rl_callback_read_char to give things like rl_abort + a place to jump, since the saved location in readline() will not + be valid + - keep calling _rl_dispatch_callback from rl_callback_read_char while + we are still decoding a multi-key key sequence + - keep calling readline_internal_char from rl_callback_read_char while + we are reading characters from a macro + +lib/readline/macro.c + - use a slightly different strategy upon encountering the end of a macro + when using the callback interface: when the last character of a + macro is read, and we are reading a command, pop the macro off the + stack immediately so the loop in rl_callback_read_char terminates + when it should + +lib/readline/readline.c + - if longjmp() is called and we end up at the saved location while + using the callback interface, just return -- don't go back into a + blocking read + - new function to dispose a chain of rl_keyseq_cxts + - only read new input in _rl_dispatch_callback if the KSEQ_DISPATCHED + flag is not set in the current keyseq context -- if it is, we are + traversing the chain back up and should use what we already saved + - use -3 as a magic value from _rl_dispatch_subseq to indicate that + we're allocating a new context and moving downward in the chain + (a special return value for the benefit of _rl_dispatch_callback) + +lib/readline/rlprivate.h + - new extern declaration for _rl_keyseq_chain_dispose + + 6/1 + --- +builtins/read.def + - fixed a bug that occurred when reading a set number of chars and + the nth char is a backslash (read one too many). Bug reported by + Chris Morgan <chmorgan@gmail.com> + +execute_cmd.c + - fix execute_builtin so the `unset' builtin also operates on the + temporary environment in POSIX mode (as well as source and eval), + so that unsetting variables in the temporary environment doesn't + leave them set when unset completes. Report by Eric Blake + <ebb9@byu.net> + +array.c + - fix from William Park for array_rshift when shifting right on an + empty array -- corrects calculation of array->max_index + +builtins/exec.def + - if an exec fails and the execfail option is set, don't call + restart_job_control unless the shell is interactive or job_control + is set + +jobs.c + - add a run-time check for WCONTINUED being defined in header files + but rejected with EINVAL by waitpid(). Fix from Maciej Rozycki + <macro@linux-mips.org> + + 6/20 + ---- +bashhist.c + - make sure calls to sv_histchars are protected by #ifdef BANG_HISTORY + - ditto for calls to history_expand_line_internal + + 6/23 + ---- +doc/bashref.texi + - remove extra blank lines in @menu constructs + +variables.c + - assign export_env to environ (extern char **) every time it changes + (mostly in add_to_export_env define), so maybe getenv will work on + systems that don't allow it to be replaced + + 6/29 + ---- +bashline.c + - in bash_directory_completion_hook, be careful about not turning `/' + into `//' and `//' into `///' for benefit of those systems that treat + `//' as some sort of `network root'. Fix from Eric Blake + <ebb9@byu.net> + +lib/readline/complete.c + - in to_print, do the right thing after stripping the trailing slash + from full_pathname: // doesn't turn into /, and /// doesn't become + //. Fix from Eric Blake <ebb9@byu.net> + + 6/30 + ---- +lib/malloc/trace.c + - include <unistd.h> if it's available for a definition of size_t + +jobs.c + - in wait_for, if a child process is marked as running but waitpid() + returns -1/ECHILD (e.g., when the bash process is being traced by + strace), make sure to increment c_reaped when marking the child as + dead + - in without_job_control, make sure to close the pgrp pipe after + calling start_pipeline + + 7/1 + --- +Makefile.in + - only remove pathnames.h when the other files created by running + configure are removed (e.g., Makefile). Fix from William Park + +lib/sh/shquote.c + - since backslash-newline disappears when within double quotes, don't + add a backslash in front of a newline in sh_double_quote. Problem + reported by William Park + +jobs.c + - in notify_of_job_status, don't print status messages about + terminated background processes unless job control is active + +bashhist.c + - new variable, hist_last_line_pushed, set to 0 in really_add_history + (used by `history -s' code) + +bashhist.h + - new extern declaration for history -s + +builtins/history.def + - don't remove last history entry in push_history if it was added by + a call to push_history -- use hist_last_line_pushed as a sentinel + and set it after adding history entry. This allows multiple + calls to history -s to work right: adding all lines to the history + rather than deleting all but the last. Bug reported by Matthias + Schniedermeyer <ms@citd.de> + - pay attention to hist_last_line_pushed in expand_and_print_history() + so we don't delete an entry pushed by history -s + + 7/4 + --- +print_cmd.c + - fix print_arith_for_command to not print so many blanks between + expressions in ((...)) + +command.h + - new word flag: W_DQUOTE. Means word should be treated as if double + quoted + +make_cmd.c + - add W_DQUOTE to word flags in make_arith_for_expr + +parse.y + - add W_DQUOTE to word flags for (( ... )) arithmetic commands + +subst.c + - don't perform tilde expansion on a word with W_DQUOTE flag set + - don't perform process substitution on a word with W_DQUOTE flag set + +arrayfunc.c + - expand an array index within [...] the same way as an arithmetic + expansion between (( ... )) + +lib/readline/input.c + - use getch() instead of read() on mingw + +lib/readline/readline.c + - add a few key bindings for the arrow keys on mingw + +lib/readline/rldefs.h + - if on mingw, define NO_TTY_DRIVER + +lib/readline/rltty.c + - compile in the stub functions for _rl_{disable,restore}_tty_signals + if on mingw + - compile in stub function for rl_restart_output on mingw + - make sure enough functions and macros are defined to compile if + NO_TTY_DRIVER is defined (lightly tested - builds on MacOS X, at + least) + + 7/7 + --- +command.h + - add a `flags' member to the PATTERN_LIST structure + +make_cmd.c + - intialize the `flags' member of a PATTERN_LIST when it's created + +builtins/psize.c + - protect extern declaration of errno with usual #ifdef errno + +configure.in, variables.c + - changes for QNX 6.x + + 7/9 + --- +parse.y + - fix parse_matched_pair to handle single and double quoted strings + inside old-style command substitution (``) since they can each + quote the ` and embedded $-expansions. Report by Eric Blake + <ebb9@byu.net> + +{configure,Makefile}.in + - TILDE_LIB is now substituted into Makefile by configure + +configure.in + - if configuring --with-installed-readline on cygwin, set TILDE_LIB + to the empty string to avoid multiply-defined symbols. Cygwin + doesn't allow undefined symbols in dynamic libraries. Report by + Eric Blake <ebb9@byu.net> + + 7/11 + ---- +input.c + - in duplicate_buffered_stream, don't call free_buffered_stream if the + two buffered streams share the same b_buffer object (e.g., if they + had already been duplicated with a previous call). Fixes Debian bug + reported by eero17@bigfoot.com + + 7/12 + ---- +shell.c + - make set_shell_name more resistant to a NULL argument + - in bind_args, use < instead of != when counting the arguments and + making the arg list + - in main(), make sure arg_index is not initialized to a value greater + than argc + + 7/14 + ---- +lib/readline/display.c + - in expand_prompt, don't set the location of the last invisible + char if the sequence is zero length (\[\]) + + 7/15 + ---- +doc/{bash.1,bashref.texi} + - document that the shell uses $TMPDIR when creating temporary files + + 7/20 + ---- +[bash-3.1-alpha1 frozen] + + 7/29 + ---- +builtins/evalstring.c + - make sure that parse_and_execute saves and restores the value of + loop_level, so loops in sourced scripts and eval'd strings don't + mess up the shell's parser state + +bashline.c + - change command_subst_completion_function to suppress appending + any character to a unique completion, instead of a space, unless + the last word in the quoted command substitution completes to a + directory name. In that case we append the expected slash + + 8/1 + --- +builtins/printf.def + - make sure variables are initialized if their values are tested later + +[bash-3.1-alpha1 updated and re-frozen] + + 8/2 + --- +variables.c + - make sure to call stifle_history with an `int' instead of an intmax_t. + Sometimes it makes a difference + + 8/3 + --- +[bash-3.1-alpha1 released] + +support/mksignames.c + - add `SIGSTKFLT' (RHE3) + - add `SIGXRES' (Solaris 9) + + 8/4 + --- +builtins/ulimit.def + - fix typo to make `x' the right option for locks + - add new options to short help synopsis + +variables.c + - use get_variable_value instead of direct reference to value_cell + in make_variable_value when appending to the current value, so + references to array variables without subscripts will be equivalent + to element 0 + +lib/readline/text.c + - rewrote rl_change_case to correctly change the case of multibyte + characters where appropriate + + 8/5 + --- +configure.in + - remove call to obsolete macro AC_ACVERSION + - remove special calls to AC_CYGWIN and AC_MINGW32; AC_CANONICAL_HOST + takes care of those cases + +general.h + - include `chartypes.h' for definition of ISALPHA + - fix definitions of ABSPATH and RELPATH for cygwin + - fix definition of ISDIRSEP for cygwin to allow backslash as a + directory name separator + + 8/9 + --- +builtins/setattr.def + - when setting a variable from the temporary environment in + set_var_attribute (e.g., `LC_ALL=C export LC_ALL'), make sure to + call stupidly_hack_special_variables after binding the variable in + the current context + +builtins/printf.def + - make sure to call stupidly_hack_special_variables if using `printf -v' + to put formatted output in a shell variable + + 8/11 + ---- +support/shobj-conf + - new variable: SHLIB_LIBPREF, prefix for shared library name (defaults + to `lib' + - new variable: SHLIB_DLLVERSION, used on Cygwin to set the library + version number + - new variable: SHLIB_DOT, separator character between library name and + suffix and version information (defaults to `.') + - new stanza for cygwin to generate windows-compatible dll + + 8/14 + ---- +variables.c + - new special variable function for Cygwin, so the export environment + is remade when HOME is changed. The environment is the only way to + get information from the shell to cygwin dlls, for instanace, when + bash is compiled to use an already-installed libreadline + +variables.h + - new extern declaration for sv_home + + 8/15 + ---- +lib/readline/display.c + - call init_line_structures from rl_redisplay if vis_lbreaks == 0 + to avoid consequences of a poorly-timed SIGWINCH + + 8/16 + ---- +subst.c + - fix logic for performing tilde expansion when in posix mode (don't + rely on W_TILDEEXP flag always being set, because it won't be when + expanding the RHS of assignment statement). Use W_TILDEEXP only + when deciding to expand a word marked as W_ASSIGNMENT that doesn't + precede a command name + + 8/17 + ---- +execute_cmd.c + - in execute_function, when subshell == 1, don't short-cut by using + the command contained in the group command -- if you do, any + redirections attached to the group command (function) don't get + executed + +general.h + - new #define, FS_READABLE, indicates file is readable by current + user + +findcmd.c + - rewrote file_status to use S_xxx POSIX file mode bits and to add + support for FS_READABLE (affects ./source and searching $PATH for + scripts whose names are supplied as arguments on the command line) + - change find_path_file to look for readable files -- source requires + it + - change find_in_path_element to do the right thing when FS_READABLE + is supplied as a flag + +doc/bashref.texi + - remove note about posix non-compliance in `.': we now require and + look for readable files when searching $PATH + + 8/20 + ---- +subst.c + - fix setifs to handle case where passed variable is non-zero but + v->value == 0 (as in an unset local variable); treat IFS as unset + in this case + +jobs.c + - in kill_pid, if asked to killpg a process or pgrp whose pgrp is + recorded as the same as the shell's, just call killpg and let the + chips fall where they may -- there may be other processes in that + pgrp that are not children of the shell, so killing each process + in the pipeline will not do a complete job, and killpg'ing each + such process will send too many signals in the majority of cases + +builtins/cd.def + - in posix mode, pwd needs to check that the value it prints and `.' + are the same file + +builtins/read.def + - if reading input from stdin in a non-interactive shell and calling + `read', call sync_buffered_stream to seek backward in the input + stream if necessary (XXX - should we do this for all shell builtins?) + + 8/23 + ---- +builtins/cd.def + - in posix mode, if canonicalization of the absolute pathname fails + because the path length exceeds PATH_MAX, but the length of the passed + (non-absolute) pathname does not, attempt the chdir, just as when + not in posix mode + +builtins/type.def + - don't have describe_command call sh_makepath if the full path found + is already an absolute pathname (sh_makepath will stick $PWD onto the + front of it) + + 8/24 + ---- + +jobs.c + - in posix mode, don't have start_job print out and indication of + whether the job started by `bg' is the current or previous job + - change start_job to return success if a job to be resumed in the + background is already running. This means that bg won't fail when + asked to bg a background job, as SUSv3/XPG6 requires + - new function, init_job_stats, to zero out the global jobstats struct + +{jobs,nojobs}.c + - change kill_pid to handle pids < -1 by killing process groups + +jobs.h + - extern declaration for init_job_stats + +lib/readline/history.c + - check whether or not the history list is null in remove_history + +builtins/history.def + - delete_last_history is no longer static so fc builtin can use it + +builtins/fc.def + - use free_history_entry in fc_replhist instead of freeing struct + members individually + - call delete_last_history from fc_replhist instead of using inline + code + - if editing (-l not specified), make sure the fc command that caused + the editing is removed from the history list, as POSIX specifies + +builtins/kill.def + - just call kill_pid with any pid argument and let it handle pids < -1 + This is the only way to let kill_pid know whether a negative pid or + a job spec was supplied as an argument to kill + +builtins/fg_bg.def + - force fg_bg to return EXECUTION_SUCCESS explicitly if called by bg + and start_job returns successfully + - bg now returns success only if all the specified jobs were resumed + successfully + +execute_cmd.c + - call init_job_stats from initialize_subshell to zero out the global + job stats structure + + 8/25 + ---- +bashline.c + - change vi_edit_and_execute_command to just call vi when in posix + mode, instead of checking $FCEDIT and $EDITOR + +lib/readline/search.c + - if in vi_mode, call rl_free_undo_list in make_history_line_current + to dispose of undo list accumulated while reading the search string + (if this isn't done, since vi mode leaves the current history + position at the entry which matched the search, the call to + rl_revert_line in rl_internal_teardown will mangle the matched + history entry using a bogus rl_undo_list) + - call rl_free_undo_list after reading a non-incremental search string + into rl_line_buffer -- that undo list should be discarded + +lib/readline/rlprivate.h + - add UNDO_LIST * member to search context struct + +lib/readline/isearch.c + - initialize UNDO_LIST *save_undo_list member of search context struct + + 8/27 + ---- +lib/readline/bind.c + - change rl_parse_and_bind to strip whitespace from the end of a + variable value assignment before calling rl_variable_bind + +doc/bash.1,lib/readline/doc/{rluser.texi,readline.3} + - clarified the language concerning parsing values for boolean + variables in assignment statements + + 8/28 + ---- +lib/sh/pathphys.c + - fix small memory leak in sh_realpath reported by Eric Blake + + 8/31 + ---- +doc/bashref.texi + - add additional notes to posix mode section + + 9/3 + --- +parse.y + - if $'...' occurs within a ${...} parameter expansion within + double quotes, don't single-quote the expanded result -- the double + quotes will cause it to be expanded incorrectly + + 9/4 + --- +builtins/fc.def + - if STRICT_POSIX is defined, the posix mode default for the editor to + use is $FCEDIT, then ed + +shell.c + - if STRICT_POSIX is defined, initialize `posixly_correct' to 1 + +config.h.in + - add #undef STRICT_POSIX + + 9/5 + --- +configure.in + - add new option argument, --enable-strict-posix-default, configures + bash to be posix-conformant (including defaulting echo to posix + conformance) by default + +builtins/echo.def + - if STRICT_POSIX is defined, default echo to xpg-style + +doc/bashref.texi + - describe the --enable-strict-posix-default option to configure + + 9/10 + ---- +builtins/mkbuiltins.c + - change to not generate N_(""), because the translated empty string is + special to GNU gettext + + 9/13 + ---- +lib/readline/complete.c + - a negative value for rl_completion_query_items means to not ask + +lib/readline/doc/{{rltech,rluser}.texi,readline.3} + - documented new semantics for rl_completion_query_items/ + completion-query-items + + 9/14 + ---- +bashline.c + - bind M-TAB in emacs mode to dynamic-complete-history even if the + current binding is `tab-insert' (which is what it is by default), + not just if it's unbound + + 9/15 + ---- +eval.c + - call QUIT before calling dispose_command on current_command after + the `exec_done' label. If we dispose current_command first, the + longjmp might restore the value of current_command after we've + disposed it, and the subsequent call to dispose_command from the + DISCARD case will free memory twice + + 9/16 + ---- +lib/sh/strto[iu]max.c + - make sure the function being declared is not a cpp define before + defining it -- should fix problems on HP-UX + + 9/19 + ---- +Makefile.in + - make sure the binaries for the tests are at the front of $PATH + + 9/22 + ---- +parse.y + - new flag for parse_matched_pair: P_COMMAND, indicating that the + text being parsed is a command (`...`, $(...)) + - change calls to parse_matched_pair to include P_COMMAND where + appropriate + - if P_COMMAND flag is set and the text is unquoted, check for comments + and don't try to parse embedded quoted strings if in a comment (still + not exactly right yet) + + 9/24 + ---- +builtins/history.def + - if running history -n, don't count these new lines as history lines + for the current session if the `histappend' shell option is set. + If we're just appending to the history file, the issue that caused + history_lines_this_session to be recalculated doesn't apply -- the + history file won't be missing any entries + +lib/readline/isearch.c + - fix C-w handler for isearch string reader to handle multibyte chars + +lib/readline/rlmbutil.h + - new defines for _rl_to_wupper and _rl_to_wlower + +lib/readline/text.c + - use _rl_to_wupper and _rl_to_wlower as appropriate + + 9/26 + ---- +execute_cmd.c + - in shell_execve, if the exec fails due to E2BIG or ENOMEM, just print + the appropriate error message instead of checking out any interpreter + specified with #! + + 9/30 + ---- +bashhist.c + - make $HISTCMD available anytime remember_on_history is non-zero, + which indicates that we're saving commands to the history, and + let it evaluate to 1 if we're not + + 10/4 + ---- +lib/sh/snprintf.c + - in floating(), make sure d != 0 before calling chkinfnan -- gcc on the + version of Solaris 9 I have translates 0 to -inf on the call + +[bash-3.1-beta1 frozen] + + 10/6 + ---- +jobs.c + - set the_pipeline to NULL right away in cleanup_the_pipeline, and + dispose a copy of the pointer so we don't mess with the_pipeline + while we're in the process of destroying it + - block and unblock SIGCHLD around manipulating the_pipeline in + cleanup_the_pipeline + + 10/7 + ---- +[bash-3.1-beta1 released] + +lib/readline/isearch.c + - when switching directions, make sure we turn off the SF_REVERSE + flag in the search context's flags word if we're going from reverse + to forward i-search + +lib/readline/bind.c + - new function, rl_variable_value, returns a string representing a + bindable readline variable's value + - new auxiliary function, _rl_get_string_variable_value, encapsulates + everything needed to get a bindable string variable's value + - rewrote rl_variable_dumper to use _rl_get_string_variable_value + +lib/readline/readline.h + - new extern declaration for rl_variable_value + +lib/readline/doc/rltech.texi + - documented rl_variable_value + +bashline.c + - in command_word_completion_function, if readline sets + rl_completion_found_quote, but doesn't set rl_completion_quote_character, + we have an embedded quoted string or backslash-escaped character in + the passed text. We need to dequote that before calling + filename_completion_function. So far, this is in place only for + absolute program names (those containing a `/') + - in command_word_completion_function, use rl_variable_value to decide + whether or not we should ignore case, and use strncasecmp instead of + strncmp where appropriate + + 10/11 + ----- +builtins/fc.def + - fixed a typo when using POSIX_FC_EDIT_COMMAND + +redir.h + - new flag values for redirections: RX_INTERNAL and RX_USER (currently + unused) + +redir.c + - add_undo_redirect and add_undo_close_redirect now set RX_INTERNAL + flag when making new redirects + - in do_redirection_internal, only set file descriptors > 2 to CLEXEC + if they're marked as RX_INTERNAL + + 10/12 + ----- +jobs.c + - in wait_for_single_pid, if in posix mode, remove the waited-for pid + from the list of background pids, forgetting it entirely. POSIX + conformance tests test for this. + +lib/readline/{readline.h,vi_mode.c} + - new state flag, RL_STATE_VICMDONCE, set after entering vi command + mode the first time; reset on each call to readline() + + 10/13 + ----- +lib/readline/undo.c + - in rl_revert_line, make sure that revert-line in vi mode leaves + rl_point set to 0 no matter the state of the line buffer + +lib/readline/vi_mode.c + - when entering vi_command mode for the first time, free any existing + undo list so the previous insertions won't be undone by the `U' + command. This is how POSIX.2 says `U' should work (and the test + suite tests for it) + +lib/readline/bind.c + - change rl_parse_and_bind so only `set' commands involving boolean + readline variables have trailing whitespace stripped from the value + string + + 10/16 + ----- +lib/glob/sm_loop.c + - fix patscan() to correctly scan backslash-escaped characters + + 10/18 + ----- +lib/sh/{winsize.c,Makefile.in},{jobs,nojobs}.c,Makefile.in,externs.h + - moved get_new_window_size from jobs.c/nojobs.c to new file, + lib/sh/winsize.c, made function global + +{jobs,nojobs,sig}.c,{jobs,sig}.h + - moved SIGWINCH handling code to sig.c rather than duplicate it in + jobs.c and nojobs.c + - call set_sigwinch_handler from sig.c code rather than job control + signal initialization + +sig.[ch] + - new variable, sigwinch_received, acts like interrupt_state for + SIGWINCH, set by sigwinch_sighandler. sigwinch_sighandler no longer + calls get_new_window_size + +parse.y + - add call to get_new_window_size if sigwinch_received at top of + shell_getc + + 10/19 + ----- +lib/malloc/malloc.c + - to avoid orphaning memory on free if the right bucket is busy, use a + new function xplit(mem, bucket) to split the block into two or more + smaller ones and add those to the right bucket (appropriately marking + it as busy) + - audit bsplit(), bcoalesce(), and xsplit() for proper use of busy[], + since they're dealing with two separate buckets + + 10/22 + ----- +subst.c + - new flag for string_extract: EX_REQMATCH, means to return an error + if a matching/closing character is not found before EOS + - new static flag variables: extract_string_error and extract_string_fatal + - change expand_word_internal to check for new error returns from + string_extract and return errors if appropriate + + 10/23 + ----- +builtins/cd.def + - make sure we free TDIR in change_to_directory after calling + set_working_directory (which allocates new memory) and other places + we short-circuit and return + + 10/24 + ----- +subst.c + - modified fix from 10/22 to allow bare ` to pass through (for + some backwards compatibility and more correctness) + + 10/27 + ----- +conftypes.h + - make MacOS X use the RHAPSODY code that gets HOSTTYPE, et al. + at build rather than configure time, to support universal binaries + (fix from llattanzi@apple.com) + + 10/30 + ----- +builtins/evalstring.c + - make sure we don't turn on CMD_NO_FORK in parse_and_execute if + we're running a trap command on signal receipt or exit + +execute_cmd.c + - in shell_execve, improve the error message a little bit if the + interpreter name in a #! exec header ends with a ^M (as in a DOS- + format file) + + 11/1 + ---- +lib/readline/vi_mode.c + - fix vi-mode `r' command to leave the cursor in the right place + +[bash-3.1-rc1 frozen] + + 11/5 + ---- +execute_cmd.c + - make sure a DEBUG trap doesn't overwrite a command string passed to + make_child in execute_simple_command + +bashline.c + - rearrange some code in bash_quote_filename so filenames with leading + tildes containing spaces aren't tilde-expanded before being + returned to the caller + + 11/6 + ---- +lib/readline/display.c + - when deciding where to move the cursor in rl_redisplay and needing + to move the cursor back after moving it vertically and compensate + for invisible characters in the prompt string, make sure that + _rl_last_c_pos is treated as an absolute cursor position in a + multibyte locale and the wrap offset (number of invisible characters) + is added explicitly when deciding how many characters to backspace + + 11/10 + ----- +lib/readline/terminal.c + - _rl_set_screen_size now interprets a lines or columns argument < 0 + as an indication not to change the current value + + 11/11 + ----- + +lib/readline/terminal.c + - new function, rl_reset_screen_size, calls _rl_get_screen_size to + reset readline's idea of the terminal size + - don't call _rl_get_screen_size in _rl_init_terminal_io if both + _rl_screenheight and _rl_screenwidth are > 0 + - don't initialize _rl_screenheight and _rl_screenwidth to 0 in + _rl_init_terminal_io; let caller take care of it + - set _rl_screenheight and _rl_screenwidth to 0 before calling + _rl_init_terminal_io + +lib/readline/readline.h + - new extern declaration for rl_reset_screen_size + +lib/readline/doc/rltech.texi + - documented rl_reset_screen_size + +variables.c + - if readline is being used, compile in a special var function for + assignments to LINES and COLUMNS that calls rl_set_screen_size or + rl_reset_screen_size as appropriate. Only do this in posix mode + and only when STRICT_POSIX is defined at compile time + - new semaphore variable, winsize_assignment, set while doing an + assignment to LINES or COLUMNS + - new variable, winsize_assigned, says LINES or COLUMNS was assigned + to or found in the environment + - if in the middle of an assignment to LINES or COLUMNS, make + sh_set_lines_and_columns a no-op + +lib/sh/winsize.c + - get_new_window_size now takes two int * arguments, to return the + screen dimensions + +externs.h + - change extern declaration for get_new_window_size + +{jobs,nojobs}.c, parse.y + - change callers of get_new_window_size + + 11/12 + ----- +lib/readline/terminal.c + - new variable, rl_prefer_env_winsize, gives LINES and COLUMNS + precedence over values from the kernel when computing window size + +lib/readline/readline.h + - extern declaration for rl_prefer_env_winsize + +lib/readline/doc/rltech.texi + - document rl_prefer_env_winsize + + 11/13 + ----- +lib/readline/rltty.c + - change rl_prep_terminal to make sure we set and reset the tty + special characters in the vi insertion keymap if in vi mode. This + matters if we get accept-line for the previous line while in vi + command mode + + 11/14 + ----- +builtins/pushd.def + - make sure any call to cd_builtin includes a leading `--' from the + argument list (or constructs one) + + 11/16 + ----- +pcomplete.c + - fix small memory leak in gen_wordlist_matches + +[bash-3.1-rc2 frozen] + + 11/21 + ----- +[bash-3.1-rc2 released] + + 11/23 + ----- +lib/readline/display.c + - changes to rl_redisplay to compensate for update_line updating + _rl_last_c_pos without taking invisible characters in the line into + account. Important in multibyte locales where _rl_last_c_pos is an + absolute cursor position + - changes to _rl_move_cursor_relative to account for _rl_last_c_pos + being an absolute cursor position in a multibyte character locale + - rewrote _rl_move_cursor_relative to make it a little simpler + + 11/29 + ----- +lib/readline/display.c + - changes to rl_redisplay and update_line for update_line to communicate + upward that it took the number of invisible characters on the current + line into account when modifying _rl_last_c_pos + - in update_line, adjust _rl_last_c_pos by wrap_offset before calling + _rl_move_cursor_relative, so we pass correct information about the + true cursor position + + 12/1 + ---- +configure.in + - changed release status to `release' + +[bash-3.1 frozen] + + 12/8 + ---- +[bash-3.1 released] + + 12/9 + ---- +doc/{bash.1,version.texi},lib/readline/doc/version.texi + - remove `beta1' from man page footer and texinfo documents + +variables.c + - make sure winsize_assignment is protected by #ifdef READLINE, so + minimal shell will compile + +builtins/read.def + - make sure error cases free memory and run any unwind-protects to + avoid memory leaks + + 12/10 + ----- +execute_cmd.c + - change execute_command_internal to set $PIPESTATUS for ((...)) and + [[ ... ]] commands + +doc/{bash.1,bashref.texi,version.texi} + - add documentation for ulimit -[iqx] and bump revision date + + 12/12 + ----- +parse.y + - make sure parse_compound_assignment saves and restores the + PST_ASSIGNOK parser state flag around its calls to read_token. + Fixes bug reported by Mike Frysinger + + 12/13 + ----- +parse.y + - change parse_compound_assignment to save and restore the value of + last_read_token. Not sure why it was set unconditionally in the + first place after parsing the complete compound assignment + + 12/14 + ----- +lib/readline/text.c + - don't use return value of rl_kill_text (which always succeeds and + returns the number of characters killed) in rl_delete as an indication + of success or failure + - ditto for return value of rl_delete_text + +lib/readline/readline.c + - don't return the value of the called readline function as the return + value from _rl_dispatch_subseq; -1 means something different to the + callers (return 0 all the time to indicate that a readline function + was found and dispatched). Fix from Andreas Schwab for <DEL><DEL> + bug in callback interface first reported by Mike Frysinger + +execute_cmd.c + - fixed a typo in execute_case_command + + 12/15 + ----- +aclocal.m4 + - add check for wctype() to BASH_CHECK_MULTIBYTE, define HAVE_WCTYPE + +config.h.in + - add HAVE_WCTYPE #define + +config-bot.h + - add HAVE_WCTYPE to the set of checks for HANDLE_MULTIBYTE. This + should catch the deficient NetBSD multibyte support + + 12/16 + ----- +parse.y + - use CTLESC instead of literal '\001' when decode_prompt_string + prefixes RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE + + 12/20 + ----- +lib/readline/display.c + - don't treat RL_PROMPT_START_IGNORE specially inside a sequence of + ignored characters + - keep track of the start of the current sequence of ignored + characters; make sure that an empty sequence of such characters + really is an empty sequence, not one that happens to end with '\001' + (RL_PROMPT_START_IGNORE) + + 12/21 + ----- +subst.c + - change expand_word_internal to process rest of `tilde-word' as a + regular part of the word if tilde expansion leaves the tilde-word + unchanged. This means that ~$USER expands to ~chet, which seems + more intuitive, and is effectively what bash-3.0 did + + 12/23 + ----- +subst.c + - when making a local array variable in do_compound_assignment, make + sure that we don't use a variable of the same name from a previous + context + +doc/bash.1 + - documented expansions for word and patterns in case statement + +builtins/ulimit.def,doc/{bashref.texi,bash.1} + - added new -e and -r (nice and rtprio) options to ulimit; documented + them + + 12/26 + ----- +variables.c + - use `hmax' instead of `num' in sv_histsize to avoid integer overflow + problems with intmax_t + +builtins/read.def + - add unwind-protect to restore rl_attempted_completion_function in + case of a timeout + +{bashline,variables}.c + - move initialization of HISTSIZE from initialization path to + load_history, so it can be overridden by a value assigned in a + startup file + +lib/readline/misc.c + - add a missing `return r' so that rl_digit_loop returns a meaningful + value + +lib/readline/{bind,callback,display,isearch,rltty,search,text,vi_mode}.c + - minor cleanups to satisfy compiler warnings, mostly removing unused + variables + + 12/27 + ----- +support/Makefile.in + - add LIBS_FOR_BUILD support; defaults to ${LIBS} + +Makefile.in + - add LIBS_FOR_BUILD with no default value; use when linking programs + using CC_FOR_BUILD (e.g., bashversion) + + 12/28 + ----- +lib/readline/bind.c + - fix rl_translate_keyseq bad translation of \M-\C-x sequences + +execute_cmd.c + - in execute_arith_command, if the expression expands to more than one + word, make sure we join the words into a single string and pass the + entire thing to evalexp() + +expr.c + - new functions: _is_arithop(c), returns true if C is a valid single- + character arithmetic operator; _is_multiop(c), returns true if C is + a token corresponding to a valid multi-character arithmetic operator + - if we encounter a character that isn't a valid arithmetic + operator, throw an error. Try to be intelligent about what type of + error message to print + +subst.c + - new function, expand_arith_string, calls expand_string_if_necessary; + used where an arithmetic expression needs to be expanded + +subst.h + - new extern declaration for expand_arith_string + +arrayfunc.c + - in array_expand_index, call expand_arith_string to expand the + subscript in a fashion consistent with other arithmetic expressions + +subst.c + - fix parameter_brace_patsub so that we don't try to anchor the pattern + at the beginning or end of the string if we're doing global + replacement -- that combination doesn't doesn't make sense, and + the changed behavior is compatible with ksh93 + +doc/{bash.1,bashref.texi} + - changed description of pattern substitution to match the new + semantics + +tests/new-exp.tests + - change tests to remove all ${pat//#rep} and ${pat//%rep} + expansions, since they don't mean the same thing anymore + + 12/29 + ----- +support/signames.c + - new file, initialize_signames() function from old mksignames.c. This + file builds the signal_names array + +support/mksignames.c + - strip out initialize_signames(), move to signames.c. This file only + writes signames.h + - set up to only write a stub signames.h if CROSS_COMPILING is defined, + with extern declaration for initialize_signames + - if not cross compiling, #define initialize_signames to nothing + +Makefile.in + - mksignames is now linked from mksignames.o and buildsignames.o + - add rules to build signames.o, assuming we're building it as part + of the shell (cross-compiling) + +trap.c + - call initialize_signames from initialize_traps + +configure.in + - set SIGNAMES_O to nothing (normal) or signames.o (cross-compiling), + substitute into Makefile + - don't set SIGNAMES_H if cross-compiling any more + + 12/30 + ----- +command.h + - new word flag: W_NOPROCSUB, inhibits process substitution on a word + +subst.c + - change expand_word_internal to suppress process substitution if the + word has the W_NOPROCSUB flag + +shell.c + - --wordexp turns on W_NOPROCSUB in addition to W_NOCOMSUB + +subst.c + - change string_list_dollar_at and string_list_dollar_star so that + MB_CUR_MAX is used to size an array only when using gcc, since gcc + can handle non-constant array sizes using a mechanism like alloca. + Other compilers, e.g. Sun's compiler, do not implement that + extension + + 12/31 + ----- +builtins/mkbuiltins.c + - when cross-compiling, don't include <config.h>, since it's for the + target rather than the host system. Instead, choose a reasonable + set of default #defines based on a minimal POSIX system + +jobs.c + - change find_process to handle a NULL return value from find_pipeline + - return immediately from delete_job if jobs[index] is already NULL or + if it has a null pipeline associated with it + - in delete_job, if find_last_proc returns NULL, don't try to call + bgp_delete + + 1/7/2006 + -------- +doc/bash.1 + - patch from Tim Waugh to replace some literal single quotes with + \(aq, the groff special character for it + +jobs.c + - in realloc_jobs_list, make sure to zero out slots after j_lastj + in the new list + + 1/9 + --- +support/mksignames.c + - make sure to include <signal.h> to get right value of NSIG from + (usually) <sys/signal.h> + + 1/10 + ---- +parse.y + - when calling parse_matched_pair on a $(...) command substitution, + don't pass the P_DQUOTE flag so that single quotes don't get + stripped from $'...' inside the command substitution. Bug report + and fix from Mike Stroyan <mike.stroyan@hp.com> + +jobs.c + - start maintaining true count of living children in js.c_living + - call reset_current in realloc_jobs_list, since old values for current + and previous job are most likely incorrect + - don't allocate a new list in realloc_jobs_list if the old size and + new size are the same; just compact the existing list + - make sure realloc_jobs_list updates value of js.j_njobs + - add some more itrace messages about non-null jobs after j_lastj in + jobs array + + 1/11 + ---- +bashjmp.h + - new value for second argument to longjmp: SIGEXIT. Reserved for + future use + + 1/12 + ---- +jobs.c + - add logic to make_child to figure out when pids wrap around + - turn second argument to delete_job into flags word, added flag to + prevent adding proc to bgpids list + + 1/13 + ---- +lib/readline/vi_mode.c + - move code that moves forward a character out of rl_vi_append_mode + into a separate function, _rl_vi_append_forward + - change _rl_vi_append_mode to save `a' as the last command, so it + can be redone properly + - new function _rl_vi_backup, moves point back a character taking + multibyte locales into account + - change rl_vi_redo to handle redoing an `a' command specially -- + it should be redone like `i' but after moving forward a character + - change rl_vi_redo to use _rl_vi_backup to move point backward + after redoing `i' or `a' + +jobs.c + - new function, delete_old_job (pid), checks whether or not PID is in + a job in the jobs list. If so, and the job is dead, it just removes + the job from the list. If so, and the job is not dead, it zeros + the pid in the appropriate PROCESS so pid aliasing doesn't occur + - make_child calls delete_old_job to potentially remove an already-used + instance of the pid just forked from the jobs list if pids have + wrapped around. Finally fixes the bug reported by Tim Waugh + <twaugh@redhat.com> + +trap.c + - new define, GETORIGSIG(sig), gets the original handling for SIG and + sets SIG_HARD_IGNORE if that handler is SIG_IGN + - call GETORIGSIG from initialize_traps, get_original_signal, and + set_signal + +jobs.c + - in wait_for, if the original SIGINT handler is SIG_IGN, don't set + the handler to wait_sigint_handler. This keeps scripts started in + the background (and ignoring SIGINT) from dying due to SIGINT while + they're waiting for a child to exit. Bug reported by Ingemar + Nilsson <init@kth.se> + +lib/readline/vi_mode.c + - don't save text to buffer unless undo pointer points to a record of + type UNDO_INSERT; zero it out instead. This fixes bug reported by + Craig Turner <craig@synect.com> with redoing `ctd[ESC]' (empty + insert after change to) + +shell.c + - change set_shell_name so invocations like "-/bin/bash" are marked as + login shells + +doc/bash.1 + - add note about destroying functions with `unset -f' to the section + on shell functions + +lib/readline/terminal.c + - if readline hasn't been initialized (_rl_term_autowrap == -1, the + value it's now initialized with), call _rl_init_terminal_io from + _rl_set_screen_size before deciding whether or not to decrement + _rl_screenwidth. Fixes bug from Mike Frysinger <vapier@gentoo.org> + + 1/14 + ---- +lib/readline/input.c + - allow rl_set_keyboard_input_timeout to set the timeout to 0, for + applications that want to use select() like a poll without any + waiting + +lib/readline/doc/rltech.texi + - documented valid values for timeout in rl_set_keyboard_input_timeout + +jobs.c + - in stop_pipeline, don't have the parent shell call give_terminal_to + if subshell_environment contains SUBSHELL_ASYNC (no background + process should ever give the terminal to anything other than + shell_pgrp) + - in make_child, don't give the terminal away if subshell_environment + contains SUBSHELL_ASYNC + + 1/15 + ---- +subst.c + - in parameter_brace_expand, if extracting ${#varname}, only allow + `}' to end the expansion, since none of the other expansions are + valid. Fixes Debian bug reported by Jan Nordhorlz <jckn@gmx.net> + + 1/17 + ---- +parse.y + - in parse_matched_pair, protect all character tests with the MBTEST + macro + - in parse_dparen, take out extra make_word after call to alloc_word_desc + (mem leak) + + 1/18 + ---- +parse.y + - in parse_matched_pair, add P_ALLOWESC to flags passed to recursive + parse_matched_pair call when encountering a single or double quote + inside a ``-style command substitution + +execute_cmd.c + - add call to QUIT at beginning of execute_command_internal; better + responsiveness to SIGINT + + 1/21 + ---- +lib/readline/bind.c + - change rl_invoking_keyseqs_in_map to honor the setting of + convert-meta when listing key bindings, since if convert-meta is off, + using '\M-' as the prefix for bindings in, for instance, + emacs-escape-keymap, is wrong. This affects `bind -p' output + - change rl_untranslate_keyseq to add '\e' instead of '\C-[' for + ESC + +execute_cmd.c + - add call to QUIT at end of execute_command + + 1/23 + ---- +lib/readline/display.c + - changed two places in update_line where a check of whether the cursor + is before the last invisible character in the prompt string to + differentiate between the multibyte character case (where + _rl_last_c_pos is a physical cursor position) and the single-byte + case (where it is a buffer index). This prevents many unnecessary + \r-redraw the line sequences. Reported by Dan Jacobson. + + 1/24 + ---- +quit.h + - wrap QUIT macro in do...while(0) like other compound statement + macros + - CHECK_TERMSIG define (placeholder for now); future use will be to + handle any received signals that should cause the shell to + terminate (e.g., SIGHUP) + +{input,jobs,nojobs}.c + - add calls to CHECK_TERMSIG where appropriate (reading input and + waiting for children) + - include quit.h if necessary + + 1/25 + ---- +parse.y + - undo change that makes `)' in a compound assignment delimit a token. + It messes up arithmetic expressions in assignments to `let', among + other things + +sig.h,{jobs,nojobs,sig,trap}.c,builtins/trap.def + - rename termination_unwind_protect to termsig_sighandler + +sig.c + - split termsig_sighandler into two functions: termsig_sighandler, which + runs as a signal handler and sets a flag noting that a terminating + signal was received, and termsig_handler, which runs when it is `safe' + to handle the signal and exit + - new terminate_immediately variable, similar to interrupt_immediately + - termsig_sighandler calls termsig_handler immediately if + terminate_immediately is non-zero + +quit.h + - change CHECK_TERMSIG macro to check terminating_signal and call + termsig_handler if it's non-zero + - add same check of terminating_signal and call to termsig_handler to + QUIT macro + +{jobs,nojobs}.c + - change call to termsig_sighandler to call termsig_handler directly, + as was intended + +parse.y,builtins/read.def + - set terminate_immediately to non-zero value when reading interactive + input, as is done with interrupt_immediately + + 1/26 + ---- +doc/{bash.1,bashref.texi} + - reworded the POSIX standard references to remove mention of POSIX.2 + or 1003.2 -- it's all the 1003.1 standard now. Recommended by + Arnold Robbins + + 1/27 + ---- +lib/readline/complete.c + - move call to filename dequoting function into + rl_filename_completion_function; call only if directory completion + hook isn't set. This means that directory-completion-hook now needs + to dequote the directory name. We don't want to dequote the directory + name before calling the directory-completion-hook. Bug reported by + Andrew Parker <andrewparker@bigfoot.com> + +bashline.c + - add necessary directory name dequoting to bash_directory_expansion + and bash_directory_completion_hook + +lib/readline/doc/rltech.texi + - add note to description of rl_directory_completion_hook that it + needs to dequote the directory name even if no other expansions are + performed + + 1/28 + ---- +braces.c + - make sure that we skip over braces that don't start a valid matched + brace expansion construct in brace_expand -- there might be a valid + brace expansion after the unmatched `{' later in the string + - brace_gobbler now checks that when looking for a `}' to end a brace + expansion word, there is an unquoted `,' or `..' that's not inside + another pair of braces. Fixes the a{b{c,d}e}f problem reported by + Tim Waugh + +builtins/declare.def + - when not in posix mode, and operating on shell functions, typeset + and declare do not require their variable operands to be valid + shell identifiers. The other `attribute' builtins work this way. + Fixes inconsistency reported by Mike Frysinger <vapier@gentoo.org> + +{configure,config.h}.in + - add test for setregid, define HAVE_SETREGID and HAVE_DECL_SETREGID + as appropriate + - add test for eaccess, define HAVE_EACCESS if found + +lib/sh/eaccess.c + - new file, with sh_stat and sh_eaccess functions, moved from test.c + - renamed old sh_eaccess as sh_stataccess, since it uses the stat(2) + information to determine file accessibility + - new function, sh_euidaccess, to call when uid != euid or gid != egid; + temporarily swaps uid/euid and gid/egid around call to access + - rewrote sh_eaccess to call eaccess, access, sh_euidaccess or + sh_stataccess as appropriate. access(2) will take into account + things like ACLs, read-only file systems, file flags, and so on. + +lib/sh/Makefile.in,Makefile.in + - add necessary entries for eaccess.[co] + +test.c + - change calls to test_stat to call sh_stat + +{test,general}.c + - change calls to test_eaccess to call sh_eaccess + +externs.h + - new extern declaration for sh_eaccess + +test.[ch] + - remove test_stat and test_eaccess + + 1/29 + ---- +braces.c + - make change from 1/28 dependant on CSH_BRACE_COMPAT not being + defined (since old bash behavior is what csh does, defining + CSH_BRACE_COMPAT will produce old bash behavior) + + 1/30 + ---- +bashline.c + - last argument of bash_default_completion is now a flags word: + DEFCOMP_CMDPOS (in command position) is only current value + - attempt_shell_completion now computes flags before calling + bash_default_completion + - if no_empty_command_completion is set, bash does not attempt command + word completion even if not at the beginning of the line, as long + as the word to be completed is empty and start == end (catches + beginning of line and all whitespace preceding point) + + 2/4 + --- +lib/readline/display.c + - change _rl_make_prompt_for_search to use rl_prompt and append the + search character to it, so the call to expand_prompt in rl_message + will process the non-printing characters correctly. Bug reported + by Mike Stroyan <mike.stroyan@hp.com> + + 2/5 + --- +lib/readline/display.c + - fix off-by-one error when comparing against PROMPT_ENDING_INDEX, + which caused a prompt with invisible characters to be redrawn one + extra time in a multibyte locale. Change from <= to < fixes + multibyte locale, but I added 1 to single-byte definition of + PROMPT_ENDING_INDEX (worth checking) to compensate. Bug reported + by Egmont Koblinger <egmont@uhulinux.hu> + + 2/8 + --- +lib/readline/terminal.c + - call _emx_get_screensize with wr, wc like ioctl code for consistency + - new function, _win_get_screensize, gets screen dimensions using + standard Windows API for mingw32 (code from Denis Pilat) + - call _win_get_screensize from _rl_get_screen_size on mingw32 + +lib/readline/rlconf.h + - define SYS_INPUTRC (/etc/inputrc) as system-wide default inputrc + filename + +support/shobj-conf + - changes to make loadable builtins work on MacOS X 10.[34] + +builtins/pushd.def + - changes to make it work as a loadable builtin compiled with gcc4 + + 2/9 + --- +lib/readline/bind.c + - add SYS_INPUTRC as last-ditch default (if DEFAULT_INPUTRC does not + exist or can't be read) in rl_read_init_file + +lib/readline/doc/rluser.texi + - add description of /etc/inputrc as ultimate default startup file + + 2/10 + ---- +lib/readline/bind.c + - fix problem with rl_function_of_keyseq that returns a non-keymap + bound to a portion of the passed key sequence without processing + the entire thing. We can bind maps with existing non-map + functions using the ANYOTHERKEY binding code. + +variables.c + - shells running in posix mode do not set $HOME, as POSIX apparently + requires + + 2/15 + ---- +braces.c + - mkseq() now takes the increment as an argument; changed callers + + 2/16 + ---- +builtins/hash.def + - print `hash table empty' message to stdout instead of stderr + + 2/17 + ---- +lib/readline/readline.c + - when resetting rl_prompt in rl_set_prompt, make sure rl_display_prompt + is set when the function returns + + 2/18 + ---- +lib/readline/display.c + - further fixes to _rl_make_prompt_for_search from Eric Blake to deal + with multiple calls to expand_prompt + + 2/21 + ---- +builtins/hash.def + - don't print `hash table empty' message in posix mode + + 2/27 + ---- +lib/glob/sm_loop.c + - change extmatch() to turn off FNM_PERIOD in flags passed to recursive + calls to gmatch() when calling it with a substring after the start + of the string it receives. Changed `+', `*', `?, `@', and `!' cases + to do the right thing. Fixes bug reported by Benoit Vila + <bvila@free.fr> + +braces.c + - add QUIT; statements to mkseq to make large sequence generation + interruptible + + 2/28 + ---- +lib/glob/glob.c + - initialize nalloca in glob_vector + + 3/1 + --- +lib/glob/glob.c + - in glob_vector, when freeing up the linked list after some error, + make sure to set `tmplink' to 0 if `firstlink' is set to 0, else we + get multiple-free errors + + 3/5 + --- +trap.c + - inheritance of the DEBUG, RETURN, and ERR traps is now dependent + only on the `functrace' and `errtrace' shell options, as the + documentation says, rather than on whether or not the shell is in + debugging mode. Reported by Philip Susi <psusi@cfl.rr.com> + +parse.y + - in parse_matched_pair, don't recursively parse ${...} or other + ${...} constructs inside `` + - in parse_matched_pair, remove special code that recursively parses + quoted strings inside `` constructs. For Bourne shell compatibility + + 3/6 + --- +builtins/pushd.def + - let get_directory_stack take take an `int flags' argument and convert + $HOME to ~ if flags&1 is non-zero + +builtins/common.h + - change extern declaration for get_directory_stack + +variables.c + - call get_directory_stack with an arg of 0 to inhibit converting + $HOME to ~ in the result. Fixes cd ${DIRSTACK[1]} problem + reported by Len Lattanzi <llattanzi@apple.com> (cd fails because + the tildes won't be expanded after variable expansion) + +jobs.c + - changed hangup_all_jobs slightly so stopped jobs marked J_NOHUP + won't get a SIGCONT + +general.c + - changed check_binary_file() to check for a NUL byte instead of a + non-printable character. Might at some point want to check + entire (possibly multibyte) characters instead of just bytes. Hint + from ksh via David Korn + + 3/7 + --- +builtins/reserved.def + - changed runs of spaces to tabs in variables help text to make + indentation better when displayed + +builtins/mkbuiltins.c + - changes to avoid the annoying extra space that keeps gettext from + being passed an empty string + + 3/9 + --- +lib/glob/glob.c + - make sure globbing is interrupted if the shell receives a terminating + signal + + 3/14 + ---- +lib/readline/search.c + - call rl_message with format argument of "%" in _rl_nsearch_init + to avoid `%' characters in the prompt string from being interpreted + as format specifiers to vsnprintf/vsprintf + + 3/19 + ---- +parse.y, eval.c, input.h + - change execute_prompt_command to execute_variable_command; takes the + variable name as a new second argument + + 3/25 + ---- +bashline.c + - command_word_completion_function keeps track of when it's searching + $PATH and doesn't return directory names as matches in that case. + Problem reported by Pascal Terjan <pterjan@mandriva.com> + - command_word_completion_function returns what it's passed as a + possible match if it's the name of a directory in the current + directory (only non-absolute pathnames are so tested). + + 3/27 + ---- +subst.c + - expand_arith_string takes a new argument: quoted. Either 0 (outside + subst.c) or Q_DOUBLE_QUOTES (substitution functions); changed callers + +subst.h + - changed extern declaration for expand_arith_string + +arrayfunc.c + - changed call to expand_arith_string in array_expand_index + + 3/31 + ---- +lib/readline/histfile.c + - change read_history_range to allow windows-like \r\n line endings + +execute_cmd.c + - add new variable, line_number_for_err_trap, currently set but not + used + + 4/2 + --- +lib/sh/strtrans.c + - add code to echo -e and echo with xpg_echo enabled to require + a leading 0 to specify octal constants + + 4/3 + --- +subst.c + - slight change to wcsdup() replacement: use memcpy instead of wcscpy + +parse.y + - before turning on W_COMPASSIGN, make sure the final character in the + token is a `(' (avoids problems with things like a=(4*3)/2) + + 4/4 + --- +lib/sh/snprintf.c + - in number() and lnumber(), turn off PF_ZEROPAD if explicit precision + supplied in format + - change number() and lnumber() to correctly implement zero-padding + specified by a non-zero `.precision' part of the format + +subst.c + - new flag for extract_delimited_string: EX_COMMAND. For $(...), so + we can do things like skip over delimiters in comments. Added to + appropriate callers + - changes to extract_delimited_string to skip over shell comments when + extracting a command for $(...) (EX_COMMAND is contained in the + flags argument) + + 4/5 + --- +subst.c + - first argument to skip_single_quoted is now a const char * + - new function, chk_arithsub, checks for valid arithmetic expressions + by balancing parentheses. Fix based on a patch from Len Lattanzi + + 4/6 + --- +{configure,config.h}.in + - add separate test for isnan in libc, instead of piggybacking on + isinf-in-libc test + +lib/sh/snprintf.c + - separate the isnan replacement function so it's guarded by its own + HAVE_ISNAN_IN_LIBC define + +lib/sh/wcsdup.c + - new file, contains replacement wcsdup library function from subst.c + with change back to using wcscpy + +Makefile.in,lib/sh/Makefile.in + - make sure wcsdup.c is compiled and linked in + +subst.c + - wcsdup now found in libsh; removed static definition + + 4/10 + ---- +lib/readline/callback.c + - loop over body of rl_callback_read_char as long as there is additional + input rather than just calling readline_internal_char, which does + not handle multi-character key sequences or escape-prefixed chars + +lib/readline/macro.c + - make sure we turn off RL_STATE_MACROINPUT when the macro stack is + empty if we are reading additional input with RL_STATE_MOREINPUT + +support/shobj-conf + - Mac OS X no longer likes the `-bundle' option to gcc when creating a + dynamic shared library + + 4/11 + ---- +lib/tilde/tilde.c + - don't try to dereference user_entry if HAVE_GETPWENT isn't defined + +lib/readline/input.c + - make sure chars_avail is not used without being assigned a value in + rl_gather_tyi + - use _kbhit() to check for available input on Windows consoles, in + rl_gather_tyi and _rl_input_available + + 4/21 + ---- +lib/readline/display.c + - calculate (in expand_prompt) and keep track of length of local_prompt + in local_prompt_len; use where appropriate + - when using o_pos to check whether or not we need to adjust + _rl_last_c_pos after calling update_line, assume that it's correct + (a buffer index in non-multibyte locales and a cursor position in + multibyte locales) and adjust with wrap_offset as appropriate + - in update_line, set cpos_adjusted to 1 after calling + _rl_move_cursor_relative to move to the end of the displayed prompt + string + - in _rl_move_cursor_relative, check that the multibyte display + position is after the last invisible character in the prompt string + before offsetting it by the number of invisible characters in the + prompt (woff) + + 4/26 + ---- +lib/readline/doc/{rluser.texi,readline.3} + - make sure to note that key bindings don't allow any whitespace + between the key name or sequence to be bound and the colon + + 4/28 + ---- +lib/readline/display.c + - in update_line, make sure we compare _rl_last_c_pos as strictly less + than PROMPT_ENDING_INDEX, since it's 0-based, to avoid multiple + prompt redraws + + 5/4 + --- +parse.y + - in decode_prompt_string, only prefix the expansion of \[ or \] + with CTLESC if the corresponding readline escape character is + CTLESC (coincidentally the same as \[) or CTLNUL. Bug report sent + by Mike Frysinger <vapier@gentoo.org> prompted the discovery + +aclocal.m4 + - slight change to test for /dev/fd to compensate for a linux + failing; suggested by Mike Frysinger <vapier@gentoo.org> + + 5/9 + --- +arrayfunc.c + - broke assign_array_var_from_string into two functions: + expand_compound_array_assignment and assign_compound_array_list; + assign_array_var_from_string just calls those functions now + +arrayfunc.h + - new extern declarations for expand_compound_array_assignment and + assign_compound_array_list + +subst.c + - in do_compound_assignment, call expand_compound_array_assignment + before creating the local variable so a previous inherited + value can be used when expanding the rhs of the compound assignment + statement + + 5/11 + ---- +doc/{bash.1,bashref.texi} + - clarifed `trap' description to make it clear that trapped signals + that are not set to SIG_IGN are reset when a subshell is created + + 5/18 + ---- +locale.c + - change reset_locale_vars to call setlocale (LC_ALL, "") if LANG + is unset or NULL + - if LANG is unset or NULL, reset the export environment before + calling setlocale in reset_locale_vars, and trust that it will + change the environment setlocale() inspects + + 5/21 + ---- +lib/readline/history.c + - new function, HIST_ENTRY *alloc_history_entry (char *string, char *ts); + creates a new history entry with text STRING and timestamp TS (both + of which may be NULL) + - new function, HIST_ENTRY *copy_history_entry (HIST_ENTRY *hist), + which copies the line and timestamp entries to new memory but just + copies the data member, since that's an opaque pointer + - new function, void replace_history_data (int which, histdata_t *old, histdata_t *new) + which replaces the `data' member of specified history entries with + NEW, as long as it is OLD. WHICH says which history entries to + modify + - add calls to replace_history_data in rl_free_undo_list and + rl_do_undo + +lib/readline/undo.c + - new function, alloc_undo_entry (enum undo_code what, int start, int end, char *text) + takes care of allocating and populating a struct for an individual + undo list entry + - new function: _rl_copy_undo_entry(UNDO_LIST *entry) + - new function: _rl_copy_undo_list(UNDO_LIST *head) + +lib/readline/rlprivate.h + - new extern declarations for _rl_copy_undo_{entry,list} + +execute_cmd.c + - change execute_cond_node so that quoting the rhs of the =~ + operator forces string matching, like the == and != operators + + 5/23 + ---- +redir.c + - add_undo_redirect now takes as an additional argument the type of + redirection we're trying to undo + - don't add a "preservation" redirection for fds > SHELL_FD_BASE if + the redirection is closing the fd + + 5/24 + ---- +subst.c + - make sure that parameter_brace_substring leaves this_command_name + set to either NULL or its previous value after setting it so that + arithmetic evaluation errors while expanding substring values + contain meaningful information + + 6/9 + --- +execute_cmd.c + - make sure that SUBSHELL_ASYNC and SUBSHELL_PIPE are set as flag bits + in subshell_environment, rather than setting only a single value + - change execute_subshell_builtin_or_function to give the `return' + builtin a place to longjmp to when executed in a subshell or pipeline + (mostly as the last command in a pipeline). Bug reported by + Oleg Verych <olecom@gmail.com> + - in execute_simple_command, make sure to call execute_disk_command + with the_printed_command_except_trap to keep DEBUG trap command + strings from overwriting the command strings associated with jobs + and printed in job control messages. Bug reported by Daniel Kahn + Gillmor <dkg-debian.org@fifthhorseman.net> + +[bash-3.2-alpha frozen] + + 6/22 + ---- +syntax.h + - add new CBLANK (for [:blank:] class) flag value for syntax table and + shellblank(c) character test macro + +mksyntax.c + - add support for setting CBLANK flag in the syntax table depending on + whether or not isblank(x) returns true for character x + +locale.c + - change locale_setblanks to set or unset CBLANK flag for each + character when locale changes + +parse.y + - change call to whitespace(c) in lexical analyzer (read_token()) to + call shellblank(c) instead, so locale-specific blank characters are + treated as white space. Fixes bug reported by Serge van deb Boom + <svdb+bug-bash@stack.nl> + +print_cmd.c + - when printing redirections, add a space between <, >, and <> and the + following word, to avoid conflicts with process substitution. Bug + reported by Ittay Dror <ittyad@qlusters.com> + + 6/26 + ---- +configure.in + - set CROSS_COMPILE to the empty string by default, so we don't inherit + a random value from the environment. Bug reported by + Lee Revell <rlrevell@joe-job.com> + + 6/29 + ---- +lib/glob/xmbsrtowcs.c + - make sure destp is non-null before assigning a 0 to *destp in + xdupmbstowcs. Fix from Louiwa Salem <loulwas@us.ibm.com> + +execute_cmd.c + - fix execute_in_subshell to make sure asynchronous isn't set to 0 + before subshell_environment is set appropriately and + setup_async_signals is run. Based on report by Louiwa Salem + <loulwas@us.ibm.com> + +lib/readline/bind.c + - in rl_generic_bind(), make sure that the keys array is freed before + an error return. Fix from Louiwa Salem <loulwas@us.ibm.com> + + 7/1 + --- +builtins/read.def + - make sure all editing code is protected with #ifdef READLINE, esp. + unwind-protect that restores the default completion function + +lib/readline/display.c + - make sure to set local_prompt_len in rl_message() [in bash-3.2-alpha] + + 7/5 + --- +builtins/printf.def + - add more of echo's write error handling to printf. Suggested by + martin.wilck@fujitsu-siemens.com + + 7/7 + --- +lib/readline/display.c + - save and restore local_prompt_len in rl_{save,restore}_prompt + [in bash-3.2-alpha] + + 7/8 + --- +[bash-3.2-alpha released] + + 7/9 + --- +lib/readline/display.c + - make sure that _rl_move_cursor_relative sets cpos_adjusted when it + offsets `dpos' by wrap_offset in a multi-byte locale. Bug reported + by Andreas Schwab and Egmont Koblinger + +subst.c + - make sure that the call to mbstowcs in string_extract_verbatim is + passed a string with enough space for the closing NUL. Reported + by Andreas Schwab + + 7/18 + ---- +lib/readline/{display,terminal}.c + - remove #ifdefs for HACK_TERMCAP_MOTION so we can use + _rl_term_forward_char in the redisplay code unconditionally + +lib/readline/rlprivate.h + - new extern declaration for _rl_term_forward_char + +lib/readline/display.c + - in _rl_move_cursor_relative, use `dpos' instead of `new' when + deciding whether or not a CR is faster than moving the cursor from + its current position + - in _rl_move_cursor_relative, we can use _rl_term_forward_char to + move the cursor forward in a multibyte locale, if it's available. + Since that function doesn't have a handle on where the cursor is in + the display buffer, it has to output a cr and print all the data. + Fixes rest of problem reported by Egmont Koblinger + - change variable denoting the position of the cursor in the line buffer + from c_pos (variable local to rl_redisplay) to cpos_buffer_position + (variable local to file) for future use by other functions + + 7/25 + ---- +lib/malloc/{stats,table}.h + - include <string.h> for prototypes for memset, strlen + +lib/termcap/{termcap,tparam}.c + - include <string.h> and provide macro replacement for bcopy if + necessary + + 7/27 + ---- +lib/readline/histexpand.c + - add support for `<<<' here-string redirection operator to + history_tokenize_word. Bug reported by agriffis@gentoo.org + +externs.h + - don't add prototype for strerror() if HAVE_STRERROR defined + + 7/29 + ---- +subst.c + - in list_string, use `string' instead of `s' -- s is not initialized + + 8/9 + --- +subst.c + - fix parameter_brace_expand to set W_HASQUOTEDNULL in the WORD_DESC it + returns if the result of parameter_brace_substring is a quoted null + ("\177"). Fixes bug reported by Igor Peshansky <pechtcha@cs.nyu.edu> + + 8/16 + ---- +lib/readline/readline.h + - new #define, READERR, intended to be used to denote read/input errors + +lib/readline/input.c + - in rl_getc, if read() returns an error other than EINTR (after the + EWOULDBLOCK/EAGAIN cases are handled), return READERR rather than + converting return value to EOF if readline is reading a top-level + command (RL_STATE_READCMD) + +lib/readline/readline.c + - if rl_read_key returns READERR to readline_internal_char[loop], + abort as if it had read EOF on an empty line, without any conversion + to newline, which would cause a partial line to be executed. This + fixes the bug reported by Mathieu Bonnet <mathieu.bonnet@nalkym.org> + +aclocal.m4 + - when testing for validity of /dev/fd/3, use /dev/null instead of + standard input, since the standard input fails with linux and `su'. + Bug reported by Greg Shafer <gschafer@zip.com.au> + + 8/17 + ---- +Makefile.in + - switch the TAGS and tags targets so TAGS is the output of `etags' and + tags is the output of `ctags'. Suggested by Masatake YAMATO + + 8/25 + ---- +execute_cmd.c + - change code to match documentation: set BASH_COMMAND (which takes its + value from the_printed_command_except_trap) only when not running a + trap. Rocky says the debugger is ok with this, and this is what his + original diffs did + + 8/29 + ---- +variables.c + - change set_if_not to create shell_variables if it is NULL, since + -o invocation options can cause variables to be set before the + environment is scanned + +[bash-3.2-beta frozen] + + 9/5 + --- +[bash-3.2-beta released] + + 9/8 + --- +variables.c + - change dispose_used_env_vars to call maybe_make_export_env + immediately if we're disposing a temporary environment, since + `environ' points to the export environment and getenv() will use + that on systems that don't allow getenv() to be replaced. This + could cause the temporary environment to affect the shell. Bug + reported by Vasco Pedro <vp@di.uevora.pt> + +builtins/echo.def,doc/{bash.1,bashref.texi} + - clarify that `echo -e' and echo when the `xpg_echo' shell option is + enabled require the \0 to precede any octal constant to be expanded. + Reported by Vasco Pedro <vp@di.uevora.pt> + + 9/12 + ---- +builtins/printf.def + - make sure `%q' format specifier outputs '' for empty string arguments + Bug reported by Egmont Koblinger <egmont@uhulinux.hu> + +make_cmd.c + - change make_here_document to echo lines in here-doc if set -v has + been executed. Reported by Eduardo Ochs <eduardoochs@gmail.com> + +aclocal.m4 + - change BASH_CHECK_MULTIBYTE: + o replace check for wctomb with check for wcrtomb + o add checks for wcscoll, iswctype, iswupper, iswlower, + towupper, towlower + o add call to AC_FUNC_MBRTOWC to check for mbrtowc and mbstate_t + define HAVE_MBSTATE_T manually + o add checks for wchar_t, wctype_t, wint_t + +config.h.in + - add defines for wcscoll, iswctype, iswupper, iswlower, towupper, + towlower functions + - replace define for wctomb with one for wcrtomb + - add defines for wchar_t, wint_t, wctype_t types + +config-bot.h, lib/readline/rlmbutil.h + - add check for HAVE_LOCALE_H before defining HANDLE_MULTIBYTE + - add checks for: ISWCTYPE, ISWLOWER, ISWUPPER, TOWLOWER, TOWUPPER + - add checks for: WCTYPE_T, WCHAR_T, WCTYPE_T + + 9/13 + ---- +lib/readline/display.c + - when displaying prompts longer than the screenwidth in rl_redisplay, + and looking for the index of the last character whose buffer index + is <= the screen width to set up the inv_lbreaks array, make sure to + catch the case where the index == the screen width (an off-by-one + error occurs otherwise with prompts one character longer than the + screen width). Bug reported by Alexey Toptygin <alexeyt@freeshell.org> + +configure.in + - change DEBUGGER_START_FILE to start with ${ac_default_prefix}/share, + like bashdb installs itself. Reported by Nick Brown + <nickbroon@blueyonder.co.uk> + + 9/14 + ---- +lib/readline/display.c + - make multibyte code that computes the buffer indices of line breaks + for a multi-line prompt dependent on MB_CUR_MAX, so we don't take + the function call hit unless we're in a locale that can have + multibyte characters + + 9/19 + ---- +subst.c + - make dequote_list extern so other parts of the shell can use it + +subst.h + - extern declaration for dequote_list + +builtins/read.def + - call dequote_list before assigning words read to array variable if + we saw an escape character. Old code left spurious CTLESCs in the + string after processing backslashes. Bug reported by Daniel Dawson + <ddawson@icehouse.net> + + 9/21 + ---- +[bash-3.2 frozen] + + 10/9 + ---- +support/shobj-coonf + - change -fpic to -fPIC for FreeBSD systems (needed for SPARC at least) + + 10/11 + ----- +[bash-3.2 released] + + 10/12 + ----- +parse.y + - change parse_matched_pair to make sure `` command substitution does + not check for shell comments while parsing. Bug reported against + bash-3.2 by Greg Schaefer <gschafer@zip.com.au> + + 10/14 + ----- +parse.y + - add new parser_state flag: PST_REGEXP; means we are parsing a + regular expression following the =~ conditional operator + - cond_node sets PST_REGEXP after reading the `=~' operator + - change read_token to call read_token_word immediately if the + PST_REGEXP bit is set in parser_state + - change read_token_word to skip over `(' and `|' if PST_REGEXP is + set, since those characters are legitimate regexp chars (but still + parse matched pairs of parens) + + 10/16 + ----- +builtins/ulimit.def + - add -e and -r to $SHORT_DOC usage string + +po/ru.po + - fix encoding; Russian text in the file is actually encoded in KOI8-R + + 10/23 + ----- +shell.c + - make sure that the call to move_to_high_fd in open_shell_script + passes 1 for the `check_new' parameter so open high file descriptors + don't get closed and reused. Bug reported by Mike Stroyan + <mike.stroyan@hp.com> + +doc/bashref.texi + - fixes for typos and misspellings sent in by Brian Gough + + 10/24 + ----- +support/shobj-conf + - make netbsd shared library creation like openbsd's until I hear + differently (called using `gcc -shared') + + 10/26 + ----- +subst.c + - fix bug in parameter_brace_patsub so if the first character of the + expanded pattern is a `/', it is not taken as a global replacement + specifier. Bug reported on forums.nekochan.net + + 10/27 + ----- +builtins/printf.def + - if we need an extern declaration for asprintf, make sure we include + stdarg.h or varargs.h, whichever is appropriate + - if we do not have asprintf, add an extern declaration using + stdarg format. This fixes the bugs with %G on IRIX reported by + Matthew Woehlke <mwoehlke@tibco.com> and Stuart Shelton + <srcshelton@gmail.com> + + +lib/sh/snprintf.c + - add note to not call log_10 with 0 argument -- we don't want to do + what real log10 does (-infinity/raise divide-by-zero exception) + - make sure numtoa (used by dtoa) takes the precision into account + when computing the fractional part with an argument of `0.0' + - make sure `g' and `G' formats don't print radix char if there are + no characters to be printed after it (change to floating()) + - change callers of log_10 (exponent, 'g' and 'G' cases in + vsnprintf_internal) to not call it with 0 for argument. This fixes + the hang reported on IRIX by Matthew Woehlke <mwoehlke@tibco.com> + and Stuart Shelton <mwoehlke@tibco.com> + + 10/28 + ----- +builtins/{caller,pushd}.def + - changed longdoc strings in loadable builtin section to be single + strings, as put in the build directory builtins.c file, to aid + translators + + 11/1 + ---- +execute_cmd.c + - reset subshell_environment to 0 after make_child() call in + execute_null_command. Fix provided by Roy Marples + <uberlord@gentoo.org> + + 11/7 + ---- +lib/tilde/tilde.c +lib/readline/{util,undo,callback,input,isearch,kill}.c + - make sure that memory allocated with xmalloc is freed with xfree + + 11/9 + ---- +lib/readline/display.c + - make sure that _rl_redisplay_after_sigwinch clears the last displayed + line instead of the current line (instead of assuming that the + cursor is on the last line). Fixes bug reported by Egmont + Koblinger <egmont@uhulinux.hu> + + 11/10 + ----- +lib/readline/display.c + - make sure that _rl_col_width is never called with MB_CUR_MAX == 1, + since it doesn't count invisible characters and they are not + compensated for. Added a warning in _rl_col_width if called when + MB_CUR_MAX == 1. Bug reported and solution suggested by Eric + Blake <ebb9@byu.net> + + 11/11 + ----- +lib/readline/display.c + - make sure _rl_wrapped_line is initialized to inv_lbsize int chars. + inv_lbsize and vis_lbsize are the same at that point, but it makes + the intent clearer. Fix from jan.kratochvil@redhat.com. + - in rl_redisplay, make sure we call memset on _rl_wrapped_line with + its full initialized size: inv_lbsize*sizeof(int). Fix from + jan.kratochvil@redhat.com. + - wrap the invisible and visible line variables and _rl_wrapped_line + into line_state structures, which can be swapped more efficiently. + Have to watch the wrapped_line field, since there's now one for + each struct. Changes from jan.kratochvil@redhat.com. + +lib/readline/complete.c + - in stat_char, check for `//server' on cygwin and return `/', since + it will always behave as a directory. Fix from Eric Blake + +lib/readline/histfile.c + - Cygwin's mmap() works in recent versions, so don't #undef HAVE_MMAP. + Recommendation from Eric Blake + +lib/readline/rlwinsize.h + - make sure tcflow() is defined on SCO Unix. Fix from William Bader + +aclocal.m4 + - add check for localeconv to AM_INTL_SUBDIR macro + +config.h.in + - add HAVE_LOCALECONV + +lib/sh/snprintf.c + - add check for HAVE_LOCALECONV for GETLOCALEDATA macro + +general.[ch] + - first argument to legal_number is now `const char *' + + 11/14 + ----- +lib/readline/{readline,rlprivate}.h + - move rl_display_prompt declaration from rlprivate.h to readline.h + +lib/readline/util.h + - new function: rl_free(void *mem), for use by users of readline dlls + on Windows + +lib/readline/readline.h + - new extern declaration for rl_free + +lib/readline/doc/rltech.texi + - document rl_free and rl_display_prompt for use by application writers + + 11/15 + ----- +aclocal.m4 + - change tests for /dev/fd and /dev/stdin to use constructs of the form + (exec test ... ) instead of test ... to avoid bash's /dev/fd and + /dev/stdin emulation + + 11/16 + ----- +jobs.c + - in delete_job, reset_current was being called before the job slot + was cleared -- moved after job_slots[job] was set to NULL. Fixes + bug reported by Dan Jacobson <jidanni@jidanni.org> + + 11/19 + ----- +findcmd.c + - when the checkhash option is set, fix the check for the hashed + pathname being an existing executable file. Old code required a + hash table deletion and re-addition. Bug reported by Linda + Walsh <bash@tlinx.org> + + 11/21 + ----- +subst.c + - in pos_params, handle case of `start' == 0 by making the list of + positional parameters begin with $0 + - in parameter_brace_substring, increment `len' if start == 0, sicne + we will be adding $0 to the beginning of the list when we process it + +doc/{bash.1,bashref.texi} + - document new behavior of `0' offset when using substring expansion + with the positional parameters + +support/shobj-conf + - changes to shared object creation for loadable builtins on Mac OS X + 10.4 to use libtool instead of ld by specifying -dynamiclib + argument and changing options to be appropriate for libtool. This + winds up creating a dynamic shared library instead of an executable + + 11/24 + ----- +{jobs,nojobs}.c + - don't set last_asynchronous_pid to the child's pid in the child + for asynchronous jobs (for compatibility -- all other posix shells + seem to do it this way). This means that (echo $! )& echo $! should + display two different pids. Fix from discussion on the + austin-group-l list + +builtins/mkbuiltins.c + - change builtins.c file generation so short doc strings are marked for + gettext and available for subsequent translation. Suggestion by + Benno Schulenberg <bensberg@justemail.net> + +builtins/{bind,cd,hash,inlib,printf,pushd,test,times,ulimit}.def +lib/malloc/malloc.c +{shell,subst}.c + - fix a few strings that were not marked as translatable. Fix from + Benno Schulenberg <bensberg@justemail.net> + +lib/readline/misc.c + - new function, _rl_revert_all_lines(void). Goes through history, + reverting all entries to their initial state by undoing any undo + lists. + +lib/readline/rlprivate.h + - extern declaration for _rl_revert_all_lines + +rldefs.h + - add #undef HAVE_STRCOLL if STRCOLL_BROKEN is defined, prep to move + from config.h.in. Problem reported by Valerly Ushakov + <uwe@ptc.spbu.ru> + + 11/25 + ----- +lib/readline/readline.c + - call _rl_revert_all_lines from readline_internal_teardown if the + variable _rl_revert_all_at_newline is non-zero + - declare _rl_revert_all_lines initially 0 + + 11/27 + ----- +doc/{bash.1,bashref.texi} + - make sure to be explicit that `typeset +r' cannot remove the readonly + attribute from a variable + + 11/28 + ----- +lib/sh/zmapfd.c + - new file, implements zmapfd(), which takes a file and returns its + contents in a string + +externs.h + - extern declaration for zmapfd + + 11/29 + ----- +builtins/evalfile.c + - in _evalfile, use zmapfd to read the contents of the file into a + string, rather than using the size reported by stat and reading that + many characters, if the file is not a regular file (for things like + named pipes, stat reports the size as 0) + + 12/3 + ---- +lib/sh/snprintf.c + - make sure number() sets the FL_UNSIGNED flag for %x and %X, so + fmtulong treats them as unsigned numbers. Fixes bug reported by + James Botte <James.M.Botte@lowes.com> + + 12/13 + ----- +lib/readline/util.c + - new function, _rl_ttymsg, for internal warning messages -- does + redisplay after printing message + - new function, _rl_errmsg, for internal warning/error messages -- + does not do redisplay after printing message + +lib/readline/rlprivate.h + - new extern declaration for _rl_ttymsg, _rl_errmsg + +lib/readline/{bind,callback,complete,display,rltty}.c + - use _rl_ttymsg/_rl_errmsg instead of direct writes to stderr + +lib/sh/tmpfile.c + - in get_tmpdir(), make sure that $TMPDIR names a writable directory; + otherwise skip it. This catches names longer than PATH_MAX, but in + case it doesn't test that the length does not exceed PATH_MAX. Fixes + heap overrun bug reported by Eric Blake <ebb9@byu.net> + + 12/16 + ----- +builtin/{set,declare,shopt,trap,wait,bind,complete,enable,fc,history,read,setattr}.def +doc/{bash.1,bashref.texi} + - improvements and clarifications to the help text associated with + several builtins, in some cases bringing them into line with the + man page text. From Benno Schulenberg <bensberg@justemail.net> + +doc/{bash.1,bashref.texi} + - add `E' and `T' to the synopsis of the set builtin. + From Benno Schulenberg <bensberg@justemail.net> + +builtins/{break,exit,fg_bg,hash,jobs,type,ulimit}.def +builtins/{common,evalfile}.c +{error,expr,jobs,mksyntax,nojobs,shell,subst,version,siglist}.c + - add gettextizing marks to untranslated strings + From Benno Schulenberg <bensberg@justemail.net> + + 12/19 + ----- +builtins/common.c + - change display_signal_list (used by `trap -l' and `kill -l') to use + five columns instead of 4 to display signal names + +builtins/help.def + - use the true terminal width instead of assuming 80 when displaying + help topics, leaving two characters of whitespace between horizontal + descriptions instead of 1 + - change to print in columns with entries sorted down rather than across + (that is, like `ls' rather than `ls -x'). Change inspired by Benno + Schulenberg <bensberg@justemail.net> + +jobs.h + - give values to the JOB_STATE enumerations so they can be used as + bitmasks, too + + 12/22 + ----- +doc/{bash.1,bashref.texi} + - change description of `set' to make it clearer that you can use + `+' to turn off options + - clarify in the description of word splitting that sequences of + IFS whitespace at the beginning or end of the string are ignored + + 12/26 + ----- +doc/bashref.texi + - move `shopt' builtin to its own section; change internal references + from `Bash Builtins' to the new shopt builtin + - new section for builtins that modify shell behavior in `Shell + Builtin Commands'; move set and shopt to new section. Changes + inspired by Benno Schulenberg <bensberg@justemail.net> + +{redir,subst}.c + - add MT_USETMPDIR flag to calls to sh_mktmpfd and sh_mktmpname. Bug + reported by Eric Blake <ebb9@byu.net> + +{configure,Makefile}.in + - changes so that the pathname for DEBUGGER_START_FILE is substituted + into pathnames.h at make time (allowing more flexibility in setting + `prefix' or `datadir') instead of at configure time. Suggested by + Nick Brown <nickbroon@blueyonder.co.uk> + +shell.c + - declaration for have_devfd; initialized from HAVE_DEV_FD + - declaration for check_jobs_at_exit; initialized to 0 + - declaration for autocd; initialized to 0 + +variables.c + - new dynamic variable, BASHPID, always set from return value from + getpid() (changes even when $$ doesn't change). Idea from Bruce + Korb <bruce.corb@3pardata.com> + +builtins/exit.def + - if check_jobs_at_exit is non-zero, list jobs if there are any stopped + or running background jobs; don't exit shell if any running jobs + +execute_cmd.c + - in execute_simple_command, if the first word of a simple command is + a directory name (after looking for builtins, so `.' isn't caught) + that isn't found in $PATH, and `autocd' is non-zero, prefix a "cd" + to the command words + +builtins/shopt.def + - new `checkjobs' option, changes value of check_jobs_at_exit + - new `autocd' option, changes value of autocd + +pcomplete.c + - add COMP_TYPE, set to rl_completion_type, to list of variables set + by bind_compfunc_variables and unset by unbind_compfunc_variables + +doc/{bash.1,bashref.texi} + - document BASHPID + - document new shopt `checkjobs' option + - document new shopt `autocd' option + - document COMP_TYPE completion variable + + 12/29 + ----- +aclocal.m4 + - in BASH_SYS_SIGLIST, check HAVE_DECL_SYS_SIGLIST instead of the + obsolete and no-longer-supported SYS_SIGLIST_DECLARED + + 12/30 + ----- +lib/readline/vi_mode.c + - add ` (backquote) to the list of vi motion characters + - in rl_vi_delete_to, rl_vi_change_to, and rl_vi_yank_to, don't delete + character under the cursor if the motion command moves the cursor + backward, so add F and T to the commands that don't cause the + mark to be adjusted + - add ` to the characters that don't cause the mark to be adjusted + when used as a motion command, since it's defined to behave that way + - when a motion character that may adjust the mark moves point + backward, don't adjust the mark so the character under the cursor + isn't deleted + +lib/readline/complete.c + - add variable rl_sort_completion_matches; allows application to + inhibit match list sorting + - add variable rl_completion_invoking_key; allows applications to + discover the key that invoked rl_complete or rl_menu_complete + +lib/readline/readline.h + - extern declarations for rl_completion_invoking_key and + rl_sort_completion_matches + +lib/readline/doc/rltech.texi + - documented rl_completion_invoking_key and rl_sort_completion_matches + +pcomplete.c + - export variable COMP_KEY to completion functions; initialized from + rl_completion_invoking_key; unset along with rest of completion + variables + +doc/{bash.1,bashref.texi},lib/readline/doc/rluser.texi + - document COMP_KEY + +[many files] + - changes to make variables and function parameters `const' for better + text sharing. Changes originally from Andreas Mohr + <andi@rhlx01.fht-esslingen.de> + + 1/4/2007 + -------- +lib/intl/Makefile.in + - use cmp before copying libgnuintl.h to libintl.h -- maybe save a few + rebuilds + +lib/builtins/Makefile + - fixes to build LIBINTL_H if necessary, dependency on this for + mkbuiltins.o prevented `make -j 6' from working correctly + + 1/8 + --- +subst.c + - new function, fifos_pending(), returns the count of FIFOs in + fifo_list (process substitution) + +subst.h + - extern declaration for fifos_pending() + +execute_cmd.c + - in execute_simple_command, if CMD_NO_FORK is set before we call + execute_disk_command, make sure there are no FIFOs in the expanded + words (from process substitution) and turn off CMD_NO_FORK if there + are, so they can get unlinked when the command finishes + + 1/10 + ---- +subst.c + - read_comsub now takes a flags parameter and returns appropriate W_* + flags in it + - command_substitute now returns a WORD_DESC *, with the string it used + to return as the `word' and `flags' filled in appropriately + +subst.h + - changed extern declaration for command_substitute + +{pcomplete,subst}.c + - changed callers of command_substitute appropriately + +subst.c + - string_extract_verbatim now takes an additional int flags argument; + changed callers + + 1/11 + ---- +support/texi2html + - fix problem that caused index links to not be generated if the first + index node had a name different than the node name + +doc/bashref.texi + - encapsulated all indexes into a single `Indexes' appendix; works + around bug fixed in texi2html + + 1/12 + ---- +subst.c + - add call to sv_histtimefmt in initialize_variables so HISTTIMEFORMAT + from the environment is honored. Fix from Ark Submedes (heh) + <archimerged@gmail.com> + +lib/readline/histfile.c + - make sure that the first character following the history comment + character at the beginning of a line is a digit before interpreting + it as a timestamp for the previous line + +doc/{bash.1,bashref.texi},lib/readline/doc/hsuser.texi + - added detail to make it clear exactly how history timestamps are + saved to and read from the history file + +subst.c + - change quote_escapes to add CTLESC before spaces if IFS is null, + just in case we have to split on literal spaces later on (e.g., in + case of unquoted $@). Corresponding changes to dequote_escapes. + Fixes a couple of problems reported by Brett Stahlman + <brettstahlman@comcast.net> + + 1/14 + ---- +subst.c + - make same change to read_comsub to add CTLESC before ' ' if $IFS is + null, since we will split on literal spaces later + + 1/15 + ---- +array.c + - new function, array_quote_escapes (ARRAY *a), calls quote_escapes + on each element of the array in the same way array_quote calls + quote_string + - call array_quote_escapes if match is not quoted in array_patsub + - array_slice is now used, so remove the #ifdef INCLUDE_UNUSED define + - change structure of array_subrange to call array_slice to create a + new array with the desired subset of elements, then call array_quote + or array_quote_escapes as necessary, like array_patsub. Convert to + a string by calling array_to_string on the sliced-out array + +array.h + - new extern declaration for array_quote_escapes + +subst.c + - since array_patsub now calls quote_escapes as necessary, callers + don't need to call it after array_patsub returns. Fixes first bug + reported by Brett Stahlman <brettstahlman@comcast.net> + - since array_subrange now calls quote_escapes as necessary, callers + don't need to call it after array_patsub returns. Same fix as + for array_patsub + + 1/31 + ---- +configure.in + - add -DSOLARIS to LOCAL_CFLAGS for solaris x + +config-bot.h + - don't #undef HAVE_GETCWD if GETCWD_BROKEN and SOLARIS are both + defined. Solaris's loopback mount implementation breaks some of the + file system assumptions the replacement getcwd uses. + +builtins/common.c + - if GETCWD_BROKEN is defined, call getcwd with PATH_MAX for the size + argument, so it will allocate a buffer for the current working dir + with that size, instead of one that's `big enough' + +config.h.in + - add #undef PRI_MACROS_BROKEN for AIX 4.3.3 + +pathexp.h + - new flag value for quote_string_for_globbing: QGLOB_REGEXP (quoting + an ERE for matching as a string) + +pathexp.c + - change quote_string_for_globbing to understand QGLOB_REGEXP + +execute_cmd.c + - change execute_cond_node to pass 2 (regexp match), 1 (shell pattern + match), or 0 (no matching) to cond_expand_word + +subst.c + - change cond_expand_word to translate SPECIAL==2 into passing + QGLOB_REGEXP to quote_string_for_globbing + +locale.c + - by default, if all else fails, set shell's idea of locale to "" + instead of its idea of `default_locale' -- the library functions + behave better with that value + + 2/2 + --- +builtins/printf.def + - if PRI_MACROS_BROKEN is defined, #undef PRIdMAX (AIX 4.3.3 broken) + + 2/3 + --- +Makefile.in,{builtins,doc}/Makefile.in,lib/*/Makefile.in + - add assignment for datarootdir as per GNU coding standards + +Makefile.in,builtins/Makefile.in,lib/intl/Makefile.in,po/Makefile.in.in + - use @localedir@ instead of $(datadir)/locale in assignment + + 2/13 + ---- +jobs.c + - fix compact_jobs_list to not return js.j_lastj, since that is in use + and should not be overwritten. Fix from Len Lattanzi + <llattanzi@apple.com> + + 2/16 + ---- +lib/readline/text.c + - change rl_forward_char to allow moving to the end of the line when + using the arrow keys in vi insertion mode, rather than having the + behavior identical between vi command and insertion modes. Change + suggested by Hugh Sasse <hgs@dmu.ac.uk> + + 2/19 + ---- +CWRU/audit-patch + - patch from Steve Grubb of RedHat <sgrubb@redhat.com> to make bash + audit root's behavior by logging commands using his audit + framework. Enabled if the shell's name is `aubash'. + + 3/8 + --- +jobs.c + - use WSTATUS (p->status) instead of bare p->status. Fix from + Jim Brown <jim.brown@rsmas.miami.edu> + + 3/9 + --- +lib/readline/{complete,input,isearch,misc,readline,text,vi_mode}.c + - make sure cases where rl_read_key returns -1 (usually due to EIO + because the controlling tty has gone away) are handled correctly. + Prompted by report from Thomas Loeber <ifp@loeber1.de> + + 3/10 + ---- +sig.c + - new function, top_level_cleanup, callable from contexts where some + cleanup needs to be performed before a non-fatal call to + jump_to_top_level + +sig.h + - new extern declaration for top_level_cleanup + +builtins/common.c + - add calls to top_level_cleanup before calls to jump_to_top_level + in a builtin command context (no_args(), get_numeric_arg()). Fixes + bug reported by Ian Watson + +lib/readline/display.c + - in _rl_move_cursor_relative, use `new' when comparing against + the last invisible character in the prompt, since they both denote + buffer indices when in a multibyte locale, whereas `dpos' is a + display position + + 3/13 + ---- +lib/readline/complete.c + - set rl_completion_append_character to the default (' ') in + set_completion_defaults(). Fixes bug reported by David Emerson + <demerson3x@angelbase.com> + + 3/23 + ---- +builtins/evalfile.c + - make sure read() returns a value >= 0 before using it as an index + into string[] + - use a variable of type `ssize_t' for return value from read() + - only try to read the entire contents of a regular file in one shot + if the file size is less than SSIZE_MAX. These fix problems + reported by hooanon05@yahoo.co.jp. + +include/typemax.h + - define SSIZE_MAX as 32767 if it's not defined + +lib/readline/display.c + - in rl_redisplay() and update_line(), if redrawing the prompt because + it contains invisible characters, make sure we redraw the character + indicating a modified history line and take it into account when + computing _rl_last_c_pos + - in update_line, if deleting characters and redrawing the new text, + make sure we adjust _rl_last_c_pos by wrap_offset in a multibyte + locale if the text we're drawing starts before or at the last + invisible character in the prompt string. Fixes bug reported on + bug-readline by J Pelkey <pelkeyj@gmail.com> + +parse.y + - when adding at CTLESC character to the current token, do not + escape it with CTLESC if pass_next_character indicates that the + CTLESC was escaped by a backslash. Fixes bug reported by + Paul Bagshaw <paul.bagshaw@orange-ftgroup.com>. + + 3/25 + ---- +lib/readline/text.c + - in rl_forward_char, short-circuit the loop if in emacs mode and + rl_point == rl_end. Fixes problem with multibyte locales + reported by Len Lattanzi <llattanzi@apple.com> + + 3/29 + ---- +command.h + - new flag for subshell_environment: SUBSHELL_PROCSUB, for process + substitution + +subst.c + - add SUBSHELL_PROCSUB to subshell_environment in process_substitute + + 3/30 + ---- +doc/Makefile.in + - fix installation of bash.info to understand that it is in the build + directory, not the source directory + +mailcheck.c + - new function, init_mail_dates, calls remember_mail_dates only if + there are no mailboxes in `mailfiles' + - new function, init_mail_file, initializes a FILEINFO, using the + last time mail was checked as the mtime and atime (or the time the + shell was started if last_time_mail_checked is uninitialized) + - call init_mail_file instead of update_mail_file in add_mail_file, + called from remember_mail_dates (which is supposed to initialize + the list of mail files) + - new convenience functions, alloc_mail_file and dispose_mail_file to + allocate and free FILEINFO structs + +mailcheck.h + - extern declaration for init_mail_dates + +shell.c + - call init_mail_dates instead of remember_mail_dates + + 4/4 + --- +builtins/read.def + - changes to print $PS2 when a line is continued with a backslash in + an interactive shell. This is as POSIX requires + + 4/5 + --- +subst.c + - make sure quote_escapes is only ever called when the word to be + escaped is not marked as double-quoted -- cleaner, and allows us + to make certain assumptions + + 4/6 + --- +subst.c + - change all EX_* defines to begin with SX_ + - new flag, SX_NOCTLESC, obeyed by string_extract_verbatim, tells it + to not obey CTLESC quoting + - change quote_escapes to not quote CTLESC with CTLESC if one of the + chars in $IFS is CTLESC, since the return value from quote_string + will be passed to word splitting and filename generation + - change read_comsub to do the same thing for unquoted command + substitutions + - change list_string to pass SX_NOCTLESC if CTLESC is one of the + chars in $IFS, so it will split on CTLESC instead of using it as a + quote character + + 4/7 + --- +subst.c + - slight change to string_extract_verbatim to allow CTLESC to quote + CTLNUL even if SX_NOCTLESC is set in the flags passed, to protect + the CTLNULs from future calls to remove_quoted_nulls. Only + matters when $IFS contains CTLESC + - changes to cope with $IFS containing CTLNUL in the same way as the + CTLESC changes + +builtins/read.def + - changes to cope with $IFS containing CTLNUL in the same way as the + CTLESC changes + + 4/16 + ---- +lib/sh/strftime.c + - a couple of fixes to the `%z' code + +eval.c + - add an fflush after printing the auto-logout message + + 4/24 + ---- +subst.c + - add call to top_level_cleanup in exp_jump_to_top_level to get things + like unwind-protects and the loop levels cleaned up + +{arrayfunc,expr,variables}.c + - add calls to top_level_cleanup before jump_to_top_level() + + 4/27 + ---- +builtins/complete.def + - make sure the `command' argument to the -C option is printed with + single quotes, since multi-word commands will require them. Bug + reported by martin@snowplow.org + +execute_cmd.c + - change execute_builtin_or_function and execute_subshell_builtin_or_function + to call fflush(stdout) after the builtin or function returns, to + make sure that all output is flushed before the call returns. It + matters on cygwin. Fix suggested by Eric Blake <ebb9@byu.net> + +redir.c + - in do_redirection_internal, if the file descriptor being acted upon + is the same one used by the stdout stream, call fflush(stdout) to + make sure all output is flushed before changing the underlying fd + out from underneath stdio. Fix suggested by Eric Blake <ebb9@byu.net> + + + 4/30 + ---- + +builtins/common.c + - new function, sh_chkwrite(int), fflushes stdout and checks for error; + printing an error message and returning a new exit status if there's + an error on stdout. Takes exit status as argument; returns new exit + status (EXECUTION_FAILURE if write error) + +builtins/common.h + - new extern declaration for sh_chkwrite + +builtins/{alias,cd,complete,echo,fc,history,pushd,shopt,times,trap,type,ulimit,umask}.def + - change to use sh_chkwrite to report write errors + +builtins/fc.def + - if an error occurs while writing commands from the history to a file + to be executed, report a write error and return failure without + attempting to execute any commands + + 5/1 + --- +builtins/{bind,declare,set,setattr}.def + - change to use sh_chkwrite to report write errors + + 5/2 + --- +lib/readline/input.c + - fix off-by-one errors in _rl_get_char (pop_index) and rl_stuff_char + (push_index) that caused the 511th character in the buffer to be + discarded. Fixes bug reported by Tom Bjorkholm <tom.bjorkholm@ericsson.com> + + 5/8 + --- +subst.c + - fix parameter_brace_remove_pattern to pass getpattern() newly-allocated + memory. If word expansions (particularly brace expansions) are + required, the expansion code will free the string passed to + expand_word_internal, and we don't want to free unallocated memory + (patstr++) or have duplicate frees (patstr). Fixes bug reported on + Red Hat bugzilla + + 5/9 + --- +lib/readline/signals.c + - fix bug in rl_set_signals that caught SIGINT twice and didn't catch + SIGTERM. Bug reported by Ed Kwan <ed.kwan@onstor.com> + + 5/18 + ---- +jobs.c + - change compact_jobs_list to return 1 if js.j_lastj == 0 and there is + a job in jobs[0]; compact_jobs_list should never return an index + already occupied + - change reset_job_indices to avoid infinite looping when js.j_firstj + == 0 or js.j_firstj == js.j_jobslots upon function entry. Fixes + bug reported by osicka@post.cz + + 5/20 + ---- + +execute_cmd.c + - new variable, executing_builtin, keeps track of number of "levels" + of builtins being executed; incremented by execute_builtin; saved + and restored by execute_simple_command + +subst.c + - new variable, assigning_in_environment, set and unset around calls + to assign_in_env by the expansion code + +variables.c + - use executing_builtin and assigning_in_environment to decide whether + or not to look into temporary_env when calling find_variable_internal. + Fixes problem reported by Kevin Quinn <kevquinn@gentoo.org> + + 5/22 + ---- +redir.c + - change add_undo_redirect to differentiate between file descriptors + greater than SHELL_FD_BASE (currently 10) used internally to save + others and then being the targets of user redirection and fds that + are just the target of user redirections. The former need to have + an `exec undo' redirect added to undo it in case exec throws away + redirections; the latter does not. We use the close-on-exec flag + for this: if it's set, we assume that the file descriptor is being + used internally to save another. Fixes problem reported by Ian + Jackson <ian@davenant.greenend.org.uk> + +shell.c + - new function, init_interactive_script(), does interactive initialization + for a script run with `bash -i script' -- does everything the same + as init_interactive except set `interactive == 1', which causes the + shell to read from the standard input, after calling + init_noninteractive + - call init_interactive_script if a script is run as `bash -i script'. + Fixes problem reported by Joseph Michaud <jmichaud@sgi.com> + + 5/24 + ---- +builtins/printf.def + - change vbadd to only call FASTCOPY if the passed buffer length is + > 1 + - if the `-v' option is supplied and `vbuf' is already non-null from a + previous `printf -v var' call, set vbuf[0]=0 explicitly instead of + relying on vbadd to do it -- vbadd may not be called. + - fix PRETURN macro to set vbuf[0] == 0 if vbuf is not freed. These + should fix problem reported by Elmar Stellnberger <estellnb@yahoo.de> + +lib/readline/display.c + - fix update_line to deal with the case where col_lendiff > 0 (meaning + the new string takes up more screen real estate than the old) but + lendiff < 0 (meaning that it takes fewer bytes to do so). This can + happen when a multibyte prompt string is replaced with a longer one + containing only single-byte characters (e.g., when doing a reverse + i-search). Fixes gentoo bug reported by Peter Volkov + <torre_cremata@mail.ru> + +builtins/read.def + - make sure we only print $PS2 if the standard input is a terminal + - new function, read_mbchar, to read a multibyte character so we + can make sure we read entire multibyte chars when `read -n' is + used, rather than bytes. Only called when -n is supplied. + Fixes problem reported by Stanislav Brabec <sbrabec@suse.cz> + + 5/25 + ---- +externs.h + - new #defines for third argument to named_function_string: + FUNC_MULTILINE (don't suppress newlines) and FUNC_EXTERNAL (convert + to external display form) + +subst.h + - new extern declaration for remove_quoted_escapes + +subst.c + - remove_quoted_escapes is now global + +print_cmd.c + - in named_function_string, if FUNC_EXTERNAL is in the flags argument, + call remove_quoted_escapes to convert from internal to external form. + Fixes bug reported by Bo Andresen <bo.andresen@zlin.dk> + +variables.c,builtins/{declare,setattr,type}.def + - use FUNC_MULTILINE in calls to named_function_string as appropriate + - add FUNC_EXTERNAL to calls to named_function_string as appropriate + + 5/27 + ---- +{make_cmd,variables}.c + - changes to enable the shell to compile when debugger support is + configured out (function_def hash table and access functions). Fixes + bug reported by Horst Wente <horst.wente@acm.org> + +builtins/help.def + - fix bug in `help' two-column printing to avoid referencing + shell_builtins[num_shell_builtins] + +error.c + - in get_name_for_error, use dollar_vars[0] if the name returned from + looking in $BASH_SOURCE[0] is the empty string as well as if it's + null + + 5/31 + ---- +arrayfunc.c + - change array_value_internal to set *RTYPE to 1 if the reference is + array[*] and 2 if the reference is array[@] + +subst.c + - in parameter_brace_expand_word, set the flags returned by the word + desc to include W_HASQUOTEDNULL if array_value returns QUOTED_NULL + for an array reference like x[*] and the word is quoted. Fixes bug + reported by Christophe Martin <schplurtz@free.fr> + + 6/1 + --- +jobs.c + - several changes to preserve errno if tcgetpgrp/tcgetattr/tcsetattr + fail, for subsequent error messages + - change initialize_job_control to turn off job control if the terminal + pgrp == -1 or is not equal to shell_pgrp (with an error message) + - in initialize_job_control, if the shell has been forced interactive + with -i, make sure stderr is hooked to a tty before using it as + the controlling terminal. If it's not, try to open /dev/tty and + assign it to shell_tty. Fixes problems reported by Derek Fawcus + <dfawcus@cisco.com> + + 6/13 + ---- +support/shobj-conf + - changes to support shared object and shared library creation on AIX + 5.x and later versions. From Niklas Edmundsson <nikke@acc.umu.se> + + 6/17 + ---- +builtins/mkbuiltins.c + - new array of builtins, posix_builtins, containing builtins listed + as special to the command search order by POSIX + - add POSIX_BUILTIN to the builtin flags if the builtin name is one + that's special to the posix command search order + +builtins.h + - new define, POSIX_BUILTIN, means that a builtin is special to the + posix command search order + + 6/22 + ---- +lib/readline/display.c + - new macro, WRAP_OFFSET, intended to replace W_OFFSET. Takes prompt + strings longer than one physical line with invisible characters on + the second line into account when calculating the number of + invisible characters on the current screen line + - use WRAP_OFFSET where appropriate (update_line, _rl_move_cursor_relative) + - change update_line to deal with adjusting _rl_last_c_pos in a + multibyte environment when the prompt has invisible chars on the + second line and redisplay has output the invisible characters + - change _rl_move_cursor_relative to adjust _rl_last_c_pos in a + multibyte environment when the prompt has invisible chars on the + second line and the redisplay draws the invisible character. Fixes + redisplay bug reported by Andreas Schwab <schwab@suse.de> + + + 7/11 + ---- + +lib/readline/rltty.c + - enable flush-output code for systems other than AIX 4.1. Problem + reported by Jan Kratochvil <jan.kratochvil@redhat.com> + + 7/12 + ---- +lib/readline/display.c + - set prompt_invis_chars_first_line from the portion of the prompt + following the final newline, instead of from the prefix. Fixes + bug reported on the Ubuntu bug list by dAniel hAhler + <ubuntu@thequod.de> + + 7/13 + ---- +variables.c + - use native __QNX__ and __QNXNTO__ cpp defines instead of qnx and + qnx6, respectively. Patch from Sean Boudreau <seanb@qnx.com> + +lib/sh/getcwd.c + - #undef HAVE_LSTAT on qnx, so it uses stat instead. Patch from + Sean Boudreau <seanb@qnx.com> + + 7/21 + ---- +builtins/common.c + - change sh_invalidnum to be a little smarter about octal and hex + numbers and change the message appropriately. Bug originally + reported on coreutils list by Jürgen Niinre <Jyrgen.Niinre@emt.ee> + + 7/26 + ---- +test.c + - make sure the string passed to test_unop has only a single character + following the `-'. Fixes bug reported by Michael A. Smith + <michael@smith-li.com> + +parse.y + - better input validation: make sure a word looks like a conditional + unary operator (-X) before calling test_unop + + 7/28 + ---- +trap.c + - in trap_handler, if it's called directly from the signal handler + (e.g., SIGINT sighandler, set by set_sigint_handler), but the + trap disposition has been reset to the default between the + assignment and receipt of the signal, check that the signal is + trapped and issue a warning if the shell was compiled with + debugging enabled. Fixes bug reported by Fergus Henderson + <fergus@google.com> + + 8/1 + --- +lib/readline/{util,histexpand}.c + - fixes for small memory leaks from Michael Snyder <msnyder@sonic.net> + + 8/18 + ---- +Makefile.in + - add dependency on builtins/builtext.h to nojobs.o list. Fixes + `make -j 5' issue reported by Chris MacGregor <chris@bouncingdog.com> + +examples/loadables/Makefile.in + - add @LDFLAGS@ to SHOBJ_LDFLAGS assignment -- experimental. Suggested + by Mike Frysinger <vapier@gentoo.org> + +examples/loadables/{basename,cut,dirname,finfo,head,ln,logname,mkdir,pathchk,print,printenv,push,realpath,rmdir,sleep,tee,truefalse,tty,uname,unlink,whoami}.c + - fix up some includes. Fix from Mike Frysinger <vapier@gentoo.org> + + 8/21 + ---- +histexpand.c + - fix another memory leak in history_find_word. Bug report originally + from Michael Snyder <msnyder@sonic.net>; test case suggested by Jim + Blandy <jimb@codesourcery.com> + + 8/26 + ---- +subst.c + - change to do_assignment_internal to make an assignment to a variable + with the `noassign' internal attribute not a variable assignment + error. + - fix do_assignment_internal so assignment to a `noassign' variable + does not cause it to suddenly become visible if it's currently + invisible + + 9/3 + --- +stringlib.c + - change strsub to check whether or not temp is non-null before + trying to null-terminate it. Also make sure temp is allocated + even if the pattern and replacement strings are empty, and set + to a copy of string (like ${foo//}) + Bug report from Timo Lindfors <timo.lindfors@iki.fi> + + 9/10 + ---- +{config.h,Makefile,configure}.in,aclocal.m4 + - new tests for fpurge and __fpurge + +lib/sh/fpurge.c, externs.h + - new file, fpurge(3) implementation with external decl in externs.h + +builtins/common.c + - add call to fpurge(stdout) to sh_chkwrite + +{redir,execute_cmd}.c + - add call to fpurge(stdout) after fflush(stdout) before changing + stdout file descriptor and after a builtin or function executes + + 9/12 + ---- +expr.c + - make sure noeval is set to 0 when a longjmp occurs, since it will + not be reset otherwise, and it can be set to 1 while processing + a {pre,post}-increment or {pre,post}-decrement token + - set noeval to 0 at the beginning of evalexp, since it's never + called recursively + + 9/14 + ---- +config-top.h + - new builder-modifiable define: DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS + Turning it on will cause errors from EPIPE to not be reported by + the normal shell write error message mechanism + +builtins/common.c + - if DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS is defined, don't print an + error message from sh_wrerror if errno == EPIPE. Suggestion from + Petr Sumbera <petr.sumbera@sun.com> + + 9/19 + ---- +{jobs,nojobs}.c,jobs.h + - add code to retry fork() after EAGAIN, with a progressively longer + sleep between attempts, up to FORKSLEEP_MAX (16) seconds. Suggested + by Martin Koeppe <mkoeppe@gmx.de> + + 9/21 + ---- +version.c + - change copyright year to 2007 + + 9/25 + ---- +pathexp.c + - change quote_string_for_globbing to add a backslash in front of a + backslash appearing in the pathname string, since the globbing + code will interpret backslashes as quoting characters internally. + Bug reported by <herbert@gondor.apana.org.au> on the debian list + (443685) + + 10/8 + ---- +lib/readline/display.c + - in update_line, make sure _rl_last_c_pos is > 0 before setting + cpos_adjusted (or we actually moved the cursor to column 0 in + _rl_move_cursor_relative). Fixes redisplay bug with prompt with + only invisible characters reported by dAniel hAhler + <ubuntu@thequod.de> + + 10/10 + ----- +lib/readline/display.c + - in rl_redisplay, when calculating the new physical cursor position + in a multibyte locale (`tx'), do not call rl_backspace if tx ends + up < 0. Rest of fix for bug reported by dAniel hAhler + <ubuntu@thequod.de> + + 10/12 + ----- +lib/sh/getcwd.c + - fix memory overwrite problem that's possible if buf is NULL and + passed size is greater than the pathname length. Reported by + Ian Campbell <ian.campbell@xensource.com> + +builtins/ulimit.def + - change the multiplier for the -c and -f options (`blocks') to 512, + the traditional value (and the one POSIX specifies). Bug reported + by Pete Graner <pgraner@redhat.com> + +braces.c + - pass process substitution through unchanged the same as command + substitution. Prompted by suggestion from Stephane Chazelas + <stephane_chazelas@yahoo.fr> + +lib/readline/input.c + - in rl_unget_char, fix off-by-one error when resetting pop_index if + it's < 0. Bug reported by Uwe Doering <gemini@geminix.org> + +builtins/type.def + - change exit status of `type' to not successful if any of the + requested commands are not found. Reported by Stephane Chazleas + <stephane_chazelas@yahoo.fr> + +pcomplete.c + - change command_line_to_word_list to use rl_completer_word_break_characters + instead of the shell metacharacters to split words, so programmable + completion does the same thing readline does internally. Reported + by Vasily Tarasov <vtaras@sw.ru> + + 10/16 + ----- +bashline.c + - When completing a command name beginning with a tilde and containing + escaped specical characters, dequote the filename before prefixing + it to the matches, so the escapes are not quoted again. Reported + by neil@s-z.org + + 10/17 + ----- +expr.c + - in readtok(), don't reset lasttp if we've consumed the whitespace + at the end of the expression string. Fixes error message problem + reported by <anmaster@tele2.se> + + 11/1 + ---- +builtins/printf.def + - change asciicode() to return intmax_t; add multibyte character + support instead of assuming ASCII (depending on behavior of system + multibyte support functions). Fixes bug reported by Rich + Felker <dalias@aerifal.cx> + + 11/5 + ---- +execute_cmd.c + - if redirections attached to a compound command fail, make sure to + set last_command_exit_value when returning EXECUTION_FAILURE. + Fixes bug reported separately by Andreas Schwab <schwab@suse.de> + and Paul Eggert <eggert@cs.ucla.edu> + + 11/9 + ---- +builtins/read.def + - make sure the return value from get_word_from_string is freed if + non-null. Fixes memory leak bug reported by Lars Ellenberg + <lars.ellenberg@linbit.com> + + 11/10 + ----- +variables.c + - use getpid() as value of seeded_subshell to avoid problems with + random number generator not getting re-seeded correctly when + subshells are created. Fix from Tomas Janousek <tjanouse@redhat.com> + +lib/readline/display.c + - in update_line(), when outputting characters at the end of the line, + e.g., when displaying the prompt string, adjust _rl_last_c_pos by + wrap_offset if the text we're drawing begins before the last + invisible character in the line. Similar to fix from 5/24. Fixes + bug reported by Miroslav Lichvar <mlichvar@redhat.com> + + 11/14 + ----- +subst.c + - fix $[ expansion case to deal with extract_arithmetic_subst + returning NULL (if the `]' is missing) and return the construct + unchanged in that case. Fixes tab completion bug reported by + Heikki Hokkanen <hoxu@users.sf.net> (debian bug 451263) + +lib/readline/mbutil.c + - fix _rl_find_next_mbchar_internal to deal with invalid multibyte + character sequences when finding non-zero-length chars. Fixes + bug reported by Morita Sho <morita-pub-en-debian@inz.sakura.ne.jp> + + 11/15 + ----- +variables.c + - add new function `seedrand' to seed the bash random number + generator from more random data. Suggestion from Steve Grubb + <sgrubb@redhat.com> + - replace the rng in brand() with a slightly better one from FreeBSD + (filtered through Mac OS X 10.5). Replacement suggested by + Steve Grubb <sgrubb@redhat.com> + + 11/21 + ----- +configure.in + - darwin 9 also requires linking against libreadline.a and + libhistory.a because of Apple's questionable decision to ship a + libreadline "replacement" that doesn't provide all functions + +doc/{bash.1,bashref.texi} + - slight change to the text describing the effect of set -e when + in a || or && list + + 12/5 + ---- +jobs.c + - fix raw_job_exit_status to correct mixing of int/WAIT values (need + to return a WAIT) + - arrange so that children run as part of command substitutions also + set the SIGINT handler to wait_sigint_handler, since they effectively + don't do job control + - in wait_for, if a child run as part of a command substitution exits + due to SIGINT, resend the SIGINT to the waiting shell with kill(2). + This makes sure the exit status propagates + +doc/{bash.1,bashref.texi} + - tighten up the language describing when bash tries to see if its + stdin is a socket, so it can run the startup files. Suggested by + Vincent Lefevre <vincent@vinc17.org> + +eval.c + - in the DISCARD case of a longjmp to top_level, make sure + last_command_exit_value is set to EXECUTION_FAILURE if it's 0, + but leave existing non-zero values alone + +subst.c + - in command_substitute, don't reset pipeline_pgrp in the child + process -- this means that second and subsequent children spawned by + this comsub shell get put into the wrong process group, not the + shell's. Fix for bug reported by Ingo Molnar <mingo@elte.hu> + + 12/6 + ---- +support/shobj-conf + - make sure the cases for darwin8.x (Mac OS X 10.4.x) are extended to + darwin9.x (Mac OS X 10.5.x). Fixes problem originally reported + against readline-5.2 by schneecrash@gmail.com + + 12/8 + ---- +subst.c + - make sure to add the results of (successful) tilde expansion as a + quoted string, to inhibit pathname expansion and word splitting. + From recent Austin Group interpretation. + +include/shtty.h, lib/sh/shtty.c + - add ttfd_onechar, ttfd_noecho, ttfd_eightbit, ttfd_nocanon, and + ttfd_cbreak to set tty attributes associated with a particular + file descriptor (which is presumed to point to a terminal). Support + for fix for bug reported by b_bashbug@thebellsplace.com + +lib/readline/display.c + - make sure we only use rl_invis_chars_first_line when the number of + physical characters exceeds the screen width, since that's the + only time expand_prompt sets it to a valid value + + 12/12 + ----- +builtins/set.def + - change set_minus_o_option to return EX_USAGE if an invalid option + name is supplied. All callers can handle it. + - change set_builtin to return what set_minus_o_option returns if it's + not EXECUTION_SUCCESS. This allows EX_USAGE errors to abort a + shell running in posix mode + + 12/14 + ----- +builtins/read.def + - generalize the calls to the tty attribute functions to maintain a + local copy of the terminal attributes and use the fd supplied as + the argument to the -u option (default 0). Fix for bug reported + by b_bashbug@thebellsplace.com + +doc/bashref.texi, lib/readline/doc/{history,rlman,rluser,rluserman}.texi + - Slight changes to conform to the latest FSF documentation standards. + Patch from Karl Berry <karl@freefriends.org> + + 12/20 + ----- +execute_cmd.c + - after calling clear_unwind_protect_list, make sure we reset + parse_and_execute_level to 0, since there's nothing left to + restore it if top_level_cleanup tests it. Fixes bug reported + by Len Lattanzi <llattanzi@apple.com> + + 12/31 + ----- +lib/sh/getcwd.c + - new function, _path_checkino, checks whether the inode corresponding + to the path constructed from the first two arguments is the same as + the inode number passed as the third argument + - if BROKEN_DIRENT_D_INO is defined, meaning the d_ino/d_fileno + member of struct dirent doesn't contain valid values, use + _path_checkino instead of directly comparing against d_fileno. + Fixes Interix problem reported by Michael Haubenwallner + <haubi@gentoo.org> + + 1/7/2008 + -------- +array.c + - fix array_subrange to separate elements in returned string with + first char of $IFS if QUOTED is non-zero, since this indicates + the caller used ${array[@]:foo}. Fixes bug reported by Lea + Wiemann <lewiemann@gmail.com> + + 1/8 + --- +subst.c + - new function returning a string containing the first character of + $IFS: char *ifs_firstchar(int *) + +subst.h + - extern declaration for ifs_firstchar() + +array.c + - call ifs_firstchar() to get first character of $IFS when needed + (array_subrange() and array_patsub()) + + 1/11 + ---- +lib/readline/display.c + - use sentinel variable set at end of init_line_structures to decide + whether to call it from rl_redisplay, since early SIGWINCH on + Mac OS X that hits during this function can cause _rl_wrapped_line + to be referenced before initialization. Fix for bug reported by + Len Lattanzi <llattanzi@apple.com> + +subst.[ch] + - skip_to_delim is now compiled into the shell all the time, not just + when readline is linked in + +subst.c + - use skip_to_delim to find the `/' denoting the end of a pattern + in pattern substitution, since it knows more shell syntax than + quoted_strchr and understands multibyte characters. Fixes bug + reported by Dmitry V Golovashkin <Dmitry.Golovashkin@sas.com> + + 1/15 + ---- +subst.c + - add `flags' argument to skip_to_delim telling it whether or not to + set no_longjmp_on_fatal_error; set this flag when calling from the + readline completion code + +subst.h + - update extern declaration for skip_to_delim + + 1/17 + ---- +subst.c + - expand_prompt_string takes a third argument: the initial flags for + the WORD + +subst.h + - change extern declaration for expand_prompt_string to add third arg + +bashline.c + - pass W_NOCOMSUB as third argment to expand_prompt_string when + calling from bash_directory_completion_hook, since we don't want + to do command substitution from the completion code + +parse.y + - change call to expand_prompt_string + + 1/18 + ---- +doc/Makefile.in + - added an `install_builtins' rule to install the builtins.1 man page, + preprocessing it with sed to force `.so man1/bash.1', which some + versions of man require. Suggestion from Peter Breitenlohner + <peb@mppmu.mpg.de> + - new target `install_everything' that will install normal documentation + and builtins man page + - changed uninstall target to remove bash_builtins page from man + directory + +lib/readline/vi_mode.c + - new function, rl_vi_insert_mode, which calls rl_vi_start_inserting + to make sure the value of `last command to repeat' is set correctly. + Fix from Thomas Janousek <tjanouse@redhat.com> + - add support for redoing inserts made with the `I' command. Fix + from Thomas Janousek <tjanouse@redhat.com> + - add support for redoing inserts made with the `A' command + +lib/readline/readline.h + - new extern declaration for rl_vi_insert_mode + +lib/readline/{misc,readline,vi_mode,vi_keymap}.c + - change calls to rl_vi_insertion_mode to rl_vi_insert_mode + + 1/19 + ---- +builtins/read.def + - change timeout behavior when not reading from a tty device to save + any partial input in the variable list, but still return failure. + This also causes variables specified as arguments to read to be + set to null when there is no input available. Fix inspired by + Brian Craft <bcboy@thecraftstudio.com> + + 1/21 + ---- +builtins/fc.def + - change computation of last_hist to use remember_on_history instead + of a hard-coded `1'. This keeps fc -l -1 in PROMPT_COMMAND from + looking too far back + + 1/25 + ---- +lib/readline/complete.c + - fix fnwidth to use string[pos] instead of *string when testing the + current character for a control character or rubout + + 2/2 + --- +general.c + - change posix_initialize to turn off source/. searching $PWD when + the file sourced is not found in $PATH. Fixes bug reported by + Paolo Bonzini <bonzini@gnu.org> and Eric Blake <ebb9@byu.net> + + 2/9 + --- +builtins/*.def + - changes to text and formatting suggested by Jan Schampera + <jan.schampera@web.de> + + 2/16 + ---- +bashline.c + - change command_word_completion_function to use the word completion + found by readline, which matters only when ignoring case is on + and the completion found in the file system differs in case from + the text the user typed (this is what readline does for normal + filename completion). Fixes issue reported by Jian Wang + <jwang@a10networks.com.cn>. + + 2/18 + ---- +builtins/source.def + - if the filename passed as an argument contains a `/', don't search + $PATH. Not sure why it wasn't like this before + + 2/21 + ---- +lib/readline/terminal.c + - change rl_crlf so that the MINT system on ATARI systems adds a + carriage return before the \n + + 2/22 + ---- +doc/{bash.1,bashref.texi} + - added text to the EXIT STATUS section noting that exit statuses + fall between 0 and 255, inclusive + +support/mkversion.sh + - output a #define for DEFAULT_COMPAT_LEVEL (${major}${minor}; e.g. 32) + to version.h + +version.c + - int variable, shell_compatibility_level, set to DEFAULT_COMPAT_LEVEL + by default + +builtins/shopt.def + - new shopt variable, compat31, sets shell_compatibility_level to 31 + (or back to default if unset) + +execute_cmd.c + - in execute_cond_node, restore bash-3.1 behavior of quoted rhs of + regexp matches if shell_compatibility_level == 31 + + 2/28 + ---- +lib/readline/rltty.c + - set readline_echoing_p = 1 if tcgetattr fails and sets errno to + EINVAL, as Linux does when the fd is a pipe. Reported by Mike + Frysinger <vapier@gentoo.org> + + 3/6 + --- +{MANIFEST,Makefile.in},lib/sh/{casemod,uconvert,ufuncs}.c + - new library sources from bash-4.0-devel tree + +lib/sh/spell.c + - moved cdspell() here from builtins/cd.def, renamed dirspell() + +externs.h + - new declarations for extern functions from new library files + - new extern declaration for lib/sh/spell.c:dirspell() + +builtins/cd.def + - call extern library function dirspell(); remove static cdspell() + +builtins/read.def + - when read times out, make sure input_string is null-terminated before + assigning any partial input read to the named variables + + 3/10 + ---- +lib/glob/xmbsrtowcs.c + - cut the number of memory allocations in xdupmbstowcs by not keeping + track of the indices if the caller hasn't asked for it + + 3/17 + ---- +builtins/fc.def + - make sure the adjustment to i in fc_gethnum uses the same formula + fc_builtin uses to calculate last_hist + - make sure that every time fc_gethnum is called, the fc command last + in the history list has not yet been deleted, since fc_gethnum + assumes that it has not. Fix from John Haxby <john.haxby@oracle.com> + +lib/readline/complete.c + - new private library function, _rl_reset_completion_state(), used to + reset any completion state internal to the library when a signal + is received + - call _rl_reset_completion_state() before returning from + rl_complete_internal + +lib/readline/rlprivate.h + - new extern declaration for _rl_reset_completion_state + +lib/readline/signals.c + - call _rl_reset_completion_state from rl_signal_handler on SIGINT. + This fixes one of the problems identified by Mika Fischer + <mf+ubuntu@zoopnet.de> + +pcomplete.c + - programmable_completions now saves pointer to the compspec it's + working with in new global variable CURCS + - new function, pcomp_set_readline_variables, that sets or unsets + readline variables based on a passed flags value (COPT_FILENAMES, + etc.) + - new function, pcomp_set_compspec_options, to set or unset bits in + the options word of a passed compspec (default CURCS) + - only call bash_dequote_filename (via rl_filename_dequoting_function) + from pcomp_filename_completion_function if the readline state + word indicates word completion is in progress + +pcomplete.h + - new extern declaration for curcs + - new extern declaration for pcomp_set_readline_variables + - new extern declaration for pcomp_set_compspec_options + +bashline.c + - fix bash_dequote_filename to implement shell quoting conventions: + 1. Inhibit backslash stripping within single quotes + 2. Inhibit backslash stripping within double quotes only if + the following character is one of the special ones + - call pcomp_set_readline_variables from attempt_shell_completion + instead of doing the equivalent inline + + 3/18 + ---- +bracecomp.c + - make sure we sort array of matches in byte order (using strcmp). so + the brace calculations work correctly even when the locale orders + characters like aAbBcC...zZ. Fixes bug reported by Torsten Nahm + <torstennahm@torstennahm.de> + + 3/20 + ---- +lib/readline/{rltty,signals}.c + - move block_sigint and release_sigint from rltty.c to signals.c; add + _rl_ prefix to make them public to the library; change callers. + From Jan Kratochvil <jan.kratochvil@redhat.com> + +lib/readline/rlprivate.h + - new extern declarations for _rl_block_sigint and _rl_release_sigint + +lib/readline/display.c + - add calls to _rl_block_sigint and _rl_release_sigint to rl_redisplay, + since it maniupluates global data structures. Fix from Jan + Kratochvil <jan.kratochvil@redhat.com> + +builtins/printf.def + - change calls to asprintf and manually adding to vbuf to use calls + to vsnprintf against vbuf directly -- if the number of characters + to be written overflows the buffer, realloc the buffer and use + vsnprintf again. This should reduce the memory used by printf. + Idea from Yuya Katayama <yuya999@gmail.com> + +lib/readline/doc/rltech.texi + - documented rest of readline's state flags, including RL_STATE_CALLBACK + - documented rl_save_state and rl_restore_state + + 3/27 + ---- +lib/readline/{rlprivate.h,{display,readline,rltty,terminal,text}.c} + - rename readline_echoing_p to _rl_echoing_p for namespace consistency + +lib/readline/{rlprivate.h,{callback,readline,util}.c} + - rename readline_top_level to _rl_top_level for namespace consistency + +builtins/ulimit.def + - new -b (socket buffer size) and -T (number of threads) options + +array.c + - fix bug in calculation of the array element assignment string length: + use length of `is' instead of `indstr'. Reported as ubuntu bug + #202885 by John McCabe-Dansted + +builtins/setattr.def + - new function, show_all_var_attributes, displays attributes and + values for all shell variables (or shell functions) in a reusable + format + +builtins/common.h + - new extern declaration for show_all_var_attributes + +builtins/declare.def + - change `declare -p' to print out all variable attributes and values, + and `declare -fp' to print out all function attributes and + definitions. Inspired by request from John Love-Jensen + <eljay@adobe.com> + +doc/{bash.1,bashref.texi} + - document new -b and -T options to ulimit + - tighten up language describing AND and OR lists + - add description of new behavior of `declare -p' + + 3/28 + ---- +pcomplete.c + - rename curcs -> pcomp_curcs + - new global completion variable, pcomp_curcmd, the current command + name being completed + +builtins/complete.def + - new builtin, compopt, allows completion options for command names + supplied as arguments or the current completion being executed to + be modified. Suggested by Mika Fischer <mf+ubuntu@zoopnet.de> + + 3/30 + ---- +doc/{bash.1,bashref.texi},lib/readline/doc/rluser.texi + - document new compopt builtin + + 4/5 + --- +support/shobj-conf + - change solaris10 stanza to use -fPIC to fix 64-bit sparc_v9/solaris10 + compilations. Fix from Fabian Groffen <grobian@gentoo.org> + +builtins/read.def + - added `-i text' option, inserts `text' into line if using readline. + Suggested by many, used some ideas from Kevin Pulo <kevin@pulo.com.au> + +doc/{bash.1,bashref.texi} + - document new `-i text' option to read builtin + + 4/7 + --- +lib/readline/bind.c + - new settable variable, `history-size', sets the max number of + entries in the history list + +doc/bash.1,lib/readline/doc/{rluser.texi,readline.3} + - document new `history-size' settable readline variable + + 4/8 + --- +builtins/complete.def + - change build_actions calling sequence to take a struct with `other' + (non-action) flag arguments (-p, -r) + - add support for `-E' option to build_actions and complete builtin -- + modifies or displays (internal) `_EmptycmD_' completion spec + +bashline.c + - change attempt_shell_completion to try programmable completion on an + `empty' command line and return the results + +doc/bash.1,lib/readline/doc/rluser.texi + - documented new `-E' option to `complete' + + 4/9 + --- +bashhist.c + - new variable, `enable_history_list', used to reflect setting of + `-o history' option + - change bash_history_{enable,disable,reinit} to set enable_history_list + as well as remember_on_history + +builtins/set.def + - use `enable_history_list' instead of `remember_on_history' to keep + value of `-o history' option + +builtins/evalstring.c + - instead of unwind-protecting remember_on_history, use a function to + restore it to the value of `enable_history_list' after + parse_and_execute runs the commands in the string. This allows + history to be turned off in a startup file, for instance. Problem + reported by Dan Jacobson <jidanni@jidanni.org> + + 4/11 + ---- +bashline.c + - limited support for completing command words with globbing characters + (only a single match completed on TAB, absolute or relative + pathnames supported, no $PATH searching, some support for displaying + possible matches, can be used with menu completion). + Suggested by Harald Koenig <h.koenig@science-computing.de> + +print_cmd.c + - change redirection printing to output r_err_and_out as `&>file', + since the man page says that's the preferred form + + 4/12 + ---- +builtins/*.def + - change long doc so the first line is a short description + - add `Exit Status:' section to each longdoc describing exit values + +builtins/help.def + - new `-d' option to print short description of each utility + - new `-m' option to print description of each builtin in a + pseudo-manpage format (inspired by ksh93) + +doc/{bash.1,bashref.texi} + - document new `-d' and `-m' options to `help' + +builtins/mapfile.def + - new builtin, `mapfile', imported from bash-4.0-devel branch + +tests/{mapfile.{data,right,tests},run-mapfile} + - tests for `mapfile' builtin + +doc/{bash.1,bashref.texi} + - added description of `mapfile' builtin + +MANIFEST,Makefile.in,builtins/Makefile.in + - added entries for mapfile source files + +arrayfunc.[ch] + - new function, bind_array_element, to support mapfile builtin + + 4/20 + ---- +expr.c + - fix operator precendence in expcond(): term after the `:' is + a conditional-expression, not a logical-OR-expression (using C + terminology). Bug reported by <archimerged@gmail.com> + + 4/22 + ---- +bashintl.h + - new P_ define for using ngettext to decide on plural forms + (currently unused) + + 4/25 + ---- +execute_cmd.c + - in execute_disk_command, if the command is not found, search for + a shell function named `command_not_found_handle' and call it + with the words in the command as arguments. Inspired by Debian + feature. + +doc/{bash.1,bashref.texi} + - document new command_not_found_handle behavior in COMMAND EXECUTION + section + +configure.in + - change default version to bash-4.0-devel + + 4/28 + ---- +variables.c + - change push_func_var and push_exported_var to call + stupidly_hack_special_variables if the temporary variable is going + to be disposed. This undoes any internal changes caused by a local + variable assignment in the environment or in a shell function. Bug + reported by Morita Sho <morita-pub-en-debian@inz.sakura.ne.jp> in + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478096 + + 5/3 + --- +builtins/fc.def + - fixed a problem caused by change of 1/21 to use remember_on_history, + since it's turned off by parse_and_execute(), but can cause the + last command in history to be deleted and leave last_hist pointing + beyond the end of the history list. edit_and_execute_command can + do this. + +bashline.c + - new define, RL_BOOLEAN_VAR_VALUE, to take a readline boolean variable + and get its value as 0 or 1 (consider making readline global) + - put tty back into canonical mode before calling parse_and_execute in + edit_and_execute_command and then back into raw mode after it + returns. Fixes problem identified by <koersen@gmail.com>. + + 5/4 + --- +lib/glob/glob.c + - code to support `globstar' option: GX_GLOBSTAR and two internal + flags. Changes to skipname, glob_vector, mbskipname, glob_filename. + New function finddirs(). + +lib/glob/glob.h + - new defines to support globstar code + +builtins/shopt.def + - new shell option, `globstar', enables special handling of `**' in + glob patterns -- matches all directories recursively + +pathexp.h + - extern declaration for glob_star + +pathexp.c + - break inline code out of quote_globbing_chars into a separate + function to decide whether a character is a globbing char: + glob_char_p + - change shell_glob_filename to call glob_filename with the + GX_GLOBSTAR flag if glob_star is set + +doc/{bash.1,bashref.texi} + - document new `globstar' shell option + +arrayfunc.c + - new function, broken out of quote_array_assignment_chars: + quote_assign; extended from old code to make sure that globbing + chars and chars in $IFS are quoted when displaying assignment + statements, especially in compound array assignments + + 5/5 + --- +bashline.c + - new variable, dircomplete_spelling, controls spelling correction + of directory names when doing filename completion + - change bash_directory_completion_hook to incorporate spelling + correction if initial canonicalization of directory name fails + +builtins/shopt.def + - new shell option, `dirspell', enables and disables spelling + correction of directory names during word completion + +builtins/read.def + - support for fractional timeout values (ival.uval); uses uconvert + and falarm/setitimer + +config.h.in + - new `HAVE_SETITIMER' define + +configure.in + - look for setitimer(2), define HAVE_SETITIMER if found + +doc/{bash.1,bashref.texi} + - document new `dirspell' shopt option + - document new fractional values to `read -t timeout' + + 5/6 + --- +assoc.[ch] + - new files, basic support for associative array implementation + +general.h + - new extern declarations for sh_openpipe, sh_closepipe, trim_pathname + +general.c + - new functions: sh_openpipe to create a pipe and move the file + descriptors to a high range; sh_closepipe, to close pipe fds and + clean up, and trim_pathname, to replace portions of a pathname + with `...' (for prompting) + +jobs.c + - don't set last_asynchronous_pid in child shell (messes up $!, among + other things) + +parse.y,parser.h + - moved definitions of parser flags to parser.h + +array.c + - imported array_modcase (case-changing operations on arrays) from + 4.0-devel branch + +array.h + - new extern declaration for array_modcase + +lib/readline/complete.c + - new variable, rl_menu_completion_entry_function, generator for + rl_menu_complete + - new menu completion `browsing' implementation, with several + improvements over the old code. Inspired by Sami + +lib/readline/readline.h + - extern declaration for rl_menu_completion_entry_function + + 5/8 + --- +lib/readline/complete.c + - add support for a third argument to fnprint and print_filename, + which supports replacing a specified portion of the pathnames + printed when displaying possible completions with a `...' (or + `___', if the prefix would be confused with a portion of the + filename) + - new variable, _rl_completion_prefix_display_length, sets the + number of characters in a common prefix to be replaced with an + ellipsis when displaying possible completions + - add support to _rl_display_match_list to find the length of the + common prefix of all items being displayed, and passing that + value to print_filename for possible replacement with an ellipsis + if that length is longer than _rl_completion_prefix_display_length + +lib/readline/bind.c + - add support for retrieving value of history-size variable to + _rl_get_string_variable_value + - new bindable variable, completion-prefix-display-length. When + displaying possible completions, matches with a common prefix + longer than this value have the common prefix replaced with an + ellipsis + - support for retrieving value of completion-prefix-display-length + variable to _rl_get_string_variable_value + - new bindable variable, revert-all-at-newline: if enabled, causes + all changes in history lines to be undone before readline returns + after processing a newline + +doc/bash.1,lib/readline/doc/{readline.3,rluser.texi} + - document new `completion-prefix-display-length' variable + - document new `revert-all-at-newline' variable + +execute_cmd.c + - change execute_builtin to not inherit the `-e' flag into commands + executed by the `command' or `source/.' builtins if we are supposed + to be ignoring the return value. This is like `eval'. Fixes bug + reported by Hiroshi Fujishima <hirobo@tonteki.org> + + 5/10 + ---- +variables.c + - when reading the initial environment, don't create variables with + names that are not valid shell identifiers. Fixes bug reported by + Stephane Chazleas <stephane_chazelas@yahoo.fr> + + 5/13 + ---- +subst.c + - fix string_quote_removal to gracefully handle the case where a + backslash is the final character in the string (leaves the backslash + in place). Fixes bug reported by Ian Robertson + <iroberts@u.washington.edu> + + 5/16 + ---- +support/checkbashisms + - Perl script that purports to check for bash-specific features in a + shell script. Lifted from Debian via ubuntu + + 5/20 + ---- +lib/readline/display.c + - in update_line, when deciding whether or not to adjust _rl_last_c_pos + in a multibyte environment after printing the last line of a multiline + prompt with invisible characters on the first and last lines, use + the number of inivisible chars on the first line in the calculation + deciding whether or not we're past the last invisible character and + need to adjust the cursor position. Old code used the number of + invisible chars on the last prompt line. Fixes bug reported by + stuff@slinkp.com. + - in update_line, when fixing _rl_last_c_pos after drawing the first + line of the prompt, use the number of invisible chars on the first + line as the offset, instead of the total number of invisible chars + - use prompt_multibyte_characters, the number of multibyte chars in + the prompt string, to short-circuit some relatively expensive + multibyte text processing in rl_redisplay + + 5/21 + ---- +variables.c + - new function, reinit_special_variables(), a hook for special + vars that need their hook functions called when they're unset as + a result of the shell reinitializing itself to run a script + +shell.c + - shell_reinitialize now calls reinit_special_variables + - shell_reinitialize now calls bashline_reset + +variables.h + - new extern declaration for reinit_special_variables + +bashline.c + - new function, bashline_reset(), called when the shell reinitializes + in shell_reinitialize. Right now, just resets + bash_readline_initialized to 0. + +bashline.h + - new extern declaration for bashline_reset() + + 5/23 + ---- +bashhist.c + - new function, bash_clear_history, clears the history and resets any + associated internal bash state + +bashhist.h + - extern declaration for bash_clear_history + +builtins/history.def + - call bash_clear_history instead of clear_history for `history -c'. + Fixes part of problem reported by Scott McDermott + <scott.m.mcdermott@gmail.com> + - decrement history_lines_this_session in delete_histent, called for + `history -d' + +builtins/history.def,bashhist.[ch] + - move delete_histent() to bashhist.c; rename to bash_delete_histent + - move delete_last_history() to bashhist.c; rename to + bash_delete_last_history() + + 5/25 + ---- +braces.c + - add another parameter to mkseq(), the number of digits to put into + each member of a numeric sequence (width), changes to determine + any zero-padding go into expand_seqterm + - changes to expand_seqterm to allow user-specified increments + +bashline.[ch],shell.c,sig.c + - switched names of bashline_reinitialize and bashline_reset to better + reflect their functions + - when searching $PATH for directories to use for command completion, + make sure to free `current_path' before going out of scope + - new bindable function `dabbrev-expand', which is more or less + menu completion using dynamic history completion as the generator + - changes to bash_execute_unix_command to set variables for the + executed command like programmable completion: READLINE_LINE + (rl_line_buffer) and READLINE_POINT (rl_point) + - change to bash_execute_unix_command to allow the executed command + to change the readline line buffer by modifying the value of + READLINE_LINE and to change rl_point by modifying the value of + READLINE_POINT + +common.h + - new SEVAL_ defines for later parse_string changes from 4.0-devel + branch + +command.h + - new defines for new &>> r_append_err_and_out redirection + +builtins/evalstring.c + - new function, parse_string, parses a command from a passed string + and returns the number of characters consumed. For satisfying + Posix rules when parsing command substitutions, from bash-4.0-devel + branch + - split out common prolog code from parse_string and + parse_and_execute into a separate function called from both + +parse.y + - small changes to add symbols needed for parse_string + - parser change to add `|&' as synonym for `2>&1 |'; translation is + performed at parse time so |& never shows up in output of + print_command, for instance. Picked up from zsh, merged in from + bash-4.0-devel branch + +parse.y,{redir,copy_cmd,dispose_cmd,make_cmd,print_cmd}.c + - implement new &>> r_append_err_and_out (like >>foo 2>&1); merged + in from bash-4.0-devel branch + +doc/{bash.1,bashref.texi},lib/readline/doc/rluser.texi + - document new optional increment in brace expansion + - document new zero-padded fixed-width integer brace expansion + - document new `dabbrev-expand' bindable readline command + - document new effects of `bind -x' setting and reading the values of + READLINE_LINE and READLINE_POINT + - document new |& synonym for `2>&1 |' pipeline operator + + 5/26 + ---- +parse.y - recognize new ;& and ;;& case action list terminator tokens and + implement them in the grammar, setting CASEPAT_FALLTHROUGH and + CASEPAT_TESTNEXT flags as appropriate + +print_cmd.c + - print new ;& and ;;& case clause action list terminators as + appropriate + +execute_cmd.c + - implement new case clause action list terminators: + ;& - fall through to actions associated with next pattern list + ;;& - fall through to tests in next pattern list + +doc/{bash.1,bashref.texi} + - document new ;& and ;;& case clause action list terminators + + 5/28 + ---- +jobs.c + - change waitchld so it treats SIGCHLD like SIGINT if `wait' is being + executed, and allows wait to jump out before running any trap set + on SIGCHLD. Fixes debian bug #483016 reported by Miroslav Rudisin + <miero@atrey.karlin.mff.cuni.cz> + - run_sigchld_trap is no longer static, so the trap code in trap.c + can call it + - change run_sigchld_trap to call set_impossible_sigchld_trap instead + of just using a call to restore_default_signal + +jobs.h + - new extern declaration for run_sigchld_trap + +trap.c + - fix run_pending_traps to run a SIGCHLD trap if the trap handler isn't + set to IMPOSSIBLE_TRAP_HANDLER + - in trap_handler, don't reset the SIGCHLD trap handler to trap_handler + if MUST_REINSTALL_SIGHANDLERS is defined + - new function, set_impossible_sigchld_handler, sets the trap string + associated with SIGCHLD to IMPOSSIBLE_TRAP_HANDLER; used as a sentinel + by run_sigchld_trap and maybe_set_sigchld_handler + - change maybe_set_sigchld_handler to set the SIGCHLD trap string only + if the current value is IMPOSSIBLE_TRAP_HANDLER. This ensures that + any traps on SIGCHLD set in a SIGCHLD handler will persist. Fixes + debian bug #483016 reported by Miroslav Rudisin + <miero@atrey.karlin.mff.cuni.cz> + +trap.h + - new extern declaration for set_impossible_sigchld_trap + + 5/31 + ---- +parse.y + - new function: parse_comsub(), parses $(...) by parsing command + between parens and making sure the next token is `)'. From + the bash-4.0-devel branch + - new function: xparse_dolparen, helper function for parsing + command substitutions in $(...). Called from subst.c to extract + a command substitution during word expansion. From bash-4.0-devel + branch + - new function: rewind_input_stream(). Rewinds bash_input.location.string + back to where it was before the shell parsed a $() command + substitution. From bash-4.0-devel branch + - changes to parse_matched_pair to combine most of the flag variables + (was_dollar, in_comment, and so on) into a local flags word + + 6/2 + --- +parse.y + - call trim_pathname, which retains only the last $PROMPT_DIRTRIM + directories and replaces the intervening characters with `...', + when expanding \w and \W + +doc/{bash.1,bashref.texi} + - document the effect of setting PROMPT_DIRTRIM + + 6/3 + --- +builtins/ulimit.def + - make the multiplier (block size) for -c and -f 512 bytes only if in + Posix mode and 1024 bytes otherwise (as in previous versions). Uses + POSIXBLK and BLOCK_SIZE defines to parameterize size based on value + of posixly_correct + +doc/bashref.texi + - document this addition to posix mode + +builtins/common.c + - change get_numeric_arg to have a calling sequence and return value + more closely mimicking general.c:legal_number(), with the addition + of a flags word + - add extra value for `fatal' argument to get_numeric_arg to force it + to return failure to the caller rather than longjmping + +builtins/common.h + - change prototype declaration for get_numeric_arg + +builtins/{break,shift}.def + - change calls to get_numeric_arg to deal with new semantics and calling + sequence + +builtins/history.def + - display_history now returns an int + - change calling sequence for get_numeric_arg in display_history + - display_history now returns failure to the caller if get_numeric_arg + detects an invalid number, rather than jumping back to the top level + - use value returned by display_history as return status of history + builtin, filtered through sh_chkwrite + - history no longer aborts compound commands on invalid arguments. + fixes problem reported by Chu Li <chul@cn.fujitsu.com> + +{braces,subst}.c + - extract_command_subst now takes a third flags argument; passed flags + are ORd into flags passed to other functions; changed callers + +subst.h + - move SX_* defines here from subst.c so parse.y:xparse_dolparen can + see them and behave appropriately + - extract_command_subst now takes a third flags argument; change + prototype + +subst.c + - change extract_command_subst to call xparse_dolparen when extracting + a $() construct + - change calls to extract_delimited_string to extract_command_subst + as appropriate + - if command_substitute returns a NULL word desc, don't call + dispose_word_desc on it + +parse.y + - change xparse_dolparen to use the SX_* flags now in subst.h + + 6/16 + ---- +subst.c + - in quote_list, set W_HASQUOTEDNULL flag in the word if quote_string + turns "" into CTLNUL + - in dequote_list, turn off W_HASQUOTEDNULL flag in the word if + dequote_string turns CTLNUL into "" + - new function, string_list_pos_params, encapsulates everything + needed to turn the positional parameters or an array indexed with + '@' or '*' into a string, including taking care of quoting and + using the first char of $IFS, when used in another expansion like + pattern removal or pattern substitution + - change list_remove_pattern, pos_params, pos_params_pat_subst to + call string_list_pos_params. Fixes problems reported by + Stephane Chazelas <stephane_chazelas@yahoo.fr> + + 6/22 + ---- +variables.h + - include assoc.h for associative arrays + - defines for case-modifying expansions and associative array variables + - sh_var_assign_func_t functions now take an extra char * parameter + + 6/25 + ---- +variables.c + - change declarations and definitions of sh_var_assign_func_t functions + to add the extra char * parameter: null_assign, null_array_assign, + assign_seconds, assign_random, assign_lineno, assign_subshell, + assign_dirstack + - change calls to var->assign_func to add extra char * argument + - broke part of body of dispose_variable out into a new function, + dispose_variable_value, which knows how to free all kinds of shell + variable data + - changes to deal with variables with the internal `nofree' attribute + +arrayfunc.c + - change calls to var->assign_func to add extra char * argument + - bind_array_var_internal now takes an extra `char *key' argument + - additions for associative array implementation; from bash-4.0-devel + tree + +arrayfunc.[ch],subst.c + - expand_compound_array_assignment now takes the variable as the first + argument (SHELL_VAR *); changed function definition and callers + +builtins/set.def + - changes to handle associative arrays in `unset' + +{execute_cmd,command}.h + - definitions for coproc implementation; from bash-4.0-devel tree + +variables.c + - new functions for associative arrays: make_new_assoc_variable, + make_local_assoc_variable + + 6/26 + ---- +variables.c + - more infrastructure for associative arrays; from bash-4.0-devel tree + - infrastructure for handling assignments to variables with + case-modifying attributes; from bash-4.0-devel tree + +config.h.in + - add #defines controlling case-modifying variable attributes and word + expansions + +configure.in + - add enable options for case-modifying variable attributes and word + expansions (--enable-casemod-attributes and --enable-casemod-expansions, + respectively); from bash-4.0-devel tree + +execute_cmd.c + - add code to fix_assignment_words to handle assignment statements to + "assignment builtins" that seem to be associative arrays. Imperfect + +subst.c + - array_remove_pattern now takes a SHELL_VAR * as its first argument + instead of an ARRAY *; from the bash-4.0-devel tree + - changes to array_length_reference for associative arrays; from the + bash-4.0-devel tree + - changes to get_var_and_type for associative arrays; from the + bash-4.0-devel tree + - changes to parameter_brace_substring for associative arrays; from the + bash-4.0-devel tree + - changes to param_expand for associative arrays; from the + bash-4.0-devel tree + +builtins/declare.def + - changes for associative arrays: new `-A' option, changes to make + local and global associative array variables; from the bash-4.0-devel + tree + + 6/27 + ---- +execute_cmd.c + - in execute_command_internal, when short-circuiting execution + because `breaking' or `continuing' is non-zero, preserve the exit + status by returning `last_command_exit_value' instead of an + unconditional EXECUTION_SUCCESS. Fixes bug reported by Roman + Rakus <rrakus@redhat.com> + + 6/28 + ---- +variables.c + - fix get_var_and_type to appropriately handle references like + ${varname[0]}, where `varname' is a scalar variable + +make_cmd.[ch],parse.y + - make_here_document now takes a second argument: the current line + number; changed caller (gather_here_documents) + +builtins/setattr.def + - added support for associative arrays and the `-A' variable attribute + option; from the bash-4.0-devel tree + +subst.c + - change code that transforms `declare -A xxx=(yyy)' to perform the + internal `declare -A xxx' before doing the variable assignment, + because associative arrays have to be declared before being assigned + to as such; uses new function make_internal_declare + + 6/30 + ---- +subst.[ch] + - dequote_escapes is now external; add declaration in subst.h + - remove_quoted_nulls is now external; add declaration in subst.h + +array.[ch] + - new functions for completeness: array_dequote, array_dequote_escapes, + array_remove_quoted_nulls + - array_subrange now calls array_remove_quoted_nulls for "${array[*]}". + Fixes bug reported by Vitor De Araujo <ux386@yahoo.com.br> + - array_patsub now calls array_remove_quoted_nulls for "${array[*]}" + - array_modcase now calls array_remove_quoted_nulls for "${array[*]}" + - array_patsub now handles the mflags&MATCH_QUOTED case appropriately + (that implies "${array[@]}") + +subst.c + - new functions for case-modifying word expansion suppport: + pos_params_casemod, parameter_brace_casemod; from bash-4.0-devel branch + +assoc.c + - new functions for completeness: assoc_remove_quoted_nulls + - assoc_patsub now calls assoc_remove_quoted_nulls for "${assoc[*]}" + - assoc_modcase now calls assoc_remove_quoted_nulls for "${array[*]}" + - assoc_patsub now handles the mflags&MATCH_QUOTED case appropriately + (that implies "${assoc[@]}") + + 7/1 + --- +assoc.[ch] + - new function, assoc_subrange: takes a hash table, converts it to a + word list, and performs the subrange and indexing on that list + - new functions for completeness: assoc_dequote, assoc_dequote_escapes + +subst.c + - verify_substring_values now takes the variable SHELL_VAR * as its + new first argument; changed callers + - change verify_substring_values to handle associative arrays using the + number of elements as the upper bound + - brought in code to do case-modifying word expansions from + bash-4.0-devel branch, conditional on CASEMOD_EXPANSIONS + +input.c + - if the read(2) in getc_with_restart returns -1/EAGAIN, turn off + non-blocking mode on the file descriptor and try again. Fixes + problem reported by Glynn Clements <glynn@clements.plus.com> + + 7/2 + --- +doc/{bash.1,bashref.texi} + - documented new case-modifying word expansions + +make_cmd.c + - change make_here_document to display a warning message including the + start line of a here document if it ends up delimited by EOF. + Addresses issue raised by Richard Neill <rn214@hermes.cam.ac.uk> + +subst.c + - in do_assignment_internal, make sure the `invisible' attribute is + unset before returning success + + 7/3 + --- +config-top.h + - add `CASEMOD_CAPCASE' define to include or exclude the ~[~] word + expansion and the `capcase' variable attribute (declare -c) + +builtins/declare.def + - add support for manipulating the case-modifying attributes (new + declare -clu); from bash-4.0-devel branch + +builtins/setattr.def + - add support for reporting case-modifying attributes (-clu attributes); + from bash-4.0-devel branch + +doc/{bash.1,bashref.texi} + - specify that the read builtin timing out results in a return value + greater than 128 + - document new `-l' and `-u' options to declare/typeset/local. Leave + `-c' undocumented for now + + 7/4 + --- +make_cmd.[ch] + - make_coproc_command: construct a coproc; from bash-4.0-devel tree + +dispose_cmd.c + - dispose coproc command; from bash-4.0-devel tree + +copy_cmd.c + - copy a coproc command; from bash-4.0-devel tree + +print_cmd.c + - print a coproc command; from bash-4.0-devel tree + +shell.c + - dispoe the current coproc on shell exit; from bash-4.0-devel tree + +redir.c + - when closing redirects as part of user redirections, check whether + or not active coprocess fds are being closed and close the coproc + if so; from bash-4.0-devel tree + +config.h.in + - add define for COPROCESS_SUPPORT to include coprocesses + +configure.in + - add support for configuring coprocesses into and out of the build + +jobs.c + - in waitchld, check whether or not a coproc processs has exited; + from the bash-4.0-devel tree + + 7/5 + --- +doc/bashref.texi + - document new --enable-coprocesses option that includes coprocess + support + +execute_cmd.c + - add functions for coprocess support, including execute_coproc and + code to call it when command->type == cm_coproc; from + bash-4.0-devel tree + +lib/sh/fdprintf.c + - new library function fdprintf(int fd, const char *format, ...); + printf to a file descriptor + +{configure,config.h}.in + - support for detecting fdprintf and compiling in replacement + +Makefile.in,lib/sh/Makefile.in + - add rules to include fdprintf.o + +doc/{bash.1,bashref.texi} + - documented coprocesses and `coproc' reserved word + + 7/7 + --- +subst.c + - fix array_length_reference to use MB_STRLEN instead of STRLEN, so + multibyte characters in array values are computed correctly. Fixes + bug reported by Wang Xin <wxinee@gmail.com> + + 7/10 + ---- +jobs.c + - new function, maybe_give_terminal_to (old, new, flags), sets the + terminal pgrp to NEW if and only if it's currently set to OLD + - call maybe_give_terminal_to when the parent sets the terminal pgrp + to the pipeline pgrp in stop_pipeline, so we don't give the + terminal to the new job's pgrp unless it's currently owned by the + shell. Fixes race condition described by Joe Peterson + <joe@skyrush.com>, where parent bash may change tty pgrp after a + grandchild (interactive bash child of su) has changed it to + something else. The call to maybe_give_terminal_to makes explicit + a previously-implicit assumption + +aclocal.m4 + - remove dependency on writable /tmp by creating directories in + build directory + +shell.c + - make changes to how bash sets no_line_editing and running_under_emacs + to deal with various emacs terminal emulators; use better check + for `eterm', since bash sends $PWD to eterm with control sequences + that confuse other programs. Problem reported by Micah Cowan + <micah@cowan.name> + + + 7/12 + ---- +print_cmd.c + - break code that prints here-documents into two functions: + print_heredoc_header, which prints the operator and delimiter, and + print_heredoc_body, which prints the body text and closing delimiter + - change print_redirection to call print_heredoc_{header,body} + - sentinel variable, printing_connection, used when printing a command + of type `connection' (|, &&, ||, etc.) + - change print_redirection_list to save any here documents it finds + while printing a connection and save them in `deferred_heredocs' + - new function, print_deferred_heredocs, called from print_redirection + in the cm_connection case, calls print_heredoc_header for all the + here documents, then prints the operator (|, &&, ||, etc.), then + the here-document body. This preserves syntactic correctness; the + old code printed the control operator after the body of the here + document. Fixes bug reported by <buport@figpost.com> + + 7/16 + ---- +locale.c + - in set_locale_var, print a warning message if setlocale() fails any + time it's called -- required some code restructuring + + 7/19 + ---- +support/shobj-conf + - support for mingw32, contributed by Carlo Bramix + <carlo.bramix@libero.it> + + 7/23 + ---- +execute_cmd.c + - added support (currently unused) to manage a list of coprocs + + 7/25 + ---- +bashline.c + - add extern declarations for literal_history and force_append_history + +builtins/shopt.def + - include "bashhist.h" instead of having extern declarations for the + appropriate history variables + +parser.h + - new parser_state value: PST_HEREDOC, set when reading body of here- + document in parse.y:read_secondary_line + +parse.y + - set PST_HEREDOC bit in parser_state when reading a secondary line + for the body of a here-document + - change read_secondary_line to save lines in the body of a here- + document in the shell history list if remember_on_history is + set. Fixes bug reported by Gene Golub <gene_golub@hotmail.com> + + 8/4 + --- +configure.in + - changed to 4.0-alpha + +lib/readline/readline.h + - changed constants to reflect readline-6.0 version + + 8/11 + ---- +lib/readline/signals.c + - make sure we don't use SIGWINCH without checking whether or not it's + defined. Fix from Pedro Alves <pedro@codesourcery.com> + + 8/12 + ---- + +COPYING + - updated to GPLv3; edits in every file with a copyright or license + declaration to update to gpl3 + +version.c + - update extended version info to latest gnu standard + + 8/17 + ---- +subst.c + - change exp_jump_to_top_level to only call top_level_cleanup if + parse_and_execute_level is 0. If it's not, the longjmp to + parse_and_execute will run the unwind-protect stack. Fixes bug + most recently reported by Roman Rakus <rrakus@redhat.com> + + 8/18 + ---- +support/config.{guess,sub} + - updated to newer versions from autoconf-2.62 distribution + + 8/20 + ---- +subst.c + - fixed parameter_brace_substring to differentiate between indexed and + associative arrays when computing second offset, instead of + assuming indexed array + + 8/21 + ---- +support/xcase.c + - simple program to convert input from lower to uppercase and vice + versa. Now used by coproc test suite, since `tr -u' is not + portable. + + 8/22 + ---- +doc/bash.1 + - fixed description of the bindable edit-and-execute commands to note + they check $VISUAL first, instead of $FCEDIT. Fixed bug reported + by + +[bash-4.0-alpha frozen] + + 8/28 + ---- +[bash-4.0-alpha released] + + 9/1 + --- +builtins/evalstring.c + - fixed typo in parse_string (ostring used uninitialized). Bug + reported by Andreas Schwab <schwab@suse.de> + +subst.c + - fix return value of parameter_brace_expand to set the + W_HASQUOTEDNULL flag in the returned WORD_DESC * if the return value + from parameter_brace_remove_pattern is a quoted null string. Fixes + bug reported by Andreas Schwab <schwab@suse.de> + - set the W_HASQUOTEDNULL flag in the return value from + parameter_brace_expand if the return value from parameter_brace_patsub + is a quoted null string + + 9/6 + --- +builtins/read.def + - change read -t 0 to return success if there is input available to be + read -- allows scripts to poll for input. Uses input_avail libsh + function + + 9/9 + --- +externs.h + - fix extern fpurge declaration -- use HAVE_DECL_FPURGE instead of + NEED_FPURGE_DECL, since the former is set by `configure' + +jobs.h + - add extern declaration for close_pgrp_pipe + - add a new job state JNONE (-1) to the enum + +jobs.c + - include execute_cmd.h for extern declarations for coproc functions + +subst.c + - include builtins/builtext.h for extern declarations for functions + implementing builtins (e.g., declare_builtin) + +arrayfunc.c + - include "pathexp.h" for extern declaration for glob_char_p + +braces.c + - add extern declaration for `asprintf' + +lib/readline/rlprivate.h + - add extern declarations for _rl_trace, _rl_tropen + +lib/sh/zgetline.c + - add extern declarations for zread, zreadc + +lib/sh/mktime.c + - include "bashansi.h" for string function declarations + +builtins/common.h + - add extern declaration for parse_string + +trap.c + - include jobs.h for extern declaration for run_sigchld_trap + +general.c + - fix call to strtoimax in legal_number; if ep == string when function + returns, the number was not converted, even if errno is not set. + Fix from Paul Jarc <prj@case.edu> + + 9/11 + ---- +[prayers for the victims of 9/11/2001] + +builtins/return.def + - call no_options, as Posix requires. This also has the effect of + disallowing negative return values unless they're prefixed by `--' + + 9/13 + ---- +builtins/bind.def + - add an error message when bind is used without line editing active, + instead of just returning an error status + +variables.c + - make sure make_local_variable never creates visible variables with + a value, whether or not a variable with the same name existed in a + previous context. This is consistent with ksh93. Fix from + <neil@s-z.org> + + 9/16 + ---- +execute_cmd.c + - add call to CHECK_TERMSIG in shell_execve after the call to execve + returns. Recommended by Roman Rakus <rrakus@redhat.com> + - add QUIT check in execute_connection after executing first command + in a `&' connection + + 9/22 + ---- +execute_cmd.c + - new semaphore variable, executing_list, incremented every time a + list (command1;command2 or command1 || command2 or command1 && + command2) is executed; used as sentinel for rest of shell + +sig.c,builtins/evalstring.c + - set executing_list to 0 when throwing execution back to top level; + make sure to unwind-protect it in appropriate places + +jobs.c + - if a pipeline is killed by SIGINT while executing a list (when + executing_list is non-zero), make sure the shell acts as if an + interrupt occurred. The behavior is dependent on the shell + compatibility level being > 32 (bash-4.0 and above) + + 9/23 + ---- +redir.c + - don't bother reporting an error with a file descriptor, even if + the errno is EBADF, if the redirection error (e.g., NOCLOBBER) + can't have anything to do with the fd. Fixes bug reported by + "David A. Harding" <dave@dtrt.org>, debian bug #499633. + + 9/24 + ---- +builtins/declare.def + - make `declare [option] var' (and the `typeset' equivalent) create + invisible variables, instead of assigning the null string to a + visible variable. Fixes bug reported by Bernd Eggink <monoped@sudrala.de> + + 9/25 + ---- +builtins/common.[ch] + - new function, builtin_warning(), like builtin_error but for warning + messages + +builtins/bind.def + - experimental: print a warning, but go on, if line editing not active + when bind is invoked. Suggested by Rocky Bernstein + <rocky.bernstein@gmail.com> + + 10/3 + ---- +test.c + - use same_file instead of directly comparing st_dev and st_ino when + comparing files in filecomp(). From mingw32 patches submitted + by Hector Chu <hkcc2@cantab.net> + + 10/4 + ---- + +redir.c + - in redirection_error(), use `error' instead of errno when comparing + against EBADF. From mingw32 patches submitted by Hector Chu + <hkcc2@cantab.net> + +shell.c + - in unset_bash_input(), reset bash_input.type to st_none after + closing the default buffered fd. From mingw32 patches submitted + by Hector Chu <hkcc2@cantab.net> + +builtins/cd.def + - ignore CDPATH when in privileged mode. Suggested by Paul Jarc + <prj@po.cwru.edu> + +variables.c + - change sv_globignore to only act if privileged mode is not enabled. + Suggested by Paul Jarc <prj@po.cwru.edu> + +doc/bash.1,bashref.texi + - document new treatment of CDPATH and GLOBIGNORE when privileged + mode is enabled + +builtins/read.def + - change prompt printing to occur after terminal is set to no-echo + mode. Based on suggestion from Stephane Chazelas + <stephane_chazelas@yahoo.fr> + +lib/readline/signals.c + - new variables to keep track of special characters corresponding to + SIGINT, SIGQUIT, and SIGTSTP + - new variable to keep track of whether tty is echoing control + characters corresponding to SIGINT, SIGQUIT, and SIGTSTP + - new function, _rl_echo_signal_char(int sig) to display the tty + special char generating SIGINT, SIGQUIT, or SIGTSTP. Based on + idea and code from Joe Peterson <joe@skyrush.com> + - call rl_echo_signal_char in rl_signal_handler: if the terminal + settings indicate it, readline will echo characters that generate + keyboard signals + +lib/readline/rltty.c + - set _rl_intr_char, _rl_quit_char, and _rl_susp_char to special + characters that generate signals from keyboard + - set _rl_echoctl if ECHOCTL tty flag is set + +lib/readline/rlprivate.h + - extern declarations for _rl_intr_char, _rl_quit_char, and + _rl_susp_char + - extern declaration for _rl_echoctl + +lib/readline/readline.h + - extern declaration for rl_echo_signal_char() + +lib/readline/doc/rltech.texi + - document rl_echo_signal_handler(): available for applications + that install their own signal handlers + + 10/5 + ---- +execute_cmd.c + - fix errexit logic to not cause the shell to exit when a command in + a pipeline fails. Fixes bug reported by Marcin Owsiany + <marcin@owsiany.pl> + + 10/14 + ----- +builtins/evalstring.c + - don't short-circuit execution in parse_and_execute if we want to + run an exit trap. Fixes bug reported by Steffen Kiess + <s-kiess@web.de> + + 10/18 + ----- +parse.y + - fix error production to only call YYACCEPT if the shell is currently + interactive and not in parse_and_execute (so parser errors in + things like eval will correctly set $?). Fixes bug reported by + marco-oweber@gmx.de + +execute_cmd.c + - make sure variable name errors in execute_for_command and non- + identifier function names in execute_intern_function set the + return status to EX_BADUSAGE (2), not EX_USAGE (258) + +parser.h + - new parser state, PST_REPARSE + +parse.y + - turn PST_REPARSE on in parse_string_to_word_list + - in parse_matched_pair, if parsing a single-quoted string and + PST_REPARSE is set, don't requote CTLESC or CTLNUL. Fixes bug with + compound array assignment using $'\x7f' reported by Antonio Macchi + <antonio_macchi@alice.it> + + 10/23 + ----- +configure.in + - define LOCAL_LDFLAGS as `-z interpose' on Solaris 8, 9, and 10 to + allow the bash malloc to interpose the libc malloc when called by + library functions pre-bound to the libc malloc. Suggested by + Serge Dussud <Serge.Dussud@Sun.COM> + + 10/26 + ----- +doc/bash.1 + - add single-sentence descriptions to rest of parameter expansions. + Suggested by Ken Irving <fnkci@uaf.edu> + + 10/27 + ----- +subst.c + - rearrange code in skip_to_delims to allow quote characters and other + shell expansion characters to be delimiters + - add new flags value for inverting search: skip to the next character + NOT in the set of delimiters passed as an argument + +subst.h + - define for new SD_INVERT flag value for skip_to_delims + + 10/28 + ----- +bashline.c + - new bindable functions: shell-forward-word and shell-backward-word. + Like forward-word and backward-word, but understand shell quoting + and use shell metacharacters and whitespace as delimiters. + Suggested by Andre Majorel <amajorel@teaser.fr> + - new bindable functions: shell-kill-word and shell-backward-kill-word. + Like kill-word and backward-kill-word, but understand shell quoting + and use shell metacharacters and whitespace as delimiters. + Suggested by Andre Majorel <amajorel@teaser.fr> + +doc/bash.1,lib/readline/doc/rluser.texi + - documented shell-forward-word and shell-backward-word + - documented shell-kill-word and shell-backward-kill-word + + 11/1 + ---- +redir.c + - add extra argument to add_undo_redirect: fdbase. FD used to save + a file descriptor must be > fdbase if fdbase >= SHELL_FD_BASE. A + value of -1 for fdbase means to just use SHELL_FD_BASE. Fixes bug + with 0<&10 reported by Clark Jian Wang <dearvoid@gmail.com> + + 11/5 + ---- +unwind_prot.c + - new function: have_unwind_protects(); returns 1 if unwind_protect_list + is not empty + +unwind_prot.h + - extern declaration for have_unwind_protects + +builtins/evalstring.c + - in parse_and_execute_cleanup, make sure that we don't call + run_unwind_frame and expect it to decrement parse_and_execute_level + if there's no unwind_protect_list, since there's a while loop in + throw_to_top_level that calls parse_and_execute_cleanup as long as + parse_and_execute_level is non-zero + + 11/9 + ---- +variables.c + - fix the assign function for COMP_WORDBREAKS to allocate new memory + to store as the variable's value, to avoid freeing memory twice + if the variable is unset after rl_completer_word_break_characters + is freed and reallocated. Fix from Mike Stroyan <mike@stroyan.net + + 11/11 + ----- +bashline.c + - new function to reset the value of rl_completer_word_break_characters + while honoring setting of `hostcomplete': reset_completer_word_break_chars. + +bashline.h + - new extern declaration for reset_completer_word_break_chars. + +variables.c + - call reset_completer_word_break_chars in sv_comp_wordbreaks when the + variable is unset + +[bash-4.0-beta frozen] + + 11/16 + ----- +subst.c + - call set_pipestatus_from_exit in exp_jump_to_top_level so that + failed expansions that set $? will set $PIPESTATUS. Fixes bug + reported by Eric Blake <ebb9@byu.net> + + 11/20 + ----- +general.c + - new 'file_exists(fn)' primitive; just calls stat(2) + +general.h + - new extern declaration for file_exists + +bashline.c + - add `~' to rl_filename_quote_characters so make_quoted_replacement + will call bash_quote_filename for words containing `~'. Then + bash_quote_filename can make choices based on that + - change quote_word_break_chars to backslash-quote the tilde in a + filename with a leading tilde that exists in the current directory, + since we want to inhibit tilde expansion in this case + +execute_cmd.c + - call file_isdir from shell_execve instead of stat(2) directly + +bashhist.c + - use file_exists and file_isdir primitives instead of calling stat + + 11/21 + ----- +redir.c + - When undoing saving of non-standard file descriptors (>=3) using + file descriptors >= SHELL_FD_BASE, we set the saving fd to be + close-on-exec and use a flag (RX_SAVCLEXEC) to decide how to set + close-on-exec when the fd is restored. Set flag in add_undo_redirect, + check in do_redirection_internal. Fixes problem reported by Andreas + Schwab <schwab@suse.de> + + 11/26 + ----- +subst.c + - fix param_expand to have expansions of $@ and $* exit the shell if + there are no positional parameters and `set -u' is enabled. Fixes + bug reported by Dan Jacobson <jidanni@jidanni.org> + + 11/27 + ----- +lib/readline/display.c + - fix update_line to not call space_to_eol if current cursor position + (_rl_last_c_pos) indicates that we're already at end of line. + Partial fix for bug reported by Mike Frysinger <vapier@gentoo.org> + - in update_line, don't call insert_some_chars if that will start + before the last invisible character in the prompt string and not + draw the entire prompt string. More of the partial fix for bug + reported by Mike Frysinger <vapier@gentoo.org> + - fix update_line to adjust _rl_last_c_pos by wrap_offset when adding + characters beginning before the last invisible character in the + prompt. New code is same as previously existed in a different code + path. Rest of fix for bug from Mike Frysinger <vapier@gentoo.org> + - fix assignment of newline breaks (inv_lbreaks) to correctly account + for prompts longer than two screen lines containing invisible + characters. The assumption is that part of the invisible characters + are on the first line (prompt_invis_chars_first_line) and the + remainder are on the last (wrap_offset - prompt_invis_chars_first_line). + Fix is in rl_redisplay. part of fix for bug reported by + "Wesley J. Landaker" <wjl@icecavern.net> in + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=265182 + [TENTATIVE] + - fix _rl_move_cursor_relative to correctly offset `dpos' by `woff' + when there are invisible characters on lines after the second by + using (_rl_screenwidth*_rl_last_v_pos) when seeing whether or not + we just wrote some invisible characters. Rest of fix for bug + reported in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=265182 + [TENTATIVE] + + 12/11 + ----- +sig.c + - reset the execution context before running the exit trap in + termsig_handler + +general.c + - set and unset terminate_immediately like interrupt_immediately in + bash_tilde_expand + +builtins/read.def + - change terminate_immediately to a counter instead of a flag, as + interrupt_immediately is used + +lib/readline/display.c + - slight change to fix from 11/27 to deal with prompts longer than a + screen line where the invisible characters all appear after the + line wrap. Fixes bug reported by Andreas Schwab <schwab@suse.de> + +builtins/{echo,printf}.def + - increment terminate_immediately at entry; decrement before returning. + Fix for bug reported by Ralf.Wildenhues@gmx.de + + 12/16 + ----- +subst.c + - fix off-by-one error in /dev/fd version of add_fifo_list; make + sure we add to totfds when it is == fd, not just when fd > totfds. + Fixes bug reported by marciso@gmail.com + +[bash-4.0-beta2 frozen] + + 12/29 + ----- +doc/{bash.1,bashref.texi} + - document more clearly that when not in Posix mode, command + substitution does not inherit the -e option. From bug report from + Freddy Vulto <fvulto@gmail.com> + +{execute_cmd,sig,builtins/evalstring}.c + - sentinel variable to keep track of whether or not we're supposed to + ignore the failure status of a command executed in a command + substitution even if the `-e' option is set: comsub_ignore_return + - increment and decrement comsub_ignore_return in execute_simple_command + before calling expand_words + - in parse_and_execute, if comsub_ignore_return is non-zero and the + SUBSHELL_COMSUB bit is set in subshell_environment, enable the + CMD_IGNORE_RETURN flag in every command executed from the passed + string. Fixes problem reported by Freddy Vulto <fvulto@gmail.com> + - make sure to reset comsub_ignore_return every time we throw to the + top level, like executing_list flag + + 1/2/2009 + -------- +parse.y + - fix to rewind_input_stream to handle case of $(...) command + substitution followed by a quoted literal newline. Report and fix + from Andreas Schwab <schwab@suse.de> + + 1/7 + --- + +subst.c + - fix match_wpattern and match_upattern to prefix a `*' to the + pattern even if it starts with a `*(' (if extglob is enabled) + before checking whether or not it can match anywhere in the + string. Fixes bug reported by os@sernet.de. + +[bash-4.0-rc1 frozen] + + 1/9 + --- +locale.c + - since setlocale() doesn't set errno to anything meaningful, + don't include the strerror() result in the error message if + it fails + - make sure the error messages printed when setlocale fails are + localizable + + 1/11 + ---- +lib/readline/histexpand.c + - make sure that every time history_no_expand_chars is tested, we + also call the history_inhibit_expansion_function if it's set. + Fixes bug reported by Yang Zhang <yanghatespam@gmail.com> + + 1/12 + ---- +trap.c + - make sure to call parse_and_execute with the SEVAL_RESETLINE bit + set in the flags so it will reset the line number when running + the trap commands. Partial fix for bug reported by + peter360@fastmail.us + + 1/14 + ---- +builtins/reserved.def + - document `coproc' so it can be used with `help' builtin. Pointed + out by Pierre Gaston <pgas@freeshell.org> + +lib/sh/casemod.c + - added two new flags: CASE_UPFIRST and CASE_LOWFIRST to casemod + the first character of the passed string and pass the rest + through unchanged. Fixes bug reported by Jan Schampera + <jan.schampera@web.de> + +externs.h + - new defines for CASE_UPFIRST and CASE_LOWFIRST + +subst.c + - use CASE_UPFIRST for ^ and CASE_LOWFIRST for , casemod operators + +builtins/mapfile.def + - call zreset() before calling first zgetline(), to clean out any + remaining data in local buffer used by zreadc. Fixes bug + reported by Pierre Gaston <pierre.gaston@gmail.com> + + 1/15 + ---- +lib/sh/zread.c + - renamed zreadintr to zreadretry -- not perfect, but better + - new functions: zreadintr, which just calls read so it can be + interruptible, and zreadcintr, which is like zreadc but uses + zreadintr to fill the buffer + +lib/sh/zgetline.c + - in zgetline, when zread/zreadc return <= 0, make sure line is + non-null before assigning to line[nr] + +builtins/mapfile.def + - return an error right away if the supplied array variable name + refers to a readonly or noassign array + - set interrupt_immediately so calls to zgetline can be + interrupted. Fixes bug reported by Pierre Gaston + <pierre.gaston@gmail.com> + - if interactive, pass the SEVAL_INTERACT and SEVAL_NOHIST flags + to parse_and_execute when calling callbacks. Fixes bug reported + by Pierre Gaston <pierre.gaston@gmail.com> + - add `readarray' as a synonym for mapfile + +doc/{bash.1,bashref.texi} + - document behavior of mapfile builtin adding index of array element + to be assigned as additional argument to callback string. Reported + by Pierre Gaston <pierre.gaston@gmail.com> + - document readarray as synonym for mapfile + +builtins/common.c + - new error function, sh_ttyerror(set), prints an error message having + to do with setting or getting terminal attributes + +builtins/read.def + - print error message if read fails to set terminal attributes + + 1/16 + ---- +execute_cmd.c + - new function, coproc_reap, calls coproc_dispose if sh_coproc is + marked as COPROC_DEAD + - new function, cpl_reap, disposes coprocs marked as COPROC_DEAD + from coproc list + - change coproc_pidchk to just mark the coproc as dead instead of + calling coproc_dispose, so we don't call unsafe functions from + a signal handler. Fixes bug reported by Andreas Schwab + <schwab@suse.de> + +execute_cmd.h + - new extern declaration for coproc_reap + +command.h + - new flags for c_flags member of a struct coproc + +{jobs,nojobs}.c + - add call to coproc_reap in cleanup_dead_jobs, which will do the + right queueing or blocking of SIGCHLD + +trap.c + - modify change from 1/12 to not reset the line number when running + the DEBUG and RETURN traps + + 1/18 + ---- +lib/sh/casemod.c + - change default operations to work on entire passed string instead + of breaking into words at non-alpha-numerics. Use new + CASE_USEWORDS flag to enable by-word behavior. Fixes bug reported + by Jan Schampera <jan.schampera@web.de> + +builtins/printf.def + - in vbprintf, bracket each call to vsnprintf (which uses the args + passed to vbprintf) with SH_VA_START and va_end, so we can + reninitialize the argument list for each call. This is actually + what the C standard requires. Fixes bug that caused printf -b + to `ignore' first % format specifier if it came first in the + string. Reported by David Leverton <levertond@googlemail.com> + +builtins/mapfile.def + - start the line count at 1, since it doesn't get incremented before + (or after) reading the first line, so things like + `mapfile -n 5 -c 1 -C 'echo foo' array < file' work right and call + the callback after the first line is read. Fixes bug reported by + Pierre Gaston <pierre.gaston@gmail.com> + + 1/22 + ---- +lib/readline/complete.c + - set _rl_interrupt_immediately non-zero before reading from the file + system or calling an application-defined completion function + +lib/readline/signals.c + - renamed rl_signal_handler to _rl_handle_signal; new version of + rl_signal_handler that just calls _rl_handle_signal (for now) + - new function _rl_signal_handler that calls _rl_handle_signal without + any checking + +lib/readline/rlprivate.h + - new extern declaration for _rl_signal_handler + - new define, RL_CHECK_SIGNALS, checks whether or not _rl_caught_signal + is set and calls _rl_signal_handler if so + +lib/readline/{bind,input,readline}.c + - add RL_CHECK_SIGNALS in appropriate places + +lib/readline/signals.c + - change rl_signal_handler to set a flag and return rather than + run through the entire signal handling process. If + _rl_interrupt_immediately is set, call the signal handling code + right away instead of setting the flag. Initial fix for crash + bug reported by Roman Rakus <rrakus@redhat.com> + +aclocal.m4 + - new macro, BASH_TYPE_SIG_ATOMIC_T, tests for sig_atomic_t in + <signal.h>, defines as int if not defined + +configure.in + - call BASH_TYPE_SIG_ATOMIC_T + - call AC_C_VOLATILE + +config.h.in + - empty define for sig_atomic_t + - empty define for volatile + + 1/27 + ---- +subst.c + - audit calls to add_character and change to add_ifs_character (which + quotes characters in $IFS). Affects primarily `:', `=', and `~'. + Fixes bug reported by Jan Schampera <jan.schampera@web.de>; fix + suggested by Stephane Chazelas <stephane_chazelas@yahoo.fr> + + 2/1 + --- +configure.in + - call AC_C_RESTRICT + +config.h.in + - add empty defintion for `restrict' + +pcomplete.c + - use unwind_protects around call to execute_shell_function in + gen_shell_function_matches to prevent data corruption if + throw_to_top_level is called. Bug report and fix from + werner@suse.de. + +execute_cmd.c + - don't clamp CPU usage at 100% in print_formatted_time. Bug reported + by Linda Walsh <bash@tlinx.org> + + 2/5 + --- +locale.c + - in set_locale_var, set errno to 0 before calling setlocale(), and + print strerror (errno) if setlocale fails and errno ends up non-zero + + 2/6 + --- +configure.in + - backed out of solaris change from 10/23/2008 (adding `-z interpose' + to LDFLAGS) due to solaris updates to fix a linker problem. + Updatted by Serge Dussud <Serge.Dussud@Sun.COM> + + 2/12 + ---- +execute_cmd.c + - change execute_connection so failure of a pipeline will cause the + shell to exit if -e is on. From discussion on austin-group + mailing list + - change execute_command_internal so failure of a user-specified + subshell will cause the shell to exit if -e is on. From discussion + on austin-group mailing list + + 2/13 + ---- +doc/{bash.1,bashref.texi} + - clarified description of set -e option to accurately reflect current + implementation + + 2/19 + ---- +print_cmd.c + - fix print_deferred_heredocs to not print a space if the separator + string is null + - change print_deferred_heredocs to set `was_heredoc' after printing + something + - change connection printing code to only print the `;' separator + if we haven't just printed a here-document + - change connection printing code to print any deferred here + documents after the rhs of the connection. Fixes bug reported by + Bo Andresen <bo.andresen@zlin.dk> + +[bash-4.0 frozen] + + 2/20 + ---- + +[bash-4.0 released] + + 2/22 + ---- + +parse.y + - fix parse_comsub to not test a character for being a possible shell + metacharacter if LEX_PASSNEXT flag is set. Fixes bug reported by + Mike Frysinger <vapier@gentoo.org> + +pcomplete.c + - add call to save_parser_state (accidentally dropped from patch) to + gen_shell_function_matches. Fixes bug with bash_completion and + file/directory completion reported by phil@Arcturus.universe + +Makefile.in + - fix assignment to LDFLAGS_FOR_BUILD to match those in subdir + Makefiles. Fixes bug reported by Mike Frysinger <vapier@gentoo.org> + +builtins/mapfile.def + - make sure the callback quantum (-c option argument) is > 0. Fixes + bug reported by Stephane Chazleas <stephane_chazelas@yahoo.fr> + + 2/23 + ---- +parse.y + - fix save_token_state and restore_token_state to save and restore + current_token. Fixes bug reported by Bernd Eggink + <monoped@sudrala.de> + +builtins/exit.def + - check jobs[i] before checking whether or not it's running when + the checkjobs option is set and we're looking for running jobs + at exit. Fixes bug reported by Mike Frysinger <vapier@gentoo.org> + + 2/24 + ---- +siglist.c + - include bashintl.h for definition of _. Fixes bug reported by + Greg Wooledge <wooledg@eeg.ccf.org> + + 2/25 + ---- +subst.c + - new function, skip_matched_pair. Similar to skip_to_delim and + the extract_XXX family + - move skipsubscript here from arrayfunc.c; re-implement in terms of + skip_matched_pair. Fixes bugs reported by <anmaster@tele2.se> + +arrayfunc.c + - remove skipsubscript; moved to subst.c + +parse.y + - change reset_parser to set current_token to '\n'. Rest of fix for + bug reported by Bernd Eggink <monoped@sudrala.de>; earlier fix on + 2/23 + + 2/26 + ---- +builtins/declare.def + - when given something like array[x]=y (which sets making_array_special + to 1), don't convert an associative array to an indexed array (line + 493). Part of fix for bug reported by Pierre Gaston + <pierre.gaston@gmail.com> + - if offset == 0, indicating that we do not have a valid assignment, + make sure any `name' containing a `[' is a valid array reference + before trying to go on. Not doing this leads to creating crazy + variables like `name[foo[bar]=bax'. Rest of fix for bug reported + by Pierre Gaston <pierre.gaston@gmail.com> + +assoc.c + - change assoc_to_assign to single-quote the array keys if `quoted' is + non-zero. Makes things easier to read with weird characters in the + key + +parse.y + - fix parse_comsub to not set LEX_HEREDELIM when it sees "<<<". Fixes + bug reported by Mike Frysinger <vapier@gentoo.org> + + 2/27 + ---- +parse.y + - fix report_syntax_error to set last_command_exit_value to + EX_BADUSAGE (2) instead of EX_USAGE (258), since there's nothing + that will translate that to something < 128 before reading the + next command. Partial fix for bug reported by Mike Frysinger + <vapier@gentoo.org> + +sig.c + - fix sigint_sighandler to set last_command_exit_value to sig+128 + before calling throw_to_top_level. Rest of fix for bug reported + by Mike Frysinger <vapier@gentoo.org> + +jobs.c + - if fork() fails, set last_command_exit_value to 126 before calling + throw_to_top_level + +execute_cmd.c + - defer calling unlink_fifo_list in parent branch of + execute_disk_command if we're executing in a shell function + - change execute_function to call unlink_fifo_list before returning + if it's the top-level function + + 3/2 + --- +builtins/read.def + - if read times out, make sure we remove the top element from the + unwind-protect stack (the free of input_string) and run the rest, + to reset the tty and readline and alarm states. Then we jump to + assigning the variables to any partial input. Fixes bug reported + by Christopher F. A. Johnson <cfajohnson@gmail.com> + + 3/3 + --- +parse.y + - break comment checking code into a common COMMENT_BEGIN define so + we can use it in multiple places in parse_comsub + - in parse_comsub, don't alter the LEX_RESWDOK flag if we read a + `#' and we're checking comments, even though `#' isn't a `shell break' + character. Fixes bug reported by Mike Frysinger <vapier@gentoo.org> + +braces.c + - in expand_seqterm, decrease the total length of the rhs by the length + of any (optional) increment, so we don't end up with unwanted zero + padding because the rhs length is wrong. Fixes bug reported by + Carl Albing <albing@comcast.net> + + 3/4 + --- +doc/{bash.1,bashref.texi} + - changes to clean up some of the language describing the effects of + terminal process groups on the ability to read from and write to + the terminal + + 3/5 + --- +support/shobj-conf + - add host_vendor to string tested in switch to handle things like + gentoo/freebsd + - beginning with version 7, FreeBSD no longer has /usr/bin/objformat + or a.out binaries and libraries. It's always ELF. Fix from + Timothy Redaelli <drizzt@gentoo.org> + +parse.y + - in parse_comsub, allow comments if we are ready to read a + reserved word (tflags & LEX_RESWDOK), haven't read anything from + one yet (lex_rwlen == 0) and the current character is a '#' + + 3/6 + --- +parse.y + - new lex flag for parse_comsub: LEX_INWORD. Turn it off when + we see a shell break character; turn it on or keep it on when + not a break character. Keep track of word length (reset to 0 + when we turn on LEX_INWORD when it was off). + - don't use COMMENT_BEGIN in parse_comsub any more; test + whether or not LEX_INWORD is set and lex_wlen == 0 in addition + to tests for LEX_RESWDOK and lex_rwlen. Comments are valid + when at the start of a word + - move LEX_PASSNEXT code to the top of parse_comsub, so the rest + of the function doesn't have to check for the flag at different + places + + 3/7 + --- +parse.y + - in parse_comsub, when looking for a reserved word (LEX_RESWDOK + non-zero), and in a case statement, we can see either an esac + or a pattern list. We handle an esac separately. We should + turn off LEX_RESWDOK if we see anything but a newline, since + we'll be reading a pattern list. Other part of fix for bug + reported by Mike Frysinger <vapier@gentoo.org> (rest of fix + on 3/3) + + 3/10 + ---- +{.,lib/readline}/doc/fdl.texi + - updated to FDL version 1.3 + + 3/11 + ---- +parse.y + - when using the |& construct with a simple command preceding it, add + the implicit redirection to the simple command's redirection list, + since the redirections associated with the command struct are never + executed. Fixes bug reported by Matt Zyzik <Matt@ice.filescope.com> + + 3/14 + ---- +execute_cmd.c + - in execute_case_command, if ;& is used with no following pattern + list, make sure we don't reference a NULL pointer. Bug report and + fix from Clark Jian Wang <dearvoid@gmail.com> + +parse.y + - make parser_state global, so other files can use it + - command_word_acceptable now returns non-zero if PST_REDIRLIST bit + set in parser_state, so we accept assignment statements and + perform alias expansion. Fix for bug reported by Vincent + Lefevre <vincent@vinc17.org> (2/24/2009) + +parser.h + - add PST_REDIRLIST flag, notes that parser is currently parsing a + redirection list preceding a simple command + +make_cmd.c + - make_simple_command now turns on PST_REDIRLIST in parser_state when + creating a new simple command + - make_simple_command turns off PST_REDIRLIST in parser_state if it + adds a non-redirection to the command it's building + - clean_simple_command turns off PST_REDIRLIST to make sure it's off + +subst.c + - new flag for param_expand: PF_IGNUNBOUND, means to not exit if the + variable is unbound even if `set -u' is enabled + - change param_expand to not call err_unboundvar if the `pflags' + argument has the PF_IGNUNBOUND bit set + - parameter_brace_expand_word now takes an extra `pflags' argument to + pass down to param_expand; changed callers + - changed call to parameter_brace_expand_word in parameter_brace_expand + to add PF_IGNUNBOUND flag so ${@:-foo} doesn't cause the shell to + exit (but ${@} does) when there are no positional parameters. Fixes + Debian bug 519165 from Dan Jacobson <jidanni@jidanni.org> + +parse.y + - add code to parse_comsub to allow here-documents within command + substitutions to be delimited by the closing right paren, with the + usual warning about here documents delimited by EOF on execution. + Fixes regression from bash-3.2 noted in Red Hat bugzilla 485664 by + Ralf Corsepius + + 3/15 + ---- +subst.c + - string_list_dollar_at now checks for Q_PATQUOTE, which getpattern() + uses to denote Q_DOUBLE_QUOTES (?). Fixes a=abcd echo "${a#$*}" + when IFS= and args are `a b' as noted by Stephane Chazleas + <stephane_chazelas@yahoo.fr> + - param_expand now checks for Q_PATQUOTE and treats it identically + to Q_DOUBLE_QUOTES when expanding $* + - expand_word_unsplit now sets W_NOSPLIT in the flags of the word it + passes to expand_word_internal if $IFS is NULL + - expand_word_leave_quoted now sets expand_no_split_dollar_star and + the W_NOSPLIT bit in the word flags before calling + expand_word_internal if $IFS is NULL, just like expand_word_unsplit. + It is now virtually identical to expand_word_unsplit. Rest of fix for + problems reported by Stephane Chazleas <stephane_chazelas@yahoo.fr> + + 3/20 + ---- +trap.c + - in _run_trap_internal, don't pass SEVAL_RESETLINE as flag to + parse_and_execute if running the ERR trap (further modification + of change from 1/12) + +execute_cmd.c + - in execute_simple_command, set line_number to line_number_for_err_trap + before calling run_error_trap. Part of fix for bug reported by + Brian J. Murrell <brian@interlinx.bc.ca> + - change other places calling run_error_trap() to set and use + line_number_for_err_trap + + 3/21 + ---- +builtins/fc.def + - Even though command substitution through parse_and_execute turns + off remember_on_history, command substitution in a shell when + set -o history has been enabled (interactive or not) should use it + in the last_hist calculation as if it were on. Same calculation + in fc_gethnum and fc_builtin. Fixes bug reported by + Ian Kelling <smallnow@gmail.com> + +sig.c + - change termsig_sighandler to terminate immediately if it gets called + twice with the same signal before termsig_handler gets called. This + fixes the `looping on SIGSEGV' phenomenon reported by Linux users. + +parse.y + - in read_secondary_line, don't try to add NULL lines to the history + list. Report and patch from Lubomir Rintel <lkundrak@v3.sk> + + 3/22 + ---- +sig.c + - Augment change from 3/21 with explicit check for signals we *don't* + want this to happen for. Patch from Lubomir Rintel <lkundrak@v3.sk> + + 3/28 + ---- +array.c + - in array_reference, return NULL immediately if the desired index + is larger than the maximum + - add cache of last array referenced and last array element referenced; + use in array_reference to optimize case of sequential access; + invalidated where necessary in other functions + - array_rshift needs to set max_index to 0 if the array was empty + before shifting in the new element 0 + - array_shift needs to use element_index(a->head->prev) to set the + max_index, not a simple decrement, to deal with sparse arrays + + 4/1 + --- +bashline.c + - in bash_dequote_filename, return right away after copying the + backslash if the last character in the string to be expanded + is a backslash. The old code copied an extra NUL and overwrote + the bounds checking. Fixes bug reported by Shawn Starr + https://bugzilla.redhat.com/show_bug.cgi?id=488649 + + 4/3 + --- +subst.c + - in pat_subst.c, make sure to copy one character from the input + string in the case of a null pattern match, since we substitute + on the null match and then increment past the current character. + Not doing this means that each character of the original string + is replaced because of the null matches. Fixes debian bug + reported bhy Louis-David Mitterrand <ldm@apartia.fr> + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=522160 + +lib/sh/winsize.c + - incorporate contents of readline/rlwinsize.h to get all the various + system dependencies right when trying to find TIOCGWINSZ. Fixes + bug reported by Dan Price <dp@eng.sun.com> + + 4/6 + --- +doc/{bash.1,bashref.texi} + - fix description of conditional `>' and `<' to remove statement that + the comparison pays attention to the current locale -- it has + always used strcmp + +lib/glob/glob.c + - fixed a bug in glob_filename that caused glob_dir_to_array to be + called to prepend a (globbed) directory name onto the results from + glob_vector, which, if we were globbing `**', glob_vector has + already done. Effect is to have the directory name(s) on there + twice. Fixes "dir*/**" bug reported by Matt Zyzik + <Matt@ice.filescope.com> + + 4/8 + --- +doc/{bash.1,bashref.texi} + - fix short syntax summary of for command to reflect full bash + syntax (which is a superset of Posix syntax). Fixes bug reported + by Reuben Thomas <rrt@sc3d.org> + + 4/10 + ---- +{expr,subst}.c + - make sure last_command_exit_value is set to EXECUTION_FAILURE + before calling err_unboundvar, in case set -e is enabled and + the shell exits from there. Fixes bug reported by Freddy + Vulto <fvulto@gmail.com> and Piotr Zielinski + <piotr.zielinski@gmail.com> + + 4/11 + ---- +jobs.c + - in restore_pipeline, don't call discard_pipeline with a NULL + argument + +trap.c + - in run_debug_trap, make sure to save and restore the pipeline, + pipeline_pgrp, and state of the pipeline around running the debug + trap, then remove any job created by running the debug trap from + the jobs table when it completes. Fixes for two bugs reported + by lex@upc.ua + + 4/12 + ---- +lib/readline/signals.c + - new functions to block and release SIGWINCH like the SIGINT blocking + and releasing functions + +lib/readline/rlprivate.h + - new extern declarations for _rl_block_sigwinch and _rl_release_sigwinch + +lib/readline/display.c + - block SIGWINCH during redisplay like SIGINT. Should fix bug reported + by Nicolai Lissner <nlissne@linux01.org> + + 4/13 + ---- +lib/readline/readline.h + - new readline state variable: RL_STATE_REDISPLAYING + +lib/readline/display.c + - in rl_redisplay, don't block SIGWINCH during redisplay; just set + the REDISPLAYING state + +lib/readline/terminal.c + - in rl_resize_terminal, don't call rl_redisplay_after_sigwinch() if + we're already in the middle of redisplay (RL_STATE_REDISPLAYING). + Fix for bug reported by Nicolai Lissner <nlissne@linux01.org> + + 4/15 + ---- +parse.y + - fix parse_comsub to add check for \n when seeing whether the current + character can change to a state where a reserved word is legal, + since it is not a shell meta character. Fixes bug reported by + Bernd Eggink <monoped@sudrala.de>. + + 4/17 + ---- +jobs.c + - new functions to save and restore the pgrp_pipe (since there's only + one): save_pgrp_pipe and restore_pgrp_pipe + +trap.c + - run_debug_trap now saves and restores the pgrp_pipe before and + after calling the debug trap + - run_debug_trap now makes sure the terminal is owned by the pipeline + pgrp after the debug trap runs. Rest of fix for bug reported by + Oleksly Melnyk <o.melnyk@upc.ua> (lex@upc.ca) + + 4/19 + ---- +include/posixselect.h + - new include file, encapsulates select(2) includes and defines for + bash and readline. Inspired by patch from Mike Frysinger + <vapier@gentoo.org> + +lib/sh/input_avail.c + - include "posixselect.h" + +lib/readline/{input,parens}.c + - include "posixselect.h" instead of using inline includes + - use new USEC_TO_TIMEVAL define to make sure that values for timeouts + greater than one second are handled properly + +lib/sh/fpurge.c + - updated implementation, taken from gnulib + + 4/21 + ---- +lib/glob/glob.c + - in finddirs, don't try to free a return value of glob_error_return + from glob_vector. Bug and fix from werner@suse.de + +lib/readline/signals.c + - in rl_echo_signal_char, check that SIGQUIT and SIGTSTP are defined + before trying to use them. Bug report and fix from Volker Grabsch + <vog@notjusthosting.com> + + 4/24 + ---- +aclocal.m4 + - add conditional inclusion of <stdint.h> to BASH_CHECK_TYPE + +bashtypes.h,lib/sh/strto[iu]max.c + - include <stdint.h> if present for any existing declaration of + intmax_t and uintmax_t. Fixes Interix problem reported by + Markus Duft <mduft@gentoo.org> + +lib/sh/strindex.c,externs.h,builtins/common.h + - renamed strindex to strcasestr to agree with other implementations + (e.g., BSD, MacOS X, gnulib); changed callers + +lib/sh/{strindex.c,Makefile.in},Makefile.in + - renamed strindex.c to strcasestr.c + +configure.in + - add strcasestr to call to AC_REPLACE_FUNCS, take advantage of + existing libc implementations + +config.h.in + - add define for HAVE_STRCASESTR + +lib/sh/mbscmp.c + - fix mbscmp to return correct values when the strings do not contain + valid multibyte characters. Ideas from gnulib + +xstrchr.c + - only compare current character against C if mblength == 1 + +{shell,variables}.c + - changed some xstrchr calls back to strchr when the arguments cannot + contain multibyte characters + +lib/sh/{xstrchr.c,Makefile.in},Makefile.in + - renamed xstrchr to mbschr; renamed file to mbschr.c + +aclocal.m4 + - change BASH_CHECK_MULTIBYTE to use AC_REPLACE_FUNCS(mbschr) + +externs.h + - extern declarations for mbscmp and mbschr, conditional on the usual + HAVE_MBSCMP and HAVE_MBSCHR defines + +general.h,{alias,arrayfunc,bashline,general,execute_cmd,subst}.c + - changed calls to xstrchr to mbschr + +doc/bash.1 + - use `pathname expansion' consistently, not `filename expansion' or + `filename generation' + +doc/bashref.texi + - use the phrase `filename expansion' consistently (since this is + what the Gnu people prefer) instead of `pathname expansion' or + `filename generation' + +aclocal.m4,config.h.in + - check for mbscasecmp in BASH_CHECK_MULTIBYTE, define HAVE_MBSCASECMP + if found + +lib/sh/{mbscasecmp.c,Makefile.in} + - new file, case-insensitive multibyte string comparison + +externs.h + - extern declaration for mbscasecmp + + 4/25 + ---- +lib/readline/display.c + - in _rl_move_cursor_relative, don't adjust dpos by woff if it's + already less than woff (don't want it less than 0) + - in _rl_move_cursor_relative, short-circuit right away if the cursor + is at columns 0 and `new' is 0 (doesn't matter if it's a multibyte + locale or not, or whether there are invisible chars in the prompt) + - in _rl_move_cursor_relative, go ahead and adjust dpos if + prompt_physical_chars >= _rl_screenwidth (previous check was just > ) + Fixes bug reported by Andreas Schwab <schwab@linux-m68k.org> + + 4/28 + ---- +lib/glob/glob.c + - in glob_vector, don't add an empty pathname ("") if we're adding the + currect directory to the dirlist and GX_NULLDIR is set -- we can just + ignore it, since the passed directory name (".") was created by + the caller. Fixes bug reported by Matt Zyzik <matt.zyzik@nyu.edu> + + 5/5 + --- +subst.c + - make expansion of $@ and $* when set -u is in effect and there are + no positional parameters be a non-fatal error. This is the + consensus of the austin group, though it is not historical practice. + Message from Geoff Clare <20090505091501.GA10097@squonk.masqnet> of + 5 May 2009 and http://austingroupbugs.net/view.php?id=155 + + + 5/20 + ---- +lib/glob/glob.c + - tentative fix to glob_filename to compensate for glob_vector putting + null pathname at front of result vector when dflags&GX_NULLDIR. + Current fix manually removes empty string element from front of + result vector; a better fix would be to use a flag so glob_vector + doesn't add it at all. Augments patch from 4/28, which appears to + have broken some things. Fixes bug reported by Matt Zyzik + <matt.zyzik@nyu.edu> + + 5/22 + ---- + +lib/glob/glob.c + - better fix for glob_filename; supersedes patch of 5/20. Now the + code does not set GX_ADDCURDIR if directory_len == 0 and the + function has not been called recursively ((flags & GX_ALLDIRS) == 0). + Better fix for bug reported by Matt Zyzik <matt.zyzik@nyu.edu> + +Makefile.in + - fix build race condition that occurs in some makes caused by + libreadline.a and libhistory.a containing some of the same files + (e.g., xmalloc.o) and conflicting when trying to build both at + the same time. Reported by Mike Frysinger <vapier@gentoo.org> + + 5/25 + ---- +lib/readline/vi_mode.c + - fix _rl_vi_initialize_line so that the loop counter is not + unsigned (it doesn't matter, but it eliminates a compiler warning). + Bug reported by Dave Caroline <dave.thearchivist@gmail.com> + + 5/26 + ---- +doc/{bash.1,bashref.texi} + - add text to the description of array variables making it clear + that an array variable is not considered set until a subscript + has been assigned a value + + 5/29 + ---- +lib/readline/text.c + - fix rl_change_case to handle case where mbrtowc doesn't find a + valid multibyte character + +lib/readline/vi_mode.c + - fix _rl_vi_change_mbchar_case to handle case where mbrtowc doesn't + find a valid multibyte character + +lib/sh/casemod.c + - fix sh_modcase to handle case where mbrtowc doesn't find a valid + multibyte character + +lib/readline/mbutil.c + - fix _rl_find_next_mbchar_internal to not call mbrtowc at the end of + the string, since implementations return different values -- just + break the loop immediately + +lib/readline/display.c + - fix rl_redisplay to make same sort of cursor position adjustments + based on multibyte locale and _rl_last_c_pos when performing + horizontal scrolling rather than line wrapping. Probably still + more to do. Fixes bug reported by jim@jim.sh + + 6/5 + --- +doc/{bash.1,bashref.texi} + - added some more explanation of the inheritance of the ERR trap at + the suggestion of Thomas Pospisek <tpo@sourcepole.ch> + +findcmd.c + - use eaccess(2) if available in file_status to take other file + access mechanisms such as ACLs into account. Patch supplied + by werner@suse.de + + 6/12 + ---- +xmalloc.c + - also calculate lowest brk() value the first time xmalloc/xrealloc + (and their sh_ counterparts) are called + - error messages consolidated into a single function (allocerr/ + sh_allocerr) to avoid string duplication + + 6/16 + ---- +variables.c + - changes to allow variables.c to be compiled if ALIAS is not defined. + Bug and fix from John Gatewood Ham <uraphalinuxserver@gmail.com> + +lib/sh/getcwd.c + - fix so systems defining BROKEN_DIRENT_D_INO have the necessary + defines. Fix from Jay Krell <jay.krell@cornell.edu> + +configure.in + - add -D_ALL_SOURCE to interix CFLAGS for struct timezone definition. + Bug and fix from John Gatewood Ham <uraphalinuxserver@gmail.com> + + 6/29 + ---- +variables.c + - change initialize_shell_variables to add environment variables with + invalid names to the variables hash table, but marking them as + invisible and imported + - new function, export_environment_candidate. Used when creating the + export environment for commands to include variables with invalid + names inherited from the initial environment. Apparently this + behavior is widespread + - change make_var_export_array to use export_environment_candidate + rather than visible_and_exported to test variables for inclusion + in the export environment + + 7/1 + --- +builtins/read.def + - fix a memory leak where the number of fields is not the same as + the number of variables passed to `read'. Bug report from + werner@suse.de + +builtins/command.def + - move section of code that sets PATH from -p option before the + verbose-handling section, so command -v and command -V honor + the PATH set by command -p. Bug report and fix from + ohki@gssm.otsuka.tsukuba.ac.jp + + 7/9 + --- +subst.c + - change brace_expand_word_list to defer brace expansion on compound + array assignments that are arguments to builtins like `declare', + deferring the expansion until the assignment statement is processed. + Fixes inconsistency reported by agriffis@n01se.net + + 7/16 + ---- +bashline.c + - fix bash_execute_unix_command to set rl_point correctly based on + READLINE_POINT. The old method of using save_point will not + work because maybe_make_readline_line will change rl_point. Bug + reported by Henning Bekel <h.bekel@googlemail.com> + +trap.c + - fix _run_trap_internal and run_pending_traps to save and restore + value of subst_assign_varlist so the dispose_words on it doesn't + leave dangling pointers after the trap handler runs. Fixes bug + reported by Marc Herbert <marc.herbert@gmail.com> + + 7/22 + ---- +subst.c + - fix off-by-one error in pos_params when computing positional + parameters beginning with index 0. Bug and fix from Isaac Good + <isaacgood@gmail.com> + + 7/24 + ---- +lib/readline/display.c + - add code to _rl_move_cursor_relative and _rl_col_width to short- + circuit a few special cases: prompt string and prompt string plus + line contents, both starting from 0. Saves a bunch of calls to + multibyte character functions using already-computed information. + As a side effect, fixes bug reported by Lasse Karkkainen + <tronic+8qug@trn.iki.fi> + +subst.c + - fixed a problem in split_at_delims that could leave *cwp set to -1 + if the line ends in IFS whitespace and SENTINEL is one of those + whitespace characters. Fixes problem with setting COMP_CWORD for + programmable completion reported by Ville Skytta <ville.skytta@iki.fi> + +bashline.c + - change bash_execute_unix_command to clear the current line (if the + terminal supplies the "ce" attribute) instead of moving to a new + line. Inspired by report from Henning Bekel <h.bekel@googlemail.com> + +builtins/printf.def + - changes to allow printf -v var to assign to array indices, the way + the read builtin can. Suggested by Christopher F. A. Johnson + <cfajohnson@gmail.com> + +lib/readline/complete.c + - fix rl_old_menu_complete and rl_menu_complete to appropriately set + and unset RL_STATE_COMPLETING while generating the list of matches. + Fixes debian bug #538013 reported by Jerome Reybert + <jreybert@gmail.com> + + 7/25 + ---- +execute_cmd.c + - change execute_builtin to temporarily turn off and restore the ERR + trap for the eval/source/command builtins in the same way as we + temporarily disable and restore the setting of the -e option. + Fixes bug reported by Henning Garus <henning.garus@googlemail.com> + + 7/27 + ---- +shell.c + - add fflush(stdout) and fflush(stderr) to exit_shell before closing + any file descriptors at exit time (e.g., coproc pipes) + + 7/30 + ---- +lib/readline/complete.c + - new function rl_backward_menu_complete, just passes negative count + argument to rl_menu_complete + - change rl_menu_complete to act appropriately if rl_last_command is + rl_backward_menu_complete, so we can cycle forward and backward + through the list of completions + +lib/readline/doc/{readline.3,rluser.texi},doc/bash.1 + - document new "menu-complete-backward" bindable readline function. + Suggested by Jason Spiro <jasonspiro04@gmail.com> + +lib/readline/vi_keymap.c + - add binding of C-n to menu-complete and C-p to menu-complete-backward + in vi-insert keymap, as suggested by Jason Spiro + <jasonspiro04@gmail.com> + +pcomplete.c + - fixed a bug in programmable_completions: the options it returned from + the compspec it found were set before generating the completions, + which meant that any changes made by "compopt" were overridden and + only in effect for the duration of the executing shell function + rather than the entire completion. Fixes bug reported by Ville + Skytta <ville.skytta@iki.fi> + + 7/31 + ---- +lib/readline/keymaps.c + - fixed memory leak in rl_discard_keymap by freeing storage associated + with hierarchical keymaps + - new convenience function, rl_free_keymap, that calls rl_discard_keymap + and frees the keymap passed as an argument + +lib/readline/util.c + - new bindable keymap function, _rl_null_function, to be used internally + +lib/readline/rlprivate.h + - extern declaration for _rl_null_function + +lib/readline/bind.c + - fix rl_generic_bind in the case where we are trying to override a + keymap with a null function (e.g., when trying to unbind it). We + can't use a NULL function pointer in ANYOTHERKEY since that's + indistinguishable from the keymap not having been overridden at all. + We use _rl_null_function instead, which simply does nothing. We + could add an rl_ding to it later. Fixes problem with hitting ESC + repeatedly while in vi command mode reported by James Rowell + <jrjimmy801-misc1@yahoo.com> + +builtins/bind.def + - call rl_bind_keyseq instead of rl_set_key for -r option + +lib/readline/readline.c + - Set vi_movement_keymap[ESC] to _rl_null_function after binding the + arrow keys in bind_arrow_keys() to allow vi-mode users to hit ESC + multiple times in vi command mode while still allowing the arrow + keys to work + + 8/2 + --- +bashline.c + - fix clear_hostname_list by setting hostname_list_initialized to 0 + after freeing all list members. Fixes bug reported by Freddy + Vulto <fvulto@gmail.com> + +lib/readline/display.c + - in update_line, if we copy data from one line to another because we + are wrapping a multibyte character from, say, the first line to the + second, we need to update OMAX and the line indices to account for + the moved data. Bug report and fix from Martin Hamrle + <martin.hamrle@gmail.com> + + 8/3 + --- +pcomplete.h + - defines for EMPTYCMD ("_EmptycmD_") and DEFAULTCMD ("_DefaultCmD_") + +builtins/complete.def + - change compopt_builtin to make -E work on the "empty" command + completion + - fix print_compitem and print_compopts to replace EMPTYCMD with -E + - added -D (default) option to complete/compgen/compopt. No supporting + code yet + +doc/bash.1,lib/readline/doc/rluser.texi + - document new -D, -E options to compopt + - document new -D option to complete/compgen + +shell.h + - new define, EX_WEXPCOMSUB, value of 125 + - new define, EX_RETRYFAIL, value of 124 (for programmable completion) + +subst.c + - use EX_WEXPCOMSUB instead of literal 125 as exit status when a shell + invoked to run wordexp(3) with the -n option supplied attempts a + command substitution + +pcomplete.c + - new define, PCOMP_RETRYFAIL, used to indicate a "failure, retry with + next completion" status to the programmable completion code + + 8/4 + --- +pcomplete.c + - changed gen_shell_function_matches to take an extra parameter + indicating whether the specified shell function was not found or + returned the special "fail/retry" status, and, if it was either, + to not bother returning any matches list + - changed gen_compspec_completions to take an extra parameter to pass + through the "found" status from gen_shell_function_completions + - new function gen_progcomp_completions to take care of searching for + and evaluating a compspec for a particular word, saving its status, + and returning to its caller (programmable_completions) whether or + not to retry completion. This function also checks whether a + retry changed the compspec associated with a command and short- + circuits the retry if it has not + - changed programmable_completions to try default completion (if set) + if a specific completion was not found for a command + - changed programmable_completions to implement "fail/retry" semantics + for a shell function that returns 124 and changes the compspec + associated with the command. All based on proposal and changes from + Behdad Esfahbod (Red Hat bugzilla 475229) + +doc/bash.1,lib/readline/doc/rluser.texi + - documented new dynamic programmable completion functionality + + 8/5 + --- +stringlib.c + - first argument to substring() is now `const char *' + +externs.h + - changed extern declaration for substring() + +subst.c + - skipsubscript now takes a third FLAGS argument, passes to + skip_matched_pair + - skip_matched_pair now interprets flags&1 to mean not to parse + matched pairs of quotes, backquotes, or shell word expansion + constructs + +{subst,general,expr}.c + - changed skipsubscript() callers + +assoc.c + - changed assoc_to_assign to double-quote the key if it contains any + shell metacharacters + +arrayfunc.c + - use skipsubscript in quote_assign rather than quote any glob + characters in the subscript of an array assignment + - in assign_compound_array_list, call skipsubscript with a flags + argument of 1 if assigning an associative array to avoid trying + to re-parse quoted strings + +redir.c + - set expanding_redir before expanding body of here documents and + here strings to avoid looking for variables in temporary env + + 8/7 + --- +lib/readline/readline.c + - in _rl_dispatch_callback, return value of -3 means that we have + added to a key sequence, but there are previous matches in the + sequence. Don't call _rl_subseq_result if we get a -3 from a + previous context in the chain; just go back up the chain. Report + and fix from <freehaha@gmail.com> + +bashline.c + - fixes to history_completion_generator and bash_dabbrev_expand to + make dabbrev-expand inhibit suppressing of appending space char + to matches. Have to do it with the generator too because + rl_menu_complete turns off suppressing the appended space in + set_completion_defaults(). Suggestion from Dan Nicolaescu + <dann@ics.uci.edu> + - suppress completion match sorting in bash_dabbrev_expand by + setting rl_sort_completion_matches = 0. Suggestion from Dan + Nicolaescu <dann@ics.uci.edu> + - don't qsort history match list in build_history_completion_array + if dabbrev_expand_active == 1 + - start the loop in build_history_completion_array that gathers words + from history for possible completions from the end of the list + rather than the beginning. It doesn't matter where you start if + the results are sorted, and dabbrev-expand is supposed to offer + the most recent completions first + + 8/12 + ---- +execute_cmd.c + - change to execute_command_internal to make [[ ... ]] conditional + command subject to settings of `set -e' and the ERR trap + + 8/14 + ---- +execute_cmd.c + - change to execute_command_internal to make (( ... )) arithmetic + command subject to settings of `set -e' and the ERR trap + +lib/readline/text.c + - new bindable function, rl_skip_csi_sequence, reads the characters + that make up a control sequence as defined by ECMA-48. Sequences + are introduced by the Control Sequence Indicator (CSI) and + contain a defined set of characters. Insert, End, Page Up and so + on are CSI sequences. Report and code from Andy Koppe + <andy.koppe@gmail.com> + +lib/readline/readline.h + - extern declaration for rl_skip_csi_sequence + +lib/readline/funmap.c + - new bindable command "skip-csi-sequence", runs rl_skip_csi_sequence + +doc/bash.1,lib/readline/doc/{readline.3,rluser.texi} + - documented new bindable command "skip-csi-sequence", unbound by + default + +builtins/evalfile.c + - fix _evalfile to remove embedded null bytes from the file read + into the string. Report and proposed fix from Roman Rakus + <rrakus@redhat.com> + +{configure,config.h}.in + - check for syslog(3), define HAVE_SYSLOG + - check for syslog.h, define HAVE_SYSLOG_H + +config-top.h + - new define SYSLOG_HISTORY, disabled by default + +config-bot.h + - if HAVE_SYSLOG or HAVE_SYSLOG_H are not defined, undef SYSLOG_HISTORY + +bashhist.c + - if SYSLOG_HISTORY is defined, call bash_syslog_history with the + line added to the history in bash_add_history. + - new function, bash_syslog_history(line), sends line to syslog at + user.info. The line is truncated to send no more than 600 + (SYSLOG_MAXLEN) bytes to syslog. Feature requested by many, and + required by some national laws + +sig.c + - in termsig_handler, resend SIGHUP to children if subshell_environment + indicates we're a shell performing command or process substitution + +jobs.c + - add CHECK_TERMSIG calls to wait_for in addition to the ones in + waitchld() + +builtins/shopt.def + - new functions set_bashopts, parse_bashopts, and initialize_bashopts + to manage new environment variable $BASHOPTS, like $SHELLOPTS but + for shopt options + - change toggle_shopts to call set_bashopts after setting options, so + $BASHOPTS reflects new values + +shell.c + - call initialize_bashopts after calling initialize_shell_options at + shell startup + +configure.in + - new configure `enable' option --enable-exended-glob-default, to + set the initial default value of the `extglob' shell option + +config.h + - new define, EXTGLOB_DEFAULT, controlled by the `extended-glob-default' + configure option + +pathexp.c + - initialize extended_glob variable to EXTGLOB_DEFAULT + +doc/{bash.1,bashref.texi} + - document new $BASHOPTS variable and its behavior + +doc/bashref.texi + - document new --enable-extended-glob-default configure option + + 8/16 + ---- +print_cmd.c + - new variables: xtrace_fd and xtrace_fp, the file descriptor and + FILE * to which we send `set -x' tracing output. If fd == -1 + then fp == STDERR, the default mode + - new function xtrace_init, sets xtrace_fd == -1 and xtrace_fp = stderr + - new function xtrace_set (fd, fp), sets xtrace_fd and xtrace_fp + to the arguments + - new function xtrace_reset, handles closing old xtrace fd/fp and + moving them back to -1/stderr + - new function xtrace_fdchck, calls xtrace_reset if the fd passed as + an argument is xtrace_fd + - change xtrace functions to fprintf to xtrace_fp instead of stderr + +shell.c + - call xtrace_init() very early in main() + +variables.c + - new special variable, BASH_XTRACEFD, holds file descriptor used for + set -x trace output. Inspired by suggestion from Bruce Korb + <bruce.korb@gmail.com> + +doc/{bash.1,bashref.texi} + - added description of new BASH_XTRACEFD variable + +redir.c + - add calls to xtrace_fdchk to the redirections that close file + descriptors, so we notice if we close BASH_XTRACEFD and compensate + accordingly (same places that call coproc_fdchk()) + + 8/18 + ---- +lib/readline/text.c + - change to _rl_replace_text to add error checks: start must be <= + end, and we don't call rl_insert_text if passed the empty string + +config.h.in + - add define for HAVE_ICONV, already found by intl autoconf macros + - add define for HAVE_LOCALE_CHARSET + +aclocal.m4 + - add check for locale_charset() to BASH_CHECK_MULTIBYTE + +lib/sh/fnxform.c + - new file with two public function: fnx_tofs and fnx_fromfs. + Primarily intended for use on MacOS X, they use iconv to convert + between whatever the current locale encoding is and "UTF-8-MAC", + a special encoding on OS X in which all characters are + decomposed unicode, as the HFS+ filesystem stores them. These + functions return a pointer to a local buffer, allocated once and + resized as necessary, to avoid too many allocations; callers + should not free the return value, since it may be the string + passed + +Makefile.in + - make sure LIBICONV is set by autoconf (@LIBICONV@) and added to + list of link libraries + +externs.h + - new extern declarations for fnx_fromfs and fnx_tofs + +lib/glob/glob.c + - convert the filename read using readdir() in glob_vector() using + fnx_fromfs and use that value in the call to strmatch. This + ensures that we're using the precomposed Unicode value of the + filename rather than the native decomposed form. Original bug + report from Len Lattanzi <llatanzi@apple.com>; fix inspired by + Guillaume Outters <guillaume.outters@free.fr> + + 8/19 + ---- +lib/readline/complete.c + - new completion hook: rl_filename_rewrite_hook, can rewrite or modify + filenames read from the filesystem before they are compared to the + word to be completed + +lib/readline/readline.h + - extern declaration for rl_filename_rewrite_hook + +lib/readline/doc/rltech.texi + - document rl_filename_rewrite_hook + +bashline.c + - new function, bash_filename_rewrite_hook, assigned to + rl_filename_rewrite_hook. Calls fnx_fromfs to convert from + filesystem format to "input" format. This makes completing + filenames with accented characters work on Mac OS X + + 8/20 + ---- +lib/readline/bind.c + - new bindable variable "skip-completed-text", bound to + _rl_skip_completed_text. If enabled, it means to note when + completing before the end of a word and skipping over characters + after rl_point that match in both the completion to be inserted + and the word being completed. It means that completing + `Makefile' with the cursor after the `e' results in `Makefile' + instead of `Makefilefile'. Inspired by an idea from Jared + Yanovich <phierunner@comcast.net> from back in 2004 + +lib/readline/rlprivate.h + - extern declaration for _rl_skip_completed_text + +lib/readline/complete.c + - implement semantics of _rl_skip_completed_text in insert_match: + skip characters in `replacement' that match chars in rl_line_buffer + from the start of the word to be completed + + 8/21 + ---- +error.c + - change parser_error to set last_command_exit_value to 2 before + calling exit_shell (if set -e is enabled), so any exit or ERR + trap gets the right value of $?. Suggestion from Stefano + Lattarini <stefano.lattarini@gmail.com> + +braces.c + - fix expand_seqterm so that a non-zero-prefixed term that's longer + than a zero-prefixed term determines the length of each term + in the brace-expanded sequence. This means that things like + {01..100} will have three digits in all the elements of the + expanded list. Fixes bug reported by Jeff Haemer + <jeffrey.haemer@gmail.com> + + 8/24 + ---- +{arrayfunc,variables}.c + - when inserting a value into an associative array using syntax like + T=v where T is an already-declared associative array using key "0", + make sure the key is in newly-allocated memory so it can be freed + when the variable is unset. Fixes bug reported as redhat 518644 + by Jon Fairbairn + + 8/26 + ---- +lib/readline/funmap.c + - add "old-menu-complete" binding for rl_old_menu_complete + +lib/readline/readline.h + - add extern declaration for rl_old_menu_complete + +subst.c + - fix memory leak when processing ${!prefix@}. Need to dispose all + words in the word list created from all matching variable. Fixes + bug reported by muszi@muszi.kite.hu. + + 8/29 + ---- +execute_cmd.c + - add fflush(stdout) and fflush(stderr) to child coproc code before + calling exit after execute_in_subshell + + 8/31 + ---- +lib/readline/{{bind,readline}.c,rlprivate.h} + - new bindable variable, "echo-control-characters", enabled by default. + This controls whether or not readline honors the tty ECHOCTL bit + and displays characters corresponding to keyboard-generated signals. + Controlled by _rl_echo_control_chars variable, declared in readline.c + +lib/readline/signals.c + - if _rl_echo_control_chars == 0, don't go through _rl_echo_signal_char + + +lib/readline/doc/{readline.3,rluser.texi} + - document "echo-control-characters" bindable variable + + 9/1 + --- +lib/readline/histexpand.c + - hist_string_extract_single_quoted now takes an additional argument: + a flags word. The only defined value (flags & 1) allows backslash + to quote the single quote. This is to inhibit history expansion + inside $'...' containing an escaped single quote. + - change history_expand to call hist_string_extract_single_quoted + with flags == 1 if it sees $'. Fixes bug reported by Sean + Donner <sean.donner@gmail.com> + + 9/2 + --- +builtins/printf.def + - add a call to sh_wrerror if ferror() succeeds in the PRETURN macro, + to print an error message in the case that the final fflush fails + (for instance, because it attempts to write data that didn't have a + trailing newline). Fixes bug reported by Stefano Lattarini + <stefano.lattarini@gmail.com> + + 9/7 + --- +arrayfunc.c + - some fixes to assign_compound_array_list to avoid null pointer + dereferences pointed out by clang/scan-build + +lib/glob/glob.c + - fixes to udequote_pathname and wdequote_pathname to avoid possible + null pointer dereferences pointed out by clang/scan-build + +lib/readline/undo.c + - fix to _rl_copy_undo_list (function unused) to avoid deref of + uninitialized pointer pointed out by clang/scan-build + +general.c + - fix string_to_rlimtype so it works if passed a null pointer (though + it never is) + +builtins/mapfile.def + - fix to mapfile() to avoid possible null pointer dereference pointed + out by clang/scan-build + +variables.c + - fix to valid_exportstr to avoid possible null pointer dereferences + pointed out by clang/scan-build + +bashline.c + - fix to bash_execute_unix_command to avoid possible null pointer + dereference if READLINE_LINE or READLINE_POINT is not bound + + 9/11 + ---- +[Prayers for the victimes of 9/11/2001] + +command.h + - add `rflags' member to struct redirect to hold private flags and + state information + - change redirector to a REDIRECTEE instead of int to prepare for + possible future changes + +{copy_cmd,dispose_cmd,make_cmd,print_cmd,redir}.c + - changes resulting from type change of `redirector' member of struct + redirect: change x->redirector to x->redirector.dest and add code + where appropriate to deal with x->redirector.filename + +make_cmd.h + - change extern declaration for make_redirection + +make_cmd.c + - first argument of make_redirection is now a `REDIRECTEE' to prepare + for possible future changes. First arg is now assigned directly to + redirector member instead of assigning int to redirector.dest + +{make_cmd,redir}.c,parse.y + - changes resulting from type change of first argument to + make_redirection from int to REDIRECTEE. In general, changes are + using REDIRECTEE sd and assigning old argument to sd.dest, then + passing sd to make_redirection + +make_cmd.[ch],parse.y + - add fourth argument to make_redirection: flags. Sets initial value + of `rflags' member of struct redirect + - changed all callers of make_redirection to add fourth argument of 0 + + 9/15 + ---- +parse.y + - change read_token_word to return REDIR_WORD for tokens of the form + {var} where `var' is a valid shell identifier and the character + following the } is a `<' or `>' + - add REDIR_WORD versions of all input and output file redirections + and here documents + +print_cmd.c + - change input and output file redirection direction and here + document cases of print_redirection to print a varname + specification of the form {var} when appropriate. Still need + to fix rest of cases + +redir.c + - implement REDIR_VARASSIGN semantics for file input and output + redirections and here documents + + 9/16 + ---- +parse.y + - added REDIR_WORD versions of remaining redirection constructs except + for err_and_out ones + +redir.c + - handle REDIR_VARASSIGN semantics for rest of redirection constructs + - accommodate REDIR_VARASSIGN when translating redirections + - new function, redir_varvalue, does variable lookup for {v} when + redirection needs the value (e.g., r_close_this) + +print_cmd.c + - fix rest of cases to print {varname} when REDIR_VARASSIGN is set in + redirect->rflags + +doc/{bash.1,bashref.texi} + - document new {varname} REDIR_VARASSIGN form of redirections + +tests/vredir.{right,tests},vredir[1-5].sub + - tests for new {varname} REDIR_VARASSIGN form of redirections + + 9/18 + ---- +subst.c + - new flags argument to split_at_delims: these flags are ORd with + SD_NOJMP and passed to skip_to_delim + - change skip_to_delim to honor new SD_NOQUOTEDELIM flag by not + checking whether or not single and double quotes are delimiters + if it's set in passed flags until after skipping quoted strings. + +subst.h + - change extern declaration for split_at_delims + - new define for SD_NOQUOTEDELIM flag + +pcomplete.c + - pass SD_NOQUOTEDELIM in flags argument to split_at_delims so single + and double quotes, even though they're in + rl_completer_word_break_characters, don't act as word delimiters + for programmable completion. Fixes bug reported by Freddy + Vulto <fvulto@gmail.com> + +lib/glob/glob.c + - in glob_filename, after recursively scanning a directory specified + with `**', turn off GX_ALLDIRS|GX_ADDCURDIR before calling + glob_vector on the rest of the pathname, since it may not apply to + the rest of the pattern. Turned back on if the filename makes it + appropriate. Fixes bug reported by Anders Kaseorg <andersk@mit.edu> + +redir.c + - change execute_null_command to fork a child to execute if any of + the commands redirections have the REDIR_VARASSIGN flag set, since + those commands are not supposed to have side effects + +test.c + - < and > binary operators will obey the locale by using strcoll if + the TEST_LOCALE flag is passed to binary_test + +test.h + - new define for TEST_LOCALE + +execute_cmd.c + - execute_cond_node sets TEST_LOCALE so [[ str1 < str2 ]] (and >) + obey the locale. Fixes bug/incompatibility reported by Greg + Wooledge <wooledg@eeg.ccf.org> + +doc/{bash.1,bashref.texi} + - documented [[ command new locale-sensitive treatment of < and > + + 9/24 + ---- +configure.in + - add "darwin10" cases like darwin8 and darwin9 to handle linking with + included readline and history libraries + + 9/26 + ---- +lib/readline/display.c + - modify change of 7/24 to use prompt_physical_chars instead of + prompt_visible_length to account for visible multibyte characters in + the line (usually in the prompt). Fixes debian bug #547264 + reported by Pietro Battiston <toobaz@email.it> + - add flags argument to _rl_col_width; changed callers. flags > 0 + means that it's ok to use the already-computed prompt information; + flags == 0 means that we're expanding the prompt and we should not + short-circuit + +parse.y + - in decode_prompt_string, when expanding \w and \W on Mac OS X, + use fnx_fromfs to convert from "filesystem" form to "input" form. + This makes $PWD with multibyte characters work in the prompt + string on Mac OS X + +lib/sh/fnxform.c + - in fnx_fromfs and fnx_tofs, use templen instead of outlen as last + argument in calls to iconv, since outlen is used to keep track of + the size of the buffer, and iconv potentially modifies its + `outbytesleft' argument + + 9/29 + ---- +subst.c + - make skip_to_delim understand how to skip over process substitution + constructs the way it skips $(...) command substitution + + 9/30 + ---- +lib/readline/terminal.c + - don't set the `terminal has meta key' flag if the `MT' capability is + available; that means something completely different + + 10/1 + ---- +builtins/help.def + - make sure width is at least 7, since we pass `width/2 - 3' to strncpy + as the length argument. Terminal widths <= 6 are converted to 80. + Fixes bug reported by Chris Hall <c@pobox.co.uk> + +configure.in + - changed version to 4.1-alpha + +subst.h + - new flag for skip_to_delim: SD_NOSKIPCMD, which means to not skip + over embedded command and process substitutions, but rather to look + for delimiters within them + +subst.c + - implement semantics of SD_NOSKIPCMD in skip_to_delim + +bashline.c + - call skip_to_delim with SD_NOSKIPCMD from find_cmd_start, so + programmable completion can use the completion defined for `b' for + command lines like "a $(b c". Fixes inconsistency/bug reported by + Freddy Vulto <fvulto@gmail.com> + +parser.h + - replace unused PST_CMDTOKEN parser state value with PST_EXTPAT, + means currently parsing an extended glob pattern (extglob) + +parse.y + - fix cond_node() so that extended_glob is set before parsing the + rhs of the `==' or `!=' operators. For ksh93 compatibility. + - reset extended_glob to global value (saved in parse_cond_command()) + in reset_parser() + + 10/5 + ---- +jobs.c + - change waitchld() to only interrupt the wait builtin when the shell + receives SIGCHLD in Posix mode. It's a posix requirement, but + makes easy things hard to do, like run a SIGCHLD trap for every + exiting child. Change prompted by question from Alex Efros + <powerman@powerman.name> + +doc/bashref.texi + - document new posix mode behavior about SIGCHLD arriving while the + wait builtin is executing when a trap on SIGCHLD has been set + + 10/6 + ---- +lib/readline/histexpand.c + - fix hist_expand to keep from stopping history expansion after the + first multibyte character (a `break' instead of a `continue'). + Fixes debian bug (#549933) reported by Nikolaus Schulz + <microschulz@web.de> + + 10/8 + ---- +builtins/read.def + - implement new `-N nchars' option: read exactly NCHARS characters, + ignoring any delimiter, and don't split the result on $IFS. + Feature requested by Richard Stallman <rms@gnu.org> + +doc/{bash.1,bashref.texi} + - document new `read -N' option + + 10/9 + ---- +lib/readline/bind.c + - new bindable variable, "enable-meta-key", controls whether or not + readline enables any meta modifier key the terminal claims to + support. Suggested by Werner Fink <werner@suse.de> + +lib/readline/doc/{readline.3,rluser.texi},doc/bash.1 + - document new readline "enable-meta-key" bindable variable + + 10/10 + ----- +trap.c + - new function, free_trap_string(), does what it says and turns off + SIG_TRAPPED flag without changing signal disposition + +[bash-4.1-alpha frozen] + + 10/16 + ----- +builtins/mapfile.def + - return an error if the variable passed is not an indexed array. + Fixes bug reported by Nick Hobson <nick.hobson@yahoo.com> + - change help text to make it clear that an indexed array is required + +doc/{bash.1,bashref.texi} + - changed description of mapfile to note that the array variable + argument must be an indexed array, and mapfile will return an + error if it is not + +subst.c + - change expand_string_unsplit and expand_string_leave_quoted to + add the (previously unused) W_NOSPLIT2 flag to the created word + - change expand_word_internal to understand W_NOSPLIT2 to mean that + we're not going to split on $IFS, so we should not quote any + characters in IFS that we add to the result string. Fixes bug + reported by Enrique Perez-Terron <enrio@online.no> + - change cond_expand_word similarly. Fixes rest of bug reported by + Enrique Perez-Terron <enrio@online.no> + +parse.y + - save and restore value of last_command_subst_pid around call to + expand_prompt_string in decode_prompt_string. Fixes bug that causes + $? to be set wrong when using a construct like false || A=3 when + set -x is enabled and $PS4 contains a command substitution. Reported + by Jeff Haemer <jeffrey.haemer@gmail.com> + + 10/17 + ----- +execute_cmd.c + - in execute_in_subshell, make sure we set setjmp(return_catch) before + running the command, in case the command or its word expansion + calls jump_to_top_level. Fixes bug reported by Nils Bernhard + <nils.bernhard@yahoo.de> + +subst.c + - new PF_NOSPLIT2 flag for param_expand + - parameter_brace_expand takes a new `pflags' argument, before the + `output' parameters; passes to param_expand as necessary + - change parameter_brace_expand to call parameter_brace_expand_word + with the PF_NOSPLIT2 flag if the pflags argument to + parameter_brace_expand has it set + +parse.y + - change report_syntax_error to set last_command_exit_value to + EX_BADSYNTAX if parse_and_execute_level is > 0, indicating a + syntax error while we're executing a dot script, eval string, + trap command, etc. + +builtins/evalstring.c + - in parse_and_execute, if parse_command() returns non-zero, + indicating a parse error, print a warning message if the conditions + would require a posix-mode shell to abort (parse error in a `.' + script or eval string) + + 10/19 + ----- +builtins/evalfile.c + - even if the `check binary' flag is not passed to _evalfile, return an + error after reading 128 null characters if called by `source', on + the assumption that it's probably a binary file. [This will be in + bash-4.1-beta] + + 10/24 + ----- +[bash-4.1-alpha released] + +bashline.c + - don't call command_substitution_completion_function if we're + completing a substring delimited by a single quote. Fixes bug + reported by bash-bugs@atu.cjb.net + +lib/readline/complete.c + - make sure _rl_skip_completed_text defaults to 0, as the + documentation states (incorrect in bash-4.1-alpha) + - in insert_match, skip over a close quote in the replacement text if + the character at point when completion is invoked is a single + quote. Fixes complaint from bash-bugs@atu.cjb.net + + 10/26 + ----- +shell.c + - in main, make sure "$EMACS" is non-null before calling strstr on its + value. Fixes Red Hat bug 530911 submitted by Mitchell Berger + +builtins/mapfile.def + - don't save callback commands in shell history. Suggested by + Jan Schampera <jan.schampera@web.de> + +mailcheck.c + - in file_mod_date_changed, make sure the modification time is later + than the saved modification date, not just that it's not equal. + Fix from Evgeniy Dushistov <dushistov@mail.ru> + - in file_access_date_changed, make sure the access time is later + than the saved access time, not just that it's not equal + + 10/27 + ----- +builtins/shopt.def + - added new `compat40' compatibility variable, with associated changes + to shell_compatibility_level(), since the default compatibility level + is now 41 + +test.c + - make the < and > operators to [[ use strcoll() only if the shell + compatibility level is greater than 40 (it is 41 by default in + bash-4.1) + + 10/28 + ----- +support/shobj-conf + - decrease the default version of FreeBSD that creates shared libraries + to 4.x. Advice from Peter Jeremy <peterjeremy@acm.org> + + 11/2 + ---- +parse.y + - change parse_comsub to free `heredelim' and set it to 0 whenever the + comsub scanner finds the end of a here document. Really need to + implement a stack of here doc delimiters like in the parser (can we + use redir_stack here, too?) + - fix parse_comsub to not attempt to read another here doc delimiter + after seeing a shell break character (that is not newline) if we + already have one. Fixes Debian bash bug #553485, submitted by + Samuel Hym <samuel.hym@gmail.com> + + 11/3 + ---- +variables.c + - fix bind_variable_internal to call a variable's dynamic 'set function' + with the right arguments depending on whether its an associative + array, an indexed array, or a scalar. Fixes Ubuntu bug #471504 + https://bugs.launchpad.net/ubuntu/+source/bash/+bug/471504 reported + by AJ Slater <aj.slater@gmail.com> + +[bash-4.1-beta frozen] + + 11/11 + ----- +builtins/printf.def + - in getintmax(), in the case of a conversion error, return the partial + value accumulated so far, which is suppose to be what + strtoimax/strtoll/strtol returns + + 11/17 + ----- +[bash-4.1-beta released] + + 11/18 + ----- +builtins/{common.h,shopt.def},shell.c + - changed shopt variable "set functions" to take the option name as + the first argument; changed function prototypes and callers + +builtins/shopt.def + - change set_compatibility_level() to turn off other compatNN options + when one is set -- enforce mutual exclusivity. Fixes problem noted + by Jan Schampera <jan.schampera@web.de> + + 11/19 + ----- +lib/readline/rltty.c + - make sure prepare_terminal_settings() tests for the presence of + ECHOCTL before using it. Fixes bug reported by Joachim Schmitz + <schmitz@hp.com> + +config-top.h + - new WORDEXP_OPTION define (off by default) + +shell.c + - don't include the --wordexp option or the supporting function + (run_wordexp) if WORDEXP_OPTION is not defined. Suggested by + Aharon Robbins <arnold@skeeve.com> + +execute_cmd.c + - in execute_cond_node, turn on comsub_ignore_return if the flags + indicate we're ignoring the return value before calling + cond_expand_word. Fixes bug reported by Anirban Sinha + <asinha@zeugmasystems.com> + + 11/20 + ----- +lib/sh/snprintf.c,builtins/printf.def + - change check for HAVE_ASPRINTF and HAVE_SNPRINTF to check if value + is 1 or 0 rather than whether they are defined or not. This allows + a value of 0 to enable function replacement + +configure.in,aclocal.m4 + - new autoconf macro, BASH_FUNC_SNPRINTF, checks for snprintf present + and working as C99 specifies with a zero length argument. Idea + from Greg Wooledge <wooledg@eeg.ccf.org> + - new macro BASH_FUNC_VSNPRINTF, does same thing for vsnprintf + + 11/25 + ----- +subst.c + - in command_substitute, only tell parse_and_execute to reset the line + number in an interactive shell if sourcelevel == 0 -- we'll use the + line numbers from the sourced file + +execute_cmd.c + - in execute_simple_command, only subtract function_line_number from + line_number if sourcelevel == 0. If sourcing, we'll use the line + numbers from the sourced file. Fixes bug reported by Hugo + Mildenberger <Hugo.Mildenberger@namir.de> + +builtins/declare.def + - in declare_internal, call bind_assoc_variable instead of + bind_array_variable in the case of declare -A foo=bar. Fixes bug + reported by Bernd Eggink <monoped@sudrala.de>. + + 11/27 + ----- +lib/readline/util.c + - change declaration for _rl_walphabetic to use prototype, assuming + that any system with multibyte characters has a compiler that can + handle prototypes. Fix for AIX compilation problem reported by + Nick Hillman <nick_hillman@neverbox.com> + + 11/28 + ----- +execute_cmd.c + - make funcnest file-scope static and unwind-protect its value in + execute_function, so it can be used as a real measure of function + call nesting + +general.c + - fix off-by-one error in trim_pathname that caused it to short-circuit + when PROMPT_DIRTRIM == number of directories - 1. Fixes bug + reported by Dennis Williamson <dennistwilliamson@gmail.com> + + 11/29 + ----- +jobs.c + - when fork() returns -1/EAGAIN, call waitchld(-1, 0) so the shell can + reap any dead jobs before trying fork again. Currently disabled + until bash-4.2 development starts + +lib/readline/complete.c + - when incrementing _rl_interrupt_immediately, make sure it's greater + than 0 before decrementing it. In practice, not a problem, but + the right way to do it. Suggested by Jan Kratochvil + <jan.kratochvil@redhat.com> + +lib/readline/signals.c + - make sure rl_signal_handler doesn't set rl_caught_signal if + _rl_interrupt_immediately is set, so RL_CHECK_SIGNALS doesn't + cause it to be processed twice. Suggested by Jan Kratochvil + <jan.kratochvil@redhat.com> + - if the callback interface is being used, use the code path that + immediately handles signals. This restores the readline-5.2 + behavior. Fixes GDB readline bug reported by Jan Kratochvil + <jan.kratochvil@redhat.com> + + 12/18 + ----- +[bash-4.1-rc1 released] + + 12/22 + ----- +config-top.h + - don't have SYSLOG_HISTORY enabled by default + +lib/sh/Makefile.in + - add explicit dependency on pathnames.h for parallel make support + +externs.h + - add extern declaration for xtrace_fdchk + +lib/sh/snprintf.c + - add local prototype declarations for isinf, isnan if we are providing + local definitions + +lib/sh/fnxform.c + - add extern declaration for get_locale_var if HAVE_LOCALE_CHARSET not + defined + +execute_cmd.c + - define NEED_FPURGE_DECL so we pick up any extern declaration for + fpurge (e.g., if the system doesn't provide it) + +builtins/shopt.def + - correct prototype and declaration for set_shellopts_after_change so + it's the correct type for shopt_set_func_t + - add new function shopt_enable_hostname_completion that is the correct + type for shopt_set_func_t; just calls enable_hostname_completion and + returns its result + + 12/26 + ----- +doc/{bash.1,bashref.texi} + - add \E and \" escape sequences to ANSI-C quoting description. + Suggested by Aharon Robbins <arnold@skeeve.com> + + 12/29 + ----- +doc/bash.1 + - make sure shell and environment variable names are always in + `small caps' bold. Suggested by Aharon Robbins <arnold@skeeve.com> + + 12/30 + ----- +{execute_cmd.c,parse.y,Makefile} + - changes for building minimal configuration from Matthias Klose + <doko@debian.org> + +[bash-4.1 frozen] diff --git a/Makefile.in b/Makefile.in index 415e85e1..f01d49c7 100644 --- a/Makefile.in +++ b/Makefile.in @@ -397,10 +397,10 @@ BASHINCFILES = $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/ansi_stdlib.h \ $(BASHINCDIR)/shtty.h $(BASHINCDIR)/typemax.h \ $(BASHINCDIR)/ocache.h -LIBRARIES = $(SHLIB_LIB) $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) $(GLOB_LIB) \ +LIBRARIES = $(GLOB_LIB) $(SHLIB_LIB) $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) \ $(TILDE_LIB) $(MALLOC_LIB) $(INTL_LIB) $(LIBICONV) $(LOCAL_LIBS) -LIBDEP = $(SHLIB_DEP) $(INTL_DEP) $(READLINE_DEP) $(HISTORY_DEP) $(TERMCAP_DEP) $(GLOB_DEP) \ +LIBDEP = $(GLOB_DEP) $(SHLIB_DEP) $(INTL_DEP) $(READLINE_DEP) $(HISTORY_DEP) $(TERMCAP_DEP) \ $(TILDE_DEP) $(MALLOC_DEP) LIBRARY_LDFLAGS = $(READLINE_LDFLAGS) $(HISTORY_LDFLAGS) $(GLOB_LDFLAGS) \ @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.in for Bash 4.1, version 4.018. +# From configure.in for Bash 4.1, version 4.019. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for bash 4.1-rc1. +# Generated by GNU Autoconf 2.63 for bash 4.1-release. # # Report bugs to <bug-bash@gnu.org>. # @@ -597,8 +597,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='bash' PACKAGE_TARNAME='bash' -PACKAGE_VERSION='4.1-rc1' -PACKAGE_STRING='bash 4.1-rc1' +PACKAGE_VERSION='4.1-release' +PACKAGE_STRING='bash 4.1-release' PACKAGE_BUGREPORT='bug-bash@gnu.org' ac_unique_file="shell.h" @@ -1411,7 +1411,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 4.1-rc1 to adapt to many kinds of systems. +\`configure' configures bash 4.1-release to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1476,7 +1476,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bash 4.1-rc1:";; + short | recursive ) echo "Configuration of bash 4.1-release:";; esac cat <<\_ACEOF @@ -1652,7 +1652,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -bash configure 4.1-rc1 +bash configure 4.1-release generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1666,7 +1666,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 4.1-rc1, which was +It was created by bash $as_me 4.1-release, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2080,7 +2080,7 @@ ac_config_headers="$ac_config_headers config.h" BASHVERS=4.1 -RELSTATUS=rc1 +RELSTATUS=release case "$RELSTATUS" in alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;; @@ -31170,7 +31170,7 @@ exec 6>&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 4.1-rc1, which was +This file was extended by bash $as_me 4.1-release, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -31233,7 +31233,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -bash config.status 4.1-rc1 +bash config.status 4.1-release configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.in b/configure.in index be199054..843bd700 100644 --- a/configure.in +++ b/configure.in @@ -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 <http://www.gnu.org/licenses/>. -AC_REVISION([for Bash 4.1, version 4.018])dnl +AC_REVISION([for Bash 4.1, version 4.019])dnl define(bashvers, 4.1) -define(relstatus, rc1) +define(relstatus, release) AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org]) @@ -1,4 +1,4 @@ -This is the Bash FAQ, version 4.01, for Bash version 4.0. +This is the Bash FAQ, version 4.11, for Bash version 4.1. This document contains a set of frequently-asked questions concerning Bash, the GNU Bourne-Again Shell. Bash is a freely-available command @@ -36,9 +36,9 @@ A10) What is the bash `posix mode'? Section B: The latest version -B1) What's new in version 4.0? -B2) Are there any user-visible incompatibilities between bash-4.0, - bash-3.2, and bash-2.05b? +B1) What's new in version 4.1? +B2) Are there any user-visible incompatibilities between bash-4.1 and + previous bash versions? Section C: Differences from other Unix shells @@ -81,6 +81,7 @@ E12) Why don't negative offsets in substring expansion work like I expect? E13) Why does filename completion misbehave if a colon appears in the filename? E14) Why does quoting the pattern argument to the regular expression matching conditional operator (=~) cause matching to stop working? +E15) Tell me more about the shell compatibility level. Section F: Things to watch out for on certain Unix versions @@ -143,26 +144,26 @@ of Case Western Reserve University. A2) What's the latest version? -The latest version is 4.0, first made available on 20 February, 2009. +The latest version is 4.1, first made available on 31 December, 2009. A3) Where can I get it? Bash is the GNU project's shell, and so is available from the master GNU archive site, ftp.gnu.org, and its mirrors. The latest version is also available for FTP from ftp.cwru.edu. -The following URLs tell how to get version 4.0: +The following URLs tell how to get version 4.1: -ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0.tar.gz -ftp://ftp.cwru.edu/pub/bash/bash-4.0.tar.gz +ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1.tar.gz +ftp://ftp.cwru.edu/pub/bash/bash-4.1.tar.gz Formatted versions of the documentation are available with the URLs: -ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-4.0.tar.gz -ftp://ftp.cwru.edu/pub/bash/bash-doc-4.0.tar.gz +ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-4.1.tar.gz +ftp://ftp.cwru.edu/pub/bash/bash-doc-4.1.tar.gz Any patches for the current version are available with the URL: -ftp://ftp.cwru.edu/pub/bash/bash-4.0-patches/ +ftp://ftp.cwru.edu/pub/bash/bash-4.1-patches/ A4) On what machines will bash run? @@ -194,7 +195,7 @@ http://www.cygwin.com/. Cygnus originally ported bash-1.14.7, and that port was part of their early GNU-Win32 (the original name) releases. Cygnus has also done -ports of bash-2.05b and bash-3.2 to the CYGWIN environment, and both +ports of bash-3.2 and bash-4.0 to the CYGWIN environment, and both are available as part of their current release. Bash-2.05b and later versions should require no local Cygnus changes to @@ -218,7 +219,7 @@ Mark began to work with bash-2.05, but I don't know the current status. Bash-3.0 compiles and runs with no modifications under Microsoft's Services for Unix (SFU), once known as Interix. I do not anticipate any problems -with building bash-4.0, but will gladly accept any patches that are needed. +with building bash-4.1, but will gladly accept any patches that are needed. A6) How can I build bash with gcc? @@ -387,16 +388,124 @@ They are also listed in a section in the Bash Reference Manual Section B: The latest version -B1) What's new in version 4.0? +B1) What's new in version 4.1? -Bash-4.0 is the fourth major release of bash. There are numerous new features, -some experimental. Depending on community reception, the experimental -features will evolve. +Bash-4.1 is the first revision to the fourth major release of bash. -Bash-4.0 contains the following new features (see the manual page for -complete descriptions and the CHANGES and NEWS files in the bash-4.0 +Bash-4.1 contains the following new features (see the manual page for +complete descriptions and the CHANGES and NEWS files in the bash-4.1 distribution): +o Here-documents within $(...) command substitutions may once more be + delimited by the closing right paren, instead of requiring a newline. + +o Bash's file status checks (executable, readable, etc.) now take file + system ACLs into account on file systems that support them. + +o Bash now passes environment variables with names that are not valid + shell variable names through into the environment passed to child + processes. + +o The `execute-unix-command' readline function now attempts to clear and + reuse the current line rather than move to a new one after the command + executes. + +o `printf -v' can now assign values to array indices. + +o New `complete -E' and `compopt -E' options that work on the "empty" + completion: completion attempted on an empty command line. + +o New complete/compgen/compopt -D option to define a `default' completion: + a completion to be invoked on command for which no completion has been + defined. If this function returns 124, programmable completion is + attempted again, allowing a user to dynamically build a set of completions + as completion is attempted by having the default completion function + install individual completion functions each time it is invoked. + +o When displaying associative arrays, subscripts are now quoted. + +o Changes to dabbrev-expand to make it more `emacs-like': no space appended + after matches, completions are not sorted, and most recent history entries + are presented first. + +o The [[ and (( commands are now subject to the setting of `set -e' and the + ERR trap. + +o The source/. builtin now removes NUL bytes from the file before attempting + to parse commands. + +o There is a new configuration option (in config-top.h) that forces bash to + forward all history entries to syslog. + +o A new variable $BASHOPTS to export shell options settable using `shopt' to + child processes. + +o There is a new confgure option that forces the extglob option to be + enabled by default. + +o New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace + output to that file descriptor. + +o If the optional left-hand-side of a redirection is of the form {var}, the + shell assigns the file descriptor used to $var or uses $var as the file + descriptor to move or close, depending on the redirection operator. + +o The < and > operators to the [[ conditional command now do string + comparison according to the current locale. + +o Programmable completion now uses the completion for `b' instead of `a' + when completion is attempted on a line like: a $(b c. + +o Force extglob on temporarily when parsing the pattern argument to + the == and != operators to the [[ command, for compatibility. + +o Changed the behavior of interrupting the wait builtin when a SIGCHLD is + received and a trap on SIGCHLD is set to be Posix-mode only. + +o The read builtin has a new `-N nchars' option, which reads exactly NCHARS + characters, ignoring delimiters like newline. + +o The mapfile/readarray builtin no longer stores the commands it invokes via + callbacks in the history list. + +o There is a new `compat40' shopt option. + +o The < and > operators to [[ do string comparisons using the current locale + only if the compatibility level is greater than 40 (set to 41 by default). + +o New bindable readline function: menu-complete-backward. + +o In the readline vi-mode insertion keymap, C-n is now bound to menu-complete + by default, and C-p to menu-complete-backward. + +o When in readline vi command mode, repeatedly hitting ESC now does nothing, + even when ESC introduces a bound key sequence. This is closer to how + historical vi behaves. + +o New bindable readline function: skip-csi-sequence. Can be used as a + default to consume key sequences generated by keys like Home and End + without having to bind all keys. + +o New bindable readline variable: skip-completed-text, active when + completing in the middle of a word. If enabled, it means that characters + in the completion that match characters in the remainder of the word are + "skipped" rather than inserted into the line. + +o The pre-readline-6.0 version of menu completion is available as + "old-menu-complete" for users who do not like the readline-6.0 version. + +o New bindable readline variable: echo-control-characters. If enabled, and + the tty ECHOCTL bit is set, controls the echoing of characters + corresponding to keyboard-generated signals. + +o New bindable readline variable: enable-meta-key. Controls whether or not + readline sends the smm/rmm sequences if the terminal indicates it has a + meta key that enables eight-bit characters. + +A short feature history dating from Bash-2.0: + +Bash-4.0 contained the following new features: + o When using substring expansion on the positional parameters, a starting index of 0 now causes $0 to be prefixed to the list. @@ -536,8 +645,6 @@ o New bindable readline functions shell-backward-kill-word and shell-kill-word which kill words backward and forward, but use the same word boundaries as shell-forward-word and shell-backward-word. -A short feature history dating from Bash-2.0: - Bash-3.2 contained the following new features: o Bash-3.2 now checks shell scripts for NUL characters rather than non-printing @@ -794,13 +901,14 @@ grammar tighter and smaller (66 reduce-reduce conflicts gone) lots of code now smaller and faster test suite greatly expanded -B2) Are there any user-visible incompatibilities between bash-4.0, bash-3.2, - and bash-2.05b? +B2) Are there any user-visible incompatibilities between bash-4.1 and + previous bash versions? -There are a few incompatibilities between version 4.0 and version 3.2. -They are detailed in the file COMPAT in the bash distribution. That file -is not meant to be all-encompassing; send mail to bash-maintainers@gnu.org -if if you find something that's not mentioned there. +There are a few incompatibilities between version 4.1 and previous +versions. They are detailed in the file COMPAT in the bash distribution. +That file is not meant to be all-encompassing; send mail to +bash-maintainers@gnu.org (or bug-bash@gnu.org if you would like +community discussion) if if you find something that's not mentioned there. Section C: Differences from other Unix shells @@ -837,7 +945,7 @@ Things bash has that sh does not: HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, GROUPS, PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC, SHELLOPTS, OPTERR, HOSTFILE, TMOUT, FUNCNAME, histchars, - auto_resume, PROMPT_DIRTRIM + auto_resume, PROMPT_DIRTRIM, BASHOPTS, BASH_XTRACEFD DEBUG trap ERR trap variable arrays with new compound assignment syntax @@ -848,7 +956,7 @@ Things bash has that sh does not: bash return builtin will exit a file sourced with `.' builtins: cd -/-L/-P, exec -l/-c/-a, echo -e/-E, hash -d/-l/-p/-t. export -n/-f/-p/name=value, pwd -L/-P, - read -e/-p/-a/-t/-n/-d/-s/-u/-i, + read -e/-p/-a/-t/-n/-d/-s/-u/-i/-N, readonly -a/-f/name=value, trap -l, set +o, set -b/-m/-o option/-h/-p/-B/-C/-H/-P, unset -f/-v, ulimit -i/-m/-p/-q/-u/-x, @@ -894,6 +1002,7 @@ Things bash has that sh does not: case-modifying word expansions and variable attributes associative arrays coprocesses using the `coproc' reserved word and variables + shell assignment of a file descriptor used in a redirection to a variable Things sh has that bash does not: uses variable SHACCT to do shell accounting @@ -950,7 +1059,7 @@ Things bash has or uses that ksh88 does not: builtins: bind, builtin, command, declare, dirs, echo -e/-E, enable, exec -l/-c/-a, fc -s, export -n/-f/-p, hash, help, history, jobs -x/-r/-s, kill -s/-n/-l, local, logout, popd, pushd, - read -e/-p/-a/-t/-n/-d/-s, readonly -a/-n/-f/-p, + read -e/-p/-a/-t/-n/-d/-s/-N, readonly -a/-n/-f/-p, set -o braceexpand/-o histexpand/-o interactive-comments/ -o notify/-o physical/-o posix/-o hashall/-o onecmd/ -h/-B/-C/-b/-H/-P, set +o, suspend, trap -l, type, @@ -979,6 +1088,7 @@ Things bash has or uses that ksh88 does not: case-modifying word expansions and variable attributes associative arrays coprocesses using the `coproc' reserved word and variables + shell assignment of a file descriptor used in a redirection to a variable Things ksh88 has or uses that bash does not: tracked aliases (alias -t) @@ -1006,9 +1116,9 @@ Implementation differences: C3) Which new features in ksh-93 are not in bash, and which are? -This list is current through ksh93t (11/04/2008) +This list is current through ksh93t+ (05/05/2009) -New things in ksh-93 not in bash-4.0: +New things in ksh-93 not in bash-4.1: floating point arithmetic and variables math library functions ${!name[sub]} name of subscript for associative array @@ -1031,10 +1141,11 @@ New things in ksh-93 not in bash-4.0: `.' can execute shell functions getopts -a printf %B, %H, %P, %R, %T, %Z modifiers, output base for %d, `=' flag - read -N (read -n differs, too)/-v + read -n/-N differ/-v set -o showme/-o multiline (bash default) `sleep' and `getconf' builtins (bash has loadable versions) typeset -n and `nameref' variables + [[ -R name ]] (checks whether or not name is a nameref) typeset -C/-S/-T/-X/-h/-s experimental `type' definitions (a la typedef) using typeset negative subscripts for indexed array variables @@ -1042,11 +1153,11 @@ New things in ksh-93 not in bash-4.0: associative array assignments using `;' as element separator command substitution $(n<#) expands to current byte offset for fd N new '${ ' form of command substitution, executed in current shell - new >;/<#pat/<##pat/<#/># redirections - redirection operators preceded with {varname} to store fd number in varname + new >;/<>;/<#pat/<##pat/<#/># redirections brace expansion printf-like formats + [[ -v var ]] operators (checks whether or not var is set) -New things in ksh-93 present in bash-4.0: +New things in ksh-93 present in bash-4.1: associative arrays [n]<&word- and [n]>&word- redirections (combination dup and close) for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command @@ -1080,6 +1191,8 @@ New things in ksh-93 present in bash-4.0: the `;&' case statement "fallthrough" pattern list terminator csh-style history expansion and set -H negative offsets in ${param:offset:length} + redirection operators preceded with {varname} to store fd number in varname + DEBUG can force skipping following command Section D: Why does bash do some things differently than other Unix shells? @@ -1641,6 +1754,32 @@ several options to the `shopt' builtin. If the `compat31' option is enabled, bash reverts to the bash-3.1 behavior with respect to quoting the rhs of the =~ operator. +E15) Tell me more about the shell compatibility level. + +Bash-4.0 introduced the concept of a `shell compatibility level', specified +as a set of options to the shopt builtin (compat31, compat32, compat40 at +this writing). There is only one current compatibility level -- each +option is mutually exclusive. This list does not mention behavior that is +standard for a particular version (e.g., setting compat32 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). + +compat31 set + - the < and > operators to the [[ command do not consider the current + locale when comparing strings + - quoting the rhs of the regexp matching operator (=~) has no + special effect + +compat32 set + - the < and > operators to the [[ command do not consider the current + locale when comparing strings + +compat40 set + - the < and > operators to the [[ command do not consider the current + locale when comparing strings + - interrupting a command list such as "a ; b ; c" causes the execution + of the entire list to be aborted + Section F: Things to watch out for on certain Unix versions F1) Why can't I use command line editing in my `cmdtool'? @@ -2049,9 +2188,9 @@ Some of the new ksh93 pattern matching operators, like backreferencing H5) When will the next release appear? -The next version will appear sometime in 2009. Never make predictions. +The next version will appear sometime in 2010. Never make predictions. -This document is Copyright 1995-2009 by Chester Ramey. +This document is Copyright 1995-2010 by Chester Ramey. Permission is hereby granted, without written agreement and without license or royalty fees, to use, copy, and distribute @@ -572,7 +572,8 @@ QQUUOOTTIINNGG as follows: \\aa alert (bell) \\bb backspace - \\ee an escape character + \\ee + \\EE an escape character \\ff form feed \\nn new line \\rr carriage return @@ -580,6 +581,7 @@ QQUUOOTTIINNGG \\vv vertical tab \\\\ backslash \\'' single quote + \\"" double quote \\_n_n_n the eight-bit character whose value is the octal value _n_n_n (one to three digits) \\xx_H_H the eight-bit character whose value is the hexadecimal @@ -1080,7 +1082,7 @@ PPAARRAAMMEETTEERRSS formatting. LLIINNEESS Used by the sseelleecctt builtin command to determine the column length for printing selection lists. Automatically set upon - receipt of a SIGWINCH. + receipt of a SSIIGGWWIINNCCHH. MMAAIILL If this parameter is set to a file name and the MMAAIILLPPAATTHH vari- able is not set, bbaasshh informs the user of the arrival of mail in the specified file. @@ -2319,7 +2321,7 @@ CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENN +o shell aliases defined with aalliiaass +o various process IDs, including those of background jobs, the - value of $$$$, and the value of $$PPPPIIDD + value of $$$$, and the value of PPPPIIDD When a simple command other than a builtin or shell function is to be executed, it is invoked in a separate execution environment that con- @@ -2563,7 +2565,8 @@ PPRROOMMPPTTIINNGG \\vv the version of bbaasshh (e.g., 2.00) \\VV the release of bbaasshh, version + patch level (e.g., 2.00.0) \\ww the current working directory, with $$HHOOMMEE abbreviated - with a tilde (uses the $$PPRROOMMPPTT__DDIIRRTTRRIIMM variable) + with a tilde (uses the value of the PPRROOMMPPTT__DDIIRRTTRRIIMM vari- + able) \\WW the basename of the current working directory, with $$HHOOMMEE abbreviated with a tilde \\!! the history number of this command @@ -2571,66 +2574,66 @@ PPRROOMMPPTTIINNGG \\$$ if the effective UID is 0, a ##, otherwise a $$ \\_n_n_n the character corresponding to the octal number _n_n_n \\\\ a backslash - \\[[ begin a sequence of non-printing characters, which could - be used to embed a terminal control sequence into the + \\[[ begin a sequence of non-printing characters, which could + be used to embed a terminal control sequence into the prompt \\]] end a sequence of non-printing characters - The command number and the history number are usually different: the - history number of a command is its position in the history list, which - may include commands restored from the history file (see HHIISSTTOORRYY - below), while the command number is the position in the sequence of - commands executed during the current shell session. After the string - is decoded, it is expanded via parameter expansion, command substitu- - tion, arithmetic expansion, and quote removal, subject to the value of - the pprroommppttvvaarrss shell option (see the description of the sshhoopptt command + The command number and the history number are usually different: the + history number of a command is its position in the history list, which + may include commands restored from the history file (see HHIISSTTOORRYY + below), while the command number is the position in the sequence of + commands executed during the current shell session. After the string + is decoded, it is expanded via parameter expansion, command substitu- + tion, arithmetic expansion, and quote removal, subject to the value of + the pprroommppttvvaarrss shell option (see the description of the sshhoopptt command under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). RREEAADDLLIINNEE - This is the library that handles reading input when using an interac- + This is the library that handles reading input when using an interac- tive shell, unless the ----nnooeeddiittiinngg option is given at shell invocation. Line editing is also used when using the --ee option to the rreeaadd builtin. By default, the line editing commands are similar to those of emacs. A vi-style line editing interface is also available. Line editing can be - enabled at any time using the --oo eemmaaccss or --oo vvii options to the sseett - builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). To turn off line editing - after the shell is running, use the ++oo eemmaaccss or ++oo vvii options to the + enabled at any time using the --oo eemmaaccss or --oo vvii options to the sseett + builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). To turn off line editing + after the shell is running, use the ++oo eemmaaccss or ++oo vvii options to the sseett builtin. RReeaaddlliinnee NNoottaattiioonn In this section, the emacs-style notation is used to denote keystrokes. - Control keys are denoted by C-_k_e_y, e.g., C-n means Control-N. Simi- - larly, _m_e_t_a keys are denoted by M-_k_e_y, so M-x means Meta-X. (On key- - boards without a _m_e_t_a key, M-_x means ESC _x, i.e., press the Escape key + Control keys are denoted by C-_k_e_y, e.g., C-n means Control-N. Simi- + larly, _m_e_t_a keys are denoted by M-_k_e_y, so M-x means Meta-X. (On key- + boards without a _m_e_t_a key, M-_x means ESC _x, i.e., press the Escape key then the _x key. This makes ESC the _m_e_t_a _p_r_e_f_i_x. The combination M-C-_x - means ESC-Control-_x, or press the Escape key then hold the Control key + means ESC-Control-_x, or press the Escape key then hold the Control key while pressing the _x key.) Readline commands may be given numeric _a_r_g_u_m_e_n_t_s, which normally act as - a repeat count. Sometimes, however, it is the sign of the argument - that is significant. Passing a negative argument to a command that - acts in the forward direction (e.g., kkiillll--lliinnee) causes that command to - act in a backward direction. Commands whose behavior with arguments + a repeat count. Sometimes, however, it is the sign of the argument + that is significant. Passing a negative argument to a command that + acts in the forward direction (e.g., kkiillll--lliinnee) causes that command to + act in a backward direction. Commands whose behavior with arguments deviates from this are noted below. - When a command is described as _k_i_l_l_i_n_g text, the text deleted is saved + When a command is described as _k_i_l_l_i_n_g text, the text deleted is saved for possible future retrieval (_y_a_n_k_i_n_g). The killed text is saved in a _k_i_l_l _r_i_n_g. Consecutive kills cause the text to be accumulated into one unit, which can be yanked all at once. Commands which do not kill text separate the chunks of text on the kill ring. RReeaaddlliinnee IInniittiiaalliizzaattiioonn - Readline is customized by putting commands in an initialization file - (the _i_n_p_u_t_r_c file). The name of this file is taken from the value of - the IINNPPUUTTRRCC variable. If that variable is unset, the default is - _~_/_._i_n_p_u_t_r_c. When a program which uses the readline library starts up, + Readline is customized by putting commands in an initialization file + (the _i_n_p_u_t_r_c file). The name of this file is taken from the value of + the IINNPPUUTTRRCC variable. If that variable is unset, the default is + _~_/_._i_n_p_u_t_r_c. When a program which uses the readline library starts up, the initialization file is read, and the key bindings and variables are - set. There are only a few basic constructs allowed in the readline - initialization file. Blank lines are ignored. Lines beginning with a - ## are comments. Lines beginning with a $$ indicate conditional con- + set. There are only a few basic constructs allowed in the readline + initialization file. Blank lines are ignored. Lines beginning with a + ## are comments. Lines beginning with a $$ indicate conditional con- structs. Other lines denote key bindings and variable settings. - The default key-bindings may be changed with an _i_n_p_u_t_r_c file. Other + The default key-bindings may be changed with an _i_n_p_u_t_r_c file. Other programs that use this library may add their own commands and bindings. For example, placing @@ -2638,19 +2641,19 @@ RREEAADDLLIINNEE M-Control-u: universal-argument or C-Meta-u: universal-argument - into the _i_n_p_u_t_r_c would make M-C-u execute the readline command _u_n_i_v_e_r_- + into the _i_n_p_u_t_r_c would make M-C-u execute the readline command _u_n_i_v_e_r_- _s_a_l_-_a_r_g_u_m_e_n_t. - The following symbolic character names are recognized: _R_U_B_O_U_T, _D_E_L, + The following symbolic character names are recognized: _R_U_B_O_U_T, _D_E_L, _E_S_C, _L_F_D, _N_E_W_L_I_N_E, _R_E_T, _R_E_T_U_R_N, _S_P_C, _S_P_A_C_E, and _T_A_B. - In addition to command names, readline allows keys to be bound to a + In addition to command names, readline allows keys to be bound to a string that is inserted when the key is pressed (a _m_a_c_r_o). RReeaaddlliinnee KKeeyy BBiinnddiinnggss - The syntax for controlling key bindings in the _i_n_p_u_t_r_c file is simple. - All that is required is the name of the command or the text of a macro - and a key sequence to which it should be bound. The name may be speci- + The syntax for controlling key bindings in the _i_n_p_u_t_r_c file is simple. + All that is required is the name of the command or the text of a macro + and a key sequence to which it should be bound. The name may be speci- fied in one of two ways: as a symbolic key name, possibly with _M_e_t_a_- or _C_o_n_t_r_o_l_- prefixes, or as a key sequence. @@ -2661,15 +2664,15 @@ RREEAADDLLIINNEE Meta-Rubout: backward-kill-word Control-o: "> output" - In the above example, _C_-_u is bound to the function uunniivveerrssaall--aarrgguummeenntt, - _M_-_D_E_L is bound to the function bbaacckkwwaarrdd--kkiillll--wwoorrdd, and _C_-_o is bound to - run the macro expressed on the right hand side (that is, to insert the + In the above example, _C_-_u is bound to the function uunniivveerrssaall--aarrgguummeenntt, + _M_-_D_E_L is bound to the function bbaacckkwwaarrdd--kkiillll--wwoorrdd, and _C_-_o is bound to + run the macro expressed on the right hand side (that is, to insert the text ``> output'' into the line). - In the second form, ""kkeeyysseeqq"":_f_u_n_c_t_i_o_n_-_n_a_m_e or _m_a_c_r_o, kkeeyysseeqq differs - from kkeeyynnaammee above in that strings denoting an entire key sequence may - be specified by placing the sequence within double quotes. Some GNU - Emacs style key escapes can be used, as in the following example, but + In the second form, ""kkeeyysseeqq"":_f_u_n_c_t_i_o_n_-_n_a_m_e or _m_a_c_r_o, kkeeyysseeqq differs + from kkeeyynnaammee above in that strings denoting an entire key sequence may + be specified by placing the sequence within double quotes. Some GNU + Emacs style key escapes can be used, as in the following example, but the symbolic character names are not recognized. "\C-u": universal-argument @@ -2677,7 +2680,7 @@ RREEAADDLLIINNEE "\e[11~": "Function Key 1" In this example, _C_-_u is again bound to the function uunniivveerrssaall--aarrgguummeenntt. - _C_-_x _C_-_r is bound to the function rree--rreeaadd--iinniitt--ffiillee, and _E_S_C _[ _1 _1 _~ is + _C_-_x _C_-_r is bound to the function rree--rreeaadd--iinniitt--ffiillee, and _E_S_C _[ _1 _1 _~ is bound to insert the text ``Function Key 1''. The full set of GNU Emacs style escape sequences is @@ -2688,7 +2691,7 @@ RREEAADDLLIINNEE \\"" literal " \\'' literal ' - In addition to the GNU Emacs style escape sequences, a second set of + In addition to the GNU Emacs style escape sequences, a second set of backslash escapes is available: \\aa alert (bell) \\bb backspace @@ -2698,20 +2701,20 @@ RREEAADDLLIINNEE \\rr carriage return \\tt horizontal tab \\vv vertical tab - \\_n_n_n the eight-bit character whose value is the octal value + \\_n_n_n the eight-bit character whose value is the octal value _n_n_n (one to three digits) - \\xx_H_H the eight-bit character whose value is the hexadecimal + \\xx_H_H the eight-bit character whose value is the hexadecimal value _H_H (one or two hex digits) When entering the text of a macro, single or double quotes must be used to indicate a macro definition. Unquoted text is assumed to be a func- - tion name. In the macro body, the backslash escapes described above - are expanded. Backslash will quote any other character in the macro + tion name. In the macro body, the backslash escapes described above + are expanded. Backslash will quote any other character in the macro text, including " and '. - BBaasshh allows the current readline key bindings to be displayed or modi- - fied with the bbiinndd builtin command. The editing mode may be switched - during interactive use by using the --oo option to the sseett builtin com- + BBaasshh allows the current readline key bindings to be displayed or modi- + fied with the bbiinndd builtin command. The editing mode may be switched + during interactive use by using the --oo option to the sseett builtin com- mand (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). RReeaaddlliinnee VVaarriiaabblleess @@ -2721,186 +2724,186 @@ RREEAADDLLIINNEE sseett _v_a_r_i_a_b_l_e_-_n_a_m_e _v_a_l_u_e - Except where noted, readline variables can take the values OOnn or OOffff - (without regard to case). Unrecognized variable names are ignored. - When a variable value is read, empty or null values, "on" (case-insen- + Except where noted, readline variables can take the values OOnn or OOffff + (without regard to case). Unrecognized variable names are ignored. + When a variable value is read, empty or null values, "on" (case-insen- sitive), and "1" are equivalent to OOnn. All other values are equivalent to OOffff. The variables and their default values are: bbeellll--ssttyyllee ((aauuddiibbllee)) - Controls what happens when readline wants to ring the terminal + Controls what happens when readline wants to ring the terminal bell. If set to nnoonnee, readline never rings the bell. If set to - vviissiibbllee, readline uses a visible bell if one is available. If + vviissiibbllee, readline uses a visible bell if one is available. If set to aauuddiibbllee, readline attempts to ring the terminal's bell. bbiinndd--ttttyy--ssppeecciiaall--cchhaarrss ((OOnn)) - If set to OOnn, readline attempts to bind the control characters + If set to OOnn, readline attempts to bind the control characters treated specially by the kernel's terminal driver to their read- line equivalents. ccoommmmeenntt--bbeeggiinn ((````##'''')) - The string that is inserted when the readline iinnsseerrtt--ccoommmmeenntt + The string that is inserted when the readline iinnsseerrtt--ccoommmmeenntt command is executed. This command is bound to MM--## in emacs mode and to ## in vi command mode. ccoommpplleettiioonn--iiggnnoorree--ccaassee ((OOffff)) If set to OOnn, readline performs filename matching and completion in a case-insensitive fashion. ccoommpplleettiioonn--pprreeffiixx--ddiissppllaayy--lleennggtthh ((00)) - The length in characters of the common prefix of a list of pos- - sible completions that is displayed without modification. When - set to a value greater than zero, common prefixes longer than - this value are replaced with an ellipsis when displaying possi- + The length in characters of the common prefix of a list of pos- + sible completions that is displayed without modification. When + set to a value greater than zero, common prefixes longer than + this value are replaced with an ellipsis when displaying possi- ble completions. ccoommpplleettiioonn--qquueerryy--iitteemmss ((110000)) - This determines when the user is queried about viewing the num- - 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 + This determines when the user is queried about viewing the num- + 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 + asked whether or not he 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 + If set to OOnn, readline will convert characters with the eighth bit set to an ASCII key sequence by stripping the eighth bit and - prefixing an escape character (in effect, using escape as the + prefixing an escape character (in effect, using escape as the _m_e_t_a _p_r_e_f_i_x). ddiissaabbllee--ccoommpplleettiioonn ((OOffff)) If set to OOnn, readline will inhibit word completion. Completion - characters will be inserted into the line as if they had been + characters will be inserted into the line as if they had been mapped to sseellff--iinnsseerrtt. eeddiittiinngg--mmooddee ((eemmaaccss)) Controls whether readline begins with a set of key bindings sim- ilar to _e_m_a_c_s or _v_i. eeddiittiinngg--mmooddee can be set to either eemmaaccss or vvii. eecchhoo--ccoonnttrrooll--cchhaarraacctteerrss ((OOnn)) - When set to OOnn, on operating systems that indicate they support + When set to OOnn, on operating systems that indicate they support it, readline echoes a character corresponding to a signal gener- ated from the keyboard. eennaabbllee--kkeeyyppaadd ((OOffff)) When set to OOnn, readline will try to enable the application key- - pad when it is called. Some systems need this to enable the + pad when it is called. Some systems need this to enable the arrow keys. eennaabbllee--mmeettaa--kkeeyy ((OOnn)) - When set to OOnn, readline will try to enable any meta modifier - key the terminal claims to support when it is called. On many + When set to OOnn, readline will try to enable any meta modifier + key the terminal claims to support when it is called. On many terminals, the meta key is used to send eight-bit characters. eexxppaanndd--ttiillddee ((OOffff)) - If set to oonn, tilde expansion is performed when readline + If set to oonn, tilde expansion is performed when readline attempts word completion. hhiissttoorryy--pprreesseerrvvee--ppooiinntt ((OOffff)) - If set to oonn, the history code attempts to place point at the - same location on each history line retrieved with pprreevviioouuss--hhiiss-- + If set to oonn, the history code attempts to place point at the + same location on each history line retrieved with pprreevviioouuss--hhiiss-- ttoorryy or nneexxtt--hhiissttoorryy. hhiissttoorryy--ssiizzee ((00)) - Set the maximum number of history entries saved in the history + Set the maximum number of history entries saved in the history list. If set to zero, the number of entries in the history list is not limited. hhoorriizzoonnttaall--ssccrroollll--mmooddee ((OOffff)) - When set to OOnn, makes readline use a single line for display, + When set to OOnn, makes readline use a single line for display, scrolling the input horizontally on a single screen line when it - becomes longer than the screen width rather than wrapping to a + becomes longer than the screen width rather than wrapping to a new line. iinnppuutt--mmeettaa ((OOffff)) - If set to OOnn, readline will enable eight-bit input (that is, it - will not strip the high bit from the characters it reads), + If set to OOnn, readline will enable eight-bit input (that is, it + will not strip the high bit from the characters it reads), regardless of what the terminal claims it can support. The name mmeettaa--ffllaagg is a synonym for this variable. iisseeaarrcchh--tteerrmmiinnaattoorrss ((````CC--[[CC--JJ'''')) - The string of characters that should terminate an incremental - search without subsequently executing the character as a com- - mand. If this variable has not been given a value, the charac- + The string of characters that should terminate an incremental + search without subsequently executing the character as a com- + mand. If this variable has not been given a value, the charac- ters _E_S_C and _C_-_J will terminate an incremental search. kkeeyymmaapp ((eemmaaccss)) - Set the current readline keymap. The set of valid keymap names - is _e_m_a_c_s_, _e_m_a_c_s_-_s_t_a_n_d_a_r_d_, _e_m_a_c_s_-_m_e_t_a_, _e_m_a_c_s_-_c_t_l_x_, _v_i_, _v_i_-_c_o_m_- - _m_a_n_d, and _v_i_-_i_n_s_e_r_t. _v_i is equivalent to _v_i_-_c_o_m_m_a_n_d; _e_m_a_c_s is - equivalent to _e_m_a_c_s_-_s_t_a_n_d_a_r_d. The default value is _e_m_a_c_s; the + Set the current readline keymap. The set of valid keymap names + is _e_m_a_c_s_, _e_m_a_c_s_-_s_t_a_n_d_a_r_d_, _e_m_a_c_s_-_m_e_t_a_, _e_m_a_c_s_-_c_t_l_x_, _v_i_, _v_i_-_c_o_m_- + _m_a_n_d, and _v_i_-_i_n_s_e_r_t. _v_i is equivalent to _v_i_-_c_o_m_m_a_n_d; _e_m_a_c_s is + equivalent to _e_m_a_c_s_-_s_t_a_n_d_a_r_d. The default value is _e_m_a_c_s; the value of eeddiittiinngg--mmooddee also affects the default keymap. mmaarrkk--ddiirreeccttoorriieess ((OOnn)) If set to OOnn, completed directory names have a slash appended. mmaarrkk--mmooddiiffiieedd--lliinneess ((OOffff)) - If set to OOnn, history lines that have been modified are dis- + If set to OOnn, history lines that have been modified are dis- played with a preceding asterisk (**). mmaarrkk--ssyymmlliinnkkeedd--ddiirreeccttoorriieess ((OOffff)) If set to OOnn, completed names which are symbolic links to direc- - tories have a slash appended (subject to the value of + tories have a slash appended (subject to the value of mmaarrkk--ddiirreeccttoorriieess). mmaattcchh--hhiiddddeenn--ffiilleess ((OOnn)) - This variable, when set to OOnn, causes readline to match files - whose names begin with a `.' (hidden files) when performing - filename completion, unless the leading `.' is supplied by the + This variable, when set to OOnn, causes readline to match files + whose names begin with a `.' (hidden files) when performing + filename completion, unless the leading `.' is supplied by the user in the filename to be completed. oouuttppuutt--mmeettaa ((OOffff)) - If set to OOnn, readline will display characters with the eighth + If set to OOnn, readline will display characters with the eighth bit set directly rather than as a meta-prefixed escape sequence. ppaaggee--ccoommpplleettiioonnss ((OOnn)) - If set to OOnn, readline uses an internal _m_o_r_e-like pager to dis- + If set to OOnn, readline uses an internal _m_o_r_e-like pager to dis- play a screenful of possible completions at a time. pprriinntt--ccoommpplleettiioonnss--hhoorriizzoonnttaallllyy ((OOffff)) - If set to OOnn, readline will display completions with matches - sorted horizontally in alphabetical order, rather than down the + If set to OOnn, readline will display completions with matches + sorted horizontally in alphabetical order, rather than down the screen. rreevveerrtt--aallll--aatt--nneewwlliinnee ((OOffff)) - If set to oonn, readline will undo all changes to history lines + If set to oonn, readline will undo all changes to history lines before returning when aacccceepptt--lliinnee is executed. By default, his- - tory lines may be modified and retain individual undo lists + tory lines may be modified and retain individual undo lists across calls to rreeaaddlliinnee. sshhooww--aallll--iiff--aammbbiigguuoouuss ((OOffff)) - This alters the default behavior of the completion functions. + This alters the default behavior of the completion functions. If set to oonn, words which have more than one possible completion - cause the matches to be listed immediately instead of ringing + cause the matches to be listed immediately instead of ringing the bell. sshhooww--aallll--iiff--uunnmmooddiiffiieedd ((OOffff)) - This alters the default behavior of the completion functions in + This alters the default behavior of the completion functions in a fashion similar to sshhooww--aallll--iiff--aammbbiigguuoouuss. If set to oonn, words - which have more than one possible completion without any possi- - ble partial completion (the possible completions don't share a - common prefix) cause the matches to be listed immediately + which have more than one possible completion without any possi- + ble partial completion (the possible completions don't share a + common prefix) cause the matches to be listed immediately instead of ringing the bell. sskkiipp--ccoommpplleetteedd--tteexxtt ((OOffff)) - If set to OOnn, this alters the default completion behavior when - inserting a single match into the line. It's only active when - performing completion in the middle of a word. If enabled, - readline does not insert characters from the completion that - match characters after point in the word being completed, so + If set to OOnn, this alters the default completion behavior when + inserting a single match into the line. It's only active when + performing completion in the middle of a word. If enabled, + readline does not insert characters from the completion that + match characters after point in the word being completed, so portions of the word following the cursor are not duplicated. vviissiibbllee--ssttaattss ((OOffff)) - If set to OOnn, a character denoting a file's type as reported by - _s_t_a_t(2) is appended to the filename when listing possible com- + If set to OOnn, a character denoting a file's type as reported by + _s_t_a_t(2) is appended to the filename when listing possible com- pletions. RReeaaddlliinnee CCoonnddiittiioonnaall CCoonnssttrruuccttss - Readline implements a facility similar in spirit to the conditional - compilation features of the C preprocessor which allows key bindings - and variable settings to be performed as the result of tests. There + Readline implements a facility similar in spirit to the conditional + compilation features of the C preprocessor which allows key bindings + and variable settings to be performed as the result of tests. There are four parser directives used. - $$iiff The $$iiff construct allows bindings to be made based on the edit- - ing mode, the terminal being used, or the application using - readline. The text of the test extends to the end of the line; + $$iiff The $$iiff construct allows bindings to be made based on the edit- + ing mode, the terminal being used, or the application using + readline. The text of the test extends to the end of the line; no characters are required to isolate it. - mmooddee The mmooddee== form of the $$iiff directive is used to test - whether readline is in emacs or vi mode. This may be - used in conjunction with the sseett kkeeyymmaapp command, for - instance, to set bindings in the _e_m_a_c_s_-_s_t_a_n_d_a_r_d and - _e_m_a_c_s_-_c_t_l_x keymaps only if readline is starting out in + mmooddee The mmooddee== form of the $$iiff directive is used to test + whether readline is in emacs or vi mode. This may be + used in conjunction with the sseett kkeeyymmaapp command, for + instance, to set bindings in the _e_m_a_c_s_-_s_t_a_n_d_a_r_d and + _e_m_a_c_s_-_c_t_l_x keymaps only if readline is starting out in emacs mode. - tteerrmm The tteerrmm== form may be used to include terminal-specific + tteerrmm The tteerrmm== form may be used to include terminal-specific key bindings, perhaps to bind the key sequences output by the terminal's function keys. The word on the right side of the == is tested against the both full name of the ter- - minal and the portion of the terminal name before the - first --. This allows _s_u_n to match both _s_u_n and _s_u_n_-_c_m_d, + minal and the portion of the terminal name before the + first --. This allows _s_u_n to match both _s_u_n and _s_u_n_-_c_m_d, for instance. aapppplliiccaattiioonn The aapppplliiccaattiioonn construct is used to include application- specific settings. Each program using the readline - library sets the _a_p_p_l_i_c_a_t_i_o_n _n_a_m_e, and an initialization + library sets the _a_p_p_l_i_c_a_t_i_o_n _n_a_m_e, and an initialization file can test for a particular value. This could be used - to bind key sequences to functions useful for a specific - program. For instance, the following command adds a key - sequence that quotes the current or previous word in + to bind key sequences to functions useful for a specific + program. For instance, the following command adds a key + sequence that quotes the current or previous word in Bash: $$iiff Bash @@ -2915,51 +2918,51 @@ RREEAADDLLIINNEE test fails. $$iinncclluuddee - This directive takes a single filename as an argument and reads - commands and bindings from that file. For example, the follow- + This directive takes a single filename as an argument and reads + commands and bindings from that file. For example, the follow- ing directive would read _/_e_t_c_/_i_n_p_u_t_r_c: $$iinncclluuddee _/_e_t_c_/_i_n_p_u_t_r_c SSeeaarrcchhiinngg - Readline provides commands for searching through the command history + Readline provides commands for searching through the command history (see HHIISSTTOORRYY below) for lines containing a specified string. There are two search modes: _i_n_c_r_e_m_e_n_t_a_l and _n_o_n_-_i_n_c_r_e_m_e_n_t_a_l. - Incremental searches begin before the user has finished typing the - search string. As each character of the search string is typed, read- + Incremental searches begin before the user has finished typing the + search string. As each character of the search string is typed, read- line displays the next entry from the history matching the string typed - so far. An incremental search requires only as many characters as - needed to find the desired history entry. The characters present in - the value of the iisseeaarrcchh--tteerrmmiinnaattoorrss variable are used to terminate an + so far. An incremental search requires only as many characters as + needed to find the desired history entry. The characters present in + the value of the iisseeaarrcchh--tteerrmmiinnaattoorrss variable are used to terminate an incremental search. If that variable has not been assigned a value the - Escape and Control-J characters will terminate an incremental search. - Control-G will abort an incremental search and restore the original - line. When the search is terminated, the history entry containing the + Escape and Control-J characters will terminate an incremental search. + Control-G will abort an incremental search and restore the original + line. When the search is terminated, the history entry containing the search string becomes the current line. - To find other matching entries in the history list, type Control-S or - Control-R as appropriate. This will search backward or forward in the - history for the next entry matching the search string typed so far. - Any other key sequence bound to a readline command will terminate the - search and execute that command. For instance, a _n_e_w_l_i_n_e will termi- + To find other matching entries in the history list, type Control-S or + Control-R as appropriate. This will search backward or forward in the + history for the next entry matching the search string typed so far. + Any other key sequence bound to a readline command will terminate the + search and execute that command. For instance, a _n_e_w_l_i_n_e will termi- nate the search and accept the line, thereby executing the command from the history list. Readline remembers the last incremental search string. If two Control- - Rs are typed without any intervening characters defining a new search + Rs are typed without any intervening characters defining a new search string, any remembered search string is used. - Non-incremental searches read the entire search string before starting - to search for matching history lines. The search string may be typed + Non-incremental searches read the entire search string before starting + to search for matching history lines. The search string may be typed by the user or be part of the contents of the current line. RReeaaddlliinnee CCoommmmaanndd NNaammeess - The following is a list of the names of the commands and the default + The following is a list of the names of the commands and the default key sequences to which they are bound. Command names without an accom- panying key sequence are unbound by default. In the following descrip- - tions, _p_o_i_n_t refers to the current cursor position, and _m_a_r_k refers to - a cursor position saved by the sseett--mmaarrkk command. The text between the + tions, _p_o_i_n_t refers to the current cursor position, and _m_a_r_k refers to + a cursor position saved by the sseett--mmaarrkk command. The text between the point and mark is referred to as the _r_e_g_i_o_n. CCoommmmaannddss ffoorr MMoovviinngg @@ -2975,17 +2978,17 @@ RREEAADDLLIINNEE Move forward to the end of the next word. Words are composed of alphanumeric characters (letters and digits). bbaacckkwwaarrdd--wwoorrdd ((MM--bb)) - Move back to the start of the current or previous word. Words + Move back to the start of the current or previous word. Words are composed of alphanumeric characters (letters and digits). sshheellll--ffoorrwwaarrdd--wwoorrdd - Move forward to the end of the next word. Words are delimited + Move forward to the end of the next word. Words are delimited by non-quoted shell metacharacters. sshheellll--bbaacckkwwaarrdd--wwoorrdd - Move back to the start of the current or previous word. Words + Move back to the start of the current or previous word. Words are delimited by non-quoted shell metacharacters. cclleeaarr--ssccrreeeenn ((CC--ll)) - Clear the screen leaving the current line at the top of the - screen. With an argument, refresh the current line without + Clear the screen leaving the current line at the top of the + screen. With an argument, refresh the current line without clearing the screen. rreeddrraaww--ccuurrrreenntt--lliinnee Refresh the current line. @@ -2993,132 +2996,132 @@ RREEAADDLLIINNEE CCoommmmaannddss ffoorr MMaanniippuullaattiinngg tthhee HHiissttoorryy aacccceepptt--lliinnee ((NNeewwlliinnee,, RReettuurrnn)) Accept the line regardless of where the cursor is. If this line - is non-empty, add it to the history list according to the state - of the HHIISSTTCCOONNTTRROOLL variable. If the line is a modified history + is non-empty, add it to the history list according to the state + of the HHIISSTTCCOONNTTRROOLL variable. If the line is a modified history line, then restore the history line to its original state. pprreevviioouuss--hhiissttoorryy ((CC--pp)) Fetch the previous command from the history list, moving back in the list. nneexxtt--hhiissttoorryy ((CC--nn)) - Fetch the next command from the history list, moving forward in + Fetch the next command from the history list, moving forward in the list. bbeeggiinnnniinngg--ooff--hhiissttoorryy ((MM--<<)) Move to the first line in the history. eenndd--ooff--hhiissttoorryy ((MM-->>)) - Move to the end of the input history, i.e., the line currently + Move to the end of the input history, i.e., the line currently being entered. rreevveerrssee--sseeaarrcchh--hhiissttoorryy ((CC--rr)) - Search backward starting at the current line and moving `up' - through the history as necessary. This is an incremental + Search backward starting at the current line and moving `up' + through the history as necessary. This is an incremental search. ffoorrwwaarrdd--sseeaarrcchh--hhiissttoorryy ((CC--ss)) - Search forward starting at the current line and moving `down' - through the history as necessary. This is an incremental + Search forward starting at the current line and moving `down' + through the history as necessary. This is an incremental search. nnoonn--iinnccrreemmeennttaall--rreevveerrssee--sseeaarrcchh--hhiissttoorryy ((MM--pp)) Search backward through the history starting at the current line - using a non-incremental search for a string supplied by the + using a non-incremental search for a string supplied by the user. nnoonn--iinnccrreemmeennttaall--ffoorrwwaarrdd--sseeaarrcchh--hhiissttoorryy ((MM--nn)) - Search forward through the history using a non-incremental + Search forward through the history using a non-incremental search for a string supplied by the user. hhiissttoorryy--sseeaarrcchh--ffoorrwwaarrdd - Search forward through the history for the string of characters - between the start of the current line and the point. This is a + Search forward through the history for the string of characters + between the start of the current line and the point. This is a non-incremental search. hhiissttoorryy--sseeaarrcchh--bbaacckkwwaarrdd Search backward through the history for the string of characters - between the start of the current line and the point. This is a + between the start of the current line and the point. This is a non-incremental search. yyaannkk--nntthh--aarrgg ((MM--CC--yy)) - Insert the first argument to the previous command (usually the + Insert the first argument to the previous command (usually the second word on the previous line) at point. With an argument _n, - insert the _nth word from the previous command (the words in the - previous command begin with word 0). A negative argument + insert the _nth word from the previous command (the words in the + previous command begin with word 0). A negative argument inserts the _nth word from the end of the previous command. Once - the argument _n is computed, the argument is extracted as if the + the argument _n is computed, the argument is extracted as if the "!_n" history expansion had been specified. yyaannkk--llaasstt--aarrgg ((MM--..,, MM--__)) - Insert the last argument to the previous command (the last word - of the previous history entry). With an argument, behave - exactly like yyaannkk--nntthh--aarrgg. Successive calls to yyaannkk--llaasstt--aarrgg - move back through the history list, inserting the last argument + Insert the last argument to the previous command (the last word + of the previous history entry). With an argument, behave + exactly like yyaannkk--nntthh--aarrgg. Successive calls to yyaannkk--llaasstt--aarrgg + move back through the history list, inserting the last argument of each line in turn. The history expansion facilities are used - to extract the last argument, as if the "!$" history expansion + to extract the last argument, as if the "!$" history expansion had been specified. sshheellll--eexxppaanndd--lliinnee ((MM--CC--ee)) Expand the line as the shell does. This performs alias and his- tory expansion as well as all of the shell word expansions. See - HHIISSTTOORRYY EEXXPPAANNSSIIOONN below for a description of history expansion. + HHIISSTTOORRYY EEXXPPAANNSSIIOONN below for a description of history expansion. hhiissttoorryy--eexxppaanndd--lliinnee ((MM--^^)) - Perform history expansion on the current line. See HHIISSTTOORRYY + Perform history expansion on the current line. See HHIISSTTOORRYY EEXXPPAANNSSIIOONN below for a description of history expansion. mmaaggiicc--ssppaaccee - Perform history expansion on the current line and insert a + Perform history expansion on the current line and insert a space. See HHIISSTTOORRYY EEXXPPAANNSSIIOONN below for a description of history expansion. aalliiaass--eexxppaanndd--lliinnee - Perform alias expansion on the current line. See AALLIIAASSEESS above + Perform alias expansion on the current line. See AALLIIAASSEESS above for a description of alias expansion. hhiissttoorryy--aanndd--aalliiaass--eexxppaanndd--lliinnee Perform history and alias expansion on the current line. iinnsseerrtt--llaasstt--aarrgguummeenntt ((MM--..,, MM--__)) A synonym for yyaannkk--llaasstt--aarrgg. ooppeerraattee--aanndd--ggeett--nneexxtt ((CC--oo)) - Accept the current line for execution and fetch the next line - relative to the current line from the history for editing. Any + Accept the current line for execution and fetch the next line + relative to the current line from the history for editing. Any argument is ignored. eeddiitt--aanndd--eexxeeccuuttee--ccoommmmaanndd ((CC--xxCC--ee)) - Invoke an editor on the current command line, and execute the - result as shell commands. BBaasshh attempts to invoke $$VVIISSUUAALL, + Invoke an editor on the current command line, and execute the + result as shell commands. BBaasshh attempts to invoke $$VVIISSUUAALL, $$EEDDIITTOORR, and _e_m_a_c_s as the editor, in that order. CCoommmmaannddss ffoorr CChhaannggiinngg TTeexxtt ddeelleettee--cchhaarr ((CC--dd)) - Delete the character at point. If point is at the beginning of - the line, there are no characters in the line, and the last + Delete the character at point. If point is at the beginning of + the line, there are no characters in the line, and the last character typed was not bound to ddeelleettee--cchhaarr, then return EEOOFF. bbaacckkwwaarrdd--ddeelleettee--cchhaarr ((RRuubboouutt)) - Delete the character behind the cursor. When given a numeric + Delete the character behind the cursor. When given a numeric argument, save the deleted text on the kill ring. ffoorrwwaarrdd--bbaacckkwwaarrdd--ddeelleettee--cchhaarr - Delete the character under the cursor, unless the cursor is at + Delete the character under the cursor, unless the cursor is at the end of the line, in which case the character behind the cur- sor is deleted. qquuootteedd--iinnsseerrtt ((CC--qq,, CC--vv)) - Add the next character typed to the line verbatim. This is how + Add the next character typed to the line verbatim. This is how to insert characters like CC--qq, for example. ttaabb--iinnsseerrtt ((CC--vv TTAABB)) Insert a tab character. sseellff--iinnsseerrtt ((aa,, bb,, AA,, 11,, !!,, ......)) Insert the character typed. ttrraannssppoossee--cchhaarrss ((CC--tt)) - Drag the character before point forward over the character at - point, moving point forward as well. If point is at the end of - the line, then this transposes the two characters before point. + Drag the character before point forward over the character at + point, moving point forward as well. If point is at the end of + the line, then this transposes the two characters before point. Negative arguments have no effect. ttrraannssppoossee--wwoorrddss ((MM--tt)) - Drag the word before point past the word after point, moving - point over that word as well. If point is at the end of the + Drag the word before point past the word after point, moving + point over that word as well. If point is at the end of the line, this transposes the last two words on the line. uuppccaassee--wwoorrdd ((MM--uu)) - Uppercase the current (or following) word. With a negative + Uppercase the current (or following) word. With a negative argument, uppercase the previous word, but do not move point. ddoowwnnccaassee--wwoorrdd ((MM--ll)) - Lowercase the current (or following) word. With a negative + Lowercase the current (or following) word. With a negative argument, lowercase the previous word, but do not move point. ccaappiittaalliizzee--wwoorrdd ((MM--cc)) - Capitalize the current (or following) word. With a negative + Capitalize the current (or following) word. With a negative argument, capitalize the previous word, but do not move point. oovveerrwwrriittee--mmooddee - Toggle overwrite mode. With an explicit positive numeric argu- + Toggle overwrite mode. With an explicit positive numeric argu- ment, switches to overwrite mode. With an explicit non-positive numeric argument, switches to insert mode. This command affects - only eemmaaccss mode; vvii mode does overwrite differently. Each call + only eemmaaccss mode; vvii mode does overwrite differently. Each call to _r_e_a_d_l_i_n_e_(_) starts in insert mode. In overwrite mode, charac- - ters bound to sseellff--iinnsseerrtt replace the text at point rather than - pushing the text to the right. Characters bound to bbaacckk-- - wwaarrdd--ddeelleettee--cchhaarr replace the character before point with a + ters bound to sseellff--iinnsseerrtt replace the text at point rather than + pushing the text to the right. Characters bound to bbaacckk-- + wwaarrdd--ddeelleettee--cchhaarr replace the character before point with a space. By default, this command is unbound. KKiilllliinngg aanndd YYaannkkiinngg @@ -3127,31 +3130,31 @@ RREEAADDLLIINNEE bbaacckkwwaarrdd--kkiillll--lliinnee ((CC--xx RRuubboouutt)) Kill backward to the beginning of the line. uunniixx--lliinnee--ddiissccaarrdd ((CC--uu)) - Kill backward from point to the beginning of the line. The + Kill backward from point to the beginning of the line. The killed text is saved on the kill-ring. kkiillll--wwhhoollee--lliinnee - Kill all characters on the current line, no matter where point + Kill all characters on the current line, no matter where point is. kkiillll--wwoorrdd ((MM--dd)) - Kill from point to the end of the current word, or if between - words, to the end of the next word. Word boundaries are the + Kill from point to the end of the current word, or if between + words, to the end of the next word. Word boundaries are the same as those used by ffoorrwwaarrdd--wwoorrdd. bbaacckkwwaarrdd--kkiillll--wwoorrdd ((MM--RRuubboouutt)) - Kill the word behind point. Word boundaries are the same as + Kill the word behind point. Word boundaries are the same as those used by bbaacckkwwaarrdd--wwoorrdd. sshheellll--kkiillll--wwoorrdd ((MM--dd)) - Kill from point to the end of the current word, or if between - words, to the end of the next word. Word boundaries are the + Kill from point to the end of the current word, or if between + words, to the end of the next word. Word boundaries are the same as those used by sshheellll--ffoorrwwaarrdd--wwoorrdd. sshheellll--bbaacckkwwaarrdd--kkiillll--wwoorrdd ((MM--RRuubboouutt)) - Kill the word behind point. Word boundaries are the same as + Kill the word behind point. Word boundaries are the same as those used by sshheellll--bbaacckkwwaarrdd--wwoorrdd. uunniixx--wwoorrdd--rruubboouutt ((CC--ww)) - Kill the word behind point, using white space as a word bound- + Kill the word behind point, using white space as a word bound- ary. The killed text is saved on the kill-ring. uunniixx--ffiilleennaammee--rruubboouutt - Kill the word behind point, using white space and the slash - character as the word boundaries. The killed text is saved on + Kill the word behind point, using white space and the slash + character as the word boundaries. The killed text is saved on the kill-ring. ddeelleettee--hhoorriizzoonnttaall--ssppaaccee ((MM--\\)) Delete all spaces and tabs around point. @@ -3160,65 +3163,65 @@ RREEAADDLLIINNEE ccooppyy--rreeggiioonn--aass--kkiillll Copy the text in the region to the kill buffer. ccooppyy--bbaacckkwwaarrdd--wwoorrdd - Copy the word before point to the kill buffer. The word bound- + Copy the word before point to the kill buffer. The word bound- aries are the same as bbaacckkwwaarrdd--wwoorrdd. ccooppyy--ffoorrwwaarrdd--wwoorrdd - Copy the word following point to the kill buffer. The word + Copy the word following point to the kill buffer. The word boundaries are the same as ffoorrwwaarrdd--wwoorrdd. yyaannkk ((CC--yy)) Yank the top of the kill ring into the buffer at point. yyaannkk--ppoopp ((MM--yy)) - Rotate the kill ring, and yank the new top. Only works follow- + Rotate the kill ring, and yank the new top. Only works follow- ing yyaannkk or yyaannkk--ppoopp. NNuummeerriicc AArrgguummeennttss ddiiggiitt--aarrgguummeenntt ((MM--00,, MM--11,, ......,, MM----)) - Add this digit to the argument already accumulating, or start a + Add this digit to the argument already accumulating, or start a new argument. M-- starts a negative argument. uunniivveerrssaall--aarrgguummeenntt - This is another way to specify an argument. If this command is - followed by one or more digits, optionally with a leading minus - sign, those digits define the argument. If the command is fol- - lowed by digits, executing uunniivveerrssaall--aarrgguummeenntt again ends the - numeric argument, but is otherwise ignored. As a special case, - if this command is immediately followed by a character that is - neither a digit or minus sign, the argument count for the next - command is multiplied by four. The argument count is initially - one, so executing this function the first time makes the argu- + This is another way to specify an argument. If this command is + followed by one or more digits, optionally with a leading minus + sign, those digits define the argument. If the command is fol- + lowed by digits, executing uunniivveerrssaall--aarrgguummeenntt again ends the + numeric argument, but is otherwise ignored. As a special case, + if this command is immediately followed by a character that is + neither a digit or minus sign, the argument count for the next + command is multiplied by four. The argument count is initially + one, so executing this function the first time makes the argu- ment count four, a second time makes the argument count sixteen, and so on. CCoommpplleettiinngg ccoommpplleettee ((TTAABB)) - Attempt to perform completion on the text before point. BBaasshh + Attempt to perform completion on the text before point. BBaasshh attempts completion treating the text as a variable (if the text - begins with $$), username (if the text begins with ~~), hostname - (if the text begins with @@), or command (including aliases and + begins with $$), username (if the text begins with ~~), hostname + (if the text begins with @@), or command (including aliases and functions) in turn. If none of these produces a match, filename completion is attempted. ppoossssiibbllee--ccoommpplleettiioonnss ((MM--??)) List the possible completions of the text before point. iinnsseerrtt--ccoommpplleettiioonnss ((MM--**)) - Insert all completions of the text before point that would have + Insert all completions of the text before point that would have been generated by ppoossssiibbllee--ccoommpplleettiioonnss. mmeennuu--ccoommpplleettee - Similar to ccoommpplleettee, but replaces the word to be completed with - a single match from the list of possible completions. Repeated - execution of mmeennuu--ccoommpplleettee steps through the list of possible - completions, inserting each match in turn. At the end of the + Similar to ccoommpplleettee, but replaces the word to be completed with + a single match from the list of possible completions. Repeated + execution of mmeennuu--ccoommpplleettee steps through the list of possible + completions, inserting each match in turn. At the end of the list of completions, the bell is rung (subject to the setting of bbeellll--ssttyyllee) and the original text is restored. An argument of _n - moves _n positions forward in the list of matches; a negative - argument may be used to move backward through the list. This - command is intended to be bound to TTAABB, but is unbound by + moves _n positions forward in the list of matches; a negative + argument may be used to move backward through the list. This + command is intended to be bound to TTAABB, but is unbound by default.cc mmeennuu--ccoommpplleettee--kkrrdd - Identicwwal to mmeennuu--ccoommpplleettee, but moves backward through the list - of possible completions, as if mmeennuu--ccoommpplleettee had been given a + Identicwwal to mmeennuu--ccoommpplleettee, but moves backward through the list + of possible completions, as if mmeennuu--ccoommpplleettee had been given a negative argument. This command is unbound by default. ddeelleettee--cchhaarr--oorr--lliisstt - Deletes the character under the cursor if not at the beginning - or end of the line (like ddeelleettee--cchhaarr). If at the end of the + Deletes the character under the cursor if not at the beginning + or end of the line (like ddeelleettee--cchhaarr). If at the end of the line, behaves identically to ppoossssiibbllee--ccoommpplleettiioonnss. This command is unbound by default. ccoommpplleettee--ffiilleennaammee ((MM--//)) @@ -3227,213 +3230,213 @@ RREEAADDLLIINNEE List the possible completions of the text before point, treating it as a filename. ccoommpplleettee--uusseerrnnaammee ((MM--~~)) - Attempt completion on the text before point, treating it as a + Attempt completion on the text before point, treating it as a username. ppoossssiibbllee--uusseerrnnaammee--ccoommpplleettiioonnss ((CC--xx ~~)) List the possible completions of the text before point, treating it as a username. ccoommpplleettee--vvaarriiaabbllee ((MM--$$)) - Attempt completion on the text before point, treating it as a + Attempt completion on the text before point, treating it as a shell variable. ppoossssiibbllee--vvaarriiaabbllee--ccoommpplleettiioonnss ((CC--xx $$)) List the possible completions of the text before point, treating it as a shell variable. ccoommpplleettee--hhoossttnnaammee ((MM--@@)) - Attempt completion on the text before point, treating it as a + Attempt completion on the text before point, treating it as a hostname. ppoossssiibbllee--hhoossttnnaammee--ccoommpplleettiioonnss ((CC--xx @@)) List the possible completions of the text before point, treating it as a hostname. ccoommpplleettee--ccoommmmaanndd ((MM--!!)) - Attempt completion on the text before point, treating it as a - command name. Command completion attempts to match the text - against aliases, reserved words, shell functions, shell + Attempt completion on the text before point, treating it as a + command name. Command completion attempts to match the text + against aliases, reserved words, shell functions, shell builtins, and finally executable filenames, in that order. ppoossssiibbllee--ccoommmmaanndd--ccoommpplleettiioonnss ((CC--xx !!)) List the possible completions of the text before point, treating it as a command name. ddyynnaammiicc--ccoommpplleettee--hhiissttoorryy ((MM--TTAABB)) - Attempt completion on the text before point, comparing the text - against lines from the history list for possible completion + Attempt completion on the text before point, comparing the text + against lines from the history list for possible completion matches. ddaabbbbrreevv--eexxppaanndd - Attempt menu completion on the text before point, comparing the + Attempt menu completion on the text before point, comparing the text against lines from the history list for possible completion matches. ccoommpplleettee--iinnttoo--bbrraacceess ((MM--{{)) Perform filename completion and insert the list of possible com- - pletions enclosed within braces so the list is available to the + pletions enclosed within braces so the list is available to the shell (see BBrraaccee EExxppaannssiioonn above). KKeeyybbooaarrdd MMaaccrrooss ssttaarrtt--kkbbdd--mmaaccrroo ((CC--xx (()) - Begin saving the characters typed into the current keyboard + Begin saving the characters typed into the current keyboard macro. eenndd--kkbbdd--mmaaccrroo ((CC--xx )))) Stop saving the characters typed into the current keyboard macro and store the definition. ccaallll--llaasstt--kkbbdd--mmaaccrroo ((CC--xx ee)) - Re-execute the last keyboard macro defined, by making the char- + Re-execute the last keyboard macro defined, by making the char- acters in the macro appear as if typed at the keyboard. MMiisscceellllaanneeoouuss rree--rreeaadd--iinniitt--ffiillee ((CC--xx CC--rr)) - Read in the contents of the _i_n_p_u_t_r_c file, and incorporate any + Read in the contents of the _i_n_p_u_t_r_c file, and incorporate any bindings or variable assignments found there. aabboorrtt ((CC--gg)) - Abort the current editing command and ring the terminal's bell + Abort the current editing command and ring the terminal's bell (subject to the setting of bbeellll--ssttyyllee). ddoo--uuppppeerrccaassee--vveerrssiioonn ((MM--aa,, MM--bb,, MM--_x,, ......)) - If the metafied character _x is lowercase, run the command that + If the metafied character _x is lowercase, run the command that is bound to the corresponding uppercase character. pprreeffiixx--mmeettaa ((EESSCC)) Metafy the next character typed. EESSCC ff is equivalent to MMeettaa--ff. uunnddoo ((CC--__,, CC--xx CC--uu)) Incremental undo, separately remembered for each line. rreevveerrtt--lliinnee ((MM--rr)) - Undo all changes made to this line. This is like executing the - uunnddoo command enough times to return the line to its initial + Undo all changes made to this line. This is like executing the + uunnddoo command enough times to return the line to its initial state. ttiillddee--eexxppaanndd ((MM--&&)) Perform tilde expansion on the current word. sseett--mmaarrkk ((CC--@@,, MM--<<ssppaaccee>>)) - Set the mark to the point. If a numeric argument is supplied, + Set the mark to the point. If a numeric argument is supplied, the mark is set to that position. eexxcchhaannggee--ppooiinntt--aanndd--mmaarrkk ((CC--xx CC--xx)) - Swap the point with the mark. The current cursor position is - set to the saved position, and the old cursor position is saved + Swap the point with the mark. The current cursor position is + set to the saved position, and the old cursor position is saved as the mark. cchhaarraacctteerr--sseeaarrcchh ((CC--]])) A character is read and point is moved to the next occurrence of - that character. A negative count searches for previous occur- + that character. A negative count searches for previous occur- rences. cchhaarraacctteerr--sseeaarrcchh--bbaacckkwwaarrdd ((MM--CC--]])) - A character is read and point is moved to the previous occur- - rence of that character. A negative count searches for subse- + A character is read and point is moved to the previous occur- + rence of that character. A negative count searches for subse- quent occurrences. sskkiipp--ccssii--sseeqquueennccee (()) - Read enough characters to consume a multi-key sequence such as - those defined for keys like Home and End. Such sequences begin + Read enough characters to consume a multi-key sequence such as + those defined for keys like Home and End. Such sequences begin with a Control Sequence Indicator (CSI), usually ESC-[. If this - sequence is bound to "\[", keys producing such sequences will - have no effect unless explicitly bound to a readline command, - instead of inserting stray characters into the editing buffer. + sequence is bound to "\[", keys producing such sequences will + have no effect unless explicitly bound to a readline command, + instead of inserting stray characters into the editing buffer. This is unbound by default, but usually bound to ESC-[. iinnsseerrtt--ccoommmmeenntt ((MM--##)) - Without a numeric argument, the value of the readline ccoomm-- - mmeenntt--bbeeggiinn variable is inserted at the beginning of the current + Without a numeric argument, the value of the readline ccoomm-- + mmeenntt--bbeeggiinn variable is inserted at the beginning of the current line. If a numeric argument is supplied, this command acts as a - toggle: if the characters at the beginning of the line do not - match the value of ccoommmmeenntt--bbeeggiinn, the value is inserted, other- + toggle: if the characters at the beginning of the line do not + match the value of ccoommmmeenntt--bbeeggiinn, the value is inserted, other- wise the characters in ccoommmmeenntt--bbeeggiinn are deleted from the begin- - ning of the line. In either case, the line is accepted as if a - newline had been typed. The default value of ccoommmmeenntt--bbeeggiinn - causes this command to make the current line a shell comment. - If a numeric argument causes the comment character to be + ning of the line. In either case, the line is accepted as if a + newline had been typed. The default value of ccoommmmeenntt--bbeeggiinn + causes this command to make the current line a shell comment. + If a numeric argument causes the comment character to be removed, the line will be executed by the shell. gglloobb--ccoommpplleettee--wwoorrdd ((MM--gg)) - The word before point is treated as a pattern for pathname - expansion, with an asterisk implicitly appended. This pattern - is used to generate a list of matching file names for possible + The word before point is treated as a pattern for pathname + expansion, with an asterisk implicitly appended. This pattern + is used to generate a list of matching file names for possible completions. gglloobb--eexxppaanndd--wwoorrdd ((CC--xx **)) - The word before point is treated as a pattern for pathname - expansion, and the list of matching file names is inserted, - replacing the word. If a numeric argument is supplied, an + The word before point is treated as a pattern for pathname + expansion, and the list of matching file names is inserted, + replacing the word. If a numeric argument is supplied, an asterisk is appended before pathname expansion. gglloobb--lliisstt--eexxppaannssiioonnss ((CC--xx gg)) - The list of expansions that would have been generated by - gglloobb--eexxppaanndd--wwoorrdd is displayed, and the line is redrawn. If a - numeric argument is supplied, an asterisk is appended before + The list of expansions that would have been generated by + gglloobb--eexxppaanndd--wwoorrdd is displayed, and the line is redrawn. If a + numeric argument is supplied, an asterisk is appended before pathname expansion. dduummpp--ffuunnccttiioonnss - Print all of the functions and their key bindings to the read- + Print all of the functions and their key bindings to the read- line output stream. If a numeric argument is supplied, the out- - put is formatted in such a way that it can be made part of an + put is formatted in such a way that it can be made part of an _i_n_p_u_t_r_c file. dduummpp--vvaarriiaabblleess Print all of the settable readline variables and their values to - the readline output stream. If a numeric argument is supplied, - the output is formatted in such a way that it can be made part + the readline output stream. If a numeric argument is supplied, + the output is formatted in such a way that it can be made part of an _i_n_p_u_t_r_c file. dduummpp--mmaaccrrooss - Print all of the readline key sequences bound to macros and the - strings they output. If a numeric argument is supplied, the + Print all of the readline key sequences bound to macros and the + strings they output. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an _i_n_p_u_t_r_c file. ddiissppllaayy--sshheellll--vveerrssiioonn ((CC--xx CC--vv)) - Display version information about the current instance of bbaasshh. + Display version information about the current instance of bbaasshh. PPrrooggrraammmmaabbllee CCoommpplleettiioonn - When word completion is attempted for an argument to a command for - which a completion specification (a _c_o_m_p_s_p_e_c) has been defined using - the ccoommpplleettee builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below), the pro- + When word completion is attempted for an argument to a command for + which a completion specification (a _c_o_m_p_s_p_e_c) has been defined using + the ccoommpplleettee builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below), the pro- grammable completion facilities are invoked. - First, the command name is identified. If the command word is the - empty string (completion attempted at the beginning of an empty line), - any compspec defined with the --EE option to ccoommpplleettee is used. If a - compspec has been defined for that command, the compspec is used to + First, the command name is identified. If the command word is the + empty string (completion attempted at the beginning of an empty line), + any compspec defined with the --EE option to ccoommpplleettee is used. If a + compspec has been defined for that command, the compspec is used to generate the list of possible completions for the word. If the command - word is a full pathname, a compspec for the full pathname is searched - for first. If no compspec is found for the full pathname, an attempt - is made to find a compspec for the portion following the final slash. - If those searches to not result in a compspec, any compspec defined + word is a full pathname, a compspec for the full pathname is searched + for first. If no compspec is found for the full pathname, an attempt + is made to find a compspec for the portion following the final slash. + If those searches to not result in a compspec, any compspec defined with the --DD option to ccoommpplleettee is used as the default. - Once a compspec has been found, it is used to generate the list of - matching words. If a compspec is not found, the default bbaasshh comple- + Once a compspec has been found, it is used to generate the list of + matching words. If a compspec is not found, the default bbaasshh comple- tion as described above under CCoommpplleettiinngg is performed. - First, the actions specified by the compspec are used. Only matches - which are prefixed by the word being completed are returned. When the - --ff or --dd option is used for filename or directory name completion, the + First, the actions specified by the compspec are used. Only matches + which are prefixed by the word being completed are returned. When the + --ff or --dd option is used for filename or directory name completion, the shell variable FFIIGGNNOORREE is used to filter the matches. - Any completions specified by a pathname expansion pattern to the --GG + Any completions specified by a pathname expansion pattern to the --GG option are generated next. The words generated by the pattern need not - match the word being completed. The GGLLOOBBIIGGNNOORREE shell variable is not + match the word being completed. The GGLLOOBBIIGGNNOORREE shell variable is not used to filter the matches, but the FFIIGGNNOORREE variable is used. - Next, the string specified as the argument to the --WW option is consid- - ered. The string is first split using the characters in the IIFFSS spe- - cial variable as delimiters. Shell quoting is honored. Each word is - then expanded using brace expansion, tilde expansion, parameter and - variable expansion, command substitution, and arithmetic expansion, as + Next, the string specified as the argument to the --WW option is consid- + ered. The string is first split using the characters in the IIFFSS spe- + cial variable as delimiters. Shell quoting is honored. Each word is + then expanded using brace expansion, tilde expansion, parameter and + variable expansion, command substitution, and arithmetic expansion, as described above under EEXXPPAANNSSIIOONN. The results are split using the rules described above under WWoorrdd SSpplliittttiinngg. The results of the expansion are prefix-matched against the word being completed, and the matching words become the possible completions. - After these matches have been generated, any shell function or command - specified with the --FF and --CC options is invoked. When the command or + After these matches have been generated, any shell function or command + specified with the --FF and --CC options is invoked. When the command or function is invoked, the CCOOMMPP__LLIINNEE, CCOOMMPP__PPOOIINNTT, CCOOMMPP__KKEEYY, and CCOOMMPP__TTYYPPEE variables are assigned values as described above under SShheellll VVaarriiaabblleess. - If a shell function is being invoked, the CCOOMMPP__WWOORRDDSS and CCOOMMPP__CCWWOORRDD - variables are also set. When the function or command is invoked, the - first argument is the name of the command whose arguments are being - completed, the second argument is the word being completed, and the - third argument is the word preceding the word being completed on the - current command line. No filtering of the generated completions - against the word being completed is performed; the function or command + If a shell function is being invoked, the CCOOMMPP__WWOORRDDSS and CCOOMMPP__CCWWOORRDD + variables are also set. When the function or command is invoked, the + first argument is the name of the command whose arguments are being + completed, the second argument is the word being completed, and the + third argument is the word preceding the word being completed on the + current command line. No filtering of the generated completions + against the word being completed is performed; the function or command has complete freedom in generating the matches. - Any function specified with --FF is invoked first. The function may use - any of the shell facilities, including the ccoommppggeenn builtin described - below, to generate the matches. It must put the possible completions + Any function specified with --FF is invoked first. The function may use + any of the shell facilities, including the ccoommppggeenn builtin described + below, to generate the matches. It must put the possible completions in the CCOOMMPPRREEPPLLYY array variable. - Next, any command specified with the --CC option is invoked in an envi- - ronment equivalent to command substitution. It should print a list of - completions, one per line, to the standard output. Backslash may be + Next, any command specified with the --CC option is invoked in an envi- + ronment equivalent to command substitution. It should print a list of + completions, one per line, to the standard output. Backslash may be used to escape a newline, if necessary. - After all of the possible completions are generated, any filter speci- - fied with the --XX option is applied to the list. The filter is a pat- - tern as used for pathname expansion; a && in the pattern is replaced - with the text of the word being completed. A literal && may be escaped - with a backslash; the backslash is removed before attempting a match. - Any completion that matches the pattern will be removed from the list. + After all of the possible completions are generated, any filter speci- + fied with the --XX option is applied to the list. The filter is a pat- + tern as used for pathname expansion; a && in the pattern is replaced + with the text of the word being completed. A literal && may be escaped + with a backslash; the backslash is removed before attempting a match. + Any completion that matches the pattern will be removed from the list. A leading !! negates the pattern; in this case any completion not match- ing the pattern will be removed. @@ -3441,44 +3444,44 @@ RREEAADDLLIINNEE added to each member of the completion list, and the result is returned to the readline completion code as the list of possible completions. - If the previously-applied actions do not generate any matches, and the - --oo ddiirrnnaammeess option was supplied to ccoommpplleettee when the compspec was + If the previously-applied actions do not generate any matches, and the + --oo ddiirrnnaammeess option was supplied to ccoommpplleettee when the compspec was defined, directory name completion is attempted. - If the --oo pplluussddiirrss option was supplied to ccoommpplleettee when the compspec + If the --oo pplluussddiirrss option was supplied to ccoommpplleettee when the compspec was defined, directory name completion is attempted and any matches are added to the results of the other actions. - By default, if a compspec is found, whatever it generates is returned - to the completion code as the full set of possible completions. The + By default, if a compspec is found, whatever it generates is returned + to the completion code as the full set of possible completions. The default bbaasshh completions are not attempted, and the readline default of filename completion is disabled. If the --oo bbaasshhddeeffaauulltt option was sup- - plied to ccoommpplleettee when the compspec was defined, the bbaasshh default com- + plied to ccoommpplleettee when the compspec was defined, the bbaasshh default com- pletions are attempted if the compspec generates no matches. If the --oo - ddeeffaauulltt option was supplied to ccoommpplleettee when the compspec was defined, - readline's default completion will be performed if the compspec (and, + ddeeffaauulltt option was supplied to ccoommpplleettee when the compspec was defined, + readline's default completion will be performed if the compspec (and, if attempted, the default bbaasshh completions) generate no matches. - When a compspec indicates that directory name completion is desired, - the programmable completion functions force readline to append a slash - to completed names which are symbolic links to directories, subject to - the value of the mmaarrkk--ddiirreeccttoorriieess readline variable, regardless of the + When a compspec indicates that directory name completion is desired, + the programmable completion functions force readline to append a slash + to completed names which are symbolic links to directories, subject to + the value of the mmaarrkk--ddiirreeccttoorriieess readline variable, regardless of the setting of the mmaarrkk--ssyymmlliinnkkeedd--ddiirreeccttoorriieess readline variable. - There is some support for dynamically modifying completions. This is - most useful when used in combination with a default completion speci- - fied with ccoommpplleettee --DD. It's possible for shell functions executed as - completion handlers to indicate that completion should be retried by - returning an exit status of 124. If a shell function returns 124, and + There is some support for dynamically modifying completions. This is + most useful when used in combination with a default completion speci- + fied with ccoommpplleettee --DD. It's possible for shell functions executed as + completion handlers to indicate that completion should be retried by + returning an exit status of 124. If a shell function returns 124, and changes the compspec associated with the command on which completion is - being attempted (supplied as the first argument when the function is + being attempted (supplied as the first argument when the function is executed), programmable completion restarts from the beginning, with an attempt to find a compspec for that command. This allows a set of com- - pletions to be built dynamically as completion is attempted, rather + pletions to be built dynamically as completion is attempted, rather than being loaded all at once. - For instance, assuming that there is a library of compspecs, each kept - in a file corresponding to the name of the command, the following + For instance, assuming that there is a library of compspecs, each kept + in a file corresponding to the name of the command, the following default completion function would load completions dynamically: _completion_loader() @@ -3489,111 +3492,111 @@ RREEAADDLLIINNEE HHIISSTTOORRYY - When the --oo hhiissttoorryy option to the sseett builtin is enabled, the shell + When the --oo hhiissttoorryy option to the sseett builtin is enabled, the shell provides access to the _c_o_m_m_a_n_d _h_i_s_t_o_r_y, the list of commands previously - typed. The value of the HHIISSTTSSIIZZEE variable is used as the number of + typed. The value of the HHIISSTTSSIIZZEE variable is used as the number of commands to save in a history list. The text of the last HHIISSTTSSIIZZEE com- - mands (default 500) is saved. The shell stores each command in the - history list prior to parameter and variable expansion (see EEXXPPAANNSSIIOONN - above) but after history expansion is performed, subject to the values + mands (default 500) is saved. The shell stores each command in the + history list prior to parameter and variable expansion (see EEXXPPAANNSSIIOONN + above) but after history expansion is performed, subject to the values of the shell variables HHIISSTTIIGGNNOORREE and HHIISSTTCCOONNTTRROOLL. On startup, the history is initialized from the file named by the vari- - able HHIISSTTFFIILLEE (default _~_/_._b_a_s_h___h_i_s_t_o_r_y). The file named by the value - of HHIISSTTFFIILLEE is truncated, if necessary, to contain no more than the - number of lines specified by the value of HHIISSTTFFIILLEESSIIZZEE. When the his- - tory file is read, lines beginning with the history comment character - followed immediately by a digit are interpreted as timestamps for the - preceding history line. These timestamps are optionally displayed - depending on the value of the HHIISSTTTTIIMMEEFFOORRMMAATT variable. When an inter- - active shell exits, the last $$HHIISSTTSSIIZZEE lines are copied from the his- + able HHIISSTTFFIILLEE (default _~_/_._b_a_s_h___h_i_s_t_o_r_y). The file named by the value + of HHIISSTTFFIILLEE is truncated, if necessary, to contain no more than the + number of lines specified by the value of HHIISSTTFFIILLEESSIIZZEE. When the his- + tory file is read, lines beginning with the history comment character + followed immediately by a digit are interpreted as timestamps for the + preceding history line. These timestamps are optionally displayed + depending on the value of the HHIISSTTTTIIMMEEFFOORRMMAATT variable. When an inter- + active shell exits, the last $$HHIISSTTSSIIZZEE lines are copied from the his- tory list to $$HHIISSTTFFIILLEE. If the hhiissttaappppeenndd shell option is enabled (see the description of sshhoopptt under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below), the lines - are appended to the history file, otherwise the history file is over- - written. If HHIISSTTFFIILLEE is unset, or if the history file is unwritable, - the history is not saved. If the variable is set, time stamps are - written to the history file, marked with the history comment character, - so they may be preserved across shell sessions. This uses the history - comment character to distinguish timestamps from other history lines. - After saving the history, the history file is truncated to contain no - more than HHIISSTTFFIILLEESSIIZZEE lines. If HHIISSTTFFIILLEESSIIZZEE is not set, no trunca- - tion is performed. - - The builtin command ffcc (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) may be used + are appended to the history file, otherwise the history file is over- + written. If HHIISSTTFFIILLEE is unset, or if the history file is unwritable, + the history is not saved. If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, time + stamps are written to the history file, marked with the history comment + character, so they may be preserved across shell sessions. This uses + the history comment character to distinguish timestamps from other his- + tory lines. After saving the history, the history file is truncated to + contain no more than HHIISSTTFFIILLEESSIIZZEE lines. If HHIISSTTFFIILLEESSIIZZEE is not set, + no truncation is performed. + + The builtin command ffcc (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) may be used to list or edit and re-execute a portion of the history list. The hhiiss-- - ttoorryy builtin may be used to display or modify the history list and - manipulate the history file. When using command-line editing, search - commands are available in each editing mode that provide access to the + ttoorryy builtin may be used to display or modify the history list and + manipulate the history file. When using command-line editing, search + commands are available in each editing mode that provide access to the history list. - The shell allows control over which commands are saved on the history + The shell allows control over which commands are saved on the history list. The HHIISSTTCCOONNTTRROOLL and HHIISSTTIIGGNNOORREE variables may be set to cause the shell to save only a subset of the commands entered. The ccmmddhhiisstt shell - option, if enabled, causes the shell to attempt to save each line of a - multi-line command in the same history entry, adding semicolons where - necessary to preserve syntactic correctness. The lliitthhiisstt shell option - causes the shell to save the command with embedded newlines instead of + option, if enabled, causes the shell to attempt to save each line of a + multi-line command in the same history entry, adding semicolons where + necessary to preserve syntactic correctness. The lliitthhiisstt shell option + causes the shell to save the command with embedded newlines instead of semicolons. See the description of the sshhoopptt builtin below under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS for information on setting and unsetting shell options. HHIISSTTOORRYY EEXXPPAANNSSIIOONN - The shell supports a history expansion feature that is similar to the - history expansion in ccsshh.. This section describes what syntax features - are available. This feature is enabled by default for interactive + The shell supports a history expansion feature that is similar to the + history expansion in ccsshh.. This section describes what syntax features + are available. This feature is enabled by default for interactive shells, and can be disabled using the ++HH option to the sseett builtin com- mand (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). Non-interactive shells do not perform history expansion by default. History expansions introduce words from the history list into the input - stream, making it easy to repeat commands, insert the arguments to a + stream, making it easy to repeat commands, insert the arguments to a previous command into the current input line, or fix errors in previous commands quickly. - History expansion is performed immediately after a complete line is - read, before the shell breaks it into words. It takes place in two - parts. The first is to determine which line from the history list to + History expansion is performed immediately after a complete line is + read, before the shell breaks it into words. It takes place in two + parts. The first is to determine which line from the history list to use during substitution. The second is to select portions of that line for inclusion into the current one. The line selected from the history - is the _e_v_e_n_t, and the portions of that line that are acted upon are - _w_o_r_d_s. Various _m_o_d_i_f_i_e_r_s are available to manipulate the selected + is the _e_v_e_n_t, and the portions of that line that are acted upon are + _w_o_r_d_s. Various _m_o_d_i_f_i_e_r_s are available to manipulate the selected words. The line is broken into words in the same fashion as when read- - ing input, so that several _m_e_t_a_c_h_a_r_a_c_t_e_r-separated words surrounded by - quotes are considered one word. History expansions are introduced by - the appearance of the history expansion character, which is !! by - default. Only backslash (\\) and single quotes can quote the history + ing input, so that several _m_e_t_a_c_h_a_r_a_c_t_e_r-separated words surrounded by + quotes are considered one word. History expansions are introduced by + the appearance of the history expansion character, which is !! by + default. Only backslash (\\) and single quotes can quote the history expansion character. - Several characters inhibit history expansion if found immediately fol- - lowing the history expansion character, even if it is unquoted: space, - tab, newline, carriage return, and ==. If the eexxttgglloobb shell option is + Several characters inhibit history expansion if found immediately fol- + lowing the history expansion character, even if it is unquoted: space, + tab, newline, carriage return, and ==. If the eexxttgglloobb shell option is enabled, (( will also inhibit expansion. - Several shell options settable with the sshhoopptt builtin may be used to - tailor the behavior of history expansion. If the hhiissttvveerriiffyy shell - option is enabled (see the description of the sshhoopptt builtin), and rreeaadd-- - lliinnee is being used, history substitutions are not immediately passed to - the shell parser. Instead, the expanded line is reloaded into the - rreeaaddlliinnee editing buffer for further modification. If rreeaaddlliinnee is being - used, and the hhiissttrreeeeddiitt shell option is enabled, a failed history sub- - stitution will be reloaded into the rreeaaddlliinnee editing buffer for correc- - tion. The --pp option to the hhiissttoorryy builtin command may be used to see - what a history expansion will do before using it. The --ss option to the - hhiissttoorryy builtin may be used to add commands to the end of the history - list without actually executing them, so that they are available for - subsequent recall. - - The shell allows control of the various characters used by the history + Several shell options settable with the sshhoopptt builtin may be used to + tailor the behavior of history expansion. If the hhiissttvveerriiffyy shell + option is enabled (see the description of the sshhoopptt builtin below), and + rreeaaddlliinnee is being used, history substitutions are not immediately + passed to the shell parser. Instead, the expanded line is reloaded + into the rreeaaddlliinnee editing buffer for further modification. If rreeaaddlliinnee + is being used, and the hhiissttrreeeeddiitt shell option is enabled, a failed + history substitution will be reloaded into the rreeaaddlliinnee editing buffer + for correction. The --pp option to the hhiissttoorryy builtin command may be + used to see what a history expansion will do before using it. The --ss + option to the hhiissttoorryy builtin may be used to add commands to the end of + the history list without actually executing them, so that they are + available for subsequent recall. + + The shell allows control of the various characters used by the history expansion mechanism (see the description of hhiissttcchhaarrss above under SShheellll - VVaarriiaabblleess). The shell uses the history comment character to mark his- + VVaarriiaabblleess). The shell uses the history comment character to mark his- tory timestamps when writing the history file. EEvveenntt DDeessiiggnnaattoorrss - An event designator is a reference to a command line entry in the his- + An event designator is a reference to a command line entry in the his- tory list. - !! Start a history substitution, except when followed by a bbllaannkk, - newline, carriage return, = or ( (when the eexxttgglloobb shell option + !! Start a history substitution, except when followed by a bbllaannkk, + newline, carriage return, = or ( (when the eexxttgglloobb shell option is enabled using the sshhoopptt builtin). !!_n Refer to command line _n. !!--_n Refer to the current command line minus _n. @@ -3601,21 +3604,21 @@ HHIISSTTOORRYY EEXXPPAANNSSIIOONN !!_s_t_r_i_n_g Refer to the most recent command starting with _s_t_r_i_n_g. !!??_s_t_r_i_n_g[[??]] - Refer to the most recent command containing _s_t_r_i_n_g. The trail- + Refer to the most recent command containing _s_t_r_i_n_g. The trail- ing ?? may be omitted if _s_t_r_i_n_g is followed immediately by a new- line. ^^_s_t_r_i_n_g_1^^_s_t_r_i_n_g_2^^ - Quick substitution. Repeat the last command, replacing _s_t_r_i_n_g_1 + Quick substitution. Repeat the last command, replacing _s_t_r_i_n_g_1 with _s_t_r_i_n_g_2. Equivalent to ``!!:s/_s_t_r_i_n_g_1/_s_t_r_i_n_g_2/'' (see MMoodd-- iiffiieerrss below). !!## The entire command line typed so far. WWoorrdd DDeessiiggnnaattoorrss - Word designators are used to select desired words from the event. A :: - separates the event specification from the word designator. It may be - omitted if the word designator begins with a ^^, $$, **, --, or %%. Words - are numbered from the beginning of the line, with the first word being - denoted by 0 (zero). Words are inserted into the current line sepa- + Word designators are used to select desired words from the event. A :: + separates the event specification from the word designator. It may be + omitted if the word designator begins with a ^^, $$, **, --, or %%. Words + are numbered from the beginning of the line, with the first word being + denoted by 0 (zero). Words are inserted into the current line sepa- rated by single spaces. 00 ((zzeerroo)) @@ -3625,17 +3628,17 @@ HHIISSTTOORRYY EEXXPPAANNSSIIOONN $$ The last argument. %% The word matched by the most recent `?_s_t_r_i_n_g?' search. _x--_y A range of words; `-_y' abbreviates `0-_y'. - ** All of the words but the zeroth. This is a synonym for `_1_-_$'. - It is not an error to use ** if there is just one word in the + ** All of the words but the zeroth. This is a synonym for `_1_-_$'. + It is not an error to use ** if there is just one word in the event; the empty string is returned in that case. xx** Abbreviates _x_-_$. xx-- Abbreviates _x_-_$ like xx**, but omits the last word. - If a word designator is supplied without an event specification, the + If a word designator is supplied without an event specification, the previous command is used as the event. MMooddiiffiieerrss - After the optional word designator, there may appear a sequence of one + After the optional word designator, there may appear a sequence of one or more of the following modifiers, each preceded by a `:'. hh Remove a trailing file name component, leaving only the head. @@ -3644,74 +3647,74 @@ HHIISSTTOORRYY EEXXPPAANNSSIIOONN ee Remove all but the trailing suffix. pp Print the new command but do not execute it. qq Quote the substituted words, escaping further substitutions. - xx Quote the substituted words as with qq, but break into words at + xx Quote the substituted words as with qq, but break into words at bbllaannkkss and newlines. ss//_o_l_d//_n_e_w// - Substitute _n_e_w for the first occurrence of _o_l_d in the event - line. Any delimiter can be used in place of /. The final - delimiter is optional if it is the last character of the event - line. The delimiter may be quoted in _o_l_d and _n_e_w with a single - backslash. If & appears in _n_e_w, it is replaced by _o_l_d. A sin- - gle backslash will quote the &. If _o_l_d is null, it is set to - the last _o_l_d substituted, or, if no previous history substitu- + Substitute _n_e_w for the first occurrence of _o_l_d in the event + line. Any delimiter can be used in place of /. The final + delimiter is optional if it is the last character of the event + line. The delimiter may be quoted in _o_l_d and _n_e_w with a single + backslash. If & appears in _n_e_w, it is replaced by _o_l_d. A sin- + gle backslash will quote the &. If _o_l_d is null, it is set to + the last _o_l_d substituted, or, if no previous history substitu- tions took place, the last _s_t_r_i_n_g in a !!??_s_t_r_i_n_g[[??]] search. && Repeat the previous substitution. gg Cause changes to be applied over the entire event line. This is - used in conjunction with `::ss' (e.g., `::ggss//_o_l_d//_n_e_w//') or `::&&'. - If used with `::ss', any delimiter can be used in place of /, and - the final delimiter is optional if it is the last character of + used in conjunction with `::ss' (e.g., `::ggss//_o_l_d//_n_e_w//') or `::&&'. + If used with `::ss', any delimiter can be used in place of /, and + the final delimiter is optional if it is the last character of the event line. An aa may be used as a synonym for gg. - GG Apply the following `ss' modifier once to each word in the event + GG Apply the following `ss' modifier once to each word in the event line. SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS Unless otherwise noted, each builtin command documented in this section as accepting options preceded by -- accepts ---- to signify the end of the - options. The ::, ttrruuee, ffaallssee, and tteesstt builtins do not accept options + options. The ::, ttrruuee, ffaallssee, and tteesstt builtins do not accept options and do not treat ---- specially. The eexxiitt, llooggoouutt, bbrreeaakk, ccoonnttiinnuuee, lleett, - and sshhiifftt builtins accept and process arguments beginning with -- with- - out requiring ----. Other builtins that accept arguments but are not - specified as accepting options interpret arguments beginning with -- as + and sshhiifftt builtins accept and process arguments beginning with -- with- + out requiring ----. Other builtins that accept arguments but are not + specified as accepting options interpret arguments beginning with -- as invalid options and require ---- to prevent this interpretation. :: [_a_r_g_u_m_e_n_t_s] - No effect; the command does nothing beyond expanding _a_r_g_u_m_e_n_t_s - and performing any specified redirections. A zero exit code is + No effect; the command does nothing beyond expanding _a_r_g_u_m_e_n_t_s + and performing any specified redirections. A zero exit code is returned. .. _f_i_l_e_n_a_m_e [_a_r_g_u_m_e_n_t_s] ssoouurrccee _f_i_l_e_n_a_m_e [_a_r_g_u_m_e_n_t_s] - Read and execute commands from _f_i_l_e_n_a_m_e in the current shell - environment and return the exit status of the last command exe- + Read and execute commands from _f_i_l_e_n_a_m_e in the current shell + environment and return the exit status of the last command exe- cuted from _f_i_l_e_n_a_m_e. If _f_i_l_e_n_a_m_e does not contain a slash, file - names in PPAATTHH are used to find the directory containing _f_i_l_e_- - _n_a_m_e. The file searched for in PPAATTHH need not be executable. - When bbaasshh is not in _p_o_s_i_x _m_o_d_e, the current directory is - searched if no file is found in PPAATTHH. If the ssoouurrcceeppaatthh option - to the sshhoopptt builtin command is turned off, the PPAATTHH is not - searched. If any _a_r_g_u_m_e_n_t_s are supplied, they become the posi- - tional parameters when _f_i_l_e_n_a_m_e is executed. Otherwise the - positional parameters are unchanged. The return status is the - status of the last command exited within the script (0 if no - commands are executed), and false if _f_i_l_e_n_a_m_e is not found or + names in PPAATTHH are used to find the directory containing _f_i_l_e_- + _n_a_m_e. The file searched for in PPAATTHH need not be executable. + When bbaasshh is not in _p_o_s_i_x _m_o_d_e, the current directory is + searched if no file is found in PPAATTHH. If the ssoouurrcceeppaatthh option + to the sshhoopptt builtin command is turned off, the PPAATTHH is not + searched. If any _a_r_g_u_m_e_n_t_s are supplied, they become the posi- + tional parameters when _f_i_l_e_n_a_m_e is executed. Otherwise the + positional parameters are unchanged. The return status is the + status of the last command exited within the script (0 if no + commands are executed), and false if _f_i_l_e_n_a_m_e is not found or cannot be read. aalliiaass [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] AAlliiaass with no arguments or with the --pp option prints the list of - aliases in the form aalliiaass _n_a_m_e=_v_a_l_u_e on standard output. When - arguments are supplied, an alias is defined for each _n_a_m_e whose + aliases in the form aalliiaass _n_a_m_e=_v_a_l_u_e on standard output. When + arguments are supplied, an alias is defined for each _n_a_m_e whose _v_a_l_u_e is given. A trailing space in _v_a_l_u_e causes the next word to be checked for alias substitution when the alias is expanded. - For each _n_a_m_e in the argument list for which no _v_a_l_u_e is sup- - plied, the name and value of the alias is printed. AAlliiaass - returns true unless a _n_a_m_e is given for which no alias has been + For each _n_a_m_e in the argument list for which no _v_a_l_u_e is sup- + plied, the name and value of the alias is printed. AAlliiaass + returns true unless a _n_a_m_e is given for which no alias has been defined. bbgg [_j_o_b_s_p_e_c ...] - Resume each suspended job _j_o_b_s_p_e_c in the background, as if it + Resume each suspended job _j_o_b_s_p_e_c in the background, as if it had been started with &&. If _j_o_b_s_p_e_c is not present, the shell's - notion of the _c_u_r_r_e_n_t _j_o_b is used. bbgg _j_o_b_s_p_e_c returns 0 unless - run when job control is disabled or, when run with job control - enabled, any specified _j_o_b_s_p_e_c was not found or was started + notion of the _c_u_r_r_e_n_t _j_o_b is used. bbgg _j_o_b_s_p_e_c returns 0 unless + run when job control is disabled or, when run with job control + enabled, any specified _j_o_b_s_p_e_c was not found or was started without job control. bbiinndd [--mm _k_e_y_m_a_p] [--llppssvvPPSSVV] @@ -3720,28 +3723,28 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS bbiinndd [--mm _k_e_y_m_a_p] --xx _k_e_y_s_e_q:_s_h_e_l_l_-_c_o_m_m_a_n_d bbiinndd [--mm _k_e_y_m_a_p] _k_e_y_s_e_q:_f_u_n_c_t_i_o_n_-_n_a_m_e bbiinndd _r_e_a_d_l_i_n_e_-_c_o_m_m_a_n_d - Display current rreeaaddlliinnee key and function bindings, bind a key - sequence to a rreeaaddlliinnee function or macro, or set a rreeaaddlliinnee - variable. Each non-option argument is a command as it would - appear in _._i_n_p_u_t_r_c, but each binding or command must be passed - as a separate argument; e.g., '"\C-x\C-r": re-read-init-file'. + Display current rreeaaddlliinnee key and function bindings, bind a key + sequence to a rreeaaddlliinnee function or macro, or set a rreeaaddlliinnee + variable. Each non-option argument is a command as it would + appear in _._i_n_p_u_t_r_c, but each binding or command must be passed + as a separate argument; e.g., '"\C-x\C-r": re-read-init-file'. Options, if supplied, have the following meanings: --mm _k_e_y_m_a_p Use _k_e_y_m_a_p as the keymap to be affected by the subsequent bindings. Acceptable _k_e_y_m_a_p names are _e_m_a_c_s_, _e_m_a_c_s_-_s_t_a_n_- - _d_a_r_d_, _e_m_a_c_s_-_m_e_t_a_, _e_m_a_c_s_-_c_t_l_x_, _v_i_, _v_i_-_m_o_v_e_, _v_i_-_c_o_m_m_a_n_d, - and _v_i_-_i_n_s_e_r_t. _v_i is equivalent to _v_i_-_c_o_m_m_a_n_d; _e_m_a_c_s is + _d_a_r_d_, _e_m_a_c_s_-_m_e_t_a_, _e_m_a_c_s_-_c_t_l_x_, _v_i_, _v_i_-_m_o_v_e_, _v_i_-_c_o_m_m_a_n_d, + and _v_i_-_i_n_s_e_r_t. _v_i is equivalent to _v_i_-_c_o_m_m_a_n_d; _e_m_a_c_s is equivalent to _e_m_a_c_s_-_s_t_a_n_d_a_r_d. --ll List the names of all rreeaaddlliinnee functions. - --pp Display rreeaaddlliinnee function names and bindings in such a + --pp Display rreeaaddlliinnee function names and bindings in such a way that they can be re-read. --PP List current rreeaaddlliinnee function names and bindings. - --ss Display rreeaaddlliinnee key sequences bound to macros and the - strings they output in such a way that they can be re- + --ss Display rreeaaddlliinnee key sequences bound to macros and the + strings they output in such a way that they can be re- read. - --SS Display rreeaaddlliinnee key sequences bound to macros and the + --SS Display rreeaaddlliinnee key sequences bound to macros and the strings they output. - --vv Display rreeaaddlliinnee variable names and values in such a way + --vv Display rreeaaddlliinnee variable names and values in such a way that they can be re-read. --VV List current rreeaaddlliinnee variable names and values. --ff _f_i_l_e_n_a_m_e @@ -3753,154 +3756,154 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --rr _k_e_y_s_e_q Remove any current binding for _k_e_y_s_e_q. --xx _k_e_y_s_e_q::_s_h_e_l_l_-_c_o_m_m_a_n_d - Cause _s_h_e_l_l_-_c_o_m_m_a_n_d to be executed whenever _k_e_y_s_e_q is - entered. When _s_h_e_l_l_-_c_o_m_m_a_n_d is executed, the shell sets - the RREEAADDLLIINNEE__LLIINNEE variable to the contents of the rreeaadd-- - lliinnee line buffer and the RREEAADDLLIINNEE__PPOOIINNTT variable to the + Cause _s_h_e_l_l_-_c_o_m_m_a_n_d to be executed whenever _k_e_y_s_e_q is + entered. When _s_h_e_l_l_-_c_o_m_m_a_n_d is executed, the shell sets + the RREEAADDLLIINNEE__LLIINNEE variable to the contents of the rreeaadd-- + lliinnee line buffer and the RREEAADDLLIINNEE__PPOOIINNTT variable to the current location of the insertion point. If the executed - command changes the value of RREEAADDLLIINNEE__LLIINNEE or RREEAADD-- - LLIINNEE__PPOOIINNTT, those new values will be reflected in the + command changes the value of RREEAADDLLIINNEE__LLIINNEE or RREEAADD-- + LLIINNEE__PPOOIINNTT, those new values will be reflected in the editing state. - The return value is 0 unless an unrecognized option is given or + The return value is 0 unless an unrecognized option is given or an error occurred. bbrreeaakk [_n] - Exit from within a ffoorr, wwhhiillee, uunnttiill, or sseelleecctt loop. If _n is - specified, break _n levels. _n must be >= 1. If _n is greater - than the number of enclosing loops, all enclosing loops are - exited. The return value is 0 unless _n is not greater than or + Exit from within a ffoorr, wwhhiillee, uunnttiill, or sseelleecctt loop. If _n is + specified, break _n levels. _n must be >= 1. If _n is greater + than the number of enclosing loops, all enclosing loops are + exited. The return value is 0 unless _n is not greater than or equal to 1. bbuuiillttiinn _s_h_e_l_l_-_b_u_i_l_t_i_n [_a_r_g_u_m_e_n_t_s] - Execute the specified shell builtin, passing it _a_r_g_u_m_e_n_t_s, and + Execute the specified shell builtin, passing it _a_r_g_u_m_e_n_t_s, and return its exit status. This is useful when defining a function - whose name is the same as a shell builtin, retaining the func- + whose name is the same as a shell builtin, retaining the func- tionality of the builtin within the function. The ccdd builtin is - commonly redefined this way. The return status is false if + commonly redefined this way. The return status is false if _s_h_e_l_l_-_b_u_i_l_t_i_n is not a shell builtin command. ccaalllleerr [_e_x_p_r] Returns the context of any active subroutine call (a shell func- - tion or a script executed with the .. or ssoouurrccee builtins. With- + tion or a script executed with the .. or ssoouurrccee builtins. With- out _e_x_p_r, ccaalllleerr displays the line number and source filename of - the current subroutine call. If a non-negative integer is sup- + the current subroutine call. If a non-negative integer is sup- plied as _e_x_p_r, ccaalllleerr displays the line number, subroutine name, - and source file corresponding to that position in the current - execution call stack. This extra information may be used, for - example, to print a stack trace. The current frame is frame 0. - The return value is 0 unless the shell is not executing a sub- - routine call or _e_x_p_r does not correspond to a valid position in + and source file corresponding to that position in the current + execution call stack. This extra information may be used, for + example, to print a stack trace. The current frame is frame 0. + The return value is 0 unless the shell is not executing a sub- + routine call or _e_x_p_r does not correspond to a valid position in the call stack. ccdd [--LL||--PP] [_d_i_r] - Change the current directory to _d_i_r. The variable HHOOMMEE is the - default _d_i_r. The variable CCDDPPAATTHH defines the search path for - the directory containing _d_i_r. Alternative directory names in - CCDDPPAATTHH are separated by a colon (:). A null directory name in - CCDDPPAATTHH is the same as the current directory, i.e., ``..''. If - _d_i_r begins with a slash (/), then CCDDPPAATTHH is not used. The --PP - option says to use the physical directory structure instead of - following symbolic links (see also the --PP option to the sseett + Change the current directory to _d_i_r. The variable HHOOMMEE is the + default _d_i_r. The variable CCDDPPAATTHH defines the search path for + the directory containing _d_i_r. Alternative directory names in + CCDDPPAATTHH are separated by a colon (:). A null directory name in + CCDDPPAATTHH is the same as the current directory, i.e., ``..''. If + _d_i_r begins with a slash (/), then CCDDPPAATTHH is not used. The --PP + option says to use the physical directory structure instead of + following symbolic links (see also the --PP option to the sseett builtin command); the --LL option forces symbolic links to be fol- - lowed. An argument of -- is equivalent to $$OOLLDDPPWWDD. If a non- - empty directory name from CCDDPPAATTHH is used, or if -- is the first - argument, and the directory change is successful, the absolute + lowed. An argument of -- is equivalent to $$OOLLDDPPWWDD. If a non- + empty directory name from CCDDPPAATTHH is used, or if -- is the first + argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard - output. The return value is true if the directory was success- + output. The return value is true if the directory was success- fully changed; false otherwise. ccoommmmaanndd [--ppVVvv] _c_o_m_m_a_n_d [_a_r_g ...] - Run _c_o_m_m_a_n_d with _a_r_g_s suppressing the normal shell function - lookup. Only builtin commands or commands found in the PPAATTHH are - executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is - performed using a default value for PPAATTHH that is guaranteed to - find all of the standard utilities. If either the --VV or --vv + Run _c_o_m_m_a_n_d with _a_r_g_s suppressing the normal shell function + lookup. Only builtin commands or commands found in the PPAATTHH are + executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is + performed using a default value for PPAATTHH that is guaranteed to + find all of the standard utilities. If either the --VV or --vv option is supplied, a description of _c_o_m_m_a_n_d is printed. The --vv - option causes a single word indicating the command or file name + option causes a single word indicating the command or file name used to invoke _c_o_m_m_a_n_d to be displayed; the --VV option produces a - more verbose description. If the --VV or --vv option is supplied, - the exit status is 0 if _c_o_m_m_a_n_d was found, and 1 if not. If + more verbose description. If the --VV or --vv option is supplied, + the exit status is 0 if _c_o_m_m_a_n_d was found, and 1 if not. If neither option is supplied and an error occurred or _c_o_m_m_a_n_d can- - not be found, the exit status is 127. Otherwise, the exit sta- + not be found, the exit status is 127. Otherwise, the exit sta- tus of the ccoommmmaanndd builtin is the exit status of _c_o_m_m_a_n_d. ccoommppggeenn [_o_p_t_i_o_n] [_w_o_r_d] - Generate possible completion matches for _w_o_r_d according to the - _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee - builtin with the exception of --pp and --rr, and write the matches - to the standard output. When using the --FF or --CC options, the - various shell variables set by the programmable completion + Generate possible completion matches for _w_o_r_d according to the + _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee + builtin with the exception of --pp and --rr, and write the matches + to the standard output. When using the --FF or --CC options, the + various shell variables set by the programmable completion facilities, while available, will not have useful values. - The matches will be generated in the same way as if the pro- - grammable completion code had generated them directly from a + The matches will be generated in the same way as if the pro- + grammable completion code had generated them directly from a completion specification with the same flags. If _w_o_r_d is speci- fied, only those completions matching _w_o_r_d will be displayed. - The return value is true unless an invalid option is supplied, + The return value is true unless an invalid option is supplied, or no matches were generated. - ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEE] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_- + ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEE] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_- _p_a_t] [--WW _w_o_r_d_l_i_s_t] [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d] [--XX _f_i_l_t_e_r_p_a_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_f_i_x] _n_a_m_e [_n_a_m_e _._._.] ccoommpplleettee --pprr [--DDEE] [_n_a_m_e ...] - Specify how arguments to each _n_a_m_e should be completed. If the - --pp option is supplied, or if no options are supplied, existing - completion specifications are printed in a way that allows them + Specify how arguments to each _n_a_m_e should be completed. If the + --pp option is supplied, or if no options are supplied, existing + completion specifications are printed in a way that allows them to be reused as input. The --rr option removes a completion spec- - ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com- + ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com- pletion specifications. The --DD option indicates that the - remaining options and actions should apply to the ``default'' - command completion; that is, completion attempted on a command - for which no completion has previously been defined. The --EE - option indicates that the remaining options and actions should - apply to ``empty'' command completion; that is, completion + remaining options and actions should apply to the ``default'' + command completion; that is, completion attempted on a command + for which no completion has previously been defined. The --EE + option indicates that the remaining options and actions should + apply to ``empty'' command completion; that is, completion attempted on a blank line. - The process of applying these completion specifications when - word completion is attempted is described above under PPrroo-- + The process of applying these completion specifications when + word completion is attempted is described above under PPrroo-- ggrraammmmaabbllee CCoommpplleettiioonn. - Other options, if specified, have the following meanings. The - arguments to the --GG, --WW, and --XX options (and, if necessary, the - --PP and --SS options) should be quoted to protect them from expan- + Other options, if specified, have the following meanings. The + arguments to the --GG, --WW, and --XX options (and, if necessary, the + --PP and --SS options) should be quoted to protect them from expan- sion before the ccoommpplleettee builtin is invoked. --oo _c_o_m_p_-_o_p_t_i_o_n - The _c_o_m_p_-_o_p_t_i_o_n controls several aspects of the comp- - spec's behavior beyond the simple generation of comple- + The _c_o_m_p_-_o_p_t_i_o_n controls several aspects of the comp- + spec's behavior beyond the simple generation of comple- tions. _c_o_m_p_-_o_p_t_i_o_n may be one of: bbaasshhddeeffaauulltt Perform the rest of the default bbaasshh completions if the compspec generates no matches. - ddeeffaauulltt Use readline's default filename completion if + ddeeffaauulltt Use readline's default filename completion if the compspec generates no matches. ddiirrnnaammeess - Perform directory name completion if the comp- + Perform directory name completion if the comp- spec generates no matches. ffiilleennaammeess - Tell readline that the compspec generates file- - names, so it can perform any filename-specific - processing (like adding a slash to directory - names, quoting special characters, or suppress- - ing trailing spaces). Intended to be used with + Tell readline that the compspec generates file- + names, so it can perform any filename-specific + processing (like adding a slash to directory + names, quoting special characters, or suppress- + ing trailing spaces). Intended to be used with shell functions. - nnoossppaaccee Tell readline not to append a space (the - default) to words completed at the end of the + nnoossppaaccee Tell readline not to append a space (the + default) to words completed at the end of the line. pplluussddiirrss - After any matches defined by the compspec are - generated, directory name completion is - attempted and any matches are added to the + After any matches defined by the compspec are + generated, directory name completion is + attempted and any matches are added to the results of the other actions. --AA _a_c_t_i_o_n - The _a_c_t_i_o_n may be one of the following to generate a + The _a_c_t_i_o_n may be one of the following to generate a list of possible completions: aalliiaass Alias names. May also be specified as --aa. aarrrraayyvvaarr Array variable names. bbiinnddiinngg RReeaaddlliinnee key binding names. - bbuuiillttiinn Names of shell builtin commands. May also be + bbuuiillttiinn Names of shell builtin commands. May also be specified as --bb. ccoommmmaanndd Command names. May also be specified as --cc. ddiirreeccttoorryy @@ -3908,7 +3911,7 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS ddiissaabblleedd Names of disabled shell builtins. eennaabblleedd Names of enabled shell builtins. - eexxppoorrtt Names of exported shell variables. May also be + eexxppoorrtt Names of exported shell variables. May also be specified as --ee. ffiillee File names. May also be specified as --ff. ffuunnccttiioonn @@ -3917,17 +3920,17 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS hheellppttooppiicc Help topics as accepted by the hheellpp builtin. hhoossttnnaammee - Hostnames, as taken from the file specified by + Hostnames, as taken from the file specified by the HHOOSSTTFFIILLEE shell variable. - jjoobb Job names, if job control is active. May also + jjoobb Job names, if job control is active. May also be specified as --jj. - kkeeyywwoorrdd Shell reserved words. May also be specified as + kkeeyywwoorrdd Shell reserved words. May also be specified as --kk. rruunnnniinngg Names of running jobs, if job control is active. sseerrvviiccee Service names. May also be specified as --ss. - sseettoopptt Valid arguments for the --oo option to the sseett + sseettoopptt Valid arguments for the --oo option to the sseett builtin. - sshhoopptt Shell option names as accepted by the sshhoopptt + sshhoopptt Shell option names as accepted by the sshhoopptt builtin. ssiiggnnaall Signal names. ssttooppppeedd Names of stopped jobs, if job control is active. @@ -3936,170 +3939,170 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS Names of all shell variables. May also be spec- ified as --vv. --GG _g_l_o_b_p_a_t - The pathname expansion pattern _g_l_o_b_p_a_t is expanded to + The pathname expansion pattern _g_l_o_b_p_a_t is expanded to generate the possible completions. --WW _w_o_r_d_l_i_s_t - The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS - special variable as delimiters, and each resultant word - is expanded. The possible completions are the members - of the resultant list which match the word being com- + The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS + special variable as delimiters, and each resultant word + is expanded. The possible completions are the members + of the resultant list which match the word being com- pleted. --CC _c_o_m_m_a_n_d - _c_o_m_m_a_n_d is executed in a subshell environment, and its + _c_o_m_m_a_n_d is executed in a subshell environment, and its output is used as the possible completions. --FF _f_u_n_c_t_i_o_n - The shell function _f_u_n_c_t_i_o_n is executed in the current - shell environment. When it finishes, the possible com- - pletions are retrieved from the value of the CCOOMMPPRREEPPLLYY + The shell function _f_u_n_c_t_i_o_n is executed in the current + shell environment. When it finishes, the possible com- + pletions are retrieved from the value of the CCOOMMPPRREEPPLLYY array variable. --XX _f_i_l_t_e_r_p_a_t - _f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion. + _f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion. It is applied to the list of possible completions gener- - ated by the preceding options and arguments, and each - completion matching _f_i_l_t_e_r_p_a_t is removed from the list. - A leading !! in _f_i_l_t_e_r_p_a_t negates the pattern; in this - case, any completion not matching _f_i_l_t_e_r_p_a_t is removed. + ated by the preceding options and arguments, and each + completion matching _f_i_l_t_e_r_p_a_t is removed from the list. + A leading !! in _f_i_l_t_e_r_p_a_t negates the pattern; in this + case, any completion not matching _f_i_l_t_e_r_p_a_t is removed. --PP _p_r_e_f_i_x - _p_r_e_f_i_x is added at the beginning of each possible com- + _p_r_e_f_i_x is added at the beginning of each possible com- pletion after all other options have been applied. --SS _s_u_f_f_i_x _s_u_f_f_i_x is appended to each possible completion after all other options have been applied. - The return value is true unless an invalid option is supplied, - an option other than --pp or --rr is supplied without a _n_a_m_e argu- - ment, an attempt is made to remove a completion specification + The return value is true unless an invalid option is supplied, + an option other than --pp or --rr is supplied without a _n_a_m_e argu- + ment, an attempt is made to remove a completion specification for a _n_a_m_e for which no specification exists, or an error occurs adding a completion specification. ccoommppoopptt [--oo _o_p_t_i_o_n] [--DDEE] [++oo _o_p_t_i_o_n] [_n_a_m_e] Modify completion options for each _n_a_m_e according to the - _o_p_t_i_o_ns, or for the currently-execution completion if no _n_a_m_es - are supplied. If no _o_p_t_i_o_ns are given, display the completion - options for each _n_a_m_e or the current completion. The possible - values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin - described above. The --DD option indicates that the remaining + _o_p_t_i_o_ns, or for the currently-execution completion if no _n_a_m_es + are supplied. If no _o_p_t_i_o_ns are given, display the completion + options for each _n_a_m_e or the current completion. The possible + values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin + described above. The --DD option indicates that the remaining options should apply to the ``default'' command completion; that - is, completion attempted on a command for which no completion - has previously been defined. The --EE option indicates that the - remaining options should apply to ``empty'' command completion; + is, completion attempted on a command for which no completion + has previously been defined. The --EE option indicates that the + remaining options should apply to ``empty'' command completion; that is, completion attempted on a blank line. - The return value is true unless an invalid option is supplied, an - attempt is made to modify the options for a _n_a_m_e for which no comple- + The return value is true unless an invalid option is supplied, an + attempt is made to modify the options for a _n_a_m_e for which no comple- tion specification exists, or an output error occurs. ccoonnttiinnuuee [_n] Resume the next iteration of the enclosing ffoorr, wwhhiillee, uunnttiill, or - sseelleecctt loop. If _n is specified, resume at the _nth enclosing - loop. _n must be >= 1. If _n is greater than the number of - enclosing loops, the last enclosing loop (the ``top-level'' + sseelleecctt loop. If _n is specified, resume at the _nth enclosing + loop. _n must be >= 1. If _n is greater than the number of + enclosing loops, the last enclosing loop (the ``top-level'' loop) is resumed. The return value is 0 unless _n is not greater than or equal to 1. ddeeccllaarree [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] ttyyppeesseett [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] - Declare variables and/or give them attributes. If no _n_a_m_es are - given then display the values of variables. The --pp option will + Declare variables and/or give them attributes. If no _n_a_m_es are + given then display the values of variables. The --pp option will display the attributes and values of each _n_a_m_e. When --pp is used with _n_a_m_e arguments, additional options are ignored. When --pp is - supplied without _n_a_m_e arguments, it will display the attributes - and values of all variables having the attributes specified by - the additional options. If no other options are supplied with - --pp, ddeeccllaarree will display the attributes and values of all shell - variables. The --ff option will restrict the display to shell + supplied without _n_a_m_e arguments, it will display the attributes + and values of all variables having the attributes specified by + the additional options. If no other options are supplied with + --pp, ddeeccllaarree will display the attributes and values of all shell + variables. The --ff option will restrict the display to shell functions. The --FF option inhibits the display of function defi- - nitions; only the function name and attributes are printed. If - the eexxttddeebbuugg shell option is enabled using sshhoopptt, the source + nitions; only the function name and attributes are printed. If + the eexxttddeebbuugg shell option is enabled using sshhoopptt, the source file name and line number where the function is defined are dis- - played as well. The --FF option implies --ff. The following - options can be used to restrict output to variables with the + played as well. The --FF option implies --ff. The following + options can be used to restrict output to variables with the specified attribute or to give variables attributes: - --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss + --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss above). - --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss + --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss above). --ff Use function names only. --ii The variable is treated as an integer; arithmetic evalua- - tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN )) is performed when the - variable is assigned a value. - --ll When the variable is assigned a value, all upper-case - characters are converted to lower-case. The upper-case + tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when + the variable is assigned a value. + --ll When the variable is assigned a value, all upper-case + characters are converted to lower-case. The upper-case attribute is disabled. --rr Make _n_a_m_es readonly. These names cannot then be assigned values by subsequent assignment statements or unset. - --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions - inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling - shell. The trace attribute has no special meaning for + --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions + inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling + shell. The trace attribute has no special meaning for variables. - --uu When the variable is assigned a value, all lower-case - characters are converted to upper-case. The lower-case + --uu When the variable is assigned a value, all lower-case + characters are converted to upper-case. The lower-case attribute is disabled. - --xx Mark _n_a_m_es for export to subsequent commands via the + --xx Mark _n_a_m_es for export to subsequent commands via the environment. - Using `+' instead of `-' turns off the attribute instead, with + Using `+' instead of `-' turns off the attribute instead, with the exceptions that ++aa may not be used to destroy an array vari- - able and ++rr wwiillll nnoott rreemmoovvee tthhee rreeaaddoonnllyy aattttrriibbuuttee.. WWhheenn uusseedd - iinn aa ffuunnccttiioonn,, mmaakkeess eeaacchh _n_a_m_e llooccaall,, aass wwiitthh tthhee llooccaall command. + able and ++rr will not remove the readonly attribute. When used + in a function, makes each _n_a_m_e local, as with the llooccaall command. If a variable name is followed by =_v_a_l_u_e, the value of the vari- - able is set to _v_a_l_u_e. The return value is 0 unless an invalid - option is encountered, an attempt is made to define a function - using ``-f foo=bar'', an attempt is made to assign a value to a - readonly variable, an attempt is made to assign a value to an + able is set to _v_a_l_u_e. The return value is 0 unless an invalid + option is encountered, an attempt is made to define a function + using ``-f foo=bar'', an attempt is made to assign a value to a + readonly variable, an attempt is made to assign a value to an array variable without using the compound assignment syntax (see - AArrrraayyss above), one of the _n_a_m_e_s is not a valid shell variable + AArrrraayyss above), one of the _n_a_m_e_s is not a valid shell variable name, an attempt is made to turn off readonly status for a read- - only variable, an attempt is made to turn off array status for - an array variable, or an attempt is made to display a non-exis- + only variable, an attempt is made to turn off array status for + an array variable, or an attempt is made to display a non-exis- tent function with --ff. ddiirrss [[++_n]] [[--_n]] [[--ccppllvv]] - Without options, displays the list of currently remembered - directories. The default display is on a single line with - directory names separated by spaces. Directories are added to - the list with the ppuusshhdd command; the ppooppdd command removes + Without options, displays the list of currently remembered + directories. The default display is on a single line with + directory names separated by spaces. Directories are added to + the list with the ppuusshhdd command; the ppooppdd command removes entries from the list. ++_n Displays the _nth entry counting from the left of the list shown by ddiirrss when invoked without options, starting with zero. - --_n Displays the _nth entry counting from the right of the + --_n Displays the _nth entry counting from the right of the list shown by ddiirrss when invoked without options, starting with zero. --cc Clears the directory stack by deleting all of the entries. - --ll Produces a longer listing; the default listing format + --ll Produces a longer listing; the default listing format uses a tilde to denote the home directory. --pp Print the directory stack with one entry per line. - --vv Print the directory stack with one entry per line, pre- + --vv Print the directory stack with one entry per line, pre- fixing each entry with its index in the stack. - The return value is 0 unless an invalid option is supplied or _n + The return value is 0 unless an invalid option is supplied or _n indexes beyond the end of the directory stack. ddiissoowwnn [--aarr] [--hh] [_j_o_b_s_p_e_c ...] - Without options, each _j_o_b_s_p_e_c is removed from the table of - active jobs. If _j_o_b_s_p_e_c is not present, and neither --aa nnoorr --rr - iiss ssuupppplliieedd,, tthhee sshheellll''ss nnoottiioonn ooff tthhee _c_u_r_r_e_n_t _j_o_b iiss uusseedd.. IIff - tthhee --hh ooppttiioonn iiss ggiivveenn,, eeaacchh _j_o_b_s_p_e_c is not removed from the ta- - ble, but is marked so that SSIIGGHHUUPP is not sent to the job if the - shell receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is present, and neither - the --aa nor the --rr option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. + Without options, each _j_o_b_s_p_e_c is removed from the table of + active jobs. If _j_o_b_s_p_e_c is not present, and neither --aa nor --rr + is supplied, the shell's notion of the _c_u_r_r_e_n_t _j_o_b is used. If + the --hh option is given, each _j_o_b_s_p_e_c is not removed from the ta- + ble, but is marked so that SSIIGGHHUUPP is not sent to the job if the + shell receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is present, and neither + the --aa nor the --rr option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If no _j_o_b_s_p_e_c is supplied, the --aa option means to remove or mark - all jobs; the --rr option without a _j_o_b_s_p_e_c argument restricts - operation to running jobs. The return value is 0 unless a _j_o_b_- + all jobs; the --rr option without a _j_o_b_s_p_e_c argument restricts + operation to running jobs. The return value is 0 unless a _j_o_b_- _s_p_e_c does not specify a valid job. eecchhoo [--nneeEE] [_a_r_g ...] - Output the _a_r_gs, separated by spaces, followed by a newline. + Output the _a_r_gs, separated by spaces, followed by a newline. The return status is always 0. If --nn is specified, the trailing - newline is suppressed. If the --ee option is given, interpreta- - tion of the following backslash-escaped characters is enabled. - The --EE option disables the interpretation of these escape char- - acters, even on systems where they are interpreted by default. - The xxppgg__eecchhoo shell option may be used to dynamically determine - whether or not eecchhoo expands these escape characters by default. - eecchhoo does not interpret ---- to mean the end of options. eecchhoo + newline is suppressed. If the --ee option is given, interpreta- + tion of the following backslash-escaped characters is enabled. + The --EE option disables the interpretation of these escape char- + acters, even on systems where they are interpreted by default. + The xxppgg__eecchhoo shell option may be used to dynamically determine + whether or not eecchhoo expands these escape characters by default. + eecchhoo does not interpret ---- to mean the end of options. eecchhoo interprets the following escape sequences: \\aa alert (bell) \\bb backspace @@ -4111,184 +4114,184 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS \\tt horizontal tab \\vv vertical tab \\\\ backslash - \\00_n_n_n the eight-bit character whose value is the octal value + \\00_n_n_n the eight-bit character whose value is the octal value _n_n_n (zero to three octal digits) - \\xx_H_H the eight-bit character whose value is the hexadecimal + \\xx_H_H the eight-bit character whose value is the hexadecimal value _H_H (one or two hex digits) eennaabbllee [--aa] [--ddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...] - Enable and disable builtin shell commands. Disabling a builtin + Enable and disable builtin shell commands. Disabling a builtin allows a disk command which has the same name as a shell builtin - to be executed without specifying a full pathname, even though - the shell normally searches for builtins before disk commands. - If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are + to be executed without specifying a full pathname, even though + the shell normally searches for builtins before disk commands. + If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are enabled. For example, to use the tteesstt binary found via the PPAATTHH - instead of the shell builtin version, run ``enable -n test''. - The --ff option means to load the new builtin command _n_a_m_e from + instead of the shell builtin version, run ``enable -n test''. + The --ff option means to load the new builtin command _n_a_m_e from shared object _f_i_l_e_n_a_m_e, on systems that support dynamic loading. - The --dd option will delete a builtin previously loaded with --ff. + The --dd option will delete a builtin previously loaded with --ff. If no _n_a_m_e arguments are given, or if the --pp option is supplied, a list of shell builtins is printed. With no other option argu- - ments, the list consists of all enabled shell builtins. If --nn - is supplied, only disabled builtins are printed. If --aa is sup- - plied, the list printed includes all builtins, with an indica- - tion of whether or not each is enabled. If --ss is supplied, the - output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return - value is 0 unless a _n_a_m_e is not a shell builtin or there is an + ments, the list consists of all enabled shell builtins. If --nn + is supplied, only disabled builtins are printed. If --aa is sup- + plied, the list printed includes all builtins, with an indica- + tion of whether or not each is enabled. If --ss is supplied, the + output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return + value is 0 unless a _n_a_m_e is not a shell builtin or there is an error loading a new builtin from a shared object. eevvaall [_a_r_g ...] - The _a_r_gs are read and concatenated together into a single com- - mand. This command is then read and executed by the shell, and - its exit status is returned as the value of eevvaall. If there are + The _a_r_gs are read and concatenated together into a single com- + mand. This command is then read and executed by the shell, and + its exit status is returned as the value of eevvaall. If there are no _a_r_g_s, or only null arguments, eevvaall returns 0. eexxeecc [--ccll] [--aa _n_a_m_e] [_c_o_m_m_a_n_d [_a_r_g_u_m_e_n_t_s]] - If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process - is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If + If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process + is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If the --ll option is supplied, the shell places a dash at the begin- - ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what + ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what _l_o_g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with - an empty environment. If --aa is supplied, the shell passes _n_a_m_e + an empty environment. If --aa is supplied, the shell passes _n_a_m_e as the zeroth argument to the executed command. If _c_o_m_m_a_n_d can- - not be executed for some reason, a non-interactive shell exits, - unless the shell option eexxeeccffaaiill is enabled, in which case it - returns failure. An interactive shell returns failure if the + not be executed for some reason, a non-interactive shell exits, + unless the shell option eexxeeccffaaiill is enabled, in which case it + returns failure. An interactive shell returns failure if the file cannot be executed. If _c_o_m_m_a_n_d is not specified, any redi- rections take effect in the current shell, and the return status - is 0. If there is a redirection error, the return status is 1. + is 0. If there is a redirection error, the return status is 1. eexxiitt [_n] - Cause the shell to exit with a status of _n. If _n is omitted, + Cause the shell to exit with a status of _n. If _n is omitted, the exit status is that of the last command executed. A trap on EEXXIITT is executed before the shell terminates. eexxppoorrtt [--ffnn] [_n_a_m_e[=_w_o_r_d]] ... eexxppoorrtt --pp - The supplied _n_a_m_e_s are marked for automatic export to the envi- - ronment of subsequently executed commands. If the --ff option is - given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or - if the --pp option is supplied, a list of all names that are - exported in this shell is printed. The --nn option causes the - export property to be removed from each _n_a_m_e. If a variable - name is followed by =_w_o_r_d, the value of the variable is set to - _w_o_r_d. eexxppoorrtt returns an exit status of 0 unless an invalid - option is encountered, one of the _n_a_m_e_s is not a valid shell + The supplied _n_a_m_e_s are marked for automatic export to the envi- + ronment of subsequently executed commands. If the --ff option is + given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or + if the --pp option is supplied, a list of all names that are + exported in this shell is printed. The --nn option causes the + export property to be removed from each _n_a_m_e. If a variable + name is followed by =_w_o_r_d, the value of the variable is set to + _w_o_r_d. eexxppoorrtt returns an exit status of 0 unless an invalid + option is encountered, one of the _n_a_m_e_s is not a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a func- tion. ffcc [--ee _e_n_a_m_e] [--llnnrr] [_f_i_r_s_t] [_l_a_s_t] ffcc --ss [_p_a_t=_r_e_p] [_c_m_d] - Fix Command. In the first form, a range of commands from _f_i_r_s_t - to _l_a_s_t is selected from the history list. _F_i_r_s_t and _l_a_s_t may - be specified as a string (to locate the last command beginning - with that string) or as a number (an index into the history + Fix Command. In the first form, a range of commands from _f_i_r_s_t + to _l_a_s_t is selected from the history list. _F_i_r_s_t and _l_a_s_t may + be specified as a string (to locate the last command beginning + with that string) or as a number (an index into the history list, where a negative number is used as an offset from the cur- rent command number). If _l_a_s_t is not specified it is set to the - current command for listing (so that ``fc -l -10'' prints the + current command for listing (so that ``fc -l -10'' prints the last 10 commands) and to _f_i_r_s_t otherwise. If _f_i_r_s_t is not spec- - ified it is set to the previous command for editing and -16 for + ified it is set to the previous command for editing and -16 for listing. - The --nn option suppresses the command numbers when listing. The - --rr option reverses the order of the commands. If the --ll option - is given, the commands are listed on standard output. Other- - wise, the editor given by _e_n_a_m_e is invoked on a file containing - those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT - variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set. - If neither variable is set, _v_i is used. When editing is com- + The --nn option suppresses the command numbers when listing. The + --rr option reverses the order of the commands. If the --ll option + is given, the commands are listed on standard output. Other- + wise, the editor given by _e_n_a_m_e is invoked on a file containing + those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT + variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set. + If neither variable is set, _v_i is used. When editing is com- plete, the edited commands are echoed and executed. - In the second form, _c_o_m_m_a_n_d is re-executed after each instance - of _p_a_t is replaced by _r_e_p. A useful alias to use with this is - ``r="fc -s"'', so that typing ``r cc'' runs the last command + In the second form, _c_o_m_m_a_n_d is re-executed after each instance + of _p_a_t is replaced by _r_e_p. A useful alias to use with this is + ``r="fc -s"'', so that typing ``r cc'' runs the last command beginning with ``cc'' and typing ``r'' re-executes the last com- mand. - If the first form is used, the return value is 0 unless an - invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history - lines out of range. If the --ee option is supplied, the return + If the first form is used, the return value is 0 unless an + invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history + lines out of range. If the --ee option is supplied, the return value is the value of the last command executed or failure if an error occurs with the temporary file of commands. If the second - form is used, the return status is that of the command re-exe- - cuted, unless _c_m_d does not specify a valid history line, in + form is used, the return status is that of the command re-exe- + cuted, unless _c_m_d does not specify a valid history line, in which case ffcc returns failure. ffgg [_j_o_b_s_p_e_c] - Resume _j_o_b_s_p_e_c in the foreground, and make it the current job. + Resume _j_o_b_s_p_e_c in the foreground, and make it the current job. If _j_o_b_s_p_e_c is not present, the shell's notion of the _c_u_r_r_e_n_t _j_o_b - is used. The return value is that of the command placed into - the foreground, or failure if run when job control is disabled + is used. The return value is that of the command placed into + the foreground, or failure if run when job control is disabled or, when run with job control enabled, if _j_o_b_s_p_e_c does not spec- - ify a valid job or _j_o_b_s_p_e_c specifies a job that was started + ify a valid job or _j_o_b_s_p_e_c specifies a job that was started without job control. ggeettooppttss _o_p_t_s_t_r_i_n_g _n_a_m_e [_a_r_g_s] - ggeettooppttss is used by shell procedures to parse positional parame- - ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog- - nized; if a character is followed by a colon, the option is - expected to have an argument, which should be separated from it - by white space. The colon and question mark characters may not - be used as option characters. Each time it is invoked, ggeettooppttss - places the next option in the shell variable _n_a_m_e, initializing + ggeettooppttss is used by shell procedures to parse positional parame- + ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog- + nized; if a character is followed by a colon, the option is + expected to have an argument, which should be separated from it + by white space. The colon and question mark characters may not + be used as option characters. Each time it is invoked, ggeettooppttss + places the next option in the shell variable _n_a_m_e, initializing _n_a_m_e if it does not exist, and the index of the next argument to be processed into the variable OOPPTTIINNDD. OOPPTTIINNDD is initialized to - 1 each time the shell or a shell script is invoked. When an - option requires an argument, ggeettooppttss places that argument into - the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati- - cally; it must be manually reset between multiple calls to + 1 each time the shell or a shell script is invoked. When an + option requires an argument, ggeettooppttss places that argument into + the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati- + cally; it must be manually reset between multiple calls to ggeettooppttss within the same shell invocation if a new set of parame- ters is to be used. - When the end of options is encountered, ggeettooppttss exits with a - return value greater than zero. OOPPTTIINNDD is set to the index of + When the end of options is encountered, ggeettooppttss exits with a + return value greater than zero. OOPPTTIINNDD is set to the index of the first non-option argument, and nnaammee is set to ?. - ggeettooppttss normally parses the positional parameters, but if more + ggeettooppttss normally parses the positional parameters, but if more arguments are given in _a_r_g_s, ggeettooppttss parses those instead. - ggeettooppttss can report errors in two ways. If the first character - of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In - normal operation diagnostic messages are printed when invalid - options or missing option arguments are encountered. If the - variable OOPPTTEERRRR is set to 0, no error messages will be dis- + ggeettooppttss can report errors in two ways. If the first character + of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In + normal operation diagnostic messages are printed when invalid + options or missing option arguments are encountered. If the + variable OOPPTTEERRRR is set to 0, no error messages will be dis- played, even if the first character of _o_p_t_s_t_r_i_n_g is not a colon. If an invalid option is seen, ggeettooppttss places ? into _n_a_m_e and, if - not silent, prints an error message and unsets OOPPTTAARRGG. If - ggeettooppttss is silent, the option character found is placed in + not silent, prints an error message and unsets OOPPTTAARRGG. If + ggeettooppttss is silent, the option character found is placed in OOPPTTAARRGG and no diagnostic message is printed. - If a required argument is not found, and ggeettooppttss is not silent, - a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a - diagnostic message is printed. If ggeettooppttss is silent, then a - colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option + If a required argument is not found, and ggeettooppttss is not silent, + a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a + diagnostic message is printed. If ggeettooppttss is silent, then a + colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option character found. - ggeettooppttss returns true if an option, specified or unspecified, is + ggeettooppttss returns true if an option, specified or unspecified, is found. It returns false if the end of options is encountered or an error occurs. hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e] - For each _n_a_m_e, the full file name of the command is determined + For each _n_a_m_e, the full file name of the command is determined by searching the directories in $$PPAATTHH and remembered. If the --pp option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e is used as the full file name of the command. The --rr option causes - the shell to forget all remembered locations. The --dd option + the shell to forget all remembered locations. The --dd option causes the shell to forget the remembered location of each _n_a_m_e. - If the --tt option is supplied, the full pathname to which each - _n_a_m_e corresponds is printed. If multiple _n_a_m_e arguments are - supplied with --tt, the _n_a_m_e is printed before the hashed full + If the --tt option is supplied, the full pathname to which each + _n_a_m_e corresponds is printed. If multiple _n_a_m_e arguments are + supplied with --tt, the _n_a_m_e is printed before the hashed full pathname. The --ll option causes output to be displayed in a for- - mat that may be reused as input. If no arguments are given, or + mat that may be reused as input. If no arguments are given, or if only --ll is supplied, information about remembered commands is - printed. The return status is true unless a _n_a_m_e is not found + printed. The return status is true unless a _n_a_m_e is not found or an invalid option is supplied. hheellpp [--ddmmss] [_p_a_t_t_e_r_n] - Display helpful information about builtin commands. If _p_a_t_t_e_r_n - is specified, hheellpp gives detailed help on all commands matching - _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control + Display helpful information about builtin commands. If _p_a_t_t_e_r_n + is specified, hheellpp gives detailed help on all commands matching + _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control structures is printed. --dd Display a short description of each _p_a_t_t_e_r_n --mm Display the description of each _p_a_t_t_e_r_n in a manpage-like @@ -4304,227 +4307,227 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS hhiissttoorryy --ss _a_r_g [_a_r_g _._._.] With no options, display the command history list with line num- bers. Lines listed with a ** have been modified. An argument of - _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE-- - FFOORRMMAATT is set and not null, it is used as a format string for - _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis- - played history entry. No intervening blank is printed between - the formatted time stamp and the history line. If _f_i_l_e_n_a_m_e is - supplied, it is used as the name of the history file; if not, - the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the + _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE-- + FFOORRMMAATT is set and not null, it is used as a format string for + _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis- + played history entry. No intervening blank is printed between + the formatted time stamp and the history line. If _f_i_l_e_n_a_m_e is + supplied, it is used as the name of the history file; if not, + the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the following meanings: --cc Clear the history list by deleting all the entries. --dd _o_f_f_s_e_t Delete the history entry at position _o_f_f_s_e_t. - --aa Append the ``new'' history lines (history lines entered - since the beginning of the current bbaasshh session) to the + --aa Append the ``new'' history lines (history lines entered + since the beginning of the current bbaasshh session) to the history file. - --nn Read the history lines not already read from the history - file into the current history list. These are lines - appended to the history file since the beginning of the + --nn Read the history lines not already read from the history + file into the current history list. These are lines + appended to the history file since the beginning of the current bbaasshh session. --rr Read the contents of the history file and use them as the current history. - --ww Write the current history to the history file, overwrit- + --ww Write the current history to the history file, overwrit- ing the history file's contents. - --pp Perform history substitution on the following _a_r_g_s and - display the result on the standard output. Does not - store the results in the history list. Each _a_r_g must be + --pp Perform history substitution on the following _a_r_g_s and + display the result on the standard output. Does not + store the results in the history list. Each _a_r_g must be quoted to disable normal history expansion. - --ss Store the _a_r_g_s in the history list as a single entry. - The last command in the history list is removed before + --ss Store the _a_r_g_s in the history list as a single entry. + The last command in the history list is removed before the _a_r_g_s are added. - If the HHIISSTTTTIIMMEEFFOORRMMAATT is set, the time stamp information associ- - ated with each history entry is written to the history file, - marked with the history comment character. When the history - file is read, lines beginning with the history comment character - followed immediately by a digit are interpreted as timestamps - for the previous history line. The return value is 0 unless an - invalid option is encountered, an error occurs while reading or - writing the history file, an invalid _o_f_f_s_e_t is supplied as an - argument to --dd, or the history expansion supplied as an argument - to --pp fails. + If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, the time stamp informa- + tion associated with each history entry is written to the his- + tory file, marked with the history comment character. When the + history file is read, lines beginning with the history comment + character followed immediately by a digit are interpreted as + timestamps for the previous history line. The return value is 0 + unless an invalid option is encountered, an error occurs while + reading or writing the history file, an invalid _o_f_f_s_e_t is sup- + plied as an argument to --dd, or the history expansion supplied as + an argument to --pp fails. jjoobbss [--llnnpprrss] [ _j_o_b_s_p_e_c ... ] jjoobbss --xx _c_o_m_m_a_n_d [ _a_r_g_s ... ] The first form lists the active jobs. The options have the fol- lowing meanings: --ll List process IDs in addition to the normal information. - --pp List only the process ID of the job's process group + --pp List only the process ID of the job's process group leader. - --nn Display information only about jobs that have changed - status since the user was last notified of their status. + --nn Display information only about jobs that have changed + status since the user was last notified of their status. --rr Restrict output to running jobs. --ss Restrict output to stopped jobs. - If _j_o_b_s_p_e_c is given, output is restricted to information about - that job. The return status is 0 unless an invalid option is + If _j_o_b_s_p_e_c is given, output is restricted to information about + that job. The return status is 0 unless an invalid option is encountered or an invalid _j_o_b_s_p_e_c is supplied. If the --xx option is supplied, jjoobbss replaces any _j_o_b_s_p_e_c found in - _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and + _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and executes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status. kkiillll [--ss _s_i_g_s_p_e_c | --nn _s_i_g_n_u_m | --_s_i_g_s_p_e_c] [_p_i_d | _j_o_b_s_p_e_c] ... kkiillll --ll [_s_i_g_s_p_e_c | _e_x_i_t___s_t_a_t_u_s] - Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes - named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive - signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or - a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not - present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the - signal names. If any arguments are supplied when --ll is given, - the names of the signals corresponding to the arguments are + Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes + named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive + signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or + a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not + present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the + signal names. If any arguments are supplied when --ll is given, + the names of the signals corresponding to the arguments are listed, and the return status is 0. The _e_x_i_t___s_t_a_t_u_s argument to - --ll is a number specifying either a signal number or the exit - status of a process terminated by a signal. kkiillll returns true - if at least one signal was successfully sent, or false if an + --ll is a number specifying either a signal number or the exit + status of a process terminated by a signal. kkiillll returns true + if at least one signal was successfully sent, or false if an error occurs or an invalid option is encountered. lleett _a_r_g [_a_r_g ...] Each _a_r_g is an arithmetic expression to be evaluated (see AARRIITTHH-- - MMEETTIICC EEVVAALLUUAATTIIOONN). If the last _a_r_g evaluates to 0, lleett returns - 1; 0 is returned otherwise. + MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett + returns 1; 0 is returned otherwise. llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ...] - For each argument, a local variable named _n_a_m_e is created, and - assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted + For each argument, a local variable named _n_a_m_e is created, and + assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted by ddeeccllaarree. When llooccaall is used within a function, it causes the - variable _n_a_m_e to have a visible scope restricted to that func- + variable _n_a_m_e to have a visible scope restricted to that func- tion and its children. With no operands, llooccaall writes a list of - local variables to the standard output. It is an error to use + 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, + 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. - mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] + mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y] - rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] + rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y] - Read lines from the standard input into the indexed array vari- - able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup- - plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if + Read lines from the standard input into the indexed array vari- + able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup- + plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if supplied, have the following meanings: - --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are + --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are copied. - --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default + --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default index is 0. --ss Discard the first _c_o_u_n_t lines read. - --tt Remove a trailing line from each line read. - --uu Read lines from file descriptor _f_d instead of the stan- + --tt Remove a trailing newline from each line read. + --uu Read lines from file descriptor _f_d instead of the stan- dard input. - --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The + --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The --cc option specifies _q_u_a_n_t_u_m. - --cc Specify the number of lines read between each call to + --cc Specify the number of lines read between each call to _c_a_l_l_b_a_c_k. - If --CC is specified without --cc, the default quantum is 5000. + If --CC is specified without --cc, the default quantum is 5000. When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next - array element to be assigned as an additional argument. _c_a_l_l_- - _b_a_c_k is evaluated after the line is read but before the array + array element to be assigned as an additional argument. _c_a_l_l_- + _b_a_c_k is evaluated after the line is read but before the array element is assigned. - If not supplied with an explicit origin, mmaappffiillee will clear + If not supplied with an explicit origin, mmaappffiillee will clear _a_r_r_a_y before assigning to it. - mmaappffiillee returns successfully unless an invalid option or option - argument is supplied, _a_r_r_a_y is invalid or unassignable, or if + mmaappffiillee returns successfully unless an invalid option or option + argument is supplied, _a_r_r_a_y is invalid or unassignable, or if _a_r_r_a_y is not an indexed array. ppooppdd [-nn] [+_n] [-_n] - Removes entries from the directory stack. With no arguments, - removes the top directory from the stack, and performs a ccdd to + Removes entries from the directory stack. With no arguments, + removes the top directory from the stack, and performs a ccdd to the new top directory. Arguments, if supplied, have the follow- ing meanings: - --nn Suppresses the normal change of directory when removing - directories from the stack, so that only the stack is + --nn Suppresses the normal change of directory when removing + directories from the stack, so that only the stack is manipulated. - ++_n Removes the _nth entry counting from the left of the list - shown by ddiirrss, starting with zero. For example: ``popd + ++_n Removes the _nth entry counting from the left of the list + shown by ddiirrss, starting with zero. For example: ``popd +0'' removes the first directory, ``popd +1'' the second. --_n Removes the _nth entry counting from the right of the list - shown by ddiirrss, starting with zero. For example: ``popd - -0'' removes the last directory, ``popd -1'' the next to + shown by ddiirrss, starting with zero. For example: ``popd + -0'' removes the last directory, ``popd -1'' the next to last. - If the ppooppdd command is successful, a ddiirrss is performed as well, - and the return status is 0. ppooppdd returns false if an invalid + If the ppooppdd command is successful, a ddiirrss is performed as well, + and the return status is 0. ppooppdd returns false if an invalid option is encountered, the directory stack is empty, a non-exis- tent directory stack entry is specified, or the directory change fails. pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s] - Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the - control of the _f_o_r_m_a_t. The _f_o_r_m_a_t is a character string which - contains three types of objects: plain characters, which are - simply copied to standard output, character escape sequences, - which are converted and copied to the standard output, and for- - mat specifications, each of which causes printing of the next + Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the + control of the _f_o_r_m_a_t. The _f_o_r_m_a_t is a character string which + contains three types of objects: plain characters, which are + simply copied to standard output, character escape sequences, + which are converted and copied to the standard output, and for- + mat specifications, each of which causes printing of the next successive _a_r_g_u_m_e_n_t. In addition to the standard _p_r_i_n_t_f(1) for- - mats, %%bb causes pprriinnttff to expand backslash escape sequences in - the corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output, + mats, %%bb causes pprriinnttff to expand backslash escape sequences in + the corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output, backslashes in \\'', \\"", and \\?? are not removed, and octal escapes - beginning with \\00 may contain up to four digits), and %%qq causes + beginning with \\00 may contain up to four digits), and %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a format that can be reused as shell input. - The --vv option causes the output to be assigned to the variable + The --vv option causes the output to be assigned to the variable _v_a_r rather than being printed to the standard output. - The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- + The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- _m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied, - the extra format specifications behave as if a zero value or - null string, as appropriate, had been supplied. The return + the extra format specifications behave as if a zero value or + null string, as appropriate, had been supplied. The return value is zero on success, non-zero on failure. ppuusshhdd [--nn] [+_n] [-_n] ppuusshhdd [--nn] [_d_i_r] - Adds a directory to the top of the directory stack, or rotates - the stack, making the new top of the stack the current working + Adds a directory to the top of the directory stack, or rotates + the stack, making the new top of the stack the current working directory. With no arguments, exchanges the top two directories - and returns 0, unless the directory stack is empty. Arguments, + and returns 0, unless the directory stack is empty. Arguments, if supplied, have the following meanings: - --nn Suppresses the normal change of directory when adding - directories to the stack, so that only the stack is + --nn Suppresses the normal change of directory when adding + directories to the stack, so that only the stack is manipulated. - ++_n Rotates the stack so that the _nth directory (counting - from the left of the list shown by ddiirrss, starting with + ++_n Rotates the stack so that the _nth directory (counting + from the left of the list shown by ddiirrss, starting with zero) is at the top. - --_n Rotates the stack so that the _nth directory (counting - from the right of the list shown by ddiirrss, starting with + --_n Rotates the stack so that the _nth directory (counting + from the right of the list shown by ddiirrss, starting with zero) is at the top. _d_i_r Adds _d_i_r to the directory stack at the top, making it the new current working directory. If the ppuusshhdd command is successful, a ddiirrss is performed as well. - If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r - fails. With the second form, ppuusshhdd returns 0 unless the direc- - tory stack is empty, a non-existent directory stack element is - specified, or the directory change to the specified new current + If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r + fails. With the second form, ppuusshhdd returns 0 unless the direc- + tory stack is empty, a non-existent directory stack element is + specified, or the directory change to the specified new current directory fails. ppwwdd [--LLPP] - Print the absolute pathname of the current working directory. + Print the absolute pathname of the current working directory. The pathname printed contains no symbolic links if the --PP option is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command - is enabled. If the --LL option is used, the pathname printed may - contain symbolic links. The return status is 0 unless an error - occurs while reading the name of the current directory or an + is enabled. If the --LL option is used, the pathname printed may + contain symbolic links. The return status is 0 unless an error + occurs while reading the name of the current directory or an invalid option is supplied. rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp _p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...] - One line is read from the standard input, or from the file - descriptor _f_d supplied as an argument to the --uu option, and the + One line is read from the standard input, or from the file + descriptor _f_d supplied as an argument to the --uu option, and the first word is assigned to the first _n_a_m_e, the second word to the - second _n_a_m_e, and so on, with leftover words and their interven- - ing separators assigned to the last _n_a_m_e. If there are fewer + second _n_a_m_e, and so on, with leftover words and their interven- + ing separators assigned to the last _n_a_m_e. If there are fewer words read from the input stream than names, the remaining names - are assigned empty values. The characters in IIFFSS are used to - split the line into words. The backslash character (\\) may be - used to remove any special meaning for the next character read - and for line continuation. Options, if supplied, have the fol- + are assigned empty values. The characters in IIFFSS are used to + split the line into words. The backslash character (\\) may be + used to remove any special meaning for the next character read + and for line continuation. Options, if supplied, have the fol- lowing meanings: --aa _a_n_a_m_e The words are assigned to sequential indices of the array @@ -4532,132 +4535,132 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS new values are assigned. Other _n_a_m_e arguments are ignored. --dd _d_e_l_i_m - The first character of _d_e_l_i_m is used to terminate the + The first character of _d_e_l_i_m is used to terminate the input line, rather than newline. --ee If the standard input is coming from a terminal, rreeaaddlliinnee - (see RREEAADDLLIINNEE above) is used to obtain the line. Read- - line uses the current (or default, if line editing was + (see RREEAADDLLIINNEE above) is used to obtain the line. Read- + line uses the current (or default, if line editing was not previously active) editing settings. --ii _t_e_x_t - If rreeaaddlliinnee is being used to read the line, _t_e_x_t is + If rreeaaddlliinnee is being used to read the line, _t_e_x_t is placed into the editing buffer before editing begins. --nn _n_c_h_a_r_s - rreeaadd returns after reading _n_c_h_a_r_s characters rather than - waiting for a complete line of input, but honor a delim- - iter if fewer than _n_c_h_a_r_s characters are read before the + rreeaadd returns after reading _n_c_h_a_r_s characters rather than + waiting for a complete line of input, but honor a delim- + iter if fewer than _n_c_h_a_r_s characters are read before the delimiter. --NN _n_c_h_a_r_s - rreeaadd returns after reading exactly _n_c_h_a_r_s characters - rather than waiting for a complete line of input, unless - EOF is encountered or rreeaadd times out. Delimiter charac- - ters encountered in the input are not treated specially - and do not cause rreeaadd to return until _n_c_h_a_r_s characters + rreeaadd returns after reading exactly _n_c_h_a_r_s characters + rather than waiting for a complete line of input, unless + EOF is encountered or rreeaadd times out. Delimiter charac- + ters encountered in the input are not treated specially + and do not cause rreeaadd to return until _n_c_h_a_r_s characters are read. --pp _p_r_o_m_p_t Display _p_r_o_m_p_t on standard error, without a trailing new- line, before attempting to read any input. The prompt is displayed only if input is coming from a terminal. --rr Backslash does not act as an escape character. The back- - slash is considered to be part of the line. In particu- - lar, a backslash-newline pair may not be used as a line + slash is considered to be part of the line. In particu- + lar, a backslash-newline pair may not be used as a line continuation. --ss Silent mode. If input is coming from a terminal, charac- ters are not echoed. --tt _t_i_m_e_o_u_t - Cause rreeaadd to time out and return failure if a complete - line of input is not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_- - _o_u_t may be a decimal number with a fractional portion - following the decimal point. This option is only effec- - tive if rreeaadd is reading input from a terminal, pipe, or - other special file; it has no effect when reading from - regular files. If _t_i_m_e_o_u_t is 0, rreeaadd returns success if - input is available on the specified file descriptor, - failure otherwise. The exit status is greater than 128 + Cause rreeaadd to time out and return failure if a complete + line of input is not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_- + _o_u_t may be a decimal number with a fractional portion + following the decimal point. This option is only effec- + tive if rreeaadd is reading input from a terminal, pipe, or + other special file; it has no effect when reading from + regular files. If _t_i_m_e_o_u_t is 0, rreeaadd returns success if + input is available on the specified file descriptor, + failure otherwise. The exit status is greater than 128 if the timeout is exceeded. --uu _f_d Read input from file descriptor _f_d. If no _n_a_m_e_s are supplied, the line read is assigned to the vari- - able RREEPPLLYY. The return code is zero, unless end-of-file is - encountered, rreeaadd times out (in which case the return code is - greater than 128), or an invalid file descriptor is supplied as + able RREEPPLLYY. The return code is zero, unless end-of-file is + encountered, rreeaadd times out (in which case the return code is + greater than 128), or an invalid file descriptor is supplied as the argument to --uu. rreeaaddoonnllyy [--aaAAppff] [_n_a_m_e[=_w_o_r_d] ...] - The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s - may not be changed by subsequent assignment. If the --ff option - is supplied, the functions corresponding to the _n_a_m_e_s are so - marked. The --aa option restricts the variables to indexed - arrays; the --AA option restricts the variables to associative - arrays. If no _n_a_m_e arguments are given, or if the --pp option is - supplied, a list of all readonly names is printed. 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 + The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s + may not be changed by subsequent assignment. If the --ff option + is supplied, the functions corresponding to the _n_a_m_e_s are so + marked. The --aa option restricts the variables to indexed + arrays; the --AA option restricts the variables to associative + arrays. If no _n_a_m_e arguments are given, or if the --pp option is + supplied, a list of all readonly names is printed. 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 + 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 exit with the return value specified by _n. - If _n is omitted, the return status is that of the last command - executed in the function body. If used outside a function, but - during execution of a script by the .. (ssoouurrccee) command, it + Causes a function to exit with the return value specified by _n. + If _n is omitted, the return status is that of the last command + executed in the function body. If 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 used outside a - function and not during execution of a script by .., the return + _n or the exit status of the last command executed within the + script as the exit status of the script. If used outside a + function and not during execution of a script by .., the return status is false. Any command associated with the RREETTUURRNN trap is - executed before execution resumes after the function or script. + executed before execution resumes after the function or script. sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n] [_a_r_g ...] sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n] [_a_r_g ...] - Without options, the name and value of each shell variable are + Without options, the name and value of each shell variable are displayed in a format that can be reused as input for setting or resetting the currently-set variables. Read-only variables can- - not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed. - The output is sorted according to the current locale. When - options are specified, they set or unset shell attributes. Any - arguments remaining after option processing are treated as val- + not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed. + The output is sorted according to the current locale. When + options 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 Automatically mark variables and functions which are - modified or created for export to the environment of + --aa Automatically mark variables and functions which are + modified or created 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 _s_u_b_s_h_e_l_l command enclosed in - parentheses, or one of the commands executed as part of - a command list enclosed by braces (see SSHHEELLLL GGRRAAMMMMAARR + --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 _s_u_b_s_h_e_l_l command enclosed in + parentheses, or one of the commands executed as part of + a command list enclosed by braces (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 &&&& or ||||, any - command in a pipeline but the last, or if the command's - return value is being inverted with !!. A trap on EERRRR, + 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 !!. 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. --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). Background pro- - cesses run in a separate process group and a line con- - taining their exit status is printed upon their comple- + --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). Background pro- + cesses run in a separate process group and a line con- + taining their exit status is printed upon their comple- tion. --nn Read commands but do not execute them. This may be used - to check a shell script for syntax errors. This is + to check a shell script for syntax errors. This is ignored 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: @@ -4665,16 +4668,16 @@ 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 Same as --EE. ffuunnccttrraaccee Same as --TT. - eerrrreexxiitt Same as --ee. hhaasshhaallll Same as --hh. hhiisstteexxppaanndd Same as --HH. @@ -4682,8 +4685,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS HHIISSTTOORRYY. This option is on by default in inter- active shells. iiggnnoorreeeeooff - The effect is as if the shell command - ``IGNOREEOF=10'' had been executed (see SShheellll + The effect is as if the shell command + ``IGNOREEOF=10'' had been executed (see SShheellll VVaarriiaabblleess above). kkeeyywwoorrdd Same as --kk. mmoonniittoorr Same as --mm. @@ -4698,158 +4701,158 @@ 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 + 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). 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 + --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and + $$BBAASSHH__EENNVV files are not processed, shell functions are + not inherited from the environment, and the SSHHEELLLLOOPPTTSS, + BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they appear in the environment, are ignored. If the shell is - started with the effective user (group) id not equal to - the real user (group) id, and the --pp option is not sup- + 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 follow symbolic links when - executing commands such as ccdd that change the current + --PP If set, the shell does not follow symbolic links when + executing commands such as ccdd that change the current working directory. It uses the physical directory structure instead. By default, bbaasshh follows the logical - chain of directories when performing commands which + chain of directories when performing commands which change the current directory. - --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by - shell functions, command substitutions, and commands - executed in a subshell environment. The DDEEBBUUGG and + --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by + shell functions, command substitutions, and commands + executed in a subshell environment. The DDEEBBUUGG and RREETTUURRNN traps are normally not inherited in such cases. - ---- If no arguments follow this option, then the positional + ---- If no arguments follow this option, then the positional parameters are unset. Otherwise, the positional parame- - ters are set to the _a_r_gs, even if some of them begin + ters are set to the _a_r_gs, even if some of them begin with a --. - -- Signal the end of options, cause all remaining _a_r_gs to + -- Signal the end of options, cause all remaining _a_r_gs to be assigned to the positional parameters. The --xx and --vv options are turned off. If there are no _a_r_gs, the posi- tional parameters remain unchanged. - The options are off by default unless otherwise noted. Using + - rather than - causes these options to be turned off. The - options can also be specified as arguments to an invocation of - the shell. The current set of options may be found in $$--. The + The options are off by default unless otherwise noted. Using + + rather than - causes these options to be turned off. The + options can also be specified as arguments to an invocation of + the shell. The current set of options may be found in $$--. The return status is always true unless an invalid option is encoun- tered. sshhiifftt [_n] - The positional parameters from _n+1 ... are renamed to $$11 ........ - Parameters represented by the numbers $$## down to $$##-_n+1 are - unset. _n must be a non-negative number less than or equal to - $$##. If _n is 0, no parameters are changed. If _n is not given, - it is assumed to be 1. If _n is greater than $$##, the positional - parameters are not changed. The return status is greater than + The positional parameters from _n+1 ... are renamed to $$11 ........ + Parameters represented by the numbers $$## down to $$##-_n+1 are + unset. _n must be a non-negative number less than or equal to + $$##. If _n is 0, no parameters are changed. If _n is not given, + it is assumed to be 1. If _n is greater than $$##, the positional + parameters are not changed. The return status is greater than zero if _n is greater than $$## or less than zero; otherwise 0. sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...] Toggle the values of variables controlling optional shell behav- ior. With no options, or with the --pp option, a list of all set- table options is displayed, with an indication of whether or not - each is set. The --pp option causes output to be displayed in a - form that may be reused as input. Other options have the fol- + each is set. The --pp option causes output to be displayed in a + form that may be reused as input. Other options have the fol- lowing 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, the dis- + If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, the dis- play is limited to those options which are set or unset, respec- - tively. Unless otherwise noted, the sshhoopptt options are disabled + tively. Unless otherwise noted, the sshhoopptt options are disabled (unset) by default. - The return status when listing options is zero if all _o_p_t_n_a_m_e_s - are enabled, non-zero otherwise. When setting or unsetting - options, the return status is zero unless an _o_p_t_n_a_m_e is not a + The return status when listing options is zero if all _o_p_t_n_a_m_e_s + are enabled, non-zero otherwise. When setting or unsetting + options, 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: - 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 file name 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 file name is printed, and the com- + mand proceeds. This option is only used by interactive shells. cchheecckkhhaasshh If set, bbaasshh checks that a command found in the hash ta- - ble exists before trying to execute it. If a hashed - command no longer exists, a normal path search is per- + ble exists before trying to execute it. If a hashed + command no longer exists, a normal path search is per- formed. cchheecckkjjoobbss If set, bbaasshh lists the status of any stopped and running - jobs before exiting an interactive shell. If any jobs + jobs before exiting an interactive shell. If any jobs are running, this causes the exit to be deferred until a - second exit is attempted without an intervening command - (see JJOOBB CCOONNTTRROOLL above). The shell always postpones + second exit is attempted without an intervening command + (see JJOOBB CCOONNTTRROOLL above). The shell always postpones exiting if any jobs are stopped. cchheecckkwwiinnssiizzee - If set, bbaasshh checks the window size after each command - and, if necessary, updates the values of LLIINNEESS and CCOOLL-- + If set, bbaasshh checks the window size after each command + and, if necessary, updates the values of LLIINNEESS and CCOOLL-- UUMMNNSS. - ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- - line command in the same history entry. This allows + 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. ccoommppaatt3311 If set, bbaasshh changes its behavior to that of version 3.1 @@ -4857,65 +4860,65 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS mand's =~ operator. ccoommppaatt3322 If set, bbaasshh changes its behavior to that of version 3.2 - with respect to locale-specific string comparison when + with respect to locale-specific string comparison when using the conditional command's < and > operators. ccoommppaatt4400 If set, bbaasshh changes its behavior to that of version 4.0 - with respect to locale-specific string comparison when - using the conditional command's < and > operators and + with respect to locale-specific string comparison when + using the conditional command's < and > operators and the effect of interrupting a command list. 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 + ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in the results of pathname expansion. 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, behavior intended for use by debuggers is + If set, 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), a call to + 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), a call to rreettuurrnn is simulated. - 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 EERRRROORR trap. eexxttgglloobb If set, the extended pattern matching features described above under PPaatthhnnaammee EExxppaannssiioonn are enabled. eexxttqquuoottee - If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed - within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double + If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed + within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double quotes. This option is enabled by default. ffaaiillgglloobb - If set, patterns which fail to match filenames during + If set, patterns which fail to match filenames during pathname expansion result in an expansion error. ffoorrccee__ffiiggnnoorree - If set, the suffixes specified by the FFIIGGNNOORREE shell - variable cause words to be ignored when performing word + If set, the suffixes specified by the FFIIGGNNOORREE shell + variable cause words to be ignored when performing word completion even if the ignored words are the only possi- ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a - description of FFIIGGNNOORREE. This option is enabled by + description of FFIIGGNNOORREE. This option is enabled by default. gglloobbssttaarr If set, the pattern **** used in a pathname expansion con- @@ -4926,58 +4929,58 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS If set, shell error messages are written in the standard GNU error message format. hhiissttaappppeenndd - If set, the history list is appended to the file named - by the value of the HHIISSTTFFIILLEE variable when the shell + If set, the history list is appended to the file named + by the value of the HHIISSTTFFIILLEE variable when the shell exits, rather than overwriting the file. hhiissttrreeeeddiitt - If set, and rreeaaddlliinnee is being used, a user is given the + If set, and rreeaaddlliinnee is being used, a user is given the opportunity to re-edit a failed history substitution. hhiissttvveerriiffyy - If set, and rreeaaddlliinnee is being used, the results of his- - tory substitution are not immediately passed to the - shell parser. Instead, the resulting line is loaded + If set, and rreeaaddlliinnee is being used, the results of his- + tory substitution are not immediately passed to the + shell parser. Instead, the resulting line is loaded into the rreeaaddlliinnee editing buffer, allowing further modi- fication. hhoossttccoommpplleettee If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to - perform hostname completion when a word containing a @@ - is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE + perform hostname completion when a word containing a @@ + is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE above). This is enabled by default. hhuuppoonneexxiitt If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter- active login shell exits. 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 + and all remaining characters on that line to be ignored + in an interactive shell (see CCOOMMMMEENNTTSS above). This option is enabled by default. - 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. 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 + If set, and rreeaaddlliinnee is being used, bbaasshh will not attempt 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. 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 If set, the programmable completion facilities (see PPrroo-- @@ -4985,47 +4988,47 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS enabled by default. pprroommppttvvaarrss If set, prompt strings undergo parameter expansion, com- - mand substitution, arithmetic expansion, and quote - removal after being expanded as described in PPRROOMMPPTTIINNGG + mand substitution, arithmetic expansion, and quote + removal 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 + The shell sets this option if it is started in restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value - may not be changed. This is not reset when the startup - files are executed, allowing the startup files to dis- + 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 + If set, the eecchhoo builtin expands backslash-escape sequences 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 or 1 depending on the evaluation of the - conditional expression _e_x_p_r. Each operator and operand must be - a separate argument. Expressions are composed of the primaries - described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not + Return a status of 0 or 1 depending on the evaluation of the + conditional expression _e_x_p_r. Each operator and operand 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, + Expressions may be combined using the following operators, listed in decreasing order of precedence. The evaluation depends on the number of arguments; see below. !! _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. @@ -5042,59 +5045,59 @@ 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 - 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. - ttiimmeess Print the accumulated user and system times for the shell and + ttiimmeess Print the accumulated user and system times for the shell and for processes run from the shell. The return status is 0. ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...] - The command _a_r_g is to be read and executed when the shell - receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a - single _s_i_g_s_p_e_c) or --, each specified signal is reset to its - original disposition (the value it had upon entrance to the - shell). If _a_r_g is the null string the signal specified by each - _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. - If _a_r_g is not present and --pp has been supplied, then the trap - commands associated with each _s_i_g_s_p_e_c are displayed. If no - arguments are supplied or if only --pp is given, ttrraapp prints the - list of commands associated with each signal. The --ll option - causes the shell to print a list of signal names and their cor- - responding numbers. Each _s_i_g_s_p_e_c is either a signal name - defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are + The command _a_r_g is to be read and executed when the shell + receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a + single _s_i_g_s_p_e_c) or --, each specified signal is reset to its + original disposition (the value it had upon entrance to the + shell). If _a_r_g is the null string the signal specified by each + _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. + If _a_r_g is not present and --pp has been supplied, then the trap + commands associated with each _s_i_g_s_p_e_c are displayed. If no + arguments are supplied or if only --pp is given, ttrraapp prints the + list of commands associated with each signal. The --ll option + causes the shell to print a list of signal names and their cor- + responding numbers. Each _s_i_g_s_p_e_c is either a signal name + defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are case insensitive and the SIG 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- @@ -5102,53 +5105,53 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a sim- ple command has a non-zero exit status, subject to 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, part of a - command executed in a &&&& or |||| list, or if the command's return - value is being inverted via !!. These are the same conditions + 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, part of a + command executed in a &&&& or |||| list, or if the command's return + value is being inverted via !!. These are the same conditions obeyed by the eerrrreexxiitt option. - Signals ignored upon entry to the shell cannot be trapped or - reset. Trapped signals that are not being ignored are reset to + Signals ignored upon entry to the shell cannot be trapped or + reset. Trapped signals that are not being ignored are reset to their original values in a subshell or subshell environment when - one is created. The return status is false if any _s_i_g_s_p_e_c is + one is created. The return status is false if any _s_i_g_s_p_e_c is invalid; otherwise ttrraapp returns true. ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...] - With no options, indicate how each _n_a_m_e would be interpreted if + With no options, indicate how each _n_a_m_e would be interpreted if used as a command name. If the --tt option is used, ttyyppee prints a - string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or - _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, - builtin, or disk file, respectively. If the _n_a_m_e is not found, - then nothing is printed, and an exit status of false is - returned. If the --pp option is used, ttyyppee either returns the + string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or + _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, + builtin, or disk file, respectively. If the _n_a_m_e is not found, + then nothing is printed, and an exit status of false is + returned. If the --pp option is used, ttyyppee either returns the name of the disk file that would be executed if _n_a_m_e were speci- fied as a command name, or nothing if ``type -t name'' would not - return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, + return _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, not necessarily the + hashed, --pp and --PP print the hashed value, not necessarily 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 func- - tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if + 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 func- + tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if all of the arguments are found, false if any are not found. uulliimmiitt [--HHSSTTaabbccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]] - Provides control over the resources available to the shell and - to processes started by it, on systems that allow such control. + Provides control over the resources available to the shell and + to processes started by it, on systems that allow such control. The --HH and --SS options specify that the hard or soft limit is set - for the given resource. A hard limit cannot be increased by a - non-root user once it is set; a soft limit may be increased up - to the value of the hard limit. If neither --HH nor --SS is speci- + for the given resource. A hard limit cannot be increased by a + non-root user once it is set; a soft limit may be increased up + to the value of the hard limit. If neither --HH nor --SS is speci- fied, both the soft and hard limits are set. The value of _l_i_m_i_t can be a number in the unit specified for the resource or one of the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the - current hard limit, the current soft limit, and no limit, - respectively. If _l_i_m_i_t is omitted, the current value of the - soft limit of the resource is printed, unless the --HH option is + current hard limit, the current soft limit, and no limit, + respectively. If _l_i_m_i_t is omitted, the current value of the + soft limit of the resource is printed, unless the --HH option is given. When more than one resource is specified, the limit name and unit are printed before the value. Other options are inter- preted as follows: @@ -5157,11 +5160,11 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --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 --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) @@ -5170,65 +5173,65 @@ 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 --xx The maximum number of file locks --TT The maximum number of threads If _l_i_m_i_t is given, it is the new value of the specified resource (the --aa option is display only). If no option is given, then --ff - is assumed. Values are in 1024-byte increments, except for --tt, - which is in seconds, --pp, which is in units of 512-byte blocks, - and --TT, --bb, --nn, and --uu, which are unscaled values. The return + is assumed. Values are in 1024-byte increments, except for --tt, + which is in seconds, --pp, which is in units of 512-byte blocks, + and --TT, --bb, --nn, and --uu, which are unscaled values. 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] [_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 no options are supplied, or the --vv option is given, each _n_a_m_e - refers to a shell variable. 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. Each unset vari- - able or function is removed from the environment passed to sub- - sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD, - FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their special - properties, even if they are subsequently reset. The exit sta- - tus is true unless a _n_a_m_e is readonly. + refers to a shell variable. 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. Each unset vari- + able or function is removed from the environment passed to sub- + sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS, + LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they + lose their special properties, even if they are subsequently + reset. The exit status is true unless a _n_a_m_e is readonly. wwaaiitt [_n _._._.] - Wait for each specified process and return its termination sta- - tus. Each _n 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 _n is not given, all currently active child pro- - cesses are waited for, and the return status is zero. If _n - specifies a non-existent process or job, the return status is - 127. Otherwise, the return status is the exit status of the + Wait for each specified process and return its termination sta- + tus. Each _n 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 _n is not given, all currently active child pro- + cesses are waited for, and the return status is zero. If _n + specifies a non-existent process or job, the return status is + 127. Otherwise, the return status is the exit status of the last process or job waited for. RREESSTTRRIICCTTEEDD SSHHEELLLL If bbaasshh is started with the name rrbbaasshh, or the --rr option is supplied at - 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 @@ -5237,16 +5240,16 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL +o specifying command names containing // - +o specifying a file name containing a // as an argument to the .. + +o specifying a file name 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 --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- @@ -5255,10 +5258,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 @@ -5268,14 +5271,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 _s_h(1), _k_s_h(1), _c_s_h(1) _e_m_a_c_s(1), _v_i(1) @@ -5291,7 +5294,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 @@ -5305,14 +5308,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_/_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: @@ -5323,7 +5326,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 @@ -5340,10 +5343,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. @@ -5352,4 +5355,4 @@ BBUUGGSS -GNU Bash-4.1 2009 December 23 BASH(1) +GNU Bash-4.1 2009 December 29 BASH(1) @@ -5,12 +5,12 @@ .\" Case Western Reserve University .\" chet@po.cwru.edu .\" -.\" Last Change: Wed Dec 23 16:29:14 EST 2009 +.\" Last Change: Tue Dec 29 15:36:16 EST 2009 .\" .\" bash_builtins, strip all but Built-Ins section .if \n(zZ=1 .ig zZ .if \n(zY=1 .ig zY -.TH BASH 1 "2009 December 23" "GNU Bash-4.1" +.TH BASH 1 "2009 December 29" "GNU Bash-4.1" .\" .\" There's some problem with having a `@' .\" in a tagged paragraph with the BSD man macros. @@ -430,9 +430,12 @@ real user (group) id, and the \fB\-p\fP option is not supplied, no startup files are read, shell functions are not inherited from the environment, the .SM .BR SHELLOPTS , +.SM .BR BASHOPTS , +.SM .BR CDPATH , and +.SM .B GLOBIGNORE variables, if they appear in the environment, are ignored, and the effective user id is set to the real user id. @@ -713,10 +716,18 @@ of alphabetic characters. Any part of the pattern may be quoted to force it to be matched as a string. Substrings matched by parenthesized subexpressions within the regular -expression are saved in the array variable \fBBASH_REMATCH\fP. -The element of \fBBASH_REMATCH\fP with index 0 is the portion of the string +expression are saved in the array variable +.SM +.BR BASH_REMATCH . +The element of +.SM +.B BASH_REMATCH +with index 0 is the portion of the string matching the entire regular expression. -The element of \fBBASH_REMATCH\fP with index \fIn\fP is the portion of the +The element of +.SM +.B BASH_REMATCH +with index \fIn\fP is the portion of the string matching the \fIn\fPth parenthesized subexpression. .if t .sp 0.5 .if n .sp 1 @@ -795,6 +806,7 @@ error, each preceded by a number. If the \fBin\fP .SM .B PARAMETERS below). The +.SM .B PS3 prompt is then displayed and a line read from the standard input. If the line consists of a number corresponding to one of @@ -805,6 +817,7 @@ are displayed again. If EOF is read, the command completes. Any other value read causes .I name to be set to null. The line read is saved in the variable +.SM .BR REPLY . The .I list @@ -1356,9 +1369,12 @@ The number of parameters to the current subroutine (shell function or script executed with \fB.\fP or \fBsource\fP) is at the top of the stack. When a subroutine is executed, the number of parameters passed is pushed onto -\fBBASH_ARGC\fP. -The shell sets \fBBASH_ARGC\fP only when in extended debugging mode -(see the description of the +.SM +.BR BASH_ARGC . +The shell sets +.SM +.B BASH_ARGC +only when in extended debugging mode (see the description of the .B extdebug option to the .B shopt @@ -1369,8 +1385,13 @@ An array variable containing all of the parameters in the current \fBbash\fP execution call stack. The final parameter of the last subroutine call is at the top of the stack; the first parameter of the initial call is at the bottom. When a subroutine is executed, the parameters supplied -are pushed onto \fBBASH_ARGV\fP. -The shell sets \fBBASH_ARGV\fP only when in extended debugging mode +are pushed onto +.SM +.BR BASH_ARGV . +The shell sets +.SM +.B BASH_ARGV +only when in extended debugging mode (see the description of the .B extdebug option to the @@ -1393,13 +1414,18 @@ The command argument to the \fB\-c\fP invocation option. .TP .B BASH_LINENO An array variable whose members are the line numbers in source files -corresponding to each member of \fBFUNCNAME\fP. +corresponding to each member of +.SM +.BR FUNCNAME . \fB${BASH_LINENO[\fP\fI$i\fP\fB]}\fP is the line number in the source file where \fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP was called (or \fB${BASH_LINENO[\fP\fI$i-1\fP\fB]}\fP if referenced within another shell function). The corresponding source file name is \fB${BASH_SOURCE[\fP\fI$i\fP\fB]}\fP. -Use \fBLINENO\fP to obtain the current line number. +Use +.SM +.B LINENO +to obtain the current line number. .TP .B BASH_REMATCH An array variable whose members are assigned by the \fB=~\fP binary @@ -1412,7 +1438,10 @@ This variable is read-only. .TP .B BASH_SOURCE An array variable whose members are the source filenames corresponding -to the elements in the \fBFUNCNAME\fP array variable. +to the elements in the +.SM +.B FUNCNAME +array variable. .TP .B BASH_SUBSHELL Incremented by one each time a subshell or subshell environment is spawned. @@ -1443,7 +1472,9 @@ The build version. The release status (e.g., \fIbeta1\fP). .TP .B BASH_VERSINFO[\fR5\fP] -The value of \fBMACHTYPE\fP. +The value of +.SM +.BR MACHTYPE . .PD .RE .TP @@ -1506,7 +1537,9 @@ subsequently reset. An array variable (see \fBArrays\fP below) consisting of the individual words in the current command line. The line is split into words as \fBreadline\fP would split it, using -\fBCOMP_WORDBREAKS\fP as described above. +.SM +.B COMP_WORDBREAKS +as described above. This variable is available only in shell functions invoked by the programmable completion facilities (see \fBProgrammable Completion\fP below). @@ -1751,11 +1784,19 @@ will write the trace output generated when .if t \f(CWset -x\fP .if n \fIset -x\fP is enabled to that file descriptor. -The file descriptor is closed when \fBBASH_XTRACEFD\fP is unset or assigned -a new value. -Unsetting \fBBASH_XTRACEFD\fP or assigning it the empty string causes the +The file descriptor is closed when +.SM +.B BASH_XTRACEFD +is unset or assigned a new value. +Unsetting +.SM +.B BASH_XTRACEFD +or assigning it the empty string causes the trace output to be sent to the standard error. -Note that setting \fPBASH_XTRACEFD\fP to 2 (the standard error file +Note that setting +.SM +.B BASH_XTRACEFD +to 2 (the standard error file descriptor) and then unsetting it will result in the standard error being closed. .TP @@ -1823,12 +1864,17 @@ A value of causes all previous lines matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored. -If \fBHISTCONTROL\fP is unset, or does not include a valid value, +If +.SM +.B HISTCONTROL +is unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the value of +.SM .BR HISTIGNORE . The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of +.SM .BR HISTCONTROL . .TP .B HISTFILE @@ -1852,6 +1898,7 @@ should be saved on the history list. Each pattern is anchored at the beginning of the line and must match the complete line (no implicit `\fB*\fP' is appended). Each pattern is tested against the line after the checks specified by +.SM .B HISTCONTROL are applied. In addition to the normal shell pattern matching characters, `\fB&\fP' @@ -1859,6 +1906,7 @@ matches the previous history line. `\fB&\fP' may be escaped using a backslash; the backslash is removed before attempting a match. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of +.SM .BR HISTIGNORE . .TP .B HISTSIZE @@ -1947,7 +1995,10 @@ Used to determine the locale category for any category not specifically selected with a variable starting with \fBLC_\fP. .TP .B LC_ALL -This variable overrides the value of \fBLANG\fP and any other +This variable overrides the value of +.SM +.B LANG +and any other \fBLC_\fP variable specifying a locale category. .TP .B LC_COLLATE @@ -1970,7 +2021,9 @@ This variable determines the locale category used for number formatting. .TP .B LINES Used by the \fBselect\fP builtin command to determine the column length -for printing selection lists. Automatically set upon receipt of a SIGWINCH. +for printing selection lists. Automatically set upon receipt of a +.SM +.BR SIGWINCH . .TP .B MAIL If this parameter is set to a file name and the @@ -2026,8 +2079,10 @@ the shell looks for commands (see .SM .B COMMAND EXECUTION below). -A zero-length (null) directory name in the value of \fBPATH\fP indicates the -current directory. +A zero-length (null) directory name in the value of +.SM +.B PATH +indicates the current directory. A null directory name may appear as two adjacent colons, or as an initial or trailing colon. The default path is system-dependent, @@ -2068,6 +2123,7 @@ below) and used as the primary prompt string. The default value is .TP .B PS2 The value of this parameter is expanded as with +.SM .B PS1 and used as the secondary prompt string. The default is ``\fB> \fP''. @@ -2082,6 +2138,7 @@ above). .TP .B PS4 The value of this parameter is expanded as with +.SM .B PS1 and the value is printed before each command .B bash @@ -2145,10 +2202,16 @@ If the value is null, no timing information is displayed. A trailing newline is added when the format string is displayed. .TP .B TMOUT -If set to a value greater than zero, \fBTMOUT\fP is treated as the +If set to a value greater than zero, +.SM +.B TMOUT +is treated as the default timeout for the \fBread\fP builtin. The \fBselect\fP command terminates if input does not arrive -after \fBTMOUT\fP seconds when input is coming from a terminal. +after +.SM +.B TMOUT +seconds when input is coming from a terminal. In an interactive shell, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. .B Bash @@ -3096,7 +3159,10 @@ or a .B ^ then any character not enclosed is matched. The sorting order of characters in range expressions is determined by -the current locale and the value of the \fBLC_COLLATE\fP shell variable, +the current locale and the value of the +.SM +.B LC_COLLATE +shell variable, if set. A .B \- @@ -4077,7 +4143,7 @@ arguments, if any. .SH COMMAND EXECUTION ENVIRONMENT The shell has an \fIexecution environment\fP, which consists of the following: -.sp 1 +.if n .sp 1 .IP \(bu open files inherited by the shell at invocation, as modified by redirections supplied to the \fBexec\fP builtin @@ -4104,14 +4170,16 @@ options enabled by \fBshopt\fP shell aliases defined with \fBalias\fP .IP \(bu various process IDs, including those of background jobs, the value -of \fB$$\fP, and the value of \fB$PPID\fP +of \fB$$\fP, and the value of +.SM +.B PPID .PP When a simple command other than a builtin or shell function is to be executed, it is invoked in a separate execution environment that consists of the following. Unless otherwise noted, the values are inherited from the shell. -.sp 1 +.if n .sp 1 .IP \(bu the shell's open files, plus any modifications and additions specified by redirections to the command @@ -4568,11 +4636,19 @@ the version of \fBbash\fP (e.g., 2.00) the release of \fBbash\fP, version + patch level (e.g., 2.00.0) .TP .B \ew -the current working directory, with \fB$HOME\fP abbreviated with a tilde -(uses the \fB$PROMPT_DIRTRIM\fP variable) +the current working directory, with +.SM +.B $HOME +abbreviated with a tilde +(uses the value of the +.SM +.B PROMPT_DIRTRIM +variable) .TP .B \eW -the basename of the current working directory, with \fB$HOME\fP +the basename of the current working directory, with +.SM +.B $HOME abbreviated with a tilde .TP .B \e! @@ -5969,7 +6045,10 @@ option to the builtin is enabled, the shell provides access to the \fIcommand history\fP, the list of commands previously typed. -The value of the \fBHISTSIZE\fP variable is used as the +The value of the +.SM +.B HISTSIZE +variable is used as the number of commands to save in a history list. The text of the last .SM @@ -6029,7 +6108,7 @@ is unset, or if the history file is unwritable, the history is not saved. If the .SM -.HISTTIMEFORMAT +.B HISTTIMEFORMAT variable is set, time stamps are written to the history file, marked with the history comment character, so they may be preserved across shell sessions. @@ -6135,7 +6214,7 @@ If the .B histverify shell option is enabled (see the description of the .B shopt -builtin), and +builtin below), and .B readline is being used, history substitutions are not immediately passed to the shell parser. @@ -6528,13 +6607,17 @@ Remove any current binding for \fIkeyseq\fP. Cause \fIshell\-command\fP to be executed whenever \fIkeyseq\fP is entered. When \fIshell\-command\fP is executed, the shell sets the +.SM .B READLINE_LINE variable to the contents of the \fBreadline\fP line buffer and the +.SM .B READLINE_POINT variable to the current location of the insertion point. If the executed command changes the value of +.SM .B READLINE_LINE or +.SM .BR READLINE_POINT , those new values will be reflected in the editing state. .PD @@ -6622,7 +6705,10 @@ option forces symbolic links to be followed. An argument of is equivalent to .SM .BR $OLDPWD . -If a non-empty directory name from \fBCDPATH\fP is used, or if +If a non-empty directory name from +.SM +.B CDPATH +is used, or if \fB\-\fP is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output. @@ -6643,6 +6729,7 @@ are executed. If the option is given, the search for .I command is performed using a default value for +.SM .B PATH that is guaranteed to find all of the standard utilities. If either the @@ -6979,8 +7066,8 @@ Use function names only. .B \-i The variable is treated as an integer; arithmetic evaluation (see .SM -.B "ARITHMETIC EVALUATION" ") " -is performed when the variable is assigned a value. +.B "ARITHMETIC EVALUATION" +above) is performed when the variable is assigned a value. .TP .B \-l When the variable is assigned a value, all upper-case characters are @@ -7009,7 +7096,7 @@ Mark \fIname\fPs for export to subsequent commands via the environment. Using `+' instead of `\-' turns off the attribute instead, with the exceptions that \fB+a\fP -may not be used to destroy an array variable and \fB+r\fB will not +may not be used to destroy an array variable and \fB+r\fP will not remove the readonly attribute. When used in a function, makes each @@ -7082,7 +7169,7 @@ Without options, each is removed from the table of active jobs. If .I jobspec -is not present, and neither \fB\-a\fB nor \fB\-r\fP is supplied, +is not present, and neither \fB\-a\fP nor \fB\-r\fP is supplied, the shell's notion of the \fIcurrent job\fP is used. If the \fB\-h\fP option is given, each .I jobspec @@ -7451,7 +7538,9 @@ is to be used. .sp 1 When the end of options is encountered, \fBgetopts\fP exits with a return value greater than zero. -\fBOPTIND\fP is set to the index of the first non-option argument, +.SM +.B OPTIND +is set to the index of the first non-option argument, and \fBname\fP is set to ?. .sp 1 .B getopts @@ -7595,7 +7684,10 @@ have been modified. An argument of lists only the last .I n lines. -If the shell variable \fBHISTTIMEFORMAT\fP is set and not null, +If the shell variable +.SM +.B HISTTIMEFORMAT +is set and not null, it is used as a format string for \fIstrftime\fP(3) to display the time stamp associated with each displayed history entry. No intervening blank is printed between the formatted time stamp @@ -7647,7 +7739,10 @@ history list is removed before the are added. .PD .PP -If the \fBHISTTIMEFORMAT\fP is set, the time stamp information +If the +.SM +.B HISTTIMEFORMAT +variable is set, the time stamp information associated with each history entry is written to the history file, marked with the history comment character. When the history file is read, lines beginning with the history @@ -7762,7 +7857,8 @@ Each .I arg is an arithmetic expression to be evaluated (see .SM -.BR "ARITHMETIC EVALUATION" ). +.B "ARITHMETIC EVALUATION" +above). If the last .I arg evaluates to 0, @@ -7807,7 +7903,10 @@ or from file descriptor if the .B \-u option is supplied. -The variable \fBMAPFILE\fP is the default \fIarray\fP. +The variable +.SM +.B MAPFILE +is the default \fIarray\fP. Options, if supplied, have the following meanings: .RS .PD 0 @@ -7828,7 +7927,7 @@ The default index is 0. Discard the first \fIcount\fP lines read. .TP .B \-t -Remove a trailing line from each line read. +Remove a trailing newline from each line read. .TP .B \-u Read lines from file descriptor \fIfd\fP instead of the standard input. @@ -8228,6 +8327,7 @@ being inverted with A trap on \fBERR\fP, if set, is executed before the shell exits. This option applies to the shell environment and each subshell environment separately (see +.SM .B "COMMAND EXECUTION ENVIRONMENT" above), and may cause subshells to exit before executing all the commands in the subshell. @@ -8407,9 +8507,12 @@ files are not processed, shell functions are not inherited from the environment, and the .SM .BR SHELLOPTS , +.SM .BR BASHOPTS , +.SM .BR CDPATH , and +.SM .B GLOBIGNORE variables, if they appear in the environment, are ignored. If the shell is started with the effective user (group) id not equal to the @@ -8622,7 +8725,10 @@ longer exists, a normal path search is performed. If set, \fBbash\fP lists the status of any stopped and running jobs before exiting an interactive shell. If any jobs are running, this causes the exit to be deferred until a second exit is attempted without an -intervening command (see \fBJOB CONTROL\fP above). The shell always +intervening command (see +.SM +.B "JOB CONTROL" +above). The shell always postpones exiting if any jobs are stopped. .TP 8 .B checkwinsize @@ -8706,8 +8812,12 @@ executed by the \fB.\fP or \fBsource\fP builtins), a call to \fBreturn\fP is simulated. .TP .B 4. -\fBBASH_ARGC\fP and \fBBASH_ARGV\fP are updated as described in their -descriptions above. +.SM +.B BASH_ARGC +and +.SM +.B BASH_ARGV +are updated as described in their descriptions above. .TP .B 5. Function tracing is enabled: command substitution, shell functions, and @@ -8734,13 +8844,18 @@ If set, patterns which fail to match filenames during pathname expansion result in an expansion error. .TP 8 .B force_fignore -If set, the suffixes specified by the \fBFIGNORE\fP shell variable +If set, the suffixes specified by the +.SM +.B FIGNORE +shell variable cause words to be ignored when performing word completion even if the ignored words are the only possible completions. See .SM \fBSHELL VARIABLES\fP -above for a description of \fBFIGNORE\fP. +above for a description of +.SM +.BR FIGNORE . This option is enabled by default. .TP 8 .B globstar @@ -8756,6 +8871,7 @@ message format. .B histappend If set, the history list is appended to the file named by the value of the +.SM .B HISTFILE variable when the shell exits, rather than overwriting the file. .TP 8 @@ -8822,7 +8938,10 @@ If set, and .B readline is being used, .B bash -will not attempt to search the \fBPATH\fP for possible completions when +will not attempt to search the +.SM +.B PATH +for possible completions when completion is attempted on an empty line. .TP 8 .B nocaseglob @@ -9353,6 +9472,8 @@ Each unset variable or function is removed from the environment passed to subsequent commands. If any of .SM +.BR COMP_WORDBREAKS , +.SM .BR RANDOM , .SM .BR SECONDS , @@ -9409,10 +9530,14 @@ with the exception that the following are disallowed or not performed: changing directories with \fBcd\fP .IP \(bu setting or unsetting the values of +.SM .BR SHELL , +.SM .BR PATH , +.SM .BR ENV , or +.SM .B BASH_ENV .IP \(bu specifying command names containing @@ -9432,7 +9557,10 @@ builtin command .IP \(bu importing function definitions from the shell environment at startup .IP \(bu -parsing the value of \fBSHELLOPTS\fP from the shell environment at startup +parsing the value of +.SM +.B SHELLOPTS +from the shell environment at startup .IP \(bu redirecting output using the >, >|, <>, >&, &>, and >> redirection operators .IP \(bu diff --git a/doc/bash.html b/doc/bash.html index 29d22a49..2aa28257 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -3,7 +3,7 @@ </HEAD> <BODY><TABLE WIDTH=100%> <TR> -<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 December 23<TH ALIGN=RIGHT width=33%>BASH(1) +<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 December 29<TH ALIGN=RIGHT width=33%>BASH(1) </TR> </TABLE> <BR><A HREF="#index">Index</A> @@ -558,13 +558,16 @@ files are read, shell functions are not inherited from the environment, the <FONT SIZE=-1><B>SHELLOPTS</B>, </FONT> -<B>BASHOPTS</B>, +<FONT SIZE=-1><B>BASHOPTS</B>, -<B>CDPATH</B>, +</FONT> +<FONT SIZE=-1><B>CDPATH</B>, +</FONT> and -<B>GLOBIGNORE</B> +<FONT SIZE=-1><B>GLOBIGNORE</B> +</FONT> variables, if they appear in the environment, are ignored, and the effective user id is set to the real user id. If the <B>-p</B> option is supplied at invocation, the startup behavior is @@ -938,10 +941,21 @@ of alphabetic characters. Any part of the pattern may be quoted to force it to be matched as a string. Substrings matched by parenthesized subexpressions within the regular -expression are saved in the array variable <B>BASH_REMATCH</B>. -The element of <B>BASH_REMATCH</B> with index 0 is the portion of the string +expression are saved in the array variable +<FONT SIZE=-1><B>BASH_REMATCH</B>. + +</FONT> +The element of +<FONT SIZE=-1><B>BASH_REMATCH</B> + +</FONT> +with index 0 is the portion of the string matching the entire regular expression. -The element of <B>BASH_REMATCH</B> with index <I>n</I> is the portion of the +The element of +<FONT SIZE=-1><B>BASH_REMATCH</B> + +</FONT> +with index <I>n</I> is the portion of the string matching the <I>n</I>th parenthesized subexpression. <P> @@ -1032,8 +1046,9 @@ error, each preceded by a number. If the <B>in</B> </FONT> below). The -<B>PS3</B> +<FONT SIZE=-1><B>PS3</B> +</FONT> prompt is then displayed and a line read from the standard input. If the line consists of a number corresponding to one of the displayed words, then the value of @@ -1045,8 +1060,9 @@ other value read causes <I>name</I> to be set to null. The line read is saved in the variable -<B>REPLY</B>. +<FONT SIZE=-1><B>REPLY</B>. +</FONT> The <I>list</I> @@ -1364,6 +1380,9 @@ backspace <DT><B>\e</B> <DD> +<DT><B>\E</B> + +<DD> an escape character <DT><B>\f</B> @@ -1393,6 +1412,10 @@ backslash <DD> single quote +<DT><B>\dq</B> + +<DD> +double quote <DT><B>\</B><I>nnn</I> <DD> @@ -1757,9 +1780,14 @@ The number of parameters to the current subroutine (shell function or script executed with <B>.</B> or <B>source</B>) is at the top of the stack. When a subroutine is executed, the number of parameters passed is pushed onto -<B>BASH_ARGC</B>. -The shell sets <B>BASH_ARGC</B> only when in extended debugging mode -(see the description of the +<FONT SIZE=-1><B>BASH_ARGC</B>. + +</FONT> +The shell sets +<FONT SIZE=-1><B>BASH_ARGC</B> + +</FONT> +only when in extended debugging mode (see the description of the <B>extdebug</B> option to the @@ -1773,8 +1801,15 @@ An array variable containing all of the parameters in the current <B>bash</B> execution call stack. The final parameter of the last subroutine call is at the top of the stack; the first parameter of the initial call is at the bottom. When a subroutine is executed, the parameters supplied -are pushed onto <B>BASH_ARGV</B>. -The shell sets <B>BASH_ARGV</B> only when in extended debugging mode +are pushed onto +<FONT SIZE=-1><B>BASH_ARGV</B>. + +</FONT> +The shell sets +<FONT SIZE=-1><B>BASH_ARGV</B> + +</FONT> +only when in extended debugging mode (see the description of the <B>extdebug</B> @@ -1803,13 +1838,20 @@ The command argument to the <B>-c</B> invocation option. <DD> An array variable whose members are the line numbers in source files -corresponding to each member of <B>FUNCNAME</B>. +corresponding to each member of +<FONT SIZE=-1><B>FUNCNAME</B>. + +</FONT> <B>${BASH_LINENO[</B><I>$i</I><B>]}</B> is the line number in the source file where <B>${FUNCNAME[</B><I>$i</I><B>]}</B> was called (or <B>${BASH_LINENO[</B><I>$i-1</I><B>]}</B> if referenced within another shell function). The corresponding source file name is <B>${BASH_SOURCE[</B><I>$i</I><B>]}</B>. -Use <B>LINENO</B> to obtain the current line number. +Use +<FONT SIZE=-1><B>LINENO</B> + +</FONT> +to obtain the current line number. <DT><B>BASH_REMATCH</B> <DD> @@ -1824,7 +1866,11 @@ This variable is read-only. <DD> An array variable whose members are the source filenames corresponding -to the elements in the <B>FUNCNAME</B> array variable. +to the elements in the +<FONT SIZE=-1><B>FUNCNAME</B> + +</FONT> +array variable. <DT><B>BASH_SUBSHELL</B> <DD> @@ -1865,7 +1911,10 @@ The release status (e.g., <I>beta1</I>). <DT><B>BASH_VERSINFO[</B>5] <DD> -The value of <B>MACHTYPE</B>. +The value of +<FONT SIZE=-1><B>MACHTYPE</B>. + +</FONT> </DL></DL> @@ -1939,7 +1988,10 @@ subsequently reset. An array variable (see <B>Arrays</B> below) consisting of the individual words in the current command line. The line is split into words as <B>readline</B> would split it, using -<B>COMP_WORDBREAKS</B> as described above. +<FONT SIZE=-1><B>COMP_WORDBREAKS</B> + +</FONT> +as described above. This variable is available only in shell functions invoked by the programmable completion facilities (see <B>Programmable Completion</B> below). @@ -2252,11 +2304,22 @@ will write the trace output generated when <TT>set -x</TT> is enabled to that file descriptor. -The file descriptor is closed when <B>BASH_XTRACEFD</B> is unset or assigned -a new value. -Unsetting <B>BASH_XTRACEFD</B> or assigning it the empty string causes the +The file descriptor is closed when +<FONT SIZE=-1><B>BASH_XTRACEFD</B> + +</FONT> +is unset or assigned a new value. +Unsetting +<FONT SIZE=-1><B>BASH_XTRACEFD</B> + +</FONT> +or assigning it the empty string causes the trace output to be sent to the standard error. -Note that setting BASH_XTRACEFD to 2 (the standard error file +Note that setting +<FONT SIZE=-1><B>BASH_XTRACEFD</B> + +</FONT> +to 2 (the standard error file descriptor) and then unsetting it will result in the standard error being closed. <DT><B>COLUMNS</B> @@ -2340,15 +2403,21 @@ A value of causes all previous lines matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored. -If <B>HISTCONTROL</B> is unset, or does not include a valid value, +If +<FONT SIZE=-1><B>HISTCONTROL</B> + +</FONT> +is unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the value of -<B>HISTIGNORE</B>. +<FONT SIZE=-1><B>HISTIGNORE</B>. +</FONT> The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of -<B>HISTCONTROL</B>. +<FONT SIZE=-1><B>HISTCONTROL</B>. +</FONT> <DT><B>HISTFILE</B> <DD> @@ -2375,16 +2444,18 @@ should be saved on the history list. Each pattern is anchored at the beginning of the line and must match the complete line (no implicit `<B>*</B>' is appended). Each pattern is tested against the line after the checks specified by -<B>HISTCONTROL</B> +<FONT SIZE=-1><B>HISTCONTROL</B> +</FONT> are applied. In addition to the normal shell pattern matching characters, `<B>&</B>' matches the previous history line. `<B>&</B>' may be escaped using a backslash; the backslash is removed before attempting a match. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of -<B>HISTIGNORE</B>. +<FONT SIZE=-1><B>HISTIGNORE</B>. +</FONT> <DT><B>HISTSIZE</B> <DD> @@ -2499,7 +2570,11 @@ selected with a variable starting with <B>LC_</B>. <DT><B>LC_ALL</B> <DD> -This variable overrides the value of <B>LANG</B> and any other +This variable overrides the value of +<FONT SIZE=-1><B>LANG</B> + +</FONT> +and any other <B>LC_</B> variable specifying a locale category. <DT><B>LC_COLLATE</B> @@ -2527,7 +2602,10 @@ This variable determines the locale category used for number formatting. <DD> Used by the <B>select</B> builtin command to determine the column length -for printing selection lists. Automatically set upon receipt of a SIGWINCH. +for printing selection lists. Automatically set upon receipt of a +<FONT SIZE=-1><B>SIGWINCH</B>. + +</FONT> <DT><B>MAIL</B> <DD> @@ -2600,8 +2678,11 @@ the shell looks for commands (see </FONT> below). -A zero-length (null) directory name in the value of <B>PATH</B> indicates the -current directory. +A zero-length (null) directory name in the value of +<FONT SIZE=-1><B>PATH</B> + +</FONT> +indicates the current directory. A null directory name may appear as two adjacent colons, or as an initial or trailing colon. The default path is system-dependent, @@ -2651,8 +2732,9 @@ below) and used as the primary prompt string. The default value is <DD> The value of this parameter is expanded as with -<B>PS1</B> +<FONT SIZE=-1><B>PS1</B> +</FONT> and used as the secondary prompt string. The default is ``<B>> </B>''. <DT><B>PS3</B> @@ -2670,8 +2752,9 @@ above). <DD> The value of this parameter is expanded as with -<B>PS1</B> +<FONT SIZE=-1><B>PS1</B> +</FONT> and the value is printed before each command <B>bash</B> @@ -2748,10 +2831,18 @@ A trailing newline is added when the format string is displayed. <DT><B>TMOUT</B> <DD> -If set to a value greater than zero, <B>TMOUT</B> is treated as the +If set to a value greater than zero, +<FONT SIZE=-1><B>TMOUT</B> + +</FONT> +is treated as the default timeout for the <B>read</B> builtin. The <B>select</B> command terminates if input does not arrive -after <B>TMOUT</B> seconds when input is coming from a terminal. +after +<FONT SIZE=-1><B>TMOUT</B> + +</FONT> +seconds when input is coming from a terminal. In an interactive shell, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. <B>Bash</B> @@ -3946,7 +4037,11 @@ or a then any character not enclosed is matched. The sorting order of characters in range expressions is determined by -the current locale and the value of the <B>LC_COLLATE</B> shell variable, +the current locale and the value of the +<FONT SIZE=-1><B>LC_COLLATE</B> + +</FONT> +shell variable, if set. A <B>-</B> @@ -5243,7 +5338,7 @@ arguments, if any. The shell has an <I>execution environment</I>, which consists of the following: -<P> + <DL COMPACT> <DT>*<DD> open files inherited by the shell at invocation, as modified by @@ -5271,7 +5366,10 @@ options enabled by <B>shopt</B> shell aliases defined with <B>alias</B> <DT>*<DD> various process IDs, including those of background jobs, the value -of <B>$$</B>, and the value of <B>$PPID</B> +of <B>$$</B>, and the value of +<FONT SIZE=-1><B>PPID</B> + +</FONT> </DL> <P> @@ -5280,7 +5378,7 @@ is to be executed, it is invoked in a separate execution environment that consists of the following. Unless otherwise noted, the values are inherited from the shell. -<P> + <DL COMPACT> <DT>*<DD> the shell's open files, plus any modifications and additions specified @@ -5890,12 +5988,23 @@ the release of <B>bash</B>, version + patch level (e.g., 2.00.0) <DT><B>\w</B> <DD> -the current working directory, with <B>$HOME</B> abbreviated with a tilde -(uses the <B>$PROMPT_DIRTRIM</B> variable) +the current working directory, with +<FONT SIZE=-1><B>$HOME</B> + +</FONT> +abbreviated with a tilde +(uses the value of the +<FONT SIZE=-1><B>PROMPT_DIRTRIM</B> + +</FONT> +variable) <DT><B>\W</B> <DD> -the basename of the current working directory, with <B>$HOME</B> +the basename of the current working directory, with +<FONT SIZE=-1><B>$HOME</B> + +</FONT> abbreviated with a tilde <DT><B>\!</B> @@ -7701,7 +7810,11 @@ option to the builtin is enabled, the shell provides access to the <I>command history</I>, the list of commands previously typed. -The value of the <B>HISTSIZE</B> variable is used as the +The value of the +<FONT SIZE=-1><B>HISTSIZE</B> + +</FONT> +variable is used as the number of commands to save in a history list. The text of the last <FONT SIZE=-1><B>HISTSIZE</B> @@ -7775,7 +7888,8 @@ If is unset, or if the history file is unwritable, the history is not saved. If the -<FONT SIZE=-1> +<FONT SIZE=-1><B>HISTTIMEFORMAT</B> + </FONT> variable is set, time stamps are written to the history file, marked with the history comment character, so @@ -7909,7 +8023,7 @@ If the shell option is enabled (see the description of the <B>shopt</B> -builtin), and +builtin below), and <B>readline</B> is being used, history substitutions are not immediately passed to @@ -8422,18 +8536,22 @@ Remove any current binding for <I>keyseq</I>. Cause <I>shell-command</I> to be executed whenever <I>keyseq</I> is entered. When <I>shell-command</I> is executed, the shell sets the -<B>READLINE_LINE</B> +<FONT SIZE=-1><B>READLINE_LINE</B> +</FONT> variable to the contents of the <B>readline</B> line buffer and the -<B>READLINE_POINT</B> +<FONT SIZE=-1><B>READLINE_POINT</B> +</FONT> variable to the current location of the insertion point. If the executed command changes the value of -<B>READLINE_LINE</B> +<FONT SIZE=-1><B>READLINE_LINE</B> +</FONT> or -<B>READLINE_POINT</B>, +<FONT SIZE=-1><B>READLINE_POINT</B>, +</FONT> those new values will be reflected in the editing state. </DL> @@ -8541,7 +8659,11 @@ is equivalent to <FONT SIZE=-1><B>$OLDPWD</B>. </FONT> -If a non-empty directory name from <B>CDPATH</B> is used, or if +If a non-empty directory name from +<FONT SIZE=-1><B>CDPATH</B> + +</FONT> +is used, or if <B>-</B> is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output. @@ -8566,8 +8688,9 @@ option is given, the search for <I>command</I> is performed using a default value for -<B>PATH</B> +<FONT SIZE=-1><B>PATH</B> +</FONT> that is guaranteed to find all of the standard utilities. If either the <B>-V</B> @@ -8966,10 +9089,10 @@ Use function names only. <DD> The variable is treated as an integer; arithmetic evaluation (see -<FONT SIZE=-1><B>ARITHMETIC EVALUATION ) </B> +<FONT SIZE=-1><B>ARITHMETIC EVALUATION</B> </FONT> -is performed when the variable is assigned a value. +above) is performed when the variable is assigned a value. <DT><B>-l</B> <DD> @@ -9005,11 +9128,11 @@ Mark <I>name</I>s for export to subsequent commands via the environment. Using `+' instead of `-' turns off the attribute instead, with the exceptions that <B>+a</B> -may not be used to destroy an array variable and <B>+r will not +may not be used to destroy an array variable and <B>+r</B> will not remove the readonly attribute. When used in a function, makes each -</B><I>name</I> local, as with the +<I>name</I> local, as with the <B>local</B> command. @@ -9093,7 +9216,7 @@ is removed from the table of active jobs. If <I>jobspec</I> -is not present, and neither <B>-a nor -r</B> is supplied, +is not present, and neither <B>-a</B> nor <B>-r</B> is supplied, the shell's notion of the <I>current job</I> is used. If the <B>-h</B> option is given, each <I>jobspec</I> @@ -9553,7 +9676,10 @@ is to be used. <P> When the end of options is encountered, <B>getopts</B> exits with a return value greater than zero. -<B>OPTIND</B> is set to the index of the first non-option argument, +<FONT SIZE=-1><B>OPTIND</B> + +</FONT> +is set to the index of the first non-option argument, and <B>name</B> is set to ?. <P> <B>getopts</B> @@ -9730,7 +9856,11 @@ lists only the last <I>n</I> lines. -If the shell variable <B>HISTTIMEFORMAT</B> is set and not null, +If the shell variable +<FONT SIZE=-1><B>HISTTIMEFORMAT</B> + +</FONT> +is set and not null, it is used as a format string for <I>strftime</I>(3) to display the time stamp associated with each displayed history entry. No intervening blank is printed between the formatted time stamp @@ -9794,7 +9924,11 @@ are added. </DL> <P> -If the <B>HISTTIMEFORMAT</B> is set, the time stamp information +If the +<FONT SIZE=-1><B>HISTTIMEFORMAT</B> + +</FONT> +variable is set, the time stamp information associated with each history entry is written to the history file, marked with the history comment character. When the history file is read, lines beginning with the history @@ -9938,9 +10072,10 @@ Each <I>arg</I> is an arithmetic expression to be evaluated (see -<FONT SIZE=-1><B>ARITHMETIC EVALUATION</B>). +<FONT SIZE=-1><B>ARITHMETIC EVALUATION</B> </FONT> +above). If the last <I>arg</I> @@ -9996,7 +10131,11 @@ if the <B>-u</B> option is supplied. -The variable <B>MAPFILE</B> is the default <I>array</I>. +The variable +<FONT SIZE=-1><B>MAPFILE</B> + +</FONT> +is the default <I>array</I>. Options, if supplied, have the following meanings: <DL COMPACT><DT><DD> @@ -10025,7 +10164,7 @@ Discard the first <I>count</I> lines read. <DT><B>-t</B> <DD> -Remove a trailing line from each line read. +Remove a trailing newline from each line read. <DT><B>-u</B> <DD> @@ -10509,8 +10648,9 @@ being inverted with A trap on <B>ERR</B>, if set, is executed before the shell exits. This option applies to the shell environment and each subshell environment separately (see -<B>COMMAND EXECUTION ENVIRONMENT</B> +<FONT SIZE=-1><B>COMMAND EXECUTION ENVIRONMENT</B> +</FONT> above), and may cause subshells to exit before executing all the commands in the subshell. <DT><B>-f</B> @@ -10574,23 +10714,23 @@ with the option. This also affects the editing interface used for <B>read -e</B>. -<DT><B>errtrace</B> +<DT><B>errexit</B> <DD> Same as -<B>-E</B>. +<B>-e</B>. -<DT><B>functrace</B> +<DT><B>errtrace</B> <DD> Same as -<B>-T</B>. +<B>-E</B>. -<DT><B>errexit</B> +<DT><B>functrace</B> <DD> Same as -<B>-e</B>. +<B>-T</B>. <DT><B>hashall</B> @@ -10757,13 +10897,16 @@ environment, and the <FONT SIZE=-1><B>SHELLOPTS</B>, </FONT> -<B>BASHOPTS</B>, +<FONT SIZE=-1><B>BASHOPTS</B>, -<B>CDPATH</B>, +</FONT> +<FONT SIZE=-1><B>CDPATH</B>, +</FONT> and -<B>GLOBIGNORE</B> +<FONT SIZE=-1><B>GLOBIGNORE</B> +</FONT> variables, if they appear in the environment, are ignored. If the shell is started with the effective user (group) id not equal to the real user (group) id, and the <B>-p</B> option is not supplied, these actions @@ -11035,7 +11178,11 @@ longer exists, a normal path search is performed. If set, <B>bash</B> lists the status of any stopped and running jobs before exiting an interactive shell. If any jobs are running, this causes the exit to be deferred until a second exit is attempted without an -intervening command (see <B>JOB CONTROL</B> above). The shell always +intervening command (see +<FONT SIZE=-1><B>JOB CONTROL</B> + +</FONT> +above). The shell always postpones exiting if any jobs are stopped. <DT><B>checkwinsize</B> @@ -11145,8 +11292,14 @@ executed by the <B>.</B> or <B>source</B> builtins), a call to <DT><B>4.</B> <DD> -<B>BASH_ARGC</B> and <B>BASH_ARGV</B> are updated as described in their -descriptions above. +<FONT SIZE=-1><B>BASH_ARGC</B> + +</FONT> +and +<FONT SIZE=-1><B>BASH_ARGV</B> + +</FONT> +are updated as described in their descriptions above. <DT><B>5.</B> <DD> @@ -11180,12 +11333,19 @@ result in an expansion error. <DT><B>force_fignore</B> <DD> -If set, the suffixes specified by the <B>FIGNORE</B> shell variable +If set, the suffixes specified by the +<FONT SIZE=-1><B>FIGNORE</B> + +</FONT> +shell variable cause words to be ignored when performing word completion even if the ignored words are the only possible completions. See <FONT SIZE=-1><B>SHELL VARIABLES</B></FONT> -above for a description of <B>FIGNORE</B>. +above for a description of +<FONT SIZE=-1><B>FIGNORE</B>. + +</FONT> This option is enabled by default. <DT><B>globstar</B> @@ -11204,8 +11364,9 @@ message format. <DD> If set, the history list is appended to the file named by the value of the -<B>HISTFILE</B> +<FONT SIZE=-1><B>HISTFILE</B> +</FONT> variable when the shell exits, rather than overwriting the file. <DT><B>histreedit</B> @@ -11292,7 +11453,11 @@ If set, and is being used, <B>bash</B> -will not attempt to search the <B>PATH</B> for possible completions when +will not attempt to search the +<FONT SIZE=-1><B>PATH</B> + +</FONT> +for possible completions when completion is attempted on an empty line. <DT><B>nocaseglob</B> @@ -11962,6 +12127,9 @@ is removed. Each unset variable or function is removed from the environment passed to subsequent commands. If any of +<FONT SIZE=-1><B>COMP_WORDBREAKS</B>, + +</FONT> <FONT SIZE=-1><B>RANDOM</B>, </FONT> @@ -12038,15 +12206,19 @@ with the exception that the following are disallowed or not performed: changing directories with <B>cd</B> <DT>*<DD> setting or unsetting the values of -<B>SHELL</B>, +<FONT SIZE=-1><B>SHELL</B>, -<B>PATH</B>, +</FONT> +<FONT SIZE=-1><B>PATH</B>, -<B>ENV</B>, +</FONT> +<FONT SIZE=-1><B>ENV</B>, +</FONT> or -<B>BASH_ENV</B> +<FONT SIZE=-1><B>BASH_ENV</B> +</FONT> <DT>*<DD> specifying command names containing <B>/</B> @@ -12070,7 +12242,11 @@ builtin command <DT>*<DD> importing function definitions from the shell environment at startup <DT>*<DD> -parsing the value of <B>SHELLOPTS</B> from the shell environment at startup +parsing the value of +<FONT SIZE=-1><B>SHELLOPTS</B> + +</FONT> +from the shell environment at startup <DT>*<DD> redirecting output using the >, >|, <>, >&, &>, and >> redirection operators <DT>*<DD> @@ -12284,7 +12460,7 @@ There may be only one active coprocess at a time. <HR> <TABLE WIDTH=100%> <TR> -<TH ALIGN=LEFT width=33%>GNU Bash-4.1<TH ALIGN=CENTER width=33%>2009 December 23<TH ALIGN=RIGHT width=33%>BASH(1) +<TH ALIGN=LEFT width=33%>GNU Bash-4.1<TH ALIGN=CENTER width=33%>2009 December 29<TH ALIGN=RIGHT width=33%>BASH(1) </TR> </TABLE> <HR> @@ -12390,6 +12566,6 @@ There may be only one active coprocess at a time. </DL> <HR> This document was created by man2html from bash.1.<BR> -Time: 23 December 2009 16:47:15 EST +Time: 30 December 2009 13:07:38 EST </BODY> </HTML> diff --git a/doc/bash.pdf b/doc/bash.pdf Binary files differindex 5c375b3e..cb36c5e1 100644 --- a/doc/bash.pdf +++ b/doc/bash.pdf diff --git a/doc/bash.ps b/doc/bash.ps index 0390eece..8b4d5732 100644 --- a/doc/bash.ps +++ b/doc/bash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.19.2 -%%CreationDate: Wed Dec 23 16:47:11 2009 +%%CreationDate: Wed Dec 30 13:07:37 2009 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -331,7 +331,7 @@ E F2(po)2.5 E F0(\(portable object\) \214le format.)2.5 E F2 144 686.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 F2(\255\255login)108 703.2 Q F0 (Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F2<ad6c>2.5 E F0(.)A -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(1)190.955 E 0 Cg EP +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(1)190.955 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP @@ -453,7 +453,7 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en) 108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G (TH)-.189 E F0 -.25(va)2.25 G (riable is not used to search for the \214le name.).25 E(GNU Bash-4.1)72 -768 Q(2009 December 23)135.965 E(2)190.955 E 0 Cg EP +768 Q(2009 December 29)135.965 E(2)190.955 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP @@ -526,14 +526,14 @@ E F2 -.1(rs)3.386 G(hd).1 E F0 .886(does not generally in)3.386 F -.2 (ser \(group\) id not equal to the real user \(group\) id, and the).15 F F1<ad70>3.708 E F0 .536(option is not supplied, no startup \214les are \ read, shell functions are not inherited from the en)108 326.4 R .535 -(vironment, the)-.4 F F3(SHELLOPTS)108 338.4 Q F4(,)A F1 -.3(BA)2.765 G -(SHOPTS).3 E F0(,)A F1(CDP)3.015 E -.95(AT)-.74 G(H).95 E F0 3.015(,a)C -(nd)-3.015 E F1(GLOBIGNORE)3.015 E F0 -.25(va)3.015 G .515 -(riables, if the).25 F 3.015(ya)-.15 G .516(ppear in the en)-3.015 F -(vironment,)-.4 E .195(are ignored, and the ef)108 350.4 R(fecti)-.25 E -.495 -.15(ve u)-.25 H .195(ser id is set to the real user id.).15 F .194 -(If the)5.194 F F1<ad70>2.694 E F0 .194(option is supplied at in)2.694 F --.2(vo)-.4 G .194(cation, the).2 F(startup beha)108 362.4 Q +(vironment, the)-.4 F F3(SHELLOPTS)108 338.4 Q F4(,)A F3 -.27(BA)2.959 G +(SHOPTS).27 E F4(,)A F3(CDP)2.959 E -.855(AT)-.666 G(H).855 E F4(,)A F0 +(and)2.959 E F3(GLOBIGNORE)3.209 E F0 -.25(va)2.959 G .709 +(riables, if the).25 F 3.209(ya)-.15 G .71(ppear in the en)-3.209 F .71 +(vironment, are)-.4 F .905(ignored, and the ef)108 350.4 R(fecti)-.25 E +1.205 -.15(ve u)-.25 H .904(ser id is set to the real user id.).15 F +.904(If the)5.904 F F1<ad70>3.404 E F0 .904(option is supplied at in) +3.404 F -.2(vo)-.4 G .904(cation, the).2 F(startup beha)108 362.4 Q (vior is the same, b)-.2 E(ut the ef)-.2 E(fecti)-.25 E .3 -.15(ve u) -.25 H(ser id is not reset.).15 E/F5 10.95/Times-Bold@0 SF(DEFINITIONS) 72 379.2 Q F0(The follo)108 391.2 Q @@ -581,7 +581,7 @@ F1(Pipelines)87 691.2 Q F0(A)108 703.2 Q F2(pipeline)2.996 E F0 .496(is\ a sequence of one or more commands separated by one of the control ope\ rators)2.996 F F1(|)2.996 E F0(or)2.996 E F1(|&)2.996 E F0 5.496(.T)C (he)-5.496 E(format for a pipeline is:)108 715.2 Q(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(3)190.955 E 0 Cg EP +(2009 December 29)135.965 E(3)190.955 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP @@ -701,7 +701,7 @@ E(\(\()108 703.2 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F0(\)\))A(The)144 (A-)-.54 E(TION)144 727.2 Q/F5 9/Times-Roman@0 SF(.)A F0 .411(If the v) 4.911 F .411(alue of the e)-.25 F .411(xpression is non-zero, the retur\ n status is 0; otherwise the return status)-.15 F(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(4)190.955 E 0 Cg EP +(2009 December 29)135.965 E(4)190.955 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP @@ -764,7433 +764,7438 @@ F1(!=)2.743 E F0 5.243(.W)C .243(hen it is)-5.243 F 1.953 .265(as a string.)144 346.8 R .265 (Substrings matched by parenthesized sube)5.265 F .265 (xpressions within the re)-.15 F .265(gular e)-.15 F .265(xpression are) --.15 F(sa)144 358.8 Q -.15(ve)-.2 G 3.117(di).15 G 3.117(nt)-3.117 G -.617(he array v)-3.117 F(ariable)-.25 E F1 -.3(BA)3.117 G(SH_REMA).3 E -(TCH)-.95 E F0 5.617(.T)C .617(he element of)-5.617 F F1 -.3(BA)3.118 G -(SH_REMA).3 E(TCH)-.95 E F0 .618(with inde)3.118 F(x)-.15 E 6.883(0i)144 -370.8 S 6.883(st)-6.883 G 4.382 -(he portion of the string matching the entire re)-6.883 F 4.382(gular e) --.15 F 6.882(xpression. The)-.15 F 4.382(element of)6.882 F F1 -.3(BA) -144 382.8 S(SH_REMA).3 E(TCH)-.95 E F0 2.087(with inde)4.587 F(x)-.15 E -F2(n)4.587 E F0 2.088(is the portion of the string matching the)4.587 F -F2(n)4.588 E F0 2.088(th parenthesized)B(sube)144 394.8 Q(xpression.) --.15 E .786(Expressions may be combined using the follo)144 412.8 R .785 +-.15 F(sa)144 358.8 Q -.15(ve)-.2 G 3.096(di).15 G 3.097(nt)-3.096 G +.597(he array v)-3.097 F(ariable)-.25 E F3 -.27(BA)3.097 G(SH_REMA).27 E +(TCH)-.855 E F4(.)A F0 .597(The element of)5.097 F F3 -.27(BA)3.097 G +(SH_REMA).27 E(TCH)-.855 E F0 .597(with inde)2.847 F 3.097(x0i)-.15 G(s) +-3.097 E .049(the portion of the string matching the entire re)144 370.8 +R .049(gular e)-.15 F 2.549(xpression. The)-.15 F .049(element of)2.549 +F F3 -.27(BA)2.549 G(SH_REMA).27 E(TCH)-.855 E F0(with inde)144 382.8 Q +(x)-.15 E F2(n)2.5 E F0(is the portion of the string matching the)2.5 E +F2(n)2.5 E F0(th parenthesized sube)A(xpression.)-.15 E .785 +(Expressions may be combined using the follo)144 400.8 R .786 (wing operators, listed in decreasing order of prece-)-.25 F(dence:)144 -424.8 Q F1(\()144 442.8 Q F2 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F1(\)) -2.5 E F0 .522(Returns the v)180 454.8 R .522(alue of)-.25 F F2 -.2(ex) +412.8 Q F1(\()144 430.8 Q F2 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F1(\)) +2.5 E F0 .523(Returns the v)180 442.8 R .522(alue of)-.25 F F2 -.2(ex) 3.022 G(pr).2 E(ession)-.37 E F0 5.522(.T)C .522(his may be used to o) -5.522 F -.15(ve)-.15 G .522(rride the normal precedence of).15 F -(operators.)180 466.8 Q F1(!)144 478.8 Q F2 -.2(ex)2.5 G(pr).2 E(ession) --.37 E F0 -.35(Tr)180 490.8 S(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E -(ession)-.37 E F0(is f)2.74 E(alse.)-.1 E F2 -.2(ex)144 502.8 S(pr).2 E +(operators.)180 454.8 Q F1(!)144 466.8 Q F2 -.2(ex)2.5 G(pr).2 E(ession) +-.37 E F0 -.35(Tr)180 478.8 S(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E +(ession)-.37 E F0(is f)2.74 E(alse.)-.1 E F2 -.2(ex)144 490.8 S(pr).2 E (ession1)-.37 E F1(&&)2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0 --.35(Tr)180 514.8 S(ue if both).35 E F2 -.2(ex)2.5 G(pr).2 E(ession1) +-.35(Tr)180 502.8 S(ue if both).35 E F2 -.2(ex)2.5 G(pr).2 E(ession1) -.37 E F0(and)2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(are true.) -2.52 E F2 -.2(ex)144 526.8 S(pr).2 E(ession1)-.37 E/F5 10/Symbol SF -<efef>2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0 -.35(Tr)180 538.8 +2.52 E F2 -.2(ex)144 514.8 S(pr).2 E(ession1)-.37 E/F5 10/Symbol SF +<efef>2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0 -.35(Tr)180 526.8 S(ue if either).35 E F2 -.2(ex)2.5 G(pr).2 E(ession1)-.37 E F0(or)2.5 E -F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(is true.)2.52 E(The)144 555.6 -Q F1(&&)3.299 E F0(and)3.299 E F5<efef>3.298 E F0 .798 +F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(is true.)2.52 E(The)144 543.6 +Q F1(&&)3.298 E F0(and)3.298 E F5<efef>3.298 E F0 .798 (operators do not e)3.298 F -.25(va)-.25 G(luate).25 E F2 -.2(ex)3.298 G (pr).2 E(ession2)-.37 E F0 .798(if the v)3.298 F .798(alue of)-.25 F F2 --.2(ex)3.298 G(pr).2 E(ession1)-.37 E F0 .798(is suf)3.298 F .798 -(\214cient to)-.25 F(determine the return v)144 567.6 Q +-.2(ex)3.298 G(pr).2 E(ession1)-.37 E F0 .799(is suf)3.298 F .799 +(\214cient to)-.25 F(determine the return v)144 555.6 Q (alue of the entire conditional e)-.25 E(xpression.)-.15 E F1 -.25(fo) -108 584.4 S(r).25 E F2(name)2.5 E F0 2.5([[)2.5 G F1(in)A F0([)2.5 E F2 +108 572.4 S(r).25 E F2(name)2.5 E F0 2.5([[)2.5 G F1(in)A F0([)2.5 E F2 (wor)2.5 E 2.5(d.)-.37 G(..)-2.5 E F0 2.5(]];])2.5 G F1(do)A F2(list)2.5 -E F0(;)2.5 E F1(done)2.5 E F0 .423(The list of w)144 596.4 R .423 -(ords follo)-.1 F(wing)-.25 E F1(in)2.923 E F0 .423(is e)2.923 F .423 -(xpanded, generating a list of items.)-.15 F .424(The v)5.424 F(ariable) --.25 E F2(name)2.924 E F0 .424(is set to)2.924 F .653 -(each element of this list in turn, and)144 608.4 R F2(list)3.153 E F0 +E F0(;)2.5 E F1(done)2.5 E F0 .424(The list of w)144 584.4 R .424 +(ords follo)-.1 F(wing)-.25 E F1(in)2.924 E F0 .423(is e)2.924 F .423 +(xpanded, generating a list of items.)-.15 F .423(The v)5.423 F(ariable) +-.25 E F2(name)2.923 E F0 .423(is set to)2.923 F .653 +(each element of this list in turn, and)144 596.4 R F2(list)3.153 E F0 .653(is e)3.153 F -.15(xe)-.15 G .653(cuted each time.).15 F .653 (If the)5.653 F F1(in)3.153 E F2(wor)3.153 E(d)-.37 E F0 .653 -(is omitted, the)3.153 F F1 -.25(fo)3.153 G(r).25 E F0 .648(command e) -144 620.4 R -.15(xe)-.15 G(cutes).15 E F2(list)3.148 E F0 .648 +(is omitted, the)3.153 F F1 -.25(fo)3.153 G(r).25 E F0 .649(command e) +144 608.4 R -.15(xe)-.15 G(cutes).15 E F2(list)3.149 E F0 .648 (once for each positional parameter that is set \(see)3.148 F F3 -.666 -(PA)3.149 G(RAMETERS).666 E F0(belo)2.899 E(w\).)-.25 E .154 -(The return status is the e)144 632.4 R .153 -(xit status of the last command that e)-.15 F -.15(xe)-.15 G 2.653 -(cutes. If).15 F .153(the e)2.653 F .153(xpansion of the items)-.15 F -(follo)144 644.4 Q(wing)-.25 E F1(in)2.5 E F0 +(PA)3.148 G(RAMETERS).666 E F0(belo)2.898 E(w\).)-.25 E .153 +(The return status is the e)144 620.4 R .153 +(xit status of the last command that e)-.15 F -.15(xe)-.15 G 2.654 +(cutes. If).15 F .154(the e)2.654 F .154(xpansion of the items)-.15 F +(follo)144 632.4 Q(wing)-.25 E F1(in)2.5 E F0 (results in an empty list, no commands are e)2.5 E -.15(xe)-.15 G -(cuted, and the return status is 0.).15 E F1 -.25(fo)108 661.2 S(r).25 E +(cuted, and the return status is 0.).15 E F1 -.25(fo)108 649.2 S(r).25 E F0(\(\()2.5 E F2 -.2(ex)2.5 G(pr1).2 E F0(;)2.5 E F2 -.2(ex)2.5 G(pr2).2 E F0(;)2.5 E F2 -.2(ex)2.5 G(pr3).2 E F0(\)\) ;)2.5 E F1(do)2.5 E F2 -(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 1.235(First, the arithmetic e) -144 673.2 R(xpression)-.15 E F2 -.2(ex)3.735 G(pr1).2 E F0 1.235(is e) -3.735 F -.25(va)-.25 G 1.236 -(luated according to the rules described belo).25 F 3.736(wu)-.25 G -(nder)-3.736 E F3 .562(ARITHMETIC EV)144 685.2 R(ALU)-1.215 E -.855(AT) --.54 G(ION).855 E F4(.)A F0 .562(The arithmetic e)5.062 F(xpression)-.15 -E F2 -.2(ex)3.062 G(pr2).2 E F0 .561(is then e)3.061 F -.25(va)-.25 G -.561(luated repeatedly until).25 F .591(it e)144 697.2 R -.25(va)-.25 G -.591(luates to zero.).25 F .592(Each time)5.591 F F2 -.2(ex)3.092 G(pr2) +(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 1.236(First, the arithmetic e) +144 661.2 R(xpression)-.15 E F2 -.2(ex)3.736 G(pr1).2 E F0 1.235(is e) +3.736 F -.25(va)-.25 G 1.235 +(luated according to the rules described belo).25 F 3.735(wu)-.25 G +(nder)-3.735 E F3 .561(ARITHMETIC EV)144 673.2 R(ALU)-1.215 E -.855(AT) +-.54 G(ION).855 E F4(.)A F0 .561(The arithmetic e)5.061 F(xpression)-.15 +E F2 -.2(ex)3.061 G(pr2).2 E F0 .562(is then e)3.062 F -.25(va)-.25 G +.562(luated repeatedly until).25 F .592(it e)144 685.2 R -.25(va)-.25 G +.592(luates to zero.).25 F .592(Each time)5.592 F F2 -.2(ex)3.092 G(pr2) .2 E F0 -.25(eva)3.092 G .592(luates to a non-zero v).25 F(alue,)-.25 E -F2(list)3.092 E F0 .592(is e)3.092 F -.15(xe)-.15 G .592 -(cuted and the arith-).15 F .229(metic e)144 709.2 R(xpression)-.15 E F2 --.2(ex)2.729 G(pr3).2 E F0 .229(is e)2.729 F -.25(va)-.25 G 2.729 +F2(list)3.092 E F0 .591(is e)3.092 F -.15(xe)-.15 G .591 +(cuted and the arith-).15 F .228(metic e)144 697.2 R(xpression)-.15 E F2 +-.2(ex)2.728 G(pr3).2 E F0 .229(is e)2.728 F -.25(va)-.25 G 2.729 (luated. If).25 F(an)2.729 E 2.729(ye)-.15 G .229 (xpression is omitted, it beha)-2.879 F -.15(ve)-.2 G 2.729(sa).15 G -2.729(si)-2.729 G 2.729(fi)-2.729 G 2.728(te)-2.729 G -.25(va)-2.978 G -.228(luates to 1.).25 F .227(The return v)144 721.2 R .227 -(alue is the e)-.25 F .227(xit status of the last command in)-.15 F F2 -(list)2.728 E F0 .228(that is e)2.728 F -.15(xe)-.15 G .228(cuted, or f) -.15 F .228(alse if an)-.1 F 2.728(yo)-.15 G 2.728(ft)-2.728 G(he)-2.728 -E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(5)190.955 E 0 Cg EP +2.729(si)-2.729 G 2.729(fi)-2.729 G 2.729(te)-2.729 G -.25(va)-2.979 G +.229(luates to 1.).25 F .228(The return v)144 709.2 R .228 +(alue is the e)-.25 F .228(xit status of the last command in)-.15 F F2 +(list)2.728 E F0 .227(that is e)2.728 F -.15(xe)-.15 G .227(cuted, or f) +.15 F .227(alse if an)-.1 F 2.727(yo)-.15 G 2.727(ft)-2.727 G(he)-2.727 +E -.15(ex)144 721.2 S(pressions is in).15 E -.25(va)-.4 G(lid.).25 E +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(5)190.955 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E -.15(ex)144 84 S(pressions is in).15 E -.25(va)-.4 G(lid.).25 E -/F1 10/Times-Bold@0 SF(select)108 100.8 Q/F2 10/Times-Italic@0 SF(name) -2.5 E F0([)2.5 E F1(in)2.5 E F2(wor)2.5 E(d)-.37 E F0 2.5(];)2.5 G F1 -(do)A F2(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 .433(The list of w)144 -112.8 R .433(ords follo)-.1 F(wing)-.25 E F1(in)2.933 E F0 .432(is e) -2.933 F .432(xpanded, generating a list of items.)-.15 F .432 -(The set of e)5.432 F .432(xpanded w)-.15 F(ords)-.1 E .842 -(is printed on the standard error)144 124.8 R 3.342(,e)-.4 G .842 +-.35 E/F1 10/Times-Bold@0 SF(select)108 84 Q/F2 10/Times-Italic@0 SF +(name)2.5 E F0([)2.5 E F1(in)2.5 E F2(wor)2.5 E(d)-.37 E F0 2.5(];)2.5 G +F1(do)A F2(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 .432(The list of w)144 +96 R .432(ords follo)-.1 F(wing)-.25 E F1(in)2.932 E F0 .432(is e)2.932 +F .432(xpanded, generating a list of items.)-.15 F .433(The set of e) +5.433 F .433(xpanded w)-.15 F(ords)-.1 E .843 +(is printed on the standard error)144 108 R 3.342(,e)-.4 G .842 (ach preceded by a number)-3.342 F 5.842(.I)-.55 G 3.342(ft)-5.842 G(he) --3.342 E F1(in)3.342 E F2(wor)3.342 E(d)-.37 E F0 .843 -(is omitted, the posi-)3.343 F .064(tional parameters are printed \(see) -144 136.8 R/F3 9/Times-Bold@0 SF -.666(PA)2.564 G(RAMETERS).666 E F0 -(belo)2.314 E 2.564(w\). The)-.25 F F1(PS3)2.564 E F0 .064 -(prompt is then displayed and a)2.564 F .213 -(line read from the standard input.)144 148.8 R .213 -(If the line consists of a number corresponding to one of the dis-)5.213 -F 1.538(played w)144 160.8 R 1.538(ords, then the v)-.1 F 1.538(alue of) --.25 F F2(name)4.398 E F0 1.537(is set to that w)4.218 F 4.037(ord. If) --.1 F 1.537(the line is empty)4.037 F 4.037(,t)-.65 G 1.537(he w)-4.037 -F 1.537(ords and)-.1 F .065(prompt are displayed ag)144 172.8 R 2.565 -(ain. If)-.05 F .065(EOF is read, the command completes.)2.565 F(An) -5.066 E 2.566(yo)-.15 G .066(ther v)-2.566 F .066(alue read causes)-.25 -F F2(name)144 184.8 Q F0 .76(to be set to null.)3.44 F .76 -(The line read is sa)5.76 F -.15(ve)-.2 G 3.259(di).15 G 3.259(nt)-3.259 -G .759(he v)-3.259 F(ariable)-.25 E F1(REPL)3.259 E(Y)-.92 E F0 5.759 -(.T)C(he)-5.759 E F2(list)3.349 E F0 .759(is e)3.939 F -.15(xe)-.15 G -.759(cuted after).15 F .071(each selection until a)144 196.8 R F1(br) -2.571 E(eak)-.18 E F0 .071(command is e)2.571 F -.15(xe)-.15 G 2.571 -(cuted. The).15 F -.15(ex)2.571 G .071(it status of).15 F F1(select) -2.571 E F0 .071(is the e)2.571 F .072(xit status of the)-.15 F -(last command e)144 208.8 Q -.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E -F0 2.5(,o).68 G 2.5(rz)-2.5 G(ero if no commands were e)-2.5 E -.15(xe) --.15 G(cuted.).15 E F1(case)108 225.6 Q F2(wor)2.5 E(d)-.37 E F1(in)2.5 -E F0 2.5([[)2.5 G(\(])-2.5 E F2(pattern)2.5 E F0([)2.5 E F1(|)2.5 E F2 +-3.342 E F1(in)3.342 E F2(wor)3.342 E(d)-.37 E F0 .842 +(is omitted, the posi-)3.342 F .201(tional parameters are printed \(see) +144 120 R/F3 9/Times-Bold@0 SF -.666(PA)2.701 G(RAMETERS).666 E F0(belo) +2.451 E 2.701(w\). The)-.25 F F3(PS3)2.701 E F0 .201 +(prompt is then displayed and a)2.451 F .214 +(line read from the standard input.)144 132 R .213 +(If the line consists of a number corresponding to one of the dis-)5.214 +F 1.537(played w)144 144 R 1.537(ords, then the v)-.1 F 1.537(alue of) +-.25 F F2(name)4.397 E F0 1.537(is set to that w)4.217 F 4.037(ord. If) +-.1 F 1.538(the line is empty)4.038 F 4.038(,t)-.65 G 1.538(he w)-4.038 +F 1.538(ords and)-.1 F .066(prompt are displayed ag)144 156 R 2.566 +(ain. If)-.05 F .065(EOF is read, the command completes.)2.566 F(An) +5.065 E 2.565(yo)-.15 G .065(ther v)-2.565 F .065(alue read causes)-.25 +F F2(name)144 168 Q F0 .972(to be set to null.)3.652 F .972 +(The line read is sa)5.972 F -.15(ve)-.2 G 3.473(di).15 G 3.473(nt) +-3.473 G .973(he v)-3.473 F(ariable)-.25 E F3(REPL)3.473 E(Y)-.828 E/F4 +9/Times-Roman@0 SF(.)A F0(The)5.473 E F2(list)3.563 E F0 .973(is e)4.153 +F -.15(xe)-.15 G .973(cuted after).15 F .072(each selection until a)144 +180 R F1(br)2.571 E(eak)-.18 E F0 .071(command is e)2.571 F -.15(xe)-.15 +G 2.571(cuted. The).15 F -.15(ex)2.571 G .071(it status of).15 F F1 +(select)2.571 E F0 .071(is the e)2.571 F .071(xit status of the)-.15 F +(last command e)144 192 Q -.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E F0 +2.5(,o).68 G 2.5(rz)-2.5 G(ero if no commands were e)-2.5 E -.15(xe)-.15 +G(cuted.).15 E F1(case)108 208.8 Q F2(wor)2.5 E(d)-.37 E F1(in)2.5 E F0 +2.5([[)2.5 G(\(])-2.5 E F2(pattern)2.5 E F0([)2.5 E F1(|)2.5 E F2 (pattern)2.5 E F0 2.5(].)2.5 G(.. \))-2.5 E F2(list)2.5 E F0(;; ] ...) -2.5 E F1(esac)2.5 E F0(A)144 237.6 Q F1(case)3.265 E F0 .764 -(command \214rst e)3.265 F(xpands)-.15 E F2(wor)3.264 E(d)-.37 E F0 +2.5 E F1(esac)2.5 E F0(A)144 220.8 Q F1(case)3.264 E F0 .764 +(command \214rst e)3.264 F(xpands)-.15 E F2(wor)3.264 E(d)-.37 E F0 3.264(,a)C .764(nd tries to match it ag)-3.264 F .764(ainst each)-.05 F -F2(pattern)3.264 E F0 .764(in turn, using the)3.264 F .595 -(same matching rules as for pathname e)144 249.6 R .595(xpansion \(see) --.15 F F1 -.1(Pa)3.095 G .596(thname Expansion).1 F F0(belo)3.096 E -3.096(w\). The)-.25 F F2(wor)3.096 E(d)-.37 E F0(is)3.096 E -.15(ex)144 -261.6 S 1.092(panded using tilde e).15 F 1.092 +F2(pattern)3.264 E F0 .765(in turn, using the)3.264 F .596 +(same matching rules as for pathname e)144 232.8 R .595(xpansion \(see) +-.15 F F1 -.1(Pa)3.095 G .595(thname Expansion).1 F F0(belo)3.095 E +3.095(w\). The)-.25 F F2(wor)3.095 E(d)-.37 E F0(is)3.095 E -.15(ex)144 +244.8 S 1.092(panded using tilde e).15 F 1.092 (xpansion, parameter and v)-.15 F 1.092(ariable e)-.25 F 1.092 (xpansion, arithmetic substitution, com-)-.15 F 1.268 -(mand substitution, process substitution and quote remo)144 273.6 R -.25 +(mand substitution, process substitution and quote remo)144 256.8 R -.25 (va)-.15 G 3.768(l. Each).25 F F2(pattern)3.768 E F0 -.15(ex)3.768 G -1.269(amined is e).15 F(xpanded)-.15 E .353(using tilde e)144 285.6 R +1.268(amined is e).15 F(xpanded)-.15 E .353(using tilde e)144 268.8 R .353(xpansion, parameter and v)-.15 F .353(ariable e)-.25 F .353 -(xpansion, arithmetic substitution, command substi-)-.15 F 1.516 -(tution, and process substitution.)144 297.6 R 1.516 -(If the shell option)6.516 F F1(nocasematch)4.016 E F0 1.517 -(is enabled, the match is per)4.017 F(-)-.2 E 1.347(formed without re) -144 309.6 R -.05(ga)-.15 G 1.347 -(rd to the case of alphabetic characters.).05 F 1.346 -(When a match is found, the corre-)6.347 F(sponding)144 321.6 Q F2(list) -2.776 E F0 .277(is e)2.776 F -.15(xe)-.15 G 2.777(cuted. If).15 F(the) +(xpansion, arithmetic substitution, command substi-)-.15 F 1.517 +(tution, and process substitution.)144 280.8 R 1.517 +(If the shell option)6.517 F F1(nocasematch)4.016 E F0 1.516 +(is enabled, the match is per)4.016 F(-)-.2 E 1.346(formed without re) +144 292.8 R -.05(ga)-.15 G 1.346 +(rd to the case of alphabetic characters.).05 F 1.347 +(When a match is found, the corre-)6.347 F(sponding)144 304.8 Q F2(list) +2.777 E F0 .277(is e)2.777 F -.15(xe)-.15 G 2.777(cuted. If).15 F(the) 2.777 E F1(;;)2.777 E F0 .277 (operator is used, no subsequent matches are attempted after the)2.777 F -.849(\214rst pattern match.)144 333.6 R(Using)5.849 E F1(;&)3.349 E F0 +.848(\214rst pattern match.)144 316.8 R(Using)5.848 E F1(;&)3.348 E F0 .849(in place of)3.349 F F1(;;)3.349 E F0 .849(causes e)3.349 F -.15(xe) --.15 G .849(cution to continue with the).15 F F2(list)3.348 E F0 -(associated)3.348 E .077(with the ne)144 345.6 R .077 -(xt set of patterns.)-.15 F(Using)5.077 E F1(;;&)2.577 E F0 .078 -(in place of)2.577 F F1(;;)2.578 E F0 .078 -(causes the shell to test the ne)2.578 F .078(xt pattern list in)-.15 F -.227(the statement, if an)144 357.6 R 1.527 -.65(y, a)-.15 H .227(nd e) +-.15 G .849(cution to continue with the).15 F F2(list)3.349 E F0 +(associated)3.349 E .078(with the ne)144 328.8 R .078 +(xt set of patterns.)-.15 F(Using)5.078 E F1(;;&)2.578 E F0 .078 +(in place of)2.578 F F1(;;)2.578 E F0 .077 +(causes the shell to test the ne)2.578 F .077(xt pattern list in)-.15 F +.227(the statement, if an)144 340.8 R 1.527 -.65(y, a)-.15 H .227(nd e) .65 F -.15(xe)-.15 G .227(cute an).15 F 2.727(ya)-.15 G(ssociated)-2.727 E F2(list)2.727 E F0 .227(on a successful match.)2.727 F .227(The e) -5.227 F .227(xit status is zero)-.15 F(if no pattern matches.)144 369.6 +5.227 F .227(xit status is zero)-.15 F(if no pattern matches.)144 352.8 Q(Otherwise, it is the e)5 E(xit status of the last command e)-.15 E --.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E F0(.)A F1(if)108 386.4 Q F2 +-.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E F0(.)A F1(if)108 369.6 Q F2 (list)2.5 E F0(;)A F1(then)2.5 E F2(list;)2.5 E F0([)2.5 E F1(elif)2.5 E F2(list)2.5 E F0(;)A F1(then)2.5 E F2(list)2.5 E F0 2.5(;].)C(.. [)-2.5 -E F1(else)2.5 E F2(list)2.5 E F0 2.5(;])C F1<8c>A F0(The)144 398.4 Q F1 -(if)2.977 E F2(list)3.067 E F0 .478(is e)3.658 F -.15(xe)-.15 G 2.978 +E F1(else)2.5 E F2(list)2.5 E F0 2.5(;])C F1<8c>A F0(The)144 381.6 Q F1 +(if)2.978 E F2(list)3.068 E F0 .478(is e)3.658 F -.15(xe)-.15 G 2.978 (cuted. If).15 F .478(its e)2.978 F .478(xit status is zero, the)-.15 F F1(then)2.978 E F2(list)2.978 E F0 .478(is e)2.978 F -.15(xe)-.15 G -2.978(cuted. Otherwise,).15 F(each)2.978 E F1(elif)2.978 E F2(list)2.978 -E F0 1.088(is e)144 410.4 R -.15(xe)-.15 G 1.088 +2.978(cuted. Otherwise,).15 F(each)2.978 E F1(elif)2.977 E F2(list)2.977 +E F0 1.087(is e)144 393.6 R -.15(xe)-.15 G 1.087 (cuted in turn, and if its e).15 F 1.087 (xit status is zero, the corresponding)-.15 F F1(then)3.587 E F2(list) -3.587 E F0 1.087(is e)3.587 F -.15(xe)-.15 G 1.087(cuted and the).15 F -.103(command completes.)144 422.4 R .103(Otherwise, the)5.103 F F1(else) +3.587 E F0 1.088(is e)3.588 F -.15(xe)-.15 G 1.088(cuted and the).15 F +.104(command completes.)144 405.6 R .103(Otherwise, the)5.104 F F1(else) 2.603 E F2(list)2.603 E F0 .103(is e)2.603 F -.15(xe)-.15 G .103 (cuted, if present.).15 F .103(The e)5.103 F .103(xit status is the e) --.15 F .104(xit sta-)-.15 F(tus of the last command e)144 434.4 Q -.15 +-.15 F .103(xit sta-)-.15 F(tus of the last command e)144 417.6 Q -.15 (xe)-.15 G(cuted, or zero if no condition tested true.).15 E F1(while) -108 451.2 Q F2(list)2.5 E F0(;)A F1(do)2.5 E F2(list)2.5 E F0(;)A F1 -(done)2.5 E(until)108 463.2 Q F2(list)2.5 E F0(;)A F1(do)2.5 E F2(list) -2.5 E F0(;)A F1(done)2.5 E F0(The)144 475.2 Q F1(while)3.104 E F0 .603 -(command continuously e)3.104 F -.15(xe)-.15 G .603(cutes the).15 F F1 +108 434.4 Q F2(list)2.5 E F0(;)A F1(do)2.5 E F2(list)2.5 E F0(;)A F1 +(done)2.5 E(until)108 446.4 Q F2(list)2.5 E F0(;)A F1(do)2.5 E F2(list) +2.5 E F0(;)A F1(done)2.5 E F0(The)144 458.4 Q F1(while)3.103 E F0 .603 +(command continuously e)3.103 F -.15(xe)-.15 G .603(cutes the).15 F F1 (do)3.103 E F2(list)3.103 E F0 .603(as long as the last command in)3.103 -F F2(list)3.103 E F0(returns)3.103 E .47(an e)144 487.2 R .47 -(xit status of zero.)-.15 F(The)5.47 E F1(until)2.97 E F0 .471 -(command is identical to the)2.97 F F1(while)2.971 E F0 .471(command, e) -2.971 F .471(xcept that the test)-.15 F .096(is ne)144 499.2 R -.05(ga) --.15 G .096(ted; the).05 F F1(do)2.596 E F2(list)2.686 E F0 .095(is e) -3.276 F -.15(xe)-.15 G .095(cuted as long as the last command in).15 F -F2(list)2.685 E F0 .095(returns a non-zero e)3.275 F .095(xit status.) --.15 F 1.306(The e)144 511.2 R 1.306(xit status of the)-.15 F F1(while) -3.806 E F0(and)3.806 E F1(until)3.807 E F0 1.307(commands is the e)3.807 -F 1.307(xit status of the last)-.15 F F1(do)3.807 E F2(list)3.807 E F0 -(command)3.807 E -.15(exe)144 523.2 S(cuted, or zero if none w).15 E -(as e)-.1 E -.15(xe)-.15 G(cuted.).15 E F1(Copr)87 540 Q(ocesses)-.18 E -F0(A)108 552 Q F2(copr)3.713 E(ocess)-.45 E F0 1.213 -(is a shell command preceded by the)3.713 F F1(copr)3.712 E(oc)-.18 E F0 -(reserv)3.712 E 1.212(ed w)-.15 F 3.712(ord. A)-.1 F 1.212 -(coprocess is e)3.712 F -.15(xe)-.15 G 1.212(cuted asyn-).15 F .574(chr\ +F F2(list)3.104 E F0(returns)3.104 E .471(an e)144 470.4 R .471 +(xit status of zero.)-.15 F(The)5.471 E F1(until)2.971 E F0 .471 +(command is identical to the)2.971 F F1(while)2.97 E F0 .47(command, e) +2.97 F .47(xcept that the test)-.15 F .095(is ne)144 482.4 R -.05(ga) +-.15 G .095(ted; the).05 F F1(do)2.595 E F2(list)2.685 E F0 .095(is e) +3.275 F -.15(xe)-.15 G .095(cuted as long as the last command in).15 F +F2(list)2.685 E F0 .096(returns a non-zero e)3.276 F .096(xit status.) +-.15 F 1.307(The e)144 494.4 R 1.307(xit status of the)-.15 F F1(while) +3.807 E F0(and)3.807 E F1(until)3.807 E F0 1.307(commands is the e)3.807 +F 1.306(xit status of the last)-.15 F F1(do)3.806 E F2(list)3.806 E F0 +(command)3.806 E -.15(exe)144 506.4 S(cuted, or zero if none w).15 E +(as e)-.1 E -.15(xe)-.15 G(cuted.).15 E F1(Copr)87 523.2 Q(ocesses)-.18 +E F0(A)108 535.2 Q F2(copr)3.712 E(ocess)-.45 E F0 1.212 +(is a shell command preceded by the)3.712 F F1(copr)3.713 E(oc)-.18 E F0 +(reserv)3.713 E 1.213(ed w)-.15 F 3.713(ord. A)-.1 F 1.213 +(coprocess is e)3.713 F -.15(xe)-.15 G 1.213(cuted asyn-).15 F .575(chr\ onously in a subshell, as if the command had been terminated with the) -108 564 R F1(&)3.075 E F0 .575(control operator)3.075 F 3.075(,w)-.4 G -.575(ith a tw)-3.075 F(o-)-.1 E -.1(wa)108 576 S 2.5(yp).1 G +108 547.2 R F1(&)3.074 E F0 .574(control operator)3.074 F 3.074(,w)-.4 G +.574(ith a tw)-3.074 F(o-)-.1 E -.1(wa)108 559.2 S 2.5(yp).1 G (ipe established between the e)-2.5 E -.15(xe)-.15 G (cuting shell and the coprocess.).15 E(The format for a coprocess is:) -108 592.8 Q F1(copr)144 609.6 Q(oc)-.18 E F0([)2.5 E F2 -.27(NA)C(ME).27 -E F0(])A F2(command)2.5 E F0([)2.5 E F2 -.37(re)C(dir).37 E(ections)-.37 -E F0(])A .923(This creates a coprocess named)108 626.4 R F2 -.27(NA) -3.423 G(ME).27 E F0 5.923(.I)C(f)-5.923 E F2 -.27(NA)3.423 G(ME).27 E F0 -.922(is not supplied, the def)3.423 F .922(ault name is)-.1 F F2(COPR) -3.422 E(OC)-.4 E F0(.)A F2 -.27(NA)5.922 G(ME).27 E F0 .64 -(must not be supplied if)108 638.4 R F2(command)3.14 E F0 .64(is a)3.14 +108 576 Q F1(copr)144 592.8 Q(oc)-.18 E F0([)2.5 E F2 -.27(NA)C(ME).27 E +F0(])A F2(command)2.5 E F0([)2.5 E F2 -.37(re)C(dir).37 E(ections)-.37 E +F0(])A .922(This creates a coprocess named)108 609.6 R F2 -.27(NA)3.422 +G(ME).27 E F0 5.922(.I)C(f)-5.922 E F2 -.27(NA)3.422 G(ME).27 E F0 .923 +(is not supplied, the def)3.422 F .923(ault name is)-.1 F F2(COPR)3.423 +E(OC)-.4 E F0(.)A F2 -.27(NA)5.923 G(ME).27 E F0 .64 +(must not be supplied if)108 621.6 R F2(command)3.14 E F0 .64(is a)3.14 F F2 .64(simple command)3.14 F F0 .64(\(see abo)3.14 F -.15(ve)-.15 G .64(\); otherwise, it is interpreted as the \214rst).15 F -.1(wo)108 -650.4 S .163(rd of the simple command.).1 F .163(When the coproc is e) +633.6 S .163(rd of the simple command.).1 F .163(When the coproc is e) 5.163 F -.15(xe)-.15 G .163(cuted, the shell creates an array v).15 F -.163(ariable \(see)-.25 F F1(Arrays)2.662 E F0(belo)108 662.4 Q .511 -(w\) named)-.25 F F2 -.27(NA)3.011 G(ME).27 E F0 .511(in the conte)3.011 +.163(ariable \(see)-.25 F F1(Arrays)2.663 E F0(belo)108 645.6 Q .512 +(w\) named)-.25 F F2 -.27(NA)3.012 G(ME).27 E F0 .512(in the conte)3.012 F .511(xt of the e)-.15 F -.15(xe)-.15 G .511(cuting shell.).15 F .511 -(The standard output of)5.511 F F2(command)3.212 E F0 .512(is connected) -3.782 F .811(via a pipe to a \214le descriptor in the e)108 674.4 R -.15 -(xe)-.15 G .81(cuting shell, and that \214le descriptor is assigned to) -.15 F F2 -.27(NA)3.31 G(ME).27 E F0 3.31([0]. The)B .716 -(standard input of)108 686.4 R F2(command)3.416 E F0 .716 -(is connected via a pipe to a \214le descriptor in the e)3.986 F -.15 -(xe)-.15 G .717(cuting shell, and that \214le).15 F .703 -(descriptor is assigned to)108 698.4 R F2 -.27(NA)3.203 G(ME).27 E F0 -3.203([1]. This)B .703(pipe is established before an)3.203 F 3.202(yr) --.15 G .702(edirections speci\214ed by the com-)-3.202 F 1.183 -(mand \(see)108 710.4 R F3(REDIRECTION)3.683 E F0(belo)3.433 E 3.683 -(w\). The)-.25 F 1.183(\214le descriptors can be utilized as ar)3.683 F -1.184(guments to shell commands)-.18 F 1.982 -(and redirections using standard w)108 722.4 R 1.982(ord e)-.1 F 4.481 -(xpansions. The)-.15 F 1.981(process id of the shell spa)4.481 F 1.981 -(wned to e)-.15 F -.15(xe)-.15 G 1.981(cute the).15 F(GNU Bash-4.1)72 -768 Q(2009 December 23)135.965 E(6)190.955 E 0 Cg EP +(The standard output of)5.511 F F2(command)3.211 E F0 .511(is connected) +3.781 F .81(via a pipe to a \214le descriptor in the e)108 657.6 R -.15 +(xe)-.15 G .811(cuting shell, and that \214le descriptor is assigned to) +.15 F F2 -.27(NA)3.311 G(ME).27 E F0 3.311([0]. The)B .717 +(standard input of)108 669.6 R F2(command)3.417 E F0 .716 +(is connected via a pipe to a \214le descriptor in the e)3.987 F -.15 +(xe)-.15 G .716(cuting shell, and that \214le).15 F .702 +(descriptor is assigned to)108 681.6 R F2 -.27(NA)3.202 G(ME).27 E F0 +3.202([1]. This)B .703(pipe is established before an)3.203 F 3.203(yr) +-.15 G .703(edirections speci\214ed by the com-)-3.203 F 1.184 +(mand \(see)108 693.6 R F3(REDIRECTION)3.684 E F0(belo)3.434 E 3.684 +(w\). The)-.25 F 1.183(\214le descriptors can be utilized as ar)3.684 F +1.183(guments to shell commands)-.18 F .07 +(and redirections using standard w)108 705.6 R .07(ord e)-.1 F 2.57 +(xpansions. The)-.15 F .07(process id of the shell spa)2.57 F .07 +(wned to e)-.15 F -.15(xe)-.15 G .07(cute the copro-).15 F .632 +(cess is a)108 717.6 R -.25(va)-.2 G .631(ilable as the v).25 F .631 +(alue of the v)-.25 F(ariable)-.25 E F2 -.27(NA)3.131 G(ME).27 E F0 +3.131(_PID. The)B F1(wait)3.131 E F0 -.2(bu)3.131 G .631 +(iltin command may be used to w).2 F(ait)-.1 E +(for the coprocess to terminate.)108 729.6 Q(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(6)190.955 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .482(coprocess is a)108 84 R -.25(va)-.2 G .483(ilable as the v) -.25 F .483(alue of the v)-.25 F(ariable)-.25 E/F1 10/Times-Italic@0 SF --.27(NA)2.983 G(ME).27 E F0 2.983(_PID. The)B/F2 10/Times-Bold@0 SF -(wait)2.983 E F0 -.2(bu)2.983 G .483(iltin command may be used to).2 F --.1(wa)108 96 S(it for the coprocess to terminate.).1 E -(The return status of a coprocess is the e)108 112.8 Q(xit status of) --.15 E F1(command)2.5 E F0(.)A F2(Shell Function De\214nitions)87 129.6 -Q F0 2.698(As)108 141.6 S .198 -(hell function is an object that is called lik)-2.698 F 2.698(eas)-.1 G -.198(imple command and e)-2.698 F -.15(xe)-.15 G .197 -(cutes a compound command with).15 F 2.5(an)108 153.6 S .5 -.25(ew s) +-.35 E(The return status of a coprocess is the e)108 84 Q(xit status of) +-.15 E/F1 10/Times-Italic@0 SF(command)2.5 E F0(.)A/F2 10/Times-Bold@0 +SF(Shell Function De\214nitions)87 100.8 Q F0 2.697(As)108 112.8 S .198 +(hell function is an object that is called lik)-2.697 F 2.698(eas)-.1 G +.198(imple command and e)-2.698 F -.15(xe)-.15 G .198 +(cutes a compound command with).15 F 2.5(an)108 124.8 S .5 -.25(ew s) -2.5 H(et of positional parameters.).25 E -(Shell functions are declared as follo)5 E(ws:)-.25 E([)108 170.4 Q F2 +(Shell functions are declared as follo)5 E(ws:)-.25 E([)108 141.6 Q F2 (function)2.5 E F0(])2.5 E F1(name)2.5 E F0(\(\))2.5 E F1 (compound\255command)2.5 E F0([)2.5 E F1 -.37(re)C(dir).37 E(ection)-.37 -E F0(])A 1.402(This de\214nes a function named)144 182.4 R F1(name)3.902 +E F0(])A 1.403(This de\214nes a function named)144 153.6 R F1(name)3.902 E F0 6.402(.T)C 1.402(he reserv)-6.402 F 1.402(ed w)-.15 F(ord)-.1 E F2 -(function)3.902 E F0 1.402(is optional.)3.902 F 1.403(If the)6.402 F F2 -(function)3.903 E F0(reserv)144 194.4 Q .162(ed w)-.15 F .162 +(function)3.902 E F0 1.402(is optional.)3.902 F 1.402(If the)6.402 F F2 +(function)3.902 E F0(reserv)144 165.6 Q .162(ed w)-.15 F .162 (ord is supplied, the parentheses are optional.)-.1 F(The)5.162 E F1 (body)2.662 E F0 .162(of the function is the compound)2.662 F(command) -144 206.4 Q F1(compound\255command)2.784 E F0(\(see)3.354 E F2 .084 +144 177.6 Q F1(compound\255command)2.784 E F0(\(see)3.354 E F2 .084 (Compound Commands)2.584 F F0(abo)2.584 E -.15(ve)-.15 G 2.584(\). That) -.15 F .084(command is usually a)2.584 F F1(list)144 218.4 Q F0 .044 +.15 F .084(command is usually a)2.584 F F1(list)144 189.6 Q F0 .044 (of commands between { and }, b)2.544 F .044(ut may be an)-.2 F 2.544 (yc)-.15 G .044(ommand listed under)-2.544 F F2 .044(Compound Commands) -2.544 F F0(abo)144 230.4 Q -.15(ve)-.15 G(.).15 E F1 -(compound\255command)6.67 E F0 1.67(is e)4.17 F -.15(xe)-.15 G 1.671 +2.544 F F0(abo)144 201.6 Q -.15(ve)-.15 G(.).15 E F1 +(compound\255command)6.671 E F0 1.671(is e)4.171 F -.15(xe)-.15 G 1.671 (cuted whene).15 F -.15(ve)-.25 G(r).15 E F1(name)4.171 E F0 1.671 -(is speci\214ed as the name of a simple)4.171 F 3.009(command. An)144 -242.4 R 3.009(yr)-.15 G .509(edirections \(see)-3.009 F/F3 9 +(is speci\214ed as the name of a simple)4.171 F 3.008(command. An)144 +213.6 R 3.009(yr)-.15 G .509(edirections \(see)-3.009 F/F3 9 /Times-Bold@0 SF(REDIRECTION)3.009 E F0(belo)2.759 E .509 -(w\) speci\214ed when a function is de\214ned are)-.25 F .58 -(performed when the function is e)144 254.4 R -.15(xe)-.15 G 3.08 -(cuted. The).15 F -.15(ex)3.081 G .581 +(w\) speci\214ed when a function is de\214ned are)-.25 F .581 +(performed when the function is e)144 225.6 R -.15(xe)-.15 G 3.081 +(cuted. The).15 F -.15(ex)3.081 G .58 (it status of a function de\214nition is zero unless a).15 F .177(synta\ x error occurs or a readonly function with the same name already e)144 -266.4 R 2.677(xists. When)-.15 F -.15(exe)2.677 G .177(cuted, the).15 F --.15(ex)144 278.4 S .64(it status of a function is the e).15 F .64 +237.6 R 2.678(xists. When)-.15 F -.15(exe)2.678 G .178(cuted, the).15 F +-.15(ex)144 249.6 S .64(it status of a function is the e).15 F .64 (xit status of the last command e)-.15 F -.15(xe)-.15 G .64 (cuted in the body).15 F 5.64(.\()-.65 G(See)-5.64 E F3(FUNC-)3.14 E -(TIONS)144 290.4 Q F0(belo)2.25 E -.65(w.)-.25 G(\)).65 E/F4 10.95 -/Times-Bold@0 SF(COMMENTS)72 307.2 Q F0 .982(In a non-interacti)108 -319.2 R 1.282 -.15(ve s)-.25 H .982(hell, or an interacti).15 F 1.282 +(TIONS)144 261.6 Q F0(belo)2.25 E -.65(w.)-.25 G(\)).65 E/F4 10.95 +/Times-Bold@0 SF(COMMENTS)72 278.4 Q F0 .982(In a non-interacti)108 +290.4 R 1.282 -.15(ve s)-.25 H .982(hell, or an interacti).15 F 1.282 -.15(ve s)-.25 H .982(hell in which the).15 F F2(interacti)3.482 E -.1 (ve)-.1 G(_comments).1 E F0 .982(option to the)3.482 F F2(shopt)3.482 E -F0 -.2(bu)108 331.2 S .951(iltin is enabled \(see).2 F F3 .952(SHELL B) -3.451 F(UIL)-.09 E .952(TIN COMMANDS)-.828 F F0(belo)3.202 E .952 -(w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F2(#)3.452 E -F0 .952(causes that w)3.452 F(ord)-.1 E .605 -(and all remaining characters on that line to be ignored.)108 343.2 R -.604(An interacti)5.605 F .904 -.15(ve s)-.25 H .604(hell without the) -.15 F F2(interacti)3.104 E -.1(ve)-.1 G(_com-).1 E(ments)108 355.2 Q F0 -1.336(option enabled does not allo)3.836 F 3.836(wc)-.25 G 3.836 -(omments. The)-3.836 F F2(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E -F0 1.337(option is on by def)3.837 F 1.337(ault in)-.1 F(interacti)108 -367.2 Q .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 384 S -.438(OT) -.11 G(ING).438 E F1(Quoting)108 396 Q F0 .478(is used to remo)2.978 F +F0 -.2(bu)108 302.4 S .952(iltin is enabled \(see).2 F F3 .952(SHELL B) +3.452 F(UIL)-.09 E .952(TIN COMMANDS)-.828 F F0(belo)3.202 E .952 +(w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F2(#)3.451 E +F0 .951(causes that w)3.451 F(ord)-.1 E .604 +(and all remaining characters on that line to be ignored.)108 314.4 R +.605(An interacti)5.605 F .905 -.15(ve s)-.25 H .605(hell without the) +.15 F F2(interacti)3.105 E -.1(ve)-.1 G(_com-).1 E(ments)108 326.4 Q F0 +1.337(option enabled does not allo)3.837 F 3.837(wc)-.25 G 3.836 +(omments. The)-3.837 F F2(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(interacti)108 +338.4 Q .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 355.2 S -.438(OT) +.11 G(ING).438 E F1(Quoting)108 367.2 Q F0 .477(is used to remo)2.977 F .777 -.15(ve t)-.15 H .477 (he special meaning of certain characters or w).15 F .477 -(ords to the shell.)-.1 F .477(Quoting can be)5.477 F .184 +(ords to the shell.)-.1 F .478(Quoting can be)5.478 F .185 (used to disable special treatment for special characters, to pre)108 -408 R -.15(ve)-.25 G .185(nt reserv).15 F .185(ed w)-.15 F .185 -(ords from being recognized as)-.1 F(such, and to pre)108 420 Q -.15(ve) --.25 G(nt parameter e).15 E(xpansion.)-.15 E .289(Each of the)108 436.8 -R F1(metac)2.789 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288(listed abo) -2.789 F .588 -.15(ve u)-.15 H(nder).15 E F3(DEFINITIONS)2.788 E F0 .288 -(has special meaning to the shell and must be)2.538 F -(quoted if it is to represent itself.)108 448.8 Q 1.344 -(When the command history e)108 465.6 R 1.344(xpansion f)-.15 F 1.344 +379.2 R -.15(ve)-.25 G .185(nt reserv).15 F .184(ed w)-.15 F .184 +(ords from being recognized as)-.1 F(such, and to pre)108 391.2 Q -.15 +(ve)-.25 G(nt parameter e).15 E(xpansion.)-.15 E .288(Each of the)108 +408 R F1(metac)2.788 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288 +(listed abo)2.788 F .588 -.15(ve u)-.15 H(nder).15 E F3(DEFINITIONS) +2.788 E F0 .288(has special meaning to the shell and must be)2.538 F +(quoted if it is to represent itself.)108 420 Q 1.345 +(When the command history e)108 436.8 R 1.344(xpansion f)-.15 F 1.344 (acilities are being used \(see)-.1 F F3(HIST)3.844 E(OR)-.162 E 3.594 -(YE)-.315 G(XP)-3.594 E(ANSION)-.666 E F0(belo)3.595 E 1.345(w\), the) --.25 F F1(history e)108 477.6 Q(xpansion)-.2 E F0(character)2.5 E 2.5 +(YE)-.315 G(XP)-3.594 E(ANSION)-.666 E F0(belo)3.594 E 1.344(w\), the) +-.25 F F1(history e)108 448.8 Q(xpansion)-.2 E F0(character)2.5 E 2.5 (,u)-.4 G(sually)-2.5 E F2(!)2.5 E F0 2.5(,m)C(ust be quoted to pre)-2.5 E -.15(ve)-.25 G(nt history e).15 E(xpansion.)-.15 E -(There are three quoting mechanisms: the)108 494.4 Q F1(escape c)2.5 E +(There are three quoting mechanisms: the)108 465.6 Q F1(escape c)2.5 E (har)-.15 E(acter)-.15 E F0 2.5(,s).73 G -(ingle quotes, and double quotes.)-2.5 E 2.975(An)108 511.2 S .475 -(on-quoted backslash \()-2.975 F F2(\\)A F0 2.974(\)i)C 2.974(st)-2.974 +(ingle quotes, and double quotes.)-2.5 E 2.974(An)108 482.4 S .474 +(on-quoted backslash \()-2.974 F F2(\\)A F0 2.974(\)i)C 2.974(st)-2.974 G(he)-2.974 E F1 .474(escape c)2.974 F(har)-.15 E(acter)-.15 E F0 5.474 (.I).73 G 2.974(tp)-5.474 G(reserv)-2.974 E .474(es the literal v)-.15 F -.474(alue of the ne)-.25 F .474(xt character that)-.15 F(follo)108 523.2 -Q 1.553(ws, with the e)-.25 F 1.553(xception of <ne)-.15 F 4.053 +.474(alue of the ne)-.25 F .475(xt character that)-.15 F(follo)108 494.4 +Q 1.554(ws, with the e)-.25 F 1.553(xception of <ne)-.15 F 4.053 (wline>. If)-.25 F(a)4.053 E F2(\\)4.053 E F0(<ne)A 1.553 -(wline> pair appears, and the backslash is not itself)-.25 F 1.123 -(quoted, the)108 535.2 R F2(\\)3.623 E F0(<ne)A 1.122 +(wline> pair appears, and the backslash is not itself)-.25 F 1.122 +(quoted, the)108 506.4 R F2(\\)3.622 E F0(<ne)A 1.122 (wline> is treated as a line continuation \(that is, it is remo)-.25 F --.15(ve)-.15 G 3.622(df).15 G 1.122(rom the input stream and)-3.622 F -(ef)108 547.2 Q(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E .295 -(Enclosing characters in single quotes preserv)108 564 R .295 +-.15(ve)-.15 G 3.622(df).15 G 1.123(rom the input stream and)-3.622 F +(ef)108 518.4 Q(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E .295 +(Enclosing characters in single quotes preserv)108 535.2 R .295 (es the literal v)-.15 F .295(alue of each character within the quotes.) -.25 F 2.795(As)5.295 G(in-)-2.795 E -(gle quote may not occur between single quotes, e)108 576 Q -.15(ve)-.25 -G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .034 -(Enclosing characters in double quotes preserv)108 592.8 R .034 +(gle quote may not occur between single quotes, e)108 547.2 Q -.15(ve) +-.25 G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .033 +(Enclosing characters in double quotes preserv)108 564 R .034 (es the literal v)-.15 F .034 (alue of all characters within the quotes, with the)-.25 F -.15(ex)108 -604.8 S .827(ception of).15 F F2($)3.327 E F0(,)A F2<92>3.328 E F0(,)A -F2(\\)3.328 E F0 3.328(,a)C .828(nd, when history e)-3.328 F .828 +576 S .828(ception of).15 F F2($)3.328 E F0(,)A F2<92>3.328 E F0(,)A F2 +(\\)3.328 E F0 3.328(,a)C .828(nd, when history e)-3.328 F .828 (xpansion is enabled,)-.15 F F2(!)3.328 E F0 5.828(.T)C .828 (he characters)-5.828 F F2($)3.328 E F0(and)3.328 E F2<92>3.328 E F0 -.828(retain their special)3.328 F .075(meaning within double quotes.)108 -616.8 R .074(The backslash retains its special meaning only when follo) -5.075 F .074(wed by one of the)-.25 F(follo)108 628.8 Q .204 -(wing characters:)-.25 F F2($)2.704 E F0(,)A F2<92>2.704 E F0(,)A F2(") -3.537 E F0(,).833 E F2(\\)2.704 E F0 2.704(,o)C(r)-2.704 E F2(<newline>) -2.705 E F0 5.205(.A)C .205 -(double quote may be quoted within double quotes by pre-)-2.5 F .082 -(ceding it with a backslash.)108 640.8 R .082(If enabled, history e) -5.082 F .082(xpansion will be performed unless an)-.15 F F2(!)2.581 E F0 -.081(appearing in double)5.081 F(quotes is escaped using a backslash.) -108 652.8 Q(The backslash preceding the)5 E F2(!)2.5 E F0(is not remo)5 -E -.15(ve)-.15 G(d.).15 E(The special parameters)108 669.6 Q F2(*)2.5 E -F0(and)2.5 E F2(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H +.827(retain their special)3.328 F .074(meaning within double quotes.)108 +588 R .074(The backslash retains its special meaning only when follo) +5.074 F .075(wed by one of the)-.25 F(follo)108 600 Q .205 +(wing characters:)-.25 F F2($)2.705 E F0(,)A F2<92>2.705 E F0(,)A F2(") +3.538 E F0(,).833 E F2(\\)2.705 E F0 2.705(,o)C(r)-2.705 E F2(<newline>) +2.705 E F0 5.205(.A)C .204 +(double quote may be quoted within double quotes by pre-)-2.5 F .081 +(ceding it with a backslash.)108 612 R .082(If enabled, history e)5.082 +F .082(xpansion will be performed unless an)-.15 F F2(!)2.582 E F0 .082 +(appearing in double)5.082 F(quotes is escaped using a backslash.)108 +624 Q(The backslash preceding the)5 E F2(!)2.5 E F0(is not remo)5 E -.15 +(ve)-.15 G(d.).15 E(The special parameters)108 640.8 Q F2(*)2.5 E F0 +(and)2.5 E F2(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H (pecial meaning when in double quotes \(see).15 E F3 -.666(PA)2.5 G -(RAMETERS).666 E F0(belo)2.25 E(w\).)-.25 E -.8(Wo)108 686.4 S .211 -(rds of the form).8 F F2($)2.711 E F0<08>A F1(string)A F0 2.711<0861>C -.211(re treated specially)-2.711 F 5.211(.T)-.65 G .211(he w)-5.211 F -.211(ord e)-.1 F .212(xpands to)-.15 F F1(string)2.712 E F0 2.712(,w)C -.212(ith backslash-escaped char)-2.712 F(-)-.2 E .605 -(acters replaced as speci\214ed by the ANSI C standard.)108 698.4 R .604 +(RAMETERS).666 E F0(belo)2.25 E(w\).)-.25 E -.8(Wo)108 657.6 S .212 +(rds of the form).8 F F2($)2.712 E F0<08>A F1(string)A F0 2.712<0861>C +.211(re treated specially)-2.712 F 5.211(.T)-.65 G .211(he w)-5.211 F +.211(ord e)-.1 F .211(xpands to)-.15 F F1(string)2.711 E F0 2.711(,w)C +.211(ith backslash-escaped char)-2.711 F(-)-.2 E .604 +(acters replaced as speci\214ed by the ANSI C standard.)108 669.6 R .605 (Backslash escape sequences, if present, are decoded)5.605 F(as follo) -108 710.4 Q(ws:)-.25 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E -(7)190.955 E 0 Cg EP +108 681.6 Q(ws:)-.25 E F2(\\a)144 693.6 Q F0(alert \(bell\))28.22 E F2 +(\\b)144 705.6 Q F0(backspace)27.66 E F2(\\e)144 717.6 Q F0 +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(7)190.955 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(\\a)144 84 Q F0(alert \(bell\))28.22 E F1 -(\\b)144 96 Q F0(backspace)27.66 E F1(\\e)144 108 Q F0 -(an escape character)28.78 E F1(\\f)144 120 Q F0(form feed)29.89 E F1 -(\\n)144 132 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 144 Q -F0(carriage return)28.78 E F1(\\t)144 156 Q F0(horizontal tab)29.89 E F1 -(\\v)144 168 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\\\)144 180 Q F0 -(backslash)30.44 E F1<5c08>144 192 Q F0(single quote)30.44 E F1(\\)144 -204 Q/F2 10/Times-Italic@0 SF(nnn)A F0(the eight-bit character whose v) -18.22 E(alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0 -(\(one to three digits\))2.5 E F1(\\x)144 216 Q F2(HH)A F0 -(the eight-bit character whose v)13.78 E(alue is the he)-.25 E -(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh) --.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\c)144 228 Q F2(x)A F0 2.5 -(ac)24.34 G(ontrol-)-2.5 E F2(x)A F0(character)2.5 E(The e)108 244.8 Q(\ -xpanded result is single-quoted, as if the dollar sign had not been pre\ -sent.)-.15 E 2.64(Ad)108 261.6 S .14 +-.35 E/F1 10/Times-Bold@0 SF(\\E)144 84 Q F0(an escape character)26.55 E +F1(\\f)144 96 Q F0(form feed)29.89 E F1(\\n)144 108 Q F0(ne)27.66 E 2.5 +(wl)-.25 G(ine)-2.5 E F1(\\r)144 120 Q F0(carriage return)28.78 E F1 +(\\t)144 132 Q F0(horizontal tab)29.89 E F1(\\v)144 144 Q F0 -.15(ve) +28.22 G(rtical tab).15 E F1(\\\\)144 156 Q F0(backslash)30.44 E F1<5c08> +144 168 Q F0(single quote)30.44 E F1(\\")144 180 Q F0(double quote)27.67 +E F1(\\)144 192 Q/F2 10/Times-Italic@0 SF(nnn)A F0 +(the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E +(alue)-.25 E F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)144 +204 Q F2(HH)A F0(the eight-bit character whose v)13.78 E(alue is the he) +-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E +2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\c)144 216 Q F2(x)A +F0 2.5(ac)24.34 G(ontrol-)-2.5 E F2(x)A F0(character)2.5 E(The e)108 +232.8 Q(xpanded result is single-quoted, as if the dollar sign had not \ +been present.)-.15 E 2.64(Ad)108 249.6 S .14 (ouble-quoted string preceded by a dollar sign \()-2.64 F F1($)A F0(")A F2(string)A F0 .14("\) will cause the string to be translated according) -B .496(to the current locale.)108 273.6 R .495(If the current locale is) -5.496 F F1(C)2.995 E F0(or)2.995 E F1(POSIX)2.995 E F0 2.995(,t)C .495 -(he dollar sign is ignored.)-2.995 F .495(If the string is trans-)5.495 -F(lated and replaced, the replacement is double-quoted.)108 285.6 Q/F3 -10.95/Times-Bold@0 SF -.81(PA)72 302.4 S(RAMETERS).81 E F0(A)108 314.4 Q -F2(par)4.592 E(ameter)-.15 E F0 .842(is an entity that stores v)4.072 F -3.342(alues. It)-.25 F .842(can be a)3.342 F F2(name)3.343 E F0 3.343 -(,an).18 G(umber)-3.343 E 3.343(,o)-.4 G 3.343(ro)-3.343 G .843 -(ne of the special characters)-3.343 F .823(listed belo)108 326.4 R +B .495(to the current locale.)108 261.6 R .495(If the current locale is) +5.495 F F1(C)2.995 E F0(or)2.995 E F1(POSIX)2.995 E F0 2.995(,t)C .495 +(he dollar sign is ignored.)-2.995 F .496(If the string is trans-)5.496 +F(lated and replaced, the replacement is double-quoted.)108 273.6 Q/F3 +10.95/Times-Bold@0 SF -.81(PA)72 290.4 S(RAMETERS).81 E F0(A)108 302.4 Q +F2(par)4.593 E(ameter)-.15 E F0 .843(is an entity that stores v)4.073 F +3.343(alues. It)-.25 F .843(can be a)3.343 F F2(name)3.342 E F0 3.342 +(,an).18 G(umber)-3.342 E 3.342(,o)-.4 G 3.342(ro)-3.342 G .842 +(ne of the special characters)-3.342 F .822(listed belo)108 314.4 R 3.323(wu)-.25 G(nder)-3.323 E F1 .823(Special P)3.323 F(arameters)-.1 E F0 5.823(.A)C F2(variable)-2.21 E F0 .823(is a parameter denoted by a) 3.503 F F2(name)3.323 E F0 5.823(.A).18 G -.25(va)-2.5 G .823 -(riable has a).25 F F2(value)108 338.4 Q F0 .368(and zero or more)2.868 -F F2(attrib)2.868 E(utes)-.2 E F0 5.369(.A)C(ttrib)-5.369 E .369 -(utes are assigned using the)-.2 F F1(declar)2.869 E(e)-.18 E F0 -.2(bu) -2.869 G .369(iltin command \(see).2 F F1(declar)2.869 E(e)-.18 E F0 -(belo)108 350.4 Q 2.5(wi)-.25 G(n)-2.5 E/F4 9/Times-Bold@0 SF(SHELL B) +(riable has a).25 F F2(value)108 326.4 Q F0 .369(and zero or more)2.869 +F F2(attrib)2.869 E(utes)-.2 E F0 5.369(.A)C(ttrib)-5.369 E .369 +(utes are assigned using the)-.2 F F1(declar)2.868 E(e)-.18 E F0 -.2(bu) +2.868 G .368(iltin command \(see).2 F F1(declar)2.868 E(e)-.18 E F0 +(belo)108 338.4 Q 2.5(wi)-.25 G(n)-2.5 E/F4 9/Times-Bold@0 SF(SHELL B) 2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E/F5 9/Times-Roman@0 SF(\).)A F0 -2.755(Ap)108 367.2 S .255(arameter is set if it has been assigned a v) --2.755 F 2.754(alue. The)-.25 F .254(null string is a v)2.754 F .254 -(alid v)-.25 F 2.754(alue. Once)-.25 F 2.754(av)2.754 G .254 -(ariable is set, it)-3.004 F(may be unset only by using the)108 379.2 Q +2.754(Ap)108 355.2 S .254(arameter is set if it has been assigned a v) +-2.754 F 2.754(alue. The)-.25 F .254(null string is a v)2.754 F .255 +(alid v)-.25 F 2.755(alue. Once)-.25 F 2.755(av)2.755 G .255 +(ariable is set, it)-3.005 F(may be unset only by using the)108 367.2 Q F1(unset)2.5 E F0 -.2(bu)2.5 G(iltin command \(see).2 E F4(SHELL B)2.5 E -(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 396 Q +(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 384 Q F2(variable)2.79 E F0(may be assigned to by a statement of the form)2.68 -E F2(name)144 412.8 Q F0(=[)A F2(value)A F0(])A(If)108 429.6 Q F2(value) -3.022 E F0 .232(is not gi)2.912 F -.15(ve)-.25 G .232(n, the v).15 F -.232(ariable is assigned the null string.)-.25 F(All)5.233 E F2(values) -3.023 E F0(under)3.003 E .233(go tilde e)-.18 F .233 -(xpansion, parameter)-.15 F .515(and v)108 441.6 R .515(ariable e)-.25 F +E F2(name)144 400.8 Q F0(=[)A F2(value)A F0(])A(If)108 417.6 Q F2(value) +3.023 E F0 .233(is not gi)2.913 F -.15(ve)-.25 G .233(n, the v).15 F +.232(ariable is assigned the null string.)-.25 F(All)5.232 E F2(values) +3.022 E F0(under)3.002 E .232(go tilde e)-.18 F .232 +(xpansion, parameter)-.15 F .515(and v)108 429.6 R .515(ariable e)-.25 F .515(xpansion, command substitution, arithmetic e)-.15 F .515 (xpansion, and quote remo)-.15 F -.25(va)-.15 G 3.015(l\().25 G(see) --3.015 E F4(EXP)3.015 E(ANSION)-.666 E F0(belo)108 453.6 Q 2.698 -(w\). If)-.25 F .198(the v)2.698 F .198(ariable has its)-.25 F F1 +-3.015 E F4(EXP)3.015 E(ANSION)-.666 E F0(belo)108 441.6 Q 2.699 +(w\). If)-.25 F .199(the v)2.699 F .199(ariable has its)-.25 F F1 (integer)2.698 E F0(attrib)2.698 E .198(ute set, then)-.2 F F2(value) -2.988 E F0 .198(is e)2.878 F -.25(va)-.25 G .199 -(luated as an arithmetic e).25 F .199(xpression e)-.15 F -.15(ve)-.25 G -(n).15 E .902(if the $\(\(...\)\) e)108 465.6 R .902 +2.988 E F0 .198(is e)2.878 F -.25(va)-.25 G .198 +(luated as an arithmetic e).25 F .198(xpression e)-.15 F -.15(ve)-.25 G +(n).15 E .901(if the $\(\(...\)\) e)108 453.6 R .901 (xpansion is not used \(see)-.15 F F1 .901(Arithmetic Expansion)3.401 F -F0(belo)3.401 E 3.401(w\). W)-.25 F .901 -(ord splitting is not performed,)-.8 F 1.178(with the e)108 477.6 R -1.178(xception of)-.15 F F1("$@")3.678 E F0 1.178(as e)3.678 F 1.179 -(xplained belo)-.15 F 3.679(wu)-.25 G(nder)-3.679 E F1 1.179(Special P) -3.679 F(arameters)-.1 E F0 6.179(.P)C 1.179(athname e)-6.329 F 1.179 -(xpansion is not)-.15 F 3.649(performed. Assignment)108 489.6 R 1.149 -(statements may also appear as ar)3.649 F 1.148(guments to the)-.18 F F1 -(alias)3.648 E F0(,)A F1(declar)3.648 E(e)-.18 E F0(,)A F1(typeset)3.648 -E F0(,)A F1(export)3.648 E F0(,)A F1 -.18(re)108 501.6 S(adonly).18 E F0 +F0(belo)3.401 E 3.402(w\). W)-.25 F .902 +(ord splitting is not performed,)-.8 F 1.179(with the e)108 465.6 R +1.179(xception of)-.15 F F1("$@")3.679 E F0 1.179(as e)3.679 F 1.179 +(xplained belo)-.15 F 3.679(wu)-.25 G(nder)-3.679 E F1 1.178(Special P) +3.678 F(arameters)-.1 E F0 6.178(.P)C 1.178(athname e)-6.328 F 1.178 +(xpansion is not)-.15 F 3.648(performed. Assignment)108 477.6 R 1.148 +(statements may also appear as ar)3.648 F 1.149(guments to the)-.18 F F1 +(alias)3.649 E F0(,)A F1(declar)3.649 E(e)-.18 E F0(,)A F1(typeset)3.649 +E F0(,)A F1(export)3.649 E F0(,)A F1 -.18(re)108 489.6 S(adonly).18 E F0 2.5(,a)C(nd)-2.5 E F1(local)2.5 E F0 -.2(bu)2.5 G(iltin commands.).2 E -.376(In the conte)108 518.4 R .376 +.377(In the conte)108 506.4 R .377 (xt where an assignment statement is assigning a v)-.15 F .376 -(alue to a shell v)-.25 F .377(ariable or array inde)-.25 F .377 +(alue to a shell v)-.25 F .376(ariable or array inde)-.25 F .376 (x, the +=)-.15 F .257 -(operator can be used to append to or add to the v)108 530.4 R(ariable') +(operator can be used to append to or add to the v)108 518.4 R(ariable') -.25 E 2.757(sp)-.55 G(re)-2.757 E .257(vious v)-.25 F 2.757(alue. When) --.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .372 -(for which the inte)108 542.4 R .372(ger attrib)-.15 F .372 +-.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .373 +(for which the inte)108 530.4 R .373(ger attrib)-.15 F .372 (ute has been set,)-.2 F F2(value)2.872 E F0 .372(is e)2.872 F -.25(va) --.25 G .372(luated as an arithmetic e).25 F .373 -(xpression and added to the)-.15 F -.25(va)108 554.4 S(riable').25 E -2.889(sc)-.55 G .389(urrent v)-2.889 F .389(alue, which is also e)-.25 F +-.25 G .372(luated as an arithmetic e).25 F .372 +(xpression and added to the)-.15 F -.25(va)108 542.4 S(riable').25 E +2.888(sc)-.55 G .388(urrent v)-2.888 F .388(alue, which is also e)-.25 F -.25(va)-.25 G 2.889(luated. When).25 F .389 -(+= is applied to an array v)2.889 F .388(ariable using compound)-.25 F -.185(assignment \(see)108 566.4 R F1(Arrays)2.685 E F0(belo)2.685 E .185 +(+= is applied to an array v)2.889 F .389(ariable using compound)-.25 F +.186(assignment \(see)108 554.4 R F1(Arrays)2.686 E F0(belo)2.686 E .186 (w\), the v)-.25 F(ariable')-.25 E 2.685(sv)-.55 G .185 -(alue is not unset \(as it is when using =\), and ne)-2.935 F 2.686(wv) --.25 G .186(alues are)-2.936 F 1.385(appended to the array be)108 578.4 -R 1.384(ginning at one greater than the array')-.15 F 3.884(sm)-.55 G -1.384(aximum inde)-3.884 F 3.884(x\()-.15 G 1.384(for inde)-3.884 F -.15 -(xe)-.15 G 3.884(da).15 G 1.384(rrays\) or)-3.884 F .122 -(added as additional k)108 590.4 R -.15(ey)-.1 G<ad76>.15 E .122 +(alue is not unset \(as it is when using =\), and ne)-2.935 F 2.685(wv) +-.25 G .185(alues are)-2.935 F 1.384(appended to the array be)108 566.4 +R 1.384(ginning at one greater than the array')-.15 F 3.885(sm)-.55 G +1.385(aximum inde)-3.885 F 3.885(x\()-.15 G 1.385(for inde)-3.885 F -.15 +(xe)-.15 G 3.885(da).15 G 1.385(rrays\) or)-3.885 F .123 +(added as additional k)108 578.4 R -.15(ey)-.1 G<ad76>.15 E .123 (alue pairs in an associati)-.25 F .423 -.15(ve a)-.25 H(rray).15 E -5.123(.W)-.65 G .123(hen applied to a string-v)-5.123 F .123(alued v) --.25 F(ariable,)-.25 E F2(value)2.623 E F0(is e)108 602.4 Q +5.123(.W)-.65 G .122(hen applied to a string-v)-5.123 F .122(alued v) +-.25 F(ariable,)-.25 E F2(value)2.622 E F0(is e)108 590.4 Q (xpanded and appended to the v)-.15 E(ariable')-.25 E 2.5(sv)-.55 G -(alue.)-2.75 E F1 -.2(Po)87 619.2 S(sitional P).2 E(arameters)-.1 E F0 -(A)108 631.2 Q F2 .706(positional par)4.456 F(ameter)-.15 E F0 .706(is \ +(alue.)-2.75 E F1 -.2(Po)87 607.2 S(sitional P).2 E(arameters)-.1 E F0 +(A)108 619.2 Q F2 .705(positional par)4.455 F(ameter)-.15 E F0 .706(is \ a parameter denoted by one or more digits, other than the single digit \ -0.)3.936 F(Posi-)5.705 E .444 -(tional parameters are assigned from the shell')108 643.2 R 2.944(sa) +0.)3.935 F(Posi-)5.706 E .445 +(tional parameters are assigned from the shell')108 631.2 R 2.944(sa) -.55 G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo)-.4 G -.1 -(ke).2 G .445(d, and may be reassigned using).1 F(the)108 655.2 Q F1 -(set)3.334 E F0 -.2(bu)3.334 G .834(iltin command.).2 F .833(Positional\ - parameters may not be assigned to with assignment statements.)5.834 F -(The)5.833 E .334(positional parameters are temporarily replaced when a\ - shell function is e)108 667.2 R -.15(xe)-.15 G .334(cuted \(see).15 F -F4(FUNCTIONS)2.834 E F0(belo)2.584 E(w\).)-.25 E 1.404(When a positiona\ -l parameter consisting of more than a single digit is e)108 684 R 1.403 -(xpanded, it must be enclosed in)-.15 F(braces \(see)108 696 Q F4(EXP) -2.5 E(ANSION)-.666 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(8)190.955 E 0 Cg EP +(ke).2 G .444(d, and may be reassigned using).1 F(the)108 643.2 Q F1 +(set)3.333 E F0 -.2(bu)3.333 G .833(iltin command.).2 F .834(Positional\ + parameters may not be assigned to with assignment statements.)5.833 F +(The)5.834 E .334(positional parameters are temporarily replaced when a\ + shell function is e)108 655.2 R -.15(xe)-.15 G .333(cuted \(see).15 F +F4(FUNCTIONS)2.833 E F0(belo)2.583 E(w\).)-.25 E 1.403(When a positiona\ +l parameter consisting of more than a single digit is e)108 672 R 1.404 +(xpanded, it must be enclosed in)-.15 F(braces \(see)108 684 Q F4(EXP) +2.5 E(ANSION)-.666 E F0(belo)2.25 E(w\).)-.25 E F1(Special P)87 700.8 Q +(arameters)-.1 E F0 1.675(The shell treats se)108 712.8 R -.15(ve)-.25 G +1.675(ral parameters specially).15 F 6.675(.T)-.65 G 1.674 +(hese parameters may only be referenced; assignment to)-6.675 F +(them is not allo)108 724.8 Q(wed.)-.25 E(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(8)190.955 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(Special P)87 84 Q(arameters)-.1 E F0 1.674 -(The shell treats se)108 96 R -.15(ve)-.25 G 1.674 -(ral parameters specially).15 F 6.675(.T)-.65 G 1.675 -(hese parameters may only be referenced; assignment to)-6.675 F -(them is not allo)108 108 Q(wed.)-.25 E F1(*)108 120 Q F0 .606 -(Expands to the positional parameters, starting from one.)31 F .605 -(When the e)5.605 F .605(xpansion occurs within dou-)-.15 F .083 -(ble quotes, it e)144 132 R .084(xpands to a single w)-.15 F .084 +-.35 E/F1 10/Times-Bold@0 SF(*)108 84 Q F0 .605 +(Expands to the positional parameters, starting from one.)31 F .606 +(When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .084 +(ble quotes, it e)144 96 R .084(xpands to a single w)-.15 F .084 (ord with the v)-.1 F .084 (alue of each parameter separated by the \214rst char)-.25 F(-)-.2 E -.004(acter of the)144 144 R/F2 9/Times-Bold@0 SF(IFS)2.503 E F0 .003 +.003(acter of the)144 108 R/F2 9/Times-Bold@0 SF(IFS)2.503 E F0 .003 (special v)2.253 F 2.503(ariable. That)-.25 F .003(is, ")2.503 F F1($*)A F0 2.503("i)C 2.503(se)-2.503 G(qui)-2.503 E -.25(va)-.25 G .003 (lent to ").25 F F1($1)A/F3 10/Times-Italic@0 SF(c)A F1($2)A F3(c)A F1 -(...)A F0 .003(", where)B F3(c)2.703 E F0 .003(is the \214rst char)2.813 -F(-)-.2 E .768(acter of the v)144 156 R .768(alue of the)-.25 F F2(IFS) -3.268 E F0 -.25(va)3.018 G 3.268(riable. If).25 F F2(IFS)3.268 E F0 .769 -(is unset, the parameters are separated by spaces.)3.018 F(If)5.769 E F2 -(IFS)144 168 Q F0(is null, the parameters are joined without interv)2.25 -E(ening separators.)-.15 E F1(@)108 180 Q F0 .606 -(Expands to the positional parameters, starting from one.)26.7 F .605 -(When the e)5.605 F .605(xpansion occurs within dou-)-.15 F .113 -(ble quotes, each parameter e)144 192 R .113(xpands to a separate w)-.15 -F 2.614(ord. That)-.1 F .114(is, ")2.614 F F1($@)A F0 2.614("i)C 2.614 -(se)-2.614 G(qui)-2.614 E -.25(va)-.25 G .114(lent to ").25 F F1($1)A F0 -2.614("")C F1($2)-2.614 E F0 2.614(".)C(..)-2.614 E .135 -(If the double-quoted e)144 204 R .135(xpansion occurs within a w)-.15 F -.135(ord, the e)-.1 F .134(xpansion of the \214rst parameter is joined) --.15 F .15(with the be)144 216 R .15(ginning part of the original w)-.15 -F .151(ord, and the e)-.1 F .151 -(xpansion of the last parameter is joined with)-.15 F .338 -(the last part of the original w)144 228 R 2.838(ord. When)-.1 F .337 -(there are no positional parameters, ")2.838 F F1($@)A F0 2.837("a)C(nd) --2.837 E F1($@)2.837 E F0 -.15(ex)2.837 G(pand).15 E -(to nothing \(i.e., the)144 240 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15(ve) --.15 G(d\).).15 E F1(#)108 252 Q F0 +(...)A F0 .003(", where)B F3(c)2.703 E F0 .004(is the \214rst char)2.813 +F(-)-.2 E .769(acter of the v)144 120 R .769(alue of the)-.25 F F2(IFS) +3.269 E F0 -.25(va)3.019 G 3.269(riable. If).25 F F2(IFS)3.268 E F0 .768 +(is unset, the parameters are separated by spaces.)3.018 F(If)5.768 E F2 +(IFS)144 132 Q F0(is null, the parameters are joined without interv)2.25 +E(ening separators.)-.15 E F1(@)108 144 Q F0 .605 +(Expands to the positional parameters, starting from one.)26.7 F .606 +(When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .114 +(ble quotes, each parameter e)144 156 R .114(xpands to a separate w)-.15 +F 2.614(ord. That)-.1 F .113(is, ")2.613 F F1($@)A F0 2.613("i)C 2.613 +(se)-2.613 G(qui)-2.613 E -.25(va)-.25 G .113(lent to ").25 F F1($1)A F0 +2.613("")C F1($2)-2.613 E F0 2.613(".)C(..)-2.613 E .134 +(If the double-quoted e)144 168 R .134(xpansion occurs within a w)-.15 F +.135(ord, the e)-.1 F .135(xpansion of the \214rst parameter is joined) +-.15 F .151(with the be)144 180 R .151(ginning part of the original w) +-.15 F .151(ord, and the e)-.1 F .15 +(xpansion of the last parameter is joined with)-.15 F .337 +(the last part of the original w)144 192 R 2.837(ord. When)-.1 F .338 +(there are no positional parameters, ")2.837 F F1($@)A F0 2.838("a)C(nd) +-2.838 E F1($@)2.838 E F0 -.15(ex)2.838 G(pand).15 E +(to nothing \(i.e., the)144 204 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15(ve) +-.15 G(d\).).15 E F1(#)108 216 Q F0 (Expands to the number of positional parameters in decimal.)31 E F1(?) -108 264 Q F0(Expands to the e)31 E(xit status of the most recently e) +108 228 Q F0(Expands to the e)31 E(xit status of the most recently e) -.15 E -.15(xe)-.15 G(cuted fore).15 E(ground pipeline.)-.15 E F1<ad>108 -276 Q F0 .881 +240 Q F0 .882 (Expands to the current option \215ags as speci\214ed upon in)30.3 F -.2 -(vo)-.4 G .881(cation, by the).2 F F1(set)3.382 E F0 -.2(bu)3.382 G .882 +(vo)-.4 G .881(cation, by the).2 F F1(set)3.381 E F0 -.2(bu)3.381 G .881 (iltin command, or).2 F(those set by the shell itself \(such as the)144 -288 Q F1<ad69>2.5 E F0(option\).)2.5 E F1($)108 300 Q F0 .214 +252 Q F1<ad69>2.5 E F0(option\).)2.5 E F1($)108 264 Q F0 .214 (Expands to the process ID of the shell.)31 F .214 (In a \(\) subshell, it e)5.214 F .214 (xpands to the process ID of the current)-.15 F -(shell, not the subshell.)144 312 Q F1(!)108 324 Q F0 +(shell, not the subshell.)144 276 Q F1(!)108 288 Q F0 (Expands to the process ID of the most recently e)32.67 E -.15(xe)-.15 G -(cuted background \(asynchronous\) command.).15 E F1(0)108 336 Q F0 -1.691(Expands to the name of the shell or shell script.)31 F 1.692 -(This is set at shell initialization.)6.692 F(If)6.692 E F1(bash)4.192 E -F0(is)4.192 E(in)144 348 Q -.2(vo)-.4 G -.1(ke).2 G 3.078(dw).1 G .578 -(ith a \214le of commands,)-3.078 F F1($0)3.078 E F0 .578 -(is set to the name of that \214le.)3.078 F(If)5.577 E F1(bash)3.077 E -F0 .577(is started with the)3.077 F F1<ad63>3.077 E F0 .368 -(option, then)144 360 R F1($0)2.869 E F0 .369(is set to the \214rst ar) +(cuted background \(asynchronous\) command.).15 E F1(0)108 300 Q F0 +1.692(Expands to the name of the shell or shell script.)31 F 1.691 +(This is set at shell initialization.)6.692 F(If)6.691 E F1(bash)4.191 E +F0(is)4.191 E(in)144 312 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577 +(ith a \214le of commands,)-3.077 F F1($0)3.077 E F0 .578 +(is set to the name of that \214le.)3.077 F(If)5.578 E F1(bash)3.078 E +F0 .578(is started with the)3.078 F F1<ad63>3.078 E F0 .369 +(option, then)144 324 R F1($0)2.869 E F0 .369(is set to the \214rst ar) 2.869 F .369(gument after the string to be e)-.18 F -.15(xe)-.15 G .369 -(cuted, if one is present.).15 F(Other)5.369 E(-)-.2 E -(wise, it is set to the \214le name used to in)144 372 Q -.2(vo)-.4 G +(cuted, if one is present.).15 F(Other)5.368 E(-)-.2 E +(wise, it is set to the \214le name used to in)144 336 Q -.2(vo)-.4 G -.1(ke).2 G F1(bash)2.6 E F0 2.5(,a)C 2.5(sg)-2.5 G -2.15 -.25(iv e)-2.5 H 2.5(nb).25 G 2.5(ya)-2.5 G -.18(rg)-2.5 G(ument zero.).18 E F1(_)108 -384 Q F0 .055(At shell startup, set to the absolute pathname used to in) -31 F -.2(vo)-.4 G .255 -.1(ke t).2 H .054 -(he shell or shell script being e).1 F -.15(xe)-.15 G(cuted).15 E .691 -(as passed in the en)144 396 R .691(vironment or ar)-.4 F .691 -(gument list.)-.18 F(Subsequently)5.691 E 3.191(,e)-.65 G .692 -(xpands to the last ar)-3.341 F .692(gument to the)-.18 F(pre)144 408 Q -.571(vious command, after e)-.25 F 3.071(xpansion. Also)-.15 F .571 -(set to the full pathname used to in)3.071 F -.2(vo)-.4 G .77 -.1(ke e) -.2 H .57(ach command).1 F -.15(exe)144 420 S 1.6 +348 Q F0 .054(At shell startup, set to the absolute pathname used to in) +31 F -.2(vo)-.4 G .255 -.1(ke t).2 H .055 +(he shell or shell script being e).1 F -.15(xe)-.15 G(cuted).15 E .692 +(as passed in the en)144 360 R .692(vironment or ar)-.4 F .691 +(gument list.)-.18 F(Subsequently)5.691 E 3.191(,e)-.65 G .691 +(xpands to the last ar)-3.341 F .691(gument to the)-.18 F(pre)144 372 Q +.57(vious command, after e)-.25 F 3.07(xpansion. Also)-.15 F .571 +(set to the full pathname used to in)3.071 F -.2(vo)-.4 G .771 -.1(ke e) +.2 H .571(ach command).1 F -.15(exe)144 384 S 1.6 (cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6 (xported to that command.)-.15 F 1.6(When checking mail, this)6.6 F (parameter holds the name of the mail \214le currently being check)144 -432 Q(ed.)-.1 E F1(Shell V)87 448.8 Q(ariables)-.92 E F0(The follo)108 -460.8 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F1 -.3(BA) -108 477.6 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E +396 Q(ed.)-.1 E F1(Shell V)87 412.8 Q(ariables)-.92 E F0(The follo)108 +424.8 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F1 -.3(BA) +108 441.6 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E -.2(vo)-.4 G .2 -.1(ke t).2 H(his instance of).1 E F1(bash)2.5 E F0(.)A -F1 -.3(BA)108 489.6 S(SHOPTS).3 E F0 2.549(Ac)144 501.6 S .049 -(olon-separated list of enabled shell options.)-2.549 F .049(Each w) +F1 -.3(BA)108 453.6 S(SHOPTS).3 E F0 2.548(Ac)144 465.6 S .049 +(olon-separated list of enabled shell options.)-2.548 F .049(Each w) 5.049 F .049(ord in the list is a v)-.1 F .049(alid ar)-.25 F .049 -(gument for the)-.18 F F1<ad73>2.548 E F0 1.398(option to the)144 513.6 +(gument for the)-.18 F F1<ad73>2.549 E F0 1.398(option to the)144 477.6 R F1(shopt)3.898 E F0 -.2(bu)3.898 G 1.398(iltin command \(see).2 F F2 1.398(SHELL B)3.898 F(UIL)-.09 E 1.398(TIN COMMANDS)-.828 F F0(belo) -3.648 E 3.898(w\). The)-.25 F(options)3.898 E .477(appearing in)144 -525.6 R F2 -.27(BA)2.977 G(SHOPTS).27 E F0 .477(are those reported as) -2.727 F F3(on)3.207 E F0(by)3.217 E F1(shopt)2.977 E F0 5.476(.I)C 2.976 -(ft)-5.476 G .476(his v)-2.976 F .476(ariable is in the en)-.25 F -(vironment)-.4 E(when)144 537.6 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 549.6 Q -(ariable is read-only)-.25 E(.)-.65 E F1 -.3(BA)108 561.6 S(SHPID).3 E -F0 .361(Expands to the process id of the current)144 573.6 R F1(bash) -2.861 E F0 2.861(process. This)2.861 F(dif)2.86 E .36(fers from)-.25 F -F1($$)2.86 E F0 .36(under certain circum-)2.86 F -(stances, such as subshells that do not require)144 585.6 Q F1(bash)2.5 -E F0(to be re-initialized.)2.5 E F1 -.3(BA)108 597.6 S(SH_ALIASES).3 E -F0 1.195(An associati)144 609.6 R 1.495 -.15(ve a)-.25 H 1.195(rray v) +3.648 E 3.898(w\). The)-.25 F(options)3.898 E .476(appearing in)144 +489.6 R F2 -.27(BA)2.976 G(SHOPTS).27 E F0 .476(are those reported as) +2.726 F F3(on)3.206 E F0(by)3.217 E F1(shopt)2.977 E F0 5.477(.I)C 2.977 +(ft)-5.477 G .477(his v)-2.977 F .477(ariable is in the en)-.25 F +(vironment)-.4 E(when)144 501.6 Q F1(bash)3.142 E F0 .642(starts up, ea\ +ch shell option in the list will be enabled before reading an)3.142 F +3.141(ys)-.15 G .641(tartup \214les.)-3.141 F(This v)144 513.6 Q +(ariable is read-only)-.25 E(.)-.65 E F1 -.3(BA)108 525.6 S(SHPID).3 E +F0 .36(Expands to the process id of the current)144 537.6 R F1(bash) +2.861 E F0 2.861(process. This)2.861 F(dif)2.861 E .361(fers from)-.25 F +F1($$)2.861 E F0 .361(under certain circum-)2.861 F +(stances, such as subshells that do not require)144 549.6 Q F1(bash)2.5 +E F0(to be re-initialized.)2.5 E F1 -.3(BA)108 561.6 S(SH_ALIASES).3 E +F0 1.195(An associati)144 573.6 R 1.495 -.15(ve a)-.25 H 1.195(rray v) .15 F 1.195(ariable whose members correspond to the internal list of al\ -iases as main-)-.25 F .319(tained by the)144 621.6 R F1(alias)2.819 E F0 --.2(bu)2.819 G .318(iltin Elements added to this array appear in the al\ +iases as main-)-.25 F .318(tained by the)144 585.6 R F1(alias)2.818 E F0 +-.2(bu)2.818 G .318(iltin Elements added to this array appear in the al\ ias list; unsetting array ele-).2 F(ments cause aliases to be remo)144 -633.6 Q -.15(ve)-.15 G 2.5(df).15 G(rom the alias list.)-2.5 E F1 -.3 -(BA)108 645.6 S(SH_ARGC).3 E F0 .934(An array v)144 657.6 R .934 +597.6 Q -.15(ve)-.15 G 2.5(df).15 G(rom the alias list.)-2.5 E F1 -.3 +(BA)108 609.6 S(SH_ARGC).3 E F0 .935(An array v)144 621.6 R .935 (ariable whose v)-.25 F .934 (alues are the number of parameters in each frame of the current)-.25 F -F1(bash)3.435 E F0 -.15(exe)144 669.6 S .535(cution call stack.).15 F +F1(bash)3.434 E F0 -.15(exe)144 633.6 S .535(cution call stack.).15 F .535(The number of parameters to the current subroutine \(shell functio\ -n or script)5.535 F -.15(exe)144 681.6 S .141(cuted with).15 F F1(.) -2.641 E F0(or)2.641 E F1(sour)2.641 E(ce)-.18 E F0 2.641(\)i)C 2.641(sa) --2.641 G 2.641(tt)-2.641 G .142(he top of the stack.)-2.641 F .142 -(When a subroutine is e)5.142 F -.15(xe)-.15 G .142 -(cuted, the number of).15 F 1.525(parameters passed is pushed onto)144 -693.6 R F1 -.3(BA)4.024 G(SH_ARGC).3 E F0 6.524(.T)C 1.524 -(he shell sets)-6.524 F F1 -.3(BA)4.024 G(SH_ARGC).3 E F0 1.524 -(only when in)4.024 F -.15(ex)144 705.6 S(tended deb).15 E +n or script)5.535 F -.15(exe)144 645.6 S .142(cuted with).15 F F1(.) +2.642 E F0(or)2.642 E F1(sour)2.642 E(ce)-.18 E F0 2.642(\)i)C 2.642(sa) +-2.642 G 2.642(tt)-2.642 G .142(he top of the stack.)-2.642 F .141 +(When a subroutine is e)5.141 F -.15(xe)-.15 G .141 +(cuted, the number of).15 F 2.63(parameters passed is pushed onto)144 +657.6 R F2 -.27(BA)5.13 G(SH_ARGC).27 E/F4 9/Times-Roman@0 SF(.)A F0 +2.63(The shell sets)7.13 F F2 -.27(BA)5.131 G(SH_ARGC).27 E F0 2.631 +(only when in)4.881 F -.15(ex)144 669.6 S(tended deb).15 E (ugging mode \(see the description of the)-.2 E F1(extdeb)2.5 E(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo).2 E -(w\))-.25 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(9)190.955 E -0 Cg EP +(w\))-.25 E F1 -.3(BA)108 681.6 S(SH_ARGV).3 E F0 .98(An array v)144 +693.6 R .979(ariable containing all of the parameters in the current) +-.25 F F1(bash)3.479 E F0 -.15(exe)3.479 G .979(cution call stack.).15 F +(The)5.979 E .275(\214nal parameter of the last subroutine call is at t\ +he top of the stack; the \214rst parameter of the initial)144 705.6 R +1.424(call is at the bottom.)144 717.6 R 1.424(When a subroutine is e) +6.424 F -.15(xe)-.15 G 1.424 +(cuted, the parameters supplied are pushed onto).15 F F2 -.27(BA)144 +729.6 S(SH_ARGV).27 E F4(.)A F0 2.197(The shell sets)6.697 F F2 -.27(BA) +4.697 G(SH_ARGV).27 E F0 2.197(only when in e)4.447 F 2.197(xtended deb) +-.15 F 2.197(ugging mode \(see the)-.2 F(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(9)190.955 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF -.3(BA)108 84 S(SH_ARGV).3 E F0 .979 -(An array v)144 96 R .979 -(ariable containing all of the parameters in the current)-.25 F F1(bash) -3.48 E F0 -.15(exe)3.48 G .98(cution call stack.).15 F(The)5.98 E .275(\ -\214nal parameter of the last subroutine call is at the top of the stac\ -k; the \214rst parameter of the initial)144 108 R 1.424 -(call is at the bottom.)144 120 R 1.424(When a subroutine is e)6.424 F --.15(xe)-.15 G 1.424(cuted, the parameters supplied are pushed onto).15 -F F1 -.3(BA)144 132 S(SH_ARGV).3 E F0 6.091(.T)C 1.091(he shell sets) --6.091 F F1 -.3(BA)3.591 G(SH_ARGV).3 E F0 1.091(only when in e)3.591 F -1.091(xtended deb)-.15 F 1.09(ugging mode \(see the)-.2 F -(description of the)144 144 Q F1(extdeb)2.5 E(ug)-.2 E F0(option to the) -2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3 -(BA)108 156 S(SH_CMDS).3 E F0 .667(An associati)144 168 R .967 -.15 -(ve a)-.25 H .667(rray v).15 F .668(ariable whose members correspond to\ - the internal hash table of commands)-.25 F .147(as maintained by the) -144 180 R F1(hash)2.647 E F0 -.2(bu)2.646 G 2.646(iltin. Elements).2 F -.146(added to this array appear in the hash table; unsetting)2.646 F -(array elements cause commands to be remo)144 192 Q -.15(ve)-.15 G 2.5 -(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 204 S(SH_COMMAND).3 E -F0 1.242(The command currently being e)144 216 R -.15(xe)-.15 G 1.243 -(cuted or about to be e).15 F -.15(xe)-.15 G 1.243 -(cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.243(cuting a).15 F +-.35 E(description of the)144 84 Q/F1 10/Times-Bold@0 SF(extdeb)2.5 E +(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G +(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 96 S(SH_CMDS).3 E F0 .668 +(An associati)144 108 R .968 -.15(ve a)-.25 H .668(rray v).15 F .668(ar\ +iable whose members correspond to the internal hash table of commands) +-.25 F .146(as maintained by the)144 120 R F1(hash)2.646 E F0 -.2(bu) +2.646 G 2.646(iltin. Elements).2 F .146 +(added to this array appear in the hash table; unsetting)2.646 F +(array elements cause commands to be remo)144 132 Q -.15(ve)-.15 G 2.5 +(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 144 S(SH_COMMAND).3 E +F0 1.243(The command currently being e)144 156 R -.15(xe)-.15 G 1.243 +(cuted or about to be e).15 F -.15(xe)-.15 G 1.242 +(cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.242(cuting a).15 F (command as the result of a trap, in which case it is the command e)144 -228 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108 -240 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 252 Q +168 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108 +180 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 192 Q (gument to the)-.18 E F1<ad63>2.5 E F0(in)2.5 E -.2(vo)-.4 G -(cation option.).2 E F1 -.3(BA)108 264 S(SH_LINENO).3 E F0 .034 -(An array v)144 276 R .034(ariable whose members are the line numbers i\ -n source \214les corresponding to each mem-)-.25 F 2.944(ber of)144 288 -R F1(FUNCN)5.444 E(AME)-.2 E F0(.)A F1(${B)7.944 E(ASH_LINENO[)-.3 E/F2 -10/Times-Italic@0 SF($i)A F1(]})A F0 2.944 -(is the line number in the source \214le where)5.444 F F1(${FUNCN)144 -300 Q(AME[)-.2 E F2($i)A F1(]})A F0 -.1(wa)3.312 G 3.311(sc).1 G .811 -(alled \(or)-3.311 F F1(${B)3.311 E(ASH_LINENO[)-.3 E F2($i-1)A F1(]})A -F0 .811(if referenced within another shell)3.311 F 4.567 -(function\). The)144 312 R 2.067(corresponding source \214le name is) -4.567 F F1(${B)4.567 E(ASH_SOURCE[)-.3 E F2($i)A F1(]})A F0 7.067(.U)C -(se)-7.067 E F1(LINENO)4.567 E F0(to)4.567 E -(obtain the current line number)144 324 Q(.)-.55 E F1 -.3(BA)108 336 S -(SH_REMA).3 E(TCH)-.95 E F0 .006(An array v)144 348 R .006 -(ariable whose members are assigned by the)-.25 F F1(=~)2.506 E F0 .005 -(binary operator to the)2.506 F F1([[)2.505 E F0 .005(conditional com-) -2.505 F 2.506(mand. The)144 360 R .007(element with inde)2.506 F 2.507 +(cation option.).2 E F1 -.3(BA)108 204 S(SH_LINENO).3 E F0 .034 +(An array v)144 216 R .034(ariable whose members are the line numbers i\ +n source \214les corresponding to each mem-)-.25 F 3.491(ber of)144 228 +R/F2 9/Times-Bold@0 SF(FUNCN)5.991 E(AME)-.18 E/F3 9/Times-Roman@0 SF(.) +A F1(${B)7.991 E(ASH_LINENO[)-.3 E/F4 10/Times-Italic@0 SF($i)A F1(]})A +F0 3.491(is the line number in the source \214le where)5.991 F F1 +(${FUNCN)144 240 Q(AME[)-.2 E F4($i)A F1(]})A F0 -.1(wa)3.311 G 3.311 +(sc).1 G .811(alled \(or)-3.311 F F1(${B)3.311 E(ASH_LINENO[)-.3 E F4 +($i-1)A F1(]})A F0 .811(if referenced within another shell)3.311 F 4.987 +(function\). The)144 252 R 2.487(corresponding source \214le name is) +4.987 F F1(${B)4.986 E(ASH_SOURCE[)-.3 E F4($i)A F1(]})A F0 7.486(.U)C +(se)-7.486 E F2(LINENO)4.986 E F0(to)4.736 E +(obtain the current line number)144 264 Q(.)-.55 E F1 -.3(BA)108 276 S +(SH_REMA).3 E(TCH)-.95 E F0 .005(An array v)144 288 R .005 +(ariable whose members are assigned by the)-.25 F F1(=~)2.506 E F0 .006 +(binary operator to the)2.506 F F1([[)2.506 E F0 .006(conditional com-) +2.506 F 2.507(mand. The)144 300 R .007(element with inde)2.507 F 2.507 (x0i)-.15 G 2.507(st)-2.507 G .007 -(he portion of the string matching the entire re)-2.507 F .007(gular e) --.15 F(xpression.)-.15 E .998(The element with inde)144 372 R(x)-.15 E -F2(n)3.498 E F0 .997(is the portion of the string matching the)3.498 F -F2(n)3.497 E F0 .997(th parenthesized sube)B(xpres-)-.15 E 2.5 -(sion. This)144 384 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E -F1 -.3(BA)108 396 S(SH_SOURCE).3 E F0 .889(An array v)144 408 R .889(ar\ -iable whose members are the source \214lenames corresponding to the ele\ -ments in the)-.25 F F1(FUNCN)144 420 Q(AME)-.2 E F0(array v)2.5 E -(ariable.)-.25 E F1 -.3(BA)108 432 S(SH_SUBSHELL).3 E F0 .402 -(Incremented by one each time a subshell or subshell en)144 444 R .401 -(vironment is spa)-.4 F 2.901(wned. The)-.15 F .401(initial v)2.901 F -.401(alue is)-.25 F(0.)144 456 Q F1 -.3(BA)108 468 S(SH_VERSINFO).3 E F0 -2.644(Ar)144 480 S .144(eadonly array v)-2.644 F .144 +(he portion of the string matching the entire re)-2.507 F .006(gular e) +-.15 F(xpression.)-.15 E .997(The element with inde)144 312 R(x)-.15 E +F4(n)3.497 E F0 .997(is the portion of the string matching the)3.497 F +F4(n)3.498 E F0 .998(th parenthesized sube)B(xpres-)-.15 E 2.5 +(sion. This)144 324 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E +F1 -.3(BA)108 336 S(SH_SOURCE).3 E F0 .89(An array v)144 348 R .889(ari\ +able whose members are the source \214lenames corresponding to the elem\ +ents in the)-.25 F F2(FUNCN)144 360 Q(AME)-.18 E F0(array v)2.25 E +(ariable.)-.25 E F1 -.3(BA)108 372 S(SH_SUBSHELL).3 E F0 .401 +(Incremented by one each time a subshell or subshell en)144 384 R .401 +(vironment is spa)-.4 F 2.902(wned. The)-.15 F .402(initial v)2.902 F +.402(alue is)-.25 F(0.)144 396 Q F1 -.3(BA)108 408 S(SH_VERSINFO).3 E F0 +2.645(Ar)144 420 S .145(eadonly array v)-2.645 F .144 (ariable whose members hold v)-.25 F .144 -(ersion information for this instance of)-.15 F F1(bash)2.645 E F0 5.145 -(.T)C(he)-5.145 E -.25(va)144 492 S +(ersion information for this instance of)-.15 F F1(bash)2.644 E F0 5.144 +(.T)C(he)-5.144 E -.25(va)144 432 S (lues assigned to the array members are as follo).25 E(ws:)-.25 E F1 -.3 -(BA)144 510 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E -(ersion number \(the)-.15 E F2 -.37(re)2.5 G(lease).37 E F0(\).)A F1 -.3 -(BA)144 522 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E -(ersion number \(the)-.15 E F2(ver)2.5 E(sion)-.1 E F0(\).)A F1 -.3(BA) -144 534 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15 -(ve)-.25 G(l.).15 E F1 -.3(BA)144 546 S(SH_VERSINFO[).3 E F0(3)A F1(])A -F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E F1 -.3(BA)144 558 S +(BA)144 450 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E +(ersion number \(the)-.15 E F4 -.37(re)2.5 G(lease).37 E F0(\).)A F1 -.3 +(BA)144 462 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E +(ersion number \(the)-.15 E F4(ver)2.5 E(sion)-.1 E F0(\).)A F1 -.3(BA) +144 474 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15 +(ve)-.25 G(l.).15 E F1 -.3(BA)144 486 S(SH_VERSINFO[).3 E F0(3)A F1(])A +F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E F1 -.3(BA)144 498 S (SH_VERSINFO[).3 E F0(4)A F1(])A F0(The release status \(e.g.,)24.74 E -F2(beta1)2.5 E F0(\).)A F1 -.3(BA)144 570 S(SH_VERSINFO[).3 E F0(5)A F1 -(])A F0(The v)24.74 E(alue of)-.25 E F1(MA)2.5 E(CHTYPE)-.55 E F0(.)A F1 --.3(BA)108 586.8 S(SH_VERSION).3 E F0 -(Expands to a string describing the v)144 598.8 Q +F4(beta1)2.5 E F0(\).)A F1 -.3(BA)144 510 S(SH_VERSINFO[).3 E F0(5)A F1 +(])A F0(The v)24.74 E(alue of)-.25 E F2(MA)2.5 E(CHTYPE)-.495 E F3(.)A +F1 -.3(BA)108 526.8 S(SH_VERSION).3 E F0 +(Expands to a string describing the v)144 538.8 Q (ersion of this instance of)-.15 E F1(bash)2.5 E F0(.)A F1(COMP_CW)108 -615.6 Q(ORD)-.1 E F0 .397(An inde)144 627.6 R 2.897(xi)-.15 G(nto)-2.897 +555.6 Q(ORD)-.1 E F0 .396(An inde)144 567.6 R 2.896(xi)-.15 G(nto)-2.896 E F1(${COMP_W)2.896 E(ORDS})-.1 E F0 .396(of the w)2.896 F .396 -(ord containing the current cursor position.)-.1 F .396(This v)5.396 F -(ari-)-.25 E 1.18(able is a)144 639.6 R -.25(va)-.2 G 1.181 +(ord containing the current cursor position.)-.1 F .397(This v)5.397 F +(ari-)-.25 E 1.181(able is a)144 579.6 R -.25(va)-.2 G 1.181 (ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.681 -(db).1 G 3.681(yt)-3.681 G 1.181(he programmable completion f)-3.681 F -1.181(acilities \(see)-.1 F F1(Pr)144 651.6 Q(ogrammable Completion)-.18 -E F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 668.4 Q F0(The k)144 680.4 Q +(db).1 G 3.681(yt)-3.681 G 1.18(he programmable completion f)-3.681 F +1.18(acilities \(see)-.1 F F1(Pr)144 591.6 Q(ogrammable Completion)-.18 +E F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 608.4 Q F0(The k)144 620.4 Q .3 -.15(ey \()-.1 H(or \214nal k).15 E .3 -.15(ey o)-.1 H 2.5(fak).15 G .3 -.15(ey s)-2.6 H(equence\) used to in).15 E -.2(vo)-.4 G .2 -.1(ke t) -.2 H(he current completion function.).1 E F1(COMP_LINE)108 697.2 Q F0 -1.208(The current command line.)144 709.2 R 1.208(This v)6.208 F 1.208 +.2 H(he current completion function.).1 E F1(COMP_LINE)108 637.2 Q F0 +1.207(The current command line.)144 649.2 R 1.208(This v)6.208 F 1.208 (ariable is a)-.25 F -.25(va)-.2 G 1.208 -(ilable only in shell functions and e).25 F 1.207(xternal com-)-.15 F -2.848(mands in)144 721.2 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349 +(ilable only in shell functions and e).25 F 1.208(xternal com-)-.15 F +2.849(mands in)144 661.2 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349 (yt)-5.349 G 2.849(he programmable completion f)-5.349 F 2.849 -(acilities \(see)-.1 F F1(Pr)5.349 E 2.849(ogrammable Completion)-.18 F -F0(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(10)185.955 E 0 Cg EP +(acilities \(see)-.1 F F1(Pr)5.349 E 2.848(ogrammable Completion)-.18 F +F0(belo)144 673.2 Q(w\).)-.25 E F1(COMP_POINT)108 690 Q F0 .666 +(The inde)144 702 R 3.166(xo)-.15 G 3.166(ft)-3.166 G .666 +(he current cursor position relati)-3.166 F .966 -.15(ve t)-.25 H 3.166 +(ot).15 G .666(he be)-3.166 F .666(ginning of the current command.)-.15 +F .667(If the)5.667 F .535 +(current cursor position is at the end of the current command, the v)144 +714 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F1 +(${#COMP_LINE})144 726 Q F0 7.005(.T)C 2.005(his v)-7.005 F 2.005 +(ariable is a)-.25 F -.25(va)-.2 G 2.006 +(ilable only in shell functions and e).25 F 2.006(xternal commands)-.15 +F(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(10)185.955 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(belo)144 84 Q(w\).)-.25 E/F1 10/Times-Bold@0 SF(COMP_POINT)108 -100.8 Q F0 .667(The inde)144 112.8 R 3.167(xo)-.15 G 3.167(ft)-3.167 G -.666(he current cursor position relati)-3.167 F .966 -.15(ve t)-.25 H -3.166(ot).15 G .666(he be)-3.166 F .666(ginning of the current command.) --.15 F .666(If the)5.666 F .534 -(current cursor position is at the end of the current command, the v)144 -124.8 R .535(alue of this v)-.25 F .535(ariable is equal to)-.25 F F1 -(${#COMP_LINE})144 136.8 Q F0 7.006(.T)C 2.006(his v)-7.006 F 2.006 -(ariable is a)-.25 F -.25(va)-.2 G 2.005 -(ilable only in shell functions and e).25 F 2.005(xternal commands)-.15 -F(in)144 148.8 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G -(he programmable completion f)-2.5 E(acilities \(see)-.1 E F1(Pr)2.5 E -(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(COMP_TYPE)108 -165.6 Q F0 .041(Set to an inte)144 177.6 R .041(ger v)-.15 F .041(alue \ -corresponding to the type of completion attempted that caused a complet\ -ion)-.25 F .338(function to be called:)144 189.6 R/F2 10/Times-Italic@0 -SF -.5(TA)2.837 G(B).5 E F0 2.837(,f)C .337(or normal completion,)-2.837 -F F2(?)2.837 E F0 2.837(,f)C .337(or listing completions after successi) --2.837 F .637 -.15(ve t)-.25 H(abs,).15 E F2(!)144 201.6 Q F0 4.091(,f)C -1.591(or listing alternati)-4.091 F -.15(ve)-.25 G 4.092(so).15 G 4.092 -(np)-4.092 G 1.592(artial w)-4.092 F 1.592(ord completion,)-.1 F F2(@) -4.092 E F0 4.092(,t)C 4.092(ol)-4.092 G 1.592(ist completions if the w) --4.092 F 1.592(ord is not)-.1 F 1.553(unmodi\214ed, or)144 213.6 R F2(%) -4.053 E F0 4.052(,f)C 1.552(or menu completion.)-4.052 F 1.552(This v) -6.552 F 1.552(ariable is a)-.25 F -.25(va)-.2 G 1.552 -(ilable only in shell functions and).25 F -.15(ex)144 225.6 S 2.928 +-.35 E(in)144 84 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G +(he programmable completion f)-2.5 E(acilities \(see)-.1 E/F1 10 +/Times-Bold@0 SF(Pr)2.5 E(ogrammable Completion)-.18 E F0(belo)2.5 E +(w\).)-.25 E F1(COMP_TYPE)108 100.8 Q F0 .042(Set to an inte)144 112.8 R +.042(ger v)-.15 F .041(alue corresponding to the type of completion att\ +empted that caused a completion)-.25 F .337(function to be called:)144 +124.8 R/F2 10/Times-Italic@0 SF -.5(TA)2.837 G(B).5 E F0 2.837(,f)C .337 +(or normal completion,)-2.837 F F2(?)2.837 E F0 2.837(,f)C .337 +(or listing completions after successi)-2.837 F .638 -.15(ve t)-.25 H +(abs,).15 E F2(!)144 136.8 Q F0 4.092(,f)C 1.592(or listing alternati) +-4.092 F -.15(ve)-.25 G 4.092(so).15 G 4.092(np)-4.092 G 1.592(artial w) +-4.092 F 1.592(ord completion,)-.1 F F2(@)4.092 E F0 4.092(,t)C 4.092 +(ol)-4.092 G 1.592(ist completions if the w)-4.092 F 1.591(ord is not) +-.1 F 1.552(unmodi\214ed, or)144 148.8 R F2(%)4.052 E F0 4.052(,f)C +1.552(or menu completion.)-4.052 F 1.552(This v)6.552 F 1.552 +(ariable is a)-.25 F -.25(va)-.2 G 1.552 +(ilable only in shell functions and).25 F -.15(ex)144 160.8 S 2.929 (ternal commands in).15 F -.2(vo)-.4 G -.1(ke).2 G 5.429(db).1 G 5.429 (yt)-5.429 G 2.929(he programmable completion f)-5.429 F 2.929 -(acilities \(see)-.1 F F1(Pr)5.429 E(ogrammable)-.18 E(Completion)144 -237.6 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 254.4 Q(ORDBREAKS)-.1 E -F0 1.336(The set of characters that the)144 266.4 R F1 -.18(re)3.836 G -(adline).18 E F0 1.336(library treats as w)3.836 F 1.335 -(ord separators when performing w)-.1 F(ord)-.1 E 3.125(completion. If) -144 278.4 R/F3 9/Times-Bold@0 SF(COMP_W)3.125 E(ORDBREAKS)-.09 E F0 .626 -(is unset, it loses its special properties, e)2.875 F -.15(ve)-.25 G -3.126(ni).15 G 3.126(fi)-3.126 G 3.126(ti)-3.126 G 3.126(ss)-3.126 G -(ubse-)-3.126 E(quently reset.)144 290.4 Q F1(COMP_W)108 307.2 Q(ORDS) --.1 E F0 .654(An array v)144 319.2 R .654(ariable \(see)-.25 F F1 -(Arrays)3.154 E F0(belo)3.154 E .654(w\) consisting of the indi)-.25 F -.653(vidual w)-.25 F .653(ords in the current command)-.1 F 3.537 -(line. The)144 331.2 R 1.037(line is split into w)3.537 F 1.037(ords as) --.1 F F1 -.18(re)3.537 G(adline).18 E F0 -.1(wo)3.537 G 1.037 -(uld split it, using).1 F F1(COMP_W)3.538 E(ORDBREAKS)-.1 E F0(as)3.538 -E .832(described abo)144 343.2 R -.15(ve)-.15 G 5.832(.T).15 G .832 -(his v)-5.832 F .832(ariable is a)-.25 F -.25(va)-.2 G .831 -(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.331 -(db).1 G 3.331(yt)-3.331 G .831(he programmable)-3.331 F(completion f) -144 355.2 Q(acilities \(see)-.1 E F1(Pr)2.5 E(ogrammable Completion)-.18 -E F0(belo)2.5 E(w\).)-.25 E F1(DIRST)108 372 Q -.55(AC)-.9 G(K).55 E F0 -2.26(An array v)144 384 R 2.26(ariable \(see)-.25 F F1(Arrays)4.76 E F0 -(belo)4.76 E 2.26 +(acilities \(see)-.1 F F1(Pr)5.428 E(ogrammable)-.18 E(Completion)144 +172.8 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 189.6 Q(ORDBREAKS)-.1 E +F0 1.335(The set of characters that the)144 201.6 R F1 -.18(re)3.836 G +(adline).18 E F0 1.336(library treats as w)3.836 F 1.336 +(ord separators when performing w)-.1 F(ord)-.1 E 3.126(completion. If) +144 213.6 R/F3 9/Times-Bold@0 SF(COMP_W)3.126 E(ORDBREAKS)-.09 E F0 .626 +(is unset, it loses its special properties, e)2.876 F -.15(ve)-.25 G +3.125(ni).15 G 3.125(fi)-3.125 G 3.125(ti)-3.125 G 3.125(ss)-3.125 G +(ubse-)-3.125 E(quently reset.)144 225.6 Q F1(COMP_W)108 242.4 Q(ORDS) +-.1 E F0 .653(An array v)144 254.4 R .653(ariable \(see)-.25 F F1 +(Arrays)3.153 E F0(belo)3.153 E .654(w\) consisting of the indi)-.25 F +.654(vidual w)-.25 F .654(ords in the current command)-.1 F 4.333 +(line. The)144 266.4 R 1.832(line is split into w)4.332 F 1.832(ords as) +-.1 F F1 -.18(re)4.332 G(adline).18 E F0 -.1(wo)4.332 G 1.832 +(uld split it, using).1 F F3(COMP_W)4.332 E(ORDBREAKS)-.09 E F0(as)4.082 +E .831(described abo)144 278.4 R -.15(ve)-.15 G 5.831(.T).15 G .831 +(his v)-5.831 F .831(ariable is a)-.25 F -.25(va)-.2 G .832 +(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.332 +(db).1 G 3.332(yt)-3.332 G .832(he programmable)-3.332 F(completion f) +144 290.4 Q(acilities \(see)-.1 E F1(Pr)2.5 E(ogrammable Completion)-.18 +E F0(belo)2.5 E(w\).)-.25 E F1(DIRST)108 307.2 Q -.55(AC)-.9 G(K).55 E +F0 2.26(An array v)144 319.2 R 2.26(ariable \(see)-.25 F F1(Arrays)4.76 +E F0(belo)4.76 E 2.26 (w\) containing the current contents of the directory stack.)-.25 F -1.095(Directories appear in the stack in the order the)144 396 R 3.594 -(ya)-.15 G 1.094(re displayed by the)-3.594 F F1(dirs)3.594 E F0 -.2(bu) -3.594 G 3.594(iltin. Assigning).2 F(to)3.594 E 1.431 -(members of this array v)144 408 R 1.432 +1.094(Directories appear in the stack in the order the)144 331.2 R 3.594 +(ya)-.15 G 1.095(re displayed by the)-3.594 F F1(dirs)3.595 E F0 -.2(bu) +3.595 G 3.595(iltin. Assigning).2 F(to)3.595 E 1.432 +(members of this array v)144 343.2 R 1.432 (ariable may be used to modify directories already in the stack, b)-.25 -F 1.432(ut the)-.2 F F1(pushd)144 420 Q F0(and)2.746 E F1(popd)2.746 E +F 1.431(ut the)-.2 F F1(pushd)144 355.2 Q F0(and)2.746 E F1(popd)2.746 E F0 -.2(bu)2.746 G .246(iltins must be used to add and remo).2 F .546 -.15(ve d)-.15 H 2.746(irectories. Assignment).15 F .246(to this v)2.746 -F(ariable)-.25 E .35(will not change the current directory)144 432 R +F(ariable)-.25 E .351(will not change the current directory)144 367.2 R 5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35 -(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.851 -(ni).15 G(f)-2.851 E(it is subsequently reset.)144 444 Q F1(EUID)108 -460.8 Q F0 1.104(Expands to the ef)11 F(fecti)-.25 E 1.403 -.15(ve u) --.25 H 1.103(ser ID of the current user).15 F 3.603(,i)-.4 G 1.103 -(nitialized at shell startup.)-3.603 F 1.103(This v)6.103 F 1.103 -(ariable is)-.25 F(readonly)144 472.8 Q(.)-.65 E F1(FUNCN)108 489.6 Q -(AME)-.2 E F0 .478(An array v)144 501.6 R .479 +(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.85 +(ni).15 G(f)-2.85 E(it is subsequently reset.)144 379.2 Q F1(EUID)108 +396 Q F0 1.103(Expands to the ef)11 F(fecti)-.25 E 1.403 -.15(ve u)-.25 +H 1.103(ser ID of the current user).15 F 3.603(,i)-.4 G 1.103 +(nitialized at shell startup.)-3.603 F 1.104(This v)6.103 F 1.104 +(ariable is)-.25 F(readonly)144 408 Q(.)-.65 E F1(FUNCN)108 424.8 Q(AME) +-.2 E F0 .479(An array v)144 436.8 R .479 (ariable containing the names of all shell functions currently in the e) --.25 F -.15(xe)-.15 G .479(cution call stack.).15 F .277 -(The element with inde)144 513.6 R 2.777(x0i)-.15 G 2.777(st)-2.777 G -.276(he name of an)-2.777 F 2.776(yc)-.15 G(urrently-e)-2.776 E -.15(xe) --.15 G .276(cuting shell function.).15 F .276(The bottom-most)5.276 F -.25(element is)144 525.6 R/F4 10/Courier@0 SF("main")2.75 E F0 5.25(.T)C +-.25 F -.15(xe)-.15 G .478(cution call stack.).15 F .276 +(The element with inde)144 448.8 R 2.776(x0i)-.15 G 2.776(st)-2.776 G +.276(he name of an)-2.776 F 2.777(yc)-.15 G(urrently-e)-2.777 E -.15(xe) +-.15 G .277(cuting shell function.).15 F .277(The bottom-most)5.277 F +.25(element is)144 460.8 R/F4 10/Courier@0 SF("main")2.75 E F0 5.25(.T)C .25(his v)-5.25 F .25(ariable e)-.25 F .25 (xists only when a shell function is e)-.15 F -.15(xe)-.15 G 2.75 -(cuting. Assignments).15 F(to)2.75 E F3(FUNCN)144 537.6 Q(AME)-.18 E F0 -(ha)2.635 E .685 -.15(ve n)-.2 H 2.885(oe).15 G -.25(ff)-2.885 G .385 +(cuting. Assignments).15 F(to)2.75 E F3(FUNCN)144 472.8 Q(AME)-.18 E F0 +(ha)2.634 E .684 -.15(ve n)-.2 H 2.884(oe).15 G -.25(ff)-2.884 G .384 (ect and return an error status.).25 F(If)5.385 E F3(FUNCN)2.885 E(AME) --.18 E F0 .384(is unset, it loses its special)2.634 F(properties, e)144 -549.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss) --2.5 G(ubsequently reset.)-2.5 E F1(GR)108 566.4 Q(OUPS)-.3 E F0 1.228 -(An array v)144 578.4 R 1.228(ariable containing the list of groups of \ -which the current user is a member)-.25 F 6.229(.A)-.55 G(ssign-)-6.229 -E .597(ments to)144 590.4 R F3(GR)3.097 E(OUPS)-.27 E F0(ha)2.847 E .897 +-.18 E F0 .385(is unset, it loses its special)2.635 F(properties, e)144 +484.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss) +-2.5 G(ubsequently reset.)-2.5 E F1(GR)108 501.6 Q(OUPS)-.3 E F0 1.229 +(An array v)144 513.6 R 1.228(ariable containing the list of groups of \ +which the current user is a member)-.25 F 6.228(.A)-.55 G(ssign-)-6.228 +E .596(ments to)144 525.6 R F3(GR)3.096 E(OUPS)-.27 E F0(ha)2.847 E .897 -.15(ve n)-.2 H 3.097(oe).15 G -.25(ff)-3.097 G .597 (ect and return an error status.).25 F(If)5.597 E F3(GR)3.097 E(OUPS) -.27 E F0 .597(is unset, it loses its spe-)2.847 F(cial properties, e) -144 602.4 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5 -(ss)-2.5 G(ubsequently reset.)-2.5 E F1(HISTCMD)108 619.2 Q F0 .355 -(The history number)144 631.2 R 2.855(,o)-.4 G 2.855(ri)-2.855 G(nde) --2.855 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356 +144 537.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5 +(ss)-2.5 G(ubsequently reset.)-2.5 E F1(HISTCMD)108 554.4 Q F0 .356 +(The history number)144 566.4 R 2.856(,o)-.4 G 2.856(ri)-2.856 G(nde) +-2.856 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356 (he history list, of the current command.)-2.856 F(If)5.356 E F3 -(HISTCMD)2.856 E F0 .356(is unset, it)2.606 F -(loses its special properties, e)144 643.2 Q -.15(ve)-.25 G 2.5(ni).15 G +(HISTCMD)2.855 E F0 .355(is unset, it)2.605 F +(loses its special properties, e)144 578.4 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1 -(HOSTN)108 660 Q(AME)-.2 E F0 -(Automatically set to the name of the current host.)144 672 Q F1 -(HOSTTYPE)108 688.8 Q F0 .223(Automatically set to a string that unique\ -ly describes the type of machine on which)144 700.8 R F1(bash)2.722 E F0 -.222(is e)2.722 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 712.8 R -(def)2.5 E(ault is system-dependent.)-.1 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(11)185.955 E 0 Cg EP +(HOSTN)108 595.2 Q(AME)-.2 E F0 +(Automatically set to the name of the current host.)144 607.2 Q F1 +(HOSTTYPE)108 624 Q F0 .222(Automatically set to a string that uniquely\ + describes the type of machine on which)144 636 R F1(bash)2.723 E F0 +.223(is e)2.723 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 648 R(def) +2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 664.8 Q F0 1.408(Ea\ +ch time this parameter is referenced, the shell substitutes a decimal n\ +umber representing the)144 676.8 R .078(current sequential line number \ +\(starting with 1\) within a script or function.)144 688.8 R .079 +(When not in a script or)5.078 F .307(function, the v)144 700.8 R .307 +(alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.306 E +F3(LINENO)2.806 E F0 .306(is unset, it loses its)2.556 F +(special properties, e)144 712.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi) +-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(11)185.955 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(LINENO)108 84 Q F0 1.408(Each time this pa\ -rameter is referenced, the shell substitutes a decimal number represent\ -ing the)144 96 R .078(current sequential line number \(starting with 1\ -\) within a script or function.)144 108 R .078(When not in a script or) -5.078 F .306(function, the v)144 120 R .306 -(alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.307 E -/F2 9/Times-Bold@0 SF(LINENO)2.807 E F0 .307(is unset, it loses its) -2.557 F(special properties, e)144 132 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5 -(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1(MA) -108 148.8 Q(CHTYPE)-.55 E F0 .898(Automatically set to a string that fu\ -lly describes the system type on which)144 160.8 R F1(bash)3.398 E F0 -.898(is e)3.398 F -.15(xe)-.15 G .898(cuting, in).15 F(the standard GNU) -144 172.8 Q/F3 10/Times-Italic@0 SF(cpu-company-system)2.5 E F0 2.5 -(format. The)2.5 F(def)2.5 E(ault is system-dependent.)-.1 E F1(OLDPWD) -108 189.6 Q F0(The pre)144 201.6 Q(vious w)-.25 E -(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1 -(OPT)108 218.4 Q(ARG)-.9 E F0 1.626(The v)144 230.4 R 1.627 -(alue of the last option ar)-.25 F 1.627(gument processed by the)-.18 F -F1(getopts)4.127 E F0 -.2(bu)4.127 G 1.627(iltin command \(see).2 F F2 -(SHELL)4.127 E -.09(BU)144 242.4 S(IL).09 E(TIN COMMANDS)-.828 E F0 -(belo)2.25 E(w\).)-.25 E F1(OPTIND)108 259.2 Q F0 1.652(The inde)144 -271.2 R 4.152(xo)-.15 G 4.152(ft)-4.152 G 1.652(he ne)-4.152 F 1.652 -(xt ar)-.15 F 1.652(gument to be processed by the)-.18 F F1(getopts) -4.151 E F0 -.2(bu)4.151 G 1.651(iltin command \(see).2 F F2(SHELL)4.151 -E -.09(BU)144 283.2 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).) --.25 E F1(OSTYPE)108 300 Q F0 .329(Automatically set to a string that d\ -escribes the operating system on which)144 312 R F1(bash)2.83 E F0 .33 -(is e)2.83 F -.15(xe)-.15 G 2.83(cuting. The).15 F(def)144 324 Q -(ault is system-dependent.)-.1 E F1(PIPEST)108 340.8 Q -.95(AT)-.9 G(US) -.95 E F0 .61(An array v)144 352.8 R .61(ariable \(see)-.25 F F1(Arrays) -3.11 E F0(belo)3.11 E .61(w\) containing a list of e)-.25 F .61 -(xit status v)-.15 F .61(alues from the processes in)-.25 F -(the most-recently-e)144 364.8 Q -.15(xe)-.15 G(cuted fore).15 E +-.35 E/F1 10/Times-Bold@0 SF(MA)108 84 Q(CHTYPE)-.55 E F0 .898(Automati\ +cally set to a string that fully describes the system type on which)144 +96 R F1(bash)3.398 E F0 .899(is e)3.398 F -.15(xe)-.15 G .899 +(cuting, in).15 F(the standard GNU)144 108 Q/F2 10/Times-Italic@0 SF +(cpu-company-system)2.5 E F0 2.5(format. The)2.5 F(def)2.5 E +(ault is system-dependent.)-.1 E F1(OLDPWD)108 124.8 Q F0(The pre)144 +136.8 Q(vious w)-.25 E(orking directory as set by the)-.1 E F1(cd)2.5 E +F0(command.)2.5 E F1(OPT)108 153.6 Q(ARG)-.9 E F0 1.627(The v)144 165.6 +R 1.627(alue of the last option ar)-.25 F 1.627(gument processed by the) +-.18 F F1(getopts)4.127 E F0 -.2(bu)4.127 G 1.626(iltin command \(see).2 +F/F3 9/Times-Bold@0 SF(SHELL)4.126 E -.09(BU)144 177.6 S(IL).09 E +(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1(OPTIND)108 194.4 Q +F0 1.651(The inde)144 206.4 R 4.151(xo)-.15 G 4.151(ft)-4.151 G 1.651 +(he ne)-4.151 F 1.651(xt ar)-.15 F 1.652(gument to be processed by the) +-.18 F F1(getopts)4.152 E F0 -.2(bu)4.152 G 1.652(iltin command \(see).2 +F F3(SHELL)4.152 E -.09(BU)144 218.4 S(IL).09 E(TIN COMMANDS)-.828 E F0 +(belo)2.25 E(w\).)-.25 E F1(OSTYPE)108 235.2 Q F0 .329(Automatically se\ +t to a string that describes the operating system on which)144 247.2 R +F1(bash)2.829 E F0 .329(is e)2.829 F -.15(xe)-.15 G 2.829(cuting. The) +.15 F(def)144 259.2 Q(ault is system-dependent.)-.1 E F1(PIPEST)108 276 +Q -.95(AT)-.9 G(US).95 E F0 .61(An array v)144 288 R .61(ariable \(see) +-.25 F F1(Arrays)3.11 E F0(belo)3.11 E .61(w\) containing a list of e) +-.25 F .61(xit status v)-.15 F .61(alues from the processes in)-.25 F +(the most-recently-e)144 300 Q -.15(xe)-.15 G(cuted fore).15 E (ground pipeline \(which may contain only a single command\).)-.15 E F1 -(PPID)108 381.6 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G +(PPID)108 316.8 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G 2.5(arent. This)-2.5 F -.25(va)2.5 G(riable is readonly).25 E(.)-.65 E -F1(PWD)108 398.4 Q F0(The current w)12.67 E +F1(PWD)108 333.6 Q F0(The current w)12.67 E (orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1 -(RANDOM)108 415.2 Q F0 .565 -(Each time this parameter is referenced, a random inte)144 427.2 R .566 -(ger between 0 and 32767 is generated.)-.15 F(The)5.566 E .01 +(RANDOM)108 350.4 Q F0 .566 +(Each time this parameter is referenced, a random inte)144 362.4 R .565 +(ger between 0 and 32767 is generated.)-.15 F(The)5.565 E .01 (sequence of random numbers may be initialized by assigning a v)144 -439.2 R .01(alue to)-.25 F F2(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0 -(If)4.51 E F2(RANDOM)2.51 E F0(is)2.26 E -(unset, it loses its special properties, e)144 451.2 Q -.15(ve)-.25 G +374.4 R .01(alue to)-.25 F F3(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0 +(If)4.51 E F3(RANDOM)2.51 E F0(is)2.26 E +(unset, it loses its special properties, e)144 386.4 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G -(ubsequently reset.)-2.5 E F1(REPL)108 468 Q(Y)-.92 E F0 -(Set to the line of input read by the)144 480 Q F1 -.18(re)2.5 G(ad).18 -E F0 -.2(bu)2.5 G(iltin command when no ar).2 E(guments are supplied.) --.18 E F1(SECONDS)108 496.8 Q F0 .795(Each time this parameter is refer\ -enced, the number of seconds since shell in)144 508.8 R -.2(vo)-.4 G -.795(cation is returned.).2 F .713(If a v)144 520.8 R .712 -(alue is assigned to)-.25 F F2(SECONDS)3.212 E F4(,)A F0 .712(the v) +(ubsequently reset.)-2.5 E F1(REPL)108 403.2 Q(Y)-.92 E F0 +(Set to the line of input read by the)144 415.2 Q F1 -.18(re)2.5 G(ad) +.18 E F0 -.2(bu)2.5 G(iltin command when no ar).2 E +(guments are supplied.)-.18 E F1(SECONDS)108 432 Q F0 .795(Each time th\ +is parameter is referenced, the number of seconds since shell in)144 444 +R -.2(vo)-.4 G .795(cation is returned.).2 F .712(If a v)144 456 R .712 +(alue is assigned to)-.25 F F3(SECONDS)3.212 E F4(,)A F0 .712(the v) 2.962 F .712(alue returned upon subsequent references is the number)-.25 -F .407(of seconds since the assignment plus the v)144 532.8 R .408 -(alue assigned.)-.25 F(If)5.408 E F2(SECONDS)2.908 E F0 .408 -(is unset, it loses its special)2.658 F(properties, e)144 544.8 Q -.15 -(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G -(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 561.6 Q F0 3.263(Ac)144 -573.6 S .763(olon-separated list of enabled shell options.)-3.263 F .763 +F .408(of seconds since the assignment plus the v)144 468 R .408 +(alue assigned.)-.25 F(If)5.408 E F3(SECONDS)2.908 E F0 .407 +(is unset, it loses its special)2.658 F(properties, e)144 480 Q -.15(ve) +-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G +(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 496.8 Q F0 3.262(Ac)144 +508.8 S .763(olon-separated list of enabled shell options.)-3.262 F .763 (Each w)5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F -.763(gument for the)-.18 F F1<ad6f>144 585.6 Q F0 1.173(option to the) -3.673 F F1(set)3.673 E F0 -.2(bu)3.673 G 1.173(iltin command \(see).2 F -F2 1.174(SHELL B)3.674 F(UIL)-.09 E 1.174(TIN COMMANDS)-.828 F F0(belo) -3.424 E 3.674(w\). The)-.25 F(options)3.674 E .02(appearing in)144 597.6 -R F2(SHELLOPTS)2.52 E F0 .019(are those reported as)2.27 F F3(on)2.749 E -F0(by)2.759 E F1 .019(set \255o)2.519 F F0 5.019(.I)C 2.519(ft)-5.019 G -.019(his v)-2.519 F .019(ariable is in the en)-.25 F(vironment)-.4 E -(when)144 609.6 Q F1(bash)3.141 E F0 .642(starts up, each 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 621.6 Q(ariable is read-only) --.25 E(.)-.65 E F1(SHL)108 638.4 Q(VL)-.92 E F0 -(Incremented by one each time an instance of)144 650.4 Q F1(bash)2.5 E -F0(is started.)2.5 E F1(UID)108 667.2 Q F0 +.763(gument for the)-.18 F F1<ad6f>144 520.8 Q F0 1.174(option to the) +3.674 F F1(set)3.674 E F0 -.2(bu)3.674 G 1.174(iltin command \(see).2 F +F3 1.173(SHELL B)3.673 F(UIL)-.09 E 1.173(TIN COMMANDS)-.828 F F0(belo) +3.423 E 3.673(w\). The)-.25 F(options)3.673 E .019(appearing in)144 +532.8 R F3(SHELLOPTS)2.519 E F0 .019(are those reported as)2.269 F F2 +(on)2.749 E F0(by)2.759 E F1 .019(set \255o)2.519 F F0 5.019(.I)C 2.519 +(ft)-5.019 G .019(his v)-2.519 F .02(ariable is in the en)-.25 F +(vironment)-.4 E(when)144 544.8 Q F1(bash)3.142 E F0 .642(starts up, ea\ +ch shell option in the list will be enabled before reading an)3.142 F +3.141(ys)-.15 G .641(tartup \214les.)-3.141 F(This v)144 556.8 Q +(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 573.6 Q(VL)-.92 E F0 +(Incremented by one each time an instance of)144 585.6 Q F1(bash)2.5 E +F0(is started.)2.5 E F1(UID)108 602.4 Q F0 (Expands to the user ID of the current user)17.67 E 2.5(,i)-.4 G (nitialized at shell startup.)-2.5 E(This v)5 E(ariable is readonly)-.25 -E(.)-.65 E .994(The follo)108 684 R .994(wing v)-.25 F .994 +E(.)-.65 E .993(The follo)108 619.2 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 .993 -(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 696 Q --.65(w.)-.25 G(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(12) -185.955 E 0 Cg EP +(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(these cases are noted belo)108 631.2 +Q -.65(w.)-.25 G F1 -.3(BA)108 648 S(SH_ENV).3 E F0 .506 +(If this parameter is set when)144 660 R F1(bash)3.006 E F0 .506(is e) +3.006 F -.15(xe)-.15 G .505(cuting a shell script, its v).15 F .505 +(alue is interpreted as a \214lename)-.25 F .354 +(containing commands to initialize the shell, as in)144 672 R F2 +(~/.bashr)2.855 E(c)-.37 E F0 5.355(.T).31 G .355(he v)-5.355 F .355 +(alue of)-.25 F F3 -.27(BA)2.855 G(SH_ENV).27 E F0 .355(is subjected) +2.605 F .525(to parameter e)144 684 R .525 +(xpansion, command substitution, and arithmetic e)-.15 F .525 +(xpansion before being interpreted)-.15 F(as a \214le name.)144 696 Q F3 +-.666(PA)5 G(TH)-.189 E F0 +(is not used to search for the resultant \214le name.)2.25 E +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(12)185.955 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF -.3(BA)108 84 S(SH_ENV).3 E F0 .505 -(If this parameter is set when)144 96 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 .355 -(containing commands to initialize the shell, as in)144 108 R/F2 10 -/Times-Italic@0 SF(~/.bashr)2.855 E(c)-.37 E F0 5.354(.T).31 G .354 -(he v)-5.354 F .354(alue of)-.25 F/F3 9/Times-Bold@0 SF -.27(BA)2.854 G -(SH_ENV).27 E F0 .354(is subjected)2.604 F .525(to parameter e)144 120 R -.525(xpansion, command substitution, and arithmetic e)-.15 F .525 -(xpansion before being interpreted)-.15 F(as a \214le name.)144 132 Q F3 --.666(PA)5 G(TH)-.189 E F0 -(is not used to search for the resultant \214le name.)2.25 E F1(CDP)108 -144 Q -.95(AT)-.74 G(H).95 E F0 1.248(The search path for the)144 156 R -F1(cd)3.748 E F0 3.748(command. This)3.748 F 1.247 -(is a colon-separated list of directories in which the)3.748 F 3.795 -(shell looks for destination directories speci\214ed by the)144 168 R F1 -(cd)6.295 E F0 6.296(command. A)6.296 F 3.796(sample v)6.296 F 3.796 -(alue is)-.25 F/F4 10/Courier@0 SF(".:~:/usr")144 180 Q F0(.)A F1 -.3 -(BA)108 192 S(SH_XTRA).3 E(CEFD)-.55 E F0 .481(If set to an inte)144 204 -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 216 R F4 3.114(set -x)5.614 F F0 3.114 +-.35 E/F1 10/Times-Bold@0 SF(CDP)108 84 Q -.95(AT)-.74 G(H).95 E F0 +1.247(The search path for the)144 96 R F1(cd)3.747 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 108 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/F2 10/Courier@0 SF(".:~:/usr")144 120 Q F0(.)A F1 -.3 +(BA)108 132 S(SH_XTRA).3 E(CEFD)-.55 E F0 .48(If set to an inte)144 144 +R .48(ger corresponding to a v)-.15 F .481(alid \214le descriptor)-.25 F +(,)-.4 E F1(bash)2.981 E F0 .481(will write the trace output gener)2.981 +F(-)-.2 E 3.114(ated when)144 156 R F2 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 F1 -.3(BA)144 228 S -(SH_XTRA).3 E(CEFD)-.55 E F0 .117(is unset or assigned a ne)2.617 F -2.616(wv)-.25 G 2.616(alue. Unsetting)-2.866 F F1 -.3(BA)2.616 G -(SH_XTRA).3 E(CEFD)-.55 E F0 .116(or assign-)2.616 F .953(ing it the em\ -pty string causes the trace output to be sent to the standard error)144 -240 R 5.953(.N)-.55 G .953(ote that setting)-5.953 F F1 -.3(BA)144 252 S -(SH_XTRA).3 E(CEFD)-.55 E F0 .144(to 2 \(the standard error \214le desc\ -riptor\) and then unsetting it will result in the)2.644 F -(standard error being closed.)144 264 Q F1(COLUMNS)108 276 Q F0 .425 -(Used by the)144 288 R F1(select)2.925 E F0 -.2(bu)2.925 G .425(iltin c\ -ommand to determine the terminal width when printing selection lists.).2 -F(Automatically set upon receipt of a SIGWINCH.)144 300 Q F1(COMPREPL) -108 312 Q(Y)-.92 E F0 .848(An array v)144 324 R .848(ariable from which) --.25 F F1(bash)3.348 E F0 .848 +(he \214le descriptor is closed when)-8.114 F/F3 9/Times-Bold@0 SF -.27 +(BA)144 168 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 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 180 R 7.53(.N)-.55 G 2.53 +(ote that setting)-7.53 F F3 -.27(BA)144 192 S(SH_XTRA).27 E(CEFD)-.495 +E F0 .74(to 2 \(the standard error \214le descriptor\) and then unsetti\ +ng it will result in the)2.99 F(standard error being closed.)144 204 Q +F1(COLUMNS)108 216 Q F0 .425(Used by the)144 228 R F1(select)2.925 E F0 +-.2(bu)2.925 G .425(iltin command to determine the terminal width when \ +printing selection lists.).2 F +(Automatically set upon receipt of a SIGWINCH.)144 240 Q F1(COMPREPL)108 +252 Q(Y)-.92 E F0 .847(An array v)144 264 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 336 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G +(in)144 276 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G (he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E -(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 348 Q -(CS)-.55 E F0(If)144 360 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 -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 372 Q(uf)-.2 E -(fer and disables line editing.)-.25 E F1(FCEDIT)108 384 Q F0(The def) -144 396 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G -(iltin command.).2 E F1(FIGNORE)108 408 Q F0 2.599(Ac)144 420 S .098 -(olon-separated list of suf)-2.599 F<8c78>-.25 E .098 +(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 288 Q +(CS)-.55 E F0(If)144 300 Q F1(bash)2.536 E F0 .036(\214nds this v)2.536 +F .036(ariable in the en)-.25 F .036 +(vironment when the shell starts with v)-.4 F(alue)-.25 E F2(t)2.535 E +F0 2.535(,i)C 2.535(ta)-2.535 G .035(ssumes that the)-2.535 F +(shell is running in an emacs shell b)144 312 Q(uf)-.2 E +(fer and disables line editing.)-.25 E F1(FCEDIT)108 324 Q F0(The def) +144 336 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G +(iltin command.).2 E F1(FIGNORE)108 348 Q F0 2.598(Ac)144 360 S .098 +(olon-separated list of suf)-2.598 F<8c78>-.25 E .098 (es to ignore when performing \214lename completion \(see)-.15 F F3 -(READLINE)2.598 E F0(belo)144 432 Q 2.704(w\). A)-.25 F .204 -(\214lename whose suf)2.704 F .205(\214x matches one of the entries in) --.25 F F3(FIGNORE)2.705 E F0 .205(is e)2.455 F .205 -(xcluded from the list)-.15 F(of matched \214lenames.)144 444 Q 2.5(As)5 -G(ample v)-2.5 E(alue is)-.25 E F4(".o:~")2.5 E F0(.)A F1(GLOBIGNORE)108 -456 Q F0 3.118(Ac)144 468 S .618(olon-separated list of patterns de\214\ +(READLINE)2.599 E F0(belo)144 372 Q 2.705(w\). A)-.25 F .205 +(\214lename whose suf)2.705 F .205(\214x matches one of the entries in) +-.25 F F3(FIGNORE)2.705 E F0 .205(is e)2.455 F .204 +(xcluded from the list)-.15 F(of matched \214lenames.)144 384 Q 2.5(As)5 +G(ample v)-2.5 E(alue is)-.25 E F2(".o:~")2.5 E F0(.)A F1(GLOBIGNORE)108 +396 Q F0 3.118(Ac)144 408 S .618(olon-separated list of patterns de\214\ ning the set of \214lenames to be ignored by pathname e)-3.118 F(xpan-) --.15 E 3.131(sion. If)144 480 R 3.132<618c>3.131 G .632 +-.15 E 3.132(sion. If)144 420 R 3.132<618c>3.132 G .632 (lename matched by a pathname e)-3.132 F .632 (xpansion pattern also matches one of the patterns in)-.15 F F3 -(GLOBIGNORE)144 492 Q/F5 9/Times-Roman@0 SF(,)A F0(it is remo)2.25 E +(GLOBIGNORE)144 432 Q/F4 9/Times-Roman@0 SF(,)A F0(it is remo)2.25 E -.15(ve)-.15 G 2.5(df).15 G(rom the list of matches.)-2.5 E F1 -(HISTCONTR)108 504 Q(OL)-.3 E F0 2.654(Ac)144 516 S .153 -(olon-separated list of v)-2.654 F .153(alues controlling ho)-.25 F +(HISTCONTR)108 444 Q(OL)-.3 E F0 2.653(Ac)144 456 S .153 +(olon-separated list of v)-2.653 F .153(alues controlling ho)-.25 F 2.653(wc)-.25 G .153(ommands are sa)-2.653 F -.15(ve)-.2 G 2.653(do).15 -G 2.653(nt)-2.653 G .153(he history list.)-2.653 F .153(If the list) -5.153 F .49(of v)144 528 R .49(alues includes)-.25 F F2(ignor)2.99 E -(espace)-.37 E F0 2.99(,l).18 G .49(ines which be)-2.99 F .491 -(gin with a)-.15 F F1(space)2.991 E F0 .491(character are not sa)2.991 F --.15(ve)-.2 G 2.991(di).15 G 2.991(nt)-2.991 G .491(he his-)-2.991 F -.558(tory list.)144 540 R 3.058(Av)5.558 G .558(alue of)-3.308 F F2 -(ignor)3.068 E(edups)-.37 E F0 .558(causes lines matching the pre)3.328 -F .557(vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E -2.958(Av)144 552 S .458(alue of)-3.208 F F2(ignor)2.968 E(eboth)-.37 E -F0 .458(is shorthand for)3.238 F F2(ignor)2.959 E(espace)-.37 E F0(and) -2.959 E F2(ignor)2.959 E(edups)-.37 E F0 5.459(.A)C -.25(va)-2.5 G .459 -(lue of).25 F F2(er)2.959 E(asedups)-.15 E F0(causes)2.959 E .699 -(all pre)144 564 R .698 +G 2.653(nt)-2.653 G .153(he history list.)-2.653 F .154(If the list) +5.153 F .491(of v)144 468 R .491(alues includes)-.25 F/F5 10 +/Times-Italic@0 SF(ignor)2.991 E(espace)-.37 E F0 2.991(,l).18 G .491 +(ines which be)-2.991 F .491(gin with a)-.15 F F1(space)2.991 E F0 .49 +(character are not sa)2.991 F -.15(ve)-.2 G 2.99(di).15 G 2.99(nt)-2.99 +G .49(he his-)-2.99 F .557(tory list.)144 480 R 3.057(Av)5.557 G .557 +(alue of)-3.307 F F5(ignor)3.067 E(edups)-.37 E F0 .557 +(causes lines matching the pre)3.327 F .558 +(vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E 2.959 +(Av)144 492 S .459(alue of)-3.209 F F5(ignor)2.969 E(eboth)-.37 E F0 +.459(is shorthand for)3.239 F F5(ignor)2.959 E(espace)-.37 E F0(and) +2.959 E F5(ignor)2.958 E(edups)-.37 E F0 5.458(.A)C -.25(va)-2.5 G .458 +(lue of).25 F F5(er)2.958 E(asedups)-.15 E F0(causes)2.958 E .698 +(all pre)144 504 R .698 (vious lines matching the current line to be remo)-.25 F -.15(ve)-.15 G -3.198(df).15 G .698(rom the history list before that line is)-3.198 F -(sa)144 576 Q -.15(ve)-.2 G 4.296(d. An).15 F 4.296(yv)-.15 G 1.797 -(alue not in the abo)-4.546 F 2.097 -.15(ve l)-.15 H 1.797 -(ist is ignored.).15 F(If)6.797 E F1(HISTCONTR)4.297 E(OL)-.3 E F0 1.797 -(is unset, or does not)4.297 F .613(include a v)144 588 R .612(alid v) --.25 F .612(alue, all lines read by the shell parser are sa)-.25 F -.15 -(ve)-.2 G 3.112(do).15 G 3.112(nt)-3.112 G .612 -(he history list, subject to the)-3.112 F -.25(va)144 600 S .985(lue of) -.25 F F1(HISTIGNORE)3.485 E F0 5.986(.T)C .986 -(he second and subsequent lines of a multi-line compound command)-5.986 -F(are not tested, and are added to the history re)144 612 Q -.05(ga)-.15 -G(rdless of the v).05 E(alue of)-.25 E F1(HISTCONTR)2.5 E(OL)-.3 E F0(.) -A F1(HISTFILE)108 624 Q F0 .181 -(The name of the \214le in which command history is sa)144 636 R -.15 +3.198(df).15 G .699(rom the history list before that line is)-3.198 F +(sa)144 516 Q -.15(ve)-.2 G 2.764(d. An).15 F 2.764(yv)-.15 G .264 +(alue not in the abo)-3.014 F .563 -.15(ve l)-.15 H .263 +(ist is ignored.).15 F(If)5.263 E F3(HISTCONTR)2.763 E(OL)-.27 E F0 .263 +(is unset, or does not include)2.513 F 2.941(av)144 528 S .441(alid v) +-3.191 F .441(alue, all lines read by the shell parser are sa)-.25 F +-.15(ve)-.2 G 2.942(do).15 G 2.942(nt)-2.942 G .442 +(he history list, subject to the v)-2.942 F .442(alue of)-.25 F F3 +(HISTIGNORE)144 540 Q F4(.)A F0 1.981(The second and subsequent lines o\ +f a multi-line compound command are not)6.482 F +(tested, and are added to the history re)144 552 Q -.05(ga)-.15 G +(rdless of the v).05 E(alue of)-.25 E F3(HISTCONTR)2.5 E(OL)-.27 E F4(.) +A F1(HISTFILE)108 564 Q F0 .181 +(The name of the \214le in which command history is sa)144 576 R -.15 (ve)-.2 G 2.681(d\().15 G(see)-2.681 E F3(HIST)2.681 E(OR)-.162 E(Y) --.315 E F0(belo)2.431 E 2.681(w\). The)-.25 F(def)2.681 E .181(ault v) --.1 F(alue)-.25 E(is)144 648 Q F2(~/.bash_history)2.5 E F0 5(.I)C 2.5 +-.315 E F0(belo)2.431 E 2.682(w\). The)-.25 F(def)2.682 E .182(ault v) +-.1 F(alue)-.25 E(is)144 588 Q F5(~/.bash_history)2.5 E F0 5(.I)C 2.5 (fu)-5 G(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5 (dw).15 G(hen an interacti)-2.5 E .3 -.15(ve s)-.25 H(hell e).15 E -(xits.)-.15 E F1(HISTFILESIZE)108 660 Q F0 1.622 -(The maximum number of lines contained in the history \214le.)144 672 R -1.623(When this v)6.623 F 1.623(ariable is assigned a)-.25 F -.25(va)144 -684 S .305(lue, the history \214le is truncated, if necessary).25 F +(xits.)-.15 E F1(HISTFILESIZE)108 600 Q F0 1.623 +(The maximum number of lines contained in the history \214le.)144 612 R +1.622(When this v)6.623 F 1.622(ariable is assigned a)-.25 F -.25(va)144 +624 S .305(lue, the history \214le is truncated, if necessary).25 F 2.805(,b)-.65 G 2.805(yr)-2.805 G(emo)-2.805 E .305 -(ving the oldest entries, to contain no more)-.15 F .601 -(than that number of lines.)144 696 R .601(The def)5.601 F .602(ault v) --.1 F .602(alue is 500.)-.25 F .602 +(ving the oldest entries, to contain no more)-.15 F .602 +(than that number of lines.)144 636 R .602(The def)5.602 F .602(ault v) +-.1 F .602(alue is 500.)-.25 F .601 (The history \214le is also truncated to this size)5.602 F -(after writing it when an interacti)144 708 Q .3 -.15(ve s)-.25 H -(hell e).15 E(xits.)-.15 E(GNU Bash-4.1)72 768 Q(2009 December 23) -135.965 E(13)185.955 E 0 Cg EP +(after writing it when an interacti)144 648 Q .3 -.15(ve s)-.25 H +(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 660 Q F0 2.657(Ac)144 672 S +.157(olon-separated list of patterns used to decide which command lines\ + should be sa)-2.657 F -.15(ve)-.2 G 2.658(do).15 G 2.658(nt)-2.658 G +.158(he his-)-2.658 F .708(tory list.)144 684 R .708 +(Each pattern is anchored at the be)5.708 F .707 +(ginning of the line and must match the complete line)-.15 F .625 +(\(no implicit `)144 696 R F1(*)A F0 3.125('i)C 3.125(sa)-3.125 G 3.125 +(ppended\). Each)-3.125 F .626(pattern is tested ag)3.125 F .626 +(ainst the line after the checks speci\214ed by)-.05 F F3(HISTCONTR)144 +708 Q(OL)-.27 E F0 1.793(are applied.)4.043 F 1.793 +(In addition to the normal shell pattern matching characters, `)6.793 F +F1(&)A F0(')A 2.514(matches the pre)144 720 R 2.514(vious history line.) +-.25 F(`)7.514 E F1(&)A F0 5.014('m)C 2.514 +(ay be escaped using a backslash; the backslash is)-5.014 F +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(13)185.955 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(HISTIGNORE)108 84 Q F0 2.658(Ac)144 96 S -.158(olon-separated list of patterns used to decide which command lines\ - should be sa)-2.658 F -.15(ve)-.2 G 2.657(do).15 G 2.657(nt)-2.657 G -.157(he his-)-2.657 F .707(tory list.)144 108 R .707 -(Each pattern is anchored at the be)5.707 F .708 -(ginning of the line and must match the complete line)-.15 F .626 -(\(no implicit `)144 120 R F1(*)A F0 3.126('i)C 3.126(sa)-3.126 G 3.126 -(ppended\). Each)-3.126 F .626(pattern is tested ag)3.126 F .625 -(ainst the line after the checks speci\214ed by)-.05 F F1(HISTCONTR)144 -132 Q(OL)-.3 E F0 1.154(are applied.)3.654 F 1.154 -(In addition to the normal shell pattern matching characters, `)6.154 F -F1(&)A F0(')A 2.515(matches the pre)144 144 R 2.515(vious history line.) --.25 F(`)7.514 E F1(&)A F0 5.014('m)C 2.514 -(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 156 -Q -.15(ve)-.15 G 3.352(db).15 G .852(efore attempting a match.)-3.352 F -.852(The second and subsequent lines of a multi-line compound)5.852 F -(command are not tested, and are added to the history re)144 168 Q -.05 -(ga)-.15 G(rdless of the v).05 E(alue of)-.25 E F1(HISTIGNORE)2.5 E F0 -(.)A F1(HISTSIZE)108 180 Q F0 1.942 -(The number of commands to remember in the command history \(see)144 192 -R/F2 9/Times-Bold@0 SF(HIST)4.442 E(OR)-.162 E(Y)-.315 E F0(belo)4.192 E -4.442(w\). The)-.25 F(def)144 204 Q(ault v)-.1 E(alue is 500.)-.25 E F1 -(HISTTIMEFORMA)108 216 Q(T)-.95 E F0 .951(If this v)144 228 R .951 -(ariable is set and not null, its v)-.25 F .952 -(alue is used as a format string for)-.25 F/F3 10/Times-Italic@0 SF -(strftime)3.452 E F0 .952(\(3\) to print the)B .673 -(time stamp associated with each history entry displayed by the)144 240 -R F1(history)3.173 E F0 -.2(bu)3.172 G 3.172(iltin. If).2 F .672(this v) -3.172 F .672(ariable is)-.25 F .144 -(set, time stamps are written to the history \214le so the)144 252 R +-.35 E(remo)144 84 Q -.15(ve)-.15 G 3.353(db).15 G .853 +(efore attempting a match.)-3.353 F .852 +(The second and subsequent lines of a multi-line compound)5.852 F +(command are not tested, and are added to the history re)144 96 Q -.05 +(ga)-.15 G(rdless of the v).05 E(alue of)-.25 E/F1 9/Times-Bold@0 SF +(HISTIGNORE)2.5 E/F2 9/Times-Roman@0 SF(.)A/F3 10/Times-Bold@0 SF +(HISTSIZE)108 108 Q F0 1.942 +(The number of commands to remember in the command history \(see)144 120 +R F1(HIST)4.443 E(OR)-.162 E(Y)-.315 E F0(belo)4.193 E 4.443(w\). The) +-.25 F(def)144 132 Q(ault v)-.1 E(alue is 500.)-.25 E F3(HISTTIMEFORMA) +108 144 Q(T)-.95 E F0 .952(If this v)144 156 R .952 +(ariable is set and not null, its v)-.25 F .951 +(alue is used as a format string for)-.25 F/F4 10/Times-Italic@0 SF +(strftime)3.451 E F0 .951(\(3\) to print the)B .672 +(time stamp associated with each history entry displayed by the)144 168 +R F3(history)3.173 E F0 -.2(bu)3.173 G 3.173(iltin. If).2 F .673(this v) +3.173 F .673(ariable is)-.25 F .144 +(set, time stamps are written to the history \214le so the)144 180 R 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 264 Q -F1(HOME)108 276 Q F0 1.27 -(The home directory of the current user; the def)144 288 R 1.27(ault ar) --.1 F 1.27(gument for the)-.18 F F1(cd)3.77 E F0 -.2(bu)3.77 G 1.27 -(iltin command.).2 F(The)6.27 E -.25(va)144 300 S(lue of this v).25 E -(ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F1 -(HOSTFILE)108 312 Q F0 1.015 -(Contains the name of a \214le in the same format as)144 324 R F3 +(ed across shell sessions.)-.15 F(This)5.144 E(uses the history comment\ + character to distinguish timestamps from other history lines.)144 192 Q +F3(HOME)108 204 Q F0 1.27 +(The home directory of the current user; the def)144 216 R 1.27(ault ar) +-.1 F 1.27(gument for the)-.18 F F3(cd)3.77 E F0 -.2(bu)3.77 G 1.27 +(iltin command.).2 F(The)6.27 E -.25(va)144 228 S(lue of this v).25 E +(ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F3 +(HOSTFILE)108 240 Q F0 1.015 +(Contains the name of a \214le in the same format as)144 252 R F4 (/etc/hosts)5.181 E F0 1.015(that should be read when the shell)5.181 F -.551(needs to complete a hostname.)144 336 R .551 +.55(needs to complete a hostname.)144 264 R .551 (The list of possible hostname completions may be changed while)5.551 F -1.058(the shell is running; the ne)144 348 R 1.059 -(xt time hostname completion is attempted after the v)-.15 F 1.059 -(alue is changed,)-.25 F F1(bash)144 360 Q F0 .138 -(adds the contents of the ne)2.639 F 2.638<778c>-.25 G .138(le to the e) --2.638 F .138(xisting list.)-.15 F(If)5.138 E F2(HOSTFILE)2.638 E F0 -.138(is set, b)2.388 F .138(ut has no v)-.2 F .138(alue, or)-.25 F .517 -(does not name a readable \214le,)144 372 R F1(bash)3.017 E F0 .517 -(attempts to read)3.017 F F3(/etc/hosts)4.684 E F0 .518 -(to obtain the list of possible host-)4.684 F(name completions.)144 384 -Q(When)5 E F2(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.) -2.25 E F1(IFS)108 396 Q F0(The)20.44 E F3 .556(Internal F)3.636 F .556 -(ield Separ)-.45 F(ator)-.15 E F0 .556(that is used for w)3.786 F .556 -(ord splitting after e)-.1 F .555(xpansion and to split lines into)-.15 -F -.1(wo)144 408 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2 +1.059(the shell is running; the ne)144 276 R 1.059 +(xt time hostname completion is attempted after the v)-.15 F 1.058 +(alue is changed,)-.25 F F3(bash)144 288 Q F0 .138 +(adds the contents of the ne)2.638 F 2.638<778c>-.25 G .138(le to the e) +-2.638 F .138(xisting list.)-.15 F(If)5.138 E F1(HOSTFILE)2.638 E F0 +.138(is set, b)2.388 F .139(ut has no v)-.2 F .139(alue, or)-.25 F .518 +(does not name a readable \214le,)144 300 R F3(bash)3.018 E F0 .518 +(attempts to read)3.018 F F4(/etc/hosts)4.683 E F0 .517 +(to obtain the list of possible host-)4.683 F(name completions.)144 312 +Q(When)5 E F1(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.) +2.25 E F3(IFS)108 324 Q F0(The)20.44 E F4 .555(Internal F)3.635 F .555 +(ield Separ)-.45 F(ator)-.15 E F0 .555(that is used for w)3.785 F .556 +(ord splitting after e)-.1 F .556(xpansion and to split lines into)-.15 +F -.1(wo)144 336 S(rds with the).1 E F3 -.18(re)2.5 G(ad).18 E F0 -.2 (bu)2.5 G(iltin command.).2 E(The def)5 E(ault v)-.1 E(alue is `)-.25 E -(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E F1(IGNOREEOF)108 420 Q -F0 .503(Controls the action of an interacti)144 432 R .803 -.15(ve s) --.25 H .503(hell on receipt of an).15 F F2(EOF)3.003 E F0 .503 -(character as the sole input.)2.753 F .504(If set,)5.504 F .426(the v) -144 444 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2 +(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E F3(IGNOREEOF)108 348 Q +F0 .503(Controls the action of an interacti)144 360 R .803 -.15(ve s) +-.25 H .503(hell on receipt of an).15 F F1(EOF)3.003 E F0 .503 +(character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v) +144 372 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F1 (EOF)3.076 E F0 .426 -(characters which must be typed as the \214rst characters)2.676 F .302 -(on an input line before)144 456 R F1(bash)2.802 E F0 -.15(ex)2.802 G +(characters which must be typed as the \214rst characters)2.676 F .303 +(on an input line before)144 384 R F3(bash)2.802 E F0 -.15(ex)2.802 G 2.802(its. If).15 F .302(the v)2.802 F .302(ariable e)-.25 F .302 (xists b)-.15 F .302(ut does not ha)-.2 F .602 -.15(ve a n)-.2 H .302 -(umeric v).15 F .303(alue, or has)-.25 F(no v)144 468 Q(alue, the def) +(umeric v).15 F .302(alue, or has)-.25 F(no v)144 396 Q(alue, the def) -.25 E(ault v)-.1 E(alue is 10.)-.25 E(If it does not e)5 E(xist,)-.15 E -F2(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F1 -(INPUTRC)108 480 Q F0 1.436(The \214lename for the)144 492 R F1 -.18(re) +F1(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F3 +(INPUTRC)108 408 Q F0 1.435(The \214lename for the)144 420 R F3 -.18(re) 3.936 G(adline).18 E F0 1.436(startup \214le, o)3.936 F -.15(ve)-.15 G -1.436(rriding the def).15 F 1.436(ault of)-.1 F F3(~/.inputr)5.602 E(c) --.37 E F0(\(see)5.601 E F2(READLINE)3.935 E F0(belo)144 504 Q(w\).)-.25 -E F1(LANG)108 516 Q F0 1.239(Used to determine the locale cate)7.11 F -1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.24 +1.436(rriding the def).15 F 1.436(ault of)-.1 F F4(~/.inputr)5.602 E(c) +-.37 E F0(\(see)5.602 E F1(READLINE)3.936 E F0(belo)144 432 Q(w\).)-.25 +E F3(LANG)108 444 Q F0 1.24(Used to determine the locale cate)7.11 F +1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.239 (gory not speci\214cally selected with a v)-.15 F(ariable)-.25 E -(starting with)144 528 Q F1(LC_)2.5 E F0(.)A F1(LC_ALL)108 540 Q F0 .764 -(This v)144 552 R .764(ariable o)-.25 F -.15(ve)-.15 G .764 -(rrides the v).15 F .764(alue of)-.25 F F1(LANG)3.264 E F0 .764(and an) -3.264 F 3.264(yo)-.15 G(ther)-3.264 E F1(LC_)3.264 E F0 -.25(va)3.264 G -.764(riable specifying a locale cate-).25 F(gory)144 564 Q(.)-.65 E F1 -(LC_COLLA)108 576 Q(TE)-.95 E F0 .411(This v)144 588 R .412(ariable det\ +(starting with)144 456 Q F3(LC_)2.5 E F0(.)A F3(LC_ALL)108 468 Q F0 .973 +(This v)144 480 R .973(ariable o)-.25 F -.15(ve)-.15 G .973 +(rrides the v).15 F .973(alue of)-.25 F F1(LANG)3.473 E F0 .973(and an) +3.223 F 3.473(yo)-.15 G(ther)-3.473 E F3(LC_)3.473 E F0 -.25(va)3.473 G +.974(riable specifying a locale cate-).25 F(gory)144 492 Q(.)-.65 E F3 +(LC_COLLA)108 504 Q(TE)-.95 E F0 .412(This v)144 516 R .412(ariable det\ ermines the collation order used when sorting the results of pathname e) --.25 F(xpansion,)-.15 E 1.465(and determines the beha)144 600 R 1.465 -(vior of range e)-.2 F 1.464(xpressions, equi)-.15 F -.25(va)-.25 G -1.464(lence classes, and collating sequences).25 F(within pathname e)144 -612 Q(xpansion and pattern matching.)-.15 E F1(LC_CTYPE)108 624 Q F0 -1.935(This v)144 636 R 1.936 +-.25 F(xpansion,)-.15 E 1.464(and determines the beha)144 528 R 1.464 +(vior of range e)-.2 F 1.465(xpressions, equi)-.15 F -.25(va)-.25 G +1.465(lence classes, and collating sequences).25 F(within pathname e)144 +540 Q(xpansion and pattern matching.)-.15 E F3(LC_CTYPE)108 552 Q F0 +1.936(This v)144 564 R 1.936 (ariable determines the interpretation of characters and the beha)-.25 F -1.936(vior of character classes)-.2 F(within pathname e)144 648 Q -(xpansion and pattern matching.)-.15 E F1(LC_MESSA)108 660 Q(GES)-.55 E -F0(This v)144 672 Q(ariable determines the locale used to translate dou\ -ble-quoted strings preceded by a)-.25 E F1($)2.5 E F0(.)A F1(LC_NUMERIC) -108 684 Q F0(This v)144 696 Q(ariable determines the locale cate)-.25 E -(gory used for number formatting.)-.15 E F1(LINES)108 708 Q F0 1.219 -(Used by the)5.99 F F1(select)3.719 E F0 -.2(bu)3.719 G 1.218(iltin com\ +1.935(vior of character classes)-.2 F(within pathname e)144 576 Q +(xpansion and pattern matching.)-.15 E F3(LC_MESSA)108 588 Q(GES)-.55 E +F0(This v)144 600 Q(ariable determines the locale used to translate dou\ +ble-quoted strings preceded by a)-.25 E F3($)2.5 E F0(.)A F3(LC_NUMERIC) +108 612 Q F0(This v)144 624 Q(ariable determines the locale cate)-.25 E +(gory used for number formatting.)-.15 E F3(LINES)108 636 Q F0 1.218 +(Used by the)5.99 F F3(select)3.718 E F0 -.2(bu)3.718 G 1.219(iltin com\ mand to determine the column length for printing selection lists.).2 F -(Automatically set upon receipt of a SIGWINCH.)144 720 Q(GNU Bash-4.1)72 -768 Q(2009 December 23)135.965 E(14)185.955 E 0 Cg EP +(Automatically set upon receipt of a)144 648 Q F1(SIGWINCH)2.5 E F2(.)A +F3(MAIL)108 660 Q F0 .188 +(If this parameter is set to a \214le name and the)8.78 F F1(MAILP)2.687 +E -.855(AT)-.666 G(H).855 E F0 -.25(va)2.437 G .187(riable is not set,) +.25 F F3(bash)2.687 E F0 .187(informs the user)2.687 F(of the arri)144 +672 Q -.25(va)-.25 G 2.5(lo).25 G 2.5(fm)-2.5 G +(ail in the speci\214ed \214le.)-2.5 E F3(MAILCHECK)108 684 Q F0 .098 +(Speci\214es ho)144 696 R 2.598(wo)-.25 G .098(ften \(in seconds\)) +-2.598 F F3(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def) +5.098 F .098(ault is 60 seconds.)-.1 F .099(When it is time)5.099 F .224 +(to check for mail, the shell does so before displaying the primary pro\ +mpt.)144 708 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F .066 +(or set to a v)144 720 R .066(alue that is not a number greater than or\ + equal to zero, the shell disables mail checking.)-.25 F(GNU Bash-4.1)72 +768 Q(2009 December 29)135.965 E(14)185.955 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(MAIL)108 84 Q F0 .187 -(If this parameter is set to a \214le name and the)8.78 F/F2 9 -/Times-Bold@0 SF(MAILP)2.687 E -.855(AT)-.666 G(H).855 E F0 -.25(va) -2.438 G .188(riable is not set,).25 F F1(bash)2.688 E F0 .188 -(informs the user)2.688 F(of the arri)144 96 Q -.25(va)-.25 G 2.5(lo).25 -G 2.5(fm)-2.5 G(ail in the speci\214ed \214le.)-2.5 E F1(MAILCHECK)108 -108 Q F0 .099(Speci\214es ho)144 120 R 2.599(wo)-.25 G .099 -(ften \(in seconds\))-2.599 F F1(bash)2.598 E F0 .098(checks for mail.) -2.598 F .098(The def)5.098 F .098(ault is 60 seconds.)-.1 F .098 -(When it is time)5.098 F .223(to check for mail, the shell does so befo\ -re displaying the primary prompt.)144 132 R .224(If this v)5.224 F .224 -(ariable is unset,)-.25 F .066(or set to a v)144 144 R .066(alue that i\ -s not a number greater than or equal to zero, the shell disables mail c\ -hecking.)-.25 F F1(MAILP)108 156 Q -.95(AT)-.74 G(H).95 E F0 2.814(Ac) -144 168 S .314(olon-separated list of \214le names to be check)-2.814 F -.314(ed for mail.)-.1 F .314(The message to be printed when mail)5.314 F -(arri)144 180 Q -.15(ve)-.25 G 3.42(si).15 G 3.42(nap)-3.42 G .92(artic\ -ular \214le may be speci\214ed by separating the \214le name from the m\ -essage with a)-3.42 F 2.807(`?'. When)144 192 R .307(used in the te) -2.807 F .308(xt of the message,)-.15 F F1($_)2.808 E F0 -.15(ex)2.808 G -.308(pands to the name of the current mail\214le.).15 F(Exam-)5.308 E -(ple:)144 204 Q F1(MAILP)144 216 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A +-.35 E/F1 10/Times-Bold@0 SF(MAILP)108 84 Q -.95(AT)-.74 G(H).95 E F0 +2.815(Ac)144 96 S .314(olon-separated list of \214le names to be check) +-2.815 F .314(ed for mail.)-.1 F .314 +(The message to be printed when mail)5.314 F(arri)144 108 Q -.15(ve)-.25 +G 3.42(si).15 G 3.42(nap)-3.42 G .92(articular \214le may be speci\214e\ +d by separating the \214le name from the message with a)-3.42 F 2.808 +(`?'. When)144 120 R .308(used in the te)2.808 F .308 +(xt of the message,)-.15 F F1($_)2.808 E F0 -.15(ex)2.808 G .308 +(pands to the name of the current mail\214le.).15 F(Exam-)5.307 E(ple:) +144 132 Q F1(MAILP)144 144 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A (ar/mail/bfox?"Y)-.25 E(ou ha)-1.1 E .3 -.15(ve m)-.2 H -(ail":~/shell\255mail?"$_ has mail!"\010).15 E F1(Bash)144 228 Q F0 .389 -(supplies a def)2.889 F .389(ault v)-.1 F .389(alue for this v)-.25 F -.389(ariable, b)-.25 F .388 +(ail":~/shell\255mail?"$_ has mail!"\010).15 E F1(Bash)144 156 Q F0 .388 +(supplies a def)2.888 F .388(ault v)-.1 F .388(alue for this v)-.25 F +.388(ariable, b)-.25 F .389 (ut the location of the user mail \214les that it uses is)-.2 F -(system dependent \(e.g., /v)144 240 Q(ar/mail/)-.25 E F1($USER)A F0 -(\).)A F1(OPTERR)108 252 Q F0 .389(If set to the v)144 264 R .389 -(alue 1,)-.25 F F1(bash)2.889 E F0 .389 -(displays error messages generated by the)2.889 F F1(getopts)2.89 E F0 --.2(bu)2.89 G .39(iltin command \(see).2 F F2 .36(SHELL B)144 276 R(UIL) --.09 E .36(TIN COMMANDS)-.828 F F0(belo)2.61 E(w\).)-.25 E F2(OPTERR) -5.36 E F0 .359(is initialized to 1 each time the shell is in)2.61 F -.2 -(vo)-.4 G -.1(ke).2 G(d).1 E(or a shell script is e)144 288 Q -.15(xe) --.15 G(cuted.).15 E F1 -.74(PA)108 300 S(TH)-.21 E F0 .587 -(The search path for commands.)9.91 F .588 +(system dependent \(e.g., /v)144 168 Q(ar/mail/)-.25 E F1($USER)A F0 +(\).)A F1(OPTERR)108 180 Q F0 .39(If set to the v)144 192 R .39(alue 1,) +-.25 F F1(bash)2.89 E F0 .389(displays error messages generated by the) +2.889 F F1(getopts)2.889 E F0 -.2(bu)2.889 G .389(iltin command \(see).2 +F/F2 9/Times-Bold@0 SF .359(SHELL B)144 204 R(UIL)-.09 E .359 +(TIN COMMANDS)-.828 F F0(belo)2.609 E(w\).)-.25 E F2(OPTERR)5.359 E F0 +.36(is initialized to 1 each time the shell is in)2.609 F -.2(vo)-.4 G +-.1(ke).2 G(d).1 E(or a shell script is e)144 216 Q -.15(xe)-.15 G +(cuted.).15 E F1 -.74(PA)108 228 S(TH)-.21 E F0 .588 +(The search path for commands.)9.91 F .587 (It is a colon-separated list of directories in which the shell looks) -5.587 F .472(for commands \(see)144 312 R F2 .472(COMMAND EXECUTION) -2.972 F F0(belo)2.722 E 2.972(w\). A)-.25 F .471 -(zero-length \(null\) directory name in the)2.972 F -.25(va)144 324 S -.344(lue of).25 F F1 -.74(PA)2.844 G(TH)-.21 E F0 .344 -(indicates the current directory)2.844 F 5.345(.A)-.65 G .345 -(null directory name may appear as tw)-2.5 F 2.845(oa)-.1 G(djacent) --2.845 E .868(colons, or as an initial or trailing colon.)144 336 R .868 -(The def)5.868 F .867(ault path is system-dependent, and is set by the) --.1 F 26.328(administrator who installs)144 348 R F1(bash)28.828 E F0 -31.329(.A)C 26.329(common v)-2.5 F 26.329(alue is)-.25 F/F3 10/Courier@0 -SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 360 Q F0(.)A -F1(POSIXL)108 372 Q(Y_CORRECT)-.92 E F0 .472(If this v)144 384 R .472 -(ariable is in the en)-.25 F .471(vironment when)-.4 F F1(bash)2.971 E -F0 .471(starts, the shell enters)2.971 F/F4 10/Times-Italic@0 SF .471 -(posix mode)2.971 F F0 .471(before reading)2.971 F .011 -(the startup \214les, as if the)144 396 R F1(\255\255posix)2.511 E F0 +5.588 F .471(for commands \(see)144 240 R F2 .471(COMMAND EXECUTION) +2.971 F F0(belo)2.722 E 2.972(w\). A)-.25 F .472 +(zero-length \(null\) directory name in the)2.972 F -.25(va)144 252 S +.536(lue of).25 F F2 -.666(PA)3.036 G(TH)-.189 E F0 .535 +(indicates the current directory)2.786 F 5.535(.A)-.65 G .535 +(null directory name may appear as tw)-2.5 F 3.035(oa)-.1 G(djacent) +-3.035 E .867(colons, or as an initial or trailing colon.)144 264 R .868 +(The def)5.868 F .868(ault path is system-dependent, and is set by the) +-.1 F 26.329(administrator who installs)144 276 R F1(bash)28.829 E F0 +31.329(.A)C 26.328(common v)-2.501 F 26.328(alue is)-.25 F/F3 10 +/Courier@0 SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 288 +Q F0(.)A F1(POSIXL)108 300 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 312 +R .471(ariable is in the en)-.25 F .471(vironment when)-.4 F F1(bash) +2.971 E F0 .471(starts, the shell enters)2.971 F/F4 10/Times-Italic@0 SF +.472(posix mode)2.972 F F0 .472(before reading)2.972 F .011 +(the startup \214les, as if the)144 324 R F1(\255\255posix)2.511 E F0 (in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F .011 -(If it is set while the shell is)5.011 F(running,)144 408 Q F1(bash)2.5 +(If it is set while the shell is)5.011 F(running,)144 336 Q F1(bash)2.5 E F0(enables)2.5 E F4(posix mode)2.5 E F0 2.5(,a)C 2.5(si)-2.5 G 2.5(ft) -2.5 G(he command)-2.5 E F3(set -o posix)2.5 E F0(had been e)2.5 E -.15 -(xe)-.15 G(cuted.).15 E F1(PR)108 420 Q(OMPT_COMMAND)-.3 E F0 -(If set, the v)144 432 Q(alue is e)-.25 E -.15(xe)-.15 G +(xe)-.15 G(cuted.).15 E F1(PR)108 348 Q(OMPT_COMMAND)-.3 E F0 +(If set, the v)144 360 Q(alue is e)-.25 E -.15(xe)-.15 G (cuted as a command prior to issuing each primary prompt.).15 E F1(PR) -108 444 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676 -(If set to a number greater than zero, the v)144 456 R .676 +108 372 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676 +(If set to a number greater than zero, the v)144 384 R .676 (alue is used as the number of trailing directory compo-)-.25 F .923 -(nents to retain when e)144 468 R .923(xpanding the)-.15 F F1(\\w)3.423 +(nents to retain when e)144 396 R .923(xpanding the)-.15 F F1(\\w)3.423 E F0(and)3.423 E F1(\\W)3.423 E F0 .923(prompt string escapes \(see) 3.423 F F2(PR)3.423 E(OMPTING)-.27 E F0(belo)3.173 E(w\).)-.25 E -(Characters remo)144 480 Q -.15(ve)-.15 G 2.5(da).15 G -(re replaced with an ellipsis.)-2.5 E F1(PS1)108 492 Q F0 .065(The v) +(Characters remo)144 408 Q -.15(ve)-.15 G 2.5(da).15 G +(re replaced with an ellipsis.)-2.5 E F1(PS1)108 420 Q F0 .064(The v) 19.33 F .065(alue of this parameter is e)-.25 F .065(xpanded \(see)-.15 F F2(PR)2.565 E(OMPTING)-.27 E F0(belo)2.315 E .065 -(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 504 R +(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 432 R (def)2.5 E(ault v)-.1 E(alue is `)-.25 E(`)-.74 E F1(\\s\255\\v\\$)A F0 --.74('')2.5 G(.).74 E F1(PS2)108 516 Q F0 .004(The v)19.33 F .004 -(alue of this parameter is e)-.25 F .005(xpanded as with)-.15 F F1(PS1) -2.505 E F0 .005(and used as the secondary prompt string.)2.505 F(The) -5.005 E(def)144 528 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G -(.).74 E F1(PS3)108 540 Q F0 1.116(The v)19.33 F 1.115 +-.74('')2.5 G(.).74 E F1(PS2)108 444 Q F0 .118(The v)19.33 F .118 +(alue of this parameter is e)-.25 F .118(xpanded as with)-.15 F F2(PS1) +2.617 E F0 .117(and used as the secondary prompt string.)2.367 F(The) +5.117 E(def)144 456 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G +(.).74 E F1(PS3)108 468 Q F0 1.115(The v)19.33 F 1.115 (alue of this parameter is used as the prompt for the)-.25 F F1(select) -3.615 E F0 1.115(command \(see)3.615 F F2 1.115(SHELL GRAM-)3.615 F(MAR) -144 552 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 564 Q F0 -1.098(The v)19.33 F 1.099(alue of this parameter is e)-.25 F 1.099 -(xpanded as with)-.15 F F1(PS1)3.599 E F0 1.099(and the v)3.599 F 1.099 -(alue is printed before each com-)-.25 F(mand)144 576 Q F1(bash)3.726 E -F0 1.226(displays during an e)3.726 F -.15(xe)-.15 G 1.226 -(cution trace.).15 F 1.225(The \214rst character of)6.226 F F2(PS4)3.725 -E F0 1.225(is replicated multiple)3.475 F(times, as necessary)144 588 Q -2.5(,t)-.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G +3.615 E F0 1.116(command \(see)3.616 F F2 1.116(SHELL GRAM-)3.616 F(MAR) +144 480 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 492 Q F0 +.101(The v)19.33 F .101(alue of this parameter is e)-.25 F .101 +(xpanded as with)-.15 F F2(PS1)2.6 E F0 .1(and the v)2.35 F .1 +(alue is printed before each command)-.25 F F1(bash)144 504 Q F0 .291 +(displays during an e)2.791 F -.15(xe)-.15 G .292(cution trace.).15 F +.292(The \214rst character of)5.292 F F2(PS4)2.792 E F0 .292 +(is replicated multiple times, as)2.542 F(necessary)144 516 Q 2.5(,t) +-.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G (ls of indirection.).15 E(The def)5 E(ault is `)-.1 E(`)-.74 E F1(+)A F0 --.74('')2.5 G(.).74 E F1(SHELL)108 600 Q F0 .663 -(The full pathname to the shell is k)144 612 R .664(ept in this en)-.1 F -.664(vironment v)-.4 F 3.164(ariable. If)-.25 F .664 -(it is not set when the shell)3.164 F(starts,)144 624 Q F1(bash)2.5 E F0 +-.74('')2.5 G(.).74 E F1(SHELL)108 528 Q F0 .664 +(The full pathname to the shell is k)144 540 R .664(ept in this en)-.1 F +.664(vironment v)-.4 F 3.164(ariable. If)-.25 F .663 +(it is not set when the shell)3.164 F(starts,)144 552 Q F1(bash)2.5 E F0 (assigns to it the full pathname of the current user')2.5 E 2.5(sl)-.55 -G(ogin shell.)-2.5 E F1(TIMEFORMA)108 636 Q(T)-.95 E F0 .827(The v)144 -648 R .826 +G(ogin shell.)-2.5 E F1(TIMEFORMA)108 564 Q(T)-.95 E F0 .826(The v)144 +576 R .826 (alue of this parameter is used as a format string specifying ho)-.25 F -3.326(wt)-.25 G .826(he timing information for)-3.326 F .648 -(pipelines pre\214x)144 660 R .648(ed with the)-.15 F F1(time)3.148 E F0 -(reserv)3.148 E .648(ed w)-.15 F .649(ord should be displayed.)-.1 F -(The)5.649 E F1(%)3.149 E F0 .649(character introduces)3.149 F .712 -(an escape sequence that is e)144 672 R .711(xpanded to a time v)-.15 F -.711(alue or other information.)-.25 F .711(The escape sequences)5.711 F -(and their meanings are as follo)144 684 Q -(ws; the braces denote optional portions.)-.25 E F1(%%)144 702 Q F0 2.5 -(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 714 Q F4(p)A F1 -(][l]R)A F0(The elapsed time in seconds.)11.68 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(15)185.955 E 0 Cg EP +3.327(wt)-.25 G .827(he timing information for)-3.327 F .649 +(pipelines pre\214x)144 588 R .649(ed with the)-.15 F F1(time)3.149 E F0 +(reserv)3.149 E .649(ed w)-.15 F .648(ord should be displayed.)-.1 F +(The)5.648 E F1(%)3.148 E F0 .648(character introduces)3.148 F .711 +(an escape sequence that is e)144 600 R .711(xpanded to a time v)-.15 F +.712(alue or other information.)-.25 F .712(The escape sequences)5.712 F +(and their meanings are as follo)144 612 Q +(ws; the braces denote optional portions.)-.25 E F1(%%)144 630 Q F0 2.5 +(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 642 Q F4(p)A F1 +(][l]R)A F0(The elapsed time in seconds.)11.68 E F1(%[)144 654 Q F4(p)A +F1(][l]U)A F0(The number of CPU seconds spent in user mode.)11.68 E F1 +(%[)144 666 Q F4(p)A F1(][l]S)A F0 +(The number of CPU seconds spent in system mode.)13.34 E F1(%P)144 678 Q +F0(The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87 +(The optional)144 694.8 R F4(p)3.37 E F0 .87(is a digit specifying the) +3.37 F F4(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87 +(he number of fractional digits after a decimal)-3.37 F 2.525(point. A) +144 706.8 R -.25(va)2.525 G .025 +(lue of 0 causes no decimal point or fraction to be output.).25 F .026 +(At most three places after the)5.025 F .538 +(decimal point may be speci\214ed; v)144 718.8 R .538(alues of)-.25 F F4 +(p)3.038 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.537 E +F4(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 730.8 Q +(alue 3 is used.)-.25 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E +(15)185.955 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(%[)144 84 Q/F2 10/Times-Italic@0 SF(p)A F1 -(][l]U)A F0(The number of CPU seconds spent in user mode.)11.68 E F1(%[) -144 96 Q F2(p)A F1(][l]S)A F0 -(The number of CPU seconds spent in system mode.)13.34 E F1(%P)144 108 Q -F0(The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87 -(The optional)144 124.8 R F2(p)3.37 E F0 .87(is a digit specifying the) -3.37 F F2(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87 -(he number of fractional digits after a decimal)-3.37 F 2.526(point. A) -144 136.8 R -.25(va)2.526 G .025 -(lue of 0 causes no decimal point or fraction to be output.).25 F .025 -(At most three places after the)5.025 F .537 -(decimal point may be speci\214ed; v)144 148.8 R .537(alues of)-.25 F F2 -(p)3.037 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.538 E -F2(p)3.038 E F0 .538(is not speci\214ed,)3.038 F(the v)144 160.8 Q -(alue 3 is used.)-.25 E .668(The optional)144 177.6 R F1(l)3.168 E F0 +-.35 E .667(The optional)144 84 R/F1 10/Times-Bold@0 SF(l)3.167 E F0 .668(speci\214es a longer format, including minutes, of the form)3.168 F -F2(MM)3.168 E F0(m)A F2(SS)A F0(.)A F2(FF)A F0 3.167(s. The)B -.25(va) -3.167 G(lue).25 E(of)144 189.6 Q F2(p)2.5 E F0 -(determines whether or not the fraction is included.)2.5 E(If this v)144 -206.4 Q(ariable is not set,)-.25 E F1(bash)2.501 E F0 .001 -(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.501 E -(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .495(If the v)144 -218.4 R .494(alue is null, no timing information is displayed.)-.25 F +/F2 10/Times-Italic@0 SF(MM)3.168 E F0(m)A F2(SS)A F0(.)A F2(FF)A F0 +3.168(s. The)B -.25(va)3.168 G(lue).25 E(of)144 96 Q F2(p)2.5 E F0 +(determines whether or not the fraction is included.)2.5 E .001 +(If this v)144 112.8 R .001(ariable is not set,)-.25 F F1(bash)2.501 E +F0 .001(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.5 E +(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .494(If the v)144 +124.8 R .494(alue is null, no timing information is displayed.)-.25 F 2.994(At)5.494 G .494(railing ne)-2.994 F .494 (wline is added when the for)-.25 F(-)-.2 E(mat string is displayed.)144 -230.4 Q F1(TMOUT)108 247.2 Q F0 .717(If set to a v)144 259.2 R .717 -(alue greater than zero,)-.25 F F1(TMOUT)3.217 E F0 .717 -(is treated as the def)3.217 F .718(ault timeout for the)-.1 F F1 -.18 -(re)3.218 G(ad).18 E F0 -.2(bu)3.218 G(iltin.).2 E(The)144 271.2 Q F1 -(select)2.542 E F0 .042(command terminates if input does not arri)2.542 -F .342 -.15(ve a)-.25 H(fter).15 E F1(TMOUT)2.542 E F0 .042 -(seconds when input is com-)2.542 F .885(ing from a terminal.)144 283.2 -R .885(In an interacti)5.885 F 1.185 -.15(ve s)-.25 H .885(hell, the v) -.15 F .886(alue is interpreted as the number of seconds to)-.25 F -.1 -(wa)144 295.2 S .546(it for input after issuing the primary prompt.).1 F +136.8 Q F1(TMOUT)108 153.6 Q F0 .941(If set to a v)144 165.6 R .941 +(alue greater than zero,)-.25 F/F3 9/Times-Bold@0 SF(TMOUT)3.441 E F0 +.941(is treated as the def)3.191 F .941(ault timeout for the)-.1 F F1 +-.18(re)3.441 G(ad).18 E F0 -.2(bu)3.441 G(iltin.).2 E(The)144 177.6 Q +F1(select)2.81 E F0 .31(command terminates if input does not arri)2.81 F +.611 -.15(ve a)-.25 H(fter).15 E F3(TMOUT)2.811 E F0 .311 +(seconds when input is com-)2.561 F .886(ing from a terminal.)144 189.6 +R .886(In an interacti)5.886 F 1.185 -.15(ve s)-.25 H .885(hell, the v) +.15 F .885(alue is interpreted as the number of seconds to)-.25 F -.1 +(wa)144 201.6 S .546(it for input after issuing the primary prompt.).1 F F1(Bash)5.546 E F0 .546(terminates after w)3.046 F .546 (aiting for that number of)-.1 F(seconds if input does not arri)144 -307.2 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 324 Q F0 .273(If set,)144 -336 R F1(Bash)2.773 E F0 .273(uses its v)2.773 F .274 -(alue as the name of a directory in which)-.25 F F1(Bash)2.774 E F0 .274 -(creates temporary \214les for the)2.774 F(shell')144 348 Q 2.5(su)-.55 -G(se.)-2.5 E F1(auto_r)108 364.8 Q(esume)-.18 E F0 .531(This v)144 376.8 -R .531(ariable controls ho)-.25 F 3.031(wt)-.25 G .531 -(he shell interacts with the user and job control.)-3.031 F .53 -(If this v)5.53 F .53(ariable is set,)-.25 F .538(single w)144 388.8 R +213.6 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 230.4 Q F0 .274(If set,)144 +242.4 R F1(Bash)2.774 E F0 .274(uses its v)2.774 F .274 +(alue as the name of a directory in which)-.25 F F1(Bash)2.773 E F0 .273 +(creates temporary \214les for the)2.773 F(shell')144 254.4 Q 2.5(su) +-.55 G(se.)-2.5 E F1(auto_r)108 271.2 Q(esume)-.18 E F0 .53(This v)144 +283.2 R .53(ariable controls ho)-.25 F 3.03(wt)-.25 G .531 +(he shell interacts with the user and job control.)-3.03 F .531 +(If this v)5.531 F .531(ariable is set,)-.25 F .539(single w)144 295.2 R .538(ord simple commands without redirections are treated as candidates\ - for resumption of an)-.1 F -.15(ex)144 400.8 S .367(isting stopped job) -.15 F 5.367(.T)-.4 G .366(here is no ambiguity allo)-5.367 F .366 -(wed; if there is more than one job be)-.25 F .366(ginning with)-.15 F -1.124(the string typed, the job most recently accessed is selected.)144 -412.8 R(The)6.125 E F2(name)3.985 E F0 1.125(of a stopped job, in this) -3.805 F(conte)144 424.8 Q 1.133 + for resumption of an)-.1 F -.15(ex)144 307.2 S .366(isting stopped job) +.15 F 5.366(.T)-.4 G .366(here is no ambiguity allo)-5.366 F .366 +(wed; if there is more than one job be)-.25 F .367(ginning with)-.15 F +1.125(the string typed, the job most recently accessed is selected.)144 +319.2 R(The)6.125 E F2(name)3.985 E F0 1.124(of a stopped job, in this) +3.805 F(conte)144 331.2 Q 1.132 (xt, is the command line used to start it.)-.15 F 1.133(If set to the v) -6.133 F(alue)-.25 E F2 -.2(ex)3.633 G(act).2 E F0 3.632(,t).68 G 1.132 -(he string supplied must)-3.632 F .624 -(match the name of a stopped job e)144 436.8 R .624(xactly; if set to) --.15 F F2(substring)3.125 E F0 3.125(,t).22 G .625 -(he string supplied needs to match a)-3.125 F .885 -(substring of the name of a stopped job)144 448.8 R 5.884(.T)-.4 G(he) --5.884 E F2(substring)3.724 E F0 -.25(va)3.604 G .884(lue pro).25 F .884 -(vides functionality analogous to)-.15 F(the)144 460.8 Q F1(%?)3.333 E -F0 .833(job identi\214er \(see)5.833 F/F3 9/Times-Bold@0 SF .834 -(JOB CONTR)3.334 F(OL)-.27 E F0(belo)3.084 E 3.334(w\). If)-.25 F .834 -(set to an)3.334 F 3.334(yo)-.15 G .834(ther v)-3.334 F .834 -(alue, the supplied string)-.25 F .316 -(must be a pre\214x of a stopped job')144 472.8 R 2.816(sn)-.55 G .316 -(ame; this pro)-2.816 F .315(vides functionality analogous to the)-.15 F -F1(%)2.815 E F2(string)A F0(job)2.815 E(identi\214er)144 484.8 Q(.)-.55 -E F1(histchars)108 501.6 Q F0 2.069(The tw)144 513.6 R 4.57(oo)-.1 G -4.57(rt)-4.57 G 2.07(hree characters which control history e)-4.57 F -2.07(xpansion and tok)-.15 F 2.07(enization \(see)-.1 F F3(HIST)4.57 E -(OR)-.162 E(Y)-.315 E(EXP)144 525.6 Q(ANSION)-.666 E F0(belo)3.466 E -3.716(w\). The)-.25 F 1.216(\214rst character is the)3.716 F F2 1.215 -(history e)3.715 F(xpansion)-.2 E F0(character)3.715 E 3.715(,t)-.4 G -1.215(he character which)-3.715 F .798(signals the start of a history e) -144 537.6 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B -.798(second character is the)3.298 F F2(quic)3.298 E 3.298(ks)-.2 G -(ubstitu-)-3.298 E(tion)144 549.6 Q F0(character)2.74 E 2.74(,w)-.4 G -.239(hich is used as shorthand for re-running the pre)-2.74 F .239 -(vious command entered, substitut-)-.25 F .575 -(ing one string for another in the command.)144 561.6 R .575(The def) -5.575 F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .576 -(optional third character is the)3.076 F .223(character which indicates\ +6.133 F(alue)-.25 E F2 -.2(ex)3.633 G(act).2 E F0 3.633(,t).68 G 1.133 +(he string supplied must)-3.633 F .625 +(match the name of a stopped job e)144 343.2 R .624(xactly; if set to) +-.15 F F2(substring)3.124 E F0 3.124(,t).22 G .624 +(he string supplied needs to match a)-3.124 F .884 +(substring of the name of a stopped job)144 355.2 R 5.884(.T)-.4 G(he) +-5.884 E F2(substring)3.724 E F0 -.25(va)3.604 G .885(lue pro).25 F .885 +(vides functionality analogous to)-.15 F(the)144 367.2 Q F1(%?)3.334 E +F0 .834(job identi\214er \(see)5.834 F F3 .834(JOB CONTR)3.334 F(OL)-.27 +E F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an)3.334 F 3.334(yo) +-.15 G .834(ther v)-3.334 F .833(alue, the supplied string)-.25 F .315 +(must be a pre\214x of a stopped job')144 379.2 R 2.816(sn)-.55 G .316 +(ame; this pro)-2.816 F .316(vides functionality analogous to the)-.15 F +F1(%)2.816 E F2(string)A F0(job)2.816 E(identi\214er)144 391.2 Q(.)-.55 +E F1(histchars)108 408 Q F0 2.07(The tw)144 420 R 4.57(oo)-.1 G 4.57(rt) +-4.57 G 2.07(hree characters which control history e)-4.57 F 2.07 +(xpansion and tok)-.15 F 2.07(enization \(see)-.1 F F3(HIST)4.569 E(OR) +-.162 E(Y)-.315 E(EXP)144 432 Q(ANSION)-.666 E F0(belo)3.465 E 3.715 +(w\). The)-.25 F 1.215(\214rst character is the)3.715 F F2 1.216 +(history e)3.715 F(xpansion)-.2 E F0(character)3.716 E 3.716(,t)-.4 G +1.216(he character which)-3.716 F .798(signals the start of a history e) +144 444 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B .798 +(second character is the)3.298 F F2(quic)3.298 E 3.298(ks)-.2 G +(ubstitu-)-3.298 E(tion)144 456 Q F0(character)2.739 E 2.739(,w)-.4 G +.239(hich is used as shorthand for re-running the pre)-2.739 F .24 +(vious command entered, substitut-)-.25 F .576 +(ing one string for another in the command.)144 468 R .575(The def)5.575 +F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .575 +(optional third character is the)3.075 F .223(character which indicates\ that the remainder of the line is a comment when found as the \214rst \ -char)144 573.6 R(-)-.2 E 1.293(acter of a w)144 585.6 R 1.293 -(ord, normally `)-.1 F F1(#)A F0 3.793('. The)B 1.294 -(history comment character causes history substitution to be)3.794 F .38 -(skipped for the remaining w)144 597.6 R .38(ords on the line.)-.1 F -.379(It does not necessarily cause the shell parser to treat)5.379 F -(the rest of the line as a comment.)144 609.6 Q F1(Arrays)87 626.4 Q -(Bash)108 638.4 Q F0(pro)3.39 E .89(vides one-dimensional inde)-.15 F --.15(xe)-.15 G 3.39(da).15 G .891(nd associati)-3.39 F 1.191 -.15(ve a) --.25 H .891(rray v).15 F 3.391(ariables. An)-.25 F 3.391(yv)-.15 G .891 -(ariable may be used as an)-3.641 F(inde)108 650.4 Q -.15(xe)-.15 G -2.574(da).15 G .074(rray; the)-2.574 F F1(declar)2.574 E(e)-.18 E F0 -.2 -(bu)2.574 G .074(iltin will e).2 F .073(xplicitly declare an array)-.15 -F 5.073(.T)-.65 G .073(here is no maximum limit on the size of)-5.073 F -.328(an array)108 662.4 R 2.828(,n)-.65 G .328(or an)-2.828 F 2.828(yr) --.15 G .329(equirement that members be inde)-2.828 F -.15(xe)-.15 G -2.829(do).15 G 2.829(ra)-2.829 G .329(ssigned contiguously)-2.829 F -5.329(.I)-.65 G(nde)-5.329 E -.15(xe)-.15 G 2.829(da).15 G .329 -(rrays are refer)-2.829 F(-)-.2 E 1.387(enced using inte)108 674.4 R -1.387(gers \(including arithmetic e)-.15 F 3.887(xpressions\) and)-.15 F -1.387(are zero-based; associati)3.887 F 1.686 -.15(ve a)-.25 H 1.386 -(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 686.4 -Q 2.462(An inde)108 703.2 R -.15(xe)-.15 G 4.962(da).15 G 2.462 -(rray is created automatically if an)-4.962 F 4.963(yv)-.15 G 2.463 -(ariable is assigned to using the syntax)-5.213 F F2(name)4.963 E F0([)A -F2(sub-)A(script)108 715.2 Q F0(]=)A F2(value)A F0 5.682(.T)C(he)-5.682 +char)144 480 R(-)-.2 E 1.294(acter of a w)144 492 R 1.294 +(ord, normally `)-.1 F F1(#)A F0 3.794('. The)B 1.293 +(history comment character causes history substitution to be)3.794 F +.379(skipped for the remaining w)144 504 R .379(ords on the line.)-.1 F +.38(It does not necessarily cause the shell parser to treat)5.379 F +(the rest of the line as a comment.)144 516 Q F1(Arrays)87 532.8 Q(Bash) +108 544.8 Q F0(pro)3.391 E .891(vides one-dimensional inde)-.15 F -.15 +(xe)-.15 G 3.391(da).15 G .891(nd associati)-3.391 F 1.191 -.15(ve a) +-.25 H .891(rray v).15 F 3.391(ariables. An)-.25 F 3.391(yv)-.15 G .89 +(ariable may be used as an)-3.641 F(inde)108 556.8 Q -.15(xe)-.15 G +2.573(da).15 G .073(rray; the)-2.573 F F1(declar)2.573 E(e)-.18 E F0 -.2 +(bu)2.573 G .073(iltin will e).2 F .073(xplicitly declare an array)-.15 +F 5.073(.T)-.65 G .074(here is no maximum limit on the size of)-5.073 F +.329(an array)108 568.8 R 2.829(,n)-.65 G .329(or an)-2.829 F 2.829(yr) +-.15 G .329(equirement that members be inde)-2.829 F -.15(xe)-.15 G +2.829(do).15 G 2.829(ra)-2.829 G .328(ssigned contiguously)-2.829 F +5.328(.I)-.65 G(nde)-5.328 E -.15(xe)-.15 G 2.828(da).15 G .328 +(rrays are refer)-2.828 F(-)-.2 E 1.386(enced using inte)108 580.8 R +1.386(gers \(including arithmetic e)-.15 F 3.887(xpressions\) and)-.15 F +1.387(are zero-based; associati)3.887 F 1.687 -.15(ve a)-.25 H 1.387 +(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 592.8 +Q 2.463(An inde)108 609.6 R -.15(xe)-.15 G 4.963(da).15 G 2.463 +(rray is created automatically if an)-4.963 F 4.963(yv)-.15 G 2.462 +(ariable is assigned to using the syntax)-5.213 F F2(name)4.962 E F0([)A +F2(sub-)A(script)108 621.6 Q F0(]=)A F2(value)A F0 5.682(.T)C(he)-5.682 E F2(subscript)3.522 E F0 .682(is treated as an arithmetic e)3.862 F .682(xpression that must e)-.15 F -.25(va)-.25 G .682 -(luate to a number greater).25 F .749(than or equal to zero.)108 727.2 R +(luate to a number greater).25 F .75(than or equal to zero.)108 633.6 R 2.349 -.8(To e)5.749 H .749(xplicitly declare an inde).65 F -.15(xe)-.15 G 3.249(da).15 G(rray)-3.249 E 3.249(,u)-.65 G(se)-3.249 E F1(declar) -3.249 E 3.249<65ad>-.18 G(a)-3.249 E F2(name)3.249 E F0(\(see)3.25 E F3 -.75(SHELL B)3.25 F(UIL)-.09 E(TIN)-.828 E F0(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(16)185.955 E 0 Cg EP +3.249 E 3.249<65ad>-.18 G(a)-3.249 E F2(name)3.249 E F0(\(see)3.249 E F3 +.749(SHELL B)3.249 F(UIL)-.09 E(TIN)-.828 E(COMMANDS)108 645.6 Q F0 +(belo)2.25 E(w\).)-.25 E F1(declar)5 E 2.5<65ad>-.18 G(a)-2.5 E F2(name) +2.5 E F1([)A F2(subscript)A F1(])A F0(is also accepted; the)2.5 E F2 +(subscript)2.5 E F0(is ignored.)2.5 E(Associati)108 662.4 Q .3 -.15 +(ve a)-.25 H(rrays are created using).15 E F1(declar)2.5 E 2.5<65ad>-.18 +G(A)-2.5 E F2(name)2.5 E F0(.)A(Attrib)108 679.2 Q .94 +(utes may be speci\214ed for an array v)-.2 F .941(ariable using the) +-.25 F F1(declar)3.441 E(e)-.18 E F0(and)3.441 E F1 -.18(re)3.441 G +(adonly).18 E F0 -.2(bu)3.441 G 3.441(iltins. Each).2 F(attrib)3.441 E +(ute)-.2 E(applies to all members of an array)108 691.2 Q(.)-.65 E 1.647 +(Arrays are assigned to using compound assignments of the form)108 708 R +F2(name)4.147 E F0(=)A F1(\()A F0 -.25(va)C(lue).25 E F2(1)A F0 1.647 +(... v)4.147 F(alue)-.25 E F2(n)A F1(\))A F0 4.147(,w)C 1.647(here each) +-4.147 F F2(value)108 720 Q F0 .122(is of the form [)2.622 F F2 +(subscript)A F0(]=)A F2(string)A F0 5.122(.I)C(nde)-5.122 E -.15(xe)-.15 +G 2.622(da).15 G .122(rray assignments do not require the brack)-2.622 F +.122(et and subscript.)-.1 F(GNU Bash-4.1)72 768 Q(2009 December 29) +135.965 E(16)185.955 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 9/Times-Bold@0 SF(COMMANDS)108 84 Q F0(belo)2.25 E(w\).)-.25 E -/F2 10/Times-Bold@0 SF(declar)5 E 2.5<65ad>-.18 G(a)-2.5 E/F3 10 -/Times-Italic@0 SF(name)2.5 E F2([)A F3(subscript)A F2(])A F0 -(is also accepted; the)2.5 E F3(subscript)2.5 E F0(is ignored.)2.5 E -(Associati)108 100.8 Q .3 -.15(ve a)-.25 H(rrays are created using).15 E -F2(declar)2.5 E 2.5<65ad>-.18 G(A)-2.5 E F3(name)2.5 E F0(.)A(Attrib)108 -117.6 Q .941(utes may be speci\214ed for an array v)-.2 F .941 -(ariable using the)-.25 F F2(declar)3.441 E(e)-.18 E F0(and)3.44 E F2 --.18(re)3.44 G(adonly).18 E F0 -.2(bu)3.44 G 3.44(iltins. Each).2 F -(attrib)3.44 E(ute)-.2 E(applies to all members of an array)108 129.6 Q -(.)-.65 E 1.647 -(Arrays are assigned to using compound assignments of the form)108 146.4 -R F3(name)4.147 E F0(=)A F2(\()A F0 -.25(va)C(lue).25 E F3(1)A F0 1.647 -(... v)4.147 F(alue)-.25 E F3(n)A F2(\))A F0 4.148(,w)C 1.648(here each) --4.148 F F3(value)108 158.4 Q F0 .122(is of the form [)2.622 F F3 -(subscript)A F0(]=)A F3(string)A F0 5.122(.I)C(nde)-5.122 E -.15(xe)-.15 -G 2.622(da).15 G .122(rray assignments do not require the brack)-2.622 F -.122(et and subscript.)-.1 F .163(When assigning to inde)108 170.4 R --.15(xe)-.15 G 2.663(da).15 G .163(rrays, if the optional brack)-2.663 F -.163(ets and subscript are supplied, that inde)-.1 F 2.664(xi)-.15 G -2.664(sa)-2.664 G(ssigned)-2.664 E 1.411(to; otherwise the inde)108 -182.4 R 3.911(xo)-.15 G 3.911(ft)-3.911 G 1.411 -(he element assigned is the last inde)-3.911 F 3.91(xa)-.15 G 1.41 -(ssigned to by the statement plus one.)-3.91 F(Inde)108 194.4 Q -(xing starts at zero.)-.15 E(When assigning to an associati)108 211.2 Q -.3 -.15(ve a)-.25 H(rray).15 E 2.5(,t)-.65 G(he subscript is required.) --2.5 E .239(This syntax is also accepted by the)108 228 R F2(declar) -2.739 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .24 -(vidual array elements may be assigned to using the)-.25 F F3(name)108 -240 Q F0([)A F3(subscript)A F0(]=)A F3(value)A F0(syntax introduced abo) -2.5 E -.15(ve)-.15 G(.).15 E(An)108 256.8 Q 3.576(ye)-.15 G 1.076 -(lement of an array may be referenced using ${)-3.576 F F3(name)A F0([)A -F3(subscript)A F0 3.575(]}. The)B 1.075(braces are required to a)3.575 F --.2(vo)-.2 G(id).2 E 1.541(con\215icts with pathname e)108 268.8 R 4.041 -(xpansion. If)-.15 F F3(subscript)4.041 E F0(is)4.041 E F2(@)4.041 E F0 -(or)4.041 E F2(*)4.041 E F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e) --.1 F 1.541(xpands to all members of)-.15 F F3(name)4.042 E F0(.)A 1.057 -(These subscripts dif)108 280.8 R 1.057(fer only when the w)-.25 F 1.057 -(ord appears within double quotes.)-.1 F 1.056(If the w)6.056 F 1.056 -(ord is double-quoted,)-.1 F(${)108 292.8 Q F3(name)A F0 .52([*]} e)B -.52(xpands to a single w)-.15 F .52(ord with the v)-.1 F .521 +-.35 E .164(When assigning to inde)108 84 R -.15(xe)-.15 G 2.663(da).15 +G .163(rrays, if the optional brack)-2.663 F .163 +(ets and subscript are supplied, that inde)-.1 F 2.663(xi)-.15 G 2.663 +(sa)-2.663 G(ssigned)-2.663 E 1.41(to; otherwise the inde)108 96 R 3.91 +(xo)-.15 G 3.91(ft)-3.91 G 1.41(he element assigned is the last inde) +-3.91 F 3.911(xa)-.15 G 1.411(ssigned to by the statement plus one.) +-3.911 F(Inde)108 108 Q(xing starts at zero.)-.15 E +(When assigning to an associati)108 124.8 Q .3 -.15(ve a)-.25 H(rray).15 +E 2.5(,t)-.65 G(he subscript is required.)-2.5 E .24 +(This syntax is also accepted by the)108 141.6 R/F1 10/Times-Bold@0 SF +(declar)2.74 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .239 +(vidual array elements may be assigned to using the)-.25 F/F2 10 +/Times-Italic@0 SF(name)108 153.6 Q F0([)A F2(subscript)A F0(]=)A F2 +(value)A F0(syntax introduced abo)2.5 E -.15(ve)-.15 G(.).15 E(An)108 +170.4 Q 3.575(ye)-.15 G 1.075 +(lement of an array may be referenced using ${)-3.575 F F2(name)A F0([)A +F2(subscript)A F0 3.575(]}. The)B 1.076(braces are required to a)3.576 F +-.2(vo)-.2 G(id).2 E 1.542(con\215icts with pathname e)108 182.4 R 4.041 +(xpansion. If)-.15 F F2(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0 +(or)4.041 E F1(*)4.041 E F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e) +-.1 F 1.541(xpands to all members of)-.15 F F2(name)4.041 E F0(.)A 1.056 +(These subscripts dif)108 194.4 R 1.056(fer only when the w)-.25 F 1.057 +(ord appears within double quotes.)-.1 F 1.057(If the w)6.057 F 1.057 +(ord is double-quoted,)-.1 F(${)108 206.4 Q F2(name)A F0 .521([*]} e)B +.521(xpands to a single w)-.15 F .521(ord with the v)-.1 F .52 (alue of each array member separated by the \214rst character)-.25 F -1.375(of the)108 304.8 R F1(IFS)3.875 E F0 1.375(special v)3.625 F 1.375 -(ariable, and ${)-.25 F F3(name)A F0 1.375([@]} e)B 1.375 -(xpands each element of)-.15 F F3(name)3.875 E F0 1.374(to a separate w) -3.875 F 3.874(ord. When)-.1 F 2.027(there are no array members, ${)108 -316.8 R F3(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F -2.028(If the double-quoted e)7.028 F 2.028(xpansion occurs)-.15 F .759 -(within a w)108 328.8 R .759(ord, the e)-.1 F .759 +1.374(of the)108 218.4 R/F3 9/Times-Bold@0 SF(IFS)3.874 E F0 1.374 +(special v)3.624 F 1.375(ariable, and ${)-.25 F F2(name)A F0 1.375 +([@]} e)B 1.375(xpands each element of)-.15 F F2(name)3.875 E F0 1.375 +(to a separate w)3.875 F 3.875(ord. When)-.1 F 2.028 +(there are no array members, ${)108 230.4 R F2(name)A F0 2.028([@]} e)B +2.028(xpands to nothing.)-.15 F 2.027(If the double-quoted e)7.028 F +2.027(xpansion occurs)-.15 F .758(within a w)108 242.4 R .759 +(ord, the e)-.1 F .759 (xpansion of the \214rst parameter is joined with the be)-.15 F .759 -(ginning part of the original w)-.15 F(ord,)-.1 E .515(and the e)108 -340.8 R .516(xpansion of the last parameter is joined with the last par\ -t of the original w)-.15 F 3.016(ord. This)-.1 F .516(is analogous)3.016 -F .228(to the e)108 352.8 R .228(xpansion of the special parameters)-.15 -F F2(*)2.728 E F0(and)2.728 E F2(@)2.728 E F0(\(see)2.728 E F2 .228 -(Special P)2.728 F(arameters)-.1 E F0(abo)2.727 E -.15(ve)-.15 G 2.727 -(\). ${#).15 F F3(name)A F0([)A F3(subscript)A F0(]})A -.15(ex)108 364.8 -S .886(pands to the length of ${).15 F F3(name)A F0([)A F3(subscript)A -F0 3.386(]}. If)B F3(subscript)3.386 E F0(is)3.386 E F2(*)3.386 E F0(or) -3.386 E F2(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886 -(xpansion is the number of ele-)-.15 F .463(ments in the array)108 376.8 -R 5.463(.R)-.65 G .463(eferencing an array v)-5.463 F .462 -(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .462 -(lent to referencing the array).25 F(with a subscript of 0.)108 388.8 Q -.168(An array v)108 405.6 R .168 +(ginning part of the original w)-.15 F(ord,)-.1 E .516(and the e)108 +254.4 R .516(xpansion of the last parameter is joined with the last par\ +t of the original w)-.15 F 3.015(ord. This)-.1 F .515(is analogous)3.015 +F .227(to the e)108 266.4 R .228(xpansion of the special parameters)-.15 +F F1(*)2.728 E F0(and)2.728 E F1(@)2.728 E F0(\(see)2.728 E F1 .228 +(Special P)2.728 F(arameters)-.1 E F0(abo)2.728 E -.15(ve)-.15 G 2.728 +(\). ${#).15 F F2(name)A F0([)A F2(subscript)A F0(]})A -.15(ex)108 278.4 +S .886(pands to the length of ${).15 F F2(name)A F0([)A F2(subscript)A +F0 3.386(]}. If)B F2(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or) +3.386 E F1(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886 +(xpansion is the number of ele-)-.15 F .462(ments in the array)108 290.4 +R 5.462(.R)-.65 G .462(eferencing an array v)-5.462 F .463 +(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .463 +(lent to referencing the array).25 F(with a subscript of 0.)108 302.4 Q +.168(An array v)108 319.2 R .168 (ariable is considered set if a subscript has been assigned a v)-.25 F 2.668(alue. The)-.25 F .168(null string is a v)2.668 F .168(alid v)-.25 -F(alue.)-.25 E(The)108 422.4 Q F2(unset)2.767 E F0 -.2(bu)2.767 G .267 -(iltin is used to destro).2 F 2.767(ya)-.1 G(rrays.)-2.767 E F2(unset) -5.267 E F3(name)2.767 E F0([)A F3(subscript)A F0 2.767(]d)C(estro)-2.767 -E .267(ys the array element at inde)-.1 F(x)-.15 E F3(sub-)2.766 E -(script)108 434.4 Q F0 6.204(.C)C 1.204(are must be tak)-6.204 F 1.204 +F(alue.)-.25 E(The)108 336 Q F1(unset)2.766 E F0 -.2(bu)2.766 G .267 +(iltin is used to destro).2 F 2.767(ya)-.1 G(rrays.)-2.767 E F1(unset) +5.267 E F2(name)2.767 E F0([)A F2(subscript)A F0 2.767(]d)C(estro)-2.767 +E .267(ys the array element at inde)-.1 F(x)-.15 E F2(sub-)2.767 E +(script)108 348 Q F0 6.205(.C)C 1.205(are must be tak)-6.205 F 1.205 (en to a)-.1 F -.2(vo)-.2 G 1.205(id unw).2 F 1.205(anted side ef)-.1 F -1.205(fects caused by pathname e)-.25 F(xpansion.)-.15 E F2(unset)6.205 -E F3(name)3.705 E F0(,)A(where)108 446.4 Q F3(name)2.5 E F0(is an array) -2.5 E 2.5(,o)-.65 G(r)-2.5 E F2(unset)2.5 E F3(name)2.5 E F0([)A F3 -(subscript)A F0(], where)A F3(subscript)2.5 E F0(is)2.5 E F2(*)2.5 E F0 -(or)2.5 E F2(@)2.5 E F0 2.5(,r)C(emo)-2.5 E -.15(ve)-.15 G 2.5(st).15 G -(he entire array)-2.5 E(.)-.65 E(The)108 463.2 Q F2(declar)3.574 E(e) --.18 E F0(,)A F2(local)3.574 E F0 3.574(,a)C(nd)-3.574 E F2 -.18(re) -3.574 G(adonly).18 E F0 -.2(bu)3.574 G 1.073(iltins each accept a).2 F -F2<ad61>3.573 E F0 1.073(option to specify an inde)3.573 F -.15(xe)-.15 -G 3.573(da).15 G 1.073(rray and a)-3.573 F F2<ad41>3.573 E F0 .751 -(option to specify an associati)108 475.2 R 1.051 -.15(ve a)-.25 H(rray) -.15 E 5.751(.T)-.65 G(he)-5.751 E F2 -.18(re)3.251 G(ad).18 E F0 -.2(bu) -3.251 G .752(iltin accepts a).2 F F2<ad61>3.252 E F0 .752 -(option to assign a list of w)3.252 F .752(ords read)-.1 F .502 -(from the standard input to an array)108 487.2 R 5.502(.T)-.65 G(he) --5.502 E F2(set)3.002 E F0(and)3.002 E F2(declar)3.002 E(e)-.18 E F0 -.2 +1.204(fects caused by pathname e)-.25 F(xpansion.)-.15 E F1(unset)6.204 +E F2(name)3.704 E F0(,)A(where)108 360 Q F2(name)2.5 E F0(is an array) +2.5 E 2.5(,o)-.65 G(r)-2.5 E F1(unset)2.5 E F2(name)2.5 E F0([)A F2 +(subscript)A F0(], where)A F2(subscript)2.5 E F0(is)2.5 E F1(*)2.5 E F0 +(or)2.5 E F1(@)2.5 E F0 2.5(,r)C(emo)-2.5 E -.15(ve)-.15 G 2.5(st).15 G +(he entire array)-2.5 E(.)-.65 E(The)108 376.8 Q F1(declar)3.573 E(e) +-.18 E F0(,)A F1(local)3.573 E F0 3.573(,a)C(nd)-3.573 E F1 -.18(re) +3.573 G(adonly).18 E F0 -.2(bu)3.573 G 1.073(iltins each accept a).2 F +F1<ad61>3.573 E F0 1.073(option to specify an inde)3.573 F -.15(xe)-.15 +G 3.574(da).15 G 1.074(rray and a)-3.574 F F1<ad41>3.574 E F0 .752 +(option to specify an associati)108 388.8 R 1.052 -.15(ve a)-.25 H(rray) +.15 E 5.752(.T)-.65 G(he)-5.752 E F1 -.18(re)3.252 G(ad).18 E F0 -.2(bu) +3.252 G .752(iltin accepts a).2 F F1<ad61>3.252 E F0 .751 +(option to assign a list of w)3.251 F .751(ords read)-.1 F .502 +(from the standard input to an array)108 400.8 R 5.502(.T)-.65 G(he) +-5.502 E F1(set)3.002 E F0(and)3.002 E F1(declar)3.002 E(e)-.18 E F0 -.2 (bu)3.002 G .502(iltins display array v).2 F .502(alues in a w)-.25 F -.502(ay that allo)-.1 F(ws)-.25 E(them to be reused as assignments.)108 -499.2 Q/F4 10.95/Times-Bold@0 SF(EXP)72 516 Q(ANSION)-.81 E F0 .76(Expa\ -nsion is performed on the command line after it has been split into w) -108 528 R 3.26(ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26 -(nk).15 G .76(inds of)-3.26 F -.15(ex)108 540 S .37(pansion performed:) -.15 F F3(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F3 .369 -(tilde e)2.869 F(xpansion)-.2 E F0(,).24 E F3(par)2.869 E .369 -(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F3 .369 -(command sub-)2.869 F(stitution)108 552 Q F0(,).24 E F3(arithmetic e)2.5 -E(xpansion)-.2 E F0(,).24 E F3(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E -F0 2.5(,a).22 G(nd)-2.5 E F3(pathname e)2.5 E(xpansion)-.2 E F0(.).24 E -.47(The order of e)108 568.8 R .471(xpansions is: brace e)-.15 F .471 -(xpansion, tilde e)-.15 F .471(xpansion, parameter)-.15 F 2.971(,v)-.4 G -.471(ariable and arithmetic e)-3.221 F(xpansion)-.15 E -(and command substitution \(done in a left-to-right f)108 580.8 Q +.503(ay that allo)-.1 F(ws)-.25 E(them to be reused as assignments.)108 +412.8 Q/F4 10.95/Times-Bold@0 SF(EXP)72 429.6 Q(ANSION)-.81 E F0 .76(Ex\ +pansion is performed on the command line after it has been split into w) +108 441.6 R 3.26(ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26 +(nk).15 G .76(inds of)-3.26 F -.15(ex)108 453.6 S .369 +(pansion performed:).15 F F2(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E +F0(,).24 E F2 .369(tilde e)2.869 F(xpansion)-.2 E F0(,).24 E F2(par) +2.869 E .369(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F2 +.37(command sub-)2.869 F(stitution)108 465.6 Q F0(,).24 E F2 +(arithmetic e)2.5 E(xpansion)-.2 E F0(,).24 E F2(wor)2.5 E 2.5(ds)-.37 G +(plitting)-2.5 E F0 2.5(,a).22 G(nd)-2.5 E F2(pathname e)2.5 E(xpansion) +-.2 E F0(.).24 E .471(The order of e)108 482.4 R .471 +(xpansions is: brace e)-.15 F .471(xpansion, tilde e)-.15 F .471 +(xpansion, parameter)-.15 F 2.971(,v)-.4 G .47(ariable and arithmetic e) +-3.221 F(xpansion)-.15 E +(and command substitution \(done in a left-to-right f)108 494.4 Q (ashion\), w)-.1 E(ord splitting, and pathname e)-.1 E(xpansion.)-.15 E -(On systems that can support it, there is an additional e)108 597.6 Q -(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F3(pr)2.5 E -(ocess substitution)-.45 E F0(.)A 1.487(Only brace e)108 614.4 R 1.487 -(xpansion, w)-.15 F 1.487(ord splitting, and pathname e)-.1 F 1.487 -(xpansion can change the number of w)-.15 F 1.486(ords of the)-.1 F -.15 -(ex)108 626.4 S 1.164(pansion; other e).15 F 1.164(xpansions e)-.15 F -1.164(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665 -(ord. The)-.1 F 1.165(only e)3.665 F 1.165(xceptions to this are the) --.15 F -.15(ex)108 638.4 S(pansions of ").15 E F2($@)A F0 2.5("a)C(nd ") --2.5 E F2(${)A F3(name)A F2([@]})A F0 2.5("a)C 2.5(se)-2.5 G -(xplained abo)-2.65 E .3 -.15(ve \()-.15 H(see).15 E F1 -.666(PA)2.5 G -(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F2(Brace Expansion)87 655.2 -Q F3(Br)108.58 667.2 Q .606(ace e)-.15 F(xpansion)-.2 E F0 .606 +(On systems that can support it, there is an additional e)108 511.2 Q +(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F2(pr)2.5 E +(ocess substitution)-.45 E F0(.)A 1.486(Only brace e)108 528 R 1.486 +(xpansion, w)-.15 F 1.486(ord splitting, and pathname e)-.1 F 1.487 +(xpansion can change the number of w)-.15 F 1.487(ords of the)-.1 F -.15 +(ex)108 540 S 1.165(pansion; other e).15 F 1.165(xpansions e)-.15 F +1.165(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665 +(ord. The)-.1 F 1.164(only e)3.665 F 1.164(xceptions to this are the) +-.15 F -.15(ex)108 552 S(pansions of ").15 E F1($@)A F0 2.5("a)C(nd ") +-2.5 E F1(${)A F2(name)A F1([@]})A F0 2.5("a)C 2.5(se)-2.5 G +(xplained abo)-2.65 E .3 -.15(ve \()-.15 H(see).15 E F3 -.666(PA)2.5 G +(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F1(Brace Expansion)87 568.8 +Q F2(Br)108.58 580.8 Q .606(ace e)-.15 F(xpansion)-.2 E F0 .606 (is a mechanism by which arbitrary strings may be generated.)3.346 F -.606(This mechanism is similar)5.606 F(to)108 679.2 Q F3 .415 +.606(This mechanism is similar)5.606 F(to)108 592.8 Q F2 .415 (pathname e)2.915 F(xpansion)-.2 E F0 2.915(,b)C .415 (ut the \214lenames generated need not e)-3.115 F 2.915(xist. P)-.15 F .415(atterns to be brace e)-.15 F .415(xpanded tak)-.15 F 2.915(et)-.1 G -(he)-2.915 E .152(form of an optional)108 691.2 R F3(pr)2.652 E(eamble) +(he)-2.915 E .151(form of an optional)108 604.8 R F2(pr)2.651 E(eamble) -.37 E F0 2.651(,f).18 G(ollo)-2.651 E .151 (wed by either a series of comma-separated strings or a sequence e)-.25 -F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 703.2 R -.563(wed by an optional)-.25 F F3(postscript)3.063 E F0 5.563(.T).68 G +F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 616.8 R +.563(wed by an optional)-.25 F F2(postscript)3.063 E F0 5.563(.T).68 G .563(he preamble is pre\214x)-5.563 F .563(ed to each string)-.15 F .659 (contained within the braces, and the postscript is then appended to ea\ -ch resulting string, e)108 715.2 R .658(xpanding left to)-.15 F(right.) -108 727.2 Q(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(17)185.955 -E 0 Cg EP +ch resulting string, e)108 628.8 R .659(xpanding left to)-.15 F(right.) +108 640.8 Q .719(Brace e)108 657.6 R .719(xpansions may be nested.)-.15 +F .719(The results of each e)5.719 F .719 +(xpanded string are not sorted; left to right order is)-.15 F(preserv) +108 669.6 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F1({)A F0 +(d,c,b)A F1(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.242(As) +108 686.4 S .742(equence e)-3.242 F .742(xpression tak)-.15 F .742 +(es the form)-.1 F F1({)3.242 E F2(x)A F1(..)A F2(y)A F1([..)A F2(incr)A +F1(]})A F0 3.242(,w)C(here)-3.242 E F2(x)3.242 E F0(and)3.243 E F2(y) +3.243 E F0 .743(are either inte)3.243 F .743(gers or single characters,) +-.15 F(and)108 698.4 Q F2(incr)3.032 E F0 3.032(,a)C 3.032(no)-3.032 G +.532(ptional increment, is an inte)-3.032 F(ger)-.15 E 5.532(.W)-.55 G +.532(hen inte)-5.532 F .532(gers are supplied, the e)-.15 F .532 +(xpression e)-.15 F .531(xpands to each)-.15 F .077(number between)108 +710.4 R F2(x)2.577 E F0(and)2.577 E F2(y)2.577 E F0 2.577(,i)C(nclusi) +-2.577 E -.15(ve)-.25 G 5.077(.S).15 G .077(upplied inte)-5.077 F .077 +(gers may be pre\214x)-.15 F .077(ed with)-.15 F F2(0)2.577 E F0 .078 +(to force each term to ha)2.578 F .378 -.15(ve t)-.2 H(he).15 E .015 +(same width.)108 722.4 R .015(When either)5.015 F F2(x)2.515 E F0(or) +2.515 E F2(y)2.515 E F0(be)2.515 E .014(gins with a zero, the shell att\ +empts to force all generated terms to contain)-.15 F(GNU Bash-4.1)72 768 +Q(2009 December 29)135.965 E(17)185.955 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .718(Brace e)108 84 R .719(xpansions may be nested.)-.15 F .719 -(The results of each e)5.719 F .719 -(xpanded string are not sorted; left to right order is)-.15 F(preserv) -108 96 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E/F1 10 -/Times-Bold@0 SF({)A F0(d,c,b)A F1(})A F0 2.5(ee)C -(xpands into `ade ace abe'.)-2.65 E 3.243(As)108 112.8 S .743(equence e) --3.243 F .743(xpression tak)-.15 F .743(es the form)-.1 F F1({)3.243 E -/F2 10/Times-Italic@0 SF(x)A F1(..)A F2(y)A F1([..)A F2(incr)A F1(]})A -F0 3.243(,w)C(here)-3.243 E F2(x)3.243 E F0(and)3.242 E F2(y)3.242 E F0 -.742(are either inte)3.242 F .742(gers or single characters,)-.15 F(and) -108 124.8 Q F2(incr)3.031 E F0 3.031(,a)C 3.032(no)-3.031 G .532 -(ptional increment, is an inte)-3.032 F(ger)-.15 E 5.532(.W)-.55 G .532 -(hen inte)-5.532 F .532(gers are supplied, the e)-.15 F .532 -(xpression e)-.15 F .532(xpands to each)-.15 F .078(number between)108 -136.8 R F2(x)2.578 E F0(and)2.578 E F2(y)2.578 E F0 2.578(,i)C(nclusi) --2.578 E -.15(ve)-.25 G 5.078(.S).15 G .078(upplied inte)-5.078 F .077 -(gers may be pre\214x)-.15 F .077(ed with)-.15 F F2(0)2.577 E F0 .077 -(to force each term to ha)2.577 F .377 -.15(ve t)-.2 H(he).15 E .014 -(same width.)108 148.8 R .014(When either)5.014 F F2(x)2.514 E F0(or) -2.514 E F2(y)2.514 E F0(be)2.514 E .015(gins with a zero, the shell att\ -empts to force all generated terms to contain)-.15 F 1.143 -(the same number of digits, zero-padding where necessary)108 160.8 R -6.143(.W)-.65 G 1.143(hen characters are supplied, the e)-6.143 F -(xpression)-.15 E -.15(ex)108 172.8 S .541(pands to each character le) -.15 F .541(xicographically between)-.15 F F2(x)3.041 E F0(and)3.042 E F2 -(y)3.042 E F0 3.042(,i)C(nclusi)-3.042 E -.15(ve)-.25 G 5.542(.N).15 G -.542(ote that both)-5.542 F F2(x)3.042 E F0(and)3.042 E F2(y)3.042 E F0 -.542(must be of)3.042 F .183(the same type.)108 184.8 R .182 -(When the increment is supplied, it is used as the dif)5.183 F .182 -(ference between each term.)-.25 F .182(The def)5.182 F(ault)-.1 E -(increment is 1 or -1 as appropriate.)108 196.8 Q .581(Brace e)108 213.6 -R .581(xpansion is performed before an)-.15 F 3.081(yo)-.15 G .581 -(ther e)-3.081 F .581(xpansions, and an)-.15 F 3.082(yc)-.15 G .582 -(haracters special to other e)-3.082 F(xpansions)-.15 E .016 -(are preserv)108 225.6 R .016(ed in the result.)-.15 F .016 -(It is strictly te)5.016 F(xtual.)-.15 E F1(Bash)5.016 E F0 .015 -(does not apply an)2.516 F 2.515(ys)-.15 G .015 -(yntactic interpretation to the con-)-2.515 F(te)108 237.6 Q +-.35 E 1.143(the same number of digits, zero-padding where necessary)108 +84 R 6.143(.W)-.65 G 1.143(hen characters are supplied, the e)-6.143 F +(xpression)-.15 E -.15(ex)108 96 S .542(pands to each character le).15 F +.542(xicographically between)-.15 F/F1 10/Times-Italic@0 SF(x)3.042 E F0 +(and)3.042 E F1(y)3.042 E F0 3.042(,i)C(nclusi)-3.042 E -.15(ve)-.25 G +5.542(.N).15 G .542(ote that both)-5.542 F F1(x)3.041 E F0(and)3.041 E +F1(y)3.041 E F0 .541(must be of)3.041 F .182(the same type.)108 108 R +.182(When the increment is supplied, it is used as the dif)5.182 F .183 +(ference between each term.)-.25 F .183(The def)5.183 F(ault)-.1 E +(increment is 1 or -1 as appropriate.)108 120 Q .582(Brace e)108 136.8 R +.582(xpansion is performed before an)-.15 F 3.082(yo)-.15 G .581(ther e) +-3.082 F .581(xpansions, and an)-.15 F 3.081(yc)-.15 G .581 +(haracters special to other e)-3.081 F(xpansions)-.15 E .015 +(are preserv)108 148.8 R .015(ed in the result.)-.15 F .015 +(It is strictly te)5.015 F(xtual.)-.15 E/F2 10/Times-Bold@0 SF(Bash) +5.016 E F0 .016(does not apply an)2.516 F 2.516(ys)-.15 G .016 +(yntactic interpretation to the con-)-2.516 F(te)108 160.8 Q (xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.) --.15 E 3.632(Ac)108 254.4 S 1.132(orrectly-formed brace e)-3.632 F 1.132 +-.15 E 3.633(Ac)108 177.6 S 1.133(orrectly-formed brace e)-3.633 F 1.132 (xpansion must contain unquoted opening and closing braces, and at leas\ -t one)-.15 F 3.441(unquoted comma or a v)108 266.4 R 3.441 +t one)-.15 F 3.44(unquoted comma or a v)108 189.6 R 3.441 (alid sequence e)-.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441 -(ncorrectly formed brace e)-5.941 F 3.44(xpansion is left)-.15 F 2.755 -(unchanged. A)108 278.4 R F1({)2.755 E F0(or)2.755 E F1(,)2.755 E F0 +(ncorrectly formed brace e)-5.941 F 3.441(xpansion is left)-.15 F 2.755 +(unchanged. A)108 201.6 R F2({)2.755 E F0(or)2.755 E F2(,)2.755 E F0 .255(may be quoted with a backslash to pre)2.755 F -.15(ve)-.25 G .255 -(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.911 -(sion. T)108 290.4 R 2.911(oa)-.8 G -.2(vo)-3.111 G .411 +(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.91 +(sion. T)108 213.6 R 2.91(oa)-.8 G -.2(vo)-3.11 G .41 (id con\215icts with parameter e).2 F .411(xpansion, the string)-.15 F -F1(${)2.911 E F0 .41(is not considered eligible for brace e)2.911 F -(xpan-)-.15 E(sion.)108 302.4 Q 1.476(This construct is typically used \ +F2(${)2.911 E F0 .411(is not considered eligible for brace e)2.911 F +(xpan-)-.15 E(sion.)108 225.6 Q 1.476(This construct is typically used \ as shorthand when the common pre\214x of the strings to be generated is) -108 319.2 R(longer than in the abo)108 331.2 Q .3 -.15(ve ex)-.15 H -(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 348 Q -.65(w,)-.25 G -(dist,b).65 E(ugs})-.2 E(or)108 360 Q(cho)144 372 Q +108 242.4 R(longer than in the abo)108 254.4 Q .3 -.15(ve ex)-.15 H +(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 271.2 Q -.65(w,)-.25 +G(dist,b).65 E(ugs})-.2 E(or)108 283.2 Q(cho)144 295.2 Q (wn root /usr/{ucb/{e)-.25 E(x,edit},lib/{e)-.15 E(x?.?*,ho)-.15 E(w_e) --.25 E(x}})-.15 E .618(Brace e)108 388.8 R .618 +-.25 E(x}})-.15 E .618(Brace e)108 312 R .618 (xpansion introduces a slight incompatibility with historical v)-.15 F -.618(ersions of)-.15 F F1(sh)3.118 E F0(.)A F1(sh)5.618 E F0 .618 -(does not treat open-)3.118 F .247 -(ing or closing braces specially when the)108 400.8 R 2.747(ya)-.15 G -.247(ppear as part of a w)-2.747 F .248(ord, and preserv)-.1 F .248 -(es them in the output.)-.15 F F1(Bash)5.248 E F0(remo)108 412.8 Q -.15 +.618(ersions of)-.15 F F2(sh)3.118 E F0(.)A F2(sh)5.618 E F0 .618 +(does not treat open-)3.118 F .248 +(ing or closing braces specially when the)108 324 R 2.748(ya)-.15 G .247 +(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247 +(es them in the output.)-.15 F F2(Bash)5.247 E F0(remo)108 336 Q -.15 (ve)-.15 G 3.53(sb).15 G 1.03(races from w)-3.53 F 1.03 (ords as a consequence of brace e)-.1 F 3.53(xpansion. F)-.15 F 1.03 -(or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F1(sh) -3.53 E F0(as)3.53 E F2(\214le{1,2})108 424.8 Q F0 .514 -(appears identically in the output.)3.014 F .515(The same w)5.515 F .515 -(ord is output as)-.1 F F2 .515(\214le1 \214le2)4.925 F F0 .515(after e) -3.035 F .515(xpansion by)-.15 F F1(bash)3.015 E F0(.)A .437 -(If strict compatibility with)108 436.8 R F1(sh)2.936 E F0 .436 -(is desired, start)2.936 F F1(bash)2.936 E F0 .436(with the)2.936 F F1 -(+B)2.936 E F0 .436(option or disable brace e)2.936 F .436 -(xpansion with the)-.15 F F1(+B)108 448.8 Q F0(option to the)2.5 E F1 -(set)2.5 E F0(command \(see)2.5 E/F3 9/Times-Bold@0 SF(SHELL B)2.5 E -(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 -.18(Ti) -87 465.6 S(lde Expansion).18 E F0 1.086(If a w)108 477.6 R 1.086(ord be) --.1 F 1.086(gins with an unquoted tilde character \(`)-.15 F F1(~)A F0 -1.087('\), all of the characters preceding the \214rst unquoted)B .185(\ -slash \(or all characters, if there is no unquoted slash\) are consider\ -ed a)108 489.6 R F2(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685 -(fn)-5.185 G .185(one of the characters)-2.685 F .725(in the tilde-pre\ -\214x are quoted, the characters in the tilde-pre\214x follo)108 501.6 R -.726(wing the tilde are treated as a possible)-.25 F F2(lo)108 513.6 Q -.523(gin name)-.1 F F0 5.523(.I)C 3.023(ft)-5.523 G .523 +(or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F2(sh) +3.53 E F0(as)3.53 E F1(\214le{1,2})108 348 Q F0 .515 +(appears identically in the output.)3.015 F .515(The same w)5.515 F .515 +(ord is output as)-.1 F F1 .514(\214le1 \214le2)4.925 F F0 .514(after e) +3.034 F .514(xpansion by)-.15 F F2(bash)3.014 E F0(.)A .436 +(If strict compatibility with)108 360 R F2(sh)2.936 E F0 .436 +(is desired, start)2.936 F F2(bash)2.936 E F0 .436(with the)2.936 F F2 +(+B)2.936 E F0 .436(option or disable brace e)2.936 F .437 +(xpansion with the)-.15 F F2(+B)108 372 Q F0(option to the)2.5 E F2(set) +2.5 E F0(command \(see)2.5 E/F3 9/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 +E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2 -.18(Ti)87 388.8 S +(lde Expansion).18 E F0 1.087(If a w)108 400.8 R 1.087(ord be)-.1 F +1.087(gins with an unquoted tilde character \(`)-.15 F F2(~)A F0 1.086 +('\), all of the characters preceding the \214rst unquoted)B .185(slash\ + \(or all characters, if there is no unquoted slash\) are considered a) +108 412.8 R F1(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685(fn) +-5.185 G .185(one of the characters)-2.685 F .726(in the tilde-pre\214x\ + are quoted, the characters in the tilde-pre\214x follo)108 424.8 R .725 +(wing the tilde are treated as a possible)-.25 F F1(lo)108 436.8 Q .522 +(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G .522 (his login name is the null string, the tilde is replaced with the v) --3.023 F .522(alue of the shell parameter)-.25 F F3(HOME)108 525.6 Q/F4 -9/Times-Roman@0 SF(.)A F0(If)4.786 E F3(HOME)2.786 E F0 .287 -(is unset, the home directory of the user e)2.536 F -.15(xe)-.15 G .287 -(cuting the shell is substituted instead.).15 F(Other)5.287 E(-)-.2 E(w\ +-3.022 F .523(alue of the shell parameter)-.25 F F3(HOME)108 448.8 Q/F4 +9/Times-Roman@0 SF(.)A F0(If)4.787 E F3(HOME)2.787 E F0 .287 +(is unset, the home directory of the user e)2.537 F -.15(xe)-.15 G .286 +(cuting the shell is substituted instead.).15 F(Other)5.286 E(-)-.2 E(w\ ise, the tilde-pre\214x is replaced with the home directory associated \ -with the speci\214ed login name.)108 537.6 Q .093 -(If the tilde-pre\214x is a `~+', the v)108 554.4 R .092 +with the speci\214ed login name.)108 460.8 Q .092 +(If the tilde-pre\214x is a `~+', the v)108 477.6 R .092 (alue of the shell v)-.25 F(ariable)-.25 E F3(PWD)2.592 E F0 .092 -(replaces the tilde-pre\214x.)2.342 F .092(If the tilde-pre\214x is) -5.092 F 3.403(a`)108 566.4 S .903(~\255', the v)-3.403 F .903 +(replaces the tilde-pre\214x.)2.342 F .093(If the tilde-pre\214x is) +5.093 F 3.404(a`)108 489.6 S .904(~\255', the v)-3.404 F .904 (alue of the shell v)-.25 F(ariable)-.25 E F3(OLDPWD)3.404 E F4(,)A F0 -.904(if it is set, is substituted.)3.154 F .904(If the characters follo) -5.904 F .904(wing the)-.25 F 1.642 -(tilde in the tilde-pre\214x consist of a number)108 578.4 R F2(N)4.142 -E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.641 -(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.437(replaced w\ +.904(if it is set, is substituted.)3.154 F .903(If the characters follo) +5.903 F .903(wing the)-.25 F 1.641 +(tilde in the tilde-pre\214x consist of a number)108 501.6 R F1(N)4.141 +E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.642 +(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.438(replaced w\ ith the corresponding element from the directory stack, as it w)108 -590.4 R 1.438(ould be displayed by the)-.1 F F1(dirs)3.938 E F0 -.2(bu) -108 602.4 S .455(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.955(dw).1 G -.455(ith the tilde-pre\214x as an ar)-2.955 F 2.954(gument. If)-.18 F -.454(the characters follo)2.954 F .454 +513.6 R 1.437(ould be displayed by the)-.1 F F2(dirs)3.937 E F0 -.2(bu) +108 525.6 S .454(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.954(dw).1 G +.454(ith the tilde-pre\214x as an ar)-2.954 F 2.954(gument. If)-.18 F +.454(the characters follo)2.954 F .455 (wing the tilde in the tilde-pre\214x)-.25 F (consist of a number without a leading `+' or `\255', `+' is assumed.) -108 614.4 Q(If the login name is in)108 631.2 Q -.25(va)-.4 G +108 537.6 Q(If the login name is in)108 554.4 Q -.25(va)-.4 G (lid, or the tilde e).25 E(xpansion f)-.15 E(ails, the w)-.1 E -(ord is unchanged.)-.1 E .166(Each v)108 648 R .167 +(ord is unchanged.)-.1 E .167(Each v)108 571.2 R .167 (ariable assignment is check)-.25 F .167(ed for unquoted tilde-pre\214x) --.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F1(:)2.667 E -F0 .167(or the \214rst)2.667 F F1(=)2.667 E F0 5.167(.I)C(n)-5.167 E -.282(these cases, tilde e)108 660 R .282(xpansion is also performed.) +-.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F2(:)2.667 E +F0 .167(or the \214rst)2.667 F F2(=)2.666 E F0 5.166(.I)C(n)-5.166 E +.281(these cases, tilde e)108 583.2 R .282(xpansion is also performed.) -.15 F(Consequently)5.282 E 2.782(,o)-.65 G .282 (ne may use \214le names with tildes in assign-)-2.782 F(ments to)108 -672 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT)-.666 -G(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT)-.666 G(H).855 E -F4(,)A F0(and the shell assigns the e)2.25 E(xpanded v)-.15 E(alue.)-.25 -E F1 -.1(Pa)87 688.8 S(rameter Expansion).1 E F0 1.605(The `)108 700.8 R -F1($)A F0 4.105('c)C 1.605(haracter introduces parameter e)-4.105 F -1.606(xpansion, command substitution, or arithmetic e)-.15 F 4.106 -(xpansion. The)-.15 F .407(parameter name or symbol to be e)108 712.8 R -.407(xpanded may be enclosed in braces, which are optional b)-.15 F .406 -(ut serv)-.2 F 2.906(et)-.15 G 2.906(op)-2.906 G(ro-)-2.906 E .032 -(tect the v)108 724.8 R .032(ariable to be e)-.25 F .032 -(xpanded from characters immediately follo)-.15 F .033 -(wing it which could be interpreted as part)-.25 F(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(18)185.955 E 0 Cg EP +595.2 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT) +-.666 G(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT)-.666 G(H) +.855 E F4(,)A F0(and the shell assigns the e)2.25 E(xpanded v)-.15 E +(alue.)-.25 E F2 -.1(Pa)87 612 S(rameter Expansion).1 E F0 1.606(The `) +108 624 R F2($)A F0 4.106('c)C 1.606(haracter introduces parameter e) +-4.106 F 1.605(xpansion, command substitution, or arithmetic e)-.15 F +4.105(xpansion. The)-.15 F .406(parameter name or symbol to be e)108 636 +R .407(xpanded may be enclosed in braces, which are optional b)-.15 F +.407(ut serv)-.2 F 2.907(et)-.15 G 2.907(op)-2.907 G(ro-)-2.907 E .033 +(tect the v)108 648 R .033(ariable to be e)-.25 F .033 +(xpanded from characters immediately follo)-.15 F .032 +(wing it which could be interpreted as part)-.25 F(of the name.)108 660 +Q 1.189 +(When braces are used, the matching ending brace is the \214rst `)108 +676.8 R F2(})A F0 3.69('n)C 1.19(ot escaped by a backslash or within a) +-3.69 F 2.15(quoted string, and not within an embedded arithmetic e)108 +688.8 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15 +(ex)108 700.8 S(pansion.).15 E(GNU Bash-4.1)72 768 Q(2009 December 29) +135.965 E(18)185.955 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(of the name.)108 84 Q 1.19 -(When braces are used, the matching ending brace is the \214rst `)108 -100.8 R/F1 10/Times-Bold@0 SF(})A F0 3.689('n)C 1.189 -(ot escaped by a backslash or within a)-3.689 F 2.15 -(quoted string, and not within an embedded arithmetic e)108 112.8 R 2.15 -(xpansion, command substitution, or parameter)-.15 F -.15(ex)108 124.8 S -(pansion.).15 E(${)108 141.6 Q/F2 10/Times-Italic@0 SF(par)A(ameter)-.15 -E F0(})A 1.205(The v)144 153.6 R 1.205(alue of)-.25 F F2(par)3.705 E -(ameter)-.15 E F0 1.204(is substituted.)3.705 F 1.204 -(The braces are required when)6.204 F F2(par)4.954 E(ameter)-.15 E F0 -1.204(is a positional)4.434 F .264 -(parameter with more than one digit, or when)144 165.6 R F2(par)4.014 E -(ameter)-.15 E F0 .264(is follo)3.494 F .264 +-.35 E(${)108 84 Q/F1 10/Times-Italic@0 SF(par)A(ameter)-.15 E F0(})A +1.204(The v)144 96 R 1.204(alue of)-.25 F F1(par)3.704 E(ameter)-.15 E +F0 1.204(is substituted.)3.704 F 1.204(The braces are required when) +6.204 F F1(par)4.955 E(ameter)-.15 E F0 1.205(is a positional)4.435 F +.264(parameter with more than one digit, or when)144 108 R F1(par)4.014 +E(ameter)-.15 E F0 .264(is follo)3.494 F .264 (wed by a character which is not to)-.25 F -(be interpreted as part of its name.)144 177.6 Q .686 -(If the \214rst character of)108 194.4 R F2(par)3.186 E(ameter)-.15 E F0 -.685(is an e)3.185 F .685(xclamation point \()-.15 F F1(!)A F0 .685 -(\), a le)B -.15(ve)-.25 G 3.185(lo).15 G 3.185(fv)-3.185 G .685 -(ariable indirection is introduced.)-3.435 F F1(Bash)108 206.4 Q F0 .106 -(uses the v)2.606 F .106(alue of the v)-.25 F .106 -(ariable formed from the rest of)-.25 F F2(par)2.606 E(ameter)-.15 E F0 +(be interpreted as part of its name.)144 120 Q .685 +(If the \214rst character of)108 136.8 R F1(par)3.185 E(ameter)-.15 E F0 +.685(is an e)3.185 F .685(xclamation point \()-.15 F/F2 10/Times-Bold@0 +SF(!)A F0 .685(\), a le)B -.15(ve)-.25 G 3.186(lo).15 G 3.186(fv)-3.186 +G .686(ariable indirection is introduced.)-3.436 F F2(Bash)108 148.8 Q +F0 .106(uses the v)2.606 F .106(alue of the v)-.25 F .106 +(ariable formed from the rest of)-.25 F F1(par)2.606 E(ameter)-.15 E F0 .106(as the name of the v)2.606 F .106(ariable; this v)-.25 F(ari-)-.25 -E .352(able is then e)108 218.4 R .352(xpanded and that v)-.15 F .351 +E .351(able is then e)108 160.8 R .351(xpanded and that v)-.15 F .352 (alue is used in the rest of the substitution, rather than the v)-.25 F -.351(alue of)-.25 F F2(par)2.851 E(ame-)-.15 E(ter)108 230.4 Q F0 2.519 -(itself. This)2.519 F .019(is kno)2.519 F .019(wn as)-.25 F F2(indir) -2.519 E .019(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019 -F .02(xceptions to this are the e)-.15 F .02(xpansions of ${!)-.15 F F2 -(pr)A(e\214x)-.37 E F0 .02(*} and)B(${)108 242.4 Q F1(!)A F2(name)A F0 -([)A F2(@)A F0 .763(]} described belo)B 4.563 -.65(w. T)-.25 H .763 -(he e).65 F .763(xclamation point must immediately follo)-.15 F 3.263 -(wt)-.25 G .763(he left brace in order to)-3.263 F -(introduce indirection.)108 254.4 Q .334(In each of the cases belo)108 -271.2 R -.65(w,)-.25 G F2(wor)3.484 E(d)-.37 E F0 .334 -(is subject to tilde e)2.834 F .334(xpansion, parameter e)-.15 F .334 -(xpansion, command substitution,)-.15 F(and arithmetic e)108 283.2 Q -(xpansion.)-.15 E .698(When not performing substring e)108 300 R .698 -(xpansion, using the forms documented belo)-.15 F -.65(w,)-.25 G F1 -(bash)3.848 E F0 .697(tests for a parameter)3.198 F -(that is unset or null.)108 312 Q(Omitting the colon results in a test \ -only for a parameter that is unset.)5 E(${)108 328.8 Q F2(par)A(ameter) --.15 E F1<3aad>A F2(wor)A(d)-.37 E F0(})A F1 .722(Use Default V)144 -340.8 R(alues)-.92 E F0 5.722(.I)C(f)-5.722 E F2(par)4.472 E(ameter)-.15 -E F0 .723(is unset or null, the e)3.952 F .723(xpansion of)-.15 F F2 -(wor)3.563 E(d)-.37 E F0 .723(is substituted.)3.993 F(Other)5.723 E(-) --.2 E(wise, the v)144 352.8 Q(alue of)-.25 E F2(par)3.75 E(ameter)-.15 E -F0(is substituted.)3.23 E(${)108 364.8 Q F2(par)A(ameter)-.15 E F1(:=)A -F2(wor)A(d)-.37 E F0(})A F1 2.005(Assign Default V)144 376.8 R(alues) --.92 E F0 7.005(.I)C(f)-7.005 E F2(par)5.755 E(ameter)-.15 E F0 2.005 -(is unset or null, the e)5.235 F 2.004(xpansion of)-.15 F F2(wor)4.844 E -(d)-.37 E F0 2.004(is assigned to)5.274 F F2(par)144 388.8 Q(ameter)-.15 -E F0 5.278(.T).73 G .278(he v)-5.278 F .278(alue of)-.25 F F2(par)4.028 -E(ameter)-.15 E F0 .278(is then substituted.)3.508 F .279 +.352(alue of)-.25 F F1(par)2.852 E(ame-)-.15 E(ter)108 172.8 Q F0 2.52 +(itself. This)2.52 F .02(is kno)2.52 F .02(wn as)-.25 F F1(indir)2.52 E +.02(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019 F .019 +(xceptions to this are the e)-.15 F .019(xpansions of ${!)-.15 F F1(pr)A +(e\214x)-.37 E F0 .019(*} and)B(${)108 184.8 Q F2(!)A F1(name)A F0([)A +F1(@)A F0 .762(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65 +F .763(xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G +.763(he left brace in order to)-3.263 F(introduce indirection.)108 196.8 +Q .334(In each of the cases belo)108 213.6 R -.65(w,)-.25 G F1(wor)3.484 +E(d)-.37 E F0 .334(is subject to tilde e)2.834 F .334 +(xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15 +F(and arithmetic e)108 225.6 Q(xpansion.)-.15 E .697 +(When not performing substring e)108 242.4 R .698 +(xpansion, using the forms documented belo)-.15 F -.65(w,)-.25 G F2 +(bash)3.848 E F0 .698(tests for a parameter)3.198 F +(that is unset or null.)108 254.4 Q(Omitting the colon results in a tes\ +t only for a parameter that is unset.)5 E(${)108 271.2 Q F1(par)A +(ameter)-.15 E F2<3aad>A F1(wor)A(d)-.37 E F0(})A F2 .723(Use Default V) +144 283.2 R(alues)-.92 E F0 5.723(.I)C(f)-5.723 E F1(par)4.473 E(ameter) +-.15 E F0 .723(is unset or null, the e)3.953 F .722(xpansion of)-.15 F +F1(wor)3.562 E(d)-.37 E F0 .722(is substituted.)3.992 F(Other)5.722 E(-) +-.2 E(wise, the v)144 295.2 Q(alue of)-.25 E F1(par)3.75 E(ameter)-.15 E +F0(is substituted.)3.23 E(${)108 307.2 Q F1(par)A(ameter)-.15 E F2(:=)A +F1(wor)A(d)-.37 E F0(})A F2 2.004(Assign Default V)144 319.2 R(alues) +-.92 E F0 7.004(.I)C(f)-7.004 E F1(par)5.754 E(ameter)-.15 E F0 2.005 +(is unset or null, the e)5.234 F 2.005(xpansion of)-.15 F F1(wor)4.845 E +(d)-.37 E F0 2.005(is assigned to)5.275 F F1(par)144 331.2 Q(ameter)-.15 +E F0 5.279(.T).73 G .279(he v)-5.279 F .279(alue of)-.25 F F1(par)4.029 +E(ameter)-.15 E F0 .278(is then substituted.)3.508 F .278 (Positional parameters and special param-)5.278 F -(eters may not be assigned to in this w)144 400.8 Q(ay)-.1 E(.)-.65 E -(${)108 412.8 Q F2(par)A(ameter)-.15 E F1(:?)A F2(wor)A(d)-.37 E F0(})A -F1 .535(Display Err)144 424.8 R .535(or if Null or Unset)-.18 F F0 5.535 -(.I)C(f)-5.535 E F2(par)4.285 E(ameter)-.15 E F0 .535 -(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F2(wor)3.035 E -(d)-.37 E F0 .535(\(or a mes-)3.035 F .661(sage to that ef)144 436.8 R -.661(fect if)-.25 F F2(wor)3.501 E(d)-.37 E F0 .662(is not present\) is\ - written to the standard error and the shell, if it is not)3.931 F -(interacti)144 448.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 F2(par)2.5 E(ameter)-.15 E F0 -(is substituted.)2.5 E(${)108 460.8 Q F2(par)A(ameter)-.15 E F1(:+)A F2 -(wor)A(d)-.37 E F0(})A F1 .745(Use Alter)144 472.8 R .745(nate V)-.15 F -(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F2(par)4.495 E(ameter)-.15 E F0 +(eters may not be assigned to in this w)144 343.2 Q(ay)-.1 E(.)-.65 E +(${)108 355.2 Q F1(par)A(ameter)-.15 E F2(:?)A F1(wor)A(d)-.37 E F0(})A +F2 .535(Display Err)144 367.2 R .535(or if Null or Unset)-.18 F F0 5.535 +(.I)C(f)-5.535 E F1(par)4.285 E(ameter)-.15 E F0 .535 +(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F1(wor)3.035 E +(d)-.37 E F0 .535(\(or a mes-)3.035 F .662(sage to that ef)144 379.2 R +.662(fect if)-.25 F F1(wor)3.502 E(d)-.37 E F0 .661(is not present\) is\ + written to the standard error and the shell, if it is not)3.932 F +(interacti)144 391.2 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 F1(par)2.5 E(ameter)-.15 E F0 +(is substituted.)2.5 E(${)108 403.2 Q F1(par)A(ameter)-.15 E F2(:+)A F1 +(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 415.2 R .745(nate V)-.15 F +(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F1(par)4.495 E(ameter)-.15 E F0 .745(is null or unset, nothing is substituted, otherwise the e)3.975 F -(xpan-)-.15 E(sion of)144 484.8 Q F2(wor)2.84 E(d)-.37 E F0 -(is substituted.)3.27 E(${)108 496.8 Q F2(par)A(ameter)-.15 E F1(:)A F2 -(of)A(fset)-.18 E F0(})A(${)108 508.8 Q F2(par)A(ameter)-.15 E F1(:)A F2 -(of)A(fset)-.18 E F1(:)A F2(length)A F0(})A F1 .796 -(Substring Expansion.)144 520.8 R F0 .796(Expands to up to)5.796 F F2 -(length)3.296 E F0 .796(characters of)3.296 F F2(par)3.296 E(ameter)-.15 -E F0 .797(starting at the character)3.296 F .229(speci\214ed by)144 -532.8 R F2(of)2.729 E(fset)-.18 E F0 5.229(.I)C(f)-5.229 E F2(length) -2.729 E F0 .229(is omitted, e)2.729 F .229(xpands to the substring of) --.15 F F2(par)2.729 E(ameter)-.15 E F0 .228(starting at the char)2.728 F -(-)-.2 E .432(acter speci\214ed by)144 544.8 R F2(of)2.933 E(fset)-.18 E -F0(.)A F2(length)5.433 E F0(and)2.933 E F2(of)2.933 E(fset)-.18 E F0 +(xpan-)-.15 E(sion of)144 427.2 Q F1(wor)2.84 E(d)-.37 E F0 +(is substituted.)3.27 E(${)108 439.2 Q F1(par)A(ameter)-.15 E F2(:)A F1 +(of)A(fset)-.18 E F0(})A(${)108 451.2 Q F1(par)A(ameter)-.15 E F2(:)A F1 +(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .797 +(Substring Expansion.)144 463.2 R F0 .796(Expands to up to)5.797 F F1 +(length)3.296 E F0 .796(characters of)3.296 F F1(par)3.296 E(ameter)-.15 +E F0 .796(starting at the character)3.296 F .228(speci\214ed by)144 +475.2 R F1(of)2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F1(length) +2.728 E F0 .229(is omitted, e)2.729 F .229(xpands to the substring of) +-.15 F F1(par)2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F +(-)-.2 E .433(acter speci\214ed by)144 487.2 R F1(of)2.933 E(fset)-.18 E +F0(.)A F1(length)5.433 E F0(and)2.933 E F1(of)2.933 E(fset)-.18 E F0 .433(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F/F3 9 -/Times-Bold@0 SF .433(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 -556.8 S(ION).855 E F0(belo)2.577 E(w\).)-.25 E F2(length)5.327 E F0 .327 -(must e)2.827 F -.25(va)-.25 G .326 -(luate to a number greater than or equal to zero.).25 F(If)5.326 E F2 -(of)2.826 E(fset)-.18 E F0 -.25(eva)2.826 G(luates).25 E .015 -(to a number less than zero, the v)144 568.8 R .015 +/Times-Bold@0 SF .432(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 +499.2 S(ION).855 E F0(belo)2.576 E(w\).)-.25 E F1(length)5.326 E F0 .326 +(must e)2.826 F -.25(va)-.25 G .326 +(luate to a number greater than or equal to zero.).25 F(If)5.327 E F1 +(of)2.827 E(fset)-.18 E F0 -.25(eva)2.827 G(luates).25 E .016 +(to a number less than zero, the v)144 511.2 R .015 (alue is used as an of)-.25 F .015(fset from the end of the v)-.25 F -.016(alue of)-.25 F F2(par)2.516 E(ameter)-.15 E F0 5.016(.I)C(f)-5.016 -E F2(par)144 580.8 Q(ameter)-.15 E F0(is)3.25 E F1(@)3.25 E F0 3.25(,t)C -.75(he result is)-3.25 F F2(length)3.25 E F0 .75 -(positional parameters be)3.25 F .75(ginning at)-.15 F F2(of)3.25 E -(fset)-.18 E F0 5.75(.I)C(f)-5.75 E F2(par)3.25 E(ameter)-.15 E F0 .75 -(is an)3.25 F(inde)144 592.8 Q -.15(xe)-.15 G 2.701(da).15 G .201 -(rray name subscripted by @ or *, the result is the)-2.701 F F2(length) -2.701 E F0 .202(members of the array be)2.701 F(ginning)-.15 E 1.283 -(with ${)144 604.8 R F2(par)A(ameter)-.15 E F0([)A F2(of)A(fset)-.18 E -F0 3.783(]}. A)B(ne)3.783 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F2 -(of)3.933 E(fset)-.18 E F0 1.282(is tak)3.782 F 1.282(en relati)-.1 F -1.582 -.15(ve t)-.25 H 3.782(oo).15 G 1.282(ne greater than the maximum) --3.782 F(inde)144 616.8 Q 3.434(xo)-.15 G 3.434(ft)-3.434 G .934 -(he speci\214ed array)-3.434 F 5.934(.S)-.65 G .935(ubstring e)-5.934 F -.935(xpansion applied to an associati)-.15 F 1.235 -.15(ve a)-.25 H .935 -(rray produces unde-).15 F .262(\214ned results.)144 628.8 R .261 -(Note that a ne)5.262 F -.05(ga)-.15 G(ti).05 E .561 -.15(ve o)-.25 H +.015(alue of)-.25 F F1(par)2.515 E(ameter)-.15 E F0 5.015(.I)C(f)-5.015 +E F1(par)144 523.2 Q(ameter)-.15 E F0(is)3.25 E F2(@)3.25 E F0 3.25(,t)C +.75(he result is)-3.25 F F1(length)3.25 E F0 .75 +(positional parameters be)3.25 F .75(ginning at)-.15 F F1(of)3.25 E +(fset)-.18 E F0 5.75(.I)C(f)-5.75 E F1(par)3.25 E(ameter)-.15 E F0 .75 +(is an)3.25 F(inde)144 535.2 Q -.15(xe)-.15 G 2.702(da).15 G .201 +(rray name subscripted by @ or *, the result is the)-2.702 F F1(length) +2.701 E F0 .201(members of the array be)2.701 F(ginning)-.15 E 1.282 +(with ${)144 547.2 R F1(par)A(ameter)-.15 E F0([)A F1(of)A(fset)-.18 E +F0 3.782(]}. A)B(ne)3.782 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F1 +(of)3.932 E(fset)-.18 E F0 1.282(is tak)3.782 F 1.282(en relati)-.1 F +1.582 -.15(ve t)-.25 H 3.782(oo).15 G 1.283(ne greater than the maximum) +-3.782 F(inde)144 559.2 Q 3.435(xo)-.15 G 3.435(ft)-3.435 G .935 +(he speci\214ed array)-3.435 F 5.935(.S)-.65 G .935(ubstring e)-5.935 F +.935(xpansion applied to an associati)-.15 F 1.234 -.15(ve a)-.25 H .934 +(rray produces unde-).15 F .261(\214ned results.)144 571.2 R .261 +(Note that a ne)5.261 F -.05(ga)-.15 G(ti).05 E .561 -.15(ve o)-.25 H -.25(ff).15 G .261 (set must be separated from the colon by at least one space to).25 F -.2 -(avo)144 640.8 S .154(id being confused with the :- e).2 F 2.655 -(xpansion. Substring)-.15 F(inde)2.655 E .155 +(avo)144 583.2 S .155(id being confused with the :- e).2 F 2.655 +(xpansion. Substring)-.15 F(inde)2.655 E .154 (xing is zero-based unless the positional)-.15 F .532 -(parameters are used, in which case the inde)144 652.8 R .532 -(xing starts at 1 by def)-.15 F 3.032(ault. If)-.1 F F2(of)3.032 E(fset) +(parameters are used, in which case the inde)144 595.2 R .532 +(xing starts at 1 by def)-.15 F 3.032(ault. If)-.1 F F1(of)3.032 E(fset) -.18 E F0 .532(is 0, and the posi-)3.032 F(tional parameters are used,) -144 664.8 Q F1($0)2.5 E F0(is pre\214x)2.5 E(ed to the list.)-.15 E(${) -108 681.6 Q F1(!)A F2(pr)A(e\214x)-.37 E F1(*)A F0(})A(${)108 693.6 Q F1 -(!)A F2(pr)A(e\214x)-.37 E F1(@)A F0(})A F1 .084(Names matching pr)144 -705.6 R(e\214x.)-.18 E F0 .084(Expands to the names of v)5.084 F .084 -(ariables whose names be)-.25 F .085(gin with)-.15 F F2(pr)2.585 E -(e\214x)-.37 E F0 2.585(,s)C(epa-)-2.585 E .258 -(rated by the \214rst character of the)144 717.6 R F3(IFS)2.758 E F0 -.257(special v)2.507 F 2.757(ariable. When)-.25 F F2(@)2.757 E F0 .257 -(is used and the e)2.757 F .257(xpansion appears)-.15 F -(within double quotes, each v)144 729.6 Q(ariable name e)-.25 E -(xpands to a separate w)-.15 E(ord.)-.1 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(19)185.955 E 0 Cg EP +144 607.2 Q F2($0)2.5 E F0(is pre\214x)2.5 E(ed to the list.)-.15 E(${) +108 624 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(*)A F0(})A(${)108 636 Q F2(!)A +F1(pr)A(e\214x)-.37 E F2(@)A F0(})A F2 .085(Names matching pr)144 648 R +(e\214x.)-.18 E F0 .084(Expands to the names of v)5.085 F .084 +(ariables whose names be)-.25 F .084(gin with)-.15 F F1(pr)2.584 E +(e\214x)-.37 E F0 2.584(,s)C(epa-)-2.584 E .257 +(rated by the \214rst character of the)144 660 R F3(IFS)2.757 E F0 .257 +(special v)2.507 F 2.757(ariable. When)-.25 F F1(@)2.758 E F0 .258 +(is used and the e)2.758 F .258(xpansion appears)-.15 F +(within double quotes, each v)144 672 Q(ariable name e)-.25 E +(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 688.8 Q F2(!)A F1(name) +A F0([)A F1(@)A F0(]})A(${)108 700.8 Q F2(!)A F1(name)A F0([)A F1(*)A F0 +(]})A F2 2.036(List of array k)144 712.8 R(eys.)-.1 E F0(If)7.036 E F1 +(name)4.536 E F0 2.036(is an array v)4.536 F 2.036(ariable, e)-.25 F +2.036(xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G(s\)) +.15 E .595(assigned in)144 724.8 R F1(name)3.095 E F0 5.595(.I)C(f) +-5.595 E F1(name)3.095 E F0 .595(is not an array)3.095 F 3.095(,e)-.65 G +.595(xpands to 0 if)-3.245 F F1(name)3.095 E F0 .596 +(is set and null otherwise.)3.095 F(When)5.596 E(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(19)185.955 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(${)108 84 Q/F1 10/Times-Bold@0 SF(!)A/F2 10/Times-Italic@0 SF -(name)A F0([)A F2(@)A F0(]})A(${)108 96 Q F1(!)A F2(name)A F0([)A F2(*)A -F0(]})A F1 2.035(List of array k)144 108 R(eys.)-.1 E F0(If)7.036 E F2 -(name)4.536 E F0 2.036(is an array v)4.536 F 2.036(ariable, e)-.25 F -2.036(xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G(s\)) -.15 E .596(assigned in)144 120 R F2(name)3.096 E F0 5.596(.I)C(f)-5.596 -E F2(name)3.096 E F0 .595(is not an array)3.096 F 3.095(,e)-.65 G .595 -(xpands to 0 if)-3.245 F F2(name)3.095 E F0 .595 -(is set and null otherwise.)3.095 F(When)5.595 E F2(@)144 132 Q F0 -(is used and the e)2.5 E(xpansion appears within double quotes, each k) --.15 E .3 -.15(ey ex)-.1 H(pands to a separate w).15 E(ord.)-.1 E(${)108 -148.8 Q F1(#)A F2(par)A(ameter)-.15 E F0(})A F1 -.1(Pa)144 160.8 S .47 -(rameter length.).1 F F0 .471(The length in characters of the v)5.47 F -.471(alue of)-.25 F F2(par)2.971 E(ameter)-.15 E F0 .471 -(is substituted.)2.971 F(If)5.471 E F2(par)4.221 E(ame-)-.15 E(ter)144 -172.8 Q F0(is)4.439 E F1(*)3.709 E F0(or)3.709 E F1(@)3.709 E F0 3.708 +-.35 E/F1 10/Times-Italic@0 SF(@)144 84 Q F0(is used and the e)2.5 E +(xpansion appears within double quotes, each k)-.15 E .3 -.15(ey ex)-.1 +H(pands to a separate w).15 E(ord.)-.1 E(${)108 100.8 Q/F2 10 +/Times-Bold@0 SF(#)A F1(par)A(ameter)-.15 E F0(})A F2 -.1(Pa)144 112.8 S +.471(rameter length.).1 F F0 .471(The length in characters of the v) +5.471 F .471(alue of)-.25 F F1(par)2.971 E(ameter)-.15 E F0 .47 +(is substituted.)2.97 F(If)5.47 E F1(par)4.22 E(ame-)-.15 E(ter)144 +124.8 Q F0(is)4.438 E F2(*)3.708 E F0(or)3.708 E F2(@)3.708 E F0 3.708 (,t)C 1.208(he v)-3.708 F 1.208 (alue substituted is the number of positional parameters.)-.25 F(If) -6.208 E F2(par)4.958 E(ameter)-.15 E F0 1.208(is an)4.438 F -(array name subscripted by)144 184.8 Q F1(*)2.5 E F0(or)2.5 E F1(@)2.5 E +6.209 E F1(par)4.959 E(ameter)-.15 E F0 1.209(is an)4.439 F +(array name subscripted by)144 136.8 Q F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E F0 2.5(,t)C(he v)-2.5 E (alue substituted is the number of elements in the array)-.25 E(.)-.65 E -(${)108 201.6 Q F2(par)A(ameter)-.15 E F1(#)A F2(wor)A(d)-.37 E F0(})A -(${)108 213.6 Q F2(par)A(ameter)-.15 E F1(##)A F2(wor)A(d)-.37 E F0(})A -F1(Remo)144 225.6 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196 -(e\214x patter)-.18 F(n.)-.15 E F0(The)6.196 E F2(wor)4.036 E(d)-.37 E +(${)108 153.6 Q F1(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A +(${)108 165.6 Q F1(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A +F2(Remo)144 177.6 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196 +(e\214x patter)-.18 F(n.)-.15 E F0(The)6.196 E F1(wor)4.036 E(d)-.37 E F0 1.196(is e)4.466 F 1.196 -(xpanded to produce a pattern just as in path-)-.15 F .152(name e)144 -237.6 R 2.652(xpansion. If)-.15 F .152(the pattern matches the be)2.652 -F .152(ginning of the v)-.15 F .152(alue of)-.25 F F2(par)2.652 E -(ameter)-.15 E F0 2.652(,t).73 G .151(hen the result of)-2.652 F 1.4 -(the e)144 249.6 R 1.4(xpansion is the e)-.15 F 1.4(xpanded v)-.15 F 1.4 -(alue of)-.25 F F2(par)5.15 E(ameter)-.15 E F0 1.4 -(with the shortest matching pattern \(the `)4.63 F(`)-.74 E F1(#)A F0 --.74('')C .281(case\) or the longest matching pattern \(the `)144 261.6 -R(`)-.74 E F1(##)A F0 1.761 -.74('' c)D .281(ase\) deleted.).74 F(If) -5.281 E F2(par)4.031 E(ameter)-.15 E F0(is)3.511 E F1(@)2.781 E F0(or) -2.781 E F1(*)2.781 E F0 2.781(,t)C .281(he pattern)-2.781 F(remo)144 -273.6 Q -.25(va)-.15 G 3.274(lo).25 G .774 +(xpanded to produce a pattern just as in path-)-.15 F .151(name e)144 +189.6 R 2.651(xpansion. If)-.15 F .152(the pattern matches the be)2.652 +F .152(ginning of the v)-.15 F .152(alue of)-.25 F F1(par)2.652 E +(ameter)-.15 E F0 2.652(,t).73 G .152(hen the result of)-2.652 F 1.4 +(the e)144 201.6 R 1.4(xpansion is the e)-.15 F 1.4(xpanded v)-.15 F 1.4 +(alue of)-.25 F F1(par)5.15 E(ameter)-.15 E F0 1.4 +(with the shortest matching pattern \(the `)4.63 F(`)-.74 E F2(#)A F0 +-.74('')C .281(case\) or the longest matching pattern \(the `)144 213.6 +R(`)-.74 E F2(##)A F0 1.761 -.74('' c)D .281(ase\) deleted.).74 F(If) +5.281 E F1(par)4.031 E(ameter)-.15 E F0(is)3.511 E F2(@)2.781 E F0(or) +2.781 E F2(*)2.782 E F0 2.782(,t)C .282(he pattern)-2.782 F(remo)144 +225.6 Q -.25(va)-.15 G 3.274(lo).25 G .774 (peration is applied to each positional parameter in turn, and the e) --3.274 F .774(xpansion is the resul-)-.15 F .402(tant list.)144 285.6 R -(If)5.402 E F2(par)4.152 E(ameter)-.15 E F0 .401(is an array v)3.632 F -.401(ariable subscripted with)-.25 F F1(@)2.901 E F0(or)2.901 E F1(*) -2.901 E F0 2.901(,t)C .401(he pattern remo)-2.901 F -.25(va)-.15 G 2.901 -(lo).25 G(peration)-2.901 E -(is applied to each member of the array in turn, and the e)144 297.6 Q -(xpansion is the resultant list.)-.15 E(${)108 314.4 Q F2(par)A(ameter) --.15 E F1(%)A F2(wor)A(d)-.37 E F0(})A(${)108 326.4 Q F2(par)A(ameter) --.15 E F1(%%)A F2(wor)A(d)-.37 E F0(})A F1(Remo)144 338.4 Q .346 -.1 -(ve m)-.1 H .146(atching suf\214x patter).1 F(n.)-.15 E F0(The)5.146 E -F2(wor)2.646 E(d)-.37 E F0 .147(is e)2.647 F .147 +-3.274 F .774(xpansion is the resul-)-.15 F .401(tant list.)144 237.6 R +(If)5.401 E F1(par)4.151 E(ameter)-.15 E F0 .401(is an array v)3.631 F +.401(ariable subscripted with)-.25 F F2(@)2.901 E F0(or)2.901 E F2(*) +2.901 E F0 2.902(,t)C .402(he pattern remo)-2.902 F -.25(va)-.15 G 2.902 +(lo).25 G(peration)-2.902 E +(is applied to each member of the array in turn, and the e)144 249.6 Q +(xpansion is the resultant list.)-.15 E(${)108 266.4 Q F1(par)A(ameter) +-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 278.4 Q F1(par)A(ameter) +-.15 E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 290.4 Q .347 -.1 +(ve m)-.1 H .147(atching suf\214x patter).1 F(n.)-.15 E F0(The)5.147 E +F1(wor)2.647 E(d)-.37 E F0 .147(is e)2.647 F .146 (xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 -350.4 S 3.088(pansion. If).15 F .588 +302.4 S 3.088(pansion. If).15 F .588 (the pattern matches a trailing portion of the e)3.088 F .588(xpanded v) --.15 F .588(alue of)-.25 F F2(par)3.088 E(ameter)-.15 E F0 3.088(,t).73 -G .588(hen the)-3.088 F .226(result of the e)144 362.4 R .226 -(xpansion is the e)-.15 F .226(xpanded v)-.15 F .226(alue of)-.25 F F2 +-.15 F .588(alue of)-.25 F F1(par)3.088 E(ameter)-.15 E F0 3.088(,t).73 +G .588(hen the)-3.088 F .226(result of the e)144 314.4 R .226 +(xpansion is the e)-.15 F .226(xpanded v)-.15 F .226(alue of)-.25 F F1 (par)3.976 E(ameter)-.15 E F0 .226 -(with the shortest matching pattern \(the)3.456 F -.74(``)144 374.4 S F1 -(%).74 E F0 1.522 -.74('' c)D .042 -(ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F1(%%)A F0 -1.522 -.74('' c)D .042(ase\) deleted.).74 F(If)5.042 E F2(par)3.792 E -(ameter)-.15 E F0(is)3.272 E F1(@)2.541 E F0(or)2.541 E F1(*)2.541 E F0 -2.541(,t)C(he)-2.541 E .44(pattern remo)144 386.4 R -.25(va)-.15 G 2.94 -(lo).25 G .441 +(with the shortest matching pattern \(the)3.456 F -.74(``)144 326.4 S F2 +(%).74 E F0 1.521 -.74('' c)D .042 +(ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F2(%%)A F0 +1.522 -.74('' c)D .042(ase\) deleted.).74 F(If)5.042 E F1(par)3.792 E +(ameter)-.15 E F0(is)3.272 E F2(@)2.542 E F0(or)2.542 E F2(*)2.542 E F0 +2.542(,t)C(he)-2.542 E .441(pattern remo)144 338.4 R -.25(va)-.15 G +2.941(lo).25 G .441 (peration is applied to each positional parameter in turn, and the e) --2.94 F .441(xpansion is the)-.15 F .241(resultant list.)144 398.4 R(If) -5.241 E F2(par)3.991 E(ameter)-.15 E F0 .241(is an array v)3.471 F .241 -(ariable subscripted with)-.25 F F1(@)2.741 E F0(or)2.74 E F1(*)2.74 E -F0 2.74(,t)C .24(he pattern remo)-2.74 F -.25(va)-.15 G 2.74(lo).25 G -(per)-2.74 E(-)-.2 E +-2.941 F .44(xpansion is the)-.15 F .24(resultant list.)144 350.4 R(If) +5.24 E F1(par)3.99 E(ameter)-.15 E F0 .24(is an array v)3.47 F .241 +(ariable subscripted with)-.25 F F2(@)2.741 E F0(or)2.741 E F2(*)2.741 E +F0 2.741(,t)C .241(he pattern remo)-2.741 F -.25(va)-.15 G 2.741(lo).25 +G(per)-2.741 E(-)-.2 E (ation is applied to each member of the array in turn, and the e)144 -410.4 Q(xpansion is the resultant list.)-.15 E(${)108 427.2 Q F2(par)A -(ameter)-.15 E F1(/)A F2(pattern)A F1(/)A F2(string)A F0(})A F1 -.1(Pa) -144 439.2 S(tter).1 E 3.606(ns)-.15 G(ubstitution.)-3.606 E F0(The)6.106 -E F2(pattern)3.606 E F0 1.106(is e)3.606 F 1.107 +362.4 Q(xpansion is the resultant list.)-.15 E(${)108 379.2 Q F1(par)A +(ameter)-.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0(})A F2 -.1(Pa) +144 391.2 S(tter).1 E 3.607(ns)-.15 G(ubstitution.)-3.607 E F0(The)6.107 +E F1(pattern)3.607 E F0 1.107(is e)3.607 F 1.106 (xpanded to produce a pattern just as in pathname e)-.15 F(xpan-)-.15 E -(sion.)144 451.2 Q F2 -.8(Pa)6.034 G -.15(ra).8 G(meter).15 E F0 1.034 -(is e)3.534 F 1.033(xpanded and the longest match of)-.15 F F2(pattern) -3.533 E F0(ag)3.533 E 1.033(ainst its v)-.05 F 1.033 -(alue is replaced with)-.25 F F2(string)144 463.2 Q F0 5.16(.I)C(f)-5.16 -E F2(pattern)2.66 E F0(be)2.66 E .16(gins with)-.15 F F1(/)2.66 E F0 -2.66(,a)C .161(ll matches of)-2.66 F F2(pattern)2.661 E F0 .161 -(are replaced with)2.661 F F2(string)2.661 E F0 5.161(.N)C .161 -(ormally only the)-5.161 F .807(\214rst match is replaced.)144 475.2 R -(If)5.807 E F2(pattern)3.307 E F0(be)3.307 E .807(gins with)-.15 F F1(#) -3.307 E F0 3.306(,i)C 3.306(tm)-3.306 G .806(ust match at the be)-3.306 -F .806(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 487.2 S .62 -(lue of).25 F F2(par)3.12 E(ameter)-.15 E F0 5.62(.I)C(f)-5.62 E F2 -(pattern)3.12 E F0(be)3.12 E .62(gins with)-.15 F F1(%)3.12 E F0 3.12 -(,i)C 3.121(tm)-3.12 G .621(ust match at the end of the e)-3.121 F .621 -(xpanded v)-.15 F .621(alue of)-.25 F F2(par)144 499.2 Q(ameter)-.15 E -F0 6.254(.I)C(f)-6.254 E F2(string)3.754 E F0 1.253(is null, matches of) -3.753 F F2(pattern)3.753 E F0 1.253(are deleted and the)3.753 F F1(/) -3.753 E F0(follo)3.753 E(wing)-.25 E F2(pattern)3.753 E F0 1.253(may be) -3.753 F 2.678(omitted. If)144 511.2 R F2(par)3.928 E(ameter)-.15 E F0 -(is)3.408 E F1(@)2.678 E F0(or)2.678 E F1(*)2.679 E F0 2.679(,t)C .179 +(sion.)144 403.2 Q F1 -.8(Pa)6.033 G -.15(ra).8 G(meter).15 E F0 1.033 +(is e)3.533 F 1.033(xpanded and the longest match of)-.15 F F1(pattern) +3.533 E F0(ag)3.533 E 1.034(ainst its v)-.05 F 1.034 +(alue is replaced with)-.25 F F1(string)144 415.2 Q F0 5.161(.I)C(f) +-5.161 E F1(pattern)2.661 E F0(be)2.661 E .161(gins with)-.15 F F2(/) +2.661 E F0 2.661(,a)C .161(ll matches of)-2.661 F F1(pattern)2.661 E F0 +.16(are replaced with)2.661 F F1(string)2.66 E F0 5.16(.N)C .16 +(ormally only the)-5.16 F .806(\214rst match is replaced.)144 427.2 R +(If)5.806 E F1(pattern)3.306 E F0(be)3.306 E .806(gins with)-.15 F F2(#) +3.306 E F0 3.306(,i)C 3.307(tm)-3.306 G .807(ust match at the be)-3.307 +F .807(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 439.2 S .621 +(lue of).25 F F1(par)3.121 E(ameter)-.15 E F0 5.621(.I)C(f)-5.621 E F1 +(pattern)3.121 E F0(be)3.121 E .621(gins with)-.15 F F2(%)3.121 E F0 +3.121(,i)C 3.121(tm)-3.121 G .62(ust match at the end of the e)-3.121 F +.62(xpanded v)-.15 F .62(alue of)-.25 F F1(par)144 451.2 Q(ameter)-.15 E +F0 6.253(.I)C(f)-6.253 E F1(string)3.753 E F0 1.253(is null, matches of) +3.753 F F1(pattern)3.753 E F0 1.253(are deleted and the)3.753 F F2(/) +3.753 E F0(follo)3.753 E(wing)-.25 E F1(pattern)3.753 E F0 1.254(may be) +3.754 F 2.679(omitted. If)144 463.2 R F1(par)3.929 E(ameter)-.15 E F0 +(is)3.409 E F2(@)2.679 E F0(or)2.679 E F2(*)2.679 E F0 2.679(,t)C .178 (he substitution operation is applied to each positional parameter) --2.679 F .619(in turn, and the e)144 523.2 R .619 -(xpansion is the resultant list.)-.15 F(If)5.619 E F2(par)4.369 E -(ameter)-.15 E F0 .618(is an array v)3.849 F .618 -(ariable subscripted with)-.25 F F1(@)144 535.2 Q F0(or)3.223 E F1(*) -3.223 E F0 3.223(,t)C .723(he substitution operation is applied to each\ - member of the array in turn, and the e)-3.223 F(xpan-)-.15 E -(sion is the resultant list.)144 547.2 Q(${)108 564 Q F2(par)A(ameter) --.15 E F1(^)A F2(pattern)A F0(})A(${)108 576 Q F2(par)A(ameter)-.15 E F1 -(^^)A F2(pattern)A F0(})A(${)108 588 Q F2(par)A(ameter)-.15 E F1(,)A F2 -(pattern)A F0(})A(${)108 600 Q F2(par)A(ameter)-.15 E F1(,,)A F2 -(pattern)A F0(})A F1 .438(Case modi\214cation.)144 612 R F0 .438(This e) -5.438 F .437(xpansion modi\214es the case of alphabetic characters in) --.15 F F2(par)2.937 E(ameter)-.15 E F0 5.437(.T)C(he)-5.437 E F2 -(pattern)144 624 Q F0 .813(is e)3.313 F .813 -(xpanded to produce a pattern just as in pathname e)-.15 F 3.314 -(xpansion. The)-.15 F F1(^)3.314 E F0 .814(operator con)3.314 F -.15(ve) --.4 G(rts).15 E(lo)144 636 Q .181(wercase letters matching)-.25 F F2 -(pattern)2.681 E F0 .181(to uppercase; the)2.681 F F1(,)2.681 E F0 .181 -(operator con)2.681 F -.15(ve)-.4 G .18(rts matching uppercase letters) -.15 F .085(to lo)144 648 R 2.585(wercase. The)-.25 F F1(^^)2.585 E F0 -(and)2.585 E F1(,,)2.585 E F0 -.15(ex)2.585 G .085(pansions con).15 F +-2.679 F .618(in turn, and the e)144 475.2 R .619 +(xpansion is the resultant list.)-.15 F(If)5.619 E F1(par)4.369 E +(ameter)-.15 E F0 .619(is an array v)3.849 F .619 +(ariable subscripted with)-.25 F F2(@)144 487.2 Q F0(or)3.224 E F2(*) +3.224 E F0 3.224(,t)C .723(he substitution operation is applied to each\ + member of the array in turn, and the e)-3.224 F(xpan-)-.15 E +(sion is the resultant list.)144 499.2 Q(${)108 516 Q F1(par)A(ameter) +-.15 E F2(^)A F1(pattern)A F0(})A(${)108 528 Q F1(par)A(ameter)-.15 E F2 +(^^)A F1(pattern)A F0(})A(${)108 540 Q F1(par)A(ameter)-.15 E F2(,)A F1 +(pattern)A F0(})A(${)108 552 Q F1(par)A(ameter)-.15 E F2(,,)A F1 +(pattern)A F0(})A F2 .437(Case modi\214cation.)144 564 R F0 .437(This e) +5.437 F .438(xpansion modi\214es the case of alphabetic characters in) +-.15 F F1(par)2.938 E(ameter)-.15 E F0 5.438(.T)C(he)-5.438 E F1 +(pattern)144 576 Q F0 .814(is e)3.314 F .813 +(xpanded to produce a pattern just as in pathname e)-.15 F 3.313 +(xpansion. The)-.15 F F2(^)3.313 E F0 .813(operator con)3.313 F -.15(ve) +-.4 G(rts).15 E(lo)144 588 Q .18(wercase letters matching)-.25 F F1 +(pattern)2.681 E F0 .181(to uppercase; the)2.681 F F2(,)2.681 E F0 .181 +(operator con)2.681 F -.15(ve)-.4 G .181(rts matching uppercase letters) +.15 F .085(to lo)144 600 R 2.585(wercase. The)-.25 F F2(^^)2.585 E F0 +(and)2.585 E F2(,,)2.585 E F0 -.15(ex)2.585 G .085(pansions con).15 F -.15(ve)-.4 G .085(rt each matched character in the e).15 F .085 -(xpanded v)-.15 F .085(alue; the)-.25 F F1(^)2.585 E F0(and)144 660 Q F1 -(,)3.435 E F0 -.15(ex)3.435 G .935(pansions match and con).15 F -.15(ve) --.4 G .934(rt only the \214rst character in the e).15 F .934(xpanded v) --.15 F 3.434(alue.. If)-.25 F F2(pattern)3.434 E F0(is)3.434 E 1.12 -(omitted, it is treated lik)144 672 R 3.62(ea)-.1 G F1(?)A F0 3.62(,w)C -1.12(hich matches e)-3.62 F -.15(ve)-.25 G 1.121(ry character).15 F -6.121(.I)-.55 G(f)-6.121 E F2(par)4.871 E(ameter)-.15 E F0(is)4.351 E F1 -(@)3.621 E F0(or)3.621 E F1(*)3.621 E F0 3.621(,t)C 1.121(he case)-3.621 -F 1.335(modi\214cation operation is applied to each positional paramete\ -r in turn, and the e)144 684 R 1.335(xpansion is the)-.15 F 1.308 -(resultant list.)144 696 R(If)6.308 E F2(par)5.058 E(ameter)-.15 E F0 -1.308(is an array v)4.538 F 1.308(ariable subscripted with)-.25 F F1(@) -3.808 E F0(or)3.808 E F1(*)3.808 E F0 3.808(,t)C 1.308 +(xpanded v)-.15 F .085(alue; the)-.25 F F2(^)2.585 E F0(and)144 612 Q F2 +(,)3.434 E F0 -.15(ex)3.434 G .934(pansions match and con).15 F -.15(ve) +-.4 G .934(rt only the \214rst character in the e).15 F .935(xpanded v) +-.15 F 3.435(alue.. If)-.25 F F1(pattern)3.435 E F0(is)3.435 E 1.121 +(omitted, it is treated lik)144 624 R 3.621(ea)-.1 G F2(?)A F0 3.621(,w) +C 1.121(hich matches e)-3.621 F -.15(ve)-.25 G 1.121(ry character).15 F +6.12(.I)-.55 G(f)-6.12 E F1(par)4.87 E(ameter)-.15 E F0(is)4.35 E F2(@) +3.62 E F0(or)3.62 E F2(*)3.62 E F0 3.62(,t)C 1.12(he case)-3.62 F 1.335 +(modi\214cation operation is applied to each positional parameter in tu\ +rn, and the e)144 636 R 1.335(xpansion is the)-.15 F 1.308 +(resultant list.)144 648 R(If)6.308 E F1(par)5.058 E(ameter)-.15 E F0 +1.308(is an array v)4.538 F 1.308(ariable subscripted with)-.25 F F2(@) +3.808 E F0(or)3.808 E F2(*)3.808 E F0 3.808(,t)C 1.308 (he case modi\214cation)-3.808 F (operation is applied to each member of the array in turn, and the e)144 -708 Q(xpansion is the resultant list.)-.15 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(20)185.955 E 0 Cg EP +660 Q(xpansion is the resultant list.)-.15 E F2(Command Substitution)87 +676.8 Q F1 1.697(Command substitution)108 688.8 R F0(allo)4.197 E 1.697 +(ws the output of a command to replace the command name.)-.25 F 1.698 +(There are tw)6.698 F(o)-.1 E(forms:)108 700.8 Q F2($\()144 722.4 Q F1 +(command)A F2(\))1.666 E F0(GNU Bash-4.1)72 768 Q(2009 December 29) +135.965 E(20)185.955 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(Command Substitution)87 84 Q/F2 10 -/Times-Italic@0 SF 1.698(Command substitution)108 96 R F0(allo)4.198 E -1.697(ws the output of a command to replace the command name.)-.25 F -1.697(There are tw)6.697 F(o)-.1 E(forms:)108 108 Q F1($\()144 129.6 Q -F2(command)A F1(\))1.666 E F0(or)108 141.6 Q F1<92>144 153.6 Q F2 -(command)A F1<92>A(Bash)108 170.4 Q F0 .019(performs the e)2.519 F .019 -(xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F2(command)2.519 E F0 -.02(and replacing the command substitution with the stan-)2.519 F .768 -(dard output of the command, with an)108 182.4 R 3.268(yt)-.15 G .768 +-.35 E(or)108 84 Q/F1 10/Times-Bold@0 SF<92>144 96 Q/F2 10 +/Times-Italic@0 SF(command)A F1<92>A(Bash)108 112.8 Q F0 .02 +(performs the e)2.52 F .02(xpansion by e)-.15 F -.15(xe)-.15 G(cuting) +.15 E F2(command)2.519 E F0 .019 +(and replacing the command substitution with the stan-)2.519 F .768 +(dard output of the command, with an)108 124.8 R 3.268(yt)-.15 G .768 (railing ne)-3.268 F .768(wlines deleted.)-.25 F .768(Embedded ne)5.768 -F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 194.4 Q 3.218 -(ym)-.15 G .718(ay be remo)-3.218 F -.15(ve)-.15 G 3.218(dd).15 G .719 -(uring w)-3.218 F .719(ord splitting.)-.1 F .719 +F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 136.8 Q 3.219 +(ym)-.15 G .719(ay be remo)-3.219 F -.15(ve)-.15 G 3.219(dd).15 G .719 +(uring w)-3.219 F .719(ord splitting.)-.1 F .719 (The command substitution)5.719 F F1($\(cat)3.219 E F2(\214le)3.219 E F1 -(\))A F0 .719(can be replaced by the)3.219 F(equi)108 206.4 Q -.25(va) +(\))A F0 .718(can be replaced by the)3.219 F(equi)108 148.8 Q -.25(va) -.25 G(lent b).25 E(ut f)-.2 E(aster)-.1 E F1($\(<)2.5 E F2(\214le)2.5 E F1(\))A F0(.)A 1.724(When the old-style backquote form of substitution \ -is used, backslash retains its literal meaning e)108 223.2 R(xcept)-.15 -E .314(when follo)108 235.2 R .314(wed by)-.25 F F1($)2.814 E F0(,)A F1 -<92>2.814 E F0 2.814(,o)C(r)-2.814 E F1(\\)2.814 E F0 5.314(.T)C .315(h\ +is used, backslash retains its literal meaning e)108 165.6 R(xcept)-.15 +E .315(when follo)108 177.6 R .315(wed by)-.25 F F1($)2.815 E F0(,)A F1 +<92>2.815 E F0 2.815(,o)C(r)-2.815 E F1(\\)2.815 E F0 5.315(.T)C .314(h\ e \214rst backquote not preceded by a backslash terminates the command \ -sub-)-5.314 F 3.887(stitution. When)108 247.2 R 1.387(using the $\() -3.887 F F2(command).833 E F0 3.887(\)f)1.666 G 1.386 -(orm, all characters between the parentheses mak)-3.887 F 3.886(eu)-.1 G -3.886(pt)-3.886 G 1.386(he com-)-3.886 F -(mand; none are treated specially)108 259.2 Q(.)-.65 E .894 -(Command substitutions may be nested.)108 276 R 2.494 -.8(To n)5.894 H +sub-)-5.315 F 3.886(stitution. When)108 189.6 R 1.386(using the $\() +3.886 F F2(command).833 E F0 3.886(\)f)1.666 G 1.387 +(orm, all characters between the parentheses mak)-3.886 F 3.887(eu)-.1 G +3.887(pt)-3.887 G 1.387(he com-)-3.887 F +(mand; none are treated specially)108 201.6 Q(.)-.65 E .894 +(Command substitutions may be nested.)108 218.4 R 2.494 -.8(To n)5.894 H .894(est when using the backquoted form, escape the inner back-).8 F -(quotes with backslashes.)108 288 Q .422 -(If the substitution appears within double quotes, w)108 304.8 R .422 -(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15 -F(on the results.)108 316.8 Q F1(Arithmetic Expansion)87 333.6 Q F0 -1.034(Arithmetic e)108 345.6 R 1.034(xpansion allo)-.15 F 1.034 -(ws the e)-.25 F -.25(va)-.25 G 1.034(luation of an arithmetic e).25 F -1.035(xpression and the substitution of the result.)-.15 F -(The format for arithmetic e)108 357.6 Q(xpansion is:)-.15 E F1($\(\() -144 374.4 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(The)108 391.2 -Q F2 -.2(ex)2.666 G(pr).2 E(ession)-.37 E F0 .165 -(is treated as if it were within double quotes, b)2.906 F .165 -(ut a double quote inside the parentheses is not)-.2 F 1.074 -(treated specially)108 403.2 R 6.074(.A)-.65 G 1.074(ll tok)-6.074 F +(quotes with backslashes.)108 230.4 Q .422 +(If the substitution appears within double quotes, w)108 247.2 R .422 +(ord splitting and pathname e)-.1 F .423(xpansion are not performed)-.15 +F(on the results.)108 259.2 Q F1(Arithmetic Expansion)87 276 Q F0 1.035 +(Arithmetic e)108 288 R 1.035(xpansion allo)-.15 F 1.035(ws the e)-.25 F +-.25(va)-.25 G 1.034(luation of an arithmetic e).25 F 1.034 +(xpression and the substitution of the result.)-.15 F +(The format for arithmetic e)108 300 Q(xpansion is:)-.15 E F1($\(\()144 +316.8 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(The)108 333.6 Q +F2 -.2(ex)2.665 G(pr).2 E(ession)-.37 E F0 .165 +(is treated as if it were within double quotes, b)2.905 F .166 +(ut a double quote inside the parentheses is not)-.2 F 1.075 +(treated specially)108 345.6 R 6.075(.A)-.65 G 1.074(ll tok)-6.075 F 1.074(ens in the e)-.1 F 1.074(xpression under)-.15 F 1.074 -(go parameter e)-.18 F 1.074(xpansion, string e)-.15 F 1.075 -(xpansion, command)-.15 F(substitution, and quote remo)108 415.2 Q -.25 +(go parameter e)-.18 F 1.074(xpansion, string e)-.15 F 1.074 +(xpansion, command)-.15 F(substitution, and quote remo)108 357.6 Q -.25 (va)-.15 G 2.5(l. Arithmetic).25 F -.15(ex)2.5 G -(pansions may be nested.).15 E 1.379(The e)108 432 R -.25(va)-.25 G +(pansions may be nested.).15 E 1.378(The e)108 374.4 R -.25(va)-.25 G 1.378(luation is performed according to the rules listed belo).25 F 3.878(wu)-.25 G(nder)-3.878 E/F3 9/Times-Bold@0 SF 1.378(ARITHMETIC EV) 3.878 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.) -A F0(If)5.878 E F2 -.2(ex)108 444 S(pr).2 E(ession)-.37 E F0(is in)2.74 -E -.25(va)-.4 G(lid,).25 E F1(bash)2.5 E F0 +A F0(If)5.879 E F2 -.2(ex)108 386.4 S(pr).2 E(ession)-.37 E F0(is in) +2.74 E -.25(va)-.4 G(lid,).25 E F1(bash)2.5 E F0 (prints a message indicating f)2.5 E(ailure and no substitution occurs.) --.1 E F1(Pr)87 460.8 Q(ocess Substitution)-.18 E F2(Pr)108 472.8 Q .97 +-.1 E F1(Pr)87 403.2 Q(ocess Substitution)-.18 E F2(Pr)108 415.2 Q .971 (ocess substitution)-.45 F F0 .971 -(is supported on systems that support named pipes \()3.47 F F2(FIFOs)A -F0 3.471(\)o)C 3.471(rt)-3.471 G(he)-3.471 E F1(/de)3.471 E(v/fd)-.15 E -F0 .971(method of)3.471 F .022(naming open \214les.)108 484.8 R .021 -(It tak)5.022 F .021(es the form of)-.1 F F1(<\()2.521 E F2(list)A F1 -(\)).833 E F0(or)2.521 E F1(>\()2.521 E F2(list)A F1(\)).833 E F0 5.021 -(.T)C .021(he process)-5.021 F F2(list)2.521 E F0 .021 -(is run with its input or output con-)2.521 F .058(nected to a)108 496.8 -R F2(FIFO)2.558 E F0 .058(or some \214le in)2.558 F F1(/de)2.558 E(v/fd) +(is supported on systems that support named pipes \()3.471 F F2(FIFOs)A +F0 3.47(\)o)C 3.47(rt)-3.47 G(he)-3.47 E F1(/de)3.47 E(v/fd)-.15 E F0 +.97(method of)3.47 F .021(naming open \214les.)108 427.2 R .021(It tak) +5.021 F .021(es the form of)-.1 F F1(<\()2.521 E F2(list)A F1(\)).833 E +F0(or)2.521 E F1(>\()2.521 E F2(list)A F1(\)).833 E F0 5.021(.T)C .021 +(he process)-5.021 F F2(list)2.521 E F0 .021 +(is run with its input or output con-)2.521 F .059(nected to a)108 439.2 +R F2(FIFO)2.559 E F0 .058(or some \214le in)2.559 F F1(/de)2.558 E(v/fd) -.15 E F0 5.058(.T)C .058(he name of this \214le is passed as an ar) --5.058 F .059(gument to the current com-)-.18 F .131 -(mand as the result of the e)108 508.8 R 2.631(xpansion. If)-.15 F(the) +-5.058 F .058(gument to the current com-)-.18 F .13 +(mand as the result of the e)108 451.2 R 2.63(xpansion. If)-.15 F(the) 2.63 E F1(>\()2.63 E F2(list)A F1(\)).833 E F0 .13 -(form is used, writing to the \214le will pro)2.63 F .13(vide input for) --.15 F F2(list)2.63 E F0(.)A(If the)108 520.8 Q F1(<\()2.5 E F2(list)A -F1(\)).833 E F0(form is used, the \214le passed as an ar)2.5 E +(form is used, writing to the \214le will pro)2.63 F .131 +(vide input for)-.15 F F2(list)2.631 E F0(.)A(If the)108 463.2 Q F1(<\() +2.5 E F2(list)A F1(\)).833 E F0 +(form is used, the \214le passed as an ar)2.5 E (gument should be read to obtain the output of)-.18 E F2(list)2.5 E F0 -(.)A .896(When a)108 537.6 R -.25(va)-.2 G .896(ilable, process substit\ -ution is performed simultaneously with parameter and v).25 F .897 +(.)A .897(When a)108 480 R -.25(va)-.2 G .896(ilable, process substitut\ +ion is performed simultaneously with parameter and v).25 F .896 (ariable e)-.25 F(xpansion,)-.15 E -(command substitution, and arithmetic e)108 549.6 Q(xpansion.)-.15 E F1 --.75(Wo)87 566.4 S(rd Splitting).75 E F0 1.143 -(The shell scans the results of parameter e)108 578.4 R 1.142 -(xpansion, command substitution, and arithmetic e)-.15 F 1.142 -(xpansion that)-.15 F(did not occur within double quotes for)108 590.4 Q +(command substitution, and arithmetic e)108 492 Q(xpansion.)-.15 E F1 +-.75(Wo)87 508.8 S(rd Splitting).75 E F0 1.142 +(The shell scans the results of parameter e)108 520.8 R 1.143 +(xpansion, command substitution, and arithmetic e)-.15 F 1.143 +(xpansion that)-.15 F(did not occur within double quotes for)108 532.8 Q F2(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063 -(The shell treats each character of)108 607.2 R F3(IFS)2.563 E F0 .063 +(The shell treats each character of)108 549.6 R F3(IFS)2.563 E F0 .063 (as a delimiter)2.313 F 2.563(,a)-.4 G .063 (nd splits the results of the other e)-2.563 F .063(xpansions into w) --.15 F(ords)-.1 E 1.789(on these characters.)108 619.2 R(If)6.789 E F3 -(IFS)4.289 E F0 1.788(is unset, or its v)4.039 F 1.788(alue is e)-.25 F -(xactly)-.15 E F1(<space><tab><newline>)4.288 E F0 4.288(,t)C 1.788 -(he def)-4.288 F 1.788(ault, then)-.1 F .021(sequences of)108 631.2 R F1 -(<space>)2.521 E F0(,)A F1(<tab>)2.521 E F0 2.521(,a)C(nd)-2.521 E F1 +-.15 F(ords)-.1 E 1.788(on these characters.)108 561.6 R(If)6.788 E F3 +(IFS)4.288 E F0 1.788(is unset, or its v)4.038 F 1.789(alue is e)-.25 F +(xactly)-.15 E F1(<space><tab><newline>)4.289 E F0 4.289(,t)C 1.789 +(he def)-4.289 F 1.789(ault, then)-.1 F .022(sequences of)108 573.6 R F1 +(<space>)2.522 E F0(,)A F1(<tab>)2.522 E F0 2.521(,a)C(nd)-2.521 E F1 (<newline>)2.521 E F0 .021(at the be)2.521 F .021 -(ginning and end of the results of the pre)-.15 F .022(vious e)-.25 F -(xpan-)-.15 E .586(sions are ignored, and an)108 643.2 R 3.086(ys)-.15 G +(ginning and end of the results of the pre)-.15 F .021(vious e)-.25 F +(xpan-)-.15 E .585(sions are ignored, and an)108 585.6 R 3.086(ys)-.15 G .586(equence of)-3.086 F F3(IFS)3.086 E F0 .586 -(characters not at the be)2.836 F .586(ginning or end serv)-.15 F .585 -(es to delimit w)-.15 F(ords.)-.1 E(If)108 655.2 Q F3(IFS)3.617 E F0 +(characters not at the be)2.836 F .586(ginning or end serv)-.15 F .586 +(es to delimit w)-.15 F(ords.)-.1 E(If)108 597.6 Q F3(IFS)3.617 E F0 1.117(has a v)3.367 F 1.117(alue other than the def)-.25 F 1.117 (ault, then sequences of the whitespace characters)-.1 F F1(space)3.617 E F0(and)3.617 E F1(tab)3.617 E F0(are)3.617 E .315(ignored at the be) -108 667.2 R .315(ginning and end of the w)-.15 F .315 +108 609.6 R .315(ginning and end of the w)-.15 F .315 (ord, as long as the whitespace character is in the v)-.1 F .315 -(alue of)-.25 F F3(IFS)2.815 E F0(\(an)2.565 E F3(IFS)108 679.2 Q F0 -1.053(whitespace character\).)3.303 F(An)6.053 E 3.553(yc)-.15 G 1.053 -(haracter in)-3.553 F F3(IFS)3.553 E F0 1.053(that is not)3.303 F F3 -(IFS)3.553 E F0 1.054(whitespace, along with an)3.304 F 3.554(ya)-.15 G -(djacent)-3.554 E F3(IFS)3.554 E F0 .332 -(whitespace characters, delimits a \214eld.)108 691.2 R 2.832(As)5.332 G -.332(equence of)-2.832 F F3(IFS)2.832 E F0 .331 +(alue of)-.25 F F3(IFS)2.815 E F0(\(an)2.566 E F3(IFS)108 621.6 Q F0 +1.054(whitespace character\).)3.304 F(An)6.054 E 3.554(yc)-.15 G 1.054 +(haracter in)-3.554 F F3(IFS)3.554 E F0 1.053(that is not)3.303 F F3 +(IFS)3.553 E F0 1.053(whitespace, along with an)3.303 F 3.553(ya)-.15 G +(djacent)-3.553 E F3(IFS)3.553 E F0 .331 +(whitespace characters, delimits a \214eld.)108 633.6 R 2.831(As)5.331 G +.332(equence of)-2.831 F F3(IFS)2.832 E F0 .332 (whitespace characters is also treated as a delim-)2.582 F(iter)108 -703.2 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E -F0(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.878 -(Explicit null ar)108 720 R 1.878(guments \()-.18 F F1 .833("").833 G F0 -(or)3.545 E F1 .833<0808>5.211 G F0 4.378(\)a)C 1.878(re retained.) --4.378 F 1.878(Unquoted implicit null ar)6.878 F 1.879 -(guments, resulting from the)-.18 F(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(21)185.955 E 0 Cg EP +645.6 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E +F0(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.879 +(Explicit null ar)108 662.4 R 1.879(guments \()-.18 F F1 .833("").833 G +F0(or)3.545 E F1 .833<0808>5.211 G F0 4.378(\)a)C 1.878(re retained.) +-4.378 F 1.878(Unquoted implicit null ar)6.878 F 1.878 +(guments, resulting from the)-.18 F -.15(ex)108 674.4 S .176 +(pansion of parameters that ha).15 F .476 -.15(ve n)-.2 H 2.676(ov).15 G +.176(alues, are remo)-2.926 F -.15(ve)-.15 G 2.676(d. If).15 F 2.677(ap) +2.677 G .177(arameter with no v)-2.677 F .177(alue is e)-.25 F .177 +(xpanded within)-.15 F(double quotes, a null ar)108 686.4 Q +(gument results and is retained.)-.18 E(Note that if no e)108 703.2 Q +(xpansion occurs, no splitting is performed.)-.15 E(GNU Bash-4.1)72 768 +Q(2009 December 29)135.965 E(21)185.955 E 0 Cg EP %%Page: 22 22 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E -.15(ex)108 84 S .177(pansion of parameters that ha).15 F .477 --.15(ve n)-.2 H 2.677(ov).15 G .177(alues, are remo)-2.927 F -.15(ve) --.15 G 2.676(d. If).15 F 2.676(ap)2.676 G .176(arameter with no v)-2.676 -F .176(alue is e)-.25 F .176(xpanded within)-.15 F -(double quotes, a null ar)108 96 Q(gument results and is retained.)-.18 -E(Note that if no e)108 112.8 Q -(xpansion occurs, no splitting is performed.)-.15 E/F1 10/Times-Bold@0 -SF -.1(Pa)87 129.6 S(thname Expansion).1 E F0 .37(After w)108 141.6 R -.37(ord splitting, unless the)-.1 F F1<ad66>2.87 E F0 .37 -(option has been set,)2.87 F F1(bash)2.87 E F0 .371(scans each w)2.871 F -.371(ord for the characters)-.1 F F1(*)2.871 E F0(,)A F1(?)2.871 E F0 -2.871(,a)C(nd)-2.871 E F1([)2.871 E F0(.)A .678 -(If one of these characters appears, then the w)108 153.6 R .677 +-.35 E/F1 10/Times-Bold@0 SF -.1(Pa)87 84 S(thname Expansion).1 E F0 +.371(After w)108 96 R .371(ord splitting, unless the)-.1 F F1<ad66>2.871 +E F0 .371(option has been set,)2.871 F F1(bash)2.871 E F0 .37 +(scans each w)2.87 F .37(ord for the characters)-.1 F F1(*)2.87 E F0(,)A +F1(?)2.87 E F0 2.87(,a)C(nd)-2.87 E F1([)2.87 E F0(.)A .677 +(If one of these characters appears, then the w)108 108 R .677 (ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F/F2 10 -/Times-Italic@0 SF(pattern)3.177 E F0 3.177(,a).24 G .677 -(nd replaced with an alphabeti-)-3.177 F 1.456 -(cally sorted list of \214le names matching the pattern.)108 165.6 R -1.457(If no matching \214le names are found, and the shell)6.457 F -(option)108 177.6 Q F1(nullglob)2.538 E F0 .038(is not enabled, the w) -2.538 F .038(ord is left unchanged.)-.1 F .038(If the)5.038 F F1 -(nullglob)2.538 E F0 .038(option is set, and no matches are)2.538 F .305 -(found, the w)108 189.6 R .305(ord is remo)-.1 F -.15(ve)-.15 G 2.805 -(d. If).15 F(the)2.805 E F1(failglob)2.805 E F0 .305 +/Times-Italic@0 SF(pattern)3.177 E F0 3.177(,a).24 G .678 +(nd replaced with an alphabeti-)-3.177 F 1.457 +(cally sorted list of \214le names matching the pattern.)108 120 R 1.456 +(If no matching \214le names are found, and the shell)6.457 F(option)108 +132 Q F1(nullglob)2.537 E F0 .038(is not enabled, the w)2.537 F .038 +(ord is left unchanged.)-.1 F .038(If the)5.038 F F1(nullglob)2.538 E F0 +.038(option is set, and no matches are)2.538 F .306(found, the w)108 144 +R .306(ord is remo)-.1 F -.15(ve)-.15 G 2.806(d. If).15 F(the)2.805 E F1 +(failglob)2.805 E F0 .305 (shell option is set, and no matches are found, an error message)2.805 F -.929(is printed and the command is not e)108 201.6 R -.15(xe)-.15 G -3.428(cuted. If).15 F .928(the shell option)3.428 F F1(nocaseglob)3.428 -E F0 .928(is enabled, the match is per)3.428 F(-)-.2 E .032 -(formed without re)108 213.6 R -.05(ga)-.15 G .032 -(rd to the case of alphabetic characters.).05 F .033 -(When a pattern is used for pathname e)5.033 F(xpansion,)-.15 E .105 -(the character)108 225.6 R F1 -.63(``)2.605 G -.55(.').63 G(')-.08 E F0 -.105(at the start of a name or immediately follo)5.105 F .104 -(wing a slash must be matched e)-.25 F(xplicitly)-.15 E 2.604(,u)-.65 G -(nless)-2.604 E .887(the shell option)108 237.6 R F1(dotglob)3.387 E F0 -.887(is set.)3.387 F .888 -(When matching a pathname, the slash character must al)5.887 F -.1(wa) --.1 G .888(ys be matched).1 F -.15(ex)108 249.6 S(plicitly).15 E 6.166 -(.I)-.65 G 3.666(no)-6.166 G 1.166(ther cases, the)-3.666 F F1 -.63(``) -3.666 G -.55(.').63 G(')-.08 E F0 1.166 -(character is not treated specially)6.166 F 6.165(.S)-.65 G 1.165 -(ee the description of)-6.165 F F1(shopt)3.665 E F0(belo)3.665 E(w)-.25 -E(under)108 261.6 Q/F3 9/Times-Bold@0 SF .477(SHELL B)2.977 F(UIL)-.09 E -.477(TIN COMMANDS)-.828 F F0 .477(for a description of the)2.727 F F1 -(nocaseglob)2.978 E F0(,)A F1(nullglob)2.978 E F0(,)A F1(failglob)2.978 -E F0 2.978(,a)C(nd)-2.978 E F1(dotglob)2.978 E F0(shell options.)108 -273.6 Q(The)108 290.4 Q F3(GLOBIGNORE)2.631 E F0 .131(shell v)2.381 F -.131(ariable may be used to restrict the set of \214le names matching a) --.25 F F2(pattern)2.63 E F0 5.13(.I).24 G(f)-5.13 E F3(GLO-)2.63 E -(BIGNORE)108 302.4 Q F0 2.015(is set, each matching \214le name that al\ -so matches one of the patterns in)4.264 F F3(GLOBIGNORE)4.515 E F0(is) -4.265 E(remo)108 314.4 Q -.15(ve)-.15 G 2.504(df).15 G .004 -(rom the list of matches.)-2.504 F .003(The \214le names)5.003 F F1 -.63 +.928(is printed and the command is not e)108 156 R -.15(xe)-.15 G 3.428 +(cuted. If).15 F .928(the shell option)3.428 F F1(nocaseglob)3.428 E F0 +.929(is enabled, the match is per)3.429 F(-)-.2 E .033 +(formed without re)108 168 R -.05(ga)-.15 G .033 +(rd to the case of alphabetic characters.).05 F .032 +(When a pattern is used for pathname e)5.032 F(xpansion,)-.15 E .104 +(the character)108 180 R F1 -.63(``)2.604 G -.55(.').63 G(')-.08 E F0 +.104(at the start of a name or immediately follo)5.104 F .105 +(wing a slash must be matched e)-.25 F(xplicitly)-.15 E 2.605(,u)-.65 G +(nless)-2.605 E .888(the shell option)108 192 R F1(dotglob)3.388 E F0 +.888(is set.)3.388 F .887 +(When matching a pathname, the slash character must al)5.888 F -.1(wa) +-.1 G .887(ys be matched).1 F -.15(ex)108 204 S(plicitly).15 E 6.165(.I) +-.65 G 3.665(no)-6.165 G 1.165(ther cases, the)-3.665 F F1 -.63(``)3.665 +G -.55(.').63 G(')-.08 E F0 1.166(character is not treated specially) +6.165 F 6.166(.S)-.65 G 1.166(ee the description of)-6.166 F F1(shopt) +3.666 E F0(belo)3.666 E(w)-.25 E(under)108 216 Q/F3 9/Times-Bold@0 SF +.478(SHELL B)2.978 F(UIL)-.09 E .478(TIN COMMANDS)-.828 F F0 .477 +(for a description of the)2.728 F F1(nocaseglob)2.977 E F0(,)A F1 +(nullglob)2.977 E F0(,)A F1(failglob)2.977 E F0 2.977(,a)C(nd)-2.977 E +F1(dotglob)2.977 E F0(shell options.)108 228 Q(The)108 244.8 Q F3 +(GLOBIGNORE)2.63 E F0 .13(shell v)2.38 F .131 +(ariable may be used to restrict the set of \214le names matching a)-.25 +F F2(pattern)2.631 E F0 5.131(.I).24 G(f)-5.131 E F3(GLO-)2.631 E +(BIGNORE)108 256.8 Q F0 2.015(is set, each matching \214le name that al\ +so matches one of the patterns in)4.265 F F3(GLOBIGNORE)4.515 E F0(is) +4.264 E(remo)108 268.8 Q -.15(ve)-.15 G 2.503(df).15 G .003 +(rom the list of matches.)-2.503 F .003(The \214le names)5.003 F F1 -.63 (``)2.503 G -.55(.').63 G(')-.08 E F0(and)5.003 E F1 -.63(``)2.503 G(..) -.63 E -.63('')-.55 G F0 .003(are al)5.633 F -.1(wa)-.1 G .003 -(ys ignored when).1 F F3(GLOBIGNORE)2.503 E F0(is)2.253 E .045 -(set and not null.)108 326.4 R(Ho)5.045 E(we)-.25 E -.15(ve)-.25 G .845 --.4(r, s).15 H(etting).4 E F3(GLOBIGNORE)2.545 E F0 .046 -(to a non-null v)2.296 F .046(alue has the ef)-.25 F .046 -(fect of enabling the)-.25 F F1(dotglob)2.546 E F0 .614 -(shell option, so all other \214le names be)108 338.4 R .614 +.63 E -.63('')-.55 G F0 .004(are al)5.633 F -.1(wa)-.1 G .004 +(ys ignored when).1 F F3(GLOBIGNORE)2.504 E F0(is)2.254 E .046 +(set and not null.)108 280.8 R(Ho)5.046 E(we)-.25 E -.15(ve)-.25 G .846 +-.4(r, s).15 H(etting).4 E F3(GLOBIGNORE)2.546 E F0 .046 +(to a non-null v)2.296 F .045(alue has the ef)-.25 F .045 +(fect of enabling the)-.25 F F1(dotglob)2.545 E F0 .613 +(shell option, so all other \214le names be)108 292.8 R .614 (ginning with a)-.15 F F1 -.63(``)3.114 G -.55(.').63 G(')-.08 E F0 .614 -(will match.)5.614 F 2.213 -.8(To g)5.614 H .613(et the old beha).8 F -.613(vior of ignoring)-.2 F .456(\214le names be)108 350.4 R .456 +(will match.)5.614 F 2.214 -.8(To g)5.614 H .614(et the old beha).8 F +.614(vior of ignoring)-.2 F .457(\214le names be)108 304.8 R .457 (ginning with a)-.15 F F1 -.63(``)2.957 G -.55(.').63 G(')-.08 E F0 2.957(,m)C(ak)-2.957 E(e)-.1 E F1 -.63(``)2.957 G(.*').63 E(')-.63 E F0 .457(one of the patterns in)5.457 F F3(GLOBIGNORE)2.957 E/F4 9 -/Times-Roman@0 SF(.)A F0(The)4.957 E F1(dotglob)2.957 E F0 .457 -(option is)2.957 F(disabled when)108 362.4 Q F3(GLOBIGNORE)2.5 E F0 -(is unset.)2.25 E F1 -.1(Pa)108 379.2 S(tter).1 E 2.5(nM)-.15 G(atching) --2.5 E F0(An)108 396 Q 3.138(yc)-.15 G .638(haracter that appears in a \ -pattern, other than the special pattern characters described belo)-3.138 -F 1.938 -.65(w, m)-.25 H(atches).65 E 3.62(itself. The)108 408 R 1.12 -(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G 1.12 -(ackslash escapes the follo)-3.62 F 1.12(wing character; the)-.25 F .576 -(escaping backslash is discarded when matching.)108 420 R .576 +/Times-Roman@0 SF(.)A F0(The)4.957 E F1(dotglob)2.956 E F0 .456 +(option is)2.956 F(disabled when)108 316.8 Q F3(GLOBIGNORE)2.5 E F0 +(is unset.)2.25 E F1 -.1(Pa)108 333.6 S(tter).1 E 2.5(nM)-.15 G(atching) +-2.5 E F0(An)108 350.4 Q 3.138(yc)-.15 G .638(haracter that appears in \ +a pattern, other than the special pattern characters described belo) +-3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 3.62(itself. The)108 362.4 +R 1.12(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G +1.12(ackslash escapes the follo)-3.62 F 1.12(wing character; the)-.25 F +.576(escaping backslash is discarded when matching.)108 374.4 R .576 (The special pattern characters must be quoted if the)5.576 F 3.076(ya) --.15 G(re)-3.076 E(to be matched literally)108 432 Q(.)-.65 E -(The special pattern characters ha)108 448.8 Q .3 -.15(ve t)-.2 H -(he follo).15 E(wing meanings:)-.25 E F1(*)108 465.6 Q F0 .455 -(Matches an)31 F 2.955(ys)-.15 G .455(tring, including the null string.) --2.955 F .455(When the)5.455 F F1(globstar)2.955 E F0 .455 -(shell option is enabled, and)2.955 F F1(*)2.955 E F0(is)2.955 E .315 -(used in a pathname e)144 477.6 R .314(xpansion conte)-.15 F .314 -(xt, tw)-.15 F 2.814(oa)-.1 G(djacent)-2.814 E F1(*)2.814 E F0 2.814(su) -C .314(sed as a single pattern will match all \214les)-2.814 F 1.183 -(and zero or more directories and subdirectories.)144 489.6 R 1.183 +-.15 G(re)-3.076 E(to be matched literally)108 386.4 Q(.)-.65 E +(The special pattern characters ha)108 403.2 Q .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E F1(*)108 420 Q F0 .455(Matches an) +31 F 2.955(ys)-.15 G .455(tring, including the null string.)-2.955 F +.455(When the)5.455 F F1(globstar)2.955 E F0 .455 +(shell option is enabled, and)2.955 F F1(*)2.955 E F0(is)2.955 E .314 +(used in a pathname e)144 432 R .314(xpansion conte)-.15 F .314(xt, tw) +-.15 F 2.814(oa)-.1 G(djacent)-2.814 E F1(*)2.814 E F0 2.814(su)C .314 +(sed as a single pattern will match all \214les)-2.814 F 1.183 +(and zero or more directories and subdirectories.)144 444 R 1.183 (If follo)6.183 F 1.183(wed by a)-.25 F F1(/)3.683 E F0 3.683(,t)C 1.383 --.1(wo a)-3.683 H(djacent).1 E F1(*)3.683 E F0 3.684(sw)C 1.184 -(ill match)-3.684 F(only directories and subdirectories.)144 501.6 Q F1 -(?)108 513.6 Q F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E -(.)-.55 E F1([...])108 525.6 Q F0 .257(Matches an)21.84 F 2.757(yo)-.15 -G .257(ne of the enclosed characters.)-2.757 F 2.757(Ap)5.257 G .257 -(air of characters separated by a h)-2.757 F .256(yphen denotes a)-.05 F -F2 -.15(ra)144 537.6 S(ng).15 E 3.289(ee)-.1 G(xpr)-3.489 E(ession)-.37 -E F0 3.289(;a)C 1.089 -.15(ny c)-3.289 H .789 +-.1(wo a)-3.683 H(djacent).1 E F1(*)3.683 E F0 3.683(sw)C 1.183 +(ill match)-3.683 F(only directories and subdirectories.)144 456 Q F1(?) +108 468 Q F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 +E F1([...])108 480 Q F0 .256(Matches an)21.84 F 2.756(yo)-.15 G .257 +(ne of the enclosed characters.)-2.756 F 2.757(Ap)5.257 G .257 +(air of characters separated by a h)-2.757 F .257(yphen denotes a)-.05 F +F2 -.15(ra)144 492 S(ng).15 E 3.29(ee)-.1 G(xpr)-3.49 E(ession)-.37 E F0 +3.29(;a)C 1.09 -.15(ny c)-3.29 H .789 (haracter that sorts between those tw).15 F 3.289(oc)-.1 G .789 -(haracters, inclusi)-3.289 F -.15(ve)-.25 G 3.29(,u).15 G .79 -(sing the cur)-3.29 F(-)-.2 E .35(rent locale')144 549.6 R 2.85(sc)-.55 -G .35(ollating sequence and character set, is matched.)-2.85 F .349 -(If the \214rst character follo)5.349 F .349(wing the)-.25 F F1([)2.849 -E F0 .563(is a)144 561.6 R F1(!)3.063 E F0 .563(or a)5.563 F F1(^)3.063 -E F0 .564(then an)3.063 F 3.064(yc)-.15 G .564 -(haracter not enclosed is matched.)-3.064 F .564 -(The sorting order of characters in range)5.564 F -.15(ex)144 573.6 S -1.102(pressions is determined by the current locale and the v).15 F -1.102(alue of the)-.25 F F1(LC_COLLA)3.602 E(TE)-.95 E F0 1.102(shell v) -3.602 F(ari-)-.25 E .088(able, if set.)144 585.6 R(A)5.088 E F1<ad>2.588 -E F0 .088(may be matched by including it as the \214rst or last charact\ -er in the set.)2.588 F(A)5.089 E F1(])2.589 E F0 .089(may be)2.589 F -(matched by including it as the \214rst character in the set.)144 597.6 -Q -.4(Wi)144 615.6 S(thin).4 E F1([)2.915 E F0(and)2.915 E F1(])2.915 E -F0(,)A F2 -.15(ch)2.915 G(ar).15 E .415(acter classes)-.15 F F0 .415 +(haracters, inclusi)-3.289 F -.15(ve)-.25 G 3.289(,u).15 G .789 +(sing the cur)-3.289 F(-)-.2 E .349(rent locale')144 504 R 2.849(sc)-.55 +G .349(ollating sequence and character set, is matched.)-2.849 F .35 +(If the \214rst character follo)5.349 F .35(wing the)-.25 F F1([)2.85 E +F0 .564(is a)144 516 R F1(!)3.064 E F0 .564(or a)5.564 F F1(^)3.064 E F0 +.564(then an)3.064 F 3.064(yc)-.15 G .564 +(haracter not enclosed is matched.)-3.064 F .563 +(The sorting order of characters in range)5.564 F -.15(ex)144 528 S .467 +(pressions is determined by the current locale and the v).15 F .467 +(alue of the)-.25 F F3(LC_COLLA)2.967 E(TE)-.855 E F0 .467(shell v)2.717 +F(ariable,)-.25 E 1.077(if set.)144 540 R(A)6.077 E F1<ad>3.577 E F0 +1.077(may be matched by including it as the \214rst or last character i\ +n the set.)3.577 F(A)6.076 E F1(])3.576 E F0 1.076(may be)3.576 F +(matched by including it as the \214rst character in the set.)144 552 Q +-.4(Wi)144 570 S(thin).4 E F1([)2.914 E F0(and)2.914 E F1(])2.914 E F0 +(,)A F2 -.15(ch)2.914 G(ar).15 E .414(acter classes)-.15 F F0 .415 (can be speci\214ed using the syntax)2.915 F F1([:)2.915 E F2(class)A F1 -(:])A F0 2.914(,w)C(here)-2.914 E F2(class)2.914 E F0 .414(is one of) -2.914 F(the follo)144 627.6 Q +(:])A F0 2.915(,w)C(here)-2.915 E F2(class)2.915 E F0 .415(is one of) +2.915 F(the follo)144 582 Q (wing classes de\214ned in the POSIX standard:)-.25 E F1 5.421 -(alnum alpha ascii blank cntrl digit graph lo)144 639.6 R 5.421 -(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 651.6 Q F0 -2.519(Ac)144 663.6 S .019(haracter class matches an)-2.519 F 2.519(yc) --.15 G .019(haracter belonging to that class.)-2.519 F(The)5.018 E F1 --.1(wo)2.518 G(rd).1 E F0 .018(character class matches)2.518 F -(letters, digits, and the character _.)144 675.6 Q -.4(Wi)144 693.6 S -(thin).4 E F1([)3.546 E F0(and)3.546 E F1(])3.546 E F0 3.546(,a)C(n) --3.546 E F2 1.046(equivalence class)3.546 F F0 1.046 -(can be speci\214ed using the syntax)3.546 F F1([=)3.547 E F2(c)A F1(=]) -A F0 3.547(,w)C 1.047(hich matches all)-3.547 F(characters with the sam\ +(alnum alpha ascii blank cntrl digit graph lo)144 594 R 5.421 +(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 606 Q F0 2.518 +(Ac)144 618 S .018(haracter class matches an)-2.518 F 2.518(yc)-.15 G +.019(haracter belonging to that class.)-2.518 F(The)5.019 E F1 -.1(wo) +2.519 G(rd).1 E F0 .019(character class matches)2.519 F +(letters, digits, and the character _.)144 630 Q -.4(Wi)144 648 S(thin) +.4 E F1([)3.547 E F0(and)3.547 E F1(])3.547 E F0 3.547(,a)C(n)-3.547 E +F2 1.046(equivalence class)3.546 F F0 1.046 +(can be speci\214ed using the syntax)3.546 F F1([=)3.546 E F2(c)A F1(=]) +A F0 3.546(,w)C 1.046(hich matches all)-3.546 F(characters with the sam\ e collation weight \(as de\214ned by the current locale\) as the charac\ -ter)144 705.6 Q F2(c)2.5 E F0(.)A -.4(Wi)144 723.6 S(thin).4 E F1([)2.5 -E F0(and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.)2.5 E F2 +ter)144 660 Q F2(c)2.5 E F0(.)A -.4(Wi)144 678 S(thin).4 E F1([)2.5 E F0 +(and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.)2.5 E F2 (symbol)A F1(.])A F0(matches the collating symbol)2.5 E F2(symbol)2.5 E -F0(.)A(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(22)185.955 E 0 -Cg EP +F0(.)A .704(If the)108 694.8 R F1(extglob)3.204 E F0 .705 +(shell option is enabled using the)3.204 F F1(shopt)3.205 E F0 -.2(bu) +3.205 G .705(iltin, se).2 F -.15(ve)-.25 G .705(ral e).15 F .705 +(xtended pattern matching operators)-.15 F .256(are recognized.)108 +706.8 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F2 +(pattern-list)2.755 E F0 .255 +(is a list of one or more patterns separated by a)2.755 F F1(|)2.755 E +F0(.)A(Composite patterns may be formed using one or more of the follo) +108 718.8 Q(wing sub-patterns:)-.25 E(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(22)185.955 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .705(If the)108 84 R/F1 10/Times-Bold@0 SF(extglob)3.205 E F0 -.705(shell option is enabled using the)3.205 F F1(shopt)3.205 E F0 -.2 -(bu)3.205 G .704(iltin, se).2 F -.15(ve)-.25 G .704(ral e).15 F .704 -(xtended pattern matching operators)-.15 F .255(are recognized.)108 96 R -.255(In the follo)5.255 F .255(wing description, a)-.25 F/F2 10 -/Times-Italic@0 SF(pattern-list)2.755 E F0 .255 -(is a list of one or more patterns separated by a)2.755 F F1(|)2.756 E -F0(.)A(Composite patterns may be formed using one or more of the follo) -108 108 Q(wing sub-patterns:)-.25 E F1(?\()144 132 Q F2(pattern-list) -.833 E F1(\)).833 E F0(Matches zero or one occurrence of the gi)180 144 -Q -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(*\()144 156 Q F2 +-.35 E/F1 10/Times-Bold@0 SF(?\()144 84 Q/F2 10/Times-Italic@0 SF (pattern-list).833 E F1(\)).833 E F0 -(Matches zero or more occurrences of the gi)180 168 Q -.15(ve)-.25 G 2.5 -(np).15 G(atterns)-2.5 E F1(+\()144 180 Q F2(pattern-list).833 E F1(\)) -.833 E F0(Matches one or more occurrences of the gi)180 192 Q -.15(ve) --.25 G 2.5(np).15 G(atterns)-2.5 E F1(@\()144 204 Q F2(pattern-list).833 -E F1(\)).833 E F0(Matches one of the gi)180 216 Q -.15(ve)-.25 G 2.5(np) -.15 G(atterns)-2.5 E F1(!\()144 228 Q F2(pattern-list).833 E F1(\)).833 -E F0(Matches an)180 240 Q(ything e)-.15 E(xcept one of the gi)-.15 E --.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(Quote Remo)87 256.8 Q -.1 -(va)-.1 G(l).1 E F0 1.113(After the preceding e)108 268.8 R 1.113 +(Matches zero or one occurrence of the gi)180 96 Q -.15(ve)-.25 G 2.5 +(np).15 G(atterns)-2.5 E F1(*\()144 108 Q F2(pattern-list).833 E F1(\)) +.833 E F0(Matches zero or more occurrences of the gi)180 120 Q -.15(ve) +-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 132 Q F2(pattern-list).833 +E F1(\)).833 E F0(Matches one or more occurrences of the gi)180 144 Q +-.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(@\()144 156 Q F2 +(pattern-list).833 E F1(\)).833 E F0(Matches one of the gi)180 168 Q +-.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(!\()144 180 Q F2 +(pattern-list).833 E F1(\)).833 E F0(Matches an)180 192 Q(ything e)-.15 +E(xcept one of the gi)-.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E +F1(Quote Remo)87 208.8 Q -.1(va)-.1 G(l).1 E F0 1.112 +(After the preceding e)108 220.8 R 1.112 (xpansions, all unquoted occurrences of the characters)-.15 F F1(\\) -3.613 E F0(,)A F1<08>3.612 E F0 3.612(,a)C(nd)-3.612 E F1(")4.445 E F0 -1.112(that did not result)4.445 F(from one of the abo)108 280.8 Q .3 +3.613 E F0(,)A F1<08>3.613 E F0 3.613(,a)C(nd)-3.613 E F1(")4.446 E F0 +1.113(that did not result)4.446 F(from one of the abo)108 232.8 Q .3 -.15(ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F3 -10.95/Times-Bold@0 SF(REDIRECTION)72 297.6 Q F0 .545 -(Before a command is e)108 309.6 R -.15(xe)-.15 G .545 +10.95/Times-Bold@0 SF(REDIRECTION)72 249.6 Q F0 .545 +(Before a command is e)108 261.6 R -.15(xe)-.15 G .545 (cuted, its input and output may be).15 F F2 -.37(re)3.045 G(dir).37 E -(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .617 -(by the shell.)108 321.6 R .617(Redirection may also be used to open an\ -d close \214les for the current shell e)5.617 F -.15(xe)-.15 G .616 -(cution en).15 F(viron-)-.4 E 3.274(ment. The)108 333.6 R(follo)3.274 E +(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .616 +(by the shell.)108 273.6 R .617(Redirection may also be used to open an\ +d close \214les for the current shell e)5.616 F -.15(xe)-.15 G .617 +(cution en).15 F(viron-)-.4 E 3.275(ment. The)108 285.6 R(follo)3.275 E .774(wing redirection operators may precede or appear an)-.25 F .774 -(ywhere within a)-.15 F F2 .775(simple command)3.615 F F0(or)4.045 E -(may follo)108 345.6 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G +(ywhere within a)-.15 F F2 .774(simple command)3.614 F F0(or)4.044 E +(may follo)108 297.6 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G (edirections are processed in the order the)-5 E 2.5(ya)-.15 G(ppear) -2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .771(Each redirection tha\ t may be preceded by a \214le descriptor number may instead be preceded\ - by a w)108 362.4 R .771(ord of)-.1 F .292(the form {)108 374.4 R F2 + by a w)108 314.4 R .772(ord of)-.1 F .293(the form {)108 326.4 R F2 (varname)A F0 2.793(}. In)B .293 (this case, for each redirection operator e)2.793 F .293 -(xcept >&- and <&-, the shell will allocate)-.15 F 3.499<618c>108 386.4 -S .999(le descriptor greater than 10 and assign it to)-3.499 F F2 +(xcept >&- and <&-, the shell will allocate)-.15 F 3.498<618c>108 338.4 +S .999(le descriptor greater than 10 and assign it to)-3.498 F F2 (varname)3.499 E F0 5.999(.I)C 3.499(f>)-5.999 G .999 -(&- or <&- is preceded by {)-3.499 F F2(varname)A F0 .998(}, the)B -.25 -(va)108 398.4 S(lue of).25 E F2(varname)2.5 E F0 -(de\214nes the \214le descriptor to close.)2.5 E .283(In the follo)108 -415.2 R .284(wing descriptions, if the \214le descriptor number is omit\ -ted, and the \214rst character of the redirect-)-.25 F .513 -(ion operator is)108 427.2 R F1(<)3.012 E F0 3.012(,t)C .512 +(&- or <&- is preceded by {)-3.499 F F2(varname)A F0 .999(}, the)B -.25 +(va)108 350.4 S(lue of).25 E F2(varname)2.5 E F0 +(de\214nes the \214le descriptor to close.)2.5 E .284(In the follo)108 +367.2 R .283(wing descriptions, if the \214le descriptor number is omit\ +ted, and the \214rst character of the redirect-)-.25 F .512 +(ion operator is)108 379.2 R F1(<)3.012 E F0 3.012(,t)C .512 (he redirection refers to the standard input \(\214le descriptor 0\).) -3.012 F .512(If the \214rst character of the)5.512 F -(redirection operator is)108 439.2 Q F1(>)2.5 E F0 2.5(,t)C +(redirection operator is)108 391.2 Q F1(>)2.5 E F0 2.5(,t)C (he redirection refers to the standard output \(\214le descriptor 1\).) --2.5 E .824(The w)108 456 R .824(ord follo)-.1 F .824 -(wing the redirection operator in the follo)-.25 F .825 -(wing descriptions, unless otherwise noted, is sub-)-.25 F .773 -(jected to brace e)108 468 R .773(xpansion, tilde e)-.15 F .773 -(xpansion, parameter e)-.15 F .772 -(xpansion, command substitution, arithmetic e)-.15 F(xpan-)-.15 E .843 -(sion, quote remo)108 480 R -.25(va)-.15 G .843(l, pathname e).25 F .843 +-2.5 E .825(The w)108 408 R .825(ord follo)-.1 F .824 +(wing the redirection operator in the follo)-.25 F .824 +(wing descriptions, unless otherwise noted, is sub-)-.25 F .772 +(jected to brace e)108 420 R .773(xpansion, tilde e)-.15 F .773 +(xpansion, parameter e)-.15 F .773 +(xpansion, command substitution, arithmetic e)-.15 F(xpan-)-.15 E .844 +(sion, quote remo)108 432 R -.25(va)-.15 G .843(l, pathname e).25 F .843 (xpansion, and w)-.15 F .843(ord splitting.)-.1 F .843(If it e)5.843 F -.843(xpands to more than one w)-.15 F(ord,)-.1 E F1(bash)3.344 E F0 -(reports an error)108 492 Q(.)-.55 E -(Note that the order of redirections is signi\214cant.)108 508.8 Q -.15 -(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 525.6 Q F1(>)2.5 +.843(xpands to more than one w)-.15 F(ord,)-.1 E F1(bash)3.343 E F0 +(reports an error)108 444 Q(.)-.55 E +(Note that the order of redirections is signi\214cant.)108 460.8 Q -.15 +(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 477.6 Q F1(>)2.5 E F0(dirlist 2)2.5 E F1(>&)A F0(1)A -(directs both standard output and standard error to the \214le)108 542.4 +(directs both standard output and standard error to the \214le)108 494.4 Q F2(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144 -559.2 Q F1(>&)A F0(1)A F1(>)2.5 E F0(dirlist)2.5 E .527 -(directs only the standard output to \214le)108 576 R F2(dirlist)3.027 E +511.2 Q F1(>&)A F0(1)A F1(>)2.5 E F0(dirlist)2.5 E .527 +(directs only the standard output to \214le)108 528 R F2(dirlist)3.027 E F0 3.027(,b).68 G .527(ecause the standard error w)-3.027 F .527 (as duplicated from the standard)-.1 F -(output before the standard output w)108 588 Q(as redirected to)-.1 E F2 -(dirlist)2.5 E F0(.).68 E F1(Bash)108 604.8 Q F0 .598(handles se)3.098 F --.15(ve)-.25 G .598(ral \214lenames specially when the).15 F 3.099(ya) --.15 G .599(re used in redirections, as described in the follo)-3.099 F -(wing)-.25 E(table:)108 616.8 Q F1(/de)144 633.6 Q(v/fd/)-.15 E F2(fd)A -F0(If)180 645.6 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15 +(output before the standard output w)108 540 Q(as redirected to)-.1 E F2 +(dirlist)2.5 E F0(.).68 E F1(Bash)108 556.8 Q F0 .599(handles se)3.099 F +-.15(ve)-.25 G .599(ral \214lenames specially when the).15 F 3.099(ya) +-.15 G .598(re used in redirections, as described in the follo)-3.099 F +(wing)-.25 E(table:)108 568.8 Q F1(/de)144 585.6 Q(v/fd/)-.15 E F2(fd)A +F0(If)180 597.6 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15 E 2.5<2c8c>-.4 G(le descriptor)-2.5 E F2(fd)2.5 E F0(is duplicated.)2.5 -E F1(/de)144 657.6 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.) -180 669.6 Q F1(/de)144 681.6 Q(v/stdout)-.15 E F0 -(File descriptor 1 is duplicated.)180 693.6 Q F1(/de)144 705.6 Q -(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 717.6 Q -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(23)185.955 E 0 Cg EP +E F1(/de)144 609.6 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.) +180 621.6 Q F1(/de)144 633.6 Q(v/stdout)-.15 E F0 +(File descriptor 1 is duplicated.)180 645.6 Q F1(/de)144 657.6 Q +(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 669.6 Q F1(/de) +144 681.6 Q(v/tcp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 693.6 Q +F2(host)2.996 E F0 .496(is a v)2.996 F .496 +(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497 +(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E +(vice name,)180 705.6 Q F1(bash)2.5 E F0 +(attempts to open a TCP connection to the corresponding sock)2.5 E(et.) +-.1 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(23)185.955 E 0 Cg +EP %%Page: 24 24 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(/de)144 84 Q(v/tcp/)-.15 E/F2 10 +-.35 E/F1 10/Times-Bold@0 SF(/de)144 84 Q(v/udp/)-.15 E/F2 10 /Times-Italic@0 SF(host)A F1(/)A F2(port)A F0(If)180 96 Q F2(host)2.997 E F0 .497(is a v)2.997 F .497(alid hostname or Internet address, and) -.25 F F2(port)2.996 E F0 .496(is an inte)2.996 F .496 (ger port number or ser)-.15 F(-)-.2 E(vice name,)180 108 Q F1(bash)2.5 -E F0(attempts to open a TCP connection to the corresponding sock)2.5 E -(et.)-.1 E F1(/de)144 120 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0 -(If)180 132 Q F2(host)2.996 E F0 .496(is a v)2.996 F .496 -(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497 -(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E -(vice name,)180 144 Q F1(bash)2.5 E F0 -(attempts to open a UDP connection to the corresponding sock)2.5 E(et.) --.1 E 2.5(Af)108 160.8 S +E F0(attempts to open a UDP connection to the corresponding sock)2.5 E +(et.)-.1 E 2.5(Af)108 124.8 S (ailure to open or create a \214le causes the redirection to f)-2.6 E -(ail.)-.1 E .947(Redirections using \214le descriptors greater than 9 s\ -hould be used with care, as the)108 177.6 R 3.446(ym)-.15 G .946 -(ay con\215ict with \214le)-3.446 F -(descriptors the shell uses internally)108 189.6 Q(.)-.65 E F1(Redir)87 -206.4 Q(ecting Input)-.18 E F0 .391 +(ail.)-.1 E .946(Redirections using \214le descriptors greater than 9 s\ +hould be used with care, as the)108 141.6 R 3.447(ym)-.15 G .947 +(ay con\215ict with \214le)-3.447 F +(descriptors the shell uses internally)108 153.6 Q(.)-.65 E F1(Redir)87 +170.4 Q(ecting Input)-.18 E F0 .391 (Redirection of input causes the \214le whose name results from the e) -108 218.4 R .391(xpansion of)-.15 F F2(wor)3.231 E(d)-.37 E F0 .391 -(to be opened for read-)3.661 F(ing on \214le descriptor)108 230.4 Q F2 +108 182.4 R .391(xpansion of)-.15 F F2(wor)3.231 E(d)-.37 E F0 .391 +(to be opened for read-)3.661 F(ing on \214le descriptor)108 194.4 Q F2 (n)2.5 E F0 2.5(,o).24 G 2.5(rt)-2.5 G (he standard input \(\214le descriptor 0\) if)-2.5 E F2(n)2.86 E F0 (is not speci\214ed.)2.74 E -(The general format for redirecting input is:)108 247.2 Q([)144 264 Q F2 -(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 280.8 Q(ecting Output) --.18 E F0 .175 +(The general format for redirecting input is:)108 211.2 Q([)144 228 Q F2 +(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 244.8 Q(ecting Output) +-.18 E F0 .174 (Redirection of output causes the \214le whose name results from the e) -108 292.8 R .174(xpansion of)-.15 F F2(wor)3.014 E(d)-.37 E F0 .174 -(to be opened for writ-)3.444 F .824(ing on \214le descriptor)108 304.8 -R F2(n)3.324 E F0 3.324(,o).24 G 3.324(rt)-3.324 G .824 -(he standard output \(\214le descriptor 1\) if)-3.324 F F2(n)3.684 E F0 -.824(is not speci\214ed.)3.564 F .825(If the \214le does not)5.825 F --.15(ex)108 316.8 S(ist it is created; if it does e).15 E +108 256.8 R .175(xpansion of)-.15 F F2(wor)3.015 E(d)-.37 E F0 .175 +(to be opened for writ-)3.445 F .825(ing on \214le descriptor)108 268.8 +R F2(n)3.325 E F0 3.325(,o).24 G 3.325(rt)-3.325 G .824 +(he standard output \(\214le descriptor 1\) if)-3.325 F F2(n)3.684 E F0 +.824(is not speci\214ed.)3.564 F .824(If the \214le does not)5.824 F +-.15(ex)108 280.8 S(ist it is created; if it does e).15 E (xist it is truncated to zero size.)-.15 E -(The general format for redirecting output is:)108 333.6 Q([)144 350.4 Q -F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .155 -(If the redirection operator is)108 367.2 R F1(>)2.655 E F0 2.655(,a)C -.155(nd the)-2.655 F F1(noclob)2.655 E(ber)-.1 E F0 .154(option to the) -2.654 F F1(set)2.654 E F0 -.2(bu)2.654 G .154 -(iltin has been enabled, the redirection).2 F .657(will f)108 379.2 R -.657(ail if the \214le whose name results from the e)-.1 F .658 -(xpansion of)-.15 F F2(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .658 -(ists and is a re).15 F .658(gular \214le.)-.15 F .658(If the redi-) -5.658 F .409(rection operator is)108 391.2 R F1(>|)2.909 E F0 2.909(,o)C +(The general format for redirecting output is:)108 297.6 Q([)144 314.4 Q +F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .154 +(If the redirection operator is)108 331.2 R F1(>)2.654 E F0 2.654(,a)C +.154(nd the)-2.654 F F1(noclob)2.654 E(ber)-.1 E F0 .154(option to the) +2.654 F F1(set)2.655 E F0 -.2(bu)2.655 G .155 +(iltin has been enabled, the redirection).2 F .658(will f)108 343.2 R +.658(ail if the \214le whose name results from the e)-.1 F .658 +(xpansion of)-.15 F F2(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .657 +(ists and is a re).15 F .657(gular \214le.)-.15 F .657(If the redi-) +5.657 F .408(rection operator is)108 355.2 R F1(>|)2.909 E F0 2.909(,o)C 2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F1(>)2.909 E F0 .409(and the)2.909 F F1(noclob)2.909 E(ber)-.1 E F0 .409 -(option to the)2.909 F F1(set)2.909 E F0 -.2(bu)2.908 G .408 +(option to the)2.909 F F1(set)2.909 E F0 -.2(bu)2.909 G .409 (iltin command).2 F(is not enabled, the redirection is attempted e)108 -403.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by) +367.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by) -2.5 E F2(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F1 -.25(Ap)87 -420 S(pending Redir).25 E(ected Output)-.18 E F0 .641 -(Redirection of output in this f)108 432 R .642 -(ashion causes the \214le whose name results from the e)-.1 F .642 -(xpansion of)-.15 F F2(wor)3.482 E(d)-.37 E F0 .642(to be)3.912 F .474 -(opened for appending on \214le descriptor)108 444 R F2(n)2.974 E F0 +384 S(pending Redir).25 E(ected Output)-.18 E F0 .642 +(Redirection of output in this f)108 396 R .642 +(ashion causes the \214le whose name results from the e)-.1 F .641 +(xpansion of)-.15 F F2(wor)3.481 E(d)-.37 E F0 .641(to be)3.911 F .473 +(opened for appending on \214le descriptor)108 408 R F2(n)2.973 E F0 2.974(,o).24 G 2.974(rt)-2.974 G .474 -(he standard output \(\214le descriptor 1\) if)-2.974 F F2(n)3.333 E F0 -.473(is not speci\214ed.)3.213 F(If)5.473 E(the \214le does not e)108 -456 Q(xist it is created.)-.15 E -(The general format for appending output is:)108 472.8 Q([)144 489.6 Q -F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 511.2 Q -(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .248 -(This construct allo)108 523.2 R .249(ws both the standard output \(\ +(he standard output \(\214le descriptor 1\) if)-2.974 F F2(n)3.334 E F0 +.474(is not speci\214ed.)3.214 F(If)5.474 E(the \214le does not e)108 +420 Q(xist it is created.)-.15 E +(The general format for appending output is:)108 436.8 Q([)144 453.6 Q +F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 475.2 Q +(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .249 +(This construct allo)108 487.2 R .249(ws both the standard output \(\ \214le descriptor 1\) and the standard error output \(\214le descrip-) -.25 F(tor 2\) to be redirected to the \214le whose name is the e)108 -535.2 Q(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E -(There are tw)108 552 Q 2.5(of)-.1 G +499.2 Q(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E +(There are tw)108 516 Q 2.5(of)-.1 G (ormats for redirecting standard output and standard error:)-2.5 E F1 -(&>)144 568.8 Q F2(wor)A(d)-.37 E F0(and)108 580.8 Q F1(>&)144 592.8 Q -F2(wor)A(d)-.37 E F0(Of the tw)108 609.6 Q 2.5(of)-.1 G +(&>)144 532.8 Q F2(wor)A(d)-.37 E F0(and)108 544.8 Q F1(>&)144 556.8 Q +F2(wor)A(d)-.37 E F0(Of the tw)108 573.6 Q 2.5(of)-.1 G (orms, the \214rst is preferred.)-2.5 E(This is semantically equi)5 E --.25(va)-.25 G(lent to).25 E F1(>)144 626.4 Q F2(wor)A(d)-.37 E F0(2)2.5 -E F1(>&)A F0(1)A F1 -.25(Ap)87 648 S -(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .249 -(This construct allo)108 660 R .249(ws both the standard output \(\214l\ +-.25(va)-.25 G(lent to).25 E F1(>)144 590.4 Q F2(wor)A(d)-.37 E F0(2)2.5 +E F1(>&)A F0(1)A F1 -.25(Ap)87 612 S +(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .248 +(This construct allo)108 624 R .249(ws both the standard output \(\214l\ e descriptor 1\) and the standard error output \(\214le descrip-)-.25 F -(tor 2\) to be appended to the \214le whose name is the e)108 672 Q +(tor 2\) to be appended to the \214le whose name is the e)108 636 Q (xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E (The format for appending standard output and standard error is:)108 -688.8 Q F1(&>>)144 705.6 Q F2(wor)A(d)-.37 E F0 -(This is semantically equi)108 722.4 Q -.25(va)-.25 G(lent to).25 E -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(24)185.955 E 0 Cg EP +652.8 Q F1(&>>)144 669.6 Q F2(wor)A(d)-.37 E F0 +(This is semantically equi)108 686.4 Q -.25(va)-.25 G(lent to).25 E F1 +(>>)144 703.2 Q F2(wor)A(d)-.37 E F0(2)2.5 E F1(>&)A F0(1)A +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(24)185.955 E 0 Cg EP %%Page: 25 25 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(>>)144 84 Q/F2 10/Times-Italic@0 SF(wor)A -(d)-.37 E F0(2)2.5 E F1(>&)A F0(1)A F1(Her)87 100.8 Q 2.5(eD)-.18 G -(ocuments)-2.5 E F0 .33(This type of redirection instructs the shell to\ - read input from the current source until a line containing only)108 -112.8 R F2(delimiter)108.35 124.8 Q F0 .615 -(\(with no trailing blanks\) is seen.)3.845 F .615 +-.35 E/F1 10/Times-Bold@0 SF(Her)87 84 Q 2.5(eD)-.18 G(ocuments)-2.5 E +F0 .33(This type of redirection instructs the shell to read input from \ +the current source until a line containing only)108 96 R/F2 10 +/Times-Italic@0 SF(delimiter)108.35 108 Q F0 .614 +(\(with no trailing blanks\) is seen.)3.844 F .615 (All of the lines read up to that point are then used as the stan-)5.615 -F(dard input for a command.)108 136.8 Q -(The format of here-documents is:)108 153.6 Q F1(<<)144 170.4 Q F0([)A -F1<ad>A F0(])A F2(wor)A(d)-.37 E(her)164 182.4 Q(e-document)-.37 E -(delimiter)144 194.4 Q F0 .127(No parameter e)108 211.2 R .127 +F(dard input for a command.)108 120 Q(The format of here-documents is:) +108 136.8 Q F1(<<)144 153.6 Q F0([)A F1<ad>A F0(])A F2(wor)A(d)-.37 E +(her)164 165.6 Q(e-document)-.37 E(delimiter)144 177.6 Q F0 .128 +(No parameter e)108 194.4 R .127 (xpansion, command substitution, arithmetic e)-.15 F .127 -(xpansion, or pathname e)-.15 F .128(xpansion is performed)-.15 F(on)108 -223.2 Q F2(wor)3.275 E(d)-.37 E F0 5.775(.I).77 G 3.275(fa)-5.775 G -1.075 -.15(ny c)-3.275 H .774(haracters in).15 F F2(wor)3.614 E(d)-.37 E +(xpansion, or pathname e)-.15 F .127(xpansion is performed)-.15 F(on)108 +206.4 Q F2(wor)3.274 E(d)-.37 E F0 5.774(.I).77 G 3.274(fa)-5.774 G +1.074 -.15(ny c)-3.274 H .774(haracters in).15 F F2(wor)3.614 E(d)-.37 E F0 .774(are quoted, the)4.044 F F2(delimiter)3.624 E F0 .774 -(is the result of quote remo)4.004 F -.25(va)-.15 G 3.274(lo).25 G(n) --3.274 E F2(wor)3.274 E(d)-.37 E F0 3.274(,a).77 G(nd)-3.274 E .904 -(the lines in the here-document are not e)108 235.2 R 3.405(xpanded. If) --.15 F F2(wor)3.405 E(d)-.37 E F0 .905 -(is unquoted, all lines of the here-document are)3.405 F .695 -(subjected to parameter e)108 247.2 R .695 -(xpansion, command substitution, and arithmetic e)-.15 F 3.194 -(xpansion. In)-.15 F .694(the latter case, the)3.194 F -(character sequence)108 259.2 Q F1(\\<newline>)2.5 E F0(is ignored, and) +(is the result of quote remo)4.004 F -.25(va)-.15 G 3.275(lo).25 G(n) +-3.275 E F2(wor)3.275 E(d)-.37 E F0 3.275(,a).77 G(nd)-3.275 E .905 +(the lines in the here-document are not e)108 218.4 R 3.405(xpanded. If) +-.15 F F2(wor)3.405 E(d)-.37 E F0 .904 +(is unquoted, all lines of the here-document are)3.405 F .694 +(subjected to parameter e)108 230.4 R .695 +(xpansion, command substitution, and arithmetic e)-.15 F 3.195 +(xpansion. In)-.15 F .695(the latter case, the)3.195 F +(character sequence)108 242.4 Q F1(\\<newline>)2.5 E F0(is ignored, and) 2.5 E F1(\\)2.5 E F0(must be used to quote the characters)2.5 E F1(\\) -2.5 E F0(,)A F1($)2.5 E F0 2.5(,a)C(nd)-2.5 E F1<92>2.5 E F0(.)A .601 -(If the redirection operator is)108 276 R F1(<<\255)3.101 E F0 3.101(,t) -C .601(hen all leading tab characters are stripped from input lines and\ - the line)-3.101 F(containing)108 288 Q F2(delimiter)2.5 E F0 5(.T).73 G -(his allo)-5 E +2.5 E F0(,)A F1($)2.5 E F0 2.5(,a)C(nd)-2.5 E F1<92>2.5 E F0(.)A .602 +(If the redirection operator is)108 259.2 R F1(<<\255)3.101 E F0 3.101 +(,t)C .601(hen all leading tab characters are stripped from input lines\ + and the line)-3.101 F(containing)108 271.2 Q F2(delimiter)2.5 E F0 5 +(.T).73 G(his allo)-5 E (ws here-documents within shell scripts to be indented in a natural f) --.25 E(ashion.)-.1 E F1(Her)87 304.8 Q 2.5(eS)-.18 G(trings)-2.5 E F0 -2.5(Av)108 316.8 S(ariant of here documents, the format is:)-2.75 E F1 -(<<<)144 333.6 Q F2(wor)A(d)-.37 E F0(The)108 350.4 Q F2(wor)2.5 E(d) --.37 E F0(is e)2.5 E +-.25 E(ashion.)-.1 E F1(Her)87 288 Q 2.5(eS)-.18 G(trings)-2.5 E F0 2.5 +(Av)108 300 S(ariant of here documents, the format is:)-2.75 E F1(<<<) +144 316.8 Q F2(wor)A(d)-.37 E F0(The)108 333.6 Q F2(wor)2.5 E(d)-.37 E +F0(is e)2.5 E (xpanded and supplied to the command on its standard input.)-.15 E F1 -(Duplicating File Descriptors)87 367.2 Q F0(The redirection operator)108 -379.2 Q([)144 396 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .127 -(is used to duplicate input \214le descriptors.)108 412.8 R(If)5.127 E -F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126 +(Duplicating File Descriptors)87 350.4 Q F0(The redirection operator)108 +362.4 Q([)144 379.2 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .126 +(is used to duplicate input \214le descriptors.)108 396 R(If)5.127 E F2 +(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .127 (pands to one or more digits, the \214le descriptor denoted).15 F(by)108 -424.8 Q F2(n)3.317 E F0 .457(is made to be a cop)3.197 F 2.957(yo)-.1 G -2.957(ft)-2.957 G .457(hat \214le descriptor)-2.957 F 5.457(.I)-.55 G -2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.298 E(d)-.37 E F0 -.458(do not specify a \214le descriptor open)3.728 F .15 -(for input, a redirection error occurs.)108 436.8 R(If)5.15 E F2(wor) -2.99 E(d)-.37 E F0 -.25(eva)3.42 G .15(luates to).25 F F1<ad>2.65 E F0 -2.649<2c8c>C .149(le descriptor)-2.649 F F2(n)3.009 E F0 .149 -(is closed.)2.889 F(If)5.149 E F2(n)3.009 E F0 .149(is not speci\214ed,) -2.889 F(the standard input \(\214le descriptor 0\) is used.)108 448.8 Q -(The operator)108 465.6 Q([)144 482.4 Q F2(n)A F0(])A F1(>&)A F2(wor)A -(d)-.37 E F0 .443 -(is used similarly to duplicate output \214le descriptors.)108 499.2 R -(If)5.443 E F2(n)3.304 E F0 .444 -(is not speci\214ed, the standard output \(\214le descrip-)3.184 F 1.358 -(tor 1\) is used.)108 511.2 R 1.358(If the digits in)6.358 F F2(wor) -4.198 E(d)-.37 E F0 1.357(do not specify a \214le descriptor open for o\ -utput, a redirection error)4.628 F 2.596(occurs. As)108 523.2 R 2.596 -(as)2.596 G .096(pecial case, if)-2.596 F F2(n)2.596 E F0 .096 +408 Q F2(n)3.318 E F0 .458(is made to be a cop)3.198 F 2.958(yo)-.1 G +2.958(ft)-2.958 G .457(hat \214le descriptor)-2.958 F 5.457(.I)-.55 G +2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.297 E(d)-.37 E F0 +.457(do not specify a \214le descriptor open)3.727 F .149 +(for input, a redirection error occurs.)108 420 R(If)5.149 E F2(wor) +2.989 E(d)-.37 E F0 -.25(eva)3.419 G .149(luates to).25 F F1<ad>2.649 E +F0 2.65<2c8c>C .15(le descriptor)-2.65 F F2(n)3.01 E F0 .15(is closed.) +2.89 F(If)5.15 E F2(n)3.01 E F0 .15(is not speci\214ed,)2.89 F +(the standard input \(\214le descriptor 0\) is used.)108 432 Q +(The operator)108 448.8 Q([)144 465.6 Q F2(n)A F0(])A F1(>&)A F2(wor)A +(d)-.37 E F0 .444 +(is used similarly to duplicate output \214le descriptors.)108 482.4 R +(If)5.444 E F2(n)3.304 E F0 .443 +(is not speci\214ed, the standard output \(\214le descrip-)3.183 F 1.357 +(tor 1\) is used.)108 494.4 R 1.357(If the digits in)6.357 F F2(wor) +4.197 E(d)-.37 E F0 1.358(do not specify a \214le descriptor open for o\ +utput, a redirection error)4.627 F 2.597(occurs. As)108 506.4 R 2.597 +(as)2.597 G .097(pecial case, if)-2.597 F F2(n)2.596 E F0 .096 (is omitted, and)2.596 F F2(wor)2.596 E(d)-.37 E F0 .096(does not e) 2.596 F .096(xpand to one or more digits, the standard out-)-.15 F -(put and standard error are redirected as described pre)108 535.2 Q -(viously)-.25 E(.)-.65 E F1(Mo)87 552 Q(ving File Descriptors)-.1 E F0 -(The redirection operator)108 564 Q([)144 580.8 Q F2(n)A F0(])A F1(<&)A -F2(digit)A F1<ad>A F0(mo)108 597.6 Q -.15(ve)-.15 G 3.036(st).15 G .536 -(he \214le descriptor)-3.036 F F2(digit)3.036 E F0 .536 -(to \214le descriptor)3.036 F F2(n)3.036 E F0 3.036(,o).24 G 3.036(rt) --3.036 G .535(he standard input \(\214le descriptor 0\) if)-3.036 F F2 -(n)3.035 E F0 .535(is not speci-)3.035 F(\214ed.)108 609.6 Q F2(digit)5 +(put and standard error are redirected as described pre)108 518.4 Q +(viously)-.25 E(.)-.65 E F1(Mo)87 535.2 Q(ving File Descriptors)-.1 E F0 +(The redirection operator)108 547.2 Q([)144 564 Q F2(n)A F0(])A F1(<&)A +F2(digit)A F1<ad>A F0(mo)108 580.8 Q -.15(ve)-.15 G 3.035(st).15 G .535 +(he \214le descriptor)-3.035 F F2(digit)3.035 E F0 .535 +(to \214le descriptor)3.035 F F2(n)3.035 E F0 3.035(,o).24 G 3.035(rt) +-3.035 G .536(he standard input \(\214le descriptor 0\) if)-3.035 F F2 +(n)3.036 E F0 .536(is not speci-)3.036 F(\214ed.)108 592.8 Q F2(digit)5 E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A -(Similarly)108 626.4 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([) -144 643.2 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 660 Q --.15(ve)-.15 G 2.785(st).15 G .285(he \214le descriptor)-2.785 F F2 -(digit)2.785 E F0 .285(to \214le descriptor)2.785 F F2(n)2.785 E F0 -2.785(,o).24 G 2.785(rt)-2.785 G .286 -(he standard output \(\214le descriptor 1\) if)-2.785 F F2(n)2.786 E F0 -.286(is not speci-)2.786 F(\214ed.)108 672 Q F1 -(Opening File Descriptors f)87 688.8 Q(or Reading and Writing)-.25 E F0 -(The redirection operator)108 700.8 Q([)144 717.6 Q F2(n)A F0(])A F1(<>) -A F2(wor)A(d)-.37 E F0(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E -(25)185.955 E 0 Cg EP +(Similarly)108 609.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([) +144 626.4 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 643.2 Q +-.15(ve)-.15 G 2.786(st).15 G .286(he \214le descriptor)-2.786 F F2 +(digit)2.786 E F0 .286(to \214le descriptor)2.786 F F2(n)2.786 E F0 +2.786(,o).24 G 2.786(rt)-2.786 G .285 +(he standard output \(\214le descriptor 1\) if)-2.786 F F2(n)2.785 E F0 +.285(is not speci-)2.785 F(\214ed.)108 655.2 Q F1 +(Opening File Descriptors f)87 672 Q(or Reading and Writing)-.25 E F0 +(The redirection operator)108 684 Q([)144 700.8 Q F2(n)A F0(])A F1(<>)A +F2(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108 +717.6 R 1.349(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349 +(to be opened for both reading and writing on \214le)4.619 F(descriptor) +108 729.6 Q F2(n)2.5 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 F2(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-4.1) +72 768 Q(2009 December 29)135.965 E(25)185.955 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.349(causes the \214le whose name is the e)108 84 R 1.349 -(xpansion of)-.15 F/F1 10/Times-Italic@0 SF(wor)4.189 E(d)-.37 E F0 -1.349(to be opened for both reading and writing on \214le)4.619 F -(descriptor)108 96 Q F1(n)2.5 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/F2 10.95 -/Times-Bold@0 SF(ALIASES)72 112.8 Q F1(Aliases)108 124.8 Q F0(allo)3.173 -E 3.173(was)-.25 G .674(tring to be substituted for a w)-3.173 F .674 -(ord when it is used as the \214rst w)-.1 F .674 +-.35 E/F1 10.95/Times-Bold@0 SF(ALIASES)72 84 Q/F2 10/Times-Italic@0 SF +(Aliases)108 96 Q F0(allo)3.174 E 3.174(was)-.25 G .674 +(tring to be substituted for a w)-3.174 F .674 +(ord when it is used as the \214rst w)-.1 F .673 (ord of a simple command.)-.1 F .394(The shell maintains a list of alia\ -ses that may be set and unset with the)108 136.8 R/F3 10/Times-Bold@0 SF -(alias)2.893 E F0(and)2.893 E F3(unalias)2.893 E F0 -.2(bu)2.893 G .393 -(iltin commands).2 F(\(see)108 148.8 Q/F4 9/Times-Bold@0 SF 1.979 -(SHELL B)4.479 F(UIL)-.09 E 1.979(TIN COMMANDS)-.828 F F0(belo)4.229 E -4.48(w\). The)-.25 F 1.98(\214rst w)4.48 F 1.98 -(ord of each simple command, if unquoted, is)-.1 F(check)108 160.8 Q -.473(ed to see if it has an alias.)-.1 F .473(If so, that w)5.473 F .472 -(ord is replaced by the te)-.1 F .472(xt of the alias.)-.15 F .472 -(The characters)5.472 F F3(/)2.972 E F0(,)A F3($)2.972 E F0(,)A F3<92> -2.972 E F0(,)A(and)108 172.8 Q F3(=)3.611 E F0 1.111(and an)3.611 F -3.611(yo)-.15 G 3.611(ft)-3.611 G 1.111(he shell)-3.611 F F1(metac)3.612 -E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112 -(or quoting characters listed abo)3.612 F 1.412 -.15(ve m)-.15 H 1.112 -(ay not appear in an alias).15 F 3.62(name. The)108 184.8 R 1.12 -(replacement te)3.62 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G -1.119(alid shell input, including shell metacharacters.)-3.869 F 1.119 -(The \214rst)6.119 F -.1(wo)108 196.8 S .513(rd of the replacement te).1 -F .513(xt is tested for aliases, b)-.15 F .513(ut a w)-.2 F .514 -(ord that is identical to an alias being e)-.1 F .514(xpanded is)-.15 F -.296(not e)108 208.8 R .296(xpanded a second time.)-.15 F .296 -(This means that one may alias)5.296 F F3(ls)2.796 E F0(to)2.796 E F3 -.296(ls \255F)2.796 F F0 2.796(,f)C .295(or instance, and)-2.796 F F3 -(bash)2.795 E F0 .295(does not try)2.795 F .542(to recursi)108 220.8 R --.15(ve)-.25 G .542(ly e).15 F .542(xpand the replacement te)-.15 F -3.042(xt. If)-.15 F .543(the last character of the alias v)3.042 F .543 -(alue is a)-.25 F F1(blank)3.043 E F0 3.043(,t).67 G .543(hen the ne) --3.043 F(xt)-.15 E(command w)108 232.8 Q(ord follo)-.1 E +ses that may be set and unset with the)108 108 R/F3 10/Times-Bold@0 SF +(alias)2.894 E F0(and)2.894 E F3(unalias)2.894 E F0 -.2(bu)2.894 G .394 +(iltin commands).2 F(\(see)108 120 Q/F4 9/Times-Bold@0 SF 1.98(SHELL B) +4.48 F(UIL)-.09 E 1.98(TIN COMMANDS)-.828 F F0(belo)4.23 E 4.48 +(w\). The)-.25 F 1.98(\214rst w)4.48 F 1.979 +(ord of each simple command, if unquoted, is)-.1 F(check)108 132 Q .472 +(ed to see if it has an alias.)-.1 F .472(If so, that w)5.472 F .473 +(ord is replaced by the te)-.1 F .473(xt of the alias.)-.15 F .473 +(The characters)5.473 F F3(/)2.973 E F0(,)A F3($)2.973 E F0(,)A F3<92> +2.973 E F0(,)A(and)108 144 Q F3(=)3.612 E F0 1.112(and an)3.612 F 3.612 +(yo)-.15 G 3.612(ft)-3.612 G 1.112(he shell)-3.612 F F2(metac)3.612 E +(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112 +(or quoting characters listed abo)3.612 F 1.411 -.15(ve m)-.15 H 1.111 +(ay not appear in an alias).15 F 3.619(name. The)108 156 R 1.119 +(replacement te)3.619 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G +1.119(alid shell input, including shell metacharacters.)-3.869 F 1.12 +(The \214rst)6.12 F -.1(wo)108 168 S .514(rd of the replacement te).1 F +.514(xt is tested for aliases, b)-.15 F .514(ut a w)-.2 F .513 +(ord that is identical to an alias being e)-.1 F .513(xpanded is)-.15 F +.295(not e)108 180 R .295(xpanded a second time.)-.15 F .296 +(This means that one may alias)5.295 F F3(ls)2.796 E F0(to)2.796 E F3 +.296(ls \255F)2.796 F F0 2.796(,f)C .296(or instance, and)-2.796 F F3 +(bash)2.796 E F0 .296(does not try)2.796 F .543(to recursi)108 192 R +-.15(ve)-.25 G .543(ly e).15 F .543(xpand the replacement te)-.15 F +3.043(xt. If)-.15 F .543(the last character of the alias v)3.043 F .542 +(alue is a)-.25 F F2(blank)3.042 E F0 3.042(,t).67 G .542(hen the ne) +-3.042 F(xt)-.15 E(command w)108 204 Q(ord follo)-.1 E (wing the alias is also check)-.25 E(ed for alias e)-.1 E(xpansion.)-.15 -E(Aliases are created and listed with the)108 249.6 Q F3(alias)2.5 E F0 +E(Aliases are created and listed with the)108 220.8 Q F3(alias)2.5 E F0 (command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F3 (unalias)2.5 E F0(command.)2.5 E .284 -(There is no mechanism for using ar)108 266.4 R .284 +(There is no mechanism for using ar)108 237.6 R .284 (guments in the replacement te)-.18 F 2.784(xt. If)-.15 F(ar)2.784 E .284(guments are needed, a shell func-)-.18 F(tion should be used \(see) -108 278.4 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22 -(Aliases are not e)108 295.2 R 1.22 +108 249.6 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22 +(Aliases are not e)108 266.4 R 1.22 (xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 G 3.72(,u) .15 G 1.22(nless the)-3.72 F F3(expand_aliases)3.72 E F0 1.22 -(shell option is set)3.72 F(using)108 307.2 Q F3(shopt)2.5 E F0 +(shell option is set)3.72 F(using)108 278.4 Q F3(shopt)2.5 E F0 (\(see the description of)2.5 E F3(shopt)2.5 E F0(under)2.5 E F4 (SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 -E .436 +E .435 (The rules concerning the de\214nition and use of aliases are some)108 -324 R .435(what confusing.)-.25 F F3(Bash)5.435 E F0(al)2.935 E -.1(wa) --.1 G .435(ys reads at least).1 F .337 -(one complete line of input before e)108 336 R -.15(xe)-.15 G .338 +295.2 R .436(what confusing.)-.25 F F3(Bash)5.436 E F0(al)2.936 E -.1 +(wa)-.1 G .436(ys reads at least).1 F .338 +(one complete line of input before e)108 307.2 R -.15(xe)-.15 G .338 (cuting an).15 F 2.838(yo)-.15 G 2.838(ft)-2.838 G .338 -(he commands on that line.)-2.838 F .338(Aliases are e)5.338 F .338 -(xpanded when)-.15 F 3.404(ac)108 348 S .904 -(ommand is read, not when it is e)-3.404 F -.15(xe)-.15 G 3.404 +(he commands on that line.)-2.838 F .337(Aliases are e)5.337 F .337 +(xpanded when)-.15 F 3.403(ac)108 319.2 S .904 +(ommand is read, not when it is e)-3.403 F -.15(xe)-.15 G 3.404 (cuted. Therefore,).15 F .904 -(an alias de\214nition appearing on the same line as)3.404 F 1.161 -(another command does not tak)108 360 R 3.662(ee)-.1 G -.25(ff)-3.662 G -1.162(ect until the ne).25 F 1.162(xt line of input is read.)-.15 F -1.162(The commands follo)6.162 F 1.162(wing the)-.25 F .277 -(alias de\214nition on that line are not af)108 372 R .277 +(an alias de\214nition appearing on the same line as)3.404 F 1.162 +(another command does not tak)108 331.2 R 3.662(ee)-.1 G -.25(ff)-3.662 +G 1.162(ect until the ne).25 F 1.162(xt line of input is read.)-.15 F +1.161(The commands follo)6.161 F 1.161(wing the)-.25 F .277 +(alias de\214nition on that line are not af)108 343.2 R .277 (fected by the ne)-.25 F 2.777(wa)-.25 G 2.777(lias. This)-2.777 F(beha) -2.777 E .277(vior is also an issue when functions)-.2 F .698(are e)108 -384 R -.15(xe)-.15 G 3.198(cuted. Aliases).15 F .698(are e)3.198 F .699 -(xpanded when a function de\214nition is read, not when the function is\ - e)-.15 F -.15(xe)-.15 G(cuted,).15 E .495 -(because a function de\214nition is itself a compound command.)108 396 R -.494(As a consequence, aliases de\214ned in a func-)5.494 F .084 -(tion are not a)108 408 R -.25(va)-.2 G .084 +2.777 E .277(vior is also an issue when functions)-.2 F .699(are e)108 +355.2 R -.15(xe)-.15 G 3.199(cuted. Aliases).15 F .699(are e)3.199 F +.699(xpanded when a function de\214nition is read, not when the functio\ +n is e)-.15 F -.15(xe)-.15 G(cuted,).15 E .494 +(because a function de\214nition is itself a compound command.)108 367.2 +R .495(As a consequence, aliases de\214ned in a func-)5.494 F .085 +(tion are not a)108 379.2 R -.25(va)-.2 G .084 (ilable until after that function is e).25 F -.15(xe)-.15 G 2.584 (cuted. T).15 F 2.584(ob)-.8 G 2.584(es)-2.584 G .084(afe, al)-2.584 F --.1(wa)-.1 G .085(ys put alias de\214nitions on a sepa-).1 F -(rate line, and do not use)108 420 Q F3(alias)2.5 E F0 -(in compound commands.)2.5 E -.15(Fo)108 436.8 S 2.5(ra).15 G(lmost e) --2.5 E -.15(ve)-.25 G -(ry purpose, aliases are superseded by shell functions.).15 E F2 -(FUNCTIONS)72 453.6 Q F0 3.468(As)108 465.6 S .968 -(hell function, de\214ned as described abo)-3.468 F 1.267 -.15(ve u)-.15 +-.1(wa)-.1 G .084(ys put alias de\214nitions on a sepa-).1 F +(rate line, and do not use)108 391.2 Q F3(alias)2.5 E F0 +(in compound commands.)2.5 E -.15(Fo)108 408 S 2.5(ra).15 G(lmost e)-2.5 +E -.15(ve)-.25 G(ry purpose, aliases are superseded by shell functions.) +.15 E F1(FUNCTIONS)72 424.8 Q F0 3.467(As)108 436.8 S .967 +(hell function, de\214ned as described abo)-3.467 F 1.267 -.15(ve u)-.15 H(nder).15 E F4 .967(SHELL GRAMMAR)3.467 F/F5 9/Times-Roman@0 SF(,)A F0 -.967(stores a series of commands for)3.217 F 1.001(later e)108 477.6 R --.15(xe)-.15 G 3.501(cution. When).15 F 1.002(the name of a shell funct\ -ion is used as a simple command name, the list of com-)3.501 F .316 -(mands associated with that function name is e)108 489.6 R -.15(xe)-.15 -G 2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .315 -(cuted in the conte).15 F .315(xt of the current)-.15 F .035 -(shell; no ne)108 501.6 R 2.535(wp)-.25 G .036 -(rocess is created to interpret them \(contrast this with the e)-2.535 F --.15(xe)-.15 G .036(cution of a shell script\).).15 F .036(When a)5.036 -F .64(function is e)108 513.6 R -.15(xe)-.15 G .64(cuted, the ar).15 F +.968(stores a series of commands for)3.217 F 1.002(later e)108 448.8 R +-.15(xe)-.15 G 3.502(cution. When).15 F 1.002(the name of a shell funct\ +ion is used as a simple command name, the list of com-)3.502 F .315 +(mands associated with that function name is e)108 460.8 R -.15(xe)-.15 +G 2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .316 +(cuted in the conte).15 F .316(xt of the current)-.15 F .036 +(shell; no ne)108 472.8 R 2.536(wp)-.25 G .036 +(rocess is created to interpret them \(contrast this with the e)-2.536 F +-.15(xe)-.15 G .036(cution of a shell script\).).15 F .035(When a)5.035 +F .639(function is e)108 484.8 R -.15(xe)-.15 G .639(cuted, the ar).15 F .639 (guments to the function become the positional parameters during its e) --.18 F -.15(xe)-.15 G(cution.).15 E .532(The special parameter)108 525.6 -R F3(#)3.032 E F0 .532(is updated to re\215ect the change.)3.032 F .533 -(Special parameter 0 is unchanged.)5.532 F .533(The \214rst ele-)5.533 F -(ment of the)108 537.6 Q F4(FUNCN)2.5 E(AME)-.18 E F0 -.25(va)2.25 G +-.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 496.8 +R F3(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532 +(Special parameter 0 is unchanged.)5.532 F .532(The \214rst ele-)5.532 F +(ment of the)108 508.8 Q F4(FUNCN)2.5 E(AME)-.18 E F0 -.25(va)2.25 G (riable is set to the name of the function while the function is e).25 E -.15(xe)-.15 G(cuting.).15 E 1.25(All other aspects of the shell e)108 -554.4 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25 +525.6 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25 (vironment are identical between a function and its caller with)-.4 F -1.048(these e)108 566.4 R 3.548(xceptions: the)-.15 F F4(DEB)3.548 E(UG) +1.049(these e)108 537.6 R 3.548(xceptions: the)-.15 F F4(DEB)3.548 E(UG) -.09 E F0(and)3.298 E F3(RETURN)3.548 E F0 1.048 (traps \(see the description of the)3.548 F F3(trap)3.548 E F0 -.2(bu) -3.548 G 1.048(iltin under).2 F F4(SHELL)3.549 E -.09(BU)108 578.4 S(IL) -.09 E .479(TIN COMMANDS)-.828 F F0(belo)2.729 E .479 +3.548 G 1.048(iltin under).2 F F4(SHELL)3.548 E -.09(BU)108 549.6 S(IL) +.09 E .478(TIN COMMANDS)-.828 F F0(belo)2.728 E .479 (w\) are not inherited unless the function has been gi)-.25 F -.15(ve) --.25 G 2.978(nt).15 G(he)-2.978 E F3(trace)2.978 E F0(attrib)2.978 E -.478(ute \(see)-.2 F .42(the description of the)108 590.4 R F4(declar) +-.25 G 2.979(nt).15 G(he)-2.979 E F3(trace)2.979 E F0(attrib)2.979 E +.479(ute \(see)-.2 F .421(the description of the)108 561.6 R F4(declar) 2.92 E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the) -.25 F F3 .42(\255o functrace)2.92 F F0 .42 -(shell option has been enabled with the)2.92 F F3(set)2.921 E F0 -.2(bu) -108 602.4 S .072(iltin \(in which case all functions inherit the).2 F F3 +(shell option has been enabled with the)2.92 F F3(set)2.92 E F0 -.2(bu) +108 573.6 S .071(iltin \(in which case all functions inherit the).2 F F3 (DEB)2.572 E(UG)-.1 E F0(and)2.572 E F3(RETURN)2.572 E F0 .072 -(traps\), and the)2.572 F F4(ERR)2.571 E F0 .071(trap is not inher)2.321 -F(-)-.2 E(ited unless the)108 614.4 Q F3(\255o errtrace)2.5 E F0 -(shell option has been enabled.)2.5 E -1.11(Va)108 631.2 S .655 +(traps\), and the)2.572 F F4(ERR)2.572 E F0 .072(trap is not inher)2.322 +F(-)-.2 E(ited unless the)108 585.6 Q F3(\255o errtrace)2.5 E F0 +(shell option has been enabled.)2.5 E -1.11(Va)108 602.4 S .656 (riables local to the function may be declared with the)1.11 F F3(local) -3.155 E F0 -.2(bu)3.156 G .656(iltin command.).2 F(Ordinarily)5.656 E -3.156(,v)-.65 G .656(ariables and)-3.406 F(their v)108 643.2 Q +3.155 E F0 -.2(bu)3.155 G .655(iltin command.).2 F(Ordinarily)5.655 E +3.155(,v)-.65 G .655(ariables and)-3.405 F(their v)108 614.4 Q (alues are shared between the function and its caller)-.25 E(.)-.55 E -.044(If the b)108 660 R .043(uiltin command)-.2 F F3 -.18(re)2.543 G +.043(If the b)108 631.2 R .043(uiltin command)-.2 F F3 -.18(re)2.543 G (tur).18 E(n)-.15 E F0 .043(is e)2.543 F -.15(xe)-.15 G .043 (cuted in a function, the function completes and e).15 F -.15(xe)-.15 G -.043(cution resumes with).15 F 1.011(the ne)108 672 R 1.011 +.044(cution resumes with).15 F 1.012(the ne)108 643.2 R 1.012 (xt command after the function call.)-.15 F(An)6.011 E 3.511(yc)-.15 G -1.011(ommand associated with the)-3.511 F F3(RETURN)3.512 E F0 1.012 -(trap is e)3.512 F -.15(xe)-.15 G(cuted).15 E .214(before e)108 684 R --.15(xe)-.15 G .214(cution resumes.).15 F .213 -(When a function completes, the v)5.214 F .213 +1.011(ommand associated with the)-3.511 F F3(RETURN)3.511 E F0 1.011 +(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 655.2 R +-.15(xe)-.15 G .213(cution resumes.).15 F .213 +(When a function completes, the v)5.213 F .214 (alues of the positional parameters and the spe-)-.25 F(cial parameter) -108 696 Q F3(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E 2.5 -(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe)-2.65 -G(cution.).15 E 1.358 -(Function names and de\214nitions may be listed with the)108 712.8 R F3 +108 667.2 Q F3(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E +2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe) +-2.65 G(cution.).15 E 1.359 +(Function names and de\214nitions may be listed with the)108 684 R F3 <ad66>3.858 E F0 1.358(option to the)3.858 F F3(declar)3.858 E(e)-.18 E -F0(or)3.859 E F3(typeset)3.859 E F0 -.2(bu)3.859 G 1.359(iltin com-).2 F -3.39(mands. The)108 724.8 R F3<ad46>3.39 E F0 .89(option to)3.39 F F3 +F0(or)3.858 E F3(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F +3.39(mands. The)108 696 R F3<ad46>3.39 E F0 .89(option to)3.39 F F3 (declar)3.39 E(e)-.18 E F0(or)3.39 E F3(typeset)3.39 E F0 .89 (will list the function names only \(and optionally the source)3.39 F -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(26)185.955 E 0 Cg EP +.327(\214le and line number)108 708 R 2.827(,i)-.4 G 2.827(ft)-2.827 G +(he)-2.827 E F3(extdeb)2.827 E(ug)-.2 E F0 .326 +(shell option is enabled\).)2.827 F .326(Functions may be e)5.326 F .326 +(xported so that subshells)-.15 F 1.297(automatically ha)108 720 R 1.597 +-.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F3<ad66>3.797 E F0 +1.297(option to the)3.797 F F3(export)3.798 E F0 -.2(bu)3.798 G 3.798 +(iltin. A).2 F 1.298(function de\214nition may be)3.798 F(GNU Bash-4.1) +72 768 Q(2009 December 29)135.965 E(26)185.955 E 0 Cg EP %%Page: 27 27 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .326(\214le and line number)108 84 R 2.826(,i)-.4 G 2.826(ft) --2.826 G(he)-2.826 E/F1 10/Times-Bold@0 SF(extdeb)2.826 E(ug)-.2 E F0 -.326(shell option is enabled\).)2.826 F .327(Functions may be e)5.327 F -.327(xported so that subshells)-.15 F 1.298(automatically ha)108 96 R -1.598 -.15(ve t)-.2 H 1.298(hem de\214ned with the).15 F F1<ad66>3.798 E -F0 1.298(option to the)3.798 F F1(export)3.797 E F0 -.2(bu)3.797 G 3.797 -(iltin. A).2 F 1.297(function de\214nition may be)3.797 F .16 -(deleted using the)108 108 R F1<ad66>2.66 E F0 .16(option to the)2.66 F -F1(unset)2.66 E F0 -.2(bu)2.66 G 2.661(iltin. Note).2 F .161 -(that shell functions and v)2.661 F .161(ariables with the same name) --.25 F 1.325(may result in multiple identically-named entries in the en) -108 120 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G -3.825(hildren. Care)-3.825 F(should be tak)108 132 Q +-.35 E .161(deleted using the)108 84 R/F1 10/Times-Bold@0 SF<ad66>2.661 +E F0 .161(option to the)2.661 F F1(unset)2.661 E F0 -.2(bu)2.661 G 2.661 +(iltin. Note).2 F .16(that shell functions and v)2.661 F .16 +(ariables with the same name)-.25 F 1.325 +(may result in multiple identically-named entries in the en)108 96 R +1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825 +(hildren. Care)-3.825 F(should be tak)108 108 Q (en in cases where this may cause a problem.)-.1 E -(Functions may be recursi)108 148.8 Q -.15(ve)-.25 G 5(.N).15 G 2.5(ol) +(Functions may be recursi)108 124.8 Q -.15(ve)-.25 G 5(.N).15 G 2.5(ol) -5 G(imit is imposed on the number of recursi)-2.5 E .3 -.15(ve c)-.25 H -(alls.).15 E/F2 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 165.6 Q(ALU) --1.478 E -1.04(AT)-.657 G(ION)1.04 E F0 2.297(The shell allo)108 177.6 R +(alls.).15 E/F2 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 141.6 Q(ALU) +-1.478 E -1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 153.6 R 2.297(ws arithmetic e)-.25 F 2.297(xpressions to be e)-.15 F -.25(va) -.25 G 2.297(luated, under certain circumstances \(see the).25 F F1(let) -4.798 E F0(and)4.798 E F1(declar)108 189.6 Q(e)-.18 E F0 -.2(bu)2.706 G -.206(iltin commands and).2 F F1 .206(Arithmetic Expansion)2.706 F F0 -2.705(\). Ev)B .205(aluation is done in \214x)-.25 F .205(ed-width inte) --.15 F .205(gers with no)-.15 F .428(check for o)108 201.6 R -.15(ve) --.15 G(r\215o).15 E 1.728 -.65(w, t)-.25 H .428(hough di).65 F .428 -(vision by 0 is trapped and \215agged as an error)-.25 F 5.429(.T)-.55 G -.429(he operators and their prece-)-5.429 F 1.92(dence, associati)108 -213.6 R(vity)-.25 E 4.42(,a)-.65 G 1.92(nd v)-4.42 F 1.92 -(alues are the same as in the C language.)-.25 F 1.919(The follo)6.919 F -1.919(wing list of operators is)-.25 F(grouped into le)108 225.6 Q -.15 +4.797 E F0(and)4.797 E F1(declar)108 165.6 Q(e)-.18 E F0 -.2(bu)2.705 G +.205(iltin commands and).2 F F1 .205(Arithmetic Expansion)2.705 F F0 +2.705(\). Ev)B .205(aluation is done in \214x)-.25 F .206(ed-width inte) +-.15 F .206(gers with no)-.15 F .429(check for o)108 177.6 R -.15(ve) +-.15 G(r\215o).15 E 1.729 -.65(w, t)-.25 H .429(hough di).65 F .428 +(vision by 0 is trapped and \215agged as an error)-.25 F 5.428(.T)-.55 G +.428(he operators and their prece-)-5.428 F 1.919(dence, associati)108 +189.6 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919 +(alues are the same as in the C language.)-.25 F 1.92(The follo)6.92 F +1.92(wing list of operators is)-.25 F(grouped into le)108 201.6 Q -.15 (ve)-.25 G(ls of equal-precedence operators.).15 E(The le)5 E -.15(ve) -.25 G(ls are listed in order of decreasing precedence.).15 E/F3 10 -/Times-Italic@0 SF(id)108 242.4 Q F1(++)A F3(id)2.5 E F1<adad>A F0 -.25 -(va)144 254.4 S(riable post-increment and post-decrement).25 E F1(++)108 -266.4 Q F3(id)A F1<adad>2.5 E F3(id)A F0 -.25(va)144 278.4 S -(riable pre-increment and pre-decrement).25 E F1 2.5<ad2b>108 290.4 S F0 -(unary minus and plus)19.6 E F1 2.5(!~)108 302.4 S F0 +/Times-Italic@0 SF(id)108 218.4 Q F1(++)A F3(id)2.5 E F1<adad>A F0 -.25 +(va)144 230.4 S(riable post-increment and post-decrement).25 E F1(++)108 +242.4 Q F3(id)A F1<adad>2.5 E F3(id)A F0 -.25(va)144 254.4 S +(riable pre-increment and pre-decrement).25 E F1 2.5<ad2b>108 266.4 S F0 +(unary minus and plus)19.6 E F1 2.5(!~)108 278.4 S F0 (logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F1(**)108 -314.4 Q F0 -.15(ex)26 G(ponentiation).15 E F1 2.5(*/%)108 326.4 S F0 +290.4 Q F0 -.15(ex)26 G(ponentiation).15 E F1 2.5(*/%)108 302.4 S F0 (multiplication, di)10.72 E(vision, remainder)-.25 E F1 2.5<2bad>108 -338.4 S F0(addition, subtraction)19.6 E F1(<< >>)108 350.4 Q F0 -(left and right bitwise shifts)10.7 E F1(<= >= < >)108 362.4 Q F0 -(comparison)144 374.4 Q F1(== !=)108 386.4 Q F0(equality and inequality) -13.07 E F1(&)108 398.4 Q F0(bitwise AND)27.67 E F1(^)108 410.4 Q F0 +314.4 S F0(addition, subtraction)19.6 E F1(<< >>)108 326.4 Q F0 +(left and right bitwise shifts)10.7 E F1(<= >= < >)108 338.4 Q F0 +(comparison)144 350.4 Q F1(== !=)108 362.4 Q F0(equality and inequality) +13.07 E F1(&)108 374.4 Q F0(bitwise AND)27.67 E F1(^)108 386.4 Q F0 (bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F1(|)108 -422.4 Q F0(bitwise OR)33.8 E F1(&&)108 434.4 Q F0(logical AND)19.34 E F1 -(||)108 446.4 Q F0(logical OR)31.6 E F3 -.2(ex)108 458.4 S(pr).2 E F1(?) +398.4 Q F0(bitwise OR)33.8 E F1(&&)108 410.4 Q F0(logical AND)19.34 E F1 +(||)108 422.4 Q F0(logical OR)31.6 E F3 -.2(ex)108 434.4 S(pr).2 E F1(?) A F3 -.2(ex)C(pr).2 E F1(:)A F3 -.2(ex)C(pr).2 E F0 -(conditional operator)144 470.4 Q F1 2.5(=*)108 482.4 S 2.5(=/)-2.5 G +(conditional operator)144 446.4 Q F1 2.5(=*)108 458.4 S 2.5(=/)-2.5 G 2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G -(<= >>= &= ^= |=)-2.5 E F0(assignment)144 494.4 Q F3 -.2(ex)108 506.4 S -(pr1).2 E F1(,)2.5 E F3 -.2(ex)2.5 G(pr2).2 E F0(comma)144 518.4 Q .68 -(Shell v)108 535.2 R .68(ariables are allo)-.25 F .68 +(<= >>= &= ^= |=)-2.5 E F0(assignment)144 470.4 Q F3 -.2(ex)108 482.4 S +(pr1).2 E F1(,)2.5 E F3 -.2(ex)2.5 G(pr2).2 E F0(comma)144 494.4 Q .68 +(Shell v)108 511.2 R .68(ariables are allo)-.25 F .68 (wed as operands; parameter e)-.25 F .68 (xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F --.25(va)-.25 G(lu-).25 E 3.508(ated. W)108 547.2 R 1.008(ithin an e)-.4 -F 1.008(xpression, shell v)-.15 F 1.007 +-.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 523.2 R 1.007(ithin an e)-.4 +F 1.007(xpression, shell v)-.15 F 1.007 (ariables may also be referenced by name without using the parameter) --.25 F -.15(ex)108 559.2 S 1.04(pansion syntax.).15 F 3.54(As)6.04 G -1.04(hell v)-3.54 F 1.04(ariable that is null or unset e)-.25 F -.25(va) --.25 G 1.041(luates to 0 when referenced by name without).25 F 1.467 -(using the parameter e)108 571.2 R 1.467(xpansion syntax.)-.15 F 1.467 -(The v)6.467 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25 -(va)-.25 G 1.466(luated as an arithmetic e).25 F(xpression)-.15 E 1.389 -(when it is referenced, or when a v)108 583.2 R 1.389 -(ariable which has been gi)-.25 F -.15(ve)-.25 G 3.89(nt).15 G(he)-3.89 -E F3(inte)3.89 E -.1(ge)-.4 G(r).1 E F0(attrib)3.89 E 1.39(ute using)-.2 -F F1(declar)3.89 E 3.89(e-)-.18 G(i)-3.89 E F0(is)3.89 E .344 -(assigned a v)108 595.2 R 2.844(alue. A)-.25 F .343(null v)2.843 F .343 -(alue e)-.25 F -.25(va)-.25 G .343(luates to 0.).25 F 2.843(As)5.343 G -.343(hell v)-2.843 F .343(ariable need not ha)-.25 F .643 -.15(ve i)-.2 -H .343(ts inte).15 F .343(ger attrib)-.15 F .343(ute turned on)-.2 F -(to be used in an e)108 607.2 Q(xpression.)-.15 E 1.406 -(Constants with a leading 0 are interpreted as octal numbers.)108 624 R -3.906(Al)6.406 G 1.407(eading 0x or 0X denotes he)-3.906 F(xadecimal.) --.15 E .59(Otherwise, numbers tak)108 636 R 3.09(et)-.1 G .59(he form [) --3.09 F F3(base#)A F0 .59(]n, where)B F3(base)3.089 E F0 .589 -(is a decimal number between 2 and 64 represent-)3.089 F .092 -(ing the arithmetic base, and)108 648 R F3(n)2.592 E F0 .093 -(is a number in that base.)2.592 F(If)5.093 E F3(base#)2.593 E F0 .093 -(is omitted, then base 10 is used.)2.593 F .093(The digits)5.093 F .065 -(greater than 9 are represented by the lo)108 660 R .064 +-.25 F -.15(ex)108 535.2 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G +1.041(hell v)-3.541 F 1.041(ariable that is null or unset e)-.25 F -.25 +(va)-.25 G 1.04(luates to 0 when referenced by name without).25 F 1.466 +(using the parameter e)108 547.2 R 1.466(xpansion syntax.)-.15 F 1.467 +(The v)6.466 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25 +(va)-.25 G 1.467(luated as an arithmetic e).25 F(xpression)-.15 E 1.39 +(when it is referenced, or when a v)108 559.2 R 1.389 +(ariable which has been gi)-.25 F -.15(ve)-.25 G 3.889(nt).15 G(he) +-3.889 E F3(inte)3.889 E -.1(ge)-.4 G(r).1 E F0(attrib)3.889 E 1.389 +(ute using)-.2 F F1(declar)3.889 E 3.889(e-)-.18 G(i)-3.889 E F0(is) +3.889 E .343(assigned a v)108 571.2 R 2.843(alue. A)-.25 F .343(null v) +2.843 F .343(alue e)-.25 F -.25(va)-.25 G .343(luates to 0.).25 F 2.843 +(As)5.343 G .343(hell v)-2.843 F .343(ariable need not ha)-.25 F .643 +-.15(ve i)-.2 H .343(ts inte).15 F .344(ger attrib)-.15 F .344 +(ute turned on)-.2 F(to be used in an e)108 583.2 Q(xpression.)-.15 E +1.406(Constants with a leading 0 are interpreted as octal numbers.)108 +600 R 3.906(Al)6.406 G 1.406(eading 0x or 0X denotes he)-3.906 F +(xadecimal.)-.15 E .589(Otherwise, numbers tak)108 612 R 3.089(et)-.1 G +.589(he form [)-3.089 F F3(base#)A F0 .589(]n, where)B F3(base)3.089 E +F0 .59(is a decimal number between 2 and 64 represent-)3.089 F .093 +(ing the arithmetic base, and)108 624 R F3(n)2.593 E F0 .093 +(is a number in that base.)2.593 F(If)5.093 E F3(base#)2.593 E F0 .092 +(is omitted, then base 10 is used.)2.593 F .092(The digits)5.092 F .064 +(greater than 9 are represented by the lo)108 636 R .064 (wercase letters, the uppercase letters, @, and _, in that order)-.25 F -5.064(.I)-.55 G(f)-5.064 E F3(base)2.564 E F0 .432 -(is less than or equal to 36, lo)108 672 R .433(wercase and uppercase l\ +5.065(.I)-.55 G(f)-5.065 E F3(base)2.565 E F0 .433 +(is less than or equal to 36, lo)108 648 R .432(wercase and uppercase l\ etters may be used interchangeably to represent num-)-.25 F -(bers between 10 and 35.)108 684 Q .235(Operators are e)108 700.8 R -.25 -(va)-.25 G .235(luated in order of precedence.).25 F(Sub-e)5.234 E .234 -(xpressions in parentheses are e)-.15 F -.25(va)-.25 G .234 -(luated \214rst and may).25 F -.15(ove)108 712.8 S -(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(27)185.955 E 0 Cg EP +(bers between 10 and 35.)108 660 Q .234(Operators are e)108 676.8 R -.25 +(va)-.25 G .234(luated in order of precedence.).25 F(Sub-e)5.234 E .234 +(xpressions in parentheses are e)-.15 F -.25(va)-.25 G .235 +(luated \214rst and may).25 F -.15(ove)108 688.8 S +(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E F2 +(CONDITION)72 705.6 Q(AL EXPRESSIONS)-.219 E F0 .256(Conditional e)108 +717.6 R .256(xpressions are used by the)-.15 F F1([[)2.755 E F0 .255 +(compound command and the)2.755 F F1(test)2.755 E F0(and)2.755 E F1([) +2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F .77 +(\214le attrib)108 729.6 R .77 +(utes and perform string and arithmetic comparisons.)-.2 F .77 +(Expressions are formed from the follo)5.77 F(wing)-.25 E(GNU Bash-4.1) +72 768 Q(2009 December 29)135.965 E(27)185.955 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10.95/Times-Bold@0 SF(CONDITION)72 84 Q(AL EXPRESSIONS)-.219 E -F0 .255(Conditional e)108 96 R .255(xpressions are used by the)-.15 F/F2 -10/Times-Bold@0 SF([[)2.755 E F0 .255(compound command and the)2.755 F -F2(test)2.755 E F0(and)2.755 E F2([)2.756 E F0 -.2(bu)2.756 G .256 -(iltin commands to test).2 F .77(\214le attrib)108 108 R .77 -(utes and perform string and arithmetic comparisons.)-.2 F .77 -(Expressions are formed from the follo)5.77 F(wing)-.25 E 1.04 -(unary or binary primaries.)108 120 R 1.04(If an)6.04 F(y)-.15 E/F3 10 -/Times-Italic@0 SF(\214le)3.54 E F0(ar)3.54 E 1.041 -(gument to one of the primaries is of the form)-.18 F F3(/de)3.541 E -(v/fd/n)-.15 E F0 3.541(,t)C 1.041(hen \214le)-3.541 F(descriptor)108 -132 Q F3(n)3.789 E F0 1.289(is check)3.789 F 3.789(ed. If)-.1 F(the) -3.789 E F3(\214le)3.789 E F0(ar)3.789 E 1.289 -(gument to one of the primaries is one of)-.18 F F3(/de)3.789 E(v/stdin) --.15 E F0(,)A F3(/de)3.788 E(v/stdout)-.15 E F0 3.788(,o)C(r)-3.788 E F3 -(/de)108 144 Q(v/stderr)-.15 E F0 2.5<2c8c>C +-.35 E 1.041(unary or binary primaries.)108 84 R 1.041(If an)6.041 F(y) +-.15 E/F1 10/Times-Italic@0 SF(\214le)3.541 E F0(ar)3.541 E 1.04 +(gument to one of the primaries is of the form)-.18 F F1(/de)3.54 E +(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 96 Q +F1(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E F1 +(\214le)3.789 E F0(ar)3.789 E 1.289 +(gument to one of the primaries is one of)-.18 F F1(/de)3.789 E(v/stdin) +-.15 E F0(,)A F1(/de)3.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F1 +(/de)108 108 Q(v/stderr)-.15 E F0 2.5<2c8c>C (le descriptor 0, 1, or 2, respecti)-2.5 E -.15(ve)-.25 G(ly).15 E 2.5 -(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .721 +(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722 (Unless otherwise speci\214ed, primaries that operate on \214les follo) -108 160.8 R 3.221(ws)-.25 G .722(ymbolic links and operate on the tar) --3.221 F(get)-.18 E(of the link, rather than the link itself.)108 172.8 -Q(When used with)108 190.8 Q F2([[)2.5 E F0 2.5(,T)C(he)-2.5 E F2(<)2.5 -E F0(and)2.5 E F2(>)2.5 E F0(operators sort le)2.5 E -(xicographically using the current locale.)-.15 E F2<ad61>108 214.8 Q F3 -(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex) -2.5 G(ists.).15 E F2<ad62>108 226.8 Q F3(\214le)2.5 E F0 -.35(Tr)10.02 G -(ue if).35 E F3(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is a block special \214le.).15 E F2<ad63>108 238.8 Q F3 -(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex) -2.5 G(ists and is a character special \214le.).15 E F2<ad64>108 250.8 Q -F3(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F3(\214le)2.5 E F0 -.15 -(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F2<ad65>108 262.8 Q F3 -(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex) -2.5 G(ists.).15 E F2<ad66>108 274.8 Q F3(\214le)2.5 E F0 -.35(Tr)12.25 G -(ue if).35 E F3(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E -(gular \214le.)-.15 E F2<ad67>108 286.8 Q F3(\214le)2.5 E F0 -.35(Tr) -10.58 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is set-group-id.).15 E F2<ad68>108 298.8 Q F3(\214le)2.5 E F0 --.35(Tr)10.02 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is a symbolic link.).15 E F2<ad6b>108 310.8 Q F3(\214le)2.5 E -F0 -.35(Tr)10.02 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex)2.5 G +108 124.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar) +-3.221 F(get)-.18 E(of the link, rather than the link itself.)108 136.8 +Q(When used with)108 154.8 Q/F2 10/Times-Bold@0 SF([[)2.5 E F0 2.5(,T)C +(he)-2.5 E F2(<)2.5 E F0(and)2.5 E F2(>)2.5 E F0(operators sort le)2.5 E +(xicographically using the current locale.)-.15 E F2<ad61>108 178.8 Q F1 +(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) +2.5 G(ists.).15 E F2<ad62>108 190.8 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G +(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a block special \214le.).15 E F2<ad63>108 202.8 Q F1 +(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) +2.5 G(ists and is a character special \214le.).15 E F2<ad64>108 214.8 Q +F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15 +(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F2<ad65>108 226.8 Q F1 +(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) +2.5 G(ists.).15 E F2<ad66>108 238.8 Q F1(\214le)2.5 E F0 -.35(Tr)12.25 G +(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E +(gular \214le.)-.15 E F2<ad67>108 250.8 Q F1(\214le)2.5 E F0 -.35(Tr) +10.58 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is set-group-id.).15 E F2<ad68>108 262.8 Q F1(\214le)2.5 E F0 +-.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a symbolic link.).15 E F2<ad6b>108 274.8 Q F1(\214le)2.5 E +F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G (ists and its `).15 E(`stick)-.74 E(y')-.15 E 2.5('b)-.74 G(it is set.) --2.5 E F2<ad70>108 322.8 Q F3(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 -E F3(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).) -.15 E F2<ad72>108 334.8 Q F3(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E -F3(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F2<ad73>108 -346.8 Q F3(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F3(\214le)2.5 E +-2.5 E F2<ad70>108 286.8 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 +E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).) +.15 E F2<ad72>108 298.8 Q F1(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E +F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F2<ad73>108 +310.8 Q F1(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and has a size greater than zero.).15 E F2<ad74> -108 358.8 Q F3(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E -F3(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F2<ad75>108 -370.8 Q F3(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F3(\214le)2.5 E +108 322.8 Q F1(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E +F1(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F2<ad75>108 +334.8 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F2 -<ad77>108 382.8 Q F3(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F3 +<ad77>108 346.8 Q F1(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F1 (\214le)2.5 E F0 -.15(ex)2.5 G(ists and is writable.).15 E F2<ad78>108 -394.8 Q F3(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F3(\214le)2.5 E +358.8 Q F1(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F2 -<ad4f>108 406.8 Q F3(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F3 +<ad4f>108 370.8 Q F1(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F1 (\214le)2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E -(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F2<ad47>108 418.8 Q F3 -(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex) +(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F2<ad47>108 382.8 Q F1 +(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) 2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)-.25 E .3 -.15 -(ve g)-.25 H(roup id.).15 E F2<ad4c>108 430.8 Q F3(\214le)2.5 E F0 -.35 -(Tr)8.91 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is a symbolic link.).15 E F2<ad53>108 442.8 Q F3(\214le)2.5 E -F0 -.35(Tr)10.02 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is a sock).15 E(et.)-.1 E F2<ad4e>108 454.8 Q F3(\214le)2.5 E -F0 -.35(Tr)8.36 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and has been modi\214ed since it w).15 E(as last read.)-.1 E F3 -(\214le1)108 466.8 Q F0<ad>2.5 E F2(nt)A F3(\214le2)2.5 E F0 -.35(Tr)144 -478.8 S .039(ue if).35 F F3(\214le1)2.539 E F0 .039(is ne)2.539 F .039 -(wer \(according to modi\214cation date\) than)-.25 F F3(\214le2)2.539 E -F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F3(\214le1)2.539 E F0 -.15 -(ex)2.539 G .039(ists and).15 F F3(\214le2)2.539 E F0 .038(does not.) -2.538 F F3(\214le1)108 490.8 Q F0<ad>2.5 E F2(ot)A F3(\214le2)2.5 E F0 --.35(Tr)144 502.8 S(ue if).35 E F3(\214le1)2.5 E F0(is older than)2.5 E -F3(\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F3(\214le2)2.5 E F0 --.15(ex)2.5 G(ists and).15 E F3(\214le1)2.5 E F0(does not.)2.5 E F3 -(\214le1)108 514.8 Q F2(\255ef)2.5 E F3(\214le2)2.5 E F0 -.35(Tr)144 -526.8 S(ue if).35 E F3(\214le1)2.5 E F0(and)2.5 E F3(\214le2)2.5 E F0 +(ve g)-.25 H(roup id.).15 E F2<ad4c>108 394.8 Q F1(\214le)2.5 E F0 -.35 +(Tr)8.91 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a symbolic link.).15 E F2<ad53>108 406.8 Q F1(\214le)2.5 E +F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a sock).15 E(et.)-.1 E F2<ad4e>108 418.8 Q F1(\214le)2.5 E +F0 -.35(Tr)8.36 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and has been modi\214ed since it w).15 E(as last read.)-.1 E F1 +(\214le1)108 430.8 Q F0<ad>2.5 E F2(nt)A F1(\214le2)2.5 E F0 -.35(Tr)144 +442.8 S .038(ue if).35 F F1(\214le1)2.538 E F0 .039(is ne)2.539 F .039 +(wer \(according to modi\214cation date\) than)-.25 F F1(\214le2)2.539 E +F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F1(\214le1)2.539 E F0 -.15 +(ex)2.539 G .039(ists and).15 F F1(\214le2)2.539 E F0 .039(does not.) +2.539 F F1(\214le1)108 454.8 Q F0<ad>2.5 E F2(ot)A F1(\214le2)2.5 E F0 +-.35(Tr)144 466.8 S(ue if).35 E F1(\214le1)2.5 E F0(is older than)2.5 E +F1(\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F1(\214le2)2.5 E F0 +-.15(ex)2.5 G(ists and).15 E F1(\214le1)2.5 E F0(does not.)2.5 E F1 +(\214le1)108 478.8 Q F2(\255ef)2.5 E F1(\214le2)2.5 E F0 -.35(Tr)144 +490.8 S(ue if).35 E F1(\214le1)2.5 E F0(and)2.5 E F1(\214le2)2.5 E F0 (refer to the same de)2.5 E(vice and inode numbers.)-.25 E F2<ad6f>108 -538.8 Q F3(optname)2.5 E F0 -.35(Tr)144 550.8 S 1.143 -(ue if shell option).35 F F3(optname)3.873 E F0 1.143(is enabled.)3.823 -F 1.144(See the list of options under the description of the)6.143 F F2 -<ad6f>3.644 E F0(option to the)144 562.8 Q F2(set)2.5 E F0 -.2(bu)2.5 G -(iltin belo).2 E -.65(w.)-.25 G F2<ad7a>108 574.8 Q F3(string)2.5 E F0 --.35(Tr)144 586.8 S(ue if the length of).35 E F3(string)2.5 E F0 -(is zero.)2.5 E F3(string)108 598.8 Q F2<ad6e>108 610.8 Q F3(string)2.5 -E F0 -.35(Tr)144 622.8 S(ue if the length of).35 E F3(string)2.84 E F0 -(is non-zero.)2.72 E F3(string1)108 639.6 Q F2(==)2.5 E F3(string2)2.5 E -(string1)108 651.6 Q F2(=)2.5 E F3(string2)2.5 E F0 -.35(Tr)144 663.6 S +502.8 Q F1(optname)2.5 E F0 -.35(Tr)144 514.8 S 1.144 +(ue if shell option).35 F F1(optname)3.874 E F0 1.144(is enabled.)3.824 +F 1.143(See the list of options under the description of the)6.144 F F2 +<ad6f>3.643 E F0(option to the)144 526.8 Q F2(set)2.5 E F0 -.2(bu)2.5 G +(iltin belo).2 E -.65(w.)-.25 G F2<ad7a>108 538.8 Q F1(string)2.5 E F0 +-.35(Tr)144 550.8 S(ue if the length of).35 E F1(string)2.5 E F0 +(is zero.)2.5 E F1(string)108 562.8 Q F2<ad6e>108 574.8 Q F1(string)2.5 +E F0 -.35(Tr)144 586.8 S(ue if the length of).35 E F1(string)2.84 E F0 +(is non-zero.)2.72 E F1(string1)108 603.6 Q F2(==)2.5 E F1(string2)2.5 E +(string1)108 615.6 Q F2(=)2.5 E F1(string2)2.5 E F0 -.35(Tr)144 627.6 S (ue if the strings are equal.).35 E F2(=)5 E F0(should be used with the) -2.5 E F2(test)2.5 E F0(command for POSIX conformance.)2.5 E F3(string1) -108 680.4 Q F2(!=)2.5 E F3(string2)2.5 E F0 -.35(Tr)144 692.4 S -(ue if the strings are not equal.).35 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(28)185.955 E 0 Cg EP +2.5 E F2(test)2.5 E F0(command for POSIX conformance.)2.5 E F1(string1) +108 644.4 Q F2(!=)2.5 E F1(string2)2.5 E F0 -.35(Tr)144 656.4 S +(ue if the strings are not equal.).35 E F1(string1)108 673.2 Q F2(<)2.5 +E F1(string2)2.5 E F0 -.35(Tr)144 685.2 S(ue if).35 E F1(string1)2.5 E +F0(sorts before)2.5 E F1(string2)2.5 E F0(le)2.5 E(xicographically)-.15 +E(.)-.65 E F1(string1)108 702 Q F2(>)2.5 E F1(string2)2.5 E F0 -.35(Tr) +144 714 S(ue if).35 E F1(string1)2.5 E F0(sorts after)2.5 E F1(string2) +2.5 E F0(le)2.5 E(xicographically)-.15 E(.)-.65 E(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(28)185.955 E 0 Cg EP %%Page: 29 29 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Italic@0 SF(string1)108 84 Q/F2 10/Times-Bold@0 SF(<) -2.5 E F1(string2)2.5 E F0 -.35(Tr)144 96 S(ue if).35 E F1(string1)2.5 E -F0(sorts before)2.5 E F1(string2)2.5 E F0(le)2.5 E(xicographically)-.15 -E(.)-.65 E F1(string1)108 112.8 Q F2(>)2.5 E F1(string2)2.5 E F0 -.35 -(Tr)144 124.8 S(ue if).35 E F1(string1)2.5 E F0(sorts after)2.5 E F1 -(string2)2.5 E F0(le)2.5 E(xicographically)-.15 E(.)-.65 E F1(ar)108.33 -141.6 Q(g1)-.37 E F2(OP)2.5 E F1(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF -(OP)144 153.6 Q F0 .385(is one of)2.635 F F2(\255eq)2.885 E F0(,)A F2 -(\255ne)2.885 E F0(,)A F2(\255lt)2.885 E F0(,)A F2(\255le)2.885 E F0(,)A -F2(\255gt)2.885 E F0 2.885(,o)C(r)-2.885 E F2(\255ge)2.885 E F0 5.385 -(.T)C .385(hese arithmetic binary operators return true if)-5.385 F F1 -(ar)2.884 E(g1)-.37 E F0 .845(is equal to, not equal to, less than, les\ -s than or equal to, greater than, or greater than or equal to)144 165.6 -R F1(ar)144 177.6 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G -(ly).15 E(.)-.65 E F1(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F1(ar)2.83 E(g2) --.37 E F0(may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 --.15(eg a)-2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E/F4 -10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 194.4 Q(ANSION)-.81 E F0 -.614(When a simple command is e)108 206.4 R -.15(xe)-.15 G .614 -(cuted, the shell performs the follo).15 F .613(wing e)-.25 F .613 +-.35 E/F1 10/Times-Italic@0 SF(ar)108.33 84 Q(g1)-.37 E/F2 10 +/Times-Bold@0 SF(OP)2.5 E F1(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF(OP) +144 96 Q F0 .385(is one of)2.634 F F2(\255eq)2.885 E F0(,)A F2(\255ne) +2.885 E F0(,)A F2(\255lt)2.885 E F0(,)A F2(\255le)2.885 E F0(,)A F2 +(\255gt)2.885 E F0 2.885(,o)C(r)-2.885 E F2(\255ge)2.885 E F0 5.385(.T)C +.385(hese arithmetic binary operators return true if)-5.385 F F1(ar) +2.885 E(g1)-.37 E F0 .845(is equal to, not equal to, less than, less th\ +an or equal to, greater than, or greater than or equal to)144 108 R F1 +(ar)144 120 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly).15 +E(.)-.65 E F1(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F1(ar)2.83 E(g2)-.37 E F0 +(may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 -.15(eg a) +-2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E/F4 10.95 +/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 136.8 Q(ANSION)-.81 E F0 .613 +(When a simple command is e)108 148.8 R -.15(xe)-.15 G .614 +(cuted, the shell performs the follo).15 F .614(wing e)-.25 F .614 (xpansions, assignments, and redi-)-.15 F(rections, from left to right.) -108 218.4 Q 26(1. The)108 235.2 R -.1(wo)4.348 G 1.848 -(rds that the parser has mark).1 F 1.848(ed as v)-.1 F 1.849 +108 160.8 Q 26(1. The)108 177.6 R -.1(wo)4.349 G 1.849 +(rds that the parser has mark).1 F 1.848(ed as v)-.1 F 1.848 (ariable assignments \(those preceding the command)-.25 F -(name\) and redirections are sa)144 247.2 Q -.15(ve)-.2 G 2.5(df).15 G -(or later processing.)-2.5 E 26(2. The)108 264 R -.1(wo)3.664 G 1.164 +(name\) and redirections are sa)144 189.6 Q -.15(ve)-.2 G 2.5(df).15 G +(or later processing.)-2.5 E 26(2. The)108 206.4 R -.1(wo)3.663 G 1.163 (rds that are not v).1 F 1.164 -(ariable assignments or redirections are e)-.25 F 3.663(xpanded. If)-.15 -F(an)3.663 E 3.663(yw)-.15 G 1.163(ords remain)-3.763 F .775(after e)144 -276 R .775(xpansion, the \214rst w)-.15 F .775(ord is tak)-.1 F .775 +(ariable assignments or redirections are e)-.25 F 3.664(xpanded. If)-.15 +F(an)3.664 E 3.664(yw)-.15 G 1.164(ords remain)-3.764 F .776(after e)144 +218.4 R .776(xpansion, the \214rst w)-.15 F .776(ord is tak)-.1 F .775 (en to be the name of the command and the remaining w)-.1 F(ords)-.1 E -(are the ar)144 288 Q(guments.)-.18 E 26(3. Redirections)108 304.8 R +(are the ar)144 230.4 Q(guments.)-.18 E 26(3. Redirections)108 247.2 R (are performed as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F3 -(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0 26(4. The)108 321.6 R -(te)3.217 E .717(xt after the)-.15 F F2(=)3.217 E F0 .717(in each v) -3.217 F .717(ariable assignment under)-.25 F .717(goes tilde e)-.18 F -.717(xpansion, parameter e)-.15 F(xpansion,)-.15 E .339 -(command substitution, arithmetic e)144 333.6 R .339 +(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0 26(4. The)108 264 R(te) +3.216 E .717(xt after the)-.15 F F2(=)3.217 E F0 .717(in each v)3.217 F +.717(ariable assignment under)-.25 F .717(goes tilde e)-.18 F .717 +(xpansion, parameter e)-.15 F(xpansion,)-.15 E .34 +(command substitution, arithmetic e)144 276 R .339 (xpansion, and quote remo)-.15 F -.25(va)-.15 G 2.839(lb).25 G .339 -(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 345.6 Q -.332(If no command name results, the v)108 362.4 R .332 +(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 288 Q .332 +(If no command name results, the v)108 304.8 R .332 (ariable assignments af)-.25 F .332(fect the current shell en)-.25 F -2.832(vironment. Otherwise,)-.4 F(the)2.832 E -.25(va)108 374.4 S .757 +2.833(vironment. Otherwise,)-.4 F(the)2.833 E -.25(va)108 316.8 S .757 (riables are added to the en).25 F .757(vironment of the e)-.4 F -.15 (xe)-.15 G .757(cuted command and do not af).15 F .757 -(fect the current shell en)-.25 F(vi-)-.4 E 3.177(ronment. If)108 386.4 -R(an)3.177 E 3.177(yo)-.15 G 3.177(ft)-3.177 G .677 -(he assignments attempts to assign a v)-3.177 F .677 -(alue to a readonly v)-.25 F .676(ariable, an error occurs, and)-.25 F -(the command e)108 398.4 Q(xits with a non-zero status.)-.15 E .149 -(If no command name results, redirections are performed, b)108 415.2 R -.149(ut do not af)-.2 F .15(fect the current shell en)-.25 F 2.65 -(vironment. A)-.4 F(redirection error causes the command to e)108 427.2 +(fect the current shell en)-.25 F(vi-)-.4 E 3.176(ronment. If)108 328.8 +R(an)3.176 E 3.176(yo)-.15 G 3.176(ft)-3.176 G .677 +(he assignments attempts to assign a v)-3.176 F .677 +(alue to a readonly v)-.25 F .677(ariable, an error occurs, and)-.25 F +(the command e)108 340.8 Q(xits with a non-zero status.)-.15 E .15 +(If no command name results, redirections are performed, b)108 357.6 R +.149(ut do not af)-.2 F .149(fect the current shell en)-.25 F 2.649 +(vironment. A)-.4 F(redirection error causes the command to e)108 369.6 Q(xit with a non-zero status.)-.15 E 1.064 -(If there is a command name left after e)108 444 R 1.064(xpansion, e) +(If there is a command name left after e)108 386.4 R 1.064(xpansion, e) -.15 F -.15(xe)-.15 G 1.064(cution proceeds as described belo).15 F -4.864 -.65(w. O)-.25 H 1.064(therwise, the).65 F .068(command e)108 456 -R 2.568(xits. If)-.15 F .069(one of the e)2.568 F .069 -(xpansions contained a command substitution, the e)-.15 F .069 -(xit status of the command)-.15 F .467(is the e)108 468 R .466 -(xit status of the last command substitution performed.)-.15 F .466 -(If there were no command substitutions, the)5.466 F(command e)108 480 Q -(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 496.8 Q F0 -.546(After a command has been split into w)108 508.8 R .547 +4.864 -.65(w. O)-.25 H 1.064(therwise, the).65 F .069(command e)108 +398.4 R 2.569(xits. If)-.15 F .069(one of the e)2.569 F .069 +(xpansions contained a command substitution, the e)-.15 F .068 +(xit status of the command)-.15 F .466(is the e)108 410.4 R .466 +(xit status of the last command substitution performed.)-.15 F .467 +(If there were no command substitutions, the)5.466 F(command e)108 422.4 +Q(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 439.2 Q F0 +.547(After a command has been split into w)108 451.2 R .546 (ords, if it results in a simple command and an optional list of ar)-.1 -F(gu-)-.18 E(ments, the follo)108 520.8 Q(wing actions are tak)-.25 E +F(gu-)-.18 E(ments, the follo)108 463.2 Q(wing actions are tak)-.25 E (en.)-.1 E .379(If the command name contains no slashes, the shell atte\ -mpts to locate it.)108 537.6 R .379(If there e)5.379 F .379 +mpts to locate it.)108 480 R .379(If there e)5.379 F .379 (xists a shell function by)-.15 F .246(that name, that function is in) -108 549.6 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G -.246(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F3(FUNCTIONS) -2.746 E F5(.)A F0 .246(If the name does not match a func-)4.746 F -(tion, the shell searches for it in the list of shell b)108 561.6 Q 2.5 +108 492 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G .246 +(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F3(FUNCTIONS)2.746 +E F5(.)A F0 .246(If the name does not match a func-)4.746 F +(tion, the shell searches for it in the list of shell b)108 504 Q 2.5 (uiltins. If)-.2 F 2.5(am)2.5 G(atch is found, that b)-2.5 E -(uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .31 -(If the name is neither a shell function nor a b)108 578.4 R .309 -(uiltin, and contains no slashes,)-.2 F F2(bash)2.809 E F0 .309 -(searches each element of)2.809 F(the)108 590.4 Q F3 -.666(PA)3.162 G -(TH)-.189 E F0 .662(for a directory containing an e)2.912 F -.15(xe)-.15 -G .662(cutable \214le by that name.).15 F F2(Bash)5.662 E F0 .663 -(uses a hash table to remember)3.162 F 1.915(the full pathnames of e)108 -602.4 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E -F0(under)4.415 E F3 1.915(SHELL B)4.415 F(UIL)-.09 E 1.914(TIN COMMANDS) --.828 F F0(belo)4.164 E 4.414(w\). A)-.25 F(full)4.414 E .719 -(search of the directories in)108 614.4 R F3 -.666(PA)3.219 G(TH)-.189 E -F0 .72(is performed only if the command is not found in the hash table.) -2.969 F .72(If the)5.72 F .956(search is unsuccessful, the shell search\ -es for a de\214ned shell function named)108 626.4 R F2(command_not_f) -3.455 E(ound_han-)-.25 E(dle)108 638.4 Q F0 5.277(.I)C 2.777(ft)-5.277 G -.277(hat function e)-2.777 F .277(xists, it is in)-.15 F -.2(vo)-.4 G --.1(ke).2 G 2.777(dw).1 G .278 -(ith the original command and the original command')-2.777 F 2.778(sa) --.55 G -.18(rg)-2.778 G(uments).18 E .776(as its ar)108 650.4 R .776 +(uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .309 +(If the name is neither a shell function nor a b)108 520.8 R .31 +(uiltin, and contains no slashes,)-.2 F F2(bash)2.81 E F0 .31 +(searches each element of)2.81 F(the)108 532.8 Q F3 -.666(PA)3.163 G(TH) +-.189 E F0 .662(for a directory containing an e)2.913 F -.15(xe)-.15 G +.662(cutable \214le by that name.).15 F F2(Bash)5.662 E F0 .662 +(uses a hash table to remember)3.162 F 1.914(the full pathnames of e)108 +544.8 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E +F0(under)4.415 E F3 1.915(SHELL B)4.415 F(UIL)-.09 E 1.915(TIN COMMANDS) +-.828 F F0(belo)4.165 E 4.415(w\). A)-.25 F(full)4.415 E .72 +(search of the directories in)108 556.8 R F3 -.666(PA)3.22 G(TH)-.189 E +F0 .719 +(is performed only if the command is not found in the hash table.)2.97 F +.719(If the)5.719 F .956(search is unsuccessful, the shell searches for\ + a de\214ned shell function named)108 568.8 R F2(command_not_f)3.456 E +(ound_han-)-.25 E(dle)108 580.8 Q F0 5.278(.I)C 2.778(ft)-5.278 G .278 +(hat function e)-2.778 F .278(xists, it is in)-.15 F -.2(vo)-.4 G -.1 +(ke).2 G 2.778(dw).1 G .277 +(ith the original command and the original command')-2.778 F 2.777(sa) +-.55 G -.18(rg)-2.777 G(uments).18 E .775(as its ar)108 592.8 R .775 (guments, and the function')-.18 F 3.275(se)-.55 G .775 (xit status becomes the e)-3.425 F .775(xit status of the shell.)-.15 F -.775(If that function is not)5.775 F -(de\214ned, the shell prints an error message and returns an e)108 662.4 +.776(If that function is not)5.776 F +(de\214ned, the shell prints an error message and returns an e)108 604.8 Q(xit status of 127.)-.15 E 1.089(If the search is successful, or if th\ -e command name contains one or more slashes, the shell e)108 679.2 R --.15(xe)-.15 G 1.09(cutes the).15 F .198(named program in a separate e) -108 691.2 R -.15(xe)-.15 G .198(cution en).15 F 2.698(vironment. Ar)-.4 -F .198(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .197 -(n, and the remain-).15 F(ing ar)108 703.2 Q +e command name contains one or more slashes, the shell e)108 621.6 R +-.15(xe)-.15 G 1.089(cutes the).15 F .197(named program in a separate e) +108 633.6 R -.15(xe)-.15 G .197(cution en).15 F 2.698(vironment. Ar)-.4 +F .198(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .198 +(n, and the remain-).15 F(ing ar)108 645.6 Q (guments to the command are set to the ar)-.18 E(guments gi)-.18 E -.15 -(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.809(If this e)108 720 R -.15 -(xe)-.15 G 1.809(cution f).15 F 1.809 +(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.809(If this e)108 662.4 R +-.15(xe)-.15 G 1.809(cution f).15 F 1.809 (ails because the \214le is not in e)-.1 F -.15(xe)-.15 G 1.809 (cutable format, and the \214le is not a directory).15 F 4.309(,i)-.65 G -4.309(ti)-4.309 G(s)-4.309 E(GNU Bash-4.1)72 768 Q(2009 December 23) -135.965 E(29)185.955 E 0 Cg EP +4.309(ti)-4.309 G(s)-4.309 E .677(assumed to be a)108 674.4 R F1 .678 +(shell script)3.177 F F0 3.178(,a\214)C .678 +(le containing shell commands.)-3.178 F 3.178(As)5.678 G .678 +(ubshell is spa)-3.178 F .678(wned to e)-.15 F -.15(xe)-.15 G .678 +(cute it.).15 F(This)5.678 E .33 +(subshell reinitializes itself, so that the ef)108 686.4 R .33 +(fect is as if a ne)-.25 F 2.829(ws)-.25 G .329(hell had been in)-2.829 +F -.2(vo)-.4 G -.1(ke).2 G 2.829(dt).1 G 2.829(oh)-2.829 G .329 +(andle the script, with)-2.829 F 1.219(the e)108 698.4 R 1.219 +(xception that the locations of commands remembered by the parent \(see) +-.15 F F2(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 G(nder)-3.719 E F3 +(SHELL)3.719 E -.09(BU)108 710.4 S(IL).09 E(TIN COMMANDS)-.828 E F5(\))A +F0(are retained by the child.)2.25 E 1.375 +(If the program is a \214le be)108 727.2 R 1.374(ginning with)-.15 F F2 +(#!)3.874 E F0 3.874(,t)C 1.374 +(he remainder of the \214rst line speci\214es an interpreter for the) +-3.874 F(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(29)185.955 E 0 +Cg EP %%Page: 30 30 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .678(assumed to be a)108 84 R/F1 10/Times-Italic@0 SF .678 -(shell script)3.178 F F0 3.178(,a\214)C .678 -(le containing shell commands.)-3.178 F 3.178(As)5.678 G .678 -(ubshell is spa)-3.178 F .677(wned to e)-.15 F -.15(xe)-.15 G .677 -(cute it.).15 F(This)5.677 E .329 -(subshell reinitializes itself, so that the ef)108 96 R .329 -(fect is as if a ne)-.25 F 2.83(ws)-.25 G .33(hell had been in)-2.83 F --.2(vo)-.4 G -.1(ke).2 G 2.83(dt).1 G 2.83(oh)-2.83 G .33 -(andle the script, with)-2.83 F 1.219(the e)108 108 R 1.219 -(xception that the locations of commands remembered by the parent \(see) --.15 F/F2 10/Times-Bold@0 SF(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 -G(nder)-3.719 E/F3 9/Times-Bold@0 SF(SHELL)3.719 E -.09(BU)108 120 S(IL) -.09 E(TIN COMMANDS)-.828 E/F4 9/Times-Roman@0 SF(\))A F0 -(are retained by the child.)2.25 E .347(If the program is a \214le be) -108 136.8 R .347(ginning with)-.15 F F2(#!)2.847 E F0 2.847(,t)C .348(h\ -e remainder of the \214rst line speci\214es an interpreter for the pro-) --2.847 F 3.178(gram. The)108 148.8 R .678(shell e)3.178 F -.15(xe)-.15 G -.678(cutes the speci\214ed interpreter on operating systems that do not\ - handle this e).15 F -.15(xe)-.15 G(cutable).15 E 1.192(format themselv) -108 160.8 R 3.692(es. The)-.15 F(ar)3.693 E 1.193 -(guments to the interpreter consist of a single optional ar)-.18 F 1.193 -(gument follo)-.18 F 1.193(wing the)-.25 F 1.131 -(interpreter name on the \214rst line of the program, follo)108 172.8 R -1.13(wed by the name of the program, follo)-.25 F 1.13(wed by the)-.25 F -(command ar)108 184.8 Q(guments, if an)-.18 E -.65(y.)-.15 G/F5 10.95 -/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 201.6 Q(ONMENT)-.329 E F0 -(The shell has an)108 213.6 Q F1 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E -(onment)-.45 E F0 2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 -E 32.5<836f>108 242.4 S 1.405(pen \214les inherited by the shell at in) --32.5 F -.2(vo)-.4 G 1.406 -(cation, as modi\214ed by redirections supplied to the).2 F F2(exec) -3.906 E F0 -.2(bu)144 254.4 S(iltin).2 E 32.5<8374>108 271.2 S -(he current w)-32.5 E(orking directory as set by)-.1 E F2(cd)2.5 E F0(,) -A F2(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F2(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 32.5 -<8374>108 288 S(he \214le creation mode mask as set by)-32.5 E F2(umask) -2.5 E F0(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent)-2.5 E -32.5<8363>108 304.8 S(urrent traps set by)-32.5 E F2(trap)2.5 E F0 32.5 -<8373>108 321.6 S .257(hell parameters that are set by v)-32.5 F .256 -(ariable assignment or with)-.25 F F2(set)2.756 E F0 .256 -(or inherited from the shell')2.756 F 2.756(sp)-.55 G(arent)-2.756 E -(in the en)144 333.6 Q(vironment)-.4 E 32.5<8373>108 350.4 S +-.35 E 5.485(program. The)108 84 R 2.985(shell e)5.485 F -.15(xe)-.15 G +2.986(cutes the speci\214ed interpreter on operating systems that do no\ +t handle this).15 F -.15(exe)108 96 S .762(cutable format themselv).15 F +3.262(es. The)-.15 F(ar)3.262 E .761 +(guments to the interpreter consist of a single optional ar)-.18 F .761 +(gument fol-)-.18 F(lo)108 108 Q .156 +(wing the interpreter name on the \214rst line of the program, follo) +-.25 F .157(wed by the name of the program, follo)-.25 F(wed)-.25 E +(by the command ar)108 120 Q(guments, if an)-.18 E -.65(y.)-.15 G/F1 +10.95/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 136.8 Q(ONMENT)-.329 E +F0(The shell has an)108 148.8 Q/F2 10/Times-Italic@0 SF -.2(ex)2.5 G +(ecution en).2 E(vir)-.4 E(onment)-.45 E F0 2.5(,w)C +(hich consists of the follo)-2.5 E(wing:)-.25 E 32.5<836f>108 165.6 S +1.406(pen \214les inherited by the shell at in)-32.5 F -.2(vo)-.4 G +1.405(cation, as modi\214ed by redirections supplied to the).2 F/F3 10 +/Times-Bold@0 SF(exec)3.905 E F0 -.2(bu)144 177.6 S(iltin).2 E 32.5 +<8374>108 194.4 S(he current w)-32.5 E(orking directory as set by)-.1 E +F3(cd)2.5 E 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 32.5<8374>108 211.2 S +(he \214le creation mode mask as set by)-32.5 E F3(umask)2.5 E F0 +(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent)-2.5 E 32.5 +<8363>108 228 S(urrent traps set by)-32.5 E F3(trap)2.5 E F0 32.5<8373> +108 244.8 S .256(hell parameters that are set by v)-32.5 F .256 +(ariable assignment or with)-.25 F F3(set)2.756 E F0 .257 +(or inherited from the shell')2.756 F 2.757(sp)-.55 G(arent)-2.757 E +(in the en)144 256.8 Q(vironment)-.4 E 32.5<8373>108 273.6 S (hell functions de\214ned during e)-32.5 E -.15(xe)-.15 G (cution or inherited from the shell').15 E 2.5(sp)-.55 G -(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 367.2 S +(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 290.4 S (ptions enabled at in)-32.5 E -.2(vo)-.4 G(cation \(either by def).2 E -(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F2(set)2.5 E -F0 32.5<836f>108 384 S(ptions enabled by)-32.5 E F2(shopt)2.5 E F0 32.5 -<8373>108 400.8 S(hell aliases de\214ned with)-32.5 E F2(alias)2.5 E F0 -32.5<8376>108 417.6 S +(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F3(set)2.5 E +F0 32.5<836f>108 307.2 S(ptions enabled by)-32.5 E F3(shopt)2.5 E F0 +32.5<8373>108 324 S(hell aliases de\214ned with)-32.5 E F3(alias)2.5 E +F0 32.5<8376>108 340.8 S (arious process IDs, including those of background jobs, the v)-32.75 E -(alue of)-.25 E F2($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E -F2($PPID)2.5 E F0 .426(When a simple command other than a b)108 434.4 R -.427(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .427 -(cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.927(di).1 G 2.927(nas) --2.927 G(eparate)-2.927 E -.15(exe)108 446.4 S .134(cution en).15 F .134 +(alue of)-.25 E F3($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E +/F4 9/Times-Bold@0 SF(PPID)2.5 E F0 .427 +(When a simple command other than a b)108 357.6 R .426 +(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .426 +(cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.926(di).1 G 2.926(nas) +-2.926 G(eparate)-2.926 E -.15(exe)108 369.6 S .133(cution en).15 F .133 (vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F -.133(otherwise noted, the v)2.634 F .133(alues are inherited from)-.25 F -(the shell.)108 458.4 Q 32.5<8374>108 487.2 S 1.055(he shell')-32.5 F -3.555(so)-.55 G 1.055(pen \214les, plus an)-3.555 F 3.556(ym)-.15 G +.134(otherwise noted, the v)2.634 F .134(alues are inherited from)-.25 F +(the shell.)108 381.6 Q 32.5<8374>108 398.4 S 1.056(he shell')-32.5 F +3.556(so)-.55 G 1.056(pen \214les, plus an)-3.556 F 3.556(ym)-.15 G 1.056 (odi\214cations and additions speci\214ed by redirections to the com-) --3.556 F(mand)144 499.2 Q 32.5<8374>108 516 S(he current w)-32.5 E -(orking directory)-.1 E 32.5<8374>108 532.8 S -(he \214le creation mode mask)-32.5 E 32.5<8373>108 549.6 S .857(hell v) +-3.556 F(mand)144 410.4 Q 32.5<8374>108 427.2 S(he current w)-32.5 E +(orking directory)-.1 E 32.5<8374>108 444 S +(he \214le creation mode mask)-32.5 E 32.5<8373>108 460.8 S .856(hell v) -32.5 F .857(ariables and functions mark)-.25 F .857(ed for e)-.1 F .857 (xport, along with v)-.15 F .857(ariables e)-.25 F .857 -(xported for the command,)-.15 F(passed in the en)144 561.6 Q(vironment) --.4 E 32.5<8374>108 578.4 S .306 -(raps caught by the shell are reset to the v)-32.5 F .307 -(alues inherited from the shell')-.25 F 2.807(sp)-.55 G .307 -(arent, and traps ignored)-2.807 F(by the shell are ignored)144 590.4 Q -2.5(Ac)108 607.2 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G +(xported for the command,)-.15 F(passed in the en)144 472.8 Q(vironment) +-.4 E 32.5<8374>108 489.6 S .307 +(raps caught by the shell are reset to the v)-32.5 F .306 +(alues inherited from the shell')-.25 F 2.806(sp)-.55 G .306 +(arent, and traps ignored)-2.806 F(by the shell are ignored)144 501.6 Q +2.5(Ac)108 518.4 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G 2.5(nt)-2.5 G(his separate en)-2.5 E(vironment cannot af)-.4 E (fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E (vironment.)-.4 E .577(Command substitution, commands grouped with pare\ -ntheses, and asynchronous commands are in)108 624 R -.2(vo)-.4 G -.1(ke) -.2 G 3.077(di).1 G(n)-3.077 E 2.744(as)108 636 S .244(ubshell en)-2.744 -F .244(vironment that is a duplicate of the shell en)-.4 F .245 -(vironment, e)-.4 F .245(xcept that traps caught by the shell are)-.15 F -.359(reset to the v)108 648 R .358 +ntheses, and asynchronous commands are in)108 535.2 R -.2(vo)-.4 G -.1 +(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 547.2 S .245(ubshell en) +-2.745 F .245(vironment that is a duplicate of the shell en)-.4 F .244 +(vironment, e)-.4 F .244(xcept that traps caught by the shell are)-.15 F +.358(reset to the v)108 559.2 R .358 (alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4 -G 2.858(cation. Builtin).2 F .358(commands that are in)2.858 F -.2(vo) --.4 G -.1(ke).2 G(d).1 E .856(as part of a pipeline are also e)108 660 R --.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.357 -(vironment. Changes)-.4 F .857(made to the subshell en)3.357 F(viron-) --.4 E(ment cannot af)108 672 Q(fect the shell')-.25 E 2.5(se)-.55 G -.15 -(xe)-2.65 G(cution en).15 E(vironment.)-.4 E 1.377(Subshells spa)108 -688.8 R 1.377(wned to e)-.15 F -.15(xe)-.15 G 1.377 +G 2.858(cation. Builtin).2 F .359(commands that are in)2.859 F -.2(vo) +-.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 571.2 +R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.356 +(vironment. Changes)-.4 F .856(made to the subshell en)3.356 F(viron-) +-.4 E(ment cannot af)108 583.2 Q(fect the shell')-.25 E 2.5(se)-.55 G +-.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E 1.376(Subshells spa)108 +600 R 1.376(wned to e)-.15 F -.15(xe)-.15 G 1.377 (cute command substitutions inherit the v).15 F 1.377(alue of the)-.25 F -F2<ad65>3.876 E F0 1.376(option from the parent)3.876 F 2.5(shell. When) -108 700.8 R(not in posix mode, Bash clears the)2.5 E F2<ad65>2.5 E F0 -(option in such subshells.)2.5 E .404(If a command is follo)108 717.6 R -.404(wed by a)-.25 F F2(&)2.904 E F0 .405(and job control is not acti) -2.904 F -.15(ve)-.25 G 2.905(,t).15 G .405(he def)-2.905 F .405 -(ault standard input for the command)-.1 F .198(is the empty \214le)108 -729.6 R F1(/de)2.698 E(v/null)-.15 E F0 5.198(.O)C .198 -(therwise, the in)-5.198 F -.2(vo)-.4 G -.1(ke).2 G 2.698(dc).1 G .197 -(ommand inherits the \214le descriptors of the calling shell)-2.698 F -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(30)185.955 E 0 Cg EP +F3<ad65>3.877 E F0 1.377(option from the parent)3.877 F 2.5(shell. When) +108 612 R(not in posix mode, Bash clears the)2.5 E F3<ad65>2.5 E F0 +(option in such subshells.)2.5 E .405(If a command is follo)108 628.8 R +.405(wed by a)-.25 F F3(&)2.905 E F0 .404(and job control is not acti) +2.905 F -.15(ve)-.25 G 2.904(,t).15 G .404(he def)-2.904 F .404 +(ault standard input for the command)-.1 F .197(is the empty \214le)108 +640.8 R F2(/de)2.697 E(v/null)-.15 E F0 5.197(.O)C .197 +(therwise, the in)-5.197 F -.2(vo)-.4 G -.1(ke).2 G 2.697(dc).1 G .198 +(ommand inherits the \214le descriptors of the calling shell)-2.697 F +(as modi\214ed by redirections.)108 652.8 Q F1(ENVIR)72 669.6 Q(ONMENT) +-.329 E F0 2.354(When a program is in)108 681.6 R -.2(vo)-.4 G -.1(ke).2 +G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg)-4.853 G -2.15 -.25(iv e) +-4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353 +(rray of strings called the)-4.853 F F2(en)4.853 E(vir)-.4 E(onment)-.45 +E F0 7.353(.T).68 G 2.353(his is a list of)-7.353 F F2(name)108 693.6 Q +F0<ad>A F2(value)A F0(pairs, of the form)2.5 E F2(name)2.5 E F0(=)A F2 +(value)A F0(.).18 E 1.485(The shell pro)108 710.4 R 1.485(vides se)-.15 +F -.15(ve)-.25 G 1.485(ral w).15 F 1.485(ays to manipulate the en)-.1 F +3.985(vironment. On)-.4 F(in)3.985 E -.2(vo)-.4 G 1.486 +(cation, the shell scans its o).2 F(wn)-.25 E(en)108 722.4 Q 1.431(viro\ +nment and creates a parameter for each name found, automatically markin\ +g it for)-.4 F F2 -.2(ex)3.93 G(port).2 E F0 1.43(to child)4.61 F +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(30)185.955 E 0 Cg EP %%Page: 31 31 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(as modi\214ed by redirections.)108 84 Q/F1 10.95/Times-Bold@0 SF -(ENVIR)72 100.8 Q(ONMENT)-.329 E F0 2.353(When a program is in)108 112.8 -R -.2(vo)-.4 G -.1(ke).2 G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg) --4.853 G -2.15 -.25(iv e)-4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353 -(rray of strings called the)-4.853 F/F2 10/Times-Italic@0 SF(en)4.853 E -(vir)-.4 E(onment)-.45 E F0 7.353(.T).68 G 2.354(his is a list of)-7.353 -F F2(name)108 124.8 Q F0<ad>A F2(value)A F0(pairs, of the form)2.5 E F2 -(name)2.5 E F0(=)A F2(value)A F0(.).18 E 1.486(The shell pro)108 141.6 R -1.486(vides se)-.15 F -.15(ve)-.25 G 1.486(ral w).15 F 1.485 -(ays to manipulate the en)-.1 F 3.985(vironment. On)-.4 F(in)3.985 E -.2 -(vo)-.4 G 1.485(cation, the shell scans its o).2 F(wn)-.25 E(en)108 -153.6 Q .144(vironment and creates a parameter for each name found, aut\ -omatically marking it for)-.4 F F2 -.2(ex)2.644 G(port).2 E F0 .144 -(to child pro-)3.324 F 2.704(cesses. Ex)108 165.6 R .203 -(ecuted commands inherit the en)-.15 F 2.703(vironment. The)-.4 F/F3 10 -/Times-Bold@0 SF(export)2.703 E F0(and)2.703 E F3(declar)2.703 E 2.703 -<65ad>-.18 G(x)-2.703 E F0 .203(commands allo)2.703 F 2.703(wp)-.25 G -(aram-)-2.703 E 1.153 -(eters and functions to be added to and deleted from the en)108 177.6 R -3.653(vironment. If)-.4 F 1.153(the v)3.653 F 1.154 -(alue of a parameter in the)-.25 F(en)108 189.6 Q .64 -(vironment is modi\214ed, the ne)-.4 F 3.14(wv)-.25 G .64 -(alue becomes part of the en)-3.39 F .64(vironment, replacing the old.) --.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 201.6 -R 3.08(ye)-.15 G -.15(xe)-3.23 G .58 -(cuted command consists of the shell').15 F 3.08(si)-.55 G .58 -(nitial en)-3.08 F .58(vironment, whose v)-.4 F .58(alues may be)-.25 F -.301(modi\214ed in the shell, less an)108 213.6 R 2.801(yp)-.15 G .301 -(airs remo)-2.801 F -.15(ve)-.15 G 2.801(db).15 G 2.801(yt)-2.801 G(he) --2.801 E F3(unset)2.801 E F0 .3(command, plus an)2.8 F 2.8(ya)-.15 G .3 -(dditions via the)-2.8 F F3(export)2.8 E F0(and)2.8 E F3(declar)108 -225.6 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .562(The en)108 -242.4 R .562(vironment for an)-.4 F(y)-.15 E F2 .562(simple command) -3.402 F F0 .563 +-.35 E 4.177(processes. Ex)108 84 R 1.677 +(ecuted commands inherit the en)-.15 F 4.177(vironment. The)-.4 F/F1 10 +/Times-Bold@0 SF(export)4.178 E F0(and)4.178 E F1(declar)4.178 E 4.178 +<65ad>-.18 G(x)-4.178 E F0 1.678(commands allo)4.178 F(w)-.25 E .647 +(parameters and functions to be added to and deleted from the en)108 96 +R 3.147(vironment. If)-.4 F .646(the v)3.146 F .646 +(alue of a parameter in)-.25 F .513(the en)108 108 R .513 +(vironment is modi\214ed, the ne)-.4 F 3.013(wv)-.25 G .513 +(alue becomes part of the en)-3.263 F .513 +(vironment, replacing the old.)-.4 F .514(The en)5.514 F(vi-)-.4 E .523 +(ronment inherited by an)108 120 R 3.022(ye)-.15 G -.15(xe)-3.172 G .522 +(cuted command consists of the shell').15 F 3.022(si)-.55 G .522 +(nitial en)-3.022 F .522(vironment, whose v)-.4 F .522(alues may)-.25 F +.578(be modi\214ed in the shell, less an)108 132 R 3.078(yp)-.15 G .578 +(airs remo)-3.078 F -.15(ve)-.15 G 3.078(db).15 G 3.078(yt)-3.078 G(he) +-3.078 E F1(unset)3.078 E F0 .579(command, plus an)3.078 F 3.079(ya)-.15 +G .579(dditions via the)-3.079 F F1(export)3.079 E F0(and)108 144 Q F1 +(declar)2.5 E 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .563(The en) +108 160.8 R .563(vironment for an)-.4 F(y)-.15 E/F2 10/Times-Italic@0 SF +.563(simple command)3.403 F F0 .562 (or function may be augmented temporarily by pre\214xing it with)3.833 F -.203(parameter assignments, as described abo)108 254.4 R .502 -.15(ve i) --.15 H(n).15 E/F4 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666 E/F5 +.202(parameter assignments, as described abo)108 172.8 R .502 -.15(ve i) +-.15 H(n).15 E/F3 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666 E/F4 9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702 F -.202(fect only the)-.25 F(en)108 266.4 Q -(vironment seen by that command.)-.4 E .81(If the)108 283.2 R F3<ad6b> -3.31 E F0 .81(option is set \(see the)3.31 F F3(set)3.31 E F0 -.2(bu) +.203(fect only the)-.25 F(en)108 184.8 Q +(vironment seen by that command.)-.4 E .81(If the)108 201.6 R F1<ad6b> +3.31 E F0 .81(option is set \(see the)3.31 F F1(set)3.31 E F0 -.2(bu) 3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F F2(all)3.64 E F0 -.81(parameter assignments are placed in)3.82 F(the en)108 295.2 Q +.81(parameter assignments are placed in)3.82 F(the en)108 213.6 Q (vironment for a command, not just those that precede the command name.) --.4 E(When)108 312 Q F3(bash)3.397 E F0(in)3.397 E -.2(vo)-.4 G -.1(ke) -.2 G 3.397(sa).1 G 3.397(ne)-3.397 G .897(xternal command, the v)-3.547 -F(ariable)-.25 E F3(_)3.397 E F0 .897 +-.4 E(When)108 230.4 Q F1(bash)3.396 E F0(in)3.396 E -.2(vo)-.4 G -.1 +(ke).2 G 3.396(sa).1 G 3.397(ne)-3.396 G .897(xternal command, the v) +-3.547 F(ariable)-.25 E F1(_)3.397 E F0 .897 (is set to the full \214le name of the command and)3.397 F -(passed to that command in its en)108 324 Q(vironment.)-.4 E F1(EXIT ST) -72 340.8 Q -1.04(AT)-.986 G(US)1.04 E F0 .15(The e)108 352.8 R .15 -(xit status of an e)-.15 F -.15(xe)-.15 G .15(cuted command is the v).15 -F .151(alue returned by the)-.25 F F2(waitpid)2.651 E F0 .151 -(system call or equi)2.651 F -.25(va)-.25 G .151(lent func-).25 F 2.848 -(tion. Exit)108 364.8 R .348(statuses f)2.848 F .347 -(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F -1.647 -.65(w, t)-.25 H .347(he shell may use v).65 F .347(alues abo)-.25 -F .647 -.15(ve 1)-.15 H(25).15 E(specially)108 376.8 Q 5.673(.E)-.65 G -.673(xit statuses from shell b)-5.673 F .673 +(passed to that command in its en)108 242.4 Q(vironment.)-.4 E/F5 10.95 +/Times-Bold@0 SF(EXIT ST)72 259.2 Q -1.04(AT)-.986 G(US)1.04 E F0 .151 +(The e)108 271.2 R .151(xit status of an e)-.15 F -.15(xe)-.15 G .151 +(cuted command is the v).15 F .15(alue returned by the)-.25 F F2 +(waitpid)2.65 E F0 .15(system call or equi)2.65 F -.25(va)-.25 G .15 +(lent func-).25 F 2.847(tion. Exit)108 283.2 R .347(statuses f)2.847 F +.347(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F +1.647 -.65(w, t)-.25 H .347(he shell may use v).65 F .348(alues abo)-.25 +F .648 -.15(ve 1)-.15 H(25).15 E(specially)108 295.2 Q 5.674(.E)-.65 G +.674(xit statuses from shell b)-5.674 F .673 (uiltins and compound commands are also limited to this range. Under)-.2 -F(certain circumstances, the shell will use special v)108 388.8 Q +F(certain circumstances, the shell will use special v)108 307.2 Q (alues to indicate speci\214c f)-.25 E(ailure modes.)-.1 E -.15(Fo)108 -405.6 S 3.373(rt).15 G .873(he shell')-3.373 F 3.373(sp)-.55 G .873 -(urposes, a command which e)-3.373 F .873(xits with a zero e)-.15 F .873 -(xit status has succeeded.)-.15 F .872(An e)5.872 F .872(xit status of) --.15 F .048(zero indicates success.)108 417.6 R 2.548(An)5.048 G .049 -(on-zero e)-2.548 F .049(xit status indicates f)-.15 F 2.549 -(ailure. When)-.1 F 2.549(ac)2.549 G .049(ommand terminates on a f) --2.549 F .049(atal sig-)-.1 F(nal)108 429.6 Q F2(N)2.5 E F0(,)A F3(bash) +324 S 3.372(rt).15 G .872(he shell')-3.372 F 3.372(sp)-.55 G .873 +(urposes, a command which e)-3.372 F .873(xits with a zero e)-.15 F .873 +(xit status has succeeded.)-.15 F .873(An e)5.873 F .873(xit status of) +-.15 F .049(zero indicates success.)108 336 R 2.549(An)5.049 G .049 +(on-zero e)-2.549 F .049(xit status indicates f)-.15 F 2.549 +(ailure. When)-.1 F 2.549(ac)2.549 G .048(ommand terminates on a f) +-2.549 F .048(atal sig-)-.1 F(nal)108 348 Q F2(N)2.5 E F0(,)A F1(bash) 2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F2(N)A F0(as the e)2.5 E -(xit status.)-.15 E .405 -(If a command is not found, the child process created to e)108 446.4 R --.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .404 -(If a command is)5.404 F(found b)108 458.4 Q(ut is not e)-.2 E -.15(xe) --.15 G(cutable, the return status is 126.).15 E(If a command f)108 475.2 +(xit status.)-.15 E .404 +(If a command is not found, the child process created to e)108 364.8 R +-.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .405 +(If a command is)5.405 F(found b)108 376.8 Q(ut is not e)-.2 E -.15(xe) +-.15 G(cutable, the return status is 126.).15 E(If a command f)108 393.6 Q(ails because of an error during e)-.1 E (xpansion or redirection, the e)-.15 E(xit status is greater than zero.) --.15 E .08(Shell b)108 492 R .08 +-.15 E .081(Shell b)108 410.4 R .081 (uiltin commands return a status of 0 \()-.2 F F2(true)A F0 2.581(\)i)C -2.581(fs)-2.581 G .081(uccessful, and non-zero \()-2.581 F F2(false)A F0 -2.581(\)i)C 2.581(fa)-2.581 G 2.581(ne)-2.581 G .081(rror occurs while) --2.581 F(the)108 504 Q 2.5(ye)-.15 G -.15(xe)-2.65 G 2.5(cute. All).15 F --.2(bu)2.5 G(iltins return an e).2 E -(xit status of 2 to indicate incorrect usage.)-.15 E F3(Bash)108 520.8 Q -F0 .202(itself returns the e)2.702 F .202 -(xit status of the last command e)-.15 F -.15(xe)-.15 G .201 -(cuted, unless a syntax error occurs, in which case).15 F(it e)108 532.8 -Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F3 -(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F1 -(SIGN)72 549.6 Q(ALS)-.219 E F0(When)108 561.6 Q F3(bash)3.182 E F0 .682 -(is interacti)3.182 F -.15(ve)-.25 G 3.182(,i).15 G 3.182(nt)-3.182 G -.682(he absence of an)-3.182 F 3.183(yt)-.15 G .683(raps, it ignores) --3.183 F F4(SIGTERM)3.183 E F0 .683(\(so that)2.933 F F3 .683(kill 0) -3.183 F F0 .683(does not kill an)3.183 F(interacti)108 573.6 Q .758 -.15 -(ve s)-.25 H .458(hell\), and).15 F F4(SIGINT)2.958 E F0 .458 -(is caught and handled \(so that the)2.708 F F3(wait)2.958 E F0 -.2(bu) -2.958 G .457(iltin is interruptible\).).2 F .457(In all cases,)5.457 F -F3(bash)108 585.6 Q F0(ignores)2.5 E F4(SIGQ)2.5 E(UIT)-.09 E F5(.)A F0 -(If job control is in ef)4.5 E(fect,)-.25 E F3(bash)2.5 E F0(ignores)2.5 -E F4(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25 -E F4(SIGTSTP)2.5 E F5(.)A F0(Non-b)108 602.4 Q 1.064 -(uiltin commands run by)-.2 F F3(bash)3.564 E F0(ha)3.564 E 1.365 -.15 -(ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.065 -(alues inherited by the shell from its)-.25 F 3.248(parent. When)108 -614.4 R .748(job control is not in ef)3.248 F .747 -(fect, asynchronous commands ignore)-.25 F F4(SIGINT)3.247 E F0(and) -2.997 E F4(SIGQ)3.247 E(UIT)-.09 E F0 .747(in addi-)2.997 F .652 -(tion to these inherited handlers.)108 626.4 R .653 -(Commands run as a result of command substitution ignore the k)5.652 F --.15(ey)-.1 G(board-).15 E(generated job control signals)108 638.4 Q F4 -(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25 E F4 -(SIGTSTP)2.5 E F5(.)A F0 2.046(The shell e)108 655.2 R 2.046 -(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F4(SIGHUP)4.545 E -F5(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.345 --.15(ve s)-.25 H 2.045(hell resends the).15 F F4(SIGHUP)108 667.2 Q F0 -1.004(to all jobs, running or stopped.)3.254 F 1.004 -(Stopped jobs are sent)6.004 F F4(SIGCONT)3.505 E F0 1.005 -(to ensure that the)3.255 F 3.505(yr)-.15 G(ecei)-3.505 E 1.305 -.15 -(ve t)-.25 H(he).15 E F4(SIGHUP)108 679.2 Q F5(.)A F0 2.53 -.8(To p)5.43 -H(re).8 E -.15(ve)-.25 G .93(nt the shell from sending the signal to a \ -particular job, it should be remo).15 F -.15(ve)-.15 G 3.429(df).15 G -.929(rom the)-3.429 F 1.356(jobs table with the)108 691.2 R F3(diso) -3.856 E(wn)-.1 E F0 -.2(bu)3.856 G 1.356(iltin \(see).2 F F4 1.356 -(SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.607 E -1.357(w\) or mark)-.25 F 1.357(ed to not recei)-.1 F -.15(ve)-.25 G F4 -(SIGHUP)108 703.2 Q F0(using)2.25 E F3(diso)2.5 E(wn \255h)-.1 E F0(.)A -.166(If the)108 720 R F3(huponexit)2.666 E F0 .166 -(shell option has been set with)2.666 F F3(shopt)2.666 E F0(,)A F3(bash) -2.666 E F0 .166(sends a)2.666 F F4(SIGHUP)2.666 E F0 .166 -(to all jobs when an interacti)2.416 F -.15(ve)-.25 G(GNU Bash-4.1)72 -768 Q(2009 December 23)135.965 E(31)185.955 E 0 Cg EP +2.581(fs)-2.581 G .08(uccessful, and non-zero \()-2.581 F F2(false)A F0 +2.58(\)i)C 2.58(fa)-2.58 G 2.58(ne)-2.58 G .08(rror occurs while)-2.58 F +(the)108 422.4 Q 2.5(ye)-.15 G -.15(xe)-2.65 G 2.5(cute. All).15 F -.2 +(bu)2.5 G(iltins return an e).2 E +(xit status of 2 to indicate incorrect usage.)-.15 E F1(Bash)108 439.2 Q +F0 .201(itself returns the e)2.701 F .202 +(xit status of the last command e)-.15 F -.15(xe)-.15 G .202 +(cuted, unless a syntax error occurs, in which case).15 F(it e)108 451.2 +Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F1 +(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F5 +(SIGN)72 468 Q(ALS)-.219 E F0(When)108 480 Q F1(bash)3.183 E F0 .683 +(is interacti)3.183 F -.15(ve)-.25 G 3.183(,i).15 G 3.183(nt)-3.183 G +.683(he absence of an)-3.183 F 3.183(yt)-.15 G .683(raps, it ignores) +-3.183 F F3(SIGTERM)3.183 E F0 .682(\(so that)2.933 F F1 .682(kill 0) +3.182 F F0 .682(does not kill an)3.182 F(interacti)108 492 Q .757 -.15 +(ve s)-.25 H .457(hell\), and).15 F F3(SIGINT)2.957 E F0 .458 +(is caught and handled \(so that the)2.707 F F1(wait)2.958 E F0 -.2(bu) +2.958 G .458(iltin is interruptible\).).2 F .458(In all cases,)5.458 F +F1(bash)108 504 Q F0(ignores)2.5 E F3(SIGQ)2.5 E(UIT)-.09 E F4(.)A F0 +(If job control is in ef)4.5 E(fect,)-.25 E F1(bash)2.5 E F0(ignores)2.5 +E F3(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)-.162 E F4(,)A F0(and)2.25 +E F3(SIGTSTP)2.5 E F4(.)A F0(Non-b)108 520.8 Q 1.065 +(uiltin commands run by)-.2 F F1(bash)3.565 E F0(ha)3.565 E 1.365 -.15 +(ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.064 +(alues inherited by the shell from its)-.25 F 3.247(parent. When)108 +532.8 R .747(job control is not in ef)3.247 F .747 +(fect, asynchronous commands ignore)-.25 F F3(SIGINT)3.248 E F0(and) +2.998 E F3(SIGQ)3.248 E(UIT)-.09 E F0 .748(in addi-)2.998 F .653 +(tion to these inherited handlers.)108 544.8 R .653 +(Commands run as a result of command substitution ignore the k)5.653 F +-.15(ey)-.1 G(board-).15 E(generated job control signals)108 556.8 Q F3 +(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)-.162 E F4(,)A F0(and)2.25 E F3 +(SIGTSTP)2.5 E F4(.)A F0 2.045(The shell e)108 573.6 R 2.045 +(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F3(SIGHUP)4.545 E +F4(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.346 +-.15(ve s)-.25 H 2.046(hell resends the).15 F F3(SIGHUP)108 585.6 Q F0 +1.005(to all jobs, running or stopped.)3.255 F 1.004 +(Stopped jobs are sent)6.005 F F3(SIGCONT)3.504 E F0 1.004 +(to ensure that the)3.254 F 3.504(yr)-.15 G(ecei)-3.504 E 1.304 -.15 +(ve t)-.25 H(he).15 E F3(SIGHUP)108 597.6 Q F4(.)A F0 2.529 -.8(To p) +5.429 H(re).8 E -.15(ve)-.25 G .93(nt the shell from sending the signal\ + to a particular job, it should be remo).15 F -.15(ve)-.15 G 3.43(df).15 +G .93(rom the)-3.43 F 1.357(jobs table with the)108 609.6 R F1(diso) +3.857 E(wn)-.1 E F0 -.2(bu)3.857 G 1.357(iltin \(see).2 F F3 1.356 +(SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.606 E +1.356(w\) or mark)-.25 F 1.356(ed to not recei)-.1 F -.15(ve)-.25 G F3 +(SIGHUP)108 621.6 Q F0(using)2.25 E F1(diso)2.5 E(wn \255h)-.1 E F0(.)A +.166(If the)108 638.4 R F1(huponexit)2.666 E F0 .166 +(shell option has been set with)2.666 F F1(shopt)2.666 E F0(,)A F1(bash) +2.666 E F0 .166(sends a)2.666 F F3(SIGHUP)2.666 E F0 .166 +(to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e)108 +650.4 Q(xits.)-.15 E(If)108 667.2 Q F1(bash)3.047 E F0 .547(is w)3.047 F +.546(aiting for a command to complete and recei)-.1 F -.15(ve)-.25 G +3.046(sas).15 G .546(ignal for which a trap has been set, the trap) +-3.046 F .662(will not be e)108 679.2 R -.15(xe)-.15 G .662 +(cuted until the command completes.).15 F(When)5.663 E F1(bash)3.163 E +F0 .663(is w)3.163 F .663(aiting for an asynchronous command)-.1 F .99 +(via the)108 691.2 R F1(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\ +eption of a signal for which a trap has been set will cause the).2 F F1 +(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin to).2 F +(return immediately with an e)108 703.2 Q +(xit status greater than 128, immediately after which the trap is e)-.15 +E -.15(xe)-.15 G(cuted.).15 E(GNU Bash-4.1)72 768 Q(2009 December 29) +135.965 E(31)185.955 E 0 Cg EP %%Page: 32 32 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(login shell e)108 84 Q(xits.)-.15 E(If)108 100.8 Q/F1 10 -/Times-Bold@0 SF(bash)3.046 E F0 .546(is w)3.046 F .546 -(aiting for a command to complete and recei)-.1 F -.15(ve)-.25 G 3.046 -(sas).15 G .546(ignal for which a trap has been set, the trap)-3.046 F -.663(will not be e)108 112.8 R -.15(xe)-.15 G .663 -(cuted until the command completes.).15 F(When)5.663 E F1(bash)3.163 E -F0 .662(is w)3.163 F .662(aiting for an asynchronous command)-.1 F .99 -(via the)108 124.8 R F1(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\ -eption of a signal for which a trap has been set will cause the).2 F F1 -(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin to).2 F -(return immediately with an e)108 136.8 Q -(xit status greater than 128, immediately after which the trap is e)-.15 -E -.15(xe)-.15 G(cuted.).15 E/F2 10.95/Times-Bold@0 SF(JOB CONTR)72 -153.6 Q(OL)-.329 E/F3 10/Times-Italic@0 SF -.25(Jo)108 165.6 S 4.568(bc) -.25 G(ontr)-4.568 E(ol)-.45 E F0 2.068(refers to the ability to selecti) -5.078 F -.15(ve)-.25 G 2.067(ly stop \().15 F F3(suspend)A F0 4.567(\)t) -C 2.067(he e)-4.567 F -.15(xe)-.15 G 2.067 -(cution of processes and continue).15 F(\()108 177.6 Q F3 -.37(re)C -(sume).37 E F0 3.201(\)t)C .701(heir e)-3.201 F -.15(xe)-.15 G .702 -(cution at a later point.).15 F 3.202(Au)5.702 G .702 +-.35 E/F1 10.95/Times-Bold@0 SF(JOB CONTR)72 84 Q(OL)-.329 E/F2 10 +/Times-Italic@0 SF -.25(Jo)108 96 S 4.567(bc).25 G(ontr)-4.567 E(ol)-.45 +E F0 2.067(refers to the ability to selecti)5.077 F -.15(ve)-.25 G 2.067 +(ly stop \().15 F F2(suspend)A F0 4.567(\)t)C 2.068(he e)-4.567 F -.15 +(xe)-.15 G 2.068(cution of processes and continue).15 F(\()108 108 Q F2 +-.37(re)C(sume).37 E F0 3.202(\)t)C .702(heir e)-3.202 F -.15(xe)-.15 G +.702(cution at a later point.).15 F 3.202(Au)5.702 G .702 (ser typically emplo)-3.202 F .702(ys this f)-.1 F .702 -(acility via an interacti)-.1 F 1.002 -.15(ve i)-.25 H(nterf).15 E(ace) --.1 E(supplied jointly by the operating system k)108 189.6 Q(ernel')-.1 -E 2.5(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 G(nd)-2.5 E -F1(bash)2.5 E F0(.)A .785(The shell associates a)108 206.4 R F3(job) -5.025 E F0 .785(with each pipeline.)3.515 F .784(It k)5.785 F .784 -(eeps a table of currently e)-.1 F -.15(xe)-.15 G .784 -(cuting jobs, which may be).15 F .34(listed with the)108 218.4 R F1 -(jobs)2.84 E F0 2.84(command. When)2.84 F F1(bash)2.84 E F0 .341 -(starts a job asynchronously \(in the)2.84 F F3(bac)2.841 E(kgr)-.2 E -(ound)-.45 E F0 .341(\), it prints a line).77 F(that looks lik)108 230.4 -Q(e:)-.1 E([1] 25647)144 247.2 Q .241(indicating that this job is job n\ +(acility via an interacti)-.1 F 1.001 -.15(ve i)-.25 H(nterf).15 E(ace) +-.1 E(supplied jointly by the operating system k)108 120 Q(ernel')-.1 E +2.5(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 G(nd)-2.5 E +/F3 10/Times-Bold@0 SF(bash)2.5 E F0(.)A .784(The shell associates a)108 +136.8 R F2(job)5.024 E F0 .784(with each pipeline.)3.514 F .784(It k) +5.784 F .785(eeps a table of currently e)-.1 F -.15(xe)-.15 G .785 +(cuting jobs, which may be).15 F .341(listed with the)108 148.8 R F3 +(jobs)2.841 E F0 2.841(command. When)2.841 F F3(bash)2.841 E F0 .341 +(starts a job asynchronously \(in the)2.841 F F2(bac)2.84 E(kgr)-.2 E +(ound)-.45 E F0 .34(\), it prints a line).77 F(that looks lik)108 160.8 +Q(e:)-.1 E([1] 25647)144 177.6 Q .241(indicating that this job is job n\ umber 1 and that the process ID of the last process in the pipeline ass\ -ociated)108 264 R .732(with this job is 25647.)108 276 R .733 +ociated)108 194.4 R .733(with this job is 25647.)108 206.4 R .732 (All of the processes in a single pipeline are members of the same job) -5.732 F(.)-.4 E F1(Bash)5.733 E F0(uses)3.233 E(the)108 288 Q F3(job) -4.24 E F0(abstraction as the basis for job control.)2.73 E 3.063 -.8 -(To f)108 304.8 T 1.463(acilitate the implementation of the user interf) -.7 F 1.462(ace to job control, the operating system maintains the)-.1 F -.87(notion of a)108 316.8 R F3(curr)3.37 E .87(ent terminal pr)-.37 F -.871(ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871(.M)C .871 +5.733 F(.)-.4 E F3(Bash)5.732 E F0(uses)3.232 E(the)108 218.4 Q F2(job) +4.24 E F0(abstraction as the basis for job control.)2.73 E 3.062 -.8 +(To f)108 235.2 T 1.462(acilitate the implementation of the user interf) +.7 F 1.463(ace to job control, the operating system maintains the)-.1 F +.871(notion of a)108 247.2 R F2(curr)3.371 E .871(ent terminal pr)-.37 F +.871(ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871(.M)C .87 (embers of this process group \(processes whose process)-5.871 F .023 (group ID is equal to the current terminal process group ID\) recei)108 -328.8 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023 -(board-generated signals such as).15 F/F4 9/Times-Bold@0 SF(SIG-)2.522 E -(INT)108 340.8 Q/F5 9/Times-Roman@0 SF(.)A F0 1.346 -(These processes are said to be in the)5.846 F F3(for)3.847 E -.4(eg) --.37 G -.45(ro).4 G(und).45 E F0(.).77 E F3(Bac)6.927 E(kgr)-.2 E(ound) --.45 E F0 1.347(processes are those whose process)4.617 F .146 -(group ID dif)108 352.8 R .146(fers from the terminal')-.25 F .146 -(s; such processes are immune to k)-.55 F -.15(ey)-.1 G .145 -(board-generated signals.).15 F .145(Only fore-)5.145 F .16 -(ground processes are allo)108 364.8 R .16(wed to read from or)-.25 F +259.2 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023 +(board-generated signals such as).15 F/F4 9/Times-Bold@0 SF(SIG-)2.523 E +(INT)108 271.2 Q/F5 9/Times-Roman@0 SF(.)A F0 1.347 +(These processes are said to be in the)5.847 F F2(for)3.846 E -.4(eg) +-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F2(Bac)6.926 E(kgr)-.2 E(ound) +-.45 E F0 1.346(processes are those whose process)4.616 F .145 +(group ID dif)108 283.2 R .145(fers from the terminal')-.25 F .146 +(s; such processes are immune to k)-.55 F -.15(ey)-.1 G .146 +(board-generated signals.).15 F .146(Only fore-)5.146 F .16 +(ground processes are allo)108 295.2 R .16(wed to read from or)-.25 F 2.66(,i)-.4 G 2.66(ft)-2.66 G .16(he user so speci\214es with)-2.66 F/F6 10/Courier@0 SF .16(stty tostop)2.66 F F0 2.66(,w)C .16(rite to the ter) --2.66 F(-)-.2 E 3.052(minal. Background)108 376.8 R .551 -(processes which attempt to read from \(write to when)3.052 F F6 .551 -(stty tostop)3.051 F F0 .551(is in ef)3.051 F .551(fect\) the)-.25 F -.717(terminal are sent a)108 388.8 R F4 .717(SIGTTIN \(SIGTT)3.217 F -(OU\))-.162 E F0 .718(signal by the k)2.967 F(ernel')-.1 E 3.218(st)-.55 -G .718(erminal dri)-3.218 F -.15(ve)-.25 G 1.518 -.4(r, w).15 H .718 -(hich, unless caught, sus-).4 F(pends the process.)108 400.8 Q 1.088 -(If the operating system on which)108 417.6 R F1(bash)3.588 E F0 1.088 -(is running supports job control,)3.588 F F1(bash)3.587 E F0 1.087 -(contains f)3.587 F 1.087(acilities to use it.)-.1 F -.8(Ty)108 429.6 S -.301(ping the).8 F F3(suspend)3.141 E F0 .301(character \(typically) -3.571 F F1(^Z)2.801 E F0 2.801(,C)C .301 +-2.66 F(-)-.2 E 3.051(minal. Background)108 307.2 R .551 +(processes which attempt to read from \(write to when)3.051 F F6 .551 +(stty tostop)3.051 F F0 .552(is in ef)3.052 F .552(fect\) the)-.25 F +.718(terminal are sent a)108 319.2 R F4 .718(SIGTTIN \(SIGTT)3.218 F +(OU\))-.162 E F0 .718(signal by the k)2.968 F(ernel')-.1 E 3.217(st)-.55 +G .717(erminal dri)-3.217 F -.15(ve)-.25 G 1.517 -.4(r, w).15 H .717 +(hich, unless caught, sus-).4 F(pends the process.)108 331.2 Q 1.087 +(If the operating system on which)108 348 R F3(bash)3.587 E F0 1.088 +(is running supports job control,)3.588 F F3(bash)3.588 E F0 1.088 +(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8(Ty)108 360 S +.302(ping the).8 F F2(suspend)3.142 E F0 .302(character \(typically) +3.572 F F3(^Z)2.801 E F0 2.801(,C)C .301 (ontrol-Z\) while a process is running causes that process to be)-2.801 -F 2.143(stopped and returns control to)108 441.6 R F1(bash)4.642 E F0 -7.142(.T)C 2.142(yping the)-7.942 F F3 2.142(delayed suspend)4.992 F F0 -2.142(character \(typically)5.412 F F1(^Y)4.642 E F0 4.642(,C)C -(ontrol-Y\))-4.642 E .021(causes the process to be stopped when it atte\ -mpts to read input from the terminal, and control to be returned)108 -453.6 R(to)108 465.6 Q F1(bash)3.392 E F0 5.892(.T)C .892 +F 2.142(stopped and returns control to)108 372 R F3(bash)4.642 E F0 +7.142(.T)C 2.142(yping the)-7.942 F F2 2.142(delayed suspend)4.992 F F0 +2.143(character \(typically)5.413 F F3(^Y)4.643 E F0 4.643(,C)C +(ontrol-Y\))-4.643 E .021(causes the process to be stopped when it atte\ +mpts to read input from the terminal, and control to be returned)108 384 +R(to)108 396 Q F3(bash)3.392 E F0 5.892(.T)C .892 (he user may then manipulate the state of this job, using the)-5.892 F -F1(bg)3.392 E F0 .892(command to continue it in the)3.392 F .894 -(background, the)108 477.6 R F1(fg)3.394 E F0 .895 -(command to continue it in the fore)3.394 F .895(ground, or the)-.15 F -F1(kill)3.395 E F0 .895(command to kill it.)3.395 F(A)5.895 E F1(^Z) -3.395 E F0(tak)3.395 E(es)-.1 E(ef)108 489.6 Q .949(fect immediately) --.25 F 3.449(,a)-.65 G .948(nd has the additional side ef)-3.449 F .948 +F3(bg)3.392 E F0 .892(command to continue it in the)3.392 F .895 +(background, the)108 408 R F3(fg)3.395 E F0 .895 +(command to continue it in the fore)3.395 F .895(ground, or the)-.15 F +F3(kill)3.395 E F0 .894(command to kill it.)3.395 F(A)5.894 E F3(^Z) +3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 420 Q .948(fect immediately)-.25 +F 3.448(,a)-.65 G .948(nd has the additional side ef)-3.448 F .948 (fect of causing pending output and typeahead to be dis-)-.25 F(carded.) -108 501.6 Q .777(There are a number of w)108 518.4 R .777 -(ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F F1 -(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 530.4 -Q F3(jobspec)A F0 3.458(\). Job)B(number)3.458 E F3(n)3.818 E F0 .957 -(may be referred to as)3.697 F F1(%n)3.457 E F0 5.957(.A)C .957 +108 432 Q .777(There are a number of w)108 448.8 R .777 +(ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F F3 +(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 460.8 +Q F2(jobspec)A F0 3.457(\). Job)B(number)3.457 E F2(n)3.817 E F0 .957 +(may be referred to as)3.697 F F3(%n)3.457 E F0 5.957(.A)C .957 (job may also be referred to using a pre\214x of the)-2.5 F .59(name us\ ed to start it, or using a substring that appears in its command line.) -108 542.4 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F1(%ce)3.09 E -F0 .59(refers to a)3.09 F(stopped)108 554.4 Q F1(ce)3.464 E F0(job)3.464 -E 5.964(.I)-.4 G 3.463(fap)-5.964 G .963 -(re\214x matches more than one job,)-3.463 F F1(bash)3.463 E F0 .963 -(reports an error)3.463 F 5.963(.U)-.55 G(sing)-5.963 E F1(%?ce)3.463 E -F0 3.463(,o)C 3.463(nt)-3.463 G .963(he other)-3.463 F .086 -(hand, refers to an)108 566.4 R 2.587(yj)-.15 G .087 -(ob containing the string)-2.587 F F1(ce)2.587 E F0 .087 +108 472.8 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F3(%ce)3.09 E +F0 .59(refers to a)3.09 F(stopped)108 484.8 Q F3(ce)3.463 E F0(job)3.463 +E 5.963(.I)-.4 G 3.463(fap)-5.963 G .963 +(re\214x matches more than one job,)-3.463 F F3(bash)3.463 E F0 .963 +(reports an error)3.463 F 5.963(.U)-.55 G(sing)-5.963 E F3(%?ce)3.463 E +F0 3.464(,o)C 3.464(nt)-3.464 G .964(he other)-3.464 F .087 +(hand, refers to an)108 496.8 R 2.587(yj)-.15 G .087 +(ob containing the string)-2.587 F F3(ce)2.587 E F0 .087 (in its command line.)2.587 F .087 -(If the substring matches more than one)5.087 F(job,)108 578.4 Q F1 +(If the substring matches more than one)5.087 F(job,)108 508.8 Q F3 (bash)2.518 E F0 .018(reports an error)2.518 F 5.018(.T)-.55 G .018 -(he symbols)-5.018 F F1(%%)2.518 E F0(and)2.518 E F1(%+)2.518 E F0 .018 +(he symbols)-5.018 F F3(%%)2.518 E F0(and)2.518 E F3(%+)2.518 E F0 .018 (refer to the shell')2.518 F 2.518(sn)-.55 G .018(otion of the)-2.518 F -F3(curr)2.518 E .018(ent job)-.37 F F0 2.518(,w).23 G .018(hich is) --2.518 F .494(the last job stopped while it w)108 590.4 R .495 +F2(curr)2.518 E .018(ent job)-.37 F F0 2.518(,w).23 G .018(hich is) +-2.518 F .495(the last job stopped while it w)108 520.8 R .495 (as in the fore)-.1 F .495(ground or started in the background.)-.15 F -(The)5.495 E F3(pr)4.245 E -.15(ev)-.37 G .495(ious job).15 F F0 .495 -(may be)3.225 F .788(referenced using)108 602.4 R F1<25ad>3.288 E F0 -5.788(.I)C 3.288(ft)-5.788 G .787(here is only a single job,)-3.288 F F1 -(%+)3.287 E F0(and)3.287 E F1<25ad>3.287 E F0 .787 -(can both be used to refer to that job)3.287 F 5.787(.I)-.4 G(n)-5.787 E -.256(output pertaining to jobs \(e.g., the output of the)108 614.4 R F1 +(The)5.494 E F2(pr)4.244 E -.15(ev)-.37 G .494(ious job).15 F F0 .494 +(may be)3.224 F .787(referenced using)108 532.8 R F3<25ad>3.287 E F0 +5.787(.I)C 3.287(ft)-5.787 G .787(here is only a single job,)-3.287 F F3 +(%+)3.287 E F0(and)3.287 E F3<25ad>3.287 E F0 .788 +(can both be used to refer to that job)3.287 F 5.788(.I)-.4 G(n)-5.788 E +.257(output pertaining to jobs \(e.g., the output of the)108 544.8 R F3 (jobs)2.756 E F0 .256(command\), the current job is al)2.756 F -.1(wa) --.1 G .257(ys \215agged with a).1 F F1(+)2.757 E F0(,)A .411 -(and the pre)108 626.4 R .411(vious job with a)-.25 F F1<ad>2.911 E F0 -5.411(.A)C .411(single % \(with no accompan)-2.5 F .41 +-.1 G .256(ys \215agged with a).1 F F3(+)2.756 E F0(,)A .41(and the pre) +108 556.8 R .41(vious job with a)-.25 F F3<ad>2.91 E F0 5.41(.A)C .411 +(single % \(with no accompan)-2.5 F .411 (ying job speci\214cation\) also refers to the cur)-.15 F(-)-.2 E -(rent job)108 638.4 Q(.)-.4 E .443 -(Simply naming a job can be used to bring it into the fore)108 655.2 R -(ground:)-.15 E F1(%1)2.944 E F0 .444(is a synon)2.944 F .444(ym for) --.15 F F1 -.63(``)2.944 G .444(fg %1').63 F(')-.63 E F0 2.944(,b)C -(ringing)-2.944 E 1.473(job 1 from the background into the fore)108 -667.2 R 3.973(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.972 G 1.472 -(%1 &').63 F(')-.63 E F0 1.472(resumes job 1 in the background,)3.972 F -(equi)108 679.2 Q -.25(va)-.25 G(lent to).25 E F1 -.63(``)2.5 G(bg %1') -.63 E(')-.63 E F0(.)A .13(The shell learns immediately whene)108 696 R --.15(ve)-.25 G 2.63(raj).15 G .13(ob changes state.)-2.63 F(Normally) -5.131 E(,)-.65 E F1(bash)2.631 E F0 -.1(wa)2.631 G .131 -(its until it is about to print a).1 F .158 -(prompt before reporting changes in a job')108 708 R 2.658(ss)-.55 G -.158(tatus so as to not interrupt an)-2.658 F 2.657(yo)-.15 G .157 -(ther output.)-2.657 F .157(If the)5.157 F F1<ad62>2.657 E F0 .157 -(option to)2.657 F(the)108 720 Q F1(set)3.951 E F0 -.2(bu)3.951 G 1.451 -(iltin command is enabled,).2 F F1(bash)3.951 E F0 1.452 -(reports such changes immediately)3.951 F 6.452(.A)-.65 G 1.752 -.15 -(ny t)-6.452 H 1.452(rap on).15 F F4(SIGCHLD)3.952 E F0(is)3.702 E -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(32)185.955 E 0 Cg EP +(rent job)108 568.8 Q(.)-.4 E .444 +(Simply naming a job can be used to bring it into the fore)108 585.6 R +(ground:)-.15 E F3(%1)2.943 E F0 .443(is a synon)2.943 F .443(ym for) +-.15 F F3 -.63(``)2.943 G .443(fg %1').63 F(')-.63 E F0 2.943(,b)C +(ringing)-2.943 E 1.472(job 1 from the background into the fore)108 +597.6 R 3.972(ground. Similarly)-.15 F(,)-.65 E F3 -.63(``)3.973 G 1.473 +(%1 &').63 F(')-.63 E F0 1.473(resumes job 1 in the background,)3.973 F +(equi)108 609.6 Q -.25(va)-.25 G(lent to).25 E F3 -.63(``)2.5 G(bg %1') +.63 E(')-.63 E F0(.)A .131(The shell learns immediately whene)108 626.4 +R -.15(ve)-.25 G 2.631(raj).15 G .131(ob changes state.)-2.631 F +(Normally)5.131 E(,)-.65 E F3(bash)2.631 E F0 -.1(wa)2.63 G .13 +(its until it is about to print a).1 F .157 +(prompt before reporting changes in a job')108 638.4 R 2.657(ss)-.55 G +.157(tatus so as to not interrupt an)-2.657 F 2.658(yo)-.15 G .158 +(ther output.)-2.658 F .158(If the)5.158 F F3<ad62>2.658 E F0 .158 +(option to)2.658 F(the)108 650.4 Q F3(set)3.952 E F0 -.2(bu)3.952 G +1.452(iltin command is enabled,).2 F F3(bash)3.952 E F0 1.451 +(reports such changes immediately)3.952 F 6.451(.A)-.65 G 1.751 -.15 +(ny t)-6.451 H 1.451(rap on).15 F F4(SIGCHLD)3.951 E F0(is)3.701 E -.15 +(exe)108 662.4 S(cuted for each child that e).15 E(xits.)-.15 E .032 +(If an attempt to e)108 679.2 R(xit)-.15 E F3(bash)2.532 E F0 .032 +(is made while jobs are stopped \(or)2.532 F 2.533(,i)-.4 G 2.533(ft) +-2.533 G(he)-2.533 E F3(checkjobs)2.533 E F0 .033 +(shell option has been enabled)2.533 F 2.02(using the)108 691.2 R F3 +(shopt)4.52 E F0 -.2(bu)4.52 G 2.02 +(iltin, running\), the shell prints a w).2 F 2.019 +(arning message, and, if the)-.1 F F3(checkjobs)4.519 E F0 2.019 +(option is)4.519 F .458(enabled, lists the jobs and their statuses.)108 +703.2 R(The)5.458 E F3(jobs)2.958 E F0 .459 +(command may then be used to inspect their status.)2.958 F .459(If a) +5.459 F .604(second attempt to e)108 715.2 R .604 +(xit is made without an interv)-.15 F .604 +(ening command, the shell does not print another w)-.15 F(arning,)-.1 E +(and an)108 727.2 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(32)185.955 E 0 Cg EP %%Page: 33 33 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E -.15(exe)108 84 S(cuted for each child that e).15 E(xits.)-.15 E -.033(If an attempt to e)108 100.8 R(xit)-.15 E/F1 10/Times-Bold@0 SF -(bash)2.533 E F0 .033(is made while jobs are stopped \(or)2.533 F 2.532 -(,i)-.4 G 2.532(ft)-2.532 G(he)-2.532 E F1(checkjobs)2.532 E F0 .032 -(shell option has been enabled)2.532 F 2.019(using the)108 112.8 R F1 -(shopt)4.519 E F0 -.2(bu)4.519 G 2.019 -(iltin, running\), the shell prints a w).2 F 2.02 -(arning message, and, if the)-.1 F F1(checkjobs)4.52 E F0 2.02 -(option is)4.52 F .459(enabled, lists the jobs and their statuses.)108 -124.8 R(The)5.459 E F1(jobs)2.959 E F0 .458 -(command may then be used to inspect their status.)2.958 F .458(If a) -5.458 F .603(second attempt to e)108 136.8 R .604 -(xit is made without an interv)-.15 F .604 -(ening command, the shell does not print another w)-.15 F(arning,)-.1 E -(and an)108 148.8 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F2 -10.95/Times-Bold@0 SF(PR)72 165.6 Q(OMPTING)-.329 E F0 .645(When e)108 -177.6 R -.15(xe)-.15 G .645(cuting interacti).15 F -.15(ve)-.25 G(ly).15 -E(,)-.65 E F1(bash)3.145 E F0 .645(displays the primary prompt)3.145 F -/F3 9/Times-Bold@0 SF(PS1)3.145 E F0 .645 -(when it is ready to read a command,)2.895 F 1.825 -(and the secondary prompt)108 189.6 R F3(PS2)4.325 E F0 1.825 -(when it needs more input to complete a command.)4.075 F F1(Bash)6.826 E -F0(allo)4.326 E 1.826(ws these)-.25 F 1.499(prompt strings to be custom\ +-.35 E/F1 10.95/Times-Bold@0 SF(PR)72 84 Q(OMPTING)-.329 E F0 .644 +(When e)108 96 R -.15(xe)-.15 G .644(cuting interacti).15 F -.15(ve)-.25 +G(ly).15 E(,)-.65 E/F2 10/Times-Bold@0 SF(bash)3.144 E F0 .645 +(displays the primary prompt)3.145 F/F3 9/Times-Bold@0 SF(PS1)3.145 E F0 +.645(when it is ready to read a command,)2.895 F 1.826 +(and the secondary prompt)108 108 R F3(PS2)4.326 E F0 1.825 +(when it needs more input to complete a command.)4.076 F F2(Bash)6.825 E +F0(allo)4.325 E 1.825(ws these)-.25 F 1.499(prompt strings to be custom\ ized by inserting a number of backslash-escaped special characters that\ - are)108 201.6 R(decoded as follo)108 213.6 Q(ws:)-.25 E F1(\\a)144 -225.6 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 237.6 Q F0 + are)108 120 R(decoded as follo)108 132 Q(ws:)-.25 E F2(\\a)144 144 Q F0 +(an ASCII bell character \(07\))28.22 E F2(\\d)144 156 Q F0 (the date in "W)27.66 E(eekday Month Date" format \(e.g., "T)-.8 E -(ue May 26"\))-.45 E F1(\\D{)144 249.6 Q/F4 10/Times-Italic@0 SF(format) -A F1(})A F0(the)180 261.6 Q F4(format)3.926 E F0 1.426(is passed to) -3.926 F F4(strftime)3.926 E F0 1.427 +(ue May 26"\))-.45 E F2(\\D{)144 168 Q/F4 10/Times-Italic@0 SF(format)A +F2(})A F0(the)180 180 Q F4(format)3.927 E F0 1.427(is passed to)3.927 F +F4(strftime)3.927 E F0 1.427 (\(3\) and the result is inserted into the prompt string; an)B(empty)180 -273.6 Q F4(format)2.5 E F0 +192 Q F4(format)2.5 E F0 (results in a locale-speci\214c time representation.)2.5 E -(The braces are required)5 E F1(\\e)144 285.6 Q F0 -(an ASCII escape character \(033\))28.78 E F1(\\h)144 297.6 Q F0 -(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 309.6 Q F0 -(the hostname)25.44 E F1(\\j)144 321.6 Q F0 -(the number of jobs currently managed by the shell)29.89 E F1(\\l)144 -333.6 Q F0(the basename of the shell')30.44 E 2.5(st)-.55 G(erminal de) --2.5 E(vice name)-.25 E F1(\\n)144 345.6 Q F0(ne)27.66 E(wline)-.25 E F1 -(\\r)144 357.6 Q F0(carriage return)28.78 E F1(\\s)144 369.6 Q F0 -(the name of the shell, the basename of)29.33 E F1($0)2.5 E F0 -(\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E F1(\\t)144 -381.6 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T) -144 393.6 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F1 -(\\@)144 405.6 Q F0(the current time in 12-hour am/pm format)23.92 E F1 -(\\A)144 417.6 Q F0(the current time in 24-hour HH:MM format)26 E F1 -(\\u)144 429.6 Q F0(the username of the current user)27.66 E F1(\\v)144 -441.6 Q F0(the v)28.22 E(ersion of)-.15 E F1(bash)2.5 E F0 -(\(e.g., 2.00\))2.5 E F1(\\V)144 453.6 Q F0(the release of)26 E F1(bash) -2.5 E F0 2.5(,v)C(ersion + patch le)-2.65 E -.15(ve)-.25 G 2.5(l\().15 G -(e.g., 2.00.0\))-2.5 E F1(\\w)144 465.6 Q F0 4.288(the current w)26 F -4.288(orking directory)-.1 F 6.787(,w)-.65 G(ith)-6.787 E F1($HOME)6.787 -E F0(abbre)6.787 E 4.287(viated with a tilde \(uses the)-.25 F F1($PR) -180 477.6 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 -.25(va)2.5 G(riable\)).25 E F1 -(\\W)144 489.6 Q F0(the basename of the current w)23.22 E -(orking directory)-.1 E 2.5(,w)-.65 G(ith)-2.5 E F1($HOME)2.5 E F0 -(abbre)2.5 E(viated with a tilde)-.25 E F1(\\!)144 501.6 Q F0 -(the history number of this command)29.89 E F1(\\#)144 513.6 Q F0 -(the command number of this command)28.22 E F1(\\$)144 525.6 Q F0 -(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a).15 E F1 -(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 537.6 Q F4(nnn) -A F0(the character corresponding to the octal number)18.22 E F4(nnn)2.5 -E F1(\\\\)144 549.6 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 561.6 -Q F0(be)29.89 E 1.257(gin a sequence of non-printing characters, which \ -could be used to embed a terminal)-.15 F -(control sequence into the prompt)180 573.6 Q F1(\\])144 585.6 Q F0 -(end a sequence of non-printing characters)29.89 E .12 -(The command number and the history number are usually dif)108 602.4 R -.119(ferent: the history number of a command is its)-.25 F 1.585(positi\ -on in the history list, which may include commands restored from the hi\ -story \214le \(see)108 614.4 R F3(HIST)4.085 E(OR)-.162 E(Y)-.315 E F0 -(belo)108 626.4 Q .541(w\), while the command number is the position in\ - the sequence of commands e)-.25 F -.15(xe)-.15 G .54 -(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 638.4 R +(The braces are required)5 E F2(\\e)144 204 Q F0 +(an ASCII escape character \(033\))28.78 E F2(\\h)144 216 Q F0 +(the hostname up to the \214rst `.)27.66 E(')-.7 E F2(\\H)144 228 Q F0 +(the hostname)25.44 E F2(\\j)144 240 Q F0 +(the number of jobs currently managed by the shell)29.89 E F2(\\l)144 +252 Q F0(the basename of the shell')30.44 E 2.5(st)-.55 G(erminal de) +-2.5 E(vice name)-.25 E F2(\\n)144 264 Q F0(ne)27.66 E(wline)-.25 E F2 +(\\r)144 276 Q F0(carriage return)28.78 E F2(\\s)144 288 Q F0 +(the name of the shell, the basename of)29.33 E F2($0)2.5 E F0 +(\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E F2(\\t)144 +300 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F2(\\T)144 +312 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F2(\\@)144 +324 Q F0(the current time in 12-hour am/pm format)23.92 E F2(\\A)144 336 +Q F0(the current time in 24-hour HH:MM format)26 E F2(\\u)144 348 Q F0 +(the username of the current user)27.66 E F2(\\v)144 360 Q F0(the v) +28.22 E(ersion of)-.15 E F2(bash)2.5 E F0(\(e.g., 2.00\))2.5 E F2(\\V) +144 372 Q F0(the release of)26 E F2(bash)2.5 E F0 2.5(,v)C +(ersion + patch le)-2.65 E -.15(ve)-.25 G 2.5(l\().15 G(e.g., 2.00.0\)) +-2.5 E F2(\\w)144 384 Q F0 .115(the current w)26 F .115 +(orking directory)-.1 F 2.615(,w)-.65 G(ith)-2.615 E F3($HOME)2.615 E F0 +(abbre)2.365 E .116(viated with a tilde \(uses the v)-.25 F .116 +(alue of the)-.25 F F3(PR)180 396 Q(OMPT_DIR)-.27 E(TRIM)-.36 E F0 -.25 +(va)2.25 G(riable\)).25 E F2(\\W)144 408 Q F0 +(the basename of the current w)23.22 E(orking directory)-.1 E 2.5(,w) +-.65 G(ith)-2.5 E F3($HOME)2.5 E F0(abbre)2.25 E(viated with a tilde) +-.25 E F2(\\!)144 420 Q F0(the history number of this command)29.89 E F2 +(\\#)144 432 Q F0(the command number of this command)28.22 E F2(\\$)144 +444 Q F0(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a) +.15 E F2(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F2($)2.5 E(\\)144 456 Q +F4(nnn)A F0(the character corresponding to the octal number)18.22 E F4 +(nnn)2.5 E F2(\\\\)144 468 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F2(\\[) +144 480 Q F0(be)29.89 E 1.257(gin a sequence of non-printing characters\ +, which could be used to embed a terminal)-.15 F +(control sequence into the prompt)180 492 Q F2(\\])144 504 Q F0 +(end a sequence of non-printing characters)29.89 E .119 +(The command number and the history number are usually dif)108 520.8 R +.12(ferent: the history number of a command is its)-.25 F 1.585(positio\ +n in the history list, which may include commands restored from the his\ +tory \214le \(see)108 532.8 R F3(HIST)4.084 E(OR)-.162 E(Y)-.315 E F0 +(belo)108 544.8 Q .541(w\), while the command number is the position in\ + the sequence of commands e)-.25 F -.15(xe)-.15 G .541 +(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 556.8 R .546(After the string is decoded, it is e)5.546 F .546 (xpanded via parameter e)-.15 F .546(xpansion, command substitu-)-.15 F -.352(tion, arithmetic e)108 650.4 R .352(xpansion, and quote remo)-.15 F --.25(va)-.15 G .352(l, subject to the v).25 F .352(alue of the)-.25 F F1 -(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .351(shell option \(see the)2.852 -F(description of the)108 662.4 Q F1(shopt)2.5 E F0(command under)2.5 E +.351(tion, arithmetic e)108 568.8 R .352(xpansion, and quote remo)-.15 F +-.25(va)-.15 G .352(l, subject to the v).25 F .352(alue of the)-.25 F F2 +(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .352(shell option \(see the)2.852 +F(description of the)108 580.8 Q F2(shopt)2.5 E F0(command under)2.5 E F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).) --.25 E F2(READLINE)72 679.2 Q F0 .15 +-.25 E F1(READLINE)72 597.6 Q F0 .151 (This is the library that handles reading input when using an interacti) -108 691.2 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F1 -(\255\255noediting)2.651 E F0(option)2.651 E 1.209(is gi)108 703.2 R --.15(ve)-.25 G 3.709(na).15 G 3.709(ts)-3.709 G 1.209(hell in)-3.709 F --.2(vo)-.4 G 3.709(cation. Line).2 F 1.208 -(editing is also used when using the)3.709 F F1<ad65>3.708 E F0 1.208 -(option to the)3.708 F F1 -.18(re)3.708 G(ad).18 E F0 -.2(bu)3.708 G -3.708(iltin. By).2 F(def)108 715.2 Q .949 +108 609.6 R .45 -.15(ve s)-.25 H .15(hell, unless the).15 F F2 +(\255\255noediting)2.65 E F0(option)2.65 E 1.208(is gi)108 621.6 R -.15 +(ve)-.25 G 3.708(na).15 G 3.708(ts)-3.708 G 1.208(hell in)-3.708 F -.2 +(vo)-.4 G 3.708(cation. Line).2 F 1.208 +(editing is also used when using the)3.708 F F2<ad65>3.709 E F0 1.209 +(option to the)3.709 F F2 -.18(re)3.709 G(ad).18 E F0 -.2(bu)3.709 G +3.709(iltin. By).2 F(def)108 633.6 Q .95 (ault, the line editing commands are similar to those of emacs.)-.1 F -3.45(Av)5.95 G .95(i-style line editing interf)-3.45 F .95(ace is also) --.1 F -.2(av)108 727.2 S 3.35(ailable. Line)-.05 F .85 +3.449(Av)5.949 G .949(i-style line editing interf)-3.449 F .949 +(ace is also)-.1 F -.2(av)108 645.6 S 3.35(ailable. Line)-.05 F .85 (editing can be enabled at an)3.35 F 3.35(yt)-.15 G .85(ime using the) --3.35 F F1 .85(\255o emacs)3.35 F F0(or)3.35 E F1 .85(\255o vi)3.35 F F0 -.85(options to the)3.35 F F1(set)3.35 E F0 -.2(bu)3.35 G(iltin).2 E -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(33)185.955 E 0 Cg EP +-3.35 F F2 .85(\255o emacs)3.35 F F0(or)3.35 E F2 .85(\255o vi)3.35 F F0 +.85(options to the)3.35 F F2(set)3.35 E F0 -.2(bu)3.35 G(iltin).2 E +(\(see)108 657.6 Q F3 .763(SHELL B)3.263 F(UIL)-.09 E .763(TIN COMMANDS) +-.828 F F0(belo)3.013 E 3.263(w\). T)-.25 F 3.263(ot)-.8 G .763(urn of) +-3.263 F 3.263(fl)-.25 G .763 +(ine editing after the shell is running, use the)-3.263 F F2(+o)3.262 E +(emacs)108 669.6 Q F0(or)2.5 E F2(+o vi)2.5 E F0(options to the)2.5 E F2 +(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F2(Readline Notation)87 686.4 Q +F0 .567(In this section, the emacs-style notation is used to denote k) +108 698.4 R -.15(ey)-.1 G(strok).15 E 3.068(es. Control)-.1 F -.1(ke) +3.068 G .568(ys are denoted by C\255)-.05 F F4 -.1(ke)C(y)-.2 E F0(,)A +1.153(e.g., C\255n means Control\255N.)108 710.4 R(Similarly)6.153 E(,) +-.65 E F4(meta)4.033 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255) +-.05 F F4 -.1(ke)C(y)-.2 E F0 3.652(,s)C 3.652(oM)-3.652 G 1.152 +(\255x means Meta\255X.)-3.652 F(\(On)6.152 E -.1(ke)108 722.4 S .83 +(yboards without a)-.05 F F4(meta)3.71 E F0 -.1(ke)3.59 G 2.13 -.65 +(y, M)-.05 H<ad>.65 E F4(x)A F0 .83(means ESC)3.33 F F4(x)3.33 E F0 3.33 +(,i)C .831(.e., press the Escape k)-3.33 F 1.131 -.15(ey t)-.1 H .831 +(hen the).15 F F4(x)4.101 E F0 -.1(ke)3.861 G 4.631 -.65(y. T)-.05 H +.831(his mak).65 F(es)-.1 E(GNU Bash-4.1)72 768 Q(2009 December 29) +135.965 E(33)185.955 E 0 Cg EP %%Page: 34 34 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(\(see)108 84 Q/F1 9/Times-Bold@0 SF .762(SHELL B)3.262 F(UIL)-.09 -E .762(TIN COMMANDS)-.828 F F0(belo)3.012 E 3.262(w\). T)-.25 F 3.263 -(ot)-.8 G .763(urn of)-3.263 F 3.263(fl)-.25 G .763 -(ine editing after the shell is running, use the)-3.263 F/F2 10 -/Times-Bold@0 SF(+o)3.263 E(emacs)108 96 Q F0(or)2.5 E F2(+o vi)2.5 E F0 -(options to the)2.5 E F2(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F2 -(Readline Notation)87 112.8 Q F0 .568 -(In this section, the emacs-style notation is used to denote k)108 124.8 -R -.15(ey)-.1 G(strok).15 E 3.067(es. Control)-.1 F -.1(ke)3.067 G .567 -(ys are denoted by C\255)-.05 F/F3 10/Times-Italic@0 SF -.1(ke)C(y)-.2 E -F0(,)A 1.152(e.g., C\255n means Control\255N.)108 136.8 R(Similarly) -6.152 E(,)-.65 E F3(meta)4.032 E F0 -.1(ke)3.913 G 1.153 -(ys are denoted by M\255)-.05 F F3 -.1(ke)C(y)-.2 E F0 3.653(,s)C 3.653 -(oM)-3.653 G 1.153(\255x means Meta\255X.)-3.653 F(\(On)6.153 E -.1(ke) -108 148.8 S .831(yboards without a)-.05 F F3(meta)3.711 E F0 -.1(ke) -3.591 G 2.131 -.65(y, M)-.05 H<ad>.65 E F3(x)A F0 .831(means ESC)3.331 F -F3(x)3.331 E F0 3.331(,i)C .83(.e., press the Escape k)-3.331 F 1.13 --.15(ey t)-.1 H .83(hen the).15 F F3(x)4.1 E F0 -.1(ke)3.86 G 4.63 -.65 -(y. T)-.05 H .83(his mak).65 F(es)-.1 E .599(ESC the)108 160.8 R F3 .599 -(meta pr)3.099 F(e\214x)-.37 E F0 5.599(.T)C .599 -(he combination M\255C\255)-5.599 F F3(x)A F0 .599 -(means ESC\255Control\255)3.099 F F3(x)A F0 3.099(,o)C 3.099(rp)-3.099 G -.6(ress the Escape k)-3.099 F .9 -.15(ey t)-.1 H .6(hen hold).15 F -(the Control k)108 172.8 Q .3 -.15(ey w)-.1 H(hile pressing the).15 E F3 -(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\)).65 E .62 -(Readline commands may be gi)108 189.6 R -.15(ve)-.25 G 3.119(nn).15 G -(umeric)-3.119 E F3(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G .619 -(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.619 E(ho)108 -201.6 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H 3.118(ti).4 G -3.119(st)-3.118 G .619(he sign of the ar)-3.119 F .619 +-.35 E .6(ESC the)108 84 R/F1 10/Times-Italic@0 SF .6(meta pr)3.1 F +(e\214x)-.37 E F0 5.6(.T)C .6(he combination M\255C\255)-5.6 F F1(x)A F0 +.599(means ESC\255Control\255)3.099 F F1(x)A F0 3.099(,o)C 3.099(rp) +-3.099 G .599(ress the Escape k)-3.099 F .899 -.15(ey t)-.1 H .599 +(hen hold).15 F(the Control k)108 96 Q .3 -.15(ey w)-.1 H +(hile pressing the).15 E F1(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\)) +.65 E .619(Readline commands may be gi)108 112.8 R -.15(ve)-.25 G 3.119 +(nn).15 G(umeric)-3.119 E F1(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G +.619(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.62 E(ho) +108 124.8 Q(we)-.25 E -.15(ve)-.25 G 1.419 -.4(r, i).15 H 3.119(ti).4 G +3.119(st)-3.119 G .619(he sign of the ar)-3.119 F .619 (gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne) .15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619 -(ument to a command that).18 F 1.019(acts in the forw)108 213.6 R 1.018 -(ard direction \(e.g.,)-.1 F F2(kill\255line)3.518 E F0 3.518(\)c)C -1.018(auses that command to act in a backw)-3.518 F 1.018 -(ard direction.)-.1 F(Com-)6.018 E(mands whose beha)108 225.6 Q +(ument to a command that).18 F 1.018(acts in the forw)108 136.8 R 1.018 +(ard direction \(e.g.,)-.1 F/F2 10/Times-Bold@0 SF(kill\255line)3.518 E +F0 3.518(\)c)C 1.018(auses that command to act in a backw)-3.518 F 1.019 +(ard direction.)-.1 F(Com-)6.019 E(mands whose beha)108 148.8 Q (vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo) --.25 E -.65(w.)-.25 G .811(When a command is described as)108 242.4 R F3 +-.25 E -.65(w.)-.25 G .812(When a command is described as)108 165.6 R F1 (killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811 -(xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .812 -(or possible future retrie)-3.311 F -.25(va)-.25 G 3.312(l\().25 G F3 -(yank-)-3.312 E(ing)108 254.4 Q F0 2.529(\). The)B .029(killed te)2.529 -F .029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F3 +(xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .811 +(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F1 +(yank-)-3.311 E(ing)108 177.6 Q F0 2.529(\). The)B .029(killed te)2.529 +F .029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F1 .029(kill ring)B F0 5.029(.C)C(onsecuti)-5.029 E .329 -.15(ve k)-.25 H .029(ills cause the te).15 F .029(xt to be accumulated into one unit,) --.15 F .567(which can be yank)108 266.4 R .567(ed all at once.)-.1 F +-.15 F .567(which can be yank)108 189.6 R .567(ed all at once.)-.1 F .567(Commands which do not kill te)5.567 F .567 (xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F(ring.) -108 278.4 Q F2(Readline Initialization)87 295.2 Q F0 .091(Readline is c\ +108 201.6 Q F2(Readline Initialization)87 218.4 Q F0 .091(Readline is c\ ustomized by putting commands in an initialization \214le \(the)108 -307.2 R F3(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .091 -(name of this \214le)2.591 F .196(is tak)108 319.2 R .196(en from the v) --.1 F .196(alue of the)-.25 F F1(INPUTRC)2.696 E F0 -.25(va)2.446 G -2.696(riable. If).25 F .196(that v)2.696 F .196 -(ariable is unset, the def)-.25 F .196(ault is)-.1 F F3(~/.inputr)2.696 -E(c)-.37 E F0 5.196(.W).31 G .197(hen a)-5.196 F 1.034(program which us\ +230.4 R F1(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .092 +(name of this \214le)2.591 F .197(is tak)108 242.4 R .196(en from the v) +-.1 F .196(alue of the)-.25 F/F3 9/Times-Bold@0 SF(INPUTRC)2.696 E F0 +-.25(va)2.446 G 2.696(riable. If).25 F .196(that v)2.696 F .196 +(ariable is unset, the def)-.25 F .196(ault is)-.1 F F1(~/.inputr)2.696 +E(c)-.37 E F0 5.196(.W).31 G .196(hen a)-5.196 F 1.034(program which us\ es the readline library starts up, the initialization \214le is read, a\ -nd the k)108 331.2 R 1.334 -.15(ey b)-.1 H 1.034(indings and).15 F -.25 -(va)108 343.2 S 1.149(riables are set.).25 F 1.149(There are only a fe) -6.149 F 3.649(wb)-.25 G 1.149(asic constructs allo)-3.649 F 1.15 -(wed in the readline initialization \214le.)-.25 F(Blank)6.15 E .737 -(lines are ignored.)108 355.2 R .737(Lines be)5.737 F .737 +nd the k)108 254.4 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25 +(va)108 266.4 S 1.15(riables are set.).25 F 1.15(There are only a fe) +6.15 F 3.649(wb)-.25 G 1.149(asic constructs allo)-3.649 F 1.149 +(wed in the readline initialization \214le.)-.25 F(Blank)6.149 E .736 +(lines are ignored.)108 278.4 R .737(Lines be)5.737 F .737 (ginning with a)-.15 F F2(#)3.237 E F0 .737(are comments.)3.237 F .737 -(Lines be)5.737 F .737(ginning with a)-.15 F F2($)3.237 E F0 .736 -(indicate conditional)3.236 F 2.5(constructs. Other)108 367.2 R +(Lines be)5.737 F .737(ginning with a)-.15 F F2($)3.237 E F0 .737 +(indicate conditional)3.237 F 2.5(constructs. Other)108 290.4 R (lines denote k)2.5 E .3 -.15(ey b)-.1 H(indings and v).15 E -(ariable settings.)-.25 E .986(The def)108 384 R .986(ault k)-.1 F -.15 -(ey)-.1 G .987(-bindings may be changed with an).15 F F3(inputr)3.497 E -(c)-.37 E F0 3.487(\214le. Other)3.797 F .987 -(programs that use this library may)3.487 F(add their o)108 396 Q -(wn commands and bindings.)-.25 E -.15(Fo)108 412.8 S 2.5(re).15 G -(xample, placing)-2.65 E(M\255Control\255u: uni)144 429.6 Q -.15(ve)-.25 -G(rsal\255ar).15 E(gument)-.18 E(or)108 441.6 Q(C\255Meta\255u: uni)144 -453.6 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 465.6 -Q F3(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G -(\255C\255u e)-2.5 E -.15(xe)-.15 G(cute the readline command).15 E F3 -(univer)2.5 E(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.261(The follo) -108 482.4 R 1.261(wing symbolic character names are recognized:)-.25 F -F3 -.4(RU)3.761 G(BOUT).4 E F0(,)1.27 E F3(DEL)3.761 E F0(,).53 E F3 -(ESC)3.761 E F0(,).72 E F3(LFD)3.761 E F0(,).28 E F3(NEWLINE)3.76 E F0 -(,).73 E F3(RET)3.76 E F0(,)1.27 E F3(RETURN)108 494.4 Q F0(,)1.1 E F3 -(SPC)2.5 E F0(,).72 E F3(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G -(nd)-2.5 E F3 -.5(TA)2.5 G(B).5 E F0(.).27 E .209 -(In addition to command names, readline allo)108 511.2 R .209(ws k)-.25 +(ariable settings.)-.25 E .987(The def)108 307.2 R .987(ault k)-.1 F +-.15(ey)-.1 G .987(-bindings may be changed with an).15 F F1(inputr) +3.497 E(c)-.37 E F0 3.487(\214le. Other)3.797 F .987 +(programs that use this library may)3.487 F(add their o)108 319.2 Q +(wn commands and bindings.)-.25 E -.15(Fo)108 336 S 2.5(re).15 G +(xample, placing)-2.65 E(M\255Control\255u: uni)144 352.8 Q -.15(ve)-.25 +G(rsal\255ar).15 E(gument)-.18 E(or)108 364.8 Q(C\255Meta\255u: uni)144 +376.8 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 388.8 +Q F1(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G +(\255C\255u e)-2.5 E -.15(xe)-.15 G(cute the readline command).15 E F1 +(univer)2.5 E(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.26(The follo) +108 405.6 R 1.261(wing symbolic character names are recognized:)-.25 F +F1 -.4(RU)3.761 G(BOUT).4 E F0(,)1.27 E F1(DEL)3.761 E F0(,).53 E F1 +(ESC)3.761 E F0(,).72 E F1(LFD)3.761 E F0(,).28 E F1(NEWLINE)3.761 E F0 +(,).73 E F1(RET)3.761 E F0(,)1.27 E F1(RETURN)108 417.6 Q F0(,)1.1 E F1 +(SPC)2.5 E F0(,).72 E F1(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G +(nd)-2.5 E F1 -.5(TA)2.5 G(B).5 E F0(.).27 E .209 +(In addition to command names, readline allo)108 434.4 R .209(ws k)-.25 F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209 (ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i) --.1 H(s).15 E(pressed \(a)108 523.2 Q F3(macr)2.5 E(o)-.45 E F0(\).)A F2 -(Readline K)87 540 Q(ey Bindings)-.25 E F0 .366 -(The syntax for controlling k)108 552 R .666 -.15(ey b)-.1 H .366 -(indings in the).15 F F3(inputr)2.876 E(c)-.37 E F0 .366 +-.1 H(s).15 E(pressed \(a)108 446.4 Q F1(macr)2.5 E(o)-.45 E F0(\).)A F2 +(Readline K)87 463.2 Q(ey Bindings)-.25 E F0 .366 +(The syntax for controlling k)108 475.2 R .666 -.15(ey b)-.1 H .366 +(indings in the).15 F F1(inputr)2.876 E(c)-.37 E F0 .366 (\214le is simple.)3.176 F .366(All that is required is the name of the) -5.366 F .382(command or the te)108 564 R .383(xt of a macro and a k)-.15 -F .683 -.15(ey s)-.1 H .383 +5.366 F .383(command or the te)108 487.2 R .383(xt of a macro and a k) +-.15 F .683 -.15(ey s)-.1 H .383 (equence to which it should be bound. The name may be speci-).15 F .853 -(\214ed in one of tw)108 576 R 3.353(ow)-.1 G .853(ays: as a symbolic k) --3.453 F 1.153 -.15(ey n)-.1 H .853(ame, possibly with).15 F F3 -(Meta\255)3.353 E F0(or)3.353 E F3(Contr)3.353 E(ol\255)-.45 E F0 -(pre\214x)3.353 E .853(es, or as a k)-.15 F -.15(ey)-.1 G(sequence.)108 -588 Q 1.541(When using the form)108 604.8 R F2 -.1(ke)4.041 G(yname).1 E -F0(:)A F3(function\255name).833 E F0(or)4.041 E F3(macr)4.042 E(o)-.45 E -F0(,)A F3 -.1(ke)4.042 G(yname)-.2 E F0 1.542(is the name of a k)4.222 F -1.842 -.15(ey s)-.1 H 1.542(pelled out in).15 F 2.5(English. F)108 616.8 -R(or e)-.15 E(xample:)-.15 E(Control-u: uni)144 640.8 Q -.15(ve)-.25 G -(rsal\255ar).15 E(gument)-.18 E(Meta-Rubout: backw)144 652.8 Q -(ard-kill-w)-.1 E(ord)-.1 E(Control-o: "> output")144 664.8 Q .699 -(In the abo)108 681.6 R .998 -.15(ve ex)-.15 H(ample,).15 E F3(C\255u) -3.038 E F0 .698(is bound to the function)3.448 F F2(uni)3.198 E -.1(ve) --.1 G(rsal\255ar).1 E(gument)-.1 E F0(,)A F3(M\255DEL)3.878 E F0 .698 -(is bound to the func-)3.728 F(tion)108 693.6 Q F2 -(backward\255kill\255w)2.758 E(ord)-.1 E F0 2.758(,a)C(nd)-2.758 E F3 -(C\255o)2.598 E F0 .258(is bound to run the macro e)2.938 F .259 +(\214ed in one of tw)108 499.2 R 3.353(ow)-.1 G .853 +(ays: as a symbolic k)-3.453 F 1.153 -.15(ey n)-.1 H .853 +(ame, possibly with).15 F F1(Meta\255)3.353 E F0(or)3.353 E F1(Contr) +3.353 E(ol\255)-.45 E F0(pre\214x)3.353 E .853(es, or as a k)-.15 F -.15 +(ey)-.1 G(sequence.)108 511.2 Q 1.542(When using the form)108 528 R F2 +-.1(ke)4.042 G(yname).1 E F0(:)A F1(function\255name).833 E F0(or)4.042 +E F1(macr)4.042 E(o)-.45 E F0(,)A F1 -.1(ke)4.042 G(yname)-.2 E F0 1.542 +(is the name of a k)4.222 F 1.841 -.15(ey s)-.1 H 1.541(pelled out in) +.15 F 2.5(English. F)108 540 R(or e)-.15 E(xample:)-.15 E +(Control-u: uni)144 564 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E +(Meta-Rubout: backw)144 576 Q(ard-kill-w)-.1 E(ord)-.1 E +(Control-o: "> output")144 588 Q .698(In the abo)108 604.8 R .998 -.15 +(ve ex)-.15 H(ample,).15 E F1(C\255u)3.038 E F0 .698 +(is bound to the function)3.448 F F2(uni)3.198 E -.1(ve)-.1 G +(rsal\255ar).1 E(gument)-.1 E F0(,)A F1(M\255DEL)3.878 E F0 .698 +(is bound to the func-)3.728 F(tion)108 616.8 Q F2 +(backward\255kill\255w)2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F1 +(C\255o)2.599 E F0 .258(is bound to run the macro e)2.939 F .258 (xpressed on the right hand side \(that is, to)-.15 F(insert the te)108 -705.6 Q(xt)-.15 E/F4 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0 -(into the line\).)2.5 E .056(In the second form,)108 722.4 R F2("k)2.556 -E(eyseq")-.1 E F0(:)A F3(function\255name).833 E F0(or)2.556 E F3(macr) -2.556 E(o)-.45 E F0(,)A F2 -.1(ke)2.556 G(yseq).1 E F0(dif)2.555 E .055 -(fers from)-.25 F F2 -.1(ke)2.555 G(yname).1 E F0(abo)2.555 E .355 -.15 -(ve i)-.15 H 2.555(nt).15 G .055(hat strings)-2.555 F(GNU Bash-4.1)72 -768 Q(2009 December 23)135.965 E(34)185.955 E 0 Cg EP +628.8 Q(xt)-.15 E/F4 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0 +(into the line\).)2.5 E .055(In the second form,)108 645.6 R F2("k)2.555 +E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.555 E F1(macr) +2.555 E(o)-.45 E F0(,)A F2 -.1(ke)2.555 G(yseq).1 E F0(dif)2.556 E .056 +(fers from)-.25 F F2 -.1(ke)2.556 G(yname).1 E F0(abo)2.556 E .356 -.15 +(ve i)-.15 H 2.556(nt).15 G .056(hat strings)-2.556 F 1.284 +(denoting an entire k)108 657.6 R 1.584 -.15(ey s)-.1 H 1.284(equence m\ +ay be speci\214ed by placing the sequence within double quotes.).15 F +(Some)6.284 E .385(GNU Emacs style k)108 669.6 R .685 -.15(ey e)-.1 H +.385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .386 +(xample, b)-.15 F .386(ut the symbolic character names)-.2 F +(are not recognized.)108 681.6 Q("\\C\255u": uni)144 705.6 Q -.15(ve) +-.25 G(rsal\255ar).15 E(gument)-.18 E +("\\C\255x\\C\255r": re\255read\255init\255\214le)144 717.6 Q +("\\e[11~": "Function K)144 729.6 Q .3 -.15(ey 1)-.25 H(").15 E +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(34)185.955 E 0 Cg EP %%Page: 35 35 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.284(denoting an entire k)108 84 R 1.584 -.15(ey s)-.1 H 1.284(\ -equence may be speci\214ed by placing the sequence within double quotes\ -.).15 F(Some)6.284 E .386(GNU Emacs style k)108 96 R .686 -.15(ey e)-.1 -H .385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .385 -(xample, b)-.15 F .385(ut the symbolic character names)-.2 F -(are not recognized.)108 108 Q("\\C\255u": uni)144 132 Q -.15(ve)-.25 G -(rsal\255ar).15 E(gument)-.18 E -("\\C\255x\\C\255r": re\255read\255init\255\214le)144 144 Q -("\\e[11~": "Function K)144 156 Q .3 -.15(ey 1)-.25 H(").15 E .314 -(In this e)108 172.8 R(xample,)-.15 E/F1 10/Times-Italic@0 SF(C\255u) -2.654 E F0 .314(is ag)3.064 F .315(ain bound to the function)-.05 F/F2 -10/Times-Bold@0 SF(uni)2.815 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E -F0(.)A F1 .315(C\255x C\255r)5.155 F F0 .315(is bound to the func-)3.545 -F(tion)108 184.8 Q F2 -.18(re)2.5 G<ad72>.18 E(ead\255init\255\214le) --.18 E F0 2.5(,a)C(nd)-2.5 E F1(ESC [ 1 1 ~)3.01 E F0 -(is bound to insert the te)3.94 E(xt)-.15 E/F3 10/Courier@0 SF +-.35 E .315(In this e)108 84 R(xample,)-.15 E/F1 10/Times-Italic@0 SF +(C\255u)2.655 E F0 .315(is ag)3.065 F .315(ain bound to the function) +-.05 F/F2 10/Times-Bold@0 SF(uni)2.815 E -.1(ve)-.1 G(rsal\255ar).1 E +(gument)-.1 E F0(.)A F1 .315(C\255x C\255r)5.155 F F0 .314 +(is bound to the func-)3.544 F(tion)108 96 Q F2 -.18(re)2.5 G<ad72>.18 E +(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F1(ESC [ 1 1 ~)3.01 +E F0(is bound to insert the te)3.94 E(xt)-.15 E/F3 10/Courier@0 SF (Function Key 1)2.5 E F0(.)A -(The full set of GNU Emacs style escape sequences is)108 201.6 Q F2 -<5c43ad>144 213.6 Q F0(control pre\214x)20.3 E F2<5c4dad>144 225.6 Q F0 -(meta pre\214x)18.08 E F2(\\e)144 237.6 Q F0(an escape character)28.78 E -F2(\\\\)144 249.6 Q F0(backslash)30.44 E F2(\\")144 261.6 Q F0 -(literal ")27.67 E F2<5c08>144 273.6 Q F0(literal \010)30.44 E(In addit\ +(The full set of GNU Emacs style escape sequences is)108 112.8 Q F2 +<5c43ad>144 124.8 Q F0(control pre\214x)20.3 E F2<5c4dad>144 136.8 Q F0 +(meta pre\214x)18.08 E F2(\\e)144 148.8 Q F0(an escape character)28.78 E +F2(\\\\)144 160.8 Q F0(backslash)30.44 E F2(\\")144 172.8 Q F0 +(literal ")27.67 E F2<5c08>144 184.8 Q F0(literal \010)30.44 E(In addit\ ion to the GNU Emacs style escape sequences, a second set of backslash \ -escapes is a)108 290.4 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 302.4 Q -F0(alert \(bell\))28.22 E F2(\\b)144 314.4 Q F0(backspace)27.66 E F2 -(\\d)144 326.4 Q F0(delete)27.66 E F2(\\f)144 338.4 Q F0(form feed)29.89 -E F2(\\n)144 350.4 Q F0(ne)27.66 E(wline)-.25 E F2(\\r)144 362.4 Q F0 -(carriage return)28.78 E F2(\\t)144 374.4 Q F0(horizontal tab)29.89 E F2 -(\\v)144 386.4 Q F0 -.15(ve)28.22 G(rtical tab).15 E F2(\\)144 398.4 Q +escapes is a)108 201.6 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 213.6 Q +F0(alert \(bell\))28.22 E F2(\\b)144 225.6 Q F0(backspace)27.66 E F2 +(\\d)144 237.6 Q F0(delete)27.66 E F2(\\f)144 249.6 Q F0(form feed)29.89 +E F2(\\n)144 261.6 Q F0(ne)27.66 E(wline)-.25 E F2(\\r)144 273.6 Q F0 +(carriage return)28.78 E F2(\\t)144 285.6 Q F0(horizontal tab)29.89 E F2 +(\\v)144 297.6 Q F0 -.15(ve)28.22 G(rtical tab).15 E F2(\\)144 309.6 Q F1(nnn)A F0(the eight-bit character whose v)18.22 E(alue is the octal v) -.25 E(alue)-.25 E F1(nnn)2.5 E F0(\(one to three digits\))2.5 E F2(\\x) -144 410.4 Q F1(HH)A F0(the eight-bit character whose v)13.78 E +144 321.6 Q F1(HH)A F0(the eight-bit character whose v)13.78 E (alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F1(HH)2.5 E F0 -(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.142 -(When entering the te)108 427.2 R 1.141(xt of a macro, single or double\ - quotes must be used to indicate a macro de\214nition.)-.15 F .089 -(Unquoted te)108 439.2 R .089(xt is assumed to be a function name.)-.15 -F .09(In the macro body)5.089 F 2.59(,t)-.65 G .09 -(he backslash escapes described abo)-2.59 F -.15(ve)-.15 G(are e)108 -451.2 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G +(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.141 +(When entering the te)108 338.4 R 1.141(xt of a macro, single or double\ + quotes must be used to indicate a macro de\214nition.)-.15 F .09 +(Unquoted te)108 350.4 R .09(xt is assumed to be a function name.)-.15 F +.089(In the macro body)5.089 F 2.589(,t)-.65 G .089 +(he backslash escapes described abo)-2.589 F -.15(ve)-.15 G(are e)108 +362.4 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G (ther character in the macro te)-2.5 E(xt, including " and \010.)-.15 E -F2(Bash)108 468 Q F0(allo)2.93 E .43(ws the current readline k)-.25 F -.73 -.15(ey b)-.1 H .429(indings to be displayed or modi\214ed with the) -.15 F F2(bind)2.929 E F0 -.2(bu)2.929 G .429(iltin command.).2 F .045 -(The editing mode may be switched during interacti)108 480 R .345 -.15 -(ve u)-.25 H .046(se by using the).15 F F2<ad6f>2.546 E F0 .046 -(option to the)2.546 F F2(set)2.546 E F0 -.2(bu)2.546 G .046 -(iltin command).2 F(\(see)108 492 Q/F4 9/Times-Bold@0 SF(SHELL B)2.5 E +F2(Bash)108 379.2 Q F0(allo)2.929 E .429(ws the current readline k)-.25 +F .729 -.15(ey b)-.1 H .429 +(indings to be displayed or modi\214ed with the).15 F F2(bind)2.93 E F0 +-.2(bu)2.93 G .43(iltin command.).2 F .046 +(The editing mode may be switched during interacti)108 391.2 R .346 -.15 +(ve u)-.25 H .046(se by using the).15 F F2<ad6f>2.545 E F0 .045 +(option to the)2.545 F F2(set)2.545 E F0 -.2(bu)2.545 G .045 +(iltin command).2 F(\(see)108 403.2 Q/F4 9/Times-Bold@0 SF(SHELL B)2.5 E (UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2 -(Readline V)87 508.8 Q(ariables)-.92 E F0 .044(Readline has v)108 520.8 -R .043(ariables that can be used to further customize its beha)-.25 F +(Readline V)87 420 Q(ariables)-.92 E F0 .043(Readline has v)108 432 R +.043(ariables that can be used to further customize its beha)-.25 F (vior)-.2 E 5.043(.A)-.55 G -.25(va)-2.5 G .043 -(riable may be set in the).25 F F1(inpu-)2.553 E(tr)108 532.8 Q(c)-.37 E -F0(\214le with a statement of the form)2.81 E F2(set)144 549.6 Q F1 +(riable may be set in the).25 F F1(inpu-)2.554 E(tr)108 444 Q(c)-.37 E +F0(\214le with a statement of the form)2.81 E F2(set)144 460.8 Q F1 (variable\255name value)2.5 E F0 .79(Except where noted, readline v)108 -566.4 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F +477.6 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F (alues)-.25 E F2(On)3.29 E F0(or)3.29 E F2(Off)3.29 E F0 .79 (\(without re)3.29 F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-) -5.79 E .449(nized v)108 578.4 R .448(ariable names are ignored.)-.25 F +5.79 E .448(nized v)108 489.6 R .448(ariable names are ignored.)-.25 F .448(When a v)5.448 F .448(ariable v)-.25 F .448 -(alue is read, empty or null v)-.25 F .448(alues, "on" \(case-insensi-) --.25 F(ti)108 590.4 Q -.15(ve)-.25 G .467(\), and "1" are equi).15 F +(alue is read, empty or null v)-.25 F .449(alues, "on" \(case-insensi-) +-.25 F(ti)108 501.6 Q -.15(ve)-.25 G .468(\), and "1" are equi).15 F -.25(va)-.25 G .468(lent to).25 F F2(On)2.968 E F0 5.468(.A)C .468 (ll other v)-5.468 F .468(alues are equi)-.25 F -.25(va)-.25 G .468 -(lent to).25 F F2(Off)2.968 E F0 5.468(.T)C .468(he v)-5.468 F .468 -(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 602.4 S(lues are:) -.25 E F2(bell\255style \(audible\))108 619.2 Q F0 .011 -(Controls what happens when readline w)144 631.2 R .011 -(ants to ring the terminal bell.)-.1 F .01(If set to)5.01 F F2(none)2.51 -E F0 2.51(,r)C .01(eadline ne)-2.51 F -.15(ve)-.25 G(r).15 E .94 -(rings the bell.)144 643.2 R .94(If set to)5.94 F F2(visible)3.44 E F0 -3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25(va) --.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F2(audible)3.44 E F0(,)A -(readline attempts to ring the terminal')144 655.2 Q 2.5(sb)-.55 G(ell.) --2.5 E F2(bind\255tty\255special\255chars \(On\))108 667.2 Q F0 .056 -(If set to)144 679.2 R F2(On)2.556 E F0 2.556(,r)C .056(eadline attempt\ -s to bind the control characters treated specially by the k)-2.556 F -(ernel')-.1 E 2.555(st)-.55 G(ermi-)-2.555 E(nal dri)144 691.2 Q -.15 +(lent to).25 F F2(Off)2.968 E F0 5.468(.T)C .467(he v)-5.468 F .467 +(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 513.6 S(lues are:) +.25 E F2(bell\255style \(audible\))108 530.4 Q F0 .01 +(Controls what happens when readline w)144 542.4 R .011 +(ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F2(none) +2.511 E F0 2.511(,r)C .011(eadline ne)-2.511 F -.15(ve)-.25 G(r).15 E +.94(rings the bell.)144 554.4 R .94(If set to)5.94 F F2(visible)3.44 E +F0 3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25 +(va)-.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F2(audible)3.44 E F0 +(,)A(readline attempts to ring the terminal')144 566.4 Q 2.5(sb)-.55 G +(ell.)-2.5 E F2(bind\255tty\255special\255chars \(On\))108 578.4 Q F0 +.055(If set to)144 590.4 R F2(On)2.555 E F0 2.555(,r)C .056(eadline att\ +empts to bind the control characters treated specially by the k)-2.555 F +(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 602.4 Q -.15 (ve)-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va) --.25 G(lents.).25 E F2(comment\255begin \(`)108 703.2 Q(`#')-.63 E('\)) --.63 E F0 .884(The string that is inserted when the readline)144 715.2 R -F2(insert\255comment)3.385 E F0 .885(command is e)3.385 F -.15(xe)-.15 G -3.385(cuted. This).15 F(com-)3.385 E(mand is bound to)144 727.2 Q F2 +-.25 G(lents.).25 E F2(comment\255begin \(`)108 614.4 Q(`#')-.63 E('\)) +-.63 E F0 .885(The string that is inserted when the readline)144 626.4 R +F2(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 638.4 Q F2 (M\255#)2.5 E F0(in emacs mode and to)2.5 E F2(#)2.5 E F0 -(in vi command mode.)2.5 E(GNU Bash-4.1)72 768 Q(2009 December 23) -135.965 E(35)185.955 E 0 Cg EP +(in vi command mode.)2.5 E F2(completion\255ignor)108 650.4 Q +(e\255case \(Off\))-.18 E F0(If set to)144 662.4 Q F2(On)2.5 E F0 2.5 +(,r)C(eadline performs \214lename matching and completion in a case\255\ +insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F2(completion\255pr) +108 674.4 Q(e\214x\255display\255length \(0\))-.18 E F0 .829(The length\ + in characters of the common pre\214x of a list of possible completions\ + that is displayed)144 686.4 R 1.275(without modi\214cation.)144 698.4 R +1.275(When set to a v)6.275 F 1.274 +(alue greater than zero, common pre\214x)-.25 F 1.274 +(es longer than this)-.15 F -.25(va)144 710.4 S(lue are replaced with a\ +n ellipsis when displaying possible completions.).25 E(GNU Bash-4.1)72 +768 Q(2009 December 29)135.965 E(35)185.955 E 0 Cg EP %%Page: 36 36 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(completion\255ignor)108 84 Q -(e\255case \(Off\))-.18 E F0(If set to)144 96 Q F1(On)2.5 E F0 2.5(,r)C -(eadline performs \214lename matching and completion in a case\255insen\ -siti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1(completion\255pr)108 -108 Q(e\214x\255display\255length \(0\))-.18 E F0 .829(The length in ch\ -aracters of the common pre\214x of a list of possible completions that \ -is displayed)144 120 R 1.274(without modi\214cation.)144 132 R 1.274 -(When set to a v)6.274 F 1.274(alue greater than zero, common pre\214x) --.25 F 1.275(es longer than this)-.15 F -.25(va)144 144 S(lue are repla\ -ced with an ellipsis when displaying possible completions.).25 E F1 -(completion\255query\255items \(100\))108 156 Q F0 .53 -(This determines when the user is queried about vie)144 168 R .529 -(wing the number of possible completions gen-)-.25 F .56(erated by the) -144 180 R F1(possible\255completions)3.06 E F0 3.06(command. It)3.06 F -.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 192 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 204 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 216 Q F1(con)108 228 -Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 240 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 +-.35 E/F1 10/Times-Bold@0 SF(completion\255query\255items \(100\))108 84 +Q F0 .529(This determines when the user is queried about vie)144 96 R +.53(wing the number of possible completions gen-)-.25 F .561 +(erated by the)144 108 R F1(possible\255completions)3.061 E F0 3.061 +(command. It)3.061 F .561(may be set to an)3.061 F 3.06(yi)-.15 G(nte) +-3.06 E .56(ger v)-.15 F .56(alue greater than or)-.25 F .782 +(equal to zero.)144 120 R .783(If the number of possible completions is\ + greater than or equal to the v)5.782 F .783(alue of this)-.25 F -.25 +(va)144 132 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 144 Q F1(con)108 156 Q -.1(ve)-.4 G +(rt\255meta \(On\)).1 E F0 .612(If set to)144 168 R F1(On)3.112 E F0 +3.112(,r)C .613(eadline will con)-3.112 F -.15(ve)-.4 G .613 +(rt characters with the eighth bit set to an ASCII k).15 F .913 -.15 +(ey s)-.1 H .613(equence by).15 F .541 (stripping the eighth bit and pre\214xing an escape character \(in ef) -144 252 R .541(fect, using escape as the)-.25 F/F2 10/Times-Italic@0 SF -.542(meta pr)3.042 F(e-)-.37 E<8c78>144 264 Q F0(\).)A F1 -(disable\255completion \(Off\))108 276 Q F0 .038(If set to)144 288 R F1 +144 180 R .541(fect, using escape as the)-.25 F/F2 10/Times-Italic@0 SF +.541(meta pr)3.041 F(e-)-.37 E<8c78>144 192 Q F0(\).)A F1 +(disable\255completion \(Off\))108 204 Q F0 .038(If set to)144 216 R F1 (On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)-2.538 F .038 (ord completion.)-.1 F .038 (Completion characters will be inserted into the)5.038 F(line as if the) -144 300 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0 -(.)A F1(editing\255mode \(emacs\))108 312 Q F0 .252 -(Controls whether readline be)144 324 R .253(gins with a set of k)-.15 F -.553 -.15(ey b)-.1 H .253(indings similar to).15 F F2(emacs)2.753 E F0 -(or)2.753 E F2(vi)2.753 E F0(.)A F1(editing\255mode)5.253 E F0 -(can be set to either)144 336 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E -F0(.)A F1(echo\255contr)108 348 Q(ol\255characters \(On\))-.18 E F0 -1.211(When set to)144 360 R F1(On)3.711 E F0 3.711(,o)C 3.711(no)-3.711 -G 1.211(perating systems that indicate the)-3.711 F 3.711(ys)-.15 G 1.21 +144 228 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0 +(.)A F1(editing\255mode \(emacs\))108 240 Q F0 .253 +(Controls whether readline be)144 252 R .253(gins with a set of k)-.15 F +.553 -.15(ey b)-.1 H .253(indings similar to).15 F F2(emacs)2.752 E F0 +(or)2.752 E F2(vi)2.752 E F0(.)A F1(editing\255mode)5.252 E F0 +(can be set to either)144 264 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E +F0(.)A F1(echo\255contr)108 276 Q(ol\255characters \(On\))-.18 E F0 1.21 +(When set to)144 288 R F1(On)3.71 E F0 3.71(,o)C 3.71(no)-3.71 G 1.211 +(perating systems that indicate the)-3.71 F 3.711(ys)-.15 G 1.211 (upport it, readline echoes a character)-3.711 F -(corresponding to a signal generated from the k)144 372 Q -.15(ey)-.1 G -(board.).15 E F1(enable\255k)108 384 Q(eypad \(Off\))-.1 E F0 .892 -(When set to)144 396 R F1(On)3.393 E F0 3.393(,r)C .893 +(corresponding to a signal generated from the k)144 300 Q -.15(ey)-.1 G +(board.).15 E F1(enable\255k)108 312 Q(eypad \(Off\))-.1 E F0 .893 +(When set to)144 324 R F1(On)3.393 E F0 3.393(,r)C .893 (eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G -.893(pad when it is called.).15 F .893(Some sys-)5.893 F -(tems need this to enable the arro)144 408 Q 2.5(wk)-.25 G -.15(ey)-2.6 -G(s.).15 E F1(enable\255meta\255k)108 420 Q(ey \(On\))-.1 E F0 .64 -(When set to)144 432 R F1(On)3.14 E F0 3.14(,r)C .64 +.893(pad when it is called.).15 F .892(Some sys-)5.893 F +(tems need this to enable the arro)144 336 Q 2.5(wk)-.25 G -.15(ey)-2.6 +G(s.).15 E F1(enable\255meta\255k)108 348 Q(ey \(On\))-.1 E F0 .64 +(When set to)144 360 R F1(On)3.14 E F0 3.14(,r)C .64 (eadline will try to enable an)-3.14 F 3.14(ym)-.15 G .64 (eta modi\214er k)-3.14 F .94 -.15(ey t)-.1 H .64 -(he terminal claims to support).15 F(when it is called.)144 444 Q +(he terminal claims to support).15 F(when it is called.)144 372 Q (On man)5 E 2.5(yt)-.15 G(erminals, the meta k)-2.5 E .3 -.15(ey i)-.1 H 2.5(su).15 G(sed to send eight-bit characters.)-2.5 E F1 -(expand\255tilde \(Off\))108 456 Q F0(If set to)144 468 Q F1(on)2.5 E F0 +(expand\255tilde \(Off\))108 384 Q F0(If set to)144 396 Q F1(on)2.5 E F0 2.5(,t)C(ilde e)-2.5 E(xpansion is performed when readline attempts w) --.15 E(ord completion.)-.1 E F1(history\255pr)108 480 Q(eser)-.18 E -.1 -(ve)-.1 G(\255point \(Off\)).1 E F0 1.492(If set to)144 492 R F1(on) -3.992 E F0 3.992(,t)C 1.493(he history code attempts to place point at \ -the same location on each history line)-3.992 F(retrie)144 504 Q -.15 +-.15 E(ord completion.)-.1 E F1(history\255pr)108 408 Q(eser)-.18 E -.1 +(ve)-.1 G(\255point \(Off\)).1 E F0 1.493(If set to)144 420 R F1(on) +3.993 E F0 3.993(,t)C 1.493(he history code attempts to place point at \ +the same location on each history line)-3.993 F(retrie)144 432 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 F1 -(history\255size \(0\))108 516 Q F0 .463 -(Set the maximum number of history entries sa)144 528 R -.15(ve)-.2 G -2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963 F .462 +(history\255size \(0\))108 444 Q F0 .462 +(Set the maximum number of history entries sa)144 456 R -.15(ve)-.2 G +2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963 F .463 (If set to zero, the number of)5.463 F -(entries in the history list is not limited.)144 540 Q F1 -(horizontal\255scr)108 552 Q(oll\255mode \(Off\))-.18 E F0 .448 -(When set to)144 564 R F1(On)2.948 E F0 2.948(,m)C(ak)-2.948 E .448 -(es readline use a single line for display)-.1 F 2.948(,s)-.65 G .449 +(entries in the history list is not limited.)144 468 Q F1 +(horizontal\255scr)108 480 Q(oll\255mode \(Off\))-.18 E F0 .449 +(When set to)144 492 R F1(On)2.949 E F0 2.949(,m)C(ak)-2.949 E .448 +(es readline use a single line for display)-.1 F 2.948(,s)-.65 G .448 (crolling the input horizontally on a)-2.948 F 1.194(single screen line\ when it becomes longer than the screen width rather than wrapping to a\ - ne)144 576 R(w)-.25 E(line.)144 588 Q F1(input\255meta \(Off\))108 600 -Q F0 .227(If set to)144 612 R F1(On)2.727 E F0 2.727(,r)C .228(eadline \ + ne)144 504 R(w)-.25 E(line.)144 516 Q F1(input\255meta \(Off\))108 528 +Q F0 .228(If set to)144 540 R F1(On)2.728 E F0 2.728(,r)C .227(eadline \ will enable eight-bit input \(that is, it will not strip the high bit f\ -rom the char)-2.727 F(-)-.2 E .957(acters it reads\), re)144 624 R -.05 +rom the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144 552 R -.05 (ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F -.956(The name)5.956 F F1(meta\255\215ag)3.456 E F0 .956(is a)3.456 F -(synon)144 636 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 648 Q +.957(The name)5.956 F F1(meta\255\215ag)3.457 E F0 .957(is a)3.457 F +(synon)144 564 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 576 Q (ch\255terminators \(`)-.18 E(`C\255[C\255J')-.63 E('\))-.63 E F0 .439(\ The string of characters that should terminate an incremental search wi\ -thout subsequently e)144 660 R -.15(xe)-.15 G(cut-).15 E .935 -(ing the character as a command.)144 672 R .935(If this v)5.935 F .935 -(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.434(nav).15 G .934 -(alue, the characters)-3.684 F F2(ESC)3.434 E F0(and)144 684 Q F2 +thout subsequently e)144 588 R -.15(xe)-.15 G(cut-).15 E .934 +(ing the character as a command.)144 600 R .935(If this v)5.935 F .935 +(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.435(nav).15 G .935 +(alue, the characters)-3.685 F F2(ESC)3.435 E F0(and)144 612 Q F2 (C\255J)2.5 E F0(will terminate an incremental search.)2.5 E F1 -.1(ke) -108 696 S(ymap \(emacs\)).1 E F0 2.02(Set the current readline k)144 708 -R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021 -(alid k)-.25 F -.15(ey)-.1 G 2.021(map names is).15 F F2 2.021 -(emacs, emacs\255standar)4.521 F(d,)-.37 E .069 -(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 720 R F0 2.568(,a)C +108 624 S(ymap \(emacs\)).1 E F0 2.021(Set the current readline k)144 +636 R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021 +(alid k)-.25 F -.15(ey)-.1 G 2.021(map names is).15 F F2 2.02 +(emacs, emacs\255standar)4.52 F(d,)-.37 E .068 +(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 648 R F0 2.568(,a)C (nd)-2.568 E F2(vi\255insert)2.568 E F0(.).68 E F2(vi)5.068 E F0 .068 (is equi)2.568 F -.25(va)-.25 G .068(lent to).25 F F2(vi\255command) -2.568 E F0(;)A F2(emacs)2.568 E F0(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(36)185.955 E 0 Cg EP +2.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 660 R -.25(va)-.25 +G 1.544(lent to).25 F F2(emacs\255standar)4.044 E(d)-.37 E F0 6.544(.T)C +1.544(he def)-6.544 F 1.544(ault v)-.1 F 1.544(alue is)-.25 F F2(emacs) +4.044 E F0 4.044(;t).27 G 1.544(he v)-4.044 F 1.544(alue of)-.25 F F1 +(editing\255mode)4.043 E F0(also)4.043 E(af)144 672 Q(fects the def)-.25 +E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 684 Q +(ectories \(On\))-.18 E F0(If set to)144 696 Q F1(On)2.5 E F0 2.5(,c)C +(ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.) +.15 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(36)185.955 E 0 Cg +EP %%Page: 37 37 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.543(is equi)144 84 R -.25(va)-.25 G 1.543(lent to).25 F/F1 10 -/Times-Italic@0 SF(emacs\255standar)4.044 E(d)-.37 E F0 6.544(.T)C 1.544 -(he def)-6.544 F 1.544(ault v)-.1 F 1.544(alue is)-.25 F F1(emacs)4.044 -E F0 4.044(;t).27 G 1.544(he v)-4.044 F 1.544(alue of)-.25 F/F2 10 -/Times-Bold@0 SF(editing\255mode)4.044 E F0(also)4.044 E(af)144 96 Q -(fects the def)-.25 E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F2 -(mark\255dir)108 108 Q(ectories \(On\))-.18 E F0(If set to)144 120 Q F2 -(On)2.5 E F0 2.5(,c)C(ompleted directory names ha)-2.5 E .3 -.15(ve a s) --.2 H(lash appended.).15 E F2(mark\255modi\214ed\255lines \(Off\))108 -132 Q F0(If set to)144 144 Q F2(On)2.5 E F0 2.5(,h)C -(istory lines that ha)-2.5 E .3 -.15(ve b)-.2 H -(een modi\214ed are displayed with a preceding asterisk \().15 E F2(*)A -F0(\).)A F2(mark\255symlink)108 156 Q(ed\255dir)-.1 E(ectories \(Off\)) --.18 E F0 .175(If set to)144 168 R F2(On)2.675 E F0 2.675(,c)C .175 +-.35 E/F1 10/Times-Bold@0 SF(mark\255modi\214ed\255lines \(Off\))108 84 +Q F0(If set to)144 96 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha) +-2.5 E .3 -.15(ve b)-.2 H +(een modi\214ed are displayed with a preceding asterisk \().15 E F1(*)A +F0(\).)A F1(mark\255symlink)108 108 Q(ed\255dir)-.1 E(ectories \(Off\)) +-.18 E F0 .175(If set to)144 120 R F1(On)2.675 E F0 2.675(,c)C .175 (ompleted names which are symbolic links to directories ha)-2.675 F .475 --.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 180 -Q(alue of)-.25 E F2(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F2 -(match\255hidden\255\214les \(On\))108 192 Q F0 .192(This v)144 204 R -.192(ariable, when set to)-.25 F F2(On)2.692 E F0 2.692(,c)C .192 -(auses readline to match \214les whose names be)-2.692 F .193 -(gin with a `.)-.15 F 2.693('\()-.7 G(hidden)-2.693 E 1.024 +-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 132 +Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1 +(match\255hidden\255\214les \(On\))108 144 Q F0 .193(This v)144 156 R +.193(ariable, when set to)-.25 F F1(On)2.693 E F0 2.693(,c)C .192 +(auses readline to match \214les whose names be)-2.693 F .192 +(gin with a `.)-.15 F 2.692('\()-.7 G(hidden)-2.692 E 1.023 (\214les\) when performing \214lename completion, unless the leading `.) -144 216 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.023 -(upplied by the user in the)-3.523 F(\214lename to be completed.)144 228 -Q F2(output\255meta \(Off\))108 240 Q F0 .506(If set to)144 252 R F2(On) -3.006 E F0 3.006(,r)C .507(eadline will display characters with the eig\ -hth bit set directly rather than as a meta-)-3.006 F(pre\214x)144 264 Q -(ed escape sequence.)-.15 E F2(page\255completions \(On\))108 276 Q F0 -.809(If set to)144 288 R F2(On)3.308 E F0 3.308(,r)C .808 -(eadline uses an internal)-3.308 F F1(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 300 Q F2 -(print\255completions\255horizontally \(Off\))108 312 Q F0 1.318 -(If set to)144 324 R F2(On)3.818 E F0 3.818(,r)C 1.319(eadline will dis\ -play completions with matches sorted horizontally in alphabetical)-3.818 -F(order)144 336 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25 -E F2 -2.29 -.18(re v)108 348 T(ert\255all\255at\255newline \(Off\)).08 E -F0 .873(If set to)144 360 R F2(on)3.373 E F0 3.373(,r)C .872 +144 168 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.024 +(upplied by the user in the)-3.523 F(\214lename to be completed.)144 180 +Q F1(output\255meta \(Off\))108 192 Q F0 .507(If set to)144 204 R F1(On) +3.007 E F0 3.007(,r)C .507(eadline will display characters with the eig\ +hth bit set directly rather than as a meta-)-3.007 F(pre\214x)144 216 Q +(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 228 Q F0 +.808(If set to)144 240 R F1(On)3.308 E F0 3.308(,r)C .808 +(eadline uses an internal)-3.308 F/F2 10/Times-Italic@0 SF(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 252 Q F1 +(print\255completions\255horizontally \(Off\))108 264 Q F0 1.319 +(If set to)144 276 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\ +play completions with matches sorted horizontally in alphabetical)-3.819 +F(order)144 288 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25 +E F1 -2.29 -.18(re v)108 300 T(ert\255all\255at\255newline \(Off\)).08 E +F0 .872(If set to)144 312 R F1(on)3.372 E F0 3.372(,r)C .873 (eadline will undo all changes to history lines before returning when) --3.373 F F2(accept\255line)3.372 E F0(is)3.372 E -.15(exe)144 372 S +-3.372 F F1(accept\255line)3.373 E F0(is)3.373 E -.15(exe)144 324 S 2.686(cuted. By).15 F(def)2.686 E .186 (ault, history lines may be modi\214ed and retain indi)-.1 F .186 -(vidual undo lists across calls to)-.25 F F2 -.18(re)144 384 S(adline) -.18 E F0(.)A F2(sho)108 396 Q(w\255all\255if\255ambiguous \(Off\))-.1 E -F0 .478(This alters the def)144 408 R .478(ault beha)-.1 F .478 -(vior of the completion functions.)-.2 F .477(If set to)5.477 F F2(on) -2.977 E F0 2.977(,w)C .477(ords which ha)-3.077 F .777 -.15(ve m)-.2 H +(vidual undo lists across calls to)-.25 F F1 -.18(re)144 336 S(adline) +.18 E F0(.)A F1(sho)108 348 Q(w\255all\255if\255ambiguous \(Off\))-.1 E +F0 .477(This alters the def)144 360 R .477(ault beha)-.1 F .477 +(vior of the completion functions.)-.2 F .478(If set to)5.478 F F1(on) +2.978 E F0 2.978(,w)C .478(ords which ha)-3.078 F .778 -.15(ve m)-.2 H (ore).15 E 1.264(than one possible completion cause the matches to be l\ -isted immediately instead of ringing the)144 420 R(bell.)144 432 Q F2 -(sho)108 444 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.346 -(This alters the def)144 456 R 5.346(ault beha)-.1 F 5.345 -(vior of the completion functions in a f)-.2 F 5.345(ashion similar to) --.1 F F2(sho)144 468 Q(w\255all\255if\255ambiguous)-.1 E F0 6.922(.I)C -4.422(fs)-6.922 G 1.922(et to)-4.422 F F2(on)4.422 E F0 4.422(,w)C 1.922 -(ords which ha)-4.522 F 2.223 -.15(ve m)-.2 H 1.923 -(ore than one possible completion).15 F 1.04(without an)144 480 R 3.54 +isted immediately instead of ringing the)144 372 R(bell.)144 384 Q F1 +(sho)108 396 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345 +(This alters the def)144 408 R 5.345(ault beha)-.1 F 5.345 +(vior of the completion functions in a f)-.2 F 5.346(ashion similar to) +-.1 F F1(sho)144 420 Q(w\255all\255if\255ambiguous)-.1 E F0 6.923(.I)C +4.423(fs)-6.923 G 1.923(et to)-4.423 F F1(on)4.423 E F0 4.423(,w)C 1.923 +(ords which ha)-4.523 F 2.222 -.15(ve m)-.2 H 1.922 +(ore than one possible completion).15 F 1.039(without an)144 432 R 3.539 (yp)-.15 G 1.039 -(ossible partial completion \(the possible completions don')-3.54 F -3.539(ts)-.18 G 1.039(hare a common pre\214x\))-3.539 F(cause the match\ -es to be listed immediately instead of ringing the bell.)144 492 Q F2 -(skip\255completed\255text \(Off\))108 504 Q F0 .094(If set to)144 516 R -F2(On)2.594 E F0 2.594(,t)C .095(his alters the def)-2.594 F .095 -(ault completion beha)-.1 F .095 -(vior when inserting a single match into the line.)-.2 F(It')144 528 Q -2.546(so)-.55 G .046(nly acti)-2.546 F .346 -.15(ve w)-.25 H .046 -(hen performing completion in the middle of a w).15 F 2.545(ord. If)-.1 -F .045(enabled, readline does not)2.545 F 1.394(insert characters from \ -the completion that match characters after point in the w)144 540 R -1.395(ord being com-)-.1 F(pleted, so portions of the w)144 552 Q -(ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F2 -(visible\255stats \(Off\))108 564 Q F0 .847(If set to)144 576 R F2(On) +(ossible partial completion \(the possible completions don')-3.539 F +3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\ +s to be listed immediately instead of ringing the bell.)144 444 Q F1 +(skip\255completed\255text \(Off\))108 456 Q F0 .095(If set to)144 468 R +F1(On)2.595 E F0 2.595(,t)C .095(his alters the def)-2.595 F .095 +(ault completion beha)-.1 F .094 +(vior when inserting a single match into the line.)-.2 F(It')144 480 Q +2.545(so)-.55 G .045(nly acti)-2.545 F .345 -.15(ve w)-.25 H .046 +(hen performing completion in the middle of a w).15 F 2.546(ord. If)-.1 +F .046(enabled, readline does not)2.546 F 1.394(insert characters from \ +the completion that match characters after point in the w)144 492 R +1.394(ord being com-)-.1 F(pleted, so portions of the w)144 504 Q +(ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F1 +(visible\255stats \(Off\))108 516 Q F0 .846(If set to)144 528 R F1(On) 3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346 -(st)-.55 G .846(ype as reported by)-3.346 F F1(stat)3.346 E F0 .846 +(st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346 E F0 .846 (\(2\) is appended to the \214lename)B -(when listing possible completions.)144 588 Q F2 -(Readline Conditional Constructs)87 604.8 Q F0 .05 -(Readline implements a f)108 616.8 R .05(acility similar in spirit to t\ -he conditional compilation features of the C preprocessor)-.1 F .097 -(which allo)108 628.8 R .097(ws k)-.25 F .396 -.15(ey b)-.1 H .096 +(when listing possible completions.)144 540 Q F1 +(Readline Conditional Constructs)87 556.8 Q F0 .05 +(Readline implements a f)108 568.8 R .05(acility similar in spirit to t\ +he conditional compilation features of the C preprocessor)-.1 F .096 +(which allo)108 580.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096 (indings and v).15 F .096 -(ariable settings to be performed as the result of tests.)-.25 F .096 -(There are four parser)5.096 F(directi)108 640.8 Q -.15(ve)-.25 G 2.5 -(su).15 G(sed.)-2.5 E F2($if)108 657.6 Q F0(The)24.89 E F2($if)2.962 E -F0 .462(construct allo)2.962 F .463(ws bindings to be made based on the\ - editing mode, the terminal being used,)-.25 F .478 -(or the application using readline.)144 669.6 R .477(The te)5.477 F .477 +(ariable settings to be performed as the result of tests.)-.25 F .097 +(There are four parser)5.096 F(directi)108 592.8 Q -.15(ve)-.25 G 2.5 +(su).15 G(sed.)-2.5 E F1($if)108 609.6 Q F0(The)24.89 E F1($if)2.963 E +F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\ + editing mode, the terminal being used,)-.25 F .477 +(or the application using readline.)144 621.6 R .477(The te)5.477 F .477 (xt of the test e)-.15 F .477 (xtends to the end of the line; no characters)-.15 F -(are required to isolate it.)144 681.6 Q F2(mode)144 698.4 Q F0(The) -12.67 E F2(mode=)3.711 E F0 1.211(form of the)3.711 F F2($if)3.711 E F0 +(are required to isolate it.)144 633.6 Q F1(mode)144 650.4 Q F0(The) +12.67 E F1(mode=)3.712 E F0 1.212(form of the)3.712 F F1($if)3.711 E F0 (directi)3.711 E 1.511 -.15(ve i)-.25 H 3.711(su).15 G 1.211 (sed to test whether readline is in emacs or vi)-3.711 F 3.065 -(mode. This)180 710.4 R .565(may be used in conjunction with the)3.065 F -F2 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to) -3.065 F .735(set bindings in the)180 722.4 R F1(emacs\255standar)3.235 E -(d)-.37 E F0(and)3.235 E F1(emacs\255ctlx)3.235 E F0 -.1(ke)3.235 G .735 -(ymaps only if readline is starting)-.05 F(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(37)185.955 E 0 Cg EP +(mode. This)180 662.4 R .565(may be used in conjunction with the)3.065 F +F1 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to) +3.065 F .735(set bindings in the)180 674.4 R F2(emacs\255standar)3.235 E +(d)-.37 E F0(and)3.235 E F2(emacs\255ctlx)3.235 E F0 -.1(ke)3.235 G .735 +(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 686.4 +Q F1(term)144 703.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696 +(form may be used to include terminal-speci\214c k)3.196 F .996 -.15 +(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 715.2 R +.954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154 +(sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1 +(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 the both full name of the ter\ +minal and the portion of the terminal)-.05 F(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(37)185.955 E 0 Cg EP %%Page: 38 38 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(out in emacs mode.)180 84 Q/F1 10/Times-Bold@0 SF(term)144 100.8 -Q F0(The)15.46 E F1(term=)3.197 E F0 .696 -(form may be used to include terminal-speci\214c k)3.197 F .996 -.15 -(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 112.8 R -.954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154 -(sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1 -(wo)3.154 G .654(rd on the right side of).1 F(the)180 124.8 Q F1(=)3.232 -E F0 .732(is tested ag)3.232 F .732(ainst the both full name of the ter\ -minal and the portion of the terminal)-.05 F(name before the \214rst)180 -136.8 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E/F2 10 -/Times-Italic@0 SF(sun)2.84 E F0(to match both)2.74 E F2(sun)2.84 E F0 -(and)2.74 E F2(sun\255cmd)2.5 E F0 2.5(,f).77 G(or instance.)-2.5 E F1 -(application)144 153.6 Q F0(The)180 165.6 Q F1(application)3.003 E F0 -.503(construct is used to include application-speci\214c settings.)3.003 -F .503(Each program)5.503 F .114(using the readline library sets the)180 -177.6 R F2 .114(application name)2.614 F F0 2.614(,a)C .114 -(nd an initialization \214le can test for a)-2.614 F .5(particular v)180 -189.6 R 3(alue. This)-.25 F .501(could be used to bind k)3 F .801 -.15 -(ey s)-.1 H .501(equences to functions useful for a spe-).15 F .397 -(ci\214c program.)180 201.6 R -.15(Fo)5.397 G 2.896(ri).15 G .396 +-.35 E(name before the \214rst)180 84 Q/F1 10/Times-Bold@0 SF<ad>2.5 E +F0 5(.T)C(his allo)-5 E(ws)-.25 E/F2 10/Times-Italic@0 SF(sun)2.84 E F0 +(to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0 +2.5(,f).77 G(or instance.)-2.5 E F1(application)144 100.8 Q F0(The)180 +112.8 Q F1(application)3.003 E F0 .503 +(construct is used to include application-speci\214c settings.)3.003 F +.503(Each program)5.503 F .114(using the readline library sets the)180 +124.8 R F2 .114(application name)2.614 F F0 2.614(,a)C .114 +(nd an initialization \214le can test for a)-2.614 F .501(particular v) +180 136.8 R 3.001(alue. This)-.25 F .501(could be used to bind k)3.001 F +.801 -.15(ey s)-.1 H .5(equences to functions useful for a spe-).15 F +.396(ci\214c program.)180 148.8 R -.15(Fo)5.396 G 2.896(ri).15 G .396 (nstance, the follo)-2.896 F .396(wing command adds a k)-.25 F .696 -.15 -(ey s)-.1 H .396(equence that quotes the).15 F(current or pre)180 213.6 -Q(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 237.6 Q F0(Bash)2.5 E 2.5 -(#Q)180 249.6 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E -("\\C\255xq": "\\eb\\"\\ef\\"")180 261.6 Q F1($endif)180 273.6 Q($endif) -108 290.4 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E +(ey s)-.1 H .397(equence that quotes the).15 F(current or pre)180 160.8 +Q(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 184.8 Q F0(Bash)2.5 E 2.5 +(#Q)180 196.8 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E +("\\C\255xq": "\\eb\\"\\ef\\"")180 208.8 Q F1($endif)180 220.8 Q($endif) +108 237.6 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E (xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E F1($else) -108 307.2 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0 +108 254.4 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0 (directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe)-.15 G -(cuted if the test f).15 E(ails.)-.1 E F1($include)108 324 Q F0 .356 -(This directi)144 336 R .656 -.15(ve t)-.25 H(ak).15 E .356 -(es a single \214lename as an ar)-.1 F .357 +(cuted if the test f).15 E(ails.)-.1 E F1($include)108 271.2 Q F0 .357 +(This directi)144 283.2 R .657 -.15(ve t)-.25 H(ak).15 E .357 +(es a single \214lename as an ar)-.1 F .356 (gument and reads commands and bindings from that)-.18 F 2.5(\214le. F) -144 348 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3 +144 295.2 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3 -.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1 -($include)144 372 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 388.8 Q -(ching)-.18 E F0 .835(Readline pro)108 400.8 R .835 +($include)144 319.2 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 336 Q +(ching)-.18 E F0 .834(Readline pro)108 348 R .834 (vides commands for searching through the command history \(see)-.15 F -/F3 9/Times-Bold@0 SF(HIST)3.334 E(OR)-.162 E(Y)-.315 E F0(belo)3.084 E -.834(w\) for lines)-.25 F(containing a speci\214ed string.)108 412.8 Q +/F3 9/Times-Bold@0 SF(HIST)3.335 E(OR)-.162 E(Y)-.315 E F0(belo)3.085 E +.835(w\) for lines)-.25 F(containing a speci\214ed string.)108 360 Q (There are tw)5 E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E (emental)-.37 E F0(and)3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51 -E .697(Incremental searches be)108 429.6 R .697 +E .698(Incremental searches be)108 376.8 R .698 (gin before the user has \214nished typing the search string.)-.15 F -.698(As each character of the)5.698 F .113 -(search string is typed, readline displays the ne)108 441.6 R .112 +.697(As each character of the)5.697 F .112 +(search string is typed, readline displays the ne)108 388.8 R .112 (xt entry from the history matching the string typed so f)-.15 F(ar)-.1 -E 5.112(.A)-.55 G(n)-5.112 E .542 -(incremental search requires only as man)108 453.6 R 3.042(yc)-.15 G +E 5.113(.A)-.55 G(n)-5.113 E .542 +(incremental search requires only as man)108 400.8 R 3.042(yc)-.15 G .542(haracters as needed to \214nd the desired history entry)-3.042 F -5.542(.T)-.65 G .542(he char)-5.542 F(-)-.2 E .224 -(acters present in the v)108 465.6 R .224(alue of the)-.25 F F1(isear) +5.541(.T)-.65 G .541(he char)-5.541 F(-)-.2 E .224 +(acters present in the v)108 412.8 R .224(alue of the)-.25 F F1(isear) 2.724 E(ch-terminators)-.18 E F0 -.25(va)2.724 G .224 (riable are used to terminate an incremental search.).25 F .66 -(If that v)108 477.6 R .66(ariable has not been assigned a v)-.25 F .66 +(If that v)108 424.8 R .66(ariable has not been assigned a v)-.25 F .66 (alue the Escape and Control-J characters will terminate an incre-)-.25 -F .097(mental search.)108 489.6 R .096(Control-G will abort an incremen\ -tal search and restore the original line.)5.097 F .096 -(When the search is)5.096 F(terminated, the history entry containing th\ -e search string becomes the current line.)108 501.6 Q 2.938 -.8(To \214) -108 518.4 T 1.339(nd other matching entries in the history list, type C\ -ontrol-S or Control-R as appropriate.).8 F 1.339(This will)6.339 F .675 -(search backw)108 530.4 R .675(ard or forw)-.1 F .675 -(ard in the history for the ne)-.1 F .674 -(xt entry matching the search string typed so f)-.15 F(ar)-.1 E 5.674 -(.A)-.55 G -.15(ny)-5.674 G .174(other k)108 542.4 R .474 -.15(ey s)-.1 +F .096(mental search.)108 436.8 R .096(Control-G will abort an incremen\ +tal search and restore the original line.)5.096 F .097 +(When the search is)5.097 F(terminated, the history entry containing th\ +e search string becomes the current line.)108 448.8 Q 2.939 -.8(To \214) +108 465.6 T 1.339(nd other matching entries in the history list, type C\ +ontrol-S or Control-R as appropriate.).8 F 1.338(This will)6.338 F .674 +(search backw)108 477.6 R .674(ard or forw)-.1 F .674 +(ard in the history for the ne)-.1 F .675 +(xt entry matching the search string typed so f)-.15 F(ar)-.1 E 5.675 +(.A)-.55 G -.15(ny)-5.675 G .175(other k)108 489.6 R .475 -.15(ey s)-.1 H .174 (equence bound to a readline command will terminate the search and e).15 -F -.15(xe)-.15 G .175(cute that command.).15 F -.15(Fo)5.175 G(r).15 E -.541(instance, a)108 554.4 R F2(ne)3.041 E(wline)-.15 E F0 .541 -(will terminate the search and accept the line, thereby e)3.041 F -.15 -(xe)-.15 G .54(cuting the command from the).15 F(history list.)108 566.4 -Q .653(Readline remembers the last incremental search string.)108 583.2 -R .653(If tw)5.653 F 3.153(oC)-.1 G .653(ontrol-Rs are typed without an) --3.153 F 3.153(yi)-.15 G(nterv)-3.153 E(en-)-.15 E -(ing characters de\214ning a ne)108 595.2 Q 2.5(ws)-.25 G +F -.15(xe)-.15 G .174(cute that command.).15 F -.15(Fo)5.174 G(r).15 E +.54(instance, a)108 501.6 R F2(ne)3.04 E(wline)-.15 E F0 .541 +(will terminate the search and accept the line, thereby e)3.04 F -.15 +(xe)-.15 G .541(cuting the command from the).15 F(history list.)108 +513.6 Q .653(Readline remembers the last incremental search string.)108 +530.4 R .653(If tw)5.653 F 3.153(oC)-.1 G .653 +(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 542.4 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 .567(Non-incremental searches read the entire search string befo\ -re starting to search for matching history lines.)108 612 R(The search \ -string may be typed by the user or be part of the contents of the curre\ -nt line.)108 624 Q F1(Readline Command Names)87 640.8 Q F0 1.391 -(The follo)108 652.8 R 1.391 +re starting to search for matching history lines.)108 559.2 R(The searc\ +h string may be typed by the user or be part of the contents of the cur\ +rent line.)108 571.2 Q F1(Readline Command Names)87 588 Q F0 1.392 +(The follo)108 600 R 1.391 (wing is a list of the names of the commands and the def)-.25 F 1.391 (ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F -3.892(ya)-.15 G(re)-3.892 E 2.622(bound. Command)108 664.8 R .122 -(names without an accompan)2.622 F .122(ying k)-.15 F .421 -.15(ey s)-.1 -H .121(equence are unbound by def).15 F 2.621(ault. In)-.1 F .121 -(the follo)2.621 F(wing)-.25 E(descriptions,)108 676.8 Q F2(point)3.41 E -F0 .91(refers to the current cursor position, and)3.41 F F2(mark)3.411 E -F0 .911(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.411(db) -.15 G 3.411(yt)-3.411 G(he)-3.411 E F1(set\255mark)108 688.8 Q F0 2.5 +3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 612 R .121 +(names without an accompan)2.621 F .121(ying k)-.15 F .421 -.15(ey s)-.1 +H .122(equence are unbound by def).15 F 2.622(ault. In)-.1 F .122 +(the follo)2.622 F(wing)-.25 E(descriptions,)108 624 Q F2(point)3.411 E +F0 .911(refers to the current cursor position, and)3.411 F F2(mark)3.411 +E F0 .91(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.41(db) +.15 G 3.41(yt)-3.41 G(he)-3.41 E F1(set\255mark)108 636 Q F0 2.5 (command. The)2.5 F(te)2.5 E (xt between the point and mark is referred to as the)-.15 E F2 -.37(re) -2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 705.6 Q(or Mo)-.25 E(ving)-.1 -E F0(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(38)185.955 E 0 Cg -EP +2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 652.8 Q(or Mo)-.25 E(ving)-.1 +E(beginning\255of\255line \(C\255a\))108 664.8 Q F0(Mo)144 676.8 Q .3 +-.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F1 +(end\255of\255line \(C\255e\))108 688.8 Q F0(Mo)144 700.8 Q .3 -.15 +(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E(GNU Bash-4.1)72 768 +Q(2009 December 29)135.965 E(38)185.955 E 0 Cg EP %%Page: 39 39 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(beginning\255of\255line \(C\255a\))108 84 Q -F0(Mo)144 96 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G -(he start of the current line.)-2.5 E F1(end\255of\255line \(C\255e\)) -108 108 Q F0(Mo)144 120 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G -(he end of the line.)-2.5 E F1 -.25(fo)108 132 S -(rward\255char \(C\255f\)).25 E F0(Mo)144 144 Q .3 -.15(ve f)-.15 H(orw) -.15 E(ard a character)-.1 E(.)-.55 E F1(backward\255char \(C\255b\))108 -156 Q F0(Mo)144 168 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E -F1 -.25(fo)108 180 S(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 192 -Q .823 -.15(ve f)-.15 H(orw).15 E .523(ard to the end of the ne)-.1 F -.523(xt w)-.15 F 3.023(ord. W)-.1 F .522 +-.35 E/F1 10/Times-Bold@0 SF -.25(fo)108 84 S(rward\255char \(C\255f\)) +.25 E F0(Mo)144 96 Q .3 -.15(ve f)-.15 H(orw).15 E(ard a character)-.1 E +(.)-.55 E F1(backward\255char \(C\255b\))108 108 Q F0(Mo)144 120 Q .3 +-.15(ve b)-.15 H(ack a character).15 E(.)-.55 E F1 -.25(fo)108 132 S +(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 144 Q .822 -.15(ve f) +-.15 H(orw).15 E .522(ard to the end of the ne)-.1 F .523(xt w)-.15 F +3.023(ord. W)-.1 F .523 (ords are composed of alphanumeric characters \(let-)-.8 F -(ters and digits\).)144 204 Q F1(backward\255w)108 216 Q(ord \(M\255b\)) --.1 E F0(Mo)144 228 Q 1.71 -.15(ve b)-.15 H 1.41 +(ters and digits\).)144 156 Q F1(backward\255w)108 168 Q(ord \(M\255b\)) +-.1 E F0(Mo)144 180 Q 1.71 -.15(ve b)-.15 H 1.41 (ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91 (ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F -(characters \(letters and digits\).)144 240 Q F1(shell\255f)108 252 Q -(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 264 Q .784 -.15(ve f)-.15 H(orw) +(characters \(letters and digits\).)144 192 Q F1(shell\255f)108 204 Q +(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 216 Q .784 -.15(ve f)-.15 H(orw) .15 E .484(ard to the end of the ne)-.1 F .484(xt w)-.15 F 2.984(ord. W) -.1 F .484(ords are delimited by non-quoted shell metacharac-)-.8 F -(ters.)144 276 Q F1(shell\255backward\255w)108 288 Q(ord)-.1 E F0(Mo)144 -300 Q .908 -.15(ve b)-.15 H .609(ack to the start of the current or pre) -.15 F .609(vious w)-.25 F 3.109(ord. W)-.1 F .609 -(ords are delimited by non-quoted shell)-.8 F(metacharacters.)144 312 Q -F1(clear\255scr)108 324 Q(een \(C\255l\))-.18 E F0 .993 -(Clear the screen lea)144 336 R .993 +(ters.)144 228 Q F1(shell\255backward\255w)108 240 Q(ord)-.1 E F0(Mo)144 +252 Q .909 -.15(ve b)-.15 H .609(ack to the start of the current or pre) +.15 F .609(vious w)-.25 F 3.109(ord. W)-.1 F .608 +(ords are delimited by non-quoted shell)-.8 F(metacharacters.)144 264 Q +F1(clear\255scr)108 276 Q(een \(C\255l\))-.18 E F0 .993 +(Clear the screen lea)144 288 R .993 (ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993 G .993(th an ar).4 F .993(gument, refresh the)-.18 F -(current line without clearing the screen.)144 348 Q F1 -.18(re)108 360 +(current line without clearing the screen.)144 300 Q F1 -.18(re)108 312 S(draw\255curr).18 E(ent\255line)-.18 E F0(Refresh the current line.)144 -372 Q F1(Commands f)87 388.8 Q(or Manipulating the History)-.25 E -(accept\255line \(Newline, Retur)108 400.8 Q(n\))-.15 E F0 .158 -(Accept the line re)144 412.8 R -.05(ga)-.15 G .158 +324 Q F1(Commands f)87 340.8 Q(or Manipulating the History)-.25 E +(accept\255line \(Newline, Retur)108 352.8 Q(n\))-.15 E F0 .159 +(Accept the line re)144 364.8 R -.05(ga)-.15 G .159 (rdless of where the cursor is.).05 F .158(If this line is non-empty) -5.158 F 2.659(,a)-.65 G .159(dd it to the history list)-2.659 F .699 -(according to the state of the)144 424.8 R/F2 9/Times-Bold@0 SF +5.158 F 2.658(,a)-.65 G .158(dd it to the history list)-2.658 F .699 +(according to the state of the)144 376.8 R/F2 9/Times-Bold@0 SF (HISTCONTR)3.199 E(OL)-.27 E F0 -.25(va)2.949 G 3.199(riable. If).25 F .699(the line is a modi\214ed history line, then)3.199 F -(restore the history line to its original state.)144 436.8 Q F1(pr)108 -448.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0 -(Fetch the pre)144 460.8 Q(vious command from the history list, mo)-.25 -E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 472.8 -Q F0(Fetch the ne)144 484.8 Q(xt command from the history list, mo)-.15 +(restore the history line to its original state.)144 388.8 Q F1(pr)108 +400.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0 +(Fetch the pre)144 412.8 Q(vious command from the history list, mo)-.25 +E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 424.8 +Q F0(Fetch the ne)144 436.8 Q(xt command from the history list, mo)-.15 E(ving forw)-.15 E(ard in the list.)-.1 E F1 -(beginning\255of\255history \(M\255<\))108 496.8 Q F0(Mo)144 508.8 Q .3 +(beginning\255of\255history \(M\255<\))108 448.8 Q F0(Mo)144 460.8 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.) --.65 E F1(end\255of\255history \(M\255>\))108 520.8 Q F0(Mo)144 532.8 Q +-.65 E F1(end\255of\255history \(M\255>\))108 472.8 Q F0(Mo)144 484.8 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5 (,i)-.65 G(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18 -(re v)108 544.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 -1.47(Search backw)144 556.8 R 1.471 -(ard starting at the current line and mo)-.1 F 1.471 +(re v)108 496.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 +1.471(Search backw)144 508.8 R 1.471 +(ard starting at the current line and mo)-.1 F 1.47 (ving `up' through the history as necessary)-.15 F(.)-.65 E -(This is an incremental search.)144 568.8 Q F1 -.25(fo)108 580.8 S -(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132 -(Search forw)144 592.8 R 1.132(ard starting at the current line and mo) --.1 F 1.131(ving `do)-.15 F 1.131(wn' through the history as necessary) --.25 F(.)-.65 E(This is an incremental search.)144 604.8 Q F1 -(non\255incr)108 616.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H -(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .164(Search backw) -144 628.8 R .164(ard through the history starting at the current line u\ -sing a non-incremental search for)-.1 F 2.5(as)144 640.8 S -(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 652.8 Q +(This is an incremental search.)144 520.8 Q F1 -.25(fo)108 532.8 S +(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131 +(Search forw)144 544.8 R 1.131(ard starting at the current line and mo) +-.1 F 1.132(ving `do)-.15 F 1.132(wn' through the history as necessary) +-.25 F(.)-.65 E(This is an incremental search.)144 556.8 Q F1 +(non\255incr)108 568.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H +(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .165(Search backw) +144 580.8 R .164(ard through the history starting at the current line u\ +sing a non-incremental search for)-.1 F 2.5(as)144 592.8 S +(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 604.8 Q (emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18 -E F0 1.354(Search forw)144 664.8 R 1.354(ard through the history using \ +E F0 1.353(Search forw)144 616.8 R 1.354(ard through the history using \ a non-incremental search for a string supplied by the)-.1 F(user)144 -676.8 Q(.)-.55 E F1(history\255sear)108 688.8 Q(ch\255f)-.18 E(orward) --.25 E F0 .248(Search forw)144 700.8 R .249(ard through the history for\ +628.8 Q(.)-.55 E F1(history\255sear)108 640.8 Q(ch\255f)-.18 E(orward) +-.25 E F0 .249(Search forw)144 652.8 R .249(ard through the history for\ the string of characters between the start of the current line)-.1 F -(and the point.)144 712.8 Q(This is a non-incremental search.)5 E -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(39)185.955 E 0 Cg EP +(and the point.)144 664.8 Q(This is a non-incremental search.)5 E F1 +(history\255sear)108 676.8 Q(ch\255backward)-.18 E F0 .95(Search backw) +144 688.8 R .951(ard through the history for the string of characters b\ +etween the start of the current)-.1 F(line and the point.)144 700.8 Q +(This is a non-incremental search.)5 E(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(39)185.955 E 0 Cg EP %%Page: 40 40 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(history\255sear)108 84 Q(ch\255backward) --.18 E F0 .951(Search backw)144 96 R .951(ard through the history for t\ -he string of characters between the start of the current)-.1 F -(line and the point.)144 108 Q(This is a non-incremental search.)5 E F1 -(yank\255nth\255ar)108 120 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622 -(Insert the \214rst ar)144 132 R .622(gument to the pre)-.18 F .622 -(vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F -.622(vious line\))-.25 F .795(at point.)144 144 R -.4(Wi)5.795 G .794 -(th an ar).4 F(gument)-.18 E/F2 10/Times-Italic@0 SF(n)3.294 E F0 3.294 -(,i).24 G .794(nsert the)-3.294 F F2(n)3.294 E F0 .794(th w)B .794 -(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .794 -(ords in the)-.1 F(pre)144 156 Q .291(vious command be)-.25 F .291 -(gin with w)-.15 F .291(ord 0\).)-.1 F 2.791(An)5.291 G -2.25 -.15(eg a) --2.791 H(ti).15 E .591 -.15(ve a)-.25 H -.18(rg).15 G .291 -(ument inserts the).18 F F2(n)2.791 E F0 .291(th w)B .292 -(ord from the end of)-.1 F .282(the pre)144 168 R .282(vious command.) --.25 F .282(Once the ar)5.282 F(gument)-.18 E F2(n)2.781 E F0 .281 -(is computed, the ar)2.781 F .281(gument is e)-.18 F .281 -(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 180 Q -(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 192 Q -2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.307 -(Insert the last ar)144 204 R 1.307(gument to the pre)-.18 F 1.307 -(vious command \(the last w)-.25 F 1.308(ord of the pre)-.1 F 1.308 -(vious history entry\).)-.25 F -.4(Wi)144 216 S .736(th an ar).4 F .736 -(gument, beha)-.18 F 1.036 -.15(ve ex)-.2 H .736(actly lik).15 F(e)-.1 E -F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.735(.S)C(uccessi)-5.735 E -1.035 -.15(ve c)-.25 H .735(alls to).15 F F1(yank\255last\255ar)3.235 E -(g)-.1 E F0(mo)3.235 E -.15(ve)-.15 G .728 -(back through the history list, inserting the last ar)144 228 R .728 -(gument of each line in turn.)-.18 F .729(The history e)5.728 F(xpan-) --.15 E .14(sion f)144 240 R .14(acilities are used to e)-.1 F .14 +-.35 E/F1 10/Times-Bold@0 SF(yank\255nth\255ar)108 84 Q 2.5(g\()-.1 G +<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144 96 R .622 +(gument to the pre)-.18 F .622(vious command \(usually the second w)-.25 +F .622(ord on the pre)-.1 F .622(vious line\))-.25 F .794(at point.)144 +108 R -.4(Wi)5.794 G .794(th an ar).4 F(gument)-.18 E/F2 10 +/Times-Italic@0 SF(n)3.294 E F0 3.294(,i).24 G .794(nsert the)-3.294 F +F2(n)3.294 E F0 .794(th w)B .794(ord from the pre)-.1 F .794 +(vious command \(the w)-.25 F .795(ords in the)-.1 F(pre)144 120 Q .292 +(vious command be)-.25 F .292(gin with w)-.15 F .291(ord 0\).)-.1 F +2.791(An)5.291 G -2.25 -.15(eg a)-2.791 H(ti).15 E .591 -.15(ve a)-.25 H +-.18(rg).15 G .291(ument inserts the).18 F F2(n)2.791 E F0 .291(th w)B +.291(ord from the end of)-.1 F .281(the pre)144 132 R .281 +(vious command.)-.25 F .281(Once the ar)5.281 F(gument)-.18 E F2(n)2.781 +E F0 .281(is computed, the ar)2.781 F .281(gument is e)-.18 F .282 +(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 144 Q +(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 156 Q +2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.308 +(Insert the last ar)144 168 R 1.308(gument to the pre)-.18 F 1.307 +(vious command \(the last w)-.25 F 1.307(ord of the pre)-.1 F 1.307 +(vious history entry\).)-.25 F -.4(Wi)144 180 S .735(th an ar).4 F .735 +(gument, beha)-.18 F 1.035 -.15(ve ex)-.2 H .735(actly lik).15 F(e)-.1 E +F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.736(.S)C(uccessi)-5.736 E +1.036 -.15(ve c)-.25 H .736(alls to).15 F F1(yank\255last\255ar)3.236 E +(g)-.1 E F0(mo)3.236 E -.15(ve)-.15 G .728 +(back through the history list, inserting the last ar)144 192 R .728 +(gument of each line in turn.)-.18 F .728(The history e)5.728 F(xpan-) +-.15 E .14(sion f)144 204 R .14(acilities are used to e)-.1 F .14 (xtract the last ar)-.15 F .14(gument, as if the "!$" history e)-.18 F -.14(xpansion had been speci-)-.15 F(\214ed.)144 252 Q F1 -(shell\255expand\255line \(M\255C\255e\))108 264 Q F0 .622 -(Expand the line as the shell does.)144 276 R .622 -(This performs alias and history e)5.622 F .623 -(xpansion as well as all of the)-.15 F(shell w)144 288 Q(ord e)-.1 E 2.5 +.14(xpansion had been speci-)-.15 F(\214ed.)144 216 Q F1 +(shell\255expand\255line \(M\255C\255e\))108 228 Q F0 .623 +(Expand the line as the shell does.)144 240 R .622 +(This performs alias and history e)5.622 F .622 +(xpansion as well as all of the)-.15 F(shell w)144 252 Q(ord e)-.1 E 2.5 (xpansions. See)-.15 F/F3 9/Times-Bold@0 SF(HIST)2.5 E(OR)-.162 E 2.25 (YE)-.315 G(XP)-2.25 E(ANSION)-.666 E F0(belo)2.25 E 2.5(wf)-.25 G (or a description of history e)-2.5 E(xpansion.)-.15 E F1 -(history\255expand\255line \(M\255^\))108 300 Q F0 .939 -(Perform history e)144 312 R .939(xpansion on the current line.)-.15 F +(history\255expand\255line \(M\255^\))108 264 Q F0 .938 +(Perform history e)144 276 R .939(xpansion on the current line.)-.15 F (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.438(wf)-.25 G .938(or a descrip-) --3.438 F(tion of history e)144 324 Q(xpansion.)-.15 E F1(magic\255space) -108 336 Q F0 1.626(Perform history e)144 348 R 1.626 -(xpansion on the current line and insert a space.)-.15 F(See)6.627 E F3 -(HIST)4.127 E(OR)-.162 E 3.877(YE)-.315 G(XP)-3.877 E(ANSION)-.666 E F0 -(belo)144 360 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E -(xpansion.)-.15 E F1(alias\255expand\255line)108 372 Q F0 .395 -(Perform alias e)144 384 R .395(xpansion on the current line.)-.15 F -(See)5.395 E F3(ALIASES)2.895 E F0(abo)2.645 E .694 -.15(ve f)-.15 H -.394(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 396 Q F1 -(history\255and\255alias\255expand\255line)108 408 Q F0 -(Perform history and alias e)144 420 Q(xpansion on the current line.) --.15 E F1(insert\255last\255ar)108 432 Q(gument \(M\255.)-.1 E 2.5(,M) -.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 444 S(ynon)-2.5 E(ym for) +(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 288 Q(xpansion.)-.15 E F1(magic\255space) +108 300 Q F0 1.627(Perform history e)144 312 R 1.627 +(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F3 +(HIST)4.126 E(OR)-.162 E 3.876(YE)-.315 G(XP)-3.876 E(ANSION)-.666 E F0 +(belo)144 324 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E +(xpansion.)-.15 E F1(alias\255expand\255line)108 336 Q F0 .394 +(Perform alias e)144 348 R .394(xpansion on the current line.)-.15 F +(See)5.395 E F3(ALIASES)2.895 E F0(abo)2.645 E .695 -.15(ve f)-.15 H +.395(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 360 Q F1 +(history\255and\255alias\255expand\255line)108 372 Q F0 +(Perform history and alias e)144 384 Q(xpansion on the current line.) +-.15 E F1(insert\255last\255ar)108 396 Q(gument \(M\255.)-.1 E 2.5(,M) +.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 408 S(ynon)-2.5 E(ym for) -.15 E F1(yank\255last\255ar)2.5 E(g)-.1 E F0(.)A F1 -(operate\255and\255get\255next \(C\255o\))108 456 Q F0 .947 -(Accept the current line for e)144 468 R -.15(xe)-.15 G .948 -(cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.248 -.15 -(ve t)-.25 H 3.448(ot).15 G .948(he current line from the)-3.448 F -(history for editing.)144 480 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G +(operate\255and\255get\255next \(C\255o\))108 420 Q F0 .948 +(Accept the current line for e)144 432 R -.15(xe)-.15 G .948 +(cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.247 -.15 +(ve t)-.25 H 3.447(ot).15 G .947(he current line from the)-3.447 F +(history for editing.)144 444 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G (ument is ignored.).18 E F1 -(edit\255and\255execute\255command \(C\255xC\255e\))108 492 Q F0(In)144 -504 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026 +(edit\255and\255execute\255command \(C\255xC\255e\))108 456 Q F0(In)144 +468 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026 (ditor on the current command line, and e)-3.526 F -.15(xe)-.15 G 1.026 (cute the result as shell commands.).15 F F1(Bash)6.026 E F0 -(attempts to in)144 516 Q -.2(vo)-.4 G -.1(ke).2 G F3($VISU)2.6 E(AL) +(attempts to in)144 480 Q -.2(vo)-.4 G -.1(ke).2 G F3($VISU)2.6 E(AL) -.54 E/F4 9/Times-Roman@0 SF(,)A F3($EDIT)2.25 E(OR)-.162 E F4(,)A F0 (and)2.25 E F2(emacs)2.5 E F0(as the editor)2.5 E 2.5(,i)-.4 G 2.5(nt) --2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87 532.8 Q(or Changing T) --.25 E(ext)-.92 E(delete\255char \(C\255d\))108 544.8 Q F0 .357 -(Delete the character at point.)144 556.8 R .358(If point is at the be) +-2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87 496.8 Q(or Changing T) +-.25 E(ext)-.92 E(delete\255char \(C\255d\))108 508.8 Q F0 .358 +(Delete the character at point.)144 520.8 R .358(If point is at the be) 5.358 F .358(ginning of the line, there are no characters in the)-.15 F -(line, and the last character typed w)144 568.8 Q(as not bound to)-.1 E +(line, and the last character typed w)144 532.8 Q(as not bound to)-.1 E F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F3(EOF)2.5 E F4(.) -A F1(backward\255delete\255char \(Rubout\))108 580.8 Q F0 .553 -(Delete the character behind the cursor)144 592.8 R 5.553(.W)-.55 G .553 +A F1(backward\255delete\255char \(Rubout\))108 544.8 Q F0 .552 +(Delete the character behind the cursor)144 556.8 R 5.553(.W)-.55 G .553 (hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F -.552(gument, sa)-.18 F .852 -.15(ve t)-.2 H .552(he deleted te).15 F -.552(xt on)-.15 F(the kill ring.)144 604.8 Q F1 -.25(fo)108 616.8 S -(rward\255backward\255delete\255char).25 E F0 .473 -(Delete the character under the cursor)144 628.8 R 2.973(,u)-.4 G .474 -(nless the cursor is at the end of the line, in which case the)-2.973 F -(character behind the cursor is deleted.)144 640.8 Q F1 -(quoted\255insert \(C\255q, C\255v\))108 652.8 Q F0 .779(Add the ne)144 -664.8 R .779(xt character typed to the line v)-.15 F 3.279 +.553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553(he deleted te).15 F +.553(xt on)-.15 F(the kill ring.)144 568.8 Q F1 -.25(fo)108 580.8 S +(rward\255backward\255delete\255char).25 E F0 .474 +(Delete the character under the cursor)144 592.8 R 2.974(,u)-.4 G .474 +(nless the cursor is at the end of the line, in which case the)-2.974 F +(character behind the cursor is deleted.)144 604.8 Q F1 +(quoted\255insert \(C\255q, C\255v\))108 616.8 Q F0 .778(Add the ne)144 +628.8 R .779(xt character typed to the line v)-.15 F 3.279 (erbatim. This)-.15 F .779(is ho)3.279 F 3.279(wt)-.25 G 3.279(oi)-3.279 -G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.278 E F0 3.278 -(,f)C(or)-3.278 E -.15(ex)144 676.8 S(ample.).15 E F1 -(tab\255insert \(C\255v T)108 688.8 Q(AB\))-.9 E F0 -(Insert a tab character)144 700.8 Q(.)-.55 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(40)185.955 E 0 Cg EP +G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.279 E F0 3.279 +(,f)C(or)-3.279 E -.15(ex)144 640.8 S(ample.).15 E F1 +(tab\255insert \(C\255v T)108 652.8 Q(AB\))-.9 E F0 +(Insert a tab character)144 664.8 Q(.)-.55 E F1 +(self\255insert \(a, b, A, 1, !, ...\))108 676.8 Q F0 +(Insert the character typed.)144 688.8 Q F1 +(transpose\255chars \(C\255t\))108 700.8 Q F0 .322 +(Drag the character before point forw)144 712.8 R .321(ard o)-.1 F -.15 +(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .321 +(ving point forw)-.15 F .321(ard as well.)-.1 F 1.182 +(If point is at the end of the line, then this transposes the tw)144 +724.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E +-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(40)185.955 E 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(self\255insert \(a, b, A, 1, !, ...\))108 -84 Q F0(Insert the character typed.)144 96 Q F1 -(transpose\255chars \(C\255t\))108 108 Q F0 .321 -(Drag the character before point forw)144 120 R .321(ard o)-.1 F -.15 -(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .322 -(ving point forw)-.15 F .322(ard as well.)-.1 F 1.182 -(If point is at the end of the line, then this transposes the tw)144 132 -R 3.682(oc)-.1 G 1.182(haracters before point.)-3.682 F(Ne)6.182 E -.05 -(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 144 Q(guments ha)-.18 E .3 --.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1 -(transpose\255w)108 156 Q(ords \(M\255t\))-.1 E F0 .023(Drag the w)144 -168 R .023(ord before point past the w)-.1 F .023(ord after point, mo) --.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.524(rt).15 G .024(hat w) --2.524 F .024(ord as well.)-.1 F .024(If point)5.024 F -(is at the end of the line, this transposes the last tw)144 180 Q 2.5 -(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 192 Q -(ord \(M\255u\))-.1 E F0 1.699(Uppercase the current \(or follo)144 204 +-.35 E(ar)144 84 Q(guments ha)-.18 E .3 -.15(ve n)-.2 H 2.5(oe).15 G +-.25(ff)-2.5 G(ect.).25 E/F1 10/Times-Bold@0 SF(transpose\255w)108 96 Q +(ords \(M\255t\))-.1 E F0 .024(Drag the w)144 108 R .024 +(ord before point past the w)-.1 F .023(ord after point, mo)-.1 F .023 +(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w)-2.523 F +.023(ord as well.)-.1 F .023(If point)5.023 F +(is at the end of the line, this transposes the last tw)144 120 Q 2.5 +(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 132 Q +(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144 144 R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga) --.15 G(ti).05 E 1.998 -.15(ve a)-.25 H -.18(rg).15 G 1.698 -(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 216 S(rd, b).1 E -(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 228 Q -(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 240 Q 1.647 -(wercase the current \(or follo)-.25 F 1.647(wing\) w)-.25 F 4.147 -(ord. W)-.1 F 1.648(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.948 -.15 -(ve a)-.25 H -.18(rg).15 G 1.648(ument, lo).18 F 1.648(wercase the pre) --.25 F(vious)-.25 E -.1(wo)144 252 S(rd, b).1 E(ut do not mo)-.2 E .3 --.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 264 Q -(ord \(M\255c\))-.1 E F0 1.975(Capitalize the current \(or follo)144 276 +-.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699 +(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 156 S(rd, b).1 E +(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 168 Q +(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 180 Q 1.648 +(wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148 +(ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15 +(ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre) +-.25 F(vious)-.25 E -.1(wo)144 192 S(rd, b).1 E(ut do not mo)-.2 E .3 +-.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 204 Q +(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 216 R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.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 288 S(rd, b).1 -E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 300 -S(rwrite\255mode).1 E F0 -.8(To)144 312 S .437(ggle o).8 F -.15(ve)-.15 -G .437(rwrite mode.).15 F -.4(Wi)5.437 G .437(th an e).4 F .437 -(xplicit positi)-.15 F .738 -.15(ve n)-.25 H .438(umeric ar).15 F .438 -(gument, switches to o)-.18 F -.15(ve)-.15 G .438(rwrite mode.).15 F -.4 -(Wi)144 324 S .781(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 --.15(ve n)-.25 H .781(umeric ar).15 F .781 -(gument, switches to insert mode.)-.18 F .78(This command af)5.781 F -(fects)-.25 E(only)144 336 Q F1(emacs)4.394 E F0(mode;)4.394 E F1(vi) -4.394 E F0 1.894(mode does o)4.394 F -.15(ve)-.15 G 1.894(rwrite dif).15 -F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F/F2 10 -/Times-Italic@0 SF -.37(re)4.395 G(adline\(\)).37 E F0 1.895 -(starts in insert)4.395 F 3.969(mode. In)144 348 R -.15(ove)3.969 G -1.469(rwrite mode, characters bound to).15 F F1(self\255insert)3.969 E -F0 1.468(replace the te)3.969 F 1.468(xt at point rather than)-.15 F -.957(pushing the te)144 360 R .957(xt to the right.)-.15 F .958 -(Characters bound to)5.957 F F1(backward\255delete\255char)3.458 E F0 -.958(replace the character)3.458 F(before point with a space.)144 372 Q -(By def)5 E(ault, this command is unbound.)-.1 E F1(Killing and Y)87 -388.8 Q(anking)-.85 E(kill\255line \(C\255k\))108 400.8 Q F0 -(Kill the te)144 412.8 Q(xt from point to the end of the line.)-.15 E F1 -(backward\255kill\255line \(C\255x Rubout\))108 424.8 Q F0(Kill backw) -144 436.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1 -(unix\255line\255discard \(C\255u\))108 448.8 Q F0(Kill backw)144 460.8 +-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975 +(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 228 S(rd, b).1 +E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 240 +S(rwrite\255mode).1 E F0 -.8(To)144 252 S .438(ggle o).8 F -.15(ve)-.15 +G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438 +(xplicit positi)-.15 F .737 -.15(ve n)-.25 H .437(umeric ar).15 F .437 +(gument, switches to o)-.18 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4 +(Wi)144 264 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15 +(ve n)-.25 H .781(umeric ar).15 F .781(gument, switches to insert mode.) +-.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 276 Q F1 +(emacs)4.395 E F0(mode;)4.395 E F1(vi)4.395 E F0 1.894(mode does o)4.395 +F -.15(ve)-.15 G 1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G +1.894(ach call to)-6.894 F/F2 10/Times-Italic@0 SF -.37(re)4.394 G +(adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968(mode. In)144 +288 R -.15(ove)3.968 G 1.468(rwrite mode, characters bound to).15 F F1 +(self\255insert)3.969 E F0 1.469(replace the te)3.969 F 1.469 +(xt at point rather than)-.15 F .958(pushing the te)144 300 R .958 +(xt to the right.)-.15 F .957(Characters bound to)5.958 F F1 +(backward\255delete\255char)3.457 E F0 .957(replace the character)3.457 +F(before point with a space.)144 312 Q(By def)5 E +(ault, this command is unbound.)-.1 E F1(Killing and Y)87 328.8 Q +(anking)-.85 E(kill\255line \(C\255k\))108 340.8 Q F0(Kill the te)144 +352.8 Q(xt from point to the end of the line.)-.15 E F1 +(backward\255kill\255line \(C\255x Rubout\))108 364.8 Q F0(Kill backw) +144 376.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1 +(unix\255line\255discard \(C\255u\))108 388.8 Q F0(Kill backw)144 400.8 Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E (The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt) --2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 472.8 Q F0 +-2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 412.8 Q F0 (Kill all characters on the current line, no matter where point is.)144 -484.8 Q F1(kill\255w)108 496.8 Q(ord \(M\255d\))-.1 E F0 .729 +424.8 Q F1(kill\255w)108 436.8 Q(ord \(M\255d\))-.1 E F0 .728 +(Kill from point to the end of the current w)144 448.8 R .729 +(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729 +(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 460.8 S +(rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G +(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 472.8 Q +(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 484.8 Q(ord behind point.) +-.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1 +(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 496.8 Q +(ord \(M\255d\))-.1 E F0 .729 (Kill from point to the end of the current w)144 508.8 R .728 (ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728 (xt w)-.15 F(ord.)-.1 E -.8(Wo)144 520.8 S -(rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G -(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 532.8 Q -(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 544.8 Q(ord behind point.) --.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1 -(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 556.8 Q -(ord \(M\255d\))-.1 E F0 .728 -(Kill from point to the end of the current w)144 568.8 R .729 -(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729 -(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 580.8 S (rd boundaries are the same as those used by).8 E F1(shell\255f)2.5 E (orward\255w)-.25 E(ord)-.1 E F0(.)A F1(shell\255backward\255kill\255w) -108 592.8 Q(ord \(M\255Rubout\))-.1 E F0 3.025(Kill the w)144 604.8 R +108 532.8 Q(ord \(M\255Rubout\))-.1 E F0 3.025(Kill the w)144 544.8 R 3.025(ord behind point.)-.1 F -.8(Wo)8.025 G 3.025 (rd boundaries are the same as those used by).8 F F1(shell\255back-) -5.525 E(ward\255w)144 616.8 Q(ord)-.1 E F0(.)A F1(unix\255w)108 628.8 Q -(ord\255rubout \(C\255w\))-.1 E F0 .364(Kill the w)144 640.8 R .364 -(ord behind point, using white space as a w)-.1 F .365(ord boundary)-.1 -F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15 -(ve)-.2 G 2.865(do).15 G 2.865(nt)-2.865 G(he)-2.865 E(kill-ring.)144 -652.8 Q F1(unix\255\214lename\255rubout)108 664.8 Q F0 .167(Kill the w) -144 676.8 R .166 +5.525 E(ward\255w)144 556.8 Q(ord)-.1 E F0(.)A F1(unix\255w)108 568.8 Q +(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 580.8 R .365 +(ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1 +F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15 +(ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144 +592.8 Q F1(unix\255\214lename\255rubout)108 604.8 Q F0 .166(Kill the w) +144 616.8 R .166 (ord behind point, using white space and the slash character as the w) --.1 F .166(ord boundaries.)-.1 F(The)5.166 E(killed te)144 688.8 Q +-.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 628.8 Q (xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.) --2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 700.8 Q F0 -(Delete all spaces and tabs around point.)144 712.8 Q(GNU Bash-4.1)72 -768 Q(2009 December 23)135.965 E(41)185.955 E 0 Cg EP +-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 640.8 Q F0 +(Delete all spaces and tabs around point.)144 652.8 Q F1(kill\255r)108 +664.8 Q(egion)-.18 E F0(Kill the te)144 676.8 Q(xt in the current re) +-.15 E(gion.)-.15 E F1(copy\255r)108 688.8 Q(egion\255as\255kill)-.18 E +F0(Cop)144 700.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E +(gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E(GNU Bash-4.1)72 +768 Q(2009 December 29)135.965 E(41)185.955 E 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(kill\255r)108 84 Q(egion)-.18 E F0 -(Kill the te)144 96 Q(xt in the current re)-.15 E(gion.)-.15 E F1 -(copy\255r)108 108 Q(egion\255as\255kill)-.18 E F0(Cop)144 120 Q 2.5(yt) --.1 G(he te)-2.5 E(xt in the re)-.15 E(gion to the kill b)-.15 E(uf)-.2 -E(fer)-.25 E(.)-.55 E F1(copy\255backward\255w)108 132 Q(ord)-.1 E F0 -(Cop)144 144 Q 4.8(yt)-.1 G 2.3(he w)-4.8 F 2.3 +-.35 E/F1 10/Times-Bold@0 SF(copy\255backward\255w)108 84 Q(ord)-.1 E F0 +(Cop)144 96 Q 4.801(yt)-.1 G 2.301(he w)-4.801 F 2.301 (ord before point to the kill b)-.1 F(uf)-.2 E(fer)-.25 E 7.301(.T)-.55 -G 2.301(he w)-7.301 F 2.301(ord boundaries are the same as)-.1 F F1 -(back-)4.801 E(ward\255w)144 156 Q(ord)-.1 E F0(.)A F1(copy\255f)108 168 -Q(orward\255w)-.25 E(ord)-.1 E F0(Cop)144 180 Q 4.508(yt)-.1 G 2.008 -(he w)-4.508 F 2.008(ord follo)-.1 F 2.008(wing point to the kill b)-.25 -F(uf)-.2 E(fer)-.25 E 7.007(.T)-.55 G 2.007(he w)-7.007 F 2.007 -(ord boundaries are the same as)-.1 F F1 -.25(fo)4.507 G -.37(r-).25 G -(ward\255w)144 192 Q(ord)-.1 E F0(.)A F1(yank \(C\255y\))108 204 Q F0 -1 -(Ya)144 216 S(nk the top of the kill ring into the b)1 E(uf)-.2 E -(fer at point.)-.25 E F1(yank\255pop \(M\255y\))108 228 Q F0 -(Rotate the kill ring, and yank the ne)144 240 Q 2.5(wt)-.25 G 2.5 +G 2.301(he w)-7.301 F 2.3(ord boundaries are the same as)-.1 F F1(back-) +4.8 E(ward\255w)144 108 Q(ord)-.1 E F0(.)A F1(copy\255f)108 120 Q +(orward\255w)-.25 E(ord)-.1 E F0(Cop)144 132 Q 4.507(yt)-.1 G 2.007 +(he w)-4.507 F 2.007(ord follo)-.1 F 2.007(wing point to the kill b)-.25 +F(uf)-.2 E(fer)-.25 E 7.008(.T)-.55 G 2.008(he w)-7.008 F 2.008 +(ord boundaries are the same as)-.1 F F1 -.25(fo)4.508 G -.37(r-).25 G +(ward\255w)144 144 Q(ord)-.1 E F0(.)A F1(yank \(C\255y\))108 156 Q F0 -1 +(Ya)144 168 S(nk the top of the kill ring into the b)1 E(uf)-.2 E +(fer at point.)-.25 E F1(yank\255pop \(M\255y\))108 180 Q F0 +(Rotate the kill ring, and yank the ne)144 192 Q 2.5(wt)-.25 G 2.5 (op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E -F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 256.8 Q -(guments)-.1 E(digit\255ar)108 268.8 Q -(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .641 -(Add this digit to the ar)144 280.8 R .641 +F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 208.8 Q +(guments)-.1 E(digit\255ar)108 220.8 Q +(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642 +(Add this digit to the ar)144 232.8 R .641 (gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18 -(rg)-3.141 G 3.142(ument. M\255\255).18 F .642(starts a ne)3.142 F(g-) --.15 E(ati)144 292.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1 -(uni)108 304.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .779 -(This is another w)144 316.8 R .779(ay to specify an ar)-.1 F 3.279 -(gument. If)-.18 F .779(this command is follo)3.279 F .778 +(rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-) +-.15 E(ati)144 244.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1 +(uni)108 256.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778 +(This is another w)144 268.8 R .779(ay to specify an ar)-.1 F 3.279 +(gument. If)-.18 F .779(this command is follo)3.279 F .779 (wed by one or more digits,)-.25 F 1.376 (optionally with a leading minus sign, those digits de\214ne the ar)144 -328.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144 -340.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni) +280.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144 +292.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni) 3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(ag)3.67 E 1.17 (ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other) --.2 F(-)-.2 E .898(wise ignored.)144 352.8 R .898 -(As a special case, if this command is immediately follo)5.898 F .898 +-.2 F(-)-.2 E .899(wise ignored.)144 304.8 R .898 +(As a special case, if this command is immediately follo)5.899 F .898 (wed by a character that is)-.25 F .243 -(neither a digit or minus sign, the ar)144 364.8 R .243 +(neither a digit or minus sign, the ar)144 316.8 R .243 (gument count for the ne)-.18 F .243(xt command is multiplied by four) --.15 F 5.242(.T)-.55 G(he)-5.242 E(ar)144 376.8 Q .378 +-.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 328.8 Q .378 (gument count is initially one, so e)-.18 F -.15(xe)-.15 G .378 (cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F -.378(gument count)-.18 F(four)144 388.8 Q 2.5(,as)-.4 G(econd time mak) +.378(gument count)-.18 F(four)144 340.8 Q 2.5(,as)-.4 G(econd time mak) -2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F1 -(Completing)87 405.6 Q(complete \(T)108 417.6 Q(AB\))-.9 E F0 1.137 -(Attempt to perform completion on the te)144 429.6 R 1.137 +(Completing)87 357.6 Q(complete \(T)108 369.6 Q(AB\))-.9 E F0 1.137 +(Attempt to perform completion on the te)144 381.6 R 1.137 (xt before point.)-.15 F F1(Bash)6.137 E F0 1.137 -(attempts completion treating the)3.637 F(te)144 441.6 Q .532(xt as a v) --.15 F .532(ariable \(if the te)-.25 F .532(xt be)-.15 F .533(gins with) --.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .533(xt be)-.15 F -.533(gins with)-.15 F F1(~)3.033 E F0 .533(\), hostname \(if the)B(te) -144 453.6 Q .702(xt be)-.15 F .702(gins with)-.15 F F1(@)3.202 E F0 .701 -(\), or command \(including aliases and functions\) in turn.)B .701 +(attempts completion treating the)3.637 F(te)144 393.6 Q .533(xt as a v) +-.15 F .533(ariable \(if the te)-.25 F .533(xt be)-.15 F .533(gins with) +-.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .532(xt be)-.15 F +.532(gins with)-.15 F F1(~)3.032 E F0 .532(\), hostname \(if the)B(te) +144 405.6 Q .701(xt be)-.15 F .701(gins with)-.15 F F1(@)3.201 E F0 .701 +(\), or command \(including aliases and functions\) in turn.)B .702 (If none of these pro-)5.701 F -(duces a match, \214lename completion is attempted.)144 465.6 Q F1 -(possible\255completions \(M\255?\))108 477.6 Q F0 -(List the possible completions of the te)144 489.6 Q(xt before point.) --.15 E F1(insert\255completions \(M\255*\))108 501.6 Q F0 .783 -(Insert all completions of the te)144 513.6 R .783 +(duces a match, \214lename completion is attempted.)144 417.6 Q F1 +(possible\255completions \(M\255?\))108 429.6 Q F0 +(List the possible completions of the te)144 441.6 Q(xt before point.) +-.15 E F1(insert\255completions \(M\255*\))108 453.6 Q F0 .783 +(Insert all completions of the te)144 465.6 R .783 (xt before point that w)-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H -.783(een generated by).15 F F1(possible\255com-)3.283 E(pletions)144 -525.6 Q F0(.)A F1(menu\255complete)108 537.6 Q F0 .929(Similar to)144 -549.6 R F1(complete)3.429 E F0 3.429(,b)C .929(ut replaces the w)-3.629 +.783(een generated by).15 F F1(possible\255com-)3.282 E(pletions)144 +477.6 Q F0(.)A F1(menu\255complete)108 489.6 Q F0 .928(Similar to)144 +501.6 R F1(complete)3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628 F .929(ord to be completed with a single match from the list of)-.1 F -1.193(possible completions.)144 561.6 R 1.193(Repeated e)6.193 F -.15 -(xe)-.15 G 1.193(cution of).15 F F1(menu\255complete)3.694 E F0 1.194 -(steps through the list of possible)3.694 F .829 -(completions, inserting each match in turn.)144 573.6 R .828 +1.194(possible completions.)144 513.6 R 1.194(Repeated e)6.194 F -.15 +(xe)-.15 G 1.194(cution of).15 F F1(menu\255complete)3.694 E F0 1.193 +(steps through the list of possible)3.694 F .828 +(completions, inserting each match in turn.)144 525.6 R .828 (At the end of the list of completions, the bell is rung)5.828 F .727 -(\(subject to the setting of)144 585.6 R F1(bell\255style)3.227 E F0 +(\(subject to the setting of)144 537.6 R F1(bell\255style)3.227 E F0 3.227(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F .727(An ar)5.727 F .727(gument of)-.18 F/F2 10/Times-Italic@0 SF(n)3.227 -E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.228 E F0 1.73 -(positions forw)144 597.6 R 1.73(ard in the list of matches; a ne)-.1 F +E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.227 E F0 1.73 +(positions forw)144 549.6 R 1.73(ard in the list of matches; a ne)-.1 F -.05(ga)-.15 G(ti).05 E 2.03 -.15(ve a)-.25 H -.18(rg).15 G 1.73 (ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1 -E(through the list.)144 609.6 Q(This command is intended to be bound to) +E(through the list.)144 561.6 Q(This command is intended to be bound to) 5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E -(ault.)-.1 E F1(menu\255complete-)108 621.6 Q(w)10 I(k)-7.22 -10 M(c) --5.56 -10 M(rd)2.78 10 M F0 .82(Identical to)144 633.6 R F1 +(ault.)-.1 E F1(menu\255complete-)108 573.6 Q(w)10 I(k)-7.22 -10 M(c) +-5.56 -10 M(rd)2.78 10 M F0 .82(Identical to)144 585.6 R F1 (menu\255complete)3.32 E F0 3.32(,b)C .82(ut mo)-3.52 F -.15(ve)-.15 G 3.32(sb).15 G(ackw)-3.32 E .82 (ard through the list of possible completions, as if)-.1 F F1 -(menu\255complete)144 645.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5 +(menu\255complete)144 597.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5 (nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg) .15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E -F1(delete\255char\255or\255list)108 657.6 Q F0 .234 -(Deletes the character under the cursor if not at the be)144 669.6 R +F1(delete\255char\255or\255list)108 609.6 Q F0 .234 +(Deletes the character under the cursor if not at the be)144 621.6 R .234(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete\255char) -2.734 E F0(\).)A .425(If at the end of the line, beha)144 681.6 R -.15 +2.735 E F0(\).)A .425(If at the end of the line, beha)144 633.6 R -.15 (ve)-.2 G 2.925(si).15 G .425(dentically to)-2.925 F F1 (possible\255completions)2.925 E F0 5.425(.T)C .425 -(his command is unbound)-5.425 F(by def)144 693.6 Q(ault.)-.1 E F1 -(complete\255\214lename \(M\255/\))108 705.6 Q F0 -(Attempt \214lename completion on the te)144 717.6 Q(xt before point.) --.15 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(42)185.955 E 0 -Cg EP +(his command is unbound)-5.425 F(by def)144 645.6 Q(ault.)-.1 E F1 +(complete\255\214lename \(M\255/\))108 657.6 Q F0 +(Attempt \214lename completion on the te)144 669.6 Q(xt before point.) +-.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 681.6 Q +F0(List the possible completions of the te)144 693.6 Q +(xt before point, treating it as a \214lename.)-.15 E F1 +(complete\255user)108 705.6 Q(name \(M\255~\))-.15 E F0 +(Attempt completion on the te)144 717.6 Q +(xt before point, treating it as a username.)-.15 E(GNU Bash-4.1)72 768 +Q(2009 December 29)135.965 E(42)185.955 E 0 Cg EP %%Page: 43 43 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF -(possible\255\214lename\255completions \(C\255x /\))108 84 Q F0 +-.35 E/F1 10/Times-Bold@0 SF(possible\255user)108 84 Q +(name\255completions \(C\255x ~\))-.15 E F0 (List the possible completions of the te)144 96 Q -(xt before point, treating it as a \214lename.)-.15 E F1 -(complete\255user)108 108 Q(name \(M\255~\))-.15 E F0 -(Attempt completion on the te)144 120 Q -(xt before point, treating it as a username.)-.15 E F1(possible\255user) -108 132 Q(name\255completions \(C\255x ~\))-.15 E F0 -(List the possible completions of the te)144 144 Q (xt before point, treating it as a username.)-.15 E F1(complete\255v)108 -156 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144 168 Q +108 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144 120 Q (xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1 -(possible\255v)108 180 Q(ariable\255completions \(C\255x $\))-.1 E F0 -(List the possible completions of the te)144 192 Q +(possible\255v)108 132 Q(ariable\255completions \(C\255x $\))-.1 E F0 +(List the possible completions of the te)144 144 Q (xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1 -(complete\255hostname \(M\255@\))108 204 Q F0 -(Attempt completion on the te)144 216 Q +(complete\255hostname \(M\255@\))108 156 Q F0 +(Attempt completion on the te)144 168 Q (xt before point, treating it as a hostname.)-.15 E F1 -(possible\255hostname\255completions \(C\255x @\))108 228 Q F0 -(List the possible completions of the te)144 240 Q +(possible\255hostname\255completions \(C\255x @\))108 180 Q F0 +(List the possible completions of the te)144 192 Q (xt before point, treating it as a hostname.)-.15 E F1 -(complete\255command \(M\255!\))108 252 Q F0 .581 -(Attempt completion on the te)144 264 R .581 -(xt before point, treating it as a command name.)-.15 F .58 -(Command comple-)5.58 F .715(tion attempts to match the te)144 276 R +(complete\255command \(M\255!\))108 204 Q F0 .58 +(Attempt completion on the te)144 216 R .581 +(xt before point, treating it as a command name.)-.15 F .581 +(Command comple-)5.581 F .715(tion attempts to match the te)144 228 R .715(xt ag)-.15 F .715(ainst aliases, reserv)-.05 F .715(ed w)-.15 F .715(ords, shell functions, shell b)-.1 F .715(uiltins, and)-.2 F -(\214nally e)144 288 Q -.15(xe)-.15 G +(\214nally e)144 240 Q -.15(xe)-.15 G (cutable \214lenames, in that order).15 E(.)-.55 E F1 -(possible\255command\255completions \(C\255x !\))108 300 Q F0 -(List the possible completions of the te)144 312 Q +(possible\255command\255completions \(C\255x !\))108 252 Q F0 +(List the possible completions of the te)144 264 Q (xt before point, treating it as a command name.)-.15 E F1 -(dynamic\255complete\255history \(M\255T)108 324 Q(AB\))-.9 E F0 .425 -(Attempt completion on the te)144 336 R .425 -(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .424 +(dynamic\255complete\255history \(M\255T)108 276 Q(AB\))-.9 E F0 .424 +(Attempt completion on the te)144 288 R .425 +(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .425 (ainst lines from the history list)-.05 F -(for possible completion matches.)144 348 Q F1(dab)108 360 Q(br)-.1 E --.15(ev)-.18 G(\255expand).15 E F0 .61 -(Attempt menu completion on the te)144 372 R .611 -(xt before point, comparing the te)-.15 F .611(xt ag)-.15 F .611 +(for possible completion matches.)144 300 Q F1(dab)108 312 Q(br)-.1 E +-.15(ev)-.18 G(\255expand).15 E F0 .611 +(Attempt menu completion on the te)144 324 R .611 +(xt before point, comparing the te)-.15 F .61(xt ag)-.15 F .61 (ainst lines from the his-)-.05 F -(tory list for possible completion matches.)144 384 Q F1 -(complete\255into\255braces \(M\255{\))108 396 Q F0 .4(Perform \214lena\ +(tory list for possible completion matches.)144 336 Q F1 +(complete\255into\255braces \(M\255{\))108 348 Q F0 .4(Perform \214lena\ me completion and insert the list of possible completions enclosed with\ -in braces so)144 408 R(the list is a)144 420 Q -.25(va)-.2 G +in braces so)144 360 R(the list is a)144 372 Q -.25(va)-.2 G (ilable to the shell \(see).25 E F1(Brace Expansion)2.5 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 436.8 S(yboard Macr).25 E(os)-.18 -E(start\255kbd\255macr)108 448.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)) -.833 E F0(Be)144 460.8 Q(gin sa)-.15 E +-.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 388.8 S(yboard Macr).25 E(os)-.18 +E(start\255kbd\255macr)108 400.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)) +.833 E F0(Be)144 412.8 Q(gin sa)-.15 E (ving the characters typed into the current k)-.2 E -.15(ey)-.1 G -(board macro.).15 E F1(end\255kbd\255macr)108 472.8 Q 2.5(o\()-.18 G -(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 484.8 Q +(board macro.).15 E F1(end\255kbd\255macr)108 424.8 Q 2.5(o\()-.18 G +(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 436.8 Q (ving the characters typed into the current k)-.2 E -.15(ey)-.1 G (board macro and store the de\214nition.).15 E F1 -(call\255last\255kbd\255macr)108 496.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5 -E F0(Re-e)144 508.8 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey) --.1 G .999(board macro de\214ned, by making the characters in the macro\ - appear as if).15 F(typed at the k)144 520.8 Q -.15(ey)-.1 G(board.).15 -E F1(Miscellaneous)87 537.6 Q -.18(re)108 549.6 S<ad72>.18 E -(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.777 -(Read in the contents of the)144 561.6 R/F2 10/Times-Italic@0 SF(inputr) -4.277 E(c)-.37 E F0 1.776(\214le, and incorporate an)4.276 F 4.276(yb) --.15 G 1.776(indings or v)-4.276 F 1.776(ariable assignments)-.25 F -(found there.)144 573.6 Q F1(abort \(C\255g\))108 585.6 Q F0 3.248 -(Abort the current editing command and ring the terminal')144 597.6 R -5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1 -(bell\255style)144 609.6 Q F0(\).)A F1(do\255upper)108 621.6 Q +(call\255last\255kbd\255macr)108 448.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5 +E F0(Re-e)144 460.8 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1 +G .999(board macro de\214ned, by making the characters in the macro app\ +ear as if).15 F(typed at the k)144 472.8 Q -.15(ey)-.1 G(board.).15 E F1 +(Miscellaneous)87 489.6 Q -.18(re)108 501.6 S<ad72>.18 E +(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776 +(Read in the contents of the)144 513.6 R/F2 10/Times-Italic@0 SF(inputr) +4.276 E(c)-.37 E F0 1.777(\214le, and incorporate an)4.276 F 4.277(yb) +-.15 G 1.777(indings or v)-4.277 F 1.777(ariable assignments)-.25 F +(found there.)144 525.6 Q F1(abort \(C\255g\))108 537.6 Q F0 3.249 +(Abort the current editing command and ring the terminal')144 549.6 R +5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1 +(bell\255style)144 561.6 Q F0(\).)A F1(do\255upper)108 573.6 Q (case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.) -C(..\))-2.5 E F0 1.756(If the meta\214ed character)144 633.6 R F2(x) -4.256 E F0 1.755(is lo)4.256 F 1.755 +C(..\))-2.5 E F0 1.755(If the meta\214ed character)144 585.6 R F2(x) +4.255 E F0 1.755(is lo)4.255 F 1.756 (wercase, run the command that is bound to the corresponding)-.25 F -(uppercase character)144 645.6 Q(.)-.55 E F1(pr)108 657.6 Q -(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 669.6 Q +(uppercase character)144 597.6 Q(.)-.55 E F1(pr)108 609.6 Q +(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 621.6 Q (xt character typed.)-.15 E/F3 9/Times-Bold@0 SF(ESC)5 E F1(f)2.25 E F0 (is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1(Meta\255f)2.5 E F0(.)A F1 -(undo \(C\255_, C\255x C\255u\))108 681.6 Q F0 -(Incremental undo, separately remembered for each line.)144 693.6 Q F1 --2.29 -.18(re v)108 705.6 T(ert\255line \(M\255r\)).08 E F0 1.095 -(Undo all changes made to this line.)144 717.6 R 1.095(This is lik)6.095 +(undo \(C\255_, C\255x C\255u\))108 633.6 Q F0 +(Incremental undo, separately remembered for each line.)144 645.6 Q F1 +-2.29 -.18(re v)108 657.6 T(ert\255line \(M\255r\)).08 E F0 1.095 +(Undo all changes made to this line.)144 669.6 R 1.095(This is lik)6.095 F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E F0 1.095(command enough times to)3.595 F -(return the line to its initial state.)144 729.6 Q(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(43)185.955 E 0 Cg EP +(return the line to its initial state.)144 681.6 Q F1 +(tilde\255expand \(M\255&\))108 693.6 Q F0(Perform tilde e)144 705.6 Q +(xpansion on the current w)-.15 E(ord.)-.1 E(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(43)185.955 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(tilde\255expand \(M\255&\))108 84 Q F0 -(Perform tilde e)144 96 Q(xpansion on the current w)-.15 E(ord.)-.1 E F1 -(set\255mark \(C\255@, M\255<space>\))108 108 Q F0 -(Set the mark to the point.)144 120 Q(If a numeric ar)5 E +-.35 E/F1 10/Times-Bold@0 SF(set\255mark \(C\255@, M\255<space>\))108 84 +Q F0(Set the mark to the point.)144 96 Q(If a numeric ar)5 E (gument is supplied, the mark is set to that position.)-.18 E F1 -(exchange\255point\255and\255mark \(C\255x C\255x\))108 132 Q F0(Sw)144 -144 Q .283(ap the point with the mark.)-.1 F .283 +(exchange\255point\255and\255mark \(C\255x C\255x\))108 108 Q F0(Sw)144 +120 Q .282(ap the point with the mark.)-.1 F .283 (The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G -2.782(dp).15 G .282(osition, and the old)-2.782 F(cursor position is sa) -144 156 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1 -(character\255sear)108 168 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144 180 S -.535(haracter is read and point is mo)-3.035 F -.15(ve)-.15 G 3.035(dt) +2.783(dp).15 G .283(osition, and the old)-2.783 F(cursor position is sa) +144 132 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1 +(character\255sear)108 144 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144 156 S +.536(haracter is read and point is mo)-3.036 F -.15(ve)-.15 G 3.035(dt) .15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535 -(xt occurrence of that character)-.15 F 5.536(.A)-.55 G(ne)-2.5 E -.05 -(ga)-.15 G(ti).05 E .836 -.15(ve c)-.25 H(ount).15 E(searches for pre) -144 192 Q(vious occurrences.)-.25 E F1(character\255sear)108 204 Q -(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 216 S 1.044 -(haracter is read and point is mo)-3.544 F -.15(ve)-.15 G 3.544(dt).15 G +(xt occurrence of that character)-.15 F 5.535(.A)-.55 G(ne)-2.5 E -.05 +(ga)-.15 G(ti).05 E .835 -.15(ve c)-.25 H(ount).15 E(searches for pre) +144 168 Q(vious occurrences.)-.25 E F1(character\255sear)108 180 Q +(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 192 S 1.043 +(haracter is read and point is mo)-3.543 F -.15(ve)-.15 G 3.544(dt).15 G 3.544(ot)-3.544 G 1.044(he pre)-3.544 F 1.044 -(vious occurrence of that character)-.25 F 6.043(.A)-.55 G(ne)-2.5 E +(vious occurrence of that character)-.25 F 6.044(.A)-.55 G(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G -(count searches for subsequent occurrences.)144 228 Q F1 -(skip\255csi\255sequence \(\))108 240 Q F0 1.826 -(Read enough characters to consume a multi-k)144 252 R 2.126 -.15(ey s) --.1 H 1.827(equence such as those de\214ned for k).15 F -.15(ey)-.1 G -4.327(sl).15 G(ik)-4.327 E(e)-.1 E .791(Home and End.)144 264 R .791 -(Such sequences be)5.791 F .791 +(count searches for subsequent occurrences.)144 204 Q F1 +(skip\255csi\255sequence \(\))108 216 Q F0 1.827 +(Read enough characters to consume a multi-k)144 228 R 2.126 -.15(ey s) +-.1 H 1.826(equence such as those de\214ned for k).15 F -.15(ey)-.1 G +4.326(sl).15 G(ik)-4.326 E(e)-.1 E .79(Home and End.)144 240 R .791 +(Such sequences be)5.79 F .791 (gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F -.331(If this sequence is bound to "\\[", k)144 276 R -.15(ey)-.1 G 2.831 -(sp).15 G .331(roducing such sequences will ha)-2.831 F .632 -.15(ve n) --.2 H 2.832(oe).15 G -.25(ff)-2.832 G .332(ect unless e).25 F(xplic-) +.332(If this sequence is bound to "\\[", k)144 252 R -.15(ey)-.1 G 2.831 +(sp).15 G .331(roducing such sequences will ha)-2.831 F .631 -.15(ve n) +-.2 H 2.831(oe).15 G -.25(ff)-2.831 G .331(ect unless e).25 F(xplic-) -.15 E .026(itly bound to a readline command, instead of inserting stra\ -y characters into the editing b)144 288 R(uf)-.2 E(fer)-.25 E 5.026(.T) --.55 G(his)-5.026 E(is unbound by def)144 300 Q(ault, b)-.1 E +y characters into the editing b)144 264 R(uf)-.2 E(fer)-.25 E 5.026(.T) +-.55 G(his)-5.026 E(is unbound by def)144 276 Q(ault, b)-.1 E (ut usually bound to ESC\255[.)-.2 E F1(insert\255comment \(M\255#\))108 -312 Q F0 -.4(Wi)144 324 S .48(thout a numeric ar).4 F .48(gument, the v) --.18 F .481(alue of the readline)-.25 F F1(comment\255begin)2.981 E F0 --.25(va)2.981 G .481(riable is inserted at the).25 F(be)144 336 Q .098 -(ginning of the current line.)-.15 F .098(If a numeric ar)5.098 F .097 -(gument is supplied, this command acts as a toggle:)-.18 F(if)5.097 E -.321(the characters at the be)144 348 R .321 +288 Q F0 -.4(Wi)144 300 S .481(thout a numeric ar).4 F .481 +(gument, the v)-.18 F .481(alue of the readline)-.25 F F1 +(comment\255begin)2.981 E F0 -.25(va)2.981 G .48 +(riable is inserted at the).25 F(be)144 312 Q .097 +(ginning of the current line.)-.15 F .098(If a numeric ar)5.097 F .098 +(gument is supplied, this command acts as a toggle:)-.18 F(if)5.098 E +.322(the characters at the be)144 324 R .321 (ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F1 -(comment\255begin)2.821 E F0 2.822(,t)C .322(he v)-2.822 F .322(alue is) --.25 F .832(inserted, otherwise the characters in)144 360 R F1 -(comment\255begin)3.332 E F0 .831(are deleted from the be)3.332 F .831 -(ginning of the line.)-.15 F 1.468 -(In either case, the line is accepted as if a ne)144 372 R 1.468 -(wline had been typed.)-.25 F 1.469(The def)6.469 F 1.469(ault v)-.1 F -1.469(alue of)-.25 F F1(com-)3.969 E(ment\255begin)144 384 Q F0 .84 -(causes this command to mak)3.34 F 3.339(et)-.1 G .839 -(he current line a shell comment.)-3.339 F .839(If a numeric ar)5.839 F -(gu-)-.18 E(ment causes the comment character to be remo)144 396 Q -.15 +(comment\255begin)2.821 E F0 2.821(,t)C .321(he v)-2.821 F .321(alue is) +-.25 F .831(inserted, otherwise the characters in)144 336 R F1 +(comment\255begin)3.331 E F0 .832(are deleted from the be)3.331 F .832 +(ginning of the line.)-.15 F 1.469 +(In either case, the line is accepted as if a ne)144 348 R 1.468 +(wline had been typed.)-.25 F 1.468(The def)6.468 F 1.468(ault v)-.1 F +1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 360 Q F0 .839 +(causes this command to mak)3.339 F 3.339(et)-.1 G .839 +(he current line a shell comment.)-3.339 F .84(If a numeric ar)5.84 F +(gu-)-.18 E(ment causes the comment character to be remo)144 372 Q -.15 (ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G -(cuted by the shell.).15 E F1(glob\255complete\255w)108 408 Q -(ord \(M\255g\))-.1 E F0 .791(The w)144 420 R .791 -(ord before point is treated as a pattern for pathname e)-.1 F .792 -(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 432 +(cuted by the shell.).15 E F1(glob\255complete\255w)108 384 Q +(ord \(M\255g\))-.1 E F0 .792(The w)144 396 R .791 +(ord before point is treated as a pattern for pathname e)-.1 F .791 +(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 408 R(pattern is used to generate a list of matching \214le names for possi\ -ble completions.)2.5 E F1(glob\255expand\255w)108 444 Q -(ord \(C\255x *\))-.1 E F0 .372(The w)144 456 R .372 -(ord before point is treated as a pattern for pathname e)-.1 F .371 +ble completions.)2.5 E F1(glob\255expand\255w)108 420 Q +(ord \(C\255x *\))-.1 E F0 .371(The w)144 432 R .372 +(ord before point is treated as a pattern for pathname e)-.1 F .372 (xpansion, and the list of matching \214le)-.15 F .516 -(names is inserted, replacing the w)144 468 R 3.016(ord. If)-.1 F 3.016 +(names is inserted, replacing the w)144 444 R 3.016(ord. If)-.1 F 3.016 (an)3.016 G .516(umeric ar)-3.016 F .516 (gument is supplied, an asterisk is appended)-.18 F(before pathname e) -144 480 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\)) -108 492 Q F0 .923(The list of e)144 504 R .923(xpansions that w)-.15 F +144 456 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\)) +108 468 Q F0 .923(The list of e)144 480 R .923(xpansions that w)-.15 F .923(ould ha)-.1 F 1.223 -.15(ve b)-.2 H .923(een generated by).15 F F1 (glob\255expand\255w)3.423 E(ord)-.1 E F0 .923(is displayed, and)3.423 F -.872(the line is redra)144 516 R 3.372(wn. If)-.15 F 3.372(an)3.372 G +.872(the line is redra)144 492 R 3.372(wn. If)-.15 F 3.372(an)3.372 G .872(umeric ar)-3.372 F .872 (gument is supplied, an asterisk is appended before pathname)-.18 F -.15 -(ex)144 528 S(pansion.).15 E F1(dump\255functions)108 540 Q F0 .627 -(Print all of the functions and their k)144 552 R .927 -.15(ey b)-.1 H -.626(indings to the readline output stream.).15 F .626(If a numeric ar) -5.626 F(gu-)-.18 E -(ment is supplied, the output is formatted in such a w)144 564 Q +(ex)144 504 S(pansion.).15 E F1(dump\255functions)108 516 Q F0 .626 +(Print all of the functions and their k)144 528 R .926 -.15(ey b)-.1 H +.627(indings to the readline output stream.).15 F .627(If a numeric ar) +5.627 F(gu-)-.18 E +(ment is supplied, the output is formatted in such a w)144 540 Q (ay that it can be made part of an)-.1 E/F2 10/Times-Italic@0 SF(inputr) -2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 576 Q(ariables)-.1 E F0 -1.799(Print all of the settable readline v)144 588 R 1.799 -(ariables and their v)-.25 F 1.8(alues to the readline output stream.) --.25 F 1.8(If a)6.8 F .305(numeric ar)144 600 R .304 +2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 552 Q(ariables)-.1 E F0 +1.8(Print all of the settable readline v)144 564 R 1.799 +(ariables and their v)-.25 F 1.799(alues to the readline output stream.) +-.25 F 1.799(If a)6.799 F .304(numeric ar)144 576 R .304 (gument is supplied, the output is formatted in such a w)-.18 F .304 -(ay that it can be made part of an)-.1 F F2(inputr)144 612 Q(c)-.37 E F0 -(\214le.)2.5 E F1(dump\255macr)108 624 Q(os)-.18 E F0 .592 -(Print all of the readline k)144 636 R .892 -.15(ey s)-.1 H .592 -(equences bound to macros and the strings the).15 F 3.093(yo)-.15 G -3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 648 Q +(ay that it can be made part of an)-.1 F F2(inputr)144 588 Q(c)-.37 E F0 +(\214le.)2.5 E F1(dump\255macr)108 600 Q(os)-.18 E F0 .593 +(Print all of the readline k)144 612 R .893 -.15(ey s)-.1 H .592 +(equences bound to macros and the strings the).15 F 3.092(yo)-.15 G +3.092(utput. If)-3.092 F 3.092(an)3.092 G(umeric)-3.092 E(ar)144 624 Q .528(gument is supplied, the output is formatted in such a w)-.18 F .528 -(ay that it can be made part of an)-.1 F F2(inputr)3.027 E(c)-.37 E F0 -(\214le.)144 660 Q F1(display\255shell\255v)108 672 Q -(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 684 Q +(ay that it can be made part of an)-.1 F F2(inputr)3.028 E(c)-.37 E F0 +(\214le.)144 636 Q F1(display\255shell\255v)108 648 Q +(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 660 Q (ersion information about the current instance of)-.15 E F1(bash)2.5 E -F0(.)A F1(Pr)87 700.8 Q(ogrammable Completion)-.18 E F0 .146(When w)108 -712.8 R .147(ord completion is attempted for an ar)-.1 F .147 +F0(.)A F1(Pr)87 676.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108 +688.8 R .147(ord completion is attempted for an ar)-.1 F .147 (gument to a command for which a completion speci\214cation \(a)-.18 F -F2(compspec)108 724.8 Q F0 3.829(\)h)C 1.329 -(as been de\214ned using the)-3.829 F F1(complete)3.829 E F0 -.2(bu) +F2(compspec)108 700.8 Q F0 3.828(\)h)C 1.329 +(as been de\214ned using the)-3.828 F F1(complete)3.829 E F0 -.2(bu) 3.829 G 1.329(iltin \(see).2 F/F3 9/Times-Bold@0 SF 1.329(SHELL B)3.829 -F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.328(w\), the) --.25 F(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(44)185.955 E 0 -Cg EP +F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.329(w\), the) +-.25 F(programmable completion f)108 712.8 Q(acilities are in)-.1 E -.2 +(vo)-.4 G -.1(ke).2 G(d.).1 E .498 +(First, the command name is identi\214ed.)108 729.6 R .498 +(If the command w)5.498 F .497 +(ord is the empty string \(completion attempted at)-.1 F(GNU Bash-4.1)72 +768 Q(2009 December 29)135.965 E(44)185.955 E 0 Cg EP %%Page: 45 45 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(programmable completion f)108 84 Q(acilities are in)-.1 E -.2(vo) --.4 G -.1(ke).2 G(d.).1 E .497(First, the command name is identi\214ed.) -108 100.8 R .497(If the command w)5.497 F .498 -(ord is the empty string \(completion attempted at)-.1 F .234(the be)108 -112.8 R .233(ginning of an empty line\), an)-.15 F 2.733(yc)-.15 G .233 -(ompspec de\214ned with the)-2.733 F/F1 10/Times-Bold@0 SF<ad45>2.733 E -F0 .233(option to)2.733 F F1(complete)2.733 E F0 .233(is used.)2.733 F -.233(If a comp-)5.233 F .481(spec has been de\214ned for that command, \ -the compspec is used to generate the list of possible completions)108 -124.8 R .823(for the w)108 136.8 R 3.323(ord. If)-.1 F .823 -(the command w)3.323 F .822(ord is a full pathname, a compspec for the \ -full pathname is searched for)-.1 F 2.866(\214rst. If)108 148.8 R .367(\ -no compspec is found for the full pathname, an attempt is made to \214n\ -d a compspec for the portion)2.866 F(follo)108 160.8 Q .422 -(wing the \214nal slash.)-.25 F .422 -(If those searches to not result in a compspec, an)5.422 F 2.921(yc)-.15 -G .421(ompspec de\214ned with the)-2.921 F F1<ad44>2.921 E F0(option to) -108 172.8 Q F1(complete)2.5 E F0(is used as the def)2.5 E(ault.)-.1 E -.817(Once a compspec has been found, it is used to generate the list of\ - matching w)108 189.6 R 3.317(ords. If)-.1 F 3.317(ac)3.317 G .817 -(ompspec is not)-3.317 F(found, the def)108 201.6 Q(ault)-.1 E F1(bash) +-.35 E .233(the be)108 84 R .233(ginning of an empty line\), an)-.15 F +2.733(yc)-.15 G .233(ompspec de\214ned with the)-2.733 F/F1 10 +/Times-Bold@0 SF<ad45>2.733 E F0 .233(option to)2.733 F F1(complete) +2.733 E F0 .233(is used.)2.733 F .234(If a comp-)5.234 F .481(spec has \ +been de\214ned for that command, the compspec is used to generate the l\ +ist of possible completions)108 96 R .822(for the w)108 108 R 3.322 +(ord. If)-.1 F .822(the command w)3.322 F .823(ord is a full pathname, \ +a compspec for the full pathname is searched for)-.1 F 2.867 +(\214rst. If)108 120 R .366(no compspec is found for the full pathname,\ + an attempt is made to \214nd a compspec for the portion)2.867 F(follo) +108 132 Q .421(wing the \214nal slash.)-.25 F .422 +(If those searches to not result in a compspec, an)5.421 F 2.922(yc)-.15 +G .422(ompspec de\214ned with the)-2.922 F F1<ad44>2.922 E F0(option to) +108 144 Q F1(complete)2.5 E F0(is used as the def)2.5 E(ault.)-.1 E .817 +(Once a compspec has been found, it is used to generate the list of mat\ +ching w)108 160.8 R 3.317(ords. If)-.1 F 3.317(ac)3.317 G .817 +(ompspec is not)-3.317 F(found, the def)108 172.8 Q(ault)-.1 E F1(bash) 2.5 E F0(completion as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 -E F1(Completing)2.5 E F0(is performed.)2.5 E .464 -(First, the actions speci\214ed by the compspec are used.)108 218.4 R -.463(Only matches which are pre\214x)5.464 F .463(ed by the w)-.15 F -.463(ord being)-.1 F .595(completed are returned.)108 230.4 R .595 -(When the)5.595 F F1<ad66>3.095 E F0(or)3.095 E F1<ad64>3.095 E F0 .596 +E F1(Completing)2.5 E F0(is performed.)2.5 E .463 +(First, the actions speci\214ed by the compspec are used.)108 189.6 R +.464(Only matches which are pre\214x)5.464 F .464(ed by the w)-.15 F +.464(ord being)-.1 F .596(completed are returned.)108 201.6 R .596 +(When the)5.596 F F1<ad66>3.096 E F0(or)3.095 E F1<ad64>3.095 E F0 .595 (option is used for \214lename or directory name completion, the)3.095 F -(shell v)108 242.4 Q(ariable)-.25 E/F2 9/Times-Bold@0 SF(FIGNORE)2.5 E -F0(is used to \214lter the matches.)2.25 E(An)108 259.2 Q 4.084(yc)-.15 +(shell v)108 213.6 Q(ariable)-.25 E/F2 9/Times-Bold@0 SF(FIGNORE)2.5 E +F0(is used to \214lter the matches.)2.25 E(An)108 230.4 Q 4.084(yc)-.15 G 1.584(ompletions speci\214ed by a pathname e)-4.084 F 1.584 (xpansion pattern to the)-.15 F F1<ad47>4.084 E F0 1.584 -(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 271.2 S -.554(rds generated by the pattern need not match the w).1 F .555 -(ord being completed.)-.1 F(The)5.555 E F2(GLOBIGNORE)3.055 E F0 .555 -(shell v)2.805 F(ari-)-.25 E -(able is not used to \214lter the matches, b)108 283.2 Q(ut the)-.2 E F2 -(FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 300 Q .321 -(xt, the string speci\214ed as the ar)-.15 F .321(gument to the)-.18 F -F1<ad57>2.821 E F0 .32(option is considered.)2.821 F .32 -(The string is \214rst split using the)5.32 F .412(characters in the)108 -312 R F2(IFS)2.912 E F0 .412(special v)2.662 F .412 +(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 242.4 S +.555(rds generated by the pattern need not match the w).1 F .554 +(ord being completed.)-.1 F(The)5.554 E F2(GLOBIGNORE)3.054 E F0 .554 +(shell v)2.804 F(ari-)-.25 E +(able is not used to \214lter the matches, b)108 254.4 Q(ut the)-.2 E F2 +(FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 271.2 Q +.32(xt, the string speci\214ed as the ar)-.15 F .32(gument to the)-.18 F +F1<ad57>2.82 E F0 .321(option is considered.)2.821 F .321 +(The string is \214rst split using the)5.321 F .413(characters in the) +108 283.2 R F2(IFS)2.913 E F0 .412(special v)2.663 F .412 (ariable as delimiters.)-.25 F .412(Shell quoting is honored.)5.412 F -.413(Each w)5.412 F .413(ord is then e)-.1 F(xpanded)-.15 E .092 -(using brace e)108 324 R .092(xpansion, tilde e)-.15 F .092 -(xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .091 -(xpansion, command substitution, and arith-)-.15 F 1.396(metic e)108 336 -R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H(nder) -.15 E F2(EXP)3.896 E(ANSION)-.666 E/F3 9/Times-Roman@0 SF(.)A F0 1.396 -(The results are split using the rules described)5.896 F(abo)108 348 Q -.51 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.71 G .21(rd Splitting).75 F -F0 5.21(.T)C .209(he results of the e)-5.21 F .209 -(xpansion are pre\214x-matched ag)-.15 F .209(ainst the w)-.05 F .209 -(ord being com-)-.1 F(pleted, and the matching w)108 360 Q -(ords become the possible completions.)-.1 E 1.237 -(After these matches ha)108 376.8 R 1.537 -.15(ve b)-.2 H 1.237 -(een generated, an).15 F 3.737(ys)-.15 G 1.238 -(hell function or command speci\214ed with the)-3.737 F F1<ad46>3.738 E -F0(and)3.738 E F1<ad43>3.738 E F0 3.376(options is in)108 388.8 R -.2 -(vo)-.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375 +.412(Each w)5.412 F .412(ord is then e)-.1 F(xpanded)-.15 E .091 +(using brace e)108 295.2 R .091(xpansion, tilde e)-.15 F .092 +(xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .092 +(xpansion, command substitution, and arith-)-.15 F 1.397(metic e)108 +307.2 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H +(nder).15 E F2(EXP)3.896 E(ANSION)-.666 E/F3 9/Times-Roman@0 SF(.)A F0 +1.396(The results are split using the rules described)5.896 F(abo)108 +319.2 Q .509 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.709 G .209 +(rd Splitting).75 F F0 5.209(.T)C .209(he results of the e)-5.209 F .209 +(xpansion are pre\214x-matched ag)-.15 F .21(ainst the w)-.05 F .21 +(ord being com-)-.1 F(pleted, and the matching w)108 331.2 Q +(ords become the possible completions.)-.1 E 1.238 +(After these matches ha)108 348 R 1.538 -.15(ve b)-.2 H 1.238 +(een generated, an).15 F 3.738(ys)-.15 G 1.237 +(hell function or command speci\214ed with the)-3.738 F F1<ad46>3.737 E +F0(and)3.737 E F1<ad43>3.737 E F0 3.375(options is in)108 360 R -.2(vo) +-.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375 (the command or function is in)5.875 F -.2(vo)-.4 G -.1(ke).2 G 3.375 -(d, the).1 F F2(COMP_LINE)5.875 E F3(,)A F2(COMP_POINT)5.625 E F3(,)A F2 -(COMP_KEY)108 400.8 Q F3(,)A F0(and)2.407 E F2(COMP_TYPE)2.657 E F0 -.25 -(va)2.407 G .157(riables are assigned v).25 F .157 -(alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F1 .158 -(Shell V)2.658 F(ariables)-.92 E F0 5.158(.I)C(f)-5.158 E 3.486(as)108 -412.8 S .986(hell function is being in)-3.486 F -.2(vo)-.4 G -.1(ke).2 G +(d, the).1 F F2(COMP_LINE)5.876 E F3(,)A F2(COMP_POINT)5.626 E F3(,)A F2 +(COMP_KEY)108 372 Q F3(,)A F0(and)2.408 E F2(COMP_TYPE)2.658 E F0 -.25 +(va)2.408 G .157(riables are assigned v).25 F .157 +(alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F1 .157 +(Shell V)2.657 F(ariables)-.92 E F0 5.157(.I)C(f)-5.157 E 3.485(as)108 +384 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G .986(d, the).1 F F2(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F2 (COMP_CW)3.486 E(ORD)-.09 E F0 -.25(va)3.236 G .986 -(riables are also set.).25 F(When)5.985 E .608 -(the function or command is in)108 424.8 R -.2(vo)-.4 G -.1(ke).2 G .608 +(riables are also set.).25 F(When)5.986 E .609 +(the function or command is in)108 396 R -.2(vo)-.4 G -.1(ke).2 G .608 (d, the \214rst ar).1 F .608(gument is the name of the command whose ar) --.18 F .609(guments are)-.18 F .073(being completed, the second ar)108 -436.8 R .073(gument is the w)-.18 F .073 +-.18 F .608(guments are)-.18 F .073(being completed, the second ar)108 +408 R .073(gument is the w)-.18 F .073 (ord being completed, and the third ar)-.1 F .073(gument is the w)-.18 F -.072(ord pre-)-.1 F .607(ceding the w)108 448.8 R .607 -(ord being completed on the current command line.)-.1 F .608 -(No \214ltering of the generated completions)5.607 F(ag)108 460.8 Q .094 +.073(ord pre-)-.1 F .608(ceding the w)108 420 R .607 +(ord being completed on the current command line.)-.1 F .607 +(No \214ltering of the generated completions)5.607 F(ag)108 432 Q .093 (ainst the w)-.05 F .093(ord being completed is performed; the function\ or command has complete freedom in generat-)-.1 F(ing the matches.)108 -472.8 Q(An)108 489.6 Q 2.937(yf)-.15 G .437(unction speci\214ed with) --2.937 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G +444 Q(An)108 460.8 Q 2.938(yf)-.15 G .437(unction speci\214ed with) +-2.938 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G 2.937<648c>.1 G 2.937(rst. The)-2.937 F .437(function may use an)2.937 F -2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .438 -(acilities, including)-.1 F(the)108 501.6 Q F1(compgen)2.957 E F0 -.2 -(bu)2.957 G .457(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956 -(og).65 G .456(enerate the matches.)-2.956 F .456 +2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .437 +(acilities, including)-.1 F(the)108 472.8 Q F1(compgen)2.956 E F0 -.2 +(bu)2.956 G .456(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956 +(og).65 G .456(enerate the matches.)-2.956 F .457 (It must put the possible completions in the)5.456 F F2(COMPREPL)108 -513.6 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 530.4 Q .08 -(xt, an)-.15 F 2.58(yc)-.15 G .08(ommand speci\214ed with the)-2.58 F F1 -<ad43>2.58 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G 2.581 -(di).1 G 2.581(na)-2.581 G 2.581(ne)-2.581 G -.4(nv)-2.581 G .081 -(ironment equi).4 F -.25(va)-.25 G .081(lent to command sub-).25 F 2.859 -(stitution. It)108 542.4 R .359(should print a list of completions, one\ - per line, to the standard output.)2.859 F .358(Backslash may be used) -5.359 F(to escape a ne)108 554.4 Q(wline, if necessary)-.25 E(.)-.65 E -.376(After all of the possible completions are generated, an)108 571.2 R -2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.877 -E F0 .377(option is applied to the)2.877 F 3.182(list. The)108 583.2 R -.682(\214lter is a pattern as used for pathname e)3.182 F .681 -(xpansion; a)-.15 F F1(&)3.181 E F0 .681 -(in the pattern is replaced with the te)3.181 F .681(xt of)-.15 F .522 -(the w)108 595.2 R .522(ord being completed.)-.1 F 3.022(Al)5.522 G -(iteral)-3.022 E F1(&)3.022 E F0 .523 +484.8 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 501.6 Q .081 +(xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)-2.581 F +F1<ad43>2.581 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G +2.581(di).1 G 2.58(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G .08 +(ironment equi).4 F -.25(va)-.25 G .08(lent to command sub-).25 F 2.858 +(stitution. It)108 513.6 R .359(should print a list of completions, one\ + per line, to the standard output.)2.858 F .359(Backslash may be used) +5.359 F(to escape a ne)108 525.6 Q(wline, if necessary)-.25 E(.)-.65 E +.377(After all of the possible completions are generated, an)108 542.4 R +2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.876 +E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 554.4 R +.681(\214lter is a pattern as used for pathname e)3.181 F .681 +(xpansion; a)-.15 F F1(&)3.181 E F0 .682 +(in the pattern is replaced with the te)3.182 F .682(xt of)-.15 F .523 +(the w)108 566.4 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G +(iteral)-3.023 E F1(&)3.023 E F0 .522 (may be escaped with a backslash; the backslash is remo)3.022 F -.15(ve) --.15 G 3.023(db).15 G(efore)-3.023 E .85(attempting a match.)108 607.2 R -(An)5.85 E 3.35(yc)-.15 G .849 -(ompletion that matches the pattern will be remo)-3.35 F -.15(ve)-.15 G -3.349(df).15 G .849(rom the list.)-3.349 F 3.349(Al)5.849 G(eading) --3.349 E F1(!)3.349 E F0(ne)108 619.2 Q -.05(ga)-.15 G +-.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 578.4 +R(An)5.849 E 3.349(yc)-.15 G .849 +(ompletion that matches the pattern will be remo)-3.349 F -.15(ve)-.15 G +3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F1 +(!)3.35 E F0(ne)108 590.4 Q -.05(ga)-.15 G (tes the pattern; in this case an).05 E 2.5(yc)-.15 G (ompletion not matching the pattern will be remo)-2.5 E -.15(ve)-.15 G -(d.).15 E(Finally)108 636 Q 3.086(,a)-.65 G .886 -.15(ny p)-3.086 H .586 -(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1<ad50> -3.087 E F0(and)3.087 E F1<ad53>3.087 E F0 .587 +(d.).15 E(Finally)108 607.2 Q 3.087(,a)-.65 G .887 -.15(ny p)-3.087 H +.587(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1 +<ad50>3.087 E F0(and)3.087 E F1<ad53>3.087 E F0 .587 (options are added to each member of the com-)3.087 F(pletion list, and\ the result is returned to the readline completion code as the list of \ -possible completions.)108 648 Q .247(If the pre)108 664.8 R .247 +possible completions.)108 619.2 Q .246(If the pre)108 636 R .247 (viously-applied actions do not generate an)-.25 F 2.747(ym)-.15 G .247 (atches, and the)-2.747 F F1 .247(\255o dir)2.747 F(names)-.15 E F0 .247 -(option w)2.747 F .246(as supplied to)-.1 F F1(complete)108 676.8 Q F0 +(option w)2.747 F .247(as supplied to)-.1 F F1(complete)108 648 Q F0 (when the compspec w)2.5 E -(as de\214ned, directory name completion is attempted.)-.1 E .461 -(If the)108 693.6 R F1 .462(\255o plusdirs)2.961 F F0 .462(option w) +(as de\214ned, directory name completion is attempted.)-.1 E .462 +(If the)108 664.8 R F1 .462(\255o plusdirs)2.962 F F0 .462(option w) 2.962 F .462(as supplied to)-.1 F F1(complete)2.962 E F0 .462 (when the compspec w)2.962 F .462(as de\214ned, directory name com-)-.1 -F(pletion is attempted and an)108 705.6 Q 2.5(ym)-.15 G -(atches are added to the results of the other actions.)-2.5 E .56 -(By def)108 722.4 R .56(ault, if a compspec is found, whate)-.1 F -.15 -(ve)-.25 G 3.06(ri).15 G 3.06(tg)-3.06 G .559 -(enerates is returned to the completion code as the full set)-3.06 F -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(45)185.955 E 0 Cg EP +F(pletion is attempted and an)108 676.8 Q 2.5(ym)-.15 G +(atches are added to the results of the other actions.)-2.5 E .559 +(By def)108 693.6 R .559(ault, if a compspec is found, whate)-.1 F -.15 +(ve)-.25 G 3.059(ri).15 G 3.059(tg)-3.059 G .56 +(enerates is returned to the completion code as the full set)-3.059 F +.632(of possible completions.)108 705.6 R .632(The def)5.632 F(ault)-.1 +E F1(bash)3.132 E F0 .631 +(completions are not attempted, and the readline def)3.131 F .631 +(ault of \214le-)-.1 F .558(name completion is disabled.)108 717.6 R +.558(If the)5.558 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w) +3.059 F .559(as supplied to)-.1 F F1(complete)3.059 E F0 .559 +(when the compspec)3.059 F -.1(wa)108 729.6 S 3.172(sd).1 G .672 +(e\214ned, the)-3.172 F F1(bash)3.172 E F0(def)3.172 E .671 +(ault completions are attempted if the compspec generates no matches.) +-.1 F .671(If the)5.671 F F1<ad6f>3.171 E F0(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(45)185.955 E 0 Cg EP %%Page: 46 46 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .631(of possible completions.)108 84 R .631(The def)5.631 F(ault) --.1 E/F1 10/Times-Bold@0 SF(bash)3.131 E F0 .631 -(completions are not attempted, and the readline def)3.131 F .632 -(ault of \214le-)-.1 F .559(name completion is disabled.)108 96 R .559 -(If the)5.559 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)3.059 -F .559(as supplied to)-.1 F F1(complete)3.058 E F0 .558 -(when the compspec)3.058 F -.1(wa)108 108 S 3.171(sd).1 G .671 -(e\214ned, the)-3.171 F F1(bash)3.171 E F0(def)3.171 E .671 -(ault completions are attempted if the compspec generates no matches.) --.1 F .672(If the)5.672 F F1<ad6f>3.172 E(default)108 120 Q F0 1.207 -(option w)3.707 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0 -1.207(when the compspec w)3.707 F 1.207(as de\214ned, readline')-.1 F -3.707(sd)-.55 G(ef)-3.707 E 1.206(ault completion)-.1 F -(will be performed if the compspec \(and, if attempted, the def)108 132 -Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)2.5 E +-.35 E/F1 10/Times-Bold@0 SF(default)108 84 Q F0 1.207(option w)3.706 F +1.207(as supplied to)-.1 F F1(complete)3.707 E F0 1.207 +(when the compspec w)3.707 F 1.207(as de\214ned, readline')-.1 F 3.707 +(sd)-.55 G(ef)-3.707 E 1.207(ault completion)-.1 F +(will be performed if the compspec \(and, if attempted, the def)108 96 Q +(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)2.5 E .245(When a compspec indicates that directory name completion is desire\ -d, the programmable completion func-)108 148.8 R .633(tions force readl\ +d, the programmable completion func-)108 112.8 R .632(tions force readl\ ine to append a slash to completed names which are symbolic links to di\ -rectories, subject)108 160.8 R 2.761(to the v)108 172.8 R 2.761 -(alue of the)-.25 F F1(mark\255dir)5.261 E(ectories)-.18 E F0 2.761 -(readline v)5.261 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.762 -(rdless of the setting of the).05 F F1(mark-sym-)5.262 E(link)108 184.8 +rectories, subject)108 124.8 R 2.762(to the v)108 136.8 R 2.762 +(alue of the)-.25 F F1(mark\255dir)5.262 E(ectories)-.18 E F0 2.761 +(readline v)5.262 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.761 +(rdless of the setting of the).05 F F1(mark-sym-)5.261 E(link)108 148.8 Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E -.191(There is some support for dynamically modifying completions.)108 -201.6 R .19(This is most useful when used in combina-)5.191 F 1.33 -(tion with a def)108 213.6 R 1.33(ault completion speci\214ed with)-.1 F +.19(There is some support for dynamically modifying completions.)108 +165.6 R .191(This is most useful when used in combina-)5.191 F 1.33 +(tion with a def)108 177.6 R 1.33(ault completion speci\214ed with)-.1 F F1 1.33(complete -D)3.83 F F0 6.33(.I)C(t')-6.33 E 3.83(sp)-.55 G 1.33 (ossible for shell functions e)-3.83 F -.15(xe)-.15 G 1.33(cuted as).15 F .93(completion handlers to indicate that completion should be retried\ - by returning an e)108 225.6 R .93(xit status of 124.)-.15 F .93(If a) + by returning an e)108 189.6 R .93(xit status of 124.)-.15 F .93(If a) 5.93 F .1(shell function returns 124, and changes the compspec associat\ -ed with the command on which completion is)108 237.6 R .666 -(being attempted \(supplied as the \214rst ar)108 249.6 R .665 -(gument when the function is e)-.18 F -.15(xe)-.15 G .665 -(cuted\), programmable completion).15 F 1.138(restarts from the be)108 -261.6 R 1.139 +ed with the command on which completion is)108 201.6 R .665 +(being attempted \(supplied as the \214rst ar)108 213.6 R .666 +(gument when the function is e)-.18 F -.15(xe)-.15 G .666 +(cuted\), programmable completion).15 F 1.139(restarts from the be)108 +225.6 R 1.139 (ginning, with an attempt to \214nd a compspec for that command.)-.15 F -1.139(This allo)6.139 F 1.139(ws a set of)-.25 F(completions to be b)108 -273.6 Q(uilt dynamically as completion is attempted, rather than being \ -loaded all at once.)-.2 E -.15(Fo)108 290.4 S 2.637(ri).15 G .137 -(nstance, assuming that there is a library of compspecs, each k)-2.637 F +1.139(This allo)6.139 F 1.138(ws a set of)-.25 F(completions to be b)108 +237.6 Q(uilt dynamically as completion is attempted, rather than being \ +loaded all at once.)-.2 E -.15(Fo)108 254.4 S 2.636(ri).15 G .137 +(nstance, assuming that there is a library of compspecs, each k)-2.636 F .137(ept in a \214le corresponding to the name of)-.1 F -(the command, the follo)108 302.4 Q(wing def)-.25 E +(the command, the follo)108 266.4 Q(wing def)-.25 E (ault completion function w)-.1 E(ould load completions dynamically:)-.1 -E/F2 10/Courier@0 SF(_completion_loader\(\))108 319.2 Q({)108 331.2 Q 6 -(.")144 343.2 S +E/F2 10/Courier@0 SF(_completion_loader\(\))108 283.2 Q({)108 295.2 Q 6 +(.")144 307.2 S (/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124)-6 E(})108 -355.2 Q(complete -D -F _completion_loader)108 367.2 Q/F3 10.95 -/Times-Bold@0 SF(HIST)72 396 Q(OR)-.197 E(Y)-.383 E F0 .371(When the)108 -408 R F1 .371(\255o history)2.871 F F0 .371(option to the)2.871 F F1 +319.2 Q(complete -D -F _completion_loader)108 331.2 Q/F3 10.95 +/Times-Bold@0 SF(HIST)72 360 Q(OR)-.197 E(Y)-.383 E F0 .372(When the)108 +372 R F1 .372(\255o history)2.872 F F0 .372(option to the)2.872 F F1 (set)2.872 E F0 -.2(bu)2.872 G .372(iltin is enabled, the shell pro).2 F -.372(vides access to the)-.15 F/F4 10/Times-Italic@0 SF .372 -(command history)2.872 F F0(,)A .032(the list of commands pre)108 420 R -.031(viously typed.)-.25 F .031(The v)5.031 F .031(alue of the)-.25 F F1 -(HISTSIZE)2.531 E F0 -.25(va)2.531 G .031 -(riable is used as the number of com-).25 F .429(mands to sa)108 432 R -.729 -.15(ve i)-.2 H 2.929(nah).15 G .429(istory list.)-2.929 F .429 -(The te)5.429 F .429(xt of the last)-.15 F/F5 9/Times-Bold@0 SF -(HISTSIZE)2.93 E F0 .43(commands \(def)2.68 F .43(ault 500\) is sa)-.1 F --.15(ve)-.2 G 2.93(d. The).15 F(shell)2.93 E .287 +.371(vides access to the)-.15 F/F4 10/Times-Italic@0 SF .371 +(command history)2.871 F F0(,)A .304(the list of commands pre)108 384 R +.304(viously typed.)-.25 F .304(The v)5.304 F .304(alue of the)-.25 F/F5 +9/Times-Bold@0 SF(HISTSIZE)2.804 E F0 -.25(va)2.554 G .305 +(riable is used as the number of com-).25 F .43(mands to sa)108 396 R +.73 -.15(ve i)-.2 H 2.93(nah).15 G .43(istory list.)-2.93 F .43(The te) +5.43 F .429(xt of the last)-.15 F F5(HISTSIZE)2.929 E F0 .429 +(commands \(def)2.679 F .429(ault 500\) is sa)-.1 F -.15(ve)-.2 G 2.929 +(d. The).15 F(shell)2.929 E .287 (stores each command in the history list prior to parameter and v)108 -444 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F5(EXP)2.787 E -(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 456 S -4.065(ta).2 G 1.565(fter history e)-4.065 F 1.565 +408 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F5(EXP)2.787 E +(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 420 S +4.066(ta).2 G 1.565(fter history e)-4.066 F 1.565 (xpansion is performed, subject to the v)-.15 F 1.565 (alues of the shell v)-.25 F(ariables)-.25 E F5(HISTIGNORE)4.065 E F0 -(and)3.816 E F5(HISTCONTR)108 468 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)A +(and)3.815 E F5(HISTCONTR)108 432 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)A F0 .082 (On startup, the history is initialized from the \214le named by the v) -108 484.8 R(ariable)-.25 E F5(HISTFILE)2.582 E F0(\(def)2.332 E(ault)-.1 -E F4(~/.bash_history)2.582 E F0(\).)A .315(The \214le named by the v)108 -496.8 R .315(alue of)-.25 F F5(HISTFILE)2.815 E F0 .315 +108 448.8 R(ariable)-.25 E F5(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1 +E F4(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108 +460.8 R .315(alue of)-.25 F F5(HISTFILE)2.815 E F0 .315 (is truncated, if necessary)2.565 F 2.815(,t)-.65 G 2.815(oc)-2.815 G .315(ontain no more than the number of)-2.815 F .532 -(lines speci\214ed by the v)108 508.8 R .532(alue of)-.25 F F5 +(lines speci\214ed by the v)108 472.8 R .532(alue of)-.25 F F5 (HISTFILESIZE)3.032 E F6(.)A F0 .532 (When the history \214le is read, lines be)5.032 F .532 -(ginning with the his-)-.15 F 1.158(tory comment character follo)108 -520.8 R 1.159(wed immediately by a digit are interpreted as timestamps \ -for the preceding)-.25 F .053(history line.)108 532.8 R .053 -(These timestamps are optionally displayed depending on the v)5.053 F -.052(alue of the)-.25 F F5(HISTTIMEFORMA)2.552 E(T)-.855 E F0 -.25(va) -108 544.8 S 4.386(riable. When).25 F 1.886(an interacti)4.386 F 2.187 +(ginning with the his-)-.15 F 1.159(tory comment character follo)108 +484.8 R 1.158(wed immediately by a digit are interpreted as timestamps \ +for the preceding)-.25 F .052(history line.)108 496.8 R .053 +(These timestamps are optionally displayed depending on the v)5.052 F +.053(alue of the)-.25 F F5(HISTTIMEFORMA)2.553 E(T)-.855 E F0 -.25(va) +108 508.8 S 4.387(riable. When).25 F 1.887(an interacti)4.387 F 2.187 -.15(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last)-.15 F F5 ($HISTSIZE)4.387 E F0 1.887(lines are copied from the history list to) -4.137 F F5($HISTFILE)108 556.8 Q F6(.)A F0 .056(If the)4.556 F F1 +4.137 F F5($HISTFILE)108 520.8 Q F6(.)A F0 .056(If the)4.556 F F1 (histappend)2.556 E F0 .056 (shell option is enabled \(see the description of)2.556 F F1(shopt)2.556 E F0(under)2.556 E F5 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E -(COMMANDS)108 568.8 Q F0(belo)2.671 E .422(w\), the lines are appended \ +(COMMANDS)108 532.8 Q F0(belo)2.672 E .422(w\), the lines are appended \ to the history \214le, otherwise the history \214le is o)-.25 F -.15(ve) --.15 G 2.922(rwritten. If).15 F F5(HISTFILE)108 580.8 Q F0 1.114(is uns\ -et, or if the history \214le is unwritable, the history is not sa)3.364 -F -.15(ve)-.2 G 3.614(d. If).15 F(the)3.614 E F6 -.225(va)3.613 G 1.113 -(riable is set, time).225 F 1.251 -(stamps are written to the history \214le, mark)108 592.8 R(ed)-.09 E F0 -1.252(with the history comment character)3.502 F 3.752(,s)-.4 G 3.752 -(ot)-3.752 G(he)-3.752 E 3.752(ym)-.15 G 1.252(ay be preserv)-3.752 F -(ed)-.15 E .105(across shell sessions.)108 604.8 R .105(This uses the h\ -istory comment character to distinguish timestamps from other history) -5.105 F 2.604(lines. After)108 616.8 R(sa)2.604 E .104(ving the history) --.2 F 2.604(,t)-.65 G .104 -(he history \214le is truncated to contain no more than)-2.604 F F5 -(HISTFILESIZE)2.605 E F0 2.605(lines. If)2.355 F F5(HISTFILESIZE)108 -628.8 Q F0(is not set, no truncation is performed.)2.25 E 1.294(The b) -108 645.6 R 1.294(uiltin command)-.2 F F1(fc)3.794 E F0(\(see)3.794 E F5 -1.293(SHELL B)3.794 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo) -3.543 E 1.293(w\) may be used to list or edit and re-)-.25 F -.15(exe) -108 657.6 S .673(cute a portion of the history list.).15 F(The)5.673 E +-.15 G 2.921(rwritten. If).15 F F5(HISTFILE)108 544.8 Q F0 .435(is unse\ +t, or if the history \214le is unwritable, the history is not sa)2.684 F +-.15(ve)-.2 G 2.935(d. If).15 F(the)2.935 E F5(HISTTIMEFORMA)2.935 E(T) +-.855 E F0 -.25(va)108 556.8 S .917 +(riable is set, time stamps are written to the history \214le, mark).25 +F .916(ed with the history comment character)-.1 F 3.416(,s)-.4 G(o) +-3.416 E(the)108 568.8 Q 3.082(ym)-.15 G .582(ay be preserv)-3.082 F +.582(ed across shell sessions.)-.15 F .583 +(This uses the history comment character to distinguish time-)5.583 F +.987(stamps from other history lines.)108 580.8 R .987(After sa)5.987 F +.987(ving the history)-.2 F 3.486(,t)-.65 G .986 +(he history \214le is truncated to contain no more)-3.486 F(than)108 +592.8 Q F5(HISTFILESIZE)2.5 E F0 2.5(lines. If)2.25 F F5(HISTFILESIZE) +2.5 E F0(is not set, no truncation is performed.)2.25 E 1.293(The b)108 +609.6 R 1.293(uiltin command)-.2 F F1(fc)3.793 E F0(\(see)3.793 E F5 +1.293(SHELL B)3.793 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo) +3.543 E 1.294(w\) may be used to list or edit and re-)-.25 F -.15(exe) +108 621.6 S .674(cute a portion of the history list.).15 F(The)5.673 E F1(history)3.173 E F0 -.2(bu)3.173 G .673 -(iltin may be used to display or modify the history list).2 F .28 -(and manipulate the history \214le.)108 669.6 R .279 +(iltin may be used to display or modify the history list).2 F .279 +(and manipulate the history \214le.)108 633.6 R .279 (When using command-line editing, search commands are a)5.279 F -.25(va) --.2 G .279(ilable in each).25 F(editing mode that pro)108 681.6 Q -(vide access to the history list.)-.15 E 1.485(The shell allo)108 698.4 -R 1.485(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486 +-.2 G .28(ilable in each).25 F(editing mode that pro)108 645.6 Q +(vide access to the history list.)-.15 E 1.486(The shell allo)108 662.4 +R 1.486(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486 (hich commands are sa)-3.986 F -.15(ve)-.2 G 3.986(do).15 G 3.986(nt) --3.986 G 1.486(he history list.)-3.986 F(The)6.486 E F5(HISTCONTR)3.986 -E(OL)-.27 E F0(and)3.736 E F5(HISTIGNORE)108 710.4 Q F0 -.25(va)2.708 G -.458(riables may be set to cause the shell to sa).25 F .757 -.15(ve o) --.2 H .457(nly a subset of the commands entered.).15 F(The)5.457 E F1 -(cmdhist)108 722.4 Q F0 .75 +-3.986 G 1.486(he history list.)-3.986 F(The)6.485 E F5(HISTCONTR)3.985 +E(OL)-.27 E F0(and)3.735 E F5(HISTIGNORE)108 674.4 Q F0 -.25(va)2.707 G +.457(riables may be set to cause the shell to sa).25 F .758 -.15(ve o) +-.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F1 +(cmdhist)108 686.4 Q F0 .75 (shell option, if enabled, causes the shell to attempt to sa)3.25 F 1.05 --.15(ve e)-.2 H .75(ach line of a multi-line command in).15 F -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(46)185.955 E 0 Cg EP +-.15(ve e)-.2 H .75(ach line of a multi-line command in).15 F 1.077 +(the same history entry)108 698.4 R 3.577(,a)-.65 G 1.077 +(dding semicolons where necessary to preserv)-3.577 F 3.577(es)-.15 G +1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.577 E F0 +.374(shell option causes the shell to sa)108 710.4 R .674 -.15(ve t)-.2 +H .374(he command with embedded ne).15 F .373 +(wlines instead of semicolons.)-.25 F .373(See the)5.373 F .318 +(description of the)108 722.4 R F1(shopt)2.818 E F0 -.2(bu)2.818 G .318 +(iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F5 .318(SHELL B)2.818 F +(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .319 +(for information on setting and)2.568 F(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(46)185.955 E 0 Cg EP %%Page: 47 47 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.077(the same history entry)108 84 R 3.577(,a)-.65 G 1.077 -(dding semicolons where necessary to preserv)-3.577 F 3.577(es)-.15 G -1.077(yntactic correctness.)-3.577 F(The)6.077 E/F1 10/Times-Bold@0 SF -(lithist)3.576 E F0 .373(shell option causes the shell to sa)108 96 R -.674 -.15(ve t)-.2 H .374(he command with embedded ne).15 F .374 -(wlines instead of semicolons.)-.25 F .374(See the)5.374 F .319 -(description of the)108 108 R F1(shopt)2.819 E F0 -.2(bu)2.819 G .318 -(iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E/F2 9/Times-Bold@0 SF .318 -(SHELL B)2.818 F(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .318 -(for information on setting and)2.568 F(unsetting shell options.)108 120 -Q/F3 10.95/Times-Bold@0 SF(HIST)72 136.8 Q(OR)-.197 E 2.738(YE)-.383 G -(XP)-2.738 E(ANSION)-.81 E F0 .61(The shell supports a history e)108 -148.8 R .611(xpansion feature that is similar to the history e)-.15 F -.611(xpansion in)-.15 F F1(csh.)3.111 E F0 .611(This section)5.611 F -.871(describes what syntax features are a)108 160.8 R -.25(va)-.2 G -3.371(ilable. This).25 F .871(feature is enabled by def)3.371 F .87 -(ault for interacti)-.1 F 1.17 -.15(ve s)-.25 H .87(hells, and).15 F -2.013(can be disabled using the)108 172.8 R F1(+H)4.514 E F0 2.014 -(option to the)4.514 F F1(set)4.514 E F0 -.2(bu)4.514 G 2.014 -(iltin command \(see).2 F F2 2.014(SHELL B)4.514 F(UIL)-.09 E 2.014 -(TIN COMMANDS)-.828 F F0(belo)108 184.8 Q 2.5(w\). Non-interacti)-.25 F -.3 -.15(ve s)-.25 H(hells do not perform history e).15 E -(xpansion by def)-.15 E(ault.)-.1 E 1.306(History e)108 201.6 R 1.306 -(xpansions introduce w)-.15 F 1.306(ords from the history list into the\ - input stream, making it easy to repeat)-.1 F .209 -(commands, insert the ar)108 213.6 R .209(guments to a pre)-.18 F .21 +-.35 E(unsetting shell options.)108 84 Q/F1 10.95/Times-Bold@0 SF(HIST) +72 100.8 Q(OR)-.197 E 2.738(YE)-.383 G(XP)-2.738 E(ANSION)-.81 E F0 .611 +(The shell supports a history e)108 112.8 R .611 +(xpansion feature that is similar to the history e)-.15 F .61 +(xpansion in)-.15 F/F2 10/Times-Bold@0 SF(csh.)3.11 E F0 .61 +(This section)5.61 F .87(describes what syntax features are a)108 124.8 +R -.25(va)-.2 G 3.371(ilable. This).25 F .871(feature is enabled by def) +3.371 F .871(ault for interacti)-.1 F 1.171 -.15(ve s)-.25 H .871 +(hells, and).15 F 2.014(can be disabled using the)108 136.8 R F2(+H) +4.514 E F0 2.014(option to the)4.514 F F2(set)4.514 E F0 -.2(bu)4.514 G +2.014(iltin command \(see).2 F/F3 9/Times-Bold@0 SF 2.013(SHELL B)4.513 +F(UIL)-.09 E 2.013(TIN COMMANDS)-.828 F F0(belo)108 148.8 Q 2.5 +(w\). Non-interacti)-.25 F .3 -.15(ve s)-.25 H +(hells do not perform history e).15 E(xpansion by def)-.15 E(ault.)-.1 E +1.305(History e)108 165.6 R 1.305(xpansions introduce w)-.15 F 1.306(or\ +ds from the history list into the input stream, making it easy to repea\ +t)-.1 F .21(commands, insert the ar)108 177.6 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(commands quickly)108 225.6 Q(.)-.65 E 1.164(History e)108 -242.4 R 1.163(xpansion is performed immediately after a complete line i\ -s read, before the shell breaks it into)-.15 F -.1(wo)108 254.4 S 3.2 +F(vious)-.25 E(commands quickly)108 189.6 Q(.)-.65 E 1.163(History e)108 +206.4 R 1.163(xpansion is performed immediately after a complete line i\ +s read, before the shell breaks it into)-.15 F -.1(wo)108 218.4 S 3.2 (rds. It).1 F(tak)3.2 E .7(es place in tw)-.1 F 3.2(op)-.1 G 3.2 (arts. The)-3.2 F .7 (\214rst is to determine which line from the history list to use during) -3.2 F 4.368(substitution. The)108 266.4 R 1.868(second is to select por\ -tions of that line for inclusion into the current one.)4.368 F 1.867 -(The line)6.867 F .662(selected from the history is the)108 278.4 R/F4 -10/Times-Italic@0 SF -.15(ev)3.162 G(ent).15 E F0 3.162(,a)C .663 -(nd the portions of that line that are acted upon are)-3.162 F F4(wor) -3.163 E(ds)-.37 E F0 5.663(.V)C(arious)-6.773 E F4(modi\214er)108 290.4 -Q(s)-.1 E F0 .227(are a)2.727 F -.25(va)-.2 G .227 -(ilable to manipulate the selected w).25 F 2.727(ords. The)-.1 F .226 -(line is brok)2.726 F .226(en into w)-.1 F .226(ords in the same f)-.1 F -(ashion)-.1 E .351(as when reading input, so that se)108 302.4 R -.15 -(ve)-.25 G(ral).15 E F4(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .352 -(-separated w)B .352(ords surrounded by quotes are considered)-.1 F .625 -(one w)108 314.4 R 3.125(ord. History)-.1 F -.15(ex)3.125 G .624 -(pansions are introduced by the appearance of the history e).15 F .624 -(xpansion character)-.15 F 3.124(,w)-.4 G(hich)-3.124 E(is)108 326.4 Q -F1(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E -F1(\\).833 E F0 2.5(\)a).833 G(nd single quotes can quote the history e) --2.5 E(xpansion character)-.15 E(.)-.55 E(Se)108 343.2 Q -.15(ve)-.25 G +3.2 F 4.367(substitution. The)108 230.4 R 1.868(second is to select por\ +tions of that line for inclusion into the current one.)4.367 F 1.868 +(The line)6.868 F .663(selected from the history is the)108 242.4 R/F4 +10/Times-Italic@0 SF -.15(ev)3.163 G(ent).15 E F0 3.163(,a)C .663 +(nd the portions of that line that are acted upon are)-3.163 F F4(wor) +3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F4(modi\214er)108 254.4 +Q(s)-.1 E F0 .226(are a)2.726 F -.25(va)-.2 G .226 +(ilable to manipulate the selected w).25 F 2.726(ords. The)-.1 F .227 +(line is brok)2.726 F .227(en into w)-.1 F .227(ords in the same f)-.1 F +(ashion)-.1 E .352(as when reading input, so that se)108 266.4 R -.15 +(ve)-.25 G(ral).15 E F4(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351 +(-separated w)B .351(ords surrounded by quotes are considered)-.1 F .624 +(one w)108 278.4 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624 +(pansions are introduced by the appearance of the history e).15 F .625 +(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 290.4 Q +F2(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E +F2(\\).833 E F0 2.5(\)a).833 G(nd single quotes can quote the history e) +-2.5 E(xpansion character)-.15 E(.)-.55 E(Se)108 307.2 Q -.15(ve)-.25 G .03(ral characters inhibit history e).15 F .03 (xpansion if found immediately follo)-.15 F .03(wing the history e)-.25 -F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 355.2 T -3.163(ni).25 G 3.163(fi)-3.163 G 3.162(ti)-3.163 G 3.162(su)-3.162 G +F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 319.2 T +3.162(ni).25 G 3.162(fi)-3.162 G 3.162(ti)-3.162 G 3.162(su)-3.162 G .662(nquoted: space, tab, ne)-3.162 F .662(wline, carriage return, and) --.25 F F1(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F1 -(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F1(\()3.162 E -F0(will also inhibit e)108 367.2 Q(xpansion.)-.15 E(Se)108 384 Q -.15 -(ve)-.25 G .109(ral shell options settable with the).15 F F1(shopt)2.609 -E F0 -.2(bu)2.609 G .11(iltin may be used to tailor the beha).2 F .11 -(vior of history e)-.2 F(xpansion.)-.15 E 1.259(If the)108 396 R F1 -(histv)3.759 E(erify)-.1 E F0 1.259 -(shell option is enabled \(see the description of the)3.759 F F1(shopt) -3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F1 -.18(re)3.758 G -(adline).18 E F0 1.258(is being)3.758 F 1.497(used, history substitutio\ -ns are not immediately passed to the shell parser)108 408 R 6.498(.I) --.55 G 1.498(nstead, the e)-6.498 F 1.498(xpanded line is)-.15 F 2.228 -(reloaded into the)108 420 R F1 -.18(re)4.728 G(adline).18 E F0 2.228 -(editing b)4.728 F(uf)-.2 E 2.228(fer for further modi\214cation.)-.25 F -(If)7.228 E F1 -.18(re)4.728 G(adline).18 E F0 2.228 -(is being used, and the)4.728 F F1(histr)108 432 Q(eedit)-.18 E F0 1.202 +-.25 F F2(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F2 +(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.163 E +F0(will also inhibit e)108 331.2 Q(xpansion.)-.15 E(Se)108 348 Q -.15 +(ve)-.25 G .11(ral shell options settable with the).15 F F2(shopt)2.61 E +F0 -.2(bu)2.61 G .109(iltin may be used to tailor the beha).2 F .109 +(vior of history e)-.2 F(xpansion.)-.15 E 1.142(If the)108 360 R F2 +(histv)3.643 E(erify)-.1 E F0 1.143 +(shell option is enabled \(see the description of the)3.643 F F2(shopt) +3.643 E F0 -.2(bu)3.643 G 1.143(iltin belo).2 F 1.143(w\), and)-.25 F F2 +-.18(re)3.643 G(adline).18 E F0(is)3.643 E .461(being used, history sub\ +stitutions are not immediately passed to the shell parser)108 372 R 5.46 +(.I)-.55 G .46(nstead, the e)-5.46 F .46(xpanded line)-.15 F 1.515 +(is reloaded into the)108 384 R F2 -.18(re)4.015 G(adline).18 E F0 1.515 +(editing b)4.015 F(uf)-.2 E 1.516(fer for further modi\214cation.)-.25 F +(If)6.516 E F2 -.18(re)4.016 G(adline).18 E F0 1.516 +(is being used, and the)4.016 F F2(histr)108 396 Q(eedit)-.18 E F0 1.202 (shell option is enabled, a f)3.702 F 1.202 -(ailed history substitution will be reloaded into the)-.1 F F1 -.18(re) -3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 444 S -.25(ff).2 G -1.161(er for correction.).25 F(The)6.161 E F1<ad70>3.661 E F0 1.161 -(option to the)3.661 F F1(history)3.661 E F0 -.2(bu)3.661 G 1.16 -(iltin command may be used to see what a history).2 F -.15(ex)108 456 S -.055(pansion will do before using it.).15 F(The)5.055 E F1<ad73>2.555 E -F0 .055(option to the)2.555 F F1(history)2.556 E F0 -.2(bu)2.556 G .056 +(ailed history substitution will be reloaded into the)-.1 F F2 -.18(re) +3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 408 S -.25(ff).2 G +1.16(er for correction.).25 F(The)6.16 E F2<ad70>3.66 E F0 1.16 +(option to the)3.66 F F2(history)3.66 E F0 -.2(bu)3.661 G 1.161 +(iltin command may be used to see what a history).2 F -.15(ex)108 420 S +.056(pansion will do before using it.).15 F(The)5.056 E F2<ad73>2.556 E +F0 .056(option to the)2.556 F F2(history)2.555 E F0 -.2(bu)2.555 G .055 (iltin may be used to add commands to the).2 F -(end of the history list without actually e)108 468 Q -.15(xe)-.15 G +(end of the history list without actually e)108 432 Q -.15(xe)-.15 G (cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G -(ilable for subsequent recall.).25 E 2.2(The shell allo)108 484.8 R 2.2 +(ilable for subsequent recall.).25 E 2.2(The shell allo)108 448.8 R 2.2 (ws control of the v)-.25 F 2.2(arious characters used by the history e) --.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.146(description of)108 -496.8 R F1(histchars)3.646 E F0(abo)3.646 E 1.446 -.15(ve u)-.15 H(nder) -.15 E F1 1.146(Shell V)3.646 F(ariables)-.92 E F0 3.646(\). The)B 1.147 +-.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.147(description of)108 +460.8 R F2(histchars)3.647 E F0(abo)3.647 E 1.447 -.15(ve u)-.15 H(nder) +.15 E F2 1.147(Shell V)3.647 F(ariables)-.92 E F0 3.646(\). The)B 1.146 (shell uses the history comment character to)3.646 F -(mark history timestamps when writing the history \214le.)108 508.8 Q F1 -(Ev)87 525.6 Q(ent Designators)-.1 E F0(An e)108 537.6 Q -.15(ve)-.25 G +(mark history timestamps when writing the history \214le.)108 472.8 Q F2 +(Ev)87 489.6 Q(ent Designators)-.1 E F0(An e)108 501.6 Q -.15(ve)-.25 G (nt designator is a reference to a command line entry in the history li\ -st.).15 E F1(!)108 554.4 Q F0 1.608(Start a history substitution, e) -32.67 F 1.608(xcept when follo)-.15 F 1.607(wed by a)-.25 F F1(blank) -4.107 E F0 4.107(,n)C -.25(ew)-4.107 G 1.607 -(line, carriage return, = or \().25 F(\(when the)144 566.4 Q F1(extglob) -2.5 E F0(shell option is enabled using the)2.5 E F1(shopt)2.5 E F0 -.2 -(bu)2.5 G(iltin\).).2 E F1(!)108 578.4 Q F4(n)A F0 -(Refer to command line)27.67 E F4(n)2.5 E F0(.).24 E F1<21ad>108 590.4 Q +st.).15 E F2(!)108 518.4 Q F0 1.607(Start a history substitution, e) +32.67 F 1.607(xcept when follo)-.15 F 1.607(wed by a)-.25 F F2(blank) +4.107 E F0 4.107(,n)C -.25(ew)-4.107 G 1.608 +(line, carriage return, = or \().25 F(\(when the)144 530.4 Q F2(extglob) +2.5 E F0(shell option is enabled using the)2.5 E F2(shopt)2.5 E F0 -.2 +(bu)2.5 G(iltin\).).2 E F2(!)108 542.4 Q F4(n)A F0 +(Refer to command line)27.67 E F4(n)2.5 E F0(.).24 E F2<21ad>108 554.4 Q F4(n)A F0(Refer to the current command line minus)21.97 E F4(n)2.5 E F0 -(.).24 E F1(!!)108 602.4 Q F0(Refer to the pre)29.34 E(vious command.) --.25 E(This is a synon)5 E(ym for `!\2551'.)-.15 E F1(!)108 614.4 Q F4 +(.).24 E F2(!!)108 566.4 Q F0(Refer to the pre)29.34 E(vious command.) +-.25 E(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 578.4 Q F4 (string)A F0(Refer to the most recent command starting with)9.33 E F4 -(string)2.5 E F0(.).22 E F1(!?)108 626.4 Q F4(string)A F1([?])A F0 1.022 -(Refer to the most recent command containing)144 638.4 R F4(string)3.522 -E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F1(?)3.522 E F0 1.022 -(may be omitted if)3.522 F F4(string)3.862 E F0(is)3.742 E(follo)144 -650.4 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F5 12/Times-Bold@0 -SF(^)108 667.4 Q F4(string1)-5 I F5(^)5 I F4(string2)-5 I F5(^)5 I F0 -2.63(Quick substitution.)144 674.4 R 2.629 +(string)2.5 E F0(.).22 E F2(!?)108 590.4 Q F4(string)A F2([?])A F0 1.022 +(Refer to the most recent command containing)144 602.4 R F4(string)3.522 +E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F2(?)3.522 E F0 1.022 +(may be omitted if)3.522 F F4(string)3.861 E F0(is)3.741 E(follo)144 +614.4 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F5 12/Times-Bold@0 +SF(^)108 631.4 Q F4(string1)-5 I F5(^)5 I F4(string2)-5 I F5(^)5 I F0 +2.629(Quick substitution.)144 638.4 R 2.629 (Repeat the last command, replacing)7.629 F F4(string1)5.469 E F0(with) 5.129 E F4(string2)5.129 E F0 7.629(.E).02 G(qui)-7.629 E -.25(va)-.25 G -2.629(lent to).25 F -.74(``)144 686.4 S(!!:s/).74 E F4(string1)A F0(/)A -F4(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F1(Modi\214ers)2.5 E F0 -(belo)2.5 E(w\).)-.25 E F1(!#)108 698.4 Q F0 -(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(47)185.955 E 0 Cg EP +2.63(lent to).25 F -.74(``)144 650.4 S(!!:s/).74 E F4(string1)A F0(/)A +F4(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0 +(belo)2.5 E(w\).)-.25 E F2(!#)108 662.4 Q F0 +(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F2 -.75 +(Wo)87 679.2 S(rd Designators).75 E F0 -.8(Wo)108 691.2 S 1.314 +(rd designators are used to select desired w).8 F 1.314(ords from the e) +-.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.313 +(separates the e)3.813 F -.15(ve)-.25 G 1.313(nt speci\214cation).15 F +.529(from the w)108 703.2 R .529(ord designator)-.1 F 5.529(.I)-.55 G +3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529 +(ord designator be)-.1 F .529(gins with a)-.15 F F2(^)3.029 E F0(,)A F2 +($)3.029 E F0(,)A F2(*)3.029 E F0(,)A F2<ad>3.029 E F0 3.029(,o)C(r) +-3.029 E F2(%)3.029 E F0 5.53(.W)C(ords)-6.33 E 1.301 +(are numbered from the be)108 715.2 R 1.301 +(ginning of the line, with the \214rst w)-.15 F 1.3 +(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.3 G 1.3(rds are).8 F +(inserted into the current line separated by single spaces.)108 727.2 Q +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(47)185.955 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF -.75(Wo)87 84 S(rd Designators).75 E F0 -.8 -(Wo)108 96 S 1.313(rd designators are used to select desired w).8 F -1.314(ords from the e)-.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F1(:)3.814 -E F0 1.314(separates the e)3.814 F -.15(ve)-.25 G 1.314 -(nt speci\214cation).15 F .53(from the w)108 108 R .529(ord designator) --.1 F 5.529(.I)-.55 G 3.029(tm)-5.529 G .529(ay be omitted if the w) --3.029 F .529(ord designator be)-.1 F .529(gins with a)-.15 F F1(^)3.029 -E F0(,)A F1($)3.029 E F0(,)A F1(*)3.029 E F0(,)A F1<ad>3.029 E F0 3.029 -(,o)C(r)-3.029 E F1(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3 -(are numbered from the be)108 120 R 1.3 -(ginning of the line, with the \214rst w)-.15 F 1.301 -(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.301 G 1.301(rds are).8 -F(inserted into the current line separated by single spaces.)108 132 Q -F1 2.5(0\()108 148.8 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 160.8 Q -2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E -/F2 10/Times-Italic@0 SF(n)108.36 172.8 Q F0(The)30.64 E F2(n)2.5 E F0 -(th w)A(ord.)-.1 E F1(^)108 184.8 Q F0(The \214rst ar)32.67 E 2.5 -(gument. That)-.18 F(is, w)2.5 E(ord 1.)-.1 E F1($)108 196.8 Q F0 -(The last ar)31 E(gument.)-.18 E F1(%)108 208.8 Q F0(The w)26 E +-.35 E/F1 10/Times-Bold@0 SF 2.5(0\()108 84 S(zer)-2.5 E(o\))-.18 E F0 +(The zeroth w)144 96 Q 2.5(ord. F)-.1 F +(or the shell, this is the command w)-.15 E(ord.)-.1 E/F2 10 +/Times-Italic@0 SF(n)108.36 108 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A +(ord.)-.1 E F1(^)108 120 Q F0(The \214rst ar)32.67 E 2.5(gument. That) +-.18 F(is, w)2.5 E(ord 1.)-.1 E F1($)108 132 Q F0(The last ar)31 E +(gument.)-.18 E F1(%)108 144 Q F0(The w)26 E (ord matched by the most recent `?)-.1 E F2(string)A F0(?' search.)A F2 -(x)108.77 220.8 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G(ange of w)-2.5 E +(x)108.77 156 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G(ange of w)-2.5 E (ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E(viates `0\255)-.25 E -F2(y)A F0('.)A F1(*)108 232.8 Q F0 .316(All of the w)31 F .316(ords b) --.1 F .316(ut the zeroth.)-.2 F .315(This is a synon)5.315 F .315 -(ym for `)-.15 F F2(1\255$)A F0 2.815('. It)B .315 -(is not an error to use)2.815 F F1(*)2.815 E F0 .315(if there is)2.815 F -(just one w)144 244.8 Q(ord in the e)-.1 E -.15(ve)-.25 G -(nt; the empty string is returned in that case.).15 E F1(x*)108 256.8 Q -F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 268.8 Q -F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1 -(x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108 -285.6 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G +F2(y)A F0('.)A F1(*)108 168 Q F0 .315(All of the w)31 F .315(ords b)-.1 +F .315(ut the zeroth.)-.2 F .315(This is a synon)5.315 F .315(ym for `) +-.15 F F2(1\255$)A F0 2.815('. It)B .315(is not an error to use)2.815 F +F1(*)2.816 E F0 .316(if there is)2.816 F(just one w)144 180 Q +(ord in the e)-.1 E -.15(ve)-.25 G +(nt; the empty string is returned in that case.).15 E F1(x*)108 192 Q F0 +(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 204 Q F0 +(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1(x*) +2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108 220.8 +Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G (nt speci\214cation, the pre).15 E(vious command is used as the e)-.25 E --.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 302.4 Q F0 .183 -(After the optional w)108 314.4 R .183(ord designator)-.1 F 2.683(,t)-.4 -G .184(here may appear a sequence of one or more of the follo)-2.683 F -.184(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 326.4 Q F1(h) -108 343.2 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H +-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 237.6 Q F0 .184 +(After the optional w)108 249.6 R .184(ord designator)-.1 F 2.684(,t)-.4 +G .183(here may appear a sequence of one or more of the follo)-2.684 F +.183(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 261.6 Q F1(h) +108 278.4 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H (railing \214le name component, lea).15 E(ving only the head.)-.2 E F1 -(t)108 355.2 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H +(t)108 290.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H (ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F1(r) -108 367.2 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E +108 302.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E (\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E -(ving the basename.)-.2 E F1(e)108 379.2 Q F0(Remo)31.56 E .3 -.15(ve a) --.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 391.2 +(ving the basename.)-.2 E F1(e)108 314.4 Q F0(Remo)31.56 E .3 -.15(ve a) +-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 326.4 Q F0(Print the ne)30.44 E 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2 -E -.15(xe)-.15 G(cute it.).15 E F1(q)108 403.2 Q F0 +E -.15(xe)-.15 G(cute it.).15 E F1(q)108 338.4 Q F0 (Quote the substituted w)30.44 E(ords, escaping further substitutions.) --.1 E F1(x)108 415.2 Q F0(Quote the substituted w)31 E(ords as with)-.1 +-.1 E F1(x)108 350.4 Q F0(Quote the substituted w)31 E(ords as with)-.1 E F1(q)2.5 E F0 2.5(,b)C(ut break into w)-2.7 E(ords at)-.1 E F1(blanks) -2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 427.2 Q F2(old)A F1(/)A -F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 439.2 Q F2(ne)3.082 E(w)-.15 E -F0 .221(for the \214rst occurrence of)3.032 F F2(old)2.951 E F0 .221 +2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 362.4 Q F2(old)A F1(/)A +F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 374.4 Q F2(ne)3.081 E(w)-.15 E +F0 .221(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221 (in the e)3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721 -(yd)-.15 G .221(elimiter can be used in place)-2.721 F .616(of /.)144 -451.2 R .617 +(yd)-.15 G .221(elimiter can be used in place)-2.721 F .617(of /.)144 +386.4 R .617 (The \214nal delimiter is optional if it is the last character of the e) -5.616 F -.15(ve)-.25 G .617(nt line.).15 F .617(The delimiter may)5.617 -F .666(be quoted in)144 463.2 R F2(old)3.396 E F0(and)3.936 E F2(ne) +5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616 +F .666(be quoted in)144 398.4 R F2(old)3.396 E F0(and)3.936 E F2(ne) 3.526 E(w)-.15 E F0 .666(with a single backslash.)3.476 F .666 (If & appears in)5.666 F F2(ne)3.166 E(w)-.15 E F0 3.166(,i).31 G 3.166 (ti)-3.166 G 3.166(sr)-3.166 G .666(eplaced by)-3.166 F F2(old)3.166 E -F0 5.666(.A).77 G .274(single backslash will quote the &.)144 475.2 R -(If)5.274 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544 -F F2(old)3.005 E F0 .275(substituted, or)3.545 F 2.775(,i)-.4 G 2.775 -(fn)-2.775 G 2.775(op)-2.775 G(re)-2.775 E(vi-)-.25 E -(ous history substitutions took place, the last)144 487.2 Q F2(string) +F0 5.666(.A).77 G .275(single backslash will quote the &.)144 410.4 R +(If)5.275 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544 +F F2(old)3.004 E F0 .274(substituted, or)3.544 F 2.774(,i)-.4 G 2.774 +(fn)-2.774 G 2.774(op)-2.774 G(re)-2.774 E(vi-)-.25 E +(ous history substitutions took place, the last)144 422.4 Q F2(string) 2.84 E F0(in a)2.72 E F1(!?)2.5 E F2(string)A F1([?])A F0(search.)5 E F1 -(&)108 499.2 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1 -(g)108 511.2 Q F0 .398(Cause changes to be applied o)31 F -.15(ve)-.15 G -2.898(rt).15 G .398(he entire e)-2.898 F -.15(ve)-.25 G .398(nt line.) -.15 F .397(This is used in conjunction with `)5.398 F F1(:s)A F0 2.897 -('\()C(e.g.,)-2.897 E(`)144 523.2 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w) --.15 E F1(/)A F0 1.218('\) or `)B F1(:&)A F0 3.718('. If)B 1.218 -(used with `)3.718 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.219 -(elimiter can be used in place of /, and the \214nal)-3.718 F .09 -(delimiter is optional if it is the last character of the e)144 535.2 R --.15(ve)-.25 G .089(nt line.).15 F(An)5.089 E F1(a)2.589 E F0 .089 -(may be used as a synon)2.589 F .089(ym for)-.15 F F1(g)144 547.2 Q F0 -(.)A F1(G)108 559.2 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 -2.5('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 -G(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 576 Q(UIL)-.11 E -(TIN COMMANDS)-1.007 E F0 .062(Unless otherwise noted, each b)108 588 R -.062(uiltin command documented in this section as accepting options pre\ -ceded by)-.2 F F1<ad>108 600 Q F0(accepts)2.534 E F1<adad>2.534 E F0 -.034(to signify the end of the options.)2.534 F(The)5.034 E F1(:)2.534 E +(&)108 434.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1 +(g)108 446.4 Q F0 .397(Cause changes to be applied o)31 F -.15(ve)-.15 G +2.897(rt).15 G .398(he entire e)-2.897 F -.15(ve)-.25 G .398(nt line.) +.15 F .398(This is used in conjunction with `)5.398 F F1(:s)A F0 2.898 +('\()C(e.g.,)-2.898 E(`)144 458.4 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w) +-.15 E F1(/)A F0 1.219('\) or `)B F1(:&)A F0 3.719('. If)B 1.219 +(used with `)3.719 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.218 +(elimiter can be used in place of /, and the \214nal)-3.718 F .089 +(delimiter is optional if it is the last character of the e)144 470.4 R +-.15(ve)-.25 G .09(nt line.).15 F(An)5.09 E F1(a)2.59 E F0 .09 +(may be used as a synon)2.59 F .09(ym for)-.15 F F1(g)144 482.4 Q F0(.)A +F1(G)108 494.4 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 2.5 +('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 G +(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 511.2 Q(UIL)-.11 E +(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 523.2 +R .062(uiltin command documented in this section as accepting options p\ +receded by)-.2 F F1<ad>108 535.2 Q F0(accepts)2.533 E F1<adad>2.533 E F0 +.034(to signify the end of the options.)2.533 F(The)5.034 E F1(:)2.534 E F0(,)A F1(true)2.534 E F0(,)A F1(false)2.534 E F0 2.534(,a)C(nd)-2.534 E -F1(test)2.534 E F0 -.2(bu)2.534 G .033(iltins do not accept options and) -.2 F .077(do not treat)108 612 R F1<adad>2.577 E F0(specially)2.577 E +F1(test)2.534 E F0 -.2(bu)2.534 G .034(iltins do not accept options and) +.2 F .078(do not treat)108 547.2 R F1<adad>2.577 E F0(specially)2.577 E 5.077(.T)-.65 G(he)-5.077 E F1(exit)2.577 E F0(,)A F1(logout)2.577 E F0 (,)A F1(br)2.577 E(eak)-.18 E F0(,)A F1(continue)2.577 E F0(,)A F1(let) 2.577 E F0 2.577(,a)C(nd)-2.577 E F1(shift)2.577 E F0 -.2(bu)2.577 G -.077(iltins accept and process ar).2 F(gu-)-.18 E .32(ments be)108 624 R -.32(ginning with)-.15 F F1<ad>2.82 E F0 .32(without requiring)2.82 F F1 -<adad>2.82 E F0 5.319(.O)C .319(ther b)-5.319 F .319 -(uiltins that accept ar)-.2 F .319(guments b)-.18 F .319 -(ut are not speci\214ed as)-.2 F 1.143(accepting options interpret ar) -108 636 R 1.143(guments be)-.18 F 1.143(ginning with)-.15 F F1<ad>3.643 -E F0 1.143(as in)3.643 F -.25(va)-.4 G 1.143(lid options and require).25 -F F1<adad>3.644 E F0 1.144(to pre)3.644 F -.15(ve)-.25 G 1.144(nt this) -.15 F(interpretation.)108 648 Q F1(:)108 666 Q F0([)2.5 E F2(ar)A -(guments)-.37 E F0(])A .452(No ef)144 678 R .452 -(fect; the command does nothing be)-.25 F .452(yond e)-.15 F(xpanding) --.15 E F2(ar)3.282 E(guments)-.37 E F0 .451(and performing an)3.221 F -2.951(ys)-.15 G(peci\214ed)-2.951 E 2.5(redirections. A)144 690 R -(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 706.8 Q F2 -(\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(48)185.955 E 0 Cg EP -%%Page: 49 49 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(sour)108 84 Q(ce)-.18 E/F2 10 -/Times-Italic@0 SF(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0 -(])A 1.02(Read and e)144 96 R -.15(xe)-.15 G 1.02(cute commands from).15 -F F2(\214lename)5.43 E F0 1.02(in the current shell en)3.7 F 1.02 +.077(iltins accept and process ar).2 F(gu-)-.18 E .319(ments be)108 +559.2 R .319(ginning with)-.15 F F1<ad>2.819 E F0 .319 +(without requiring)2.819 F F1<adad>2.819 E F0 5.319(.O)C .319(ther b) +-5.319 F .319(uiltins that accept ar)-.2 F .32(guments b)-.18 F .32 +(ut are not speci\214ed as)-.2 F 1.144(accepting options interpret ar) +108 571.2 R 1.144(guments be)-.18 F 1.144(ginning with)-.15 F F1<ad> +3.643 E F0 1.143(as in)3.643 F -.25(va)-.4 G 1.143 +(lid options and require).25 F F1<adad>3.643 E F0 1.143(to pre)3.643 F +-.15(ve)-.25 G 1.143(nt this).15 F(interpretation.)108 583.2 Q F1(:)108 +601.2 Q F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .451(No ef)144 613.2 R +.451(fect; the command does nothing be)-.25 F .452(yond e)-.15 F +(xpanding)-.15 E F2(ar)3.282 E(guments)-.37 E F0 .452(and performing an) +3.222 F 2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. A)144 +625.2 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 642 Q F2 +(\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108 +654 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0 +(])A 1.02(Read and e)144 666 R -.15(xe)-.15 G 1.02(cute commands from) +.15 F F2(\214lename)5.43 E F0 1.02(in the current shell en)3.7 F 1.02 (vironment and return the e)-.4 F(xit)-.15 E 1.68 -(status of the last command e)144 108 R -.15(xe)-.15 G 1.68(cuted from) +(status of the last command e)144 678 R -.15(xe)-.15 G 1.68(cuted from) .15 F F2(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F2(\214lename)6.09 -E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 120 -R/F3 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608 +E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 690 +R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608 (are used to \214nd the directory containing)2.858 F F2(\214lename)3.108 -E F0 5.608(.T).18 G .608(he \214le searched for in)-5.608 F F3 -.666(PA) -3.108 G(TH)-.189 E F0 .833(need not be e)144 132 R -.15(xe)-.15 G 3.333 -(cutable. When).15 F F1(bash)3.333 E F0 .832(is not in)3.333 F F2 .832 -(posix mode)3.332 F F0 3.332(,t)C .832 -(he current directory is searched if no)-3.332 F .981 -(\214le is found in)144 144 R F3 -.666(PA)3.481 G(TH)-.189 E/F4 9 +E F0 5.608(.T).18 G .608(he \214le searched for in)-5.608 F F4 -.666(PA) +3.108 G(TH)-.189 E F0 .832(need not be e)144 702 R -.15(xe)-.15 G 3.332 +(cutable. When).15 F F1(bash)3.332 E F0 .832(is not in)3.332 F F2 .832 +(posix mode)3.332 F F0 3.332(,t)C .833 +(he current directory is searched if no)-3.332 F .982 +(\214le is found in)144 714 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18 E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981 -(iltin command is turned of).2 F .982(f, the)-.25 F F3 -.666(PA)144 156 -S(TH)-.189 E F0 .112(is not searched.)2.363 F .112(If an)5.112 F(y)-.15 +(iltin command is turned of).2 F .981(f, the)-.25 F F4 -.666(PA)144 726 +S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F(y)-.15 E F2(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F 2.612 -(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F2 -(\214lename)144 168 Q F0 .341(is e)2.841 F -.15(xe)-.15 G 2.841 -(cuted. Otherwise).15 F .341(the positional parameters are unchanged.) -2.841 F .342(The return status is the)5.342 F .716 -(status of the last command e)144 180 R .716 -(xited within the script \(0 if no commands are e)-.15 F -.15(xe)-.15 G -.716(cuted\), and f).15 F .715(alse if)-.1 F F2(\214lename)145.91 192 Q -F0(is not found or cannot be read.)2.68 E F1(alias)108 208.8 Q F0([)2.5 -E F1<ad70>A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C -(..])-2.5 E F1(Alias)144 220.8 Q F0 2.724(with no ar)5.224 F 2.724 -(guments or with the)-.18 F F1<ad70>5.224 E F0 2.724 -(option prints the list of aliases in the form)5.224 F F1(alias)5.225 E -F2(name)144 232.8 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F -.58(When ar)5.58 F .58 -(guments are supplied, an alias is de\214ned for each)-.18 F F2(name) -3.08 E F0(whose)144 244.8 Q F2(value)2.895 E F0 .395(is gi)2.895 F -.15 -(ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F2(value) +(yb)-.15 G .112(ecome the positional parameters when)-2.612 F +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(48)185.955 E 0 Cg EP +%%Page: 49 49 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Italic@0 SF(\214lename)144 84 Q F0 .342(is e)2.842 F +-.15(xe)-.15 G 2.842(cuted. Otherwise).15 F .342 +(the positional parameters are unchanged.)2.842 F .341 +(The return status is the)5.341 F .716(status of the last command e)144 +96 R .716(xited within the script \(0 if no commands are e)-.15 F -.15 +(xe)-.15 G .716(cuted\), and f).15 F .716(alse if)-.1 F F1(\214lename) +145.91 108 Q F0(is not found or cannot be read.)2.68 E/F2 10 +/Times-Bold@0 SF(alias)108 124.8 Q F0([)2.5 E F2<ad70>A F0 2.5(][)C F1 +(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2(Alias)144 +136.8 Q F0 2.725(with no ar)5.225 F 2.724(guments or with the)-.18 F F2 +<ad70>5.224 E F0 2.724(option prints the list of aliases in the form) +5.224 F F2(alias)5.224 E F1(name)144 148.8 Q F0(=)A F1(value)A F0 .58 +(on standard output.)3.08 F .58(When ar)5.58 F .58 +(guments are supplied, an alias is de\214ned for each)-.18 F F1(name) +3.08 E F0(whose)144 160.8 Q F1(value)2.895 E F0 .395(is gi)2.895 F -.15 +(ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F1(value) 5.395 E F0 .395(causes the ne)2.895 F .395(xt w)-.15 F .395 (ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054 -(stitution when the alias is e)144 256.8 R 2.554(xpanded. F)-.15 F .054 -(or each)-.15 F F2(name)2.554 E F0 .054(in the ar)2.554 F .054 -(gument list for which no)-.18 F F2(value)2.554 E F0 .053(is sup-)2.553 -F 1.313(plied, the name and v)144 268.8 R 1.314 -(alue of the alias is printed.)-.25 F F1(Alias)6.314 E F0 1.314 -(returns true unless a)3.814 F F2(name)3.814 E F0 1.314(is gi)3.814 F --.15(ve)-.25 G 3.814(nf).15 G(or)-3.814 E -(which no alias has been de\214ned.)144 280.8 Q F1(bg)108 297.6 Q F0([) -2.5 E F2(jobspec)A F0(...])2.5 E .745(Resume each suspended job)144 -309.6 R F2(jobspec)3.245 E F0 .745 -(in the background, as if it had been started with)3.245 F F1(&)3.244 E -F0 5.744(.I)C(f)-5.744 E F2(job-)4.984 E(spec)144 321.6 Q F0 .671 -(is not present, the shell')3.481 F 3.171(sn)-.55 G .672(otion of the) --3.171 F F2(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1 -(bg)5.672 E F2(jobspec)4.912 E F0 .672(returns 0 unless run)3.482 F .419 -(when job control is disabled or)144 333.6 R 2.919(,w)-.4 G .419 -(hen run with job control enabled, an)-2.919 F 2.918(ys)-.15 G -(peci\214ed)-2.918 E F2(jobspec)2.918 E F0 -.1(wa)2.918 G 2.918(sn).1 G -(ot)-2.918 E(found or w)144 345.6 Q(as started without job control.)-.1 -E F1(bind)108 362.4 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0 -2.5(][)C F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 374.4 Q F0([)2.5 E F1 -<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1<ad71>-2.5 E F2 -(function)2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(function)2.5 E F0 2.5(][)C -F1<ad72>-2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(])A F1(bind)108 386.4 Q F0 -([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F1<ad66>2.5 E F2 -(\214lename)2.5 E F1(bind)108 398.4 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 -G(ymap)-.2 E F0(])A F1<ad78>2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2 -(shell\255command)A F1(bind)108 410.4 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke) -2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2 -(function\255name)A F1(bind)108 422.4 Q F2 -.37(re)2.5 G -(adline\255command).37 E F0 .238(Display current)144 434.4 R F1 -.18(re) -2.738 G(adline).18 E F0 -.1(ke)2.738 G 2.738(ya)-.05 G .239 -(nd function bindings, bind a k)-2.738 F .539 -.15(ey s)-.1 H .239 -(equence to a).15 F F1 -.18(re)2.739 G(adline).18 E F0 .239(function or) -2.739 F .476(macro, or set a)144 446.4 R F1 -.18(re)2.976 G(adline).18 E -F0 -.25(va)2.976 G 2.976(riable. Each).25 F .476(non-option ar)2.976 F -.475(gument is a command as it w)-.18 F .475(ould appear in)-.1 F F2 -(.inputr)144 458.4 Q(c)-.37 E F0 2.983(,b).31 G .484 -(ut each binding or command must be passed as a separate ar)-3.183 F -.484(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5 -(re\255read\255init\255\214le'. Options,)144 470.4 R(if supplied, ha)2.5 -E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6d>144 -482.4 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 494.4 Q F2 -.1(ke)5.159 G -(ymap)-.2 E F0 2.659(as the k)5.349 F -.15(ey)-.1 G 2.658(map to be af) -.15 F 2.658(fected by the subsequent bindings.)-.25 F(Acceptable)7.658 E -F2 -.1(ke)180 506.4 S(ymap)-.2 E F0 3.192(names are)5.882 F F2 3.192 -(emacs, emacs\255standar)5.692 F 3.193 +(stitution when the alias is e)144 172.8 R 2.554(xpanded. F)-.15 F .054 +(or each)-.15 F F1(name)2.554 E F0 .054(in the ar)2.554 F .054 +(gument list for which no)-.18 F F1(value)2.554 E F0 .054(is sup-)2.554 +F 1.314(plied, the name and v)144 184.8 R 1.314 +(alue of the alias is printed.)-.25 F F2(Alias)6.314 E F0 1.314 +(returns true unless a)3.814 F F1(name)3.814 E F0 1.313(is gi)3.814 F +-.15(ve)-.25 G 3.813(nf).15 G(or)-3.813 E +(which no alias has been de\214ned.)144 196.8 Q F2(bg)108 213.6 Q F0([) +2.5 E F1(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144 +225.6 R F1(jobspec)3.244 E F0 .745 +(in the background, as if it had been started with)3.244 F F2(&)3.245 E +F0 5.745(.I)C(f)-5.745 E F1(job-)4.985 E(spec)144 237.6 Q F0 .672 +(is not present, the shell')3.482 F 3.172(sn)-.55 G .672(otion of the) +-3.172 F F1(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F2 +(bg)5.671 E F1(jobspec)4.911 E F0 .671(returns 0 unless run)3.481 F .418 +(when job control is disabled or)144 249.6 R 2.919(,w)-.4 G .419 +(hen run with job control enabled, an)-2.919 F 2.919(ys)-.15 G +(peci\214ed)-2.919 E F1(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G +(ot)-2.919 E(found or w)144 261.6 Q(as started without job control.)-.1 +E F2(bind)108 278.4 Q F0([)2.5 E F2<ad6d>A F1 -.1(ke)2.5 G(ymap)-.2 E F0 +2.5(][)C F2(\255lpsvPSV)-2.5 E F0(])A F2(bind)108 290.4 Q F0([)2.5 E F2 +<ad6d>A F1 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F2<ad71>-2.5 E F1 +(function)2.5 E F0 2.5(][)C F2<ad75>-2.5 E F1(function)2.5 E F0 2.5(][)C +F2<ad72>-2.5 E F1 -.1(ke)2.5 G(yseq)-.2 E F0(])A F2(bind)108 302.4 Q F0 +([)2.5 E F2<ad6d>A F1 -.1(ke)2.5 G(ymap)-.2 E F0(])A F2<ad66>2.5 E F1 +(\214lename)2.5 E F2(bind)108 314.4 Q F0([)2.5 E F2<ad6d>A F1 -.1(ke)2.5 +G(ymap)-.2 E F0(])A F2<ad78>2.5 E F1 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F1 +(shell\255command)A F2(bind)108 326.4 Q F0([)2.5 E F2<ad6d>A F1 -.1(ke) +2.5 G(ymap)-.2 E F0(])A F1 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F1 +(function\255name)A F2(bind)108 338.4 Q F1 -.37(re)2.5 G +(adline\255command).37 E F0 .239(Display current)144 350.4 R F2 -.18(re) +2.739 G(adline).18 E F0 -.1(ke)2.739 G 2.739(ya)-.05 G .239 +(nd function bindings, bind a k)-2.739 F .539 -.15(ey s)-.1 H .238 +(equence to a).15 F F2 -.18(re)2.738 G(adline).18 E F0 .238(function or) +2.738 F .475(macro, or set a)144 362.4 R F2 -.18(re)2.975 G(adline).18 E +F0 -.25(va)2.975 G 2.975(riable. Each).25 F .476(non-option ar)2.976 F +.476(gument is a command as it w)-.18 F .476(ould appear in)-.1 F F1 +(.inputr)144 374.4 Q(c)-.37 E F0 2.984(,b).31 G .484 +(ut each binding or command must be passed as a separate ar)-3.184 F +.483(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5 +(re\255read\255init\255\214le'. Options,)144 386.4 R(if supplied, ha)2.5 +E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad6d>144 +398.4 Q F1 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 410.4 Q F1 -.1(ke)5.158 G +(ymap)-.2 E F0 2.658(as the k)5.348 F -.15(ey)-.1 G 2.658(map to be af) +.15 F 2.659(fected by the subsequent bindings.)-.25 F(Acceptable)7.659 E +F1 -.1(ke)180 422.4 S(ymap)-.2 E F0 3.193(names are)5.883 F F1 3.193 +(emacs, emacs\255standar)5.693 F 3.192 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E -(vi\255command)180 518.4 Q F0 4.43(,a)C(nd)-4.43 E F2(vi\255insert)4.429 -E F0(.).68 E F2(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929 -(lent to).25 F F2(vi\255command)4.429 E F0(;)A F2(emacs)4.429 E F0 1.929 -(is equi)4.429 F -.25(va)-.25 G 1.929(lent to).25 F F2(emacs\255standar) -180 530.4 Q(d)-.37 E F0(.)A F1<ad6c>144 542.4 Q F0 -(List the names of all)27.52 E F1 -.18(re)2.5 G(adline).18 E F0 -(functions.)2.5 E F1<ad70>144 554.4 Q F0(Display)24.74 E F1 -.18(re)2.5 +(vi\255command)180 434.4 Q F0 4.429(,a)C(nd)-4.429 E F1(vi\255insert) +4.429 E F0(.).68 E F1(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G +1.929(lent to).25 F F1(vi\255command)4.429 E F0(;)A F1(emacs)4.429 E F0 +1.929(is equi)4.429 F -.25(va)-.25 G 1.93(lent to).25 F F1 +(emacs\255standar)180 446.4 Q(d)-.37 E F0(.)A F2<ad6c>144 458.4 Q F0 +(List the names of all)27.52 E F2 -.18(re)2.5 G(adline).18 E F0 +(functions.)2.5 E F2<ad70>144 470.4 Q F0(Display)24.74 E F2 -.18(re)2.5 G(adline).18 E F0(function names and bindings in such a w)2.5 E -(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad50>144 566.4 -Q F0(List current)24.19 E F1 -.18(re)2.5 G(adline).18 E F0 -(function names and bindings.)2.5 E F1<ad73>144 578.4 Q F0(Display)26.41 -E F1 -.18(re)3.655 G(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G +(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F2<ad50>144 482.4 +Q F0(List current)24.19 E F2 -.18(re)2.5 G(adline).18 E F0 +(function names and bindings.)2.5 E F2<ad73>144 494.4 Q F0(Display)26.41 +E F2 -.18(re)3.655 G(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G 1.155(equences bound to macros and the strings the)-3.655 F 3.655(yo) --.15 G 1.155(utput in such a)-3.655 F -.1(wa)180 590.4 S 2.5(yt).1 G -(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad53>144 602.4 Q -F0(Display)24.74 E F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys) +-.15 G 1.155(utput in such a)-3.655 F -.1(wa)180 506.4 S 2.5(yt).1 G +(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F2<ad53>144 518.4 Q +F0(Display)24.74 E F2 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys) -.05 G(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G -(utput.)-2.5 E F1<ad76>144 614.4 Q F0(Display)25.3 E F1 -.18(re)2.5 G +(utput.)-2.5 E F2<ad76>144 530.4 Q F0(Display)25.3 E F2 -.18(re)2.5 G (adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E (alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G -(an be re-read.)-2.5 E F1<ad56>144 626.4 Q F0(List current)23.08 E F1 +(an be re-read.)-2.5 E F2<ad56>144 542.4 Q F0(List current)23.08 E F2 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E -(alues.)-.25 E F1<ad66>144 638.4 Q F2(\214lename)2.5 E F0(Read k)180 -650.4 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A -F1<ad71>144 662.4 Q F2(function)2.5 E F0(Query about which k)180 674.4 Q +(alues.)-.25 E F2<ad66>144 554.4 Q F1(\214lename)2.5 E F0(Read k)180 +566.4 Q .3 -.15(ey b)-.1 H(indings from).15 E F1(\214lename)2.5 E F0(.)A +F2<ad71>144 578.4 Q F1(function)2.5 E F0(Query about which k)180 590.4 Q -.15(ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 H -(he named).1 E F2(function)2.5 E F0(.)A F1<ad75>144 686.4 Q F2(function) -2.5 E F0(Unbind all k)180 698.4 Q -.15(ey)-.1 G 2.5(sb).15 G -(ound to the named)-2.5 E F2(function)2.5 E F0(.)A(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(49)185.955 E 0 Cg EP +(he named).1 E F1(function)2.5 E F0(.)A F2<ad75>144 602.4 Q F1(function) +2.5 E F0(Unbind all k)180 614.4 Q -.15(ey)-.1 G 2.5(sb).15 G +(ound to the named)-2.5 E F1(function)2.5 E F0(.)A F2<ad72>144 626.4 Q +F1 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 638.4 Q .3 -.15(ve a)-.15 H .3 +-.15(ny c).15 H(urrent binding for).15 E F1 -.1(ke)2.5 G(yseq)-.2 E F0 +(.)A F2<ad78>144 650.4 Q F1 -.1(ke)2.5 G(yseq)-.2 E F2(:)A F1 +(shell\255command)A F0(Cause)180 662.4 Q F1(shell\255command)4.325 E F0 +1.825(to be e)4.325 F -.15(xe)-.15 G 1.825(cuted whene).15 F -.15(ve) +-.25 G(r).15 E F1 -.1(ke)4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F +(When)6.825 E F1(shell\255com-)4.325 E(mand)180 674.4 Q F0 1.765(is e) +4.265 F -.15(xe)-.15 G 1.765(cuted, the shell sets the).15 F/F3 9 +/Times-Bold@0 SF(READLINE_LINE)4.265 E F0 -.25(va)4.015 G 1.765 +(riable to the contents of the).25 F F2 -.18(re)180 686.4 S(adline).18 E +F0 1.353(line b)3.852 F(uf)-.2 E 1.353(fer and the)-.25 F F3 +(READLINE_POINT)3.853 E F0 -.25(va)3.603 G 1.353 +(riable to the current location of the).25 F 2.012(insertion point.)180 +698.4 R 2.011(If the e)7.012 F -.15(xe)-.15 G 2.011 +(cuted command changes the v).15 F 2.011(alue of)-.25 F F3 +(READLINE_LINE)4.511 E F0(or)4.261 E F3(READLINE_POINT)180 710.4 Q/F4 9 +/Times-Roman@0 SF(,)A F0(those ne)2.25 E 2.5(wv)-.25 G +(alues will be re\215ected in the editing state.)-2.75 E(The return v) +144 727.2 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15 +(ve)-.25 G 2.5(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 +E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(49)185.955 E 0 Cg EP %%Page: 50 50 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF<ad72>144 84 Q/F2 10/Times-Italic@0 SF -.1 -(ke)2.5 G(yseq)-.2 E F0(Remo)180 96 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 F1 -<ad78>144 108 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2(shell\255command)A -F0(Cause)180 120 Q F2(shell\255command)4.325 E F0 1.825(to be e)4.325 F --.15(xe)-.15 G 1.825(cuted whene).15 F -.15(ve)-.25 G(r).15 E F2 -.1(ke) -4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F(When)6.825 E F2 -(shell\255com-)4.325 E(mand)180 132 Q F0 1.113(is e)3.613 F -.15(xe)-.15 -G 1.113(cuted, the shell sets the).15 F F1(READLINE_LINE)3.613 E F0 -.25 -(va)3.613 G 1.113(riable to the contents of the).25 F F1 -.18(re)180 144 -S(adline).18 E F0 .587(line b)3.087 F(uf)-.2 E .587(fer and the)-.25 F -F1(READLINE_POINT)3.087 E F0 -.25(va)3.087 G .586 -(riable to the current location of the).25 F 1.24(insertion point.)180 -156 R 1.241(If the e)6.241 F -.15(xe)-.15 G 1.241 -(cuted command changes the v).15 F 1.241(alue of)-.25 F F1 -(READLINE_LINE)3.741 E F0(or)3.741 E F1(READLINE_POINT)180 168 Q F0 2.5 -(,t)C(hose ne)-2.5 E 2.5(wv)-.25 G -(alues will be re\215ected in the editing state.)-2.75 E(The return v) -144 184.8 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15 -(ve)-.25 G 2.5(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 -E F1(br)108 201.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055 -(Exit from within a)144 213.6 R F1 -.25(fo)2.555 G(r).25 E F0(,)A F1 -(while)2.555 E F0(,)A F1(until)2.555 E F0 2.555(,o)C(r)-2.555 E F1 -(select)2.555 E F0 2.555(loop. If)2.555 F F2(n)2.555 E F0 .055 -(is speci\214ed, break)2.555 F F2(n)2.555 E F0(le)2.555 E -.15(ve)-.25 G -(ls.).15 E F2(n)5.414 E F0 .054(must be)2.794 F/F3 10/Symbol SF<b3>2.554 -E F0(1.)2.554 E(If)144 225.6 Q F2(n)3.074 E F0 .215(is greater than the\ - number of enclosing loops, all enclosing loops are e)2.954 F 2.715 -(xited. The)-.15 F .215(return v)2.715 F(alue)-.25 E(is 0 unless)144 -237.6 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 E F1 -.2 -(bu)108 254.4 S(iltin).2 E F2(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E -F2(ar)A(guments)-.37 E F0(])A(Ex)144 266.4 Q .793 -(ecute the speci\214ed shell b)-.15 F .793(uiltin, passing it)-.2 F F2 +-.35 E/F1 10/Times-Bold@0 SF(br)108 84 Q(eak)-.18 E F0([)2.5 E/F2 10 +/Times-Italic@0 SF(n)A F0(])A .054(Exit from within a)144 96 R F1 -.25 +(fo)2.554 G(r).25 E F0(,)A F1(while)2.554 E F0(,)A F1(until)2.555 E F0 +2.555(,o)C(r)-2.555 E F1(select)2.555 E F0 2.555(loop. If)2.555 F F2(n) +2.555 E F0 .055(is speci\214ed, break)2.555 F F2(n)2.555 E F0(le)2.555 E +-.15(ve)-.25 G(ls.).15 E F2(n)5.415 E F0 .055(must be)2.795 F/F3 10 +/Symbol SF<b3>2.555 E F0(1.)2.555 E(If)144 108 Q F2(n)3.075 E F0 .215(i\ +s greater than the number of enclosing loops, all enclosing loops are e) +2.955 F 2.714(xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E +(is 0 unless)144 120 Q F2(n)2.5 E F0(is not greater than or equal to 1.) +2.5 E F1 -.2(bu)108 136.8 S(iltin).2 E F2(shell\255b)2.5 E(uiltin)-.2 E +F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A(Ex)144 148.8 Q .792 +(ecute the speci\214ed shell b)-.15 F .792(uiltin, passing it)-.2 F F2 (ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G .793(nd return its e)-3.293 -F .792(xit status.)-.15 F .792(This is useful)5.792 F .615 +F .793(xit status.)-.15 F .793(This is useful)5.793 F .616 (when de\214ning a function whose name is the same as a shell b)144 -278.4 R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144 -290.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 +160.8 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144 +172.8 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 -.2(bu)3.07 G .57(iltin is commonly rede\214ned this w).2 F(ay)-.1 E -5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 302.4 Q(alse if)-.1 +5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 184.8 Q(alse if)-.1 E F2(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E -(uiltin command.)-.2 E F1(caller)108 319.2 Q F0([)2.5 E F2 -.2(ex)C(pr) -.2 E F0(])A .253(Returns the conte)144 331.2 R .254(xt of an)-.15 F +(uiltin command.)-.2 E F1(caller)108 201.6 Q F0([)2.5 E F2 -.2(ex)C(pr) +.2 E F0(])A .254(Returns the conte)144 213.6 R .254(xt of an)-.15 F 2.754(ya)-.15 G(cti)-2.754 E .554 -.15(ve s)-.25 H .254 (ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G -.254(cuted with the).15 F F1(.)2.754 E F0(or)2.754 E F1(sour)144 343.2 Q -(ce)-.18 E F0 -.2(bu)3.063 G 3.063(iltins. W).2 F(ithout)-.4 E F2 -.2 +.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 225.6 Q +(ce)-.18 E F0 -.2(bu)3.062 G 3.062(iltins. W).2 F(ithout)-.4 E F2 -.2 (ex)3.062 G(pr).2 E F0(,)A F1(caller)3.062 E F0 .562 (displays the line number and source \214lename of the current)3.062 F -.253(subroutine call.)144 355.2 R .253(If a non-ne)5.253 F -.05(ga)-.15 -G(ti).05 E .553 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15 -F F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .254 -(displays the line number)2.754 F 2.754(,s)-.4 G(ub-)-2.754 E 1.327(rou\ +.254(subroutine call.)144 237.6 R .254(If a non-ne)5.254 F -.05(ga)-.15 +G(ti).05 E .554 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15 +F F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .253 +(displays the line number)2.753 F 2.753(,s)-.4 G(ub-)-2.753 E 1.327(rou\ tine name, and source \214le corresponding to that position in the curr\ -ent e)144 367.2 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e) -144 379.2 Q(xtra information may be used, for e)-.15 E .001 -(xample, to print a stack trace.)-.15 F .001(The current frame is frame) -5.001 F 3.02(0. The)144 391.2 R .52(return v)3.02 F .52 -(alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .519 -(cuting a subroutine call or).15 F F2 -.2(ex)3.019 G(pr).2 E F0 .519 -(does not corre-)3.019 F(spond to a v)144 403.2 Q -(alid position in the call stack.)-.25 E F1(cd)108 420 Q F0([)2.5 E F1 +ent e)144 249.6 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001 +(This e)144 261.6 R .001(xtra information may be used, for e)-.15 F .001 +(xample, to print a stack trace.)-.15 F(The current frame is frame)5 E +3.019(0. The)144 273.6 R .519(return v)3.019 F .519 +(alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .52 +(cuting a subroutine call or).15 F F2 -.2(ex)3.02 G(pr).2 E F0 .52 +(does not corre-)3.02 F(spond to a v)144 285.6 Q +(alid position in the call stack.)-.25 E F1(cd)108 302.4 Q F0([)2.5 E F1 (\255L|-P)A F0 2.5(][)C F2(dir)-2.5 E F0(])A .21 -(Change the current directory to)144 432 R F2(dir)2.71 E F0 5.21(.T)C +(Change the current directory to)144 314.4 R F2(dir)2.71 E F0 5.21(.T)C .21(he v)-5.21 F(ariable)-.25 E/F4 9/Times-Bold@0 SF(HOME)2.71 E F0 .21 (is the def)2.46 F(ault)-.1 E F2(dir)2.71 E F0 5.21(.T).73 G .21(he v) --5.21 F(ariable)-.25 E F4(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .777 -(de\214nes the search path for the directory containing)144 444 R F2 -(dir)3.276 E F0 5.776(.A).73 G(lternati)-5.776 E 1.076 -.15(ve d)-.25 H -.776(irectory names in).15 F F4(CDP)3.276 E -.855(AT)-.666 G(H).855 E F0 -.764(are separated by a colon \(:\).)144 456 R 3.264(An)5.764 G .764 +-5.21 F(ariable)-.25 E F4(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776 +(de\214nes the search path for the directory containing)144 326.4 R F2 +(dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25 H +.777(irectory names in).15 F F4(CDP)3.277 E -.855(AT)-.666 G(H).855 E F0 +.764(are separated by a colon \(:\).)144 338.4 R 3.264(An)5.764 G .764 (ull directory name in)-3.264 F F4(CDP)3.264 E -.855(AT)-.666 G(H).855 E -F0 .764(is the same as the current direc-)3.014 F(tory)144 468 Q 2.974 -(,i)-.65 G .474(.e., `)-2.974 F(`)-.74 E F1(.)A F0 -.74('')C 5.474(.I) -.74 G(f)-5.474 E F2(dir)3.324 E F0(be)3.704 E .474 +F0 .764(is the same as the current direc-)3.014 F(tory)144 350.4 Q 2.973 +(,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F1(.)A F0 -.74('')C 5.473(.I) +.74 G(f)-5.473 E F2(dir)3.323 E F0(be)3.703 E .474 (gins with a slash \(/\), then)-.15 F F4(CDP)2.974 E -.855(AT)-.666 G(H) -.855 E F0 .473(is not used. The)2.724 F F1<ad50>2.973 E F0 .473 -(option says to use)2.973 F .579(the ph)144 480 R .579 +.855 E F0 .474(is not used. The)2.724 F F1<ad50>2.974 E F0 .474 +(option says to use)2.974 F .58(the ph)144 362.4 R .58 (ysical directory structure instead of follo)-.05 F .579 -(wing symbolic links \(see also the)-.25 F F1<ad50>3.08 E F0 .58 -(option to the)3.08 F F1(set)144 492 Q F0 -.2(bu)3.384 G .884 -(iltin command\); the).2 F F1<ad4c>3.384 E F0 .884 +(wing symbolic links \(see also the)-.25 F F1<ad50>3.079 E F0 .579 +(option to the)3.079 F F1(set)144 374.4 Q F0 -.2(bu)3.383 G .883 +(iltin command\); the).2 F F1<ad4c>3.383 E F0 .884 (option forces symbolic links to be follo)3.384 F 3.384(wed. An)-.25 F -(ar)3.383 E .883(gument of)-.18 F F1<ad>3.383 E F0(is)3.383 E(equi)144 -504 Q -.25(va)-.25 G .062(lent to).25 F F4($OLDPWD)2.562 E/F5 9 -/Times-Roman@0 SF(.)A F0 .062(If a non-empty directory name from)4.562 F -F1(CDP)2.562 E -.95(AT)-.74 G(H).95 E F0 .063(is used, or if)2.562 F F1 -<ad>2.563 E F0 .063(is the \214rst)2.563 F(ar)144 516 Q .116(gument, an\ -d the directory change is successful, the absolute pathname of the ne) --.18 F 2.615(ww)-.25 G .115(orking direc-)-2.715 F 1.164 -(tory is written to the standard output.)144 528 R 1.164(The return v) -6.164 F 1.165(alue is true if the directory w)-.25 F 1.165 -(as successfully)-.1 F(changed; f)144 540 Q(alse otherwise.)-.1 E F1 -(command)108 556.8 Q F0([)2.5 E F1(\255pVv)A F0(])A F2(command)2.5 E F0 -([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Run)144 568.8 Q F2(command)2.957 +(ar)3.384 E .884(gument of)-.18 F F1<ad>3.384 E F0(is)3.384 E(equi)144 +386.4 Q -.25(va)-.25 G .316(lent to).25 F F4($OLDPWD)2.816 E/F5 9 +/Times-Roman@0 SF(.)A F0 .316(If a non-empty directory name from)4.816 F +F4(CDP)2.815 E -.855(AT)-.666 G(H).855 E F0 .315(is used, or if)2.565 F +F1<ad>2.815 E F0 .315(is the \214rst)2.815 F(ar)144 398.4 Q .116(gument\ +, and the directory change is successful, the absolute pathname of the \ +ne)-.18 F 2.616(ww)-.25 G .116(orking direc-)-2.716 F 1.165 +(tory is written to the standard output.)144 410.4 R 1.164(The return v) +6.164 F 1.164(alue is true if the directory w)-.25 F 1.164 +(as successfully)-.1 F(changed; f)144 422.4 Q(alse otherwise.)-.1 E F1 +(command)108 439.2 Q F0([)2.5 E F1(\255pVv)A F0(])A F2(command)2.5 E F0 +([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Run)144 451.2 Q F2(command)2.956 E F0(with)3.527 E F2(ar)3.087 E(gs)-.37 E F0 .257 (suppressing the normal shell function lookup. Only b)3.027 F .257 -(uiltin commands or)-.2 F .501(commands found in the)144 580.8 R F4 --.666(PA)3.001 G(TH)-.189 E F0 .502(are e)2.751 F -.15(xe)-.15 G 3.002 +(uiltin commands or)-.2 F .502(commands found in the)144 463.2 R F4 +-.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G 3.002 (cuted. If).15 F(the)3.002 E F1<ad70>3.002 E F0 .502(option is gi)3.002 -F -.15(ve)-.25 G .502(n, the search for).15 F F2(command)3.202 E F0(is) -3.772 E .232(performed using a def)144 592.8 R .231(ault v)-.1 F .231 -(alue for)-.25 F F1 -.74(PA)2.731 G(TH)-.21 E F0 .231 -(that is guaranteed to \214nd all of the standard utilities.)2.731 F(If) -5.231 E .174(either the)144 604.8 R F1<ad56>2.674 E F0(or)2.674 E F1 -<ad76>2.674 E F0 .175(option is supplied, a description of)2.674 F F2 -(command)2.875 E F0 .175(is printed.)3.445 F(The)5.175 E F1<ad76>2.675 E -F0 .175(option causes)2.675 F 3.11(as)144 616.8 S .61(ingle w)-3.11 F -.61(ord indicating the command or \214le name used to in)-.1 F -.2(vo) --.4 G -.1(ke).2 G F2(command)3.41 E F0 .61(to be displayed; the)3.88 F -F1<ad56>144 628.8 Q F0 .249(option produces a more v)2.749 F .249 -(erbose description.)-.15 F .249(If the)5.249 F F1<ad56>2.749 E F0(or) -2.749 E F1<ad76>2.75 E F0 .25(option is supplied, the e)2.75 F .25 -(xit status)-.15 F 1.005(is 0 if)144 640.8 R F2(command)3.705 E F0 -.1 -(wa)4.275 G 3.505(sf).1 G 1.005(ound, and 1 if not.)-3.505 F 1.004 +F -.15(ve)-.25 G .501(n, the search for).15 F F2(command)3.201 E F0(is) +3.771 E .399(performed using a def)144 475.2 R .399(ault v)-.1 F .399 +(alue for)-.25 F F4 -.666(PA)2.899 G(TH)-.189 E F0 .4 +(that is guaranteed to \214nd all of the standard utilities.)2.649 F(If) +5.4 E .175(either the)144 487.2 R F1<ad56>2.675 E F0(or)2.675 E F1<ad76> +2.675 E F0 .175(option is supplied, a description of)2.675 F F2(command) +2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F1<ad76>2.674 E F0 .174 +(option causes)2.674 F 3.11(as)144 499.2 S .61(ingle w)-3.11 F .61 +(ord indicating the command or \214le name used to in)-.1 F -.2(vo)-.4 G +-.1(ke).2 G F2(command)3.41 E F0 .61(to be displayed; the)3.88 F F1 +<ad56>144 511.2 Q F0 .25(option produces a more v)2.75 F .25 +(erbose description.)-.15 F .249(If the)5.25 F F1<ad56>2.749 E F0(or) +2.749 E F1<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249 +(xit status)-.15 F 1.004(is 0 if)144 523.2 R F2(command)3.704 E F0 -.1 +(wa)4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005 (If neither option is supplied and an error occurred or)6.005 F F2 -(command)144.2 652.8 Q F0 1.598(cannot be found, the e)4.868 F 1.599 -(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.599 -(xit status of the)-.15 F F1(command)4.099 E F0 -.2(bu)144 664.8 S +(command)144.2 535.2 Q F0 1.599(cannot be found, the e)4.869 F 1.599 +(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.598 +(xit status of the)-.15 F F1(command)4.098 E F0 -.2(bu)144 547.2 S (iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E F1 -(compgen)108 681.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d) --.37 E F0(])A .013(Generate possible completion matches for)144 693.6 R -F2(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F2(option)2.513 -E F0 .013(s, which may be an)B 2.512(yo)-.15 G(ption)-2.512 E .981 -(accepted by the)144 705.6 R F1(complete)3.481 E F0 -.2(bu)3.481 G .981 +(compgen)108 564 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d) +-.37 E F0(])A .012(Generate possible completion matches for)144 576 R F2 +(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F2(option)2.513 E +F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982 +(accepted by the)144 588 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981 (iltin with the e).2 F .981(xception of)-.15 F F1<ad70>3.481 E F0(and) -3.481 E F1<ad72>3.481 E F0 3.481(,a)C .982(nd write the matches to the) --3.481 F 1.415(standard output.)144 717.6 R 1.415(When using the)6.415 F +3.481 E F1<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the) +-3.481 F 1.415(standard output.)144 600 R 1.415(When using the)6.415 F F1<ad46>3.915 E F0(or)3.915 E F1<ad43>3.915 E F0 1.415(options, the v) 3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25 -F(grammable completion f)144 729.6 Q(acilities, while a)-.1 E -.25(va) --.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.) --.25 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(50)185.955 E 0 -Cg EP +F(grammable completion f)144 612 Q(acilities, while a)-.1 E -.25(va)-.2 +G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)-.25 +E .352(The matches will be generated in the same w)144 636 R .352 +(ay as if the programmable completion code had gen-)-.1 F .02(erated th\ +em directly from a completion speci\214cation with the same \215ags.)144 +648 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)2.52 +F(those completions matching)144 660 Q F2(wor)2.5 E(d)-.37 E F0 +(will be displayed.)2.5 E(The return v)144 684 Q +(alue is true unless an in)-.25 E -.25(va)-.4 G +(lid option is supplied, or no matches were generated.).25 E F1 +(complete)108 700.8 Q F0([)3.729 E F1(\255abcdefgjksuv)A F0 3.729(][)C +F1<ad6f>-3.729 E F2(comp-option)3.729 E F0 3.729(][)C F1(\255DE)-3.729 E +F0 3.728(][)C F1<ad41>-3.728 E F2(action)3.728 E F0 3.728(][)C F1<ad47> +-3.728 E F2(globpat)3.728 E F0 3.728(][)C F1<ad57>-3.728 E F2(wor)3.728 +E(dlist)-.37 E F0 3.728(][)C F1<ad46>-3.728 E F2(func-)3.728 E(tion)108 +712.8 Q F0 2.5(][)C F1<ad43>-2.5 E F2(command)2.5 E F0(])A([)144 724.8 Q +F1<ad58>A F2(\214lterpat)2.5 E F0 2.5(][)C F1<ad50>-2.5 E F2(pr)2.5 E +(e\214x)-.37 E F0 2.5(][)C F1<ad53>-2.5 E F2(suf)2.5 E<8c78>-.18 E F0(]) +A F2(name)2.5 E F0([)2.5 E F2(name ...)A F0(])A(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(50)185.955 E 0 Cg EP %%Page: 51 51 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .352(The matches will be generated in the same w)144 84 R .352 -(ay as if the programmable completion code had gen-)-.1 F .02(erated th\ -em directly from a completion speci\214cation with the same \215ags.)144 -96 R(If)5.02 E/F1 10/Times-Italic@0 SF(wor)2.52 E(d)-.37 E F0 .02 -(is speci\214ed, only)2.52 F(those completions matching)144 108 Q F1 -(wor)2.5 E(d)-.37 E F0(will be displayed.)2.5 E(The return v)144 132 Q -(alue is true unless an in)-.25 E -.25(va)-.4 G -(lid option is supplied, or no matches were generated.).25 E/F2 10 -/Times-Bold@0 SF(complete)108 148.8 Q F0([)3.728 E F2(\255abcdefgjksuv)A -F0 3.728(][)C F2<ad6f>-3.728 E F1(comp-option)3.728 E F0 3.728(][)C F2 -(\255DE)-3.728 E F0 3.728(][)C F2<ad41>-3.728 E F1(action)3.728 E F0 -3.728(][)C F2<ad47>-3.728 E F1(globpat)3.728 E F0 3.729(][)C F2<ad57> --3.729 E F1(wor)3.729 E(dlist)-.37 E F0 3.729(][)C F2<ad46>-3.729 E F1 -(func-)3.729 E(tion)108 160.8 Q F0 2.5(][)C F2<ad43>-2.5 E F1(command) -2.5 E F0(])A([)144 172.8 Q F2<ad58>A F1(\214lterpat)2.5 E F0 2.5(][)C F2 -<ad50>-2.5 E F1(pr)2.5 E(e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F1 -(suf)2.5 E<8c78>-.18 E F0(])A F1(name)2.5 E F0([)2.5 E F1(name ...)A F0 -(])A F2(complete \255pr)108 184.8 Q F0([)2.5 E F2(\255DE)A F0 2.5(][)C -F1(name)-2.5 E F0(...])2.5 E .633(Specify ho)144 196.8 R 3.133(wa)-.25 G --.18(rg)-3.133 G .633(uments to each).18 F F1(name)3.133 E F0 .633 -(should be completed.)3.133 F .634(If the)5.634 F F2<ad70>3.134 E F0 -.634(option is supplied, or if no)3.134 F .14(options are supplied, e) -144 208.8 R .139(xisting completion speci\214cations are printed in a w) --.15 F .139(ay that allo)-.1 F .139(ws them to be)-.25 F .31 -(reused as input.)144 220.8 R(The)5.31 E F2<ad72>2.81 E F0 .31 -(option remo)2.81 F -.15(ve)-.15 G 2.81(sac).15 G .31 -(ompletion speci\214cation for each)-2.81 F F1(name)2.81 E F0 2.81(,o)C -1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F1(name)2.81 E F0(s)A 1.347 -(are supplied, all completion speci\214cations.)144 232.8 R(The)6.347 E -F2<ad44>3.847 E F0 1.346(option indicates that the remaining options) -3.847 F .5(and actions should apply to the `)144 244.8 R(`def)-.74 E -(ault')-.1 E 3('c)-.74 G .5 -(ommand completion; that is, completion attempted on)-3 F 3.455(ac)144 -256.8 S .955(ommand for which no completion has pre)-3.455 F .955 -(viously been de\214ned.)-.25 F(The)5.955 E F2<ad45>3.455 E F0 .955 -(option indicates that)3.455 F .064 -(the remaining options and actions should apply to `)144 268.8 R -(`empty')-.74 E 2.565('c)-.74 G .065 -(ommand completion; that is, comple-)-2.565 F -(tion attempted on a blank line.)144 280.8 Q 1.438 +-.35 E/F1 10/Times-Bold@0 SF(complete \255pr)108 84 Q F0([)2.5 E F1 +(\255DE)A F0 2.5(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E +.634(Specify ho)144 96 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634 +(uments to each).18 F F2(name)3.134 E F0 .634(should be completed.)3.134 +F .633(If the)5.634 F F1<ad70>3.133 E F0 .633 +(option is supplied, or if no)3.133 F .139(options are supplied, e)144 +108 R .139(xisting completion speci\214cations are printed in a w)-.15 F +.14(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.)144 +120 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)-.15 G +2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2(name) +2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F2 +(name)2.81 E F0(s)A 1.346 +(are supplied, all completion speci\214cations.)144 132 R(The)6.347 E F1 +<ad44>3.847 E F0 1.347(option indicates that the remaining options)3.847 +F .5(and actions should apply to the `)144 144 R(`def)-.74 E(ault')-.1 E +3('c)-.74 G .5(ommand completion; that is, completion attempted on)-3 F +3.455(ac)144 156 S .955(ommand for which no completion has pre)-3.455 F +.955(viously been de\214ned.)-.25 F(The)5.955 E F1<ad45>3.455 E F0 .955 +(option indicates that)3.455 F .065 +(the remaining options and actions should apply to `)144 168 R(`empty') +-.74 E 2.564('c)-.74 G .064(ommand completion; that is, comple-)-2.564 F +(tion attempted on a blank line.)144 180 Q 1.437 (The process of applying these completion speci\214cations when w)144 -304.8 R 1.437(ord completion is attempted is)-.1 F(described abo)144 -316.8 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E -(ogrammable Completion)-.18 E F0(.)A .555 -(Other options, if speci\214ed, ha)144 340.8 R .855 -.15(ve t)-.2 H .555 -(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555 -(guments to the)-.18 F F2<ad47>3.056 E F0(,)A F2<ad57>3.056 E F0 3.056 -(,a)C(nd)-3.056 E F2<ad58>3.056 E F0 .723(options \(and, if necessary) -144 352.8 R 3.223(,t)-.65 G(he)-3.223 E F2<ad50>3.223 E F0(and)3.223 E -F2<ad53>3.223 E F0 .722 -(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E -(sion before the)144 364.8 Q F2(complete)2.5 E F0 -.2(bu)2.5 G -(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F2<ad6f>144 376.8 Q -F1(comp-option)2.5 E F0(The)184 388.8 Q F1(comp-option)2.79 E F0 .291 +204 R 1.438(ord completion is attempted is)-.1 F(described abo)144 216 Q +.3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E(ogrammable Completion)-.18 E +F0(.)A .556(Other options, if speci\214ed, ha)144 240 R .856 -.15(ve t) +-.2 H .555(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F +.555(guments to the)-.18 F F1<ad47>3.055 E F0(,)A F1<ad57>3.055 E F0 +3.055(,a)C(nd)-3.055 E F1<ad58>3.055 E F0 .722 +(options \(and, if necessary)144 252 R 3.222(,t)-.65 G(he)-3.222 E F1 +<ad50>3.222 E F0(and)3.222 E F1<ad53>3.222 E F0 .723 +(options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E +(sion before the)144 264 Q F1(complete)2.5 E F0 -.2(bu)2.5 G +(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 276 Q F2 +(comp-option)2.5 E F0(The)184 288 Q F2(comp-option)2.791 E F0 .291 (controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec') .15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291 -(yond the simple)-.15 F(generation of completions.)184 400.8 Q F1 -(comp-option)5 E F0(may be one of:)2.5 E F2(bashdefault)184 412.8 Q F0 -.281(Perform the rest of the def)224 424.8 R(ault)-.1 E F2(bash)2.781 E -F0 .281(completions if the compspec generates no)2.781 F(matches.)224 -436.8 Q F2(default)184 448.8 Q F0 2.875(Use readline')10 F 5.375(sd)-.55 -G(ef)-5.375 E 2.876 -(ault \214lename completion if the compspec generates no)-.1 F(matches.) -224 460.8 Q F2(dir)184 472.8 Q(names)-.15 E F0(Perform directory name c\ -ompletion if the compspec generates no matches.)224 484.8 Q F2 -(\214lenames)184 496.8 Q F0 -.7(Te)224 508.8 S .137(ll readline that th\ -e compspec generates \214lenames, so it can perform an).7 F 2.636<798c> --.15 G(le-)-2.636 E .134(name\255speci\214c processing \(lik)224 520.8 R -2.634(ea)-.1 G .134(dding a slash to directory names, quoting spe-) --2.634 F .45(cial characters, or suppressing trailing spaces\).)224 -532.8 R .45(Intended to be used with shell)5.45 F(functions.)224 544.8 Q -F2(nospace)184 556.8 Q F0 -.7(Te)6.11 G .22 +(yond the simple)-.15 F(generation of completions.)184 300 Q F2 +(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 312 Q F0 +.281(Perform the rest of the def)224 324 R(ault)-.1 E F1(bash)2.781 E F0 +.281(completions if the compspec generates no)2.781 F(matches.)224 336 Q +F1(default)184 348 Q F0 2.876(Use readline')10 F 5.376(sd)-.55 G(ef) +-5.376 E 2.875(ault \214lename completion if the compspec generates no) +-.1 F(matches.)224 360 Q F1(dir)184 372 Q(names)-.15 E F0(Perform direc\ +tory name completion if the compspec generates no matches.)224 384 Q F1 +(\214lenames)184 396 Q F0 -.7(Te)224 408 S .137(ll readline that the co\ +mpspec generates \214lenames, so it can perform an).7 F 2.637<798c>-.15 +G(le-)-2.637 E .134(name\255speci\214c processing \(lik)224 420 R 2.634 +(ea)-.1 G .134(dding a slash to directory names, quoting spe-)-2.634 F +.45(cial characters, or suppressing trailing spaces\).)224 432 R .45 +(Intended to be used with shell)5.45 F(functions.)224 444 Q F1(nospace) +184 456 Q F0 -.7(Te)6.11 G .22 (ll readline not to append a space \(the def).7 F .22(ault\) to w)-.1 F -.22(ords completed at the end)-.1 F(of the line.)224 568.8 Q F2 -(plusdirs)184 580.8 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985 +.22(ords completed at the end)-.1 F(of the line.)224 468 Q F1(plusdirs) +184 480 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985 (atches de\214ned by the compspec are generated, directory name)-4.485 F -.583(completion is attempted and an)224 592.8 R 3.084(ym)-.15 G .584 -(atches are added to the results of the other)-3.084 F(actions.)224 -604.8 Q F2<ad41>144 616.8 Q F1(action)2.5 E F0(The)184 628.8 Q F1 -(action)2.5 E F0(may be one of the follo)2.5 E -(wing to generate a list of possible completions:)-.25 E F2(alias)184 -640.8 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F2<ad61> -2.5 E F0(.)A F2(arrayv)184 652.8 Q(ar)-.1 E F0(Array v)224 664.8 Q -(ariable names.)-.25 E F2 4.7(binding Readline)184 676.8 R F0 -.1(ke)2.5 -G 2.5(yb)-.05 G(inding names.)-2.5 E F2 -.2(bu)184 688.8 S(iltin).2 E F0 +.584(completion is attempted and an)224 492 R 3.084(ym)-.15 G .584 +(atches are added to the results of the other)-3.084 F(actions.)224 504 +Q F1<ad41>144 516 Q F2(action)2.5 E F0(The)184 528 Q F2(action)2.5 E F0 +(may be one of the follo)2.5 E +(wing to generate a list of possible completions:)-.25 E F1(alias)184 +540 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5 +E F0(.)A F1(arrayv)184 552 Q(ar)-.1 E F0(Array v)224 564 Q +(ariable names.)-.25 E F1 4.7(binding Readline)184 576 R F0 -.1(ke)2.5 G +2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 588 S(iltin).2 E F0 (Names of shell b)11.85 E(uiltin commands.)-.2 E -(May also be speci\214ed as)5 E F2<ad62>2.5 E F0(.)A F2(command)184 -700.8 Q F0(Command names.)224 712.8 Q(May also be speci\214ed as)5 E F2 -<ad63>2.5 E F0(.)A(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(51) -185.955 E 0 Cg EP +(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 600 +Q F0(Command names.)224 612 Q(May also be speci\214ed as)5 E F1<ad63>2.5 +E F0(.)A F1(dir)184 624 Q(ectory)-.18 E F0(Directory names.)224 636 Q +(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 648 +Q F0(Names of disabled shell b)224 660 Q(uiltins.)-.2 E F1(enabled)184 +672 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184 +684 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May) +-.25 F(also be speci\214ed as)2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184 +696 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5 +E F0(.)A(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(51)185.955 E 0 +Cg EP %%Page: 52 52 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(dir)184 84 Q(ectory)-.18 E F0 -(Directory names.)224 96 Q(May also be speci\214ed as)5 E F1<ad64>2.5 E -F0(.)A F1(disabled)184 108 Q F0(Names of disabled shell b)224 120 Q -(uiltins.)-.2 E F1(enabled)184 132 Q F0(Names of enabled shell b)6.66 E -(uiltins.)-.2 E F1(export)184 144 Q F0(Names of e)12.23 E -(xported shell v)-.15 E 2.5(ariables. May)-.25 F(also be speci\214ed as) -2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184 156 Q F0(File names.)27.22 E -(May also be speci\214ed as)5 E F1<ad66>2.5 E F0(.)A F1(function)184 168 -Q F0(Names of shell functions.)224 180 Q F1(gr)184 192 Q(oup)-.18 E F0 +-.35 E/F1 10/Times-Bold@0 SF(function)184 84 Q F0 +(Names of shell functions.)224 96 Q F1(gr)184 108 Q(oup)-.18 E F0 (Group names.)14.62 E(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.) -A F1(helptopic)184 204 Q F0(Help topics as accepted by the)224 216 Q F1 -(help)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(hostname)184 228 Q F0 -(Hostnames, as tak)224 240 Q(en from the \214le speci\214ed by the)-.1 E +A F1(helptopic)184 120 Q F0(Help topics as accepted by the)224 132 Q F1 +(help)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(hostname)184 144 Q F0 +(Hostnames, as tak)224 156 Q(en from the \214le speci\214ed by the)-.1 E /F2 9/Times-Bold@0 SF(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E -F1(job)184 252 Q F0(Job names, if job control is acti)26.11 E -.15(ve) +F1(job)184 168 Q F0(Job names, if job control is acti)26.11 E -.15(ve) -.25 G 5(.M).15 G(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 --.1(ke)184 264 S(yw).1 E(ord)-.1 E F0(Shell reserv)224 276 Q(ed w)-.15 E +-.1(ke)184 180 S(yw).1 E(ord)-.1 E F0(Shell reserv)224 192 Q(ed w)-.15 E 2.5(ords. May)-.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1 -(running)184 288 Q F0(Names of running jobs, if job control is acti)5.54 -E -.15(ve)-.25 G(.).15 E F1(ser)184 300 Q(vice)-.1 E F0(Service names.) +(running)184 204 Q F0(Names of running jobs, if job control is acti)5.54 +E -.15(ve)-.25 G(.).15 E F1(ser)184 216 Q(vice)-.1 E F0(Service names.) 10.67 E(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt) -184 312 Q F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1 +184 228 Q F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1 <ad6f>2.5 E F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.) -.2 E F1(shopt)184 324 Q F0(Shell option names as accepted by the)16.66 E -F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 336 Q F0 -(Signal names.)14.99 E F1(stopped)184 348 Q F0 +.2 E F1(shopt)184 240 Q F0(Shell option names as accepted by the)16.66 E +F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 252 Q F0 +(Signal names.)14.99 E F1(stopped)184 264 Q F0 (Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.) -.15 E F1(user)184 360 Q F0(User names.)21.67 E -(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 372 S +.15 E F1(user)184 276 Q F0(User names.)21.67 E +(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 288 S (riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F -(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad47>144 384 Q/F3 -10/Times-Italic@0 SF(globpat)2.5 E F0 1.008(The pathname e)184 396 R -1.008(xpansion pattern)-.15 F F3(globpat)3.507 E F0 1.007(is e)3.507 F -1.007(xpanded to generate the possible comple-)-.15 F(tions.)184 408 Q -F1<ad57>144 420 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 432 Q F3(wor) -3.639 E(dlist)-.37 E F0 1.14(is split using the characters in the)3.639 -F F2(IFS)3.64 E F0 1.14(special v)3.39 F 1.14 -(ariable as delimiters, and)-.25 F 2.008(each resultant w)184 444 R -2.008(ord is e)-.1 F 4.508(xpanded. The)-.15 F 2.007 -(possible completions are the members of the)4.508 F -(resultant list which match the w)184 456 Q(ord being completed.)-.1 E -F1<ad43>144 468 Q F3(command)2.5 E(command)184 480 Q F0 1.055(is e)3.555 -F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F 1.056 +(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad47>144 300 Q/F3 +10/Times-Italic@0 SF(globpat)2.5 E F0 1.007(The pathname e)184 312 R +1.007(xpansion pattern)-.15 F F3(globpat)3.507 E F0 1.007(is e)3.507 F +1.008(xpanded to generate the possible comple-)-.15 F(tions.)184 324 Q +F1<ad57>144 336 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 348 Q F3(wor)3.64 +E(dlist)-.37 E F0 1.14(is split using the characters in the)3.64 F F2 +(IFS)3.64 E F0 1.139(special v)3.39 F 1.139(ariable as delimiters, and) +-.25 F 2.007(each resultant w)184 360 R 2.007(ord is e)-.1 F 4.507 +(xpanded. The)-.15 F 2.008(possible completions are the members of the) +4.507 F(resultant list which match the w)184 372 Q(ord being completed.) +-.1 E F1<ad43>144 384 Q F3(command)2.5 E(command)184 396 Q F0 1.056 +(is e)3.556 F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056 (vironment, and its output is used as the possible)-.4 F(completions.) -184 492 Q F1<ad46>144 504 Q F3(function)2.5 E F0 1.181 -(The shell function)184 516 R F3(function)3.681 E F0 1.181(is e)3.681 F --.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.68 -(vironment. When)-.4 F 1.18(it \214n-)3.68 F .932 -(ishes, the possible completions are retrie)184 528 R -.15(ve)-.25 G +184 408 Q F1<ad46>144 420 Q F3(function)2.5 E F0 1.18 +(The shell function)184 432 R F3(function)3.68 E F0 1.181(is e)3.681 F +-.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.681 +(vironment. When)-.4 F 1.181(it \214n-)3.681 F .932 +(ishes, the possible completions are retrie)184 444 R -.15(ve)-.25 G 3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F2 -(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 540 S(riable.) -.25 E F1<ad58>144 552 Q F3(\214lterpat)2.5 E(\214lterpat)184 564 Q F0 -.456(is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 -F .455(is applied to the list of possible)2.956 F 1.596 -(completions generated by the preceding options and ar)184 576 R 1.596 -(guments, and each completion)-.18 F(matching)184 588 Q F3(\214lterpat) -3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704 -(rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0 -(in)3.204 E F3(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704 -(tes the pattern;).05 F(in this case, an)184 600 Q 2.5(yc)-.15 G +(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 456 S(riable.) +.25 E F1<ad58>144 468 Q F3(\214lterpat)2.5 E(\214lterpat)184 480 Q F0 +.455(is a pattern as used for pathname e)2.955 F 2.956(xpansion. It)-.15 +F .456(is applied to the list of possible)2.956 F 1.596 +(completions generated by the preceding options and ar)184 492 R 1.596 +(guments, and each completion)-.18 F(matching)184 504 Q F3(\214lterpat) +3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704 +(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0 +(in)3.204 E F3(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15 G .705 +(tes the pattern;).05 F(in this case, an)184 516 Q 2.5(yc)-.15 G (ompletion not matching)-2.5 E F3(\214lterpat)2.5 E F0(is remo)2.5 E --.15(ve)-.15 G(d.).15 E F1<ad50>144 612 Q F3(pr)2.5 E(e\214x)-.37 E(pr) -184 624 Q(e\214x)-.37 E F0 .534(is added at the be)3.034 F .534 +-.15(ve)-.15 G(d.).15 E F1<ad50>144 528 Q F3(pr)2.5 E(e\214x)-.37 E(pr) +184 540 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534 (ginning of each possible completion after all other options ha)-.15 F --.15(ve)-.2 G(been applied.)184 636 Q F1<ad53>144 648 Q F3(suf)2.5 E +-.15(ve)-.2 G(been applied.)184 552 Q F1<ad53>144 564 Q F3(suf)2.5 E 2.81(\214x suf)-.18 F<8c78>-.18 E F0 (is appended to each possible completion after all other options ha)2.5 -E .3 -.15(ve b)-.2 H(een applied.).15 E .467(The return v)144 664.8 R -.467(alue is true unless an in)-.25 F -.25(va)-.4 G .466 -(lid option is supplied, an option other than).25 F F1<ad70>2.966 E F0 -(or)2.966 E F1<ad72>2.966 E F0 .466(is sup-)2.966 F 1.361 -(plied without a)144 676.8 R F3(name)3.861 E F0(ar)3.861 E 1.361 -(gument, an attempt is made to remo)-.18 F 1.662 -.15(ve a c)-.15 H -1.362(ompletion speci\214cation for a).15 F F3(name)144 688.8 Q F0 +E .3 -.15(ve b)-.2 H(een applied.).15 E .466(The return v)144 580.8 R +.466(alue is true unless an in)-.25 F -.25(va)-.4 G .466 +(lid option is supplied, an option other than).25 F F1<ad70>2.967 E F0 +(or)2.967 E F1<ad72>2.967 E F0 .467(is sup-)2.967 F 1.362 +(plied without a)144 592.8 R F3(name)3.862 E F0(ar)3.862 E 1.361 +(gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H +1.361(ompletion speci\214cation for a).15 F F3(name)144 604.8 Q F0 (for which no speci\214cation e)2.5 E (xists, or an error occurs adding a completion speci\214cation.)-.15 E -F1(compopt)108 705.6 Q F0([)2.5 E F1<ad6f>A F3(option)2.5 E F0 2.5(][)C +F1(compopt)108 621.6 Q F0([)2.5 E F1<ad6f>A F3(option)2.5 E F0 2.5(][)C F1(\255DE)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F3(option)2.5 E F0 2.5(][)C F3 -(name)-2.5 E F0(])A .447(Modify completion options for each)144 717.6 R +(name)-2.5 E F0(])A .447(Modify completion options for each)144 633.6 R F3(name)2.947 E F0 .447(according to the)2.947 F F3(option)2.947 E F0 -.447(s, or for the currently-e)B -.15(xe)-.15 G(cution).15 E .725 -(completion if no)144 729.6 R F3(name)3.225 E F0 3.225(sa)C .725 -(re supplied.)-3.225 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa) -C .725(re gi)-3.225 F -.15(ve)-.25 G .726 -(n, display the completion options for).15 F(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(52)185.955 E 0 Cg EP +.447(s, or for the currently-e)B -.15(xe)-.15 G(cution).15 E .726 +(completion if no)144 645.6 R F3(name)3.226 E F0 3.226(sa)C .726 +(re supplied.)-3.226 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa) +C .725(re gi)-3.225 F -.15(ve)-.25 G .725 +(n, display the completion options for).15 F(each)144 657.6 Q F3(name) +3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v) +5.724 F .724(alues of)-.25 F F3(option)3.224 E F0 .724(are those v)3.224 +F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 669.6 Q F0 -.2(bu) +2.798 G .298(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he) +-5.297 E F1<ad44>2.797 E F0 .297 +(option indicates that the remaining options should apply to)2.797 F +1.227(the `)144 681.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\ +mmand completion; that is, completion attempted on a command for which \ +no)-3.727 F 2.178(completion has pre)144 693.6 R 2.178 +(viously been de\214ned.)-.25 F(The)7.178 E F1<ad45>4.678 E F0 2.177 +(option indicates that the remaining options)4.677 F(should apply to `) +144 705.6 Q(`empty')-.74 E 2.5('c)-.74 G +(ommand completion; that is, completion attempted on a blank line.)-2.5 +E .327(The return v)108 722.4 R .327(alue is true unless an in)-.25 F +-.25(va)-.4 G .327 +(lid option is supplied, an attempt is made to modify the options for a) +.25 F(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(52)185.955 E 0 Cg +EP %%Page: 53 53 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(each)144 84 Q/F1 10/Times-Italic@0 SF(name)3.224 E F0 .724 -(or the current completion.)3.224 F .724(The possible v)5.724 F .724 -(alues of)-.25 F F1(option)3.224 E F0 .724(are those v)3.224 F .723 -(alid for the)-.25 F/F2 10/Times-Bold@0 SF(com-)3.223 E(plete)144 96 Q -F0 -.2(bu)2.797 G .297(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T) -.15 G(he)-5.297 E F2<ad44>2.797 E F0 .297 -(option indicates that the remaining options should apply to)2.797 F -1.228(the `)144 108 R(`def)-.74 E(ault')-.1 E 3.728('c)-.74 G 1.228(omm\ -and completion; that is, completion attempted on a command for which no) --3.728 F 2.177(completion has pre)144 120 R 2.177 -(viously been de\214ned.)-.25 F(The)7.177 E F2<ad45>4.677 E F0 2.178 -(option indicates that the remaining options)4.678 F(should apply to `) -144 132 Q(`empty')-.74 E 2.5('c)-.74 G -(ommand completion; that is, completion attempted on a blank line.)-2.5 -E .327(The return v)108 148.8 R .327(alue is true unless an in)-.25 F --.25(va)-.4 G .327 -(lid option is supplied, an attempt is made to modify the options for a) -.25 F F1(name)108 160.8 Q F0(for which no completion speci\214cation e) -2.5 E(xists, or an output error occurs.)-.15 E F2(continue)108 177.6 Q -F0([)2.5 E F1(n)A F0(])A 1.753(Resume the ne)144 189.6 R 1.753 -(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r).25 E F0(,)A -F2(while)4.254 E F0(,)A F2(until)4.254 E F0 4.254(,o)C(r)-4.254 E F2 -(select)4.254 E F0 4.254(loop. If)4.254 F F1(n)4.614 E F0 1.754 -(is speci\214ed,)4.494 F 1.209(resume at the)144 201.6 R F1(n)3.709 E F0 -1.209(th enclosing loop.)B F1(n)6.569 E F0 1.209(must be)3.949 F/F3 10 -/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F1(n)4.069 E F0 1.209 -(is greater than the number of enclosing)3.949 F .513 -(loops, the last enclosing loop \(the `)144 213.6 R(`top-le)-.74 E -.15 -(ve)-.25 G(l').15 E 3.013('l)-.74 G .513(oop\) is resumed.)-3.013 F .514 -(The return v)5.514 F .514(alue is 0 unless)-.25 F F1(n)3.014 E F0(is) -3.014 E(not greater than or equal to 1.)144 225.6 Q F2(declar)108 242.4 +-.35 E/F1 10/Times-Italic@0 SF(name)108 84 Q F0 +(for which no completion speci\214cation e)2.5 E +(xists, or an output error occurs.)-.15 E/F2 10/Times-Bold@0 SF +(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A 1.754(Resume the ne)144 +112.8 R 1.754(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r) +.25 E F0(,)A F2(while)4.254 E F0(,)A F2(until)4.254 E F0 4.254(,o)C(r) +-4.254 E F2(select)4.254 E F0 4.253(loop. If)4.254 F F1(n)4.613 E F0 +1.753(is speci\214ed,)4.493 F 1.208(resume at the)144 124.8 R F1(n)3.709 +E F0 1.209(th enclosing loop.)B F1(n)6.569 E F0 1.209(must be)3.949 F/F3 +10/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F1(n)4.069 E F0 1.209 +(is greater than the number of enclosing)3.949 F .514 +(loops, the last enclosing loop \(the `)144 136.8 R(`top-le)-.74 E -.15 +(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513 +(The return v)5.513 F .513(alue is 0 unless)-.25 F F1(n)3.013 E F0(is) +3.013 E(not greater than or equal to 1.)144 148.8 Q F2(declar)108 165.6 Q(e)-.18 E F0([)2.5 E F2(\255aAfFilrtux)A F0 2.5(][)C F2<ad70>-2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2 -(typeset)108 254.4 Q F0([)2.5 E F2(\255aAfFilrtux)A F0 2.5(][)C F2<ad70> +(typeset)108 177.6 Q F0([)2.5 E F2(\255aAfFilrtux)A F0 2.5(][)C F2<ad70> -2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..]) --2.5 E 1.265(Declare v)144 266.4 R 1.265(ariables and/or gi)-.25 F 1.565 --.15(ve t)-.25 H 1.265(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E -F1(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.764 -(nt).15 G 1.264(hen display the v)-3.764 F 1.264(alues of)-.25 F -.25 -(va)144 278.4 S 3.482(riables. The).25 F F2<ad70>3.482 E F0 .982 -(option will display the attrib)3.482 F .982(utes and v)-.2 F .983 -(alues of each)-.25 F F1(name)3.483 E F0 5.983(.W).18 G(hen)-5.983 E F2 -<ad70>3.483 E F0 .983(is used)3.483 F(with)144 290.4 Q F1(name)3.58 E F0 -(ar)3.58 E 1.079(guments, additional options are ignored.)-.18 F(When) -6.079 E F2<ad70>3.579 E F0 1.079(is supplied without)3.579 F F1(name) -3.579 E F0(ar)3.579 E(gu-)-.18 E .15(ments, it will display the attrib) -144 302.4 R .15(utes and v)-.2 F .151(alues of all v)-.25 F .151 -(ariables ha)-.25 F .151(ving the attrib)-.2 F .151 -(utes speci\214ed by the)-.2 F .047(additional options.)144 314.4 R .047 -(If no other options are supplied with)5.047 F F2<ad70>2.547 E F0(,)A F2 -(declar)2.547 E(e)-.18 E F0 .046(will display the attrib)2.546 F .046 -(utes and)-.2 F -.25(va)144 326.4 S 1.362(lues of all shell v).25 F -3.862(ariables. The)-.25 F F2<ad66>3.862 E F0 1.363 -(option will restrict the display to shell functions.)3.862 F(The)6.363 -E F2<ad46>3.863 E F0 2.422(option inhibits the display of function de\ -\214nitions; only the function name and attrib)144 338.4 R 2.422 -(utes are)-.2 F 2.663(printed. If)144 350.4 R(the)2.663 E F2(extdeb) -2.663 E(ug)-.2 E F0 .164(shell option is enabled using)2.663 F F2(shopt) -2.664 E F0 2.664(,t)C .164(he source \214le name and line number)-2.664 -F 1.382(where the function is de\214ned are displayed as well.)144 362.4 +-2.5 E 1.264(Declare v)144 189.6 R 1.264(ariables and/or gi)-.25 F 1.564 +-.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E +F1(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.765 +(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F -.25 +(va)144 201.6 S 3.483(riables. The).25 F F2<ad70>3.483 E F0 .983 +(option will display the attrib)3.483 F .983(utes and v)-.2 F .982 +(alues of each)-.25 F F1(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F2 +<ad70>3.482 E F0 .982(is used)3.482 F(with)144 213.6 Q F1(name)3.579 E +F0(ar)3.579 E 1.079(guments, additional options are ignored.)-.18 F +(When)6.079 E F2<ad70>3.579 E F0 1.079(is supplied without)3.579 F F1 +(name)3.58 E F0(ar)3.58 E(gu-)-.18 E .151 +(ments, it will display the attrib)144 225.6 R .151(utes and v)-.2 F +.151(alues of all v)-.25 F .15(ariables ha)-.25 F .15(ving the attrib) +-.2 F .15(utes speci\214ed by the)-.2 F .046(additional options.)144 +237.6 R .046(If no other options are supplied with)5.046 F F2<ad70>2.547 +E F0(,)A F2(declar)2.547 E(e)-.18 E F0 .047(will display the attrib) +2.547 F .047(utes and)-.2 F -.25(va)144 249.6 S 1.363 +(lues of all shell v).25 F 3.863(ariables. The)-.25 F F2<ad66>3.863 E F0 +1.362(option will restrict the display to shell functions.)3.863 F(The) +6.362 E F2<ad46>3.862 E F0 2.422(option inhibits the display of functio\ +n de\214nitions; only the function name and attrib)144 261.6 R 2.423 +(utes are)-.2 F 2.664(printed. If)144 273.6 R(the)2.664 E F2(extdeb) +2.664 E(ug)-.2 E F0 .164(shell option is enabled using)2.664 F F2(shopt) +2.664 E F0 2.664(,t)C .163(he source \214le name and line number)-2.664 +F 1.382(where the function is de\214ned are displayed as well.)144 285.6 R(The)6.382 E F2<ad46>3.882 E F0 1.382(option implies)3.882 F F2<ad66> -3.882 E F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .793 -(options can be used to restrict output to v)144 374.4 R .794 -(ariables with the speci\214ed attrib)-.25 F .794(ute or to gi)-.2 F -1.094 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 386.4 Q(utes:)-.2 E F2 -<ad61>144 398.4 Q F0(Each)25.3 E F1(name)2.5 E F0(is an inde)2.5 E -.15 +3.882 E F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .794 +(options can be used to restrict output to v)144 297.6 R .794 +(ariables with the speci\214ed attrib)-.25 F .793(ute or to gi)-.2 F +1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 309.6 Q(utes:)-.2 E F2 +<ad61>144 321.6 Q F0(Each)25.3 E F1(name)2.5 E F0(is an inde)2.5 E -.15 (xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F2(Arrays)2.5 -E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad41>144 410.4 Q F0(Each) +E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad41>144 333.6 Q F0(Each) 23.08 E F1(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H (rray v).15 E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15(ve) --.15 G(\).).15 E F2<ad66>144 422.4 Q F0(Use function names only)26.97 E -(.)-.65 E F2<ad69>144 434.4 Q F0 .558(The v)27.52 F .558 +-.15 G(\).).15 E F2<ad66>144 345.6 Q F0(Use function names only)26.97 E +(.)-.65 E F2<ad69>144 357.6 Q F0 .557(The v)27.52 F .558 (ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25 -(va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .557 -(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION \))180 446.4 Q F0 -(is performed when the v)2.25 E(ariable is assigned a v)-.25 E(alue.) --.25 E F2<ad6c>144 458.4 Q F0 .909(When the v)27.52 F .909 -(ariable is assigned a v)-.25 F .909(alue, all upper)-.25 F .909 -(-case characters are con)-.2 F -.15(ve)-.4 G .91(rted to lo).15 F(wer) --.25 E(-)-.2 E 2.5(case. The)180 470.4 R(upper)2.5 E(-case attrib)-.2 E -(ute is disabled.)-.2 E F2<ad72>144 482.4 Q F0(Mak)25.86 E(e)-.1 E F1 -(name)5.047 E F0 5.047(sr)C(eadonly)-5.047 E 7.547(.T)-.65 G 2.546 -(hese names cannot then be assigned v)-7.547 F 2.546 -(alues by subsequent)-.25 F(assignment statements or unset.)180 494.4 Q -F2<ad74>144 506.4 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15 E F1 -(name)2.929 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E +(va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .558 +(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 369.6 Q F0(abo) +2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v) +-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F2<ad6c>144 381.6 Q +F0 .91(When the v)27.52 F .909(ariable is assigned a v)-.25 F .909 +(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4 +G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 393.6 R +(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad72>144 405.6 +Q F0(Mak)25.86 E(e)-.1 E F1(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E +7.546(.T)-.65 G 2.546(hese names cannot then be assigned v)-7.546 F +2.547(alues by subsequent)-.25 F(assignment statements or unset.)180 +417.6 Q F2<ad74>144 429.6 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E +F1(name)2.93 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2(DEB)2.929 -E(UG)-.1 E F0(and)2.93 E F2(RETURN)2.93 E F0 -(traps from the calling shell.)180 518.4 Q(The trace attrib)5 E +E(UG)-.1 E F0(and)2.929 E F2(RETURN)2.929 E F0 +(traps from the calling shell.)180 441.6 Q(The trace attrib)5 E (ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad75>144 -530.4 Q F0 .91(When the v)24.74 F .909(ariable is assigned a v)-.25 F +453.6 Q F0 .909(When the v)24.74 F .909(ariable is assigned a v)-.25 F .909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 F --.15(ve)-.4 G .909(rted to upper).15 F(-)-.2 E 2.5(case. The)180 542.4 R +-.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 465.6 R (lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78> -144 554.4 Q F0(Mark)25.3 E F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E -(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .12 -(Using `+' instead of `\255' turns of)144 571.2 R 2.62(ft)-.25 G .12 -(he attrib)-2.62 F .121(ute instead, with the e)-.2 F .121 -(xceptions that)-.15 F F2(+a)2.621 E F0 .121(may not be used)2.621 F -1.237(to destro)144 583.2 R 3.737(ya)-.1 G 3.737(na)-3.737 G 1.237 -(rray v)-3.737 F 1.237(ariable and)-.25 F F2 1.237(+r will not r)3.737 F -(emo)-.18 E 1.437 -.1(ve t)-.1 H 1.237(he r).1 F 1.237(eadonly attrib) --.18 F 3.737(ute. When)-.2 F 1.236(used in a)3.737 F .311(function, mak) -144 595.2 R .311(es each)-.1 F F1(name)2.811 E F2 .311 -(local, as with the local)2.811 F F0 2.811(command. If)2.811 F 2.811(av) -2.811 G .312(ariable name is follo)-3.061 F .312(wed by)-.25 F(=)144 -607.2 Q F1(value)A F0 3.239(,t)C .739(he v)-3.239 F .739(alue of the v) --.25 F .739(ariable is set to)-.25 F F1(value)3.238 E F0 5.738(.T)C .738 -(he return v)-5.738 F .738(alue is 0 unless an in)-.25 F -.25(va)-.4 G -.738(lid option is).25 F .603 -(encountered, an attempt is made to de\214ne a function using)144 619.2 +144 477.6 Q F0(Mark)25.3 E F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E +(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .121 +(Using `+' instead of `\255' turns of)144 494.4 R 2.621(ft)-.25 G .121 +(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12 +(xceptions that)-.15 F F2(+a)2.62 E F0 .12(may not be used)2.62 F .644 +(to destro)144 506.4 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v) +-3.144 F .644(ariable and)-.25 F F2(+r)3.145 E F0 .645(will not remo) +3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145 +(ute. When)-.2 F .645(used in a func-)3.145 F 1.945(tion, mak)144 518.4 +R 1.945(es each)-.1 F F1(name)4.445 E F0 1.945(local, as with the)4.445 +F F2(local)4.444 E F0 4.444(command. If)4.444 F 4.444(av)4.444 G 1.944 +(ariable name is follo)-4.694 F 1.944(wed by)-.25 F(=)144 530.4 Q F1 +(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v)-.25 F .738 +(ariable is set to)-.25 F F1(value)3.238 E F0 5.738(.T)C .738 +(he return v)-5.738 F .739(alue is 0 unless an in)-.25 F -.25(va)-.4 G +.739(lid option is).25 F .603 +(encountered, an attempt is made to de\214ne a function using)144 542.4 R/F5 10/Courier@0 SF .603(\255f foo=bar)3.103 F F0 3.103(,a)C 3.103(na) --3.103 G .604(ttempt is made to)-3.103 F 1.243(assign a v)144 631.2 R -1.243(alue to a readonly v)-.25 F 1.242 -(ariable, an attempt is made to assign a v)-.25 F 1.242 +-3.103 G .603(ttempt is made to)-3.103 F 1.242(assign a v)144 554.4 R +1.242(alue to a readonly v)-.25 F 1.242 +(ariable, an attempt is made to assign a v)-.25 F 1.243 (alue to an array v)-.25 F(ariable)-.25 E 1.386 -(without using the compound assignment syntax \(see)144 643.2 R F2 +(without using the compound assignment syntax \(see)144 566.4 R F2 (Arrays)3.886 E F0(abo)3.886 E -.15(ve)-.15 G 1.386(\), one of the).15 F -F1(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 655.2 S .172 +F1(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 578.4 S .171 (lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25 -F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .171 -(ariable, an)-.25 F .96(attempt is made to turn of)144 667.2 R 3.46(fa) +F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172 +(ariable, an)-.25 F .96(attempt is made to turn of)144 590.4 R 3.46(fa) -.25 G .96(rray status for an array v)-3.46 F .96 -(ariable, or an attempt is made to display a)-.25 F(non-e)144 679.2 Q -(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A F2(dirs [+)108 696 Q -F1(n)A F2 2.5(][)C<ad>-2.5 E F1(n)A F2 2.5(][)C(\255cplv])-2.5 E F0 -.4 -(Wi)144 708 S .329 +(ariable, or an attempt is made to display a)-.25 F(non-e)144 602.4 Q +(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A F2(dirs [+)108 619.2 +Q F1(n)A F2 2.5(][)C<ad>-2.5 E F1(n)A F2 2.5(][)C(\255cplv])-2.5 E F0 +-.4(Wi)144 631.2 S .328 (thout options, displays the list of currently remembered directories.) -.4 F .328(The def)5.328 F .328(ault display is on a)-.1 F 1.238 -(single line with directory names separated by spaces.)144 720 R 1.238 -(Directories are added to the list with the)6.238 F(GNU Bash-4.1)72 768 -Q(2009 December 23)135.965 E(53)185.955 E 0 Cg EP +.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238 +(single line with directory names separated by spaces.)144 643.2 R 1.238 +(Directories are added to the list with the)6.238 F F2(pushd)144 655.2 Q +F0(command; the)2.5 E F2(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G +2.5(se).15 G(ntries from the list.)-2.5 E F2(+)144 667.2 Q F1(n)A F0 +1.564(Displays the)25.3 F F1(n)4.064 E F0 1.565 +(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F2 +(dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E +(without options, starting with zero.)180 679.2 Q F2<ad>144 691.2 Q F1 +(n)A F0 1.194(Displays the)25.3 F F1(n)3.694 E F0 1.194 +(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F +F2(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E +(without options, starting with zero.)180 703.2 Q F2<ad63>144 715.2 Q F0 +(Clears the directory stack by deleting all of the entries.)25.86 E +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(53)185.955 E 0 Cg EP %%Page: 54 54 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(pushd)144 84 Q F0(command; the)2.5 E F1 -(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G 2.5(se).15 G -(ntries from the list.)-2.5 E F1(+)144 96 Q/F2 10/Times-Italic@0 SF(n)A -F0 1.565(Displays the)25.3 F F2(n)4.065 E F0 1.565 -(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1 -(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E -(without options, starting with zero.)180 108 Q F1<ad>144 120 Q F2(n)A -F0 1.194(Displays the)25.3 F F2(n)3.694 E F0 1.194 -(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F -F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E -(without options, starting with zero.)180 132 Q F1<ad63>144 144 Q F0 -(Clears the directory stack by deleting all of the entries.)25.86 E F1 -<ad6c>144 156 Q F0 .324(Produces a longer listing; the def)27.52 F .324 +-.35 E/F1 10/Times-Bold@0 SF<ad6c>144 84 Q F0 .324 +(Produces a longer listing; the def)27.52 F .324 (ault listing format uses a tilde to denote the home direc-)-.1 F(tory) -180 168 Q(.)-.65 E F1<ad70>144 180 Q F0 +180 96 Q(.)-.65 E F1<ad70>144 108 Q F0 (Print the directory stack with one entry per line.)24.74 E F1<ad76>144 -192 Q F0 .272(Print the directory stack with one entry per line, pre\ -\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773 -G(he)-2.773 E(stack.)180 204 Q .258(The return v)144 220.8 R .258 +120 Q F0 .273(Print the directory stack with one entry per line, pre\ +\214xing each entry with its inde)25.3 F 2.772(xi)-.15 G 2.772(nt)-2.772 +G(he)-2.772 E(stack.)180 132 Q .257(The return v)144 148.8 R .258 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .258 -(lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe) --.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-) -.15 F(tory stack.)144 232.8 Q F1(diso)108 249.6 Q(wn)-.1 E F0([)2.5 E F1 -(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 2.5(][)C F2(jobspec)-2.5 E F0 -(...])2.5 E -.4(Wi)144 261.6 S .295(thout options, each).4 F F2(jobspec) -4.535 E F0 .295(is remo)3.105 F -.15(ve)-.15 G 2.795(df).15 G .295 -(rom the table of acti)-2.795 F .595 -.15(ve j)-.25 H 2.795(obs. If).15 -F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .244(and neither) -144 273.6 R F1 .243(\255a nor \255r is supplied, the shell')2.744 F -2.743(sn)-.37 G .243(otion of the)-2.743 F F2(curr)2.743 E .243(ent job) --.37 F F1 .243(is used.)2.743 F .243(If the \255h option)5.243 F .333 -(is gi)144 285.6 R -.1(ve)-.1 G .333(n, each).1 F F2(jobspec)4.574 E F0 -.334(is not remo)3.144 F -.15(ve)-.15 G 2.834(df).15 G .334 -(rom the table, b)-2.834 F .334(ut is mark)-.2 F .334(ed so that)-.1 F -/F3 9/Times-Bold@0 SF(SIGHUP)2.834 E F0 .334(is not sent to)2.584 F 1.19 -(the job if the shell recei)144 297.6 R -.15(ve)-.25 G 3.689(sa).15 G F3 -(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 1.189(If no)5.689 F F2(jobspec) -5.429 E F0 1.189(is present, and neither the)3.999 F F1<ad61>3.689 E F0 -1.189(nor the)3.689 F F1<ad72>3.689 E F0 1.569(option is supplied, the) -144 309.6 R F2(curr)4.069 E 1.569(ent job)-.37 F F0 1.569(is used.)4.069 -F 1.569(If no)6.569 F F2(jobspec)5.809 E F0 1.57(is supplied, the)4.38 F -F1<ad61>4.07 E F0 1.57(option means to)4.07 F(remo)144 321.6 Q .904 -.15 -(ve o)-.15 H 3.104(rm).15 G .604(ark all jobs; the)-3.104 F F1<ad72> -3.103 E F0 .603(option without a)3.103 F F2(jobspec)4.843 E F0(ar)3.413 -E .603(gument restricts operation to running)-.18 F 2.5(jobs. The)144 -333.6 R(return v)2.5 E(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0 -(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 350.4 Q +(lid option is supplied or).25 F/F2 10/Times-Italic@0 SF(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 160.8 Q F1(diso)108 +177.6 Q(wn)-.1 E F0([)2.5 E F1(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 +2.5(][)C F2(jobspec)-2.5 E F0(...])2.5 E -.4(Wi)144 189.6 S .295 +(thout options, each).4 F F2(jobspec)4.535 E F0 .295(is remo)3.105 F +-.15(ve)-.15 G 2.795(df).15 G .295(rom the table of acti)-2.795 F .595 +-.15(ve j)-.25 H 2.795(obs. If).15 F F2(jobspec)4.535 E F0 .295 +(is not present,)3.105 F .422(and neither)144 201.6 R F1<ad61>2.922 E F0 +(nor)2.922 E F1<ad72>2.922 E F0 .422(is supplied, the shell')2.922 F +2.922(sn)-.55 G .422(otion of the)-2.922 F F2(curr)2.923 E .423(ent job) +-.37 F F0 .423(is used.)2.923 F .423(If the)5.423 F F1<ad68>2.923 E F0 +.423(option is)2.923 F(gi)144 213.6 Q -.15(ve)-.25 G .141(n, each).15 F +F2(jobspec)4.381 E F0 .141(is not remo)2.951 F -.15(ve)-.15 G 2.641(df) +.15 G .141(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141 +(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .14 +(is not sent to the)2.39 F .004(job if the shell recei)144 225.6 R -.15 +(ve)-.25 G 2.504(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .004 +(If no)4.504 F F2(jobspec)4.244 E F0 .004(is present, and neither the) +2.814 F F1<ad61>2.504 E F0 .005(nor the)2.504 F F1<ad72>2.505 E F0 .005 +(option is)2.505 F 1.229(supplied, the)144 237.6 R F2(curr)3.729 E 1.229 +(ent job)-.37 F F0 1.229(is used.)3.729 F 1.229(If no)6.229 F F2 +(jobspec)5.469 E F0 1.229(is supplied, the)4.039 F F1<ad61>3.729 E F0 +1.228(option means to remo)3.729 F 1.528 -.15(ve o)-.15 H(r).15 E .656 +(mark all jobs; the)144 249.6 R F1<ad72>3.156 E F0 .657 +(option without a)3.156 F F2(jobspec)4.897 E F0(ar)3.467 E .657 +(gument restricts operation to running jobs.)-.18 F(The)5.657 E +(return v)144 261.6 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0 +(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 278.4 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.394(Output the)144 362.4 R F2(ar)2.894 E(g)-.37 E F0 .394 +.395(Output the)144 290.4 R F2(ar)2.895 E(g)-.37 E F0 .395 (s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895 -(wline. The)-.25 F .395(return status is al)2.895 F -.1(wa)-.1 G .395 -(ys 0.).1 F(If)5.395 E F1<ad6e>2.895 E F0 .549 -(is speci\214ed, the trailing ne)144 374.4 R .548(wline is suppressed.) +(wline. The)-.25 F .394(return status is al)2.895 F -.1(wa)-.1 G .394 +(ys 0.).1 F(If)5.394 E F1<ad6e>2.894 E F0 .548 +(is speci\214ed, the trailing ne)144 302.4 R .548(wline is suppressed.) -.25 F .548(If the)5.548 F F1<ad65>3.048 E F0 .548(option is gi)3.048 F --.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 386.4 Q -.052(wing backslash-escaped characters is enabled.)-.25 F(The)5.052 E F1 -<ad45>2.552 E F0 .053(option disables the interpretation of these)2.553 -F 1.503(escape characters, e)144 398.4 R -.15(ve)-.25 G 4.003(no).15 G -4.003(ns)-4.003 G 1.502(ystems where the)-4.003 F 4.002(ya)-.15 G 1.502 -(re interpreted by def)-4.002 F 4.002(ault. The)-.1 F F1(xpg_echo)4.002 -E F0(shell)4.002 E .009 -(option may be used to dynamically determine whether or not)144 410.4 R -F1(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15 -F .66(by def)144 422.4 R(ault.)-.1 E F1(echo)5.66 E F0 .66 -(does not interpret)3.16 F F1<adad>3.16 E F0 .659 -(to mean the end of options.)3.159 F F1(echo)5.659 E F0 .659 -(interprets the follo)3.159 F(wing)-.25 E(escape sequences:)144 434.4 Q -F1(\\a)144 446.4 Q F0(alert \(bell\))28.22 E F1(\\b)144 458.4 Q F0 -(backspace)27.66 E F1(\\c)144 470.4 Q F0(suppress further output)28.78 E -F1(\\e)144 482.4 Q F0(an escape character)28.78 E F1(\\f)144 494.4 Q F0 -(form feed)29.89 E F1(\\n)144 506.4 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine) --2.5 E F1(\\r)144 518.4 Q F0(carriage return)28.78 E F1(\\t)144 530.4 Q -F0(horizontal tab)29.89 E F1(\\v)144 542.4 Q F0 -.15(ve)28.22 G -(rtical tab).15 E F1(\\\\)144 554.4 Q F0(backslash)30.44 E F1(\\0)144 -566.4 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E +-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 314.4 Q +.053(wing backslash-escaped characters is enabled.)-.25 F(The)5.053 E F1 +<ad45>2.553 E F0 .052(option disables the interpretation of these)2.552 +F 1.502(escape characters, e)144 326.4 R -.15(ve)-.25 G 4.002(no).15 G +4.002(ns)-4.002 G 1.502(ystems where the)-4.002 F 4.002(ya)-.15 G 1.502 +(re interpreted by def)-4.002 F 4.003(ault. The)-.1 F F1(xpg_echo)4.003 +E F0(shell)4.003 E .009 +(option may be used to dynamically determine whether or not)144 338.4 R +F1(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters) +.15 F .659(by def)144 350.4 R(ault.)-.1 E F1(echo)5.659 E F0 .659 +(does not interpret)3.159 F F1<adad>3.159 E F0 .659 +(to mean the end of options.)3.159 F F1(echo)5.66 E F0 .66 +(interprets the follo)3.16 F(wing)-.25 E(escape sequences:)144 362.4 Q +F1(\\a)144 374.4 Q F0(alert \(bell\))28.22 E F1(\\b)144 386.4 Q F0 +(backspace)27.66 E F1(\\c)144 398.4 Q F0(suppress further output)28.78 E +F1(\\e)144 410.4 Q F0(an escape character)28.78 E F1(\\f)144 422.4 Q F0 +(form feed)29.89 E F1(\\n)144 434.4 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine) +-2.5 E F1(\\r)144 446.4 Q F0(carriage return)28.78 E F1(\\t)144 458.4 Q +F0(horizontal tab)29.89 E F1(\\v)144 470.4 Q F0 -.15(ve)28.22 G +(rtical tab).15 E F1(\\\\)144 482.4 Q F0(backslash)30.44 E F1(\\0)144 +494.4 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E (alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0 -(\(zero to three octal digits\))2.5 E F1(\\x)144 578.4 Q F2(HH)A F0 +(\(zero to three octal digits\))2.5 E F1(\\x)144 506.4 Q F2(HH)A F0 (the eight-bit character whose v)13.78 E(alue is the he)-.25 E (xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh) --.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(enable)108 595.2 Q F0([)2.5 E +-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(enable)108 523.2 Q F0([)2.5 E F1<ad61>A F0 2.5(][)C F1(\255dnps)-2.5 E F0 2.5(][)C F1<ad66>-2.5 E F2 -(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .277 -(Enable and disable b)144 607.2 R .278(uiltin shell commands.)-.2 F .278 +(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .278 +(Enable and disable b)144 535.2 R .278(uiltin shell commands.)-.2 F .278 (Disabling a b)5.278 F .278(uiltin allo)-.2 F .278 -(ws a disk command which has)-.25 F .834(the same name as a shell b)144 -619.2 R .834(uiltin to be e)-.2 F -.15(xe)-.15 G .834 -(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G 3.333 -(nt).15 G(hough)-3.333 E .989(the shell normally searches for b)144 -631.2 R .989(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e> -3.489 E F0 .99(is used, each)3.49 F F2(name)3.49 E F0 .99(is dis-)3.49 F -1.582(abled; otherwise,)144 643.2 R F2(names)4.082 E F0 1.582 -(are enabled.)4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582 -(xample, to use the)-4.232 F F1(test)4.082 E F0 1.582 -(binary found via the)4.082 F F3 -.666(PA)4.081 G(TH)-.189 E F0 .08 -(instead of the shell b)144 655.2 R .08(uiltin v)-.2 F .08(ersion, run) --.15 F/F5 10/Courier@0 SF .081(enable -n test)2.58 F F0 5.081(.T)C(he) --5.081 E F1<ad66>2.581 E F0 .081(option means to load the ne)2.581 F(w) --.25 E -.2(bu)144 667.2 S 1.525(iltin command).2 F F2(name)4.385 E F0 -1.524(from shared object)4.204 F F2(\214lename)4.024 E F0 4.024(,o).18 G -4.024(ns)-4.024 G 1.524(ystems that support dynamic loading.)-4.024 F -(The)144 679.2 Q F1<ad64>2.866 E F0 .366(option will delete a b)2.866 F -.366(uiltin pre)-.2 F .366(viously loaded with)-.25 F F1<ad66>2.867 E F0 -5.367(.I)C 2.867(fn)-5.367 G(o)-2.867 E F2(name)2.867 E F0(ar)2.867 E -.367(guments are gi)-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the) -144 691.2 R F1<ad70>2.899 E F0 .399 -(option is supplied, a list of shell b)2.899 F .399(uiltins is printed.) --.2 F -.4(Wi)5.399 G .399(th no other option ar).4 F .398(guments, the) --.18 F .098(list consists of all enabled shell b)144 703.2 R 2.598 -(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098(is supplied, only disabled b) -2.598 F .099(uiltins are printed.)-.2 F(If)5.099 E F1<ad61>2.599 E F0 -1.917(is supplied, the list printed includes all b)144 715.2 R 1.916 -(uiltins, with an indication of whether or not each is)-.2 F 2.878 -(enabled. If)144 727.2 R F1<ad73>2.878 E F0 .379 -(is supplied, the output is restricted to the POSIX)2.878 F F2(special) -2.879 E F0 -.2(bu)2.879 G 2.879(iltins. The).2 F .379(return v)2.879 F -(alue)-.25 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(54)185.955 -E 0 Cg EP +(ws a disk command which has)-.25 F .833(the same name as a shell b)144 +547.2 R .834(uiltin to be e)-.2 F -.15(xe)-.15 G .834 +(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G 3.334 +(nt).15 G(hough)-3.334 E .99(the shell normally searches for b)144 559.2 +R .989(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>3.489 E F0 +.989(is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F 1.581 +(abled; otherwise,)144 571.2 R F2(names)4.082 E F0 1.582(are enabled.) +4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F +F1(test)4.082 E F0 1.582(binary found via the)4.082 F F3 -.666(PA)4.082 +G(TH)-.189 E F0 .081(instead of the shell b)144 583.2 R .081(uiltin v) +-.2 F .081(ersion, run)-.15 F/F5 10/Courier@0 SF .081(enable -n test) +2.581 F F0 5.081(.T)C(he)-5.081 E F1<ad66>2.58 E F0 .08 +(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 595.2 S 1.524 +(iltin command).2 F F2(name)4.384 E F0 1.524(from shared object)4.204 F +F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524 +(ystems that support dynamic loading.)-4.024 F(The)144 607.2 Q F1<ad64> +2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F +.367(viously loaded with)-.25 F F1<ad66>2.866 E F0 5.366(.I)C 2.866(fn) +-5.366 G(o)-2.866 E F2(name)2.866 E F0(ar)2.866 E .366(guments are gi) +-.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 619.2 R F1<ad70> +2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399 +(uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4 +F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144 +631.2 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098 +(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F +(If)5.098 E F1<ad61>2.598 E F0 1.916 +(is supplied, the list printed includes all b)144 643.2 R 1.916 +(uiltins, with an indication of whether or not each is)-.2 F 2.879 +(enabled. If)144 655.2 R F1<ad73>2.879 E F0 .379 +(is supplied, the output is restricted to the POSIX)2.879 F F2(special) +2.879 E F0 -.2(bu)2.878 G 2.878(iltins. The).2 F .378(return v)2.878 F +(alue)-.25 E .994(is 0 unless a)144 667.2 R F2(name)3.854 E F0 .994 +(is not a shell b)3.674 F .994(uiltin or there is an error loading a ne) +-.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144 +679.2 Q F1 -2.3 -.15(ev a)108 696 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E +F0(...])2.5 E(The)144 708 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C .671 +(re read and concatenated together into a single command.)-3.171 F .67 +(This command is then read)5.67 F .495(and e)144 720 R -.15(xe)-.15 G +.495(cuted by the shell, and its e).15 F .495 +(xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15 +(ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no) +-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(54)185.955 E 0 Cg EP %%Page: 55 55 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .995(is 0 unless a)144 84 R/F1 10/Times-Italic@0 SF(name)3.855 E -F0 .994(is not a shell b)3.675 F .994 -(uiltin or there is an error loading a ne)-.2 F 3.494(wb)-.25 G .994 -(uiltin from a shared)-3.694 F(object.)144 96 Q/F2 10/Times-Bold@0 SF --2.3 -.15(ev a)108 112.8 T(l).15 E F0([)2.5 E F1(ar)A(g)-.37 E F0(...]) -2.5 E(The)144 124.8 Q F1(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671 -(re read and concatenated together into a single command.)-3.17 F .671 -(This command is then read)5.671 F .495(and e)144 136.8 R -.15(xe)-.15 G -.495(cuted by the shell, and its e).15 F .495 -(xit status is returned as the v)-.15 F .495(alue of)-.25 F F2 -2.3 -.15 -(ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no) --2.995 F F1(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 148.8 Q -(guments,)-.18 E F2 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F2 -(exec)108 165.6 Q F0([)2.5 E F2(\255cl)A F0 2.5(][)C F2<ad61>-2.5 E F1 -(name)2.5 E F0 2.5(][)C F1(command)-2.5 E F0([)2.5 E F1(ar)A(guments) --.37 E F0(]])A(If)144 177.6 Q F1(command)3.005 E F0 .305 -(is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805 -(wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F1(ar)3.136 E -(guments)-.37 E F0(become)3.076 E .177(the ar)144 189.6 R .177 -(guments to)-.18 F F1(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G -(he)-2.676 E F2<ad6c>2.676 E F0 .176 -(option is supplied, the shell places a dash at the be)2.676 F .176 -(ginning of)-.15 F .499(the zeroth ar)144 201.6 R .499(gument passed to) --.18 F F1(command)2.999 E F0 5.499(.T).77 G .499(his is what)-5.499 F F1 -(lo)2.999 E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.5 E F2<ad63>3 E F0 -.5(option causes)3 F F1(com-)3.2 E(mand)144 213.6 Q F0 .639(to be e) -3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 -(vironment. If)-.4 F F2<ad61>3.138 E F0 .638 -(is supplied, the shell passes)3.138 F F1(name)3.498 E F0 .638(as the) -3.318 F 1.077(zeroth ar)144 225.6 R 1.077(gument to the e)-.18 F -.15 -(xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F1(command)3.777 E F0 +-.35 E(or only null ar)144 84 Q(guments,)-.18 E/F1 10/Times-Bold@0 SF +-2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1(exec)108 100.8 Q F0 +([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E/F2 10/Times-Italic@0 SF +(name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments) +-.37 E F0(]])A(If)144 112.8 Q F2(command)3.006 E F0 .306 +(is speci\214ed, it replaces the shell.)3.576 F .305(No ne)5.305 F 2.805 +(wp)-.25 G .305(rocess is created.)-2.805 F(The)5.305 E F2(ar)3.135 E +(guments)-.37 E F0(become)3.075 E .176(the ar)144 124.8 R .176 +(guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G +(he)-2.676 E F1<ad6c>2.676 E F0 .176 +(option is supplied, the shell places a dash at the be)2.676 F .177 +(ginning of)-.15 F .5(the zeroth ar)144 136.8 R .5(gument passed to)-.18 +F F2(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2(lo)2.999 +E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F1<ad63>2.999 E F0 +.499(option causes)2.999 F F2(com-)3.199 E(mand)144 148.8 Q F0 .638 +(to be e)3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 +(vironment. If)-.4 F F1<ad61>3.138 E F0 .638 +(is supplied, the shell passes)3.138 F F2(name)3.499 E F0 .639(as the) +3.319 F 1.078(zeroth ar)144 160.8 R 1.077(gument to the e)-.18 F -.15 +(xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a) -.15 F(non-interacti)144 237.6 Q .618 -.15(ve s)-.25 H .318(hell e).15 F -.318(xits, unless the shell option)-.15 F F2(execfail)2.817 E F0 .317 +.15 F(non-interacti)144 172.8 Q .617 -.15(ve s)-.25 H .317(hell e).15 F +.317(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .318 (is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505 -(ure. An)144 249.6 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005 +(ure. An)144 184.8 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005 (hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15 -(xe)-.15 G 2.505(cuted. If).15 F F1(command)2.705 E F0 .005 -(is not speci\214ed,)3.275 F(an)144 261.6 Q 3.037(yr)-.15 G .537 -(edirections tak)-3.037 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536 +(xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005 +(is not speci\214ed,)3.275 F(an)144 196.8 Q 3.036(yr)-.15 G .536 +(edirections tak)-3.036 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536 (ect in the current shell, and the return status is 0.).25 F .536 -(If there is a redirection)5.536 F(error)144 273.6 Q 2.5(,t)-.4 G -(he return status is 1.)-2.5 E F2(exit)108 290.4 Q F0([)2.5 E F1(n)A F0 -6.29(]C)C .095(ause the shell to e)-6.29 F .095(xit with a status of) --.15 F F1(n)2.595 E F0 5.095(.I)C(f)-5.095 E F1(n)2.955 E F0 .096 -(is omitted, the e)2.835 F .096(xit status is that of the last command) --.15 F -.15(exe)144 302.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9 +(If there is a redirection)5.536 F(error)144 208.8 Q 2.5(,t)-.4 G +(he return status is 1.)-2.5 E F1(exit)108 225.6 Q F0([)2.5 E F2(n)A F0 +6.29(]C)C .096(ause the shell to e)-6.29 F .096(xit with a status of) +-.15 F F2(n)2.596 E F0 5.096(.I)C(f)-5.096 E F2(n)2.955 E F0 .095 +(is omitted, the e)2.835 F .095(xit status is that of the last command) +-.15 F -.15(exe)144 237.6 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9 /Times-Bold@0 SF(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G -(cuted before the shell terminates.).15 E F2(export)108 319.2 Q F0([)2.5 -E F2(\255fn)A F0 2.5(][).833 G F1(name)-2.5 E F0([=)A F1(wor)A(d)-.37 E -F0(]] ...)A F2(export \255p)108 331.2 Q F0 .257(The supplied)144 343.2 R -F1(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F +(cuted before the shell terminates.).15 E F1(export)108 254.4 Q F0([)2.5 +E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E +F0(]] ...)A F1(export \255p)108 266.4 Q F0 .256(The supplied)144 278.4 R +F2(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15 -(xe)-.15 G(cuted).15 E 2.626(commands. If)144 355.2 R(the)2.626 E F2 -<ad66>2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the) -.15 F F1(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no) -5.127 F F1(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127 -(n, or if the).15 F F2<ad70>144 367.2 Q F0 .66 -(option is supplied, a list of all names that are e)3.16 F .659 -(xported in this shell is printed.)-.15 F(The)5.659 E F2<ad6e>3.159 E F0 -(option)3.159 E 1.586(causes the e)144 379.2 R 1.586 +(xe)-.15 G(cuted).15 E 2.627(commands. If)144 290.4 R(the)2.627 E F1 +<ad66>2.627 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the) +.15 F F2(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no) +5.127 F F2(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .126 +(n, or if the).15 F F1<ad70>144 302.4 Q F0 .659 +(option is supplied, a list of all names that are e)3.159 F .66 +(xported in this shell is printed.)-.15 F(The)5.66 E F1<ad6e>3.16 E F0 +(option)3.16 E 1.587(causes the e)144 314.4 R 1.587 (xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586 -(rom each)-4.086 F F1(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G -1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 391.2 Q -F1(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v) --.25 F .304(ariable is set to)-.25 F F1(wor)2.804 E(d)-.37 E F0(.)A F2 -(export)5.304 E F0 .304(returns an e)2.804 F .303 -(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293 -(option is encountered, one of the)144 403.2 R F1(names)2.793 E F0 .293 +(rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G +1.586(ariable name is follo)-4.336 F 1.586(wed by)-.25 F(=)144 326.4 Q +F2(wor)A(d)-.37 E F0 2.803(,t)C .303(he v)-2.803 F .303(alue of the v) +-.25 F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1 +(export)5.304 E F0 .304(returns an e)2.804 F .304 +(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .294 +(option is encountered, one of the)144 338.4 R F2(names)2.793 E F0 .293 (is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25 -F F2<ad66>2.793 E F0 .294(is supplied with a)2.793 F F1(name)144.36 -415.2 Q F0(that is not a function.)2.68 E F2(fc)108 432 Q F0([)2.5 E F2 -<ad65>A F1(ename)2.5 E F0 2.5(][)C F2(\255lnr)-2.5 E F0 2.5(][)C F1 -<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F1(last)-2.5 E F0(])A F2(fc \255s)108 -444 Q F0([)2.5 E F1(pat)A F0(=)A F1 -.37(re)C(p).37 E F0 2.5(][)C F1 -(cmd)-2.5 E F0(])A .478(Fix Command.)144 456 R .478 -(In the \214rst form, a range of commands from)5.478 F F1<8c72>4.888 E -(st)-.1 E F0(to)3.658 E F1(last)3.068 E F0 .477 -(is selected from the his-)3.658 F .881(tory list.)144 468 R F1 -.45(Fi) -5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F1(last)3.471 E F0 .882 +F F1<ad66>2.793 E F0 .293(is supplied with a)2.793 F F2(name)144.36 +350.4 Q F0(that is not a function.)2.68 E F1(fc)108 367.2 Q F0([)2.5 E +F1<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2 +<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108 +379.2 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2 +(cmd)-2.5 E F0(])A .477(Fix Command.)144 391.2 R .478 +(In the \214rst form, a range of commands from)5.477 F F2<8c72>4.888 E +(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .478 +(is selected from the his-)3.658 F .882(tory list.)144 403.2 R F2 -.45 +(Fi)5.882 G -.1(rs).45 G(t).1 E F0(and)4.062 E F2(last)3.472 E F0 .882 (may be speci\214ed as a string \(to locate the last command be)4.062 F -.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144 -480 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F --.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an) -.15 F(of)144 492 Q .276(fset from the current command number\).)-.25 F -(If)5.276 E F1(last)2.866 E F0 .277 -(is not speci\214ed it is set to the current command)3.456 F .093 -(for listing \(so that)144 504 R/F4 10/Courier@0 SF .092 +.881(ginning with)-.15 F .797(that string\) or as a number \(an inde)144 +415.2 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F +-.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .797(umber is used as an) +.15 F(of)144 427.2 Q .277(fset from the current command number\).)-.25 F +(If)5.277 E F2(last)2.867 E F0 .276 +(is not speci\214ed it is set to the current command)3.457 F .092 +(for listing \(so that)144 439.2 R/F4 10/Courier@0 SF .092 (fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to) -2.592 F F1<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F1<8c72> -4.502 E(st)-.1 E F0 .092(is not)3.272 F -(speci\214ed it is set to the pre)144 516 Q -(vious command for editing and \25516 for listing.)-.25 E(The)144 540 Q -F2<ad6e>2.522 E F0 .022 +2.592 F F2<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F2<8c72> +4.502 E(st)-.1 E F0 .093(is not)3.273 F +(speci\214ed it is set to the pre)144 451.2 Q +(vious command for editing and \25516 for listing.)-.25 E(The)144 475.2 +Q F1<ad6e>2.522 E F0 .022 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E -F2<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 -(rses the order of).15 F .438(the commands.)144 552 R .438(If the)5.438 -F F2<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 +F1<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 +(rses the order of).15 F .438(the commands.)144 487.2 R .438(If the) +5.438 F F1<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E -.334(the editor gi)144 564 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E F1 -(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do) -.1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F -(If)5.335 E F1(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G -(n,).15 E .631(the v)144 576 R .631(alue of the)-.25 F F3(FCEDIT)3.131 E -F0 -.25(va)2.881 G .631(riable is used, and the v).25 F .631(alue of) --.25 F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.13 E F0 .63 -(is not set.)2.88 F .63(If nei-)5.63 F .95(ther v)144 588 R .95 -(ariable is set,)-.25 F F1(vi)5.116 E F0 .95(is used.)5.116 F .951 -(When editing is complete, the edited commands are echoed and)5.95 F --.15(exe)144 600 S(cuted.).15 E .04(In the second form,)144 624 R F1 -(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039 -(cuted after each instance of).15 F F1(pat)2.539 E F0 .039 -(is replaced by)2.539 F F1 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful) --2.5 E .406(alias to use with this is)144 636 R F4 .406(r='fc \255s') -2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F4 -6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F -.407(ginning with)-.15 F F4(cc)144 648 Q F0(and typing)2.5 E F4(r)2.5 E -F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142 -(If the \214rst form is used, the return v)144 672 R .142 +.335(the editor gi)144 499.2 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E +F2(ename)3.025 E F0 .335(is in)3.015 F -.2(vo)-.4 G -.1(ke).2 G 2.835 +(do).1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 +F(If)5.334 E F2(ename)3.024 E F0 .334(is not gi)3.014 F -.15(ve)-.25 G +(n,).15 E .63(the v)144 511.2 R .63(alue of the)-.25 F F3(FCEDIT)3.13 E +F0 -.25(va)2.88 G .631(riable is used, and the v).25 F .631(alue of)-.25 +F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.131 E F0 .631 +(is not set.)2.881 F .631(If nei-)5.631 F .951(ther v)144 523.2 R .951 +(ariable is set,)-.25 F F2(vi)5.117 E F0 .951(is used.)5.117 F .95 +(When editing is complete, the edited commands are echoed and)5.951 F +-.15(exe)144 535.2 S(cuted.).15 E .039(In the second form,)144 559.2 R +F2(command)2.539 E F0 .039(is re-e)2.539 F -.15(xe)-.15 G .039 +(cuted after each instance of).15 F F2(pat)2.54 E F0 .04(is replaced by) +2.54 F F2 -.37(re)2.54 G(p).37 E F0 5.04(.A)C(useful)-2.5 E .406 +(alias to use with this is)144 571.2 R F4 .406(r='fc \255s')2.906 F F0 +2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F4 6.406(rc)2.906 +G(c)-6.406 E F0 .406(runs the last command be)2.906 F .406(ginning with) +-.15 F F4(cc)144 583.2 Q F0(and typing)2.5 E F4(r)2.5 E F0(re-e)2.5 E +-.15(xe)-.15 G(cutes the last command.).15 E .142 +(If the \214rst form is used, the return v)144 607.2 R .142 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .142 -(lid option is encountered or).25 F F1<8c72>4.552 E(st)-.1 E F0(or)3.322 -E F1(last)2.732 E F0 .454(specify history lines out of range.)144 684 R -.454(If the)5.454 F F2<ad65>2.954 E F0 .454 -(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455 -(alue of the)-.25 F .788(last command e)144 696 R -.15(xe)-.15 G .788 -(cuted or f).15 F .787 +(lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322 +E F2(last)2.732 E F0 .455(specify history lines out of range.)144 619.2 +R .454(If the)5.454 F F1<ad65>2.954 E F0 .454 +(option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454 +(alue of the)-.25 F .787(last command e)144 631.2 R -.15(xe)-.15 G .787 +(cuted or f).15 F .788 (ailure if an error occurs with the temporary \214le of commands.)-.1 F -.787(If the)5.787 F 1.135 +.788(If the)5.788 F 1.136 (second form is used, the return status is that of the command re-e)144 -708 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F1(cmd)3.836 E F0 1.136 -(does not)4.406 F(specify a v)144 720 Q -(alid history line, in which case)-.25 E F2(fc)2.5 E F0(returns f)2.5 E -(ailure.)-.1 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(55) -185.955 E 0 Cg EP +643.2 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F2(cmd)3.835 E F0 1.135 +(does not)4.405 F(specify a v)144 655.2 Q +(alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E +(ailure.)-.1 E F1(fg)108 672 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)144 +684 Q F2(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413 +(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413 +(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0 +1.414(is not present, the)4.223 F(shell')144 696 Q 3.117(sn)-.55 G .617 +(otion of the)-3.117 F F2(curr)3.117 E .617(ent job)-.37 F F0 .617 +(is used.)3.117 F .617(The return v)5.617 F .616 +(alue is that of the command placed into the)-.25 F(fore)144 708 Q .362 +(ground, or f)-.15 F .362(ailure if run when job control is disabled or) +-.1 F 2.862(,w)-.4 G .363(hen run with job control enabled, if)-2.862 F +F2(jobspec)145.74 720 Q F0 .004(does not specify a v)2.815 F .004 +(alid job or)-.25 F F2(jobspec)4.244 E F0 .004(speci\214es a job that w) +2.814 F .004(as started without job control.)-.1 F(GNU Bash-4.1)72 768 Q +(2009 December 29)135.965 E(55)185.955 E 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(fg)108 84 Q F0([)2.5 E/F2 10/Times-Italic@0 -SF(jobspec)A F0(])A(Resume)144 96 Q F2(jobspec)5.654 E F0 1.413 -(in the fore)4.224 F 1.413(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913 -(tt)-3.913 G 1.413(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2 -(jobspec)5.653 E F0 1.413(is not present, the)4.223 F(shell')144 108 Q -3.116(sn)-.55 G .616(otion of the)-3.116 F F2(curr)3.116 E .616(ent job) --.37 F F0 .617(is used.)3.116 F .617(The return v)5.617 F .617 -(alue is that of the command placed into the)-.25 F(fore)144 120 Q .363 -(ground, or f)-.15 F .363(ailure if run when job control is disabled or) --.1 F 2.862(,w)-.4 G .362(hen run with job control enabled, if)-2.862 F -F2(jobspec)145.74 132 Q F0 .004(does not specify a v)2.814 F .004 -(alid job or)-.25 F F2(jobspec)4.244 E F0 .004(speci\214es a job that w) -2.814 F .004(as started without job control.)-.1 F F1(getopts)108 148.8 -Q F2(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1 -(getopts)144 160.8 Q F0 .793 -(is used by shell procedures to parse positional parameters.)3.294 F F2 -(optstring)6.023 E F0 .793(contains the option)3.513 F .149 -(characters to be recognized; if a character is follo)144 172.8 R .15 -(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45 --.15(ve a)-.2 H(n).15 E(ar)144 184.8 Q .579 -(gument, which should be separated from it by white space.)-.18 F .578 +-.35 E/F1 10/Times-Bold@0 SF(getopts)108 84 Q/F2 10/Times-Italic@0 SF +(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144 +96 Q F0 .793 +(is used by shell procedures to parse positional parameters.)3.293 F F2 +(optstring)6.023 E F0 .793(contains the option)3.513 F .15 +(characters to be recognized; if a character is follo)144 108 R .149 +(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449 +-.15(ve a)-.2 H(n).15 E(ar)144 120 Q .578 +(gument, which should be separated from it by white space.)-.18 F .579 (The colon and question mark char)5.579 F(-)-.2 E 1.665 -(acters may not be used as option characters.)144 196.8 R 1.665 +(acters may not be used as option characters.)144 132 R 1.665 (Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F1(getopts) -4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797 -(option in the shell v)144 208.8 R(ariable)-.25 E F2(name)3.297 E F0 -3.297(,i).18 G(nitializing)-3.297 E F2(name)3.657 E F0 .797 -(if it does not e)3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G -3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 220.8 Q .085 +4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796 +(option in the shell v)144 144 R(ariable)-.25 E F2(name)3.296 E F0 3.296 +(,i).18 G(nitializing)-3.296 E F2(name)3.657 E F0 .797(if it does not e) +3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G 3.297(ft)-3.297 G +.797(he ne)-3.297 F(xt)-.15 E(ar)144 156 Q .085 (gument to be processed into the v)-.18 F(ariable)-.25 E/F3 9 /Times-Bold@0 SF(OPTIND)2.585 E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND) -4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .846 -(or a shell script is in)144 232.8 R -.2(vo)-.4 G -.1(ke).2 G 3.345 +4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .845 +(or a shell script is in)144 168 R -.2(vo)-.4 G -.1(ke).2 G 3.345 (d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F1 -(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803 -(into the v)144 244.8 R(ariable)-.25 E F3(OPT)3.303 E(ARG)-.81 E F4(.)A -F0 .803(The shell does not reset)5.303 F F3(OPTIND)3.303 E F0 .804 -(automatically; it must be manually)3.054 F .294 -(reset between multiple calls to)144 256.8 R F1(getopts)2.793 E F0 .293 +(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804 +(into the v)144 180 R(ariable)-.25 E F3(OPT)3.304 E(ARG)-.81 E F4(.)A F0 +.803(The shell does not reset)5.304 F F3(OPTIND)3.303 E F0 .803 +(automatically; it must be manually)3.053 F .293 +(reset between multiple calls to)144 192 R F1(getopts)2.793 E F0 .293 (within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F -2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 268.8 -Q 2.043(When the end of options is encountered,)144 292.8 R F1(getopts) -4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044 -(alue greater than zero.)-.25 F F1(OPTIND)144 304.8 Q F0 -(is set to the inde)2.5 E 2.5(xo)-.15 G 2.5(ft)-2.5 G +2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 204 Q +2.044(When the end of options is encountered,)144 228 R F1(getopts)4.543 +E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043 +(alue greater than zero.)-.25 F F3(OPTIND)144 240 Q F0 +(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G (he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0 -(is set to ?.)2.5 E F1(getopts)144 328.8 Q F0 2.393 -(normally parses the positional parameters, b)4.893 F 2.392 -(ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892 -(ni).15 G(n)-4.892 E F2(ar)4.892 E(gs)-.37 E F0(,).27 E F1(getopts)144 -340.8 Q F0(parses those instead.)2.5 E F1(getopts)144 364.8 Q F0 1.165 -(can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F -1.165(the \214rst character of)3.665 F F2(optstring)3.895 E F0 1.166 -(is a colon,)3.886 F F2(silent)4.006 E F0(error)4.346 E 1.264 -(reporting is used.)144 376.8 R 1.263 +(is set to ?.)2.5 E F1(getopts)144 264 Q F0 2.392 +(normally parses the positional parameters, b)4.892 F 2.392 +(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893 +(ni).15 G(n)-4.893 E F2(ar)4.893 E(gs)-.37 E F0(,).27 E F1(getopts)144 +276 Q F0(parses those instead.)2.5 E F1(getopts)144 300 Q F0 1.166 +(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F +1.165(the \214rst character of)3.665 F F2(optstring)3.895 E F0 1.165 +(is a colon,)3.885 F F2(silent)4.005 E F0(error)4.345 E 1.263 +(reporting is used.)144 312 R 1.263 (In normal operation diagnostic messages are printed when in)6.263 F --.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144 -388.8 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F -(ariable)-.25 E F3(OPTERR)2.894 E F0 .394 -(is set to 0, no error messages)2.644 F(will be displayed, e)144 400.8 Q --.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E -F2(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 424.8 R --.25(va)-.4 G .667(lid option is seen,).25 F F1(getopts)3.167 E F0 .667 -(places ? into)3.167 F F2(name)3.527 E F0 .666 -(and, if not silent, prints an error message)3.347 F .399(and unsets)144 -436.8 R F3(OPT)2.899 E(ARG)-.81 E F4(.)A F0(If)4.899 E F1(getopts)2.899 -E F0 .399(is silent, the option character found is placed in)2.899 F F3 -(OPT)2.899 E(ARG)-.81 E F0 .4(and no)2.65 F -(diagnostic message is printed.)144 448.8 Q 1.242(If a required ar)144 -472.8 R 1.242(gument is not found, and)-.18 F F1(getopts)3.741 E F0 -1.241(is not silent, a question mark \()3.741 F F1(?).833 E F0 3.741 -(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F F2(name)144 484.8 -Q F0(,).18 E F3(OPT)2.734 E(ARG)-.81 E F0 .234 -(is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F1 -(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F1(:).833 E -F0(\)).833 E(is placed in)144 496.8 Q F2(name)2.86 E F0(and)2.68 E F3 -(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F1 -(getopts)144 520.8 Q F0 .902 +-.25(va)-.4 G 1.263(lid options or).25 F .394(missing option ar)144 324 +R .394(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable) +-.25 E F3(OPTERR)2.894 E F0 .394(is set to 0, no error messages)2.644 F +(will be displayed, e)144 336 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 +G(he \214rst character of)-2.5 E F2(optstring)2.73 E F0(is not a colon.) +2.72 E .666(If an in)144 360 R -.25(va)-.4 G .666(lid option is seen,) +.25 F F1(getopts)3.166 E F0 .667(places ? into)3.167 F F2(name)3.527 E +F0 .667(and, if not silent, prints an error message)3.347 F .4 +(and unsets)144 372 R F3(OPT)2.9 E(ARG)-.81 E F4(.)A F0(If)4.899 E F1 +(getopts)2.899 E F0 .399 +(is silent, the option character found is placed in)2.899 F F3(OPT)2.899 +E(ARG)-.81 E F0 .399(and no)2.649 F(diagnostic message is printed.)144 +384 Q 1.241(If a required ar)144 408 R 1.241(gument is not found, and) +-.18 F F1(getopts)3.741 E F0 1.241(is not silent, a question mark \() +3.741 F F1(?).833 E F0 3.742(\)i).833 G 3.742(sp)-3.742 G 1.242 +(laced in)-3.742 F F2(name)144 420 Q F0(,).18 E F3(OPT)2.735 E(ARG)-.81 +E F0 .234(is unset, and a diagnostic message is printed.)2.485 F(If) +5.234 E F1(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F1 +(:).833 E F0(\)).833 E(is placed in)144 432 Q F2(name)2.86 E F0(and)2.68 +E F3(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 +E F1(getopts)144 456 Q F0 .902 (returns true if an option, speci\214ed or unspeci\214ed, is found.) -3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F -(options is encountered or an error occurs.)144 532.8 Q F1(hash)108 -549.6 Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E F2(\214lename) -2.5 E F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A --.15(Fo)144 561.6 S 3.554(re).15 G(ach)-3.554 E F2(name)3.554 E F0 3.554 -(,t).18 G 1.054(he full \214le name of the command is determined by sea\ -rching the directories in)-3.554 F F1($P)144 573.6 Q -.95(AT)-.74 G(H) -.95 E F0 .35(and remembered.)2.85 F .35(If the)5.35 F F1<ad70>2.85 E F0 -.349(option is supplied, no path search is performed, and)2.849 F F2 -(\214lename)4.759 E F0 .452 -(is used as the full \214le name of the command.)144 585.6 R(The)5.452 E -F1<ad72>2.952 E F0 .452(option causes the shell to for)2.952 F .453 -(get all remem-)-.18 F .593(bered locations.)144 597.6 R(The)5.593 E F1 -<ad64>3.093 E F0 .593(option causes the shell to for)3.093 F .592 -(get the remembered location of each)-.18 F F2(name)3.092 E F0(.)A .02 -(If the)144 609.6 R F1<ad74>2.52 E F0 .02 -(option is supplied, the full pathname to which each)2.52 F F2(name) -2.521 E F0 .021(corresponds is printed.)2.521 F .021(If multi-)5.021 F -(ple)144 621.6 Q F2(name)3.704 E F0(ar)3.704 E 1.204 +3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F +(options is encountered or an error occurs.)144 468 Q F1(hash)108 484.8 +Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E F2(\214lename)2.5 E +F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A -.15(Fo) +144 496.8 S 3.555(re).15 G(ach)-3.555 E F2(name)3.555 E F0 3.555(,t).18 +G 1.054(he full \214le name of the command is determined by searching t\ +he directories in)-3.555 F F1($P)144 508.8 Q -.95(AT)-.74 G(H).95 E F0 +.349(and remembered.)2.849 F .349(If the)5.349 F F1<ad70>2.849 E F0 .349 +(option is supplied, no path search is performed, and)2.849 F F2 +(\214lename)4.76 E F0 .452 +(is used as the full \214le name of the command.)144 520.8 R(The)5.452 E +F1<ad72>2.952 E F0 .452(option causes the shell to for)2.952 F .452 +(get all remem-)-.18 F .592(bered locations.)144 532.8 R(The)5.592 E F1 +<ad64>3.092 E F0 .593(option causes the shell to for)3.092 F .593 +(get the remembered location of each)-.18 F F2(name)3.093 E F0(.)A .021 +(If the)144 544.8 R F1<ad74>2.521 E F0 .021 +(option is supplied, the full pathname to which each)2.521 F F2(name) +2.52 E F0 .02(corresponds is printed.)2.52 F .02(If multi-)5.02 F(ple) +144 556.8 Q F2(name)3.703 E F0(ar)3.703 E 1.203 (guments are supplied with)-.18 F F1<ad74>3.703 E F0 3.703(,t)C(he) --3.703 E F2(name)3.703 E F0 1.203 -(is printed before the hashed full pathname.)3.703 F(The)144 633.6 Q F1 -<ad6c>3.215 E F0 .715(option causes output to be displayed in a format \ -that may be reused as input.)3.215 F .716(If no ar)5.716 F(gu-)-.18 E -1.184(ments are gi)144 645.6 R -.15(ve)-.25 G 1.184(n, or if only).15 F -F1<ad6c>3.684 E F0 1.183 +-3.703 E F2(name)3.703 E F0 1.204 +(is printed before the hashed full pathname.)3.703 F(The)144 568.8 Q F1 +<ad6c>3.216 E F0 .715(option causes output to be displayed in a format \ +that may be reused as input.)3.216 F .715(If no ar)5.715 F(gu-)-.18 E +1.183(ments are gi)144 580.8 R -.15(ve)-.25 G 1.183(n, or if only).15 F +F1<ad6c>3.683 E F0 1.184 (is supplied, information about remembered commands is printed.)3.684 F -(The return status is true unless a)144 657.6 Q F2(name)2.86 E F0 +(The return status is true unless a)144 592.8 Q F2(name)2.86 E F0 (is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25 -E F1(help)108 674.4 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2(pattern) --2.5 E F0(])A .866(Display helpful information about b)144 686.4 R .867 -(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 .867 -(is speci\214ed,)3.607 F F1(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 G -3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144 -698.4 R F2(pattern)2.807 E F0 2.807(;o).24 G .307 -(therwise help for all the b)-2.807 F .306 -(uiltins and shell control struc-)-.2 F(tures is printed.)144 710.4 Q -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(56)185.955 E 0 Cg EP +E F1(help)108 609.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2(pattern) +-2.5 E F0(])A .867(Display helpful information about b)144 621.6 R .867 +(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 .866 +(is speci\214ed,)3.607 F F1(help)3.366 E F0(gi)3.366 E -.15(ve)-.25 G +3.366(sd).15 G(etailed)-3.366 E .306(help on all commands matching)144 +633.6 R F2(pattern)2.806 E F0 2.807(;o).24 G .307 +(therwise help for all the b)-2.807 F .307 +(uiltins and shell control struc-)-.2 F(tures is printed.)144 645.6 Q F1 +<ad64>144 657.6 Q F0(Display a short description of each)24.74 E F2 +(pattern)2.5 E F1<ad6d>144 669.6 Q F0(Display the description of each) +21.97 E F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat) +-2.5 E F1<ad73>144 681.6 Q F0 +(Display only a short usage synopsis for each)26.41 E F2(pattern)2.5 E +F0(The return status is 0 unless no command matches)108 693.6 Q F2 +(pattern)2.5 E F0(.).24 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 +E(56)185.955 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF<ad64>144 84 Q F0 -(Display a short description of each)24.74 E/F2 10/Times-Italic@0 SF -(pattern)2.5 E F1<ad6d>144 96 Q F0(Display the description of each)21.97 -E F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat)-2.5 E -F1<ad73>144 108 Q F0(Display only a short usage synopsis for each)26.41 -E F2(pattern)2.5 E F0(The return status is 0 unless no command matches) -108 120 Q F2(pattern)2.5 E F0(.).24 E F1(history [)108 136.8 Q F2(n)A F1 -(])A(history \255c)108 148.8 Q(history \255d)108 160.8 Q F2(of)2.5 E -(fset)-.18 E F1(history \255anrw)108 172.8 Q F0([)2.5 E F2(\214lename)A -F0(])A F1(history \255p)108 184.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2 -(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 196.8 Q F2(ar) -2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi) -144 208.8 S .752 +-.35 E/F1 10/Times-Bold@0 SF(history [)108 84 Q/F2 10/Times-Italic@0 SF +(n)A F1(])A(history \255c)108 96 Q(history \255d)108 108 Q F2(of)2.5 E +(fset)-.18 E F1(history \255anrw)108 120 Q F0([)2.5 E F2(\214lename)A F0 +(])A F1(history \255p)108 132 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A +2.5(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 144 Q F2(ar)2.5 E(g) +-.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144 156 +S .752 (th no options, display the command history list with line numbers.).4 F -.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2 -G 1.231(been modi\214ed.)144 220.8 R 1.231(An ar)6.231 F 1.231 -(gument of)-.18 F F2(n)4.091 E F0 1.231(lists only the last)3.971 F F2 -(n)4.091 E F0 3.73(lines. If)3.97 F 1.23(the shell v)3.73 F(ariable)-.25 -E F1(HISTTIME-)3.73 E(FORMA)144 232.8 Q(T)-.95 E F0 .249 -(is set and not null, it is used as a format string for)2.749 F F2 -(strftime)2.75 E F0 .25(\(3\) to display the time stamp)B .379 -(associated with each displayed history entry)144 244.8 R 5.379(.N)-.65 -G 2.878(oi)-5.379 G(nterv)-2.878 E .378 -(ening blank is printed between the format-)-.15 F .814 -(ted time stamp and the history line.)144 256.8 R(If)5.814 E F2 -(\214lename)3.314 E F0 .814 -(is supplied, it is used as the name of the history)3.314 F -(\214le; if not, the v)144 268.8 Q(alue of)-.25 E/F3 9/Times-Bold@0 SF -(HISTFILE)2.5 E F0(is used.)2.25 E(Options, if supplied, ha)5 E .3 -.15 -(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad63>144 280.8 Q F0 +.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2 +G .38(been modi\214ed.)144 168 R .38(An ar)5.38 F .38(gument of)-.18 F +F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88 +(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9 +/Times-Bold@0 SF(HISTTIMEFOR-)2.881 E(MA)144 180 Q(T)-.855 E F0 .265 +(is set and not null, it is used as a format string for)2.515 F F2 +(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019 +(ciated with each displayed history entry)144 192 R 6.019(.N)-.65 G +3.519(oi)-6.019 G(nterv)-3.519 E 1.019 +(ening blank is printed between the formatted)-.15 F .176 +(time stamp and the history line.)144 204 R(If)5.176 E F2(\214lename) +2.676 E F0 .176 +(is supplied, it is used as the name of the history \214le; if)2.676 F +(not, the v)144 216 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.)2.25 +E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1<ad63>144 228 Q F0 (Clear the history list by deleting all the entries.)25.86 E F1<ad64>144 -292.8 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position) -180 304.8 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 316.8 Q F0 .599 -(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.099('h)-.74 G .598 -(istory lines \(history lines entered since the be)-3.099 F .598 -(ginning of the current)-.15 F F1(bash)180 328.8 Q F0 -(session\) to the history \214le.)2.5 E F1<ad6e>144 340.8 Q F0 .854(Rea\ -d the history lines not already read from the history \214le into the c\ -urrent history list.)24.74 F .773 -(These are lines appended to the history \214le since the be)180 352.8 R -.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E -(sion.)180 364.8 Q F1<ad72>144 376.8 Q F0(Read the contents of the hist\ -ory \214le and use them as the current history)25.86 E(.)-.65 E F1<ad77> -144 388.8 Q F0(Write the current history to the history \214le, o)23.08 -E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G -(ontents.)-2.5 E F1<ad70>144 400.8 Q F0 .625 +240 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position) +180 252 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 264 Q F0 .598 +(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.098('h)-.74 G .598 +(istory lines \(history lines entered since the be)-3.098 F .599 +(ginning of the current)-.15 F F1(bash)180 276 Q F0 +(session\) to the history \214le.)2.5 E F1<ad6e>144 288 Q F0 .854(Read \ +the history lines not already read from the history \214le into the cur\ +rent history list.)24.74 F .772 +(These are lines appended to the history \214le since the be)180 300 R +.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E +(sion.)180 312 Q F1<ad72>144 324 Q F0(Read the contents of the history \ +\214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>144 +336 Q F0(Write the current history to the history \214le, o)23.08 E -.15 +(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G(ontents.) +-2.5 E F1<ad70>144 348 Q F0 .626 (Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar) -3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F -2.975(output. Does)180 412.8 R .475 +3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F +2.975(output. Does)180 360 R .475 (not store the results in the history list.)2.975 F(Each)5.475 E F2(ar) 2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F -(normal history e)180 424.8 Q(xpansion.)-.15 E F1<ad73>144 436.8 Q F0 -.362(Store the)26.41 F F2(ar)3.192 E(gs)-.37 E F0 .363 -(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363 -(he last command in the history list is)-5.363 F(remo)180 448.8 Q -.15 -(ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0 -(are added.)2.77 E .28(If the)144 465.6 R F1(HISTTIMEFORMA)2.78 E(T)-.95 -E F0 .28 -(is set, the time stamp information associated with each history entry) -2.78 F .539(is written to the history \214le, mark)144 477.6 R .539 -(ed with the history comment character)-.1 F 5.54(.W)-.55 G .54 -(hen the history \214le is)-5.54 F 1.779(read, lines be)144 489.6 R -1.779(ginning with the history comment character follo)-.15 F 1.778 -(wed immediately by a digit are)-.25 F 1.424 -(interpreted as timestamps for the pre)144 501.6 R 1.424 -(vious history line.)-.25 F 1.424(The return v)6.424 F 1.424 +(normal history e)180 372 Q(xpansion.)-.15 E F1<ad73>144 384 Q F0 .363 +(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363 +(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362 +(he last command in the history list is)-5.363 F(remo)180 396 Q -.15(ve) +-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0 +(are added.)2.77 E .145(If the)144 412.8 R F3(HISTTIMEFORMA)2.645 E(T) +-.855 E F0 -.25(va)2.395 G .145 +(riable is set, the time stamp information associated with each history) +.25 F .669(entry is written to the history \214le, mark)144 424.8 R .669 +(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668 +(hen the history)-5.668 F .955(\214le is read, lines be)144 436.8 R .956 +(ginning with the history comment character follo)-.15 F .956 +(wed immediately by a digit)-.25 F .416 +(are interpreted as timestamps for the pre)144 448.8 R .416 +(vious history line.)-.25 F .416(The return v)5.416 F .415 (alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\ ncountered, an error occurs while reading or writing the history \214le\ -, an in)144 513.6 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0 -(is)2.999 E(supplied as an ar)144 525.6 Q(gument to)-.18 E F1<ad64>2.5 E -F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E -(xpansion supplied as an ar)-.15 E(gument to)-.18 E F1<ad70>2.5 E F0 -.1 -(fa)2.5 G(ils.).1 E F1(jobs)108 542.4 Q F0([)2.5 E F1(\255lnprs)A F0 2.5 -(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 554.4 Q F2(command) -2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E -(The \214rst form lists the acti)144 566.4 Q .3 -.15(ve j)-.25 H 2.5 -(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1<ad6c>144 578.4 Q F0 +, an in)144 460.8 R -.25(va)-.4 G(lid).25 E F2(of)3 E(fset)-.18 E F0(is) +3 E(supplied as an ar)144 472.8 Q(gument to)-.18 E F1<ad64>2.5 E F0 2.5 +(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15 +E(gument to)-.18 E F1<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108 +489.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5 +E F1(jobs \255x)108 501.6 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs) +-.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 513.6 Q .3 +-.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 525.6 Q F0 (List process IDs in addition to the normal information.)27.52 E F1 -<ad70>144 590.4 Q F0(List only the process ID of the job')24.74 E 2.5 -(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F1<ad6e>144 602.4 Q F0 -.193(Display information only about jobs that ha)24.74 F .494 -.15(ve c) --.2 H .194(hanged status since the user w).15 F .194(as last noti-)-.1 F -(\214ed of their status.)180 614.4 Q F1<ad72>144 626.4 Q F0 -(Restrict output to running jobs.)25.86 E F1<ad73>144 638.4 Q F0 -(Restrict output to stopped jobs.)26.41 E(If)144 655.2 Q F2(jobspec) -4.554 E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314 -(n, output is restricted to information about that job).15 F 5.313(.T) --.4 G .313(he return status is 0 unless)-5.313 F(an in)144 667.2 Q -.25 +<ad70>144 537.6 Q F0(List only the process ID of the job')24.74 E 2.5 +(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F1<ad6e>144 549.6 Q F0 +.194(Display information only about jobs that ha)24.74 F .494 -.15(ve c) +-.2 H .193(hanged status since the user w).15 F .193(as last noti-)-.1 F +(\214ed of their status.)180 561.6 Q F1<ad72>144 573.6 Q F0 +(Restrict output to running jobs.)25.86 E F1<ad73>144 585.6 Q F0 +(Restrict output to stopped jobs.)26.41 E(If)144 602.4 Q F2(jobspec) +4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313 +(n, output is restricted to information about that job).15 F 5.314(.T) +-.4 G .314(he return status is 0 unless)-5.314 F(an in)144 614.4 Q -.25 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 -E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 684 R F1 -<ad78>2.894 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0 +E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 631.2 R F1 +<ad78>2.895 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0 .394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in) -3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395 -(with the corre-)3.164 F(sponding process group ID, and e)144 696 Q -.15 -(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar)2.5 E -(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(57)185.955 E 0 Cg EP +3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394 +(with the corre-)3.164 F(sponding process group ID, and e)144 643.2 Q +-.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar) +2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E +F1(kill)108 660 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1 +<ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5 +(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1 +(kill \255l)108 672 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G +(it_status).2 E F0(])A .119(Send the signal named by)144 684 R F2 +(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119 +(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2 +(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319 +(either a case-insensiti)144 696 R .619 -.15(ve s)-.25 H .319 +(ignal name such as).15 F F3(SIGKILL)2.819 E F0 .318 +(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318 +(pre\214x\) or a signal)2.568 F(number;)144 708 Q F2(signum)4.188 E F0 +1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec) +4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0 +1.349(is assumed.)3.599 F(An)6.349 E(ar)144 720 Q .523(gument of)-.18 F +F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523 +F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F +F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names) +.15 F(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(57)185.955 E 0 Cg +EP %%Page: 58 58 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(kill)108 84 Q F0([)2.5 E F1<ad73>A/F2 10 -/Times-Italic@0 SF(sigspec)2.5 E F0(|)2.5 E F1<ad6e>2.5 E F2(signum)2.5 -E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5(][)C F2(pid)-2.5 E F0(|)2.5 -E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1(kill \255l)108 96 Q F0([)2.5 -E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G(it_status).2 E F0(])A .12 -(Send the signal named by)144 108 R F2(sigspec)2.96 E F0(or)2.93 E F2 -(signum)2.96 E F0 .119(to the processes named by)2.939 F F2(pid)3.869 E -F0(or)3.389 E F2(jobspec)2.619 E F0(.).31 E F2(sigspec)5.459 E F0(is) -2.929 E .318(either a case-insensiti)144 120 R .618 -.15(ve s)-.25 H -.318(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0 -.319(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319 -(pre\214x\) or a signal)2.569 F(number;)144 132 Q F2(signum)4.189 E F0 -1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec) -4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0 -1.348(is assumed.)3.599 F(An)6.348 E(ar)144 144 Q .522(gument of)-.18 F -F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523 -F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F -F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names) -.15 F .28(of the signals corresponding to the ar)144 156 R .28 -(guments are listed, and the return status is 0.)-.18 F(The)5.28 E F2 --.2(ex)2.78 G(it_status).2 E F0(ar)144 168 Q .377(gument to)-.18 F F1 -<ad6c>2.877 E F0 .378 -(is a number specifying either a signal number or the e)2.877 F .378 -(xit status of a process termi-)-.15 F .594(nated by a signal.)144 180 R -F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F -.593(as successfully sent, or f)-.1 F .593(alse if an error)-.1 F -(occurs or an in)144 192 Q -.25(va)-.4 G(lid option is encountered.).25 -E F1(let)108 208.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0 -(...])2.5 E(Each)144 220.8 Q F2(ar)3.964 E(g)-.37 E F0 1.134 -(is an arithmetic e)3.854 F 1.134(xpression to be e)-.15 F -.25(va)-.25 -G 1.135(luated \(see).25 F F3 1.135(ARITHMETIC EV)3.635 F(ALU)-1.215 E --.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(\).)A F0 1.135(If the) -5.635 F(last)144 232.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G -(luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.) -2.5 E F1(local)108 249.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name) --2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 261.6 S -2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06 -(ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned) -2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0 -.06(can be)2.56 F(an)144 273.6 Q 3.152(yo)-.15 G 3.152(ft)-3.152 G .652 -(he options accepted by)-3.152 F F1(declar)3.152 E(e)-.18 E F0 5.652(.W) -C(hen)-5.652 E F1(local)3.152 E F0 .653 +-.35 E .28(of the signals corresponding to the ar)144 84 R .28 +(guments are listed, and the return status is 0.)-.18 F(The)5.28 E/F1 10 +/Times-Italic@0 SF -.2(ex)2.78 G(it_status).2 E F0(ar)144 96 Q .378 +(gument to)-.18 F/F2 10/Times-Bold@0 SF<ad6c>2.878 E F0 .378 +(is a number specifying either a signal number or the e)2.878 F .377 +(xit status of a process termi-)-.15 F .593(nated by a signal.)144 108 R +F2(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F +.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F +(occurs or an in)144 120 Q -.25(va)-.4 G(lid option is encountered.).25 +E F2(let)108 136.8 Q F1(ar)2.5 E(g)-.37 E F0([)2.5 E F1(ar)A(g)-.37 E F0 +(...])2.5 E(Each)144 148.8 Q F1(ar)3.027 E(g)-.37 E F0 .197 +(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G +.196(luated \(see).25 F/F3 9/Times-Bold@0 SF .196(ARITHMETIC EV)2.696 F +(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G +2.696(\). If).15 F(the last)144 160.8 Q F1(ar)2.83 E(g)-.37 E F0 -.25 +(eva)2.72 G(luates to 0,).25 E F2(let)2.5 E F0 +(returns 1; 0 is returned otherwise.)2.5 E F2(local)108 177.6 Q F0([)2.5 +E F1(option)A F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C +(..])-2.5 E -.15(Fo)144 189.6 S 2.56(re).15 G .06(ach ar)-2.56 F .06 +(gument, a local v)-.18 F .06(ariable named)-.25 F F1(name)2.92 E F0 .06 +(is created, and assigned)2.74 F F1(value)2.56 E F0 5.06(.T).18 G(he) +-5.06 E F1(option)2.56 E F0 .06(can be)2.56 F(an)144 201.6 Q 3.153(yo) +-.15 G 3.153(ft)-3.153 G .653(he options accepted by)-3.153 F F2(declar) +3.153 E(e)-.18 E F0 5.652(.W)C(hen)-5.652 E F2(local)3.152 E F0 .652 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144 -285.6 Q F2(name)3.721 E F0 .861(to ha)3.541 F 1.161 -.15(ve a v)-.2 H -.861(isible scope restricted to that function and its children.).15 F --.4(Wi)5.86 G .86(th no operands,).4 F F1(local)144 297.6 Q F0 1.164 -(writes a list of local v)3.664 F 1.165 +213.6 Q F1(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861 +(isible scope restricted to that function and its children.).15 F -.4 +(Wi)5.861 G .861(th no operands,).4 F F2(local)144 225.6 Q F0 1.165 +(writes a list of local v)3.665 F 1.165 (ariables to the standard output.)-.25 F 1.165(It is an error to use) -6.165 F F1(local)3.665 E F0 1.165(when not)3.665 F .233 -(within a function.)144 309.6 R .233(The return status is 0 unless)5.233 -F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F --.25(va)-.4 G(lid).25 E F2(name)3.092 E F0(is)2.912 E(supplied, or)144 -321.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1 -(logout)108 338.4 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 355.2 -Q F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2 -(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F1 -<ad74>-2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F1<ad43> --2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-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 367.2 S -(adarray).18 E F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f> --2.5 E F2(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5 -(][)C F1<ad74>-2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C -F1<ad43>-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2 -(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .35 -(Read lines from the standard input into the inde)144 379.2 R -.15(xe) --.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.851 E -(ay)-.15 E F0 2.851(,o).32 G 2.851(rf)-2.851 G .351 -(rom \214le descriptor)-2.851 F F2(fd)2.851 E F0 .925(if the)144 391.2 R -F1<ad75>3.425 E F0 .925(option is supplied.)3.425 F .925(The v)5.925 F -(ariable)-.25 E F1(MAPFILE)3.425 E F0 .925(is the def)3.425 F(ault)-.1 E -F2(arr)3.424 E(ay)-.15 E F0 5.924(.O)C .924(ptions, if supplied,)-5.924 -F(ha)144 403.2 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E -F1<ad6e>144 415.2 Q F0(Cop)24.74 E 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 F1<ad4f>144 427.2 Q F0(Be)22.52 E -(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.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi) --.15 G 2.5(s0)-2.5 G(.)-2.5 E F1<ad73>144 439.2 Q F0 -(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1 -<ad74>144 451.2 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H -(railing line from each line read.).15 E F1<ad75>144 463.2 Q F0 -(Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0 -(instead of the standard input.)2.5 E F1<ad43>144 475.2 Q F0(Ev)23.08 E -(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2(quantum) -2.5 E F0(lines are read.)2.5 E(The)5 E F1<ad63>2.5 E F0 -(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 487.2 -Q F0(Specify the number of lines read between each call to)25.86 E F2 -(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 504 Q F1<ad43>2.967 E F0 .467 -(is speci\214ed without)2.967 F F1<ad63>2.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 +6.165 F F2(local)3.664 E F0 1.164(when not)3.664 F .232 +(within a function.)144 237.6 R .233(The return status is 0 unless)5.232 +F F2(local)2.733 E F0 .233(is used outside a function, an in)2.733 F +-.25(va)-.4 G(lid).25 E F1(name)3.093 E F0(is)2.913 E(supplied, or)144 +249.6 Q F1(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F2 +(logout)108 266.4 Q F0(Exit a login shell.)9.33 E F2(map\214le)108 283.2 +Q F0([)2.5 E F2<ad6e>A F1(count)2.5 E F0 2.5(][)C F2<ad4f>-2.5 E F1 +(origin)2.5 E F0 2.5(][)C F2<ad73>-2.5 E F1(count)2.5 E F0 2.5(][)C F2 +<ad74>-2.5 E F0 2.5(][)C F2<ad75>-2.5 E F1(fd)2.5 E F0 2.5(][)C F2<ad43> +-2.5 E F1(callbac)2.5 E(k)-.2 E F0 2.5(][)C F2<ad63>-2.5 E F1(quantum) +2.5 E F0 2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0(])A F2 -.18(re)108 295.2 S +(adarray).18 E F0([)2.5 E F2<ad6e>A F1(count)2.5 E F0 2.5(][)C F2<ad4f> +-2.5 E F1(origin)2.5 E F0 2.5(][)C F2<ad73>-2.5 E F1(count)2.5 E F0 2.5 +(][)C F2<ad74>-2.5 E F0 2.5(][)C F2<ad75>-2.5 E F1(fd)2.5 E F0 2.5(][)C +F2<ad43>-2.5 E F1(callbac)2.5 E(k)-.2 E F0 2.5(][)C F2<ad63>-2.5 E F1 +(quantum)2.5 E F0 2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0(])A .351 +(Read lines from the standard input into the inde)144 307.2 R -.15(xe) +-.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F1(arr)2.85 E +(ay)-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor) +-2.85 F F1(fd)2.85 E F0 1.248(if the)144 319.2 R F2<ad75>3.748 E F0 +1.248(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E F3 +(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E F1(arr)3.749 E +(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249 F(ha)144 +331.2 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad6e> +144 343.2 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E F1 +(count)2.7 E F0 2.5(lines. If)3.18 F F1(count)2.5 E F0 +(is 0, all lines are copied.)2.5 E F2<ad4f>144 355.2 Q F0(Be)22.52 E +(gin assigning to)-.15 E F1(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x) +-.15 E F1(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi) +-.15 G 2.5(s0)-2.5 G(.)-2.5 E F2<ad73>144 367.2 Q F0 +(Discard the \214rst)26.41 E F1(count)2.5 E F0(lines read.)2.5 E F2 +<ad74>144 379.2 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E +(wline from each line read.)-.25 E F2<ad75>144 391.2 Q F0 +(Read lines from \214le descriptor)24.74 E F1(fd)2.5 E F0 +(instead of the standard input.)2.5 E F2<ad43>144 403.2 Q F0(Ev)23.08 E +(aluate)-.25 E F1(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F1(quantum) +2.5 E F0(lines are read.)2.5 E(The)5 E F2<ad63>2.5 E F0 +(option speci\214es)2.5 E F1(quantum)2.5 E F0(.).32 E F2<ad63>144 415.2 +Q F0(Specify the number of lines read between each call to)25.86 E F1 +(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 432 Q F2<ad43>2.968 E F0 .467 +(is speci\214ed without)2.967 F F2<ad63>2.967 E F0 2.967(,t)C .467 +(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F1 (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 1.22(plied the inde)144 516 R 3.72(xo)-.15 G +(luated, it is sup-).25 F 1.22(plied the inde)144 444 R 3.72(xo)-.15 G 3.72(ft)-3.72 G 1.22(he ne)-3.72 F 1.22 (xt array element to be assigned as an additional ar)-.15 F(gument.)-.18 -E F2(callbac)6.22 E(k)-.2 E F0(is)3.72 E -.25(eva)144 528 S +E F1(callbac)6.22 E(k)-.2 E F0(is)3.72 E -.25(eva)144 456 S (luated after the line is read b).25 E (ut before the array element is assigned.)-.2 E -(If not supplied with an e)144 544.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 561.6 Q F0 1.905 -(returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905 -(lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr) -4.406 E(ay)-.15 E F0(is)4.406 E(in)144 573.6 Q -.25(va)-.4 G -(lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0 +(If not supplied with an e)144 472.8 Q(xplicit origin,)-.15 E F2 +(map\214le)2.5 E F0(will clear)2.5 E F1(arr)2.5 E(ay)-.15 E F0 +(before assigning to it.)2.5 E F2(map\214le)144 489.6 Q F0 1.906 +(returns successfully unless an in)4.406 F -.25(va)-.4 G 1.905 +(lid option or option ar).25 F 1.905(gument is supplied,)-.18 F F1(arr) +4.405 E(ay)-.15 E F0(is)4.405 E(in)144 501.6 Q -.25(va)-.4 G +(lid or unassignable, or if).25 E F1(arr)2.5 E(ay)-.15 E F0 (is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E -F1(popd)108 590.4 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 -2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144 602.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 -614.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 626.4 Q F1<ad6e>144 638.4 Q F0 .551 +F2(popd)108 518.4 Q F0<5bad>2.5 E F2(n)A F0 2.5(][)C(+)-2.5 E F1(n)A F0 +2.5(][)C<ad>-2.5 E F1(n)A F0(])A(Remo)144 530.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 +542.4 R F2(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 554.4 Q F2<ad6e>144 566.4 Q F0 .551 (Suppresses the normal change of directory when remo)24.74 F .551 (ving directories from the stack, so)-.15 F -(that only the stack is manipulated.)180 650.4 Q F1(+)144 662.4 Q F2(n)A -F0(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 +(that only the stack is manipulated.)180 578.4 Q F2(+)144 590.4 Q F1(n)A +F0(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F1(n)2.64 E F0 .14(th entry counting from the left of the list sho)B .14(wn by)-.25 F -F1(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 -674.4 S 2.5(re).15 G(xample:)-2.65 E/F5 10/Courier@0 SF(popd +0)2.5 E F0 +F2(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 +602.4 S 2.5(re).15 G(xample:)-2.65 E/F4 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 F5(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 686.4 Q F2(n)A F0 -(Remo)25.3 E -.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 698.4 R(or e)-.15 E(xample:)-.15 E F5(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 F5(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 -715.2 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 2.29(returns f)144 727.2 R 2.29 -(alse if an in)-.1 F -.25(va)-.4 G 2.289 -(lid option is encountered, the directory stack is empty).25 F 4.789 -(,an)-.65 G(on-e)-4.789 E(xistent)-.15 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(58)185.955 E 0 Cg EP +-.65 E F4(popd +1)2.5 E F0(the second.)2.5 E F2<ad>144 614.4 Q F1(n)A F0 +(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F1(n)3.759 E F0 +1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25 +F F2(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180 +626.4 R(or e)-.15 E(xample:)-.15 E F4(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 F4(popd -1)2.5 +E F0(the ne)2.5 E(xt to last.)-.15 E .644(If the)144 643.2 R F2(popd) +3.144 E F0 .644(command is successful, a)3.144 F F2(dirs)3.143 E F0 .643 +(is performed as well, and the return status is 0.)3.143 F F2(popd)5.643 +E F0 .415(returns f)144 655.2 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 +(tory stack entry is speci\214ed, or the directory change f)144 667.2 Q +(ails.)-.1 E F2(printf)108 684 Q F0([)2.5 E F2<ad76>A F1(var)2.5 E F0(]) +A F1(format)2.5 E F0([)2.5 E F1(ar)A(guments)-.37 E F0(])A .372 +(Write the formatted)144 696 R F1(ar)2.872 E(guments)-.37 E F0 .372 +(to the standard output under the control of the)2.872 F F1(format)2.872 +E F0 5.372(.T)C(he)-5.372 E F1(format)2.872 E F0 1.804(is a character s\ +tring which contains three types of objects: plain characters, which ar\ +e simply)144 708 R 1.859 +(copied to standard output, character escape sequences, which are con) +144 720 R -.15(ve)-.4 G 1.858(rted and copied to the).15 F(GNU Bash-4.1) +72 768 Q(2009 December 29)135.965 E(58)185.955 E 0 Cg EP %%Page: 59 59 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(directory stack entry is speci\214ed, or the directory change f) -144 84 Q(ails.)-.1 E/F1 10/Times-Bold@0 SF(printf)108 100.8 Q F0([)2.5 E -F1<ad76>A/F2 10/Times-Italic@0 SF(var)2.5 E F0(])A F2(format)2.5 E F0([) -2.5 E F2(ar)A(guments)-.37 E F0(])A .372(Write the formatted)144 112.8 R -F2(ar)2.872 E(guments)-.37 E F0 .372 -(to the standard output under the control of the)2.872 F F2(format)2.872 -E F0 5.372(.T)C(he)-5.372 E F2(format)2.872 E F0 1.804(is a character s\ -tring which contains three types of objects: plain characters, which ar\ -e simply)144 124.8 R .158 -(copied to standard output, character escape sequences, which are con) -144 136.8 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(\ -dard output, and format speci\214cations, each of which causes printing\ - of the ne)144 148.8 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar) -3.149 E(gu-)-.37 E(ment)144 160.8 Q F0 5.423(.I)C 2.923(na)-5.423 G .423 -(ddition to the standard)-2.923 F F2(printf)2.923 E F0 .424 -(\(1\) formats,)B F1(%b)2.924 E F0(causes)2.924 E F1(printf)2.924 E F0 -.424(to e)2.924 F .424(xpand backslash escape)-.15 F .977 -(sequences in the corresponding)144 172.8 R F2(ar)3.476 E(gument)-.37 E -F0(\(e)3.476 E .976(xcept that)-.15 F F1(\\c)3.476 E F0 .976 -(terminates output, backslashes in)3.476 F F1<5c08>3.476 E F0(,)A F1 -(\\")3.476 E F0(,)A(and)144 184.8 Q F1(\\?)3.421 E F0 .921(are not remo) -3.421 F -.15(ve)-.15 G .922(d, and octal escapes be).15 F .922 -(ginning with)-.15 F F1(\\0)3.422 E F0 .922 -(may contain up to four digits\), and)3.422 F F1(%q)144 196.8 Q F0 -(causes)3.631 E F1(printf)3.631 E F0 1.131(to output the corresponding) -3.631 F F2(ar)3.631 E(gument)-.37 E F0 1.13 -(in a format that can be reused as shell)3.631 F(input.)144 208.8 Q(The) -144 232.8 Q F1<ad76>2.903 E F0 .404 -(option causes the output to be assigned to the v)2.903 F(ariable)-.25 E -F2(var)2.904 E F0 .404(rather than being printed to the)2.904 F -(standard output.)144 244.8 Q(The)144 268.8 Q F2(format)3.424 E F0 .923 -(is reused as necessary to consume all of the)3.424 F F2(ar)3.423 E -(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format) -3.423 E F0 .923(requires more)3.423 F F2(ar)144 280.8 Q(guments)-.37 E -F0 .033(than are supplied, the e)2.533 F .033 +-.35 E 1.171(standard output, and format speci\214cations, each of whic\ +h causes printing of the ne)144 84 R 1.172(xt successi)-.15 F -.15(ve) +-.25 G/F1 10/Times-Italic@0 SF(ar)144 96 Q(gument)-.37 E F0 6.274(.I)C +3.774(na)-6.274 G 1.274(ddition to the standard)-3.774 F F1(printf)3.774 +E F0 1.274(\(1\) formats,)B/F2 10/Times-Bold@0 SF(%b)3.774 E F0(causes) +3.774 E F2(printf)3.774 E F0 1.273(to e)3.774 F 1.273(xpand backslash) +-.15 F .619(escape sequences in the corresponding)144 108 R F1(ar)3.119 +E(gument)-.37 E F0(\(e)3.119 E .619(xcept that)-.15 F F2(\\c)3.119 E F0 +.62(terminates output, backslashes in)3.119 F F2<5c08>144 120 Q F0(,)A +F2(\\")2.985 E F0 2.985(,a)C(nd)-2.985 E F2(\\?)2.985 E F0 .485 +(are not remo)2.985 F -.15(ve)-.15 G .485(d, and octal escapes be).15 F +.484(ginning with)-.15 F F2(\\0)2.984 E F0 .484 +(may contain up to four digits\),)2.984 F(and)144 132 Q F2(%q)2.567 E F0 +(causes)2.567 E F2(printf)2.567 E F0 .067(to output the corresponding) +2.567 F F1(ar)2.568 E(gument)-.37 E F0 .068 +(in a format that can be reused as shell)2.568 F(input.)144 144 Q(The) +144 168 Q F2<ad76>2.904 E F0 .404 +(option causes the output to be assigned to the v)2.904 F(ariable)-.25 E +F1(var)2.904 E F0 .404(rather than being printed to the)2.904 F +(standard output.)144 180 Q(The)144 204 Q F1(format)3.423 E F0 .923 +(is reused as necessary to consume all of the)3.423 F F1(ar)3.423 E +(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F1(format) +3.423 E F0 .924(requires more)3.424 F F1(ar)144 216 Q(guments)-.37 E F0 +.033(than are supplied, the e)2.534 F .033 (xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si) -.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,) --.25 F(as appropriate, had been supplied.)144 292.8 Q(The return v)5 E -(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd) -108 309.6 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C -<ad>-2.5 E F2(n)A F0(])A F1(pushd)108 321.6 Q F0([)2.5 E F1<ad6e>A F0 -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 333.6 R 3.139(wt) --.25 G .639(op of the)-3.139 F 1.315(stack the current w)144 345.6 R -1.315(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F -1.315(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G -1.316(irectories and)-3.816 F .872 -(returns 0, unless the directory stack is empty)144 357.6 R 5.871(.A) --.65 G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15 -(ve t)-.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 369.6 Q -F1<ad6e>144 381.6 Q F0 .902(Suppresses the normal change of directory w\ +.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,) +-.25 F(as appropriate, had been supplied.)144 228 Q(The return v)5 E +(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F2(pushd) +108 244.8 Q F0([)2.5 E F2<ad6e>A F0 2.5(][)C(+)-2.5 E F1(n)A F0 2.5(][)C +<ad>-2.5 E F1(n)A F0(])A F2(pushd)108 256.8 Q F0([)2.5 E F2<ad6e>A F0 +2.5(][)C F1(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 268.8 R 3.14(wt) +-.25 G .64(op of the)-3.14 F 1.316(stack the current w)144 280.8 R 1.316 +(orking directory)-.1 F 6.316(.W)-.65 G 1.315(ith no ar)-6.716 F 1.315 +(guments, e)-.18 F 1.315(xchanges the top tw)-.15 F 3.815(od)-.1 G 1.315 +(irectories and)-3.815 F .871 +(returns 0, unless the directory stack is empty)144 292.8 R 5.871(.A) +-.65 G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172 -.15 +(ve t)-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144 304.8 Q +F2<ad6e>144 316.8 Q F0 .902(Suppresses the normal change of directory w\ hen adding directories to the stack, so that)24.74 F -(only the stack is manipulated.)180 393.6 Q F1(+)144 405.6 Q F2(n)A F0 -1.268(Rotates the stack so that the)25.3 F 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 417.6 Q F0 2.5(,s)C -(tarting with zero\) is at the top.)-2.5 E F1<ad>144 429.6 Q F2(n)A F0 -.92(Rotates the stack so that the)25.3 F F2(n)3.42 E F0 .92 +(only the stack is manipulated.)180 328.8 Q F2(+)144 340.8 Q F1(n)A F0 +1.267(Rotates the stack so that the)25.3 F F1(n)3.767 E F0 1.268 +(th directory \(counting from the left of the list sho)B 1.268(wn by) +-.25 F F2(dirs)180 352.8 Q F0 2.5(,s)C +(tarting with zero\) is at the top.)-2.5 E F2<ad>144 364.8 Q F1(n)A F0 +.92(Rotates the stack so that the)25.3 F F1(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 441.6 Q F0 2.5(,s)C(tarting with zero\) is at the top.) --2.5 E F2(dir)144.35 453.6 Q F0(Adds)23.98 E F2(dir)2.85 E F0 +F F2(dirs)180 376.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.) +-2.5 E F1(dir)144.35 388.8 Q F0(Adds)23.98 E F1(dir)2.85 E F0 (to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25 -G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 470.4 -R F1(pushd)2.989 E F0 .489(command is successful, a)2.989 F F1(dirs) -2.988 E F0 .488(is performed as well.)2.988 F .488 -(If the \214rst form is used,)5.488 F F1(pushd)2.988 E F0 1.039 -(returns 0 unless the cd to)144 482.4 R F2(dir)3.889 E F0 -.1(fa)4.269 G -3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.54 E F0 -1.04(returns 0 unless the directory)3.54 F .847(stack is empty)144 494.4 -R 3.347(,an)-.65 G(on-e)-3.347 E .847(xistent directory stack element i\ -s speci\214ed, or the directory change to the)-.15 F(speci\214ed ne)144 -506.4 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108 -523.2 Q F0([)2.5 E F1(\255LP)A F0(])A .844 -(Print the absolute pathname of the current w)144 535.2 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 -547.2 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1 -.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1 -(set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263 -(enabled. If)144 559.2 R(the)3.263 E F1<ad4c>3.263 E F0 .763 -(option is used, the pathname printed may contain symbolic links.)3.263 -F .764(The return)5.764 F 1.36(status is 0 unless an error occurs while\ - reading the name of the current directory or an in)144 571.2 R -.25(va) --.4 G(lid).25 E(option is supplied.)144 583.2 Q F1 -.18(re)108 600 S(ad) -.18 E F0([)3.816 E F1(\255ers)A F0 3.816(][)C F1<ad61>-3.816 E F2(aname) -3.816 E F0 3.816(][)C F1<ad64>-3.816 E F2(delim)3.816 E F0 3.816(][)C F1 -<ad69>-3.816 E F2(te)3.816 E(xt)-.2 E F0 3.816(][)C F1<ad6e>-3.816 E F2 -(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.817(][)C F1<ad4e>-3.817 E F2(nc) -3.817 E(har)-.15 E(s)-.1 E F0 3.817(][)C F1<ad70>-3.817 E F2(pr)3.817 E -(ompt)-.45 E F0 3.817(][)C F1<ad74>-3.817 E F2(timeout)3.817 E F0 3.817 -(][)C F1<ad75>-3.817 E F2(fd)3.817 E F0(])A([)108 612 Q F2(name)A F0 -(...])2.5 E .516(One line is read from the standard input, or from the \ -\214le descriptor)144 624 R F2(fd)3.016 E F0 .516(supplied as an ar) -3.016 F .517(gument to)-.18 F(the)144 636 Q F1<ad75>2.539 E F0 .039 -(option, and the \214rst w)2.539 F .038(ord is assigned to the \214rst) --.1 F F2(name)2.538 E F0 2.538(,t).18 G .038(he second w)-2.538 F .038 -(ord to the second)-.1 F F2(name)2.538 E F0(,).18 E .42 -(and so on, with lefto)144 648 R -.15(ve)-.15 G 2.92(rw).15 G .42 +G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 405.6 +R F2(pushd)2.988 E F0 .488(command is successful, a)2.988 F F2(dirs) +2.988 E F0 .488(is performed as well.)2.988 F .489 +(If the \214rst form is used,)5.488 F F2(pushd)2.989 E F0 1.04 +(returns 0 unless the cd to)144 417.6 R F1(dir)3.89 E F0 -.1(fa)4.27 G +3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F2(pushd)3.539 E F0 +1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144 +429.6 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack ele\ +ment is speci\214ed, or the directory change to the)-.15 F +(speci\214ed ne)144 441.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E +(ails.)-.1 E F2(pwd)108 458.4 Q F0([)2.5 E F2(\255LP)A F0(])A .845 +(Print the absolute pathname of the current w)144 470.4 R .845 +(orking directory)-.1 F 5.844(.T)-.65 G .844 +(he pathname printed contains no)-5.844 F .181(symbolic links if the)144 +482.4 R F2<ad50>2.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 .182(iltin command is).2 F 3.264 +(enabled. If)144 494.4 R(the)3.264 E F2<ad4c>3.264 E F0 .763 +(option is used, the pathname printed may contain symbolic links.)3.264 +F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\ + reading the name of the current directory or an in)144 506.4 R -.25(va) +-.4 G(lid).25 E(option is supplied.)144 518.4 Q F2 -.18(re)108 535.2 S +(ad).18 E F0([)3.817 E F2(\255ers)A F0 3.817(][)C F2<ad61>-3.817 E F1 +(aname)3.817 E F0 3.817(][)C F2<ad64>-3.817 E F1(delim)3.817 E F0 3.817 +(][)C F2<ad69>-3.817 E F1(te)3.817 E(xt)-.2 E F0 3.817(][)C F2<ad6e> +-3.817 E F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2<ad4e>-3.816 E +F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2<ad70>-3.816 E F1(pr) +3.816 E(ompt)-.45 E F0 3.816(][)C F2<ad74>-3.816 E F1(timeout)3.816 E F0 +3.816(][)C F2<ad75>-3.816 E F1(fd)3.816 E F0(])A([)108 547.2 Q F1(name)A +F0(...])2.5 E .516(One line is read from the standard input, or from th\ +e \214le descriptor)144 559.2 R F1(fd)3.016 E F0 .516(supplied as an ar) +3.016 F .516(gument to)-.18 F(the)144 571.2 Q F2<ad75>2.538 E F0 .038 +(option, and the \214rst w)2.538 F .038(ord is assigned to the \214rst) +-.1 F F1(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039 +(ord to the second)-.1 F F1(name)2.539 E F0(,).18 E .42 +(and so on, with lefto)144 583.2 R -.15(ve)-.15 G 2.92(rw).15 G .42 (ords and their interv)-3.02 F .42 -(ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I) -.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 660 R .541(wer w)-.25 +(ening separators assigned to the last)-.15 F F1(name)2.92 E F0 5.42(.I) +.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 595.2 R .54(wer w)-.25 F .541(ords read from the input stream than names, the remaining names \ -are assigned empty)-.1 F -.25(va)144 672 S 2.51(lues. The).25 F .011 +are assigned empty)-.1 F -.25(va)144 607.2 S 2.511(lues. The).25 F .011 (characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011 (are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011 -(backslash character \()2.511 F F1(\\)A F0 2.511(\)m)C(ay)-2.511 E 1.891 -(be used to remo)144 684 R 2.191 -.15(ve a)-.15 H 2.191 -.15(ny s).15 H -1.891(pecial meaning for the ne).15 F 1.89 +(backslash character \()2.511 F F2(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89 +(be used to remo)144 619.2 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H +1.891(pecial meaning for the ne).15 F 1.891 (xt character read and for line continuation.)-.15 F -(Options, if supplied, ha)144 696 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E -(59)185.955 E 0 Cg EP +(Options, if supplied, ha)144 631.2 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F2<ad61>144 643.2 Q F1(aname)2.5 E F0 1.05(The w) +180 655.2 R 1.049 +(ords are assigned to sequential indices of the array v)-.1 F(ariable) +-.25 E F1(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F +F1(aname)180.33 667.2 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 +-.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F1(name)2.5 E F0 +(ar)2.5 E(guments are ignored.)-.18 E F2<ad64>144 679.2 Q F1(delim)2.5 E +F0(The \214rst character of)180 691.2 Q F1(delim)2.5 E F0 +(is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E +F2<ad65>144 703.2 Q F0 .372 +(If the standard input is coming from a terminal,)25.86 F F2 -.18(re) +2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E +-.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E .218 +(to obtain the line.)180 715.2 R .218 +(Readline uses the current \(or def)5.218 F .218 +(ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E +(acti)180 727.2 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(59)185.955 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF<ad61>144 84 Q/F2 10/Times-Italic@0 SF -(aname)2.5 E F0 1.049(The w)180 96 R 1.049 -(ords are assigned to sequential indices of the array v)-.1 F(ariable) --.25 E F2(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F2 -(aname)180.33 108 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25 -(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0(ar)2.5 -E(guments are ignored.)-.18 E F1<ad64>144 120 Q F2(delim)2.5 E F0 -(The \214rst character of)180 132 Q F2(delim)2.5 E F0 -(is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E -F1<ad65>144 144 Q F0 .373 -(If the standard input is coming from a terminal,)25.86 F F1 -.18(re) -2.873 G(adline).18 E F0(\(see)2.873 E/F3 9/Times-Bold@0 SF(READLINE) -2.872 E F0(abo)2.622 E -.15(ve)-.15 G 2.872(\)i).15 G 2.872(su)-2.872 G -(sed)-2.872 E .218(to obtain the line.)180 156 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 168 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E F1 -<ad69>144 180 Q F2(te)2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.716 G -(adline).18 E F0 .216(is being used to read the line,)2.716 F F2(te) -2.716 E(xt)-.2 E F0 .216(is placed into the editing b)2.716 F(uf)-.2 E -.215(fer before edit-)-.25 F(ing be)180 192 Q(gins.)-.15 E F1<ad6e>144 -204 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 216 S(ad).18 E F0 -1.394(returns after reading)3.894 F F2(nc)3.894 E(har)-.15 E(s)-.1 E F0 -1.395(characters rather than w)3.894 F 1.395 -(aiting for a complete line of)-.1 F(input, b)180 228 Q -(ut honor a delimiter if fe)-.2 E(wer than)-.25 E F2(nc)2.5 E(har)-.15 E -(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F1 -<ad4e>144 240 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 252 S(ad) -.18 E F0 1.269(returns after reading e)3.77 F(xactly)-.15 E F2(nc)3.769 -E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F 1.269 -(aiting for a complete)-.1 F .274 -(line of input, unless EOF is encountered or)180 264 R F1 -.18(re)2.775 -G(ad).18 E F0 .275(times out.)2.775 F .275(Delimiter characters encoun-) -5.275 F 1.003 -(tered in the input are not treated specially and do not cause)180 276 R -F1 -.18(re)3.502 G(ad).18 E F0 1.002(to return until)3.502 F F2(nc)3.502 -E(har)-.15 E(s)-.1 E F0(characters are read.)180 288 Q F1<ad70>144 300 Q -F2(pr)2.5 E(ompt)-.45 E F0(Display)180 312 Q F2(pr)3.66 E(ompt)-.45 E F0 -1.161(on standard error)3.66 F 3.661(,w)-.4 G 1.161 +-.35 E/F1 10/Times-Bold@0 SF<ad69>144 84 Q/F2 10/Times-Italic@0 SF(te) +2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.715 G(adline).18 E F0 .216 +(is being used to read the line,)2.715 F F2(te)2.716 E(xt)-.2 E F0 .216 +(is placed into the editing b)2.716 F(uf)-.2 E .216(fer before edit-) +-.25 F(ing be)180 96 Q(gins.)-.15 E F1<ad6e>144 108 Q F2(nc)2.5 E(har) +-.15 E(s)-.1 E F1 -.18(re)180 120 S(ad).18 E F0 1.395 +(returns after reading)3.895 F F2(nc)3.895 E(har)-.15 E(s)-.1 E F0 1.395 +(characters rather than w)3.895 F 1.394(aiting for a complete line of) +-.1 F(input, b)180 132 Q(ut honor a delimiter if fe)-.2 E(wer than)-.25 +E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0 +(characters are read before the delimiter)2.5 E(.)-.55 E F1<ad4e>144 144 +Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 156 S(ad).18 E F0 1.269 +(returns after reading e)3.769 F(xactly)-.15 E F2(nc)3.769 E(har)-.15 E +(s)-.1 E F0 1.269(characters rather than w)3.769 F 1.27 +(aiting for a complete)-.1 F .275 +(line of input, unless EOF is encountered or)180 168 R F1 -.18(re)2.775 +G(ad).18 E F0 .274(times out.)2.774 F .274(Delimiter characters encoun-) +5.274 F 1.002 +(tered in the input are not treated specially and do not cause)180 180 R +F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)3.503 +E(har)-.15 E(s)-.1 E F0(characters are read.)180 192 Q F1<ad70>144 204 Q +F2(pr)2.5 E(ompt)-.45 E F0(Display)180 216 Q F2(pr)3.661 E(ompt)-.45 E +F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161 (ithout a trailing ne)-3.661 F 1.161(wline, before attempting to read) --.25 F(an)180 324 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F +-.25 F(an)180 228 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F (prompt is displayed only if input is coming from a terminal.)2.5 E F1 -<ad72>144 336 Q F0 .544(Backslash does not act as an escape character) -25.86 F 5.543(.T)-.55 G .543(he backslash is considered to be part of) --5.543 F(the line.)180 348 Q(In particular)5 E 2.5(,ab)-.4 G +<ad72>144 240 Q F0 .543(Backslash does not act as an escape character) +25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of) +-5.543 F(the line.)180 252 Q(In particular)5 E 2.5(,ab)-.4 G (ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.) --.25 E F1<ad73>144 360 Q F0(Silent mode.)26.41 E +-.25 E F1<ad73>144 264 Q F0(Silent mode.)26.41 E (If input is coming from a terminal, characters are not echoed.)5 E F1 -<ad74>144 372 Q F2(timeout)2.5 E F0(Cause)180 384 Q F1 -.18(re)3.548 G -(ad).18 E F0 1.048(to time out and return f)3.548 F 1.048 +<ad74>144 276 Q F2(timeout)2.5 E F0(Cause)180 288 Q F1 -.18(re)3.549 G +(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048 (ailure if a complete line of input is not read within)-.1 F F2(timeout) -180 396 Q F0(seconds.)3.497 E F2(timeout)5.997 E F0 .997 -(may be a decimal number with a fractional portion follo)3.497 F(wing) --.25 E .576(the decimal point.)180 408 R .576(This option is only ef) +180 300 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997 +(may be a decimal number with a fractional portion follo)3.496 F(wing) +-.25 E .576(the decimal point.)180 312 R .576(This option is only ef) 5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G -(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .142 -(pipe, or other special \214le; it has no ef)180 420 R .142 -(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.141 E -F2(timeout)2.641 E F0 .141(is 0,)2.641 F F1 -.18(re)180 432 S(ad).18 E -F0 .113(returns success if input is a)2.613 F -.25(va)-.2 G .113 -(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .114 -(ailure otherwise.)-2.713 F(The e)180 444 Q +(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .141 +(pipe, or other special \214le; it has no ef)180 324 R .142 +(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.142 E +F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 336 S(ad).18 E +F0 .113(returns success if input is a)2.614 F -.25(va)-.2 G .113 +(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .113 +(ailure otherwise.)-2.713 F(The e)180 348 Q (xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15 -E F1<ad75>144 456 Q F2(fd)2.5 E F0(Read input from \214le descriptor) -14.46 E F2(fd)2.5 E F0(.)A .192(If no)144 472.8 R F2(names)3.052 E F0 -.192(are supplied, the line read is assigned to the v)2.962 F(ariable) --.25 E F3(REPL)2.691 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F0 .191 -(The return code is zero,)4.691 F 1.343 -(unless end-of-\214le is encountered,)144 484.8 R F1 -.18(re)3.843 G(ad) +E F1<ad75>144 360 Q F2(fd)2.5 E F0(Read input from \214le descriptor) +14.46 E F2(fd)2.5 E F0(.)A .191(If no)144 376.8 R F2(names)3.051 E F0 +.191(are supplied, the line read is assigned to the v)2.961 F(ariable) +-.25 E/F3 9/Times-Bold@0 SF(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF +(.)A F0 .192(The return code is zero,)4.692 F 1.344 +(unless end-of-\214le is encountered,)144 388.8 R F1 -.18(re)3.844 G(ad) .18 E F0 1.343 -(times out \(in which case the return code is greater than)3.843 F -(128\), or an in)144 496.8 Q -.25(va)-.4 G +(times out \(in which case the return code is greater than)3.844 F +(128\), or an in)144 400.8 Q -.25(va)-.4 G (lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F1 -<ad75>2.5 E F0(.)A F1 -.18(re)108 513.6 S(adonly).18 E F0([)2.5 E F1 +<ad75>2.5 E F0(.)A F1 -.18(re)108 417.6 S(adonly).18 E F0([)2.5 E F1 (\255aA)A(pf)-.25 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E -F0 2.5(].)C(..])-2.5 E .77(The gi)144 525.6 R -.15(ve)-.25 G(n).15 E F2 +F0 2.5(].)C(..])-2.5 E .77(The gi)144 429.6 R -.15(ve)-.25 G(n).15 E F2 (names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1 F .77 (alues of these)-.25 F F2(names)3.63 E F0 .77 -(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 537.6 R -1.096(If the)6.096 F F1<ad66>3.596 E F0 1.097 -(option is supplied, the functions corresponding to the)3.596 F F2 -(names)3.597 E F0 1.097(are so)3.597 F(mark)144 549.6 Q 3.334(ed. The) +(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 441.6 R +1.097(If the)6.097 F F1<ad66>3.597 E F0 1.097 +(option is supplied, the functions corresponding to the)3.597 F F2 +(names)3.596 E F0 1.096(are so)3.596 F(mark)144 453.6 Q 3.334(ed. The) -.1 F F1<ad61>3.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 F1<ad41>3.334 E F0 .834(option restricts the v)3.334 F(ari-) --.25 E .537(ables to associati)144 561.6 R .837 -.15(ve a)-.25 H 3.037 +-.25 E .538(ables to associati)144 465.6 R .838 -.15(ve a)-.25 H 3.038 (rrays. If).15 F(no)3.038 E F2(name)3.398 E F0(ar)3.218 E .538 (guments are gi)-.18 F -.15(ve)-.25 G .538(n, or if the).15 F F1<ad70> -3.038 E F0 .538(option is supplied, a list)3.038 F .081 -(of all readonly names is printed.)144 573.6 R(The)5.081 E F1<ad70>2.581 -E F0 .08(option causes output to be displayed in a format that may)2.581 -F 1.176(be reused as input.)144 585.6 R 1.176(If a v)6.176 F 1.176 +3.038 E F0 .537(option is supplied, a list)3.038 F .08 +(of all readonly names is printed.)144 477.6 R(The)5.08 E F1<ad70>2.58 E +F0 .081(option causes output to be displayed in a format that may)2.58 F +1.177(be reused as input.)144 489.6 R 1.177(If a v)6.177 F 1.176 (ariable name is follo)-.25 F 1.176(wed by =)-.25 F F2(wor)A(d)-.37 E F0 -3.676(,t)C 1.176(he v)-3.676 F 1.177(alue of the v)-.25 F 1.177 -(ariable is set to)-.25 F F2(wor)144 597.6 Q(d)-.37 E F0 6.206(.T)C -1.206(he return status is 0 unless an in)-6.206 F -.25(va)-.4 G 1.205 -(lid option is encountered, one of the).25 F F2(names)4.065 E F0 1.205 -(is not a)3.975 F -.25(va)144 609.6 S(lid shell v).25 E +3.676(,t)C 1.176(he v)-3.676 F 1.176(alue of the v)-.25 F 1.176 +(ariable is set to)-.25 F F2(wor)144 501.6 Q(d)-.37 E F0 6.205(.T)C +1.205(he return status is 0 unless an in)-6.205 F -.25(va)-.4 G 1.206 +(lid option is encountered, one of the).25 F F2(names)4.066 E F0 1.206 +(is not a)3.976 F -.25(va)144 513.6 S(lid shell v).25 E (ariable name, or)-.25 E F1<ad66>2.5 E F0(is supplied with a)2.5 E F2 -(name)2.86 E F0(that is not a function.)2.68 E F1 -.18(re)108 626.4 S -(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .586 -(Causes a function to e)144 638.4 R .587(xit with the return v)-.15 F +(name)2.86 E F0(that is not a function.)2.68 E F1 -.18(re)108 530.4 S +(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .587 +(Causes a function to e)144 542.4 R .587(xit with the return v)-.15 F .587(alue speci\214ed by)-.25 F F2(n)3.087 E F0 5.587(.I).24 G(f)-5.587 -E F2(n)3.447 E F0 .587(is omitted, the return status is)3.327 F 1.335 -(that of the last command e)144 650.4 R -.15(xe)-.15 G 1.335 +E F2(n)3.447 E F0 .586(is omitted, the return status is)3.327 F 1.335 +(that of the last command e)144 554.4 R -.15(xe)-.15 G 1.335 (cuted in the function body).15 F 6.335(.I)-.65 G 3.835(fu)-6.335 G 1.335(sed outside a function, b)-3.835 F 1.335(ut during)-.2 F -.15(exe) -144 662.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\() +144 566.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\() 5.794 E F1(sour)A(ce)-.18 E F0 3.294(\)c)C .794 -(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .795 -(cuting that script).15 F .246(and return either)144 674.4 R F2(n)3.106 -E F0 .246(or the e)2.986 F .246(xit status of the last command e)-.15 F --.15(xe)-.15 G .246(cuted within the script as the e).15 F .245 -(xit sta-)-.15 F .081(tus of the script.)144 686.4 R .082 +(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794 +(cuting that script).15 F .245(and return either)144 578.4 R F2(n)3.105 +E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F +-.15(xe)-.15 G .246(cuted within the script as the e).15 F .246 +(xit sta-)-.15 F .082(tus of the script.)144 590.4 R .082 (If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082 -(cution of a script by).15 F F1(.)2.582 E F0 2.582(,t).833 G .082 -(he return sta-)-2.582 F 2.306(tus is f)144 698.4 R 4.806(alse. An)-.1 F -4.806(yc)-.15 G 2.305(ommand associated with the)-4.806 F F1(RETURN) -4.805 E F0 2.305(trap is e)4.805 F -.15(xe)-.15 G 2.305(cuted before e) +(cution of a script by).15 F F1(.)2.582 E F0 2.581(,t).833 G .081 +(he return sta-)-2.581 F 2.305(tus is f)144 602.4 R 4.805(alse. An)-.1 F +4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F1(RETURN) +4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e) .15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.) -144 710.4 Q(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(60)185.955 -E 0 Cg EP +144 614.4 Q F1(set)108 631.2 Q F0([)2.5 E F1 +(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E F2(option)2.5 +E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1(set)108 643.2 Q F0 +([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)-2.5 E F2(option) +2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 655.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 667.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 679.2 R F2 .447(posix mode) +2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447 +(ariables are listed.)-.25 F .447 +(The output is sorted according to the current)5.447 F 3.53 +(locale. When)144 691.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 +1.624(after option processing are treated as v)144 703.2 R 1.623 +(alues for the positional parameters and are assigned, in)-.25 F(order) +144 715.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A +F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3 +-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E(GNU Bash-4.1)72 768 +Q(2009 December 29)135.965 E(60)185.955 E 0 Cg EP %%Page: 61 61 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(set)108 84 Q F0([)2.5 E F1 -(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E/F2 10 -/Times-Italic@0 SF(option)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0 -(...])2.5 E F1(set)108 96 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5 -(][)C F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0 -(...])2.5 E -.4(Wi)144 108 S .835(thout options, the name and v).4 F -.835(alue of each shell v)-.25 F .836 -(ariable are displayed in a format that can be)-.25 F .784 -(reused as input for setting or resetting the currently-set v)144 120 R -3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783(riables cannot be) -.25 F 2.946(reset. In)144 132 R F2 .447(posix mode)2.946 F F0 2.947(,o)C -.447(nly shell v)-2.947 F .447(ariables are listed.)-.25 F .447 -(The output is sorted according to the current)5.447 F 3.531 -(locale. When)144 144 R 1.031(options are speci\214ed, the)3.531 F 3.531 -(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)-.2 F -3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F 1.623 -(after option processing are treated as v)144 156 R 1.624 -(alues for the positional parameters and are assigned, in)-.25 F(order) -144 168 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A F1 -2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3 -.15 -(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 180 Q F0 -.54(Automatically mark v)29.3 F .539 -(ariables and functions which are modi\214ed or created for e)-.25 F -.539(xport to)-.15 F(the en)184 192 Q(vironment of subsequent commands.) --.4 E F1<ad62>144 204 Q F0 .131 +-.35 E/F1 10/Times-Bold@0 SF<ad61>144 84 Q F0 .539(Automatically mark v) +29.3 F .539 +(ariables and functions which are modi\214ed or created for e)-.25 F .54 +(xport to)-.15 F(the en)184 96 Q(vironment of subsequent commands.)-.4 E +F1<ad62>144 108 Q F0 .132 (Report the status of terminated background jobs immediately)28.74 F -2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E -(primary prompt.)184 216 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25 -H(nly when job control is enabled.).15 E F1<ad65>144 228 Q F0 .511 -(Exit immediately if a)29.86 F F2(pipeline)3.011 E F0 .511 -(\(which may consist of a single)3.011 F F2 .51(simple command)3.01 F F0 -3.01(\), a)B F2(sub-)3.01 E(shell)184 240 Q F0 .872 -(command enclosed in parentheses, or one of the commands e)3.372 F -.15 +2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E +(primary prompt.)184 120 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25 +H(nly when job control is enabled.).15 E F1<ad65>144 132 Q F0 .51 +(Exit immediately if a)29.86 F/F2 10/Times-Italic@0 SF(pipeline)3.01 E +F0 .511(\(which may consist of a single)3.011 F F2 .511(simple command) +3.011 F F0 3.011(\), a)B F2(sub-)3.011 E(shell)184 144 Q F0 .872 +(command enclosed in parentheses, or one of the commands e)3.373 F -.15 (xe)-.15 G .872(cuted as part of a).15 F .399 -(command list enclosed by braces \(see)184 252 R/F3 9/Times-Bold@0 SF +(command list enclosed by braces \(see)184 156 R/F3 9/Times-Bold@0 SF .399(SHELL GRAMMAR)2.899 F F0(abo)2.649 E -.15(ve)-.15 G 2.899(\)e).15 G -.399(xits with a non-zero)-3.049 F 3.968(status. The)184 264 R 1.468 -(shell does not e)3.968 F 1.468(xit if the command that f)-.15 F 1.468 -(ails is part of the command list)-.1 F .57(immediately follo)184 276 R -.57(wing a)-.25 F F1(while)3.07 E F0(or)3.07 E F1(until)3.07 E F0 -.1 -(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .569 -(wing the)-.25 F F1(if)3.069 E F0(or)3.069 E F1(elif)3.069 E F0(reserv) -184 288 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G -.544(ommand e)-3.044 F -.15(xe)-.15 G .544(cuted in a).15 F F1(&&)3.044 -E F0(or)3.044 E/F4 10/Symbol SF<efef>3.044 E F0 .544(list e)3.044 F .544 -(xcept the command)-.15 F(follo)184 300 Q 1.231(wing the \214nal)-.25 F -F1(&&)3.731 E F0(or)3.731 E F4<efef>3.731 E F0 3.731(,a)C 1.531 -.15 -(ny c)-3.731 H 1.231(ommand in a pipeline b).15 F 1.23 -(ut the last, or if the com-)-.2 F(mand')184 312 Q 3.19(sr)-.55 G .69 -(eturn v)-3.19 F .69(alue is being in)-.25 F -.15(ve)-.4 G .69 +.399(xits with a non-zero)-3.049 F 3.969(status. The)184 168 R 1.468 +(shell does not e)3.969 F 1.468(xit if the command that f)-.15 F 1.468 +(ails is part of the command list)-.1 F .569(immediately follo)184 180 R +.569(wing a)-.25 F F1(while)3.069 E F0(or)3.069 E F1(until)3.069 E F0 +-.1(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .57 +(wing the)-.25 F F1(if)3.07 E F0(or)3.07 E F1(elif)3.07 E F0(reserv)184 +192 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G .544 +(ommand e)-3.044 F -.15(xe)-.15 G .544(cuted in a).15 F F1(&&)3.044 E F0 +(or)3.044 E/F4 10/Symbol SF<efef>3.044 E F0 .544(list e)3.044 F .544 +(xcept the command)-.15 F(follo)184 204 Q 1.23(wing the \214nal)-.25 F +F1(&&)3.73 E F0(or)3.73 E F4<efef>3.73 E F0 3.73(,a)C 1.53 -.15(ny c) +-3.73 H 1.231(ommand in a pipeline b).15 F 1.231 +(ut the last, or if the com-)-.2 F(mand')184 216 Q 3.191(sr)-.55 G .691 +(eturn v)-3.191 F .691(alue is being in)-.25 F -.15(ve)-.4 G .691 (rted with).15 F F1(!)3.191 E F0 5.691(.A)C .691(trap on)-2.5 F F1(ERR) -3.191 E F0 3.191(,i)C 3.191(fs)-3.191 G .691(et, is e)-3.191 F -.15(xe) --.15 G .691(cuted before).15 F .687(the shell e)184 324 R 3.186 -(xits. This)-.15 F .686(option applies to the shell en)3.186 F .686 -(vironment and each subshell en)-.4 F(viron-)-.4 E .658 -(ment separately \(see)184 336 R F1 .659(COMMAND EXECUTION ENVIR)3.159 F -(ONMENT)-.3 E F0(abo)3.159 E -.15(ve)-.15 G .659(\), and may).15 F -(cause subshells to e)184 348 Q(xit before e)-.15 E -.15(xe)-.15 G -(cuting all the commands in the subshell.).15 E F1<ad66>144 360 Q F0 -(Disable pathname e)30.97 E(xpansion.)-.15 E F1<ad68>144 372 Q F0 2.239 -(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G 2.238 -(re look)-4.738 F 2.238(ed up for e)-.1 F -.15(xe)-.15 G 4.738 -(cution. This).15 F(is)4.738 E(enabled by def)184 384 Q(ault.)-.1 E F1 -<ad6b>144 396 Q F0 .513(All ar)28.74 F .514 +3.19 E F0 3.19(,i)C 3.19(fs)-3.19 G .69(et, is e)-3.19 F -.15(xe)-.15 G +.69(cuted before).15 F .686(the shell e)184 228 R 3.186(xits. This)-.15 +F .686(option applies to the shell en)3.186 F .686 +(vironment and each subshell en)-.4 F(viron-)-.4 E .068 +(ment separately \(see)184 240 R F3 .068(COMMAND EXECUTION ENVIR)2.568 F +(ONMENT)-.27 E F0(abo)2.318 E -.15(ve)-.15 G .068(\), and may cause).15 +F(subshells to e)184 252 Q(xit before e)-.15 E -.15(xe)-.15 G +(cuting all the commands in the subshell.).15 E F1<ad66>144 264 Q F0 +(Disable pathname e)30.97 E(xpansion.)-.15 E F1<ad68>144 276 Q F0 2.238 +(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G 2.239 +(re look)-4.738 F 2.239(ed up for e)-.1 F -.15(xe)-.15 G 4.739 +(cution. This).15 F(is)4.739 E(enabled by def)184 288 Q(ault.)-.1 E F1 +<ad6b>144 300 Q F0 .514(All ar)28.74 F .514 (guments in the form of assignment statements are placed in the en)-.18 -F .514(vironment for a)-.4 F -(command, not just those that precede the command name.)184 408 Q F1 -<ad6d>144 420 Q F0 .149(Monitor mode.)25.97 F .149 -(Job control is enabled.)5.149 F .148(This option is on by def)5.149 F -.148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .636 -(on systems that support it \(see)184 432 R F3 .636(JOB CONTR)3.136 F -(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .637 -(processes run in a)3.136 F .642 -(separate process group and a line containing their e)184 444 R .641 -(xit status is printed upon their com-)-.15 F(pletion.)184 456 Q F1 -<ad6e>144 468 Q F0 .652(Read commands b)28.74 F .652(ut do not e)-.2 F --.15(xe)-.15 G .652(cute them.).15 F .653 -(This may be used to check a shell script for)5.652 F(syntax errors.)184 -480 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E -F1<ad6f>144 492 Q F2(option\255name)2.5 E F0(The)184 504 Q F2 +F .513(vironment for a)-.4 F +(command, not just those that precede the command name.)184 312 Q F1 +<ad6d>144 324 Q F0 .148(Monitor mode.)25.97 F .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 .637 +(on systems that support it \(see)184 336 R F3 .636(JOB CONTR)3.136 F +(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .636 +(processes run in a)3.136 F .641 +(separate process group and a line containing their e)184 348 R .642 +(xit status is printed upon their com-)-.15 F(pletion.)184 360 Q F1 +<ad6e>144 372 Q F0 .653(Read commands b)28.74 F .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 +384 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E +F1<ad6f>144 396 Q F2(option\255name)2.5 E F0(The)184 408 Q F2 (option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E F1 -(allexport)184 516 Q F0(Same as)224 528 Q F1<ad61>2.5 E F0(.)A F1 -(braceexpand)184 540 Q F0(Same as)224 552 Q F1<ad42>2.5 E F0(.)A F1 -(emacs)184 564 Q F0 .089(Use an emacs-style command line editing interf) +(allexport)184 420 Q F0(Same as)224 432 Q F1<ad61>2.5 E F0(.)A F1 +(braceexpand)184 444 Q F0(Same as)224 456 Q F1<ad42>2.5 E F0(.)A F1 +(emacs)184 468 Q F0 .089(Use an emacs-style command line editing interf) 13.9 F 2.589(ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E -.95(when the shell is interacti)224 576 R -.15(ve)-.25 G 3.45(,u).15 G +.95(when the shell is interacti)224 480 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 588 R(also af)2.5 E +3.45 E F0 2.5(option. This)224 492 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(errtrace)184 600 Q F0(Same as)5.03 E F1<ad45> -2.5 E F0(.)A F1(functrace)184 612 Q F0(Same as)224 624 Q F1<ad54>2.5 E -F0(.)A F1(err)184 636 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0 -(.)A F1(hashall)184 648 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1 -(histexpand)184 660 Q F0(Same as)224 672 Q F1<ad48>2.5 E F0(.)A F1 -(history)184 684 Q F0 .587(Enable command history)10 F 3.087(,a)-.65 G +(ad \255e).18 E F0(.)A F1(err)184 504 Q(exit)-.18 E F0(Same as)11.31 E +F1<ad65>2.5 E F0(.)A F1(errtrace)184 516 Q F0(Same as)5.03 E F1<ad45>2.5 +E F0(.)A F1(functrace)184 528 Q F0(Same as)224 540 Q F1<ad54>2.5 E F0(.) +A F1(hashall)184 552 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1 +(histexpand)184 564 Q F0(Same as)224 576 Q F1<ad48>2.5 E F0(.)A F1 +(history)184 588 Q F0 .586(Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder) .15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F5 9/Times-Roman@0 SF(.)A F0 -.587(This option is)5.087 F(on by def)224 696 Q(ault in interacti)-.1 E -.3 -.15(ve s)-.25 H(hells.).15 E(GNU Bash-4.1)72 768 Q(2009 December 23) +.587(This option is)5.087 F(on by def)224 600 Q(ault in interacti)-.1 E +.3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 612 Q(eeof)-.18 E F0 1.657 +(The ef)224 624 R 1.657(fect is as if the shell command)-.25 F/F6 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 636 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 648 S(yw).1 E(ord)-.1 +E F0(Same as)224 660 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 672 Q F0 +(Same as)5.56 E F1<ad6d>2.5 E F0(.)A F1(noclob)184 684 Q(ber)-.1 E F0 +(Same as)224 696 Q F1<ad43>2.5 E F0(.)A F1(noexec)184 708 Q F0(Same as) +11.12 E F1<ad6e>2.5 E F0(.)A(GNU Bash-4.1)72 768 Q(2009 December 29) 135.965 E(61)185.955 E 0 Cg EP %%Page: 62 62 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(ignor)184 84 Q(eeof)-.18 E F0 1.656(The ef) -224 96 R 1.656(fect is as if the shell command)-.25 F/F2 10/Courier@0 SF -(IGNOREEOF=10)4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted) -.15 E(\(see)224 108 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15 -(ve)-.15 G(\).).15 E F1 -.1(ke)184 120 S(yw).1 E(ord)-.1 E F0(Same as) -224 132 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 144 Q F0(Same as)5.56 E F1 -<ad6d>2.5 E F0(.)A F1(noclob)184 156 Q(ber)-.1 E F0(Same as)224 168 Q F1 -<ad43>2.5 E F0(.)A F1(noexec)184 180 Q F0(Same as)11.12 E F1<ad6e>2.5 E -F0(.)A F1(noglob)184 192 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1 -(nolog)184 204 Q F0(Currently ignored.)16.66 E F1(notify)184 216 Q F0 -(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 228 Q F0(Same as)6.66 -E F1<ad75>2.5 E F0(.)A F1(onecmd)184 240 Q F0(Same as)6.67 E F1<ad74>2.5 -E F0(.)A F1(ph)184 252 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E -F0(.)A F1(pipefail)184 264 Q F0 1.03(If set, the return v)7.77 F 1.029 -(alue of a pipeline is the v)-.25 F 1.029 -(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 276 R -1.136 +-.35 E/F1 10/Times-Bold@0 SF(noglob)184 84 Q F0(Same as)11.1 E F1<ad66> +2.5 E F0(.)A F1(nolog)184 96 Q F0(Currently ignored.)16.66 E F1(notify) +184 108 Q F0(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 120 Q F0 +(Same as)6.66 E F1<ad75>2.5 E F0(.)A F1(onecmd)184 132 Q F0(Same as)6.67 +E F1<ad74>2.5 E F0(.)A F1(ph)184 144 Q(ysical)-.15 E F0(Same as)5.14 E +F1<ad50>2.5 E F0(.)A F1(pipefail)184 156 Q F0 1.029 +(If set, the return v)7.77 F 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 168 +R 1.136 (xit with a non-zero status, or zero if all commands in the pipeline) --.15 F -.15(ex)224 288 S(it successfully).15 E 5(.T)-.65 G -(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 300 Q F0 -2.091(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0 +-.15 F -.15(ex)224 180 S(it successfully).15 E 5(.T)-.65 G +(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 192 Q F0 +2.09(Change the beha)17.77 F 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(POSIX standard to match the standard \()224 312 Q -/F3 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 324 Q(vileged) --.1 E F0(Same as)224 336 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 348 S -(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 360 Q F0 -1.465(Use a vi-style command line editing interf)32.22 F 3.966 -(ace. This)-.1 F 1.466(also af)3.966 F 1.466(fects the editing)-.25 F -(interf)224 372 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0 -(.)A F1(xtrace)184 384 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184 -402 Q F1<ad6f>3.053 E F0 .553(is supplied with no)3.053 F F3 -(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552 -(alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184 -414 Q F0 1.071(is supplied with no)3.571 F F3(option\255name)3.571 E F0 -3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072 -(commands to recreate the current)3.572 F -(option settings is displayed on the standard output.)184 426 Q F1<ad70> -144 438 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F3(privile)4.822 E -.1 -(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F -/F4 9/Times-Bold@0 SF($ENV)3.572 E F0(and)3.322 E F4($B)3.572 E(ASH_ENV) --.27 E F0 1.071(\214les are not pro-)3.322 F 1.5 -(cessed, shell functions are not inherited from the en)184 450 R 1.501 -(vironment, and the)-.4 F F4(SHELLOPTS)4.001 E/F5 9/Times-Roman@0 SF(,)A -F1 -.3(BA)184 462 S(SHOPTS).3 E F0(,)A F1(CDP)3.186 E -.95(AT)-.74 G(H) -.95 E F0 3.186(,a)C(nd)-3.186 E F1(GLOBIGNORE)3.186 E F0 -.25(va)3.186 G -.686(riables, if the).25 F 3.186(ya)-.15 G .686(ppear in the en)-3.186 F -(viron-)-.4 E .853(ment, are ignored.)184 474 R .854 -(If the shell is started with the ef)5.853 F(fecti)-.25 E 1.154 -.15 -(ve u)-.25 H .854(ser \(group\) id not equal to).15 F .043 -(the real user \(group\) id, and the)184 486 R F1<ad70>2.543 E F0 .043 -(option is not supplied, these actions are tak)2.543 F .043(en and the) --.1 F(ef)184 498 Q(fecti)-.25 E 1.666 -.15(ve u)-.25 H 1.366 -(ser id is set to the real user id.).15 F 1.367(If the)6.367 F F1<ad70> -3.867 E F0 1.367(option is supplied at startup, the)3.867 F(ef)184 510 Q -(fecti)-.25 E .709 -.15(ve u)-.25 H .409(ser id is not reset.).15 F -.45 -(Tu)5.409 G .409(rning this option of).45 F 2.909(fc)-.25 G .408 -(auses the ef)-2.909 F(fecti)-.25 E .708 -.15(ve u)-.25 H .408 -(ser and group).15 F(ids to be set to the real user and group ids.)184 -522 Q F1<ad74>144 534 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15 -G(cuting one command.).15 E F1<ad75>144 546 Q F0 -.35(Tr)28.74 G .043 -(eat unset v).35 F .044(ariables and parameters other than the special \ -parameters "@" and "*" as an)-.25 F .183 -(error when performing parameter e)184 558 R 2.683(xpansion. If)-.15 F --.15(ex)2.683 G .182(pansion is attempted on an unset v).15 F(ari-)-.25 -E .746(able or parameter)184 570 R 3.246(,t)-.4 G .746 +(fers from the)-.25 F(POSIX standard to match the standard \()224 204 Q +/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 216 Q(vileged) +-.1 E F0(Same as)224 228 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 240 S +(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 252 Q F0 +1.466(Use a vi-style command line editing interf)32.22 F 3.965 +(ace. This)-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F +(interf)224 264 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0 +(.)A F1(xtrace)184 276 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184 +294 Q F1<ad6f>3.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 +306 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 318 Q F1<ad70> +144 330 Q F0 -.45(Tu)28.74 G 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 9/Times-Bold@0 SF($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 342 R 1.5 +(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3 +-.27(BA)184 354 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 366 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 378 R F1<ad70>2.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 390 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<ad70> +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 402 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 414 Q F1<ad74>144 426 Q F0 +(Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15 +E F1<ad75>144 438 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\ +bles and parameters other than the special parameters "@" and "*" as an) +-.25 F .182(error when performing parameter e)184 450 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 462 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 -582 Q F1<ad76>144 594 Q F0(Print shell input lines as the)29.3 E 2.5(ya) --.15 G(re read.)-2.5 E F1<ad78>144 606 Q F0 .315(After e)29.3 F .315 -(xpanding each)-.15 F F3 .315(simple command)2.815 F F0(,)A F1 -.25(fo) +474 Q F1<ad76>144 486 Q F0(Print shell input lines as the)29.3 E 2.5(ya) +-.15 G(re read.)-2.5 E F1<ad78>144 498 Q F0 .315(After e)29.3 F .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.235(or arithmetic)184 618 R F1 +F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 510 R F1 -.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236 -(xpanded v)-.15 F 1.236(alue of)-.25 F F4(PS4)3.736 E F5(,)A F0(follo) -3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 630 Q +(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 522 Q (xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1 -<ad42>144 642 Q F0 2.579(The shell performs brace e)27.63 F 2.578 +<ad42>144 534 Q F0 2.578(The shell performs brace e)27.63 F 2.578 (xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E --.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 654 Q -(ault.)-.1 E F1<ad43>144 666 Q F0 .213(If set,)27.08 F F1(bash)2.713 E -F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214 +-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 546 Q +(ault.)-.1 E F1<ad43>144 558 Q F0 .214(If set,)27.08 F 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.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F -3.054(tors. This)184 678 R .553(may be o)3.053 F -.15(ve)-.15 G .553 +2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F +3.053(tors. This)184 570 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 690 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 -<ad45>144 702 Q F0 .103(If set, an)27.63 F 2.603(yt)-.15 G .103(rap on) --2.603 F F1(ERR)2.603 E F0 .104 -(is inherited by shell functions, command substitutions, and com-)2.603 -F .839(mands e)184 714 R -.15(xe)-.15 G .839(cuted in a subshell en).15 -F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838 -(trap is normally not inherited in)3.338 F(such cases.)184 726 Q -(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(62)185.955 E 0 Cg EP -%%Page: 63 63 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF<ad48>144 84 Q F0(Enable)26.52 E F1(!)3.031 -E F0 .531(style history substitution.)5.531 F .531 -(This option is on by def)5.531 F .532(ault when the shell is inter)-.1 -F(-)-.2 E(acti)184 96 Q -.15(ve)-.25 G(.).15 E F1<ad50>144 108 Q F0 -1.165(If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164 -(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164 -(cuting commands such as).15 F F1(cd)3.664 E F0 2.821 -(that change the current w)184 120 R 2.822(orking directory)-.1 F 7.822 -(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.822 -(ysical directory structure)-.05 F 2.686(instead. By)184 132 R(def)2.686 +.15 F(tor)184 582 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 +<ad45>144 594 Q F0 .104(If set, an)27.63 F 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 606 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 618 Q F1 +<ad48>144 630 Q F0(Enable)26.52 E 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 642 Q -.15 +(ve)-.25 G(.).15 E F1<ad50>144 654 Q F0 1.164 +(If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164 +(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165 +(cuting commands such as).15 F F1(cd)3.665 E F0 2.822 +(that change the current w)184 666 R 2.822(orking directory)-.1 F 7.822 +(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821 +(ysical directory structure)-.05 F 2.685(instead. By)184 678 R(def)2.685 E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186 (ws the logical chain of directories when performing com-)-.25 F -(mands which change the current directory)184 144 Q(.)-.65 E F1<ad54>144 -156 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1 +(mands which change the current directory)184 690 Q(.)-.65 E F1<ad54>144 +702 Q F0 .89(If set, an)27.63 F 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 168 R -.15(xe)-.15 G 1.932 +(substitutions, and commands e)184 714 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 180 Q F0 -(traps are normally not inherited in such cases.)2.5 E F1<adad>144 192 Q -F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401 +(UG)-.1 E F0(and)4.432 E F1(RETURN)184 726 Q F0 +(traps are normally not inherited in such cases.)2.5 E(GNU Bash-4.1)72 +768 Q(2009 December 29)135.965 E(62)185.955 E 0 Cg EP +%%Page: 63 63 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF<adad>144 84 Q F0 .401(If no ar)28.6 F .401 +(guments follo)-.18 F 2.901(wt)-.25 G .401 (his option, then the positional parameters are unset.)-2.901 F -(Otherwise,)5.401 E(the positional parameters are set to the)184 204 Q -/F2 10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5 -(ni).15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad> -2.5 E F0(.)A F1<ad>144 216 Q F0 1.945 +(Otherwise,)5.4 E(the positional parameters are set to the)184 96 Q/F2 +10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni) +.15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E +F0(.)A F1<ad>144 108 Q F0 1.944 (Signal the end of options, cause all remaining)34.3 F F2(ar)4.444 E(g) --.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G 1.944 -(ssigned to the positional)-4.444 F 3.445(parameters. The)184 228 R F1 -<ad78>3.445 E F0(and)3.445 E F1<ad76>3.445 E F0 .945 -(options are turned of)3.445 F 3.445(f. If)-.25 F .946(there are no) -3.445 F F2(ar)3.446 E(g)-.37 E F0 .946(s, the positional)B -(parameters remain unchanged.)184 240 Q .425(The options are of)144 -256.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 +-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G 1.945 +(ssigned to the positional)-4.445 F 3.446(parameters. The)184 120 R F1 +<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945 +(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no) +3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B +(parameters remain unchanged.)184 132 Q .425(The options are of)144 +148.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 (ault unless otherwise noted.)-.1 F .425 -(Using + rather than \255 causes these options)5.425 F .177 -(to be turned of)144 268.8 R 2.677(f. The)-.25 F .178 +(Using + rather than \255 causes these options)5.425 F .178 +(to be turned of)144 160.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 .178(cation of the shell.).2 F(The)5.178 E .066 -(current set of options may be found in)144 280.8 R F1<24ad>2.566 E F0 +-.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 172.8 R F1<24ad>2.566 E F0 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066 -(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F -(is encountered.)144 292.8 Q F1(shift)108 309.6 Q F0([)2.5 E F2(n)A F0 -(])A .428(The positional parameters from)144 321.6 R F2(n)2.928 E F0 -.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G -.429(rameters represented by the num-).15 F(bers)144 333.6 Q F1($#)2.583 -E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0<ad>A F2(n)A F0 .083 -(+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga) --.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to) -.15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06 -(is 0, no parameters are changed.)144 345.6 R(If)5.06 E F2(n)2.92 E F0 +(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F +(is encountered.)144 184.8 Q F1(shift)108 201.6 Q F0([)2.5 E F2(n)A F0 +(])A .429(The positional parameters from)144 213.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 225.6 Q F1($#)2.582 +E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0<ad>A 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 237.6 R(If)5.06 E F2(n)2.92 E F0 .06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F (If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56 -(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 357.6 R -.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0 -.143(is greater than)2.883 F F1($#)2.643 E F0 -(or less than zero; otherwise 0.)144 369.6 Q F1(shopt)108 386.4 Q F0([) +(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 249.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 261.6 Q F1(shopt)108 278.4 Q F0([) 2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname) --2.5 E F0(...])2.5 E -.8(To)144 398.4 S .222(ggle the v).8 F .222 +-2.5 E F0(...])2.5 E -.8(To)144 290.4 S .222(ggle the v).8 F .222 (alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F (vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1 <ad70>2.722 E F0 .721(option, a list of all settable options is display\ -ed, with an indication of whether or not each is set.)144 410.4 R(The) -144 422.4 Q F1<ad70>2.827 E F0 .327(option causes output to be displaye\ -d in a form that may be reused as input.)2.827 F .328(Other options) -5.328 F(ha)144 434.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:) --.25 E F1<ad73>144 446.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 -E F0(.)A F1<ad75>144 458.4 Q F0(Disable \(unset\) each)24.74 E F2 -(optname)2.5 E F0(.)A F1<ad71>144 470.4 Q F0 .003(Suppresses normal out\ +ed, with an indication of whether or not each is set.)144 302.4 R(The) +144 314.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\ +d in a form that may be reused as input.)2.828 F .327(Other options) +5.327 F(ha)144 326.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:) +-.25 E F1<ad73>144 338.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 +E F0(.)A F1<ad75>144 350.4 Q F0(Disable \(unset\) each)24.74 E F2 +(optname)2.5 E F0(.)A F1<ad71>144 362.4 Q F0 .003(Suppresses normal out\ put \(quiet mode\); the return status indicates whether the)24.74 F F2 -(optname)2.503 E F0(is)2.503 E .255(set or unset.)180 482.4 R .255 -(If multiple)5.255 F F2(optname)2.755 E F0(ar)2.755 E .256 +(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 F1 -<ad71>2.756 E F0 2.756(,t)C .256(he return status is zero if)-2.756 F -(all)180 494.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.) -2.5 E F1<ad6f>144 506.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2 +<ad71>2.756 E F0 2.755(,t)C .255(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 F1<ad6f>144 398.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2 (optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0 -(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .128 -(If either)144 523.2 R F1<ad73>2.628 E F0(or)2.628 E F1<ad75>2.628 E F0 +(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127 +(If either)144 415.2 R F1<ad73>2.627 E F0(or)2.627 E F1<ad75>2.627 E F0 .127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127 -(guments, the display is limited to those options which)-.18 F 1.023 -(are set or unset, respecti)144 535.2 R -.15(ve)-.25 G(ly).15 E 6.023 -(.U)-.65 G 1.024(nless otherwise noted, the)-6.023 F F1(shopt)3.524 E F0 -1.024(options are disabled \(unset\) by)3.524 F(def)144 547.2 Q(ault.) +(guments, the display is limited to those options which)-.18 F 1.024 +(are set or unset, respecti)144 427.2 R -.15(ve)-.25 G(ly).15 E 6.024 +(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F1(shopt)3.523 E F0 +1.023(options are disabled \(unset\) by)3.523 F(def)144 439.2 Q(ault.) -.1 E 1.544(The return status when listing options is zero if all)144 -564 R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.) -4.044 F .696 +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 576 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell) --.25 F(option.)144 588 Q(The list of)144 604.8 Q F1(shopt)2.5 E F0 -(options is:)2.5 E F1(autocd)144 622.8 Q F0 .2 +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(autocd)144 514.8 Q F0 .199 (If set, a command name that is the name of a directory is e)11.11 F --.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E -(ment to the)184 634.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F +-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E +(ment to the)184 526.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 646.8 Q(ars)-.1 E F0 .155(If set, an ar)184 658.8 R .155 -(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156 +F1(cdable_v)144 538.8 Q(ars)-.1 E F0 .156(If set, an ar)184 550.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 670.8 Q(ariable whose v)-.25 E -(alue is the directory to change to.)-.25 E F1(cdspell)144 682.8 Q F0 +(name of a v)184 562.8 Q(ariable whose v)-.25 E +(alue is the directory to change to.)-.25 E F1(cdspell)144 574.8 Q F0 1.055 (If set, minor errors in the spelling of a directory component in a) -10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987 -(corrected. The)184 694.8 R 1.487(errors check)3.987 F 1.487 -(ed for are transposed characters, a missing character)-.1 F 3.988(,a) --.4 G(nd)-3.988 E .552(one character too man)184 706.8 R 4.352 -.65 +10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988 +(corrected. The)184 586.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 .552(one character too man)184 598.8 R 4.352 -.65 (y. I)-.15 H 3.052(fac).65 G .552 (orrection is found, the corrected \214le name is printed, and)-3.052 F -(the command proceeds.)184 718.8 Q +(the command proceeds.)184 610.8 Q (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.) -.15 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(63)185.955 E 0 Cg -EP +.15 E F1(checkhash)144 622.8 Q F0 2.08(If set,)184 634.8 R F1(bash)4.58 +E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079 +(xists before trying to)-.15 F -.15(exe)184 646.8 S(cute it.).15 E +(If a hashed command no longer e)5 E +(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 658.8 +Q F0 .448(If set,)184 670.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 3.439(shell. If)184 682.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 2.203 +(attempted without an interv)184 694.8 R 2.203(ening command \(see)-.15 +F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E +-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 706.8 Q -.1(wa) +-.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G +(obs are stopped.)-2.5 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 +E(63)185.955 E 0 Cg EP %%Page: 64 64 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(checkhash)144 84 Q F0 2.079(If set,)184 96 -R F1(bash)4.579 E F0 2.079 -(checks that a command found in the hash table e)4.579 F 2.08 -(xists before trying to)-.15 F -.15(exe)184 108 S(cute it.).15 E -(If a hashed command no longer e)5 E -(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 120 Q -F0 .449(If set,)184 132 R F1(bash)2.949 E F0 .449 -(lists the status of an)2.949 F 2.949(ys)-.15 G .448 -(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15 -F -.15(ve)-.25 G 3.438(shell. If)184 144 R(an)3.438 E 3.438(yj)-.15 G -.938(obs are running, this causes the e)-3.438 F .938 -(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 1.456 -(attempted without an interv)184 156 R 1.456(ening command \(see)-.15 F -F1 1.456(JOB CONTR)3.956 F(OL)-.3 E F0(abo)3.956 E -.15(ve)-.15 G 3.956 -(\). The).15 F(shell)3.956 E(al)184 168 Q -.1(wa)-.1 G(ys postpones e).1 -E(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.)-2.5 E F1 -(checkwinsize)144 180 Q F0 .796(If set,)184 192 R F1(bash)3.296 E F0 -.796(checks the windo)3.296 F 3.296(ws)-.25 G .797 -(ize after each command and, if necessary)-3.296 F 3.297(,u)-.65 G .797 -(pdates the)-3.297 F -.25(va)184 204 S(lues of).25 E/F2 9/Times-Bold@0 -SF(LINES)2.5 E F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9/Times-Roman@0 SF(.)A -F1(cmdhist)144 216 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202 -(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202 -(ll lines of a multiple-line command in the same history).15 F(entry)184 -228 Q 5(.T)-.65 G(his allo)-5 E -(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 240 Q -F0 .419(If set,)184 252 R F1(bash)2.919 E F0 .419(changes its beha)2.919 -F .419(vior to that of v)-.2 F .42(ersion 3.1 with respect to quoted ar) --.15 F(guments)-.18 E(to the conditional command')184 264 Q 2.5(s=)-.55 -G 2.5(~o)-2.5 G(perator)-2.5 E(.)-.55 E F1(compat32)144 276 Q F0 1.41 -(If set,)184 288 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409 -(vior to that of v)-.2 F 1.409 -(ersion 3.2 with respect to locale-speci\214c)-.15 F -(string comparison when using the conditional command')184 300 Q 2.5 -(s<a)-.55 G(nd > operators.)-2.5 E F1(compat40)144 312 Q F0 1.409 -(If set,)184 324 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F +-.35 E/F1 10/Times-Bold@0 SF(checkwinsize)144 84 Q F0 .797(If set,)184 +96 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G +.796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G +.796(pdates the)-3.296 F -.25(va)184 108 S(lues of).25 E/F2 9 +/Times-Bold@0 SF(LINES)2.5 E F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9 +/Times-Roman@0 SF(.)A F1(cmdhist)144 120 Q F0 1.202(If set,)6.11 F F1 +(bash)3.702 E F0 1.202(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H +1.202(ll lines of a multiple-line command in the same history).15 F +(entry)184 132 Q 5(.T)-.65 G(his allo)-5 E +(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 144 Q +F0 .42(If set,)184 156 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F +.419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar) +-.15 F(guments)-.18 E(to the conditional command')184 168 Q 2.5(s=)-.55 +G 2.5(~o)-2.5 G(perator)-2.5 E(.)-.55 E F1(compat32)144 180 Q F0 1.409 +(If set,)184 192 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F 1.41 -(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.693 -(string comparison when using the conditional command')184 336 R 4.192 -(s<a)-.55 G 1.692(nd > operators and the)-4.192 F(ef)184 348 Q -(fect of interrupting a command list.)-.25 E F1(dirspell)144 360 Q F0 -.858(If set,)7.77 F F1(bash)3.358 E F0 .858 -(attempts spelling correction on directory names during w)3.358 F .859 +(ersion 3.2 with respect to locale-speci\214c)-.15 F +(string comparison when using the conditional command')184 204 Q 2.5 +(s<a)-.55 G(nd > operators.)-2.5 E F1(compat40)144 216 Q F0 1.41 +(If set,)184 228 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409 +(vior to that of v)-.2 F 1.409 +(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.692 +(string comparison when using the conditional command')184 240 R 4.193 +(s<a)-.55 G 1.693(nd > operators and the)-4.193 F(ef)184 252 Q +(fect of interrupting a command list.)-.25 E F1(dirspell)144 264 Q F0 +.859(If set,)7.77 F F1(bash)3.359 E F0 .858 +(attempts spelling correction on directory names during w)3.359 F .858 (ord completion if)-.1 F -(the directory name initially supplied does not e)184 372 Q(xist.)-.15 E -F1(dotglob)144 384 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165 +(the directory name initially supplied does not e)184 276 Q(xist.)-.15 E +F1(dotglob)144 288 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165 (includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i) -.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F -(xpansion.)-.15 E F1(execfail)144 396 Q F0 1.386 -(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386 +(xpansion.)-.15 E F1(execfail)144 300 Q F0 1.387 +(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386 (hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G -1.387(cute the \214le speci\214ed as an).15 F(ar)184 408 Q +1.386(cute the \214le speci\214ed as an).15 F(ar)184 312 Q (gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E (An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 -E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 420 Q F0 -.717(If set, aliases are e)184 432 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 444 Q(ault for interacti)-.1 -E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 456 Q(ug)-.2 E F0 -(If set, beha)184 468 Q(vior intended for use by deb)-.2 E -(uggers is enabled:)-.2 E F1(1.)184 480 Q F0(The)28.5 E F1<ad46>4.25 E -F0 1.75(option to the)4.25 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 -G 1.751(iltin displays the source \214le name and line).2 F -(number corresponding to each function name supplied as an ar)220 492 Q -(gument.)-.18 E F1(2.)184 504 Q F0 1.667(If the command run by the)28.5 +E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 324 Q F0 +.716(If set, aliases are e)184 336 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 .717 +(This option is enabled)5.217 F(by def)184 348 Q(ault for interacti)-.1 +E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 360 Q(ug)-.2 E F0 +(If set, beha)184 372 Q(vior intended for use by deb)-.2 E +(uggers is enabled:)-.2 E F1(1.)184 384 Q F0(The)28.5 E F1<ad46>4.251 E +F0 1.751(option to the)4.251 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu) +4.251 G 1.751(iltin displays the source \214le name and line).2 F +(number corresponding to each function name supplied as an ar)220 396 Q +(gument.)-.18 E F1(2.)184 408 Q F0 1.667(If the command run by the)28.5 F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F -1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 516 -Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 528 Q F0 .84 -(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841 -(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15 -(exe)220 540 S .488 +1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 420 +Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 432 Q F0 .841 +(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841 +(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15 +(exe)220 444 S .488 (cuting in a subroutine \(a shell function or a shell script e).15 F -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1 -(sour)220 552 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1 --.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1 26(4. B)184 -564 R(ASH_ARGC)-.3 E F0(and)3.775 E F1 -.3(BA)3.775 G(SH_ARGV).3 E F0 -1.276(are updated as described in their descrip-)3.775 F(tions abo)220 -576 Q -.15(ve)-.15 G(.).15 E F1(5.)184 588 Q F0 1.359 +(sour)220 456 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1 +-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 468 Q +F2 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G +(SH_ARGV).27 E F0 .904(are updated as described in their descriptions) +3.154 F(abo)220 480 Q -.15(ve)-.15 G(.).15 E F1(5.)184 492 Q F0 1.359 (Function tracing is enabled:)28.5 F 1.359 (command substitution, shell functions, and sub-)6.359 F(shells in)220 -600 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10 +504 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10 /Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1 (DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.) -184 612 Q F0 .804(Error tracing is enabled:)28.5 F .805 -(command substitution, shell functions, and subshells)5.804 F(in)220 624 +184 516 Q F0 .805(Error tracing is enabled:)28.5 F .804 +(command substitution, shell functions, and subshells)5.805 F(in)220 528 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E(OR)-.3 E F0 -(trap.)2.5 E F1(extglob)144 636 Q F0 .4(If set, the e)8.89 F .4 +(trap.)2.5 E F1(extglob)144 540 Q F0 .4(If set, the e)8.89 F .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 648 Q -F0(are enabled.)2.5 E F1(extquote)144 660 Q F0 2.473(If set,)184 672 R +-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 552 Q +F0(are enabled.)2.5 E F1(extquote)144 564 Q F0 2.473(If set,)184 576 R F1($)4.973 E F0<08>A F4(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973 E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within) -4.973 F F1(${)4.973 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G -(pansions).15 E(enclosed in double quotes.)184 684 Q -(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 696 Q F0 -1.425(If set, patterns which f)7.77 F 1.425 -(ail to match \214lenames during pathname e)-.1 F 1.424 -(xpansion result in an)-.15 F -.15(ex)184 708 S(pansion error).15 E(.) --.55 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(64)185.955 E 0 -Cg EP +(pansions).15 E(enclosed in double quotes.)184 588 Q +(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 600 Q F0 +1.424(If set, patterns which f)7.77 F 1.425 +(ail to match \214lenames during pathname e)-.1 F 1.425 +(xpansion result in an)-.15 F -.15(ex)184 612 S(pansion error).15 E(.) +-.55 E F1 -.25(fo)144 624 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 +.937(If set, the suf)184 636 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 .936(ords to be ignored)-.1 F .32(when performing w)184 648 R .32 +(ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32 +(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948 +(pletions. See)184 660 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0 +(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2 +(FIGNORE)2.947 E F3(.)A F0 .447(This option is)4.947 F(enabled by def) +184 672 Q(ault.)-.1 E F1(globstar)144 684 Q F0 .178(If set, the pattern) +5 F F1(**)2.678 E F0 .178(used in a pathname e)2.678 F .178 +(xpansion conte)-.15 F .179(xt will match a \214les and zero or)-.15 F +1.298(more directories and subdirectories.)184 696 R 1.298 +(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0 +3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184 +708 Q(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(64)185.955 E 0 Cg +EP %%Page: 65 65 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF -.25(fo)144 84 S -.18(rc).25 G(e_\214gnor) -.18 E(e)-.18 E F0 .585(If set, the suf)184 96 R<8c78>-.25 E .585 -(es speci\214ed by the)-.15 F F1(FIGNORE)3.085 E F0 .585(shell v)3.085 F -.585(ariable cause w)-.25 F .585(ords to be ignored)-.1 F .32 -(when performing w)184 108 R .32(ord completion e)-.1 F -.15(ve)-.25 G -2.82(ni).15 G 2.82(ft)-2.82 G .32(he ignored w)-2.82 F .32 -(ords are the only possible com-)-.1 F 3.329(pletions. See)184 120 R/F2 -9/Times-Bold@0 SF .829(SHELL V)3.329 F(ARIABLES)-1.215 E F0(abo)3.079 E -1.129 -.15(ve f)-.15 H .83(or a description of).15 F F1(FIGNORE)3.33 E -F0 5.83(.T)C .83(his option)-5.83 F(is enabled by def)184 132 Q(ault.) --.1 E F1(globstar)144 144 Q F0 .179(If set, the pattern)5 F F1(**)2.679 -E F0 .178(used in a pathname e)2.678 F .178(xpansion conte)-.15 F .178 -(xt will match a \214les and zero or)-.15 F 1.297 -(more directories and subdirectories.)184 156 R 1.298 -(If the pattern is follo)6.297 F 1.298(wed by a)-.25 F F1(/)3.798 E F0 -3.798(,o)C 1.298(nly directories)-3.798 F(and subdirectories match.)184 -168 Q F1(gnu_errfmt)144 180 Q F0(If set, shell error messages are writt\ -en in the standard GNU error message format.)184 192 Q F1(histappend)144 -204 Q F0 .384 +-.35 E/F1 10/Times-Bold@0 SF(gnu_errfmt)144 84 Q F0(If set, shell error\ + messages are written in the standard GNU error message format.)184 96 Q +F1(histappend)144 108 Q F0 .676 (If set, the history list is appended to the \214le named by the v)184 -216 R .383(alue of the)-.25 F F1(HISTFILE)2.883 E F0 -.25(va)2.883 G -(ri-).25 E(able when the shell e)184 228 Q(xits, rather than o)-.15 E --.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 240 Q(eedit)-.18 -E F0 .575(If set, and)184 252 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 264 Q F1(histv)144 276 Q(erify)-.1 E F0 .403 -(If set, and)184 288 R F1 -.18(re)2.903 G(adline).18 E F0 .403 +120 R .676(alue of the)-.25 F/F2 9/Times-Bold@0 SF(HISTFILE)3.177 E F0 +-.25(va)2.927 G(ri-).25 E(able when the shell e)184 132 Q +(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F1 +(histr)144 144 Q(eedit)-.18 E F0 .576(If set, and)184 156 R F1 -.18(re) +3.076 G(adline).18 E F0 .575(is being used, a user is gi)3.076 F -.15 +(ve)-.25 G 3.075(nt).15 G .575(he opportunity to re-edit a f)-3.075 F +.575(ailed his-)-.1 F(tory substitution.)184 168 Q F1(histv)144 180 Q +(erify)-.1 E F0 .402(If set, and)184 192 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 300 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 312 S -.25(ff).2 G(er).25 E +2.903 F .662(passed to the shell parser)184 204 R 5.662(.I)-.55 G .661 +(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161 +G(adline).18 E F0(editing)3.161 E -.2(bu)184 216 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 324 Q F0 1.182(If set, and)184 336 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 -348 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 360 Q -.15(ve)-.15 G 2.5(\). This).15 F -(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 372 Q F0(If set,) -184 384 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0 +(hostcomplete)144 228 Q F0 1.181(If set, and)184 240 R F1 -.18(re)3.681 +G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182 +(will attempt to perform hostname completion)3.682 F 1.381(when a w)184 +252 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381 +(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E +F2(READLINE)3.88 E F0(abo)184 264 Q -.15(ve)-.15 G 2.5(\). This).15 F +(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 276 Q F0(If set,) +184 288 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(interacti)144 396 Q -.1(ve)-.1 G(_comments).1 E F0 -.33(If set, allo)184 408 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33 +.15 E(xits.)-.15 E F1(interacti)144 300 Q -.1(ve)-.1 G(_comments).1 E F0 +.33(If set, allo)184 312 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 420 R 1.267 -.15(ve s)-.25 +(that line to be ignored in an interacti)184 324 R 1.267 -.15(ve s)-.25 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15 -G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184 432 Q -(ault.)-.1 E F1(lithist)144 444 Q F0 .655(If set, and the)15.55 F 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 456 Q +G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 336 Q +(ault.)-.1 E F1(lithist)144 348 Q F0 .654(If set, and the)15.55 F F1 +(cmdhist)3.154 E F0 .654(option is enabled, multi-line commands are sa) +3.154 F -.15(ve)-.2 G 3.155(dt).15 G 3.155(ot)-3.155 G .655(he history) +-3.155 F(with embedded ne)184 360 Q (wlines rather than using semicolon separators where possible.)-.25 E F1 -(login_shell)144 468 Q F0 .486 +(login_shell)144 372 Q F0 .486 (The shell sets this option if it is started as a login shell \(see)184 -480 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 492 S(lue may not be changed.).25 -E F1(mailwar)144 504 Q(n)-.15 E F0 .815(If set, and a \214le that)184 -516 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 528 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E +384 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve) +-.15 G 2.986(\). The).15 F -.25(va)184 396 S(lue may not be changed.).25 +E F1(mailwar)144 408 Q(n)-.15 E F0 .814(If set, and a \214le that)184 +420 R F1(bash)3.314 E F0 .815 +(is checking for mail has been accessed since the last time it)3.314 F +-.1(wa)184 432 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 540 Q F0 .145(If set, and)184 552 R F1 -.18 -(re)2.645 G(adline).18 E F0 .145(is being used,)2.645 F F1(bash)2.646 E -F0 .146(will not attempt to search the)2.646 F F1 -.74(PA)2.646 G(TH) --.21 E F0 .146(for possible)2.646 F -(completions when completion is attempted on an empty line.)184 564 Q F1 -(nocaseglob)144 576 Q F0 .437(If set,)184 588 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 600 S +(no_empty_cmd_completion)144 444 Q F0 .325(If set, and)184 456 R F1 -.18 +(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E +F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.824 G(TH) +-.189 E F0 .324(for possible)2.574 F +(completions when completion is attempted on an empty line.)184 468 Q F1 +(nocaseglob)144 480 Q F0 .436(If set,)184 492 R F1(bash)2.936 E F0 .436 +(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25 +H .437(ashion when performing pathname).05 F -.15(ex)184 504 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 612 Q F0 1.193(If set,)184 -624 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(while e)184 636 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5 -E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 648 Q F0 -.855(If set,)184 660 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 672 S(pand to a null string, rather than themselv) -.15 E(es.)-.15 E F1(pr)144 684 Q(ogcomp)-.18 E F0 .676 -(If set, the programmable completion f)184 696 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 708 Q -(This option is enabled by def)5 E(ault.)-.1 E(GNU Bash-4.1)72 768 Q -(2009 December 23)135.965 E(65)185.955 E 0 Cg EP +-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 516 Q F0 1.194(If set,)184 +528 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti) +3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05 +F(while e)184 540 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5 +E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 552 Q F0 +.854(If set,)184 564 R F1(bash)3.354 E F0(allo)3.354 E .855 +(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855 +(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o) +-3.355 E -.15(ex)184 576 S(pand to a null string, rather than themselv) +.15 E(es.)-.15 E F1(pr)144 588 Q(ogcomp)-.18 E F0 .677 +(If set, the programmable completion f)184 600 R .677(acilities \(see) +-.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E +-.15(ve)-.15 G(\)).15 E(are enabled.)184 612 Q +(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 624 Q(omptv) +-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 636 R 1.448 +(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic) +-.15 F -.15(ex)184 648 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 660 Q(ault.)-.1 E F1 -.18(re)144 672 +S(stricted_shell).18 E F0 1.069 +(The shell sets this option if it is started in restricted mode \(see) +184 684 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 696 Q 4.178 +(w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F +1.678(This is not reset when the startup \214les are)6.678 F -.15(exe) +184 708 S(cuted, allo).15 E(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 +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(65)185.955 E 0 Cg EP %%Page: 66 66 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(pr)144 84 Q(omptv)-.18 E(ars)-.1 E F0 1.448 -(If set, prompt strings under)184 96 R 1.448(go parameter e)-.18 F 1.447 -(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 108 S .17 -(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17 -(fter being e)-2.67 F .17(xpanded as described in)-.15 F/F2 9 -/Times-Bold@0 SF(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G -(.).15 E(This option is enabled by def)184 120 Q(ault.)-.1 E F1 -.18(re) -144 132 S(stricted_shell).18 E F0 1.069 -(The shell sets this option if it is started in restricted mode \(see) -184 144 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 156 Q 4.178 -(w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F -1.678(This is not reset when the startup \214les are)6.678 F -.15(exe) -184 168 S(cuted, allo).15 E(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 180 Q(erbose)-.1 E F0 .502(If set, the)184 192 R F1 -(shift)3.002 E F0 -.2(bu)3.002 G .501 -(iltin prints an error message when the shift count e).2 F .501 -(xceeds the number)-.15 F(of positional parameters.)184 204 Q F1(sour) -144 216 Q(cepath)-.18 E F0 .77(If set, the)184 228 R F1(sour)3.27 E(ce) --.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F -.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771 -(to \214nd the directory containing the)3.021 F -(\214le supplied as an ar)184 240 Q 2.5(gument. This)-.18 F -(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 252 Q F0 -(If set, the)184 264 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E +-.35 E/F1 10/Times-Bold@0 SF(shift_v)144 84 Q(erbose)-.1 E F0 .501 +(If set, the)184 96 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 108 Q F1(sour) +144 120 Q(cepath)-.18 E F0 .771(If set, the)184 132 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 9/Times-Bold@0 SF -.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 144 Q 2.5(gument. This)-.18 F +(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 156 Q F0 +(If set, the)184 168 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 276 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 288 R -.15 -(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)-.25 -G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001 -(login shell cannot be)3.501 F .022(suspended; the)144 300 R F1<ad66> -2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022 -(rride this and force the suspension.).15 F .023(The return status is) -5.023 F 2.5(0u)144 312 S(nless the shell is a login shell and)-2.5 E F1 +108 180 Q F0([)2.5 E F1<ad66>A F0(])A 1.001(Suspend the e)144 192 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 204 R F1<ad66> +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 216 S(nless the shell is a login shell and)-2.5 E F1 <ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5 E -F1(test)108 324 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108 -336 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15 +F1(test)108 228 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108 +240 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15 (Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15 (luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G -(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.187 -(operator and operand must be a separate ar)144 348 R 3.688 -(gument. Expressions)-.18 F 1.188(are composed of the primaries)3.688 F -1.89(described abo)144 360 R 2.19 -.15(ve u)-.15 H(nder).15 E F2 -(CONDITION)4.39 E 1.89(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A -F1(test)6.39 E F0 1.889(does not accept an)4.389 F 4.389(yo)-.15 G 1.889 -(ptions, nor)-4.389 F(does it accept and ignore an ar)144 372 Q +(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188 +(operator and operand must be a separate ar)144 252 R 3.688 +(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F +1.889(described abo)144 264 R 2.189 -.15(ve u)-.15 H(nder).15 E F2 +(CONDITION)4.389 E 1.889(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A +F1(test)6.389 E F0 1.89(does not accept an)4.389 F 4.39(yo)-.15 G 1.89 +(ptions, nor)-4.39 F(does it accept and ignore an ar)144 276 Q (gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5 -E .785(Expressions may be combined using the follo)144 390 R .786 +E .786(Expressions may be combined using the follo)144 294 R .785 (wing operators, listed in decreasing order of prece-)-.25 F 2.5 -(dence. The)144 402 R -.25(eva)2.5 G +(dence. The)144 306 R -.25(eva)2.5 G (luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65 -(w.)-.25 G F1(!)144 414 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G +(w.)-.25 G F1(!)144 318 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G (ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\() -144 426 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 +144 330 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 F .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 438 Q F3 -.2(ex) -144 450 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35 -(Tr)180 462 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 474 S(pr1).2 E -F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 486 S +(rride the normal precedence of opera-).15 F(tors.)180 342 Q F3 -.2(ex) +144 354 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35 +(Tr)180 366 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 378 S(pr1).2 E +F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 390 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 502.8 Q F0(and)2.5 E F1([)2.5 E +(pr2).2 E F0(is true.)2.52 E F1(test)144 406.8 Q F0(and)2.5 E F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E (xpressions using a set of rules based on the number of ar)-.15 E -(guments.)-.18 E 2.5(0a)144 520.8 S -.18(rg)-2.5 G(uments).18 E(The e) -180 532.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 544.8 S -.18 -(rg)-2.5 G(ument).18 E(The e)180 556.8 Q +(guments.)-.18 E 2.5(0a)144 424.8 S -.18(rg)-2.5 G(uments).18 E(The e) +180 436.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 448.8 S -.18 +(rg)-2.5 G(ument).18 E(The e)180 460.8 Q (xpression is true if and only if the ar)-.15 E(gument is not null.)-.18 -E 2.5(2a)144 568.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) -180 580.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 472.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) +180 484.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15 F .37 -(gument is null.)-.18 F .38(If the \214rst ar)180 592.8 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 604.8 Q .552 +(gument is null.)-.18 F .379(If the \214rst ar)180 496.8 R .38 +(gument is one of the unary conditional operators listed abo)-.18 F .68 +-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 508.8 Q .553 (AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552 (xpression is true if the unary test is true.)-.15 F .552 -(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 616.8 Q +(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 520.8 Q (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E -(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 628.8 S -.18(rg)-2.5 G -(uments).18 E .024(If the second ar)180 640.8 R .023 +(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 532.8 S -.18(rg)-2.5 G +(uments).18 E .023(If the second ar)180 544.8 R .023 (gument is one of the binary conditional operators listed abo)-.18 F -.323 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.523 E(DITION)180 652.8 Q -1.477(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F +.324 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.524 E(DITION)180 556.8 Q +1.478(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F 1.477(xpression is the result of the binary test)-.15 F .513 -(using the \214rst and third ar)180 664.8 R .513(guments as operands.) +(using the \214rst and third ar)180 568.8 R .513(guments as operands.) -.18 F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0 -.512(operators are considered)3.013 F .972 -(binary operators when there are three ar)180 676.8 R 3.472(guments. If) +.513(operators are considered)3.013 F .972 +(binary operators when there are three ar)180 580.8 R 3.472(guments. If) -.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0 -3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .884(the ne)180 688.8 -R -.05(ga)-.15 G .884(tion of the tw).05 F(o-ar)-.1 E .884 -(gument test using the second and third ar)-.18 F 3.383(guments. If)-.18 -F .883(the \214rst)3.383 F(ar)180 700.8 Q .874(gument is e)-.18 F -(xactly)-.15 E F1(\()3.374 E F0 .875(and the third ar)3.374 F .875 -(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.375(,t)C .875 -(he result is the one-ar)-3.375 F(gument)-.18 E(test of the second ar) -180 712.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f) --.15 E(alse.)-.1 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(66) -185.955 E 0 Cg EP +3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .883(the ne)180 592.8 +R -.05(ga)-.15 G .883(tion of the tw).05 F(o-ar)-.1 E .884 +(gument test using the second and third ar)-.18 F 3.384(guments. If)-.18 +F .884(the \214rst)3.384 F(ar)180 604.8 Q .875(gument is e)-.18 F +(xactly)-.15 E F1(\()3.375 E F0 .875(and the third ar)3.375 F .875 +(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.374(,t)C .874 +(he result is the one-ar)-3.374 F(gument)-.18 E(test of the second ar) +180 616.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f) +-.15 E(alse.)-.1 E 2.5(4a)144 628.8 S -.18(rg)-2.5 G(uments).18 E .384 +(If the \214rst ar)180 640.8 R .384(gument is)-.18 F F1(!)2.884 E F0 +2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .385 +(tion of the three-ar).05 F .385(gument e)-.18 F .385(xpression com-) +-.15 F 1.648(posed of the remaining ar)180 652.8 R 4.147 +(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647 +(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E +(according to precedence using the rules listed abo)180 664.8 Q -.15(ve) +-.15 G(.).15 E 2.5(5o)144 676.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments) +-.18 E 1.635(The e)180 688.8 R 1.635(xpression is parsed and e)-.15 F +-.25(va)-.25 G 1.635 +(luated according to precedence using the rules listed).25 F(abo)180 +700.8 Q -.15(ve)-.15 G(.).15 E F1(times)108 717.6 Q F0 1.229(Print the \ +accumulated user and system times for the shell and for processes run f\ +rom the shell.)13.23 F(The return status is 0.)144 729.6 Q(GNU Bash-4.1) +72 768 Q(2009 December 29)135.965 E(66)185.955 E 0 Cg EP %%Page: 67 67 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 2.5(4a)144 84 S -.18(rg)-2.5 G(uments).18 E .385 -(If the \214rst ar)180 96 R .385(gument is)-.18 F/F1 10/Times-Bold@0 SF -(!)2.885 E F0 2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 -G .384(tion of the three-ar).05 F .384(gument e)-.18 F .384 -(xpression com-)-.15 F 1.647(posed of the remaining ar)180 108 R 4.147 -(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648 -(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E -(according to precedence using the rules listed abo)180 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 F1(times)108 172.8 Q F0 1.229(Pri\ -nt the accumulated user and system times for the shell and for processe\ -s run from the shell.)13.23 F(The return status is 0.)144 184.8 Q F1 -(trap)108 201.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 -.703(The command)144 213.6 R F2(ar)3.533 E(g)-.37 E F0 .703 -(is to be read and e)3.423 F -.15(xe)-.15 G .702 -(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G -(ignal\(s\))-3.202 E F2(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F2 -(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single) -144 225.6 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E -F0 3.108(,e)C .608 +-.35 E/F1 10/Times-Bold@0 SF(trap)108 84 Q F0([)2.5 E F1(\255lp)A F0 2.5 +(][)C([)-2.5 E/F2 10/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F2(sigspec) +2.5 E F0(...])2.5 E .702(The command)144 96 R F2(ar)3.532 E(g)-.37 E F0 +.702(is to be read and e)3.422 F -.15(xe)-.15 G .702 +(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G +(ignal\(s\))-3.203 E F2(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F2 +(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single) +144 108 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E F0 +3.108(,e)C .608 (ach speci\214ed signal is reset to its original disposition)-3.108 F -.659(\(the v)144 237.6 R .659(alue it had upon entrance to the shell\).) --.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658 +.658(\(the v)144 120 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 249.6 Q F0 .58(is ignored by the shell and by the commands it in) -3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E -F0 .581(is not present and)3.301 F F1<ad70>3.081 E F0(has)3.081 E 1.215 -(been supplied, then the trap commands associated with each)144 261.6 R -F2(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214 -F(gu-)-.18 E .86(ments are supplied or if only)144 273.6 R F1<ad70>3.36 -E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86 +144.34 132 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 F1<ad70>3.08 E F0(has)3.08 E 1.214 +(been supplied, then the trap commands associated with each)144 144 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 156 R F1<ad70>3.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 285.6 R F1<ad6c>2.83 E F0 .33(option causes the shell \ -to print a list of signal names and their corresponding num-)2.83 F 4.31 -(bers. Each)144 297.6 R F2(sigspec)4.65 E F0 1.811 -(is either a signal name de\214ned in <)4.62 F F2(signal.h)A F0 1.811 -(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E -(names are case insensiti)144 309.6 Q .3 -.15(ve a)-.25 H -(nd the SIG pre\214x is optional.).15 E 1.649(If a)144 327.6 R F2 -(sigspec)4.489 E F0(is)4.459 E/F3 9/Times-Bold@0 SF(EXIT)4.149 E F0 -1.649(\(0\) the command)3.899 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e) -4.369 F -.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.) --.15 F 1.648(If a)6.648 F F2(sigspec)4.488 E F0(is)4.458 E F3(DEB)144 -339.6 Q(UG)-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.167(the command)3.417 F -F2(ar)3.997 E(g)-.37 E F0 1.167(is e)3.887 F -.15(xe)-.15 G 1.167 -(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.168(simple command) -3.667 F F0(,)A F2(for)3.668 E F0(command,)3.668 E F2(case)3.668 E F0 -(com-)3.668 E(mand,)144 351.6 Q F2(select)2.647 E F0 .147(command, e) -2.647 F -.15(ve)-.25 G .147(ry arithmetic).15 F F2(for)2.647 E F0 .146 -(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146 -(cutes in a).15 F .145(shell function \(see)144 363.6 R F3 .145 -(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15 -F .146(to the description of the)2.646 F F1(extdeb)2.646 E(ug)-.2 E F0 -.146(option to)2.646 F(the)144 375.6 Q F1(shopt)3.201 E F0 -.2(bu)3.201 -G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E -(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E -F3(RETURN)3.2 E F4(,)A F0 .7(the com-)2.95 F(mand)144 387.6 Q F2(ar) -3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643 +(signal. The)144 168 R F1<ad6c>2.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 180 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 192 Q .3 -.15(ve a)-.25 H +(nd the SIG pre\214x is optional.).15 E 1.648(If a)144 210 R F2(sigspec) +4.488 E F0(is)4.458 E/F3 9/Times-Bold@0 SF(EXIT)4.148 E F0 1.648 +(\(0\) the command)3.898 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F +-.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F +1.649(If a)6.649 F F2(sigspec)4.489 E F0(is)4.459 E F3(DEB)144 222 Q(UG) +-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.168(the command)3.418 F F2(ar) +3.998 E(g)-.37 E F0 1.168(is e)3.888 F -.15(xe)-.15 G 1.167 +(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.167(simple command) +3.667 F F0(,)A F2(for)3.667 E F0(command,)3.667 E F2(case)3.667 E F0 +(com-)3.667 E(mand,)144 234 Q F2(select)2.646 E F0 .146(command, e)2.646 +F -.15(ve)-.25 G .146(ry arithmetic).15 F F2(for)2.646 E F0 .147 +(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147 +(cutes in a).15 F .146(shell function \(see)144 246 R F3 .146 +(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15 +F .146(to the description of the)2.646 F F1(extdeb)2.645 E(ug)-.2 E F0 +.145(option to)2.645 F(the)144 258 Q F1(shopt)3.2 E F0 -.2(bu)3.2 G .7 +(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E(UG) +-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E F3 +(RETURN)3.2 E F4(,)A F0 .701(the com-)2.951 F(mand)144 270 Q F2(ar)3.474 +E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G -.644(cuted with the).15 F F1(.)3.144 E F0(or)3.144 E F1(sour)3.144 E(ce) --.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 399.6 Q -.15(xe) --.15 G(cuting.).15 E .929(If a)144 417.6 R F2(sigspec)3.769 E F0(is) -3.739 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E -(g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F --.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero) --3.429 F -.15(ex)144 429.6 S 1.008(it status, subject to the follo).15 F -1.009(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009 -(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009 +.643(cuted with the).15 F F1(.)3.143 E F0(or)3.143 E F1(sour)3.143 E(ce) +-.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 282 Q -.15(xe)-.15 +G(cuting.).15 E .928(If a)144 300 R F2(sigspec)3.768 E F0(is)3.738 E F3 +(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E(g)-.37 E +F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F -.15(ve)-.25 +G 3.429(ras).15 G .929(imple command has a non\255zero)-3.429 F -.15(ex) +144 312 S 1.009(it status, subject to the follo).15 F 1.009 +(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009 +(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008 (ailed com-)-.1 F .324 -(mand is part of the command list immediately follo)144 441.6 R .324 +(mand is part of the command list immediately follo)144 324 R .324 (wing a)-.25 F F1(while)2.824 E F0(or)2.824 E F1(until)2.824 E F0 -.1 -(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.128(in an)144 -453.6 R F2(if)3.639 E F0 1.129(statement, part of a command e)5.589 F --.15(xe)-.15 G 1.129(cuted in a).15 F F1(&&)3.629 E F0(or)3.629 E/F5 10 -/Symbol SF<efef>3.629 E F0 1.129(list, or if the command')3.629 F 3.629 -(sr)-.55 G(eturn)-3.629 E -.25(va)144 465.6 S(lue is being in).25 E -.15 +(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.129(in an)144 +336 R F2(if)3.639 E F0 1.129(statement, part of a command e)5.589 F -.15 +(xe)-.15 G 1.129(cuted in a).15 F F1(&&)3.629 E F0(or)3.629 E/F5 10 +/Symbol SF<efef>3.629 E F0 1.129(list, or if the command')3.629 F 3.628 +(sr)-.55 G(eturn)-3.628 E -.25(va)144 348 S(lue is being in).25 E -.15 (ve)-.4 G(rted via).15 E F1(!)2.5 E F0 5(.T)C (hese are the same conditions obe)-5 E(yed by the)-.15 E F1(err)2.5 E (exit)-.18 E F0(option.)2.5 E 1.095 (Signals ignored upon entry to the shell cannot be trapped or reset.)144 -483.6 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662 -(being ignored are reset to their original v)144 495.6 R .662 -(alues in a subshell or subshell en)-.25 F .662(vironment when one is) --.4 F 2.5(created. The)144 507.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 +366 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662 +(being ignored are reset to their original v)144 378 R .662 +(alues in a subshell or subshell en)-.25 F .661(vironment when one is) +-.4 F 2.5(created. The)144 390 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 -524.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 536.4 S .174 -(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F2(name) -3.034 E F0 -.1(wo)2.854 G .173 -(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F -F1<ad74>144 548.4 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0 +406.8 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2 +(name)A F0(...])2.5 E -.4(Wi)144 418.8 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 +F1<ad74>144 430.8 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0 .843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0 -(,).24 E F2 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F2 -(\214le)5.253 E F0(if)3.523 E F2(name)144.36 560.4 Q F0 .087 -(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087 -(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15 -(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F2 -(name)2.946 E F0 .086(is not)2.766 F .118 -(found, then nothing is printed, and an e)144 572.4 R .118 -(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F -F1<ad70>2.619 E F0 .119(option is used,)2.619 F F1(type)2.619 E F0 .855 -(either returns the name of the disk \214le that w)144 584.4 R .855 +(,).24 E F2 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F2 +(\214le)5.252 E F0(if)3.522 E F2(name)144.36 442.8 Q F0 .086 +(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086 +(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15 +(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F2 +(name)2.947 E F0 .087(is not)2.767 F .119 +(found, then nothing is printed, and an e)144 454.8 R .118 +(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F +F1<ad70>2.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 466.8 R .855 (ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0 -.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144 -596.4 R/F6 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641 -(uld not return).1 F F2(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F1 -<ad50>3.141 E F0 .641(option forces a)3.141 F F3 -.666(PA)3.141 G(TH) --.189 E F0 .113(search for each)144 608.4 R F2(name)2.613 E F0 2.613(,e) -C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F6 .113(type -t name)2.613 -F F0 -.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113 -(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F1<ad70> -2.612 E F0(and)144 620.4 Q F1<ad50>2.944 E F0 .444(print the hashed v) -2.944 F .444(alue, not necessarily the \214le that appears \214rst in) --.25 F F3 -.666(PA)2.945 G(TH)-.189 E F4(.)A F0 .445(If the)4.945 F F1 -<ad61>2.945 E F0(option)2.945 E .265(is used,)144 632.4 R F1(type)2.765 -E F0 .265(prints all of the places that contain an e)2.765 F -.15(xe) --.15 G .265(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18 G .265 -(his includes aliases)-5.265 F .426(and functions, if and only if the) -144 644.4 R F1<ad70>2.926 E F0 .426(option is not also used.)2.926 F -.427(The table of hashed commands is not)5.426 F .549 -(consulted when using)144 656.4 R F1<ad61>3.049 E F0 5.549(.T)C(he) --5.549 E F1<ad66>3.049 E F0 .548 -(option suppresses shell function lookup, as with the)3.049 F F1 -(command)3.048 E F0 -.2(bu)144 668.4 S(iltin.).2 E F1(type)5 E F0 +.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if) +144 478.8 R/F6 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141 +G .641(uld not return).1 F F2(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E +F1<ad50>3.14 E F0 .64(option forces a)3.14 F F3 -.666(PA)3.14 G(TH)-.189 +E F0 .112(search for each)144 490.8 R F2(name)2.612 E F0 2.612(,e)C -.15 +(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F6 .113(type -t name)2.613 F F0 +-.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113(.I) +.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F1<ad70>2.613 E +F0(and)144 502.8 Q F1<ad50>2.945 E F0 .445(print the hashed v)2.945 F +.444(alue, not necessarily the \214le that appears \214rst in)-.25 F F3 +-.666(PA)2.944 G(TH)-.189 E F4(.)A F0 .444(If the)4.944 F F1<ad61>2.944 +E F0(option)2.944 E .265(is used,)144 514.8 R F1(type)2.765 E F0 .265 +(prints all of the places that contain an e)2.765 F -.15(xe)-.15 G .265 +(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18 G .265 +(his includes aliases)-5.265 F .427(and functions, if and only if the) +144 526.8 R F1<ad70>2.926 E F0 .426(option is not also used.)2.926 F +.426(The table of hashed commands is not)5.426 F .548 +(consulted when using)144 538.8 R F1<ad61>3.048 E F0 5.548(.T)C(he) +-5.548 E F1<ad66>3.048 E F0 .549 +(option suppresses shell function lookup, as with the)3.048 F F1 +(command)3.049 E F0 -.2(bu)144 550.8 S(iltin.).2 E F1(type)5 E F0 (returns true if all of the ar)2.5 E(guments are found, f)-.18 E -(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F1(ulimit)108 685.2 +(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F1(ulimit)108 567.6 Q F0([)2.5 E F1(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F2 -(limit)A F0(]])A(Pro)144 697.2 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 +(limit)A F0(]])A(Pro)144 579.6 Q .244(vides control o)-.15 F -.15(ve) +-.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244 (ilable to the shell and to processes started by it, on systems).25 F -.944(that allo)144 709.2 R 3.444(ws)-.25 G .944(uch control.)-3.444 F -(The)5.944 E F1<ad48>3.444 E F0(and)3.444 E F1<ad53>3.444 E F0 .943 +.943(that allo)144 591.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F +(The)5.943 E F1<ad48>3.443 E F0(and)3.443 E F1<ad53>3.444 E F0 .944 (options specify that the hard or soft limit is set for the)3.444 F(gi) -144 721.2 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208 +144 603.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208 (hard limit cannot be increased by a non-root user once it is set; a so\ -ft limit may)2.708 F(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E -(67)185.955 E 0 Cg EP -%%Page: 68 68 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .426(be increased up to the v)144 84 R .426 -(alue of the hard limit.)-.25 F .425(If neither)5.426 F/F1 10 -/Times-Bold@0 SF<ad48>2.925 E F0(nor)2.925 E F1<ad53>2.925 E F0 .425 -(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144 -96 R .139(The v)5.139 F .139(alue of)-.25 F/F2 10/Times-Italic@0 SF -(limit)2.729 E F0 .139 +ft limit may)2.709 F .425(be increased up to the v)144 615.6 R .425 +(alue of the hard limit.)-.25 F .426(If neither)5.425 F F1<ad48>2.926 E +F0(nor)2.926 E F1<ad53>2.926 E F0 .426 +(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144 +627.6 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 108 R(alues)-.25 E F1(hard)3.242 E F0(,)A F1 +.741(of the special v)144 639.6 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1 (soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w) C .741(hich stand for the current hard limit, the current)-3.241 F .78 -(soft limit, and no limit, respecti)144 120 R -.15(ve)-.25 G(ly).15 E +(soft limit, and no limit, respecti)144 651.6 R -.15(ve)-.25 G(ly).15 E 5.78(.I)-.65 G(f)-5.78 E F2(limit)3.37 E F0 .78 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25 -F .499(resource is printed, unless the)144 132 R F1<ad48>2.999 E F0 .499 -(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498 +F .498(resource is printed, unless the)144 663.6 R F1<ad48>2.999 E F0 +.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499 (more than one resource is speci\214ed, the)2.999 F -(limit name and unit are printed before the v)144 144 Q 2.5(alue. Other) --.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F1<ad61>144 156 -Q F0(All current limits are reported)25.3 E F1<ad62>144 168 Q F0 -(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E F1<ad63> -144 180 Q F0(The maximum size of core \214les created)25.86 E F1<ad64> -144 192 Q F0(The maximum size of a process')24.74 E 2.5(sd)-.55 G -(ata se)-2.5 E(gment)-.15 E F1<ad65>144 204 Q F0 -(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 216 Q F0 +(limit name and unit are printed before the v)144 675.6 Q 2.5 +(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F1 +<ad61>144 687.6 Q F0(All current limits are reported)25.3 E F1<ad62>144 +699.6 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E +F1<ad63>144 711.6 Q F0(The maximum size of core \214les created)25.86 E +(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(67)185.955 E 0 Cg EP +%%Page: 68 68 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF<ad64>144 84 Q F0 +(The maximum size of a process')24.74 E 2.5(sd)-.55 G(ata se)-2.5 E +(gment)-.15 E F1<ad65>144 96 Q F0 +(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 108 Q F0 (The maximum size of \214les written by the shell and its children)26.97 -E F1<ad69>144 228 Q F0(The maximum number of pending signals)27.52 E F1 -<ad6c>144 240 Q F0(The maximum size that may be lock)27.52 E -(ed into memory)-.1 E F1<ad6d>144 252 Q F0 +E F1<ad69>144 120 Q F0(The maximum number of pending signals)27.52 E F1 +<ad6c>144 132 Q F0(The maximum size that may be lock)27.52 E +(ed into memory)-.1 E F1<ad6d>144 144 Q F0 (The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G -(ystems do not honor this limit\))-2.5 E F1<ad6e>144 264 Q F0 .791(The \ +(ystems do not honor this limit\))-2.5 E F1<ad6e>144 156 Q F0 .791(The \ maximum number of open \214le descriptors \(most systems do not allo) -24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F -(be set\))180 276 Q F1<ad70>144 288 Q F0 +24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180 +168 Q F1<ad70>144 180 Q F0 (The pipe size in 512-byte blocks \(this may not be set\))24.74 E F1 -<ad71>144 300 Q F0(The maximum number of bytes in POSIX message queues) -24.74 E F1<ad72>144 312 Q F0(The maximum real-time scheduling priority) -25.86 E F1<ad73>144 324 Q F0(The maximum stack size)26.41 E F1<ad74>144 -336 Q F0(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144 -348 Q F0(The maximum number of processes a)24.74 E -.25(va)-.2 G -(ilable to a single user).25 E F1<ad76>144 360 Q F0 +<ad71>144 192 Q F0(The maximum number of bytes in POSIX message queues) +24.74 E F1<ad72>144 204 Q F0(The maximum real-time scheduling priority) +25.86 E F1<ad73>144 216 Q F0(The maximum stack size)26.41 E F1<ad74>144 +228 Q F0(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144 +240 Q F0(The maximum number of processes a)24.74 E -.25(va)-.2 G +(ilable to a single user).25 E F1<ad76>144 252 Q F0 (The maximum amount of virtual memory a)25.3 E -.25(va)-.2 G -(ilable to the shell).25 E F1<ad78>144 372 Q F0 -(The maximum number of \214le locks)25.3 E F1<ad54>144 384 Q F0 -(The maximum number of threads)23.63 E(If)144 400.8 Q F2(limit)2.933 E -F0 .343(is gi)3.523 F -.15(ve)-.25 G .343(n, it is the ne).15 F 2.843 -(wv)-.25 G .343(alue of the speci\214ed resource \(the)-3.093 F F1<ad61> -2.843 E F0 .343(option is display only\).)2.843 F .343(If no)5.343 F -.175(option is gi)144 412.8 R -.15(ve)-.25 G .175(n, then).15 F F1<ad66> -2.675 E F0 .175(is assumed.)2.675 F -1.11(Va)5.175 G .175 -(lues are in 1024-byte increments, e)1.11 F .176(xcept for)-.15 F F1 -<ad74>2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 424.8 -Q F1<ad70>2.516 E F0 2.516(,w)C .016 -(hich is in units of 512-byte blocks, and)-2.516 F F1<ad54>2.516 E F0(,) -A F1<ad62>2.515 E F0(,)A F1<ad6e>2.515 E F0 2.515(,a)C(nd)-2.515 E F1 -<ad75>2.515 E F0 2.515(,w)C .015(hich are unscaled v)-2.515 F(al-)-.25 E -3.787(ues. The)144 436.8 R 1.287(return status is 0 unless an in)3.787 F +(ilable to the shell).25 E F1<ad78>144 264 Q F0 +(The maximum number of \214le locks)25.3 E F1<ad54>144 276 Q F0 +(The maximum number of threads)23.63 E(If)144 292.8 Q/F2 10 +/Times-Italic@0 SF(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G +.343(n, it is the ne).15 F 2.843(wv)-.25 G .343 +(alue of the speci\214ed resource \(the)-3.093 F F1<ad61>2.843 E F0 .343 +(option is display only\).)2.843 F .343(If no)5.343 F .176(option is gi) +144 304.8 R -.15(ve)-.25 G .176(n, then).15 F F1<ad66>2.676 E F0 .175 +(is assumed.)2.676 F -1.11(Va)5.175 G .175 +(lues are in 1024-byte increments, e)1.11 F .175(xcept for)-.15 F F1 +<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 316.8 +Q F1<ad70>2.515 E F0 2.515(,w)C .015 +(hich is in units of 512-byte blocks, and)-2.515 F F1<ad54>2.516 E F0(,) +A F1<ad62>2.516 E F0(,)A F1<ad6e>2.516 E F0 2.516(,a)C(nd)-2.516 E F1 +<ad75>2.516 E F0 2.516(,w)C .016(hich are unscaled v)-2.516 F(al-)-.25 E +3.788(ues. The)144 328.8 R 1.287(return status is 0 unless an in)3.787 F -.25(va)-.4 G 1.287(lid option or ar).25 F 1.287 (gument is supplied, or an error occurs)-.18 F(while setting a ne)144 -448.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 465.6 Q F0([)2.5 E F1 +340.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 357.6 Q F0([)2.5 E F1 <ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A .2 -(The user \214le-creation mask is set to)144 477.6 R F2(mode)2.7 E F0 +(The user \214le-creation mask is set to)144 369.6 R F2(mode)2.7 E F0 5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2 (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 489.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 -501.6 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382 +pted by)144 381.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 +393.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382 (alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382 (option causes the mask to be)2.882 F .547 -(printed in symbolic form; the def)144 513.6 R .547 +(printed in symbolic form; the def)144 405.6 R .547 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G (he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2 -(mode)144.38 525.6 Q F0 .552 -(is omitted, the output is in a form that may be reused as input.)3.232 -F .551(The return status is 0 if the)5.551 F(mode w)144 537.6 Q +(mode)144.38 417.6 Q F0 .551 +(is omitted, the output is in a form that may be reused as input.)3.231 +F .552(The return status is 0 if the)5.552 F(mode w)144 429.6 Q (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1 -(unalias)108 554.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 566.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name) +(unalias)108 446.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 458.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name) 4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155 -F(remo)144 578.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E +F(remo)144 470.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E (alue is true unless a supplied)-.25 E F2(name)2.86 E F0 -(is not a de\214ned alias.)2.68 E F1(unset)108 595.2 Q F0<5bad>2.5 E F1 -(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 607.2 S 3.107 -(re).15 G(ach)-3.107 E F2(name)3.107 E F0 3.107(,r).18 G(emo)-3.107 E -.907 -.15(ve t)-.15 H .607(he corresponding v).15 F .607 -(ariable or function.)-.25 F .606(If no options are supplied, or the) -5.607 F F1<ad76>144 619.2 Q F0 .304(option is gi)2.804 F -.15(ve)-.25 G -.304(n, each).15 F F2(name)3.164 E F0 .305(refers to a shell v)2.985 F -2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .305 -(riables may not be unset.).25 F(If)5.305 E F1<ad66>144 631.2 Q F0 .46 -(is speci\214ed, each)2.96 F F2(name)3.32 E F0 .459 -(refers to a shell function, and the function de\214nition is remo)3.14 -F -.15(ve)-.15 G 2.959(d. Each).15 F .902(unset v)144 643.2 R .902 +(is not a de\214ned alias.)2.68 E F1(unset)108 487.2 Q F0<5bad>2.5 E F1 +(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 499.2 S 3.106 +(re).15 G(ach)-3.106 E F2(name)3.106 E F0 3.106(,r).18 G(emo)-3.106 E +.906 -.15(ve t)-.15 H .606(he corresponding v).15 F .607 +(ariable or function.)-.25 F .607(If no options are supplied, or the) +5.607 F F1<ad76>144 511.2 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G +.305(n, each).15 F F2(name)3.165 E F0 .305(refers to a shell v)2.985 F +2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .304 +(riables may not be unset.).25 F(If)5.304 E F1<ad66>144 523.2 Q F0 .459 +(is speci\214ed, each)2.959 F F2(name)3.319 E F0 .459 +(refers to a shell function, and the function de\214nition is remo)3.139 +F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 535.2 R .903 (ariable or function is remo)-.25 F -.15(ve)-.15 G 3.402(df).15 G .902 -(rom the en)-3.402 F .903(vironment passed to subsequent commands.)-.4 F -(If)5.903 E(an)144 655.2 Q 4.285(yo)-.15 G(f)-4.285 E/F3 9/Times-Bold@0 -SF(RANDOM)4.285 E/F4 9/Times-Roman@0 SF(,)A F3(SECONDS)4.035 E F4(,)A F3 -(LINENO)4.035 E F4(,)A F3(HISTCMD)4.035 E F4(,)A F3(FUNCN)4.035 E(AME) --.18 E F4(,)A F3(GR)4.035 E(OUPS)-.27 E F4(,)A F0(or)4.035 E F3(DIRST) -4.284 E -.495(AC)-.81 G(K).495 E F0(are)4.034 E .328(unset, the)144 -667.2 R 2.828(yl)-.15 G .328(ose their special properties, e)-2.828 F --.15(ve)-.25 G 2.828(ni).15 G 2.828(ft)-2.828 G(he)-2.828 E 2.828(ya) --.15 G .328(re subsequently reset.)-2.828 F .328(The e)5.328 F .329 -(xit status is true)-.15 F(unless a)144 679.2 Q F2(name)2.86 E F0 -(is readonly)2.68 E(.)-.65 E F1(wait)108 696 Q F0([)2.5 E F2 2.5(n.)C -(..)-2.5 E F0(])A -.8(Wa)144 708 S .288 +(rom the en)-3.402 F .902(vironment passed to subsequent commands.)-.4 F +(If)5.902 E(an)144 547.2 Q 6.915(yo)-.15 G(f)-6.915 E/F3 9/Times-Bold@0 +SF(COMP_W)6.915 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM) +6.665 E F4(,)A F3(SECONDS)6.665 E F4(,)A F3(LINENO)6.665 E F4(,)A F3 +(HISTCMD)6.666 E F4(,)A F3(FUNCN)6.666 E(AME)-.18 E F4(,)A F3(GR)144 +559.2 Q(OUPS)-.27 E F4(,)A F0(or)2.523 E F3(DIRST)2.773 E -.495(AC)-.81 +G(K).495 E F0 .272(are unset, the)2.522 F 2.772(yl)-.15 G .272 +(ose their special properties, e)-2.772 F -.15(ve)-.25 G 2.772(ni).15 G +2.772(ft)-2.772 G(he)-2.772 E 2.772(ya)-.15 G .272(re subsequently) +-2.772 F 2.5(reset. The)144 571.2 R -.15(ex)2.5 G +(it status is true unless a).15 E F2(name)2.86 E F0(is readonly)2.68 E +(.)-.65 E F1(wait)108 588 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8 +(Wa)144 600 S .288 (it for each speci\214ed process and return its termination status.).8 F -(Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722 -(job speci\214cation; if a job spec is gi)144 720 R -.15(ve)-.25 G .722 +(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722 +(job speci\214cation; if a job spec is gi)144 612 R -.15(ve)-.25 G .722 (n, all processes in that job').15 F 3.222(sp)-.55 G .722(ipeline are w) --3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.583 E F0 -(is)3.463 E(GNU Bash-4.1)72 768 Q(2009 December 23)135.965 E(68)185.955 -E 0 Cg EP +-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.582 E F0 +(is)3.462 E 1.265(not gi)144 624 R -.15(ve)-.25 G 1.265 +(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265 +(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266 +(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457 +(speci\214es a non-e)144 636 R .457 +(xistent process or job, the return status is 127.)-.15 F .457 +(Otherwise, the return status is the)5.457 F -.15(ex)144 648 S +(it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E +/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 664.8 Q F0(If)108 676.8 Q +F1(bash)4.396 E F0 1.896(is started with the name)4.396 F F1(rbash)4.397 +E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F1<ad72>4.397 E F0 1.897 +(option is supplied at in)4.397 F -.2(vo)-.4 G 1.897 +(cation, the shell becomes).2 F 3.446(restricted. A)108 688.8 R .945 +(restricted shell is used to set up an en)3.446 F .945 +(vironment more controlled than the standard shell.)-.4 F(It)5.945 E +(beha)108 700.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 32.5<8363>108 +717.6 S(hanging directories with)-32.5 E F1(cd)2.5 E F0(GNU Bash-4.1)72 +768 Q(2009 December 29)135.965 E(68)185.955 E 0 Cg EP %%Page: 69 69 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.266(not gi)144 84 R -.15(ve)-.25 G 1.266(n, all currently acti) -.15 F 1.566 -.15(ve c)-.25 H 1.265(hild processes are w).15 F 1.265 -(aited for)-.1 F 3.765(,a)-.4 G 1.265(nd the return status is zero.) --3.765 F(If)6.265 E/F1 10/Times-Italic@0 SF(n)4.125 E F0 .456 -(speci\214es a non-e)144 96 R .457 -(xistent process or job, the return status is 127.)-.15 F .457 -(Otherwise, the return status is the)5.457 F -.15(ex)144 108 S -(it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E -/F2 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 124.8 Q F0(If)108 136.8 Q -/F3 10/Times-Bold@0 SF(bash)4.397 E F0 1.897(is started with the name) -4.397 F F3(rbash)4.397 E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F3 -<ad72>4.397 E F0 1.896(option is supplied at in)4.397 F -.2(vo)-.4 G -1.896(cation, the shell becomes).2 F 3.445(restricted. A)108 148.8 R -.945(restricted shell is used to set up an en)3.445 F .946 -(vironment more controlled than the standard shell.)-.4 F(It)5.946 E -(beha)108 160.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F3 -(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 32.5<8363>108 -177.6 S(hanging directories with)-32.5 E F3(cd)2.5 E F0 32.5<8373>108 -194.4 S(etting or unsetting the v)-32.5 E(alues of)-.25 E F3(SHELL)2.5 E -F0(,)A F3 -.74(PA)2.5 G(TH)-.21 E F0(,)A F3(ENV)2.5 E F0 2.5(,o)C(r)-2.5 -E F3 -.3(BA)2.5 G(SH_ENV).3 E F0 32.5<8373>108 211.2 S -(pecifying command names containing)-32.5 E F3(/)2.5 E F0 32.5<8373>108 -228 S(pecifying a \214le name containing a)-32.5 E F3(/)2.5 E F0 -(as an ar)2.5 E(gument to the)-.18 E F3(.)2.5 E F0 -.2(bu)5 G -(iltin command).2 E 32.5<8353>108 244.8 S .351 +-.35 E 32.5<8373>108 84 S(etting or unsetting the v)-32.5 E(alues of) +-.25 E/F1 9/Times-Bold@0 SF(SHELL)2.5 E/F2 9/Times-Roman@0 SF(,)A F1 +-.666(PA)2.25 G(TH)-.189 E F2(,)A F1(ENV)2.25 E F2(,)A F0(or)2.25 E F1 +-.27(BA)2.5 G(SH_ENV).27 E F0 32.5<8373>108 100.8 S +(pecifying command names containing)-32.5 E/F3 10/Times-Bold@0 SF(/)2.5 +E F0 32.5<8373>108 117.6 S(pecifying a \214le name containing a)-32.5 E +F3(/)2.5 E F0(as an ar)2.5 E(gument to the)-.18 E F3(.)2.5 E F0 -.2(bu)5 +G(iltin command).2 E 32.5<8353>108 134.4 S .351 (pecifying a \214lename containing a slash as an ar)-32.5 F .351 (gument to the)-.18 F F3<ad70>2.851 E F0 .351(option to the)2.851 F F3 -(hash)2.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 256.8 Q -32.5<8369>108 273.6 S(mporting function de\214nitions from the shell en) --32.5 E(vironment at startup)-.4 E 32.5<8370>108 290.4 S(arsing the v) --32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.5 E -(vironment at startup)-.4 E 32.5<8372>108 307.2 S(edirecting output usi\ +(hash)2.852 E F0 -.2(bu)2.852 G .352(iltin com-).2 F(mand)144 146.4 Q +32.5<8369>108 163.2 S(mporting function de\214nitions from the shell en) +-32.5 E(vironment at startup)-.4 E 32.5<8370>108 180 S(arsing the v) +-32.5 E(alue of)-.25 E F1(SHELLOPTS)2.5 E F0(from the shell en)2.25 E +(vironment at startup)-.4 E 32.5<8372>108 196.8 S(edirecting output usi\ ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5 -<8375>108 324 S(sing the)-32.5 E F3(exec)2.5 E F0 -.2(bu)2.5 G +<8375>108 213.6 S(sing the)-32.5 E F3(exec)2.5 E F0 -.2(bu)2.5 G (iltin command to replace the shell with another command).2 E 32.5<8361> -108 340.8 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E +108 230.4 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E F3<ad66>2.5 E F0(and)2.5 E F3<ad64>2.5 E F0(options to the)2.5 E F3 -(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 357.6 S +(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 247.2 S (sing the)-32.5 E F3(enable)2.5 E F0 -.2(bu)2.5 G (iltin command to enable disabled shell b).2 E(uiltins)-.2 E 32.5<8373> -108 374.4 S(pecifying the)-32.5 E F3<ad70>2.5 E F0(option to the)2.5 E -F3(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 391.2 -S(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F3(set +r) +108 264 S(pecifying the)-32.5 E F3<ad70>2.5 E F0(option to the)2.5 E F3 +(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 280.8 S +(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F3(set +r) 2.5 E F0(or)2.5 E F3(set +o r)2.5 E(estricted)-.18 E F0(.)A -(These restrictions are enforced after an)108 408 Q 2.5(ys)-.15 G +(These restrictions are enforced after an)108 297.6 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 424.8 R -.15 -(xe)-.15 G 1.567(cuted \(see).15 F/F4 9/Times-Bold@0 SF 1.567 -(COMMAND EXECUTION)4.067 F F0(abo)3.817 E -.15(ve)-.15 G(\),).15 E F3 -(rbash)108 436.8 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 F2(SEE ALSO)72 453.6 Q F1(Bash Refer)108 465.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 F1(The Gnu Readline Libr)108 477.6 Q(ary)-.15 E F0 2.5(,B)C -(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F1(The Gnu History Libr) -108 489.6 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E -(y)-.15 E F1 -.8(Po)108 501.6 S(rtable Oper).8 E +(When a command that is found to be a shell script is e)108 314.4 R -.15 +(xe)-.15 G 1.566(cuted \(see).15 F F1 1.566(COMMAND EXECUTION)4.066 F F0 +(abo)3.816 E -.15(ve)-.15 G(\),).15 E F3(rbash)108 326.4 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 343.2 Q/F5 10/Times-Italic@0 SF(Bash Refer) +108 355.2 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 367.2 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 379.2 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 391.2 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 F1(sh)108 513.6 Q F0(\(1\),)A F1(ksh)2.5 E -F0(\(1\),)A F1(csh)2.5 E F0(\(1\))A F1(emacs)108 525.6 Q F0(\(1\),)A F1 -(vi)2.5 E F0(\(1\))A F1 -.37(re)108 537.6 S(adline).37 E F0(\(3\))A F2 -(FILES)72 554.4 Q F1(/bin/bash)109.666 566.4 Q F0(The)144 578.4 Q F3 -(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E F1(/etc/pr)109.666 590.4 Q -(o\214le)-.45 E F0(The systemwide initialization \214le, e)144 602.4 Q --.15(xe)-.15 G(cuted for login shells).15 E F1(~/.bash_pr)109.666 614.4 -Q(o\214le)-.45 E F0(The personal initialization \214le, e)144 626.4 Q --.15(xe)-.15 G(cuted for login shells).15 E F1(~/.bashr)109.666 638.4 Q -(c)-.37 E F0(The indi)144 650.4 Q(vidual per)-.25 E(-interacti)-.2 E --.15(ve)-.25 G(-shell startup \214le).15 E F1(~/.bash_lo)109.666 662.4 Q -(gout)-.1 E F0(The indi)144 674.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 F1(~/.inputr)109.666 686.4 -Q(c)-.37 E F0(Indi)144 698.4 Q(vidual)-.25 E F1 -.37(re)2.5 G(adline).37 -E F0(initialization \214le)2.5 E(GNU Bash-4.1)72 768 Q(2009 December 23) +-.8 E F0 2.5(,I)C(EEE)-2.5 E F5(sh)108 403.2 Q F0(\(1\),)A F5(ksh)2.5 E +F0(\(1\),)A F5(csh)2.5 E F0(\(1\))A F5(emacs)108 415.2 Q F0(\(1\),)A F5 +(vi)2.5 E F0(\(1\))A F5 -.37(re)108 427.2 S(adline).37 E F0(\(3\))A F4 +(FILES)72 444 Q F5(/bin/bash)109.666 456 Q F0(The)144 468 Q F3(bash)2.5 +E F0 -.15(exe)2.5 G(cutable).15 E F5(/etc/pr)109.666 480 Q(o\214le)-.45 +E F0(The systemwide initialization \214le, e)144 492 Q -.15(xe)-.15 G +(cuted for login shells).15 E F5(~/.bash_pr)109.666 504 Q(o\214le)-.45 E +F0(The personal initialization \214le, e)144 516 Q -.15(xe)-.15 G +(cuted for login shells).15 E F5(~/.bashr)109.666 528 Q(c)-.37 E F0 +(The indi)144 540 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G +(-shell startup \214le).15 E F5(~/.bash_lo)109.666 552 Q(gout)-.1 E F0 +(The indi)144 564 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 +576 Q(c)-.37 E F0(Indi)144 588 Q(vidual)-.25 E F5 -.37(re)2.5 G(adline) +.37 E F0(initialization \214le)2.5 E F4 -.548(AU)72 604.8 S(THORS).548 E +F0(Brian F)108 616.8 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 +E(bfox@gnu.or)108 628.8 Q(g)-.18 E(Chet Rame)108 645.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 657.6 Q(y@case.edu)-.15 E F4 -.11(BU)72 +674.4 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567 +(If you \214nd a b)108 686.4 R .568(ug in)-.2 F F3(bash,)3.068 E F0 .568 +(you should report it.)3.068 F .568(But \214rst, you should mak)5.568 F +3.068(es)-.1 G .568(ure that it really is a b)-3.068 F .568(ug, and)-.2 +F 5.626(that it appears in the latest v)108 698.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.625 +(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625 +(ilable from).25 F F5(ftp://ftp.gnu.or)108 710.4 Q(g/pub/bash/)-.37 E F0 +(.)A .41(Once you ha)108 727.2 R .71 -.15(ve d)-.2 H .41 +(etermined that a b).15 F .41(ug actually e)-.2 F .411(xists, use the) +-.15 F F5(bashb)3.181 E(ug)-.2 E F0 .411(command to submit a b)3.131 F +.411(ug report.)-.2 F(If)5.411 E(GNU Bash-4.1)72 768 Q(2009 December 29) 135.965 E(69)185.955 E 0 Cg EP %%Page: 70 70 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10.95/Times-Bold@0 SF -.548(AU)72 84 S(THORS).548 E F0 -(Brian F)108 96 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E -(bfox@gnu.or)108 108 Q(g)-.18 E(Chet Rame)108 124.8 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 136.8 Q(y@case.edu)-.15 E F1 -.11(BU)72 153.6 -S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568(If you \214nd a b)108 -165.6 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 177.6 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 -(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 189.6 Q -(g/pub/bash/)-.37 E F0(.)A .411(Once you ha)108 206.4 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 218.4 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 230.4 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 247.2 Q(ug reports should include:)-.2 E(The v) -108 264 Q(ersion number of)-.15 E F2(bash)2.5 E F0(The hardw)108 276 Q -(are and operating system)-.1 E(The compiler used to compile)108 288 Q -2.5(Ad)108 300 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E -2.5(As)108 312 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 328.8 Q(ug)-.2 E F0 +-.35 E .595(you ha)108 84 R .895 -.15(ve a \214)-.2 H .595 +(x, you are encouraged to mail that as well!).15 F .594 +(Suggestions and `philosophical' b)5.595 F .594(ug reports may)-.2 F +(be mailed to)108 96 Q/F1 10/Times-Italic@0 SF -.2(bu)2.5 G +(g-bash@gnu.or).2 E(g)-.37 E F0(or posted to the Usenet ne)2.5 E +(wsgroup)-.25 E/F2 10/Times-Bold@0 SF(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A +(ALL b)108 112.8 Q(ug reports should include:)-.2 E(The v)108 129.6 Q +(ersion number of)-.15 E F2(bash)2.5 E F0(The hardw)108 141.6 Q +(are and operating system)-.1 E(The compiler used to compile)108 153.6 Q +2.5(Ad)108 165.6 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E +2.5(As)108 177.6 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 G +(rcises the b).15 E(ug)-.2 E F1(bashb)108.27 194.4 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 -345.6 Q(ug reports concerning this manual page should be directed to)-.2 -E F3 -.15(ch)2.5 G(et@po.cwru.edu).15 E F0(.).25 E F1 -.11(BU)72 362.4 S -(GS).11 E F0(It')108 374.4 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 391.2 R 1.869 -(ferences between)-.25 F F2(bash)4.369 E F0 1.869(and traditional v) -4.369 F 1.869(ersions of)-.15 F F2(sh)4.368 E F0 4.368(,m)C 1.868 -(ostly because of the)-4.368 F/F4 9/Times-Bold@0 SF(POSIX)108 403.2 Q F0 -(speci\214cation.)2.25 E(Aliases are confusing in some uses.)108 420 Q -(Shell b)108 436.8 Q +211.2 Q(ug reports concerning this manual page should be directed to)-.2 +E F1 -.15(ch)2.5 G(et@po.cwru.edu).15 E F0(.).25 E/F3 10.95/Times-Bold@0 +SF -.11(BU)72 228 S(GS).11 E F0(It')108 240 Q 2.5(st)-.55 G +(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.868 +(There are some subtle dif)108 256.8 R 1.868(ferences between)-.25 F F2 +(bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F +F2(sh)4.369 E F0 4.369(,m)C 1.869(ostly because of the)-4.369 F/F4 9 +/Times-Bold@0 SF(POSIX)108 268.8 Q F0(speci\214cation.)2.25 E +(Aliases are confusing in some uses.)108 285.6 Q(Shell b)108 302.4 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 453.6 R .39 -(process suspension is attempted.)108 465.6 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 477.6 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 489.6 Q(Array v)108 -506.4 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E -(There may be only one acti)108 523.2 Q .3 -.15(ve c)-.25 H -(oprocess at a time.).15 E(GNU Bash-4.1)72 768 Q(2009 December 23) +re not handled gracefully when)108 319.2 R .389 +(process suspension is attempted.)108 331.2 R .389 +(When a process is stopped, the shell immediately e)5.389 F -.15(xe)-.15 +G .39(cutes the ne).15 F .39(xt com-)-.15 F .193(mand in the sequence.) +108 343.2 R .192(It suf)5.193 F .192(\214ces to place the sequence of c\ +ommands between parentheses to force it into a)-.25 F +(subshell, which may be stopped as a unit.)108 355.2 Q(Array v)108 372 Q +(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E +(There may be only one acti)108 388.8 Q .3 -.15(ve c)-.25 H +(oprocess at a time.).15 E(GNU Bash-4.1)72 768 Q(2009 December 29) 135.965 E(70)185.955 E 0 Cg EP %%Trailer end diff --git a/doc/bashref.dvi b/doc/bashref.dvi Binary files differindex 7ee06772..652145aa 100644 --- a/doc/bashref.dvi +++ b/doc/bashref.dvi diff --git a/doc/bashref.html b/doc/bashref.html index 9a008e68..d36b72b8 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -1,6 +1,6 @@ <HTML> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<!-- Created on December, 23 2009 by texi2html 1.64 --> +<!-- Created on December, 29 2009 by texi2html 1.64 --> <!-- Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> @@ -688,6 +688,7 @@ present, are decoded as follows: <DT><CODE>\b</CODE> <DD>backspace <DT><CODE>\e</CODE> +<DD><DT><CODE>\E</CODE> <DD>an escape character (not ANSI C) <DT><CODE>\f</CODE> <DD>form feed @@ -703,6 +704,8 @@ present, are decoded as follows: <DD>backslash <DT><CODE>\'</CODE> <DD>single quote +<DT><CODE>\"</CODE> +<DD>double quote <DT><CODE>\<VAR>nnn</VAR></CODE> <DD>the eight-bit character whose value is the octal value <VAR>nnn</VAR> (one to three digits) @@ -4756,7 +4759,7 @@ The default index is 0. <DT><CODE>-s</CODE> <DD>Discard the first <VAR>count</VAR> lines read. <DT><CODE>-t</CODE> -<DD>Remove a trailing line from each line read. +<DD>Remove a trailing newline from each line read. <DT><CODE>-u</CODE> <DD>Read lines from file descriptor <VAR>fd</VAR> instead of the standard input. <DT><CODE>-C</CODE> @@ -16052,7 +16055,7 @@ to permit their use in free software. <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD> </TR></TABLE> <H1>About this document</H1> -This document was generated by <I>Chet Ramey</I> on <I>December, 23 2009</I> +This document was generated by <I>Chet Ramey</I> on <I>December, 29 2009</I> using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html "><I>texi2html</I></A> <P></P> @@ -16214,7 +16217,7 @@ the following structure: <BR> <FONT SIZE="-1"> This document was generated -by <I>Chet Ramey</I> on <I>December, 23 2009</I> +by <I>Chet Ramey</I> on <I>December, 29 2009</I> using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html "><I>texi2html</I></A> diff --git a/doc/bashref.info b/doc/bashref.info index 8438fe80..189e58bc 100644 --- a/doc/bashref.info +++ b/doc/bashref.info @@ -442,6 +442,7 @@ decoded as follows: backspace `\e' +`\E' an escape character (not ANSI C) `\f' @@ -465,6 +466,9 @@ decoded as follows: `\'' single quote +`\"' + double quote + `\NNN' the eight-bit character whose value is the octal value NNN (one to three digits) @@ -3138,7 +3142,7 @@ POSIX standard. Discard the first COUNT lines read. `-t' - Remove a trailing line from each line read. + Remove a trailing newline from each line read. `-u' Read lines from file descriptor FD instead of the standard @@ -10226,119 +10230,119 @@ Node: Escape Character14830 Node: Single Quotes15315 Node: Double Quotes15663 Node: ANSI-C Quoting16788 -Node: Locale Translation17744 -Node: Comments18640 -Node: Shell Commands19258 -Node: Simple Commands20082 -Node: Pipelines20713 -Node: Lists22969 -Node: Compound Commands24698 -Node: Looping Constructs25502 -Node: Conditional Constructs27957 -Node: Command Grouping36070 -Node: Coprocesses37549 -Node: Shell Functions39193 -Node: Shell Parameters43747 -Node: Positional Parameters46163 -Node: Special Parameters47063 -Node: Shell Expansions50027 -Node: Brace Expansion51952 -Node: Tilde Expansion54707 -Node: Shell Parameter Expansion57058 -Node: Command Substitution65959 -Node: Arithmetic Expansion67292 -Node: Process Substitution68142 -Node: Word Splitting69192 -Node: Filename Expansion70815 -Node: Pattern Matching72954 -Node: Quote Removal76593 -Node: Redirections76888 -Node: Executing Commands85413 -Node: Simple Command Expansion86083 -Node: Command Search and Execution88013 -Node: Command Execution Environment90350 -Node: Environment93336 -Node: Exit Status94996 -Node: Signals96617 -Node: Shell Scripts98585 -Node: Shell Builtin Commands101103 -Node: Bourne Shell Builtins103131 -Node: Bash Builtins120507 -Node: Modifying Shell Behavior145332 -Node: The Set Builtin145677 -Node: The Shopt Builtin155201 -Node: Special Builtins166063 -Node: Shell Variables167042 -Node: Bourne Shell Variables167482 -Node: Bash Variables169463 -Node: Bash Features192949 -Node: Invoking Bash193832 -Node: Bash Startup Files199641 -Node: Interactive Shells204653 -Node: What is an Interactive Shell?205063 -Node: Is this Shell Interactive?205712 -Node: Interactive Shell Behavior206527 -Node: Bash Conditional Expressions209807 -Node: Shell Arithmetic213456 -Node: Aliases216202 -Node: Arrays218774 -Node: The Directory Stack222732 -Node: Directory Stack Builtins223446 -Node: Printing a Prompt226338 -Node: The Restricted Shell229090 -Node: Bash POSIX Mode230922 -Node: Job Control238979 -Node: Job Control Basics239439 -Node: Job Control Builtins244156 -Node: Job Control Variables248520 -Node: Command Line Editing249678 -Node: Introduction and Notation251245 -Node: Readline Interaction252867 -Node: Readline Bare Essentials254058 -Node: Readline Movement Commands255847 -Node: Readline Killing Commands256812 -Node: Readline Arguments258732 -Node: Searching259776 -Node: Readline Init File261962 -Node: Readline Init File Syntax263109 -Node: Conditional Init Constructs277596 -Node: Sample Init File280129 -Node: Bindable Readline Commands283246 -Node: Commands For Moving284453 -Node: Commands For History285597 -Node: Commands For Text288752 -Node: Commands For Killing291425 -Node: Numeric Arguments293876 -Node: Commands For Completion295015 -Node: Keyboard Macros298975 -Node: Miscellaneous Commands299546 -Node: Readline vi Mode305352 -Node: Programmable Completion306266 -Node: Programmable Completion Builtins313472 -Node: Using History Interactively322608 -Node: Bash History Facilities323292 -Node: Bash History Builtins326206 -Node: History Interaction330063 -Node: Event Designators332768 -Node: Word Designators333783 -Node: Modifiers335422 -Node: Installing Bash336826 -Node: Basic Installation337963 -Node: Compilers and Options340655 -Node: Compiling For Multiple Architectures341396 -Node: Installation Names343060 -Node: Specifying the System Type343878 -Node: Sharing Defaults344594 -Node: Operation Controls345267 -Node: Optional Features346225 -Node: Reporting Bugs355784 -Node: Major Differences From The Bourne Shell356985 -Node: GNU Free Documentation License373672 -Node: Indexes398868 -Node: Builtin Index399322 -Node: Reserved Word Index406149 -Node: Variable Index408597 -Node: Function Index420690 -Node: Concept Index427699 +Node: Locale Translation17773 +Node: Comments18669 +Node: Shell Commands19287 +Node: Simple Commands20111 +Node: Pipelines20742 +Node: Lists22998 +Node: Compound Commands24727 +Node: Looping Constructs25531 +Node: Conditional Constructs27986 +Node: Command Grouping36099 +Node: Coprocesses37578 +Node: Shell Functions39222 +Node: Shell Parameters43776 +Node: Positional Parameters46192 +Node: Special Parameters47092 +Node: Shell Expansions50056 +Node: Brace Expansion51981 +Node: Tilde Expansion54736 +Node: Shell Parameter Expansion57087 +Node: Command Substitution65988 +Node: Arithmetic Expansion67321 +Node: Process Substitution68171 +Node: Word Splitting69221 +Node: Filename Expansion70844 +Node: Pattern Matching72983 +Node: Quote Removal76622 +Node: Redirections76917 +Node: Executing Commands85442 +Node: Simple Command Expansion86112 +Node: Command Search and Execution88042 +Node: Command Execution Environment90379 +Node: Environment93365 +Node: Exit Status95025 +Node: Signals96646 +Node: Shell Scripts98614 +Node: Shell Builtin Commands101132 +Node: Bourne Shell Builtins103160 +Node: Bash Builtins120536 +Node: Modifying Shell Behavior145364 +Node: The Set Builtin145709 +Node: The Shopt Builtin155233 +Node: Special Builtins166095 +Node: Shell Variables167074 +Node: Bourne Shell Variables167514 +Node: Bash Variables169495 +Node: Bash Features192981 +Node: Invoking Bash193864 +Node: Bash Startup Files199673 +Node: Interactive Shells204685 +Node: What is an Interactive Shell?205095 +Node: Is this Shell Interactive?205744 +Node: Interactive Shell Behavior206559 +Node: Bash Conditional Expressions209839 +Node: Shell Arithmetic213488 +Node: Aliases216234 +Node: Arrays218806 +Node: The Directory Stack222764 +Node: Directory Stack Builtins223478 +Node: Printing a Prompt226370 +Node: The Restricted Shell229122 +Node: Bash POSIX Mode230954 +Node: Job Control239011 +Node: Job Control Basics239471 +Node: Job Control Builtins244188 +Node: Job Control Variables248552 +Node: Command Line Editing249710 +Node: Introduction and Notation251277 +Node: Readline Interaction252899 +Node: Readline Bare Essentials254090 +Node: Readline Movement Commands255879 +Node: Readline Killing Commands256844 +Node: Readline Arguments258764 +Node: Searching259808 +Node: Readline Init File261994 +Node: Readline Init File Syntax263141 +Node: Conditional Init Constructs277628 +Node: Sample Init File280161 +Node: Bindable Readline Commands283278 +Node: Commands For Moving284485 +Node: Commands For History285629 +Node: Commands For Text288784 +Node: Commands For Killing291457 +Node: Numeric Arguments293908 +Node: Commands For Completion295047 +Node: Keyboard Macros299007 +Node: Miscellaneous Commands299578 +Node: Readline vi Mode305384 +Node: Programmable Completion306298 +Node: Programmable Completion Builtins313504 +Node: Using History Interactively322640 +Node: Bash History Facilities323324 +Node: Bash History Builtins326238 +Node: History Interaction330095 +Node: Event Designators332800 +Node: Word Designators333815 +Node: Modifiers335454 +Node: Installing Bash336858 +Node: Basic Installation337995 +Node: Compilers and Options340687 +Node: Compiling For Multiple Architectures341428 +Node: Installation Names343092 +Node: Specifying the System Type343910 +Node: Sharing Defaults344626 +Node: Operation Controls345299 +Node: Optional Features346257 +Node: Reporting Bugs355816 +Node: Major Differences From The Bourne Shell357017 +Node: GNU Free Documentation License373704 +Node: Indexes398900 +Node: Builtin Index399354 +Node: Reserved Word Index406181 +Node: Variable Index408629 +Node: Function Index420722 +Node: Concept Index427731 End Tag Table diff --git a/doc/bashref.pdf b/doc/bashref.pdf Binary files differindex bb3871f4..61b24725 100644 --- a/doc/bashref.pdf +++ b/doc/bashref.pdf diff --git a/doc/bashref.ps b/doc/bashref.ps index 5e11cd3e..8eb5d433 100644 --- a/doc/bashref.ps +++ b/doc/bashref.ps @@ -11,7 +11,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2009.12.23:1647 +%DVIPSSource: TeX output 2009.12.29:1559 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -5094,136 +5094,136 @@ h(meaning)f(of)h(certain)g(c)m(haracters)g(or)f(w)m(ords)g(to)h(the)f (ecial)h(treatmen)m(t)h(for)e(sp)s(ecial)h(c)m(haracters,)i(to)e(prev)m (en)m(t)g(reserv)m(ed)150 665 y(w)m(ords)i(from)g(b)s(eing)g (recognized)h(as)g(suc)m(h,)f(and)g(to)h(prev)m(en)m(t)g(parameter)g -(expansion.)275 799 y(Eac)m(h)22 b(of)g(the)g(shell)g(metac)m +(expansion.)275 793 y(Eac)m(h)22 b(of)g(the)g(shell)g(metac)m (haracters)i(\(see)f(Chapter)e(2)i([De\014nitions],)h(page)f(3\))g(has) -e(sp)s(ecial)i(meaning)150 909 y(to)40 b(the)g(shell)f(and)g(m)m(ust)g +e(sp)s(ecial)i(meaning)150 902 y(to)40 b(the)g(shell)f(and)g(m)m(ust)g (b)s(e)g(quoted)g(if)h(it)g(is)f(to)h(represen)m(t)g(itself.)68 -b(When)39 b(the)h(command)f(history)150 1019 y(expansion)i(facilities)j +b(When)39 b(the)h(command)f(history)150 1012 y(expansion)i(facilities)j (are)e(b)s(eing)f(used)g(\(see)h(Section)h(9.3)f([History)h(In)m -(teraction],)j(page)c(123\),)47 b(the)150 1128 y Fq(history)30 +(teraction],)j(page)c(123\),)47 b(the)150 1122 y Fq(history)30 b(expansion)h Ft(c)m(haracter,)h(usually)f(`)p Fs(!)p Ft(',)g(m)m(ust)f(b)s(e)g(quoted)h(to)g(prev)m(en)m(t)g(history)g -(expansion.)41 b(See)150 1238 y(Section)22 b(9.1)g([Bash)f(History)h(F) +(expansion.)41 b(See)150 1231 y(Section)22 b(9.1)g([Bash)f(History)h(F) -8 b(acilities],)26 b(page)c(121,)j(for)20 b(more)h(details)h -(concerning)g(history)f(expansion.)275 1372 y(There)36 +(concerning)g(history)f(expansion.)275 1359 y(There)36 b(are)i(three)f(quoting)g(mec)m(hanisms:)55 b(the)37 b Fq(escap)s(e)h(c)m(haracter)7 b Ft(,)40 b(single)d(quotes,)j(and)c -(double)150 1482 y(quotes.)150 1681 y Fj(3.1.2.1)63 b(Escap)s(e)41 -b(Character)150 1828 y Ft(A)36 b(non-quoted)f(bac)m(kslash)h(`)p +(double)150 1469 y(quotes.)150 1655 y Fj(3.1.2.1)63 b(Escap)s(e)41 +b(Character)150 1802 y Ft(A)36 b(non-quoted)f(bac)m(kslash)h(`)p Fs(\\)p Ft(')g(is)f(the)h(Bash)g(escap)s(e)f(c)m(haracter.)58 b(It)36 b(preserv)m(es)f(the)h(literal)h(v)-5 b(alue)36 -b(of)150 1937 y(the)27 b(next)g(c)m(haracter)h(that)f(follo)m(ws,)i +b(of)150 1911 y(the)27 b(next)g(c)m(haracter)h(that)f(follo)m(ws,)i (with)d(the)h(exception)g(of)g Fs(newline)p Ft(.)38 b(If)26 -b(a)h Fs(\\newline)d Ft(pair)i(app)s(ears,)150 2047 y(and)k(the)h(bac)m +b(a)h Fs(\\newline)d Ft(pair)i(app)s(ears,)150 2021 y(and)k(the)h(bac)m (kslash)g(itself)g(is)g(not)g(quoted,)g(the)f Fs(\\newline)f Ft(is)h(treated)i(as)f(a)g(line)g(con)m(tin)m(uation)h(\(that)150 -2156 y(is,)f(it)g(is)f(remo)m(v)m(ed)h(from)f(the)h(input)e(stream)i -(and)f(e\013ectiv)m(ely)j(ignored\).)150 2355 y Fj(3.1.2.2)63 -b(Single)42 b(Quotes)150 2502 y Ft(Enclosing)24 b(c)m(haracters)h(in)e +2131 y(is,)f(it)g(is)f(remo)m(v)m(ed)h(from)f(the)h(input)e(stream)i +(and)f(e\013ectiv)m(ely)j(ignored\).)150 2317 y Fj(3.1.2.2)63 +b(Single)42 b(Quotes)150 2464 y Ft(Enclosing)24 b(c)m(haracters)h(in)e (single)h(quotes)g(\(`)p Fs(')p Ft('\))g(preserv)m(es)g(the)f(literal)i (v)-5 b(alue)24 b(of)g(eac)m(h)g(c)m(haracter)h(within)150 -2612 y(the)31 b(quotes.)42 b(A)31 b(single)h(quote)f(ma)m(y)g(not)g(o)s +2573 y(the)31 b(quotes.)42 b(A)31 b(single)h(quote)f(ma)m(y)g(not)g(o)s (ccur)g(b)s(et)m(w)m(een)g(single)h(quotes,)f(ev)m(en)h(when)d -(preceded)i(b)m(y)g(a)150 2721 y(bac)m(kslash.)150 2920 -y Fj(3.1.2.3)63 b(Double)42 b(Quotes)150 3067 y Ft(Enclosing)24 +(preceded)i(b)m(y)g(a)150 2683 y(bac)m(kslash.)150 2869 +y Fj(3.1.2.3)63 b(Double)42 b(Quotes)150 3016 y Ft(Enclosing)24 b(c)m(haracters)h(in)f(double)f(quotes)h(\(`)p Fs(")p Ft('\))g(preserv)m(es)g(the)g(literal)h(v)-5 b(alue)24 -b(of)g(all)g(c)m(haracters)h(within)150 3177 y(the)34 +b(of)g(all)g(c)m(haracters)h(within)150 3125 y(the)34 b(quotes,)h(with)f(the)g(exception)h(of)f(`)p Fs($)p Ft(',)h(`)p Fs(`)p Ft(',)g(`)p Fs(\\)p Ft(',)g(and,)f(when)f(history)g -(expansion)h(is)g(enabled,)h(`)p Fs(!)p Ft('.)150 3286 +(expansion)h(is)g(enabled,)h(`)p Fs(!)p Ft('.)150 3235 y(The)25 b(c)m(haracters)h(`)p Fs($)p Ft(')g(and)f(`)p Fs(`)p Ft(')g(retain)h(their)f(sp)s(ecial)h(meaning)f(within)g(double)g -(quotes)h(\(see)g(Section)g(3.5)150 3396 y([Shell)j(Expansions],)g +(quotes)h(\(see)g(Section)g(3.5)150 3345 y([Shell)j(Expansions],)g (page)h(17\).)41 b(The)28 b(bac)m(kslash)i(retains)f(its)h(sp)s(ecial)f -(meaning)g(only)g(when)f(follo)m(w)m(ed)150 3506 y(b)m(y)41 +(meaning)g(only)g(when)f(follo)m(w)m(ed)150 3454 y(b)m(y)41 b(one)f(of)h(the)g(follo)m(wing)h(c)m(haracters:)63 b(`)p Fs($)p Ft(',)43 b(`)p Fs(`)p Ft(',)h(`)p Fs(")p Ft(',)g(`)p Fs(\\)p Ft(',)f(or)e Fs(newline)p Ft(.)69 b(Within)41 -b(double)f(quotes,)150 3615 y(bac)m(kslashes)25 b(that)h(are)f(follo)m +b(double)f(quotes,)150 3564 y(bac)m(kslashes)25 b(that)h(are)f(follo)m (w)m(ed)h(b)m(y)e(one)h(of)g(these)g(c)m(haracters)h(are)f(remo)m(v)m -(ed.)40 b(Bac)m(kslashes)26 b(preceding)150 3725 y(c)m(haracters)35 +(ed.)40 b(Bac)m(kslashes)26 b(preceding)150 3673 y(c)m(haracters)35 b(without)e(a)h(sp)s(ecial)f(meaning)h(are)f(left)h(unmo)s(di\014ed.)47 b(A)34 b(double)f(quote)g(ma)m(y)h(b)s(e)f(quoted)150 -3834 y(within)h(double)h(quotes)g(b)m(y)g(preceding)g(it)g(with)g(a)g +3783 y(within)h(double)h(quotes)g(b)m(y)g(preceding)g(it)g(with)g(a)g (bac)m(kslash.)55 b(If)35 b(enabled,)h(history)f(expansion)g(will)150 -3944 y(b)s(e)f(p)s(erformed)g(unless)g(an)h(`)p Fs(!)p +3892 y(b)s(e)f(p)s(erformed)g(unless)g(an)h(`)p Fs(!)p Ft(')g(app)s(earing)f(in)h(double)f(quotes)i(is)f(escap)s(ed)g(using)f -(a)h(bac)m(kslash.)55 b(The)150 4054 y(bac)m(kslash)31 +(a)h(bac)m(kslash.)55 b(The)150 4002 y(bac)m(kslash)31 b(preceding)f(the)h(`)p Fs(!)p Ft(')f(is)h(not)g(remo)m(v)m(ed.)275 -4188 y(The)41 b(sp)s(ecial)h(parameters)f(`)p Fs(*)p +4130 y(The)41 b(sp)s(ecial)h(parameters)f(`)p Fs(*)p Ft(')h(and)f(`)p Fs(@)p Ft(')h(ha)m(v)m(e)g(sp)s(ecial)g(meaning)g -(when)f(in)g(double)g(quotes)h(\(see)150 4298 y(Section)31 +(when)f(in)g(double)g(quotes)h(\(see)150 4240 y(Section)31 b(3.5.3)h([Shell)f(P)m(arameter)h(Expansion],)e(page)h(19\).)150 -4497 y Fj(3.1.2.4)63 b(ANSI-C)40 b(Quoting)150 4643 y +4426 y Fj(3.1.2.4)63 b(ANSI-C)40 b(Quoting)150 4573 y Ft(W)-8 b(ords)41 b(of)h(the)f(form)g Fs($')p Fi(string)11 b Fs(')38 b Ft(are)k(treated)g(sp)s(ecially)-8 b(.)75 b(The)41 b(w)m(ord)g(expands)f(to)i Fq(string)8 b Ft(,)44 -b(with)150 4753 y(bac)m(kslash-escap)s(ed)g(c)m(haracters)h(replaced)f +b(with)150 4682 y(bac)m(kslash-escap)s(ed)g(c)m(haracters)h(replaced)f (as)g(sp)s(eci\014ed)f(b)m(y)g(the)g(ANSI)g(C)g(standard.)79 -b(Bac)m(kslash)150 4863 y(escap)s(e)31 b(sequences,)g(if)f(presen)m(t,) -h(are)g(deco)s(ded)f(as)g(follo)m(ws:)150 5022 y Fs(\\a)384 -b Ft(alert)31 b(\(b)s(ell\))150 5181 y Fs(\\b)384 b Ft(bac)m(kspace)150 -5340 y Fs(\\e)g Ft(an)30 b(escap)s(e)h(c)m(haracter)h(\(not)f(ANSI)f -(C\))p eop end +b(Bac)m(kslash)150 4792 y(escap)s(e)31 b(sequences,)g(if)f(presen)m(t,) +h(are)g(deco)s(ded)f(as)g(follo)m(ws:)150 4938 y Fs(\\a)384 +b Ft(alert)31 b(\(b)s(ell\))150 5084 y Fs(\\b)384 b Ft(bac)m(kspace)150 +5230 y Fs(\\e)150 5340 y(\\E)g Ft(an)30 b(escap)s(e)h(c)m(haracter)h +(\(not)f(ANSI)f(C\))p eop end %%Page: 7 13 TeXDict begin 7 12 bop 150 -116 a Ft(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(7)150 299 -y Fs(\\f)384 b Ft(form)30 b(feed)150 486 y Fs(\\n)384 -b Ft(newline)150 674 y Fs(\\r)g Ft(carriage)32 b(return)150 -861 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)150 1049 -y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)150 1237 y Fs(\\\\)384 -b Ft(bac)m(kslash)150 1424 y Fs(\\')g Ft(single)31 b(quote)150 -1612 y Fs(\\)p Fi(nnn)288 b Ft(the)31 b(eigh)m(t-bit)h(c)m(haracter)g -(whose)e(v)-5 b(alue)31 b(is)f(the)h(o)s(ctal)g(v)-5 -b(alue)31 b Fq(nnn)e Ft(\(one)i(to)g(three)g(digits\))150 -1799 y Fs(\\x)p Fi(HH)288 b Ft(the)36 b(eigh)m(t-bit)i(c)m(haracter)f -(whose)f(v)-5 b(alue)36 b(is)g(the)g(hexadecimal)h(v)-5 -b(alue)36 b Fq(HH)46 b Ft(\(one)37 b(or)f(t)m(w)m(o)630 -1909 y(hex)30 b(digits\))150 2096 y Fs(\\c)p Fi(x)336 -b Ft(a)31 b(con)m(trol-)p Fq(x)38 b Ft(c)m(haracter)150 -2298 y(The)30 b(expanded)f(result)i(is)f(single-quoted,)i(as)f(if)f -(the)g(dollar)h(sign)g(had)e(not)i(b)s(een)f(presen)m(t.)150 -2525 y Fj(3.1.2.5)63 b(Lo)s(cale-Sp)s(eci\014c)41 b(T)-10 -b(ranslation)150 2672 y Ft(A)28 b(double-quoted)g(string)f(preceded)h -(b)m(y)f(a)h(dollar)h(sign)e(\(`)p Fs($)p Ft('\))i(will)f(cause)g(the)g -(string)g(to)g(b)s(e)f(translated)150 2782 y(according)f(to)f(the)g -(curren)m(t)g(lo)s(cale.)41 b(If)24 b(the)h(curren)m(t)g(lo)s(cale)h -(is)f Fs(C)g Ft(or)g Fs(POSIX)p Ft(,)f(the)h(dollar)h(sign)f(is)g -(ignored.)150 2891 y(If)30 b(the)g(string)h(is)f(translated)h(and)f -(replaced,)h(the)g(replacemen)m(t)h(is)e(double-quoted.)275 -3054 y(Some)20 b(systems)h(use)f(the)h(message)h(catalog)h(selected)f -(b)m(y)f(the)g Fs(LC_MESSAGES)c Ft(shell)k(v)-5 b(ariable.)39 -b(Others)150 3164 y(create)g(the)e(name)g(of)g(the)g(message)h(catalog) -i(from)d(the)g(v)-5 b(alue)37 b(of)g(the)h Fs(TEXTDOMAIN)c -Ft(shell)j(v)-5 b(ariable,)150 3273 y(p)s(ossibly)31 -b(adding)g(a)g(su\016x)g(of)h(`)p Fs(.mo)p Ft('.)43 b(If)31 -b(y)m(ou)h(use)f(the)h Fs(TEXTDOMAIN)c Ft(v)-5 b(ariable,)33 -b(y)m(ou)f(ma)m(y)g(need)f(to)h(set)150 3383 y(the)22 -b Fs(TEXTDOMAINDIR)d Ft(v)-5 b(ariable)23 b(to)g(the)f(lo)s(cation)i -(of)e(the)h(message)g(catalog)i(\014les.)38 b(Still)23 -b(others)f(use)g(b)s(oth)150 3492 y(v)-5 b(ariables)31 +y Fs(\\f)384 b Ft(form)30 b(feed)150 475 y Fs(\\n)384 +b Ft(newline)150 652 y Fs(\\r)g Ft(carriage)32 b(return)150 +828 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)150 1005 +y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)150 1181 y Fs(\\\\)384 +b Ft(bac)m(kslash)150 1358 y Fs(\\')g Ft(single)31 b(quote)150 +1534 y Fs(\\")384 b Ft(double)30 b(quote)150 1711 y Fs(\\)p +Fi(nnn)288 b Ft(the)31 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5 +b(alue)31 b(is)f(the)h(o)s(ctal)g(v)-5 b(alue)31 b Fq(nnn)e +Ft(\(one)i(to)g(three)g(digits\))150 1887 y Fs(\\x)p +Fi(HH)288 b Ft(the)36 b(eigh)m(t-bit)i(c)m(haracter)f(whose)f(v)-5 +b(alue)36 b(is)g(the)g(hexadecimal)h(v)-5 b(alue)36 b +Fq(HH)46 b Ft(\(one)37 b(or)f(t)m(w)m(o)630 1997 y(hex)30 +b(digits\))150 2173 y Fs(\\c)p Fi(x)336 b Ft(a)31 b(con)m(trol-)p +Fq(x)38 b Ft(c)m(haracter)150 2358 y(The)30 b(expanded)f(result)i(is)f +(single-quoted,)i(as)f(if)f(the)g(dollar)h(sign)g(had)e(not)i(b)s(een)f +(presen)m(t.)150 2575 y Fj(3.1.2.5)63 b(Lo)s(cale-Sp)s(eci\014c)41 +b(T)-10 b(ranslation)150 2722 y Ft(A)28 b(double-quoted)g(string)f +(preceded)h(b)m(y)f(a)h(dollar)h(sign)e(\(`)p Fs($)p +Ft('\))i(will)f(cause)g(the)g(string)g(to)g(b)s(e)f(translated)150 +2831 y(according)f(to)f(the)g(curren)m(t)g(lo)s(cale.)41 +b(If)24 b(the)h(curren)m(t)g(lo)s(cale)h(is)f Fs(C)g +Ft(or)g Fs(POSIX)p Ft(,)f(the)h(dollar)h(sign)f(is)g(ignored.)150 +2941 y(If)30 b(the)g(string)h(is)f(translated)h(and)f(replaced,)h(the)g +(replacemen)m(t)h(is)e(double-quoted.)275 3093 y(Some)20 +b(systems)h(use)f(the)h(message)h(catalog)h(selected)f(b)m(y)f(the)g +Fs(LC_MESSAGES)c Ft(shell)k(v)-5 b(ariable.)39 b(Others)150 +3202 y(create)g(the)e(name)g(of)g(the)g(message)h(catalog)i(from)d(the) +g(v)-5 b(alue)37 b(of)g(the)h Fs(TEXTDOMAIN)c Ft(shell)j(v)-5 +b(ariable,)150 3312 y(p)s(ossibly)31 b(adding)g(a)g(su\016x)g(of)h(`)p +Fs(.mo)p Ft('.)43 b(If)31 b(y)m(ou)h(use)f(the)h Fs(TEXTDOMAIN)c +Ft(v)-5 b(ariable,)33 b(y)m(ou)f(ma)m(y)g(need)f(to)h(set)150 +3421 y(the)22 b Fs(TEXTDOMAINDIR)d Ft(v)-5 b(ariable)23 +b(to)g(the)f(lo)s(cation)i(of)e(the)h(message)g(catalog)i(\014les.)38 +b(Still)23 b(others)f(use)g(b)s(oth)150 3531 y(v)-5 b(ariables)31 b(in)f(this)g(fashion:)41 b Fs(TEXTDOMAINDIR)p Ft(/)p -Fs(LC_MESSAGES)p Ft(/LC)p 2528 3492 28 4 v 34 w(MESSA)m(GES/)p -Fs(TEXTDOMAIN)p Ft(.mo.)150 3720 y Fj(3.1.3)63 b(Commen)m(ts)150 -3867 y Ft(In)21 b(a)i(non-in)m(teractiv)m(e)h(shell,)g(or)e(an)g(in)m +Fs(LC_MESSAGES)p Ft(/LC)p 2528 3531 28 4 v 34 w(MESSA)m(GES/)p +Fs(TEXTDOMAIN)p Ft(.mo.)150 3747 y Fj(3.1.3)63 b(Commen)m(ts)150 +3894 y Ft(In)21 b(a)i(non-in)m(teractiv)m(e)h(shell,)g(or)e(an)g(in)m (teractiv)m(e)j(shell)d(in)g(whic)m(h)g(the)g Fs(interactive_comments) -16 b Ft(option)150 3976 y(to)40 b(the)f Fs(shopt)e Ft(builtin)h(is)h +16 b Ft(option)150 4004 y(to)40 b(the)f Fs(shopt)e Ft(builtin)h(is)h (enabled)g(\(see)h(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)e -(55\),)i(a)d(w)m(ord)150 4086 y(b)s(eginning)26 b(with)g(`)p +(55\),)i(a)d(w)m(ord)150 4113 y(b)s(eginning)26 b(with)g(`)p Fs(#)p Ft(')g(causes)h(that)f(w)m(ord)g(and)g(all)h(remaining)g(c)m (haracters)g(on)f(that)h(line)g(to)g(b)s(e)f(ignored.)150 -4195 y(An)43 b(in)m(teractiv)m(e)j(shell)e(without)f(the)g +4223 y(An)43 b(in)m(teractiv)m(e)j(shell)e(without)f(the)g Fs(interactive_comments)38 b Ft(option)44 b(enabled)f(do)s(es)g(not)g -(allo)m(w)150 4305 y(commen)m(ts.)56 b(The)34 b Fs +(allo)m(w)150 4333 y(commen)m(ts.)56 b(The)34 b Fs (interactive_comments)c Ft(option)35 b(is)g(on)g(b)m(y)g(default)g(in)g -(in)m(teractiv)m(e)j(shells.)55 b(See)150 4415 y(Section)30 +(in)m(teractiv)m(e)j(shells.)55 b(See)150 4442 y(Section)30 b(6.3)f([In)m(teractiv)m(e)j(Shells],)d(page)h(75,)g(for)e(a)i (description)e(of)h(what)g(mak)m(es)h(a)f(shell)g(in)m(teractiv)m(e.) -150 4689 y Fr(3.2)68 b(Shell)45 b(Commands)150 4849 y +150 4700 y Fr(3.2)68 b(Shell)45 b(Commands)150 4860 y Ft(A)d(simple)g(shell)g(command)f(suc)m(h)h(as)g Fs(echo)29 b(a)h(b)g(c)41 b Ft(consists)i(of)f(the)f(command)h(itself)h(follo)m(w) -m(ed)g(b)m(y)150 4958 y(argumen)m(ts,)31 b(separated)g(b)m(y)f(spaces.) +m(ed)g(b)m(y)150 4969 y(argumen)m(ts,)31 b(separated)g(b)m(y)f(spaces.) 275 5121 y(More)h(complex)h(shell)f(commands)g(are)g(comp)s(osed)g(of)g (simple)g(commands)g(arranged)g(together)h(in)150 5230 y(a)f(v)-5 b(ariet)m(y)32 b(of)f(w)m(a)m(ys:)41 b(in)31 @@ -8253,8 +8253,8 @@ b(The)30 b(default)h(index)f(is)g(0.)p eop end TeXDict begin 47 52 bop 150 -116 a Ft(Chapter)30 b(4:)41 b(Shell)30 b(Builtin)h(Commands)2069 b(47)630 299 y Fs(-s)384 b Ft(Discard)31 b(the)f(\014rst)g Fq(coun)m(t)j Ft(lines)e(read.)630 -458 y Fs(-t)384 b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(line)g(from)f -(eac)m(h)i(line)e(read.)630 618 y Fs(-u)384 b Ft(Read)31 +458 y Fs(-t)384 b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(newline)g(from)f +(eac)m(h)h(line)g(read.)630 618 y Fs(-u)384 b Ft(Read)31 b(lines)f(from)g(\014le)h(descriptor)f Fq(fd)j Ft(instead)e(of)f(the)h (standard)e(input.)630 777 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43 b Fq(callbac)m(k)49 b Ft(eac)m(h)42 b(time)g Fq(quan)m(tum)p diff --git a/doc/bashref.texi b/doc/bashref.texi index 41370988..bf8e3d03 100644 --- a/doc/bashref.texi +++ b/doc/bashref.texi @@ -3666,7 +3666,7 @@ The default index is 0. @item -s Discard the first @var{count} lines read. @item -t -Remove a trailing line from each line read. +Remove a trailing newline from each line read. @item -u Read lines from file descriptor @var{fd} instead of the standard input. @item -C diff --git a/doc/builtins.0 b/doc/builtins.0 index c69b32ac..a721e389 100644 --- a/doc/builtins.0 +++ b/doc/builtins.0 @@ -368,8 +368,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS above). --ff Use function names only. --ii The variable is treated as an integer; arithmetic evalua- - tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN )) is performed when the - variable is assigned a value. + tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when + the variable is assigned a value. --ll When the variable is assigned a value, all upper-case characters are converted to lower-case. The upper-case attribute is disabled. @@ -387,8 +387,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS Using `+' instead of `-' turns off the attribute instead, with the exceptions that ++aa may not be used to destroy an array vari- - able and ++rr wwiillll nnoott rreemmoovvee tthhee rreeaaddoonnllyy aattttrriibbuuttee.. WWhheenn uusseedd - iinn aa ffuunnccttiioonn,, mmaakkeess eeaacchh _n_a_m_e llooccaall,, aass wwiitthh tthhee llooccaall command. + able and ++rr will not remove the readonly attribute. When used + in a function, makes each _n_a_m_e local, as with the llooccaall command. If a variable name is followed by =_v_a_l_u_e, the value of the vari- able is set to _v_a_l_u_e. The return value is 0 unless an invalid option is encountered, an attempt is made to define a function @@ -426,9 +426,9 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS ddiissoowwnn [--aarr] [--hh] [_j_o_b_s_p_e_c ...] Without options, each _j_o_b_s_p_e_c is removed from the table of - active jobs. If _j_o_b_s_p_e_c is not present, and neither --aa nnoorr --rr - iiss ssuupppplliieedd,, tthhee sshheellll''ss nnoottiioonn ooff tthhee _c_u_r_r_e_n_t _j_o_b iiss uusseedd.. IIff - tthhee --hh ooppttiioonn iiss ggiivveenn,, eeaacchh _j_o_b_s_p_e_c is not removed from the ta- + active jobs. If _j_o_b_s_p_e_c is not present, and neither --aa nor --rr + is supplied, the shell's notion of the _c_u_r_r_e_n_t _j_o_b is used. If + the --hh option is given, each _j_o_b_s_p_e_c is not removed from the ta- ble, but is marked so that SSIIGGHHUUPP is not sent to the job if the shell receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is present, and neither the --aa nor the --rr option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. @@ -681,16 +681,16 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS The last command in the history list is removed before the _a_r_g_s are added. - If the HHIISSTTTTIIMMEEFFOORRMMAATT is set, the time stamp information associ- - ated with each history entry is written to the history file, - marked with the history comment character. When the history - file is read, lines beginning with the history comment character - followed immediately by a digit are interpreted as timestamps - for the previous history line. The return value is 0 unless an - invalid option is encountered, an error occurs while reading or - writing the history file, an invalid _o_f_f_s_e_t is supplied as an - argument to --dd, or the history expansion supplied as an argument - to --pp fails. + If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, the time stamp informa- + tion associated with each history entry is written to the his- + tory file, marked with the history comment character. When the + history file is read, lines beginning with the history comment + character followed immediately by a digit are interpreted as + timestamps for the previous history line. The return value is 0 + unless an invalid option is encountered, an error occurs while + reading or writing the history file, an invalid _o_f_f_s_e_t is sup- + plied as an argument to --dd, or the history expansion supplied as + an argument to --pp fails. jjoobbss [--llnnpprrss] [ _j_o_b_s_p_e_c ... ] jjoobbss --xx _c_o_m_m_a_n_d [ _a_r_g_s ... ] @@ -729,8 +729,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS lleett _a_r_g [_a_r_g ...] Each _a_r_g is an arithmetic expression to be evaluated (see AARRIITTHH-- - MMEETTIICC EEVVAALLUUAATTIIOONN). If the last _a_r_g evaluates to 0, lleett returns - 1; 0 is returned otherwise. + MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett + returns 1; 0 is returned otherwise. llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ...] For each argument, a local variable named _n_a_m_e is created, and @@ -758,7 +758,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default index is 0. --ss Discard the first _c_o_u_n_t lines read. - --tt Remove a trailing line from each line read. + --tt Remove a trailing newline from each line read. --uu Read lines from file descriptor _f_d instead of the stan- dard input. --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The @@ -1017,11 +1017,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS is interactive, unless the shell is started with the ----nnooeeddiittiinngg option. This also affects the editing interface used for rreeaadd --ee. + eerrrreexxiitt Same as --ee. eerrrrttrraaccee Same as --EE. ffuunnccttrraaccee Same as --TT. - eerrrreexxiitt Same as --ee. hhaasshhaallll Same as --hh. hhiisstteexxppaanndd Same as --HH. @@ -1556,10 +1556,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS unset. If --ff is specified, each _n_a_m_e refers to a shell func- tion, and the function definition is removed. Each unset vari- able or function is removed from the environment passed to sub- - sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD, - FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their special - properties, even if they are subsequently reset. The exit sta- - tus is true unless a _n_a_m_e is readonly. + sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS, + LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they + lose their special properties, even if they are subsequently + reset. The exit status is true unless a _n_a_m_e is readonly. wwaaiitt [_n _._._.] Wait for each specified process and return its termination sta- diff --git a/doc/builtins.ps b/doc/builtins.ps index 06b57e2c..539dfb0a 100644 --- a/doc/builtins.ps +++ b/doc/builtins.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.19.2 -%%CreationDate: Wed Dec 23 16:47:11 2009 +%%CreationDate: Wed Dec 30 13:07:37 2009 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -404,16 +404,16 @@ E F2 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)-.05 G 180 312 Q F1(shell\255command)4.325 E F0 1.825(to be e)4.325 F -.15(xe) -.15 G 1.825(cuted whene).15 F -.15(ve)-.25 G(r).15 E F1 -.1(ke)4.325 G (yseq)-.2 E F0 1.825(is entered.)4.325 F(When)6.825 E F1(shell\255com-) -4.325 E(mand)180 324 Q F0 1.113(is e)3.614 F -.15(xe)-.15 G 1.113 -(cuted, the shell sets the).15 F F2(READLINE_LINE)3.613 E F0 -.25(va) -3.613 G 1.113(riable to the contents of the).25 F F2 -.18(re)180 336 S -(adline).18 E F0 .586(line b)3.086 F(uf)-.2 E .586(fer and the)-.25 F F2 -(READLINE_POINT)3.087 E F0 -.25(va)3.087 G .587 -(riable to the current location of the).25 F 1.241(insertion point.)180 -348 R 1.241(If the e)6.241 F -.15(xe)-.15 G 1.241 -(cuted command changes the v).15 F 1.241(alue of)-.25 F F2 -(READLINE_LINE)3.741 E F0(or)3.74 E F2(READLINE_POINT)180 360 Q F0 2.5 -(,t)C(hose ne)-2.5 E 2.5(wv)-.25 G +4.325 E(mand)180 324 Q F0 1.765(is e)4.265 F -.15(xe)-.15 G 1.765 +(cuted, the shell sets the).15 F/F3 9/Times-Bold@0 SF(READLINE_LINE) +4.265 E F0 -.25(va)4.015 G 1.765(riable to the contents of the).25 F F2 +-.18(re)180 336 S(adline).18 E F0 1.353(line b)3.852 F(uf)-.2 E 1.353 +(fer and the)-.25 F F3(READLINE_POINT)3.853 E F0 -.25(va)3.603 G 1.353 +(riable to the current location of the).25 F 2.012(insertion point.)180 +348 R 2.011(If the e)7.012 F -.15(xe)-.15 G 2.011 +(cuted command changes the v).15 F 2.011(alue of)-.25 F F3 +(READLINE_LINE)4.511 E F0(or)4.261 E F3(READLINE_POINT)180 360 Q/F4 9 +/Times-Roman@0 SF(,)A F0(those ne)2.25 E 2.5(wv)-.25 G (alues will be re\215ected in the editing state.)-2.75 E(The return v) 144 376.8 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15 (ve)-.25 G 2.5(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 @@ -422,7 +422,7 @@ E F2(br)108 393.6 Q(eak)-.18 E F0([)2.5 E F1(n)A F0(])A .054 (while)2.554 E F0(,)A F2(until)2.555 E F0 2.555(,o)C(r)-2.555 E F2 (select)2.555 E F0 2.555(loop. If)2.555 F F1(n)2.555 E F0 .055 (is speci\214ed, break)2.555 F F1(n)2.555 E F0(le)2.555 E -.15(ve)-.25 G -(ls.).15 E F1(n)5.415 E F0 .055(must be)2.795 F/F3 10/Symbol SF<b3>2.555 +(ls.).15 E F1(n)5.415 E F0 .055(must be)2.795 F/F5 10/Symbol SF<b3>2.555 E F0(1.)2.555 E(If)144 417.6 Q F1(n)3.075 E F0 .215(is greater than the\ number of enclosing loops, all enclosing loops are e)2.955 F 2.714 (xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E(is 0 unless)144 @@ -461,18 +461,18 @@ ent e)144 559.2 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001 (alid position in the call stack.)-.25 E F2(cd)108 612 Q F0([)2.5 E F2 (\255L|-P)A F0 2.5(][)C F1(dir)-2.5 E F0(])A .21 (Change the current directory to)144 624 R F1(dir)2.71 E F0 5.21(.T)C -.21(he v)-5.21 F(ariable)-.25 E/F4 9/Times-Bold@0 SF(HOME)2.71 E F0 .21 -(is the def)2.46 F(ault)-.1 E F1(dir)2.71 E F0 5.21(.T).73 G .21(he v) --5.21 F(ariable)-.25 E F4(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776 +.21(he v)-5.21 F(ariable)-.25 E F3(HOME)2.71 E F0 .21(is the def)2.46 F +(ault)-.1 E F1(dir)2.71 E F0 5.21(.T).73 G .21(he v)-5.21 F(ariable)-.25 +E F3(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776 (de\214nes the search path for the directory containing)144 636 R F1 (dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25 H -.777(irectory names in).15 F F4(CDP)3.277 E -.855(AT)-.666 G(H).855 E F0 +.777(irectory names in).15 F F3(CDP)3.277 E -.855(AT)-.666 G(H).855 E F0 .764(are separated by a colon \(:\).)144 648 R 3.264(An)5.764 G .764 -(ull directory name in)-3.264 F F4(CDP)3.264 E -.855(AT)-.666 G(H).855 E +(ull directory name in)-3.264 F F3(CDP)3.264 E -.855(AT)-.666 G(H).855 E F0 .764(is the same as the current direc-)3.014 F(tory)144 660 Q 2.973 (,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F2(.)A F0 -.74('')C 5.473(.I) .74 G(f)-5.473 E F1(dir)3.323 E F0(be)3.703 E .474 -(gins with a slash \(/\), then)-.15 F F4(CDP)2.974 E -.855(AT)-.666 G(H) +(gins with a slash \(/\), then)-.15 F F3(CDP)2.974 E -.855(AT)-.666 G(H) .855 E F0 .474(is not used. The)2.724 F F2<ad50>2.974 E F0 .474 (option says to use)2.974 F .58(the ph)144 672 R .58 (ysical directory structure instead of follo)-.05 F .579 @@ -481,12 +481,12 @@ F0 .764(is the same as the current direc-)3.014 F(tory)144 660 Q 2.973 (iltin command\); the).2 F F2<ad4c>3.383 E F0 .884 (option forces symbolic links to be follo)3.384 F 3.384(wed. An)-.25 F (ar)3.384 E .884(gument of)-.18 F F2<ad>3.384 E F0(is)3.384 E(equi)144 -696 Q -.25(va)-.25 G .063(lent to).25 F F4($OLDPWD)2.563 E/F5 9 -/Times-Roman@0 SF(.)A F0 .063(If a non-empty directory name from)4.563 F -F2(CDP)2.562 E -.95(AT)-.74 G(H).95 E F0 .062(is used, or if)2.562 F F2 -<ad>2.562 E F0 .062(is the \214rst)2.562 F(ar)144 708 Q .116(gument, an\ -d the directory change is successful, the absolute pathname of the ne) --.18 F 2.616(ww)-.25 G .116(orking direc-)-2.716 F 1.165 +696 Q -.25(va)-.25 G .316(lent to).25 F F3($OLDPWD)2.816 E F4(.)A F0 +.316(If a non-empty directory name from)4.816 F F3(CDP)2.815 E -.855(AT) +-.666 G(H).855 E F0 .315(is used, or if)2.565 F F2<ad>2.815 E F0 .315 +(is the \214rst)2.815 F(ar)144 708 Q .116(gument, and the directory cha\ +nge is successful, the absolute pathname of the ne)-.18 F 2.616(ww)-.25 +G .116(orking direc-)-2.716 F 1.165 (tory is written to the standard output.)144 720 R 1.164(The return v) 6.164 F 1.164(alue is true if the directory w)-.25 F 1.164 (as successfully)-.1 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(2) @@ -506,10 +506,10 @@ E F0(with)3.527 E F2(ar)3.087 E(gs)-.37 E F0 .257 /Times-Bold@0 SF -.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15 (xe)-.15 G 3.002(cuted. If).15 F(the)3.002 E F1<ad70>3.002 E F0 .502 (option is gi)3.002 F -.15(ve)-.25 G .501(n, the search for).15 F F2 -(command)3.201 E F0(is)3.771 E .231(performed using a def)144 136.8 R -.231(ault v)-.1 F .231(alue for)-.25 F F1 -.74(PA)2.731 G(TH)-.21 E F0 -.231(that is guaranteed to \214nd all of the standard utilities.)2.731 F -(If)5.232 E .175(either the)144 148.8 R F1<ad56>2.675 E F0(or)2.675 E F1 +(command)3.201 E F0(is)3.771 E .399(performed using a def)144 136.8 R +.399(ault v)-.1 F .399(alue for)-.25 F F3 -.666(PA)2.899 G(TH)-.189 E F0 +.4(that is guaranteed to \214nd all of the standard utilities.)2.649 F +(If)5.4 E .175(either the)144 148.8 R F1<ad56>2.675 E F0(or)2.675 E F1 <ad76>2.675 E F0 .175(option is supplied, a description of)2.675 F F2 (command)2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F1<ad76>2.674 E F0 .174(option causes)2.674 F 3.11(as)144 160.8 S .61(ingle w)-3.11 F @@ -798,13 +798,14 @@ E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).) <ad69>144 672 Q F0 .557(The v)27.52 F .558 (ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25 (va)-.25 G .558(luation \(see).25 F F3 .558(ARITHMETIC EV)3.058 F(ALU) --1.215 E(A-)-.54 E(TION \))180 684 Q F0(is performed when the v)2.25 E -(ariable is assigned a v)-.25 E(alue.)-.25 E F1<ad6c>144 696 Q F0 .91 -(When the v)27.52 F .909(ariable is assigned a v)-.25 F .909 -(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4 -G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 708 R -(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E(GNU Bash-4.0)72 -768 Q(2004 Apr 20)148.735 E(5)203.725 E 0 Cg EP +-1.215 E(A-)-.54 E(TION)180 684 Q F0(abo)2.25 E -.15(ve)-.15 G 2.5(\)i) +.15 G 2.5(sp)-2.5 G(erformed when the v)-2.5 E(ariable is assigned a v) +-.25 E(alue.)-.25 E F1<ad6c>144 696 Q F0 .91(When the v)27.52 F .909 +(ariable is assigned a v)-.25 F .909(alue, all upper)-.25 F .909 +(-case characters are con)-.2 F -.15(ve)-.4 G .909(rted to lo).15 F(wer) +-.25 E(-)-.2 E 2.5(case. The)180 708 R(upper)2.5 E(-case attrib)-.2 E +(ute is disabled.)-.2 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(5) +203.725 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP @@ -829,15 +830,15 @@ F0 2.5(sf)C(or e)-2.5 E(xport to subsequent commands via the en)-.15 E (vironment.)-.4 E .121(Using `+' instead of `\255' turns of)144 172.8 R 2.621(ft)-.25 G .121(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F -1.236(to destro)144 184.8 R 3.736(ya)-.1 G 3.737(na)-3.736 G 1.237 -(rray v)-3.737 F 1.237(ariable and)-.25 F F1 1.237(+r will not r)3.737 F -(emo)-.18 E 1.437 -.1(ve t)-.1 H 1.237(he r).1 F 1.237(eadonly attrib) --.18 F 3.737(ute. When)-.2 F 1.237(used in a)3.737 F .312(function, mak) -144 196.8 R .312(es each)-.1 F F2(name)2.812 E F1 .311 -(local, as with the local)2.812 F F0 2.811(command. If)2.811 F 2.811(av) -2.811 G .311(ariable name is follo)-3.061 F .311(wed by)-.25 F(=)144 -208.8 Q F2(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v) --.25 F .738(ariable is set to)-.25 F F2(value)3.238 E F0 5.738(.T)C .738 +.644(to destro)144 184.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v) +-3.144 F .644(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo) +3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145 +(ute. When)-.2 F .645(used in a func-)3.145 F 1.945(tion, mak)144 196.8 +R 1.945(es each)-.1 F F2(name)4.445 E F0 1.945(local, as with the)4.445 +F F1(local)4.444 E F0 4.444(command. If)4.444 F 4.444(av)4.444 G 1.944 +(ariable name is follo)-4.694 F 1.944(wed by)-.25 F(=)144 208.8 Q F2 +(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v)-.25 F .738 +(ariable is set to)-.25 F F2(value)3.238 E F0 5.738(.T)C .738 (he return v)-5.738 F .739(alue is 0 unless an in)-.25 F -.25(va)-.4 G .739(lid option is).25 F .603 (encountered, an attempt is made to de\214ne a function using)144 220.8 @@ -887,27 +888,27 @@ G(he)-2.772 E(stack.)180 453.6 Q .257(The return v)144 470.4 R .258 (...])2.5 E -.4(Wi)144 511.2 S .295(thout options, each).4 F F2(jobspec) 4.535 E F0 .295(is remo)3.105 F -.15(ve)-.15 G 2.795(df).15 G .295 (rom the table of acti)-2.795 F .595 -.15(ve j)-.25 H 2.795(obs. If).15 -F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .243(and neither) -144 523.2 R F1 .243(\255a nor \255r is supplied, the shell')2.743 F -2.743(sn)-.37 G .243(otion of the)-2.743 F F2(curr)2.743 E .243(ent job) --.37 F F1 .243(is used.)2.743 F .244(If the \255h option)5.243 F .334 -(is gi)144 535.2 R -.1(ve)-.1 G .334(n, each).1 F F2(jobspec)4.574 E F0 -.334(is not remo)3.144 F -.15(ve)-.15 G 2.834(df).15 G .334 -(rom the table, b)-2.834 F .334(ut is mark)-.2 F .334(ed so that)-.1 F -/F4 9/Times-Bold@0 SF(SIGHUP)2.834 E F0 .333(is not sent to)2.584 F -1.189(the job if the shell recei)144 547.2 R -.15(ve)-.25 G 3.689(sa).15 -G F4(SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0 1.189(If no)5.689 F F2 -(jobspec)5.429 E F0 1.189(is present, and neither the)3.999 F F1<ad61> -3.689 E F0 1.19(nor the)3.69 F F1<ad72>3.69 E F0 1.57 -(option is supplied, the)144 559.2 R F2(curr)4.07 E 1.57(ent job)-.37 F -F0 1.57(is used.)4.07 F 1.569(If no)6.569 F F2(jobspec)5.809 E F0 1.569 -(is supplied, the)4.379 F F1<ad61>4.069 E F0 1.569(option means to)4.069 -F(remo)144 571.2 Q .903 -.15(ve o)-.15 H 3.103(rm).15 G .603 -(ark all jobs; the)-3.103 F F1<ad72>3.103 E F0 .603(option without a) -3.103 F F2(jobspec)4.843 E F0(ar)3.414 E .604 -(gument restricts operation to running)-.18 F 2.5(jobs. The)144 583.2 R -(return v)2.5 E(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0 -(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 600 Q +F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .422(and neither) +144 523.2 R F1<ad61>2.922 E F0(nor)2.922 E F1<ad72>2.922 E F0 .422 +(is supplied, the shell')2.922 F 2.922(sn)-.55 G .422(otion of the) +-2.922 F F2(curr)2.923 E .423(ent job)-.37 F F0 .423(is used.)2.923 F +.423(If the)5.423 F F1<ad68>2.923 E F0 .423(option is)2.923 F(gi)144 +535.2 Q -.15(ve)-.25 G .141(n, each).15 F F2(jobspec)4.381 E F0 .141 +(is not remo)2.951 F -.15(ve)-.15 G 2.641(df).15 G .141 +(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F +/F4 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .14(is not sent to the)2.39 F +.004(job if the shell recei)144 547.2 R -.15(ve)-.25 G 2.504(sa).15 G F4 +(SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0 .004(If no)4.504 F F2(jobspec) +4.244 E F0 .004(is present, and neither the)2.814 F F1<ad61>2.504 E F0 +.005(nor the)2.504 F F1<ad72>2.505 E F0 .005(option is)2.505 F 1.229 +(supplied, the)144 559.2 R F2(curr)3.729 E 1.229(ent job)-.37 F F0 1.229 +(is used.)3.729 F 1.229(If no)6.229 F F2(jobspec)5.469 E F0 1.229 +(is supplied, the)4.039 F F1<ad61>3.729 E F0 1.228(option means to remo) +3.729 F 1.528 -.15(ve o)-.15 H(r).15 E .656(mark all jobs; the)144 571.2 +R F1<ad72>3.156 E F0 .657(option without a)3.156 F F2(jobspec)4.897 E F0 +(ar)3.467 E .657(gument restricts operation to running jobs.)-.18 F(The) +5.657 E(return v)144 583.2 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E +F0(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 600 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E .395(Output the)144 612 R F2(ar)2.895 E(g)-.37 E F0 .395 (s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895 @@ -1165,8 +1166,8 @@ F0 .803(The shell does not reset)5.304 F F4(OPTIND)3.303 E F0 .803 2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 561.6 Q 2.044(When the end of options is encountered,)144 585.6 R F1(getopts) 4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043 -(alue greater than zero.)-.25 F F1(OPTIND)144 597.6 Q F0 -(is set to the inde)2.5 E 2.5(xo)-.15 G 2.5(ft)-2.5 G +(alue greater than zero.)-.25 F F4(OPTIND)144 597.6 Q F0 +(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G (he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0 (is set to ?.)2.5 E F1(getopts)144 621.6 Q F0 2.392 (normally parses the positional parameters, b)4.892 F 2.392 @@ -1261,21 +1262,21 @@ F1(history \255p)108 458.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5 482.4 S .752 (th no options, display the command history list with line numbers.).4 F .752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2 -G 1.23(been modi\214ed.)144 494.4 R 1.23(An ar)6.23 F 1.23(gument of) --.18 F F2(n)4.09 E F0 1.231(lists only the last)3.97 F F2(n)4.091 E F0 -3.731(lines. If)3.971 F 1.231(the shell v)3.731 F(ariable)-.25 E F1 -(HISTTIME-)3.731 E(FORMA)144 506.4 Q(T)-.95 E F0 .25 -(is set and not null, it is used as a format string for)2.75 F F2 -(strftime)2.749 E F0 .249(\(3\) to display the time stamp)B .378 -(associated with each displayed history entry)144 518.4 R 5.378(.N)-.65 -G 2.878(oi)-5.378 G(nterv)-2.878 E .379 -(ening blank is printed between the format-)-.15 F .815 -(ted time stamp and the history line.)144 530.4 R(If)5.814 E F2 -(\214lename)3.314 E F0 .814 -(is supplied, it is used as the name of the history)3.314 F -(\214le; if not, the v)144 542.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0 -(is used.)2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H -(he follo).15 E(wing meanings:)-.25 E F1<ad63>144 554.4 Q F0 +G .38(been modi\214ed.)144 494.4 R .38(An ar)5.38 F .38(gument of)-.18 F +F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88 +(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E F3(HISTTIMEFOR-) +2.881 E(MA)144 506.4 Q(T)-.855 E F0 .265 +(is set and not null, it is used as a format string for)2.515 F F2 +(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019 +(ciated with each displayed history entry)144 518.4 R 6.019(.N)-.65 G +3.519(oi)-6.019 G(nterv)-3.519 E 1.019 +(ening blank is printed between the formatted)-.15 F .176 +(time stamp and the history line.)144 530.4 R(If)5.176 E F2(\214lename) +2.676 E F0 .176 +(is supplied, it is used as the name of the history \214le; if)2.676 F +(not, the v)144 542.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.) +2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1<ad63>144 554.4 Q F0 (Clear the history list by deleting all the entries.)25.86 E F1<ad64>144 566.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position) 180 578.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 590.4 Q F0 .598 @@ -1309,128 +1310,129 @@ E 0 Cg EP BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 -(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .28(If the) -144 84 R/F1 10/Times-Bold@0 SF(HISTTIMEFORMA)2.78 E(T)-.95 E F0 .28 -(is set, the time stamp information associated with each history entry) -2.78 F .54(is written to the history \214le, mark)144 96 R .539 -(ed with the history comment character)-.1 F 5.539(.W)-.55 G .539 -(hen the history \214le is)-5.539 F 1.778(read, lines be)144 108 R 1.778 -(ginning with the history comment character follo)-.15 F 1.779 -(wed immediately by a digit are)-.25 F 1.424 -(interpreted as timestamps for the pre)144 120 R 1.424 -(vious history line.)-.25 F 1.424(The return v)6.424 F 1.424 +(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .145(If the) +144 84 R/F1 9/Times-Bold@0 SF(HISTTIMEFORMA)2.645 E(T)-.855 E F0 -.25 +(va)2.395 G .145 +(riable is set, the time stamp information associated with each history) +.25 F .669(entry is written to the history \214le, mark)144 96 R .669 +(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668 +(hen the history)-5.668 F .955(\214le is read, lines be)144 108 R .956 +(ginning with the history comment character follo)-.15 F .956 +(wed immediately by a digit)-.25 F .416 +(are interpreted as timestamps for the pre)144 120 R .416 +(vious history line.)-.25 F .416(The return v)5.416 F .415 (alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\ ncountered, an error occurs while reading or writing the history \214le\ , an in)144 132 R -.25(va)-.4 G(lid).25 E/F2 10/Times-Italic@0 SF(of)3 E -(fset)-.18 E F0(is)3 E(supplied as an ar)144 144 Q(gument to)-.18 E F1 -<ad64>2.5 E F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E -(xpansion supplied as an ar)-.15 E(gument to)-.18 E F1<ad70>2.5 E F0 -.1 -(fa)2.5 G(ils.).1 E F1(jobs)108 160.8 Q F0([)2.5 E F1(\255lnprs)A F0 2.5 -(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 172.8 Q F2(command) -2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E +(fset)-.18 E F0(is)3 E(supplied as an ar)144 144 Q(gument to)-.18 E/F3 +10/Times-Bold@0 SF<ad64>2.5 E F0 2.5(,o)C 2.5(rt)-2.5 G(he history e) +-2.5 E(xpansion supplied as an ar)-.15 E(gument to)-.18 E F3<ad70>2.5 E +F0 -.1(fa)2.5 G(ils.).1 E F3(jobs)108 160.8 Q F0([)2.5 E F3(\255lnprs)A +F0 2.5(][)C F2(jobspec)A F0(... ])2.5 E F3(jobs \255x)108 172.8 Q F2 +(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E (The \214rst form lists the acti)144 184.8 Q .3 -.15(ve j)-.25 H 2.5 (obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1<ad6c>144 196.8 Q F0 -(List process IDs in addition to the normal information.)27.52 E F1 +(wing meanings:)-.25 E F3<ad6c>144 196.8 Q F0 +(List process IDs in addition to the normal information.)27.52 E F3 <ad70>144 208.8 Q F0(List only the process ID of the job')24.74 E 2.5 -(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F1<ad6e>144 220.8 Q F0 +(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F3<ad6e>144 220.8 Q F0 .194(Display information only about jobs that ha)24.74 F .494 -.15(ve c) -.2 H .193(hanged status since the user w).15 F .193(as last noti-)-.1 F -(\214ed of their status.)180 232.8 Q F1<ad72>144 244.8 Q F0 -(Restrict output to running jobs.)25.86 E F1<ad73>144 256.8 Q F0 +(\214ed of their status.)180 232.8 Q F3<ad72>144 244.8 Q F0 +(Restrict output to running jobs.)25.86 E F3<ad73>144 256.8 Q F0 (Restrict output to stopped jobs.)26.41 E(If)144 273.6 Q F2(jobspec) 4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313 (n, output is restricted to information about that job).15 F 5.314(.T) -.4 G .314(he return status is 0 unless)-5.314 F(an in)144 285.6 Q -.25 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 -E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 302.4 R F1 -<ad78>2.895 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0 +E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 302.4 R F3 +<ad78>2.895 E F0 .394(option is supplied,)2.894 F F3(jobs)2.894 E F0 .394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in) 3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394 (with the corre-)3.164 F(sponding process group ID, and e)144 314.4 Q -.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar) 2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E -F1(kill)108 331.2 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1 -<ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5 -(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1 +F3(kill)108 331.2 Q F0([)2.5 E F3<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F3 +<ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F3<ad>2.5 E F2(sigspec)A F0 2.5 +(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F3 (kill \255l)108 343.2 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G(it_status).2 E F0(])A .119(Send the signal named by)144 355.2 R F2 (sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119 (to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2 (jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319 (either a case-insensiti)144 367.2 R .619 -.15(ve s)-.25 H .319 -(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.819 E F0 .318 -(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318 +(ignal name such as).15 F F1(SIGKILL)2.819 E F0 .318 +(\(with or without the)2.569 F F1(SIG)2.818 E F0 .318 (pre\214x\) or a signal)2.568 F(number;)144 379.2 Q F2(signum)4.188 E F0 1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec) -4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0 +4.189 E F0 1.349(is not present, then)4.159 F F1(SIGTERM)3.849 E F0 1.349(is assumed.)3.599 F(An)6.349 E(ar)144 391.2 Q .523(gument of)-.18 -F F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an) +F F3<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an) 5.523 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when) -.18 F F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523 +.18 F F3<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523 (n, the names).15 F .28(of the signals corresponding to the ar)144 403.2 R .28(guments are listed, and the return status is 0.)-.18 F(The)5.28 E F2 -.2(ex)2.78 G(it_status).2 E F0(ar)144 415.2 Q .378(gument to)-.18 F -F1<ad6c>2.878 E F0 .378 +F3<ad6c>2.878 E F0 .378 (is a number specifying either a signal number or the e)2.878 F .377 (xit status of a process termi-)-.15 F .593(nated by a signal.)144 427.2 -R F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F +R F3(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F .593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F (occurs or an in)144 439.2 Q -.25(va)-.4 G(lid option is encountered.) -.25 E F1(let)108 456 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E -F0(...])2.5 E(Each)144 468 Q F2(ar)3.965 E(g)-.37 E F0 1.135 -(is an arithmetic e)3.855 F 1.134(xpression to be e)-.15 F -.25(va)-.25 -G 1.134(luated \(see).25 F F3 1.134(ARITHMETIC EV)3.634 F(ALU)-1.215 E --.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(\).)A F0 1.134(If the) -5.634 F(last)144 480 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G -(luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.) -2.5 E F1(local)108 496.8 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name) +.25 E F3(let)108 456 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E +F0(...])2.5 E(Each)144 468 Q F2(ar)3.027 E(g)-.37 E F0 .197 +(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G +.196(luated \(see).25 F F1 .196(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855 +(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G 2.696(\). If).15 F +(the last)144 480 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G +(luates to 0,).25 E F3(let)2.5 E F0(returns 1; 0 is returned otherwise.) +2.5 E F3(local)108 496.8 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name) -2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 508.8 S 2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06 (ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned) 2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0 .06(can be)2.56 F(an)144 520.8 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653 -(he options accepted by)-3.153 F F1(declar)3.153 E(e)-.18 E F0 5.652(.W) -C(hen)-5.652 E F1(local)3.152 E F0 .652 +(he options accepted by)-3.153 F F3(declar)3.153 E(e)-.18 E F0 5.652(.W) +C(hen)-5.652 E F3(local)3.152 E F0 .652 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144 532.8 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861 (isible scope restricted to that function and its children.).15 F -.4 -(Wi)5.861 G .861(th no operands,).4 F F1(local)144 544.8 Q F0 1.165 +(Wi)5.861 G .861(th no operands,).4 F F3(local)144 544.8 Q F0 1.165 (writes a list of local v)3.665 F 1.165 (ariables to the standard output.)-.25 F 1.165(It is an error to use) -6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232 +6.165 F F3(local)3.664 E F0 1.164(when not)3.664 F .232 (within a function.)144 556.8 R .233(The return status is 0 unless)5.232 -F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F +F F3(local)2.733 E F0 .233(is used outside a function, an in)2.733 F -.25(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144 -568.8 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1 -(logout)108 585.6 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 602.4 -Q F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2 -(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F1 -<ad74>-2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F1<ad43> --2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-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 614.4 S -(adarray).18 E F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f> --2.5 E F2(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5 -(][)C F1<ad74>-2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C -F1<ad43>-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2 +568.8 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F3 +(logout)108 585.6 Q F0(Exit a login shell.)9.33 E F3(map\214le)108 602.4 +Q F0([)2.5 E F3<ad6e>A F2(count)2.5 E F0 2.5(][)C F3<ad4f>-2.5 E F2 +(origin)2.5 E F0 2.5(][)C F3<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F3 +<ad74>-2.5 E F0 2.5(][)C F3<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F3<ad43> +-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F3<ad63>-2.5 E F2(quantum) +2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A F3 -.18(re)108 614.4 S +(adarray).18 E F0([)2.5 E F3<ad6e>A F2(count)2.5 E F0 2.5(][)C F3<ad4f> +-2.5 E F2(origin)2.5 E F0 2.5(][)C F3<ad73>-2.5 E F2(count)2.5 E F0 2.5 +(][)C F3<ad74>-2.5 E F0 2.5(][)C F3<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C +F3<ad43>-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F3<ad63>-2.5 E F2 (quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .351 (Read lines from the standard input into the inde)144 626.4 R -.15(xe) -.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.85 E (ay)-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor) --2.85 F F2(fd)2.85 E F0 .924(if the)144 638.4 R F1<ad75>3.424 E F0 .924 -(option is supplied.)3.424 F .925(The v)5.925 F(ariable)-.25 E F1 -(MAPFILE)3.425 E F0 .925(is the def)3.425 F(ault)-.1 E F2(arr)3.425 E -(ay)-.15 E F0 5.925(.O)C .925(ptions, if supplied,)-5.925 F(ha)144 650.4 -Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6e>144 -662.4 Q F0(Cop)24.74 E 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 F1<ad4f>144 674.4 Q F0(Be)22.52 E +-2.85 F F2(fd)2.85 E F0 1.248(if the)144 638.4 R F3<ad75>3.748 E F0 +1.248(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E F1 +(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 +650.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F3<ad6e> +144 662.4 Q F0(Cop)24.74 E 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 F3<ad4f>144 674.4 Q F0(Be)22.52 E (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.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi) --.15 G 2.5(s0)-2.5 G(.)-2.5 E F1<ad73>144 686.4 Q F0 -(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1 -<ad74>144 698.4 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H -(railing line from each line read.).15 E F1<ad75>144 710.4 Q F0 +-.15 G 2.5(s0)-2.5 G(.)-2.5 E F3<ad73>144 686.4 Q F0 +(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F3 +<ad74>144 698.4 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E +(wline from each line read.)-.25 E F3<ad75>144 710.4 Q F0 (Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0 (instead of the standard input.)2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20) 148.735 E(10)198.725 E 0 Cg EP @@ -1790,10 +1792,10 @@ F1(&&)3.73 E F0(or)3.73 E F4<efef>3.73 E F0 3.73(,a)C 1.53 -.15(ny c) 3.19 E F0 3.19(,i)C 3.19(fs)-3.19 G .69(et, is e)-3.19 F -.15(xe)-.15 G .69(cuted before).15 F .686(the shell e)184 554.4 R 3.186(xits. This) -.15 F .686(option applies to the shell en)3.186 F .686 -(vironment and each subshell en)-.4 F(viron-)-.4 E .659 -(ment separately \(see)184 566.4 R F1 .659(COMMAND EXECUTION ENVIR)3.159 -F(ONMENT)-.3 E F0(abo)3.159 E -.15(ve)-.15 G .658(\), and may).15 F -(cause subshells to e)184 578.4 Q(xit before e)-.15 E -.15(xe)-.15 G +(vironment and each subshell en)-.4 F(viron-)-.4 E .068 +(ment separately \(see)184 566.4 R F3 .068(COMMAND EXECUTION ENVIR)2.568 +F(ONMENT)-.27 E F0(abo)2.318 E -.15(ve)-.15 G .068(\), and may cause).15 +F(subshells to e)184 578.4 Q(xit before e)-.15 E -.15(xe)-.15 G (cuting all the commands in the subshell.).15 E F1<ad66>144 590.4 Q F0 (Disable pathname e)30.97 E(xpansion.)-.15 E F1<ad68>144 602.4 Q F0 2.238(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G @@ -1832,11 +1834,11 @@ BP (when the shell is interacti)224 168 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 180 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 -(errtrace)184 192 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace) -184 204 Q F0(Same as)224 216 Q F1<ad54>2.5 E F0(.)A F1(err)184 228 Q -(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1(hashall)184 240 -Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 252 Q F0 +-.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err) +184 192 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1 +(errtrace)184 204 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace) +184 216 Q F0(Same as)224 228 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 240 Q +F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 252 Q F0 (Same as)224 264 Q F1<ad48>2.5 E F0(.)A F1(history)184 276 Q F0 .586 (Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587 (escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E/F3 9 @@ -1884,34 +1886,33 @@ F2(option\255name)3.572 E F0 3.572(,a)C 1.071(series of)-.001 F F1(set) 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 666 R 1.5 -(vironment, and the)-.4 F F3(SHELLOPTS)4 E F4(,)A F1 -.3(BA)184 678 S -(SHOPTS).3 E F0(,)A F1(CDP)3.186 E -.95(AT)-.74 G(H).95 E F0 3.186(,a)C -(nd)-3.186 E F1(GLOBIGNORE)3.186 E F0 -.25(va)3.186 G .686 -(riables, if the).25 F 3.186(ya)-.15 G .686(ppear in the en)-3.186 F -(viron-)-.4 E .854(ment, are ignored.)184 690 R .854 -(If the shell is started with the ef)5.854 F(fecti)-.25 E 1.154 -.15 -(ve u)-.25 H .853(ser \(group\) id not equal to).15 F .043 -(the real user \(group\) id, and the)184 702 R F1<ad70>2.543 E F0 .043 -(option is not supplied, these actions are tak)2.543 F .043(en and the) --.1 F(ef)184 714 Q(fecti)-.25 E 1.667 -.15(ve u)-.25 H 1.367 -(ser id is set to the real user id.).15 F 1.367(If the)6.367 F F1<ad70> -3.867 E F0 1.366(option is supplied at startup, the)3.866 F(ef)184 726 Q -(fecti)-.25 E .708 -.15(ve u)-.25 H .408(ser id is not reset.).15 F -.45 -(Tu)5.409 G .409(rning this option of).45 F 2.909(fc)-.25 G .409 -(auses the ef)-2.909 F(fecti)-.25 E .709 -.15(ve u)-.25 H .409 -(ser and group).15 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14) -198.725 E 0 Cg EP +(vironment, and the)-.4 F F3(SHELLOPTS)4 E F4(,)A F3 -.27(BA)184 678 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 690 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 702 R F1<ad70>2.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 714 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<ad70> +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 726 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 +(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14)198.725 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E -(ids to be set to the real user and group ids.)184 84 Q/F1 10 -/Times-Bold@0 SF<ad74>144 96 Q F0(Exit after reading and e)30.97 E -.15 -(xe)-.15 G(cuting one command.).15 E F1<ad75>144 108 Q F0 -.35(Tr)28.74 -G .044(eat unset v).35 F .044(ariables and parameters other than the sp\ -ecial parameters "@" and "*" as an)-.25 F .182 +(set to the real user and group ids.)184 84 Q/F1 10/Times-Bold@0 SF +<ad74>144 96 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15 G +(cuting one command.).15 E F1<ad75>144 108 Q F0 -.35(Tr)28.74 G .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 120 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 132 R 3.246(,t)-.4 G .746 @@ -2069,17 +2070,17 @@ Q F0 .448(If set,)184 356.4 R F1(bash)2.948 E F0 .448 (topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15 F -.15(ve)-.25 G 3.439(shell. If)184 368.4 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 1.456 -(attempted without an interv)184 380.4 R 1.456(ening command \(see)-.15 -F F1 1.456(JOB CONTR)3.956 F(OL)-.3 E F0(abo)3.956 E -.15(ve)-.15 G -3.956(\). The).15 F(shell)3.956 E(al)184 392.4 Q -.1(wa)-.1 G -(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.) --2.5 E F1(checkwinsize)144 404.4 Q F0 .797(If set,)184 416.4 R F1(bash) -3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G .796 -(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G .796 -(pdates the)-3.296 F -.25(va)184 428.4 S(lues of).25 E/F3 9/Times-Bold@0 -SF(LINES)2.5 E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A -F1(cmdhist)144 440.4 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202 +(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203 +(attempted without an interv)184 380.4 R 2.203(ening command \(see)-.15 +F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E +-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 392.4 Q -.1(wa) +-.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G +(obs are stopped.)-2.5 E F1(checkwinsize)144 404.4 Q F0 .797(If set,)184 +416.4 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G +.796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G +.796(pdates the)-3.296 F -.25(va)184 428.4 S(lues of).25 E F3(LINES)2.5 +E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(cmdhist) +144 440.4 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202 (attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202 (ll lines of a multiple-line command in the same history).15 F(entry)184 452.4 Q 5(.T)-.65 G(his allo)-5 E @@ -2142,52 +2143,53 @@ F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F 1.667 (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 132 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1 --.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1 26(4. B)184 -144 R(ASH_ARGC)-.3 E F0(and)3.776 E F1 -.3(BA)3.776 G(SH_ARGV).3 E F0 -1.275(are updated as described in their descrip-)3.776 F(tions abo)220 -156 Q -.15(ve)-.15 G(.).15 E F1(5.)184 168 Q F0 1.359 +-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 144 Q +/F2 9/Times-Bold@0 SF -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F2 +-.27(BA)3.404 G(SH_ARGV).27 E F0 .904 +(are updated as described in their descriptions)3.154 F(abo)220 156 Q +-.15(ve)-.15 G(.).15 E F1(5.)184 168 Q F0 1.359 (Function tracing is enabled:)28.5 F 1.359 (command substitution, shell functions, and sub-)6.359 F(shells in)220 -180 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F2 10 +180 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 192 Q F0 .805(Error tracing is enabled:)28.5 F .804 (command substitution, shell functions, and subshells)5.805 F(in)220 204 -Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F2 +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(OR)-.3 E F0 (trap.)2.5 E F1(extglob)144 216 Q F0 .4(If set, the e)8.89 F .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 228 Q F0(are enabled.)2.5 E F1(extquote)144 240 Q F0 2.473(If set,)184 252 R -F1($)4.973 E F0<08>A F2(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973 -E F0(")A F2(string)A F0 4.973("q)C 2.473(uoting is performed within) --4.973 F F1(${)4.973 E F2(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G +F1($)4.973 E F0<08>A F3(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973 +E F0(")A F3(string)A F0 4.973("q)C 2.473(uoting is performed within) +-4.973 F F1(${)4.973 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G (pansions).15 E(enclosed in double quotes.)184 264 Q (This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 276 Q F0 1.424(If set, patterns which f)7.77 F 1.425 (ail to match \214lenames during pathname e)-.1 F 1.425 (xpansion result in an)-.15 F -.15(ex)184 288 S(pansion error).15 E(.) -.55 E F1 -.25(fo)144 300 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 -.585(If set, the suf)184 312 R<8c78>-.25 E .585(es speci\214ed by the) --.15 F F1(FIGNORE)3.085 E F0 .585(shell v)3.085 F .585(ariable cause w) --.25 F .585(ords to be ignored)-.1 F .32(when performing w)184 324 R .32 +.937(If set, the suf)184 312 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 .936(ords to be ignored)-.1 F .32(when performing w)184 324 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 3.33 -(pletions. See)184 336 R/F3 9/Times-Bold@0 SF .83(SHELL V)3.33 F -(ARIABLES)-1.215 E F0(abo)3.08 E 1.13 -.15(ve f)-.15 H .829 -(or a description of).15 F F1(FIGNORE)3.329 E F0 5.829(.T)C .829 -(his option)-5.829 F(is enabled by def)184 348 Q(ault.)-.1 E F1 -(globstar)144 360 Q F0 .178(If set, the pattern)5 F F1(**)2.678 E F0 -.178(used in a pathname e)2.678 F .178(xpansion conte)-.15 F .179 +(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948 +(pletions. See)184 336 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0 +(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2 +(FIGNORE)2.947 E/F4 9/Times-Roman@0 SF(.)A F0 .447(This option is)4.947 +F(enabled by def)184 348 Q(ault.)-.1 E F1(globstar)144 360 Q F0 .178 +(If set, the pattern)5 F F1(**)2.678 E F0 .178(used in a pathname e) +2.678 F .178(xpansion conte)-.15 F .179 (xt will match a \214les and zero or)-.15 F 1.298 (more directories and subdirectories.)184 372 R 1.298 (If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0 3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184 384 Q F1(gnu_errfmt)144 396 Q F0(If set, shell error messages are writt\ en in the standard GNU error message format.)184 408 Q F1(histappend)144 -420 Q F0 .383 +420 Q F0 .676 (If set, the history list is appended to the \214le named by the v)184 -432 R .384(alue of the)-.25 F F1(HISTFILE)2.884 E F0 -.25(va)2.884 G +432 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G (ri-).25 E(able when the shell e)184 444 Q(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 456 Q(eedit)-.18 E F0 .576(If set, and)184 468 R F1 -.18(re)3.076 G(adline).18 E F0 .575 @@ -2205,16 +2207,16 @@ G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182 (will attempt to perform hostname completion)3.682 F 1.381(when a w)184 564 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381 (is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E -F3(READLINE)3.88 E F0(abo)184 576 Q -.15(ve)-.15 G 2.5(\). This).15 F +F2(READLINE)3.88 E F0(abo)184 576 Q -.15(ve)-.15 G 2.5(\). This).15 F (is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 588 Q F0(If set,) -184 600 Q F1(bash)2.5 E F0(will send)2.5 E F3(SIGHUP)2.5 E F0 +184 600 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(interacti)144 612 Q -.1(ve)-.1 G(_comments).1 E F0 .33(If set, allo)184 624 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 636 R 1.267 -.15(ve s)-.25 -H .967(hell \(see).15 F F3(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15 +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 648 Q (ault.)-.1 E F1(lithist)144 660 Q F0 .654(If set, and the)15.55 F F1 (cmdhist)3.154 E F0 .654(option is enabled, multi-line commands are sa) @@ -2223,7 +2225,7 @@ G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 648 Q (wlines rather than using semicolon separators where possible.)-.25 E F1 (login_shell)144 684 Q F0 .486 (The shell sets this option if it is started as a login shell \(see)184 -696 R F3(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve) +696 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve) -.15 G 2.986(\). The).15 F -.25(va)184 708 S(lue may not be changed.).25 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP %%Page: 18 18 @@ -2238,10 +2240,10 @@ BP -.1(wa)184 108 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E (`The mail in)-.74 E/F2 10/Times-Italic@0 SF(mail\214le)2.5 E F0 (has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1 -(no_empty_cmd_completion)144 120 Q F0 .146(If set, and)184 132 R F1 -.18 -(re)2.646 G(adline).18 E F0 .146(is being used,)2.646 F F1(bash)2.646 E -F0 .145(will not attempt to search the)2.646 F F1 -.74(PA)2.645 G(TH) --.21 E F0 .145(for possible)2.645 F +(no_empty_cmd_completion)144 120 Q F0 .325(If set, and)184 132 R F1 -.18 +(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E +F0 .324(will not attempt to search the)2.824 F/F3 9/Times-Bold@0 SF +-.666(PA)2.824 G(TH)-.189 E F0 .324(for possible)2.574 F (completions when completion is attempted on an empty line.)184 144 Q F1 (nocaseglob)144 156 Q F0 .436(If set,)184 168 R F1(bash)2.936 E F0 .436 (matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25 @@ -2265,9 +2267,9 @@ E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 228 Q F0 (go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic) -.15 F -.15(ex)184 324 S .171(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in) --.15 F/F3 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 336 Q(ault.)-.1 E -F1 -.18(re)144 348 S(stricted_shell).18 E F0 1.069 +-.15 F F3(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E +(This option is enabled by def)184 336 Q(ault.)-.1 E F1 -.18(re)144 348 +S(stricted_shell).18 E F0 1.069 (The shell sets this option if it is started in restricted mode \(see) 184 360 R F3 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 372 Q 4.178 (w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F @@ -2617,17 +2619,18 @@ F(If)6.655 E F2<ad61>4.155 E F0 1.655 F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 201.6 R .903 (ariable or function is remo)-.25 F -.15(ve)-.15 G 3.402(df).15 G .902 (rom the en)-3.402 F .902(vironment passed to subsequent commands.)-.4 F -(If)5.902 E(an)144 213.6 Q 4.284(yo)-.15 G(f)-4.284 E/F3 9/Times-Bold@0 -SF(RANDOM)4.284 E/F4 9/Times-Roman@0 SF(,)A F3(SECONDS)4.035 E F4(,)A F3 -(LINENO)4.035 E F4(,)A F3(HISTCMD)4.035 E F4(,)A F3(FUNCN)4.035 E(AME) --.18 E F4(,)A F3(GR)4.035 E(OUPS)-.27 E F4(,)A F0(or)4.035 E F3(DIRST) -4.285 E -.495(AC)-.81 G(K).495 E F0(are)4.035 E .329(unset, the)144 -225.6 R 2.829(yl)-.15 G .328(ose their special properties, e)-2.829 F --.15(ve)-.25 G 2.828(ni).15 G 2.828(ft)-2.828 G(he)-2.828 E 2.828(ya) --.15 G .328(re subsequently reset.)-2.828 F .328(The e)5.328 F .328 -(xit status is true)-.15 F(unless a)144 237.6 Q F1(name)2.86 E F0 -(is readonly)2.68 E(.)-.65 E F2(wait)108 254.4 Q F0([)2.5 E F1 2.5(n.)C -(..)-2.5 E F0(])A -.8(Wa)144 266.4 S .288 +(If)5.902 E(an)144 213.6 Q 6.915(yo)-.15 G(f)-6.915 E/F3 9/Times-Bold@0 +SF(COMP_W)6.915 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM) +6.665 E F4(,)A F3(SECONDS)6.665 E F4(,)A F3(LINENO)6.665 E F4(,)A F3 +(HISTCMD)6.666 E F4(,)A F3(FUNCN)6.666 E(AME)-.18 E F4(,)A F3(GR)144 +225.6 Q(OUPS)-.27 E F4(,)A F0(or)2.523 E F3(DIRST)2.773 E -.495(AC)-.81 +G(K).495 E F0 .272(are unset, the)2.522 F 2.772(yl)-.15 G .272 +(ose their special properties, e)-2.772 F -.15(ve)-.25 G 2.772(ni).15 G +2.772(ft)-2.772 G(he)-2.772 E 2.772(ya)-.15 G .272(re subsequently) +-2.772 F 2.5(reset. The)144 237.6 R -.15(ex)2.5 G +(it status is true unless a).15 E F1(name)2.86 E F0(is readonly)2.68 E +(.)-.65 E F2(wait)108 254.4 Q F0([)2.5 E F1 2.5(n.)C(..)-2.5 E F0(])A +-.8(Wa)144 266.4 S .288 (it for each speci\214ed process and return its termination status.).8 F (Each)5.288 E F1(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722 (job speci\214cation; if a job spec is gi)144 278.4 R -.15(ve)-.25 G diff --git a/doc/rbash.ps b/doc/rbash.ps index 8fae5e85..518087de 100644 --- a/doc/rbash.ps +++ b/doc/rbash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.19.2 -%%CreationDate: Wed Dec 23 16:47:11 2009 +%%CreationDate: Wed Dec 30 13:07:37 2009 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%DocumentSuppliedResources: procset grops 1.19 2 @@ -240,9 +240,10 @@ E F0(\(1\))A F1(RESTRICTED SHELL)72 112.8 Q F0(If)108 124.8 Q F2(bash) (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 32.5<8363>108 165.6 S(hanging directories with)-32.5 E F2(cd)2.5 E F0 32.5<8373>108 -182.4 S(etting or unsetting the v)-32.5 E(alues of)-.25 E F2(SHELL)2.5 E -F0(,)A F2 -.74(PA)2.5 G(TH)-.21 E F0(,)A F2(ENV)2.5 E F0 2.5(,o)C(r)-2.5 -E F2 -.3(BA)2.5 G(SH_ENV).3 E F0 32.5<8373>108 199.2 S +182.4 S(etting or unsetting the v)-32.5 E(alues of)-.25 E/F3 9 +/Times-Bold@0 SF(SHELL)2.5 E/F4 9/Times-Roman@0 SF(,)A F3 -.666(PA)2.25 +G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E F3 -.27(BA)2.5 G +(SH_ENV).27 E F0 32.5<8373>108 199.2 S (pecifying command names containing)-32.5 E F2(/)2.5 E F0 32.5<8373>108 216 S(pecifying a \214le name containing a)-32.5 E F2(/)2.5 E F0 (as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G @@ -252,7 +253,7 @@ E F2 -.3(BA)2.5 G(SH_ENV).3 E F0 32.5<8373>108 199.2 S (hash)2.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 244.8 Q 32.5<8369>108 261.6 S(mporting function de\214nitions from the shell en) -32.5 E(vironment at startup)-.4 E 32.5<8370>108 278.4 S(arsing the v) --32.5 E(alue of)-.25 E F2(SHELLOPTS)2.5 E F0(from the shell en)2.5 E +-32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E (vironment at startup)-.4 E 32.5<8372>108 295.2 S(edirecting output usi\ ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5 <8375>108 312 S(sing the)-32.5 E F2(exec)2.5 E F0 -.2(bu)2.5 G diff --git a/execute_cmd.c b/execute_cmd.c index 0e3c09ad..e65a03f1 100644 --- a/execute_cmd.c +++ b/execute_cmd.c @@ -4198,7 +4198,9 @@ execute_function (var, words, flags, fds_to_close, async, subshell) if (variable_context == 0 || this_shell_function == 0) { make_funcname_visible (0); +#if defined (PROCESS_SUBSTITUTION) unlink_fifo_list (); +#endif } return (result); diff --git a/lib/readline/COPYING b/lib/readline/COPYING index 7d29222e..94a9ed02 120000..100644 --- a/lib/readline/COPYING +++ b/lib/readline/COPYING @@ -1 +1,674 @@ -../../COPYING
\ No newline at end of file + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/lib/readline/ansi_stdlib.h b/lib/readline/ansi_stdlib.h index 0bfba502..7dc2ee0c 120000..100644 --- a/lib/readline/ansi_stdlib.h +++ b/lib/readline/ansi_stdlib.h @@ -1 +1,54 @@ -../../include/ansi_stdlib.h
\ No newline at end of file +/* ansi_stdlib.h -- An ANSI Standard stdlib.h. */ +/* A minimal stdlib.h containing extern declarations for those functions + that bash uses. */ + +/* Copyright (C) 1993 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bash is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bash. If not, see <http://www.gnu.org/licenses/>. +*/ + +#if !defined (_STDLIB_H_) +#define _STDLIB_H_ 1 + +/* String conversion functions. */ +extern int atoi (); + +extern double atof (); +extern double strtod (); + +/* Memory allocation functions. */ +/* Generic pointer type. */ +#ifndef PTR_T + +#if defined (__STDC__) +# define PTR_T void * +#else +# define PTR_T char * +#endif + +#endif /* PTR_T */ + +extern PTR_T malloc (); +extern PTR_T realloc (); +extern void free (); + +/* Other miscellaneous functions. */ +extern void abort (); +extern void exit (); +extern char *getenv (); +extern void qsort (); + +#endif /* _STDLIB_H */ diff --git a/lib/readline/doc/fdl.texi b/lib/readline/doc/fdl.texi index 68e5eb54..8805f1a4 120000..100644 --- a/lib/readline/doc/fdl.texi +++ b/lib/readline/doc/fdl.texi @@ -1 +1,506 @@ -../../../doc/fdl.texi
\ No newline at end of file +@c The GNU Free Documentation License. +@center Version 1.3, 3 November 2008 + +@c This file is intended to be included within another document, +@c hence no sectioning command or @node. + +@display +Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +@uref{http://fsf.org/} + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +@end display + +@enumerate 0 +@item +PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document @dfn{free} in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of ``copyleft'', which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + +@item +APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The ``Document'', below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as ``you''. You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A ``Modified Version'' of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A ``Secondary Section'' is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The ``Invariant Sections'' are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The ``Cover Texts'' are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A ``Transparent'' copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not ``Transparent'' is called ``Opaque''. + +Examples of suitable formats for Transparent copies include plain +@sc{ascii} without markup, Texinfo input format, La@TeX{} input +format, @acronym{SGML} or @acronym{XML} using a publicly available +@acronym{DTD}, and standard-conforming simple @acronym{HTML}, +PostScript or @acronym{PDF} designed for human modification. Examples +of transparent image formats include @acronym{PNG}, @acronym{XCF} and +@acronym{JPG}. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, @acronym{SGML} or +@acronym{XML} for which the @acronym{DTD} and/or processing tools are +not generally available, and the machine-generated @acronym{HTML}, +PostScript or @acronym{PDF} produced by some word processors for +output purposes only. + +The ``Title Page'' means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, ``Title Page'' means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +The ``publisher'' means any person or entity that distributes copies +of the Document to the public. + +A section ``Entitled XYZ'' means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as ``Acknowledgements'', +``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' +of such a section when you modify the Document means that it remains a +section ``Entitled XYZ'' according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +@item +VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + +@item +COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + +@item +MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +@enumerate A +@item +Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. + +@item +List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has fewer than five), +unless they release you from this requirement. + +@item +State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +@item +Preserve all the copyright notices of the Document. + +@item +Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +@item +Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. + +@item +Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document's license notice. + +@item +Include an unaltered copy of this License. + +@item +Preserve the section Entitled ``History'', Preserve its Title, and add +to it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section Entitled ``History'' in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. + +@item +Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the ``History'' section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. + +@item +For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve +the Title of the section, and preserve in the section all the +substance and tone of each of the contributor acknowledgements and/or +dedications given therein. + +@item +Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. + +@item +Delete any section Entitled ``Endorsements''. Such a section +may not be included in the Modified Version. + +@item +Do not retitle any existing section to be Entitled ``Endorsements'' or +to conflict in title with any Invariant Section. + +@item +Preserve any Warranty Disclaimers. +@end enumerate + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled ``Endorsements'', provided it contains +nothing but endorsements of your Modified Version by various +parties---for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + +@item +COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled ``History'' +in the various original documents, forming one section Entitled +``History''; likewise combine any sections Entitled ``Acknowledgements'', +and any sections Entitled ``Dedications''. You must delete all +sections Entitled ``Endorsements.'' + +@item +COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + +@item +AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an ``aggregate'' if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + +@item +TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled ``Acknowledgements'', +``Dedications'', or ``History'', the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + +@item +TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + +@item +FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +@uref{http://www.gnu.org/copyleft/}. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License ``or any later version'' applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +@item +RELICENSING + +``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the +site means any set of copyrightable works thus published on the MMC +site. + +``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +``Incorporate'' means to publish or republish a Document, in whole or +in part, as part of another Document. + +An MMC is ``eligible for relicensing'' if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole +or in part into the MMC, (1) had no cover texts or invariant sections, +and (2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. + +@end enumerate + +@page +@heading ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + +@smallexample +@group + Copyright (C) @var{year} @var{your name}. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. +@end group +@end smallexample + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the ``with@dots{}Texts.'' line with this: + +@smallexample +@group + with the Invariant Sections being @var{list their titles}, with + the Front-Cover Texts being @var{list}, and with the Back-Cover Texts + being @var{list}. +@end group +@end smallexample + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + +@c Local Variables: +@c ispell-local-pdict: "ispell-dict" +@c End: + diff --git a/lib/readline/posixdir.h b/lib/readline/posixdir.h index 8b163845..bd33694d 120000..100644 --- a/lib/readline/posixdir.h +++ b/lib/readline/posixdir.h @@ -1 +1,61 @@ -../../include/posixdir.h
\ No newline at end of file +/* posixdir.h -- Posix directory reading includes and defines. */ + +/* Copyright (C) 1987,1991 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bash is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bash. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* This file should be included instead of <dirent.h> or <sys/dir.h>. */ + +#if !defined (_POSIXDIR_H_) +#define _POSIXDIR_H_ + +#if defined (HAVE_DIRENT_H) +# include <dirent.h> +# if defined (HAVE_STRUCT_DIRENT_D_NAMLEN) +# define D_NAMLEN(d) ((d)->d_namlen) +# else +# define D_NAMLEN(d) (strlen ((d)->d_name)) +# endif /* !HAVE_STRUCT_DIRENT_D_NAMLEN */ +#else +# if defined (HAVE_SYS_NDIR_H) +# include <sys/ndir.h> +# endif +# if defined (HAVE_SYS_DIR_H) +# include <sys/dir.h> +# endif +# if defined (HAVE_NDIR_H) +# include <ndir.h> +# endif +# if !defined (dirent) +# define dirent direct +# endif /* !dirent */ +# define D_NAMLEN(d) ((d)->d_namlen) +#endif /* !HAVE_DIRENT_H */ + +#if defined (HAVE_STRUCT_DIRENT_D_INO) && !defined (HAVE_STRUCT_DIRENT_D_FILENO) +# define d_fileno d_ino +#endif + +#if defined (_POSIX_SOURCE) && (!defined (HAVE_STRUCT_DIRENT_D_INO) || defined (BROKEN_DIRENT_D_INO)) +/* Posix does not require that the d_ino field be present, and some + systems do not provide it. */ +# define REAL_DIR_ENTRY(dp) 1 +#else +# define REAL_DIR_ENTRY(dp) (dp->d_ino != 0) +#endif /* _POSIX_SOURCE */ + +#endif /* !_POSIXDIR_H_ */ diff --git a/lib/readline/posixjmp.h b/lib/readline/posixjmp.h index b4d3ee74..49bfecf3 120000..100644 --- a/lib/readline/posixjmp.h +++ b/lib/readline/posixjmp.h @@ -1 +1,40 @@ -../../include/posixjmp.h
\ No newline at end of file +/* posixjmp.h -- wrapper for setjmp.h with changes for POSIX systems. */ + +/* Copyright (C) 1987,1991 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bash is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bash. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef _POSIXJMP_H_ +#define _POSIXJMP_H_ + +#include <setjmp.h> + +/* This *must* be included *after* config.h */ + +#if defined (HAVE_POSIX_SIGSETJMP) +# define procenv_t sigjmp_buf +# if !defined (__OPENNT) +# undef setjmp +# define setjmp(x) sigsetjmp((x), 1) +# undef longjmp +# define longjmp(x, n) siglongjmp((x), (n)) +# endif /* !__OPENNT */ +#else +# define procenv_t jmp_buf +#endif + +#endif /* _POSIXJMP_H_ */ diff --git a/lib/readline/posixselect.h b/lib/readline/posixselect.h index 56a0a2c6..da6a1ace 120000..100644 --- a/lib/readline/posixselect.h +++ b/lib/readline/posixselect.h @@ -1 +1,47 @@ -../../include/posixselect.h
\ No newline at end of file +/* posixselect.h -- wrapper for select(2) includes and definitions */ + +/* Copyright (C) 2009 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bash is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bash. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef _POSIXSELECT_H_ +#define _POSIXSELECT_H_ + +#if defined (FD_SET) && !defined (HAVE_SELECT) +# define HAVE_SELECT 1 +#endif + +#if defined (HAVE_SELECT) +# if !defined (HAVE_SYS_SELECT_H) || !defined (M_UNIX) +# include <sys/time.h> +# endif +#endif /* HAVE_SELECT */ +#if defined (HAVE_SYS_SELECT_H) +# include <sys/select.h> +#endif + +#ifndef USEC_PER_SEC +# define USEC_PER_SEC 1000000 +#endif + +#define USEC_TO_TIMEVAL(us, tv) \ +do { \ + (tv).tv_sec = (us) / USEC_PER_SEC; \ + (tv).tv_usec = (us) % USEC_PER_SEC; \ +} while (0) + +#endif /* _POSIXSELECT_H_ */ diff --git a/lib/readline/posixstat.h b/lib/readline/posixstat.h index c6164b79..3eb7f290 120000..100644 --- a/lib/readline/posixstat.h +++ b/lib/readline/posixstat.h @@ -1 +1,142 @@ -../../include/posixstat.h
\ No newline at end of file +/* posixstat.h -- Posix stat(2) definitions for systems that + don't have them. */ + +/* Copyright (C) 1987,1991 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bash is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bash. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* This file should be included instead of <sys/stat.h>. + It relies on the local sys/stat.h to work though. */ +#if !defined (_POSIXSTAT_H_) +#define _POSIXSTAT_H_ + +#include <sys/stat.h> + +#if defined (STAT_MACROS_BROKEN) +# undef S_ISBLK +# undef S_ISCHR +# undef S_ISDIR +# undef S_ISFIFO +# undef S_ISREG +# undef S_ISLNK +#endif /* STAT_MACROS_BROKEN */ + +/* These are guaranteed to work only on isc386 */ +#if !defined (S_IFDIR) && !defined (S_ISDIR) +# define S_IFDIR 0040000 +#endif /* !S_IFDIR && !S_ISDIR */ +#if !defined (S_IFMT) +# define S_IFMT 0170000 +#endif /* !S_IFMT */ + +/* Posix 1003.1 5.6.1.1 <sys/stat.h> file types */ + +/* Some Posix-wannabe systems define _S_IF* macros instead of S_IF*, but + do not provide the S_IS* macros that Posix requires. */ + +#if defined (_S_IFMT) && !defined (S_IFMT) +#define S_IFMT _S_IFMT +#endif +#if defined (_S_IFIFO) && !defined (S_IFIFO) +#define S_IFIFO _S_IFIFO +#endif +#if defined (_S_IFCHR) && !defined (S_IFCHR) +#define S_IFCHR _S_IFCHR +#endif +#if defined (_S_IFDIR) && !defined (S_IFDIR) +#define S_IFDIR _S_IFDIR +#endif +#if defined (_S_IFBLK) && !defined (S_IFBLK) +#define S_IFBLK _S_IFBLK +#endif +#if defined (_S_IFREG) && !defined (S_IFREG) +#define S_IFREG _S_IFREG +#endif +#if defined (_S_IFLNK) && !defined (S_IFLNK) +#define S_IFLNK _S_IFLNK +#endif +#if defined (_S_IFSOCK) && !defined (S_IFSOCK) +#define S_IFSOCK _S_IFSOCK +#endif + +/* Test for each symbol individually and define the ones necessary (some + systems claiming Posix compatibility define some but not all). */ + +#if defined (S_IFBLK) && !defined (S_ISBLK) +#define S_ISBLK(m) (((m)&S_IFMT) == S_IFBLK) /* block device */ +#endif + +#if defined (S_IFCHR) && !defined (S_ISCHR) +#define S_ISCHR(m) (((m)&S_IFMT) == S_IFCHR) /* character device */ +#endif + +#if defined (S_IFDIR) && !defined (S_ISDIR) +#define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) /* directory */ +#endif + +#if defined (S_IFREG) && !defined (S_ISREG) +#define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) /* file */ +#endif + +#if defined (S_IFIFO) && !defined (S_ISFIFO) +#define S_ISFIFO(m) (((m)&S_IFMT) == S_IFIFO) /* fifo - named pipe */ +#endif + +#if defined (S_IFLNK) && !defined (S_ISLNK) +#define S_ISLNK(m) (((m)&S_IFMT) == S_IFLNK) /* symbolic link */ +#endif + +#if defined (S_IFSOCK) && !defined (S_ISSOCK) +#define S_ISSOCK(m) (((m)&S_IFMT) == S_IFSOCK) /* socket */ +#endif + +/* + * POSIX 1003.1 5.6.1.2 <sys/stat.h> File Modes + */ + +#if !defined (S_IRWXU) +# if !defined (S_IREAD) +# define S_IREAD 00400 +# define S_IWRITE 00200 +# define S_IEXEC 00100 +# endif /* S_IREAD */ + +# if !defined (S_IRUSR) +# define S_IRUSR S_IREAD /* read, owner */ +# define S_IWUSR S_IWRITE /* write, owner */ +# define S_IXUSR S_IEXEC /* execute, owner */ + +# define S_IRGRP (S_IREAD >> 3) /* read, group */ +# define S_IWGRP (S_IWRITE >> 3) /* write, group */ +# define S_IXGRP (S_IEXEC >> 3) /* execute, group */ + +# define S_IROTH (S_IREAD >> 6) /* read, other */ +# define S_IWOTH (S_IWRITE >> 6) /* write, other */ +# define S_IXOTH (S_IEXEC >> 6) /* execute, other */ +# endif /* !S_IRUSR */ + +# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) +# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) +# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) +#endif /* !S_IRWXU */ + +/* These are non-standard, but are used in builtins.c$symbolic_umask() */ +#define S_IRUGO (S_IRUSR | S_IRGRP | S_IROTH) +#define S_IWUGO (S_IWUSR | S_IWGRP | S_IWOTH) +#define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) + +#endif /* _POSIXSTAT_H_ */ diff --git a/lib/readline/tilde.c b/lib/readline/tilde.c index 439ceede..088ff154 120000..100644 --- a/lib/readline/tilde.c +++ b/lib/readline/tilde.c @@ -1 +1,502 @@ -../tilde/tilde.c
\ No newline at end of file +/* tilde.c -- Tilde expansion code (~/foo := $HOME/foo). */ + +/* Copyright (C) 1988-2009 Free Software Foundation, Inc. + + This file is part of the GNU Readline Library (Readline), a library + for reading lines of text with interactive input and history editing. + + Readline is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Readline is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Readline. If not, see <http://www.gnu.org/licenses/>. +*/ + +#if defined (HAVE_CONFIG_H) +# include <config.h> +#endif + +#if defined (HAVE_UNISTD_H) +# ifdef _MINIX +# include <sys/types.h> +# endif +# include <unistd.h> +#endif + +#if defined (HAVE_STRING_H) +# include <string.h> +#else /* !HAVE_STRING_H */ +# include <strings.h> +#endif /* !HAVE_STRING_H */ + +#if defined (HAVE_STDLIB_H) +# include <stdlib.h> +#else +# include "ansi_stdlib.h" +#endif /* HAVE_STDLIB_H */ + +#include <sys/types.h> +#if defined (HAVE_PWD_H) +#include <pwd.h> +#endif + +#include "tilde.h" + +#if defined (TEST) || defined (STATIC_MALLOC) +static void *xmalloc (), *xrealloc (); +#else +# include "xmalloc.h" +#endif /* TEST || STATIC_MALLOC */ + +#if !defined (HAVE_GETPW_DECLS) +# if defined (HAVE_GETPWUID) +extern struct passwd *getpwuid PARAMS((uid_t)); +# endif +# if defined (HAVE_GETPWNAM) +extern struct passwd *getpwnam PARAMS((const char *)); +# endif +#endif /* !HAVE_GETPW_DECLS */ + +#if !defined (savestring) +#define savestring(x) strcpy ((char *)xmalloc (1 + strlen (x)), (x)) +#endif /* !savestring */ + +#if !defined (NULL) +# if defined (__STDC__) +# define NULL ((void *) 0) +# else +# define NULL 0x0 +# endif /* !__STDC__ */ +#endif /* !NULL */ + +/* If being compiled as part of bash, these will be satisfied from + variables.o. If being compiled as part of readline, they will + be satisfied from shell.o. */ +extern char *sh_get_home_dir PARAMS((void)); +extern char *sh_get_env_value PARAMS((const char *)); + +/* The default value of tilde_additional_prefixes. This is set to + whitespace preceding a tilde so that simple programs which do not + perform any word separation get desired behaviour. */ +static const char *default_prefixes[] = + { " ~", "\t~", (const char *)NULL }; + +/* The default value of tilde_additional_suffixes. This is set to + whitespace or newline so that simple programs which do not + perform any word separation get desired behaviour. */ +static const char *default_suffixes[] = + { " ", "\n", (const char *)NULL }; + +/* If non-null, this contains the address of a function that the application + wants called before trying the standard tilde expansions. The function + is called with the text sans tilde, and returns a malloc()'ed string + which is the expansion, or a NULL pointer if the expansion fails. */ +tilde_hook_func_t *tilde_expansion_preexpansion_hook = (tilde_hook_func_t *)NULL; + +/* If non-null, this contains the address of a function to call if the + standard meaning for expanding a tilde fails. The function is called + with the text (sans tilde, as in "foo"), and returns a malloc()'ed string + which is the expansion, or a NULL pointer if there is no expansion. */ +tilde_hook_func_t *tilde_expansion_failure_hook = (tilde_hook_func_t *)NULL; + +/* When non-null, this is a NULL terminated array of strings which + are duplicates for a tilde prefix. Bash uses this to expand + `=~' and `:~'. */ +char **tilde_additional_prefixes = (char **)default_prefixes; + +/* When non-null, this is a NULL terminated array of strings which match + the end of a username, instead of just "/". Bash sets this to + `:' and `=~'. */ +char **tilde_additional_suffixes = (char **)default_suffixes; + +static int tilde_find_prefix PARAMS((const char *, int *)); +static int tilde_find_suffix PARAMS((const char *)); +static char *isolate_tilde_prefix PARAMS((const char *, int *)); +static char *glue_prefix_and_suffix PARAMS((char *, const char *, int)); + +/* Find the start of a tilde expansion in STRING, and return the index of + the tilde which starts the expansion. Place the length of the text + which identified this tilde starter in LEN, excluding the tilde itself. */ +static int +tilde_find_prefix (string, len) + const char *string; + int *len; +{ + register int i, j, string_len; + register char **prefixes; + + prefixes = tilde_additional_prefixes; + + string_len = strlen (string); + *len = 0; + + if (*string == '\0' || *string == '~') + return (0); + + if (prefixes) + { + for (i = 0; i < string_len; i++) + { + for (j = 0; prefixes[j]; j++) + { + if (strncmp (string + i, prefixes[j], strlen (prefixes[j])) == 0) + { + *len = strlen (prefixes[j]) - 1; + return (i + *len); + } + } + } + } + return (string_len); +} + +/* Find the end of a tilde expansion in STRING, and return the index of + the character which ends the tilde definition. */ +static int +tilde_find_suffix (string) + const char *string; +{ + register int i, j, string_len; + register char **suffixes; + + suffixes = tilde_additional_suffixes; + string_len = strlen (string); + + for (i = 0; i < string_len; i++) + { +#if defined (__MSDOS__) + if (string[i] == '/' || string[i] == '\\' /* || !string[i] */) +#else + if (string[i] == '/' /* || !string[i] */) +#endif + break; + + for (j = 0; suffixes && suffixes[j]; j++) + { + if (strncmp (string + i, suffixes[j], strlen (suffixes[j])) == 0) + return (i); + } + } + return (i); +} + +/* Return a new string which is the result of tilde expanding STRING. */ +char * +tilde_expand (string) + const char *string; +{ + char *result; + int result_size, result_index; + + result_index = result_size = 0; + if (result = strchr (string, '~')) + result = (char *)xmalloc (result_size = (strlen (string) + 16)); + else + result = (char *)xmalloc (result_size = (strlen (string) + 1)); + + /* Scan through STRING expanding tildes as we come to them. */ + while (1) + { + register int start, end; + char *tilde_word, *expansion; + int len; + + /* Make START point to the tilde which starts the expansion. */ + start = tilde_find_prefix (string, &len); + + /* Copy the skipped text into the result. */ + if ((result_index + start + 1) > result_size) + result = (char *)xrealloc (result, 1 + (result_size += (start + 20))); + + strncpy (result + result_index, string, start); + result_index += start; + + /* Advance STRING to the starting tilde. */ + string += start; + + /* Make END be the index of one after the last character of the + username. */ + end = tilde_find_suffix (string); + + /* If both START and END are zero, we are all done. */ + if (!start && !end) + break; + + /* Expand the entire tilde word, and copy it into RESULT. */ + tilde_word = (char *)xmalloc (1 + end); + strncpy (tilde_word, string, end); + tilde_word[end] = '\0'; + string += end; + + expansion = tilde_expand_word (tilde_word); + xfree (tilde_word); + + len = strlen (expansion); +#ifdef __CYGWIN__ + /* Fix for Cygwin to prevent ~user/xxx from expanding to //xxx when + $HOME for `user' is /. On cygwin, // denotes a network drive. */ + if (len > 1 || *expansion != '/' || *string != '/') +#endif + { + if ((result_index + len + 1) > result_size) + result = (char *)xrealloc (result, 1 + (result_size += (len + 20))); + + strcpy (result + result_index, expansion); + result_index += len; + } + xfree (expansion); + } + + result[result_index] = '\0'; + + return (result); +} + +/* Take FNAME and return the tilde prefix we want expanded. If LENP is + non-null, the index of the end of the prefix into FNAME is returned in + the location it points to. */ +static char * +isolate_tilde_prefix (fname, lenp) + const char *fname; + int *lenp; +{ + char *ret; + int i; + + ret = (char *)xmalloc (strlen (fname)); +#if defined (__MSDOS__) + for (i = 1; fname[i] && fname[i] != '/' && fname[i] != '\\'; i++) +#else + for (i = 1; fname[i] && fname[i] != '/'; i++) +#endif + ret[i - 1] = fname[i]; + ret[i - 1] = '\0'; + if (lenp) + *lenp = i; + return ret; +} + +#if 0 +/* Public function to scan a string (FNAME) beginning with a tilde and find + the portion of the string that should be passed to the tilde expansion + function. Right now, it just calls tilde_find_suffix and allocates new + memory, but it can be expanded to do different things later. */ +char * +tilde_find_word (fname, flags, lenp) + const char *fname; + int flags, *lenp; +{ + int x; + char *r; + + x = tilde_find_suffix (fname); + if (x == 0) + { + r = savestring (fname); + if (lenp) + *lenp = 0; + } + else + { + r = (char *)xmalloc (1 + x); + strncpy (r, fname, x); + r[x] = '\0'; + if (lenp) + *lenp = x; + } + + return r; +} +#endif + +/* Return a string that is PREFIX concatenated with SUFFIX starting at + SUFFIND. */ +static char * +glue_prefix_and_suffix (prefix, suffix, suffind) + char *prefix; + const char *suffix; + int suffind; +{ + char *ret; + int plen, slen; + + plen = (prefix && *prefix) ? strlen (prefix) : 0; + slen = strlen (suffix + suffind); + ret = (char *)xmalloc (plen + slen + 1); + if (plen) + strcpy (ret, prefix); + strcpy (ret + plen, suffix + suffind); + return ret; +} + +/* Do the work of tilde expansion on FILENAME. FILENAME starts with a + tilde. If there is no expansion, call tilde_expansion_failure_hook. + This always returns a newly-allocated string, never static storage. */ +char * +tilde_expand_word (filename) + const char *filename; +{ + char *dirname, *expansion, *username; + int user_len; + struct passwd *user_entry; + + if (filename == 0) + return ((char *)NULL); + + if (*filename != '~') + return (savestring (filename)); + + /* A leading `~/' or a bare `~' is *always* translated to the value of + $HOME or the home directory of the current user, regardless of any + preexpansion hook. */ + if (filename[1] == '\0' || filename[1] == '/') + { + /* Prefix $HOME to the rest of the string. */ + expansion = sh_get_env_value ("HOME"); + + /* If there is no HOME variable, look up the directory in + the password database. */ + if (expansion == 0) + expansion = sh_get_home_dir (); + + return (glue_prefix_and_suffix (expansion, filename, 1)); + } + + username = isolate_tilde_prefix (filename, &user_len); + + if (tilde_expansion_preexpansion_hook) + { + expansion = (*tilde_expansion_preexpansion_hook) (username); + if (expansion) + { + dirname = glue_prefix_and_suffix (expansion, filename, user_len); + xfree (username); + free (expansion); + return (dirname); + } + } + + /* No preexpansion hook, or the preexpansion hook failed. Look in the + password database. */ + dirname = (char *)NULL; +#if defined (HAVE_GETPWNAM) + user_entry = getpwnam (username); +#else + user_entry = 0; +#endif + if (user_entry == 0) + { + /* If the calling program has a special syntax for expanding tildes, + and we couldn't find a standard expansion, then let them try. */ + if (tilde_expansion_failure_hook) + { + expansion = (*tilde_expansion_failure_hook) (username); + if (expansion) + { + dirname = glue_prefix_and_suffix (expansion, filename, user_len); + free (expansion); + } + } + /* If we don't have a failure hook, or if the failure hook did not + expand the tilde, return a copy of what we were passed. */ + if (dirname == 0) + dirname = savestring (filename); + } +#if defined (HAVE_GETPWENT) + else + dirname = glue_prefix_and_suffix (user_entry->pw_dir, filename, user_len); +#endif + + xfree (username); +#if defined (HAVE_GETPWENT) + endpwent (); +#endif + return (dirname); +} + + +#if defined (TEST) +#undef NULL +#include <stdio.h> + +main (argc, argv) + int argc; + char **argv; +{ + char *result, line[512]; + int done = 0; + + while (!done) + { + printf ("~expand: "); + fflush (stdout); + + if (!gets (line)) + strcpy (line, "done"); + + if ((strcmp (line, "done") == 0) || + (strcmp (line, "quit") == 0) || + (strcmp (line, "exit") == 0)) + { + done = 1; + break; + } + + result = tilde_expand (line); + printf (" --> %s\n", result); + free (result); + } + exit (0); +} + +static void memory_error_and_abort (); + +static void * +xmalloc (bytes) + size_t bytes; +{ + void *temp = (char *)malloc (bytes); + + if (!temp) + memory_error_and_abort (); + return (temp); +} + +static void * +xrealloc (pointer, bytes) + void *pointer; + int bytes; +{ + void *temp; + + if (!pointer) + temp = malloc (bytes); + else + temp = realloc (pointer, bytes); + + if (!temp) + memory_error_and_abort (); + + return (temp); +} + +static void +memory_error_and_abort () +{ + fprintf (stderr, "readline: out of virtual memory\n"); + abort (); +} + +/* + * Local variables: + * compile-command: "gcc -g -DTEST -o tilde tilde.c" + * end: + */ +#endif /* TEST */ diff --git a/lib/readline/tilde.h b/lib/readline/tilde.h index 6fea2aea..e26dd047 120000..100644 --- a/lib/readline/tilde.h +++ b/lib/readline/tilde.h @@ -1 +1,80 @@ -../tilde/tilde.h
\ No newline at end of file +/* tilde.h: Externally available variables and function in libtilde.a. */ + +/* Copyright (C) 1992-2009 Free Software Foundation, Inc. + + This file contains the Readline Library (Readline), a set of + routines for providing Emacs style line input to programs that ask + for it. + + Readline is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Readline is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Readline. If not, see <http://www.gnu.org/licenses/>. +*/ + +#if !defined (_TILDE_H_) +# define _TILDE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* A function can be defined using prototypes and compile on both ANSI C + and traditional C compilers with something like this: + extern char *func PARAMS((char *, char *, int)); */ + +#if !defined (PARAMS) +# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus) +# define PARAMS(protos) protos +# else +# define PARAMS(protos) () +# endif +#endif + +typedef char *tilde_hook_func_t PARAMS((char *)); + +/* If non-null, this contains the address of a function that the application + wants called before trying the standard tilde expansions. The function + is called with the text sans tilde, and returns a malloc()'ed string + which is the expansion, or a NULL pointer if the expansion fails. */ +extern tilde_hook_func_t *tilde_expansion_preexpansion_hook; + +/* If non-null, this contains the address of a function to call if the + standard meaning for expanding a tilde fails. The function is called + with the text (sans tilde, as in "foo"), and returns a malloc()'ed string + which is the expansion, or a NULL pointer if there is no expansion. */ +extern tilde_hook_func_t *tilde_expansion_failure_hook; + +/* When non-null, this is a NULL terminated array of strings which + are duplicates for a tilde prefix. Bash uses this to expand + `=~' and `:~'. */ +extern char **tilde_additional_prefixes; + +/* When non-null, this is a NULL terminated array of strings which match + the end of a username, instead of just "/". Bash sets this to + `:' and `=~'. */ +extern char **tilde_additional_suffixes; + +/* Return a new string which is the result of tilde expanding STRING. */ +extern char *tilde_expand PARAMS((const char *)); + +/* Do the work of tilde expansion on FILENAME. FILENAME starts with a + tilde. If there is no expansion, call tilde_expansion_failure_hook. */ +extern char *tilde_expand_word PARAMS((const char *)); + +/* Find the portion of the string beginning with ~ that should be expanded. */ +extern char *tilde_find_word PARAMS((const char *, int, int *)); + +#ifdef __cplusplus +} +#endif + +#endif /* _TILDE_H_ */ @@ -2788,12 +2788,11 @@ reset_parser () dstack.delimiter_depth = 0; /* No delimiters found so far. */ open_brace_count = 0; +#if defined (EXTENDED_GLOB) /* Reset to global value of extended glob */ if (parser_state & PST_EXTPAT) -{ -/*itrace("reset_parser: parser_state includes PST_EXTPAT");*/ extended_glob = global_extglob; -} +#endif parser_state = 0; @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2004-03-17 13:48+0200\n" "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n" "Language-Team: Afrikaans <i18n@af.org.za>\n" @@ -324,7 +324,7 @@ msgstr "" msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: leesalleen-funksie" @@ -363,7 +363,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "%s: kan nie %s skep nie" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -379,7 +379,7 @@ msgstr "%s: kan nie 'n binre ler uitvoer nie" msgid "%s: file is too large" msgstr "" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -854,37 +854,37 @@ msgstr "Veranderlike boom" msgid "timed out waiting for input: auto-logout\n" msgstr "" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "pypfout: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: bevel nie gevind nie" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, fuzzy, c-format msgid "%s: %s: bad interpreter" msgstr "%s: is 'n gids" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, fuzzy, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "kan nie fd %d na fd 0 dupliseer nie: %s" @@ -968,7 +968,7 @@ msgstr "%s: heelgetal-uitdrukking is verwag\n" msgid "getcwd: cannot access parent directories" msgstr "Kan nie die program uitvoer nie:" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "kan nie fd %d na fd 0 dupliseer nie: %s" @@ -1284,103 +1284,103 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "" -#: parse.y:3944 +#: parse.y:3960 #, fuzzy msgid "syntax error in conditional expression" msgstr "Sintaks fout in patroon" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 #, fuzzy msgid "expected `)'" msgstr "')' is verwag\n" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, fuzzy, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "%s: binre operator is verwag\n" -#: parse.y:4108 +#: parse.y:4124 #, fuzzy msgid "conditional binary operator expected" msgstr "%s: binre operator is verwag\n" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, fuzzy, c-format msgid "unexpected token `%c' in conditional command" msgstr "Soek die ler vir 'n uitdrukking" -#: parse.y:4148 +#: parse.y:4164 #, fuzzy, c-format msgid "unexpected token `%s' in conditional command" msgstr "Soek die ler vir 'n uitdrukking" -#: parse.y:4152 +#: parse.y:4168 #, fuzzy, c-format msgid "unexpected token %d in conditional command" msgstr "Soek die ler vir 'n uitdrukking" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "" -#: parse.y:5461 +#: parse.y:5477 #, fuzzy, c-format msgid "syntax error near `%s'" msgstr "Sintaks fout in patroon" -#: parse.y:5471 +#: parse.y:5487 #, fuzzy msgid "syntax error: unexpected end of file" msgstr "Onverwagte einde van ler tydens inlees van hulpbron." -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "sintaksfout" -#: parse.y:5533 +#: parse.y:5549 #, fuzzy, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Gebruik Kaart na Los Tronk" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "" @@ -1727,81 +1727,87 @@ msgstr "Sein kwaliteit:" msgid "Unknown Signal #%d" msgstr "Sein kwaliteit:" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, fuzzy, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "--Geen rels in buffer--" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 #, fuzzy msgid "cannot make pipe for process substitution" msgstr "Woord Substitusie" -#: subst.c:4790 +#: subst.c:4802 #, fuzzy msgid "cannot make child for process substitution" msgstr "Woord Substitusie" -#: subst.c:4835 +#: subst.c:4847 #, fuzzy, c-format msgid "cannot open named pipe %s for reading" msgstr "Kan nie oopmaak vir skrip-afvoer nie: \"" -#: subst.c:4837 +#: subst.c:4849 #, fuzzy, c-format msgid "cannot open named pipe %s for writing" msgstr "Kan nie oopmaak vir skrip-afvoer nie: \"" -#: subst.c:4855 +#: subst.c:4867 #, fuzzy, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "Kan nie oopmaak vir skrip-afvoer nie: \"" -#: subst.c:5051 +#: subst.c:5063 #, fuzzy msgid "cannot make pipe for command substitution" msgstr "Woord Substitusie" -#: subst.c:5085 +#: subst.c:5097 #, fuzzy msgid "cannot make child for command substitution" msgstr "Woord Substitusie" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "" -#: subst.c:5895 +#: subst.c:5907 #, fuzzy, c-format msgid "%s: substring expression < 0" msgstr "ongeldige uitdrukking" -#: subst.c:6953 +#: subst.c:6965 #, fuzzy, c-format msgid "%s: bad substitution" msgstr "Woord Substitusie" -#: subst.c:7033 +#: subst.c:7045 #, fuzzy, c-format msgid "$%s: cannot assign in this way" msgstr "Kan nie soek 'n handtekening in hierdie boodskap!" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "--Geen rels in buffer--" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "" diff --git a/po/bash.pot b/po/bash.pot index f06eb5bb..68d33f82 100644 --- a/po/bash.pot +++ b/po/bash.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -316,7 +316,7 @@ msgstr "" msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "" @@ -355,7 +355,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -371,7 +371,7 @@ msgstr "" msgid "%s: file is too large" msgstr "" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -831,36 +831,36 @@ msgstr "" msgid "timed out waiting for input: auto-logout\n" msgstr "" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "" @@ -935,7 +935,7 @@ msgstr "" msgid "getcwd: cannot access parent directories" msgstr "" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "" @@ -1242,99 +1242,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "" @@ -1644,77 +1644,83 @@ msgstr "" msgid "Unknown Signal #%d" msgstr "" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2007-07-26 07:18+0300\n" "Last-Translator: Alexander Shopov <ash@contact.bg>\n" "Language-Team: Bulgarian <dict@fsa-bg.org>\n" @@ -320,7 +320,7 @@ msgstr "може да се използва само във функция" msgid "cannot use `-f' to make functions" msgstr "„-f“ не може да се използва за създаването на функции" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: функция с права само за четене" @@ -359,7 +359,7 @@ msgstr "%s: не е зареден динамично" msgid "%s: cannot delete: %s" msgstr "%s: не може да се изтрие: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -375,7 +375,7 @@ msgstr "%s: не е обикновен файл" msgid "%s: file is too large" msgstr "%s: файлът е прекалено голям" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -914,38 +914,38 @@ msgstr "" "^Gвремето за изчакване на вход изтече: следва автоматично излизане от " "системата\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "стандартният вход от /dev/null не може да бъде пренасочен: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "в променливата $TIMEFORMAT: „%c“: грешен форматиращ знак" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "грешка при запис: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "" "%s: ограничение: в имената на командите не може да присъства знакът „/“" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: командата не е открита" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: лош интерпретатор" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "файловият дескриптор %d не може да се дублира като дескриптор %d" @@ -1021,7 +1021,7 @@ msgstr "%s: очаква се целочислен израз" msgid "getcwd: cannot access parent directories" msgstr "getcwd: родителските директории не могат да бъдат достъпени" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "не може да се изчисти режимът без забавяне на файловия дескриптор %d" @@ -1344,100 +1344,100 @@ msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" "пренасочване: инструкцията за пренасочване „%d“ е извън допустимия диапазон" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "" "неочакван знак за край на файл „EOF“, а се очакваше съответстващ знак „%c“" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "неочакван знак за край на файл „EOF“, а се очакваше „]]“" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "синтактична грешка в условен израз: неочаквана лексема „%s“" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "синтактична грешка в условен израз" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "неочаквана лексема „%s“, а се очакваше знакът „)“" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "очакваше се „)“" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "неочакван аргумент „%s“ за унарен условен оператор" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "неочакван аргумент за унарен условен оператор" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "неочаквана лексема „%s“, очакваше се бинарен условен оператор" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "очакваше се бинарен условен оператор" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "неочакван аргумент „%s“ за бинарен условен оператор" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "неочакван аргумент за бинарен условен оператор" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "неочаквана лексема „%c“ в условна команда" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "неочаквана лексема „%s“ в условна команда" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "неочаквана лексема %d в условна команда" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "синтактична грешка в близост до неочакваната лексема „%s“" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "синтактична грешка в близост до „%s“" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "синтактична грешка: неочакван край на файл" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "синтактична грешка" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Използвайте „%s“, за да излезете от обвивката.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "неочакван знак за край на файл „EOF“, очакваше се знакът „)“" @@ -1756,79 +1756,85 @@ msgstr "" msgid "Unknown Signal #%d" msgstr "" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "лошо заместване: липсва затварящ знак „%s“ в %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: на член от масив не може да се присвои списък" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "не може да се създаде програмен канал за заместване на процеси" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "не може да се създаде дъщерен процес за заместване на процеси" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "именуваният програмен канал %s не може да се отвори за четене" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "именуваният програмен канал %s не може да се отвори за запис" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" "именуваният програмен канал %s не може да се\n" "дублира като файловия дескриптор %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "не може да се създаде програмен канал за заместване на команди" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "не може да се създаде дъщерен процес за заместване на команди" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "заместване на команди: каналът не може да се дублира като fd 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: аргументът е null или не е зададен" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: изразът от подниза е < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: лошо заместване" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: не може да се задава по този начин" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "лошо заместване: липсва затварящ знак „%s“ в %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "няма съвпадение: %s" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash-2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2003-12-28 19:59+0100\n" "Last-Translator: Montxo Vicente i Sempere <montxo@alacant.com>\n" "Language-Team: Catalan <ca@dodds.net>\n" @@ -323,7 +323,7 @@ msgstr "" msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funci? nom?s de lectura" @@ -362,7 +362,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "%s: no es pot crear: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -378,7 +378,7 @@ msgstr "%s: no es pot executar el fitxer binari" msgid "%s: file is too large" msgstr "" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -855,37 +855,37 @@ msgid "timed out waiting for input: auto-logout\n" msgstr "" "%c ha excedit el temps d'espera per una entrada: fi autom?tica de sessi?\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "error del conducte: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: restringit: no es pot especificar '/' en noms d'ordres" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: no s'ha trobat l'ordre" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, fuzzy, c-format msgid "%s: %s: bad interpreter" msgstr "%s: ?s un directori" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, fuzzy, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "" @@ -965,7 +965,7 @@ msgstr "%s: s'esperava una expressi? de nombre enter" msgid "getcwd: cannot access parent directories" msgstr "getwd: no s'ha pogut accedir als directoris pares" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "" @@ -1285,107 +1285,107 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, fuzzy, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "" "s'ha arribat inesperadament a la fi del fitxer (EOF) mentre\n" "es buscava per '%c'" -#: parse.y:3935 +#: parse.y:3951 #, fuzzy msgid "unexpected EOF while looking for `]]'" msgstr "" "s'ha arribat inesperadament a la fi del fitxer (EOF) mentre\n" "es buscava per '%c'" -#: parse.y:3940 +#: parse.y:3956 #, fuzzy, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "hi ha un error inesperat de sintaxi prop del senyal '%s'" -#: parse.y:3944 +#: parse.y:3960 #, fuzzy msgid "syntax error in conditional expression" msgstr "error de sintaxi a l'expressi?" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 #, fuzzy msgid "expected `)'" msgstr "s'esperava ')'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, fuzzy, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "%s: s'esperava un operador binari" -#: parse.y:4108 +#: parse.y:4124 #, fuzzy msgid "conditional binary operator expected" msgstr "%s: s'esperava un operador binari" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, fuzzy, c-format msgid "unexpected token `%c' in conditional command" msgstr "s'esperava ':' per a l'expressi? condicional" -#: parse.y:4148 +#: parse.y:4164 #, fuzzy, c-format msgid "unexpected token `%s' in conditional command" msgstr "s'esperava ':' per a l'expressi? condicional" -#: parse.y:4152 +#: parse.y:4168 #, fuzzy, c-format msgid "unexpected token %d in conditional command" msgstr "s'esperava ':' per a l'expressi? condicional" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "hi ha un error inesperat de sintaxi prop del senyal '%s'" -#: parse.y:5461 +#: parse.y:5477 #, fuzzy, c-format msgid "syntax error near `%s'" msgstr "hi ha un error inesperat de sintaxi prop del senyal '%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "error de sintaxi: s'ha arribat inesperadament a la fi del fitxer" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "error de sintaxi" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Utilitzeu ?%s? per a eixir de l'int?rpret d'ordres.\n" -#: parse.y:5695 +#: parse.y:5711 #, fuzzy msgid "unexpected EOF while looking for matching `)'" msgstr "" @@ -1713,86 +1713,92 @@ msgstr "Senyal desconeguda #" msgid "Unknown Signal #%d" msgstr "Senyal desconeguda #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, fuzzy, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "substituci? inv?lida: no existeix '%s' en %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: no es pot assignar la llista a un element de la matriu" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 #, fuzzy msgid "cannot make pipe for process substitution" msgstr "no es pot establir un conducte per a la substituci? del proc?s: %s" -#: subst.c:4790 +#: subst.c:4802 #, fuzzy msgid "cannot make child for process substitution" msgstr "no es pot establir un proc?s fill per a la substituci? del proc?s: %s" -#: subst.c:4835 +#: subst.c:4847 #, fuzzy, c-format msgid "cannot open named pipe %s for reading" msgstr "no es pot obrir el conducte anomenat %s per a %s: %s" -#: subst.c:4837 +#: subst.c:4849 #, fuzzy, c-format msgid "cannot open named pipe %s for writing" msgstr "no es pot obrir el conducte anomenat %s per a %s: %s" -#: subst.c:4855 +#: subst.c:4867 #, fuzzy, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" "no es pot duplicar el conducte anomenat %s\n" "com a descripci? de fitxer %d: %s" -#: subst.c:5051 +#: subst.c:5063 #, fuzzy msgid "cannot make pipe for command substitution" msgstr "no es poden establir conductes per a la substituci? de l'ordre: %s" -#: subst.c:5085 +#: subst.c:5097 #, fuzzy msgid "cannot make child for command substitution" msgstr "no es pot crear un proc?s fill per a la substituci? del proc?s: %s" -#: subst.c:5102 +#: subst.c:5114 #, fuzzy msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" "command_substitute(): el coducte no es pot duplicar\n" "com a descripci? de fitxer 1: %s" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: par?metre nul o no ajustat" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: la sub-cadena de l'expressi? ?s < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: substituci? inv?lida" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: no es pot assignar d'aquesta manera" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "substituci? inv?lida: no existeix '%s' en %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "" Binary files differ@@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-09-23 14:23+0200\n" "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n" "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" @@ -323,7 +323,7 @@ msgstr "může být použito jen ve funkci" msgid "cannot use `-f' to make functions" msgstr "„-f“ nezle použít na výrobu funkce" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funkce jen pro čtení" @@ -362,7 +362,7 @@ msgstr "%s: není dynamicky nahráno" msgid "%s: cannot delete: %s" msgstr "%s: nelze smazat: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -378,7 +378,7 @@ msgstr "%s: není obyčejný soubor" msgid "%s: file is too large" msgstr "%s: soubor je příliš velký" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -907,36 +907,36 @@ msgstr "%s: nevázaná proměnná" msgid "timed out waiting for input: auto-logout\n" msgstr "časový limit pro čekání na vstup vypršel: automatické odhlášení\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "standardní vstup nelze přesměrovat z /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: „%c“: chybný formátovací znak" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "chyba v rouře" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: omezeno: v názvu příkazu nesmí být „/“" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: příkaz nenalezen" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: chybný interpretr" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "deskriptor souboru %d nelze duplikovat na deskriptor %d" @@ -1011,7 +1011,7 @@ msgstr "%s: chyba výrazu\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: rodičovské adresáře nejsou přístupné" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "na deskriptoru %d nelze resetovat režim nodelay" @@ -1322,102 +1322,102 @@ msgstr "„here“ dokument na řádku %d ukončen koncem souboru (požadováno msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: instrukce přesměrování „%d“ mimo rozsah" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "neočekávaný konec souboru při hledání znaku odpovídajícímu „%c“" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "neočekávaný konec souboru při hledání „]]“" # XXX: Condional means condition (adj.) probably. Can English distinguish # between the condition (podmínkový) and the code branch (podmíněný)? Check # for all "conditional" string occurences. -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "chyba syntaxe ve výrazu podmínky: neočekávaný token „%s“" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "chyba syntaxe ve výrazu podmínky" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "neočekávaný token „%s“, očekávána „)“" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "očekávána „)“" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "neočekávaný argument „%s“ u podmínkového unárního operátoru" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "neočekávaný argument u podmínkového unárního operátoru" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "neočekávaný token „%s“, očekáván podmínkový binární operátor" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "očekáván podmínkový binární operátor" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "neočekávaný argument „%s„ u podmínkového binárního operátoru" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "neočekávaný argument u podmínkového binárního operátoru" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "neočekávaný token „%c“ v podmínkovém příkazu" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "neočekávaný token „%s“ v podmínkovém příkazu" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "neočekávaný token %d v podmínkovém příkazu" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "chyba syntaxe poblíž neočekávaného tokenu „%s“" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "chyba syntaxe poblíž „%s“" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "chyba syntaxe: nenadálý konec souboru" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "chyba syntaxe" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Shell lze ukončit příkazem „%s“.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "nenadálý konec souboru při hledání odpovídající „)“" @@ -1737,77 +1737,83 @@ msgstr "Neznámé číslo signálu" msgid "Unknown Signal #%d" msgstr "Neznámý signál č. %d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "chybná substituce: v %2$s chybí uzavírací „%1$s“" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: seznam nelze přiřadit do prvku pole" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "nelze vyrobit rouru za účelem substituce procesu" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "nelze vytvořit potomka za účelem substituce procesu" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "pojmenovanou rouru %s nelze otevřít pro čtení" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "pojmenovanou rouru %s nelze otevřít pro zápis" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "pojmenovanou rouru %s nelze zdvojit jako deskriptor %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "nelze vytvořit rouru pro substituci příkazu" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "nelze vytvořit potomka pro substituci příkazu" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: rouru nelze zdvojit jako deskriptor 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parametr null nebo nenastaven" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: výraz podřetězce < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: chybná substituce" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: takto nelze přiřazovat" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "chybná substituce: v %s chybí uzavírací „`“" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "žádná shoda: %s" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-09-14 20:37+0200\n" "Last-Translator: Nils Naumann <nnau@gmx.net>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" @@ -320,7 +320,7 @@ msgstr "kann nur innerhalb einer Funktion benutzt werden." msgid "cannot use `-f' to make functions" msgstr "Mit `-f' können keine Funktionen erzeugt werden." -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: Schreibgeschützte Funktion." @@ -360,7 +360,7 @@ msgstr "%s: Ist nicht dynamisch geladen." msgid "%s: cannot delete: %s" msgstr "%s: Kann nicht löschen: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -376,7 +376,7 @@ msgstr "%s: Ist keine normale Datei." msgid "%s: file is too large" msgstr "%s: Die Datei ist zu groß." -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -898,36 +898,36 @@ msgstr "%s ist nicht gesetzt." msgid "timed out waiting for input: auto-logout\n" msgstr "Zu lange keine Eingabe: Automatisch ausgeloggt.\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "Kann nicht die Standardeingabe von /dev/null umleiten: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: `%c': Ungültiges Formatzeichen." -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "Pipe-Fehler" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: Verboten: `/' ist in Kommandonamen unzulässig." -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: Kommando nicht gefunden." -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: Defekter Interpreter" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "Kann fd %d nicht auf fd %d verdoppeln." @@ -1003,7 +1003,7 @@ msgstr "%s: Fehler im Ausdruck.\n" msgid "getcwd: cannot access parent directories" msgstr "getwd: Kann nicht auf das übergeordnete Verzeichnis zugreifen." -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "Konnte den No-Delay Modus für fd %d nicht wieder herstellen." @@ -1328,100 +1328,100 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "Dateiende beim Suchen nach `%c' erreicht." -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "Dateiende beim Suchen nach `]]' erreicht." -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "Syntaxfehler im bedingten Ausdruck: Unerwartetes Zeichen `%s'." -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "Syntaxfehler im bedingen Ausdruck." -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "Unerwartetes Zeichen: `%s' anstatt von `)'" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "`)' erwartet." -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "Syntaxfehler beim unerwarteten Wort `%s'" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "Syntaxfehler beim unerwarteten Wort `%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "Syntax Fehler: Unerwartetes Dateiende." -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "Syntax Fehler" # Du oder Sie? -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Benutze \"%s\" um die Shell zu verlassen.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "Dateiende beim Suchen nach passender `)' erreicht." @@ -1733,79 +1733,85 @@ msgstr "Unbekannte Signalnummer." msgid "Unknown Signal #%d" msgstr "Unbekanntes Signal Nr.: %d." -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "Falsche Ersetzung: Keine schließende `%s' in `%s' enthalten." -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: Kann einem Feldelement keine Liste zuweisen." -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "Kann keine Pipe für die Prozeßersetzung erzeugen." -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "Kann den Kindsprozess für die Prozeßersetzung nicht erzeugen." -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "Kann nicht die benannte Pipe %s zum lesen öffnen." -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "Kann nicht die benannte Pipe %s zum schreiben öffnen." -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "Kann die benannte Pipe %s nicht auf fd %d." -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "Kann keine Pipes für Kommandoersetzung erzeugen." -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "Kann keinen Unterprozess für die Kommandoersetzung erzeugen." # interner Fehler -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "Kommandoersetzung: Kann Pipe nicht als fd 1 duplizieren." -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: Parameter ist Null oder nicht gesetzt." # interner Fehler -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: Teilstring-Ausdruck < 0." -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: Falsche Variablenersetzung." -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: Kann so nicht zuweisen." -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "Falsche Ersetzung: Keine schließende \"`\" in %s." -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "Keine Entsprechung: %s" diff --git a/po/en@boldquot.gmo b/po/en@boldquot.gmo Binary files differindex 86e9d448..418ce9b8 100644 --- a/po/en@boldquot.gmo +++ b/po/en@boldquot.gmo diff --git a/po/en@boldquot.po b/po/en@boldquot.po index 5368764f..c5b14616 100644 --- a/po/en@boldquot.po +++ b/po/en@boldquot.po @@ -30,10 +30,10 @@ # msgid "" msgstr "" -"Project-Id-Version: GNU bash 4.1-rc1\n" +"Project-Id-Version: GNU bash 4.1-release\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" -"PO-Revision-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" +"PO-Revision-Date: 2009-12-30 08:25-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" @@ -350,7 +350,7 @@ msgstr "can only be used in a function" msgid "cannot use `-f' to make functions" msgstr "cannot use ‘[1m-f[0m’ to make functions" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: readonly function" @@ -389,7 +389,7 @@ msgstr "%s: not dynamically loaded" msgid "%s: cannot delete: %s" msgstr "%s: cannot delete: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -405,7 +405,7 @@ msgstr "%s: not a regular file" msgid "%s: file is too large" msgstr "%s: file is too large" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -937,36 +937,36 @@ msgstr "%s: unbound variable" msgid "timed out waiting for input: auto-logout\n" msgstr "timed out waiting for input: auto-logout\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "cannot redirect standard input from /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: ‘[1m%c[0m’: invalid format character" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "pipe error" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: restricted: cannot specify ‘[1m/[0m’ in command names" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: command not found" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: bad interpreter" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "cannot duplicate fd %d to fd %d" @@ -1041,7 +1041,7 @@ msgstr "%s: expression error\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: cannot access parent directories" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "cannot reset nodelay mode for fd %d" @@ -1350,99 +1350,99 @@ msgstr "here-document at line %d delimited by end-of-file (wanted ‘[1m%s[0m msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: redirection instruction ‘[1m%d[0m’ out of range" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "unexpected EOF while looking for matching ‘[1m%c[0m’" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "unexpected EOF while looking for ‘[1m]][0m’" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "syntax error in conditional expression: unexpected token ‘[1m%s[0m’" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "syntax error in conditional expression" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "unexpected token ‘[1m%s[0m’, expected ‘[1m)[0m’" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "expected ‘[1m)[0m’" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "unexpected argument ‘[1m%s[0m’ to conditional unary operator" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "unexpected argument to conditional unary operator" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "unexpected token ‘[1m%s[0m’, conditional binary operator expected" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "conditional binary operator expected" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "unexpected argument ‘[1m%s[0m’ to conditional binary operator" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "unexpected argument to conditional binary operator" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "unexpected token ‘[1m%c[0m’ in conditional command" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "unexpected token ‘[1m%s[0m’ in conditional command" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "unexpected token %d in conditional command" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "syntax error near unexpected token ‘[1m%s[0m’" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "syntax error near ‘[1m%s[0m’" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "syntax error: unexpected end of file" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "syntax error" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Use “[1m%s[0m” to leave the shell.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "unexpected EOF while looking for matching ‘[1m)[0m’" @@ -1757,77 +1757,85 @@ msgstr "Unknown Signal #" msgid "Unknown Signal #%d" msgstr "Unknown Signal #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "bad substitution: no closing ‘[1m%s[0m’ in %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: cannot assign list to array member" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "cannot make pipe for process substitution" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "cannot make child for process substitution" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "cannot open named pipe %s for reading" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "cannot open named pipe %s for writing" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "cannot duplicate named pipe %s as fd %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "cannot make pipe for command substitution" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "cannot make child for command substitution" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: cannot duplicate pipe as fd 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parameter null or not set" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: substring expression < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: bad substitution" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: cannot assign in this way" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "bad substitution: no closing “[1m`[0m” in %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "no match: %s" diff --git a/po/en@quot.gmo b/po/en@quot.gmo Binary files differindex 355365d6..dfd93ebe 100644 --- a/po/en@quot.gmo +++ b/po/en@quot.gmo diff --git a/po/en@quot.po b/po/en@quot.po index c15244c7..557d4004 100644 --- a/po/en@quot.po +++ b/po/en@quot.po @@ -27,10 +27,10 @@ # msgid "" msgstr "" -"Project-Id-Version: GNU bash 4.1-rc1\n" +"Project-Id-Version: GNU bash 4.1-release\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" -"PO-Revision-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" +"PO-Revision-Date: 2009-12-30 08:25-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" @@ -347,7 +347,7 @@ msgstr "can only be used in a function" msgid "cannot use `-f' to make functions" msgstr "cannot use ‘-f’ to make functions" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: readonly function" @@ -386,7 +386,7 @@ msgstr "%s: not dynamically loaded" msgid "%s: cannot delete: %s" msgstr "%s: cannot delete: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -402,7 +402,7 @@ msgstr "%s: not a regular file" msgid "%s: file is too large" msgstr "%s: file is too large" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -928,36 +928,36 @@ msgstr "%s: unbound variable" msgid "timed out waiting for input: auto-logout\n" msgstr "timed out waiting for input: auto-logout\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "cannot redirect standard input from /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: ‘%c’: invalid format character" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "pipe error" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: restricted: cannot specify ‘/’ in command names" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: command not found" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: bad interpreter" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "cannot duplicate fd %d to fd %d" @@ -1032,7 +1032,7 @@ msgstr "%s: expression error\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: cannot access parent directories" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "cannot reset nodelay mode for fd %d" @@ -1341,99 +1341,99 @@ msgstr "here-document at line %d delimited by end-of-file (wanted ‘%s’)" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: redirection instruction ‘%d’ out of range" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "unexpected EOF while looking for matching ‘%c’" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "unexpected EOF while looking for ‘]]’" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "syntax error in conditional expression: unexpected token ‘%s’" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "syntax error in conditional expression" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "unexpected token ‘%s’, expected ‘)’" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "expected ‘)’" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "unexpected argument ‘%s’ to conditional unary operator" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "unexpected argument to conditional unary operator" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "unexpected token ‘%s’, conditional binary operator expected" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "conditional binary operator expected" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "unexpected argument ‘%s’ to conditional binary operator" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "unexpected argument to conditional binary operator" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "unexpected token ‘%c’ in conditional command" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "unexpected token ‘%s’ in conditional command" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "unexpected token %d in conditional command" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "syntax error near unexpected token ‘%s’" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "syntax error near ‘%s’" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "syntax error: unexpected end of file" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "syntax error" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Use “%s” to leave the shell.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "unexpected EOF while looking for matching ‘)’" @@ -1745,77 +1745,85 @@ msgstr "Unknown Signal #" msgid "Unknown Signal #%d" msgstr "Unknown Signal #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "bad substitution: no closing ‘%s’ in %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: cannot assign list to array member" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "cannot make pipe for process substitution" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "cannot make child for process substitution" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "cannot open named pipe %s for reading" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "cannot open named pipe %s for writing" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "cannot duplicate named pipe %s as fd %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "cannot make pipe for command substitution" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "cannot make child for command substitution" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: cannot duplicate pipe as fd 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parameter null or not set" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: substring expression < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: bad substitution" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: cannot assign in this way" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "bad substitution: no closing “`” in %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "no match: %s" Binary files differ@@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-06-01 00:31+0600\n" "Last-Translator: Sergio Pokrovskij <sergio.pokrovskij@gmail.com>\n" "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n" @@ -332,7 +332,7 @@ msgstr "Uzeblas nur ene de funkcio" msgid "cannot use `-f' to make functions" msgstr "„-f‟ ne estas uzebla por fari funkciojn" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: Nurlega funkcio" @@ -371,7 +371,7 @@ msgstr "%s: Ne ŝargita dinamike" msgid "%s: cannot delete: %s" msgstr "%s: Ne eblas forigi: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -387,7 +387,7 @@ msgstr "%s: Ne ordinara dosiero" msgid "%s: file is too large" msgstr "%s: Tro granda dosiero" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -921,37 +921,37 @@ msgid "timed out waiting for input: auto-logout\n" msgstr "Tro longe sen enigo: Aŭtomata seancofino\n" # XXX: internal error: -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "Fiaskis provo nomumi la disponaĵon «/dev/null» ĉefenigujo: %s" # XXX: internal error: -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: „%c‟: Misa formatsigno" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "Eraro en dukto" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: Malpermesitas uzi „/‟ en komandonomoj" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: Komando ne trovita" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: Misa interpretilo" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "Ne eblas kunnomumi al dosiernumero %d la dosiernumeron %d" @@ -1026,7 +1026,7 @@ msgstr "%s: Misa esprimo\n" msgid "getcwd: cannot access parent directories" msgstr "getwd: Ne eblas atingi patrajn dosierujojn" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "Ne eblas reŝalti senprokrastan reĝimon por dosiernumero %d" @@ -1359,99 +1359,99 @@ msgstr "Tuj-dokumenton de linio %d limigas dosierfino (mankas „%s‟)" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: Alidirektada komando „%d‟ ekster sia variejo" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "Neatendita dosierfino dum serĉo de responda „%c‟" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "Neatendita dosierfino dum serĉo de „]]‟" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "Sintaksa eraro en kondiĉa esprimo: Neatendita simbolo „%s‟" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "Sintaksa eraro en kondiĉa esprimo" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "Nekonvena simbolo „%s‟ anstataŭ „)‟" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "Mankas „)‟" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "La argumento „%s‟ ne konvenas por unuloka kondiĉa operacisimbolo" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "Maltaŭga argumento por unuloka kondiĉa operacisimbolo" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "Misa simbolo „%s‟ anstataŭ duloka kondiĉa operacisigno" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "ĉi tie devas esti duloka kondiĉa operacisigno" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "La argumento „%s‟ ne konvenas por duloka kondiĉa operacisimbolo" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "<maltaŭga argumento por duloka kondiĉa operacisimbolo" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "Misa simbolo „%c‟ en kondiĉa komando" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "Misa simbolo „%s‟ en kondiĉa komando" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "Misa simbolo „%d‟ en kondiĉa komando" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "Sintaksa eraro apud neatendita simbolo „%s‟" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "Sintaksa eraro apud „%s‟" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "Sintaksa eraro: Neatendita dosierfino" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "Sintaksa eraro" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Uzu «%s» por eliri el la ŝelo.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "Neatendita dosierfino dum serĉo de responda „)‟" @@ -1812,77 +1812,83 @@ msgstr "Nekonata signalnumero" msgid "Unknown Signal #%d" msgstr "Nekonata signalo n-ro %d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "Misa anstataŭigo: Mankas ferma „%s‟ en %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: Maleblas valorizi tabelanon per listo" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "Ne prosperis fari dukton por proceza anstataŭigo" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "Ne prosperis krei idon por proceza anstataŭigo" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "Ne prosperis malfermi nomitan dukton %s porlegan" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "Ne prosperis malfermi nomitan dukton %s por skribado" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "Ne prosperis kunnomumi nomhavan dukton %s kiel dosiernumeron %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "Ne prosperis fari dukton por komanda anstataŭigo" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "Ne prosperis krei procezidon por komanda anstataŭigo" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: Ne prosperis kunnomumi la dosiernumeron 1 al dukto" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: Parametro estas NUL aŭ malaktiva" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: subĉeno-esprimo < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: Misa anstataŭigo" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: ĉi tiel ne valorizebla" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "Misa anstataŭigo: Mankas ferma „`‟ en %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "Nenio kongrua: %s" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-03-19 19:34-0600\n" "Last-Translator: Cristian Othn Martnez Vera <cfuga@itam.mx>\n" "Language-Team: Spanish <es@li.org>\n" @@ -322,7 +322,7 @@ msgstr "slo se puede usar dentro de una funcin" msgid "cannot use `-f' to make functions" msgstr "no se puede usar `-f' para hacer funciones" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funcin de slo lectura" @@ -361,7 +361,7 @@ msgstr "%s: no se carg dinmicamente" msgid "%s: cannot delete: %s" msgstr "%s: no se puede borrar: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -379,7 +379,7 @@ msgstr "%s: el fichero es demasiado grande" # file=fichero. archive=archivo. Si no, es imposible traducir tar. sv # De acuerdo. Corregido en todo el fichero. cfuga -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -908,36 +908,36 @@ msgstr "%s: variable sin asignar" msgid "timed out waiting for input: auto-logout\n" msgstr "ha expirado mientras esperaba alguna entrada: auto-logout\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "no se puede redirigir la salida estndar desde /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: `%c': carcter de formato invlido" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "error de tubera" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: restringido: no se puede especificar `/' en nombres de rdenes" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: no se encontr la orden" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: intrprete errneo" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "no se puede duplicar el df %d al df %d" @@ -1018,7 +1018,7 @@ msgstr "%s: error de expresin\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: no se puede acceder a los directorios padre" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "no se puede reestablecer el modo nodelay para el df %d" @@ -1339,71 +1339,71 @@ msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" "make_redirection: la instruccin de redireccin `%d' est fuera de rango" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "EOF inesperado mientras se buscaba un `%c' coincidente" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "EOF inesperado mientras se buscaba `]]'" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "error sintctico en la expresin condicional: elemento inesperado `%s'" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "error sintctico en la expresin condicional" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "elemento inesperado `%s', se esperaba `)'" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "se esperaba `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "argumento inesperado `%s' para el operador unario condicional" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "argumento inesperado para el operador unario condicional" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "elemento inesperado `%s', se esperaba un operador binario condicional" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "se esperaba un operador binario condicional" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "argumento inesperado `%s' para el operador binario condicional" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "argumento inesperado para el operador binario condicional" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "elemento inesperado `%c' en la orden condicional" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "elemento inesperado `%s' en la orden condicional" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "elemento inesperado %d en la orden condicional" @@ -1414,12 +1414,12 @@ msgstr "elemento inesperado %d en la orden condicional" # provocado por el smbolo. Simplemente estar cerca del mismo. cfuga # Por consistencia con el siguiente, yo borrara la coma. sv # Cierto. Coma borrada. cfuga -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "error sintctico cerca del elemento inesperado `%s'" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "error sintctico cerca de `%s'" @@ -1428,20 +1428,20 @@ msgstr "error sintctico cerca de `%s'" # no se esperaba el final de la lnea em+ # Ojo, que end of file es fin de fichero, no de lnea. sv # Se hicieron ambos cambios. cfuga -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "error sintctico: no se esperaba el final del fichero" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "error sintctico" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Use \"%s\" para dejar el shell.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "EOF inesperado mientras se buscaba un `)' coincidente" @@ -1776,77 +1776,83 @@ msgstr "Seal Desconocida #" msgid "Unknown Signal #%d" msgstr "Seal Desconocida #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "sustitucin errnea: no hay un `%s' que cierre en %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: no se puede asignar una lista a un miembro de la matriz" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "no se puede crear la tubera para la sustitucin del proceso" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "no se puede crear un proceso hijo para la sustitucin del proceso" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "no se puede abrir la tubera llamada %s para lectura" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "no se puede abrir la tubera llamada %s para escritura" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "no se puede duplicar la tubera llamada %s como df %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "no se pueden crear la tubera para la sustitucin de la orden" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "no se puede crear un proceso hijo para la sustitucin de la orden" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: no se puede duplicar la tubera como df 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parmetro nulo o no establecido" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: expresin de subcadena < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: sustitucin errnea" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: no se puede asignar de esta forma" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "sustitucin errnea: no hay una \"`\" que cierre en %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "no hay coincidencia: %s" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2006-11-11 16:38+0200\n" "Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n" "Language-Team: Estonian <et@li.org>\n" @@ -316,7 +316,7 @@ msgstr "saab kasutada ainult funktsioonis" msgid "cannot use `-f' to make functions" msgstr "vtit `-f' ei saa funktsiooni loomiseks kasutada" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funktsioon ei ole muudetav" @@ -355,7 +355,7 @@ msgstr "%s: pole dnaamiliselt laetud" msgid "%s: cannot delete: %s" msgstr "%s: ei saa kustutada: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -371,7 +371,7 @@ msgstr "%s: ei ole tavaline fail" msgid "%s: file is too large" msgstr "%s: fail on liiga suur" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -832,37 +832,37 @@ msgstr "%s: sidumata muutuja" msgid "timed out waiting for input: auto-logout\n" msgstr "" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "kirjutamise viga: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: piiratud: kskudes ei saa kasutada smboleid `/'" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: ksku ei ole" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: halb interpretaator" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "" @@ -937,7 +937,7 @@ msgstr "%s: oodati tisarvude avaldist" msgid "getcwd: cannot access parent directories" msgstr "getcwd: vanemkataloogidele ei ole juurdepsu" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "" @@ -1245,99 +1245,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "sntaksi viga tingimuslikus avaldises" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "ootamatu mrk `%s', oodati `)'" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "oodati `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "sntaksi viga kohal `%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "sntaksi viga: ootamatu faililpp" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "sntaksi viga" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Ksuinterpretaatorist vljumiseks kasutage \"%s\".\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "" @@ -1651,77 +1651,83 @@ msgstr "" msgid "Unknown Signal #%d" msgstr "" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parameeter on null vi pole seatud" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: halb asendus" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: sedasi ei saa omistada" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "sulgev `%c' puudub %s sees" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "ei leitud: %s" Binary files differ@@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: bash-4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-05-09 15:13+0300\n" "Last-Translator: Pekka Niemi <pekka.niemi@iki.fi>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" @@ -323,7 +323,7 @@ msgstr "voidaan käyttää ainoastaan funktiossa" msgid "cannot use `-f' to make functions" msgstr "”-f”:ää ei voida käyttää funktioiden luomiseen" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: kirjoitussuojattu funktio" @@ -362,7 +362,7 @@ msgstr "%s: ei dynaamisesti ladattu" msgid "%s: cannot delete: %s" msgstr "%s: ei voida poistaa: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -378,7 +378,7 @@ msgstr "%s: ei tavallinen tiedosto" msgid "%s: file is too large" msgstr "%s: tiedosto on liian iso" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -903,36 +903,36 @@ msgstr "%s: sitomaton muuttuja" msgid "timed out waiting for input: auto-logout\n" msgstr "aikakatkaisu: automaattinen uloskirjautuminen\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "syötettä ei voida lukea tiedostosta /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "AJAN MUOTOMÄÄRITYS: ”%c”: virheellinen muotoilumerkki" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "putkitusvirhe" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: rajoitettu: komentojen nimissä ei voi käyttää ”/”-merkkiä" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: komentoa ei löydy" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: virheellinen tulkki" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "tiedostokahvaa %d ei voida kopioida kahvaksi %d" @@ -1007,7 +1007,7 @@ msgstr "%s: virhe lausekkeessa\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: ylempiin hakemistoihin ei päästä" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "nodelay-tilaa ei voida asettaa tiedostokahvalle %d" @@ -1317,100 +1317,100 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: uudelleenohjaus ”%d” rajojen ulkopuolella" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "odottamaton EOF (tiedostonloppu) odotettaessa sulkevaa ”%c”" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "odottamaton EOF odotettaessa ”]]”" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "lauseoppivirhe ehdollisessa lausekkeessa: odottamaton avainsana ”%s”" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "lauseoppivirhe ehdollisessa lausekkeessa" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "odottamaton avainsana ”%s”, odotettiin ”)”" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "odototettiin ”)”" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "odottamaton argumentti ”%s” ehdolliselle unaariselle operaattorille" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "odottamaton argumentti ehdolliselle unaariselle operaattorille" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" "odottamaton avainsana ”%s”, odotettiin ehdollista binääristä operaattoria" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "odotettiin ehdollista binääristä operaattoria" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "odottamaton argumentti ”%s” ehdolliselle binääriselle operaattorille" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "odottamaton argumentti ehdolliselle binääriselle operaattorille" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "odottamaton avainsana ”%c” ehdollisessa komennossa" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "odottamaton avainsana ”%s” ehdollisessa komennossa" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "odottamaton avainsana %d ehdollisessa komennossa" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "lauseoppivirhe lähellä odottamatonta avainsanaa ”%s”" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "lauseoppivirhe lähellä ”%s”" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "lauseoppivirhe: odottamaton tiedostonloppu" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "lauseoppivirhe" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Kirjoita ”%s” poistuaksesi komentotulkista.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "Odottamaton EOF odotettaessa vastaavaa ”)”" @@ -1727,77 +1727,83 @@ msgstr "Tuntematon signaali #" msgid "Unknown Signal #%d" msgstr "Tuntematon signaali #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "virheellinen korvaus: ei sulkevaa ”%s” jonossa %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: listaa ei voida sijoittaa taulukon alkioon" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "putkea ei voida luoda prosessin korvaamista varten" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "lapsiprosessia ei voida luoda prosessin korvaamista varten" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "nimettyä putkea %s ei voida avata lukemista varten" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "nimettyä putkea %s ei voida avata kirjoitusta varten" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "nimettyä putkea %s ei voida kopioida tiedostokahvaksi %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "putkea ei voida luoda komennon korvaamista varten" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "ei voida luoda lapsiprosessia komennon korvaamista varten" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: putkea ei voida kopioida tiedostokahvaksi 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parametria ei ole tai sitä ei ole asetettu" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: alimerkkijonolauseke < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: virheellinen korvaus" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: ei voida asettaa näin" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "virheellinen korvaus: ei sulkevaa ”`” jonossa %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "ei osumia: %s" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2008-03-13 13:10+0100\n" "Last-Translator: Christophe Combelles <ccomb@free.fr>\n" "Language-Team: French <traduc@traduc.org>\n" @@ -326,7 +326,7 @@ msgstr "utilisable seulement dans une fonction" msgid "cannot use `-f' to make functions" msgstr "« -f » ne peut pas être utilisé pour fabriquer des fonctions" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s : fonction en lecture seule" @@ -365,7 +365,7 @@ msgstr "%s : non chargé dynamiquement" msgid "%s: cannot delete: %s" msgstr "%s : impossible d'effacer : %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -381,7 +381,7 @@ msgstr "%s : ceci n'est pas un fichier régulier" msgid "%s: file is too large" msgstr "%s : le fichier est trop grand" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -926,38 +926,38 @@ msgstr "%s : variable sans liaison" msgid "timed out waiting for input: auto-logout\n" msgstr "attente de données expirée : déconnexion automatique\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "l'entrée standard ne peut pas être redirigée depuis /dev/null : %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT : « %c » : caractère de format non valable" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "erreur d'écriture : %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "" "%s : restriction : « / » ne peut pas être spécifié dans un nom de commande" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s : commande introuvable" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s : %s : mauvais interpréteur" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "Impossible de dupliquer le fd %d vers le fd %d" @@ -1032,7 +1032,7 @@ msgstr "%s : nombre entier attendu comme expression" msgid "getcwd: cannot access parent directories" msgstr "getcwd : ne peut accéder aux répertoires parents" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "Impossible de réinitialiser le mode « nodelay » pour le fd %d" @@ -1345,104 +1345,104 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection : l'instruction de redirection « %d » est hors plage" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "" "Caractère de fin de fichier (EOF) prématuré lors de la recherche du « %c » " "correspondant" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "" "Caractère de fin de fichier (EOF) prématuré lors de la recherche de « ]] »" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "" "Erreur de syntaxe dans une expression conditionnelle : symbole « %s » " "inattendu" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "Erreur de syntaxe dans une expression conditionnelle" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "Symbole inattendu « %s » au lieu de « ) »" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "« ) » attendu" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "argument inattendu « %s » pour l'opérateur conditionnel à un argument" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "argument inattendu pour l'opérateur conditionnel à un argument" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "Symbole « %s » trouvé à la place d'un opérateur binaire conditionnel" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "opérateur binaire conditionnel attendu" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "argument « %s » inattendu pour l'opérateur binaire conditionnel" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "argument inattendu pour l'opérateur binaire conditionnel" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "Symbole « %c » inattendu dans la commande conditionnelle" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "Symbole « %s » inattendu dans la commande conditionnelle" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "Symbole « %d » inattendu dans la commande conditionnelle" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "Erreur de syntaxe près du symbole inattendu « %s »" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "Erreur de syntaxe près de « %s »" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "Erreur de syntaxe : fin de fichier prématurée" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "Erreur de syntaxe" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Utilisez « %s » pour quitter le shell.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "" "Caractère de fin de fichier (EOF) prématuré lors de la recherche d'un « ) » " @@ -1762,78 +1762,84 @@ msgstr "" msgid "Unknown Signal #%d" msgstr "" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "Mauvaise substitution : pas de « %s » de fermeture dans %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s : impossible d'affecter une liste à un élément de tableau" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "Impossible de fabriquer un tube pour une substitution de processus" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "Impossible de fabriquer un fils pour une substitution de processus" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "Impossible d'ouvrir le tube nommé « %s » en lecture" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "Impossible d'ouvrir le tube nommé « %s » en écriture" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "Impossible de dupliquer le tube nommé « %s » vers le fd %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "Impossible de fabriquer un tube pour une substitution de commande" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "" "Impossible de fabriquer un processus fils pour une substitution de commande" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute : impossible de dupliquer le tube vers le fd 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s : paramètre vide ou non défini" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s : expression de sous-chaîne négative" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s : mauvaise substitution" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s : affectation impossible de cette façon" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "Mauvaise substitution : pas de « %s » de fermeture dans %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "Pas de correspondance : %s" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-09-24 23:08+0100\n" "Last-Translator: Séamus Ó Ciardhuáin <seoc@iolfree.ie>\n" "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" @@ -324,7 +324,7 @@ msgstr "Inúsáidte i bhfeidhmeanna amháin. " msgid "cannot use `-f' to make functions" msgstr "Ní féidir \"-f\" a úsáid chun feidhmeanna a dhéanamh" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: feidhm inléite amháin" @@ -364,7 +364,7 @@ msgstr "%s: níl sé luchtaithe go dinimiciúil" msgid "%s: cannot delete: %s" msgstr "%s: ní féidir scrios: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -380,7 +380,7 @@ msgstr "%s: ní gnáthchomhad é" msgid "%s: file is too large" msgstr "%s: tá an comhad ró-mhór" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -852,36 +852,36 @@ msgstr "%s: athróg neamhcheangailte" msgid "timed out waiting for input: auto-logout\n" msgstr "imithe thar am ag feitheamh le hionchur: logáil amach uathoibríoch\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "Ní féidir an ionchur caighdeánach a atreorú ó /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "FORMÁID_AMA: \"%c\": carachtar formáide neamhbhaií." -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "earráid phíopa" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: srianta: ní féidir \"/\" a shonrú in ainmneacha ordaithe" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: níor aimsíodh an t-ordú" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: drochléirmhínitheoir" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "" @@ -957,7 +957,7 @@ msgstr "%s: earráid sloinn\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: ní féidir na máthairchomhadlanna a rochtain." -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "" @@ -1275,103 +1275,103 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: ordú atreoraithe \"%d\" as raon." -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "Deireadh comhaid gan súil leis agus \"%c\" a mheaitseálann á lorg." -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "Deireadh comhaid gan súil leis agus \"]]\" á lorg." -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "" "Earráid chomhréire i slonn coinníollach: comhartha \"%s\" gan suil leis." -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "Earráid chomhréire i slonn coinníollach." -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "Comhartha \"%s\" gan súil leis; ag súil le \")\"." -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "Ag súil le \")\"" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "Argóint \"%s\" gan súil lei go hoibreoir aonártha coinníollach." -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "Argóint gan súil lei go hoibreoir coinníollach aonártha ." -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" "Comhartha \"%s\" gan súil leis. Bhíothas ag súil le hoibreoir coinníollach " "dénártha." -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "Bhíothas ag súil le hoibreoir coinníollach dénártha." -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "Argóint \"%s\" gan súil lei go hoibreoir dénártha coinníollach." -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "Argóint gan súil lei go hoibreoir dénártha coinníollach." -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "Comhartha \"%c\" gan súil leis in ordú coinníollach." -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "Comhartha \"%s\" gan súil leis in ordú coinníollach." -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "Comhartha %d gan súil leis in ordú coinníollach." -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "" "Earráid chomhréire in aice comhartha \"%s\" nach rabhthas ag súil leis." -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "Earráid chomhréire in aice \"%s\"" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "Earráid chomhréire: deireadh comhaid gan súil leis." -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "Earráid chomhréire" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Úsáid \"%s\" le scoir den mblaosc.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "Deireadh comhaid gan súil leis agus \")\" á lorg le meaitseáil." @@ -1687,80 +1687,86 @@ msgstr "Comhartha neamhaithnid #" msgid "Unknown Signal #%d" msgstr "Comhartha neamhaithnid #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "Drochionadú: níl \"%s\" dúnta i %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: ní féidir liosta a shannadh go ball eagair." -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "Ní féidir píopa a dhéanamh le haghaidh ionadaíocht próisis." -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "Ní féidir macphróiseas a dhéanamh le haghaidh ionadaíocht próisis." -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "Ní féidir píopa ainmnithe %s a oscailt le haghaidh léamh." -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "Ní féidir píopa ainmnithe %s a oscailt le haghaidh scríofa." -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" "Ní féidir an píopa ainmnithe %s a dhúbailt mar thuairisceoir comhaid %d." -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "Ní féidir píopa a dhéanamh le haghaidh ionadú ordaithe." -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "Ní féidir macphróiseas a dhéanamh le haghaidh ionadú ordaithe." -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" "command_substitute: ní feidir an píopa a dhúbailt mar thuairisceoir comhaid " "1." -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: paraiméadar neamhnitheach nó gan socrú." -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: slonn fotheaghráin < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: drochionadú" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: ní féidir sannadh mar seo." -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "drochionadú: níl \"`\" dúnta i %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "gan meaitseáil: %s" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2002-06-14 09:49GMT\n" "Last-Translator: Gbor Istvn <stive@mezobereny.hu>\n" "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" @@ -322,7 +322,7 @@ msgstr "A local-t csak funkcin bell lehet hasznlni, ltrehozott vltoz NV" msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s Csak olvashat funkci" @@ -361,7 +361,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "%s: nem lehet ltrehozni: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -377,7 +377,7 @@ msgstr "%s: nem futtathat binris fjl" msgid "%s: file is too large" msgstr "" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -852,37 +852,37 @@ msgstr "%s felszabadtott vltoz" msgid "timed out waiting for input: auto-logout\n" msgstr "%c tl sokig nem csinlt semmit:automatikus kilps\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "Cs (pipe)hiba %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: fenntartva: parancs nem tartalmazhat '/' karaktert" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: parancs nem tallhat" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, fuzzy, c-format msgid "%s: %s: bad interpreter" msgstr "%s: egy knyvtr" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, fuzzy, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "nem msolhat a fd %d fd 0: %s-re" @@ -961,7 +961,7 @@ msgstr "%s egsz szm szksges" msgid "getcwd: cannot access parent directories" msgstr "getwd: nem elrhet a szl knyvtr" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "nem msolhat a fd %d fd 0: %s-re" @@ -1275,103 +1275,103 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, fuzzy, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "vratlan EOF amg vizsgltam a `%c'-t" -#: parse.y:3935 +#: parse.y:3951 #, fuzzy msgid "unexpected EOF while looking for `]]'" msgstr "vratlan EOF amg vizsgltam a `%c'-t" -#: parse.y:3940 +#: parse.y:3956 #, fuzzy, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "szintaktikai hiba a vratlan %s vezrjel krl" -#: parse.y:3944 +#: parse.y:3960 #, fuzzy msgid "syntax error in conditional expression" msgstr "szintaktikai hiba a kifelyezsben" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 #, fuzzy msgid "expected `)'" msgstr "')' szksges" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, fuzzy, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "%s:binris mvelet szksges" -#: parse.y:4108 +#: parse.y:4124 #, fuzzy msgid "conditional binary operator expected" msgstr "%s:binris mvelet szksges" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, fuzzy, c-format msgid "unexpected token `%c' in conditional command" msgstr "`:' tllpte a kifelyezs feltteleit" -#: parse.y:4148 +#: parse.y:4164 #, fuzzy, c-format msgid "unexpected token `%s' in conditional command" msgstr "`:' tllpte a kifelyezs feltteleit" -#: parse.y:4152 +#: parse.y:4168 #, fuzzy, c-format msgid "unexpected token %d in conditional command" msgstr "`:' tllpte a kifelyezs feltteleit" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "szintaktikai hiba a vratlan %s vezrjel krl" -#: parse.y:5461 +#: parse.y:5477 #, fuzzy, c-format msgid "syntax error near `%s'" msgstr "szintaktikai hiba a vratlan %s vezrjel krl" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "szintaktikai hiba: vratlan fjl vg" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "szintaktikai hiba" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Hasznlja \"%s\" a parancsrtelmez elhagyshoz.\n" -#: parse.y:5695 +#: parse.y:5711 #, fuzzy msgid "unexpected EOF while looking for matching `)'" msgstr "vratlan EOF amg vizsgltam a `%c'-t" @@ -1691,84 +1691,90 @@ msgstr "Ismeretlen # Szignl" msgid "Unknown Signal #%d" msgstr "Ismeretlen #%d Szignl" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, fuzzy, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "rossz behelyettests: ne a %s be a %s-t" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: nem lehet a listhoz rendelni az elemet" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 #, fuzzy msgid "cannot make pipe for process substitution" msgstr "nem lehet ltrehozni a pipe-ot feladat behelyettestshez: %s" -#: subst.c:4790 +#: subst.c:4802 #, fuzzy msgid "cannot make child for process substitution" msgstr "" "nem lehet ltrehozni a gyermekfolyamatott feladat behelyettestshez: %s" -#: subst.c:4835 +#: subst.c:4847 #, fuzzy, c-format msgid "cannot open named pipe %s for reading" msgstr "nem lehet ltrehozni a %s \"named pipe\"-ot a %s-nek: %s" -#: subst.c:4837 +#: subst.c:4849 #, fuzzy, c-format msgid "cannot open named pipe %s for writing" msgstr "nem lehet ltrehozni a %s \"named pipe\"-ot a %s-nek: %s" -#: subst.c:4855 +#: subst.c:4867 #, fuzzy, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "nem lehet msolni a %s \"named pipe\"-ot mint fd %d :%s" -#: subst.c:5051 +#: subst.c:5063 #, fuzzy msgid "cannot make pipe for command substitution" msgstr "nem lehet ltrehozni a \"pipe\"-ot parancs behelyettestshez: %s" -#: subst.c:5085 +#: subst.c:5097 #, fuzzy msgid "cannot make child for command substitution" msgstr "" "nem lehet ltrehozni a gyermekfolyamatot a parancs behelyettestshez: %s" -#: subst.c:5102 +#: subst.c:5114 #, fuzzy msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: nem lehet msolni a \"pipe\"-ot mint fd 1: %s" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s paramter semmis vagy nincs belltva" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s szvegrsz kifejezs < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s rossz behelyettests" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s gy nem lehet hozzrendelni" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "rossz behelyettests: ne a %s be a %s-t" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-03-21 11:40+0700\n" "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n" "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" @@ -320,7 +320,7 @@ msgstr "hanya dapat digunakan dalam sebuah fungsi" msgid "cannot use `-f' to make functions" msgstr "tidak dapat menggunakan `-f' untuk membuat fungsi" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: fungsi baca-saja" @@ -359,7 +359,7 @@ msgstr "%s: bukan dinamically loaded" msgid "%s: cannot delete: %s" msgstr "%s: tidak dapat menghapus: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -375,7 +375,7 @@ msgstr "%s: bukan sebuah file umum" msgid "%s: file is too large" msgstr "%s: file terlalu besar" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -906,37 +906,37 @@ msgstr "%s: variabel tidak terikat" msgid "timed out waiting for input: auto-logout\n" msgstr "kehabisan waktu menunggu masukan: otomatis-keluar\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "tidak dapat menyalurkan masukan standar dari /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: `%c': karakter format tidak valid" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "pipe error" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "" "%s: dibatasi: tidak dapat menspesifikasikan '/' dalam nama nama perintah" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: perintah tidak ditemukan" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: interpreter buruk" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "tidak dapat menduplikasikan fd %d ke fd %d" @@ -1011,7 +1011,7 @@ msgstr "%s: expresi error\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: tidak dapat mengakses direktori orang tua" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "tidak dapat mereset mode nodelay untuk fd %d" @@ -1324,99 +1324,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: instruksi redireksi `%d' diluar dari jangkauan" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "EOF tidak terduga ketika mencari untuk pencocokan `%c'" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "EOF tidak terduga ketika mencari untuk `]]'" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "syntax error dalam ekspresi kondisional: tanda `%s' tidak terduga" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "syntax error dalam ekspresi kondisional" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "tanda `%s' tidak terduga, diduga `)'" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "diduga `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "argumen tidak terduga `%s' ke operator kondisional unary" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "argumen tidak terduga untuk operasi unary kondisional" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "tanda `%s' tidak terduga, operator binary kondisional diduga" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "operator binary kondisional diduga" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "argumen `%s' tidak terduga ke operator binary kondisional" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "argumen tidak terduga ke operasi binary kondisional" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "tanda `%c' tidak terduga dalam perintah kondisional" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "tanda `%s' tidak terduga dalam perintah kondisional" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "tanda %d tidak terduga dalam perintah kondisional" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "syntax error didekat tanda `%s' yang tidak terduga" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "syntax error didekat `%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "syntax error: tidak terduga diakhir dari berkas" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "syntax error" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Gunakan \"%s\" untuk meninggalkan shell.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "EOF tidak terduga ketika mencari untuk pencocokan ')'" @@ -1732,77 +1732,83 @@ msgstr "Sinyal tidak diketahui #" msgid "Unknown Signal #%d" msgstr "Sinyal tidak diketahui #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "substitusi buruk: tidak ada penutupan `%s' dalam %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: tidak dapat meng-assign daftar kedalam anggoya array" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "tidak dapat membuat pipe untuk proses substitusi" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "tidak dapat membuat anak untuk proses substitusi" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "tidak dapat membuka named pipe %s untuk membaca" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "tidak dapat membukan named pipe %s untuk menulis" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "tidak dapat menduplikasi nama pipe %s sebagai fd %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "tidak dapat membuat pipe untuk perintah substitusi" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "tidak dapat membuat anak untuk perintah substitusi" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: tidak dapat menduplikasikan pipe sebagi fd 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parameter kosong atau tidak diset" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: substring expresi < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: substitusi buruk" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: tidak dapat meng-assign dengan cara ini" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "substitusi buruk: tidak ada penutupan \"\" dalam %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "tidak cocok: %s" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU bash 2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2000-03-21 19:30+0900\n" "Last-Translator: Kyoichi Ozaki <k@afromania.org>\n" "Language-Team: Japanese <ja@li.org>\n" @@ -320,7 +320,7 @@ msgstr "" msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: ɤ߹ߤΤߤδؿ" @@ -359,7 +359,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "%s: %s Ǥޤ" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -375,7 +375,7 @@ msgstr "%s: Хʥե¹ԤǤޤ" msgid "%s: file is too large" msgstr "" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -847,37 +847,37 @@ msgstr "%s: ŸƤʤѿ" msgid "timed out waiting for input: auto-logout\n" msgstr "%cԤ饿ॢȤޤ: ư\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "ѥץ顼: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: : `/' ޥ̾˵ҤǤޤ" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: ޥɤĤޤ" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, fuzzy, c-format msgid "%s: %s: bad interpreter" msgstr "%s: ϥǥ쥯ȥǤ" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, fuzzy, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "fd %d fd 0 ʣǤޤ: %s" @@ -956,7 +956,7 @@ msgstr "%s: ؿɽ" msgid "getcwd: cannot access parent directories" msgstr "getwd: ̥ǥ쥯ȥ˥Ǥޤ" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "fd %d fd 0 ʣǤޤ: %s" @@ -1269,102 +1269,102 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, fuzzy, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "ԤƤʤեνλ(EOF)`%c'դޤȯ" -#: parse.y:3935 +#: parse.y:3951 #, fuzzy msgid "unexpected EOF while looking for `]]'" msgstr "ԤƤʤեνλ(EOF)`%c'դޤȯ" -#: parse.y:3940 +#: parse.y:3956 #, fuzzy, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "ԤƤʤ token `%s' Τ˥å顼" -#: parse.y:3944 +#: parse.y:3960 #, fuzzy msgid "syntax error in conditional expression" msgstr "ɽ˥å顼" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 #, fuzzy msgid "expected `)'" msgstr "`)' " -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, fuzzy, c-format msgid "unexpected token `%c' in conditional command" msgstr "`:' ɽΤԤƤޤ" -#: parse.y:4148 +#: parse.y:4164 #, fuzzy, c-format msgid "unexpected token `%s' in conditional command" msgstr "`:' ɽΤԤƤޤ" -#: parse.y:4152 +#: parse.y:4168 #, fuzzy, c-format msgid "unexpected token %d in conditional command" msgstr "`:' ɽΤԤƤޤ" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "ԤƤʤ token `%s' Τ˥å顼" -#: parse.y:5461 +#: parse.y:5477 #, fuzzy, c-format msgid "syntax error near `%s'" msgstr "ԤƤʤ token `%s' Τ˥å顼" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "å 顼: ԤƤʤեνλ" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "å顼" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "뤫æФΤ \"%s\" Ȥʤ.\n" -#: parse.y:5695 +#: parse.y:5711 #, fuzzy msgid "unexpected EOF while looking for matching `)'" msgstr "ԤƤʤեνλ(EOF)`%c'դޤȯ" @@ -1680,82 +1680,88 @@ msgstr "̤ΤΥʥ #" msgid "Unknown Signal #%d" msgstr "̤ΤΥʥ #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, fuzzy, c-format msgid "bad substitution: no closing `%s' in %s" msgstr ": `%s' %s ˤϤޤ" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: ꥹȤС˳Ƥޤ" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 #, fuzzy msgid "cannot make pipe for process substitution" msgstr "ץ˥ѥפǤޤ: %s" -#: subst.c:4790 +#: subst.c:4802 #, fuzzy msgid "cannot make child for process substitution" msgstr "ץ˻ҤǤޤ: %s" -#: subst.c:4835 +#: subst.c:4847 #, fuzzy, c-format msgid "cannot open named pipe %s for reading" msgstr "named pipe %s %s سޤ: %s" -#: subst.c:4837 +#: subst.c:4849 #, fuzzy, c-format msgid "cannot open named pipe %s for writing" msgstr "named pipe %s %s سޤ: %s" -#: subst.c:4855 +#: subst.c:4867 #, fuzzy, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "named pipe %s fd %d Τʣ뤳ȤϤǤޤ: %s" -#: subst.c:5051 +#: subst.c:5063 #, fuzzy msgid "cannot make pipe for command substitution" msgstr "ޥɤ˥ѥפǤޤ: %s" -#: subst.c:5085 +#: subst.c:5097 #, fuzzy msgid "cannot make child for command substitution" msgstr "ޥɤ˻ҤǤޤ: %s" -#: subst.c:5102 +#: subst.c:5114 #, fuzzy msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: ѥפ fd 1 ȤʣǤޤ: %s" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: ѥ̥ϥåȤƤޤ" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: " -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: Τ褦˻Ǥޤ" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr ": `%s' %s ˤϤޤ" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash-4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-03-25 16:49+0200\n" "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n" "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" @@ -318,7 +318,7 @@ msgstr "galima naudoti tik funkcijoje" msgid "cannot use `-f' to make functions" msgstr "negalima naudoti „-f“ funkcijoms kurti" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funkcija tik skaitymui" @@ -357,7 +357,7 @@ msgstr "%s: nedinamiškai įkrauta" msgid "%s: cannot delete: %s" msgstr "%s: nepavyko ištrinti: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -373,7 +373,7 @@ msgstr "%s: ne paprastas failas" msgid "%s: file is too large" msgstr "%s: failas per didelis" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -847,37 +847,37 @@ msgstr "%s: nepriskirtas kintamasis" msgid "timed out waiting for input: auto-logout\n" msgstr "laukiant įvedimo baigėsi laikas: automatiškai atsijungta\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "nepavyko peradresuoti standartinio įvedimo iš /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: „%c“: netaisyklingas formato simbolis" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "rašymo klaida: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: apribota: negalima naudoti „/“ komandų pavadinimuose" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: komanda nerasta" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: blogas interpretatorius" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "nepavyko dublikuoti fd %d į fd %d" @@ -953,7 +953,7 @@ msgstr "%s: išraiškos klaida\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: nepavyko pasiekti aukštesnių aplankų" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "nepavyko dublikuoti fd %d į fd %d" @@ -1262,99 +1262,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: nukreipimo instrukcija „%d“ už ribų" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "netikėta failo pabaiga ieškant atitinkamo „%c“" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "netikėta failo pabaiga ieškant „]]“" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "sintaksės klaida sąlygos išraiškoje: netikėta leksema „%s“" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "sintaksės klaida sąlygos išraiškoje" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "netikėta leksema „%s“, tikėtasi „)“" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "tikėtasi „)“" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "netikėtas argumentas „%s“ sąlygos unariniam operatoriui" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "netikėtas argumentas sąlygos unariniam operatoriui" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "netikėta leksema „%s“, tikėtasi sąlyginio binarinio operatoriaus" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "tikėtasi sąlygos binarinio operatoriaus" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "netikėtas argumentas „%s“ sąlygos binariniam operatoriui" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "netikėtas argumentas sąlygos binariniam operatoriui" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "netikėta leksema „%c“ sąlygos komandoje" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "netikėta leksema „%s“ sąlygos komandoje" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "netikėta leksema %d sąlygos komandoje" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "sintaksės klaida prie netikėtos leksemos: „%s“" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "sintaksės klaida prie „%s“" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "sintaksės klaida: netikėta failo pabaiga" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "sintaksės klaida" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Naudokite „%s“, jei norite išeiti iš ap.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "netikėta failo pabaiga ieškant atitinkamo „)“" @@ -1670,77 +1670,83 @@ msgstr "Nežinomas signalas #" msgid "Unknown Signal #%d" msgstr "Nežinomas signalas #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "blogas keitinys: trūksta „%s“ %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: negalima priskirti sąrašo masyvo elementui" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parametras tuščias arba nenustatytas" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: posekio išraiška < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: blogas keitinys" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: negalima tokiu būdu priskirti" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "blogas keitinys: trūksta „%s“ %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "nėra atitikmenų: %s" Binary files differ@@ -25,7 +25,7 @@ msgid "" msgstr "" "Project-Id-Version: bash-4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-12-03 15:15+0100\n" "Last-Translator: Erwin Poeze <erwin.poeze@gmail.com>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" @@ -338,7 +338,7 @@ msgstr "kan alleen worden gebruikt binnen een functie" msgid "cannot use `-f' to make functions" msgstr "'-f' kan niet gebruikt worden om een functie te definiëren" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: is een alleen-lezen functie" @@ -377,7 +377,7 @@ msgstr "%s: is niet dynamisch geladen" msgid "%s: cannot delete: %s" msgstr "Kan %s niet verwijderen: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -393,7 +393,7 @@ msgstr "%s: is geen normaal bestand" msgid "%s: file is too large" msgstr "%s: bestand is te groot" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -919,36 +919,36 @@ msgstr "%s: ongebonden variabele" msgid "timed out waiting for input: auto-logout\n" msgstr "wachten op invoer duurde te lang -- automatisch afgemeld\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "kan standaardinvoer niet omleiden vanaf /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: '%c': ongeldig opmaakteken" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "pijpfout" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: beperkte modus: '/' in opdrachtnamen is niet toegestaan" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: opdracht niet gevonden" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: ongeldige interpreter" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "kan bestandsdescriptor %d niet dupliceren naar bestandsdescriptor %d" @@ -1023,7 +1023,7 @@ msgstr "%s: expressiefout\n" msgid "getcwd: cannot access parent directories" msgstr "getwd(): kan geen geen toegang verkrijgen tot bovenliggende mappen" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "kan 'nodelay'-modus niet uitschakelen voor bestandsdescriptor %d" @@ -1337,100 +1337,100 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection(): omleidingsinstructie '%d' valt buiten bereik" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "onverwacht bestandseinde tijdens zoeken naar bijpassende '%c'" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "onverwacht bestandseinde tijdens zoeken naar ']]'" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "syntaxfout in conditionele expressie: onverwacht symbool '%s'" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "syntaxfout in conditionele expressie" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "onverwacht symbool '%s'; ')' werd verwacht" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "')' werd verwacht" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "onverwacht argument '%s' bij eenzijdige conditionele operator" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "onverwacht argument bij eenzijdige conditionele operator" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" "onverwacht symbool '%s'; tweezijdige conditionele operator werd verwacht" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "tweezijdige conditionele operator werd verwacht" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "onverwacht argument '%s' bij tweezijdige conditionele operator" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "onverwacht argument bij tweezijdige conditionele operator" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "onverwacht symbool '%c' in conditionele opdracht" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "onverwacht symbool '%s' in conditionele opdracht" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "onverwacht symbool %d in conditionele opdracht" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "syntaxfout nabij onverwacht symbool '%s'" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "syntaxfout nabij '%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "syntaxfout: onverwacht bestandseinde" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "syntaxfout" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Gebruik \"%s\" om de shell te verlaten.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "onverwacht bestandseinde tijdens zoeken naar bijpassende ')'" @@ -1745,78 +1745,84 @@ msgstr "Onbekend signaalnummer" msgid "Unknown Signal #%d" msgstr "Onbekend signaal #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "ongeldige vervanging: geen sluit-'%s' in %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: kan geen lijst toewijzen aan een array-element" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "kan geen pijp maken voor procesvervanging" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "kan geen dochterproces maken voor procesvervanging" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "kan pijp genaamd %s niet openen om te lezen" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "kan pijp genaamd %s niet openen om te schrijven" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "kan pijp genaamd %s niet dupliceren als bestandsdescriptor %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "kan geen pijp maken voor opdrachtvervanging" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "kan geen dochterproces maken voor opdrachtvervanging" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" "command_substitute(): kan pijp niet dupliceren als bestandsdescriptor 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: lege parameter, of niet ingesteld" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: resultaat van deeltekenreeks is kleiner dan nul" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: ongeldige vervanging" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: kan niet op deze manier toewijzen" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "ongeldige vervanging: geen afsluitende '`' in %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "geen overeenkomst: %s" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2007-11-30 08:49+0100\n" "Last-Translator: Andrzej M. Krzysztofowicz <ankry@mif.pg.gda.pl>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" @@ -323,7 +323,7 @@ msgstr "mona uywa tylko w funkcji" msgid "cannot use `-f' to make functions" msgstr "nie mona uywa `-f' do tworzenia funkcji" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funkcja tylko do odczytu" @@ -362,7 +362,7 @@ msgstr "%s: nie jest adowany dynamicznie" msgid "%s: cannot delete: %s" msgstr "%s: nie mona usun: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -378,7 +378,7 @@ msgstr "%s: nie jest zwykym plikiem" msgid "%s: file is too large" msgstr "%s: plik jest za duy" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -910,37 +910,37 @@ msgstr "%s: nieustawiona zmienna" msgid "timed out waiting for input: auto-logout\n" msgstr "przekroczony czas oczekiwania na dane wejciowe: auto-wylogowanie\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "nie mona przekierowa standardowego wejcia z /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: `%c': nieprawidowy znak formatujcy" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "bd zapisu: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: ograniczony: nie mona podawa `/' w nazwach polece" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: nie znaleziono polecenia" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: zy interpreter" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "nie mona skopiowa deskryptora pliku %d do %d" @@ -1017,7 +1017,7 @@ msgstr "%s: oczekiwano wyraenia cakowitego" msgid "getcwd: cannot access parent directories" msgstr "getcwd: niemoliwy dostp do katalogw nadrzdnych" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "nie mona wyczy trybu nieblokujcego dla deskryptora %d" @@ -1329,99 +1329,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: instrukcja przekierowania `%d' poza zakresem" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "nieoczekiwany EOF podczas poszukiwania pasujcego `%c'" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "nieoczekiwany EOF podczas poszukiwania `]]'" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "bd skadni w wyraeniu warunkowym: nieoczekiwany znacznik `%s'" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "bd skadni w wyraeniu warunkowym" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "nieoczekiwany znacznik `%s', oczekiwano `)'" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "oczekiwano `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "nieoczekiwany argument `%s' jednoargumentowego operatora warunkowego" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "nieoczekiwany argument jednoargumentowego operatora warunkowego" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "nieoczekiwany argument `%s', oczekiwano dwuarg. operatora warunkowego" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "oczekiwano dwuargumentowego operatora warunkowego" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "nieoczekiwany argument `%s' dwuargumentowego operatora warunkowego" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "nieoczekiwany argument dwuargumentowego operatora warunkowego" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "nieoczekiwany znacznik `%c' w poleceniu warunkowym" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "nieoczekiwany znacznik `%s' w poleceniu warunkowym" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "nieoczekiwany znacznik %d w poleceniu warunkowym" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "bd skadni przy nieoczekiwanym znaczniku `%s'" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "bd skadni przy `%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "bd skadni: nieoczekiwany koniec pliku" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "bd skadni" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Uyj \"%s\", aby opuci t powok.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "nieoczekiwany EOF podczas poszukiwania pasujcego `)'" @@ -1739,77 +1739,83 @@ msgstr "" msgid "Unknown Signal #%d" msgstr "" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "ze podstawienie: brak zamykajcego `%s' w %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: nie mona przypisa listy do elementu tablicy" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "nie mona utworzy potoku dla podstawienia procesu" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "nie mona utworzy procesu potomnego dla podstawienia procesu" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "nie mona otworzy nazwanego potoku %s do odczytu" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "nie mona otworzy nazwanego potoku %s do zapisu" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "nie mona powieli nazwanego potoku %s jako deskryptor %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "nie mona utworzy potoku dla podstawienia polecenia" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "nie mona utworzy procesu potomnego dla podstawienia polecenia" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: nie mona powieli potoku jako deskryptora 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parametr pusty lub nieustawiony" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: wyraenie dla podacucha < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: ze podstawienie" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: nie mona przypisywa w ten sposb" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "ze podstawienie: brak zamykajcego `%s' w %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "brak pasujcego: %s" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo Binary files differindex 55a23afa..9ac9c43f 100644 --- a/po/pt_BR.gmo +++ b/po/pt_BR.gmo diff --git a/po/pt_BR.po b/po/pt_BR.po index 5e661035..e7e42cf3 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2002-05-08 13:50GMT -3\n" "Last-Translator: Halley Pacheco de Oliveira <halleypo@ig.com.br>\n" "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n" @@ -322,7 +322,7 @@ msgstr "somente pode ser usado dentro de funes; faz com que o escopo visvel" msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funo somente para leitura" @@ -361,7 +361,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "%s: impossvel criar: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -377,7 +377,7 @@ msgstr "%s: impossvel executar o arquivo binrio" msgid "%s: file is too large" msgstr "" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -854,37 +854,37 @@ msgstr "" "%ctempo limite de espera excedido aguardando entrada:\n" "fim automtico da sesso\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "erro de `pipe': %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: restrio: no permitido especificar `/' em nomes de comandos" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: comando no encontrado" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, fuzzy, c-format msgid "%s: %s: bad interpreter" msgstr "%s: um diretrio" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, fuzzy, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "impossvel duplicar fd (descritor de arquivo) %d para fd 0: %s" @@ -963,7 +963,7 @@ msgstr "%s: esperado expresso de nmero inteiro" msgid "getcwd: cannot access parent directories" msgstr "getwd: impossvel acessar os diretrios pais (anteriores)" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "impossvel duplicar fd (descritor de arquivo) %d para fd 0: %s" @@ -1280,103 +1280,103 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, fuzzy, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "encontrado EOF no esperado enquanto procurava por `%c'" -#: parse.y:3935 +#: parse.y:3951 #, fuzzy msgid "unexpected EOF while looking for `]]'" msgstr "encontrado EOF no esperado enquanto procurava por `%c'" -#: parse.y:3940 +#: parse.y:3956 #, fuzzy, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "erro de sintaxe prximo do `token' no esperado `%s'" -#: parse.y:3944 +#: parse.y:3960 #, fuzzy msgid "syntax error in conditional expression" msgstr "erro de sintaxe na expresso" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 #, fuzzy msgid "expected `)'" msgstr "esperado `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, fuzzy, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "%s: esperado operador binrio" -#: parse.y:4108 +#: parse.y:4124 #, fuzzy msgid "conditional binary operator expected" msgstr "%s: esperado operador binrio" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, fuzzy, c-format msgid "unexpected token `%c' in conditional command" msgstr "`:' esperado para expresso condicional" -#: parse.y:4148 +#: parse.y:4164 #, fuzzy, c-format msgid "unexpected token `%s' in conditional command" msgstr "`:' esperado para expresso condicional" -#: parse.y:4152 +#: parse.y:4168 #, fuzzy, c-format msgid "unexpected token %d in conditional command" msgstr "`:' esperado para expresso condicional" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "erro de sintaxe prximo do `token' no esperado `%s'" -#: parse.y:5461 +#: parse.y:5477 #, fuzzy, c-format msgid "syntax error near `%s'" msgstr "erro de sintaxe prximo do `token' no esperado `%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "erro de sintaxe: fim prematuro do arquivo" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "erro de sintaxe" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Use \"%s\" para sair da `shell'.\n" -#: parse.y:5695 +#: parse.y:5711 #, fuzzy msgid "unexpected EOF while looking for matching `)'" msgstr "encontrado EOF no esperado enquanto procurava por `%c'" @@ -1696,86 +1696,92 @@ msgstr "Sinal desconhecido #" msgid "Unknown Signal #%d" msgstr "Sinal desconhecido #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, fuzzy, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "substituio incorreta: nenhum `%s' em %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: impossvel atribuir uma lista a um membro de uma matriz (array)" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 #, fuzzy msgid "cannot make pipe for process substitution" msgstr "impossvel criar `pipe' para a substituio do processo: %s" -#: subst.c:4790 +#: subst.c:4802 #, fuzzy msgid "cannot make child for process substitution" msgstr "impossvel criar um processo filho para a substituio do processo: %s" -#: subst.c:4835 +#: subst.c:4847 #, fuzzy, c-format msgid "cannot open named pipe %s for reading" msgstr "impossvel abrir o `named pipe' %s para %s: %s" -#: subst.c:4837 +#: subst.c:4849 #, fuzzy, c-format msgid "cannot open named pipe %s for writing" msgstr "impossvel abrir o `named pipe' %s para %s: %s" -#: subst.c:4855 +#: subst.c:4867 #, fuzzy, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" "impossvel duplicar o `named pipe' %s\n" "como descritor de arquivo (fd) %d: %s" -#: subst.c:5051 +#: subst.c:5063 #, fuzzy msgid "cannot make pipe for command substitution" msgstr "impossvel construir `pipes' para substituio do comando: %s" -#: subst.c:5085 +#: subst.c:5097 #, fuzzy msgid "cannot make child for command substitution" msgstr "impossvel criar um processo filho para substituio do comando: %s" -#: subst.c:5102 +#: subst.c:5114 #, fuzzy msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" "command_substitute: impossvel duplicar o `pipe' como\n" "descritor de arquivo (fd) 1: %s" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parmetro nulo ou no inicializado" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: expresso de substring < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: substituio incorreta" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: impossvel atribuir desta maneira" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "substituio incorreta: nenhum `%s' em %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 1997-08-17 18:42+0300\n" "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" @@ -321,7 +321,7 @@ msgstr "poate fi folosit doar ntr-o funcie, i face ca variabila NUME" msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funcie doar n citire (readonly)" @@ -360,7 +360,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "%s: nu s-a putut crea: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -376,7 +376,7 @@ msgstr "%s: nu se poate executa fiierul binar" msgid "%s: file is too large" msgstr "" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -850,37 +850,37 @@ msgstr "%s: variabil fr limit" msgid "timed out waiting for input: auto-logout\n" msgstr "%ca expirat ateptnd introducere de date: auto-logout\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "eroare de legtur (pipe): %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: limitat: nu se poate specifica `/' n numele comenzilor" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: comand negsit" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, fuzzy, c-format msgid "%s: %s: bad interpreter" msgstr "%s: este director" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, fuzzy, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "nu se poate duplica fd %d n fd 0: %s" @@ -959,7 +959,7 @@ msgstr "eroare de redirectare" msgid "getcwd: cannot access parent directories" msgstr "getwd: nu s-au putut accesa directoarele printe" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "" @@ -1272,103 +1272,103 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, fuzzy, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "EOF brusc n cutare dup `%c'" -#: parse.y:3935 +#: parse.y:3951 #, fuzzy msgid "unexpected EOF while looking for `]]'" msgstr "EOF brusc n cutare dup `%c'" -#: parse.y:3940 +#: parse.y:3956 #, fuzzy, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "eroare de sintax neateptat lng `%s'" -#: parse.y:3944 +#: parse.y:3960 #, fuzzy msgid "syntax error in conditional expression" msgstr "eroare de sintax n expresie " -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 #, fuzzy msgid "expected `)'" msgstr "se ateapt `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, fuzzy, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "%s: se ateapt operator binar" -#: parse.y:4108 +#: parse.y:4124 #, fuzzy msgid "conditional binary operator expected" msgstr "%s: se ateapt operator binar" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, fuzzy, c-format msgid "unexpected token `%c' in conditional command" msgstr "`:' ateptat dup expresie condiional" -#: parse.y:4148 +#: parse.y:4164 #, fuzzy, c-format msgid "unexpected token `%s' in conditional command" msgstr "`:' ateptat dup expresie condiional" -#: parse.y:4152 +#: parse.y:4168 #, fuzzy, c-format msgid "unexpected token %d in conditional command" msgstr "`:' ateptat dup expresie condiional" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "eroare de sintax neateptat lng `%s'" -#: parse.y:5461 +#: parse.y:5477 #, fuzzy, c-format msgid "syntax error near `%s'" msgstr "eroare de sintax neateptat lng `%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "eroare de sintax: sfrit de fiier neateptat" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "eroare de sintax" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Folosii \"%s\" pentru a prsi shellul.\n" -#: parse.y:5695 +#: parse.y:5711 #, fuzzy msgid "unexpected EOF while looking for matching `)'" msgstr "EOF brusc n cutare dup `%c'" @@ -1687,82 +1687,88 @@ msgstr "Semnal Necunoscut #" msgid "Unknown Signal #%d" msgstr "Semnal Necunoscut #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, fuzzy, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "substituie invalid: nu exist '%s' n %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: nu pot asigna list membrului intervalului" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 #, fuzzy msgid "cannot make pipe for process substitution" msgstr "nu pot face legtur (pipe) pentru substituia procesului: %s" -#: subst.c:4790 +#: subst.c:4802 #, fuzzy msgid "cannot make child for process substitution" msgstr "nu pot crea un proces copil pentru substituirea procesului: %s" -#: subst.c:4835 +#: subst.c:4847 #, fuzzy, c-format msgid "cannot open named pipe %s for reading" msgstr "nu pot deschide legtura numit %s pentru %s: %s" -#: subst.c:4837 +#: subst.c:4849 #, fuzzy, c-format msgid "cannot open named pipe %s for writing" msgstr "nu pot deschide legtura numit %s pentru %s: %s" -#: subst.c:4855 +#: subst.c:4867 #, fuzzy, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "nu se poate duplica legtura numit %s ca fd %d: %s " -#: subst.c:5051 +#: subst.c:5063 #, fuzzy msgid "cannot make pipe for command substitution" msgstr "nu pot face legturi(pipes) pentru substituia de comenzi: %s" -#: subst.c:5085 +#: subst.c:5097 #, fuzzy msgid "cannot make child for command substitution" msgstr "nu pot crea un copil pentru substituia de comenzi: %s" -#: subst.c:5102 +#: subst.c:5114 #, fuzzy msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: nu se poate duplica legtura (pipe) ca fd 1: %s" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parametru null sau nesetat" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: expresie subir < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: substituie invalid" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: nu se poate asigna n acest mod" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "substituie invalid: nu exist ')' de final n %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "" Binary files differ@@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU bash 3.1-release\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2006-01-05 21:28+0300\n" "Last-Translator: Evgeniy Dushistov <dushistov@mail.ru>\n" "Language-Team: Russian <ru@li.org>\n" @@ -319,7 +319,7 @@ msgstr " " msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: " @@ -358,7 +358,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "%s: : %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -374,7 +374,7 @@ msgstr "%s: " msgid "%s: file is too large" msgstr "%s: " -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -837,37 +837,37 @@ msgstr "" msgid "timed out waiting for input: auto-logout\n" msgstr "" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr " : %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: " -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: " -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr " fd %d fd %d" @@ -942,7 +942,7 @@ msgstr " " msgid "getcwd: cannot access parent directories" msgstr "" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr " fd %d fd %d" @@ -1250,99 +1250,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr " `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr " `%s'" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr " : " -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr " " -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr " \"%s\", .\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "" @@ -1656,77 +1656,83 @@ msgstr "" msgid "Unknown Signal #%d" msgstr "" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr " %s " -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr " %s " -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: null " -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr " `%c' %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr " : %s" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-03-19 13:09+0100\n" "Last-Translator: Ivan Masár <helix84@centrum.sk>\n" "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" @@ -319,7 +319,7 @@ msgstr "je možné použiť iba vo funkcii" msgid "cannot use `-f' to make functions" msgstr "nie je možné použiť „-f“ pre tvorbu funkcií" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: funkcia iba na čítanie" @@ -358,7 +358,7 @@ msgstr "%s: nie je dynamicky načítané" msgid "%s: cannot delete: %s" msgstr "%s: nie je možné zmazať: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -374,7 +374,7 @@ msgstr "%s: nie je obyčajný súbor" msgid "%s: file is too large" msgstr "%s: súbor je príliš veľký" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -903,36 +903,36 @@ msgstr "%s: neviazaná premenná" msgid "timed out waiting for input: auto-logout\n" msgstr "čas vypršal pri čakaní na vstup: automatické odhlásenie\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "nie je možné presmerovať štandardný vstup z /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: „%c“: neplatný formátovácí znak" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "chyba rúry" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: obmedzené: nie jemožné uviesť „/“ v názvoch príkazov" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: príkaz nenájdený" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: chybný interpreter" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "nie je možné duplikovať fd %d na fd %d" @@ -1007,7 +1007,7 @@ msgstr "%s: chyba výrazu\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: nie je možné pristupovať k rodičovským adresárom" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "nie j emožné resetovať nodelay režim fd %d" @@ -1317,99 +1317,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: inštrukcia presmerovania „%d“ mimo rozsahu" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "neočakávaný koniec súboru počas hľadania zodpovedajúceho „%c“" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "neočakávaný koniec súboru počas hľadania „]]“" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "chyba syntaxe v podmienečnom príkaze: neočakávaný token „%s“" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "chyba syntaxe v podmienečnom príkaze" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "neočakávaný token „%s“, očakávalo sa `)'" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "očakávalo sa `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "neočakávaný argument „%s“ podmienečného unárneho operátora" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "neočakávaný argument podmienečného unárneho operátora" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "neočakávaný token „%s“, očakáva sa podmienečný binárny operátor" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "očakáva sa podmienečný binárny operátor" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "neočakávaný argument „%s“ v podmienečnom binárnom operátore" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "neočakávaný argument v podmienečnom binárnom operátore" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "neočakávaný token „%c“ v podmienečnom príkaze" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "neočakávaný token „%s“ v podmienečnom príkaze" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "neočakávaný token %d v podmienečnom príkaze" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "chyba syntaxe neďaleko neočakávaného tokenu „%s“" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "chyba syntaxe neďaleko „%s“" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "chyba syntaxe: neočakávaný koniec súboru" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "chyba syntaxe" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Na opustenie shellu použite „%s“.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "neočakávaný koniec súboru počas hľadania zodpovedajúceho „)“" @@ -1724,77 +1724,83 @@ msgstr "Neznáme číslo signálu" msgid "Unknown Signal #%d" msgstr "Neznámy signál #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "chybná substitúcia: chýba „%s“ v %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: nie je možné priradiť zoznam položke poľa" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "nie je možné vytvoriť rúru pre substitúciu procesov" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "nie je možné vytvoriť potomka pre substitúciu procesov" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "nie je možné otvoriť pomenovanú rúru %s na čítanie" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "nie je možné otvoriť pomenovanú rúru %s na zápis" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "nie je možné duplikovať pomenovanú rúru %s ako fd %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "nie je možné vytvoriť rúru pre substitúciu príkazov" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "nie je možné vytvoriť potomka pre substitúciu príkazov" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: nie je možné duplikovať rúru ako fd 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parameter je null alebo nenastavený" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: výraz podreťazca < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: chybná substitúcia" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: nie je možné vykonať priradenie takýmto spôsobom" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "chybná substitúcia: : v reťazci %s chýba uzatvárajúci „`”" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "bez zhody: %s" Binary files differ@@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-03-25 19:35+0100\n" "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" @@ -322,7 +322,7 @@ msgstr "kan endast användas i en funktion" msgid "cannot use `-f' to make functions" msgstr "det går inte att använda \"-f\" för att göra funktioner" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: endast läsbar funktion" @@ -361,7 +361,7 @@ msgstr "%s: inte dynamiskt laddad" msgid "%s: cannot delete: %s" msgstr "%s: kan inte ta bort: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -377,7 +377,7 @@ msgstr "%s: inte en normal fil" msgid "%s: file is too large" msgstr "%s: filen är för stor" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -904,36 +904,36 @@ msgstr "%s: obunden variabel" msgid "timed out waiting for input: auto-logout\n" msgstr "tiden gick ut i väntan på indata: automatisk utloggning\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "det går inte att omdiregera standard in från /dev/null: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: \"%c\": ogiltigt formateringstecken" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "rörfel" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: begränsat: det går inte att ange \"/\" i kommandonamn" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: kommandot finns inte" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: felaktig tolk" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "det går inte att duplicera fb %d till fb %d" @@ -1008,7 +1008,7 @@ msgstr "%s: uttrycksfel\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: det går inte att komma åt föräldrakatalogen" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "det går inte att återställa fördröjningsfritt läge för fb %d" @@ -1319,99 +1319,99 @@ msgid "make_redirection: redirection instruction `%d' out of range" msgstr "" "make_redirection: omdirigeringsinstruktion \"%d\" utanför giltigt intervall" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "oväntat filslut vid sökning efter matchande \"%c\"" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "oväntat filslut vid sökning efter \"]]\"" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "syntaxfel i villkorligt uttryck: oväntad symbol \"%s\"" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "syntaxfel i villkorligt uttryck" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "oväntad symbol \"%s\", \")\" förväntades" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "\")\" förväntades" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "oväntat argument \"%s\" till villkorlig unär operator" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "oväntat argument till villkorlig unär operator" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "oväntad symbol \"%s\", villkorlig binär operator förväntades" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "villkorlig binär operato förväntades" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "oväntat argument \"%s\" till villkorlig binär operator" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "oväntat argument till villkorlig binär operator" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "oväntad symbol \"%c\" i villkorligt kommando" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "oväntad symbol \"%s\" i villkorligt kommando" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "oväntad symbol %d i villkorligt kommando" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "syntaxfel när den oväntade symbolen \"%s\"" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "syntaxfel nära \"%s\"" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "syntaxfel: oväntat filslut" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "syntaxfel" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Använd \"%s\" fär att lämna skalet.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "oväntat filslut när matchande \")\" söktes" @@ -1725,77 +1725,83 @@ msgstr "Okänd signal nr " msgid "Unknown Signal #%d" msgstr "Okänd signal nr %d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "felaktig substitution: ingen avslutande \"%s\" i %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: det går inte att tilldela listor till vektormedlemmar" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "det går inte att skapa rör för processubstitution" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "det går inte att skapa barn för processubstitution" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "det går inte att öppna namngivet rör %s för läsning" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "det går inte att öppna namngivet rör %s för skrivning" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "det går inte att duplicera namngivet rör %s som fb %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "det går inte att skapa rör för kommandosubstitution" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "det går inte att skapa barn för kommandosubstitution" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: det går inte att duplicera rör som fb 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parametern tom eller inte satt" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: delstränguttryck < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: felaktig substitution" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: det går inte att tilldela på detta sätt" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "felaktig ersättning: ingen avslutande \"`\" i %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "ingen match: %s" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2006-10-30 20:00+0200\n" "Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" @@ -318,7 +318,7 @@ msgstr "sadece bir işlevde kullanılabilir" msgid "cannot use `-f' to make functions" msgstr "işlev yapmak için `-f' kullanılamaz" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: salt okunur işlev" @@ -357,7 +357,7 @@ msgstr "%s: özdevimli olarak yüklenmemiş" msgid "%s: cannot delete: %s" msgstr "%s: silinemiyor: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -373,7 +373,7 @@ msgstr "%s: bir dosya değil" msgid "%s: file is too large" msgstr "%s: dosya çok büyük" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -897,37 +897,37 @@ msgstr "%s: bağlanmamış değişken" msgid "timed out waiting for input: auto-logout\n" msgstr "girdi beklerken zamanaşımı: auto-logout\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "/dev/null'dan standart girdiye yönlendirme yapılamaz: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "TIMEFORMAT: `%c': biçim karakteri geçersiz" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "yazma hatası: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: kısıtlı: komut adında `/' kullanamazsınız" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: komut yok" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: hatalı yorumlayıcı" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "fd %d, fd %d olarak yinelenemiyor" @@ -1002,7 +1002,7 @@ msgstr "%s: tamsayı ifadesi bekleniyordu" msgid "getcwd: cannot access parent directories" msgstr "getcwd: üst dizinlere erişilemiyor" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, fuzzy, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "fd %d için geciktirmeme kipi sıfırlanamıyor" @@ -1313,99 +1313,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: yönlendirme yönergesi `%d' aralık dışında" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "`%c' için eşleşme aranırken beklenmedik dosya sonu" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "`]]' aranırken beklenmedik dosya sonu" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "koşullu ifadede sözdizimi hatası: beklenmedik dizgecik `%s'" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "koşullu ifadede sözdizimi hatası" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "beklenmedik dizgecik `%s', `)' umuluyordu" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "`)' umuluyordu" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "koşullu tek terimli işlece beklenmedik argüman `%s'" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "koşullu tek terimli işlece beklenmedik argüman" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "beklenmedik dizgecik `%s', koşullu iki terimli işleç umuluyordu" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "koşullu iki terimli işleç umuluyordu" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "koşullu iki terimli işlece beklenmedik argüman `%s'" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "koşullu iki terimli işlece beklenmedik argüman" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "koşullu komutta beklenmeyen dizgecik `%c'" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "koşullu komutta beklenmeyen dizgecik `%s'" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "koşullu komutta beklenmeyen dizgecik %d" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "beklenmeyen dizgecik `%s' yakınında sözdizimi hatası" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "`%s' yakınında sözdizimi hatası" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "sözdizimi hatası: beklenmeyen dosya sonu" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "sözdizimi hatası" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Kabuğu bırakmak için \"%s\" kullanın.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "`)' için eşleşme aranırken beklenmedik dosya sonu" @@ -1724,77 +1724,83 @@ msgstr "" msgid "Unknown Signal #%d" msgstr "" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "hatalı ikame: %2$s içinde kapatan `%1$s' yok" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: dizi üyesine liste atanamaz" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "süreç ikamesi için borulama yapılamıyor" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "süreç ikamesi için alt süreç yapılamıyor" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "isimli boru %s okumak için açılamıyor" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "isimli boru %s yazmak için açılamıyor" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "isimli boru %s fd %d olarak yinelenemiyor" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "komut ikamesi için boru yapılamıyor" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "komut ikamesi için alt süreç yapılamıyor" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: boru fd 1 olarak yinelenemiyor" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: parametre boş ya da değer atanmamış" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: altdizge ifadesi < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: hatalı ikame" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: bu yolla atama yapılmaz" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, fuzzy, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "hatalı ikame: %2$s içinde kapatan `%1$s' yok" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "eşleşme yok: %s" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash 4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2009-09-19 21:17+0930\n" "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" @@ -324,7 +324,7 @@ msgstr "chỉ có thể được dùng trong một hàm" msgid "cannot use `-f' to make functions" msgstr "không thể dùng « -f » để tạo hàm" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s: hàm chỉ đọc" @@ -363,7 +363,7 @@ msgstr "%s không phải được nạp động" msgid "%s: cannot delete: %s" msgstr "%s: không thể xoá: %s" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -379,7 +379,7 @@ msgstr "%s: không phải là tập tin chuẩn" msgid "%s: file is too large" msgstr "%s: tập tin quá lớn" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -912,36 +912,36 @@ msgstr "%s: biến chưa tổ hợp" msgid "timed out waiting for input: auto-logout\n" msgstr "\tquá hạn trong khi đợi dữ liệu nhập nên tự động đăng xuất\n" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "không thể chuyển hướng đầu vào tiêu chuẩn từ « /dev/null »: %s" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "ĐỊNH DẠNG THỜI GIAN: « %c »: ký tự định dạng không hợp lệ" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 msgid "pipe error" msgstr "lỗi ống dẫn" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "%s: bị hạn chế: không thể ghi rõ dấu sổ chéo « / » trong tên câu lệnh" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s: không tìm thấy lệnh" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "%s: %s: bộ thông dịch sai" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "không thể nhân đôi fd %d tới fd %d" @@ -1016,7 +1016,7 @@ msgstr "%s: lỗi biểu thức\n" msgid "getcwd: cannot access parent directories" msgstr "getcwd: không thể truy cập thư mục cấp trên" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "không thể đặt lại chế độ nodelay (không hoãn) cho fd %d" @@ -1330,99 +1330,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection: chỉ dẫn chuyển hướng « %d » ở ngoại phạm vi" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "gặp kết thúc tập tin bất thường trong khi tìm « %c » tương ứng" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "gặp kết thúc tập tin bất thường trong khi tìm « ]] »" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "gặp lỗi cú pháp trong biểu thức điều kiện: hiệu bài bất thường « %s »" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "gặp lỗi cú pháp trong biểu thức điều kiện" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "gặp hiệu bài bất thường « %s », còn mong đợi dấu ngoặc đóng « ) »" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "đợi dấu đóng ngoặc « ) »" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "đối số bất thường « %s » tới toán tử nguyên phân điều kiện" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "đối số bất thường tới toán tử nguyên phân điều kiện" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "hiệu bài bất thường « %s » còn đợi toán tử nhị phân điều kiện" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "đợi toán tử nhị phân điều kiện" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "đối số bất thường « %s » tới toán tử nhị phân điều kiện" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "đối số bất thường tới toán tử nhị phân điều kiện" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "gặp hiệu bài bất thường « %c » trong câu lệnh điều kiện" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "gặp hiệu bài bất thường « %s » trong câu lệnh điều kiện" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "gặp hiệu bài bất thường « %d » trong câu lệnh điều kiện" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "gặp lỗi cú pháp ở gần hiệu bài bất thường « %s »" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "gặp lỗi cú pháp gần « %s »" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "lỗi cú pháp: kết thúc tập tin bất thường" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "lỗi cú pháp" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "Dùng « %s » để rời trình bao.\n" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "" "gặp kết thúc tập tin bất thường trong khi tìm dấu ngoặc đóng « ) » tương ứng" @@ -1740,77 +1740,83 @@ msgstr "Không rõ tín hiệu #" msgid "Unknown Signal #%d" msgstr "Không rõ tín hiệu #%d" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "sai thay thế: không có « %s » đóng trong %s" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "%s: không thể gán danh sách cho bộ phận của mảng" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "không thể tạo ống dẫn để thay thế tiến trình" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "không thể tạo tiến trình con để thay thế tiến trình" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "không thể mở ống dẫn đặt tên %s để đọc" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "không thể mở ống dẫn đặt tên %s để ghi" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "không thể nhân đôi ống dẫn đặt tên %s thành fd %d" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "không thể tạo ống dẫn để thay thế lệnh" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "không thể tạo tiến trình con để thay thế lệnh" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "command_substitute: không thể nhân đôi ống dẫn thành fd 1" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "%s: tham số vô giá trị hoặc chưa được đặt" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "%s: biểu thức chuỗi phụ < 0" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "%s: sai thay thế" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "$%s: không thể gán bằng cách này" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "sai thay thế: không có « ` » đóng trong %s" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "không khớp: %s" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo Binary files differindex 4c9f92c9..c3ca6754 100644 --- a/po/zh_TW.gmo +++ b/po/zh_TW.gmo diff --git a/po/zh_TW.po b/po/zh_TW.po index d1e23608..7a5d32b2 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: bash-3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-17 10:20-0500\n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" "PO-Revision-Date: 2008-08-20 20:12+0800\n" "Last-Translator: Zi-You Dai <ioppooster@gmail.com>\n" "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" @@ -317,7 +317,7 @@ msgstr "只能用在一個函數" msgid "cannot use `-f' to make functions" msgstr "" -#: builtins/declare.def:372 execute_cmd.c:4935 +#: builtins/declare.def:372 execute_cmd.c:4937 #, c-format msgid "%s: readonly function" msgstr "%s:只讀函數" @@ -356,7 +356,7 @@ msgstr "" msgid "%s: cannot delete: %s" msgstr "" -#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4792 +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 #: shell.c:1452 #, c-format msgid "%s: is a directory" @@ -372,7 +372,7 @@ msgstr "" msgid "%s: file is too large" msgstr "" -#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4862 +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 #: shell.c:1462 #, c-format msgid "%s: cannot execute binary file" @@ -831,37 +831,37 @@ msgstr "" msgid "timed out waiting for input: auto-logout\n" msgstr "" -#: execute_cmd.c:495 +#: execute_cmd.c:497 #, c-format msgid "cannot redirect standard input from /dev/null: %s" msgstr "" -#: execute_cmd.c:1160 +#: execute_cmd.c:1162 #, c-format msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" -#: execute_cmd.c:2073 +#: execute_cmd.c:2075 #, fuzzy msgid "pipe error" msgstr "寫入錯誤: %s" -#: execute_cmd.c:4479 +#: execute_cmd.c:4481 #, c-format msgid "%s: restricted: cannot specify `/' in command names" msgstr "" -#: execute_cmd.c:4570 +#: execute_cmd.c:4572 #, c-format msgid "%s: command not found" msgstr "%s:命令找不到" -#: execute_cmd.c:4825 +#: execute_cmd.c:4827 #, c-format msgid "%s: %s: bad interpreter" msgstr "" -#: execute_cmd.c:4974 +#: execute_cmd.c:4976 #, c-format msgid "cannot duplicate fd %d to fd %d" msgstr "" @@ -936,7 +936,7 @@ msgstr "" msgid "getcwd: cannot access parent directories" msgstr "" -#: input.c:94 subst.c:4845 +#: input.c:94 subst.c:4857 #, c-format msgid "cannot reset nodelay mode for fd %d" msgstr "" @@ -1244,99 +1244,99 @@ msgstr "" msgid "make_redirection: redirection instruction `%d' out of range" msgstr "make_redirection:重新導向指示 `%d' 超出範圍" -#: parse.y:3117 parse.y:3353 +#: parse.y:3133 parse.y:3369 #, c-format msgid "unexpected EOF while looking for matching `%c'" msgstr "" -#: parse.y:3935 +#: parse.y:3951 msgid "unexpected EOF while looking for `]]'" msgstr "" -#: parse.y:3940 +#: parse.y:3956 #, c-format msgid "syntax error in conditional expression: unexpected token `%s'" msgstr "" -#: parse.y:3944 +#: parse.y:3960 msgid "syntax error in conditional expression" msgstr "語法錯誤,在有條件的表達" -#: parse.y:4022 +#: parse.y:4038 #, c-format msgid "unexpected token `%s', expected `)'" msgstr "" -#: parse.y:4026 +#: parse.y:4042 msgid "expected `)'" msgstr "預期 `)'" -#: parse.y:4054 +#: parse.y:4070 #, c-format msgid "unexpected argument `%s' to conditional unary operator" msgstr "" -#: parse.y:4058 +#: parse.y:4074 msgid "unexpected argument to conditional unary operator" msgstr "" -#: parse.y:4104 +#: parse.y:4120 #, c-format msgid "unexpected token `%s', conditional binary operator expected" msgstr "" -#: parse.y:4108 +#: parse.y:4124 msgid "conditional binary operator expected" msgstr "" -#: parse.y:4130 +#: parse.y:4146 #, c-format msgid "unexpected argument `%s' to conditional binary operator" msgstr "" -#: parse.y:4134 +#: parse.y:4150 msgid "unexpected argument to conditional binary operator" msgstr "" -#: parse.y:4145 +#: parse.y:4161 #, c-format msgid "unexpected token `%c' in conditional command" msgstr "" -#: parse.y:4148 +#: parse.y:4164 #, c-format msgid "unexpected token `%s' in conditional command" msgstr "" -#: parse.y:4152 +#: parse.y:4168 #, c-format msgid "unexpected token %d in conditional command" msgstr "" -#: parse.y:5443 +#: parse.y:5459 #, c-format msgid "syntax error near unexpected token `%s'" msgstr "" -#: parse.y:5461 +#: parse.y:5477 #, c-format msgid "syntax error near `%s'" msgstr "" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error: unexpected end of file" msgstr "" -#: parse.y:5471 +#: parse.y:5487 msgid "syntax error" msgstr "語法錯誤" -#: parse.y:5533 +#: parse.y:5549 #, c-format msgid "Use \"%s\" to leave the shell.\n" msgstr "" -#: parse.y:5695 +#: parse.y:5711 msgid "unexpected EOF while looking for matching `)'" msgstr "" @@ -1650,77 +1650,83 @@ msgstr "" msgid "Unknown Signal #%d" msgstr "" -#: subst.c:1321 subst.c:1442 +#: subst.c:1333 subst.c:1454 #, c-format msgid "bad substitution: no closing `%s' in %s" msgstr "" -#: subst.c:2723 +#: subst.c:2735 #, c-format msgid "%s: cannot assign list to array member" msgstr "" -#: subst.c:4742 subst.c:4758 +#: subst.c:4754 subst.c:4770 msgid "cannot make pipe for process substitution" msgstr "" -#: subst.c:4790 +#: subst.c:4802 msgid "cannot make child for process substitution" msgstr "" -#: subst.c:4835 +#: subst.c:4847 #, c-format msgid "cannot open named pipe %s for reading" msgstr "" -#: subst.c:4837 +#: subst.c:4849 #, c-format msgid "cannot open named pipe %s for writing" msgstr "" -#: subst.c:4855 +#: subst.c:4867 #, c-format msgid "cannot duplicate named pipe %s as fd %d" msgstr "" -#: subst.c:5051 +#: subst.c:5063 msgid "cannot make pipe for command substitution" msgstr "" -#: subst.c:5085 +#: subst.c:5097 msgid "cannot make child for command substitution" msgstr "" -#: subst.c:5102 +#: subst.c:5114 msgid "command_substitute: cannot duplicate pipe as fd 1" msgstr "" -#: subst.c:5605 +#: subst.c:5617 #, c-format msgid "%s: parameter null or not set" msgstr "" -#: subst.c:5895 +#: subst.c:5907 #, c-format msgid "%s: substring expression < 0" msgstr "" -#: subst.c:6953 +#: subst.c:6965 #, c-format msgid "%s: bad substitution" msgstr "" -#: subst.c:7033 +#: subst.c:7045 #, c-format msgid "$%s: cannot assign in this way" msgstr "" -#: subst.c:7824 +#: subst.c:7374 +msgid "" +"future versions of the shell will force evaluation as an arithmetic " +"substitution" +msgstr "" + +#: subst.c:7839 #, c-format msgid "bad substitution: no closing \"`\" in %s" msgstr "" -#: subst.c:8705 +#: subst.c:8720 #, c-format msgid "no match: %s" msgstr "" @@ -7370,7 +7370,9 @@ param_expand (string, sindex, quoted, expanded_something, if (chk_arithsub (temp2, t_index) == 0) { free (temp2); +#if 0 internal_warning (_("future versions of the shell will force evaluation as an arithmetic substitution")); +#endif goto comsub; } diff --git a/support/mkconffiles b/support/mkconffiles index 9eb22318..9eb22318 100644..100755 --- a/support/mkconffiles +++ b/support/mkconffiles diff --git a/support/mkversion.sh b/support/mkversion.sh index 08a5d981..08a5d981 100644..100755 --- a/support/mkversion.sh +++ b/support/mkversion.sh diff --git a/support/rlvers.sh b/support/rlvers.sh index 64cadc77..64cadc77 100644..100755 --- a/support/rlvers.sh +++ b/support/rlvers.sh diff --git a/support/shobj-conf b/support/shobj-conf index 5a63e80a..5a63e80a 100644..100755 --- a/support/shobj-conf +++ b/support/shobj-conf @@ -4234,7 +4234,7 @@ read_a_line (remove_quoted_newline) { static char *line_buffer = (char *)NULL; static int buffer_size = 0; - int indx = 0, c, peekc, pass_next; + int indx, c, peekc, pass_next; #if defined (READLINE) if (no_line_editing && SHOULD_PROMPT ()) @@ -4243,7 +4243,7 @@ read_a_line (remove_quoted_newline) #endif print_prompt (); - pass_next = 0; + pass_next = indx = 0; while (1) { /* Allow immediate exit if interrupted during input. */ @@ -4683,6 +4683,7 @@ shell_getc (remove_quoted_newline) because we have fully consumed the result of the last alias expansion. Do it transparently; just return the next character of the string popped to. */ +pop_alias: if (!uc && (pushed_string_list != (STRING_SAVER *)NULL)) { pop_string (); @@ -4697,6 +4698,17 @@ shell_getc (remove_quoted_newline) if (SHOULD_PROMPT ()) prompt_again (); line_number++; + /* XXX - what do we do here if we're expanding an alias whose definition + ends with a newline? Recall that we inhibit the appending of a + space in mk_alexpansion() if newline is the last character. */ +#if 0 /* XXX - bash-4.2 (jonathan@claggett.org) */ + if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0') + { + uc = 0; + goto pop_alias; + } +#endif + goto restart_read; } @@ -4907,7 +4919,11 @@ mk_alexpansion (s) l = strlen (s); r = xmalloc (l + 2); strcpy (r, s); +#if 0 /* XXX - bash-4.2 */ + if (r[l -1] != ' ' && r[l -1] != '\n') +#else if (r[l -1] != ' ') +#endif r[l++] = ' '; r[l] = '\0'; return r; @@ -5101,12 +5117,11 @@ reset_parser () dstack.delimiter_depth = 0; /* No delimiters found so far. */ open_brace_count = 0; +#if defined (EXTENDED_GLOB) /* Reset to global value of extended glob */ if (parser_state & PST_EXTPAT) -{ -/*itrace("reset_parser: parser_state includes PST_EXTPAT");*/ extended_glob = global_extglob; -} +#endif parser_state = 0; @@ -7167,7 +7182,7 @@ prompt_again () { char *temp_prompt; - if (interactive == 0 || expanding_alias()) /* XXX */ + if (interactive == 0 || expanding_alias ()) /* XXX */ return; ps1_prompt = get_string_value ("PS1"); |