From: Chet Ramey Date: Sat, 3 Dec 2011 18:35:53 +0000 (-0500) Subject: commit bash-20040902 snapshot X-Git-Tag: bash-3.1-alpha~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37c41ab12b6445617c7e00cb9067f40604eed308;p=thirdparty%2Fbash.git commit bash-20040902 snapshot --- diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index faf32a430..40d94b6ac 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -9948,3 +9948,20 @@ 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 diff --git a/CWRU/CWRU.chlog~ b/CWRU/CWRU.chlog~ index 3d12e060f..e058bf10d 100644 --- a/CWRU/CWRU.chlog~ +++ b/CWRU/CWRU.chlog~ @@ -9945,5 +9945,16 @@ builtins/hash.def 8/27 ---- doc/{bash.1,bashref.texi} - - explicitly note that condition primaries that operate on files operate - on the targets of symbolic links rather than the links themselves + - 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 + diff --git a/MANIFEST b/MANIFEST index 652eb754a..a7b7be3eb 100644 --- a/MANIFEST +++ b/MANIFEST @@ -35,7 +35,6 @@ lib/sh d lib/termcap d lib/termcap/grot d lib/tilde d -lib/tilde/doc d po d support d tests d @@ -450,8 +449,6 @@ lib/termcap/grot/COPYING f lib/termcap/grot/README f lib/tilde/README f lib/tilde/Makefile.in f -lib/tilde/doc/tilde.texi f -lib/tilde/doc/Makefile f lib/tilde/tilde.c f lib/tilde/tilde.h f lib/tilde/shell.c f diff --git a/array.c.diff b/array.c.diff new file mode 100644 index 000000000..8834d311e --- /dev/null +++ b/array.c.diff @@ -0,0 +1,125 @@ +*** ../bash-3.0/array.c Thu May 6 08:24:13 2004 +--- array.c Wed Aug 25 15:50:42 2004 +*************** +*** 108,112 **** + ARRAY_ELEMENT *ae, *new; + +! if (!a) + return((ARRAY *) NULL); + a1 = array_create(); +--- 108,112 ---- + ARRAY_ELEMENT *ae, *new; + +! if (a == 0) + return((ARRAY *) NULL); + a1 = array_create(); +*************** +*** 244,250 **** + register ARRAY_ELEMENT *ae, *new; + +! if (a == 0) + return 0; +! if (n <= 0) + return (a->num_elements); + +--- 244,250 ---- + register ARRAY_ELEMENT *ae, *new; + +! if (a == 0 || (array_empty(a) && s == 0)) + return 0; +! else if (n <= 0) + return (a->num_elements); + +*************** +*** 254,257 **** +--- 254,259 ---- + ADD_BEFORE(ae, new); + a->num_elements++; ++ if (array_num_elements(a) == 1) /* array was empty */ ++ return 1; + } + +*************** +*** 289,293 **** + char *t; + +! if (array == 0 || array->head == 0 || array_empty (array)) + return (ARRAY *)NULL; + for (a = element_forw(array->head); a != array->head; a = element_forw(a)) { +--- 291,295 ---- + char *t; + +! if (array == 0 || array_head(array) == 0 || array_empty(array)) + return (ARRAY *)NULL; + for (a = element_forw(array->head); a != array->head; a = element_forw(a)) { +*************** +*** 314,318 **** + char *ifs, sep[2]; + +! p = array_head (a); + if (p == 0 || array_empty (a) || start > array_max_index(a)) + return ((char *)NULL); +--- 316,320 ---- + char *ifs, sep[2]; + +! p = a ? array_head (a) : 0; + if (p == 0 || array_empty (a) || start > array_max_index(a)) + return ((char *)NULL); +*************** +*** 355,362 **** + char *t, *ifs, sifs[2]; + +! if (array_head (a) == 0 || array_empty (a)) + return ((char *)NULL); + +! a2 = array_copy (a); + for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) { + t = pat_subst(element_value(e), pat, rep, mflags); +--- 357,364 ---- + char *t, *ifs, sifs[2]; + +! if (a == 0 || array_head(a) == 0 || array_empty(a)) + return ((char *)NULL); + +! a2 = array_copy(a); + for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) { + t = pat_subst(element_value(e), pat, rep, mflags); +*************** +*** 428,432 **** + register ARRAY_ELEMENT *new, *ae; + +! if (!a) + return(-1); + new = array_create_element(i, v); +--- 430,434 ---- + register ARRAY_ELEMENT *new, *ae; + +! if (a == 0) + return(-1); + new = array_create_element(i, v); +*************** +*** 452,456 **** + array_dispose_element(new); + free(element_value(ae)); +! ae->value = savestring(v); + return(0); + } else if (element_index(ae) > i) { +--- 454,458 ---- + array_dispose_element(new); + free(element_value(ae)); +! ae->value = v ? savestring(v) : (char *)NULL; + return(0); + } else if (element_index(ae) > i) { +*************** +*** 474,478 **** + register ARRAY_ELEMENT *ae; + +! if (!a || array_empty(a)) + return((ARRAY_ELEMENT *) NULL); + for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) +--- 476,480 ---- + register ARRAY_ELEMENT *ae; + +! if (a == 0 || array_empty(a)) + return((ARRAY_ELEMENT *) NULL); + for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) diff --git a/bashline.c b/bashline.c index 2fe8596d9..854195a0f 100644 --- a/bashline.c +++ b/bashline.c @@ -1418,6 +1418,7 @@ command_word_completion_function (hint_text, state) bash_directory_expansion (&rd); dl = strlen (rd); l = vl - dl; /* # of chars added */ + free (rd); #endif temp = (char *)xmalloc (l + 2 + tl); strcpy (temp, hint_text); diff --git a/bashline.c.diff b/bashline.c.diff new file mode 100644 index 000000000..09305f650 --- /dev/null +++ b/bashline.c.diff @@ -0,0 +1,130 @@ +*** ../bash-3.0/bashline.c Mon Jul 5 23:22:12 2004 +--- bashline.c Thu Sep 2 16:00:12 2004 +*************** +*** 101,104 **** +--- 101,105 ---- + + /* Helper functions for Readline. */ ++ static int bash_directory_expansion __P((char **)); + static int bash_directory_completion_hook __P((char **)); + static int filename_completion_ignore __P((char **)); +*************** +*** 293,297 **** + at = strchr (rl_completer_word_break_characters, '@'); + if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0)) +! return; + + /* We have something to do. Do it. */ +--- 294,298 ---- + at = strchr (rl_completer_word_break_characters, '@'); + if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0)) +! return old_value; + + /* We have something to do. Do it. */ +*************** +*** 1407,1414 **** + if (*hint_text == '~') + { +! int l, tl, vl; + vl = strlen (val); + tl = strlen (hint_text); + l = vl - hint_len; /* # of chars added */ + temp = (char *)xmalloc (l + 2 + tl); + strcpy (temp, hint_text); +--- 1408,1424 ---- + if (*hint_text == '~') + { +! int l, tl, vl, dl; +! char *rd; + vl = strlen (val); + tl = strlen (hint_text); ++ #if 0 + l = vl - hint_len; /* # of chars added */ ++ #else ++ rd = savestring (filename_hint); ++ bash_directory_expansion (&rd); ++ dl = strlen (rd); ++ l = vl - dl; /* # of chars added */ ++ free (rd); ++ #endif + temp = (char *)xmalloc (l + 2 + tl); + strcpy (temp, hint_text); +*************** +*** 2188,2191 **** +--- 2198,2222 ---- + } + ++ /* Simulate the expansions that will be performed by ++ rl_filename_completion_function. This must be called with the address of ++ a pointer to malloc'd memory. */ ++ static int ++ bash_directory_expansion (dirname) ++ char **dirname; ++ { ++ char *d; ++ ++ d = savestring (*dirname); ++ ++ if (rl_directory_rewrite_hook) ++ (*rl_directory_rewrite_hook) (&d); ++ ++ if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&d)) ++ { ++ free (*dirname); ++ *dirname = d; ++ } ++ } ++ + /* Handle symbolic link references and other directory name + expansions while hacking completion. */ +*************** +*** 2514,2518 **** + static int ind; + int glen; +! char *ret; + + if (state == 0) +--- 2545,2549 ---- + static int ind; + int glen; +! char *ret, *ttext; + + if (state == 0) +*************** +*** 2524,2538 **** + FREE (globtext); + + if (rl_explicit_arg) + { +! globorig = savestring (text); +! glen = strlen (text); + globtext = (char *)xmalloc (glen + 2); +! strcpy (globtext, text); + globtext[glen] = '*'; + globtext[glen+1] = '\0'; + } + else +! globtext = globorig = savestring (text); + + matches = shell_glob_filename (globtext); +--- 2555,2574 ---- + FREE (globtext); + ++ ttext = bash_tilde_expand (text, 0); ++ + if (rl_explicit_arg) + { +! globorig = savestring (ttext); +! glen = strlen (ttext); + globtext = (char *)xmalloc (glen + 2); +! strcpy (globtext, ttext); + globtext[glen] = '*'; + globtext[glen+1] = '\0'; + } + else +! globtext = globorig = savestring (ttext); +! +! if (ttext != text) +! free (ttext); + + matches = shell_glob_filename (globtext); diff --git a/bashref.texi.diff b/bashref.texi.diff new file mode 100644 index 000000000..d7ba4bdaa --- /dev/null +++ b/bashref.texi.diff @@ -0,0 +1,120 @@ +*** ../bash-3.0/doc/bashref.texi Sat Jun 26 14:26:07 2004 +--- doc/bashref.texi Fri Aug 27 12:33:46 2004 +*************** +*** 1257,1260 **** +--- 1257,1264 ---- + separate word. That is, @code{"$@@"} is equivalent to + @code{"$1" "$2" @dots{}}. ++ If the double-quoted expansion occurs within a word, the expansion of ++ the first parameter is joined with the beginning part of the original ++ word, and the expansion of the last parameter is joined with the last ++ part of the original word. + When there are no positional parameters, @code{"$@@"} and + @code{$@@} +*************** +*** 5202,5205 **** +--- 5206,5212 ---- + descriptor 0, 1, or 2, respectively, is checked. + ++ Unless otherwise specified, primaries that operate on files follow symbolic ++ links and operate on the target of the link, rather than the link itself. ++ + @table @code + @item -a @var{file} +*************** +*** 5535,5544 **** + @var{subscript} is @samp{@@} or @samp{*}, the word expands to all members + of the array @var{name}. These subscripts differ only when the word +! appears within double quotes. If the word is double-quoted, + @code{$@{name[*]@}} expands to a single word with + the value of each array member separated by the first character of the + @env{IFS} variable, and @code{$@{name[@@]@}} expands each element of + @var{name} to a separate word. When there are no array members, +! @code{$@{name[@@]@}} expands to nothing. This is analogous to the + expansion of the special parameters @samp{@@} and @samp{*}. + @code{$@{#name[}@var{subscript}@code{]@}} expands to the length of +--- 5542,5557 ---- + @var{subscript} is @samp{@@} or @samp{*}, the word expands to all members + of the array @var{name}. These subscripts differ only when the word +! appears within double quotes. +! If the word is double-quoted, + @code{$@{name[*]@}} expands to a single word with + the value of each array member separated by the first character of the + @env{IFS} variable, and @code{$@{name[@@]@}} expands each element of + @var{name} to a separate word. When there are no array members, +! @code{$@{name[@@]@}} expands to nothing. +! If the double-quoted expansion occurs within a word, the expansion of +! the first parameter is joined with the beginning part of the original +! word, and the expansion of the last parameter is joined with the last +! part of the original word. +! This is analogous to the + expansion of the special parameters @samp{@@} and @samp{*}. + @code{$@{#name[}@var{subscript}@code{]@}} expands to the length of +*************** +*** 5954,5958 **** + The @code{trap} builtin doesn't check the first argument for a possible + signal specification and revert the signal handling to the original +! disposition if it is. If users want to reset the handler for a given + signal to the original disposition, they should use @samp{-} as the + first argument. +--- 5967,5972 ---- + The @code{trap} builtin doesn't check the first argument for a possible + signal specification and revert the signal handling to the original +! disposition if it is, unless that argument consists solely of digits and +! is a valid signal number. If users want to reset the handler for a given + signal to the original disposition, they should use @samp{-} as the + first argument. +*************** +*** 5989,5992 **** +--- 6003,6024 ---- + does not refer to an existing directory, @code{cd} will fail instead of + falling back to @var{physical} mode. ++ ++ @item ++ When listing the history, the @code{fc} builtin does not include an ++ indication of whether or not a history entry has been modified. ++ ++ @item ++ The default editor used by @code{fc} is @code{ed}. ++ ++ @item ++ The @code{type} and @code{command} builtins will not report a non-executable ++ file as having been found, though the shell will attempt to execute such a ++ file if it is the only so-named file found in @code{$PATH}. ++ ++ @item ++ When the @code{xpg_echo} option is enabled, Bash does not attempt to interpret ++ any arguments to @code{echo} as options. Each argument is displayed, after ++ escape characters are converted. ++ + @end enumerate + +*************** +*** 6132,6144 **** + @btindex bg + @example +! bg [@var{jobspec}] + @end example +! Resume the suspended job @var{jobspec} in the background, as if it + had been started with @samp{&}. + If @var{jobspec} is not supplied, the current job is used. + The return status is zero unless it is run when job control is not +! enabled, or, when run with job control enabled, if @var{jobspec} was +! not found or @var{jobspec} specifies a job that was started without +! job control. + + @item fg +--- 6164,6176 ---- + @btindex bg + @example +! bg [@var{jobspec} @dots{}] + @end example +! Resume each suspended job @var{jobspec} in the background, as if it + had been started with @samp{&}. + If @var{jobspec} is not supplied, the current job is used. + The return status is zero unless it is run when job control is not +! enabled, or, when run with job control enabled, if the last +! @var{jobspec} was not found or the last @var{jobspec} specifies a job +! that was started without job control. + + @item fg diff --git a/braces.c.diff b/braces.c.diff new file mode 100644 index 000000000..e036e182c --- /dev/null +++ b/braces.c.diff @@ -0,0 +1,25 @@ +*** ../bash-3.0/braces.c Thu Dec 4 11:09:52 2003 +--- braces.c Wed Aug 4 14:34:33 2004 +*************** +*** 341,346 **** + if (lhs_t == ST_CHAR) + { +! lhs_v = lhs[0]; +! rhs_v = rhs[0]; + } + else +--- 341,346 ---- + if (lhs_t == ST_CHAR) + { +! lhs_v = (unsigned char)lhs[0]; +! rhs_v = (unsigned char)rhs[0]; + } + else +*************** +*** 403,406 **** +--- 403,407 ---- + pass_next = 1; + i++; ++ level++; + continue; + } diff --git a/builtins/cd.def~ b/builtins/cd.def~ new file mode 100644 index 000000000..2be86d11f --- /dev/null +++ b/builtins/cd.def~ @@ -0,0 +1,495 @@ +This file is cd.def, from which is created cd.c. It implements the +builtins "cd" and "pwd" in Bash. + +Copyright (C) 1987-2003 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 2, 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; see the file COPYING. If not, write to the Free Software +Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. + +$PRODUCES cd.c +#include + +#if defined (HAVE_UNISTD_H) +# ifdef _MINIX +# include +# endif +# include +#endif + +#include "../bashtypes.h" +#include "posixdir.h" +#include "posixstat.h" +#ifndef _MINIX +#include +#endif + +#include + +#include "../bashansi.h" +#include "../bashintl.h" + +#include +#include + +#include "../shell.h" +#include "../flags.h" +#include "maxpath.h" +#include "common.h" +#include "bashgetopt.h" + +#if !defined (errno) +extern int errno; +#endif /* !errno */ + +extern int posixly_correct; +extern int array_needs_making; +extern char *bash_getcwd_errstr; + +static int bindpwd __P((int)); +static int change_to_directory __P((char *, int)); + +static char *cdspell __P((char *)); + +/* Change this to 1 to get cd spelling correction by default. */ +int cdspelling = 0; + +int cdable_vars; + +$BUILTIN cd +$FUNCTION cd_builtin +$SHORT_DOC cd [-L|-P] [dir] +Change the current directory to DIR. The variable $HOME is the +default DIR. The variable CDPATH defines the search path for +the directory containing DIR. Alternative directory names in CDPATH +are separated by a colon (:). A null directory name is the same as +the current directory, i.e. `.'. If DIR begins with a slash (/), +then CDPATH is not used. If the directory is not found, and the +shell option `cdable_vars' is set, then try the word as a variable +name. If that variable has a value, then cd to the value of that +variable. The -P option says to use the physical directory structure +instead of following symbolic links; the -L option forces symbolic links +to be followed. +$END + +static int +bindpwd (no_symlinks) + int no_symlinks; +{ + char *dirname, *pwdvar; + int old_anm; + SHELL_VAR *tvar; + +#define tcwd the_current_working_directory + dirname = tcwd ? (no_symlinks ? sh_physpath (tcwd, 0) : tcwd) + : get_working_directory ("cd"); +#undef tcwd + + old_anm = array_needs_making; + pwdvar = get_string_value ("PWD"); + + tvar = bind_variable ("OLDPWD", pwdvar); + if (old_anm == 0 && array_needs_making && exported_p (tvar)) + { + update_export_env_inplace ("OLDPWD=", 7, pwdvar); + array_needs_making = 0; + } + + tvar = bind_variable ("PWD", dirname ? dirname : ""); + if (old_anm == 0 && array_needs_making && exported_p (tvar)) + { + update_export_env_inplace ("PWD=", 4, dirname ? dirname : ""); + array_needs_making = 0; + } + + if (dirname && dirname != the_current_working_directory) + free (dirname); + + return (EXECUTION_SUCCESS); +} + +/* Call get_working_directory to reset the value of + the_current_working_directory () */ +static char * +resetpwd (caller) + char *caller; +{ + char *tdir; + + FREE (the_current_working_directory); + the_current_working_directory = (char *)NULL; + tdir = get_working_directory (caller); + return (tdir); +} + +#define LCD_DOVARS 0x001 +#define LCD_DOSPELL 0x002 +#define LCD_PRINTPATH 0x004 +#define LCD_FREEDIRNAME 0x010 + +/* This builtin is ultimately the way that all user-visible commands should + change the current working directory. It is called by cd_to_string (), + so the programming interface is simple, and it handles errors and + restrictions properly. */ +int +cd_builtin (list) + WORD_LIST *list; +{ + char *dirname, *cdpath, *path, *temp; + int path_index, no_symlinks, opt, lflag; + +#if defined (RESTRICTED_SHELL) + if (restricted) + { + sh_restricted ((char *)NULL); + return (EXECUTION_FAILURE); + } +#endif /* RESTRICTED_SHELL */ + + no_symlinks = no_symbolic_links; + reset_internal_getopt (); + while ((opt = internal_getopt (list, "LP")) != -1) + { + switch (opt) + { + case 'P': + no_symlinks = 1; + break; + case 'L': + no_symlinks = 0; + break; + default: + builtin_usage (); + return (EXECUTION_FAILURE); + } + } + list = loptend; + + lflag = (cdable_vars ? LCD_DOVARS : 0) | + ((interactive && cdspelling) ? LCD_DOSPELL : 0); + + if (list == 0) + { + /* `cd' without arguments is equivalent to `cd $HOME' */ + dirname = get_string_value ("HOME"); + + if (dirname == 0) + { + builtin_error (_("HOME not set")); + return (EXECUTION_FAILURE); + } + lflag = 0; + } + else if (list->word->word[0] == '-' && list->word->word[1] == '\0') + { + /* This is `cd -', equivalent to `cd $OLDPWD' */ + dirname = get_string_value ("OLDPWD"); + + if (dirname == 0) + { + builtin_error (_("OLDPWD not set")); + return (EXECUTION_FAILURE); + } +#if 0 + lflag = interactive ? LCD_PRINTPATH : 0; +#else + lflag = LCD_PRINTPATH; /* According to SUSv3 */ +#endif + } + else if (absolute_pathname (list->word->word)) + dirname = list->word->word; + else if (cdpath = get_string_value ("CDPATH")) + { + dirname = list->word->word; + + /* Find directory in $CDPATH. */ + path_index = 0; + while (path = extract_colon_unit (cdpath, &path_index)) + { + /* OPT is 1 if the path element is non-empty */ + opt = path[0] != '\0'; + temp = sh_makepath (path, dirname, MP_DOTILDE); + free (path); + + if (change_to_directory (temp, no_symlinks)) + { + /* POSIX.2 says that if a nonempty directory from CDPATH + is used to find the directory to change to, the new + directory name is echoed to stdout, whether or not + the shell is interactive. */ + if (opt && (path = no_symlinks ? temp : the_current_working_directory)) + printf ("%s\n", path); + + free (temp); + /* Posix.2 says that after using CDPATH, the resultant + value of $PWD will not contain `.' or `..'. */ + return (bindpwd (posixly_correct || no_symlinks)); + } + else + free (temp); + } + + /* POSIX.2 says that if `.' does not appear in $CDPATH, we don't + try the current directory, so we just punt now with an error + message if POSIXLY_CORRECT is non-zero. The check for cdpath[0] + is so we don't mistakenly treat a CDPATH value of "" as not + specifying the current directory. */ + if (posixly_correct && cdpath[0]) + { + builtin_error ("%s: %s", dirname, strerror (ENOENT)); + return (EXECUTION_FAILURE); + } + } + else + dirname = list->word->word; + + /* When we get here, DIRNAME is the directory to change to. If we + chdir successfully, just return. */ + if (change_to_directory (dirname, no_symlinks)) + { + if (lflag & LCD_PRINTPATH) + printf ("%s\n", dirname); + return (bindpwd (no_symlinks)); + } + + /* If the user requests it, then perhaps this is the name of + a shell variable, whose value contains the directory to + change to. */ + if (lflag & LCD_DOVARS) + { + temp = get_string_value (dirname); + if (temp && change_to_directory (temp, no_symlinks)) + { + printf ("%s\n", temp); + return (bindpwd (no_symlinks)); + } + } + + /* If the user requests it, try to find a directory name similar in + spelling to the one requested, in case the user made a simple + typo. This is similar to the UNIX 8th and 9th Edition shells. */ + if (lflag & LCD_DOSPELL) + { + temp = cdspell (dirname); + if (temp && change_to_directory (temp, no_symlinks)) + { + printf ("%s\n", temp); + return (bindpwd (no_symlinks)); + } + else + FREE (temp); + } + + builtin_error ("%s: %s", dirname, strerror (errno)); + return (EXECUTION_FAILURE); +} + +$BUILTIN pwd +$FUNCTION pwd_builtin +$SHORT_DOC pwd [-PL] +Print the current working directory. With the -P option, pwd prints +the physical directory, without any symbolic links; the -L option +makes pwd follow symbolic links. +$END + +/* Non-zero means that pwd always prints the physical directory, without + symbolic links. */ +static int verbatim_pwd; + +/* Print the name of the current working directory. */ +int +pwd_builtin (list) + WORD_LIST *list; +{ + char *directory; + int opt; + + verbatim_pwd = no_symbolic_links; + reset_internal_getopt (); + while ((opt = internal_getopt (list, "LP")) != -1) + { + switch (opt) + { + case 'P': + verbatim_pwd = 1; + break; + case 'L': + verbatim_pwd = 0; + break; + default: + builtin_usage (); + return (EXECUTION_FAILURE); + } + } + list = loptend; + +#define tcwd the_current_working_directory + + directory = tcwd ? (verbatim_pwd ? sh_physpath (tcwd, 0) : tcwd) + : get_working_directory ("pwd"); + + /* Try again using getcwd() if canonicalization fails (for instance, if + the file system has changed state underneath bash). */ + if (tcwd && directory == 0) + directory = resetpwd ("pwd"); + +#undef tcwd + + if (directory) + { + printf ("%s\n", directory); + if (directory != the_current_working_directory) + free (directory); + fflush (stdout); + if (ferror (stdout)) + { + builtin_error (_("write error: %s"), strerror (errno)); + clearerr (stdout); + return (EXECUTION_FAILURE); + } + + return (EXECUTION_SUCCESS); + } + else + return (EXECUTION_FAILURE); +} + +/* Do the work of changing to the directory NEWDIR. Handle symbolic + link following, etc. This function *must* return with + the_current_working_directory either set to NULL (in which case + getcwd() will eventually be called), or set to a string corresponding + to the working directory. Return 1 on success, 0 on failure. */ + +static int +change_to_directory (newdir, nolinks) + char *newdir; + int nolinks; +{ + char *t, *tdir; + int err, canon_failed, r; + + tdir = (char *)NULL; + + if (the_current_working_directory == 0) + { + t = get_working_directory ("chdir"); + FREE (t); + } + + t = make_absolute (newdir, the_current_working_directory); + + /* TDIR is either the canonicalized absolute pathname of NEWDIR + (nolinks == 0) or the absolute physical pathname of NEWDIR + (nolinks != 0). */ + tdir = nolinks ? sh_physpath (t, 0) + : sh_canonpath (t, PATH_CHECKDOTDOT|PATH_CHECKEXISTS); + + /* Use the canonicalized version of NEWDIR, or, if canonicalization + failed, use the non-canonical form. */ + canon_failed = 0; + if (tdir && *tdir) + free (t); + else + { + FREE (tdir); + tdir = t; + canon_failed = 1; + } + + /* In POSIX mode, if we're resolving symlinks logically and sh_canonpath + returns NULL (because it checks the path, it will return NULL if the + resolved path doesn't exist), fail immediately. */ + if (posixly_correct && nolinks == 0 && canon_failed) + { +#if defined ENAMETOOLONG + if (errno != ENOENT && errno != ENAMETOOLONG) +#else + if (errno != ENOENT) +#endif + errno = ENOTDIR; + return (0); + } + + /* If the chdir succeeds, update the_current_working_directory. */ + if (chdir (nolinks ? newdir : tdir) == 0) + { + /* If canonicalization failed, but the chdir succeeded, reset the + shell's idea of the_current_working_directory. */ + if (canon_failed) + { + t = resetpwd ("cd"); + if (t == 0) + set_working_directory (tdir); + } + else + set_working_directory (tdir); + + return (1); + } + + /* We failed to change to the appropriate directory name. If we tried + what the user passed (nolinks != 0), punt now. */ + if (nolinks) + return (0); + + err = errno; + + /* We're not in physical mode (nolinks == 0), but we failed to change to + the canonicalized directory name (TDIR). Try what the user passed + verbatim. If we succeed, reinitialize the_current_working_directory. */ + if (chdir (newdir) == 0) + { + t = resetpwd ("cd"); + if (t == 0) + set_working_directory (tdir); + else + free (t); + + r = 1; + } + else + { + errno = err; + r = 0; + } + + free (tdir); + return r; +} + +/* Code for cd spelling correction. Original patch submitted by + Neil Russel (caret@c-side.com). */ + +static char * +cdspell (dirname) + char *dirname; +{ + int n; + char *guess; + + n = (strlen (dirname) * 3 + 1) / 2 + 1; + guess = (char *)xmalloc (n); + + switch (spname (dirname, guess)) + { + case -1: + default: + free (guess); + return (char *)NULL; + case 0: + case 1: + return guess; + } +} diff --git a/builtins/common.c~ b/builtins/common.c~ new file mode 100644 index 000000000..3d3dd5947 --- /dev/null +++ b/builtins/common.c~ @@ -0,0 +1,804 @@ +/* Copyright (C) 1987-2004 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 2, 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; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + +#include + +#if defined (HAVE_UNISTD_H) +# ifdef _MINIX +# include +# endif +# include +#endif + +#include +#include +#include "../bashtypes.h" +#include "posixstat.h" +#include + +#include + +#if defined (PREFER_STDARG) +# include +#else +# include +#endif + +#include "../bashansi.h" +#include "../bashintl.h" + +#include "../shell.h" +#include "maxpath.h" +#include "../flags.h" +#include "../jobs.h" +#include "../builtins.h" +#include "../input.h" +#include "../execute_cmd.h" +#include "../trap.h" +#include "bashgetopt.h" +#include "common.h" +#include "builtext.h" +#include + +#if defined (HISTORY) +# include "../bashhist.h" +#endif + +#if !defined (errno) +extern int errno; +#endif /* !errno */ + +extern int indirection_level, subshell_environment; +extern int line_number; +extern int last_command_exit_value; +extern int running_trap; +extern int posixly_correct; +extern char *this_command_name, *shell_name; +extern char *bash_getcwd_errstr; + +/* Used by some builtins and the mainline code. */ +sh_builtin_func_t *last_shell_builtin = (sh_builtin_func_t *)NULL; +sh_builtin_func_t *this_shell_builtin = (sh_builtin_func_t *)NULL; + +/* **************************************************************** */ +/* */ +/* Error reporting, usage, and option processing */ +/* */ +/* **************************************************************** */ + +/* This is a lot like report_error (), but it is for shell builtins + instead of shell control structures, and it won't ever exit the + shell. */ +void +#if defined (PREFER_STDARG) +builtin_error (const char *format, ...) +#else +builtin_error (format, va_alist) + const char *format; + va_dcl +#endif +{ + va_list args; + char *name; + + name = get_name_for_error (); + fprintf (stderr, "%s: ", name); + + if (interactive_shell == 0) + fprintf (stderr, "line %d: ", executing_line_number ()); + + if (this_command_name && *this_command_name) + fprintf (stderr, "%s: ", this_command_name); + + SH_VA_START (args, format); + + vfprintf (stderr, format, args); + va_end (args); + fprintf (stderr, "\n"); +} + +/* Print a usage summary for the currently-executing builtin command. */ +void +builtin_usage () +{ + if (this_command_name && *this_command_name) + fprintf (stderr, "%s: usage: ", this_command_name); + fprintf (stderr, "%s\n", current_builtin->short_doc); + fflush (stderr); +} + +/* Return if LIST is NULL else barf and jump to top_level. Used by some + builtins that do not accept arguments. */ +void +no_args (list) + WORD_LIST *list; +{ + if (list) + { + builtin_error (_("too many arguments")); + jump_to_top_level (DISCARD); + } +} + +/* Check that no options were given to the currently-executing builtin, + and return 0 if there were options. */ +int +no_options (list) + WORD_LIST *list; +{ + reset_internal_getopt (); + if (internal_getopt (list, "") != -1) + { + builtin_usage (); + return (1); + } + return (0); +} + +void +sh_needarg (s) + char *s; +{ + builtin_error (_("%s: option requires an argument"), s); +} + +void +sh_neednumarg (s) + char *s; +{ + builtin_error (_("%s: numeric argument required"), s); +} + +void +sh_notfound (s) + char *s; +{ + builtin_error (_("%s: not found"), s); +} + +/* Function called when one of the builtin commands detects an invalid + option. */ +void +sh_invalidopt (s) + char *s; +{ + builtin_error (_("%s: invalid option"), s); +} + +void +sh_invalidoptname (s) + char *s; +{ + builtin_error (_("%s: invalid option name"), s); +} + +void +sh_invalidid (s) + char *s; +{ + builtin_error (_("`%s': not a valid identifier"), s); +} + +void +sh_invalidnum (s) + char *s; +{ + builtin_error (_("%s: invalid number"), s); +} + +void +sh_invalidsig (s) + char *s; +{ + builtin_error (_("%s: invalid signal specification"), s); +} + +void +sh_badpid (s) + char *s; +{ + builtin_error (_("`%s': not a pid or valid job spec"), s); +} + +void +sh_readonly (s) + const char *s; +{ + builtin_error (_("%s: readonly variable"), s); +} + +void +sh_erange (s, desc) + char *s, *desc; +{ + if (s) + builtin_error (_("%s: %s out of range"), s, desc ? desc : _("argument")); + else + builtin_error (_("%s out of range"), desc ? desc : _("argument")); +} + +#if defined (JOB_CONTROL) +void +sh_badjob (s) + char *s; +{ + builtin_error (_("%s: no such job"), s); +} + +void +sh_nojobs (s) + char *s; +{ + if (s) + builtin_error (_("%s: no job control"), s); + else + builtin_error (_("no job control")); +} +#endif + +#if defined (RESTRICTED_SHELL) +void +sh_restricted (s) + char *s; +{ + if (s) + builtin_error (_("%s: restricted"), s); + else + builtin_error (_("restricted")); +} +#endif + +void +sh_notbuiltin (s) + char *s; +{ + builtin_error (_("%s: not a shell builtin"), s); +} + +/* **************************************************************** */ +/* */ +/* Shell positional parameter manipulation */ +/* */ +/* **************************************************************** */ + +/* Convert a WORD_LIST into a C-style argv. Return the number of elements + in the list in *IP, if IP is non-null. A convenience function for + loadable builtins; also used by `test'. */ +char ** +make_builtin_argv (list, ip) + WORD_LIST *list; + int *ip; +{ + char **argv; + + argv = strvec_from_word_list (list, 0, 1, ip); + argv[0] = this_command_name; + return argv; +} + +/* Remember LIST in $0 ... $9, and REST_OF_ARGS. If DESTRUCTIVE is + non-zero, then discard whatever the existing arguments are, else + only discard the ones that are to be replaced. */ +void +remember_args (list, destructive) + WORD_LIST *list; + int destructive; +{ + register int i; + + for (i = 1; i < 10; i++) + { + if ((destructive || list) && dollar_vars[i]) + { + free (dollar_vars[i]); + dollar_vars[i] = (char *)NULL; + } + + if (list) + { + dollar_vars[i] = savestring (list->word->word); + list = list->next; + } + } + + /* If arguments remain, assign them to REST_OF_ARGS. + Note that copy_word_list (NULL) returns NULL, and + that dispose_words (NULL) does nothing. */ + if (destructive || list) + { + dispose_words (rest_of_args); + rest_of_args = copy_word_list (list); + } + + if (destructive) + set_dollar_vars_changed (); +} + +static int changed_dollar_vars; + +/* Have the dollar variables been reset to new values since we last + checked? */ +int +dollar_vars_changed () +{ + return (changed_dollar_vars); +} + +void +set_dollar_vars_unchanged () +{ + changed_dollar_vars = 0; +} + +void +set_dollar_vars_changed () +{ + if (variable_context) + changed_dollar_vars |= ARGS_FUNC; + else if (this_shell_builtin == set_builtin) + changed_dollar_vars |= ARGS_SETBLTIN; + else + changed_dollar_vars |= ARGS_INVOC; +} + +/* **************************************************************** */ +/* */ +/* Validating numeric input and arguments */ +/* */ +/* **************************************************************** */ + +/* Read a numeric arg for this_command_name, the name of the shell builtin + that wants it. LIST is the word list that the arg is to come from. + Accept only the numeric argument; report an error if other arguments + follow. If FATAL is true, call throw_to_top_level, which exits the + shell; if not, call jump_to_top_level (DISCARD), which aborts the + current command. */ +intmax_t +get_numeric_arg (list, fatal) + WORD_LIST *list; + int fatal; +{ + intmax_t count = 1; + + if (list && list->word && ISOPTION (list->word->word, '-')) + list = list->next; + + if (list) + { + register char *arg; + + arg = list->word->word; + if (arg == 0 || (legal_number (arg, &count) == 0)) + { + sh_neednumarg (list->word->word); + if (fatal) + throw_to_top_level (); + else + jump_to_top_level (DISCARD); + } + no_args (list->next); + } + + return (count); +} + +/* Get an eight-bit status value from LIST */ +int +get_exitstat (list) + WORD_LIST *list; +{ + int status; + intmax_t sval; + char *arg; + + if (list && list->word && ISOPTION (list->word->word, '-')) + list = list->next; + + if (list == 0) + return (last_command_exit_value); + + arg = list->word->word; + if (arg == 0 || legal_number (arg, &sval) == 0) + { + sh_neednumarg (list->word->word ? list->word->word : "`'"); + return 255; + } + no_args (list->next); + + status = sval & 255; + return status; +} + +/* Return the octal number parsed from STRING, or -1 to indicate + that the string contained a bad number. */ +int +read_octal (string) + char *string; +{ + int result, digits; + + result = digits = 0; + while (*string && ISOCTAL (*string)) + { + digits++; + result = (result * 8) + (*string++ - '0'); + if (result > 0777) + return -1; + } + + if (digits == 0 || *string) + result = -1; + + return (result); +} + +/* **************************************************************** */ +/* */ +/* Manipulating the current working directory */ +/* */ +/* **************************************************************** */ + +/* Return a consed string which is the current working directory. + FOR_WHOM is the name of the caller for error printing. */ +char *the_current_working_directory = (char *)NULL; + +char * +get_working_directory (for_whom) + char *for_whom; +{ + char *directory; + size_t dsize; + + if (no_symbolic_links) + { + FREE (the_current_working_directory); + the_current_working_directory = (char *)NULL; + } + + if (the_current_working_directory == 0) + { + the_current_working_directory = getcwd (0, 0); + if (the_current_working_directory == 0) + { + fprintf (stderr, _("%s: error retrieving current directory: %s: %s\n"), + (for_whom && *for_whom) ? for_whom : get_name_for_error (), + _(bash_getcwd_errstr), strerror (errno)); + return (char *)NULL; + } + } + + return (savestring (the_current_working_directory)); +} + +/* Make NAME our internal idea of the current working directory. */ +void +set_working_directory (name) + char *name; +{ + FREE (the_current_working_directory); + the_current_working_directory = savestring (name); +} + +/* **************************************************************** */ +/* */ +/* Job control support functions */ +/* */ +/* **************************************************************** */ + +#if defined (JOB_CONTROL) +int +get_job_by_name (name, flags) + const char *name; + int flags; +{ + register int i, wl, cl, match, job; + register PROCESS *p; + + job = NO_JOB; + wl = strlen (name); + for (i = job_slots - 1; i >= 0; i--) + { + if (jobs[i] == 0 || ((flags & JM_STOPPED) && JOBSTATE(i) != JSTOPPED)) + continue; + + p = jobs[i]->pipe; + do + { + if (flags & JM_EXACT) + { + cl = strlen (p->command); + match = STREQN (p->command, name, cl); + } + else if (flags & JM_SUBSTRING) + match = strindex (p->command, name) != (char *)0; + else + match = STREQN (p->command, name, wl); + + if (match == 0) + { + p = p->next; + continue; + } + else if (flags & JM_FIRSTMATCH) + return i; /* return first match */ + else if (job != NO_JOB) + { + if (this_shell_builtin) + builtin_error (_("%s: ambiguous job spec"), name); + else + report_error (_("%s: ambiguous job spec"), name); + return (DUP_JOB); + } + else + job = i; + } + while (p != jobs[i]->pipe); + } + + return (job); +} + +/* Return the job spec found in LIST. */ +int +get_job_spec (list) + WORD_LIST *list; +{ + register char *word; + int job, jflags; + + if (list == 0) + return (current_job); + + word = list->word->word; + + if (*word == '\0') + return (NO_JOB); + + if (*word == '%') + word++; + + if (DIGIT (*word) && all_digits (word)) + { + job = atoi (word); + return (job > job_slots ? NO_JOB : job - 1); + } + + jflags = 0; + switch (*word) + { + case 0: + return NO_JOB; + case '%': + case '+': + return (current_job); + + case '-': + return (previous_job); + + case '?': /* Substring search requested. */ + jflags |= JM_SUBSTRING; + word++; + /* FALLTHROUGH */ + + default: + return get_job_by_name (word, jflags); + } +} +#endif /* JOB_CONTROL */ + +/* + * NOTE: `kill' calls this function with forcecols == 0 + */ +int +display_signal_list (list, forcecols) + WORD_LIST *list; + int forcecols; +{ + register int i, column; + char *name; + int result, signum, dflags; + intmax_t lsignum; + + result = EXECUTION_SUCCESS; + if (!list) + { + for (i = 1, column = 0; i < NSIG; i++) + { + name = signal_name (i); + if (STREQN (name, "SIGJUNK", 7) || STREQN (name, "Unknown", 7)) + continue; + + if (posixly_correct && !forcecols) + { + /* This is for the kill builtin. POSIX.2 says the signal names + are displayed without the `SIG' prefix. */ + if (STREQN (name, "SIG", 3)) + name += 3; + printf ("%s%s", name, (i == NSIG - 1) ? "" : " "); + } + else + { + printf ("%2d) %s", i, name); + + if (++column < 4) + printf ("\t"); + else + { + printf ("\n"); + column = 0; + } + } + } + + if ((posixly_correct && !forcecols) || column != 0) + printf ("\n"); + return result; + } + + /* List individual signal names or numbers. */ + while (list) + { + if (legal_number (list->word->word, &lsignum)) + { + /* This is specified by Posix.2 so that exit statuses can be + mapped into signal numbers. */ + if (lsignum > 128) + lsignum -= 128; + if (lsignum < 0 || lsignum >= NSIG) + { + sh_invalidsig (list->word->word); + result = EXECUTION_FAILURE; + list = list->next; + continue; + } + + signum = lsignum; + name = signal_name (signum); + if (STREQN (name, "SIGJUNK", 7) || STREQN (name, "Unknown", 7)) + { + list = list->next; + continue; + } +#if defined (JOB_CONTROL) + /* POSIX.2 says that `kill -l signum' prints the signal name without + the `SIG' prefix. */ + printf ("%s\n", (this_shell_builtin == kill_builtin) ? name + 3 : name); +#else + printf ("%s\n", name); +#endif + } + else + { + dflags = DSIG_NOCASE; + if (posixly_correct == 0 || this_shell_builtin != kill_builtin) + dflags |= DSIG_SIGPREFIX; + signum = decode_signal (list->word->word, dflags); + if (signum == NO_SIG) + { + sh_invalidsig (list->word->word); + result = EXECUTION_FAILURE; + list = list->next; + continue; + } + printf ("%d\n", signum); + } + list = list->next; + } + return (result); +} + +/* **************************************************************** */ +/* */ +/* Finding builtin commands and their functions */ +/* */ +/* **************************************************************** */ + +/* Perform a binary search and return the address of the builtin function + whose name is NAME. If the function couldn't be found, or the builtin + is disabled or has no function associated with it, return NULL. + Return the address of the builtin. + DISABLED_OKAY means find it even if the builtin is disabled. */ +struct builtin * +builtin_address_internal (name, disabled_okay) + char *name; + int disabled_okay; +{ + int hi, lo, mid, j; + + hi = num_shell_builtins - 1; + lo = 0; + + while (lo <= hi) + { + mid = (lo + hi) / 2; + + j = shell_builtins[mid].name[0] - name[0]; + + if (j == 0) + j = strcmp (shell_builtins[mid].name, name); + + if (j == 0) + { + /* It must have a function pointer. It must be enabled, or we + must have explicitly allowed disabled functions to be found, + and it must not have been deleted. */ + if (shell_builtins[mid].function && + ((shell_builtins[mid].flags & BUILTIN_DELETED) == 0) && + ((shell_builtins[mid].flags & BUILTIN_ENABLED) || disabled_okay)) + return (&shell_builtins[mid]); + else + return ((struct builtin *)NULL); + } + if (j > 0) + hi = mid - 1; + else + lo = mid + 1; + } + return ((struct builtin *)NULL); +} + +/* Return the pointer to the function implementing builtin command NAME. */ +sh_builtin_func_t * +find_shell_builtin (name) + char *name; +{ + current_builtin = builtin_address_internal (name, 0); + return (current_builtin ? current_builtin->function : (sh_builtin_func_t *)NULL); +} + +/* Return the address of builtin with NAME, whether it is enabled or not. */ +sh_builtin_func_t * +builtin_address (name) + char *name; +{ + current_builtin = builtin_address_internal (name, 1); + return (current_builtin ? current_builtin->function : (sh_builtin_func_t *)NULL); +} + +/* Return the function implementing the builtin NAME, but only if it is a + POSIX.2 special builtin. */ +sh_builtin_func_t * +find_special_builtin (name) + char *name; +{ + current_builtin = builtin_address_internal (name, 0); + return ((current_builtin && (current_builtin->flags & SPECIAL_BUILTIN)) ? + current_builtin->function : + (sh_builtin_func_t *)NULL); +} + +static int +shell_builtin_compare (sbp1, sbp2) + struct builtin *sbp1, *sbp2; +{ + int result; + + if ((result = sbp1->name[0] - sbp2->name[0]) == 0) + result = strcmp (sbp1->name, sbp2->name); + + return (result); +} + +/* Sort the table of shell builtins so that the binary search will work + in find_shell_builtin. */ +void +initialize_shell_builtins () +{ + qsort (shell_builtins, num_shell_builtins, sizeof (struct builtin), + (QSFUNC *)shell_builtin_compare); +} diff --git a/builtins/common.h~ b/builtins/common.h~ index 411ce1eb0..869d3af2b 100644 --- a/builtins/common.h~ +++ b/builtins/common.h~ @@ -40,6 +40,7 @@ #define CDESC_PATH_ONLY 0x010 /* type -p */ #define CDESC_FORCE_PATH 0x020 /* type -ap or type -P */ #define CDESC_NOFUNCS 0x040 /* type -f */ +#define CDESC_ABSPATH 0x080 /* convert to absolute path, no ./ */ /* Flags for get_job_by_name */ #define JM_PREFIX 0x01 /* prefix of job name */ diff --git a/builtins/echo.def~ b/builtins/echo.def~ index d9296c8ac..01c468a5d 100644 --- a/builtins/echo.def~ +++ b/builtins/echo.def~ @@ -31,6 +31,11 @@ $PRODUCES echo.c #include #include "../shell.h" +#include +#if !defined (errno) +extern int errno; +#endif + $BUILTIN echo $FUNCTION echo_builtin $DEPENDS_ON V9_ECHO @@ -78,6 +83,8 @@ int xpg_echo = 1; int xpg_echo = 0; #endif /* DEFAULT_ECHO_TO_XPG */ +extern int posixly_correct; + /* Print the words in LIST to standard output. If the first word is `-n', then don't print a trailing newline. We also support the echo syntax from Version 9 Unix systems. */ @@ -173,6 +180,7 @@ just_echo: fflush (stdout); if (ferror (stdout)) { + builtin_error ("write error: %s", strerror (errno)); clearerr (stdout); return (EXECUTION_FAILURE); } diff --git a/builtins/printf.def~ b/builtins/printf.def~ new file mode 100644 index 000000000..a3692fa2e --- /dev/null +++ b/builtins/printf.def~ @@ -0,0 +1,876 @@ +This file is printf.def, from which is created printf.c. +It implements the builtin "printf" in Bash. + +Copyright (C) 1997-2003 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 2, 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; see the file COPYING. If not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + +$PRODUCES printf.c + +$BUILTIN printf +$FUNCTION printf_builtin +$SHORT_DOC printf format [arguments] +printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT +is a character string which contains three types of objects: plain +characters, which are simply copied to standard output, character escape +sequences which are converted and copied to the standard output, and +format specifications, each of which causes printing of the next successive +argument. In addition to the standard printf(1) formats, %b means to +expand backslash escape sequences in the corresponding argument, and %q +means to quote the argument in a way that can be reused as shell input. +$END + +#include + +#include "../bashtypes.h" + +#include +#if defined (HAVE_LIMITS_H) +# include +#else + /* Assume 32-bit ints. */ +# define INT_MAX 2147483647 +# define INT_MIN (-2147483647-1) +#endif + +#include +#include + +#ifdef HAVE_INTTYPES_H +# include +#endif + +#include "../bashansi.h" +#include "../bashintl.h" + +#include "../shell.h" +#include "stdc.h" +#include "bashgetopt.h" +#include "common.h" + +#if !defined (PRIdMAX) +# if HAVE_LONG_LONG +# define PRIdMAX "lld" +# else +# define PRIdMAX "ld" +# endif +#endif + +#if !defined (errno) +extern int errno; +#endif + +#define PF(f, func) \ + do { \ + if (have_fieldwidth && have_precision) \ + tw += printf(f, fieldwidth, precision, func); \ + else if (have_fieldwidth) \ + tw += printf(f, fieldwidth, func); \ + else if (have_precision) \ + tw += printf(f, precision, func); \ + else \ + tw += printf(f, func); \ + } while (0) + +/* We free the buffer used by mklong() if it's `too big'. */ +#define PRETURN(value) \ + do \ + { \ + if (conv_bufsize > 4096 ) \ + { \ + free(conv_buf); \ + conv_bufsize = 0; \ + conv_buf = 0; \ + } \ + fflush (stdout); \ + return (value); \ + } \ + while (0) + +#define SKIP1 "#'-+ 0" +#define LENMODS "hjlLtz" + +static void printf_erange __P((char *)); +static int printstr __P((char *, char *, int, int, int)); +static int tescape __P((char *, char *, int *)); +static char *bexpand __P((char *, int, int *, int *)); +static char *mklong __P((char *, char *, size_t)); +static int getchr __P((void)); +static char *getstr __P((void)); +static int getint __P((void)); +static intmax_t getintmax __P((void)); +static uintmax_t getuintmax __P((void)); + +#if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD && !defined(STRTOLD_BROKEN) +typedef long double floatmax_t; +# define FLOATMAX_CONV "L" +# define strtofltmax strtold +#else +typedef double floatmax_t; +# define FLOATMAX_CONV "" +# define strtofltmax strtod +#endif +static floatmax_t getfloatmax __P((void)); + +static int asciicode __P((void)); + +static WORD_LIST *garglist; +static int retval; +static int conversion_error; + +static char *conv_buf; +static size_t conv_bufsize; + +int +printf_builtin (list) + WORD_LIST *list; +{ + int ch, fieldwidth, precision; + int have_fieldwidth, have_precision; + intmax_t tw; + char convch, thisch, nextch, *format, *modstart, *fmt, *start; + + conversion_error = 0; + retval = EXECUTION_SUCCESS; + + if (no_options (list)) + return (EX_USAGE); + list = loptend; /* skip over possible `--' */ + + if (list == 0) + { + builtin_usage (); + return (EX_USAGE); + } + + if (list->word->word == 0 || list->word->word[0] == '\0') + return (EXECUTION_SUCCESS); + + format = list->word->word; + + garglist = list->next; + + /* If the format string is empty after preprocessing, return immediately. */ + if (format == 0 || *format == 0) + return (EXECUTION_SUCCESS); + + /* Basic algorithm is to scan the format string for conversion + specifications -- once one is found, find out if the field + width or precision is a '*'; if it is, gather up value. Note, + format strings are reused as necessary to use up the provided + arguments, arguments of zero/null string are provided to use + up the format string. */ + do + { + tw = 0; + /* find next format specification */ + for (fmt = format; *fmt; fmt++) + { + precision = fieldwidth = 0; + have_fieldwidth = have_precision = 0; + + if (*fmt == '\\') + { + fmt++; + /* A NULL third argument to tescape means to bypass the + special processing for arguments to %b. */ + fmt += tescape (fmt, &nextch, (int *)NULL); + putchar (nextch); + fmt--; /* for loop will increment it for us again */ + continue; + } + + if (*fmt != '%') + { + putchar (*fmt); + continue; + } + + /* ASSERT(*fmt == '%') */ + start = fmt++; + + if (*fmt == '%') /* %% prints a % */ + { + putchar ('%'); + continue; + } + + /* found format specification, skip to field width */ + for (; *fmt && strchr(SKIP1, *fmt); ++fmt) + ; + + /* Skip optional field width. */ + if (*fmt == '*') + { + fmt++; + have_fieldwidth = 1; + fieldwidth = getint (); + } + else + while (DIGIT (*fmt)) + fmt++; + + /* Skip optional '.' and precision */ + if (*fmt == '.') + { + ++fmt; + if (*fmt == '*') + { + fmt++; + have_precision = 1; + precision = getint (); + } + else + while (DIGIT (*fmt)) + fmt++; + } + + /* skip possible format modifiers */ + modstart = fmt; + while (*fmt && strchr (LENMODS, *fmt)) + fmt++; + + if (*fmt == 0) + { + builtin_error (_("`%s': missing format character"), start); + PRETURN (EXECUTION_FAILURE); + } + + convch = *fmt; + thisch = modstart[0]; + nextch = modstart[1]; + modstart[0] = convch; + modstart[1] = '\0'; + + switch(convch) + { + case 'c': + { + char p; + + p = getchr (); + PF(start, p); + break; + } + + case 's': + { + char *p; + + p = getstr (); + PF(start, p); + break; + } + + case 'n': + { + char *var; + + var = getstr (); + if (var && *var) + { + if (legal_identifier (var)) + bind_var_to_int (var, tw); + else + { + sh_invalidid (var); + PRETURN (EXECUTION_FAILURE); + } + } + break; + } + + case 'b': /* expand escapes in argument */ + { + char *p, *xp; + int rlen, r; + + p = getstr (); + ch = rlen = 0; + xp = bexpand (p, strlen (p), &ch, &rlen); + + if (xp) + { + /* Have to use printstr because of possible NUL bytes + in XP -- printf does not handle that well. */ + r = printstr (start, xp, rlen, fieldwidth, precision); + if (r < 0) + { + sh_wrerror (); + retval = EXECUTION_FAILURE; + } + free (xp); + } + + if (ch || r < 0) + PRETURN (retval); + break; + } + + case 'q': /* print with shell quoting */ + { + char *p, *xp; + int r; + + p = getstr (); + if (ansic_shouldquote (p)) + xp = ansic_quote (p, 0, (int *)0); + else + xp = sh_backslash_quote (p); + if (xp) + { + /* Use printstr to get fieldwidth and precision right. */ + r = printstr (start, xp, strlen (xp), fieldwidth, precision); + if (r < 0) + sh_wrerror (); + free (xp); + } + + if (r < 0) + PRETURN (EXECUTION_FAILURE); + break; + } + + case 'd': + case 'i': + { + char *f; + long p; + intmax_t pp; + + p = pp = getintmax (); + if (p != pp) + { + f = mklong (start, PRIdMAX, sizeof (PRIdMAX) - 2); + PF (f, pp); + } + else + { + /* Optimize the common case where the integer fits + in "long". This also works around some long + long and/or intmax_t library bugs in the common + case, e.g. glibc 2.2 x86. */ + f = mklong (start, "l", 1); + PF (f, p); + } + break; + } + + case 'o': + case 'u': + case 'x': + case 'X': + { + char *f; + unsigned long p; + uintmax_t pp; + + p = pp = getuintmax (); + if (p != pp) + { + f = mklong (start, PRIdMAX, sizeof (PRIdMAX) - 2); + PF (f, pp); + } + else + { + f = mklong (start, "l", 1); + PF (f, p); + } + break; + } + + case 'e': + case 'E': + case 'f': + case 'F': + case 'g': + case 'G': +#if defined (HAVE_PRINTF_A_FORMAT) + case 'a': + case 'A': +#endif + { + char *f; + floatmax_t p; + + p = getfloatmax (); + f = mklong (start, FLOATMAX_CONV, sizeof(FLOATMAX_CONV) - 1); + PF (f, p); + break; + } + + /* We don't output unrecognized format characters; we print an + error message and return a failure exit status. */ + default: + builtin_error (_("`%c': invalid format character"), convch); + PRETURN (EXECUTION_FAILURE); + } + + modstart[0] = thisch; + modstart[1] = nextch; + } + } + while (garglist && garglist != list->next); + + if (conversion_error) + retval = EXECUTION_FAILURE; + + PRETURN (retval); +} + +static void +printf_erange (s) + char *s; +{ + builtin_error ("warning: %s: %s", s, strerror(ERANGE)); +} + +/* We duplicate a lot of what printf(3) does here. */ +static int +printstr (fmt, string, len, fieldwidth, precision) + char *fmt; /* format */ + char *string; /* expanded string argument */ + int len; /* length of expanded string */ + int fieldwidth; /* argument for width of `*' */ + int precision; /* argument for precision of `*' */ +{ +#if 0 + char *s; +#endif + int padlen, nc, ljust, i; + int fw, pr; /* fieldwidth and precision */ + +#if 0 + if (string == 0 || *string == '\0') +#else + if (string == 0 || len == 0) +#endif + return; + +#if 0 + s = fmt; +#endif + if (*fmt == '%') + fmt++; + + ljust = fw = 0; + pr = -1; + + /* skip flags */ + while (strchr (SKIP1, *fmt)) + { + if (*fmt == '-') + ljust = 1; + fmt++; + } + + /* get fieldwidth, if present */ + if (*fmt == '*') + { + fmt++; + fw = fieldwidth; + if (fw < 0) + { + fw = -fw; + ljust = 1; + } + } + else if (DIGIT (*fmt)) + { + fw = *fmt++ - '0'; + while (DIGIT (*fmt)) + fw = (fw * 10) + (*fmt++ - '0'); + } + + /* get precision, if present */ + if (*fmt == '.') + { + fmt++; + if (*fmt == '*') + { + fmt++; + pr = precision; + } + else if (DIGIT (*fmt)) + { + pr = *fmt++ - '0'; + while (DIGIT (*fmt)) + pr = (pr * 10) + (*fmt++ - '0'); + } + } + +#if 0 + /* If we remove this, get rid of `s'. */ + if (*fmt != 'b' && *fmt != 'q') + { + internal_error ("format parsing problem: %s", s); + fw = pr = 0; + } +#endif + + /* chars from string to print */ + nc = (pr >= 0 && pr <= len) ? pr : len; + + padlen = fw - nc; + if (padlen < 0) + padlen = 0; + if (ljust) + padlen = -padlen; + + /* leading pad characters */ + for (; padlen > 0; padlen--) + putchar (' '); + + /* output NC characters from STRING */ + for (i = 0; i < nc; i++) + putchar (string[i]); + + /* output any necessary trailing padding */ + for (; padlen < 0; padlen++) + putchar (' '); + + return (ferror (stdout) ? -1 : 0); +} + +/* Convert STRING by expanding the escape sequences specified by the + POSIX standard for printf's `%b' format string. If SAWC is non-null, + perform the processing appropriate for %b arguments. In particular, + recognize `\c' and use that as a string terminator. If we see \c, set + *SAWC to 1 before returning. LEN is the length of STRING. */ + +/* Translate a single backslash-escape sequence starting at ESTART (the + character after the backslash) and return the number of characters + consumed by the sequence. CP is the place to return the translated + value. *SAWC is set to 1 if the escape sequence was \c, since that means + to short-circuit the rest of the processing. If SAWC is null, we don't + do the \c short-circuiting, and \c is treated as an unrecognized escape + sequence; we also bypass the other processing specific to %b arguments. */ +static int +tescape (estart, cp, sawc) + char *estart; + char *cp; + int *sawc; +{ + register char *p; + int temp, c, evalue; + + p = estart; + + switch (c = *p++) + { +#if defined (__STDC__) + case 'a': *cp = '\a'; break; +#else + case 'a': *cp = '\007'; break; +#endif + + case 'b': *cp = '\b'; break; + + case 'e': + case 'E': *cp = '\033'; break; /* ESC -- non-ANSI */ + + case 'f': *cp = '\f'; break; + + case 'n': *cp = '\n'; break; + + case 'r': *cp = '\r'; break; + + case 't': *cp = '\t'; break; + + case 'v': *cp = '\v'; break; + + /* The octal escape sequences are `\0' followed by up to three octal + digits (if SAWC), or `\' followed by up to three octal digits (if + !SAWC). As an extension, we allow the latter form even if SAWC. */ + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + evalue = OCTVALUE (c); + for (temp = 2 + (!evalue && !!sawc); ISOCTAL (*p) && temp--; p++) + evalue = (evalue * 8) + OCTVALUE (*p); + *cp = evalue & 0xFF; + break; + + /* And, as another extension, we allow \xNNN, where each N is a + hex digit. */ + case 'x': +#if 0 + for (evalue = 0; ISXDIGIT ((unsigned char)*p); p++) +#else + for (temp = 2, evalue = 0; ISXDIGIT ((unsigned char)*p) && temp--; p++) +#endif + evalue = (evalue * 16) + HEXVALUE (*p); + if (p == estart + 1) + { + builtin_error (_("missing hex digit for \\x")); + *cp = '\\'; + return 0; + } + *cp = evalue & 0xFF; + break; + + case '\\': /* \\ -> \ */ + *cp = c; + break; + + /* SAWC == 0 means that \', \", and \? are recognized as escape + sequences, though the only processing performed is backslash + removal. */ + case '\'': case '"': case '?': + if (!sawc) + *cp = c; + else + { + *cp = '\\'; + return 0; + } + break; + + case 'c': + if (sawc) + { + *sawc = 1; + break; + } + /* other backslash escapes are passed through unaltered */ + default: + *cp = '\\'; + return 0; + } + return (p - estart); +} + +static char * +bexpand (string, len, sawc, lenp) + char *string; + int len, *sawc, *lenp; +{ + int temp; + char *ret, *r, *s, c; + +#if 0 + if (string == 0 || *string == '\0') +#else + if (string == 0 || len == 0) +#endif + { + if (sawc) + *sawc = 0; + if (lenp) + *lenp = 0; + return ((char *)NULL); + } + + ret = (char *)xmalloc (len + 1); + for (r = ret, s = string; s && *s; ) + { + c = *s++; + if (c != '\\' || *s == '\0') + { + *r++ = c; + continue; + } + temp = 0; + s += tescape (s, &c, &temp); + if (temp) + { + if (sawc) + *sawc = 1; + break; + } + + *r++ = c; + } + + *r = '\0'; + if (lenp) + *lenp = r - ret; + return ret; +} + +static char * +mklong (str, modifiers, mlen) + char *str; + char *modifiers; + size_t mlen; +{ + size_t len, slen; + + slen = strlen (str); + len = slen + mlen + 1; + + if (len > conv_bufsize) + { + conv_bufsize = (((len + 1023) >> 10) << 10); + conv_buf = (char *)xrealloc (conv_buf, conv_bufsize); + } + + FASTCOPY (str, conv_buf, slen - 1); + FASTCOPY (modifiers, conv_buf + slen - 1, mlen); + + conv_buf[len - 2] = str[slen - 1]; + conv_buf[len - 1] = '\0'; + return (conv_buf); +} + +static int +getchr () +{ + int ret; + + if (garglist == 0) + return ('\0'); + + ret = (int)garglist->word->word[0]; + garglist = garglist->next; + return ret; +} + +static char * +getstr () +{ + char *ret; + + if (garglist == 0) + return (""); + + ret = garglist->word->word; + garglist = garglist->next; + return ret; +} + +static int +getint () +{ + intmax_t ret; + + ret = getintmax (); + + if (ret > INT_MAX) + { + printf_erange (garglist->word->word); + ret = INT_MAX; + } + else if (ret < INT_MIN) + { + printf_erange (garglist->word->word); + ret = INT_MIN; + } + + return ((int)ret); +} + +static intmax_t +getintmax () +{ + intmax_t ret; + char *ep; + + if (garglist == 0) + return (0); + + if (garglist->word->word[0] == '\'' || garglist->word->word[0] == '"') + return asciicode (); + + errno = 0; + ret = strtoimax (garglist->word->word, &ep, 0); + + if (*ep) + { + sh_invalidnum (garglist->word->word); + /* POSIX.2 says ``...a diagnostic message shall be written to standard + error, and the utility shall not exit with a zero exit status, but + shall continue processing any remaining operands and shall write the + value accumulated at the time the error was detected to standard + output.'' Yecch. */ + ret = 0; + conversion_error = 1; + } + else if (errno == ERANGE) + printf_erange (garglist->word->word); + + garglist = garglist->next; + return (ret); +} + +static uintmax_t +getuintmax () +{ + uintmax_t ret; + char *ep; + + if (garglist == 0) + return (0); + + if (garglist->word->word[0] == '\'' || garglist->word->word[0] == '"') + return asciicode (); + + errno = 0; + ret = strtoumax (garglist->word->word, &ep, 0); + + if (*ep) + { + sh_invalidnum (garglist->word->word); + /* Same POSIX.2 conversion error requirements as getintmax(). */ + ret = 0; + conversion_error = 1; + } + else if (errno == ERANGE) + printf_erange (garglist->word->word); + + garglist = garglist->next; + return (ret); +} + +static floatmax_t +getfloatmax () +{ + floatmax_t ret; + char *ep; + + if (garglist == 0) + return (0); + + if (garglist->word->word[0] == '\'' || garglist->word->word[0] == '"') + return asciicode (); + + errno = 0; + ret = strtofltmax (garglist->word->word, &ep); + + if (*ep) + { + sh_invalidnum (garglist->word->word); + /* Same thing about POSIX.2 conversion error requirements. */ + ret = 0; + conversion_error = 1; + } + else if (errno == ERANGE) + printf_erange (garglist->word->word); + + garglist = garglist->next; + return (ret); +} + +/* NO check is needed for garglist here. */ +static int +asciicode () +{ + register int ch; + + ch = garglist->word->word[1]; + garglist = garglist->next; + return (ch); +} diff --git a/display.c.diff b/display.c.diff new file mode 100644 index 000000000..635d76d54 --- /dev/null +++ b/display.c.diff @@ -0,0 +1,155 @@ +*** ../bash-3.0/lib/readline/display.c Thu May 27 22:57:51 2004 +--- lib/readline/display.c Mon Aug 30 11:55:02 2004 +*************** +*** 202,206 **** + { + char *r, *ret, *p; +! int l, rl, last, ignoring, ninvis, invfl, ind, pind, physchars; + + /* Short-circuit if we can. */ +--- 202,206 ---- + { + char *r, *ret, *p; +! int l, rl, last, ignoring, ninvis, invfl, invflset, ind, pind, physchars; + + /* Short-circuit if we can. */ +*************** +*** 223,226 **** +--- 223,227 ---- + + invfl = 0; /* invisible chars in first line of prompt */ ++ invflset = 0; /* we only want to set invfl once */ + + for (rl = ignoring = last = ninvis = physchars = 0, p = pmt; p && *p; p++) +*************** +*** 250,254 **** + *r++ = *p++; + if (!ignoring) +! rl += ind - pind; + else + ninvis += ind - pind; +--- 251,258 ---- + *r++ = *p++; + if (!ignoring) +! { +! rl += ind - pind; +! physchars += _rl_col_width (pmt, pind, ind); +! } + else + ninvis += ind - pind; +*************** +*** 260,273 **** + *r++ = *p; + if (!ignoring) +! rl++; /* visible length byte counter */ + else + ninvis++; /* invisible chars byte counter */ + } + +! if (rl >= _rl_screenwidth) +! invfl = ninvis; +! +! if (ignoring == 0) +! physchars++; + } + } +--- 264,280 ---- + *r++ = *p; + if (!ignoring) +! { +! rl++; /* visible length byte counter */ +! physchars++; +! } + else + ninvis++; /* invisible chars byte counter */ + } + +! if (invflset == 0 && rl >= _rl_screenwidth) +! { +! invfl = ninvis; +! invflset = 1; +! } + } + } +*************** +*** 352,356 **** + &prompt_last_invisible, + (int *)NULL, +! (int *)NULL); + c = *t; *t = '\0'; + /* The portion of the prompt string up to and including the +--- 359,363 ---- + &prompt_last_invisible, + (int *)NULL, +! &prompt_physical_chars); + c = *t; *t = '\0'; + /* The portion of the prompt string up to and including the +*************** +*** 359,363 **** + (int *)NULL, + &prompt_invis_chars_first_line, +! &prompt_physical_chars); + *t = c; + return (prompt_prefix_length); +--- 366,370 ---- + (int *)NULL, + &prompt_invis_chars_first_line, +! (int *)NULL); + *t = c; + return (prompt_prefix_length); +*************** +*** 418,422 **** + register char *line; + int c_pos, inv_botlin, lb_botlin, lb_linenum; +! int newlines, lpos, temp, modmark; + char *prompt_this_line; + #if defined (HANDLE_MULTIBYTE) +--- 425,429 ---- + register char *line; + int c_pos, inv_botlin, lb_botlin, lb_linenum; +! int newlines, lpos, temp, modmark, n0, num; + char *prompt_this_line; + #if defined (HANDLE_MULTIBYTE) +*************** +*** 574,577 **** +--- 581,585 ---- + #if defined (HANDLE_MULTIBYTE) + memset (_rl_wrapped_line, 0, vis_lbsize); ++ num = 0; + #endif + +*************** +*** 592,596 **** +--- 600,619 ---- + prompts that exceed two physical lines? + Additional logic fix from Edward Catmur */ ++ #if defined (HANDLE_MULTIBYTE) ++ n0 = num; ++ temp = local_prompt ? strlen (local_prompt) : 0; ++ while (num < temp) ++ { ++ if (_rl_col_width (local_prompt, n0, num) > _rl_screenwidth) ++ { ++ num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY); ++ break; ++ } ++ num++; ++ } ++ temp = num + ++ #else + temp = ((newlines + 1) * _rl_screenwidth) + ++ #endif /* !HANDLE_MULTIBYTE */ + ((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line + : ((newlines == 1) ? wrap_offset : 0)) +*************** +*** 598,602 **** +--- 621,629 ---- + + inv_lbreaks[++newlines] = temp; ++ #if defined (HANDLE_MULTIBYTE) ++ lpos -= _rl_col_width (local_prompt, n0, num); ++ #else + lpos -= _rl_screenwidth; ++ #endif + } + diff --git a/doc/bash.0 b/doc/bash.0 index daee51de8..1bf65c161 100644 --- a/doc/bash.0 +++ b/doc/bash.0 @@ -588,8 +588,12 @@ PPAARRAAMMEETTEERRSS @@ Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, each parameter expands to a separate word. That is, "$$@@" is equivalent to "$$11" - "$$22" ... When there are no positional parameters, "$$@@" and $$@@ - expand to nothing (i.e., they are removed). + "$$22" ... If the double-quoted expansion occurs within a word, + the expansion of the first parameter is joined with the begin- + ning part of the original word, and the expansion of the last + parameter is joined with the last part of the original word. + When there are no positional parameters, "$$@@" and $$@@ expand to + nothing (i.e., they are removed). ## Expands to the number of positional parameters in decimal. ?? Expands to the status of the most recently executed foreground pipeline. @@ -643,7 +647,7 @@ PPAARRAAMMEETTEERRSS The command argument to the --cc invocation option. BBAASSHH__LLIINNEENNOO An array variable whose members are the line numbers in source - files corresponding to each member of @var{FUNCNAME}. + files corresponding to each member of FFUUNNCCNNAAMMEE. $${{BBAASSHH__LLIINNEENNOO[[_$_i]]}} is the line number in the source file where $${{FFUUNNCCNNAAMMEE[[_$_i _+ _1]]}} was called. The corresponding source file name is $${{BBAASSHH__SSOOUURRCCEE[[_$_i _+ _1]]}}.. UUssee LLIINNEENNOO ttoo oobbttaaiinn tthhee ccuurr-- @@ -678,8 +682,8 @@ PPAARRAAMMEETTEERRSS CCOOMMPP__CCWWOORRDD An index into $${{CCOOMMPP__WWOORRDDSS}} of the word containing the current - cursor position. This variable is available only in shell - functions invoked by the programmable completion facilities (see + cursor position. This variable is available only in shell func- + tions invoked by the programmable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). CCOOMMPP__LLIINNEE @@ -1107,72 +1111,76 @@ PPAARRAAMMEETTEERRSS value of each array member separated by the first character of the IIFFSS special variable, and ${_n_a_m_e[@]} expands each element of _n_a_m_e to a sep- arate word. When there are no array members, ${_n_a_m_e[@]} expands to - nothing. This is analogous to the expansion of the special parameters - ** and @@ (see SSppeecciiaall PPaarraammeetteerrss above). ${#_n_a_m_e[_s_u_b_s_c_r_i_p_t]} expands to - the length of ${_n_a_m_e[_s_u_b_s_c_r_i_p_t]}. If _s_u_b_s_c_r_i_p_t is ** or @@, the expan- - sion is the number of elements in the array. Referencing an array - variable without a subscript is equivalent to referencing element zero. - - The uunnsseett builtin is used to destroy arrays. uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t] - destroys the array element at index _s_u_b_s_c_r_i_p_t. uunnsseett _n_a_m_e, where _n_a_m_e - is an array, or uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t], where _s_u_b_s_c_r_i_p_t is ** or @@, + nothing. If the double-quoted expansion occurs within a word, the + expansion of the first parameter is joined with the beginning part of + the original word, and the expansion of the last parameter is joined + with the last part of the original word. This is analogous to the + expansion of the special parameters ** and @@ (see SSppeecciiaall PPaarraammeetteerrss + above). ${#_n_a_m_e[_s_u_b_s_c_r_i_p_t]} expands to the length of ${_n_a_m_e[_s_u_b_- + _s_c_r_i_p_t]}. If _s_u_b_s_c_r_i_p_t is ** or @@, the expansion is the number of ele- + ments in the array. Referencing an array variable without a subscript + is equivalent to referencing element zero. + + The uunnsseett builtin is used to destroy arrays. uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t] + destroys the array element at index _s_u_b_s_c_r_i_p_t. uunnsseett _n_a_m_e, where _n_a_m_e + is an array, or uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t], where _s_u_b_s_c_r_i_p_t is ** or @@, removes the entire array. - The ddeeccllaarree, llooccaall, and rreeaaddoonnllyy builtins each accept a --aa option to - specify an array. The rreeaadd builtin accepts a --aa option to assign a - list of words read from the standard input to an array. The sseett and - ddeeccllaarree builtins display array values in a way that allows them to be + The ddeeccllaarree, llooccaall, and rreeaaddoonnllyy builtins each accept a --aa option to + specify an array. The rreeaadd builtin accepts a --aa option to assign a + list of words read from the standard input to an array. The sseett and + ddeeccllaarree builtins display array values in a way that allows them to be reused as assignments. EEXXPPAANNSSIIOONN Expansion is performed on the command line after it has been split into - words. There are seven kinds of expansion performed: _b_r_a_c_e _e_x_p_a_n_s_i_o_n, - _t_i_l_d_e _e_x_p_a_n_s_i_o_n, _p_a_r_a_m_e_t_e_r _a_n_d _v_a_r_i_a_b_l_e _e_x_p_a_n_s_i_o_n, _c_o_m_m_a_n_d _s_u_b_s_t_i_t_u_- + words. There are seven kinds of expansion performed: _b_r_a_c_e _e_x_p_a_n_s_i_o_n, + _t_i_l_d_e _e_x_p_a_n_s_i_o_n, _p_a_r_a_m_e_t_e_r _a_n_d _v_a_r_i_a_b_l_e _e_x_p_a_n_s_i_o_n, _c_o_m_m_a_n_d _s_u_b_s_t_i_t_u_- _t_i_o_n, _a_r_i_t_h_m_e_t_i_c _e_x_p_a_n_s_i_o_n, _w_o_r_d _s_p_l_i_t_t_i_n_g, and _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n. - The order of expansions is: brace expansion, tilde expansion, parame- - ter, variable and arithmetic expansion and command substitution (done + The order of expansions is: brace expansion, tilde expansion, parame- + ter, variable and arithmetic expansion and command substitution (done in a left-to-right fashion), word splitting, and pathname expansion. On systems that can support it, there is an additional expansion avail- able: _p_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n. Only brace expansion, word splitting, and pathname expansion can change - the number of words of the expansion; other expansions expand a single - word to a single word. The only exceptions to this are the expansions + the number of words of the expansion; other expansions expand a single + word to a single word. The only exceptions to this are the expansions of "$$@@" and "$${{_n_a_m_e[[@@]]}}" as explained above (see PPAARRAAMMEETTEERRSS). BBrraaccee EExxppaannssiioonn _B_r_a_c_e _e_x_p_a_n_s_i_o_n is a mechanism by which arbitrary strings may be gener- - ated. This mechanism is similar to _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n, but the file- + ated. This mechanism is similar to _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n, but the file- names generated need not exist. Patterns to be brace expanded take the form of an optional _p_r_e_a_m_b_l_e, followed by either a series of comma-sep- - arated strings or a sequence expression between a pair of braces, fol- - lowed by an optional _p_o_s_t_s_c_r_i_p_t. The preamble is prefixed to each + arated strings or a sequence expression between a pair of braces, fol- + lowed by an optional _p_o_s_t_s_c_r_i_p_t. The preamble is prefixed to each string contained within the braces, and the postscript is then appended to each resulting string, expanding left to right. - Brace expansions may be nested. The results of each expanded string - are not sorted; left to right order is preserved. For example, + Brace expansions may be nested. The results of each expanded string + are not sorted; left to right order is preserved. For example, a{{d,c,b}}e expands into `ade ace abe'. - A sequence expression takes the form {{_x...._y}}, where _x and _y are either + A sequence expression takes the form {{_x...._y}}, where _x and _y are either integers or single characters. When integers are supplied, the expres- - sion expands to each number between _x and _y, inclusive. When charac- - ters are supplied, the expression expands to each character lexico- + sion expands to each number between _x and _y, inclusive. When charac- + ters are supplied, the expression expands to each character lexico- graphically between _x and _y, inclusive. Note that both _x and _y must be of the same type. Brace expansion is performed before any other expansions, and any char- - acters special to other expansions are preserved in the result. It is - strictly textual. BBaasshh does not apply any syntactic interpretation to + acters special to other expansions are preserved in the result. It is + strictly textual. BBaasshh does not apply any syntactic interpretation to the context of the expansion or the text between the braces. - A correctly-formed brace expansion must contain unquoted opening and - closing braces, and at least one unquoted comma or a valid sequence - expression. Any incorrectly formed brace expansion is left unchanged. + A correctly-formed brace expansion must contain unquoted opening and + closing braces, and at least one unquoted comma or a valid sequence + expression. Any incorrectly formed brace expansion is left unchanged. A {{ or ,, may be quoted with a backslash to prevent its being considered - part of a brace expression. To avoid conflicts with parameter expan- + part of a brace expression. To avoid conflicts with parameter expan- sion, the string $${{ is not considered eligible for brace expansion. This construct is typically used as shorthand when the common prefix of @@ -1182,36 +1190,36 @@ EEXXPPAANNSSIIOONN or chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}} - Brace expansion introduces a slight incompatibility with historical - versions of sshh. sshh does not treat opening or closing braces specially - when they appear as part of a word, and preserves them in the output. - BBaasshh removes braces from words as a consequence of brace expansion. - For example, a word entered to sshh as _f_i_l_e_{_1_,_2_} appears identically in - the output. The same word is output as _f_i_l_e_1 _f_i_l_e_2 after expansion by - bbaasshh. If strict compatibility with sshh is desired, start bbaasshh with the + Brace expansion introduces a slight incompatibility with historical + versions of sshh. sshh does not treat opening or closing braces specially + when they appear as part of a word, and preserves them in the output. + BBaasshh removes braces from words as a consequence of brace expansion. + For example, a word entered to sshh as _f_i_l_e_{_1_,_2_} appears identically in + the output. The same word is output as _f_i_l_e_1 _f_i_l_e_2 after expansion by + bbaasshh. If strict compatibility with sshh is desired, start bbaasshh with the ++BB option or disable brace expansion with the ++BB option to the sseett com- mand (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). TTiillddee EExxppaannssiioonn - If a word begins with an unquoted tilde character (`~~'), all of the - characters preceding the first unquoted slash (or all characters, if - there is no unquoted slash) are considered a _t_i_l_d_e_-_p_r_e_f_i_x. If none of - the characters in the tilde-prefix are quoted, the characters in the - tilde-prefix following the tilde are treated as a possible _l_o_g_i_n _n_a_m_e. - If this login name is the null string, the tilde is replaced with the - value of the shell parameter HHOOMMEE. If HHOOMMEE is unset, the home direc- - tory of the user executing the shell is substituted instead. Other- - wise, the tilde-prefix is replaced with the home directory associated + If a word begins with an unquoted tilde character (`~~'), all of the + characters preceding the first unquoted slash (or all characters, if + there is no unquoted slash) are considered a _t_i_l_d_e_-_p_r_e_f_i_x. If none of + the characters in the tilde-prefix are quoted, the characters in the + tilde-prefix following the tilde are treated as a possible _l_o_g_i_n _n_a_m_e. + If this login name is the null string, the tilde is replaced with the + value of the shell parameter HHOOMMEE. If HHOOMMEE is unset, the home direc- + tory of the user executing the shell is substituted instead. Other- + wise, the tilde-prefix is replaced with the home directory associated with the specified login name. - If the tilde-prefix is a `~+', the value of the shell variable PPWWDD + If the tilde-prefix is a `~+', the value of the shell variable PPWWDD replaces the tilde-prefix. If the tilde-prefix is a `~-', the value of - the shell variable OOLLDDPPWWDD, if it is set, is substituted. If the char- - acters following the tilde in the tilde-prefix consist of a number _N, - optionally prefixed by a `+' or a `-', the tilde-prefix is replaced + the shell variable OOLLDDPPWWDD, if it is set, is substituted. If the char- + acters following the tilde in the tilde-prefix consist of a number _N, + optionally prefixed by a `+' or a `-', the tilde-prefix is replaced with the corresponding element from the directory stack, as it would be displayed by the ddiirrss builtin invoked with the tilde-prefix as an argu- - ment. If the characters following the tilde in the tilde-prefix con- + ment. If the characters following the tilde in the tilde-prefix con- sist of a number without a leading `+' or `-', `+' is assumed. If the login name is invalid, or the tilde expansion fails, the word is @@ -1219,77 +1227,77 @@ EEXXPPAANNSSIIOONN Each variable assignment is checked for unquoted tilde-prefixes immedi- ately following a :: or ==. In these cases, tilde expansion is also per- - formed. Consequently, one may use file names with tildes in assign- + formed. Consequently, one may use file names with tildes in assign- ments to PPAATTHH, MMAAIILLPPAATTHH, and CCDDPPAATTHH, and the shell assigns the expanded value. PPaarraammeetteerr EExxppaannssiioonn The `$$' character introduces parameter expansion, command substitution, - or arithmetic expansion. The parameter name or symbol to be expanded - may be enclosed in braces, which are optional but serve to protect the - variable to be expanded from characters immediately following it which + or arithmetic expansion. The parameter name or symbol to be expanded + may be enclosed in braces, which are optional but serve to protect the + variable to be expanded from characters immediately following it which could be interpreted as part of the name. - When braces are used, the matching ending brace is the first `}}' not - escaped by a backslash or within a quoted string, and not within an + When braces are used, the matching ending brace is the first `}}' not + escaped by a backslash or within a quoted string, and not within an embedded arithmetic expansion, command substitution, or paramter expan- sion. ${_p_a_r_a_m_e_t_e_r} - The value of _p_a_r_a_m_e_t_e_r is substituted. The braces are required - when _p_a_r_a_m_e_t_e_r is a positional parameter with more than one + The value of _p_a_r_a_m_e_t_e_r is substituted. The braces are required + when _p_a_r_a_m_e_t_e_r is a positional parameter with more than one digit, or when _p_a_r_a_m_e_t_e_r is followed by a character which is not to be interpreted as part of its name. If the first character of _p_a_r_a_m_e_t_e_r is an exclamation point, a level of - variable indirection is introduced. BBaasshh uses the value of the vari- - able formed from the rest of _p_a_r_a_m_e_t_e_r as the name of the variable; - this variable is then expanded and that value is used in the rest of - the substitution, rather than the value of _p_a_r_a_m_e_t_e_r itself. This is + variable indirection is introduced. BBaasshh uses the value of the vari- + able formed from the rest of _p_a_r_a_m_e_t_e_r as the name of the variable; + this variable is then expanded and that value is used in the rest of + the substitution, rather than the value of _p_a_r_a_m_e_t_e_r itself. This is known as _i_n_d_i_r_e_c_t _e_x_p_a_n_s_i_o_n. The exceptions to this are the expansions - of ${!_p_r_e_f_i_x*} and ${!!_n_a_m_e[_@]} described below. The exclamation point - must immediately follow the left brace in order to introduce indirec- + of ${!_p_r_e_f_i_x*} and ${!!_n_a_m_e[_@]} described below. The exclamation point + must immediately follow the left brace in order to introduce indirec- tion. In each of the cases below, _w_o_r_d is subject to tilde expansion, parame- - ter expansion, command substitution, and arithmetic expansion. When - not performing substring expansion, bbaasshh tests for a parameter that is - unset or null; omitting the colon results in a test only for a parame- + ter expansion, command substitution, and arithmetic expansion. When + not performing substring expansion, bbaasshh tests for a parameter that is + unset or null; omitting the colon results in a test only for a parame- ter that is unset. ${_p_a_r_a_m_e_t_e_r::--_w_o_r_d} - UUssee DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the expan- - sion of _w_o_r_d is substituted. Otherwise, the value of _p_a_r_a_m_e_t_e_r + UUssee DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the expan- + sion of _w_o_r_d is substituted. Otherwise, the value of _p_a_r_a_m_e_t_e_r is substituted. ${_p_a_r_a_m_e_t_e_r::==_w_o_r_d} - AAssssiiggnn DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the + AAssssiiggnn DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the expansion of _w_o_r_d is assigned to _p_a_r_a_m_e_t_e_r. The value of _p_a_r_a_m_- - _e_t_e_r is then substituted. Positional parameters and special + _e_t_e_r is then substituted. Positional parameters and special parameters may not be assigned to in this way. ${_p_a_r_a_m_e_t_e_r::??_w_o_r_d} - DDiissppllaayy EErrrroorr iiff NNuullll oorr UUnnsseett. If _p_a_r_a_m_e_t_e_r is null or unset, - the expansion of _w_o_r_d (or a message to that effect if _w_o_r_d is - not present) is written to the standard error and the shell, if + DDiissppllaayy EErrrroorr iiff NNuullll oorr UUnnsseett. If _p_a_r_a_m_e_t_e_r is null or unset, + the expansion of _w_o_r_d (or a message to that effect if _w_o_r_d is + not present) is written to the standard error and the shell, if it is not interactive, exits. Otherwise, the value of _p_a_r_a_m_e_t_e_r is substituted. ${_p_a_r_a_m_e_t_e_r::++_w_o_r_d} - UUssee AAlltteerrnnaattee VVaalluuee. If _p_a_r_a_m_e_t_e_r is null or unset, nothing is + UUssee AAlltteerrnnaattee VVaalluuee. If _p_a_r_a_m_e_t_e_r is null or unset, nothing is substituted, otherwise the expansion of _w_o_r_d is substituted. ${_p_a_r_a_m_e_t_e_r::_o_f_f_s_e_t} ${_p_a_r_a_m_e_t_e_r::_o_f_f_s_e_t::_l_e_n_g_t_h} - SSuubbssttrriinngg EExxppaannssiioonn.. Expands to up to _l_e_n_g_t_h characters of - _p_a_r_a_m_e_t_e_r starting at the character specified by _o_f_f_s_e_t. If - _l_e_n_g_t_h is omitted, expands to the substring of _p_a_r_a_m_e_t_e_r start- + SSuubbssttrriinngg EExxppaannssiioonn.. Expands to up to _l_e_n_g_t_h characters of + _p_a_r_a_m_e_t_e_r starting at the character specified by _o_f_f_s_e_t. If + _l_e_n_g_t_h is omitted, expands to the substring of _p_a_r_a_m_e_t_e_r start- ing at the character specified by _o_f_f_s_e_t. _l_e_n_g_t_h and _o_f_f_s_e_t are - arithmetic expressions (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN below). - _l_e_n_g_t_h must evaluate to a number greater than or equal to zero. - If _o_f_f_s_e_t evaluates to a number less than zero, the value is - used as an offset from the end of the value of _p_a_r_a_m_e_t_e_r. If - _p_a_r_a_m_e_t_e_r is @@, the result is _l_e_n_g_t_h positional parameters + arithmetic expressions (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN below). + _l_e_n_g_t_h must evaluate to a number greater than or equal to zero. + If _o_f_f_s_e_t evaluates to a number less than zero, the value is + used as an offset from the end of the value of _p_a_r_a_m_e_t_e_r. If + _p_a_r_a_m_e_t_e_r is @@, the result is _l_e_n_g_t_h positional parameters beginning at _o_f_f_s_e_t. If _p_a_r_a_m_e_t_e_r is an array name indexed by @ - or *, the result is the _l_e_n_g_t_h members of the array beginning - with ${_p_a_r_a_m_e_t_e_r[_o_f_f_s_e_t]}. Substring indexing is zero-based - unless the positional parameters are used, in which case the + or *, the result is the _l_e_n_g_t_h members of the array beginning + with ${_p_a_r_a_m_e_t_e_r[_o_f_f_s_e_t]}. Substring indexing is zero-based + unless the positional parameters are used, in which case the indexing starts at 1. ${!!_p_r_e_f_i_x**} @@ -1299,63 +1307,63 @@ EEXXPPAANNSSIIOONN ${!!_n_a_m_e[_@]} ${!!_n_a_m_e[_*]} - If _n_a_m_e is an array variable, expands to the list of array - indices (keys) assigned in _n_a_m_e. If _n_a_m_e is not an array, - expands to 0 if _n_a_m_e is set and null otherwise. When _@ is used + If _n_a_m_e is an array variable, expands to the list of array + indices (keys) assigned in _n_a_m_e. If _n_a_m_e is not an array, + expands to 0 if _n_a_m_e is set and null otherwise. When _@ is used and the expansion appears within double quotes, each key expands to a separate word. ${##_p_a_r_a_m_e_t_e_r} - The length in characters of the value of _p_a_r_a_m_e_t_e_r is substi- - tuted. If _p_a_r_a_m_e_t_e_r is ** or @@, the value substituted is the - number of positional parameters. If _p_a_r_a_m_e_t_e_r is an array name - subscripted by ** or @@, the value substituted is the number of + The length in characters of the value of _p_a_r_a_m_e_t_e_r is substi- + tuted. If _p_a_r_a_m_e_t_e_r is ** or @@, the value substituted is the + number of positional parameters. If _p_a_r_a_m_e_t_e_r is an array name + subscripted by ** or @@, the value substituted is the number of elements in the array. ${_p_a_r_a_m_e_t_e_r##_w_o_r_d} ${_p_a_r_a_m_e_t_e_r####_w_o_r_d} - The _w_o_r_d is expanded to produce a pattern just as in pathname + The _w_o_r_d is expanded to produce a pattern just as in pathname expansion. If the pattern matches the beginning of the value of - _p_a_r_a_m_e_t_e_r, then the result of the expansion is the expanded + _p_a_r_a_m_e_t_e_r, then the result of the expansion is the expanded value of _p_a_r_a_m_e_t_e_r with the shortest matching pattern (the ``##'' case) or the longest matching pattern (the ``####'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the pattern removal operation is applied - to each positional parameter in turn, and the expansion is the - resultant list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted - with @@ or **, the pattern removal operation is applied to each - member of the array in turn, and the expansion is the resultant + to each positional parameter in turn, and the expansion is the + resultant list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted + with @@ or **, the pattern removal operation is applied to each + member of the array in turn, and the expansion is the resultant list. ${_p_a_r_a_m_e_t_e_r%%_w_o_r_d} ${_p_a_r_a_m_e_t_e_r%%%%_w_o_r_d} - The _w_o_r_d is expanded to produce a pattern just as in pathname - expansion. If the pattern matches a trailing portion of the + The _w_o_r_d is expanded to produce a pattern just as in pathname + expansion. If the pattern matches a trailing portion of the expanded value of _p_a_r_a_m_e_t_e_r, then the result of the expansion is - the expanded value of _p_a_r_a_m_e_t_e_r with the shortest matching pat- - tern (the ``%%'' case) or the longest matching pattern (the - ``%%%%'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the pattern - removal operation is applied to each positional parameter in - turn, and the expansion is the resultant list. If _p_a_r_a_m_e_t_e_r is - an array variable subscripted with @@ or **, the pattern removal - operation is applied to each member of the array in turn, and + the expanded value of _p_a_r_a_m_e_t_e_r with the shortest matching pat- + tern (the ``%%'' case) or the longest matching pattern (the + ``%%%%'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the pattern + removal operation is applied to each positional parameter in + turn, and the expansion is the resultant list. If _p_a_r_a_m_e_t_e_r is + an array variable subscripted with @@ or **, the pattern removal + operation is applied to each member of the array in turn, and the expansion is the resultant list. ${_p_a_r_a_m_e_t_e_r//_p_a_t_t_e_r_n//_s_t_r_i_n_g} ${_p_a_r_a_m_e_t_e_r////_p_a_t_t_e_r_n//_s_t_r_i_n_g} The _p_a_t_t_e_r_n is expanded to produce a pattern just as in pathname - expansion. _P_a_r_a_m_e_t_e_r is expanded and the longest match of _p_a_t_- - _t_e_r_n against its value is replaced with _s_t_r_i_n_g. In the first - form, only the first match is replaced. The second form causes - all matches of _p_a_t_t_e_r_n to be replaced with _s_t_r_i_n_g. If _p_a_t_t_e_r_n - begins with ##, it must match at the beginning of the expanded - value of _p_a_r_a_m_e_t_e_r. If _p_a_t_t_e_r_n begins with %%, it must match at - the end of the expanded value of _p_a_r_a_m_e_t_e_r. If _s_t_r_i_n_g is null, - matches of _p_a_t_t_e_r_n are deleted and the // following _p_a_t_t_e_r_n may - be omitted. If _p_a_r_a_m_e_t_e_r is @@ or **, the substitution operation - is applied to each positional parameter in turn, and the expan- - sion is the resultant list. If _p_a_r_a_m_e_t_e_r is an array variable - subscripted with @@ or **, the substitution operation is applied - to each member of the array in turn, and the expansion is the + expansion. _P_a_r_a_m_e_t_e_r is expanded and the longest match of _p_a_t_- + _t_e_r_n against its value is replaced with _s_t_r_i_n_g. In the first + form, only the first match is replaced. The second form causes + all matches of _p_a_t_t_e_r_n to be replaced with _s_t_r_i_n_g. If _p_a_t_t_e_r_n + begins with ##, it must match at the beginning of the expanded + value of _p_a_r_a_m_e_t_e_r. If _p_a_t_t_e_r_n begins with %%, it must match at + the end of the expanded value of _p_a_r_a_m_e_t_e_r. If _s_t_r_i_n_g is null, + matches of _p_a_t_t_e_r_n are deleted and the // following _p_a_t_t_e_r_n may + be omitted. If _p_a_r_a_m_e_t_e_r is @@ or **, the substitution operation + is applied to each positional parameter in turn, and the expan- + sion is the resultant list. If _p_a_r_a_m_e_t_e_r is an array variable + subscripted with @@ or **, the substitution operation is applied + to each member of the array in turn, and the expansion is the resultant list. CCoommmmaanndd SSuubbssttiittuuttiioonn @@ -1368,152 +1376,152 @@ EEXXPPAANNSSIIOONN ``_c_o_m_m_a_n_d`` BBaasshh performs the expansion by executing _c_o_m_m_a_n_d and replacing the com- - mand substitution with the standard output of the command, with any + mand substitution with the standard output of the command, with any trailing newlines deleted. Embedded newlines are not deleted, but they - may be removed during word splitting. The command substitution $$((ccaatt + may be removed during word splitting. The command substitution $$((ccaatt _f_i_l_e)) can be replaced by the equivalent but faster $$((<< _f_i_l_e)). - When the old-style backquote form of substitution is used, backslash - retains its literal meaning except when followed by $$, ``, or \\. The + When the old-style backquote form of substitution is used, backslash + retains its literal meaning except when followed by $$, ``, or \\. The first backquote not preceded by a backslash terminates the command sub- - stitution. When using the $(_c_o_m_m_a_n_d) form, all characters between the + stitution. When using the $(_c_o_m_m_a_n_d) form, all characters between the parentheses make up the command; none are treated specially. Command substitutions may be nested. To nest when using the backquoted form, escape the inner backquotes with backslashes. - If the substitution appears within double quotes, word splitting and + If the substitution appears within double quotes, word splitting and pathname expansion are not performed on the results. AArriitthhmmeettiicc EExxppaannssiioonn - Arithmetic expansion allows the evaluation of an arithmetic expression - and the substitution of the result. The format for arithmetic expan- + Arithmetic expansion allows the evaluation of an arithmetic expression + and the substitution of the result. The format for arithmetic expan- sion is: $$((((_e_x_p_r_e_s_s_i_o_n)))) - The _e_x_p_r_e_s_s_i_o_n is treated as if it were within double quotes, but a - double quote inside the parentheses is not treated specially. All + The _e_x_p_r_e_s_s_i_o_n is treated as if it were within double quotes, but a + double quote inside the parentheses is not treated specially. All tokens in the expression undergo parameter expansion, string expansion, - command substitution, and quote removal. Arithmetic expansions may be + command substitution, and quote removal. Arithmetic expansions may be nested. - The evaluation is performed according to the rules listed below under + The evaluation is performed according to the rules listed below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. If _e_x_p_r_e_s_s_i_o_n is invalid, bbaasshh prints a message indicating failure and no substitution occurs. PPrroocceessss SSuubbssttiittuuttiioonn - _P_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n is supported on systems that support named pipes - (_F_I_F_O_s) or the //ddeevv//ffdd method of naming open files. It takes the form - of <<((_l_i_s_t)) or >>((_l_i_s_t)). The process _l_i_s_t is run with its input or out- + _P_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n is supported on systems that support named pipes + (_F_I_F_O_s) or the //ddeevv//ffdd method of naming open files. It takes the form + of <<((_l_i_s_t)) or >>((_l_i_s_t)). The process _l_i_s_t is run with its input or out- put connected to a _F_I_F_O or some file in //ddeevv//ffdd. The name of this file - is passed as an argument to the current command as the result of the - expansion. If the >>((_l_i_s_t)) form is used, writing to the file will pro- - vide input for _l_i_s_t. If the <<((_l_i_s_t)) form is used, the file passed as + is passed as an argument to the current command as the result of the + expansion. If the >>((_l_i_s_t)) form is used, writing to the file will pro- + vide input for _l_i_s_t. If the <<((_l_i_s_t)) form is used, the file passed as an argument should be read to obtain the output of _l_i_s_t. - When available, process substitution is performed simultaneously with - parameter and variable expansion, command substitution, and arithmetic + When available, process substitution is performed simultaneously with + parameter and variable expansion, command substitution, and arithmetic expansion. WWoorrdd SSpplliittttiinngg - The shell scans the results of parameter expansion, command substitu- - tion, and arithmetic expansion that did not occur within double quotes + The shell scans the results of parameter expansion, command substitu- + tion, and arithmetic expansion that did not occur within double quotes for _w_o_r_d _s_p_l_i_t_t_i_n_g. - The shell treats each character of IIFFSS as a delimiter, and splits the + The shell treats each character of IIFFSS as a delimiter, and splits the results of the other expansions into words on these characters. If IIFFSS - is unset, or its value is exactly <><><>, the default, - then any sequence of IIFFSS characters serves to delimit words. If IIFFSS - has a value other than the default, then sequences of the whitespace - characters ssppaaccee and ttaabb are ignored at the beginning and end of the - word, as long as the whitespace character is in the value of IIFFSS (an - IIFFSS whitespace character). Any character in IIFFSS that is not IIFFSS + is unset, or its value is exactly <><><>, the default, + then any sequence of IIFFSS characters serves to delimit words. If IIFFSS + has a value other than the default, then sequences of the whitespace + characters ssppaaccee and ttaabb are ignored at the beginning and end of the + word, as long as the whitespace character is in the value of IIFFSS (an + IIFFSS whitespace character). Any character in IIFFSS that is not IIFFSS whitespace, along with any adjacent IIFFSS whitespace characters, delimits - a field. A sequence of IIFFSS whitespace characters is also treated as a + a field. A sequence of IIFFSS whitespace characters is also treated as a delimiter. If the value of IIFFSS is null, no word splitting occurs. - Explicit null arguments ("""" or '''') are retained. Unquoted implicit + Explicit null arguments ("""" or '''') are retained. Unquoted implicit null arguments, resulting from the expansion of parameters that have no - values, are removed. If a parameter with no value is expanded within + values, are removed. If a parameter with no value is expanded within double quotes, a null argument results and is retained. Note that if no expansion occurs, no splitting is performed. PPaatthhnnaammee EExxppaannssiioonn - After word splitting, unless the --ff option has been set, bbaasshh scans - each word for the characters **, ??, and [[. If one of these characters - appears, then the word is regarded as a _p_a_t_t_e_r_n, and replaced with an - alphabetically sorted list of file names matching the pattern. If no - matching file names are found, and the shell option nnuullllgglloobb is dis- - abled, the word is left unchanged. If the nnuullllgglloobb option is set, and - no matches are found, the word is removed. If the ffaaiillgglloobb shell - option is set, and no matches are found, an error message is printed - and the command is not executed. If the shell option nnooccaasseegglloobb is - enabled, the match is performed without regard to the case of alpha- - betic characters. When a pattern is used for pathname expansion, the - character ````..'''' at the start of a name or immediately following a - slash must be matched explicitly, unless the shell option ddoottgglloobb is - set. When matching a pathname, the slash character must always be - matched explicitly. In other cases, the ````..'''' character is not - treated specially. See the description of sshhoopptt below under SSHHEELLLL - BBUUIILLTTIINN CCOOMMMMAANNDDSS for a description of the nnooccaasseegglloobb, nnuullllgglloobb, ffaaiill-- + After word splitting, unless the --ff option has been set, bbaasshh scans + each word for the characters **, ??, and [[. If one of these characters + appears, then the word is regarded as a _p_a_t_t_e_r_n, and replaced with an + alphabetically sorted list of file names matching the pattern. If no + matching file names are found, and the shell option nnuullllgglloobb is dis- + abled, the word is left unchanged. If the nnuullllgglloobb option is set, and + no matches are found, the word is removed. If the ffaaiillgglloobb shell + option is set, and no matches are found, an error message is printed + and the command is not executed. If the shell option nnooccaasseegglloobb is + enabled, the match is performed without regard to the case of alpha- + betic characters. When a pattern is used for pathname expansion, the + character ````..'''' at the start of a name or immediately following a + slash must be matched explicitly, unless the shell option ddoottgglloobb is + set. When matching a pathname, the slash character must always be + matched explicitly. In other cases, the ````..'''' character is not + treated specially. See the description of sshhoopptt below under SSHHEELLLL + BBUUIILLTTIINN CCOOMMMMAANNDDSS for a description of the nnooccaasseegglloobb, nnuullllgglloobb, ffaaiill-- gglloobb, and ddoottgglloobb shell options. - The GGLLOOBBIIGGNNOORREE shell variable may be used to restrict the set of file - names matching a _p_a_t_t_e_r_n. If GGLLOOBBIIGGNNOORREE is set, each matching file - name that also matches one of the patterns in GGLLOOBBIIGGNNOORREE is removed + The GGLLOOBBIIGGNNOORREE shell variable may be used to restrict the set of file + names matching a _p_a_t_t_e_r_n. If GGLLOOBBIIGGNNOORREE is set, each matching file + name that also matches one of the patterns in GGLLOOBBIIGGNNOORREE is removed from the list of matches. The file names ````..'''' and ````....'''' are always - ignored when GGLLOOBBIIGGNNOORREE is set and not null. However, setting GGLLOOBBIIGG-- - NNOORREE to a non-null value has the effect of enabling the ddoottgglloobb shell + ignored when GGLLOOBBIIGGNNOORREE is set and not null. However, setting GGLLOOBBIIGG-- + NNOORREE to a non-null value has the effect of enabling the ddoottgglloobb shell option, so all other file names beginning with a ````..'''' will match. To - get the old behavior of ignoring file names beginning with a ````..'''', - make ````..**'''' one of the patterns in GGLLOOBBIIGGNNOORREE. The ddoottgglloobb option is + get the old behavior of ignoring file names beginning with a ````..'''', + make ````..**'''' one of the patterns in GGLLOOBBIIGGNNOORREE. The ddoottgglloobb option is disabled when GGLLOOBBIIGGNNOORREE is unset. PPaatttteerrnn MMaattcchhiinngg Any character that appears in a pattern, other than the special pattern - characters described below, matches itself. The NUL character may not - occur in a pattern. A backslash escapes the following character; the - escaping backslash is discarded when matching. The special pattern + characters described below, matches itself. The NUL character may not + occur in a pattern. A backslash escapes the following character; the + escaping backslash is discarded when matching. The special pattern characters must be quoted if they are to be matched literally. The special pattern characters have the following meanings: ** Matches any string, including the null string. ?? Matches any single character. - [[......]] Matches any one of the enclosed characters. A pair of charac- + [[......]] Matches any one of the enclosed characters. A pair of charac- ters separated by a hyphen denotes a _r_a_n_g_e _e_x_p_r_e_s_s_i_o_n; any char- - acter that sorts between those two characters, inclusive, using - the current locale's collating sequence and character set, is - matched. If the first character following the [[ is a !! or a ^^ - then any character not enclosed is matched. The sorting order - of characters in range expressions is determined by the current - locale and the value of the LLCC__CCOOLLLLAATTEE shell variable, if set. - A -- may be matched by including it as the first or last charac- + acter that sorts between those two characters, inclusive, using + the current locale's collating sequence and character set, is + matched. If the first character following the [[ is a !! or a ^^ + then any character not enclosed is matched. The sorting order + of characters in range expressions is determined by the current + locale and the value of the LLCC__CCOOLLLLAATTEE shell variable, if set. + A -- may be matched by including it as the first or last charac- ter in the set. A ]] may be matched by including it as the first character in the set. - Within [[ and ]], _c_h_a_r_a_c_t_e_r _c_l_a_s_s_e_s can be specified using the - syntax [[::_c_l_a_s_s::]], where _c_l_a_s_s is one of the following classes + Within [[ and ]], _c_h_a_r_a_c_t_e_r _c_l_a_s_s_e_s can be specified using the + syntax [[::_c_l_a_s_s::]], where _c_l_a_s_s is one of the following classes defined in the POSIX.2 standard: - aallnnuumm aallpphhaa aasscciiii bbllaannkk ccnnttrrll ddiiggiitt ggrraapphh lloowweerr pprriinntt ppuunncctt + aallnnuumm aallpphhaa aasscciiii bbllaannkk ccnnttrrll ddiiggiitt ggrraapphh lloowweerr pprriinntt ppuunncctt ssppaaccee uuppppeerr wwoorrdd xxddiiggiitt A character class matches any character belonging to that class. - The wwoorrdd character class matches letters, digits, and the char- + The wwoorrdd character class matches letters, digits, and the char- acter _. - Within [[ and ]], an _e_q_u_i_v_a_l_e_n_c_e _c_l_a_s_s can be specified using the - syntax [[==_c==]], which matches all characters with the same colla- - tion weight (as defined by the current locale) as the character + Within [[ and ]], an _e_q_u_i_v_a_l_e_n_c_e _c_l_a_s_s can be specified using the + syntax [[==_c==]], which matches all characters with the same colla- + tion weight (as defined by the current locale) as the character _c. Within [[ and ]], the syntax [[.._s_y_m_b_o_l..]] matches the collating sym- bol _s_y_m_b_o_l. If the eexxttgglloobb shell option is enabled using the sshhoopptt builtin, several - extended pattern matching operators are recognized. In the following + extended pattern matching operators are recognized. In the following description, a _p_a_t_t_e_r_n_-_l_i_s_t is a list of one or more patterns separated by a ||. Composite patterns may be formed using one or more of the fol- lowing sub-patterns: @@ -1531,48 +1539,48 @@ EEXXPPAANNSSIIOONN QQuuoottee RReemmoovvaall After the preceding expansions, all unquoted occurrences of the charac- - ters \\, '', and "" that did not result from one of the above expansions + ters \\, '', and "" that did not result from one of the above expansions are removed. RREEDDIIRREECCTTIIOONN - Before a command is executed, its input and output may be _r_e_d_i_r_e_c_t_e_d - using a special notation interpreted by the shell. Redirection may - also be used to open and close files for the current shell execution + Before a command is executed, its input and output may be _r_e_d_i_r_e_c_t_e_d + using a special notation interpreted by the shell. Redirection may + also be used to open and close files for the current shell execution environment. The following redirection operators may precede or appear anywhere within a _s_i_m_p_l_e _c_o_m_m_a_n_d or may follow a _c_o_m_m_a_n_d. Redirections are processed in the order they appear, from left to right. - In the following descriptions, if the file descriptor number is omit- - ted, and the first character of the redirection operator is <<, the - redirection refers to the standard input (file descriptor 0). If the - first character of the redirection operator is >>, the redirection + In the following descriptions, if the file descriptor number is omit- + ted, and the first character of the redirection operator is <<, the + redirection refers to the standard input (file descriptor 0). If the + first character of the redirection operator is >>, the redirection refers to the standard output (file descriptor 1). - The word following the redirection operator in the following descrip- - tions, unless otherwise noted, is subjected to brace expansion, tilde + The word following the redirection operator in the following descrip- + tions, unless otherwise noted, is subjected to brace expansion, tilde expansion, parameter expansion, command substitution, arithmetic expan- - sion, quote removal, pathname expansion, and word splitting. If it + sion, quote removal, pathname expansion, and word splitting. If it expands to more than one word, bbaasshh reports an error. - Note that the order of redirections is significant. For example, the + Note that the order of redirections is significant. For example, the command ls >> dirlist 2>>&&1 - directs both standard output and standard error to the file _d_i_r_l_i_s_t, + directs both standard output and standard error to the file _d_i_r_l_i_s_t, while the command ls 2>>&&1 >> dirlist - directs only the standard output to file _d_i_r_l_i_s_t, because the standard - error was duplicated as standard output before the standard output was + directs only the standard output to file _d_i_r_l_i_s_t, because the standard + error was duplicated as standard output before the standard output was redirected to _d_i_r_l_i_s_t. BBaasshh handles several filenames specially when they are used in redirec- tions, as described in the following table: //ddeevv//ffdd//_f_d - If _f_d is a valid integer, file descriptor _f_d is dupli- + If _f_d is a valid integer, file descriptor _f_d is dupli- cated. //ddeevv//ssttddiinn File descriptor 0 is duplicated. @@ -1582,18 +1590,18 @@ RREEDDIIRREECCTTIIOONN File descriptor 2 is duplicated. //ddeevv//ttccpp//_h_o_s_t//_p_o_r_t If _h_o_s_t is a valid hostname or Internet address, and _p_o_r_t - is an integer port number or service name, bbaasshh attempts + is an integer port number or service name, bbaasshh attempts to open a TCP connection to the corresponding socket. //ddeevv//uuddpp//_h_o_s_t//_p_o_r_t If _h_o_s_t is a valid hostname or Internet address, and _p_o_r_t - is an integer port number or service name, bbaasshh attempts + is an integer port number or service name, bbaasshh attempts to open a UDP connection to the corresponding socket. A failure to open or create a file causes the redirection to fail. RReeddiirreeccttiinngg IInnppuutt Redirection of input causes the file whose name results from the expan- - sion of _w_o_r_d to be opened for reading on file descriptor _n, or the + sion of _w_o_r_d to be opened for reading on file descriptor _n, or the standard input (file descriptor 0) if _n is not specified. The general format for redirecting input is: @@ -1601,27 +1609,27 @@ RREEDDIIRREECCTTIIOONN [_n]<<_w_o_r_d RReeddiirreeccttiinngg OOuuttppuutt - Redirection of output causes the file whose name results from the + Redirection of output causes the file whose name results from the expansion of _w_o_r_d to be opened for writing on file descriptor _n, or the standard output (file descriptor 1) if _n is not specified. If the file - does not exist it is created; if it does exist it is truncated to zero + does not exist it is created; if it does exist it is truncated to zero size. The general format for redirecting output is: [_n]>>_w_o_r_d - If the redirection operator is >>, and the nnoocclloobbbbeerr option to the sseett - builtin has been enabled, the redirection will fail if the file whose - name results from the expansion of _w_o_r_d exists and is a regular file. + If the redirection operator is >>, and the nnoocclloobbbbeerr option to the sseett + builtin has been enabled, the redirection will fail if the file whose + name results from the expansion of _w_o_r_d exists and is a regular file. If the redirection operator is >>||, or the redirection operator is >> and - the nnoocclloobbbbeerr option to the sseett builtin command is not enabled, the + the nnoocclloobbbbeerr option to the sseett builtin command is not enabled, the redirection is attempted even if the file named by _w_o_r_d exists. AAppppeennddiinngg RReeddiirreecctteedd OOuuttppuutt - Redirection of output in this fashion causes the file whose name - results from the expansion of _w_o_r_d to be opened for appending on file - descriptor _n, or the standard output (file descriptor 1) if _n is not + Redirection of output in this fashion causes the file whose name + results from the expansion of _w_o_r_d to be opened for appending on file + descriptor _n, or the standard output (file descriptor 1) if _n is not specified. If the file does not exist it is created. The general format for appending output is: @@ -1630,11 +1638,11 @@ RREEDDIIRREECCTTIIOONN RReeddiirreeccttiinngg SSttaannddaarrdd OOuuttppuutt aanndd SSttaannddaarrdd EErrrroorr - BBaasshh allows both the standard output (file descriptor 1) and the stan- - dard error output (file descriptor 2) to be redirected to the file + BBaasshh allows both the standard output (file descriptor 1) and the stan- + dard error output (file descriptor 2) to be redirected to the file whose name is the expansion of _w_o_r_d with this construct. - There are two formats for redirecting standard output and standard + There are two formats for redirecting standard output and standard error: &&>>_w_o_r_d @@ -1647,9 +1655,9 @@ RREEDDIIRREECCTTIIOONN >>_w_o_r_d 2>>&&1 HHeerree DDooccuummeennttss - This type of redirection instructs the shell to read input from the - current source until a line containing only _w_o_r_d (with no trailing - blanks) is seen. All of the lines read up to that point are then used + This type of redirection instructs the shell to read input from the + current source until a line containing only _w_o_r_d (with no trailing + blanks) is seen. All of the lines read up to that point are then used as the standard input for a command. The format of here-documents is: @@ -1658,18 +1666,18 @@ RREEDDIIRREECCTTIIOONN _h_e_r_e_-_d_o_c_u_m_e_n_t _d_e_l_i_m_i_t_e_r - No parameter expansion, command substitution, arithmetic expansion, or + No parameter expansion, command substitution, arithmetic expansion, or pathname expansion is performed on _w_o_r_d. If any characters in _w_o_r_d are - quoted, the _d_e_l_i_m_i_t_e_r is the result of quote removal on _w_o_r_d, and the - lines in the here-document are not expanded. If _w_o_r_d is unquoted, all - lines of the here-document are subjected to parameter expansion, com- - mand substitution, and arithmetic expansion. In the latter case, the - character sequence \\<> is ignored, and \\ must be used to quote + quoted, the _d_e_l_i_m_i_t_e_r is the result of quote removal on _w_o_r_d, and the + lines in the here-document are not expanded. If _w_o_r_d is unquoted, all + lines of the here-document are subjected to parameter expansion, com- + mand substitution, and arithmetic expansion. In the latter case, the + character sequence \\<> is ignored, and \\ must be used to quote the characters \\, $$, and ``. If the redirection operator is <<<<--, then all leading tab characters are - stripped from input lines and the line containing _d_e_l_i_m_i_t_e_r. This - allows here-documents within shell scripts to be indented in a natural + stripped from input lines and the line containing _d_e_l_i_m_i_t_e_r. This + allows here-documents within shell scripts to be indented in a natural fashion. HHeerree SSttrriinnggss @@ -1685,19 +1693,19 @@ RREEDDIIRREECCTTIIOONN [_n]<<&&_w_o_r_d is used to duplicate input file descriptors. If _w_o_r_d expands to one or - more digits, the file descriptor denoted by _n is made to be a copy of - that file descriptor. If the digits in _w_o_r_d do not specify a file - descriptor open for input, a redirection error occurs. If _w_o_r_d evalu- - ates to --, file descriptor _n is closed. If _n is not specified, the + more digits, the file descriptor denoted by _n is made to be a copy of + that file descriptor. If the digits in _w_o_r_d do not specify a file + descriptor open for input, a redirection error occurs. If _w_o_r_d evalu- + ates to --, file descriptor _n is closed. If _n is not specified, the standard input (file descriptor 0) is used. The operator [_n]>>&&_w_o_r_d - is used similarly to duplicate output file descriptors. If _n is not - specified, the standard output (file descriptor 1) is used. If the - digits in _w_o_r_d do not specify a file descriptor open for output, a + is used similarly to duplicate output file descriptors. If _n is not + specified, the standard output (file descriptor 1) is used. If the + digits in _w_o_r_d do not specify a file descriptor open for output, a redirection error occurs. As a special case, if _n is omitted, and _w_o_r_d does not expand to one or more digits, the standard output and standard error are redirected as described previously. @@ -1707,7 +1715,7 @@ RREEDDIIRREECCTTIIOONN [_n]<<&&_d_i_g_i_t-- - moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard + moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard input (file descriptor 0) if _n is not specified. _d_i_g_i_t is closed after being duplicated to _n. @@ -1715,7 +1723,7 @@ RREEDDIIRREECCTTIIOONN [_n]>>&&_d_i_g_i_t-- - moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard + moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard output (file descriptor 1) if _n is not specified. OOppeenniinngg FFiillee DDeessccrriippttoorrss ffoorr RReeaaddiinngg aanndd WWrriittiinngg @@ -1723,107 +1731,107 @@ RREEDDIIRREECCTTIIOONN [_n]<<>>_w_o_r_d - causes the file whose name is the expansion of _w_o_r_d to be opened for - both reading and writing on file descriptor _n, or on file descriptor 0 + causes the file whose name is the expansion of _w_o_r_d to be opened for + both reading and writing on file descriptor _n, or on file descriptor 0 if _n is not specified. If the file does not exist, it is created. AALLIIAASSEESS - _A_l_i_a_s_e_s allow a string to be substituted for a word when it is used as - the first word of a simple command. The shell maintains a list of - aliases that may be set and unset with the aalliiaass and uunnaalliiaass builtin - commands (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The first word of each - simple command, if unquoted, is checked to see if it has an alias. If - so, that word is replaced by the text of the alias. The characters //, - $$, ``, and == and any of the shell _m_e_t_a_c_h_a_r_a_c_t_e_r_s or quoting characters + _A_l_i_a_s_e_s allow a string to be substituted for a word when it is used as + the first word of a simple command. The shell maintains a list of + aliases that may be set and unset with the aalliiaass and uunnaalliiaass builtin + commands (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The first word of each + simple command, if unquoted, is checked to see if it has an alias. If + so, that word is replaced by the text of the alias. The characters //, + $$, ``, and == and any of the shell _m_e_t_a_c_h_a_r_a_c_t_e_r_s or quoting characters listed above may not appear in an alias name. The replacement text may - contain any valid shell input, including shell metacharacters. The - first word of the replacement text is tested for aliases, but a word - that is identical to an alias being expanded is not expanded a second - time. This means that one may alias llss to llss --FF, for instance, and - bbaasshh does not try to recursively expand the replacement text. If the - last character of the alias value is a _b_l_a_n_k, then the next command + contain any valid shell input, including shell metacharacters. The + first word of the replacement text is tested for aliases, but a word + that is identical to an alias being expanded is not expanded a second + time. This means that one may alias llss to llss --FF, for instance, and + bbaasshh does not try to recursively expand the replacement text. If the + last character of the alias value is a _b_l_a_n_k, then the next command word following the alias is also checked for alias expansion. Aliases are created and listed with the aalliiaass command, and removed with the uunnaalliiaass command. - There is no mechanism for using arguments in the replacement text. If - arguments are needed, a shell function should be used (see FFUUNNCCTTIIOONNSS + There is no mechanism for using arguments in the replacement text. If + arguments are needed, a shell function should be used (see FFUUNNCCTTIIOONNSS below). - Aliases are not expanded when the shell is not interactive, unless the - eexxppaanndd__aalliiaasseess shell option is set using sshhoopptt (see the description of + Aliases are not expanded when the shell is not interactive, unless the + eexxppaanndd__aalliiaasseess shell option is set using sshhoopptt (see the description of sshhoopptt under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - The rules concerning the definition and use of aliases are somewhat - confusing. BBaasshh always reads at least one complete line of input - before executing any of the commands on that line. Aliases are - expanded when a command is read, not when it is executed. Therefore, - an alias definition appearing on the same line as another command does - not take effect until the next line of input is read. The commands + The rules concerning the definition and use of aliases are somewhat + confusing. BBaasshh always reads at least one complete line of input + before executing any of the commands on that line. Aliases are + expanded when a command is read, not when it is executed. Therefore, + an alias definition appearing on the same line as another command does + not take effect until the next line of input is read. The commands following the alias definition on that line are not affected by the new - alias. This behavior is also an issue when functions are executed. - Aliases are expanded when a function definition is read, not when the - function is executed, because a function definition is itself a com- + alias. This behavior is also an issue when functions are executed. + Aliases are expanded when a function definition is read, not when the + function is executed, because a function definition is itself a com- pound command. As a consequence, aliases defined in a function are not - available until after that function is executed. To be safe, always - put alias definitions on a separate line, and do not use aalliiaass in com- + available until after that function is executed. To be safe, always + put alias definitions on a separate line, and do not use aalliiaass in com- pound commands. For almost every purpose, aliases are superseded by shell functions. FFUUNNCCTTIIOONNSS - A shell function, defined as described above under SSHHEELLLL GGRRAAMMMMAARR, - stores a series of commands for later execution. When the name of a - shell function is used as a simple command name, the list of commands + A shell function, defined as described above under SSHHEELLLL GGRRAAMMMMAARR, + stores a series of commands for later execution. When the name of a + shell function is used as a simple command name, the list of commands associated with that function name is executed. Functions are executed - in the context of the current shell; no new process is created to - interpret them (contrast this with the execution of a shell script). - When a function is executed, the arguments to the function become the + in the context of the current shell; no new process is created to + interpret them (contrast this with the execution of a shell script). + When a function is executed, the arguments to the function become the positional parameters during its execution. The special parameter ## is - updated to reflect the change. Special parameter 0 is unchanged. The - first element of the FFUUNNCCNNAAMMEE variable is set to the name of the func- - tion while the function is executing. All other aspects of the shell - execution environment are identical between a function and its caller + updated to reflect the change. Special parameter 0 is unchanged. The + first element of the FFUUNNCCNNAAMMEE variable is set to the name of the func- + tion while the function is executing. All other aspects of the shell + execution environment are identical between a function and its caller with the exception that the DDEEBBUUGG trap (see the description of the ttrraapp builtin under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) is not inherited unless the function has been given the ttrraaccee attribute (see the description of the - ddeeccllaarree builtin below) or the --oo ffuunnccttrraaccee shell option has been - enabled with the sseett builtin (in which case all functions inherit the + ddeeccllaarree builtin below) or the --oo ffuunnccttrraaccee shell option has been + enabled with the sseett builtin (in which case all functions inherit the DDEEBBUUGG trap). - Variables local to the function may be declared with the llooccaall builtin + Variables local to the function may be declared with the llooccaall builtin command. Ordinarily, variables and their values are shared between the function and its caller. - If the builtin command rreettuurrnn is executed in a function, the function - completes and execution resumes with the next command after the func- - tion call. Any command associated with the RREETTUURRNN trap is executed + If the builtin command rreettuurrnn is executed in a function, the function + completes and execution resumes with the next command after the func- + tion call. Any command associated with the RREETTUURRNN trap is executed before execution resumes. When a function completes, the values of the - positional parameters and the special parameter ## are restored to the + positional parameters and the special parameter ## are restored to the values they had prior to the function's execution. - Function names and definitions may be listed with the --ff option to the + Function names and definitions may be listed with the --ff option to the ddeeccllaarree or ttyyppeesseett builtin commands. The --FF option to ddeeccllaarree or ttyyppee-- - sseett will list the function names only (and optionally the source file - and line number, if the eexxttddeebbuugg shell option is enabled). Functions - may be exported so that subshells automatically have them defined with - the --ff option to the eexxppoorrtt builtin. Note that shell functions and - variables with the same name may result in multiple identically-named + sseett will list the function names only (and optionally the source file + and line number, if the eexxttddeebbuugg shell option is enabled). Functions + may be exported so that subshells automatically have them defined with + the --ff option to the eexxppoorrtt builtin. Note that shell functions and + variables with the same name may result in multiple identically-named entries in the environment passed to the shell's children. Care should be taken in cases where this may cause a problem. - Functions may be recursive. No limit is imposed on the number of + Functions may be recursive. No limit is imposed on the number of recursive calls. AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN - The shell allows arithmetic expressions to be evaluated, under certain - circumstances (see the lleett and ddeeccllaarree builtin commands and AArriitthhmmeettiicc - EExxppaannssiioonn). Evaluation is done in fixed-width integers with no check - for overflow, though division by 0 is trapped and flagged as an error. - The operators and their precedence, associativity, and values are the - same as in the C language. The following list of operators is grouped - into levels of equal-precedence operators. The levels are listed in + The shell allows arithmetic expressions to be evaluated, under certain + circumstances (see the lleett and ddeeccllaarree builtin commands and AArriitthhmmeettiicc + EExxppaannssiioonn). Evaluation is done in fixed-width integers with no check + for overflow, though division by 0 is trapped and flagged as an error. + The operators and their precedence, associativity, and values are the + same as in the C language. The following list of operators is grouped + into levels of equal-precedence operators. The levels are listed in order of decreasing precedence. _i_d++++ _i_d---- @@ -1851,41 +1859,45 @@ AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN _e_x_p_r_1 ,, _e_x_p_r_2 comma - Shell variables are allowed as operands; parameter expansion is per- + Shell variables are allowed as operands; parameter expansion is per- formed before the expression is evaluated. Within an expression, shell - variables may also be referenced by name without using the parameter - expansion syntax. A shell variable that is null or unset evaluates to + variables may also be referenced by name without using the parameter + expansion syntax. A shell variable that is null or unset evaluates to 0 when referenced by name without using the parameter expansion syntax. - The value of a variable is evaluated as an arithmetic expression when - it is referenced, or when a variable which has been given the _i_n_t_e_g_e_r + The value of a variable is evaluated as an arithmetic expression when + it is referenced, or when a variable which has been given the _i_n_t_e_g_e_r attribute using ddeeccllaarree --ii is assigned a value. A null value evaluates - to 0. A shell variable need not have its integer attribute turned on + to 0. A shell variable need not have its integer attribute turned on to be used in an expression. Constants with a leading 0 are interpreted as octal numbers. A leading - 0x or 0X denotes hexadecimal. Otherwise, numbers take the form - [_b_a_s_e_#]n, where _b_a_s_e is a decimal number between 2 and 64 representing + 0x or 0X denotes hexadecimal. Otherwise, numbers take the form + [_b_a_s_e_#]n, where _b_a_s_e is a decimal number between 2 and 64 representing the arithmetic base, and _n is a number in that base. If _b_a_s_e_# is omit- - ted, then base 10 is used. The digits greater than 9 are represented - by the lowercase letters, the uppercase letters, @, and _, in that - order. If _b_a_s_e is less than or equal to 36, lowercase and uppercase - letters may be used interchangably to represent numbers between 10 and + ted, then base 10 is used. The digits greater than 9 are represented + by the lowercase letters, the uppercase letters, @, and _, in that + order. If _b_a_s_e is less than or equal to 36, lowercase and uppercase + letters may be used interchangably to represent numbers between 10 and 35. - Operators are evaluated in order of precedence. Sub-expressions in - parentheses are evaluated first and may override the precedence rules + Operators are evaluated in order of precedence. Sub-expressions in + parentheses are evaluated first and may override the precedence rules above. CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS - Conditional expressions are used by the [[[[ compound command and the - tteesstt and [[ builtin commands to test file attributes and perform string - and arithmetic comparisons. Expressions are formed from the following - unary or binary primaries. If any _f_i_l_e argument to one of the pri- + Conditional expressions are used by the [[[[ compound command and the + tteesstt and [[ builtin commands to test file attributes and perform string + and arithmetic comparisons. Expressions are formed from the following + unary or binary primaries. If any _f_i_l_e argument to one of the pri- maries is of the form _/_d_e_v_/_f_d_/_n, then file descriptor _n is checked. If - the _f_i_l_e argument to one of the primaries is one of _/_d_e_v_/_s_t_d_i_n, - _/_d_e_v_/_s_t_d_o_u_t, or _/_d_e_v_/_s_t_d_e_r_r, file descriptor 0, 1, or 2, respectively, + the _f_i_l_e argument to one of the primaries is one of _/_d_e_v_/_s_t_d_i_n, + _/_d_e_v_/_s_t_d_o_u_t, or _/_d_e_v_/_s_t_d_e_r_r, file descriptor 0, 1, or 2, respectively, is checked. + Unless otherwise specified, primaries that operate on files follow sym- + bolic links and operate on the target of the link, rather than the link + itself. + --aa _f_i_l_e True if _f_i_l_e exists. --bb _f_i_l_e @@ -1926,20 +1938,20 @@ CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS --SS _f_i_l_e True if _f_i_l_e exists and is a socket. --NN _f_i_l_e - True if _f_i_l_e exists and has been modified since it was last + True if _f_i_l_e exists and has been modified since it was last read. _f_i_l_e_1 -nntt _f_i_l_e_2 - True if _f_i_l_e_1 is newer (according to modification date) than + True if _f_i_l_e_1 is newer (according to modification date) than _f_i_l_e_2, or if _f_i_l_e_1 exists and _f_i_l_e_2 does not. _f_i_l_e_1 -oott _f_i_l_e_2 - True if _f_i_l_e_1 is older than _f_i_l_e_2, or if _f_i_l_e_2 exists and _f_i_l_e_1 + True if _f_i_l_e_1 is older than _f_i_l_e_2, or if _f_i_l_e_2 exists and _f_i_l_e_1 does not. _f_i_l_e_1 --eeff _f_i_l_e_2 - True if _f_i_l_e_1 and _f_i_l_e_2 refer to the same device and inode num- + True if _f_i_l_e_1 and _f_i_l_e_2 refer to the same device and inode num- bers. --oo _o_p_t_n_a_m_e - True if shell option _o_p_t_n_a_m_e is enabled. See the list of - options under the description of the --oo option to the sseett + True if shell option _o_p_t_n_a_m_e is enabled. See the list of + options under the description of the --oo option to the sseett builtin below. --zz _s_t_r_i_n_g True if the length of _s_t_r_i_n_g is zero. @@ -1955,111 +1967,111 @@ CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS True if the strings are not equal. _s_t_r_i_n_g_1 << _s_t_r_i_n_g_2 - True if _s_t_r_i_n_g_1 sorts before _s_t_r_i_n_g_2 lexicographically in the + True if _s_t_r_i_n_g_1 sorts before _s_t_r_i_n_g_2 lexicographically in the current locale. _s_t_r_i_n_g_1 >> _s_t_r_i_n_g_2 - True if _s_t_r_i_n_g_1 sorts after _s_t_r_i_n_g_2 lexicographically in the + True if _s_t_r_i_n_g_1 sorts after _s_t_r_i_n_g_2 lexicographically in the current locale. _a_r_g_1 OOPP _a_r_g_2 - OOPP is one of --eeqq, --nnee, --lltt, --llee, --ggtt, or --ggee. These arithmetic - binary operators return true if _a_r_g_1 is equal to, not equal to, - less than, less than or equal to, greater than, or greater than - or equal to _a_r_g_2, respectively. _A_r_g_1 and _a_r_g_2 may be positive + OOPP is one of --eeqq, --nnee, --lltt, --llee, --ggtt, or --ggee. These arithmetic + binary operators return true if _a_r_g_1 is equal to, not equal to, + less than, less than or equal to, greater than, or greater than + or equal to _a_r_g_2, respectively. _A_r_g_1 and _a_r_g_2 may be positive or negative integers. SSIIMMPPLLEE CCOOMMMMAANNDD EEXXPPAANNSSIIOONN - When a simple command is executed, the shell performs the following + When a simple command is executed, the shell performs the following expansions, assignments, and redirections, from left to right. - 1. The words that the parser has marked as variable assignments - (those preceding the command name) and redirections are saved + 1. The words that the parser has marked as variable assignments + (those preceding the command name) and redirections are saved for later processing. - 2. The words that are not variable assignments or redirections are - expanded. If any words remain after expansion, the first word - is taken to be the name of the command and the remaining words + 2. The words that are not variable assignments or redirections are + expanded. If any words remain after expansion, the first word + is taken to be the name of the command and the remaining words are the arguments. 3. Redirections are performed as described above under RREEDDIIRREECCTTIIOONN. 4. The text after the == in each variable assignment undergoes tilde expansion, parameter expansion, command substitution, arithmetic - expansion, and quote removal before being assigned to the vari- + expansion, and quote removal before being assigned to the vari- able. If no command name results, the variable assignments affect the current - shell environment. Otherwise, the variables are added to the environ- - ment of the executed command and do not affect the current shell envi- - ronment. If any of the assignments attempts to assign a value to a - readonly variable, an error occurs, and the command exits with a non- + shell environment. Otherwise, the variables are added to the environ- + ment of the executed command and do not affect the current shell envi- + ronment. If any of the assignments attempts to assign a value to a + readonly variable, an error occurs, and the command exits with a non- zero status. - If no command name results, redirections are performed, but do not - affect the current shell environment. A redirection error causes the + If no command name results, redirections are performed, but do not + affect the current shell environment. A redirection error causes the command to exit with a non-zero status. - If there is a command name left after expansion, execution proceeds as - described below. Otherwise, the command exits. If one of the expan- - sions contained a command substitution, the exit status of the command - is the exit status of the last command substitution performed. If + If there is a command name left after expansion, execution proceeds as + described below. Otherwise, the command exits. If one of the expan- + sions contained a command substitution, the exit status of the command + is the exit status of the last command substitution performed. If there were no command substitutions, the command exits with a status of zero. CCOOMMMMAANNDD EEXXEECCUUTTIIOONN - After a command has been split into words, if it results in a simple - command and an optional list of arguments, the following actions are + After a command has been split into words, if it results in a simple + command and an optional list of arguments, the following actions are taken. - If the command name contains no slashes, the shell attempts to locate - it. If there exists a shell function by that name, that function is - invoked as described above in FFUUNNCCTTIIOONNSS. If the name does not match a - function, the shell searches for it in the list of shell builtins. If + If the command name contains no slashes, the shell attempts to locate + it. If there exists a shell function by that name, that function is + invoked as described above in FFUUNNCCTTIIOONNSS. If the name does not match a + function, the shell searches for it in the list of shell builtins. If a match is found, that builtin is invoked. - If the name is neither a shell function nor a builtin, and contains no - slashes, bbaasshh searches each element of the PPAATTHH for a directory con- - taining an executable file by that name. BBaasshh uses a hash table to - remember the full pathnames of executable files (see hhaasshh under SSHHEELLLL - BBUUIILLTTIINN CCOOMMMMAANNDDSS below). A full search of the directories in PPAATTHH is - performed only if the command is not found in the hash table. If the - search is unsuccessful, the shell prints an error message and returns + If the name is neither a shell function nor a builtin, and contains no + slashes, bbaasshh searches each element of the PPAATTHH for a directory con- + taining an executable file by that name. BBaasshh uses a hash table to + remember the full pathnames of executable files (see hhaasshh under SSHHEELLLL + BBUUIILLTTIINN CCOOMMMMAANNDDSS below). A full search of the directories in PPAATTHH is + performed only if the command is not found in the hash table. If the + search is unsuccessful, the shell prints an error message and returns an exit status of 127. - If the search is successful, or if the command name contains one or + If the search is successful, or if the command name contains one or more slashes, the shell executes the named program in a separate execu- tion environment. Argument 0 is set to the name given, and the remain- ing arguments to the command are set to the arguments given, if any. - If this execution fails because the file is not in executable format, - and the file is not a directory, it is assumed to be a _s_h_e_l_l _s_c_r_i_p_t, a - file containing shell commands. A subshell is spawned to execute it. - This subshell reinitializes itself, so that the effect is as if a new - shell had been invoked to handle the script, with the exception that - the locations of commands remembered by the parent (see hhaasshh below + If this execution fails because the file is not in executable format, + and the file is not a directory, it is assumed to be a _s_h_e_l_l _s_c_r_i_p_t, a + file containing shell commands. A subshell is spawned to execute it. + This subshell reinitializes itself, so that the effect is as if a new + shell had been invoked to handle the script, with the exception that + the locations of commands remembered by the parent (see hhaasshh below under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS) are retained by the child. - If the program is a file beginning with ##!!, the remainder of the first - line specifies an interpreter for the program. The shell executes the + If the program is a file beginning with ##!!, the remainder of the first + line specifies an interpreter for the program. The shell executes the specified interpreter on operating systems that do not handle this exe- cutable format themselves. The arguments to the interpreter consist of - a single optional argument following the interpreter name on the first - line of the program, followed by the name of the program, followed by + a single optional argument following the interpreter name on the first + line of the program, followed by the name of the program, followed by the command arguments, if any. CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT - The shell has an _e_x_e_c_u_t_i_o_n _e_n_v_i_r_o_n_m_e_n_t, which consists of the follow- + The shell has an _e_x_e_c_u_t_i_o_n _e_n_v_i_r_o_n_m_e_n_t, which consists of the follow- ing: - +o open files inherited by the shell at invocation, as modified by + +o open files inherited by the shell at invocation, as modified by redirections supplied to the eexxeecc builtin - +o the current working directory as set by ccdd, ppuusshhdd, or ppooppdd, or + +o the current working directory as set by ccdd, ppuusshhdd, or ppooppdd, or inherited by the shell at invocation - +o the file creation mode mask as set by uummaasskk or inherited from + +o the file creation mode mask as set by uummaasskk or inherited from the shell's parent +o current traps set by ttrraapp @@ -2067,223 +2079,223 @@ CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENN +o shell parameters that are set by variable assignment or with sseett or inherited from the shell's parent in the environment - +o shell functions defined during execution or inherited from the + +o shell functions defined during execution or inherited from the shell's parent in the environment - +o options enabled at invocation (either by default or with com- + +o options enabled at invocation (either by default or with com- mand-line arguments) or by sseett +o options enabled by sshhoopptt +o shell aliases defined with aalliiaass - +o various process IDs, including those of background jobs, the + +o various process IDs, including those of background jobs, the 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- - sists of the following. Unless otherwise noted, the values are inher- + 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- + sists of the following. Unless otherwise noted, the values are inher- ited from the shell. - +o the shell's open files, plus any modifications and additions + +o the shell's open files, plus any modifications and additions specified by redirections to the command +o the current working directory +o the file creation mode mask - +o shell variables and functions marked for export, along with + +o shell variables and functions marked for export, along with variables exported for the command, passed in the environment +o traps caught by the shell are reset to the values inherited from the shell's parent, and traps ignored by the shell are ignored - A command invoked in this separate environment cannot affect the + A command invoked in this separate environment cannot affect the shell's execution environment. - Command substitution, commands grouped with parentheses, and asyn- - chronous commands are invoked in a subshell environment that is a - duplicate of the shell environment, except that traps caught by the - shell are reset to the values that the shell inherited from its parent + Command substitution, commands grouped with parentheses, and asyn- + chronous commands are invoked in a subshell environment that is a + duplicate of the shell environment, except that traps caught by the + shell are reset to the values that the shell inherited from its parent at invocation. Builtin commands that are invoked as part of a pipeline - are also executed in a subshell environment. Changes made to the sub- + are also executed in a subshell environment. Changes made to the sub- shell environment cannot affect the shell's execution environment. - If a command is followed by a && and job control is not active, the - default standard input for the command is the empty file _/_d_e_v_/_n_u_l_l. - Otherwise, the invoked command inherits the file descriptors of the + If a command is followed by a && and job control is not active, the + default standard input for the command is the empty file _/_d_e_v_/_n_u_l_l. + Otherwise, the invoked command inherits the file descriptors of the calling shell as modified by redirections. EENNVVIIRROONNMMEENNTT - When a program is invoked it is given an array of strings called the + When a program is invoked it is given an array of strings called the _e_n_v_i_r_o_n_m_e_n_t. This is a list of _n_a_m_e-_v_a_l_u_e pairs, of the form _n_a_m_e=_v_a_l_u_e. - The shell provides several ways to manipulate the environment. On + The shell provides several ways to manipulate the environment. On invocation, the shell scans its own environment and creates a parameter - for each name found, automatically marking it for _e_x_p_o_r_t to child pro- - cesses. Executed commands inherit the environment. The eexxppoorrtt and - ddeeccllaarree --xx commands allow parameters and functions to be added to and + for each name found, automatically marking it for _e_x_p_o_r_t to child pro- + cesses. Executed commands inherit the environment. The eexxppoorrtt and + ddeeccllaarree --xx commands allow parameters and functions to be added to and deleted from the environment. If the value of a parameter in the envi- - ronment is modified, the new value becomes part of the environment, - replacing the old. The environment inherited by any executed command - consists of the shell's initial environment, whose values may be modi- - fied in the shell, less any pairs removed by the uunnsseett command, plus + ronment is modified, the new value becomes part of the environment, + replacing the old. The environment inherited by any executed command + consists of the shell's initial environment, whose values may be modi- + fied in the shell, less any pairs removed by the uunnsseett command, plus any additions via the eexxppoorrtt and ddeeccllaarree --xx commands. - The environment for any _s_i_m_p_l_e _c_o_m_m_a_n_d or function may be augmented - temporarily by prefixing it with parameter assignments, as described + The environment for any _s_i_m_p_l_e _c_o_m_m_a_n_d or function may be augmented + temporarily by prefixing it with parameter assignments, as described above in PPAARRAAMMEETTEERRSS. These assignment statements affect only the envi- ronment seen by that command. - If the --kk option is set (see the sseett builtin command below), then _a_l_l - parameter assignments are placed in the environment for a command, not + If the --kk option is set (see the sseett builtin command below), then _a_l_l + parameter assignments are placed in the environment for a command, not just those that precede the command name. - When bbaasshh invokes an external command, the variable __ is set to the - full file name of the command and passed to that command in its envi- + When bbaasshh invokes an external command, the variable __ is set to the + full file name of the command and passed to that command in its envi- ronment. EEXXIITT SSTTAATTUUSS For the shell's purposes, a command which exits with a zero exit status - has succeeded. An exit status of zero indicates success. A non-zero - exit status indicates failure. When a command terminates on a fatal + has succeeded. An exit status of zero indicates success. A non-zero + exit status indicates failure. When a command terminates on a fatal signal _N, bbaasshh uses the value of 128+_N as the exit status. - If a command is not found, the child process created to execute it - returns a status of 127. If a command is found but is not executable, + If a command is not found, the child process created to execute it + returns a status of 127. If a command is found but is not executable, the return status is 126. If a command fails because of an error during expansion or redirection, the exit status is greater than zero. - Shell builtin commands return a status of 0 (_t_r_u_e) if successful, and - non-zero (_f_a_l_s_e) if an error occurs while they execute. All builtins + Shell builtin commands return a status of 0 (_t_r_u_e) if successful, and + non-zero (_f_a_l_s_e) if an error occurs while they execute. All builtins return an exit status of 2 to indicate incorrect usage. - BBaasshh itself returns the exit status of the last command executed, - unless a syntax error occurs, in which case it exits with a non-zero + BBaasshh itself returns the exit status of the last command executed, + unless a syntax error occurs, in which case it exits with a non-zero value. See also the eexxiitt builtin command below. SSIIGGNNAALLSS - When bbaasshh is interactive, in the absence of any traps, it ignores + When bbaasshh is interactive, in the absence of any traps, it ignores SSIIGGTTEERRMM (so that kkiillll 00 does not kill an interactive shell), and SSIIGGIINNTT - is caught and handled (so that the wwaaiitt builtin is interruptible). In - all cases, bbaasshh ignores SSIIGGQQUUIITT. If job control is in effect, bbaasshh + is caught and handled (so that the wwaaiitt builtin is interruptible). In + all cases, bbaasshh ignores SSIIGGQQUUIITT. If job control is in effect, bbaasshh ignores SSIIGGTTTTIINN, SSIIGGTTTTOOUU, and SSIIGGTTSSTTPP. Non-builtin commands run by bbaasshh have signal handlers set to the values - inherited by the shell from its parent. When job control is not in - effect, asynchronous commands ignore SSIIGGIINNTT and SSIIGGQQUUIITT in addition to - these inherited handlers. Commands run as a result of command substi- + inherited by the shell from its parent. When job control is not in + effect, asynchronous commands ignore SSIIGGIINNTT and SSIIGGQQUUIITT in addition to + these inherited handlers. Commands run as a result of command substi- tution ignore the keyboard-generated job control signals SSIIGGTTTTIINN, SSIIGGTT-- TTOOUU, and SSIIGGTTSSTTPP. - The shell exits by default upon receipt of a SSIIGGHHUUPP. Before exiting, - an interactive shell resends the SSIIGGHHUUPP to all jobs, running or + The shell exits by default upon receipt of a SSIIGGHHUUPP. Before exiting, + an interactive shell resends the SSIIGGHHUUPP to all jobs, running or stopped. Stopped jobs are sent SSIIGGCCOONNTT to ensure that they receive the - SSIIGGHHUUPP. To prevent the shell from sending the signal to a particular - job, it should be removed from the jobs table with the ddiissoowwnn builtin - (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) or marked to not receive SSIIGGHHUUPP + SSIIGGHHUUPP. To prevent the shell from sending the signal to a particular + job, it should be removed from the jobs table with the ddiissoowwnn builtin + (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) or marked to not receive SSIIGGHHUUPP using ddiissoowwnn --hh. - If the hhuuppoonneexxiitt shell option has been set with sshhoopptt, bbaasshh sends a + If the hhuuppoonneexxiitt shell option has been set with sshhoopptt, bbaasshh sends a SSIIGGHHUUPP to all jobs when an interactive login shell exits. - If 0for which a trap has been set, the trap will not be executed until - the command completes. When bbaasshh is waiting for an asynchronous com- - mand via the wwaaiitt builtin, the reception of a signal for which a trap - has been set will cause the wwaaiitt builtin to return immediately with an - exit status greater than 128, immediately after which the trap is exe- + If 0for which a trap has been set, the trap will not be executed until + the command completes. When bbaasshh is waiting for an asynchronous com- + mand via the wwaaiitt builtin, the reception of a signal for which a trap + has been set will cause the wwaaiitt builtin to return immediately with an + exit status greater than 128, immediately after which the trap is exe- cuted. JJOOBB CCOONNTTRROOLL - _J_o_b _c_o_n_t_r_o_l refers to the ability to selectively stop (_s_u_s_p_e_n_d) the + _J_o_b _c_o_n_t_r_o_l refers to the ability to selectively stop (_s_u_s_p_e_n_d) the execution of processes and continue (_r_e_s_u_m_e) their execution at a later - point. A user typically employs this facility via an interactive + point. A user typically employs this facility via an interactive interface supplied jointly by the system's terminal driver and bbaasshh. - The shell associates a _j_o_b with each pipeline. It keeps a table of - currently executing jobs, which may be listed with the jjoobbss command. - When bbaasshh starts a job asynchronously (in the _b_a_c_k_g_r_o_u_n_d), it prints a + The shell associates a _j_o_b with each pipeline. It keeps a table of + currently executing jobs, which may be listed with the jjoobbss command. + When bbaasshh starts a job asynchronously (in the _b_a_c_k_g_r_o_u_n_d), it prints a line that looks like: [1] 25647 indicating that this job is job number 1 and that the process ID of the last process in the pipeline associated with this job is 25647. All of - the processes in a single pipeline are members of the same job. BBaasshh + the processes in a single pipeline are members of the same job. BBaasshh uses the _j_o_b abstraction as the basis for job control. - To facilitate the implementation of the user interface to job control, + To facilitate the implementation of the user interface to job control, the operating system maintains the notion of a _c_u_r_r_e_n_t _t_e_r_m_i_n_a_l _p_r_o_c_e_s_s _g_r_o_u_p _I_D. Members of this process group (processes whose process group ID is equal to the current terminal process group ID) receive keyboard- - generated signals such as SSIIGGIINNTT. These processes are said to be in - the _f_o_r_e_g_r_o_u_n_d. _B_a_c_k_g_r_o_u_n_d processes are those whose process group ID + generated signals such as SSIIGGIINNTT. These processes are said to be in + the _f_o_r_e_g_r_o_u_n_d. _B_a_c_k_g_r_o_u_n_d processes are those whose process group ID differs from the terminal's; such processes are immune to keyboard-gen- - erated signals. Only foreground processes are allowed to read from or + erated signals. Only foreground processes are allowed to read from or write to the terminal. Background processes which attempt to read from (write to) the terminal are sent a SSIIGGTTTTIINN ((SSIIGGTTTTOOUU)) signal by the ter- minal driver, which, unless caught, suspends the process. - If the operating system on which bbaasshh is running supports job control, + If the operating system on which bbaasshh is running supports job control, bbaasshh contains facilities to use it. Typing the _s_u_s_p_e_n_d character (typ- ically ^^ZZ, Control-Z) while a process is running causes that process to - be stopped and returns control to bbaasshh. Typing the _d_e_l_a_y_e_d _s_u_s_p_e_n_d - character (typically ^^YY, Control-Y) causes the process to be stopped - when it attempts to read input from the terminal, and control to be - returned to bbaasshh. The user may then manipulate the state of this job, - using the bbgg command to continue it in the background, the ffgg command + be stopped and returns control to bbaasshh. Typing the _d_e_l_a_y_e_d _s_u_s_p_e_n_d + character (typically ^^YY, Control-Y) causes the process to be stopped + when it attempts to read input from the terminal, and control to be + returned to bbaasshh. The user may then manipulate the state of this job, + using the bbgg command to continue it in the background, the ffgg command to continue it in the foreground, or the kkiillll command to kill it. A ^^ZZ takes effect immediately, and has the additional side effect of causing pending output and typeahead to be discarded. There are a number of ways to refer to a job in the shell. The charac- ter %% introduces a job name. Job number _n may be referred to as %%nn. A - job may also be referred to using a prefix of the name used to start - it, or using a substring that appears in its command line. For exam- + job may also be referred to using a prefix of the name used to start + it, or using a substring that appears in its command line. For exam- ple, %%ccee refers to a stopped ccee job. If a prefix matches more than one - job, bbaasshh reports an error. Using %%??ccee, on the other hand, refers to + job, bbaasshh reports an error. Using %%??ccee, on the other hand, refers to any job containing the string ccee in its command line. If the substring - matches more than one job, bbaasshh reports an error. The symbols %%%% and - %%++ refer to the shell's notion of the _c_u_r_r_e_n_t _j_o_b, which is the last - job stopped while it was in the foreground or started in the back- - ground. The _p_r_e_v_i_o_u_s _j_o_b may be referenced using %%--. In output per- - taining to jobs (e.g., the output of the jjoobbss command), the current job - is always flagged with a ++, and the previous job with a --. - - Simply naming a job can be used to bring it into the foreground: %%11 is - a synonym for ````ffgg %%11'''', bringing job 1 from the background into the - foreground. Similarly, ````%%11 &&'''' resumes job 1 in the background, + matches more than one job, bbaasshh reports an error. The symbols %%%% and + %%++ refer to the shell's notion of the _c_u_r_r_e_n_t _j_o_b, which is the last + job stopped while it was in the foreground or started in the back- + ground. The _p_r_e_v_i_o_u_s _j_o_b may be referenced using %%--. In output + pertaining to jobs (e.g., the output of the jjoobbss command), the current + job is always flagged with a ++, and the previous job with a --. + + Simply naming a job can be used to bring it into the foreground: %%11 is + a synonym for ````ffgg %%11'''', bringing job 1 from the background into the + foreground. Similarly, ````%%11 &&'''' resumes job 1 in the background, equivalent to ````bbgg %%11''''. - The shell learns immediately whenever a job changes state. Normally, + The shell learns immediately whenever a job changes state. Normally, bbaasshh waits until it is about to print a prompt before reporting changes - in a job's status so as to not interrupt any other output. If the --bb + in a job's status so as to not interrupt any other output. If the --bb option to the sseett builtin command is enabled, bbaasshh reports such changes - immediately. Any trap on SSIIGGCCHHLLDD is executed for each child that + immediately. Any trap on SSIIGGCCHHLLDD is executed for each child that exits. - If an attempt to exit bbaasshh is made while jobs are stopped, the shell + If an attempt to exit bbaasshh is made while jobs are stopped, the shell prints a warning message. The jjoobbss command may then be used to inspect their status. If a second attempt to exit is made without an interven- - ing command, the shell does not print another warning, and the stopped + ing command, the shell does not print another warning, and the stopped jobs are terminated. PPRROOMMPPTTIINNGG When executing interactively, bbaasshh displays the primary prompt PPSS11 when - it is ready to read a command, and the secondary prompt PPSS22 when it - needs more input to complete a command. BBaasshh allows these prompt - strings to be customized by inserting a number of backslash-escaped + it is ready to read a command, and the secondary prompt PPSS22 when it + needs more input to complete a command. BBaasshh allows these prompt + strings to be customized by inserting a number of backslash-escaped special characters that are decoded as follows: \\aa an ASCII bell character (07) - \\dd the date in "Weekday Month Date" format (e.g., "Tue May + \\dd the date in "Weekday Month Date" format (e.g., "Tue May 26") \\DD{{_f_o_r_m_a_t}} - the _f_o_r_m_a_t is passed to _s_t_r_f_t_i_m_e(3) and the result is - inserted into the prompt string; an empty _f_o_r_m_a_t results + the _f_o_r_m_a_t is passed to _s_t_r_f_t_i_m_e(3) and the result is + inserted into the prompt string; an empty _f_o_r_m_a_t results in a locale-specific time representation. The braces are required \\ee an ASCII escape character (033) @@ -2293,7 +2305,7 @@ PPRROOMMPPTTIINNGG \\ll the basename of the shell's terminal device name \\nn newline \\rr carriage return - \\ss the name of the shell, the basename of $$00 (the portion + \\ss the name of the shell, the basename of $$00 (the portion following the final slash) \\tt the current time in 24-hour HH:MM:SS format \\TT the current time in 12-hour HH:MM:SS format @@ -2302,7 +2314,7 @@ PPRROOMMPPTTIINNGG \\uu the username of the current user \\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 + \\ww the current working directory, with $$HHOOMMEE abbreviated with a tilde \\WW the basename of the current working directory, with $$HHOOMMEE abbreviated with a tilde @@ -2311,63 +2323,63 @@ 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. By default, the line editing commands are similar to those of emacs. A - vi-style line editing interface is also available. To turn off line - editing after the shell is running, use the ++oo eemmaaccss or ++oo vvii options + vi-style line editing interface is also available. To turn off line + editing after the shell is running, use the ++oo eemmaaccss or ++oo vvii options to the sseett builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). 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 @@ -2375,19 +2387,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. @@ -2398,15 +2410,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 @@ -2414,7 +2426,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 @@ -2425,7 +2437,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 @@ -2435,20 +2447,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 @@ -2458,37 +2470,37 @@ 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. + Except where noted, readline variables can take the values OOnn or 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. 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--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- @@ -2496,111 +2508,111 @@ RREEAADDLLIINNEE vvii. 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. 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 - If set to oonn, the history code attempts to place point at the - same location on each history line retrived with pprreevviioouuss--hhiiss-- + If set to oonn, the history code attempts to place point at the + same location on each history line retrived with pprreevviioouuss--hhiiss-- ttoorryy or nneexxtt--hhiissttoorryy. 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. 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. 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- - pletions. + 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 + completions. 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 @@ -2615,51 +2627,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 @@ -2675,11 +2687,11 @@ 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). 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. @@ -2687,128 +2699,128 @@ 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. 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. 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 $$FFCCEEDDIITT, + Invoke an editor on the current command line, and execute the + result as shell commands. BBaasshh attempts to invoke $$FFCCEEDDIITT, $$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 @@ -2817,24 +2829,24 @@ 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. 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. @@ -2843,61 +2855,61 @@ 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. 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--//)) @@ -2906,197 +2918,197 @@ 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. 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--<>)) - 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. 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 + Print all of the readline key sequences bound to macros and the strings they ouput. 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. 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 a compspec has been defined + First, the command name is identified. 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 + 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. - 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 filename expansion pattern to the --GG + Any completions specified by a filename 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, arithmetic expansion, and - pathname expansion, as described above under EEXXPPAANNSSIIOONN. The results - are split using the rules described above under WWoorrdd SSpplliittttiinngg. The + 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, arithmetic expansion, and + pathname 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 com- pleted, 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 and CCOOMMPP__PPOOIINNTT 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 + 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 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. @@ -3104,127 +3116,127 @@ 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. 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 + 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 an inter- - active shell exits, the last $$HHIISSTTSSIIZZEE lines are copied from the his- + 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. After saving the history, the history file - is truncated to contain no more than HHIISSTTFFIILLEESSIIZZEE lines. If HHIISSTTFFIILLEE-- + 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. After saving the history, the history file + is truncated to contain no more than HHIISSTTFFIILLEESSIIZZEE lines. If HHIISSTTFFIILLEE-- SSIIZZEE is not set, no truncation is performed. - The builtin command ffcc (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) may be used + The builtin command ffcc (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) may be used to list or edit and re-execute a portion of the history list. The hhiiss-- - ttoorryy builtin may be used to display or modify the history list and - manipulate the history file. When using command-line editing, search - commands are available in each editing mode that provide access to the + ttoorryy builtin may be used to display or modify the history list and + 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 + 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 + 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 + 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 + 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 + The shell allows control of the various characters used by the history expansion mechanism (see the description of hhiissttcchhaarrss above under SShheellll VVaarriiaabblleess). 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. @@ -3232,21 +3244,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)) @@ -3256,17 +3268,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. @@ -3275,24 +3287,24 @@ 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 @@ -3300,45 +3312,45 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS as accepting options preceded by -- accepts ---- to signify the end of the options. :: [_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- - 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 + 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 + executed 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 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 the 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, if _j_o_b_s_p_e_c was not found or started without job con- - trol. + 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 + 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, if the last _j_o_b_s_p_e_c was not found or was started with- + out job control. bbiinndd [--mm _k_e_y_m_a_p] [--llppssvvPPSSVV] bbiinndd [--mm _k_e_y_m_a_p] [--qq _f_u_n_c_t_i_o_n] [--uu _f_u_n_c_t_i_o_n] [--rr _k_e_y_s_e_q] @@ -3346,29 +3358,29 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS bbiinndd [--mm _k_e_y_m_a_p] --xx _k_e_y_s_e_q:_s_h_e_l_l_-_c_o_m_m_a_n_d bbiinndd [--mm _k_e_y_m_a_p] _k_e_y_s_e_q:_f_u_n_c_t_i_o_n_-_n_a_m_e bbiinndd _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. - --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. - --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. --ff _f_i_l_e_n_a_m_e Read key bindings from _f_i_l_e_n_a_m_e. @@ -3379,136 +3391,136 @@ 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 + 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. - 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 + 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 the shell is not executing a loop when bbrreeaakk is executed. 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. 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. 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. 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] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_p_a_t] [--WW + ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_p_a_t] [--WW _w_o_r_d_l_i_s_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_f_i_x] [--XX _f_i_l_t_e_r_p_a_t] [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d] _n_a_m_e [_n_a_m_e _._._.] ccoommpplleettee --pprr [_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 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- - tions. _c_o_m_p_-_o_p_t_i_o_n may be one of: + 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 + completions. _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 + Tell readline that the compspec generates file- + names, so it can perform any filename-specific + processing (like adding a slash to directory names or suppressing 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. --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 @@ -3516,7 +3528,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 @@ -3525,17 +3537,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. @@ -3544,136 +3556,135 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS Names of all shell variables. May also be spec- ified as --vv. --GG _g_l_o_b_p_a_t - The filename expansion pattern _g_l_o_b_p_a_t is expanded to + The filename 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 filename expansion. - It is applied to the list of possible completions - generated 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. + _f_i_l_t_e_r_p_a_t is a pattern as used for filename 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. --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. 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 the shell is not executing a loop when ccoonnttiinnuuee is executed. ddeeccllaarree [--aaffFFiirrttxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] ttyyppeesseett [--aaffFFiirrttxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] - Declare variables and/or give them attributes. If no _n_a_m_es are - given then display the values of variables. The --pp option will - display the attributes and values of each _n_a_m_e. When --pp is - used, additional options are ignored. The --FF option inhibits - the display of function definitions; only the function name and + 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, additional options are ignored. The --FF option inhibits + the display of function definitions; only the function name and attributes are printed. If the eexxttddeebbuugg shell option is enabled - using sshhoopptt, the source file name and line number where the - function is defined are displayed as well. The --FF option - implies --ff. The following options can be used to restrict out- - put to variables with the specified attribute or to give vari- + using sshhoopptt, the source file name and line number where the + function is defined are displayed as well. The --FF option + implies --ff. The following options can be used to restrict out- + put to variables with the specified attribute or to give vari- ables attributes: --aa Each _n_a_m_e is an 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 + tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN )) is performed when the variable is assigned a value. --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 + --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions inherit the DDEEBBUUGG trap from the calling shell. The trace attribute has no special meaning for variables. - --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 - the exception that ++aa may not be used to destroy an array vari- - able. 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 variable is set to _v_a_l_u_e. The return value is + Using `+' instead of `-' turns off the attribute instead, with + the exception that ++aa may not be used to destroy an array vari- + able. 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 variable 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 name, an attempt is made to turn off read- - only status for a readonly variable, an attempt is made to turn + define a function using ``-f foo=bar'', an attempt is made to + assign a value to a readonly variable, an attempt is made to + assign a value to an array variable without using the compound + assignment syntax (see AArrrraayyss above), one of the _n_a_m_e_s is not a + valid shell variable name, an attempt is made to turn off read- + only status for a readonly variable, an attempt is made to turn off array status for an array variable, or an attempt is made to display a non-existent function with --ff. ddiirrss [[--ccllppvv]] [[++_n]] [[--_n]] - Without options, displays the list of currently remembered - directories. The default display is on a single line with - directory names separated by spaces. Directories are added to - the list with the ppuusshhdd command; the ppooppdd command removes + 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 the --hh option is given, each _j_o_b_s_p_e_c is not + Without options, each _j_o_b_s_p_e_c is removed from the table of + active jobs. If the --hh option is given, each _j_o_b_s_p_e_c is not removed from the table, but is marked so that SSIIGGHHUUPP is not sent - to the job if the shell receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is - 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 + 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_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 @@ -3685,188 +3696,188 @@ 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) - \\_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 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 [--aaddnnppss] [--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 arg passed to _c_o_m_m_a_n_d. This is what _l_o_g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with an empty - environment. If --aa is supplied, the shell passes _n_a_m_e as the - zeroth argument to the executed command. If _c_o_m_m_a_n_d cannot 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 can- - not be executed. If _c_o_m_m_a_n_d is not specified, any redirections - take effect in the current shell, and the return status is 0. + 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 cannot 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 can- + not be executed. If _c_o_m_m_a_n_d is not specified, any redirections + take effect in the current shell, and the return status is 0. If there is a redirection error, the return status is 1. eexxiitt [_n] - Cause the shell to exit with a status of _n. If _n is omitted, + Cause the shell to exit with a status of _n. If _n is omitted, the exit status is that of the last command executed. A trap on EEXXIITT is executed before the shell terminates. eexxppoorrtt [--ffnn] [_n_a_m_e[=_w_o_r_d]] ... eexxppoorrtt --pp - The supplied _n_a_m_e_s are marked for automatic export to the envi- - ronment of subsequently executed commands. If the --ff option is - given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or - if the --pp option is supplied, a list of 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] [--nnllrr] [_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 [--ss] [_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 - structures is printed. The --ss option restricts the information - displayed to a short usage synopsis. The return status is 0 + 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. The --ss option restricts the information + displayed to a short usage synopsis. The return status is 0 unless no command matches _p_a_t_t_e_r_n. hhiissttoorryy [[_n]] @@ -3877,41 +3888,41 @@ 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. - 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 + ated with each history entry is written to the history file. + 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. jjoobbss [--llnnpprrss] [ _j_o_b_s_p_e_c ... ] @@ -3919,144 +3930,144 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS The first form lists the active jobs. The options have the fol- lowing meanings: --ll List process IDs in addition to the normal information. - --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 + MMEETTIICC EEVVAALLUUAATTIIOONN). 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. 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: - ++_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. - --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. - 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 _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 _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] [_d_i_r] ppuusshhdd [--nn] [+_n] [-_n] - 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: - ++_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. - --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. _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] [--uu _f_d] [--tt _t_i_m_e_o_u_t] [--aa _a_n_a_m_e] [--pp _p_r_o_m_p_t] [--nn _n_c_h_a_r_s] [--dd _d_e_l_i_m] [_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 @@ -4064,98 +4075,98 @@ 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. --nn _n_c_h_a_r_s - rreeaadd returns after reading _n_c_h_a_r_s characters rather than + rreeaadd returns after reading _n_c_h_a_r_s characters rather than waiting for a complete line of input. --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. This - option has no effect if rreeaadd is not reading input from + 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. This + option has no effect if rreeaadd is not reading input from the terminal or a pipe. --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, or an invalid file descriptor is + able RREEPPLLYY. The return code is zero, unless end-of-file is + encountered, rreeaadd times out, or an invalid file descriptor is supplied as the argument to --uu. rreeaaddoonnllyy [--aappff] [_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 + 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 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 vari- - able 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 + _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 vari- + able is set to _w_o_r_d. The return status is 0 unless an invalid + option is encountered, one of the _n_a_m_e_s is not a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a func- tion. 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 [----aabbeeffhhkkmmnnppttuuvvxxBBCCHHPP] [--oo _o_p_t_i_o_n] [_a_r_g ...] - Without options, the name and value of each shell variable are - displayed in a format that can be reused as input. The output - is sorted according to the current locale. When options are - specified, they set or unset shell attributes. Any arguments - remaining after the options are processed are treated as values + Without options, the name and value of each shell variable are + displayed in a format that can be reused as input. The output + is sorted according to the current locale. When options are + specified, they set or unset shell attributes. Any arguments + remaining after the options are processed are treated as values for the positional parameters and are assigned, in order, to $$11, - $$22, ...... $$_n. Options, if specified, have the following mean- + $$22, ...... $$_n. Options, if specified, have the following mean- ings: - --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 _s_i_m_p_l_e _c_o_m_m_a_n_d (see SSHHEELLLL GGRRAAMMMMAARR + --ee Exit immediately if a _s_i_m_p_l_e _c_o_m_m_a_n_d (see SSHHEELLLL GGRRAAMMMMAARR above) exits with a non-zero status. The shell does not - exit if the command that fails is part of the command - list immediately following a wwhhiillee or uunnttiill keyword, - part of the test in an _i_f statement, part of a &&&& or |||| + exit if the command that fails 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 &&&& or |||| list, or if the command's return value is being inverted - via !!. A trap on EERRRR, if set, is executed before the + via !!. A trap on EERRRR, if set, is executed before the shell exits. --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: @@ -4163,7 +4174,7 @@ 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. @@ -4179,8 +4190,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. @@ -4194,12 +4205,12 @@ 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 + ppoossiixx Change the behavior of bbaasshh where the default operation differs from the POSIX 1003.2 standard to match the standard (_`_p_o_s_i_x _m_o_d_e). pprriivviilleeggeedd @@ -4208,224 +4219,224 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS vvii Use a vi-style command line editing interface. 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 - variable, if it appears in the environment, is 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 supplied, these actions are taken and the + --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 + variable, if it appears in the environment, is 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 supplied, these actions are taken and the effective user id is set to the real user id. If the --pp - option is supplied at startup, the effective user id is + option is supplied 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 + 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 as an error when performing param- - eter expansion. If expansion is attempted on an unset + eter expansion. If expansion is attempted on an unset variable, 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 trap on DDEEBBUUGG is inherited by shell func- + --TT If set, any trap on DDEEBBUUGG is inherited by shell func- tions, command substitutions, and commands executed in a - subshell environment. The DDEEBBUUGG trap is normally not + subshell environment. The DDEEBBUUGG trap is 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: 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. cchheecckkwwiinnssiizzee - If set, bbaasshh checks the window size after each command - and, if necessary, updates the values of LLIINNEESS and + If set, bbaasshh checks the window size after each command + and, if necessary, updates the values of LLIINNEESS and CCOOLLUUMMNNSS. - 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. - 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. 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. ggnnuu__eerrrrffmmtt If set, shell error messages are written in the standard GNU error message format. hhiissttaappppeenndd - If set, the history list is appended to the file named - by the value of the HHIISSTTFFIILLEE variable when the shell + 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). 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-- @@ -4433,44 +4444,44 @@ 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 - signal. The --ff option says not to complain if this is a login - shell; just suspend anyway. The return status is 0 unless the + Suspend the execution of this shell until it receives a SSIIGGCCOONNTT + signal. The --ff option says not to complain if this is a login + shell; just suspend anyway. The return status is 0 unless the shell is a login shell and --ff is not supplied, 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 + 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. - Expressions may be combined using the following operators, + Expressions may be combined using the following operators, listed in decreasing order of precedence. !! _e_x_p_r 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. @@ -4487,109 +4498,109 @@ 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. If the - first argument is !!, the value is the negation of the - two-argument test using the second and third arguments. + using the first and third arguments as operands. 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. Otherwise, the expression is false. - The --aa and --oo operators are considered binary operators + is exactly )), the result is the one-argument test of the + second argument. Otherwise, the expression is false. + The --aa and --oo operators are considered binary operators in this case. 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 - 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 executed before every + 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 executed 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 eexxttgglloobb option to the sshhoopptt builtin for - details of its effect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is EERRRR, - the command _a_r_g is executed whenever a simple 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, + 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 EERRRR, + the command _a_r_g is executed whenever a simple 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 &&&& or |||| list, or - if the command's return value is being inverted via !!. These - are the same conditions obeyed by the eerrrreexxiitt option. If a + if the command's return value is being inverted via !!. These + are the same conditions obeyed by the eerrrreexxiitt option. If a _s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell function or a script executed with the .. or ssoouurrccee builtins fin- ishes executing. Signals ignored upon entry to the shell cannot - be trapped or reset. Trapped signals are reset to their origi- - nal values in a child process when it is created. The return - status is false if any _s_i_g_s_p_e_c is invalid; otherwise ttrraapp + be trapped or reset. Trapped signals are reset to their origi- + nal values in a child process when it 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 any of the arguments are found, false if none are found. uulliimmiitt [--SSHHaaccddffllmmnnppssttuuvv [_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 once - it is set; a soft limit may be increased up to the value of the - hard limit. If neither --HH nor --SS is specified, both the soft - and hard limits are set. The value of _l_i_m_i_t can be a number in + for the given resource. A hard limit cannot be increased once + it is set; a soft limit may be increased up to the value of the + hard limit. If neither --HH nor --SS is specified, both the soft + and hard limits are set. The value of _l_i_m_i_t can be a number in the unit specified for the resource or one of the special values - hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the current hard - limit, the current soft limit, and no limit, respectively. If - _l_i_m_i_t is omitted, the current value of the soft limit of the - resource is printed, unless the --HH option is given. When more - than one resource is specified, the limit name and unit are + hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the current hard + limit, the current soft limit, and no limit, respectively. If + _l_i_m_i_t is omitted, the current value of the soft limit of the + resource is printed, unless the --HH option is given. When more + than one resource is specified, the limit name and unit are printed before the value. Other options are interpreted as fol- lows: --aa All current limits are reported @@ -4603,63 +4614,63 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --pp The pipe size in 512-byte blocks (this may not be set) --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 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 --nn and --uu, which are unscaled values. The return status is - 0 unless an invalid option or argument is supplied, or an error + 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 --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 + refers to a shell variable. Read-only variables may not be unset. If --ff is specifed, each _n_a_m_e refers to a shell function, - and the function definition is removed. Each unset variable or - function is removed from the environment passed to subsequent + and the function definition is removed. Each unset variable or + function is removed from the environment passed to subsequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, - GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their special proper- - ties, even if they are subsequently reset. The exit status is + GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their special proper- + ties, even if they are subsequently reset. The exit status is true unless a _n_a_m_e is readonly. wwaaiitt [_n] - Wait for the specified process and return its termination sta- - tus. _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 processes + Wait for the specified process and return its termination sta- + tus. _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 processes are waited for, and the return status is zero. If _n specifies a - non-existent process or job, the return status is 127. Other- - wise, the return status is the exit status of the last process + non-existent process or job, the return status is 127. Other- + wise, 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 @@ -4668,28 +4679,28 @@ 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 >> redirec- + +o redirecting output using the >, >|, <>, >&, &>, and >> redirec- tion operators +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 @@ -4699,14 +4710,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) @@ -4722,7 +4733,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 @@ -4736,14 +4747,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: @@ -4754,7 +4765,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 @@ -4771,15 +4782,15 @@ 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 pro- + handled gracefully when process suspension is attempted. When a pro- cess is stopped, the shell immediately executes the next command in the sequence. It suffices to place the sequence of commands between paren- theses to force it into a subshell, which may be stopped as a unit. - Commands inside of $$((...)) command substitution are not parsed until - substitution is attempted. This will delay error reporting until some + Commands inside of $$((...)) command substitution are not parsed until + substitution is attempted. This will delay error reporting until some time after the command is entered. For example, unmatched parentheses, - even inside shell comments, will result in error messages while the + even inside shell comments, will result in error messages while the construct is being read. Array variables may not (yet) be exported. diff --git a/doc/bash.html b/doc/bash.html index c19bc7be9..706270dfa 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -1476,6 +1476,10 @@ Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, each parameter expands to a separate word. That is, "$@" is equivalent to "$1" "$2" ... +If the double-quoted expansion occurs within a word, the expansion of +the first parameter is joined with the beginning part of the original +word, and the expansion of the last parameter is joined with the last +part of the original word. When there are no positional parameters, "$@" and $@ @@ -1597,7 +1601,7 @@ The command argument to the -c invocation option.
An array variable whose members are the line numbers in source files -corresponding to each member of @var{FUNCNAME}. +corresponding to each member of FUNCNAME. ${BASH_LINENO[$i]} is the line number in the source file where ${FUNCNAME[$i + 1]} was called. The corresponding source file name is ${BASH_SOURCE[$i + 1]}. @@ -2625,7 +2629,12 @@ character of the special variable, and ${name[@]} expands each element of name to a separate word. When there are no array members, -${name[@]} expands to nothing. This is analogous to the expansion +${name[@]} expands to nothing. +If the double-quoted expansion occurs within a word, the expansion of +the first parameter is joined with the beginning part of the original +word, and the expansion of the last parameter is joined with the last +part of the original word. +This is analogous to the expansion of the special parameters * and @ (see Special Parameters @@ -4497,6 +4506,10 @@ If the file argument to one of the primaries is one of descriptor 0, 1, or 2, respectively, is checked.

+Unless otherwise specified, primaries that operate on files follow symbolic +links and operate on the target of the link, rather than the link itself. +

+

-a file @@ -7645,8 +7658,8 @@ For each name in the argument list for which no value is supplied, the name and value of the alias is printed. Alias returns true unless a name is given for which no alias has been defined. -
bg [jobspec]
-Resume the suspended job jobspec in the background, as if it +
bg [jobspec ...]
+Resume each suspended job jobspec in the background, as if it had been started with &. @@ -7657,8 +7670,8 @@ If jobspec is not present, the shell's notion of the jobspec returns 0 unless run when job control is disabled or, when run with -job control enabled, if jobspec was not found or started without -job control. +job control enabled, if the last jobspec was not found or was +started without job control.
bind [-m keymap] [-lpsvPSV]
bind [-m keymap] [-q function] [-u function] [-r keyseq]
@@ -10588,7 +10601,7 @@ command, and before the first command executes in a shell function (see above). -Refer to the description of the extglob option to the +Refer to the description of the extdebug option to the shopt builtin for details of its effect on the DEBUG trap. If a sigspec @@ -11354,6 +11367,6 @@ Array variables may not (yet) be exported.

This document was created by man2html from bash.1.
-Time: 19 July 2004 16:04:22 EDT +Time: 30 August 2004 08:27:20 EDT diff --git a/doc/bash.ps b/doc/bash.ps index f26862203..33df4405e 100644 --- a/doc/bash.ps +++ b/doc/bash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.18.1 -%%CreationDate: Mon Jul 19 16:03:47 2004 +%%CreationDate: Mon Aug 30 08:27:13 2004 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -1120,712 +1120,717 @@ F0 -.25(va)3.019 G 3.269(riable. If).25 F F2(IFS)3.268 E F0 .768 (ble quotes, each parameter e)144 249.6 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 .032 -(When there are no positional parameters, ")144 261.6 R F1($@)A F0 2.532 -("a)C(nd)-2.532 E F1($@)2.532 E F0 -.15(ex)2.532 G .032 -(pand to nothing \(i.e., the).15 F 2.532(ya)-.15 G .032(re remo)-2.532 F --.15(ve)-.15 G(d\).).15 E F1(#)108 273.6 Q F0 +($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 261.6 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 +273.6 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 285.6 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 297.6 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15 +(ve)-.15 G(d\).).15 E F1(#)108 309.6 Q F0 (Expands to the number of positional parameters in decimal.)31 E F1(?) -108 285.6 Q F0(Expands to the status of the most recently e)31 E -.15 -(xe)-.15 G(cuted fore).15 E(ground pipeline.)-.15 E F1108 297.6 Q F0 +108 321.6 Q F0(Expands to the status of the most recently e)31 E -.15 +(xe)-.15 G(cuted fore).15 E(ground pipeline.)-.15 E F1108 333.6 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.381 E F0 -.2(bu)3.381 G .881(iltin command, or).2 F(those set by the shell itself \(such as the) -144 309.6 Q F12.5 E F0(option\).)2.5 E F1($)108 321.6 Q F0 .214 +144 345.6 Q F12.5 E F0(option\).)2.5 E F1($)108 357.6 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 333.6 Q F1(!)108 345.6 Q F0 +(shell, not the subshell.)144 369.6 Q F1(!)108 381.6 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 357.6 Q F0 +(cuted background \(asynchronous\) command.).15 E F1(0)108 393.6 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 369.6 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577 +F0(is)4.191 E(in)144 405.6 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 F13.078 E F0 .369 -(option, then)144 381.6 R F1($0)2.869 E F0 .369 +(option, then)144 417.6 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.368 E -(-)-.2 E(wise, it is set to the \214le name used to in)144 393.6 Q -.2 +(-)-.2 E(wise, it is set to the \214le name used to in)144 429.6 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 405.6 Q F0 .1(At shell startup, set to the absolute \214le nam\ +F1(_)108 441.6 Q F0 .1(At shell startup, set to the absolute \214le nam\ e of the shell or shell script being e)31 F -.15(xe)-.15 G .1 -(cuted as passed in).15 F 1.706(the ar)144 417.6 R 1.706(gument list.) +(cuted as passed in).15 F 1.706(the ar)144 453.6 R 1.706(gument list.) -.18 F(Subsequently)6.706 E 4.206(,e)-.65 G 1.705(xpands to the last ar) -4.356 F 1.705(gument to the pre)-.18 F 1.705(vious command, after)-.25 -F -.15(ex)144 429.6 S 2.515(pansion. Also).15 F .016 +F -.15(ex)144 465.6 S 2.515(pansion. Also).15 F .016 (set to the full \214le name of each command e)2.515 F -.15(xe)-.15 G -.016(cuted and placed in the en).15 F(vironment)-.4 E -.15(ex)144 441.6 +.016(cuted and placed in the en).15 F(vironment)-.4 E -.15(ex)144 477.6 S 1.006(ported to that command.).15 F 1.006 (When checking mail, this parameter holds the name of the mail \214le) -6.006 F(currently being check)144 453.6 Q(ed.)-.1 E F1(Shell V)87 470.4 -Q(ariables)-.92 E F0(The follo)108 482.4 Q(wing v)-.25 E -(ariables are set by the shell:)-.25 E F1 -.3(BA)108 499.2 S(SH).3 E F0 +6.006 F(currently being check)144 489.6 Q(ed.)-.1 E F1(Shell V)87 506.4 +Q(ariables)-.92 E F0(The follo)108 518.4 Q(wing v)-.25 E +(ariables are set by the shell:)-.25 E F1 -.3(BA)108 535.2 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 511.2 -S(SH_ARGC).3 E F0 1.039(An array v)144 523.2 R 1.039(ariable whose v) +(ke t).2 H(his instance of).1 E F1(bash)2.5 E F0(.)A F1 -.3(BA)108 547.2 +S(SH_ARGC).3 E F0 1.039(An array v)144 559.2 R 1.039(ariable whose v) -.25 F 1.039 (alues are the number of parameters in each frame of the current bash) --.25 F -.15(exe)144 535.2 S .535(cution call stack.).15 F .535(The numb\ +-.25 F -.15(exe)144 571.2 S .535(cution call stack.).15 F .535(The numb\ er of parameters to the current subroutine \(shell function or script) -5.535 F -.15(exe)144 547.2 S .141(cuted with).15 F F1(.)2.641 E F0(or) +5.535 F -.15(exe)144 583.2 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(parameters passed is pushed onto)144 559.2 Q -F1 -.3(BA)2.5 G(SH_ARGC).3 E F0(.)A F1 -.3(BA)108 571.2 S(SH_ARGV).3 E -F0 1.092(An array v)144 583.2 R 1.091 +(cuted, the number of).15 F(parameters passed is pushed onto)144 595.2 Q +F1 -.3(BA)2.5 G(SH_ARGC).3 E F0(.)A F1 -.3(BA)108 607.2 S(SH_ARGV).3 E +F0 1.092(An array v)144 619.2 R 1.091 (ariable containing all of the parameters in the current bash e)-.25 F -.15(xe)-.15 G 1.091(cution call stack.).15 F(The)6.091 E .275(\214nal \ parameter of the last subroutine call is at the top of the stack; the \ -\214rst parameter of the initial)144 595.2 R 1.424 -(call is at the bottom.)144 607.2 R 1.424(When a subroutine is e)6.424 F +\214rst parameter of the initial)144 631.2 R 1.424 +(call is at the bottom.)144 643.2 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 619.2 S(SH_ARGV).3 E F0(.)A F1 -.3(BA)108 631.2 S -(SH_COMMAND).3 E F0 1.242(The command currently being e)144 643.2 R -.15 +F F1 -.3(BA)144 655.2 S(SH_ARGV).3 E F0(.)A F1 -.3(BA)108 667.2 S +(SH_COMMAND).3 E F0 1.242(The command currently being e)144 679.2 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 (command as the result of a trap, in which case it is the command e)144 -655.2 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA) -108 667.2 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 679.2 Q +691.2 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA) +108 703.2 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 715.2 Q (gument to the)-.18 E F12.5 E F0(in)2.5 E -.2(vo)-.4 G -(cation option.).2 E F1 -.3(BA)108 691.2 S(SH_LINENO).3 E F0 .034 -(An array v)144 703.2 R .034(ariable whose members are the line numbers\ - in source \214les corresponding to each mem-)-.25 F .53(ber of @v)144 -715.2 R(ar{FUNCN)-.25 E(AME}.)-.35 E F1(${B)5.53 E(ASH_LINENO[)-.3 E F3 -($i)A F1(]})A F0 .53(is the line number in the source \214le where)3.03 -F F1(${FUNCN)144 727.2 Q(AME[)-.2 E F3 8.951($i + 1)B F1(]})A F0 -.1(wa) -11.451 G 11.451(sc).1 G 11.451(alled. The)-11.451 F 8.951 -(corresponding source \214le name is)11.451 F(GNU Bash-3.0)72 768 Q -(2004 June 26)147.345 E(8)202.335 E 0 Cg EP +(cation option.).2 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(8) +202.335 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(${B)144 84 Q(ASH_SOURCE[)-.3 E/F2 10 -/Times-Italic@0 SF($i + 1)A F1 2.5(]}. Use)B(LINENO to obtain the curr) -2.5 E(ent line number)-.18 E(.)-1 E -.3(BA)108 96 S(SH_REMA).3 E(TCH) --.95 E F0 .005(An array v)144 108 R .005 +-.35 E/F1 10/Times-Bold@0 SF -.3(BA)108 84 S(SH_LINENO).3 E F0 .034 +(An array v)144 96 R .034(ariable whose members are the line numbers in\ + source \214les corresponding to each mem-)-.25 F 2.944(ber of)144 108 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 +120 Q(AME[)-.2 E F2 8.951($i + 1)B F1(]})A F0 -.1(wa)11.451 G 11.451(sc) +.1 G 11.451(alled. The)-11.451 F 8.951 +(corresponding source \214le name is)11.451 F F1(${B)144 132 Q +(ASH_SOURCE[)-.3 E F2($i + 1)A F1 2.5(]}. Use)B +(LINENO to obtain the curr)2.5 E(ent line number)-.18 E(.)-1 E -.3(BA) +108 144 S(SH_REMA).3 E(TCH)-.95 E F0 .005(An array v)144 156 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 120 R .007(element with inde)2.507 F 2.507 +2.506 F 2.507(mand. The)144 168 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 .006(gular e) --.15 F(xpression.)-.15 E .997(The element with inde)144 132 R(x)-.15 E +-.15 F(xpression.)-.15 E .997(The element with inde)144 180 R(x)-.15 E F2(n)3.497 E F0 .997(is the portion of the string matching the)3.497 F F2(n)3.498 E F0 .998(th parenthesized sube)B(xpres-)-.15 E 2.5 -(sion. This)144 144 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E -F1 -.3(BA)108 156 S(SH_SOURCE).3 E F0 .89(An array v)144 168 R .889(ari\ +(sion. This)144 192 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E +F1 -.3(BA)108 204 S(SH_SOURCE).3 E F0 .89(An array v)144 216 R .889(ari\ able whose members are the source \214lenames corresponding to the elem\ -ents in the)-.25 F F1(FUNCN)144 180 Q(AME)-.2 E F0(array v)2.5 E -(ariable.)-.25 E F1 -.3(BA)108 192 S(SH_SUBSHELL).3 E F0 .401 -(Incremented by one each time a subshell or subshell en)144 204 R .401 +ents in the)-.25 F F1(FUNCN)144 228 Q(AME)-.2 E F0(array v)2.5 E +(ariable.)-.25 E F1 -.3(BA)108 240 S(SH_SUBSHELL).3 E F0 .401 +(Incremented by one each time a subshell or subshell en)144 252 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 216 Q F1 -.3(BA)108 228 S(SH_VERSINFO).3 E F0 -2.645(Ar)144 240 S .145(eadonly array v)-2.645 F .144 +.402(alue is)-.25 F(0.)144 264 Q F1 -.3(BA)108 276 S(SH_VERSINFO).3 E F0 +2.645(Ar)144 288 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.644 E F0 5.144 -(.T)C(he)-5.144 E -.25(va)144 252 S +(.T)C(he)-5.144 E -.25(va)144 300 S (lues assigned to the array members are as follo).25 E(ws:)-.25 E F1 -.3 -(BA)144 270 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E +(BA)144 318 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 282 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E +(BA)144 330 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 294 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 306 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 318 S +144 342 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 354 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 366 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 330 S(SH_VERSINFO[).3 E F0(5)A F1 +F2(beta1)2.5 E F0(\).)A F1 -.3(BA)144 378 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 346.8 S(SH_VERSION).3 E F0 -(Expands to a string describing the v)144 358.8 Q +-.3(BA)108 394.8 S(SH_VERSION).3 E F0 +(Expands to a string describing the v)144 406.8 Q (ersion of this instance of)-.15 E F1(bash)2.5 E F0(.)A F1(COMP_CW)108 -375.6 Q(ORD)-.1 E F0 .396(An inde)144 387.6 R 2.896(xi)-.15 G(nto)-2.896 +423.6 Q(ORD)-.1 E F0 .396(An inde)144 435.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 .397(This v)5.397 F -(ari-)-.25 E 1.181(able is a)144 399.6 R -.25(va)-.2 G 1.181 +(ari-)-.25 E 1.181(able is a)144 447.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.18(he programmable completion f)-3.681 F -1.18(acilities \(see)-.1 F F1(Pr)144 411.6 Q(ogrammable Completion)-.18 -E F0(belo)2.5 E(w\).)-.25 E F1(COMP_LINE)108 428.4 Q F0 1.207 -(The current command line.)144 440.4 R 1.208(This v)6.208 F 1.208 +1.18(acilities \(see)-.1 F F1(Pr)144 459.6 Q(ogrammable Completion)-.18 +E F0(belo)2.5 E(w\).)-.25 E F1(COMP_LINE)108 476.4 Q F0 1.207 +(The current command line.)144 488.4 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.208(xternal com-)-.15 F -2.849(mands in)144 452.4 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349 +2.849(mands in)144 500.4 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.848(ogrammable Completion)-.18 F -F0(belo)144 464.4 Q(w\).)-.25 E F1(COMP_POINT)108 481.2 Q F0 .666 -(The inde)144 493.2 R 3.166(xo)-.15 G 3.166(ft)-3.166 G .666 +F0(belo)144 512.4 Q(w\).)-.25 E F1(COMP_POINT)108 529.2 Q F0 .666 +(The inde)144 541.2 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 -505.2 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F1 -(${#COMP_LINE})144 517.2 Q F0 7.005(.T)C 2.005(his v)-7.005 F 2.005 +553.2 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F1 +(${#COMP_LINE})144 565.2 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(in)144 529.2 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G +F(in)144 577.2 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_W)108 -546 Q(ORDBREAKS)-.1 E F0 1.284 -(The set of characters that the Readline library treats as w)144 558 R +594 Q(ORDBREAKS)-.1 E F0 1.284 +(The set of characters that the Readline library treats as w)144 606 R 1.283(ord separators when performing w)-.1 F(ord)-.1 E 3.125 -(completion. If)144 570 R/F3 9/Times-Bold@0 SF(COMP_W)3.125 E(ORDBREAKS) +(completion. If)144 618 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 582 Q F1(COMP_W)108 598.8 Q -(ORDS)-.1 E F0 .654(An array v)144 610.8 R .654(ariable \(see)-.25 F F1 +-3.126 G(ubse-)-3.126 E(quently reset.)144 630 Q F1(COMP_W)108 646.8 Q +(ORDS)-.1 E F0 .654(An array v)144 658.8 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.477 -(line. This)144 622.8 R -.25(va)3.477 G .977(riable is a).25 F -.25(va) +(line. This)144 670.8 R -.25(va)3.477 G .977(riable is a).25 F -.25(va) -.2 G .978(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke) .2 G 3.478(db).1 G 3.478(yt)-3.478 G .978(he programmable completion) --3.478 F -.1(fa)144 634.8 S(cilities \(see).1 E F1(Pr)2.5 E +-3.478 F -.1(fa)144 682.8 S(cilities \(see).1 E F1(Pr)2.5 E (ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(DIRST)108 -651.6 Q -.55(AC)-.9 G(K).55 E F0 2.26(An array v)144 663.6 R 2.26 +699.6 Q -.55(AC)-.9 G(K).55 E F0 2.26(An array v)144 711.6 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.094(Directories appear in the stack in the order the)144 675.6 R 3.594 +1.094(Directories appear in the stack in the order the)144 723.6 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 687.6 R 1.432 -(ariable may be used to modify directories already in the stack, b)-.25 -F 1.431(ut the)-.2 F F1(pushd)144 699.6 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 .351(will not change the current directory)144 711.6 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.85 -(ni).15 G(f)-2.85 E(it is subsequently reset.)144 723.6 Q(GNU Bash-3.0) -72 768 Q(2004 June 26)147.345 E(9)202.335 E 0 Cg EP +3.595 G 3.595(iltin. Assigning).2 F(to)3.595 E(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(9)202.335 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(EUID)108 84 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 96 Q(.)-.65 E F1 -(FUNCN)108 112.8 Q(AME)-.2 E F0 .479(An array v)144 124.8 R .479 +-.35 E 1.432(members of this array v)144 84 R 1.432 +(ariable may be used to modify directories already in the stack, b)-.25 +F 1.431(ut the)-.2 F/F1 10/Times-Bold@0 SF(pushd)144 96 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 .351 +(will not change the current directory)144 108 R 5.35(.I)-.65 G(f)-5.35 +E/F2 9/Times-Bold@0 SF(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.85 +(ni).15 G(f)-2.85 E(it is subsequently reset.)144 120 Q F1(EUID)108 +136.8 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 148.8 Q(.)-.65 E F1(FUNCN)108 165.6 Q +(AME)-.2 E F0 .479(An array v)144 177.6 R .479 (ariable containing the names of all shell functions currently in the e) -.25 F -.15(xe)-.15 G .478(cution call stack.).15 F .276 -(The element with inde)144 136.8 R 2.776(x0i)-.15 G 2.776(st)-2.776 G +(The element with inde)144 189.6 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 -.81(element is "main".)144 148.8 R .81(This v)5.81 F .81(ariable e)-.25 +.81(element is "main".)144 201.6 R .81(This v)5.81 F .81(ariable e)-.25 F .81(xists only when a shell function is e)-.15 F -.15(xe)-.15 G 3.31 -(cuting. Assignments).15 F(to)3.31 E/F2 9/Times-Bold@0 SF(FUNCN)144 -160.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 -F2(FUNCN)2.885 E(AME)-.18 E F0 .385(is unset, it loses its special)2.635 -F(properties, e)144 172.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 189.6 Q -(OUPS)-.3 E F0 1.229(An array v)144 201.6 R 1.228(ariable containing th\ -e 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 213.6 R F2(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 F2(GR)3.097 E -(OUPS)-.27 E F0 .597(is unset, it loses its spe-)2.847 F -(cial properties, e)144 225.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 -242.4 Q F0 .356(The history number)144 254.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 +(cuting. Assignments).15 F(to)3.31 E F2(FUNCN)144 213.6 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 F2(FUNCN)2.885 E(AME) +-.18 E F0 .385(is unset, it loses its special)2.635 F(properties, e)144 +225.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 242.4 Q(OUPS)-.3 E F0 1.229 +(An array v)144 254.4 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 266.4 R F2(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 F2(GR)3.097 E(OUPS) +-.27 E F0 .597(is unset, it loses its spe-)2.847 F(cial properties, e) +144 278.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 295.2 Q F0 .356 +(The history number)144 307.2 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 F2 (HISTCMD)2.855 E F0 .355(is unset, it)2.605 F -(loses its special properties, e)144 266.4 Q -.15(ve)-.25 G 2.5(ni).15 G +(loses its special properties, e)144 319.2 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 283.2 Q(AME)-.2 E F0 -(Automatically set to the name of the current host.)144 295.2 Q F1 -(HOSTTYPE)108 312 Q F0 .222(Automatically set to a string that uniquely\ - describes the type of machine on which)144 324 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 336 R(def) -2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 352.8 Q F0 1.408(Ea\ -ch time this parameter is referenced, the shell substitutes a decimal n\ -umber representing the)144 364.8 R .078(current sequential line number \ -\(starting with 1\) within a script or function.)144 376.8 R .079 -(When not in a script or)5.078 F .307(function, the v)144 388.8 R .307 -(alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.306 E -F2(LINENO)2.806 E F0 .306(is unset, it loses its)2.556 F -(special properties, e)144 400.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi) +(HOSTN)108 336 Q(AME)-.2 E F0 +(Automatically set to the name of the current host.)144 348 Q F1 +(HOSTTYPE)108 364.8 Q F0 .222(Automatically set to a string that unique\ +ly describes the type of machine on which)144 376.8 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 388.8 R +(def)2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 405.6 Q F0 +1.408(Each time this parameter is referenced, the shell substitutes a d\ +ecimal number representing the)144 417.6 R .078(current sequential line\ + number \(starting with 1\) within a script or function.)144 429.6 R +.079(When not in a script or)5.078 F .307(function, the v)144 441.6 R +.307(alue substituted is not guaranteed to be meaningful.)-.25 F(If) +5.306 E F2(LINENO)2.806 E F0 .306(is unset, it loses its)2.556 F +(special properties, e)144 453.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(MA)108 -417.6 Q(CHTYPE)-.55 E F0 .898(Automatically set to a string that fully \ -describes the system type on which)144 429.6 R F1(bash)3.398 E F0 .899 +470.4 Q(CHTYPE)-.55 E F0 .898(Automatically set to a string that fully \ +describes the system type on which)144 482.4 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 -441.6 Q/F3 10/Times-Italic@0 SF(cpu-company-system)2.5 E F0 2.5 +494.4 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 458.4 Q F0(The pre)144 470.4 Q(vious w)-.25 E +108 511.2 Q F0(The pre)144 523.2 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 487.2 Q(ARG)-.9 E F0 1.627(The v)144 499.2 R 1.627 +(OPT)108 540 Q(ARG)-.9 E F0 1.627(The v)144 552 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 F2 -(SHELL)4.126 E -.09(BU)144 511.2 S(IL).09 E(TIN COMMANDS)-.828 E F0 -(belo)2.25 E(w\).)-.25 E F1(OPTIND)108 528 Q F0 1.651(The inde)144 540 R +(SHELL)4.126 E -.09(BU)144 564 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo) +2.25 E(w\).)-.25 E F1(OPTIND)108 580.8 Q F0 1.651(The inde)144 592.8 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 F2(SHELL)4.152 E -.09(BU)144 -552 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 -(OSTYPE)108 568.8 Q F0 .329(Automatically set to a string that describe\ -s the operating system on which)144 580.8 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 592.8 Q -(ault is system-dependent.)-.1 E F1(PIPEST)108 609.6 Q -.95(AT)-.9 G(US) -.95 E F0 .61(An array v)144 621.6 R .61(ariable \(see)-.25 F F1(Arrays) +604.8 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 +(OSTYPE)108 621.6 Q F0 .329(Automatically set to a string that describe\ +s the operating system on which)144 633.6 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 645.6 Q +(ault is system-dependent.)-.1 E F1(PIPEST)108 662.4 Q -.95(AT)-.9 G(US) +.95 E F0 .61(An array v)144 674.4 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 633.6 Q -.15(xe)-.15 G(cuted fore).15 E +(the most-recently-e)144 686.4 Q -.15(xe)-.15 G(cuted fore).15 E (ground pipeline \(which may contain only a single command\).)-.15 E F1 -(PPID)108 650.4 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G +(PPID)108 703.2 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 667.2 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 684 Q F0 .566 -(Each time this parameter is referenced, a random inte)144 696 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 708 -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 720 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-3.0)72 768 Q(2004 June 26)147.345 E(10)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(10)197.335 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/F1 10/Times-Bold@0 SF(REPL)108 84 Q(Y)-.92 E F0 -(Set to the line of input read by the)144 96 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 112.8 Q F0 .795(Each time this parameter is referenced\ -, the number of seconds since shell in)144 124.8 R -.2(vo)-.4 G .795 -(cation is returned.).2 F .712(If a v)144 136.8 R .712 -(alue is assigned to)-.25 F/F2 9/Times-Bold@0 SF(SECONDS)3.212 E/F3 9 -/Times-Roman@0 SF(,)A F0 .712(the v)2.962 F .712 +-.35 E/F1 10/Times-Bold@0 SF(PWD)108 84 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 100.8 Q F0 .566 +(Each time this parameter is referenced, a random inte)144 112.8 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 +124.8 R .01(alue to)-.25 F/F2 9/Times-Bold@0 SF(RANDOM)2.51 E/F3 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 136.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(REPL)108 153.6 Q(Y)-.92 E F0 +(Set to the line of input read by the)144 165.6 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 182.4 Q F0 .795(Each time \ +this parameter is referenced, the number of seconds since shell in)144 +194.4 R -.2(vo)-.4 G .795(cation is returned.).2 F .712(If a v)144 206.4 +R .712(alue is assigned to)-.25 F F2(SECONDS)3.212 E F3(,)A F0 .712 +(the v)2.962 F .712 (alue returned upon subsequent references is the number)-.25 F .408 -(of seconds since the assignment plus the v)144 148.8 R .408 +(of seconds since the assignment plus the v)144 218.4 R .408 (alue assigned.)-.25 F(If)5.408 E F2(SECONDS)2.908 E F0 .407 -(is unset, it loses its special)2.658 F(properties, e)144 160.8 Q -.15 +(is unset, it loses its special)2.658 F(properties, e)144 230.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(SHELLOPTS)108 177.6 Q F0 3.262(Ac)144 -189.6 S .763(olon-separated list of enabled shell options.)-3.262 F .763 +(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 247.2 Q F0 3.262(Ac)144 +259.2 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 F1144 201.6 Q F0 1.174(option to the) +.763(gument for the)-.18 F F1144 271.2 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 F2 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 -213.6 R F2(SHELLOPTS)2.519 E F0 .019(are those reported as)2.269 F/F4 10 +283.2 R F2(SHELLOPTS)2.519 E F0 .019(are those reported as)2.269 F/F4 10 /Times-Italic@0 SF(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 225.6 Q F1(bash) +(ariable is in the en)-.25 F(vironment)-.4 E(when)144 295.2 Q F1(bash) 3.142 E F0 .642(starts up, each shell option in the list will be enable\ d before reading an)3.142 F 3.141(ys)-.15 G .641(tartup \214les.)-3.141 -F(This v)144 237.6 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 -254.4 Q(VL)-.92 E F0(Incremented by one each time an instance of)144 -266.4 Q F1(bash)2.5 E F0(is started.)2.5 E F1(UID)108 283.2 Q F0 +F(This v)144 307.2 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 324 +Q(VL)-.92 E F0(Incremented by one each time an instance of)144 336 Q F1 +(bash)2.5 E F0(is started.)2.5 E F1(UID)108 352.8 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 .993(The follo)108 300 R .993(wing v)-.25 F .994 +E(.)-.65 E .993(The follo)108 369.6 R .993(wing v)-.25 F .994 (ariables are used by the shell.)-.25 F .994(In some cases,)5.994 F F1 (bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .994 -(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 312 Q --.65(w.)-.25 G F1 -.3(BA)108 328.8 S(SH_ENV).3 E F0 .506 -(If this parameter is set when)144 340.8 R F1(bash)3.006 E F0 .506(is e) +(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 381.6 +Q -.65(w.)-.25 G F1 -.3(BA)108 398.4 S(SH_ENV).3 E F0 .506 +(If this parameter is set when)144 410.4 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 352.8 R F4 +(containing commands to initialize the shell, as in)144 422.4 R F4 (~/.bashr)2.855 E(c)-.37 E F0 5.355(.T).31 G .355(he v)-5.355 F .355 (alue of)-.25 F F2 -.27(BA)2.855 G(SH_ENV).27 E F0 .355(is subjected) -2.605 F .525(to parameter e)144 364.8 R .525 +2.605 F .525(to parameter e)144 434.4 R .525 (xpansion, command substitution, and arithmetic e)-.15 F .525 -(xpansion before being interpreted)-.15 F(as a \214le name.)144 376.8 Q +(xpansion before being interpreted)-.15 F(as a \214le name.)144 446.4 Q F2 -.666(PA)5 G(TH)-.189 E F0 (is not used to search for the resultant \214le name.)2.25 E F1(CDP)108 -388.8 Q -.95(AT)-.74 G(H).95 E F0 1.247(The search path for the)144 -400.8 R F1(cd)3.747 E F0 3.747(command. This)3.747 F 1.248 +458.4 Q -.95(AT)-.74 G(H).95 E F0 1.247(The search path for the)144 +470.4 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 412.8 R +(shell looks for destination directories speci\214ed by the)144 482.4 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/F5 10/Courier@0 SF(".:~:/usr")144 424.8 Q F0(.)A F1 -(COLUMNS)108 436.8 Q F0 .425(Used by the)144 448.8 R F1(select)2.925 E +(alue is)-.25 F/F5 10/Courier@0 SF(".:~:/usr")144 494.4 Q F0(.)A F1 +(COLUMNS)108 506.4 Q F0 .425(Used by the)144 518.4 R F1(select)2.925 E F0 -.2(bu)2.925 G .425(iltin command to determine the terminal width wh\ en printing selection lists.).2 F -(Automatically set upon receipt of a SIGWINCH.)144 460.8 Q F1(COMPREPL) -108 472.8 Q(Y)-.92 E F0 .848(An array v)144 484.8 R .848 +(Automatically set upon receipt of a SIGWINCH.)144 530.4 Q F1(COMPREPL) +108 542.4 Q(Y)-.92 E F0 .848(An array v)144 554.4 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 496.8 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G +(in)144 566.4 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 508.8 -Q(CS)-.55 E F0(If)144 520.8 Q F1(bash)2.535 E F0 .035(\214nds this v) +(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 578.4 +Q(CS)-.55 E F0(If)144 590.4 Q F1(bash)2.535 E F0 .035(\214nds this v) 2.535 F .035(ariable in the en)-.25 F .036 (vironment when the shell starts with v)-.4 F(alue)-.25 E F5(t)2.536 E F0 2.536(,i)C 2.536(ta)-2.536 G .036(ssumes that the)-2.536 F -(shell is running in an emacs shell b)144 532.8 Q(uf)-.2 E -(fer and disables line editing.)-.25 E F1(FCEDIT)108 544.8 Q F0(The def) -144 556.8 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 568.8 Q F0 2.599(Ac)144 580.8 S .098 +(shell is running in an emacs shell b)144 602.4 Q(uf)-.2 E +(fer and disables line editing.)-.25 E F1(FCEDIT)108 614.4 Q F0(The def) +144 626.4 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 638.4 Q F0 2.599(Ac)144 650.4 S .098 (olon-separated list of suf)-2.599 F<8c78>-.25 E .098 (es to ignore when performing \214lename completion \(see)-.15 F F2 -(READLINE)2.598 E F0(belo)144 592.8 Q 2.704(w\). A)-.25 F .204 +(READLINE)2.598 E F0(belo)144 662.4 Q 2.704(w\). A)-.25 F .204 (\214lename whose suf)2.704 F .205(\214x matches one of the entries in) -.25 F F2(FIGNORE)2.705 E F0 .205(is e)2.455 F .205 -(xcluded from the list)-.15 F(of matched \214lenames.)144 604.8 Q 2.5 +(xcluded from the list)-.15 F(of matched \214lenames.)144 674.4 Q 2.5 (As)5 G(ample v)-2.5 E(alue is)-.25 E F5(".o:~")2.5 E F0(.)A F1 -(GLOBIGNORE)108 616.8 Q F0 3.118(Ac)144 628.8 S .618(olon-separated lis\ +(GLOBIGNORE)108 686.4 Q F0 3.118(Ac)144 698.4 S .618(olon-separated lis\ t of patterns de\214ning the set of \214lenames to be ignored by pathna\ -me e)-3.118 F(xpan-)-.15 E 3.131(sion. If)144 640.8 R 3.132<618c>3.131 G +me e)-3.118 F(xpan-)-.15 E 3.131(sion. If)144 710.4 R 3.132<618c>3.131 G .632(lename matched by a pathname e)-3.132 F .632 (xpansion pattern also matches one of the patterns in)-.15 F F2 -(GLOBIGNORE)144 652.8 Q F3(,)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 664.8 Q(OL) --.3 E F0 2.654(Ac)144 676.8 S .153(olon-separated list of v)-2.654 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 688.8 R -.49(alues includes)-.25 F F4(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 700.8 R 3.058(Av) -5.558 G .558(alue of)-3.308 F F4(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 712.8 S .458(alue of)-3.208 F F4(ignor)2.968 E(eboth)-.37 E F0 -.458(is shorthand for)3.238 F F4(ignor)2.959 E(espace)-.37 E F0(and) -2.959 E F4(ignor)2.959 E(edups)-.37 E F0 5.459(.A)C -.25(va)-2.5 G .459 -(lue of).25 F F4(er)2.959 E(asedups)-.15 E F0(causes)2.959 E .699 -(all pre)144 724.8 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 -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(11)197.335 E 0 Cg EP +(GLOBIGNORE)144 722.4 Q F3(,)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(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(11)197.335 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(sa)144 84 Q -.15(ve)-.2 G 4.296(d. An).15 F 4.296(yv)-.15 G 1.797 +-.35 E/F1 10/Times-Bold@0 SF(HISTCONTR)108 84 Q(OL)-.3 E F0 2.654(Ac)144 +96 S .153(olon-separated list of v)-2.654 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 108 R .49(alues includes)-.25 F/F2 10 +/Times-Italic@0 SF(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 120 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 132 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 144 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 156 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 10/Times-Bold@0 SF(HISTCONTR)4.297 -E(OL)-.3 E F0 1.797(is unset, or does not)4.297 F .613(include a v)144 -96 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 108 S .985(lue of).25 F F1(HISTIGNORE)3.485 E F0 -5.986(.T)C .986 +(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 168 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 180 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 120 Q -.05(ga)-.15 +F(are not tested, and are added to the history re)144 192 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 132 Q F0 .181 -(The name of the \214le in which command history is sa)144 144 R -.15 -(ve)-.2 G 2.681(d\().15 G(see)-2.681 E/F2 9/Times-Bold@0 SF(HIST)2.681 E +A F1(HISTFILE)108 204 Q F0 .181 +(The name of the \214le in which command history is sa)144 216 R -.15 +(ve)-.2 G 2.681(d\().15 G(see)-2.681 E/F3 9/Times-Bold@0 SF(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 156 Q/F3 10/Times-Italic@0 SF -(~/.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 168 Q F0 1.622 -(The maximum number of lines contained in the history \214le.)144 180 R +.181(ault v)-.1 F(alue)-.25 E(is)144 228 Q F2(~/.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 240 Q F0 1.622 +(The maximum number of lines contained in the history \214le.)144 252 R 1.623(When this v)6.623 F 1.623(ariable is assigned a)-.25 F -.25(va)144 -192 S .311(lue, the history \214le is truncated, if necessary).25 F +264 S .311(lue, the history \214le is truncated, if necessary).25 F 2.811(,t)-.65 G 2.811(oc)-2.811 G .311 (ontain no more than that number of lines.)-2.811 F(The)5.311 E(def)144 -204 Q .386(ault v)-.1 F .386(alue is 500.)-.25 F .387(The history \214l\ +276 Q .386(ault v)-.1 F .386(alue is 500.)-.25 F .387(The history \214l\ e is also truncated to this size after writing it when an interac-)5.386 -F(ti)144 216 Q .3 -.15(ve s)-.25 H(hell e).15 E(xits.)-.15 E F1 -(HISTIGNORE)108 228 Q F0 2.658(Ac)144 240 S .158(olon-separated list of\ +F(ti)144 288 Q .3 -.15(ve s)-.25 H(hell e).15 E(xits.)-.15 E F1 +(HISTIGNORE)108 300 Q F0 2.658(Ac)144 312 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 252 R .707(Each pattern is anchored at the be)5.707 F +(tory list.)144 324 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 264 R F1(*)A F0 3.126('i)C 3.126(sa)-3.126 G 3.126 +(\(no implicit `)144 336 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 -276 Q(OL)-.3 E F0 1.154(are applied.)3.654 F 1.154 +348 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 288 R 2.515(vious history line.) +F1(&)A F0(')A 2.515(matches the pre)144 360 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 300 +(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 372 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 312 Q -.05 +(command are not tested, and are added to the history re)144 384 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 324 Q F0 1.942 -(The number of commands to remember in the command history \(see)144 336 -R F2(HIST)4.442 E(OR)-.162 E(Y)-.315 E F0(belo)4.192 E 4.442(w\). The) --.25 F(def)144 348 Q(ault v)-.1 E(alue is 500.)-.25 E F1(HISTTIMEFORMA) -108 360 Q(T)-.95 E F0 .951(If this v)144 372 R .951 +(.)A F1(HISTSIZE)108 396 Q F0 1.942 +(The number of commands to remember in the command history \(see)144 408 +R F3(HIST)4.442 E(OR)-.162 E(Y)-.315 E F0(belo)4.192 E 4.442(w\). The) +-.25 F(def)144 420 Q(ault v)-.1 E(alue is 500.)-.25 E F1(HISTTIMEFORMA) +108 432 Q(T)-.95 E F0 .951(If this v)144 444 R .951 (ariable is set and not null, its v)-.25 F .952 -(alue is used as a format string for)-.25 F F3(strftime)3.452 E F0 .952 +(alue is used as a format string for)-.25 F F2(strftime)3.452 E F0 .952 (\(3\) to print the)B .673 -(time stamp associated with each history entry displayed by the)144 384 +(time stamp associated with each history entry displayed by the)144 456 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 -(set, time stamps are written to the history \214le so the)144 396 Q 2.5 +(set, time stamps are written to the history \214le so the)144 468 Q 2.5 (ym)-.15 G(ay be preserv)-2.5 E(ed across shell sessions.)-.15 E F1 -(HOME)108 408 Q F0 1.27(The home directory of the current user; the def) -144 420 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 432 S +(HOME)108 480 Q F0 1.27(The home directory of the current user; the def) +144 492 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 504 S (lue of this v).25 E(ariable is also used when performing tilde e)-.25 E -(xpansion.)-.15 E F1(HOSTFILE)108 444 Q F0 1.015 -(Contains the name of a \214le in the same format as)144 456 R F3 +(xpansion.)-.15 E F1(HOSTFILE)108 516 Q F0 1.015 +(Contains the name of a \214le in the same format as)144 528 R F2 (/etc/hosts)5.181 E F0 1.015(that should be read when the shell)5.181 F -.55(needs to complete a hostname.)144 468 R .551 +.55(needs to complete a hostname.)144 540 R .551 (The list of possible hostname completions may be changed while)5.551 F -1.059(the shell is running; the ne)144 480 R 1.059 +1.059(the shell is running; the ne)144 552 R 1.059 (xt time hostname completion is attempted after the v)-.15 F 1.058 -(alue is changed,)-.25 F F1(bash)144 492 Q F0 .715 +(alue is changed,)-.25 F F1(bash)144 564 Q F0 .715 (adds the contents of the ne)3.215 F 3.215<778c>-.25 G .715(le to the e) --3.215 F .715(xisting list.)-.15 F(If)5.716 E F2(HOSTFILE)3.216 E F0 +-3.215 F .715(xisting list.)-.15 F(If)5.716 E F3(HOSTFILE)3.216 E F0 .716(is set, b)2.966 F .716(ut has no v)-.2 F(alue,)-.25 E F1(bash)144 -504 Q F0 2.236(attempts to read)4.736 F F3(/etc/hosts)6.401 E F0 2.235 +576 Q F0 2.236(attempts to read)4.736 F F2(/etc/hosts)6.401 E F0 2.235 (to obtain the list of possible hostname completions.)6.401 F(When)7.235 -E F2(HOSTFILE)144 516 Q F0(is unset, the hostname list is cleared.)2.25 -E F1(IFS)108 528 Q F0(The)20.44 E F3 .555(Internal F)3.635 F .555 +E F3(HOSTFILE)144 588 Q F0(is unset, the hostname list is cleared.)2.25 +E F1(IFS)108 600 Q F0(The)20.44 E F2 .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 540 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2 +F -.1(wo)144 612 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2 (bu)2.5 G(iltin command.).2 E(The def)5 E(ault v)-.1 E(alue is `)-.25 E -(`')-.25 E('.)-.74 E F1(IGNOREEOF)108 552 Q -F0 .503(Controls the action of an interacti)144 564 R .803 -.15(ve s) --.25 H .503(hell on receipt of an).15 F F2(EOF)3.003 E F0 .503 +(`')-.25 E('.)-.74 E F1(IGNOREEOF)108 624 Q +F0 .503(Controls the action of an interacti)144 636 R .803 -.15(ve s) +-.25 H .503(hell on receipt of an).15 F F3(EOF)3.003 E F0 .503 (character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v) -144 576 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2 +144 648 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F3 (EOF)3.076 E F0 .426 (characters which must be typed as the \214rst characters)2.676 F .303 -(on an input line before)144 588 R F1(bash)2.802 E F0 -.15(ex)2.802 G +(on an input line before)144 660 R F1(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 .302(alue, or has)-.25 F(no v)144 600 Q(alue, the def) +(umeric v).15 F .302(alue, or has)-.25 F(no v)144 672 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 612 Q F0 1.435(The \214lename for the)144 624 R F1 -.18(re) +F3(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F1 +(INPUTRC)108 684 Q F0 1.435(The \214lename for the)144 696 R F1 -.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.602 E F2(READLINE)3.936 E F0(belo)144 636 Q(w\).)-.25 -E F1(LANG)108 648 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 660 Q F1(LC_)2.5 E F0(.)A F1(LC_ALL)108 672 Q F0 .764 -(This v)144 684 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 696 Q(.)-.65 E -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(12)197.335 E 0 Cg EP +1.436(rriding the def).15 F 1.436(ault of)-.1 F F2(~/.inputr)5.602 E(c) +-.37 E F0(\(see)5.602 E F3(READLINE)3.936 E F0(belo)144 708 Q(w\).)-.25 +E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(12)197.335 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(LC_COLLA)108 84 Q(TE)-.95 E F0 .412(This v) -144 96 R .412(ariable determines the collation order used when sorting \ -the results of pathname e)-.25 F(xpansion,)-.15 E 1.464 -(and determines the beha)144 108 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 120 -Q(xpansion and pattern matching.)-.15 E F1(LC_CTYPE)108 132 Q F0 1.936 -(This v)144 144 R 1.936 +-.35 E/F1 10/Times-Bold@0 SF(LANG)108 84 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 96 Q F1(LC_)2.5 E F0(.)A F1 +(LC_ALL)108 108 Q F0 .764(This v)144 120 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 132 +Q(.)-.65 E F1(LC_COLLA)108 144 Q(TE)-.95 E F0 .412(This v)144 156 R .412 +(ariable determines the collation order used when sorting the results o\ +f pathname e)-.25 F(xpansion,)-.15 E 1.464(and determines the beha)144 +168 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 180 Q(xpansion and pattern matching.)-.15 E F1 +(LC_CTYPE)108 192 Q F0 1.936(This v)144 204 R 1.936 (ariable determines the interpretation of characters and the beha)-.25 F -1.935(vior of character classes)-.2 F(within pathname e)144 156 Q -(xpansion and pattern matching.)-.15 E F1(LC_MESSA)108 168 Q(GES)-.55 E -F0(This v)144 180 Q(ariable determines the locale used to translate dou\ +1.935(vior of character classes)-.2 F(within pathname e)144 216 Q +(xpansion and pattern matching.)-.15 E F1(LC_MESSA)108 228 Q(GES)-.55 E +F0(This v)144 240 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 192 Q F0(This v)144 204 Q(ariable determines the locale cate)-.25 E -(gory used for number formatting.)-.15 E F1(LINES)108 216 Q F0 1.218 +108 252 Q F0(This v)144 264 Q(ariable determines the locale cate)-.25 E +(gory used for number formatting.)-.15 E F1(LINES)108 276 Q F0 1.218 (Used by the)5.99 F F1(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 228 Q F1(MAIL)108 240 +(Automatically set upon receipt of a SIGWINCH.)144 288 Q F1(MAIL)108 300 Q F0 .188(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.437 G .187(riable is not set,).25 F F1(bash)2.687 E F0 .187 -(informs the user)2.687 F(of the arri)144 252 Q -.25(va)-.25 G 2.5(lo) +(informs the user)2.687 F(of the arri)144 312 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 264 Q F0 .098(Speci\214es ho)144 276 R 2.598(wo)-.25 G .098 +108 324 Q F0 .098(Speci\214es ho)144 336 R 2.598(wo)-.25 G .098 (ften \(in seconds\))-2.598 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 .099 (When it is time)5.099 F .224(to check for mail, the shell does so befo\ -re displaying the primary prompt.)144 288 R .223(If this v)5.223 F .223 -(ariable is unset,)-.25 F .066(or set to a v)144 300 R .066(alue that i\ +re displaying the primary prompt.)144 348 R .223(If this v)5.223 F .223 +(ariable is unset,)-.25 F .066(or set to a v)144 360 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 312 Q -.95(AT)-.74 G(H).95 E F0 2.815(Ac) -144 324 S .314(olon-separated list of \214le names to be check)-2.815 F +hecking.)-.25 F F1(MAILP)108 372 Q -.95(AT)-.74 G(H).95 E F0 2.815(Ac) +144 384 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 336 Q -.15(ve)-.25 G 3.42(si).15 G 3.42(nap)-3.42 G .92(artic\ +(arri)144 396 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.808(`?'. When)144 348 R .308(used in the te) +essage with a)-3.42 F 2.808(`?'. When)144 408 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 360 Q F1(MAILP)144 372 Q -.95(AT)-.74 G(H).95 E F0(='/v)A +(ple:)144 420 Q F1(MAILP)144 432 Q -.95(AT)-.74 G(H).95 E F0(='/v)A (ar/mail/bfox?"Y)-.25 E(ou ha)-1.1 E .3 -.15(ve m)-.2 H -(ail":~/shell\255mail?"$_ has mail!"').15 E F1(Bash)144 384 Q F0 .388 +(ail":~/shell\255mail?"$_ has mail!"').15 E F1(Bash)144 444 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 396 Q(ar/mail/)-.25 E F1($USER)A F0 -(\).)A F1(OPTERR)108 408 Q F0 .39(If set to the v)144 420 R .39(alue 1,) +(system dependent \(e.g., /v)144 456 Q(ar/mail/)-.25 E F1($USER)A F0 +(\).)A F1(OPTERR)108 468 Q F0 .39(If set to the v)144 480 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 .359(SHELL B)144 432 R(UIL)-.09 E .359(TIN COMMANDS)-.828 F F0 +F F2 .359(SHELL B)144 492 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 444 Q -.15(xe)-.15 G(cuted.) -.15 E F1 -.74(PA)108 456 S(TH)-.21 E F0 .588 +(ke).2 G(d).1 E(or a shell script is e)144 504 Q -.15(xe)-.15 G(cuted.) +.15 E F1 -.74(PA)108 516 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.588 F .471(for commands \(see)144 468 R F2 .471(COMMAND EXECUTION) +5.588 F .471(for commands \(see)144 528 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 480 S +(zero-length \(null\) directory name in the)2.972 F -.25(va)144 540 S .345(lue of).25 F F1 -.74(PA)2.845 G(TH)-.21 E F0 .345 (indicates the current directory)2.845 F 5.345(.A)-.65 G .344 (null directory name may appear as tw)-2.5 F 2.844(oa)-.1 G(djacent) --2.844 E .867(colons, or as an initial or trailing colon.)144 492 R .868 +-2.844 E .867(colons, or as an initial or trailing colon.)144 552 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 504 R F1(bash)28.829 E F0 +-.1 F 26.329(administrator who installs)144 564 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 516 -Q F0(.)A F1(POSIXL)108 528 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 540 +/Courier@0 SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 576 +Q F0(.)A F1(POSIXL)108 588 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 600 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 552 R F1(\255\255posix)2.511 E F0 +(the startup \214les, as if the)144 612 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 564 Q F1(bash)2.5 +(If it is set while the shell is)5.011 F(running,)144 624 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 576 Q(OMPT_COMMAND)-.3 E F0 -(If set, the v)144 588 Q(alue is e)-.25 E -.15(xe)-.15 G +(xe)-.15 G(cuted.).15 E F1(PR)108 636 Q(OMPT_COMMAND)-.3 E F0 +(If set, the v)144 648 Q(alue is e)-.25 E -.15(xe)-.15 G (cuted as a command prior to issuing each primary prompt.).15 E F1(PS1) -108 600 Q F0 .064(The v)19.33 F .065(alue of this parameter is e)-.25 F +108 660 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 612 R +.065(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 672 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 624 Q F0 .005(The v)19.33 F .005 +-.74('')2.5 G(.).74 E F1(PS2)108 684 Q F0 .005(The v)19.33 F .005 (alue of this parameter is e)-.25 F .005(xpanded as with)-.15 F F1(PS1) 2.505 E F0 .004(and used as the secondary prompt string.)2.505 F(The) -5.004 E(def)144 636 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G -(.).74 E F1(PS3)108 648 Q F0 1.115(The v)19.33 F 1.115 +5.004 E(def)144 696 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G +(.).74 E F1(PS3)108 708 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.116(command \(see)3.616 F F2 1.116(SHELL GRAM-)3.616 F(MAR) -144 660 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 672 Q F0 -1.099(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.098 -(alue is printed before each com-)-.25 F(mand)144 684 Q F1(bash)3.725 E -F0 1.225(displays during an e)3.725 F -.15(xe)-.15 G 1.225 -(cution trace.).15 F 1.226(The \214rst character of)6.225 F F2(PS4)3.726 -E F0 1.226(is replicated multiple)3.476 F(times, as necessary)144 696 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(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(13) -197.335 E 0 Cg EP +144 720 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(13)197.335 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(SHELL)108 84 Q F0 .664 -(The full pathname to the shell is k)144 96 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 108 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 120 Q(T)-.95 E F0 .826(The v)144 -132 R .826 +-.35 E/F1 10/Times-Bold@0 SF(PS4)108 84 Q F0 1.099(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.098 +(alue is printed before each com-)-.25 F(mand)144 96 Q F1(bash)3.725 E +F0 1.225(displays during an e)3.725 F -.15(xe)-.15 G 1.225 +(cution trace.).15 F 1.226(The \214rst character of)6.225 F/F2 9 +/Times-Bold@0 SF(PS4)3.726 E F0 1.226(is replicated multiple)3.476 F +(times, as necessary)144 108 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 120 Q F0 .664(The full pathname to the shell is k)144 132 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 144 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 156 Q(T)-.95 E F0 .826 +(The v)144 168 R .826 (alue of this parameter is used as a format string specifying ho)-.25 F 3.327(wt)-.25 G .827(he timing information for)-3.327 F .649 -(pipelines pre\214x)144 144 R .649(ed with the)-.15 F F1(time)3.149 E F0 +(pipelines pre\214x)144 180 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 156 R .711(xpanded to a time v)-.15 F +(an escape sequence that is e)144 192 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 168 Q -(ws; the braces denote optional portions.)-.25 E F1(%%)144 186 Q F0 2.5 -(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 198 Q/F2 10 +(and their meanings are as follo)144 204 Q +(ws; the braces denote optional portions.)-.25 E F1(%%)144 222 Q F0 2.5 +(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 234 Q/F3 10 /Times-Italic@0 SF(p)A F1(][l]R)A F0(The elapsed time in seconds.)11.68 -E F1(%[)144 210 Q F2(p)A F1(][l]U)A F0 -(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 222 Q -F2(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.) -13.34 E F1(%P)144 234 Q F0 +E F1(%[)144 246 Q F3(p)A F1(][l]U)A F0 +(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 258 Q +F3(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.) +13.34 E F1(%P)144 270 Q F0 (The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87 -(The optional)144 250.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 +(The optional)144 286.8 R F3(p)3.37 E F0 .87(is a digit specifying the) +3.37 F F3(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 262.8 R -.25(va)2.525 G .025 +144 298.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 274.8 R .538(alues of)-.25 F F2 +(decimal point may be speci\214ed; v)144 310.8 R .538(alues of)-.25 F F3 (p)3.038 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.537 E -F2(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 286.8 Q -(alue 3 is used.)-.25 E .667(The optional)144 303.6 R F1(l)3.167 E F0 +F3(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 322.8 Q +(alue 3 is used.)-.25 E .667(The optional)144 339.6 R F1(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.168(s. The)B -.25(va) -3.168 G(lue).25 E(of)144 315.6 Q F2(p)2.5 E F0 +F3(MM)3.168 E F0(m)A F3(SS)A F0(.)A F3(FF)A F0 3.168(s. The)B -.25(va) +3.168 G(lue).25 E(of)144 351.6 Q F3(p)2.5 E F0 (determines whether or not the fraction is included.)2.5 E 13.365 -(If this v)144 332.4 R 13.365(ariable is not set,)-.25 F F1(bash)15.865 +(If this v)144 368.4 R 13.365(ariable is not set,)-.25 F F1(bash)15.865 E F0 13.364(acts as if it had the v)15.865 F(alue)-.25 E F1($'\\nr)144 -344.4 Q(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS')-.18 E F0 5.031(.I)C 2.531 +380.4 Q(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS')-.18 E F0 5.031(.I)C 2.531 (ft)-5.031 G .031(he v)-2.531 F .031 (alue is null, no timing information is displayed.)-.25 F 2.5(At)144 -356.4 S(railing ne)-2.5 E +392.4 S(railing ne)-2.5 E (wline is added when the format string is displayed.)-.25 E F1(TMOUT)108 -373.2 Q F0 .718(If set to a v)144 385.2 R .717(alue greater than zero,) +409.2 Q F0 .718(If set to a v)144 421.2 R .717(alue greater than zero,) -.25 F F1(TMOUT)3.217 E F0 .717(is treated as the def)3.217 F .717 (ault timeout for the)-.1 F F1 -.18(re)3.217 G(ad).18 E F0 -.2(bu)3.217 -G(iltin.).2 E(The)144 397.2 Q F1(select)2.542 E F0 .042 +G(iltin.).2 E(The)144 433.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 -.886(ing from a terminal.)144 409.2 R .886(In an interacti)5.886 F 1.185 +.886(ing from a terminal.)144 445.2 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 421.2 +(alue is interpreted as the number of seconds to)-.25 F -.1(wa)144 457.2 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 433.2 Q -.15(ve)-.25 G(.).15 E F1 -(auto_r)108 450 Q(esume)-.18 E F0 .531(This v)144 462 R .531 +F(seconds if input does not arri)144 469.2 Q -.15(ve)-.25 G(.).15 E F1 +(auto_r)108 486 Q(esume)-.18 E F0 .531(This v)144 498 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 474 R +(If this v)5.53 F .53(ariable is set,)-.25 F .538(single w)144 510 R .538(ord simple commands without redirections are treated as candidates\ - for resumption of an)-.1 F -.15(ex)144 486 S .367(isting stopped job) + for resumption of an)-.1 F -.15(ex)144 522 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 -498 R(The)6.125 E F2(name)3.985 E F0 1.125(of a stopped job, in this) -3.805 F(conte)144 510 Q 1.133(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) +534 R(The)6.125 E F3(name)3.985 E F0 1.125(of a stopped job, in this) +3.805 F(conte)144 546 Q 1.133(xt, is the command line used to start it.) +-.15 F 1.133(If set to the v)6.133 F(alue)-.25 E F3 -.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 522 R .624(xactly; if set to)-.15 -F F2(substring)3.125 E F0 3.125(,t).22 G .625 +(match the name of a stopped job e)144 558 R .624(xactly; if set to)-.15 +F F3(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 534 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 546 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 .314 -(must be a pre\214x of a stopped job')144 558 R 2.814(sn)-.55 G .314 +(substring of the name of a stopped job)144 570 R 5.884(.T)-.4 G(he) +-5.884 E F3(substring)3.724 E F0 -.25(va)3.604 G .884(lue pro).25 F .884 +(vides functionality analogous to)-.15 F(the)144 582 Q F1(%?)3.333 E F0 +.833(job identi\214er \(see)5.833 F F2 .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 .314 +(must be a pre\214x of a stopped job')144 594 R 2.814(sn)-.55 G .314 (ame; this pro)-2.814 F .314(vides functionality analogous to the)-.15 F -F1(%)2.814 E F0 .314(job iden-)2.814 F(ti\214er)144 570 Q(.)-.55 E F1 -(histchars)108 586.8 Q F0 2.069(The tw)144 598.8 R 4.57(oo)-.1 G 4.57 +F1(%)2.814 E F0 .314(job iden-)2.814 F(ti\214er)144 606 Q(.)-.55 E F1 +(histchars)108 622.8 Q F0 2.069(The tw)144 634.8 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 610.8 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 +(xpansion and tok)-.15 F 2.07(enization \(see)-.1 F F2(HIST)4.57 E(OR) +-.162 E(Y)-.315 E(EXP)144 646.8 Q(ANSION)-.666 E F0(belo)3.466 E 3.716 +(w\). The)-.25 F 1.216(\214rst character is the)3.716 F F3 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 622.8 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 634.8 Q F0(character)2.74 E 2.74(,w)-.4 G +144 658.8 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B +.798(second character is the)3.298 F F3(quic)3.298 E 3.298(ks)-.2 G +(ubstitu-)-3.298 E(tion)144 670.8 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 646.8 R .575(The def) +(ing one string for another in the command.)144 682.8 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\ that the remainder of the line is a comment when found as the \214rst \ -char)144 658.8 R(-)-.2 E 1.293(acter of a w)144 670.8 R 1.293 +char)144 694.8 R(-)-.2 E 1.293(acter of a w)144 706.8 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 682.8 R .38(ords on the line.)-.1 F +(skipped for the remaining w)144 718.8 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 694.8 Q(GNU Bash-3.0)72 768 Q +(the rest of the line as a comment.)144 730.8 Q(GNU Bash-3.0)72 768 Q (2004 June 26)147.345 E(14)197.335 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup @@ -1891,4667 +1896,4676 @@ F2(subscript)A F0 3.575(]}. The)B 1.076(braces are required to a)3.576 F 1.374(of the)108 314.4 R F3(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 1.004(there are no array members, ${)108 -326.4 R F2(name)A F0 1.004([@]} e)B 1.004(xpands to nothing.)-.15 F -1.004(This is analogous to the e)6.004 F 1.003(xpansion of the)-.15 F -.693(special parameters)108 338.4 R F1(*)3.193 E F0(and)3.194 E F1(@) -3.194 E F0(\(see)3.194 E F1 .694(Special P)3.194 F(arameters)-.1 E F0 -(abo)3.194 E -.15(ve)-.15 G 3.194(\). ${#).15 F F2(name)A F0([)A F2 -(subscript)A F0 .694(]} e)B .694(xpands to the length)-.15 F .155(of ${) -108 350.4 R F2(name)A F0([)A F2(subscript)A F0 2.655(]}. If)B F2 -(subscript)2.655 E F0(is)2.655 E F1(*)2.655 E F0(or)2.655 E F1(@)2.655 E -F0 2.655(,t)C .154(he e)-2.655 F .154 -(xpansion is the number of elements in the array)-.15 F 5.154(.R)-.65 G -(efer)-5.154 E(-)-.2 E(encing an array v)108 362.4 Q -(ariable without a subscript is equi)-.25 E -.25(va)-.25 G -(lent to referencing element zero.).25 E(The)108 379.2 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 391.2 Q F0(.)A F1(unset)5.301 E F2 -(name)2.801 E F0 2.801(,w)C(here)-2.801 E F2(name)2.801 E F0 .301 -(is an array)2.801 F 2.801(,o)-.65 G(r)-2.801 E F1(unset)2.801 E F2 -(name)2.801 E F0([)A F2(subscript)A F0 .3(], where)B F2(subscript)2.8 E -F0(is)2.8 E F1(*)2.8 E F0(or)2.8 E F1(@)2.8 E F0 2.8(,r)C(emo)-2.8 E --.15(ve)-.15 G(s).15 E(the entire array)108 403.2 Q(.)-.65 E(The)108 420 -Q F1(declar)3.67 E(e)-.18 E F0(,)A F1(local)3.67 E F0 3.67(,a)C(nd)-3.67 -E F1 -.18(re)3.67 G(adonly).18 E F0 -.2(bu)3.67 G 1.17 -(iltins each accept a).2 F F13.671 E F0 1.171 -(option to specify an array)3.671 F 6.171(.T)-.65 G(he)-6.171 E F1 -.18 -(re)3.671 G(ad).18 E F0 -.2(bu)3.671 G(iltin).2 E .441(accepts a)108 432 -R F12.941 E F0 .441(option to assign a list of w)2.941 F .441 +3.875 F 3.875(ord. When)-.1 F 2.028(there are no array members, ${)108 +326.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 338.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 .516(and the e)108 +350.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 362.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 374.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 .733(ments in the array)108 386.4 +R 5.733(.R)-.65 G .733(eferencing an array v)-5.733 F .733 +(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .734 +(lent to referencing element).25 F(zero.)108 398.4 Q(The)108 415.2 Q F1 +(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 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.766 E(script)108 +427.2 Q F0(.)A F1(unset)5.3 E F2(name)2.8 E F0 2.8(,w)C(here)-2.8 E F2 +(name)2.8 E F0 .3(is an array)2.8 F 2.801(,o)-.65 G(r)-2.801 E F1(unset) +2.801 E F2(name)2.801 E F0([)A F2(subscript)A F0 .301(], where)B F2 +(subscript)2.801 E F0(is)2.801 E F1(*)2.801 E F0(or)2.801 E F1(@)2.801 E +F0 2.801(,r)C(emo)-2.801 E -.15(ve)-.15 G(s).15 E(the entire array)108 +439.2 Q(.)-.65 E(The)108 456 Q F1(declar)3.671 E(e)-.18 E F0(,)A F1 +(local)3.671 E F0 3.671(,a)C(nd)-3.671 E F1 -.18(re)3.671 G(adonly).18 E +F0 -.2(bu)3.671 G 1.171(iltins each accept a).2 F F13.671 E F0 +1.17(option to specify an array)3.671 F 6.17(.T)-.65 G(he)-6.17 E F1 +-.18(re)3.67 G(ad).18 E F0 -.2(bu)3.67 G(iltin).2 E .44(accepts a)108 +468 R F12.941 E F0 .441(option to assign a list of w)2.941 F .441 (ords read from the standard input to an array)-.1 F 5.441(.T)-.65 G(he) --5.441 E F1(set)2.941 E F0(and)2.941 E F1(declar)2.94 E(e)-.18 E F0 -.2 -(bu)108 444 S(iltins display array v).2 E(alues in a w)-.25 E +-5.441 E F1(set)2.941 E F0(and)2.941 E F1(declar)2.941 E(e)-.18 E F0 -.2 +(bu)108 480 S(iltins display array v).2 E(alues in a w)-.25 E (ay that allo)-.1 E(ws them to be reused as assignments.)-.25 E/F4 10.95 -/Times-Bold@0 SF(EXP)72 460.8 Q(ANSION)-.81 E F0 .76(Expansion is perfo\ -rmed on the command line after it has been split into w)108 472.8 R 3.26 +/Times-Bold@0 SF(EXP)72 496.8 Q(ANSION)-.81 E F0 .76(Expansion is perfo\ +rmed on the command line after it has been split into w)108 508.8 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 484.8 S .37(pansion performed:).15 F F2(br) -2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F2 .369(tilde e) +(inds of)-3.26 F -.15(ex)108 520.8 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 .369 -(command sub-)2.869 F(stitution)108 496.8 Q F0(,).24 E F2(arithmetic e) +(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F2 .37 +(command sub-)2.869 F(stitution)108 532.8 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 .47(The order of e)108 513.6 R .471(xpansions is: brace e)-.15 F .471 +E .471(The order of e)108 549.6 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 525.6 Q +.47(ariable and arithmetic e)-3.221 F(xpansion)-.15 E +(and command substitution \(done in a left-to-right f)108 561.6 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 542.4 Q +(On systems that can support it, there is an additional e)108 578.4 Q (xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F2(pr)2.5 E -(ocess substitution)-.45 E F0(.)A 1.487(Only brace e)108 559.2 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 571.2 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 583.2 S(pansions of ").15 E F1($@)A F0 2.5("a)C(nd ") +(ocess substitution)-.45 E F0(.)A 1.486(Only brace e)108 595.2 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 607.2 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 619.2 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 600 Q -F2(Br)108.58 612 Q .606(ace e)-.15 F(xpansion)-.2 E F0 .606 +(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F1(Brace Expansion)87 636 Q +F2(Br)108.58 648 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 624 Q F2 .415(pathname e) +.606(This mechanism is similar)5.606 F(to)108 660 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 636 R F2(pr)2.652 E(eamble) +(he)-2.915 E .151(form of an optional)108 672 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 648 R .563 +F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 684 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(co\ ntained within the braces, and the postscript is then appended to each \ -resulting string, e)108 660 R .658(xpanding left to)-.15 F(right.)108 -672 Q .718(Brace e)108 688.8 R .719(xpansions may be nested.)-.15 F .719 +resulting string, e)108 696 R .659(xpanding left to)-.15 F(right.)108 +708 Q .719(Brace e)108 724.8 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 700.8 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.134(As) -108 717.6 S .634(equence e)-3.134 F .634(xpression tak)-.15 F .634 -(es the form)-.1 F F1({)3.134 E F2(x)A F1(..)A F2(y)A F1(})A F0 3.134 -(,w)C(here)-3.134 E F2(x)3.134 E F0(and)3.134 E F2(y)3.133 E F0 .633 -(are either inte)3.133 F .633(gers or single characters.)-.15 F(When) -5.633 E(inte)108 729.6 Q .401(gers are supplied, the e)-.15 F .401 -(xpression e)-.15 F .401(xpands to each number between)-.15 F F2(x)2.901 -E F0(and)2.902 E F2(y)2.902 E F0 2.902(,i)C(nclusi)-2.902 E -.15(ve)-.25 -G 5.402(.W).15 G .402(hen characters)-5.402 F(GNU Bash-3.0)72 768 Q -(2004 June 26)147.345 E(15)197.335 E 0 Cg EP +(xpanded string are not sorted; left to right order is)-.15 F +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(15)197.335 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 .688(are supplied, the e)108 84 R .688(xpression e)-.15 F .688 -(xpands to each character le)-.15 F .688(xicographically between)-.15 F -/F1 10/Times-Italic@0 SF(x)3.188 E F0(and)3.188 E F1(y)3.188 E F0 3.187 -(,i)C(nclusi)-3.187 E -.15(ve)-.25 G 5.687(.N).15 G(ote)-5.687 E -(that both)108 96 Q F1(x)2.5 E F0(and)2.5 E F1(y)2.5 E F0 -(must be of the same type.)2.5 E .581(Brace e)108 112.8 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 124.8 R .016(ed in the result.)-.15 F .016 -(It is strictly te)5.016 F(xtual.)-.15 E/F2 10/Times-Bold@0 SF(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 136.8 Q +-.35 E(preserv)108 84 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.133(As)108 100.8 S .633(equence e) +-3.133 F .633(xpression tak)-.15 F .633(es the form)-.1 F F1({)3.133 E +/F2 10/Times-Italic@0 SF(x)A F1(..)A F2(y)A F1(})A F0 3.133(,w)C(here) +-3.133 E F2(x)3.133 E F0(and)3.134 E F2(y)3.134 E F0 .634 +(are either inte)3.134 F .634(gers or single characters.)-.15 F(When) +5.634 E(inte)108 112.8 Q .402(gers are supplied, the e)-.15 F .402 +(xpression e)-.15 F .401(xpands to each number between)-.15 F F2(x)2.901 +E F0(and)2.901 E F2(y)2.901 E F0 2.901(,i)C(nclusi)-2.901 E -.15(ve)-.25 +G 5.401(.W).15 G .401(hen characters)-5.401 F .687(are supplied, the e) +108 124.8 R .688(xpression e)-.15 F .688(xpands to each character le) +-.15 F .688(xicographically between)-.15 F F2(x)3.188 E F0(and)3.188 E +F2(y)3.188 E F0 3.188(,i)C(nclusi)-3.188 E -.15(ve)-.25 G 5.688(.N).15 G +(ote)-5.688 E(that both)108 136.8 Q F2(x)2.5 E F0(and)2.5 E F2(y)2.5 E +F0(must be of the same type.)2.5 E .582(Brace e)108 153.6 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 165.6 R .015(ed in the result.)-.15 F .015 +(It is strictly te)5.015 F(xtual.)-.15 E F1(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 177.6 Q (xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.) --.15 E 3.632(Ac)108 153.6 S 1.132(orrectly-formed brace e)-3.632 F 1.132 +-.15 E 3.633(Ac)108 194.4 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 165.6 R 3.441 +t one)-.15 F 3.44(unquoted comma or a v)108 206.4 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 177.6 R F2({)2.755 E F0(or)2.755 E F2(,)2.755 E F0 +(ncorrectly formed brace e)-5.941 F 3.441(xpansion is left)-.15 F 2.755 +(unchanged. A)108 218.4 R F1({)2.755 E F0(or)2.755 E F1(,)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 189.6 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 230.4 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 -F2(${)2.911 E F0 .41(is not considered eligible for brace e)2.911 F -(xpan-)-.15 E(sion.)108 201.6 Q 1.476(This construct is typically used \ +F1(${)2.911 E F0 .411(is not considered eligible for brace e)2.911 F +(xpan-)-.15 E(sion.)108 242.4 Q 1.476(This construct is typically used \ as shorthand when the common pre\214x of the strings to be generated is) -108 218.4 R(longer than in the abo)108 230.4 Q .3 -.15(ve ex)-.15 H -(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 247.2 Q -.65(w,)-.25 -G(dist,b).65 E(ugs})-.2 E(or)108 259.2 Q(cho)144 271.2 Q +108 259.2 R(longer than in the abo)108 271.2 Q .3 -.15(ve ex)-.15 H +(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 288 Q -.65(w,)-.25 G +(dist,b).65 E(ugs})-.2 E(or)108 300 Q(cho)144 312 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 288 R .618 +-.25 E(x}})-.15 E .618(Brace e)108 328.8 R .618 (xpansion introduces a slight incompatibility with historical v)-.15 F -.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 .247 -(ing or closing braces specially when the)108 300 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 F2(Bash)5.248 E F0(remo)108 312 Q -.15 +.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 .248 +(ing or closing braces specially when the)108 340.8 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 F1(Bash)5.247 E F0(remo)108 352.8 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 F2(sh) -3.53 E F0(as)3.53 E F1(\214le{1,2})108 324 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 F1 .515(\214le1 \214le2)4.925 F F0 .515(after e) -3.035 F .515(xpansion by)-.15 F F2(bash)3.015 E F0(.)A .437 -(If strict compatibility with)108 336 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 .436 -(xpansion with the)-.15 F F2(+B)108 348 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 364.8 S -(lde Expansion).18 E F0 1.086(If a w)108 376.8 R 1.086(ord be)-.1 F -1.086(gins with an unquoted tilde character \(`)-.15 F F2(~)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 considered a) -108 388.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 .725(in the tilde-pre\214x\ - are quoted, the characters in the tilde-pre\214x follo)108 400.8 R .726 -(wing the tilde are treated as a possible)-.25 F F1(lo)108 412.8 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 F1(sh) +3.53 E F0(as)3.53 E F2(\214le{1,2})108 364.8 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 F2 .514(\214le1 \214le2)4.925 F F0 .514(after e) +3.034 F .514(xpansion by)-.15 F F1(bash)3.014 E F0(.)A .436 +(If strict compatibility with)108 376.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 .437 +(xpansion with the)-.15 F F1(+B)108 388.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 405.6 S(lde Expansion).18 E F0 1.087(If a w)108 417.6 R 1.087(ord be) +-.1 F 1.087(gins with an unquoted tilde character \(`)-.15 F F1(~)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 consider\ +ed a)108 429.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 .726(in the tilde-pre\ +\214x are quoted, the characters in the tilde-pre\214x follo)108 441.6 R +.725(wing the tilde are treated as a possible)-.25 F F2(lo)108 453.6 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 424.8 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 465.6 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 436.8 Q .093 -(If the tilde-pre\214x is a `~+', the v)108 453.6 R .092 +with the speci\214ed login name.)108 477.6 Q .092 +(If the tilde-pre\214x is a `~+', the v)108 494.4 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 465.6 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 506.4 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 477.6 R F1(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 518.4 R F2(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 -489.6 R 1.438(ould be displayed by the)-.1 F F2(dirs)3.938 E F0 -.2(bu) -108 501.6 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 +530.4 R 1.437(ould be displayed by the)-.1 F F1(dirs)3.937 E F0 -.2(bu) +108 542.4 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 513.6 Q(If the login name is in)108 530.4 Q -.25(va)-.4 G +108 554.4 Q(If the login name is in)108 571.2 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 .826(Each v)108 547.2 R .826 +(ord is unchanged.)-.1 E .827(Each v)108 588 R .827 (ariable assignment is check)-.25 F .827(ed for unquoted tilde-pre\214x) --.1 F .827(es immediately follo)-.15 F .827(wing a)-.25 F F2(:)3.327 E -F0(or)3.327 E F2(=)3.327 E F0 5.827(.I)C 3.327(nt)-5.827 G(hese)-3.327 E -.467(cases, tilde e)108 559.2 R .467(xpansion is also performed.)-.15 F -(Consequently)5.467 E 2.967(,o)-.65 G .466 -(ne may use \214le names with tildes in assignments)-2.967 F(to)108 -571.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 588 S(rameter Expansion).1 E F0 1.605(The `) -108 600 R F2($)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 612 -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 624 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(of the name.)108 636 -Q 1.19(When braces are used, the matching ending brace is the \214rst `) -108 652.8 R F2(})A F0 3.689('n)C 1.189 -(ot escaped by a backslash or within a)-3.689 F .052 -(quoted string, and not within an embedded arithmetic e)108 664.8 R .053 -(xpansion, command substitution, or paramter e)-.15 F(xpan-)-.15 E -(sion.)108 676.8 Q(${)108 693.6 Q F1(par)A(ameter)-.15 E F0(})A 1.205 -(The v)144 705.6 R 1.205(alue of)-.25 F F1(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 -F1(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 717.6 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 729.6 Q(GNU Bash-3.0)72 768 Q -(2004 June 26)147.345 E(16)197.335 E 0 Cg EP +-.1 F .827(es immediately follo)-.15 F .827(wing a)-.25 F F1(:)3.326 E +F0(or)3.326 E F1(=)3.326 E F0 5.826(.I)C 3.326(nt)-5.826 G(hese)-3.326 E +.466(cases, tilde e)108 600 R .466(xpansion is also performed.)-.15 F +(Consequently)5.467 E 2.967(,o)-.65 G .467 +(ne may use \214le names with tildes in assignments)-2.967 F(to)108 612 +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 628.8 S(rameter Expansion).1 E F0 1.606(The `)108 640.8 R +F1($)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 652.8 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 664.8 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 +676.8 Q 1.189 +(When braces are used, the matching ending brace is the \214rst `)108 +693.6 R F1(})A F0 3.69('n)C 1.19(ot escaped by a backslash or within a) +-3.69 F .053(quoted string, and not within an embedded arithmetic e)108 +705.6 R .052(xpansion, command substitution, or paramter e)-.15 F(xpan-) +-.15 E(sion.)108 717.6 Q(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E +(16)197.335 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 1.509(If the \214rst character of)108 84 R/F1 10/Times-Italic@0 -SF(par)4.009 E(ameter)-.15 E F0 1.509(is an e)4.009 F 1.509 -(xclamation point, a le)-.15 F -.15(ve)-.25 G 4.009(lo).15 G 4.008(fv) --4.009 G 1.508(ariable indirection is introduced.)-4.258 F/F2 10 -/Times-Bold@0 SF(Bash)108 96 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 108 R .352 -(xpanded and that v)-.15 F .351 +-.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 120 Q 1.508 +(If the \214rst character of)108 136.8 R F1(par)4.009 E(ameter)-.15 E F0 +1.509(is an e)4.009 F 1.509(xclamation point, a le)-.15 F -.15(ve)-.25 G +4.009(lo).15 G 4.009(fv)-4.009 G 1.509 +(ariable indirection is introduced.)-4.259 F/F2 10/Times-Bold@0 SF(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 .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 F1(par)2.851 E(ame-)-.15 E(ter)108 120 Q F0 2.519 -(itself. This)2.519 F .019(is kno)2.519 F .019(wn as)-.25 F F1(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 F1 -(pr)A(e\214x)-.37 E F0 .02(*} and)B(${)108 132 Q F2(!)A F1(name)A F0([)A -F1(@)A F0 .763(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65 +.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 144 Q -.334(In each of the cases belo)108 160.8 R -.65(w,)-.25 G F1(wor)3.484 E -(d)-.37 E F0 .334(is subject to tilde e)2.834 F .334 +.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 1.418(and arithmetic e)108 172.8 R 3.918(xpansion. When)-.15 F 1.418 +F 1.417(and arithmetic e)108 225.6 R 3.918(xpansion. When)-.15 F 1.418 (not performing substring e)3.918 F(xpansion,)-.15 E F2(bash)3.918 E F0 1.418(tests for a parameter that is)3.918 F(unset or null; omitting the\ - colon results in a test only for a parameter that is unset.)108 184.8 Q -(${)108 201.6 Q F1(par)A(ameter)-.15 E F2<3aad>A F1(wor)A(d)-.37 E F0(}) -A F2 .722(Use Default V)144 213.6 R(alues)-.92 E F0 5.722(.I)C(f)-5.722 -E F1(par)4.472 E(ameter)-.15 E F0 .723(is unset or null, the e)3.952 F -.723(xpansion of)-.15 F F1(wor)3.563 E(d)-.37 E F0 .723(is substituted.) -3.993 F(Other)5.723 E(-)-.2 E(wise, the v)144 225.6 Q(alue of)-.25 E F1 -(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 237.6 Q F1 -(par)A(ameter)-.15 E F2(:=)A F1(wor)A(d)-.37 E F0(})A F2 2.005 -(Assign Default V)144 249.6 R(alues)-.92 E F0 7.005(.I)C(f)-7.005 E F1 -(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 F1(wor)4.844 E(d)-.37 E F0 2.004 -(is assigned to)5.274 F F1(par)144 261.6 Q(ameter)-.15 E F0 5.278(.T).73 -G .278(he v)-5.278 F .278(alue of)-.25 F F1(par)4.028 E(ameter)-.15 E F0 -.278(is then substituted.)3.508 F .279 + colon results in a test only for a parameter that is unset.)108 237.6 Q +(${)108 254.4 Q F1(par)A(ameter)-.15 E F2<3aad>A F1(wor)A(d)-.37 E F0(}) +A F2 .723(Use Default V)144 266.4 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 278.4 Q(alue of)-.25 E F1 +(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 290.4 Q F1 +(par)A(ameter)-.15 E F2(:=)A F1(wor)A(d)-.37 E F0(})A F2 2.004 +(Assign Default V)144 302.4 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 314.4 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 273.6 Q(ay)-.1 E(.)-.65 E -(${)108 285.6 Q F1(par)A(ameter)-.15 E F2(:?)A F1(wor)A(d)-.37 E F0(})A -F2 .535(Display Err)144 297.6 R .535(or if Null or Unset)-.18 F F0 5.535 +(eters may not be assigned to in this w)144 326.4 Q(ay)-.1 E(.)-.65 E +(${)108 338.4 Q F1(par)A(ameter)-.15 E F2(:?)A F1(wor)A(d)-.37 E F0(})A +F2 .535(Display Err)144 350.4 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 .661(sage to that ef)144 309.6 R -.661(fect if)-.25 F F1(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 321.6 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,) +(d)-.37 E F0 .535(\(or a mes-)3.035 F .662(sage to that ef)144 362.4 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 374.4 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 333.6 Q F1(par)A(ameter)-.15 E F2(:+)A F1 -(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 345.6 R .745(nate V)-.15 F +(is substituted.)2.5 E(${)108 386.4 Q F1(par)A(ameter)-.15 E F2(:+)A F1 +(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 398.4 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 357.6 Q F1(wor)2.84 E(d)-.37 E F0 -(is substituted.)3.27 E(${)108 369.6 Q F1(par)A(ameter)-.15 E F2(:)A F1 -(of)A(fset)-.18 E F0(})A(${)108 381.6 Q F1(par)A(ameter)-.15 E F2(:)A F1 -(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .796 -(Substring Expansion.)144 393.6 R F0 .796(Expands to up to)5.796 F F1 +(xpan-)-.15 E(sion of)144 410.4 Q F1(wor)2.84 E(d)-.37 E F0 +(is substituted.)3.27 E(${)108 422.4 Q F1(par)A(ameter)-.15 E F2(:)A F1 +(of)A(fset)-.18 E F0(})A(${)108 434.4 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 446.4 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 .797(starting at the character)3.296 F .229(speci\214ed by)144 -405.6 R F1(of)2.729 E(fset)-.18 E F0 5.229(.I)C(f)-5.229 E F1(length) -2.729 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 .228(starting at the char)2.728 F -(-)-.2 E .432(acter speci\214ed by)144 417.6 R F1(of)2.933 E(fset)-.18 E +E F0 .796(starting at the character)3.296 F .228(speci\214ed by)144 +458.4 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 470.4 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 -429.6 S(ION).855 E F0(belo)2.577 E(w\).)-.25 E F1(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 F1 -(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 441.6 R .015 +/Times-Bold@0 SF .432(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 +482.4 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 494.4 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 F1(par)2.516 E(ameter)-.15 E F0 5.016(.I)C(f)-5.016 -E F1(par)144 453.6 Q(ameter)-.15 E F0(is)3.25 E F2(@)3.25 E F0 3.25(,t)C +.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 506.4 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 1.834(array name inde)144 465.6 R -.15(xe)-.15 G 4.334(db) -.15 G 4.334(y@o)-4.334 G 4.335(r*)-4.334 G 4.335(,t)-4.335 G 1.835 -(he result is the)-4.335 F F1(length)4.335 E F0 1.835 -(members of the array be)4.335 F 1.835(ginning with)-.15 F(${)144 477.6 +(is an)3.25 F 1.835(array name inde)144 518.4 R -.15(xe)-.15 G 4.335(db) +.15 G 4.335(y@o)-4.335 G 4.335(r*)-4.335 G 4.335(,t)-4.335 G 1.835 +(he result is the)-4.335 F F1(length)4.335 E F0 1.834 +(members of the array be)4.335 F 1.834(ginning with)-.15 F(${)144 530.4 Q F1(par)A(ameter)-.15 E F0([)A F1(of)A(fset)-.18 E F0 2.999 (]}. Substring)B(inde)2.999 E .499 (xing is zero-based unless the positional parameters are used,)-.15 F -(in which case the inde)144 489.6 Q(xing starts at 1.)-.15 E(${)108 -506.4 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(*)A F0(})A(${)108 518.4 Q F2(!)A +(in which case the inde)144 542.4 Q(xing starts at 1.)-.15 E(${)108 +559.2 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(*)A F0(})A(${)108 571.2 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(@)A F0(})A .42(Expands to the names of v)144 -530.4 R .42(ariables whose names be)-.25 F .42(gin with)-.15 F F1(pr) +583.2 R .42(ariables whose names be)-.25 F .42(gin with)-.15 F F1(pr) 2.92 E(e\214x)-.37 E F0 2.92(,s)C .42(eparated by the \214rst character) --2.92 F(of the)144 542.4 Q F3(IFS)2.5 E F0(special v)2.25 E(ariable.) --.25 E(${)108 559.2 Q F2(!)A F1(name)A F0([)A F1(@)A F0(]})A(${)108 -571.2 Q F2(!)A F1(name)A F0([)A F1(*)A F0(]})A(If)144 583.2 Q F1(name) -2.922 E F0 .421(is an array v)2.922 F .421(ariable, e)-.25 F .421 +-2.92 F(of the)144 595.2 Q F3(IFS)2.5 E F0(special v)2.25 E(ariable.) +-.25 E(${)108 612 Q F2(!)A F1(name)A F0([)A F1(@)A F0(]})A(${)108 624 Q +F2(!)A F1(name)A F0([)A F1(*)A F0(]})A(If)144 636 Q F1(name)2.921 E F0 +.421(is an array v)2.921 F .421(ariable, e)-.25 F .421 (xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G .421 -(s\) assigned in).15 F F1(name)2.921 E F0 5.421(.I)C(f)-5.421 E F1(name) -2.921 E F0 .237(is not an array)144 595.2 R 2.737(,e)-.65 G .237 -(xpands to 0 if)-2.887 F F1(name)2.737 E F0 .238 -(is set and null otherwise.)2.737 F(When)5.238 E F1(@)2.738 E F0 .238 -(is used and the e)2.738 F(xpansion)-.15 E -(appears within double quotes, each k)144 607.2 Q .3 -.15(ey ex)-.1 H -(pands to a separate w).15 E(ord.)-.1 E(${)108 624 Q F2(#)A F1(par)A -(ameter)-.15 E F0(})A 1.392(The length in characters of the v)144 636 R -1.392(alue of)-.25 F F1(par)3.892 E(ameter)-.15 E F0 1.392 +(s\) assigned in).15 F F1(name)2.921 E F0 5.422(.I)C(f)-5.422 E F1(name) +2.922 E F0 .238(is not an array)144 648 R 2.738(,e)-.65 G .238 +(xpands to 0 if)-2.888 F F1(name)2.738 E F0 .237 +(is set and null otherwise.)2.738 F(When)5.237 E F1(@)2.737 E F0 .237 +(is used and the e)2.737 F(xpansion)-.15 E +(appears within double quotes, each k)144 660 Q .3 -.15(ey ex)-.1 H +(pands to a separate w).15 E(ord.)-.1 E(${)108 676.8 Q F2(#)A F1(par)A +(ameter)-.15 E F0(})A 1.391(The length in characters of the v)144 688.8 +R 1.392(alue of)-.25 F F1(par)3.892 E(ameter)-.15 E F0 1.392 (is substituted.)3.892 F(If)6.392 E F1(par)5.142 E(ameter)-.15 E F0(is) -4.622 E F2(*)3.891 E F0(or)3.891 E F2(@)3.891 E F0 3.891(,t)C(he)-3.891 -E -.25(va)144 648 S 1.748 +4.622 E F2(*)3.892 E F0(or)3.892 E F2(@)3.892 E F0 3.892(,t)C(he)-3.892 +E -.25(va)144 700.8 S 1.749 (lue substituted is the number of positional parameters.).25 F(If)6.749 -E F1(par)5.499 E(ameter)-.15 E F0 1.749(is an array name sub-)4.979 F -(scripted by)144 660 Q F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E F0 2.5(,t)C +E F1(par)5.498 E(ameter)-.15 E F0 1.748(is an array name sub-)4.978 F +(scripted by)144 712.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 676.8 Q F1(par)A(ameter)-.15 E F2(#)A F1(wor)A(d) --.37 E F0(})A(${)108 688.8 Q F1(par)A(ameter)-.15 E F2(##)A F1(wor)A(d) --.37 E F0(})A(The)144 700.8 Q F1(wor)3.331 E(d)-.37 E F0 .491(is e)3.761 -F .491(xpanded to produce a pattern just as in pathname e)-.15 F 2.99 -(xpansion. If)-.15 F .49(the pattern matches)2.99 F .411(the be)144 -712.8 R .411(ginning of the v)-.15 F .411(alue of)-.25 F F1(par)2.911 E -(ameter)-.15 E F0 2.911(,t).73 G .411(hen the result of the e)-2.911 F -.411(xpansion is the e)-.15 F .412(xpanded v)-.15 F .412(alue of)-.25 F -F1(par)145.25 724.8 Q(ameter)-.15 E F0 .607 -(with the shortest matching pattern \(the `)3.838 F(`)-.74 E F2(#)A F0 -2.087 -.74('' c)D .607(ase\) or the longest matching pattern \(the).74 F -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(17)197.335 E 0 Cg EP +-.25 E(.)-.65 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(17)197.335 +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 -.74(``)144 84 S/F1 10/Times-Bold@0 SF(##).74 E F0 1.653 -.74 -('' c)D .173(ase\) deleted.).74 F(If)5.173 E/F2 10/Times-Italic@0 SF -(par)3.923 E(ameter)-.15 E F0(is)3.403 E F1(@)2.673 E F0(or)2.673 E F1 -(*)2.673 E F0 2.674(,t)C .174(he pattern remo)-2.674 F -.25(va)-.15 G -2.674(lo).25 G .174(peration is applied to each posi-)-2.674 F .655 -(tional parameter in turn, and the e)144 96 R .654 -(xpansion is the resultant list.)-.15 F(If)5.654 E F2(par)4.404 E -(ameter)-.15 E F0 .654(is an array v)3.884 F(ariable)-.25 E .65 -(subscripted with)144 108 R F1(@)3.15 E F0(or)3.15 E F1(*)3.15 E F0 3.15 -(,t)C .65(he pattern remo)-3.15 F -.25(va)-.15 G 3.151(lo).25 G .651 -(peration is applied to each member of the array in)-3.151 F -(turn, and the e)144 120 Q(xpansion is the resultant list.)-.15 E(${)108 -136.8 Q F2(par)A(ameter)-.15 E F1(%)A F2(wor)A(d)-.37 E F0(})A(${)108 -148.8 Q F2(par)A(ameter)-.15 E F1(%%)A F2(wor)A(d)-.37 E F0(})A(The)144 -160.8 Q F2(wor)2.619 E(d)-.37 E F0 .119(is e)2.619 F .119 +-.35 E(${)108 84 Q/F1 10/Times-Italic@0 SF(par)A(ameter)-.15 E/F2 10 +/Times-Bold@0 SF(#)A F1(wor)A(d)-.37 E F0(})A(${)108 96 Q F1(par)A +(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A(The)144 108 Q F1(wor) +3.33 E(d)-.37 E F0 .49(is e)3.76 F .491 +(xpanded to produce a pattern just as in pathname e)-.15 F 2.991 +(xpansion. If)-.15 F .491(the pattern matches)2.991 F .412(the be)144 +120 R .412(ginning of the v)-.15 F .411(alue of)-.25 F F1(par)2.911 E +(ameter)-.15 E F0 2.911(,t).73 G .411(hen the result of the e)-2.911 F +.411(xpansion is the e)-.15 F .411(xpanded v)-.15 F .411(alue of)-.25 F +F1(par)145.25 132 Q(ameter)-.15 E F0 .607 +(with the shortest matching pattern \(the `)3.837 F(`)-.74 E F2(#)A F0 +2.087 -.74('' c)D .607(ase\) or the longest matching pattern \(the).74 F +-.74(``)144 144 S F2(##).74 E F0 1.654 -.74('' c)D .174(ase\) deleted.) +.74 F(If)5.174 E F1(par)3.924 E(ameter)-.15 E F0(is)3.404 E F2(@)2.674 E +F0(or)2.674 E F2(*)2.674 E F0 2.674(,t)C .173(he pattern remo)-2.674 F +-.25(va)-.15 G 2.673(lo).25 G .173(peration is applied to each posi-) +-2.673 F .654(tional parameter in turn, and the e)144 156 R .654 +(xpansion is the resultant list.)-.15 F(If)5.655 E F1(par)4.405 E +(ameter)-.15 E F0 .655(is an array v)3.885 F(ariable)-.25 E .651 +(subscripted with)144 168 R F2(@)3.151 E F0(or)3.151 E F2(*)3.151 E F0 +3.151(,t)C .651(he pattern remo)-3.151 F -.25(va)-.15 G 3.151(lo).25 G +.65(peration is applied to each member of the array in)-3.151 F +(turn, and the e)144 180 Q(xpansion is the resultant list.)-.15 E(${)108 +196.8 Q F1(par)A(ameter)-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 +208.8 Q F1(par)A(ameter)-.15 E F2(%%)A F1(wor)A(d)-.37 E F0(})A(The)144 +220.8 Q F1(wor)2.618 E(d)-.37 E F0 .118(is e)2.618 F .119 (xpanded to produce a pattern just as in pathname e)-.15 F 2.619 -(xpansion. If)-.15 F .118(the pattern matches a)2.619 F 2.401 -(trailing portion of the e)144 172.8 R 2.401(xpanded v)-.15 F 2.401 -(alue of)-.25 F F2(par)4.901 E(ameter)-.15 E F0 4.901(,t).73 G 2.402 -(hen the result of the e)-4.901 F 2.402(xpansion is the)-.15 F -.15(ex) -144 184.8 S 1.153(panded v).15 F 1.153(alue of)-.25 F F2(par)4.902 E +(xpansion. If)-.15 F .119(the pattern matches a)2.619 F 2.402 +(trailing portion of the e)144 232.8 R 2.402(xpanded v)-.15 F 2.401 +(alue of)-.25 F F1(par)4.901 E(ameter)-.15 E F0 4.901(,t).73 G 2.401 +(hen the result of the e)-4.901 F 2.401(xpansion is the)-.15 F -.15(ex) +144 244.8 S 1.152(panded v).15 F 1.152(alue of)-.25 F F1(par)4.902 E (ameter)-.15 E F0 1.152(with the shortest matching pattern \(the `)4.382 -F(`)-.74 E F1(%)A F0 2.632 -.74('' c)D 1.152(ase\) or the longest).74 F -.79(matching pattern \(the `)144 196.8 R(`)-.74 E F1(%%)A F0 2.27 -.74 -('' c)D .79(ase\) deleted.).74 F(If)5.79 E F2(par)4.54 E(ameter)-.15 E -F0(is)4.02 E F1(@)3.29 E F0(or)3.29 E F1(*)3.29 E F0 3.29(,t)C .79 +F(`)-.74 E F2(%)A F0 2.632 -.74('' c)D 1.153(ase\) or the longest).74 F +.79(matching pattern \(the `)144 256.8 R(`)-.74 E F2(%%)A F0 2.27 -.74 +('' c)D .79(ase\) deleted.).74 F(If)5.79 E F1(par)4.54 E(ameter)-.15 E +F0(is)4.02 E F2(@)3.29 E F0(or)3.29 E F2(*)3.29 E F0 3.29(,t)C .79 (he pattern remo)-3.29 F -.25(va)-.15 G 3.29(lo).25 G(pera-)-3.29 E 1.758(tion is applied to each positional parameter in turn, and the e) -144 208.8 R 1.758(xpansion is the resultant list.)-.15 F(If)6.758 E F2 -(par)145.25 220.8 Q(ameter)-.15 E F0 .088(is an array v)3.318 F .089 -(ariable subscripted with)-.25 F F1(@)2.589 E F0(or)2.589 E F1(*)2.589 E -F0 2.589(,t)C .089(he pattern remo)-2.589 F -.25(va)-.15 G 2.589(lo).25 -G .089(peration is applied to)-2.589 F -(each member of the array in turn, and the e)144 232.8 Q -(xpansion is the resultant list.)-.15 E(${)108 249.6 Q F2(par)A(ameter) --.15 E F1(/)A F2(pattern)A F1(/)A F2(string)A F0(})A(${)108 261.6 Q F2 -(par)A(ameter)-.15 E F1(//)A F2(pattern)A F1(/)A F2(string)A F0(})A(The) -144 273.6 Q F2(pattern)5.085 E F0 2.585(is e)5.085 F 2.585 +144 268.8 R 1.758(xpansion is the resultant list.)-.15 F(If)6.759 E F1 +(par)145.25 280.8 Q(ameter)-.15 E F0 .089(is an array v)3.319 F .089 +(ariable subscripted with)-.25 F F2(@)2.589 E F0(or)2.589 E F2(*)2.589 E +F0 2.589(,t)C .089(he pattern remo)-2.589 F -.25(va)-.15 G 2.588(lo).25 +G .088(peration is applied to)-2.588 F +(each member of the array in turn, and the e)144 292.8 Q +(xpansion is the resultant list.)-.15 E(${)108 309.6 Q F1(par)A(ameter) +-.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0(})A(${)108 321.6 Q F1 +(par)A(ameter)-.15 E F2(//)A F1(pattern)A F2(/)A F1(string)A F0(})A(The) +144 333.6 Q F1(pattern)5.085 E F0 2.585(is e)5.085 F 2.585 (xpanded to produce a pattern just as in pathname e)-.15 F(xpansion.) --.15 E F2 -.8(Pa)7.585 G -.15(ra).8 G(meter).15 E F0(is)5.085 E -.15(ex) -144 285.6 S 1.169(panded and the longest match of).15 F F2(pattern)3.669 -E F0(ag)3.669 E 1.169(ainst its v)-.05 F 1.17(alue is replaced with)-.25 -F F2(string)3.67 E F0 6.17(.I)C 3.67(nt)-6.17 G 1.17(he \214rst)-3.67 F -2.028(form, only the \214rst match is replaced.)144 297.6 R 2.028 -(The second form causes all matches of)7.028 F F2(pattern)4.528 E F0 -2.028(to be)4.528 F 1.36(replaced with)144 309.6 R F2(string)3.86 E F0 -6.36(.I)C(f)-6.36 E F2(pattern)3.86 E F0(be)3.86 E 1.36(gins with)-.15 F -F1(#)3.86 E F0 3.86(,i)C 3.86(tm)-3.86 G 1.36(ust match at the be)-3.86 -F 1.36(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 321.6 S .621 -(lue of).25 F F2(par)3.121 E(ameter)-.15 E F0 5.621(.I)C(f)-5.621 E F2 -(pattern)3.121 E F0(be)3.121 E .621(gins with)-.15 F F1(%)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 F2(par)144 333.6 Q(ameter)-.15 E -F0 6.253(.I)C(f)-6.253 E F2(string)3.753 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.254(may be) -3.754 F 2.679(omitted. If)144 345.6 R F2(par)3.929 E(ameter)-.15 E F0 -(is)3.409 E F1(@)2.679 E F0(or)2.679 E F1(*)2.679 E F0 2.679(,t)C .178 +-.15 E F1 -.8(Pa)7.585 G -.15(ra).8 G(meter).15 E F0(is)5.085 E -.15(ex) +144 345.6 S 1.17(panded and the longest match of).15 F F1(pattern)3.67 E +F0(ag)3.669 E 1.169(ainst its v)-.05 F 1.169(alue is replaced with)-.25 +F F1(string)3.669 E F0 6.169(.I)C 3.669(nt)-6.169 G 1.169(he \214rst) +-3.669 F 2.028(form, only the \214rst match is replaced.)144 357.6 R +2.028(The second form causes all matches of)7.028 F F1(pattern)4.528 E +F0 2.029(to be)4.529 F 1.36(replaced with)144 369.6 R F1(string)3.86 E +F0 6.36(.I)C(f)-6.36 E F1(pattern)3.86 E F0(be)3.86 E 1.36(gins with) +-.15 F F2(#)3.86 E F0 3.86(,i)C 3.86(tm)-3.86 G 1.36 +(ust match at the be)-3.86 F 1.36(ginning of the e)-.15 F(xpanded)-.15 E +-.25(va)144 381.6 S .62(lue of).25 F F1(par)3.12 E(ameter)-.15 E F0 5.62 +(.I)C(f)-5.62 E F1(pattern)3.12 E F0(be)3.12 E .62(gins with)-.15 F F2 +(%)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 F1(par)144 393.6 Q(ameter)-.15 E F0 6.254(.I)C(f)-6.254 +E F1(string)3.754 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.253(may be)3.753 F 2.678 +(omitted. If)144 405.6 R F1(par)3.928 E(ameter)-.15 E F0(is)3.408 E F2 +(@)2.678 E F0(or)2.678 E F2(*)2.679 E F0 2.679(,t)C .179 (he substitution operation is applied to each positional parameter) --2.679 F .618(in turn, and the e)144 357.6 R .619 -(xpansion is the resultant list.)-.15 F(If)5.619 E F2(par)4.369 E -(ameter)-.15 E F0 .619(is an array v)3.849 F .619 -(ariable subscripted with)-.25 F F1(@)144 369.6 Q F0(or)3.224 E F1(*) -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 381.6 Q F1(Command Substitution)87 -398.4 Q F2 1.697(Command substitution)108 410.4 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 422.4 Q F1($\()144 444 Q F2 -(command)A F1(\))1.666 E F0(or)108 456 Q F1(`)144 468 Q F2(command)A F1 -(`)A(Bash)108 484.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 +-2.679 F .619(in turn, and the e)144 417.6 R .619 +(xpansion is the resultant list.)-.15 F(If)5.619 E F1(par)4.369 E +(ameter)-.15 E F0 .618(is an array v)3.849 F .618 +(ariable subscripted with)-.25 F F2(@)144 429.6 Q F0(or)3.223 E F2(*) +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 441.6 Q F2(Command Substitution)87 +458.4 Q F1 1.698(Command substitution)108 470.4 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 482.4 Q F2($\()144 504 Q F1 +(command)A F2(\))1.666 E F0(or)108 516 Q F2(`)144 528 Q F1(command)A F2 +(`)A(Bash)108 544.8 Q F0 .019(performs the e)2.519 F .019(xpansion by e) +-.15 F -.15(xe)-.15 G(cuting).15 E F1(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 496.8 R 3.268(yt)-.15 G .768 +(dard output of the command, with an)108 556.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 508.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 .718(can be replaced by the)3.219 F(equi)108 520.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 537.6 R(xcept)-.15 -E .315(when follo)108 549.6 R .315(wed by)-.25 F F1($)2.815 E F0(,)A F1 -(`)2.815 E F0 2.815(,o)C(r)-2.815 E F1(\\)2.815 E F0 5.315(.T)C .314(he\ +F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 568.8 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 +(The command substitution)5.719 F F2($\(cat)3.219 E F1(\214le)3.219 E F2 +(\))A F0 .719(can be replaced by the)3.219 F(equi)108 580.8 Q -.25(va) +-.25 G(lent b).25 E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F1(\214le)2.5 E +F2(\))A F0(.)A 1.724(When the old-style backquote form of substitution \ +is used, backslash retains its literal meaning e)108 597.6 R(xcept)-.15 +E .314(when follo)108 609.6 R .314(wed by)-.25 F F2($)2.814 E F0(,)A F2 +(`)2.814 E F0 2.814(,o)C(r)-2.814 E F2(\\)2.814 E F0 5.314(.T)C .315(he\ \214rst backquote not preceded by a backslash terminates the command s\ -ub-)-5.315 F 3.886(stitution. When)108 561.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 573.6 Q(.)-.65 E .894 -(Command substitutions may be nested.)108 590.4 R 2.494 -.8(To n)5.894 H +ub-)-5.314 F 3.887(stitution. When)108 621.6 R 1.387(using the $\()3.887 +F F1(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 633.6 Q(.)-.65 E .894 +(Command substitutions may be nested.)108 650.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 602.4 Q .422 -(If the substitution appears within double quotes, w)108 619.2 R .422 -(ord splitting and pathname e)-.1 F .423(xpansion are not performed)-.15 -F(on the results.)108 631.2 Q F1(Arithmetic Expansion)87 648 Q F0 1.035 -(Arithmetic e)108 660 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 672 Q(xpansion is:)-.15 E F1($\(\()144 -688.8 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(The)108 705.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 717.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.074 -(xpansion, command)-.15 F(substitution, and quote remo)108 729.6 Q -.25 -(va)-.15 G 2.5(l. Arithmetic).25 F -.15(ex)2.5 G -(pansions may be nested.).15 E(GNU Bash-3.0)72 768 Q(2004 June 26) -147.345 E(18)197.335 E 0 Cg EP +(quotes with backslashes.)108 662.4 Q .422 +(If the substitution appears within double quotes, w)108 679.2 R .422 +(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15 +F(on the results.)108 691.2 Q(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 +E(18)197.335 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 1.378(The e)108 84 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/F1 9/Times-Bold@0 SF 1.378(ARITHMETIC EV)3.878 F -(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F2 9/Times-Roman@0 SF(.)A F0 -(If)5.879 E/F3 10/Times-Italic@0 SF -.2(ex)108 96 S(pr).2 E(ession)-.37 -E F0(is in)2.74 E -.25(va)-.4 G(lid,).25 E/F4 10/Times-Bold@0 SF(bash) -2.5 E F0(prints a message indicating f)2.5 E -(ailure and no substitution occurs.)-.1 E F4(Pr)87 112.8 Q -(ocess Substitution)-.18 E F3(Pr)108 124.8 Q .971(ocess substitution) --.45 F F0 .971(is supported on systems that support named pipes \()3.471 -F F3(FIFOs)A F0 3.47(\)o)C 3.47(rt)-3.47 G(he)-3.47 E F4(/de)3.47 E -(v/fd)-.15 E F0 .97(method of)3.47 F .021(naming open \214les.)108 136.8 -R .021(It tak)5.021 F .021(es the form of)-.1 F F4(<\()2.521 E F3(list)A -F4(\)).833 E F0(or)2.521 E F4(>\()2.521 E F3(list)A F4(\)).833 E F0 -5.021(.T)C .021(he process)-5.021 F F3(list)2.521 E F0 .021 -(is run with its input or output con-)2.521 F .059(nected to a)108 148.8 -R F3(FIFO)2.559 E F0 .058(or some \214le in)2.559 F F4(/de)2.558 E(v/fd) +-.35 E/F1 10/Times-Bold@0 SF(Arithmetic Expansion)87 84 Q F0 1.034 +(Arithmetic e)108 96 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 108 Q(xpansion is:)-.15 E F1($\(\()144 +124.8 Q/F2 10/Times-Italic@0 SF -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A +F0(The)108 141.6 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 153.6 R 6.074(.A)-.65 G 1.074(ll tok)-6.074 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 165.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 182.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 194.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 211.2 Q(ocess Substitution)-.18 E F2(Pr)108 223.2 Q .97 +(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 235.2 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 247.2 +R F2(FIFO)2.558 E F0 .058(or some \214le in)2.558 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 .058(gument to the current com-)-.18 F .13 -(mand as the result of the e)108 160.8 R 2.63(xpansion. If)-.15 F(the) -2.63 E F4(>\()2.63 E F3(list)A F4(\)).833 E F0 .13 -(form is used, writing to the \214le will pro)2.63 F .131 -(vide input for)-.15 F F3(list)2.631 E F0(.)A(If the)108 172.8 Q F4(<\() -2.5 E F3(list)A F4(\)).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 F3(list)2.5 E F0 -(.)A .897(When a)108 189.6 R -.25(va)-.2 G .896(ilable, process substit\ -ution is performed simultaneously with parameter and v).25 F .896 +-5.058 F .059(gument to the current com-)-.18 F .131 +(mand as the result of the e)108 259.2 R 2.631(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 271.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 288 R -.25(va)-.2 G .896(ilable, process substitut\ +ion is performed simultaneously with parameter and v).25 F .897 (ariable e)-.25 F(xpansion,)-.15 E -(command substitution, and arithmetic e)108 201.6 Q(xpansion.)-.15 E F4 --.75(Wo)87 218.4 S(rd Splitting).75 E F0 1.142 -(The shell scans the results of parameter e)108 230.4 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 242.4 Q -F3(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063 -(The shell treats each character of)108 259.2 R F1(IFS)2.563 E F0 .063 +(command substitution, and arithmetic e)108 300 Q(xpansion.)-.15 E F1 +-.75(Wo)87 316.8 S(rd Splitting).75 E F0 1.143 +(The shell scans the results of parameter e)108 328.8 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 340.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 357.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 .627(on these characters.)108 271.2 R(If)5.627 E F1 -(IFS)3.127 E F0 .627(is unset, or its v)2.877 F .627(alue is e)-.25 F -(xactly)-.15 E F4()3.127 E F0 3.128(,t)C .628 -(he def)-3.128 F .628(ault, then an)-.1 F(y)-.15 E 2.528(sequence of)108 -283.2 R F1(IFS)5.028 E F0 2.527(characters serv)4.778 F 2.527 -(es to delimit w)-.15 F 5.027(ords. If)-.1 F F1(IFS)5.027 E F0 2.527 -(has a v)4.777 F 2.527(alue other than the def)-.25 F 2.527(ault, then) --.1 F .362(sequences of the whitespace characters)108 295.2 R F4(space) -2.863 E F0(and)2.863 E F4(tab)2.863 E F0 .363(are ignored at the be) -2.863 F .363(ginning and end of the w)-.15 F .363(ord, as)-.1 F .335 -(long as the whitespace character is in the v)108 307.2 R .334(alue of) --.25 F F1(IFS)2.834 E F0(\(an)2.584 E F1(IFS)2.834 E F0 .334 -(whitespace character\).)2.584 F(An)5.334 E 2.834(yc)-.15 G .334 -(haracter in)-2.834 F F1(IFS)2.834 E F0 .295(that is not)108 319.2 R F1 +-.15 F(ords)-.1 E .628(on these characters.)108 369.6 R(If)5.628 E F3 +(IFS)3.128 E F0 .627(is unset, or its v)2.877 F .627(alue is e)-.25 F +(xactly)-.15 E F1()3.127 E F0 3.127(,t)C .627 +(he def)-3.127 F .627(ault, then an)-.1 F(y)-.15 E 2.527(sequence of)108 +381.6 R F3(IFS)5.027 E F0 2.527(characters serv)4.777 F 2.527 +(es to delimit w)-.15 F 5.027(ords. If)-.1 F F3(IFS)5.027 E F0 2.527 +(has a v)4.777 F 2.527(alue other than the def)-.25 F 2.528(ault, then) +-.1 F .363(sequences of the whitespace characters)108 393.6 R F1(space) +2.863 E F0(and)2.863 E F1(tab)2.863 E F0 .363(are ignored at the be) +2.863 F .362(ginning and end of the w)-.15 F .362(ord, as)-.1 F .334 +(long as the whitespace character is in the v)108 405.6 R .334(alue of) +-.25 F F3(IFS)2.834 E F0(\(an)2.584 E F3(IFS)2.834 E F0 .335 +(whitespace character\).)2.585 F(An)5.335 E 2.835(yc)-.15 G .335 +(haracter in)-2.835 F F3(IFS)2.835 E F0 .296(that is not)108 417.6 R F3 (IFS)2.795 E F0 .295(whitespace, along with an)2.545 F 2.795(ya)-.15 G -(djacent)-2.795 E F1(IFS)2.795 E F0 .295 -(whitespace characters, delimits a \214eld.)2.545 F 2.796(As)5.296 G -(equence)-2.796 E(of)108 331.2 Q F1(IFS)3.753 E F0 1.252 -(whitespace characters is also treated as a delimiter)3.503 F 6.252(.I) --.55 G 3.752(ft)-6.252 G 1.252(he v)-3.752 F 1.252(alue of)-.25 F F1 -(IFS)3.752 E F0 1.252(is null, no w)3.502 F 1.252(ord splitting)-.1 F -(occurs.)108 343.2 Q 1.799(Explicit null ar)108 360 R 1.799(guments \() --.18 F F4 .833("").833 G F0(or)3.466 E F4 .833('')5.132 G F0 4.3(\)a)C -1.8(re retained.)-4.3 F 1.8(Unquoted implicit null ar)6.8 F 1.8 -(guments, resulting from the)-.18 F -.15(ex)108 372 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 384 Q -(gument results and is retained.)-.18 E(Note that if no e)108 400.8 Q -(xpansion occurs, no splitting is performed.)-.15 E F4 -.1(Pa)87 417.6 S -(thname Expansion).1 E F0 .37(After w)108 429.6 R .37 -(ord splitting, unless the)-.1 F F42.87 E F0 .37 -(option has been set,)2.87 F F4(bash)2.87 E F0 .371(scans each w)2.871 F -.371(ord for the characters)-.1 F F4(*)2.871 E F0(,)A F4(?)2.871 E F0 -2.871(,a)C(nd)-2.871 E F4([)2.871 E F0(.)A .678 -(If one of these characters appears, then the w)108 441.6 R .677 -(ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F F3(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 453.6 R -1.457(If no matching \214le names are found, and the shell)6.457 F -(option)108 465.6 Q F4(nullglob)3.265 E F0 .765(is disabled, the w)3.265 -F .765(ord is left unchanged.)-.1 F .765(If the)5.765 F F4(nullglob) -3.265 E F0 .765(option is set, and no matches are)3.265 F .305 -(found, the w)108 477.6 R .305(ord is remo)-.1 F -.15(ve)-.15 G 2.805 -(d. If).15 F(the)2.805 E F4(failglob)2.805 E F0 .305 +(djacent)-2.795 E F3(IFS)2.795 E F0 .295 +(whitespace characters, delimits a \214eld.)2.545 F 2.795(As)5.295 G +(equence)-2.795 E(of)108 429.6 Q F3(IFS)3.752 E F0 1.252 +(whitespace characters is also treated as a delimiter)3.502 F 6.252(.I) +-.55 G 3.752(ft)-6.252 G 1.252(he v)-3.752 F 1.252(alue of)-.25 F F3 +(IFS)3.752 E F0 1.253(is null, no w)3.502 F 1.253(ord splitting)-.1 F +(occurs.)108 441.6 Q 1.8(Explicit null ar)108 458.4 R 1.8(guments \() +-.18 F F1 .833("").833 G F0(or)3.467 E F1 .833('')5.133 G F0 4.3(\)a)C +1.8(re retained.)-4.3 F 1.799(Unquoted implicit null ar)6.8 F 1.799 +(guments, resulting from the)-.18 F -.15(ex)108 470.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 482.4 Q +(gument results and is retained.)-.18 E(Note that if no e)108 499.2 Q +(xpansion occurs, no splitting is performed.)-.15 E F1 -.1(Pa)87 516 S +(thname Expansion).1 E F0 .371(After w)108 528 R .371 +(ord splitting, unless the)-.1 F F12.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 540 R .677 +(ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F F2(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 552 R 1.456 +(If no matching \214le names are found, and the shell)6.457 F(option)108 +564 Q F1(nullglob)3.265 E F0 .765(is disabled, the w)3.265 F .765 +(ord is left unchanged.)-.1 F .765(If the)5.765 F F1(nullglob)3.265 E F0 +.765(option is set, and no matches are)3.265 F .306(found, the w)108 576 +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 489.6 R -.15(xe)-.15 G -3.428(cuted. If).15 F .928(the shell option)3.428 F F4(nocaseglob)3.428 -E F0 .928(is enabled, the match is per)3.428 F(-)-.2 E .032 -(formed without re)108 501.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 513.6 R F4 -.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 525.6 R F4(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 537.6 S(plicitly).15 E 6.166 -(.I)-.65 G 3.666(no)-6.166 G 1.166(ther cases, the)-3.666 F F4 -.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 F4(shopt)3.665 E F0(belo)3.665 E(w)-.25 -E(under)108 549.6 Q F1 .477(SHELL B)2.977 F(UIL)-.09 E .477 -(TIN COMMANDS)-.828 F F0 .477(for a description of the)2.727 F F4 -(nocaseglob)2.978 E F0(,)A F4(nullglob)2.978 E F0(,)A F4(failglob)2.978 -E F0 2.978(,a)C(nd)-2.978 E F4(dotglob)2.978 E F0(shell options.)108 -561.6 Q(The)108 578.4 Q F1(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 F3(pattern)2.63 E F0 5.13(.I).24 G(f)-5.13 E F1(GLO-)2.63 E -(BIGNORE)108 590.4 Q F0 2.015(is set, each matching \214le name that al\ -so matches one of the patterns in)4.264 F F1(GLOBIGNORE)4.515 E F0(is) -4.265 E(remo)108 602.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 F4 -.63 -(``)2.503 G -.55(.').63 G(')-.08 E F0(and)5.003 E F4 -.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 F1(GLOBIGNORE)2.503 E F0(is)2.253 E .045 -(set and not null.)108 614.4 R(Ho)5.045 E(we)-.25 E -.15(ve)-.25 G .845 --.4(r, s).15 H(etting).4 E F1(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 F4(dotglob)2.546 E F0 .614 -(shell option, so all other \214le names be)108 626.4 R .614 -(ginning with a)-.15 F F4 -.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 638.4 R .456 -(ginning with a)-.15 F F4 -.63(``)2.957 G -.55(.').63 G(')-.08 E F0 -2.957(,m)C(ak)-2.957 E(e)-.1 E F4 -.63(``)2.957 G(.*').63 E(')-.63 E F0 -.457(one of the patterns in)5.457 F F1(GLOBIGNORE)2.957 E F2(.)A F0(The) -4.957 E F4(dotglob)2.957 E F0 .457(option is)2.957 F(disabled when)108 -650.4 Q F1(GLOBIGNORE)2.5 E F0(is unset.)2.25 E F4 -.1(Pa)108 667.2 S -(tter).1 E 2.5(nM)-.15 G(atching)-2.5 E F0(An)108 684 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 696 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 708 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 720 Q(.)-.65 E -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(19)197.335 E 0 Cg EP +.928(is printed and the command is not e)108 588 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 600 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 612 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 624 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 636 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 648 Q F3 .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 660 Q(The)108 676.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 688.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 700.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 .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 712.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 724.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.214 -.8(To g)5.614 H .614(et the old beha).8 F +.614(vior of ignoring)-.2 F(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E +(19)197.335 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(The special pattern characters ha)108 84 Q .3 -.15(ve t)-.2 H -(he follo).15 E(wing meanings:)-.25 E/F1 10/Times-Bold@0 SF(*)108 100.8 -Q F0(Matches an)31 E 2.5(ys)-.15 G(tring, including the null string.) --2.5 E F1(?)108 112.8 Q F0(Matches an)31 E 2.5(ys)-.15 G -(ingle character)-2.5 E(.)-.55 E F1([...])108 124.8 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 10/Times-Italic@0 SF -.15(ra)144 136.8 -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.289(,u).15 G -.789(sing the cur)-3.289 F(-)-.2 E .349(rent locale')144 148.8 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 160.8 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 172.8 S +-.35 E .457(\214le names be)108 84 R .457(ginning with a)-.15 F/F1 10 +/Times-Bold@0 SF -.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/F2 9/Times-Bold@0 SF(GLOBIGNORE)2.957 E +/F3 9/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 96 Q F2(GLOBIGNORE)2.5 E F0 +(is unset.)2.25 E F1 -.1(Pa)108 112.8 S(tter).1 E 2.5(nM)-.15 G(atching) +-2.5 E F0(An)108 129.6 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 141.6 +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 153.6 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 165.6 Q(.)-.65 E +(The special pattern characters ha)108 182.4 Q .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E F1(*)108 199.2 Q F0(Matches an)31 +E 2.5(ys)-.15 G(tring, including the null string.)-2.5 E F1(?)108 211.2 +Q F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 E F1 +([...])108 223.2 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 +/F4 10/Times-Italic@0 SF -.15(ra)144 235.2 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 +(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 247.2 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 259.2 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 271.2 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.103(shell v) -3.603 F(ari-)-.25 E .089(able, if set.)144 184.8 R(A)5.089 E F12.589 +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 283.2 R(A)5.088 E F12.588 E F0 .088(may be matched by including it as the \214rst or last charact\ -er in the set.)2.589 F(A)5.088 E F1(])2.588 E F0 .088(may be)2.588 F -(matched by including it as the \214rst character in the set.)144 196.8 -Q -.4(Wi)144 214.8 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.915(,w)C(here)-2.915 E F2(class)2.915 E F0 .415(is one of) -2.915 F(the follo)144 226.8 Q +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 295.2 +Q -.4(Wi)144 313.2 S(thin).4 E F1([)2.915 E F0(and)2.915 E F1(])2.915 E +F0(,)A F4 -.15(ch)2.915 G(ar).15 E .415(acter classes)-.15 F F0 .415 +(can be speci\214ed using the syntax)2.915 F F1([:)2.915 E F4(class)A F1 +(:])A F0 2.914(,w)C(here)-2.914 E F4(class)2.914 E F0 .414(is one of) +2.914 F(the follo)144 325.2 Q (wing classes de\214ned in the POSIX.2 standard:)-.25 E F1 5.421 -(alnum alpha ascii blank cntrl digit graph lo)144 238.8 R 5.421 -(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 250.8 Q F0 -2.518(Ac)144 262.8 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 274.8 Q -.4(Wi)144 292.8 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\ +(alnum alpha ascii blank cntrl digit graph lo)144 337.2 R 5.421 +(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 349.2 Q F0 +2.519(Ac)144 361.2 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 373.2 Q -.4(Wi)144 391.2 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 F4 1.046(equivalence class)3.546 F F0 1.046 +(can be speci\214ed using the syntax)3.546 F F1([=)3.547 E F4(c)A F1(=]) +A F0 3.547(,w)C 1.047(hich matches all)-3.547 F(characters with the sam\ e collation weight \(as de\214ned by the current locale\) as the charac\ -ter)144 304.8 Q F2(c)2.5 E F0(.)A -.4(Wi)144 322.8 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 .704(If the)108 339.6 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 -351.6 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F2 +ter)144 403.2 Q F4(c)2.5 E F0(.)A -.4(Wi)144 421.2 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 F4 +(symbol)A F1(.])A F0(matches the collating symbol)2.5 E F4(symbol)2.5 E +F0(.)A .705(If the)108 438 R F1(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 450 +R .255(In the follo)5.255 F .255(wing description, a)-.25 F F4 (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 +(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 363.6 Q(wing sub-patterns:)-.25 E F1(?\()144 387.6 Q F2 +108 462 Q(wing sub-patterns:)-.25 E F1(?\()144 486 Q F4(pattern-list) +.833 E F1(\)).833 E F0(Matches zero or one occurrence of the gi)180 498 +Q -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(*\()144 510 Q F4 (pattern-list).833 E F1(\)).833 E F0 -(Matches zero or one occurrence of the gi)180 399.6 Q -.15(ve)-.25 G 2.5 -(np).15 G(atterns)-2.5 E F1(*\()144 411.6 Q F2(pattern-list).833 E F1 -(\)).833 E F0(Matches zero or more occurrences of the gi)180 423.6 Q --.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 435.6 Q F2 -(pattern-list).833 E F1(\)).833 E F0 -(Matches one or more occurrences of the gi)180 447.6 Q -.15(ve)-.25 G -2.5(np).15 G(atterns)-2.5 E F1(@\()144 459.6 Q F2(pattern-list).833 E F1 -(\)).833 E F0(Matches e)180 471.6 Q(xactly one of the gi)-.15 E -.15(ve) --.25 G 2.5(np).15 G(atterns)-2.5 E F1(!\()144 483.6 Q F2(pattern-list) -.833 E F1(\)).833 E F0(Matches an)180 495.6 Q(ything e)-.15 E +(Matches zero or more occurrences of the gi)180 522 Q -.15(ve)-.25 G 2.5 +(np).15 G(atterns)-2.5 E F1(+\()144 534 Q F4(pattern-list).833 E F1(\)) +.833 E F0(Matches one or more occurrences of the gi)180 546 Q -.15(ve) +-.25 G 2.5(np).15 G(atterns)-2.5 E F1(@\()144 558 Q F4(pattern-list).833 +E F1(\)).833 E F0(Matches e)180 570 Q(xactly one of the gi)-.15 E -.15 +(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(!\()144 582 Q F4(pattern-list) +.833 E F1(\)).833 E F0(Matches an)180 594 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 512.4 Q -.1(va)-.1 G(l).1 E F0 1.08 -(After the preceding e)108 524.4 R 1.08 +F1(Quote Remo)87 610.8 Q -.1(va)-.1 G(l).1 E F0 1.081 +(After the preceding e)108 622.8 R 1.08 (xpansions, all unquoted occurrences of the characters)-.15 F F1(\\)3.58 -E F0(,)A F1(')3.58 E F0 3.58(,a)C(nd)-3.58 E F1(")4.413 E F0 1.081 -(that did not result)4.414 F(from one of the abo)108 536.4 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 553.2 Q F0 .545(Before a command is e) -108 565.2 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 .616(by the shell.)108 -577.2 R .617(Redirection may also be used to open and 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 589.2 R(follo)3.275 E .774 +E F0(,)A F1(')3.58 E F0 3.58(,a)C(nd)-3.58 E F1(")4.413 E F0 1.08 +(that did not result)4.413 F(from one of the abo)108 634.8 Q .3 -.15 +(ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F5 10.95 +/Times-Bold@0 SF(REDIRECTION)72 651.6 Q F0 .545(Before a command is e) +108 663.6 R -.15(xe)-.15 G .545(cuted, its input and output may be).15 F +F4 -.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 +675.6 R .617(Redirection may also be used to open and 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 687.6 R(follo)3.274 E .774 (wing redirection operators may precede or appear an)-.25 F .774 -(ywhere within a)-.15 F F2 .774(simple command)3.614 F F0(or)4.044 E -(may follo)108 601.2 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G +(ywhere within a)-.15 F F4 .775(simple command)3.615 F F0(or)4.045 E +(may follo)108 699.6 Q 2.5(wa)-.25 G F4(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 .447(In the follo)108 618 -R .447(wing descriptions, if the \214le descriptor number is omitted, a\ -nd the \214rst character of the redirec-)-.25 F .366(tion operator is) -108 630 R F1(<)2.866 E F0 2.866(,t)C .366 +-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .448(In the follo)108 +716.4 R .447(wing descriptions, if the \214le descriptor number is omit\ +ted, and the \214rst character of the redirec-)-.25 F .365 +(tion operator is)108 728.4 R F1(<)2.865 E F0 2.865(,t)C .366 (he redirection refers to the standard input \(\214le descriptor 0\).) --2.866 F .365(If the \214rst character of the)5.366 F -(redirection operator is)108 642 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 658.8 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 670.8 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 682.8 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 694.8 Q(.)-.55 E -(Note that the order of redirections is signi\214cant.)108 711.6 Q -.15 -(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 728.4 Q F1(>)2.5 -E F0(dirlist 2)2.5 E F1(>&)A F0(1)A(GNU Bash-3.0)72 768 Q(2004 June 26) -147.345 E(20)197.335 E 0 Cg EP +-2.865 F .366(If the \214rst character of the)5.366 F(GNU Bash-3.0)72 +768 Q(2004 June 26)147.345 E(20)197.335 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(directs both standard output and standard error to the \214le)108 -84 Q/F1 10/Times-Italic@0 SF(dirlist)2.5 E F0 2.5(,w).68 G -(hile the command)-2.5 E(ls 2)144 100.8 Q/F2 10/Times-Bold@0 SF(>&)A F0 -(1)A F2(>)2.5 E F0(dirlist)2.5 E .388 -(directs only the standard output to \214le)108 117.6 R F1(dirlist)2.888 -E F0 2.888(,b).68 G .387(ecause the standard error w)-2.888 F .387 -(as duplicated as standard output)-.1 F(before the standard output w)108 -129.6 Q(as redirected to)-.1 E F1(dirlist)2.5 E F0(.).68 E F2(Bash)108 -146.4 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 158.4 Q F2(/de)144 175.2 Q(v/fd/)-.15 E F1(fd)A F0(If)180 -187.2 Q F1(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 F1(fd)2.5 E F0(is duplicated.)2.5 E F2 -(/de)144 199.2 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)180 -211.2 Q F2(/de)144 223.2 Q(v/stdout)-.15 E F0 -(File descriptor 1 is duplicated.)180 235.2 Q F2(/de)144 247.2 Q -(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 259.2 Q F2(/de) -144 271.2 Q(v/tcp/)-.15 E F1(host)A F2(/)A F1(port)A F0(If)180 283.2 Q -F1(host)2.997 E F0 .497(is a v)2.997 F .497 -(alid hostname or Internet address, and)-.25 F F1(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 295.2 Q F2(bash)2.5 E F0 -(attempts to open a TCP connection to the corresponding sock)2.5 E(et.) --.1 E F2(/de)144 307.2 Q(v/udp/)-.15 E F1(host)A F2(/)A F1(port)A F0(If) -180 319.2 Q F1(host)2.996 E F0 .496(is a v)2.996 F .496 -(alid hostname or Internet address, and)-.25 F F1(port)2.997 E F0 .497 +-.35 E(redirection operator is)108 84 Q/F1 10/Times-Bold@0 SF(>)2.5 E F0 +2.5(,t)C +(he redirection refers to the standard output \(\214le descriptor 1\).) +-2.5 E .825(The w)108 100.8 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 112.8 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 124.8 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.343 E F0 +(reports an error)108 136.8 Q(.)-.55 E +(Note that the order of redirections is signi\214cant.)108 153.6 Q -.15 +(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 170.4 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 187.2 +Q/F2 10/Times-Italic@0 SF(dirlist)2.5 E F0 2.5(,w).68 G +(hile the command)-2.5 E(ls 2)144 204 Q F1(>&)A F0(1)A F1(>)2.5 E F0 +(dirlist)2.5 E .387(directs only the standard output to \214le)108 220.8 +R F2(dirlist)2.887 E F0 2.887(,b).68 G .388(ecause the standard error w) +-2.887 F .388(as duplicated as standard output)-.1 F +(before the standard output w)108 232.8 Q(as redirected to)-.1 E F2 +(dirlist)2.5 E F0(.).68 E F1(Bash)108 249.6 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 261.6 Q F1(/de)144 278.4 Q(v/fd/)-.15 E F2(fd)A +F0(If)180 290.4 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 302.4 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.) +180 314.4 Q F1(/de)144 326.4 Q(v/stdout)-.15 E F0 +(File descriptor 1 is duplicated.)180 338.4 Q F1(/de)144 350.4 Q +(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 362.4 Q F1(/de) +144 374.4 Q(v/tcp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 386.4 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 331.2 Q F2(bash)2.5 E F0 +(vice name,)180 398.4 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 410.4 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If) +180 422.4 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 434.4 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 348 S +-.1 E 2.5(Af)108 451.2 S (ailure to open or create a \214le causes the redirection to f)-2.6 E -(ail.)-.1 E F2(Redir)87 364.8 Q(ecting Input)-.18 E F0 .391 +(ail.)-.1 E F1(Redir)87 468 Q(ecting Input)-.18 E F0 .391 (Redirection of input causes the \214le whose name results from the e) -108 376.8 R .391(xpansion of)-.15 F F1(wor)3.231 E(d)-.37 E F0 .391 -(to be opened for read-)3.661 F(ing on \214le descriptor)108 388.8 Q F1 -(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 F1(n)2.86 E F0 +108 480 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 492 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 405.6 Q([)144 422.4 Q -F1(n)A F0(])A F2(<)A F1(wor)A(d)-.37 E F2(Redir)87 439.2 Q -(ecting Output)-.18 E F0 .174 +(The general format for redirecting input is:)108 508.8 Q([)144 525.6 Q +F2(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 542.4 Q +(ecting Output)-.18 E F0 .175 (Redirection of output causes the \214le whose name results from the e) -108 451.2 R .175(xpansion of)-.15 F F1(wor)3.015 E(d)-.37 E F0 .175 -(to be opened for writ-)3.445 F .825(ing on \214le descriptor)108 463.2 -R F1(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 F1(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 475.2 S(ist it is created; if it does e).15 E +108 554.4 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 566.4 +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 578.4 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 492 Q([)144 508.8 Q -F1(n)A F0(])A F2(>)A F1(wor)A(d)-.37 E F0 .154 -(If the redirection operator is)108 525.6 R F2(>)2.654 E F0 2.654(,a)C -.154(nd the)-2.654 F F2(noclob)2.654 E(ber)-.1 E F0 .154(option to the) -2.654 F F2(set)2.655 E F0 -.2(bu)2.655 G .155 -(iltin has been enabled, the redirection).2 F .077(will f)108 537.6 R +(The general format for redirecting output is:)108 595.2 Q([)144 612 Q +F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .155 +(If the redirection operator is)108 628.8 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 .076(will f)108 640.8 R .076(ail if the \214le whose name results from the e)-.1 F .076 -(xpansion of)-.15 F F1(wor)2.576 E(d)-.37 E F0 -.15(ex)2.576 G .076 -(ists and is a re).15 F .076(gular \214le.)-.15 F .076(If the redirec-) -5.076 F .547(tion operator is)108 549.6 R F2(>|)3.047 E F0 3.047(,o)C -3.047(rt)-3.047 G .547(he redirection operator is)-3.047 F F2(>)3.047 E -F0 .547(and the)3.047 F F2(noclob)3.047 E(ber)-.1 E F0 .548 -(option to the)3.048 F F2(set)3.048 E F0 -.2(bu)3.048 G .548 +(xpansion of)-.15 F F2(wor)2.576 E(d)-.37 E F0 -.15(ex)2.576 G .076 +(ists and is a re).15 F .077(gular \214le.)-.15 F .077(If the redirec-) +5.077 F .548(tion operator is)108 652.8 R F1(>|)3.048 E F0 3.048(,o)C +3.048(rt)-3.048 G .548(he redirection operator is)-3.048 F F1(>)3.047 E +F0 .547(and the)3.047 F F1(noclob)3.047 E(ber)-.1 E F0 .547 +(option to the)3.047 F F1(set)3.047 E F0 -.2(bu)3.047 G .547 (iltin command is).2 F(not enabled, the redirection is attempted e)108 -561.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by) --2.5 E F1(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F2 -.25(Ap)87 -578.4 S(pending Redir).25 E(ected Output)-.18 E F0 .642 -(Redirection of output in this f)108 590.4 R .642 -(ashion causes the \214le whose name results from the e)-.1 F .641 -(xpansion of)-.15 F F1(wor)3.481 E(d)-.37 E F0 .641(to be)3.911 F .473 -(opened for appending on \214le descriptor)108 602.4 R F1(n)2.973 E F0 +664.8 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 +681.6 S(pending Redir).25 E(ected Output)-.18 E F0 .641 +(Redirection of output in this f)108 693.6 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 705.6 R F2(n)2.974 E F0 2.974(,o).24 G 2.974(rt)-2.974 G .474 -(he standard output \(\214le descriptor 1\) if)-2.974 F F1(n)3.334 E F0 -.474(is not speci\214ed.)3.214 F(If)5.474 E(the \214le does not e)108 -614.4 Q(xist it is created.)-.15 E -(The general format for appending output is:)108 631.2 Q([)144 648 Q F1 -(n)A F0(])A F2(>>)A F1(wor)A(d)-.37 E F2(Redir)87 669.6 Q -(ecting Standard Output and Standard Err)-.18 E(or)-.18 E(Bash)108 681.6 -Q F0(allo)3.142 E .642(ws both the standard output \(\214le descriptor \ -1\) and the standard error output \(\214le descriptor 2\) to)-.25 F -(be redirected to the \214le whose name is the e)108 693.6 Q -(xpansion of)-.15 E F1(wor)2.84 E(d)-.37 E F0(with this construct.)3.27 -E(There are tw)108 710.4 Q 2.5(of)-.1 G -(ormats for redirecting standard output and standard error:)-2.5 E F2 -(&>)144 727.2 Q F1(wor)A(d)-.37 E F0(GNU Bash-3.0)72 768 Q(2004 June 26) +(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 +717.6 Q(xist it is created.)-.15 E(GNU Bash-3.0)72 768 Q(2004 June 26) 147.345 E(21)197.335 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(and)108 84 Q/F1 10/Times-Bold@0 SF(>&)144 96 Q/F2 10 -/Times-Italic@0 SF(wor)A(d)-.37 E F0(Of the tw)108 112.8 Q 2.5(of)-.1 G +-.35 E(The general format for appending output is:)108 84 Q([)144 100.8 +Q/F1 10/Times-Italic@0 SF(n)A F0(])A/F2 10/Times-Bold@0 SF(>>)A F1(wor)A +(d)-.37 E F2(Redir)87 122.4 Q(ecting Standard Output and Standard Err) +-.18 E(or)-.18 E(Bash)108 134.4 Q F0(allo)3.141 E .642(ws both the stan\ +dard output \(\214le descriptor 1\) and the standard error output \(\ +\214le descriptor 2\) to)-.25 F +(be redirected to the \214le whose name is the e)108 146.4 Q +(xpansion of)-.15 E F1(wor)2.84 E(d)-.37 E F0(with this construct.)3.27 +E(There are tw)108 163.2 Q 2.5(of)-.1 G +(ormats for redirecting standard output and standard error:)-2.5 E F2 +(&>)144 180 Q F1(wor)A(d)-.37 E F0(and)108 192 Q F2(>&)144 204 Q F1(wor) +A(d)-.37 E F0(Of the tw)108 220.8 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 129.6 Q F2(wor)A(d)-.37 E F0(2)2.5 -E F1(>&)A F0(1)A F1(Her)87 146.4 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33 +-.25(va)-.25 G(lent to).25 E F2(>)144 237.6 Q F1(wor)A(d)-.37 E F0(2)2.5 +E F2(>&)A F0(1)A F2(Her)87 254.4 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33 (This type of redirection instructs the shell to read input from the cu\ -rrent source until a line containing only)108 158.4 R F2(wor)108.34 -170.4 Q(d)-.37 E F0 .684(\(with no trailing blanks\) is seen.)3.954 F +rrent source until a line containing only)108 266.4 R F1(wor)108.34 +278.4 Q(d)-.37 E F0 .683(\(with no trailing blanks\) is seen.)3.953 F .684 (All of the lines read up to that point are then used as the standard) -5.684 F(input for a command.)108 182.4 Q -(The format of here-documents is:)108 199.2 Q F1(<<)144 216 Q F0([)A F1 -A F0(])A F2(wor)A(d)-.37 E(her)164 228 Q(e-document)-.37 E -(delimiter)144 240 Q F0 .127(No parameter e)108 256.8 R .127 +5.684 F(input for a command.)108 290.4 Q +(The format of here-documents is:)108 307.2 Q F2(<<)144 324 Q F0([)A F2 +A F0(])A F1(wor)A(d)-.37 E(her)164 336 Q(e-document)-.37 E +(delimiter)144 348 Q F0 .128(No parameter e)108 364.8 R .127 (xpansion, command substitution, arithmetic e)-.15 F .127 -(xpansion, or pathname e)-.15 F .128(xpansion is performed)-.15 F(on)108 -268.8 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 -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 280.8 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 292.8 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 304.8 Q F1(\\)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(`)2.5 E F0(.)A .601 -(If the redirection operator is)108 321.6 R F1(<<\255)3.101 E F0 3.101 +(xpansion, or pathname e)-.15 F .127(xpansion is performed)-.15 F(on)108 +376.8 Q F1(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 F1(wor)3.614 E(d)-.37 E +F0 .774(are quoted, the)4.044 F F1(delimiter)3.624 E F0 .774 +(is the result of quote remo)4.004 F -.25(va)-.15 G 3.275(lo).25 G(n) +-3.275 E F1(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 388.8 R 3.405(xpanded. If) +-.15 F F1(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 400.8 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 412.8 Q F2(\\)2.5 E F0(is ignored, and) +2.5 E F2(\\)2.5 E F0(must be used to quote the characters)2.5 E F2(\\) +2.5 E F0(,)A F2($)2.5 E F0 2.5(,a)C(nd)-2.5 E F2(`)2.5 E F0(.)A .602 +(If the redirection operator is)108 429.6 R F2(<<\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 333.6 Q F2(delimiter)2.5 E F0 5 + and the line)-3.101 F(containing)108 441.6 Q F1(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 350.4 Q 2.5(eS)-.18 G(trings)-2.5 E F0 -2.5(Av)108 362.4 S(ariant of here documents, the format is:)-2.75 E F1 -(<<<)144 379.2 Q F2(wor)A(d)-.37 E F0(The)108 396 Q F2(wor)2.5 E(d)-.37 +-.25 E(ashion.)-.1 E F2(Her)87 458.4 Q 2.5(eS)-.18 G(trings)-2.5 E F0 +2.5(Av)108 470.4 S(ariant of here documents, the format is:)-2.75 E F2 +(<<<)144 487.2 Q F1(wor)A(d)-.37 E F0(The)108 504 Q F1(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 412.8 Q F0(The redirection operator)108 -424.8 Q([)144 441.6 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .127 -(is used to duplicate input \214le descriptors.)108 458.4 R(If)5.127 E -F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126 +(xpanded and supplied to the command on its standard input.)-.15 E F2 +(Duplicating File Descriptors)87 520.8 Q F0(The redirection operator)108 +532.8 Q([)144 549.6 Q F1(n)A F0(])A F2(<&)A F1(wor)A(d)-.37 E F0 .126 +(is used to duplicate input \214le descriptors.)108 566.4 R(If)5.127 E +F1(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 -470.4 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 482.4 R(If)5.15 E F2(wor) -2.99 E(d)-.37 E F0 -.25(eva)3.42 G .15(luates to).25 F F12.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 494.4 Q -(The operator)108 511.2 Q([)144 528 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 544.8 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 556.8 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 568.8 R 2.596 -(as)2.596 G .096(pecial case, if)-2.596 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) +578.4 Q F1(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 F1(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 590.4 R(If)5.149 E F1(wor) +2.989 E(d)-.37 E F0 -.25(eva)3.419 G .149(luates to).25 F F22.649 E +F0 2.65<2c8c>C .15(le descriptor)-2.65 F F1(n)3.01 E F0 .15(is closed.) +2.89 F(If)5.15 E F1(n)3.01 E F0 .15(is not speci\214ed,)2.89 F +(the standard input \(\214le descriptor 0\) is used.)108 602.4 Q +(The operator)108 619.2 Q([)144 636 Q F1(n)A F0(])A F2(>&)A F1(wor)A(d) +-.37 E F0 .444 +(is used similarly to duplicate output \214le descriptors.)108 652.8 R +(If)5.444 E F1(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 664.8 R 1.357(If the digits in)6.357 F F1(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 676.8 R 2.597 +(as)2.597 G .097(pecial case, if)-2.597 F F1(n)2.596 E F0 .096 +(is omitted, and)2.596 F F1(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 580.8 Q -(viously)-.25 E(.)-.65 E F1(Mo)87 597.6 Q(ving File Descriptors)-.1 E F0 -(The redirection operator)108 609.6 Q([)144 626.4 Q F2(n)A F0(])A F1(<&) -A F2(digit)A F1A F0(mo)108 643.2 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 655.2 Q F2(digit)5 -E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A -(Similarly)108 672 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)144 -688.8 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1A F0(mo)108 705.6 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 717.6 Q(GNU Bash-3.0)72 768 Q +(put and standard error are redirected as described pre)108 688.8 Q +(viously)-.25 E(.)-.65 E F2(Mo)87 705.6 Q(ving File Descriptors)-.1 E F0 +(The redirection operator)108 717.6 Q(GNU Bash-3.0)72 768 Q (2004 June 26)147.345 E(22)197.335 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/F1 10/Times-Bold@0 SF(Opening File Descriptors f)87 84 Q -(or Reading and Writing)-.25 E F0(The redirection operator)108 96 Q([) -144 112.8 Q/F2 10/Times-Italic@0 SF(n)A F0(])A F1(<>)A F2(wor)A(d)-.37 E -F0 1.349(causes the \214le whose name is the e)108 129.6 R 1.349 -(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349 +-.35 E([)144 84 Q/F1 10/Times-Italic@0 SF(n)A F0(])A/F2 10/Times-Bold@0 +SF(<&)A F1(digit)A F2A F0(mo)108 100.8 Q -.15(ve)-.15 G 3.035(st).15 +G .535(he \214le descriptor)-3.035 F F1(digit)3.035 E F0 .535 +(to \214le descriptor)3.035 F F1(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 F1 +(n)3.036 E F0 .536(is not speci-)3.036 F(\214ed.)108 112.8 Q F1(digit)5 +E F0(is closed after being duplicated to)2.5 E F1(n)2.5 E F0(.)A +(Similarly)108 129.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([) +144 146.4 Q F1(n)A F0(])A F2(>&)A F1(digit)A F2A F0(mo)108 163.2 Q +-.15(ve)-.15 G 2.786(st).15 G .286(he \214le descriptor)-2.786 F F1 +(digit)2.786 E F0 .286(to \214le descriptor)2.786 F F1(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 F1(n)2.785 E F0 +.285(is not speci-)2.785 F(\214ed.)108 175.2 Q F2 +(Opening File Descriptors f)87 192 Q(or Reading and Writing)-.25 E F0 +(The redirection operator)108 204 Q([)144 220.8 Q F1(n)A F0(])A F2(<>)A +F1(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108 +237.6 R 1.349(xpansion of)-.15 F F1(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 141.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 +108 249.6 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/F3 10.95 -/Times-Bold@0 SF(ALIASES)72 158.4 Q F2(Aliases)108 170.4 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 +/Times-Bold@0 SF(ALIASES)72 266.4 Q F1(Aliases)108 278.4 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 182.4 R F1(alias)2.893 E F0 -(and)2.893 E F1(unalias)2.893 E F0 -.2(bu)2.893 G .393(iltin commands).2 -F(\(see)108 194.4 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 206.4 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 F1(/)2.972 E F0(,)A -F1($)2.972 E F0(,)A F1(`)2.972 E F0(,)A(and)108 218.4 Q F1(=)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 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.412 -.15(ve m)-.15 H 1.112 -(ay not appear in an alias).15 F 3.62(name. The)108 230.4 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 242.4 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 254.4 R .296(xpanded a second time.)-.15 F .296 -(This means that one may alias)5.296 F F1(ls)2.796 E F0(to)2.796 E F1 -.296(ls \255F)2.796 F F0 2.796(,f)C .295(or instance, and)-2.796 F F1 -(bash)2.795 E F0 .295(does not try)2.795 F .542(to recursi)108 266.4 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 F2(blank)3.043 E F0 3.043(,t).67 G .543(hen the ne) --3.043 F(xt)-.15 E(command w)108 278.4 Q(ord follo)-.1 E +ses that may be set and unset with the)108 290.4 R F2(alias)2.894 E F0 +(and)2.894 E F2(unalias)2.894 E F0 -.2(bu)2.894 G .394(iltin commands).2 +F(\(see)108 302.4 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 314.4 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 F2(/)2.973 E F0(,)A +F2($)2.973 E F0(,)A F2(`)2.973 E F0(,)A(and)108 326.4 Q F2(=)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 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.411 -.15(ve m)-.15 H 1.111 +(ay not appear in an alias).15 F 3.619(name. The)108 338.4 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 350.4 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 362.4 R .295(xpanded a second time.)-.15 F .296 +(This means that one may alias)5.295 F F2(ls)2.796 E F0(to)2.796 E F2 +.296(ls \255F)2.796 F F0 2.796(,f)C .296(or instance, and)-2.796 F F2 +(bash)2.796 E F0 .296(does not try)2.796 F .543(to recursi)108 374.4 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 F1(blank)3.042 E F0 3.042(,t).67 G .542(hen the ne) +-3.042 F(xt)-.15 E(command w)108 386.4 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 295.2 Q F1(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 F1 +E(Aliases are created and listed with the)108 403.2 Q F2(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 F2 (unalias)2.5 E F0(command.)2.5 E .284 -(There is no mechanism for using ar)108 312 R .284 +(There is no mechanism for using ar)108 420 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 324 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22 -(Aliases are not e)108 340.8 R 1.22 +108 432 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22 +(Aliases are not e)108 448.8 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 F1(expand_aliases)3.72 E F0 1.22 -(shell option is set)3.72 F(using)108 352.8 Q F1(shopt)2.5 E F0 -(\(see the description of)2.5 E F1(shopt)2.5 E F0(under)2.5 E F4 +.15 G 1.22(nless the)-3.72 F F2(expand_aliases)3.72 E F0 1.22 +(shell option is set)3.72 F(using)108 460.8 Q F2(shopt)2.5 E F0 +(\(see the description of)2.5 E F2(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 -369.6 R .435(what confusing.)-.25 F F1(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 381.6 R -.15(xe)-.15 G .338 +477.6 R .436(what confusing.)-.25 F F2(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 489.6 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 393.6 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 501.6 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 405.6 R 3.662(ee)-.1 G -.25(ff)-3.662 +(an alias de\214nition appearing on the same line as)3.404 F 1.162 +(another command does not tak)108 513.6 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 417.6 R .277 +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 525.6 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 -429.6 R -.15(xe)-.15 G 3.198(cuted. Aliases).15 F .698(are e)3.198 F +2.777 E .277(vior is also an issue when functions)-.2 F .699(are e)108 +537.6 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 .495 -(because a function de\214nition is itself a compound command.)108 441.6 -R .494(As a consequence, aliases de\214ned in a func-)5.494 F .084 -(tion are not a)108 453.6 R -.25(va)-.2 G .084 +n is e)-.15 F -.15(xe)-.15 G(cuted,).15 E .494 +(because a function de\214nition is itself a compound command.)108 549.6 +R .495(As a consequence, aliases de\214ned in a func-)5.494 F .085 +(tion are not a)108 561.6 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 465.6 Q F1(alias)2.5 E F0 -(in compound commands.)2.5 E -.15(Fo)108 482.4 S 2.5(ra).15 G(lmost e) +-.1(wa)-.1 G .084(ys put alias de\214nitions on a sepa-).1 F +(rate line, and do not use)108 573.6 Q F2(alias)2.5 E F0 +(in compound commands.)2.5 E -.15(Fo)108 590.4 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 F3 -(FUNCTIONS)72 499.2 Q F0 3.468(As)108 511.2 S .968 -(hell function, de\214ned as described abo)-3.468 F 1.267 -.15(ve u)-.15 +(FUNCTIONS)72 607.2 Q F0 3.467(As)108 619.2 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 523.2 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 535.2 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 547.2 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 559.2 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 631.2 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 643.2 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 655.2 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 667.2 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 571.2 -R F1(#)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 -1.018(ment of the)108 583.2 R F4(FUNCN)3.518 E(AME)-.18 E F0 -.25(va) -3.268 G 1.017 +-.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 679.2 +R F2(#)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 +1.017(ment of the)108 691.2 R F4(FUNCN)3.517 E(AME)-.18 E F0 -.25(va) +3.267 G 1.017 (riable is set to the name of the function while the function is e).25 F --.15(xe)-.15 G 3.517(cuting. All).15 F 1.285 -(other aspects of the shell e)108 595.2 R -.15(xe)-.15 G 1.285 +-.15(xe)-.15 G 3.518(cuting. All).15 F 1.285 +(other aspects of the shell e)108 703.2 R -.15(xe)-.15 G 1.285 (cution en).15 F 1.285 (vironment are identical between a function and its caller with the)-.4 -F -.15(ex)108 607.2 S 1.961(ception that the).15 F F4(DEB)4.461 E(UG) --.09 E F0 1.961(trap \(see the description of the)4.211 F F1(trap)4.46 E -F0 -.2(bu)4.46 G 1.96(iltin under).2 F F4 1.96(SHELL B)4.46 F(UIL)-.09 E -1.96(TIN COM-)-.828 F(MANDS)108 619.2 Q F0(belo)2.342 E .092 +F -.15(ex)108 715.2 S 1.96(ception that the).15 F F4(DEB)4.46 E(UG)-.09 +E F0 1.961(trap \(see the description of the)4.21 F F2(trap)4.461 E F0 +-.2(bu)4.461 G 1.961(iltin under).2 F F4 1.961(SHELL B)4.461 F(UIL)-.09 +E 1.961(TIN COM-)-.828 F(MANDS)108 727.2 Q F0(belo)2.343 E .092 (w\) is not inherited unless the function has been gi)-.25 F -.15(ve) --.25 G 2.592(nt).15 G(he)-2.592 E F1(trace)2.592 E F0(attrib)2.592 E -.092(ute \(see the description of)-.2 F(the)108 631.2 Q F4(declar)3.116 -E(e)-.162 E F0 -.2(bu)2.866 G .616(iltin belo).2 F .616(w\) or the)-.25 -F F1 .616(\255o functrace)3.116 F F0 .616 -(shell option has been enabled with the)3.116 F F1(set)3.115 E F0 -.2 -(bu)3.115 G .615(iltin \(in which).2 F(case all functions inherit the) -108 643.2 Q F1(DEB)2.5 E(UG)-.1 E F0(trap\).)2.5 E -1.11(Va)108 660 S -.655(riables local to the function may be declared with the)1.11 F F1 -(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 672 Q +-.25 G 2.592(nt).15 G(he)-2.592 E F2(trace)2.592 E F0(attrib)2.592 E +.092(ute \(see the description of)-.2 F(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(23)197.335 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(the)108 84 Q/F1 9/Times-Bold@0 SF(declar)3.115 E(e)-.162 E F0 -.2 +(bu)2.865 G .615(iltin belo).2 F .615(w\) or the)-.25 F/F2 10 +/Times-Bold@0 SF .616(\255o functrace)3.115 F F0 .616 +(shell option has been enabled with the)3.116 F F2(set)3.116 E F0 -.2 +(bu)3.116 G .616(iltin \(in which).2 F(case all functions inherit the) +108 96 Q F2(DEB)2.5 E(UG)-.1 E F0(trap\).)2.5 E -1.11(Va)108 112.8 S +.656(riables local to the function may be declared with the)1.11 F F2 +(local)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 124.8 Q (alues are shared between the function and its caller)-.25 E(.)-.55 E -.044(If the b)108 688.8 R .043(uiltin command)-.2 F F1 -.18(re)2.543 G +.043(If the b)108 141.6 R .043(uiltin command)-.2 F F2 -.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 700.8 R 1.011 +.044(cution resumes with).15 F 1.012(the ne)108 153.6 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 F1(RETURN)3.512 E F0 1.012 -(trap is e)3.512 F -.15(xe)-.15 G(cuted).15 E .214(before e)108 712.8 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 F2(RETURN)3.511 E F0 1.011 +(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 165.6 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 724.8 Q F1(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E +108 177.6 Q F2(#)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(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(23) -197.335 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 1.358(Function names and de\214nitions may be listed with the)108 -84 R/F1 10/Times-Bold@0 SF3.858 E F0 1.358(option to the)3.858 F -F1(declar)3.858 E(e)-.18 E F0(or)3.859 E F1(typeset)3.859 E F0 -.2(bu) -3.859 G 1.359(iltin com-).2 F 3.39(mands. The)108 96 R F13.39 E F0 -.89(option to)3.39 F F1(declar)3.39 E(e)-.18 E F0(or)3.39 E F1(typeset) -3.39 E F0 .89 +-2.65 G(cution.).15 E 1.359 +(Function names and de\214nitions may be listed with the)108 194.4 R F2 +3.858 E F0 1.358(option to the)3.858 F F2(declar)3.858 E(e)-.18 E +F0(or)3.858 E F2(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F +3.39(mands. The)108 206.4 R F23.39 E F0 .89(option to)3.39 F F2 +(declar)3.39 E(e)-.18 E F0(or)3.39 E F2(typeset)3.39 E F0 .89 (will list the function names only \(and optionally the source)3.39 F -.326(\214le and line number)108 108 R 2.826(,i)-.4 G 2.826(ft)-2.826 G -(he)-2.826 E F1(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 .012(automatically ha)108 120 R .312 --.15(ve t)-.2 H .011(hem de\214ned with the).15 F F12.511 E F0 -.011(option to the)2.511 F F1(export)2.511 E F0 -.2(bu)2.511 G 2.511 -(iltin. Note).2 F .011(that shell functions and v)2.511 F(ari-)-.25 E -.187(ables with the same name may result in multiple identically-named \ -entries in the en)108 132 R .188(vironment passed to the)-.4 F(shell') -108 144 Q 2.5(sc)-.55 G 2.5(hildren. Care)-2.5 F(should be tak)2.5 E +.327(\214le and line number)108 218.4 R 2.827(,i)-.4 G 2.827(ft)-2.827 G +(he)-2.827 E F2(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 .011(automatically ha)108 230.4 R .311 +-.15(ve t)-.2 H .011(hem de\214ned with the).15 F F22.511 E F0 +.011(option to the)2.511 F F2(export)2.511 E F0 -.2(bu)2.511 G 2.511 +(iltin. Note).2 F .012(that shell functions and v)2.511 F(ari-)-.25 E +.188(ables with the same name may result in multiple identically-named \ +entries in the en)108 242.4 R .187(vironment passed to the)-.4 F(shell') +108 254.4 Q 2.5(sc)-.55 G 2.5(hildren. Care)-2.5 F(should be tak)2.5 E (en in cases where this may cause a problem.)-.1 E -(Functions may be recursi)108 160.8 Q -.15(ve)-.25 G 5(.N).15 G 2.5(ol) +(Functions may be recursi)108 271.2 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 177.6 Q(ALU) --1.478 E -1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 189.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.797 E F0(and)4.797 E F1(declar)108 201.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 213.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 -225.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 237.6 Q -.15 +(alls.).15 E/F3 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 288 Q(ALU)-1.478 +E -1.04(AT)-.657 G(ION)1.04 E F0 2.297(The shell allo)108 300 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 F2(let)4.798 E +F0(and)4.798 E F2(declar)108 312 Q(e)-.18 E F0 -.2(bu)2.706 G .206 +(iltin commands and).2 F F2 .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 324 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 +336 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 348 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 254.4 Q F1(++)A F3(id)2.5 E F1A F0 -.25 -(va)144 266.4 S(riable post-increment and post-decrement).25 E F1(++)108 -278.4 Q F3(id)A F12.5 E F3(id)A F0 -.25(va)144 290.4 S -(riable pre-increment and pre-decrement).25 E F1 2.5108 302.4 S F0 -(unary minus and plus)19.6 E F1 2.5(!~)108 314.4 S F0 -(logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F1(**)108 -326.4 Q F0 -.15(ex)26 G(ponentiation).15 E F1 2.5(*/%)108 338.4 S F0 -(multiplication, di)10.72 E(vision, remainder)-.25 E F1 2.5<2bad>108 -350.4 S F0(addition, subtraction)19.6 E F1(<< >>)108 362.4 Q F0 -(left and right bitwise shifts)10.7 E F1(<= >= < >)108 374.4 Q F0 -(comparison)144 386.4 Q F1(== !=)108 398.4 Q F0(equality and inequality) -13.07 E F1(&)108 410.4 Q F0(bitwise AND)27.67 E F1(^)108 422.4 Q F0 -(bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F1(|)108 -434.4 Q F0(bitwise OR)33.8 E F1(&&)108 446.4 Q F0(logical AND)19.34 E F1 -(||)108 458.4 Q F0(logical OR)31.6 E F3 -.2(ex)108 470.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 482.4 Q F1 2.5(=*)108 494.4 S 2.5(=/)-2.5 G +-.25 G(ls are listed in order of decreasing precedence.).15 E/F4 10 +/Times-Italic@0 SF(id)108 364.8 Q F2(++)A F4(id)2.5 E F2A F0 -.25 +(va)144 376.8 S(riable post-increment and post-decrement).25 E F2(++)108 +388.8 Q F4(id)A F22.5 E F4(id)A F0 -.25(va)144 400.8 S +(riable pre-increment and pre-decrement).25 E F2 2.5108 412.8 S F0 +(unary minus and plus)19.6 E F2 2.5(!~)108 424.8 S F0 +(logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F2(**)108 +436.8 Q F0 -.15(ex)26 G(ponentiation).15 E F2 2.5(*/%)108 448.8 S F0 +(multiplication, di)10.72 E(vision, remainder)-.25 E F2 2.5<2bad>108 +460.8 S F0(addition, subtraction)19.6 E F2(<< >>)108 472.8 Q F0 +(left and right bitwise shifts)10.7 E F2(<= >= < >)108 484.8 Q F0 +(comparison)144 496.8 Q F2(== !=)108 508.8 Q F0(equality and inequality) +13.07 E F2(&)108 520.8 Q F0(bitwise AND)27.67 E F2(^)108 532.8 Q F0 +(bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2(|)108 +544.8 Q F0(bitwise OR)33.8 E F2(&&)108 556.8 Q F0(logical AND)19.34 E F2 +(||)108 568.8 Q F0(logical OR)31.6 E F4 -.2(ex)108 580.8 S(pr).2 E F2(?) +A F4 -.2(ex)C(pr).2 E F2(:)A F4 -.2(ex)C(pr).2 E F0 +(conditional operator)144 592.8 Q F2 2.5(=*)108 604.8 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 506.4 Q F3 -.2(ex)108 518.4 S -(pr1).2 E F1(,)2.5 E F3 -.2(ex)2.5 G(pr2).2 E F0(comma)144 530.4 Q .68 -(Shell v)108 547.2 R .68(ariables are allo)-.25 F .68 +(<= >>= &= ^= |=)-2.5 E F0(assignment)144 616.8 Q F4 -.2(ex)108 628.8 S +(pr1).2 E F2(,)2.5 E F4 -.2(ex)2.5 G(pr2).2 E F0(comma)144 640.8 Q .68 +(Shell v)108 657.6 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.507(ated. W)108 559.2 R 1.007(ithin an e)-.4 -F 1.007(xpression, shell v)-.15 F 1.007 +-.25(va)-.25 G(lu-).25 E 3.508(ated. W)108 669.6 R 1.008(ithin an e)-.4 +F 1.008(xpression, shell v)-.15 F 1.007 (ariables may also be referenced by name without using the parameter) --.25 F -.15(ex)108 571.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 583.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 595.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 607.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 619.2 Q(xpression.)-.15 E -1.406(Constants with a leading 0 are interpreted as octal numbers.)108 -636 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 648 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 660 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 672 R .064 -(wercase letters, the uppercase letters, @, and _, in that order)-.25 F -5.065(.I)-.55 G(f)-5.065 E F3(base)2.565 E F0 .697 -(is less than or equal to 36, lo)108 684 R .696 -(wercase and uppercase letters may be used interchang)-.25 F .696 -(ably to represent num-)-.05 F(bers between 10 and 35.)108 696 Q .234 -(Operators are e)108 712.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 724.8 S -(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(24)197.335 E 0 Cg EP +-.25 F -.15(ex)108 681.6 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 693.6 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 705.6 R 1.389 +(ariable which has been gi)-.25 F -.15(ve)-.25 G 3.89(nt).15 G(he)-3.89 +E F4(inte)3.89 E -.1(ge)-.4 G(r).1 E F0(attrib)3.89 E 1.39(ute using)-.2 +F F2(declar)3.89 E 3.89(e-)-.18 G(i)-3.89 E F0(is)3.89 E .344 +(assigned a v)108 717.6 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 729.6 Q(xpression.)-.15 E(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(24)197.335 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.95/Times-Bold@0 SF(CONDITION)72 84 Q(AL EXPRESSIONS)-.219 E -F0 .256(Conditional e)108 96 R .256(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.755 E F0 -.2(bu)2.755 G .255 -(iltin commands to test).2 F .77(\214le attrib)108 108 R .77 +-.35 E 1.406 +(Constants with a leading 0 are interpreted as octal numbers.)108 84 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 96 R 3.09(et)-.1 G .59(he form [) +-3.09 F/F1 10/Times-Italic@0 SF(base#)A F0 .59(]n, where)B F1(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 108 R F1(n)2.592 E F0 .093 +(is a number in that base.)2.592 F(If)5.093 E F1(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 120 R .064 +(wercase letters, the uppercase letters, @, and _, in that order)-.25 F +5.064(.I)-.55 G(f)-5.064 E F1(base)2.564 E F0 .696 +(is less than or equal to 36, lo)108 132 R .697 +(wercase and uppercase letters may be used interchang)-.25 F .697 +(ably to represent num-)-.05 F(bers between 10 and 35.)108 144 Q .235 +(Operators are e)108 160.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 172.8 S +(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F2 10.95 +/Times-Bold@0 SF(CONDITION)72 189.6 Q(AL EXPRESSIONS)-.219 E F0 .255 +(Conditional e)108 201.6 R .255(xpressions are used by the)-.15 F/F3 10 +/Times-Bold@0 SF([[)2.755 E F0 .255(compound command and the)2.755 F F3 +(test)2.755 E F0(and)2.755 E F3([)2.756 E F0 -.2(bu)2.756 G .256 +(iltin commands to test).2 F .77(\214le attrib)108 213.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 1.041 -(unary or binary primaries.)108 120 R 1.041(If an)6.041 F(y)-.15 E/F3 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 F3(/de)3.54 E -(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 132 Q -F3(n)3.788 E F0 1.289(is check)3.788 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.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F3 -(/de)108 144 Q(v/stderr)-.15 E F0 2.5<2c8c>C +(Expressions are formed from the follo)5.77 F(wing)-.25 E 1.04 +(unary or binary primaries.)108 225.6 R 1.04(If an)6.04 F(y)-.15 E F1 +(\214le)3.54 E F0(ar)3.54 E 1.041 +(gument to one of the primaries is of the form)-.18 F F1(/de)3.541 E +(v/fd/n)-.15 E F0 3.541(,t)C 1.041(hen \214le)-3.541 F(descriptor)108 +237.6 Q F1(n)3.789 E F0 1.289(is check)3.789 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.788 E(v/stdout)-.15 E F0 3.788(,o)C(r)-3.788 E F1 +(/de)108 249.6 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 F2108 168 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 F2108 180 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 F2108 192 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 F2108 204 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 F2108 216 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 F2108 228 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 F2108 240 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 F2108 252 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 F2108 264 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 +(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .721 +(Unless otherwise speci\214ed, primaries that operate on \214les follo) +108 266.4 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 278.4 +Q F3108 302.4 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 F3108 314.4 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 F3108 326.4 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 F3108 338.4 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 F3108 350.4 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 F3108 362.4 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 F3108 374.4 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 F3108 386.4 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 F3108 398.4 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 F2108 276 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 F2108 288 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 F2108 -300 Q F3(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F3(\214le)2.5 E F0 --.15(ex)2.5 G(ists and has a size greater than zero.).15 E F2108 -312 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 F2108 324 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 its set-user).15 E(-id bit is set.)-.2 E F2108 -336 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 is writable.).15 E F2108 348 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 e).15 E -.15(xe)-.15 G(cutable.).15 E F2108 360 Q F3 -(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F3(\214le)2.5 E F0 -.15(ex) +-2.5 E F3108 410.4 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 F3108 422.4 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 F3108 +434.4 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 F3 +108 446.4 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 F3108 +458.4 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 F3 +108 470.4 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 F3108 +482.4 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 F3 +108 494.4 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 F3108 506.4 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 F2108 372 Q F3(\214le)2.5 E F0 -.35(Tr) -7.8 G(ue if).35 E F3(\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 -F2108 384 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 -108 396 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 -108 408 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 420 Q F02.5 E F2(nt)A F3 -(\214le2)2.5 E F0 -.35(Tr)144 432 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 444 Q F02.5 E F2(ot)A F3(\214le2)2.5 E F0 --.35(Tr)144 456 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 468 Q F2(\255ef)2.5 E F3(\214le2)2.5 E F0 -.35(Tr)144 480 S -(ue if).35 E F3(\214le1)2.5 E F0(and)2.5 E F3(\214le2)2.5 E F0 -(refer to the same de)2.5 E(vice and inode numbers.)-.25 E F2108 -492 Q F3(optname)2.5 E F0 -.35(Tr)144 504 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 -3.644 E F0(option to the)144 516 Q F2(set)2.5 E F0 -.2(bu)2.5 G -(iltin belo).2 E -.65(w.)-.25 G F2108 528 Q F3(string)2.5 E F0 --.35(Tr)144 540 S(ue if the length of).35 E F3(string)2.5 E F0(is zero.) -2.5 E F3(string)108 552 Q F2108 564 Q F3(string)2.5 E F0 -.35(Tr) -144 576 S(ue if the length of).35 E F3(string)2.84 E F0(is non-zero.) -2.72 E F3(string1)108 592.8 Q F2(==)2.5 E F3(string2)2.5 E F0 -.35(Tr) -144 604.8 S(ue if the strings are equal.).35 E F2(=)5 E F0 -(may be used in place of)2.5 E F2(==)2.5 E F0 -(for strict POSIX compliance.)2.5 E F3(string1)108 621.6 Q F2(!=)2.5 E -F3(string2)2.5 E F0 -.35(Tr)144 633.6 S -(ue if the strings are not equal.).35 E F3(string1)108 650.4 Q F2(<)2.5 -E F3(string2)2.5 E F0 -.35(Tr)144 662.4 S(ue if).35 E F3(string1)2.5 E -F0(sorts before)2.5 E F3(string2)2.5 E F0(le)2.5 E -(xicographically in the current locale.)-.15 E F3(string1)108 679.2 Q F2 -(>)2.5 E F3(string2)2.5 E F0 -.35(Tr)144 691.2 S(ue if).35 E F3(string1) -2.5 E F0(sorts after)2.5 E F3(string2)2.5 E F0(le)2.5 E -(xicographically in the current locale.)-.15 E(GNU Bash-3.0)72 768 Q -(2004 June 26)147.345 E(25)197.335 E 0 Cg EP +(ve g)-.25 H(roup id.).15 E F3108 518.4 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 F3108 530.4 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 F3108 542.4 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 554.4 Q F02.5 E F3(nt)A F1(\214le2)2.5 E F0 -.35(Tr)144 +566.4 S .039(ue if).35 F F1(\214le1)2.539 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 .038(does not.) +2.538 F F1(\214le1)108 578.4 Q F02.5 E F3(ot)A F1(\214le2)2.5 E F0 +-.35(Tr)144 590.4 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 602.4 Q F3(\255ef)2.5 E F1(\214le2)2.5 E F0 -.35(Tr)144 +614.4 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 F3108 +626.4 Q F1(optname)2.5 E F0 -.35(Tr)144 638.4 S 1.143 +(ue if shell option).35 F F1(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 F3 +3.644 E F0(option to the)144 650.4 Q F3(set)2.5 E F0 -.2(bu)2.5 G +(iltin belo).2 E -.65(w.)-.25 G F3108 662.4 Q F1(string)2.5 E F0 +-.35(Tr)144 674.4 S(ue if the length of).35 E F1(string)2.5 E F0 +(is zero.)2.5 E F1(string)108 686.4 Q F3108 698.4 Q F1(string)2.5 +E F0 -.35(Tr)144 710.4 S(ue if the length of).35 E F1(string)2.84 E F0 +(is non-zero.)2.72 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(25) +197.335 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/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.635 F F2(\255eq)2.885 E F0(,)A F2(\255ne) +-.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 the strings are equal.).35 E F2(=)5 E F0(may be used in place of) +2.5 E F2(==)2.5 E F0(for strict POSIX compliance.)2.5 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 the strings are not equal.).35 E F1(string1)108 141.6 Q F2(<)2.5 +E F1(string2)2.5 E F0 -.35(Tr)144 153.6 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 in the current locale.)-.15 E F1(string1)108 170.4 Q F2 +(>)2.5 E F1(string2)2.5 E F0 -.35(Tr)144 182.4 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 in the current locale.)-.15 E F1(ar)108.33 199.2 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 +211.2 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, 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 .614 -(When a simple command is e)108 148.8 R -.15(xe)-.15 G .614 +an or equal to, greater than, or greater than or equal to)144 223.2 R F1 +(ar)144 235.2 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 252 Q(ANSION)-.81 E F0 .614 +(When a simple command is e)108 264 R -.15(xe)-.15 G .614 (cuted, the shell performs the follo).15 F .613(wing e)-.25 F .613 (xpansions, assignments, and redi-)-.15 F(rections, from left to right.) -108 160.8 Q 26(1. The)108 177.6 R -.1(wo)4.348 G 1.848 +108 276 Q 26(1. The)108 292.8 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 (ariable assignments \(those preceding the command)-.25 F -(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.664 G 1.164 +(name\) and redirections are sa)144 304.8 Q -.15(ve)-.2 G 2.5(df).15 G +(or later processing.)-2.5 E 26(2. The)108 321.6 R -.1(wo)3.664 G 1.164 (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 -218.4 R .775(xpansion, the \214rst w)-.15 F .775(ord is tak)-.1 F .775 +333.6 R .775(xpansion, the \214rst w)-.15 F .775(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 230.4 Q(guments.)-.18 E 26(3. Redirections)108 247.2 R +(are the ar)144 345.6 Q(guments.)-.18 E 26(3. Redirections)108 362.4 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 264 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 276 R .339 +(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0 26(4. The)108 379.2 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 391.2 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 288 Q .332 -(If no command name results, the v)108 304.8 R .332 +(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 403.2 Q +.332(If no command name results, the v)108 420 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 316.8 S .757 +2.832(vironment. Otherwise,)-.4 F(the)2.832 E -.25(va)108 432 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 328.8 -R(an)3.177 E 3.177(yo)-.15 G 3.177(ft)-3.177 G .677 +(fect the current shell en)-.25 F(vi-)-.4 E 3.177(ronment. If)108 444 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 340.8 Q(xits with a non-zero status.)-.15 E .149 -(If no command name results, redirections are performed, b)108 357.6 R +(the command e)108 456 Q(xits with a non-zero status.)-.15 E .149 +(If no command name results, redirections are performed, b)108 472.8 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 369.6 +(vironment. A)-.4 F(redirection error causes the command to e)108 484.8 Q(xit with a non-zero status.)-.15 E 1.064 -(If there is a command name left after e)108 386.4 R 1.064(xpansion, e) +(If there is a command name left after e)108 501.6 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 -398.4 R 2.568(xits. If)-.15 F .069(one of the e)2.568 F .069 +513.6 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 410.4 R .466 +(xit status of the command)-.15 F .467(is the e)108 525.6 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 422.4 -Q(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 439.2 Q F0 -.546(After a command has been split into w)108 451.2 R .547 +(If there were no command substitutions, the)5.466 F(command e)108 537.6 +Q(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 554.4 Q F0 +.546(After a command has been split into w)108 566.4 R .547 (ords, if it results in a simple command and an optional list of ar)-.1 -F(gu-)-.18 E(ments, the follo)108 463.2 Q(wing actions are tak)-.25 E +F(gu-)-.18 E(ments, the follo)108 578.4 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 480 R .379(If there e)5.379 F .379 +mpts to locate it.)108 595.2 R .379(If there e)5.379 F .379 (xists a shell function by)-.15 F .246(that name, that function is in) -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 +108 607.2 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 619.2 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 520.8 R .309 +(If the name is neither a shell function nor a b)108 636 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 532.8 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 +(searches each element of)2.809 F(the)108 648 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 -544.8 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E +660 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 556.8 R F3 -.666(PA)3.219 G(TH)-.189 E +(search of the directories in)108 672 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(search is unsuccessful, the shell prints an e\ -rror message and returns an e)108 568.8 Q(xit status of 127.)-.15 E -1.089(If the search is successful, or if the command name contains one \ -or more slashes, the shell e)108 585.6 R -.15(xe)-.15 G 1.089(cutes the) -.15 F .197(named program in a separate e)108 597.6 R -.15(xe)-.15 G .197 +rror message and returns an e)108 684 Q(xit status of 127.)-.15 E 1.089 +(If the search is successful, or if the command name contains one or mo\ +re slashes, the shell e)108 700.8 R -.15(xe)-.15 G 1.089(cutes the).15 F +.197(named program in a separate e)108 712.8 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 609.6 Q +(n, and the remain-).15 F(ing ar)108 724.8 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 626.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 +(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(26)197.335 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 1.809(If this e)108 84 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 .677(assumed to be a)108 638.4 R F1 .678 -(shell script)3.177 F F0 3.178(,a\214)C .678 +4.309(ti)-4.309 G(s)-4.309 E .677(assumed to be a)108 96 R/F1 10 +/Times-Italic@0 SF .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 650.4 R .33 +(subshell reinitializes itself, so that the ef)108 108 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 662.4 R 1.219 +(andle the script, with)-2.829 F 1.219(the e)108 120 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 674.4 S(IL).09 E(TIN COMMANDS)-.828 E F5(\))A -F0(are retained by the child.)2.25 E .348(If the program is a \214le be) -108 691.2 R .348(ginning with)-.15 F F2(#!)2.848 E F0 2.848(,t)C .347(h\ +-.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 132 S(IL) +.09 E(TIN COMMANDS)-.828 E/F4 9/Times-Roman@0 SF(\))A F0 +(are retained by the child.)2.25 E .348(If the program is a \214le be) +108 148.8 R .348(ginning with)-.15 F F2(#!)2.848 E F0 2.848(,t)C .347(h\ e remainder of the \214rst line speci\214es an interpreter for the pro-) --2.848 F 3.178(gram. The)108 703.2 R .678(shell e)3.178 F -.15(xe)-.15 G +-2.848 F 3.178(gram. The)108 160.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.193(format themselv) -108 715.2 R 3.693(es. The)-.15 F(ar)3.693 E 1.193 +108 172.8 R 3.693(es. The)-.15 F(ar)3.693 E 1.193 (guments to the interpreter consist of a single optional ar)-.18 F 1.192 (gument follo)-.18 F 1.192(wing the)-.25 F 1.13 -(interpreter name on the \214rst line of the program, follo)108 727.2 R +(interpreter name on the \214rst line of the program, follo)108 184.8 R 1.131(wed by the name of the program, follo)-.25 F 1.131(wed by the)-.25 -F(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(26)197.335 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(command ar)108 84 Q(guments, if an)-.18 E -.65(y.)-.15 G/F1 10.95 -/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 100.8 Q(ONMENT)-.329 E F0 -(The shell has an)108 112.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 141.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 153.6 S(iltin).2 E 32.5 -<8374>108 170.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 187.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 204 S(urrent traps set by)-32.5 E F3(trap)2.5 E F0 32.5<8373> -108 220.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 +F(command ar)108 196.8 Q(guments, if an)-.18 E -.65(y.)-.15 G/F5 10.95 +/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 213.6 Q(ONMENT)-.329 E F0 +(The shell has an)108 225.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 254.4 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 F2(exec) +3.905 E F0 -.2(bu)144 266.4 S(iltin).2 E 32.5<8374>108 283.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 300 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 316.8 S(urrent traps set by)-32.5 E F2(trap)2.5 E F0 32.5 +<8373>108 333.6 S .256(hell parameters that are set by v)-32.5 F .256 +(ariable assignment or with)-.25 F F2(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 232.8 Q(vironment)-.4 E 32.5<8373>108 249.6 S +(in the en)144 345.6 Q(vironment)-.4 E 32.5<8373>108 362.4 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 266.4 S +(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 379.2 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 F3(set)2.5 E -F0 32.5<836f>108 283.2 S(ptions enabled by)-32.5 E F3(shopt)2.5 E F0 -32.5<8373>108 300 S(hell aliases de\214ned with)-32.5 E F3(alias)2.5 E -F0 32.5<8376>108 316.8 S +(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F2(set)2.5 E +F0 32.5<836f>108 396 S(ptions enabled by)-32.5 E F2(shopt)2.5 E F0 32.5 +<8373>108 412.8 S(hell aliases de\214ned with)-32.5 E F2(alias)2.5 E F0 +32.5<8376>108 429.6 S (arious process IDs, including those of background jobs, the v)-32.75 E -(alue of)-.25 E F3($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E -F3($PPID)2.5 E F0 .427(When a simple command other than a b)108 333.6 R +(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 .427(When a simple command other than a b)108 446.4 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 345.6 S .133(cution en).15 F .133 +-2.926 G(eparate)-2.926 E -.15(exe)108 458.4 S .133(cution en).15 F .133 (vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F .134(otherwise noted, the v)2.634 F .134(alues are inherited from)-.25 F -(the shell.)108 357.6 Q 32.5<8374>108 386.4 S 1.056(he shell')-32.5 F +(the shell.)108 470.4 Q 32.5<8374>108 499.2 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 398.4 Q 32.5<8374>108 415.2 S(he current w)-32.5 E -(orking directory)-.1 E 32.5<8374>108 432 S -(he \214le creation mode mask)-32.5 E 32.5<8373>108 448.8 S .856(hell v) +-3.556 F(mand)144 511.2 Q 32.5<8374>108 528 S(he current w)-32.5 E +(orking directory)-.1 E 32.5<8374>108 544.8 S +(he \214le creation mode mask)-32.5 E 32.5<8373>108 561.6 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 460.8 Q(vironment) --.4 E 32.5<8374>108 477.6 S .307 +(xported for the command,)-.15 F(passed in the en)144 573.6 Q(vironment) +-.4 E 32.5<8374>108 590.4 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 489.6 Q -2.5(Ac)108 506.4 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G +(arent, and traps ignored)-2.806 F(by the shell are ignored)144 602.4 Q +2.5(Ac)108 619.2 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 523.2 R -.2(vo)-.4 G -.1 -(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 535.2 S .245(ubshell en) --2.745 F .245(vironment that is a duplicate of the shell en)-.4 F .244 +ntheses, and asynchronous commands are in)108 636 R -.2(vo)-.4 G -.1(ke) +.2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 648 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 547.2 R .358 +.358(reset to the v)108 660 R .358 (alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4 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 559.2 -R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.356 +-.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 672 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 571.2 Q(fect the shell')-.25 E 2.5(se)-.55 G --.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E .404 -(If a command is follo)108 588 R .404(wed by a)-.25 F F3(&)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 600 R F2(/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(as modi\214ed by redirections.)108 612 Q F1(ENVIR)72 628.8 Q(ONMENT) --.329 E F0 2.353(When a program is in)108 640.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(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 652.8 Q -F0A 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 669.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 681.6 Q .144(viron\ +-.4 E(ment cannot af)108 684 Q(fect the shell')-.25 E 2.5(se)-.55 G -.15 +(xe)-2.65 G(cution en).15 E(vironment.)-.4 E .404(If a command is follo) +108 700.8 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 712.8 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(as modi\214ed by redirections.)108 724.8 Q(GNU Bash-3.0)72 768 +Q(2004 June 26)147.345 E(27)197.335 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(ENVIR)72 84 Q(ONMENT)-.329 E F0 2.353 +(When a program is in)108 96 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 108 Q F0A 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 124.8 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 136.8 Q .144(viron\ ment and creates a parameter for each name found, automatically 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 693.6 R .203(ecuted commands inherit the en)-.15 F -2.703(vironment. The)-.4 F F3(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 705.6 R +2.704(cesses. Ex)108 148.8 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 160.8 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 717.6 Q .64 +(alue of a parameter in the)-.25 F(en)108 172.8 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 729.6 +-.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 184.8 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 -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(27)197.335 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 .301(modi\214ed in the shell, less an)108 84 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/F1 10/Times-Bold@0 SF(unset)2.801 E F0 .3(command, plus an) -2.8 F 2.8(ya)-.15 G .3(dditions via the)-2.8 F F1(export)2.8 E F0(and) -2.8 E F1(declar)108 96 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E -.562(The en)108 112.8 R .562(vironment for an)-.4 F(y)-.15 E/F2 10 -/Times-Italic@0 SF .562(simple command)3.402 F F0 .563 +.301(modi\214ed in the shell, less an)108 196.8 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 +208.8 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .562(The en)108 +225.6 R .562(vironment for an)-.4 F(y)-.15 E F2 .562(simple command) +3.402 F F0 .563 (or function may be augmented temporarily by pre\214xing it with)3.833 F -.203(parameter assignments, as described abo)108 124.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 +.203(parameter assignments, as described abo)108 237.6 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 9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702 F -.202(fect only the)-.25 F(en)108 136.8 Q -(vironment seen by that command.)-.4 E .81(If the)108 153.6 R F1 -3.31 E F0 .81(option is set \(see the)3.31 F F1(set)3.31 E F0 -.2(bu) +.202(fect only the)-.25 F(en)108 249.6 Q +(vironment seen by that command.)-.4 E .81(If the)108 266.4 R F3 +3.31 E F0 .81(option is set \(see the)3.31 F F3(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 165.6 Q +.81(parameter assignments are placed in)3.82 F(the en)108 278.4 Q (vironment for a command, not just those that precede the command name.) --.4 E(When)108 182.4 Q F1(bash)3.397 E F0(in)3.397 E -.2(vo)-.4 G -.1 +-.4 E(When)108 295.2 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 F1(_)3.397 E F0 .897 +-3.547 F(ariable)-.25 E F3(_)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 194.4 Q(vironment.)-.4 E/F5 10.95 -/Times-Bold@0 SF(EXIT ST)72 211.2 Q -1.04(AT)-.986 G(US)1.04 E F0 -.15 -(Fo)108 223.2 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 235.2 R 2.549(An) -5.049 G .049(on-zero e)-2.549 F .049(xit status indicates f)-.15 F 2.549 +(passed to that command in its en)108 307.2 Q(vironment.)-.4 E F1 +(EXIT ST)72 324 Q -1.04(AT)-.986 G(US)1.04 E F0 -.15(Fo)108 336 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 348 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 247.2 Q F2(N)2.5 E F0(,)A F1(bash) +-2.549 F .048(atal sig-)-.1 F(nal)108 360 Q F2(N)2.5 E F0(,)A F3(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 .404 -(If a command is not found, the child process created to e)108 264 R +(If a command is not found, the child process created to e)108 376.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 276 Q(ut is not e)-.2 E -.15(xe) --.15 G(cutable, the return status is 126.).15 E(If a command f)108 292.8 +(If a command is)5.405 F(found b)108 388.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 405.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 .081(Shell b)108 309.6 R .081 +-.15 E .081(Shell b)108 422.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 .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 321.6 Q 2.5(ye)-.15 G -.15(xe)-2.65 G 2.5(cute. All).15 F -.2 +(the)108 434.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 338.4 Q +(xit status of 2 to indicate incorrect usage.)-.15 E F3(Bash)108 451.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 350.4 -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 367.2 Q(ALS)-.219 E F0(When)108 379.2 Q F1(bash)3.183 E F0 .683 +(cuted, unless a syntax error occurs, in which case).15 F(it e)108 463.2 +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 480 Q(ALS)-.219 E F0(When)108 492 Q F3(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 391.2 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) +-3.183 F F4(SIGTERM)3.183 E F0 .682(\(so that)2.933 F F3 .682(kill 0) +3.182 F F0 .682(does not kill an)3.182 F(interacti)108 504 Q .757 -.15 +(ve s)-.25 H .457(hell\), and).15 F F4(SIGINT)2.957 E F0 .458 +(is caught and handled \(so that the)2.707 F F3(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 403.2 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 420 Q 1.065 -(uiltin commands run by)-.2 F F1(bash)3.565 E F0(ha)3.565 E 1.365 -.15 +F3(bash)108 516 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 532.8 Q 1.065 +(uiltin commands run by)-.2 F F3(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 432 -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 444 R .653 +(alues inherited by the shell from its)-.25 F 3.247(parent. When)108 +544.8 R .747(job control is not in ef)3.247 F .747 +(fect, asynchronous commands ignore)-.25 F F4(SIGINT)3.248 E F0(and) +2.998 E F4(SIGQ)3.248 E(UIT)-.09 E F0 .748(in addi-)2.998 F .653 +(tion to these inherited handlers.)108 556.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 456 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 472.8 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 484.8 Q F0 +-.15(ey)-.1 G(board-).15 E(generated job control signals)108 568.8 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.045(The shell e)108 585.6 R 2.045 +(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.346 +-.15(ve s)-.25 H 2.046(hell resends the).15 F F4(SIGHUP)108 597.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 +(Stopped jobs are sent)6.005 F F4(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 496.8 Q F4(.)A F0 2.529 -.8(To p) +(ve t)-.25 H(he).15 E F4(SIGHUP)108 609.6 Q F5(.)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 508.8 R F1(diso) -3.857 E(wn)-.1 E F0 -.2(bu)3.857 G 1.357(iltin \(see).2 F F3 1.356 +G .93(rom the)-3.43 F 1.357(jobs table with the)108 621.6 R F3(diso) +3.857 E(wn)-.1 E F0 -.2(bu)3.857 G 1.357(iltin \(see).2 F F4 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 520.8 Q F0(using)2.25 E F1(diso)2.5 E(wn \255h)-.1 E F0(.)A -.166(If the)108 537.6 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 +1.356(w\) or mark)-.25 F 1.356(ed to not recei)-.1 F -.15(ve)-.25 G F4 +(SIGHUP)108 633.6 Q F0(using)2.25 E F3(diso)2.5 E(wn \255h)-.1 E F0(.)A +.166(If the)108 650.4 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(login shell e)108 -549.6 Q(xits.)-.15 E .077 -(If 0for which a trap has been set, the trap will not be e)108 566.4 R +662.4 Q(xits.)-.15 E .077 +(If 0for which a trap has been set, the trap will not be e)108 679.2 R -.15(xe)-.15 G .076(cuted until the command completes.).15 F(When)5.076 -E F1(bash)2.576 E F0(is)2.576 E -.1(wa)108 578.4 S .826 -(iting for an asynchronous command via the).1 F F1(wait)3.326 E F0 -.2 +E F3(bash)2.576 E F0(is)2.576 E -.1(wa)108 691.2 S .826 +(iting for an asynchronous command via the).1 F F3(wait)3.326 E F0 -.2 (bu)3.326 G .826(iltin, the reception of a signal for which a trap has) -.2 F .37(been set will cause the)108 590.4 R F1(wait)2.87 E F0 -.2(bu) +.2 F .37(been set will cause the)108 703.2 R F3(wait)2.87 E F0 -.2(bu) 2.87 G .369(iltin to return immediately with an e).2 F .369 (xit status greater than 128, immediately)-.15 F -(after which the trap is e)108 602.4 Q -.15(xe)-.15 G(cuted.).15 E F5 -(JOB CONTR)72 619.2 Q(OL)-.329 E F2 -.25(Jo)108 631.2 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 643.2 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.001 -.15(ve i)-.25 H(nterf).15 E(ace) --.1 E(supplied jointly by the system')108 655.2 Q 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 .784(The shell associates a)108 672 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 684 R F1(jobs) -2.841 E F0 2.841(command. When)2.841 F F1(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 696 Q -(e:)-.1 E([1] 25647)144 712.8 Q .241(indicating that this job is job nu\ -mber 1 and that the process ID of the last process in the pipeline asso\ -ciated)108 729.6 R(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(28) -197.335 E 0 Cg EP +(after which the trap is e)108 715.2 Q -.15(xe)-.15 G(cuted.).15 E +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(28)197.335 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 .733(with this job is 25647.)108 84 R .732 +-.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.001 -.15(ve i)-.25 H(nterf).15 E(ace) +-.1 E(supplied jointly by the system')108 120 Q 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 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.733 F(.)-.4 E/F1 10/Times-Bold@0 SF(Bash)5.732 E F0(uses)3.232 E(the) -108 96 Q/F2 10/Times-Italic@0 SF(job)4.24 E F0 -(abstraction as the basis for job control.)2.73 E 3.062 -.8(To f)108 -112.8 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 124.8 R F2(curr)3.371 E .871(ent terminal pr)-.37 F +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 -136.8 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023 -(board-generated signals such as).15 F/F3 9/Times-Bold@0 SF(SIG-)2.523 E -(INT)108 148.8 Q/F4 9/Times-Roman@0 SF(.)A F0 1.347 +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 160.8 R .145(fers from the terminal')-.25 F .146 +(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 .042 -(ground processes are allo)108 172.8 R .042 +(ground processes are allo)108 295.2 R .042 (wed to read from or write to the terminal.)-.25 F .042 (Background processes which attempt to)5.042 F 1.639 -(read from \(write to\) the terminal are sent a)108 184.8 R F3 1.64 +(read from \(write to\) the terminal are sent a)108 307.2 R F4 1.64 (SIGTTIN \(SIGTT)4.14 F(OU\))-.162 E F0 1.64(signal by the terminal dri) 3.89 F -.15(ve)-.25 G 2.44 -.4(r, w).15 H(hich,).4 E -(unless caught, suspends the process.)108 196.8 Q 1.088 -(If the operating system on which)108 213.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 225.6 S +(unless caught, suspends the process.)108 319.2 Q 1.088 +(If the operating system on which)108 336 R F3(bash)3.588 E F0 1.088 +(is running supports job control,)3.588 F F3(bash)3.587 E F0 1.087 +(contains f)3.587 F 1.087(acilities to use it.)-.1 F -.8(Ty)108 348 S .301(ping the).8 F F2(suspend)3.141 E F0 .301(character \(typically) -3.571 F F1(^Z)2.801 E F0 2.801(,C)C .301 +3.571 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 237.6 R F1(bash)4.642 E F0 +F 2.143(stopped and returns control to)108 360 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.142(character \(typically)5.412 F F1(^Y)4.642 E F0 4.642(,C)C +2.142(character \(typically)5.412 F F3(^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 -249.6 R(to)108 261.6 Q F1(bash)3.392 E F0 5.892(.T)C .892 +mpts to read input from the terminal, and control to be returned)108 372 +R(to)108 384 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 273.6 R F1(fg)3.394 E F0 .895 +F3(bg)3.392 E F0 .892(command to continue it in the)3.392 F .894 +(background, the)108 396 R F3(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 285.6 Q .949(fect immediately) --.25 F 3.449(,a)-.65 G .948(nd has the additional side ef)-3.449 F .948 +F3(kill)3.395 E F0 .895(command to kill it.)3.395 F(A)5.895 E F3(^Z) +3.395 E F0(tak)3.395 E(es)-.1 E(ef)108 408 Q .949(fect immediately)-.25 +F 3.449(,a)-.65 G .948(nd has the additional side ef)-3.449 F .948 (fect of causing pending output and typeahead to be dis-)-.25 F(carded.) -108 297.6 Q 1.097(There are a number of w)108 314.4 R 1.097 +108 420 Q 1.097(There are a number of w)108 436.8 R 1.097 (ays to refer to a job in the shell.)-.1 F 1.097(The character)6.097 F -F1(%)3.597 E F0 1.098(introduces a job name.)3.597 F(Job)6.098 E(number) -108 326.4 Q F2(n)3.13 E F0 .27(may be referred to as)3.01 F F1(%n)2.77 E +F3(%)3.597 E F0 1.098(introduces a job name.)3.597 F(Job)6.098 E(number) +108 448.8 Q F2(n)3.13 E F0 .27(may be referred to as)3.01 F F3(%n)2.77 E F0 5.27(.A)C .27 (job may also be referred to using a pre\214x of the name used to start) -2.5 F .277(it, or using a substring that appears in its command line.) -108 338.4 R -.15(Fo)5.277 G 2.777(re).15 G(xample,)-2.927 E F1(%ce)2.777 -E F0 .277(refers to a stopped)2.777 F F1(ce)2.777 E F0(job)2.778 E 5.278 +108 460.8 R -.15(Fo)5.277 G 2.777(re).15 G(xample,)-2.927 E F3(%ce)2.777 +E F0 .277(refers to a stopped)2.777 F F3(ce)2.777 E F0(job)2.778 E 5.278 (.I)-.4 G 2.778(fa)-5.278 G .38(pre\214x matches more than one job,)108 -350.4 R F1(bash)2.88 E F0 .38(reports an error)2.88 F 5.38(.U)-.55 G -(sing)-5.38 E F1(%?ce)2.88 E F0 2.88(,o)C 2.88(nt)-2.88 G .38 +472.8 R F3(bash)2.88 E F0 .38(reports an error)2.88 F 5.38(.U)-.55 G +(sing)-5.38 E F3(%?ce)2.88 E F0 2.88(,o)C 2.88(nt)-2.88 G .38 (he other hand, refers to an)-2.88 F 2.88(yj)-.15 G(ob)-2.88 E .622 -(containing the string)108 362.4 R F1(ce)3.122 E F0 .622 +(containing the string)108 484.8 R F3(ce)3.122 E F0 .622 (in its command line.)3.122 F .622 -(If the substring matches more than one job,)5.622 F F1(bash)3.123 E F0 -.623(reports an)3.123 F(error)108 374.4 Q 5.143(.T)-.55 G .143 -(he symbols)-5.143 F F1(%%)2.643 E F0(and)2.643 E F1(%+)2.643 E F0 .143 +(If the substring matches more than one job,)5.622 F F3(bash)3.123 E F0 +.623(reports an)3.123 F(error)108 496.8 Q 5.143(.T)-.55 G .143 +(he symbols)-5.143 F F3(%%)2.643 E F0(and)2.643 E F3(%+)2.643 E F0 .143 (refer to the shell')2.643 F 2.643(sn)-.55 G .143(otion of the)-2.643 F F2(curr)2.643 E .143(ent job)-.37 F F0 2.643(,w).23 G .143 -(hich is the last job stopped)-2.643 F 1.208(while it w)108 386.4 R +(hich is the last job stopped)-2.643 F 1.208(while it w)108 508.8 R 1.208(as in the fore)-.1 F 1.208(ground or started in the background.) -.15 F(The)6.208 E F2(pr)4.958 E -.15(ev)-.37 G 1.208(ious job).15 F F0 -1.209(may be referenced using)3.939 F F1<25ad>108 398.4 Q F0 5.487(.I)C +1.209(may be referenced using)3.939 F F3<25ad>108 520.8 Q F0 5.487(.I)C 2.987(no)-5.487 G .487 -(utput pertaining to jobs \(e.g., the output of the)-2.987 F F1(jobs) +(utput pertaining to jobs \(e.g., the output of the)-2.987 F F3(jobs) 2.987 E F0 .486(command\), the current job is al)2.987 F -.1(wa)-.1 G -.486(ys \215agged).1 F(with a)108 410.4 Q F1(+)2.5 E F0 2.5(,a)C -(nd the pre)-2.5 E(vious job with a)-.25 E F12.5 E F0(.)A .443 -(Simply naming a job can be used to bring it into the fore)108 427.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 +.486(ys \215agged).1 F(with a)108 532.8 Q F3(+)2.5 E F0 2.5(,a)C +(nd the pre)-2.5 E(vious job with a)-.25 E F32.5 E F0(.)A .443 +(Simply naming a job can be used to bring it into the fore)108 549.6 R +(ground:)-.15 E F3(%1)2.944 E F0 .444(is a synon)2.944 F .444(ym for) +-.15 F F3 -.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 -439.2 R 3.973(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.972 G 1.472 +561.6 R 3.973(ground. Similarly)-.15 F(,)-.65 E F3 -.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 451.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 468 R +(equi)108 573.6 Q -.25(va)-.25 G(lent to).25 E F3 -.63(``)2.5 G(bg %1') +.63 E(')-.63 E F0(.)A .13(The shell learns immediately whene)108 590.4 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 +5.131 E(,)-.65 E F3(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 480 R 2.658(ss)-.55 G +(prompt before reporting changes in a job')108 602.4 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 F12.657 E F0 .157 -(option to)2.657 F(the)108 492 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 +(ther output.)-2.657 F .157(If the)5.157 F F32.657 E F0 .157 +(option to)2.657 F(the)108 614.4 Q F3(set)3.951 E F0 -.2(bu)3.951 G +1.451(iltin command is enabled,).2 F F3(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 F3(SIGCHLD)3.952 E F0(is)3.702 E -.15 -(exe)108 504 S(cuted for each child that e).15 E(xits.)-.15 E 1.027 -(If an attempt to e)108 520.8 R(xit)-.15 E F1(bash)3.527 E F0 1.027 +(ny t)-6.452 H 1.452(rap on).15 F F4(SIGCHLD)3.952 E F0(is)3.702 E -.15 +(exe)108 626.4 S(cuted for each child that e).15 E(xits.)-.15 E 1.027 +(If an attempt to e)108 643.2 R(xit)-.15 E F3(bash)3.527 E F0 1.027 (is made while jobs are stopped, the shell prints a w)3.527 F 1.026 -(arning message.)-.1 F(The)6.026 E F1(jobs)3.526 E F0 .255 -(command may then be used to inspect their status.)108 532.8 R .255 +(arning message.)-.1 F(The)6.026 E F3(jobs)3.526 E F0 .255 +(command may then be used to inspect their status.)108 655.2 R .255 (If a second attempt to e)5.255 F .256(xit is made without an interv) -.15 F(en-)-.15 E(ing command, the shell does not print another w)108 -544.8 Q(arning, and the stopped jobs are terminated.)-.1 E/F5 10.95 -/Times-Bold@0 SF(PR)72 561.6 Q(OMPTING)-.329 E F0 .645(When e)108 573.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 -(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.825 -(and the secondary prompt)108 585.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 +667.2 Q(arning, and the stopped jobs are terminated.)-.1 E F1(PR)72 684 +Q(OMPTING)-.329 E F0 .645(When e)108 696 R -.15(xe)-.15 G .645 +(cuting interacti).15 F -.15(ve)-.25 G(ly).15 E(,)-.65 E F3(bash)3.145 E +F0 .645(displays the primary prompt)3.145 F F4(PS1)3.145 E F0 .645 +(when it is ready to read a command,)2.895 F 1.825 +(and the secondary prompt)108 708 R F4(PS2)4.325 E F0 1.825 +(when it needs more input to complete a command.)4.075 F F3(Bash)6.826 E F0(allo)4.326 E 1.826(ws these)-.25 F 1.499(prompt strings to be custom\ ized by inserting a number of backslash-escaped special characters that\ - are)108 597.6 R(decoded as follo)108 609.6 Q(ws:)-.25 E F1(\\a)144 -621.6 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 633.6 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 645.6 Q F2(format)A F1(})A F0(the)180 -657.6 Q F2(format)3.926 E F0 1.426(is passed to)3.926 F F2(strftime) -3.926 E F0 1.427 -(\(3\) and the result is inserted into the prompt string; an)B(empty)180 -669.6 Q F2(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 681.6 Q F0 -(an ASCII escape character \(033\))28.78 E F1(\\h)144 693.6 Q F0 -(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 705.6 Q F0 -(the hostname)25.44 E F1(\\j)144 717.6 Q F0 -(the number of jobs currently managed by the shell)29.89 E(GNU Bash-3.0) -72 768 Q(2004 June 26)147.345 E(29)197.335 E 0 Cg EP + are)108 720 R(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(29)197.335 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/F1 10/Times-Bold@0 SF(\\l)144 84 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 96 Q -F0(ne)27.66 E(wline)-.25 E F1(\\r)144 108 Q F0(carriage return)28.78 E -F1(\\s)144 120 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 132 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E -F1(\\T)144 144 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E -F1(\\@)144 156 Q F0(the current time in 12-hour am/pm format)23.92 E F1 -(\\A)144 168 Q F0(the current time in 24-hour HH:MM format)26 E F1(\\u) -144 180 Q F0(the username of the current user)27.66 E F1(\\v)144 192 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 204 Q F0(the release of)26 E F1(bash)2.5 E F0 2.5(,v)C +-.35 E(decoded as follo)108 84 Q(ws:)-.25 E/F1 10/Times-Bold@0 SF(\\a) +144 96 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 108 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 120 Q/F2 10/Times-Italic@0 SF(format)A +F1(})A F0(the)180 132 Q F2(format)3.926 E F0 1.426(is passed to)3.926 F +F2(strftime)3.926 E F0 1.427 +(\(3\) and the result is inserted into the prompt string; an)B(empty)180 +144 Q F2(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 156 Q F0 +(an ASCII escape character \(033\))28.78 E F1(\\h)144 168 Q F0 +(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 180 Q F0 +(the hostname)25.44 E F1(\\j)144 192 Q F0 +(the number of jobs currently managed by the shell)29.89 E F1(\\l)144 +204 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 216 Q F0(ne)27.66 E(wline)-.25 E F1 +(\\r)144 228 Q F0(carriage return)28.78 E F1(\\s)144 240 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 +252 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T)144 +264 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F1(\\@)144 +276 Q F0(the current time in 12-hour am/pm format)23.92 E F1(\\A)144 288 +Q F0(the current time in 24-hour HH:MM format)26 E F1(\\u)144 300 Q F0 +(the username of the current user)27.66 E F1(\\v)144 312 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 324 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 216 Q F0(the current w)26 E(orking directory)-.1 E 2.5 +-2.5 E F1(\\w)144 336 Q F0(the current w)26 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(\\W)144 228 Q F0(the basename of the current w)23.22 E +-.25 E F1(\\W)144 348 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 240 Q F0 -(the history number of this command)29.89 E F1(\\#)144 252 Q F0 -(the command number of this command)28.22 E F1(\\$)144 264 Q F0 +(abbre)2.5 E(viated with a tilde)-.25 E F1(\\!)144 360 Q F0 +(the history number of this command)29.89 E F1(\\#)144 372 Q F0 +(the command number of this command)28.22 E F1(\\$)144 384 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 276 Q/F2 10 -/Times-Italic@0 SF(nnn)A F0 -(the character corresponding to the octal number)18.22 E F2(nnn)2.5 E F1 -(\\\\)144 288 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 300 Q F0 +(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 396 Q F2(nnn)A +F0(the character corresponding to the octal number)18.22 E F2(nnn)2.5 E +F1(\\\\)144 408 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 420 Q F0 (be)29.89 E 1.257(gin a sequence of non-printing characters, which coul\ d be used to embed a terminal)-.15 F(control sequence into the prompt) -180 312 Q F1(\\])144 324 Q F0(end a sequence of non-printing characters) +180 432 Q F1(\\])144 444 Q F0(end a sequence of non-printing characters) 29.89 E .119(The command number and the history number are usually dif) -108 340.8 R .12(ferent: the history number of a command is its)-.25 F +108 460.8 R .12(ferent: the history number of a command is its)-.25 F 1.585(position in the history list, which may include commands restored\ - from the history \214le \(see)108 352.8 R/F3 9/Times-Bold@0 SF(HIST) -4.084 E(OR)-.162 E(Y)-.315 E F0(belo)108 364.8 Q .541(w\), while the co\ + from the history \214le \(see)108 472.8 R/F3 9/Times-Bold@0 SF(HIST) +4.084 E(OR)-.162 E(Y)-.315 E F0(belo)108 484.8 Q .541(w\), while the co\ mmand 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 376.8 R .546 +(rent shell session.)108 496.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 -.351(tion, arithmetic e)108 388.8 R .352(xpansion, and quote remo)-.15 F +.351(tion, arithmetic e)108 508.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 F1 (pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .352(shell option \(see the)2.852 -F(description of the)108 400.8 Q F1(shopt)2.5 E F0(command under)2.5 E +F(description of the)108 520.8 Q F1(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/F4 10.95/Times-Bold@0 SF(READLINE)72 417.6 Q F0 .151 +-.25 E/F4 10.95/Times-Bold@0 SF(READLINE)72 537.6 Q F0 .151 (This is the library that handles reading input when using an interacti) -108 429.6 R .45 -.15(ve s)-.25 H .15(hell, unless the).15 F F1 -(\255\255noediting)2.65 E F0(option)2.65 E .066(is gi)108 441.6 R -.15 +108 549.6 R .45 -.15(ve s)-.25 H .15(hell, unless the).15 F F1 +(\255\255noediting)2.65 E F0(option)2.65 E .066(is gi)108 561.6 R -.15 (ve)-.25 G 2.566(na).15 G 2.566(ts)-2.566 G .066(hell in)-2.566 F -.2 (vo)-.4 G 2.566(cation. By).2 F(def)2.566 E .066 (ault, the line editing commands are similar to those of emacs.)-.1 F -2.567(Av)5.067 G(i-style)-2.567 E .566(line editing interf)108 453.6 R +2.567(Av)5.067 G(i-style)-2.567 E .566(line editing interf)108 573.6 R .566(ace is also a)-.1 F -.25(va)-.2 G 3.065(ilable. T).25 F 3.065(ot) -.8 G .565(urn of)-3.065 F 3.065(fl)-.25 G .565 (ine editing after the shell is running, use the)-3.065 F F1 .565 -(+o emacs)3.065 F F0(or)108 465.6 Q F1(+o vi)2.5 E F0(options to the)2.5 +(+o emacs)3.065 F F0(or)108 585.6 Q F1(+o vi)2.5 E F0(options to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin \(see).2 E F3(SHELL B)2.5 E(UIL) -.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 -(Readline Notation)87 482.4 Q F0 .567 -(In this section, the emacs-style notation is used to denote k)108 494.4 +(Readline Notation)87 602.4 Q F0 .567 +(In this section, the emacs-style notation is used to denote k)108 614.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 F2 -.1(ke)C(y)-.2 E F0(,)A 1.153 -(e.g., C\255n means Control\255N.)108 506.4 R(Similarly)6.153 E(,)-.65 E +(e.g., C\255n means Control\255N.)108 626.4 R(Similarly)6.153 E(,)-.65 E F2(meta)4.033 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255)-.05 F F2 -.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 518.4 S .83 +(\255x means Meta\255X.)-3.652 F(\(On)6.152 E -.1(ke)108 638.4 S .83 (yboards without a)-.05 F F2(meta)3.71 E F0 -.1(ke)3.59 G 2.13 -.65 (y, M)-.05 H.65 E F2(x)A F0 .83(means ESC)3.33 F F2(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 F2(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 .6(ESC the)108 530.4 R F2 .6(meta pr)3.1 F +.831(his mak).65 F(es)-.1 E .6(ESC the)108 650.4 R F2 .6(meta pr)3.1 F (e\214x)-.37 E F0 5.6(.T)C .6(he combination M\255C\255)-5.6 F F2(x)A F0 .599(means ESC\255Control\255)3.099 F F2(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 542.4 Q .3 -.15(ey w)-.1 H +(hen hold).15 F(the Control k)108 662.4 Q .3 -.15(ey w)-.1 H (hile pressing the).15 E F2(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\)) -.65 E .619(Readline commands may be gi)108 559.2 R -.15(ve)-.25 G 3.119 +.65 E .619(Readline commands may be gi)108 679.2 R -.15(ve)-.25 G 3.119 (nn).15 G(umeric)-3.119 E F2(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 571.2 Q(we)-.25 E -.15(ve)-.25 G 1.419 -.4(r, i).15 H 3.119(ti).4 G +108 691.2 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.018(acts in the forw)108 583.2 R 1.018 +(ument to a command that).18 F 1.018(acts in the forw)108 703.2 R 1.018 (ard direction \(e.g.,)-.1 F F1(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 595.2 Q +(ard direction.)-.1 F(Com-)6.019 E(mands whose beha)108 715.2 Q (vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo) --.25 E -.65(w.)-.25 G .812(When a command is described as)108 612 R F2 -(killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811 +-.25 E -.65(w.)-.25 G(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(30) +197.335 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 .812(When a command is described as)108 84 R/F1 10/Times-Italic@0 +SF(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 .811 -(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F2 -(yank-)-3.311 E(ing)108 624 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 F2 +(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F1 +(yank-)-3.311 E(ing)108 96 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 636 R .567(ed all at once.)-.1 F .567 +-.15 F .567(which can be yank)108 108 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 648 Q F1(Readline Initialization)87 664.8 Q F0 .091(Readline is cus\ -tomized by putting commands in an initialization \214le \(the)108 676.8 -R F2(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 688.8 R .196(en from the v) --.1 F .196(alue of the)-.25 F F3(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 F2(~/.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 700.8 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25 -(va)108 712.8 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 +108 120 Q/F2 10/Times-Bold@0 SF(Readline Initialization)87 136.8 Q F0 +.091(Readline is customized by putting commands in an initialization \ +\214le \(the)108 148.8 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 +160.8 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 uses the readline library starts up\ +, the initialization \214le is read, and the k)108 172.8 R 1.335 -.15 +(ey b)-.1 H 1.035(indings and).15 F -.25(va)108 184.8 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 724.8 R .737(Lines be)5.737 F .737 -(ginning with a)-.15 F F1(#)3.237 E F0 .737(are comments.)3.237 F .737 -(Lines be)5.737 F .737(ginning with a)-.15 F F1($)3.237 E F0 .737 -(indicate conditional)3.237 F(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 -E(30)197.335 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 2.5(constructs. Other)108 84 R(lines denote k)2.5 E .3 -.15(ey b) --.1 H(indings and v).15 E(ariable settings.)-.25 E .987(The def)108 -100.8 R .987(ault k)-.1 F -.15(ey)-.1 G .987 -(-bindings may be changed with an).15 F/F1 10/Times-Italic@0 SF(inputr) +(lines are ignored.)108 196.8 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 .737 +(indicate conditional)3.237 F 2.5(constructs. Other)108 208.8 R +(lines denote k)2.5 E .3 -.15(ey b)-.1 H(indings and v).15 E +(ariable settings.)-.25 E .987(The def)108 225.6 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 112.8 Q -(wn commands and bindings.)-.25 E -.15(Fo)108 129.6 S 2.5(re).15 G -(xample, placing)-2.65 E(M\255Control\255u: uni)144 146.4 Q -.15(ve)-.25 -G(rsal\255ar).15 E(gument)-.18 E(or)108 158.4 Q(C\255Meta\255u: uni)144 -170.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 182.4 +(programs that use this library may)3.487 F(add their o)108 237.6 Q +(wn commands and bindings.)-.25 E -.15(Fo)108 254.4 S 2.5(re).15 G +(xample, placing)-2.65 E(M\255Control\255u: uni)144 271.2 Q -.15(ve)-.25 +G(rsal\255ar).15 E(gument)-.18 E(or)108 283.2 Q(C\255Meta\255u: uni)144 +295.2 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 307.2 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 199.2 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 211.2 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 228 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 +108 324 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 336 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 352.8 R .209(ws k)-.25 +F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209 (ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i) --.1 H(s).15 E(pressed \(a)108 240 Q F1(macr)2.5 E(o)-.45 E F0(\).)A/F2 -10/Times-Bold@0 SF(Readline K)87 256.8 Q(ey Bindings)-.25 E F0 .366 -(The syntax for controlling k)108 268.8 R .666 -.15(ey b)-.1 H .366 +-.1 H(s).15 E(pressed \(a)108 364.8 Q F1(macr)2.5 E(o)-.45 E F0(\).)A F2 +(Readline K)87 381.6 Q(ey Bindings)-.25 E F0 .366 +(The syntax for controlling k)108 393.6 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 .383(command or the te)108 280.8 R .383(xt of a macro and a k) +5.366 F .383(command or the te)108 405.6 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 292.8 R 3.353(ow)-.1 G .853 +(\214ed in one of tw)108 417.6 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 304.8 Q 1.542(When using the form)108 321.6 R F2 +(ey)-.1 G(sequence.)108 429.6 Q 1.542(When using the form)108 446.4 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 333.6 R(or e)-.15 E(xample:)-.15 E -(Control-u: uni)144 357.6 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 -E(Meta-Rubout: backw)144 369.6 Q(ard-kill-w)-.1 E(ord)-.1 E -(Control-o: "> output")144 381.6 Q .698(In the abo)108 398.4 R .998 -.15 +.15 F 2.5(English. F)108 458.4 R(or e)-.15 E(xample:)-.15 E +(Control-u: uni)144 482.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 +E(Meta-Rubout: backw)144 494.4 Q(ard-kill-w)-.1 E(ord)-.1 E +(Control-o: "> output")144 506.4 Q .698(In the abo)108 523.2 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 410.4 Q F2 +(is bound to the func-)3.728 F(tion)108 535.2 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 -422.4 Q(xt)-.15 E/F3 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 439.2 R F2("k)2.555 -E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.555 E F1(macr) +547.2 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 564 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 451.2 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 463.2 R .685 -.15(ey e)-.1 H -.385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .386 +(denoting an entire k)108 576 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 .385(GNU Emacs style k)108 588 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 475.2 Q("\\C\255u": uni)144 499.2 Q -.15(ve) --.25 G(rsal\255ar).15 E(gument)-.18 E -("\\C\255x\\C\255r": re\255read\255init\255\214le)144 511.2 Q -("\\e[11~": "Function K)144 523.2 Q .3 -.15(ey 1)-.25 H(").15 E .315 -(In this e)108 540 R(xample,)-.15 E F1(C\255u)2.655 E F0 .315(is ag) +(are not recognized.)108 600 Q("\\C\255u": uni)144 624 Q -.15(ve)-.25 G +(rsal\255ar).15 E(gument)-.18 E +("\\C\255x\\C\255r": re\255read\255init\255\214le)144 636 Q +("\\e[11~": "Function K)144 648 Q .3 -.15(ey 1)-.25 H(").15 E .315 +(In this e)108 664.8 R(xample,)-.15 E F1(C\255u)2.655 E F0 .315(is ag) 3.065 F .315(ain bound to the function)-.05 F F2(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 552 Q F2 -.18(re)2.5 G -.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(Function Key 1) -2.5 E F0(.)A(The full set of GNU Emacs style escape sequences is)108 -568.8 Q F2<5c43ad>144 580.8 Q F0(control pre\214x)20.3 E F2<5c4dad>144 -592.8 Q F0(meta pre\214x)18.08 E F2(\\e)144 604.8 Q F0 -(an escape character)28.78 E F2(\\\\)144 616.8 Q F0(backslash)30.44 E F2 -(\\")144 628.8 Q F0(literal ")27.67 E F2(\\')144 640.8 Q F0(literal ') -29.89 E(In addition to the GNU Emacs style escape sequences, a second s\ -et of backslash escapes is a)108 657.6 Q -.25(va)-.2 G(ilable:).25 E F2 -(\\a)144 669.6 Q F0(alert \(bell\))28.22 E F2(\\b)144 681.6 Q F0 -(backspace)27.66 E F2(\\d)144 693.6 Q F0(delete)27.66 E F2(\\f)144 705.6 -Q F0(form feed)29.89 E F2(\\n)144 717.6 Q F0(ne)27.66 E(wline)-.25 E -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(31)197.335 E 0 Cg EP +.314(is bound to the func-)3.544 F(tion)108 676.8 Q F2 -.18(re)2.5 G +.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 F4 +(Function Key 1)2.5 E F0(.)A +(The full set of GNU Emacs style escape sequences is)108 693.6 Q F2 +<5c43ad>144 705.6 Q F0(control pre\214x)20.3 E F2<5c4dad>144 717.6 Q F0 +(meta pre\214x)18.08 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(31) +197.335 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/F1 10/Times-Bold@0 SF(\\r)144 84 Q F0(carriage return)28.78 E F1 -(\\t)144 96 Q F0(horizontal tab)29.89 E F1(\\v)144 108 Q F0 -.15(ve) -28.22 G(rtical tab).15 E F1(\\)144 120 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 -132 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 1.141 -(When entering the te)108 148.8 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 160.8 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 -172.8 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 '.)-.15 E F1 -(Bash)108 189.6 Q F0(allo)2.929 E .429(ws the current readline k)-.25 F -.729 -.15(ey b)-.1 H .429 +-.35 E/F1 10/Times-Bold@0 SF(\\e)144 84 Q F0(an escape character)28.78 E +F1(\\\\)144 96 Q F0(backslash)30.44 E F1(\\")144 108 Q F0(literal ") +27.67 E F1(\\')144 120 Q F0(literal ')29.89 E(In addition to the GNU Em\ +acs style escape sequences, a second set of backslash escapes is a)108 +136.8 Q -.25(va)-.2 G(ilable:).25 E F1(\\a)144 148.8 Q F0 +(alert \(bell\))28.22 E F1(\\b)144 160.8 Q F0(backspace)27.66 E F1(\\d) +144 172.8 Q F0(delete)27.66 E F1(\\f)144 184.8 Q F0(form feed)29.89 E F1 +(\\n)144 196.8 Q F0(ne)27.66 E(wline)-.25 E F1(\\r)144 208.8 Q F0 +(carriage return)28.78 E F1(\\t)144 220.8 Q F0(horizontal tab)29.89 E F1 +(\\v)144 232.8 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\)144 244.8 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 256.8 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 1.141(When entering the te)108 +273.6 R 1.141(xt of a macro, single or double quotes must be used to in\ +dicate a macro de\214nition.)-.15 F .09(Unquoted te)108 285.6 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 297.6 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 '.)-.15 E F1(Bash)108 314.4 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 F1(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 201.6 R .346 -.15 +(The editing mode may be switched during interacti)108 326.4 R .346 -.15 (ve u)-.25 H .046(se by using the).15 F F12.545 E F0 .045 (option to the)2.545 F F1(set)2.545 E F0 -.2(bu)2.545 G .045 -(iltin command).2 F(\(see)108 213.6 Q/F3 9/Times-Bold@0 SF(SHELL B)2.5 E +(iltin command).2 F(\(see)108 338.4 Q/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 -(Readline V)87 230.4 Q(ariables)-.92 E F0 .043(Readline has v)108 242.4 +(Readline V)87 355.2 Q(ariables)-.92 E F0 .043(Readline has v)108 367.2 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 F2(inpu-)2.554 E(tr)108 254.4 Q(c)-.37 E -F0(\214le with a statement of the form)2.81 E F1(set)144 271.2 Q F2 +(riable may be set in the).25 F F2(inpu-)2.554 E(tr)108 379.2 Q(c)-.37 E +F0(\214le with a statement of the form)2.81 E F1(set)144 396 Q F2 (variable\255name value)2.5 E F0 .489(Except where noted, readline v)108 -288 R .489(ariables can tak)-.25 F 2.989(et)-.1 G .489(he v)-2.989 F +412.8 R .489(ariables can tak)-.25 F 2.989(et)-.1 G .489(he v)-2.989 F (alues)-.25 E F1(On)2.989 E F0(or)2.989 E F1(Off)2.989 E F0 5.489(.T)C .489(he v)-5.489 F .488(ariables and their def)-.25 F .488(ault v)-.1 F -(al-)-.25 E(ues are:)108 300 Q F1(bell\255style \(audible\))108 316.8 Q -F0 .01(Controls what happens when readline w)144 328.8 R .011 +(al-)-.25 E(ues are:)108 424.8 Q F1(bell\255style \(audible\))108 441.6 +Q F0 .01(Controls what happens when readline w)144 453.6 R .011 (ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F1(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 340.8 R .94(If set to)5.94 F F1(visible)3.44 E +.94(rings the bell.)144 465.6 R .94(If set to)5.94 F F1(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 F1(audible)3.44 E F0 -(,)A(readline attempts to ring the terminal')144 352.8 Q 2.5(sb)-.55 G -(ell.)-2.5 E F1(comment\255begin \(`)108 364.8 Q(`#')-.63 E('\))-.63 E -F0 .884(The string that is inserted when the readline)144 376.8 R F1 +(,)A(readline attempts to ring the terminal')144 477.6 Q 2.5(sb)-.55 G +(ell.)-2.5 E F1(comment\255begin \(`)108 489.6 Q(`#')-.63 E('\))-.63 E +F0 .884(The string that is inserted when the readline)144 501.6 R F1 (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 388.8 Q F1 +3.385(cuted. This).15 F(com-)3.385 E(mand is bound to)144 513.6 Q F1 (M\255#)2.5 E F0(in emacs mode and to)2.5 E F1(#)2.5 E F0 -(in vi command mode.)2.5 E F1(completion\255ignor)108 400.8 Q -(e\255case \(Off\))-.18 E F0(If set to)144 412.8 Q F1(On)2.5 E F0 2.5 +(in vi command mode.)2.5 E F1(completion\255ignor)108 525.6 Q +(e\255case \(Off\))-.18 E F0(If set to)144 537.6 Q F1(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 F1 -(completion\255query\255items \(100\))108 424.8 Q F0 .53 -(This determines when the user is queried about vie)144 436.8 R .529 +(completion\255query\255items \(100\))108 549.6 Q F0 .53 +(This determines when the user is queried about vie)144 561.6 R .529 (wing the number of possible completions gen-)-.25 F .56(erated by the) -144 448.8 R F1(possible\255completions)3.06 E F0 3.06(command. It)3.06 F +144 573.6 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 460.8 R +-.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 585.6 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 472.8 S .237 +the v)5.783 F .782(alue of this)-.25 F -.25(va)144 597.6 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 484.8 Q F1(con)108 -496.8 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 508.8 +.237(re simply listed)-2.737 F(on the terminal.)144 609.6 Q F1(con)108 +621.6 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 633.6 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 (stripping the eighth bit and pre\214xing an escape character \(in ef) -144 520.8 R .541(fect, using escape as the)-.25 F F2 .542(meta pr)3.042 -F(e-)-.37 E<8c78>144 532.8 Q F0(\).)A F1(disable\255completion \(Off\)) -108 544.8 Q F0 .038(If set to)144 556.8 R F1(On)2.538 E F0 2.538(,r)C +144 645.6 R .541(fect, using escape as the)-.25 F F2 .542(meta pr)3.042 +F(e-)-.37 E<8c78>144 657.6 Q F0(\).)A F1(disable\255completion \(Off\)) +108 669.6 Q F0 .038(If set to)144 681.6 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 568.8 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 580.8 Q F0 .252 -(Controls whether readline be)144 592.8 R .253(gins with a set of k)-.15 +144 693.6 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 705.6 Q F0 .252 +(Controls whether readline be)144 717.6 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 604.8 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E -F0(.)A F1(enable\255k)108 616.8 Q(eypad \(Off\))-.1 E F0 .893 -(When set to)144 628.8 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 .892(Some sys-)5.893 F -(tems need this to enable the arro)144 640.8 Q 2.5(wk)-.25 G -.15(ey) --2.6 G(s.).15 E F1(expand\255tilde \(Off\))108 652.8 Q F0(If set to)144 -664.8 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-pr)108 676.8 Q(eser)-.18 E -.1(ve)-.1 G(-point).1 E F0 -1.492(If set to)144 688.8 R F1(on)3.992 E F0 3.992(,t)C 1.493(he histor\ -y code attempts to place point at the same location on each history lin\ -e)-3.992 F(retri)144 700.8 Q -.15(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1 -(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E F0(or)2.5 E F1(next-history) -2.5 E F0(.)A(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(32)197.335 E 0 -Cg EP +(can be set to either)144 729.6 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E +F0(.)A(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(32)197.335 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/F1 10/Times-Bold@0 SF(horizontal\255scr)108 84 Q -(oll\255mode \(Off\))-.18 E F0 .449(When set to)144 96 R F1(On)2.949 E -F0 2.949(,m)C(ak)-2.949 E .448 +-.35 E/F1 10/Times-Bold@0 SF(enable\255k)108 84 Q(eypad \(Off\))-.1 E F0 +.893(When set to)144 96 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 .892(Some sys-)5.893 F +(tems need this to enable the arro)144 108 Q 2.5(wk)-.25 G -.15(ey)-2.6 +G(s.).15 E F1(expand\255tilde \(Off\))108 120 Q F0(If set to)144 132 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-pr)108 144 Q(eser)-.18 E -.1(ve)-.1 G(-point).1 E F0 +1.492(If set to)144 156 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(retri)144 168 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(horizontal\255scr)108 180 Q(oll\255mode \(Off\))-.18 E F0 +.449(When set to)144 192 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 108 R(w)-.25 E(line.)144 120 Q F1(input\255meta \(Off\))108 132 -Q F0 .228(If set to)144 144 R F1(On)2.728 E F0 2.728(,r)C .227(eadline \ + ne)144 204 R(w)-.25 E(line.)144 216 Q F1(input\255meta \(Off\))108 228 +Q F0 .228(If set to)144 240 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.728 F(-)-.2 E .956(acters it reads\), re)144 156 R -.05 +rom the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144 252 R -.05 (ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F .957(The name)5.956 F F1(meta\255\215ag)3.457 E F0 .957(is a)3.457 F -(synon)144 168 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 180 Q +(synon)144 264 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 276 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 192 R -.15(xe)-.15 G(cut-).15 E .934 -(ing the character as a command.)144 204 R .935(If this v)5.935 F .935 +thout subsequently e)144 288 R -.15(xe)-.15 G(cut-).15 E .934 +(ing the character as a command.)144 300 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 10/Times-Italic@0 SF(ESC)3.435 E F0 -(and)144 216 Q F2(C\255J)2.5 E F0(will terminate an incremental search.) -2.5 E F1 -.1(ke)108 228 S(ymap \(emacs\)).1 E F0 2.021 -(Set the current readline k)144 240 R -.15(ey)-.1 G 4.521(map. The).15 F +(and)144 312 Q F2(C\255J)2.5 E F0(will terminate an incremental search.) +2.5 E F1 -.1(ke)108 324 S(ymap \(emacs\)).1 E F0 2.021 +(Set the current readline k)144 336 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 252 R F0 2.568 +.068(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 348 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.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 264 R -.25(va)-.25 +2.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 360 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 276 Q(fects the def)-.25 -E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 288 Q -(ectories \(On\))-.18 E F0(If set to)144 300 Q F1(On)2.5 E F0 2.5(,c)C +(editing\255mode)4.043 E F0(also)4.043 E(af)144 372 Q(fects the def)-.25 +E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 384 Q +(ectories \(On\))-.18 E F0(If set to)144 396 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 F1(mark\255modi\214ed\255lines \(Off\))108 312 Q F0(If set to)144 -324 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b) +.15 E F1(mark\255modi\214ed\255lines \(Off\))108 408 Q F0(If set to)144 +420 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 336 Q(ed\255dir)-.1 E -(ectories \(Off\))-.18 E F0 .175(If set to)144 348 R F1(On)2.675 E F0 +(*)A F0(\).)A F1(mark\255symlink)108 432 Q(ed\255dir)-.1 E +(ectories \(Off\))-.18 E F0 .175(If set to)144 444 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 360 +-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 456 Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1 -(match\255hidden\255\214les \(On\))108 372 Q F0 .193(This v)144 384 R +(match\255hidden\255\214les \(On\))108 468 Q F0 .193(This v)144 480 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 396 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 408 -Q F1(output\255meta \(Off\))108 420 Q F0 .507(If set to)144 432 R F1(On) +144 492 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 504 +Q F1(output\255meta \(Off\))108 516 Q F0 .507(If set to)144 528 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 444 Q -(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 456 Q F0 -.808(If set to)144 468 R F1(On)3.308 E F0 3.308(,r)C .808 +hth bit set directly rather than as a meta-)-3.007 F(pre\214x)144 540 Q +(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 552 Q F0 +.808(If set to)144 564 R F1(On)3.308 E F0 3.308(,r)C .808 (eadline uses an internal)-3.308 F F2(mor)3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808(ager to display a screenful of possible comple-) --3.308 F(tions at a time.)144 480 Q F1 -(print\255completions\255horizontally \(Off\))108 492 Q F0 1.319 -(If set to)144 504 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\ +-3.308 F(tions at a time.)144 576 Q F1 +(print\255completions\255horizontally \(Off\))108 588 Q F0 1.319 +(If set to)144 600 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 516 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25 -E F1(sho)108 528 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F0 .477 -(This alters the def)144 540 R .477(ault beha)-.1 F .477 +F(order)144 612 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25 +E F1(sho)108 624 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F0 .477 +(This alters the def)144 636 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 552 R(bell.)144 564 Q F1 -(sho)108 576 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345 -(This alters the def)144 588 R 5.345(ault beha)-.1 F 5.345 +isted immediately instead of ringing the)144 648 R(bell.)144 660 Q F1 +(sho)108 672 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345 +(This alters the def)144 684 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 600 Q(w\255all\255if\255ambiguous)-.1 E F0 6.923(.I)C +-.1 F F1(sho)144 696 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 612 R 3.539 +(ore than one possible completion).15 F 1.039(without an)144 708 R 3.539 (yp)-.15 G 1.039 (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 624 Q F1 -(visible\255stats \(Off\))108 636 Q F0 .847(If set to)144 648 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 F2(stat)3.346 E F0 .846 -(\(2\) is appended to the \214lename)B -(when listing possible completions.)144 660 Q F1 -(Readline Conditional Constructs)87 676.8 Q F0 .05 -(Readline implements a f)108 688.8 R .05(acility similar in spirit to t\ -he conditional compilation features of the C preprocessor)-.1 F .097 -(which allo)108 700.8 R .097(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 712.8 Q -.15(ve)-.25 G 2.5 -(su).15 G(sed.)-2.5 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(33) -197.335 E 0 Cg EP +s to be listed immediately instead of ringing the bell.)144 720 Q +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(33)197.335 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/F1 10/Times-Bold@0 SF($if)108 84 Q F0(The)24.89 E F1($if)2.962 E +-.35 E/F1 10/Times-Bold@0 SF(visible\255stats \(Off\))108 84 Q F0 .847 +(If set to)144 96 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/F2 10/Times-Italic@0 SF(stat)3.346 E F0 +.846(\(2\) is appended to the \214lename)B +(when listing possible completions.)144 108 Q F1 +(Readline Conditional Constructs)87 124.8 Q F0 .05 +(Readline implements a f)108 136.8 R .05(acility similar in spirit to t\ +he conditional compilation features of the C preprocessor)-.1 F .097 +(which allo)108 148.8 R .097(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 160.8 Q -.15(ve)-.25 G 2.5 +(su).15 G(sed.)-2.5 E F1($if)108 177.6 Q F0(The)24.89 E F1($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 96 R .477(The te)5.477 F .477 +(or the application using readline.)144 189.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 108 Q F1(mode)144 124.8 Q F0(The)12.67 -E F1(mode=)3.711 E F0 1.211(form of the)3.711 F F1($if)3.711 E F0 +(are required to isolate it.)144 201.6 Q F1(mode)144 218.4 Q F0(The) +12.67 E F1(mode=)3.711 E F0 1.211(form of the)3.711 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 136.8 R .565(may be used in conjunction with the)3.065 F +(mode. This)180 230.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 148.8 R/F2 10/Times-Italic@0 SF -(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 160.8 Q F1(term)144 177.6 Q F0(The)15.46 E F1 -(term=)3.197 E F0 .696 +3.065 F .735(set bindings in the)180 242.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 254.4 +Q F1(term)144 271.2 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 189.6 R +(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 283.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 201.6 Q F1(=)3.232 +(wo)3.154 G .654(rd on the right side of).1 F(the)180 295.2 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 -213.6 Q F12.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0 +307.2 Q F12.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(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 230.4 Q F0(The)180 -242.4 Q F1(application)3.003 E F0 .503 +2.5(,f).77 G(or instance.)-2.5 E F1(application)144 324 Q F0(The)180 336 +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 -254.4 R F2 .114(application name)2.614 F F0 2.614(,a)C .114 +348 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 -266.4 R 3(alue. This)-.25 F .501(could be used to bind k)3 F .801 -.15 +360 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 278.4 R -.15(Fo)5.397 G 2.896(ri).15 G .396 +(ci\214c program.)180 372 R -.15(Fo)5.397 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 290.4 -Q(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 314.4 Q F0(Bash)2.5 E 2.5 -(#Q)180 326.4 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E -("\\C\255xq": "\\eb\\"\\ef\\"")180 338.4 Q F1($endif)180 350.4 Q($endif) -108 367.2 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E +(ey s)-.1 H .396(equence that quotes the).15 F(current or pre)180 384 Q +(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 408 Q F0(Bash)2.5 E 2.5 +(#Q)180 420 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E +("\\C\255xq": "\\eb\\"\\ef\\"")180 432 Q F1($endif)180 444 Q($endif)108 +460.8 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 384 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0 +108 477.6 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 400.8 Q F0 .356 -(This directi)144 412.8 R .656 -.15(ve t)-.25 H(ak).15 E .356 +(cuted if the test f).15 E(ails.)-.1 E F1($include)108 494.4 Q F0 .356 +(This directi)144 506.4 R .656 -.15(ve t)-.25 H(ak).15 E .356 (es a single \214lename as an ar)-.1 F .357 (gument and reads commands and bindings from that)-.18 F 2.5(\214le. F) -144 424.8 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3 +144 518.4 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 448.8 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 465.6 Q -(ching)-.18 E F0 .835(Readline pro)108 477.6 R .835 +($include)144 542.4 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 559.2 Q +(ching)-.18 E F0 .835(Readline pro)108 571.2 R .835 (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 489.6 Q +.834(w\) for lines)-.25 F(containing a speci\214ed string.)108 583.2 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 506.4 R .697 +E .697(Incremental searches be)108 600 R .697 (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 518.4 R .112 +(search string is typed, readline displays the ne)108 612 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 530.4 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 542.4 R .224(alue of the)-.25 F F1(isear) -2.724 E(ch-terminators)-.18 E F0 -.25(va)2.724 G .224 +(incremental search requires only as man)108 624 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 636 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 554.4 R .66(ariable has not been assigned a v)-.25 F .66 +(If that v)108 648 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 566.4 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 578.4 Q 2.938 -.8(To \214) -108 595.2 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 607.2 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 619.2 R .474 -.15(ey s)-.1 -H .174 +F .097(mental search.)108 660 R .096(Control-G will abort an incrementa\ +l search and restore the original line.)5.097 F .096(When the search is) +5.096 F(terminated, the history entry containing the search string beco\ +mes the current line.)108 672 Q 2.938 -.8(To \214)108 688.8 T 1.339(nd \ +other matching entries in the history list, type Control-S or Control-R\ + as appropriate.).8 F 1.339(This will)6.339 F .675(search backw)108 +700.8 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 712.8 R .474 -.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 631.2 R F2(ne)3.041 E(wline)-.15 E F0 .541 +.541(instance, a)108 724.8 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 643.2 -Q .653(Readline remembers the last incremental search string.)108 660 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 672 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 688.8 R(The searc\ -h string may be typed by the user or be part of the contents of the cur\ -rent line.)108 700.8 Q(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(34) -197.335 E 0 Cg EP +(xe)-.15 G .54(cuting the command from the).15 F(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(34)197.335 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/F1 10/Times-Bold@0 SF(Readline Command Names)87 84 Q F0 1.391 -(The follo)108 96 R 1.391 +-.35 E(history list.)108 84 Q .653 +(Readline remembers the last incremental search string.)108 100.8 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 112.8 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 129.6 R(The searc\ +h string may be typed by the user or be part of the contents of the cur\ +rent line.)108 141.6 Q/F1 10/Times-Bold@0 SF(Readline Command Names)87 +158.4 Q F0 1.391(The follo)108 170.4 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 108 R .122 +3.892(ya)-.15 G(re)-3.892 E 2.622(bound. Command)108 182.4 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 120 Q/F2 10 +(the follo)2.621 F(wing)-.25 E(descriptions,)108 194.4 Q/F2 10 /Times-Italic@0 SF(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 132 Q F0 2.5 +3.411(yt)-3.411 G(he)-3.411 E F1(set\255mark)108 206.4 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 148.8 Q(or Mo)-.25 E(ving)-.1 -E(beginning\255of\255line \(C\255a\))108 160.8 Q F0(Mo)144 172.8 Q .3 +2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 223.2 Q(or Mo)-.25 E(ving)-.1 +E(beginning\255of\255line \(C\255a\))108 235.2 Q F0(Mo)144 247.2 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 184.8 Q F0(Mo)144 196.8 Q .3 -.15 +(end\255of\255line \(C\255e\))108 259.2 Q F0(Mo)144 271.2 Q .3 -.15 (ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 -208.8 S(rward\255char \(C\255f\)).25 E F0(Mo)144 220.8 Q .3 -.15(ve f) +283.2 S(rward\255char \(C\255f\)).25 E F0(Mo)144 295.2 Q .3 -.15(ve f) -.15 H(orw).15 E(ard a character)-.1 E(.)-.55 E F1 -(backward\255char \(C\255b\))108 232.8 Q F0(Mo)144 244.8 Q .3 -.15(ve b) --.15 H(ack a character).15 E(.)-.55 E F1 -.25(fo)108 256.8 S(rward\255w) -.25 E(ord \(M\255f\))-.1 E F0(Mo)144 268.8 Q .823 -.15(ve f)-.15 H(orw) +(backward\255char \(C\255b\))108 307.2 Q F0(Mo)144 319.2 Q .3 -.15(ve b) +-.15 H(ack a character).15 E(.)-.55 E F1 -.25(fo)108 331.2 S(rward\255w) +.25 E(ord \(M\255f\))-.1 E F0(Mo)144 343.2 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(ords are composed of alphanumeric characters \(let-)-.8 F -(ters and digits\).)144 280.8 Q F1(backward\255w)108 292.8 Q -(ord \(M\255b\))-.1 E F0(Mo)144 304.8 Q 1.71 -.15(ve b)-.15 H 1.41 +(ters and digits\).)144 355.2 Q F1(backward\255w)108 367.2 Q +(ord \(M\255b\))-.1 E F0(Mo)144 379.2 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 316.8 Q F1(clear\255scr)108 -328.8 Q(een \(C\255l\))-.18 E F0 .993(Clear the screen lea)144 340.8 R +(characters \(letters and digits\).)144 391.2 Q F1(clear\255scr)108 +403.2 Q(een \(C\255l\))-.18 E F0 .993(Clear the screen lea)144 415.2 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 352.8 Q F1 -.18(re)108 -364.8 S(draw\255curr).18 E(ent\255line)-.18 E F0 -(Refresh the current line.)144 376.8 Q F1(Commands f)87 393.6 Q +(current line without clearing the screen.)144 427.2 Q F1 -.18(re)108 +439.2 S(draw\255curr).18 E(ent\255line)-.18 E F0 +(Refresh the current line.)144 451.2 Q F1(Commands f)87 468 Q (or Manipulating the History)-.25 E(accept\255line \(Newline, Retur)108 -405.6 Q(n\))-.15 E F0 .158(Accept the line re)144 417.6 R -.05(ga)-.15 G +480 Q(n\))-.15 E F0 .158(Accept the line re)144 492 R -.05(ga)-.15 G .158(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 429.6 R/F3 9/Times-Bold@0 SF(HISTCONTR)3.199 E(OL)-.27 E F0 -.25(va) +144 504 R/F3 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 441.6 Q F1(pr)108 -453.6 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0 -(Fetch the pre)144 465.6 Q(vious command from the history list, mo)-.25 -E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 477.6 -Q F0(Fetch the ne)144 489.6 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 501.6 Q F0(Mo)144 513.6 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 525.6 Q F0(Mo)144 537.6 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 549.6 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 -1.47(Search backw)144 561.6 R 1.471 -(ard starting at the current line and mo)-.1 F 1.471 -(ving `up' through the history as necessary)-.15 F(.)-.65 E -(This is an incremental search.)144 573.6 Q F1 -.25(fo)108 585.6 S +(restore the history line to its original state.)144 516 Q F1(pr)108 528 +Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0(Fetch the pre)144 +540 Q(vious command from the history list, mo)-.25 E +(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 552 Q +F0(Fetch the ne)144 564 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 576 Q F0(Mo)144 588 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 600 Q F0(Mo)144 612 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 +624 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 1.47 +(Search backw)144 636 R 1.471(ard starting at the current line and mo) +-.1 F 1.471(ving `up' through the history as necessary)-.15 F(.)-.65 E +(This is an incremental search.)144 648 Q F1 -.25(fo)108 660 S (rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132 -(Search forw)144 597.6 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 609.6 Q F1 -(non\255incr)108 621.6 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 633.6 R .164(ard through the history starting at the current line u\ -sing a non-incremental search for)-.1 F 2.5(as)144 645.6 S -(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 657.6 Q -(emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18 -E F0 1.354(Search forw)144 669.6 R 1.354(ard through the history using \ -a non-incremental search for a string supplied by the)-.1 F(user)144 -681.6 Q(.)-.55 E F1(history\255sear)108 693.6 Q(ch\255f)-.18 E(orward) --.25 E F0 .248(Search forw)144 705.6 R .249(ard through the history for\ - the string of characters between the start of the current line)-.1 F -(and the point.)144 717.6 Q(This is a non-incremental search.)5 E -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(35)197.335 E 0 Cg EP +(Search forw)144 672 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 684 Q F1(non\255incr)108 +696 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 708 R .164(ar\ +d through the history starting at the current line using a non-incremen\ +tal search for)-.1 F 2.5(as)144 720 S(tring supplied by the user)-2.5 E +(.)-.55 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(35)197.335 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(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 +-.35 E/F1 10/Times-Bold@0 SF(non\255incr)108 84 Q(emental\255f)-.18 E +(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18 E F0 1.354 +(Search forw)144 96 R 1.354(ard through the history using a non-increme\ +ntal search for a string supplied by the)-.1 F(user)144 108 Q(.)-.55 E +F1(history\255sear)108 120 Q(ch\255f)-.18 E(orward)-.25 E F0 .248 +(Search forw)144 132 R .249(ard through the history for the string of c\ +haracters between the start of the current line)-.1 F(and the point.)144 +144 Q(This is a non-incremental search.)5 E F1(history\255sear)108 156 Q +(ch\255backward)-.18 E F0 .951(Search backw)144 168 R .951(ard through \ +the history for the string of characters between the start of the curre\ +nt)-.1 F(line and the point.)144 180 Q +(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 192 Q +2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144 204 +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 +.622(vious line\))-.25 F .795(at point.)144 216 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 +(ords in the)-.1 F(pre)144 228 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(the pre)144 168 Q(vious command.)-.25 E F1 -(yank\255last\255ar)108 180 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 192 R 1.308 +(ord from the end of)-.1 F(the pre)144 240 Q(vious command.)-.25 E F1 +(yank\255last\255ar)108 252 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 264 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 204 +(ord of the pre)-.1 F 1.307(vious history entry\).)-.25 F -.4(Wi)144 276 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 -(back through the history list, inserting the last ar)144 216 Q +(back through the history list, inserting the last ar)144 288 Q (gument of each line in turn.)-.18 E F1 -(shell\255expand\255line \(M\255C\255e\))108 228 Q F0 .623 -(Expand the line as the shell does.)144 240 R .622 +(shell\255expand\255line \(M\255C\255e\))108 300 Q F0 .623 +(Expand the line as the shell does.)144 312 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 +(xpansion as well as all of the)-.15 F(shell w)144 324 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 264 Q F0 .938 -(Perform history e)144 276 R .939(xpansion on the current line.)-.15 F +(history\255expand\255line \(M\255^\))108 336 Q F0 .938 +(Perform history e)144 348 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.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 +-3.439 F(tion of history e)144 360 Q(xpansion.)-.15 E F1(magic\255space) +108 372 Q F0 1.627(Perform history e)144 384 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 +(belo)144 396 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E +(xpansion.)-.15 E F1(alias\255expand\255line)108 408 Q F0 .394 +(Perform alias e)144 420 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) +.395(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 432 Q F1 +(history\255and\255alias\255expand\255line)108 444 Q F0 +(Perform history and alias e)144 456 Q(xpansion on the current line.) +-.15 E F1(insert\255last\255ar)108 468 Q(gument \(M\255.)-.1 E 2.5(,M) +.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 480 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 420 Q F0 .948 -(Accept the current line for e)144 432 R -.15(xe)-.15 G .948 +(operate\255and\255get\255next \(C\255o\))108 492 Q F0 .948 +(Accept the current line for e)144 504 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 +(history for editing.)144 516 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 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 +(edit\255and\255execute\255command \(C\255xC\255e\))108 528 Q F0(In)144 +540 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 480 Q -.2(vo)-.4 G -.1(ke).2 G F3($FCEDIT)2.6 E/F4 9 +(attempts to in)144 552 Q -.2(vo)-.4 G -.1(ke).2 G F3($FCEDIT)2.6 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 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) +(hat order)-2.5 E(.)-.55 E F1(Commands f)87 568.8 Q(or Changing T)-.25 E +(ext)-.92 E(delete\255char \(C\255d\))108 580.8 Q F0 .358 +(Delete the character at point.)144 592.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 532.8 Q(as not bound to)-.1 E +(line, and the last character typed w)144 604.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 544.8 Q F0 .552 -(Delete the character behind the cursor)144 556.8 R 5.553(.W)-.55 G .553 +A F1(backward\255delete\255char \(Rubout\))108 616.8 Q F0 .552 +(Delete the character behind the cursor)144 628.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 .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 +.553(xt on)-.15 F(the kill ring.)144 640.8 Q F1 -.25(fo)108 652.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 +(Delete the character under the cursor)144 664.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 +(character behind the cursor is deleted.)144 676.8 Q F1 +(quoted\255insert \(C\255q, C\255v\))108 688.8 Q F0 .778(Add the ne)144 +700.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.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-3.0)72 768 Q +(,f)C(or)-3.279 E -.15(ex)144 712.8 S(ample.).15 E(GNU Bash-3.0)72 768 Q (2004 June 26)147.345 E(36)197.335 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(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 +-.35 E/F1 10/Times-Bold@0 SF(tab\255insert \(C\255v T)108 84 Q(AB\))-.9 +E F0(Insert a tab character)144 96 Q(.)-.55 E F1 +(self\255insert \(a, b, A, 1, !, ...\))108 108 Q F0 +(Insert the character typed.)144 120 Q F1(transpose\255chars \(C\255t\)) +108 132 Q F0 .322(Drag the character before point forw)144 144 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 156 +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(ar)144 168 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 180 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144 +192 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 204 Q 2.5 +(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 216 Q +(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144 228 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.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 +(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 240 S(rd, b).1 E +(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 252 Q +(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 264 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 +-.25 F(vious)-.25 E -.1(wo)144 276 S(rd, b).1 E(ut do not mo)-.2 E .3 +-.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 288 Q +(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 300 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.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 +(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 312 S(rd, b).1 +E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 324 +S(rwrite\255mode).1 E F0 -.8(To)144 336 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 +(Wi)144 348 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 +-.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 360 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 +372 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 at point rather than)-.15 F .958(pushing the te)144 384 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 +F(before point with a space.)144 396 Q(By def)5 E +(ault, this command is unbound.)-.1 E F1(Killing and Y)87 412.8 Q +(anking)-.85 E(kill\255line \(C\255k\))108 424.8 Q F0(Kill the te)144 +436.8 Q(xt from point to the end of the line.)-.15 E F1 +(backward\255kill\255line \(C\255x Rubout\))108 448.8 Q F0(Kill backw) +144 460.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1 +(unix\255line\255discard \(C\255u\))108 472.8 Q F0(Kill backw)144 484.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 412.8 Q F0 +-2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 496.8 Q F0 (Kill all characters on the current line, no matter where point is.)144 -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 +508.8 Q F1(kill\255w)108 520.8 Q(ord \(M\255d\))-.1 E F0 .728 +(Kill from point to the end of the current w)144 532.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 +(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 544.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.) +(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 556.8 Q +(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 568.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(unix\255w)108 496.8 Q -(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 508.8 R .365 +(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(unix\255w)108 580.8 Q +(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 592.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 -520.8 Q F1(unix\255\214lename\255rubout)108 532.8 Q F0 .166(Kill the w) -144 544.8 R .166 +604.8 Q F1(unix\255\214lename\255rubout)108 616.8 Q F0 .166(Kill the w) +144 628.8 R .166 (ord behind point, using white space and the slash character as the w) --.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 556.8 Q +-.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 640.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 568.8 Q F0 -(Delete all spaces and tabs around point.)144 580.8 Q F1(kill\255r)108 -592.8 Q(egion)-.18 E F0(Kill the te)144 604.8 Q(xt in the current re) --.15 E(gion.)-.15 E F1(copy\255r)108 616.8 Q(egion\255as\255kill)-.18 E -F0(Cop)144 628.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 F1 -(copy\255backward\255w)108 640.8 Q(ord)-.1 E F0(Cop)144 652.8 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.3 -(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 664.8 -Q(ord)-.1 E F0(.)A F1(copy\255f)108 676.8 Q(orward\255w)-.25 E(ord)-.1 E -F0(Cop)144 688.8 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 700.8 Q(ord)-.1 E F0(.) -A(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(37)197.335 E 0 Cg EP +-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 652.8 Q F0 +(Delete all spaces and tabs around point.)144 664.8 Q F1(kill\255r)108 +676.8 Q(egion)-.18 E F0(Kill the te)144 688.8 Q(xt in the current re) +-.15 E(gion.)-.15 E F1(copy\255r)108 700.8 Q(egion\255as\255kill)-.18 E +F0(Cop)144 712.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-3.0)72 +768 Q(2004 June 26)147.345 E(37)197.335 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/F1 10/Times-Bold@0 SF(yank \(C\255y\))108 84 Q F0 -1(Ya)144 96 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 108 Q F0 -(Rotate the kill ring, and yank the ne)144 120 Q 2.5(wt)-.25 G 2.5 +-.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.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 136.8 Q -(guments)-.1 E(digit\255ar)108 148.8 Q +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 160.8 R .641 +(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.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-) --.15 E(ati)144 172.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1 -(uni)108 184.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778 -(This is another w)144 196.8 R .779(ay to specify an ar)-.1 F 3.279 +-.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 -208.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144 -220.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 .899(wise ignored.)144 232.8 R .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 244.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.243(.T)-.55 G(he)-5.243 E(ar)144 256.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 268.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 285.6 Q(complete \(T)108 297.6 Q(AB\))-.9 E F0 1.137 -(Attempt to perform completion on the te)144 309.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 321.6 Q .533(xt as a v) +(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 333.6 Q .701(xt be)-.15 F .701(gins with)-.15 F F1(@)3.201 E F0 .701 +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 345.6 Q F1 -(possible\255completions \(M\255?\))108 357.6 Q F0 -(List the possible completions of the te)144 369.6 Q(xt before point.) --.15 E F1(insert\255completions \(M\255*\))108 381.6 Q F0 .783 -(Insert all completions of the te)144 393.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.282 E(pletions)144 -405.6 Q F0(.)A F1(menu\255complete)108 417.6 Q F0 .928(Similar to)144 -429.6 R F1(complete)3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628 +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.194(possible completions.)144 441.6 R 1.194(Repeated e)6.194 F -.15 +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 453.6 R .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 465.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.227 E F0 1.73 -(positions forw)144 477.6 R 1.73(ard in the list of matches; a ne)-.1 F +(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 489.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(delete\255char\255or\255list)108 501.6 Q F0 .234 -(Deletes the character under the cursor if not at the be)144 513.6 R +(ault.)-.1 E F1(delete\255char\255or\255list)108 573.6 Q F0 .234 +(Deletes the character under the cursor if not at the be)144 585.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 525.6 R -.15 +2.734 E F0(\).)A .425(If at the end of the line, beha)144 597.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 537.6 Q(ault.)-.1 E F1 -(complete\255\214lename \(M\255/\))108 549.6 Q F0 -(Attempt \214lename completion on the te)144 561.6 Q(xt before point.) --.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 573.6 Q -F0(List the possible completions of the te)144 585.6 Q +(his command is unbound)-5.425 F(by def)144 609.6 Q(ault.)-.1 E F1 +(complete\255\214lename \(M\255/\))108 621.6 Q F0 +(Attempt \214lename completion on the te)144 633.6 Q(xt before point.) +-.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 645.6 Q +F0(List the possible completions of the te)144 657.6 Q (xt before point, treating it as a \214lename.)-.15 E F1 -(complete\255user)108 597.6 Q(name \(M\255~\))-.15 E F0 -(Attempt completion on the te)144 609.6 Q +(complete\255user)108 669.6 Q(name \(M\255~\))-.15 E F0 +(Attempt completion on the te)144 681.6 Q (xt before point, treating it as a username.)-.15 E F1(possible\255user) -108 621.6 Q(name\255completions \(C\255x ~\))-.15 E F0 -(List the possible completions of the te)144 633.6 Q -(xt before point, treating it as a username.)-.15 E F1(complete\255v)108 -645.6 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144 -657.6 Q(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E -F1(possible\255v)108 669.6 Q(ariable\255completions \(C\255x $\))-.1 E -F0(List the possible completions of the te)144 681.6 Q -(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1 -(complete\255hostname \(M\255@\))108 693.6 Q F0 -(Attempt completion on the te)144 705.6 Q -(xt before point, treating it as a hostname.)-.15 E(GNU Bash-3.0)72 768 +108 693.6 Q(name\255completions \(C\255x ~\))-.15 E F0 +(List the possible completions of the te)144 705.6 Q +(xt before point, treating it as a username.)-.15 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(38)197.335 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 -(possible\255hostname\255completions \(C\255x @\))108 84 Q F0 -(List the possible completions of the te)144 96 Q +-.35 E/F1 10/Times-Bold@0 SF(complete\255v)108 84 Q(ariable \(M\255$\)) +-.1 E F0(Attempt completion on the te)144 96 Q +(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1 +(possible\255v)108 108 Q(ariable\255completions \(C\255x $\))-.1 E F0 +(List the possible completions of the te)144 120 Q +(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1 +(complete\255hostname \(M\255@\))108 132 Q F0 +(Attempt completion on the te)144 144 Q (xt before point, treating it as a hostname.)-.15 E F1 -(complete\255command \(M\255!\))108 108 Q F0 .581 -(Attempt completion on the te)144 120 R .581 +(possible\255hostname\255completions \(C\255x @\))108 156 Q F0 +(List the possible completions of the te)144 168 Q +(xt before point, treating it as a hostname.)-.15 E F1 +(complete\255command \(M\255!\))108 180 Q F0 .581 +(Attempt completion on the te)144 192 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 132 R +(Command comple-)5.58 F .715(tion attempts to match the te)144 204 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 144 Q -.15(xe)-.15 G +(\214nally e)144 216 Q -.15(xe)-.15 G (cutable \214lenames, in that order).15 E(.)-.55 E F1 -(possible\255command\255completions \(C\255x !\))108 156 Q F0 -(List the possible completions of the te)144 168 Q +(possible\255command\255completions \(C\255x !\))108 228 Q F0 +(List the possible completions of the te)144 240 Q (xt before point, treating it as a command name.)-.15 E F1 -(dynamic\255complete\255history \(M\255T)108 180 Q(AB\))-.9 E F0 .425 -(Attempt completion on the te)144 192 R .425 +(dynamic\255complete\255history \(M\255T)108 252 Q(AB\))-.9 E F0 .425 +(Attempt completion on the te)144 264 R .425 (xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .424 (ainst lines from the history list)-.05 F -(for possible completion matches.)144 204 Q F1 -(complete\255into\255braces \(M\255{\))108 216 Q F0 .4(Perform \214lena\ +(for possible completion matches.)144 276 Q F1 +(complete\255into\255braces \(M\255{\))108 288 Q F0 .4(Perform \214lena\ me completion and insert the list of possible completions enclosed with\ -in braces so)144 228 R(the list is a)144 240 Q -.25(va)-.2 G +in braces so)144 300 R(the list is a)144 312 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 256.8 S(yboard Macr).25 E(os)-.18 -E(start\255kbd\255macr)108 268.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)) -.833 E F0(Be)144 280.8 Q(gin sa)-.15 E +-.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 328.8 S(yboard Macr).25 E(os)-.18 +E(start\255kbd\255macr)108 340.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)) +.833 E F0(Be)144 352.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 292.8 Q 2.5(o\()-.18 G -(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 304.8 Q +(board macro.).15 E F1(end\255kbd\255macr)108 364.8 Q 2.5(o\()-.18 G +(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 376.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 316.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5 -E F0(Re-e)144 328.8 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1 +(call\255last\255kbd\255macr)108 388.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5 +E F0(Re-e)144 400.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 340.8 Q -.15(ey)-.1 G(board.).15 E F1 -(Miscellaneous)87 357.6 Q -.18(re)108 369.6 S.18 E +ear as if).15 F(typed at the k)144 412.8 Q -.15(ey)-.1 G(board.).15 E F1 +(Miscellaneous)87 429.6 Q -.18(re)108 441.6 S.18 E (ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776 -(Read in the contents of the)144 381.6 R/F2 10/Times-Italic@0 SF(inputr) +(Read in the contents of the)144 453.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 393.6 Q F1(abort \(C\255g\))108 405.6 Q F0 3.249 -(Abort the current editing command and ring the terminal')144 417.6 R +(found there.)144 465.6 Q F1(abort \(C\255g\))108 477.6 Q F0 3.249 +(Abort the current editing command and ring the terminal')144 489.6 R 5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1 -(bell\255style)144 429.6 Q F0(\).)A F1(do\255upper)108 441.6 Q +(bell\255style)144 501.6 Q F0(\).)A F1(do\255upper)108 513.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.755(If the meta\214ed character)144 453.6 R F2(x) +C(..\))-2.5 E F0 1.755(If the meta\214ed character)144 525.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 465.6 Q(.)-.55 E F1(pr)108 477.6 Q -(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 489.6 Q +(uppercase character)144 537.6 Q(.)-.55 E F1(pr)108 549.6 Q +(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 561.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 501.6 Q F0 -(Incremental undo, separately remembered for each line.)144 513.6 Q F1 --2.29 -.18(re v)108 525.6 T(ert\255line \(M\255r\)).08 E F0 1.095 -(Undo all changes made to this line.)144 537.6 R 1.095(This is lik)6.095 +(undo \(C\255_, C\255x C\255u\))108 573.6 Q F0 +(Incremental undo, separately remembered for each line.)144 585.6 Q F1 +-2.29 -.18(re v)108 597.6 T(ert\255line \(M\255r\)).08 E F0 1.095 +(Undo all changes made to this line.)144 609.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 549.6 Q F1 -(tilde\255expand \(M\255&\))108 561.6 Q F0(Perform tilde e)144 573.6 Q +(return the line to its initial state.)144 621.6 Q F1 +(tilde\255expand \(M\255&\))108 633.6 Q F0(Perform tilde e)144 645.6 Q (xpansion on the current w)-.15 E(ord.)-.1 E F1 -(set\255mark \(C\255@, M\255\))108 585.6 Q F0 -(Set the mark to the point.)144 597.6 Q(If a numeric ar)5 E +(set\255mark \(C\255@, M\255\))108 657.6 Q F0 +(Set the mark to the point.)144 669.6 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 609.6 Q F0(Sw) -144 621.6 Q .282(ap the point with the mark.)-.1 F .283 +(exchange\255point\255and\255mark \(C\255x C\255x\))108 681.6 Q F0(Sw) +144 693.6 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.783(dp).15 G .283(osition, and the old)-2.783 F(cursor position is sa) -144 633.6 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 645.6 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144 -657.6 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.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 669.6 Q(vious occurrences.)-.25 E F1(character\255sear)108 681.6 Q -(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 693.6 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.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 705.6 Q(GNU Bash-3.0)72 -768 Q(2004 June 26)147.345 E(39)197.335 E 0 Cg EP +144 705.6 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(39)197.335 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(insert\255comment \(M\255#\))108 84 Q F0 --.4(Wi)144 96 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 108 Q .097 +-.35 E/F1 10/Times-Bold@0 SF(character\255sear)108 84 Q(ch \(C\255]\)) +-.18 E F0 3.036(Ac)144 96 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.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 108 Q(vious occurrences.)-.25 E F1 +(character\255sear)108 120 Q(ch\255backward \(M\255C\255]\))-.18 E F0 +3.543(Ac)144 132 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.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 144 Q F1 +(insert\255comment \(M\255#\))108 156 Q F0 -.4(Wi)144 168 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 180 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 120 R .321 +.322(the characters at the be)144 192 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.821(,t)C .321(he v)-2.821 F .321(alue is) --.25 F 1.013(inserted, otherwise the characters in)144 132 R F1 +-.25 F 1.013(inserted, otherwise the characters in)144 204 R F1 (comment-begin)3.514 E F0 1.014(are deleted from the be)3.514 F 1.014 (ginning of the line.)-.15 F 1.469 -(In either case, the line is accepted as if a ne)144 144 R 1.468 +(In either case, the line is accepted as if a ne)144 216 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 156 Q F0 .839 +1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 228 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 168 Q -.15 +(gu-)-.18 E(ment causes the comment character to be remo)144 240 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 180 Q -(ord \(M\255g\))-.1 E F0 .792(The w)144 192 R .791 +(cuted by the shell.).15 E F1(glob\255complete\255w)108 252 Q +(ord \(M\255g\))-.1 E F0 .792(The w)144 264 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 204 +(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 276 R(pattern is used to generate a list of matching \214le names for possi\ -ble completions.)2.5 E F1(glob\255expand\255w)108 216 Q -(ord \(C\255x *\))-.1 E F0 .371(The w)144 228 R .372 +ble completions.)2.5 E F1(glob\255expand\255w)108 288 Q +(ord \(C\255x *\))-.1 E F0 .371(The w)144 300 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 240 R 3.016(ord. If)-.1 F 3.016 +(names is inserted, replacing the w)144 312 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 252 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\)) -108 264 Q F0 .923(The list of e)144 276 R .923(xpansions that w)-.15 F +144 324 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\)) +108 336 Q F0 .923(The list of e)144 348 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 288 R 3.372(wn. If)-.15 F 3.372(an)3.372 G +.872(the line is redra)144 360 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 300 S(pansion.).15 E F1(dump\255functions)108 312 Q F0 .626 -(Print all of the functions and their k)144 324 R .926 -.15(ey b)-.1 H +(ex)144 372 S(pansion.).15 E F1(dump\255functions)108 384 Q F0 .626 +(Print all of the functions and their k)144 396 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 336 Q +(ment is supplied, the output is formatted in such a w)144 408 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 348 Q(ariables)-.1 E F0 -1.8(Print all of the settable readline v)144 360 R 1.799 +2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 420 Q(ariables)-.1 E F0 +1.8(Print all of the settable readline v)144 432 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 372 R .304 +-.25 F 1.799(If a)6.799 F .304(numeric ar)144 444 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 384 Q(c)-.37 E F0 -(\214le.)2.5 E F1(dump\255macr)108 396 Q(os)-.18 E F0 .756 -(Print all of the readline k)144 408 R 1.056 -.15(ey s)-.1 H .756 +(ay that it can be made part of an)-.1 F F2(inputr)144 456 Q(c)-.37 E F0 +(\214le.)2.5 E F1(dump\255macr)108 468 Q(os)-.18 E F0 .756 +(Print all of the readline k)144 480 R 1.056 -.15(ey s)-.1 H .756 (equences bound to macros and the strings the).15 F 3.256(yo)-.15 G -3.256(uput. If)-3.256 F 3.255(an)3.255 G(umeric)-3.255 E(ar)144 420 Q +3.256(uput. If)-3.256 F 3.255(an)3.255 G(umeric)-3.255 E(ar)144 492 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.028 E(c)-.37 E F0 -(\214le.)144 432 Q F1(display\255shell\255v)108 444 Q -(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 456 Q +(\214le.)144 504 Q F1(display\255shell\255v)108 516 Q +(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 528 Q (ersion information about the current instance of)-.15 E F1(bash)2.5 E -F0(.)A F1(Pr)87 472.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108 -484.8 R .147(ord completion is attempted for an ar)-.1 F .147 +F0(.)A F1(Pr)87 544.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108 +556.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 496.8 Q F0 3.828(\)h)C 1.329 +F2(compspec)108 568.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.329(w\), the) --.25 F(programmable completion f)108 508.8 Q(acilities are in)-.1 E -.2 +-.25 F(programmable completion f)108 580.8 Q(acilities are in)-.1 E -.2 (vo)-.4 G -.1(ke).2 G(d.).1 E .334 -(First, the command name is identi\214ed.)108 525.6 R .333 +(First, the command name is identi\214ed.)108 597.6 R .333 (If a compspec has been de\214ned for that command, the compspec is) 5.334 F .587 -(used to generate the list of possible completions for the w)108 537.6 R +(used to generate the list of possible completions for the w)108 609.6 R 3.087(ord. If)-.1 F .587(the command w)3.087 F .587 (ord is a full pathname, a)-.1 F 1.181 -(compspec for the full pathname is searched for \214rst.)108 549.6 R +(compspec for the full pathname is searched for \214rst.)108 621.6 R 1.18(If no compspec is found for the full pathname, an)6.181 F -(attempt is made to \214nd a compspec for the portion follo)108 561.6 Q +(attempt is made to \214nd a compspec for the portion follo)108 633.6 Q (wing the \214nal slash.)-.25 E .817(Once a compspec has been found, it\ - is used to generate the list of matching w)108 578.4 R 3.317(ords. If) + is used to generate the list of matching w)108 650.4 R 3.317(ords. If) -.1 F 3.317(ac)3.317 G .817(ompspec is not)-3.317 F(found, the def)108 -590.4 Q(ault)-.1 E F1(bash)2.5 E F0(completion as described abo)2.5 E .3 +662.4 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 607.2 +.464(First, the actions speci\214ed by the compspec are used.)108 679.2 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 619.2 R .595 +.463(ord being)-.1 F .595(completed are returned.)108 691.2 R .595 (When the)5.595 F F13.095 E F0(or)3.095 E F13.095 E F0 .596 (option is used for \214lename or directory name completion, the)3.095 F -(shell v)108 631.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0 -(is used to \214lter the matches.)2.25 E(An)108 648 Q 2.585(yc)-.15 G +(shell v)108 703.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0 +(is used to \214lter the matches.)2.25 E(An)108 720 Q 2.585(yc)-.15 G .085(ompletions speci\214ed by a \214lename e)-2.585 F .085 (xpansion pattern to the)-.15 F F12.585 E F0 .085 (option are generated ne)2.585 F 2.585(xt. The)-.15 F -.1(wo)2.585 G -(rds).1 E .843(generated by the pattern need not match the w)108 660 R -.844(ord being completed.)-.1 F(The)5.844 E F3(GLOBIGNORE)3.344 E F0 -.844(shell v)3.094 F .844(ariable is)-.25 F -(not used to \214lter the matches, b)108 672 Q(ut the)-.2 E F3(FIGNORE) -2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 688.8 Q .321 -(xt, the string speci\214ed as the ar)-.15 F .321(gument to the)-.18 F -F12.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 -700.8 R F3(IFS)2.912 E F0 .412(special v)2.662 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 1.64 -(using brace e)108 712.8 R 1.64(xpansion, tilde e)-.15 F 1.64 -(xpansion, parameter and v)-.15 F 1.64(ariable e)-.25 F 1.64 -(xpansion, command substitution, arith-)-.15 F 1.344(metic e)108 724.8 R -1.344(xpansion, and pathname e)-.15 F 1.344(xpansion, as described abo) --.15 F 1.644 -.15(ve u)-.15 H(nder).15 E F3(EXP)3.844 E(ANSION)-.666 E -/F4 9/Times-Roman@0 SF(.)A F0 1.345(The results are split)5.844 F -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(40)197.335 E 0 Cg EP +(rds).1 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(40)197.335 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 1.265(using the rules described abo)108 84 R 1.565 -.15(ve u)-.15 -H(nder).15 E/F1 10/Times-Bold@0 SF -.75(Wo)3.765 G 1.265(rd Splitting) -.75 F F0 6.265(.T)C 1.265(he results of the e)-6.265 F 1.265 -(xpansion are pre\214x-matched)-.15 F(ag)108 96 Q(ainst the w)-.05 E +-.35 E .843(generated by the pattern need not match the w)108 84 R .844 +(ord being completed.)-.1 F(The)5.844 E/F1 9/Times-Bold@0 SF(GLOBIGNORE) +3.344 E F0 .844(shell v)3.094 F .844(ariable is)-.25 F +(not used to \214lter the matches, b)108 96 Q(ut the)-.2 E F1(FIGNORE) +2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 112.8 Q .321 +(xt, the string speci\214ed as the ar)-.15 F .321(gument to the)-.18 F +/F2 10/Times-Bold@0 SF2.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 124.8 R F1(IFS)2.912 E F0 .412(special v)2.662 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 1.64 +(using brace e)108 136.8 R 1.64(xpansion, tilde e)-.15 F 1.64 +(xpansion, parameter and v)-.15 F 1.64(ariable e)-.25 F 1.64 +(xpansion, command substitution, arith-)-.15 F 1.344(metic e)108 148.8 R +1.344(xpansion, and pathname e)-.15 F 1.344(xpansion, as described abo) +-.15 F 1.644 -.15(ve u)-.15 H(nder).15 E F1(EXP)3.844 E(ANSION)-.666 E +/F3 9/Times-Roman@0 SF(.)A F0 1.345(The results are split)5.844 F 1.265 +(using the rules described abo)108 160.8 R 1.565 -.15(ve u)-.15 H(nder) +.15 E F2 -.75(Wo)3.765 G 1.265(rd Splitting).75 F F0 6.265(.T)C 1.265 +(he results of the e)-6.265 F 1.265(xpansion are pre\214x-matched)-.15 F +(ag)108 172.8 Q(ainst the w)-.05 E (ord being completed, and the matching w)-.1 E (ords become the possible completions.)-.1 E 1.237 -(After these matches ha)108 112.8 R 1.537 -.15(ve b)-.2 H 1.237 +(After these matches ha)108 189.6 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 F13.738 E -F0(and)3.738 E F13.738 E F0 .513(options is in)108 124.8 R -.2(vo) +(hell function or command speci\214ed with the)-3.737 F F23.738 E +F0(and)3.738 E F23.738 E F0 .513(options is in)108 201.6 R -.2(vo) -.4 G -.1(ke).2 G 3.013(d. When).1 F .513(the command or function is in) -3.013 F -.2(vo)-.4 G -.1(ke).2 G .513(d, the).1 F/F2 9/Times-Bold@0 SF -(COMP_LINE)3.013 E F0(and)2.763 E F2(COMP_POINT)3.013 E F0 -.25(va)2.763 -G(ri-).25 E .872(ables are assigned v)108 136.8 R .872 -(alues as described abo)-.25 F 1.172 -.15(ve u)-.15 H(nder).15 E F1 .873 -(Shell V)3.372 F(ariables)-.92 E F0 5.873(.I)C 3.373(fas)-5.873 G .873 -(hell function is being in)-3.373 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E -(the)108 148.8 Q F2(COMP_W)5.261 E(ORDS)-.09 E F0(and)5.011 E F2 -(COMP_CW)5.26 E(ORD)-.09 E F0 -.25(va)5.01 G 2.76(riables are also set.) -.25 F 2.76(When the function or command is)7.76 F(in)108 160.8 Q -.2(vo) --.4 G -.1(ke).2 G .403(d, the \214rst ar).1 F .404 -(gument is the name of the command whose ar)-.18 F .404 -(guments are being completed, the second)-.18 F(ar)108 172.8 Q .52 +3.013 F -.2(vo)-.4 G -.1(ke).2 G .513(d, the).1 F F1(COMP_LINE)3.013 E +F0(and)2.763 E F1(COMP_POINT)3.013 E F0 -.25(va)2.763 G(ri-).25 E .872 +(ables are assigned v)108 213.6 R .872(alues as described abo)-.25 F +1.172 -.15(ve u)-.15 H(nder).15 E F2 .873(Shell V)3.372 F(ariables)-.92 +E F0 5.873(.I)C 3.373(fas)-5.873 G .873(hell function is being in)-3.373 +F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E(the)108 225.6 Q F1(COMP_W)5.261 E +(ORDS)-.09 E F0(and)5.011 E F1(COMP_CW)5.26 E(ORD)-.09 E F0 -.25(va)5.01 +G 2.76(riables are also set.).25 F 2.76(When the function or command is) +7.76 F(in)108 237.6 Q -.2(vo)-.4 G -.1(ke).2 G .403(d, the \214rst ar).1 +F .404(gument is the name of the command whose ar)-.18 F .404 +(guments are being completed, the second)-.18 F(ar)108 249.6 Q .52 (gument is the w)-.18 F .52(ord being completed, and the third ar)-.1 F .52(gument is the w)-.18 F .52(ord preceding the w)-.1 F .52 -(ord being com-)-.1 F .103(pleted on the current command line.)108 184.8 +(ord being com-)-.1 F .103(pleted on the current command line.)108 261.6 R .104(No \214ltering of the generated completions ag)5.104 F .104 (ainst the w)-.05 F .104(ord being com-)-.1 F(pleted is performed; the \ function or command has complete freedom in generating the matches.)108 -196.8 Q(An)108 213.6 Q 2.938(yf)-.15 G .437(unction speci\214ed with) --2.938 F F12.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G +273.6 Q(An)108 290.4 Q 2.938(yf)-.15 G .437(unction speci\214ed with) +-2.938 F F22.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 .437 -(acilities, including)-.1 F(the)108 225.6 Q F1(compgen)2.956 E F0 -.2 +(acilities, including)-.1 F(the)108 302.4 Q F2(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 -237.6 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 254.4 Q .081 +(It must put the possible completions in the)5.456 F F1(COMPREPL)108 +314.4 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 331.2 Q .081 (xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)-2.581 F -F12.581 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G +F22.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 266.4 R .359(should print a list of completions, one\ +(stitution. It)108 343.2 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 278.4 Q(wline, if necessary)-.25 E(.)-.65 E -.377(After all of the possible completions are generated, an)108 295.2 R -2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F12.876 -E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 307.2 R +5.359 F(to escape a ne)108 355.2 Q(wline, if necessary)-.25 E(.)-.65 E +.377(After all of the possible completions are generated, an)108 372 R +2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F22.876 +E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 384 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 +(xpansion; a)-.15 F F2(&)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 319.2 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G -(iteral)-3.023 E F1(&)3.023 E F0 .522 +(the w)108 396 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G +(iteral)-3.023 E F2(&)3.023 E F0 .522 (may be escaped with a backslash; the backslash is remo)3.022 F -.15(ve) --.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 331.2 -R(An)5.849 E 3.349(yc)-.15 G .849 +-.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 408 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 343.2 Q -.05(ga)-.15 G +3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F2 +(!)3.35 E F0(ne)108 420 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 360 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 -3.087 E F0(and)3.087 E F13.087 E F0 .587 +(d.).15 E(Finally)108 436.8 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 F2 +3.087 E F0(and)3.087 E F23.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 372 Q .246(If the pre)108 388.8 R .247 +possible completions.)108 448.8 Q .246(If the pre)108 465.6 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 .247(as supplied to)-.1 F F1(complete)108 400.8 Q F0 +(atches, and the)-2.747 F F2 .247(\255o dir)2.747 F(names)-.15 E F0 .247 +(option w)2.747 F .247(as supplied to)-.1 F F2(complete)108 477.6 Q F0 (when the compspec w)2.5 E (as de\214ned, directory name completion is attempted.)-.1 E .462 -(If the)108 417.6 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 +(If the)108 494.4 R F2 .462(\255o plusdirs)2.962 F F0 .462(option w) +2.962 F .462(as supplied to)-.1 F F2(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 429.6 Q 2.5(ym)-.15 G +F(pletion is attempted and an)108 506.4 Q 2.5(ym)-.15 G (atches are added to the results of the other actions.)-2.5 E .559 -(By def)108 446.4 R .559(ault, if a compspec is found, whate)-.1 F -.15 +(By def)108 523.2 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 458.4 R .632(The def)5.632 F(ault)-.1 -E F1(bash)3.132 E F0 .631 +.632(of possible completions.)108 535.2 R .632(The def)5.632 F(ault)-.1 +E F2(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 470.4 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 482.4 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 of \214le-)-.1 F .558(name completion is disabled.)108 547.2 R +.558(If the)5.558 F F2 .559(\255o bashdefault)3.059 F F0 .559(option w) +3.059 F .559(as supplied to)-.1 F F2(complete)3.059 E F0 .559 +(when the compspec)3.059 F -.1(wa)108 559.2 S 3.172(sd).1 G .672 +(e\214ned, the)-3.172 F F2(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 F13.171 E(default)108 494.4 Q F0 1.207 -(option w)3.706 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0 +-.1 F .671(If the)5.671 F F23.171 E(default)108 571.2 Q F0 1.207 +(option w)3.706 F 1.207(as supplied to)-.1 F F2(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 -506.4 Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.) +583.2 Q(ault)-.1 E F2(bash)2.5 E F0(completions\) generate no matches.) 2.5 E .245(When a compspec indicates that directory name completion is \ -desired, the programmable completion func-)108 523.2 R .632(tions force\ - readline to append a slash to completed names which are symbolic links\ - to directories, subject)108 535.2 R 2.762(to the v)108 547.2 R 2.762 -(alue of the)-.25 F F1(mark\255dir)5.262 E(ectories)-.18 E F0 2.761 +desired, the programmable completion func-)108 600 R .632(tions force r\ +eadline to append a slash to completed names which are symbolic links t\ +o directories, subject)108 612 R 2.762(to the v)108 624 R 2.762 +(alue of the)-.25 F F2(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 559.2 -Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E/F3 -10.95/Times-Bold@0 SF(HIST)72 576 Q(OR)-.197 E(Y)-.383 E F0 .371 -(When the)108 588 R F1 .371(\255o history)2.871 F F0 .371(option to the) -2.871 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 +(rdless of the setting of the).05 F F2(mark-sym-)5.261 E(link)108 636 Q +(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E/F4 +10.95/Times-Bold@0 SF(HIST)72 652.8 Q(OR)-.197 E(Y)-.383 E F0 .371 +(When the)108 664.8 R F2 .371(\255o history)2.871 F F0 .371 +(option to the)2.871 F F2(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/F5 10/Times-Italic@0 SF .372(command history)2.872 F F0(,)A .032 -(the list of commands pre)108 600 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) +(the list of commands pre)108 676.8 R .031(viously typed.)-.25 F .031 +(The v)5.031 F .031(alue of the)-.25 F F2(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 612 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 F2 +(mands to sa)108 688.8 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 F1 (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 (stores each command in the history list prior to parameter and v)108 -624 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F2(EXP)2.787 E -(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 636 S -4.065(ta).2 G 1.565(fter history e)-4.065 F 1.565 +700.8 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F1(EXP)2.787 E +(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 712.8 +S 4.065(ta).2 G 1.565(fter history e)-4.065 F 1.565 (xpansion is performed, subject to the v)-.15 F 1.565 -(alues of the shell v)-.25 F(ariables)-.25 E F2(HISTIGNORE)4.065 E F0 -(and)3.816 E F2(HISTCONTR)108 648 Q(OL)-.27 E/F5 9/Times-Roman@0 SF(.)A -F0 .082 -(On startup, the history is initialized from the \214le named by the v) -108 664.8 R(ariable)-.25 E F2(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 -676.8 R .315(alue of)-.25 F F2(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 .953 -(lines speci\214ed by the v)108 688.8 R .953(alue of)-.25 F F2 -(HISTFILESIZE)3.453 E F5(.)A F0 .953(When an interacti)5.453 F 1.253 --.15(ve s)-.25 H .953(hell e).15 F .953(xits, the last)-.15 F F2 -($HISTSIZE)3.452 E F0(lines)3.202 E .649 -(are copied from the history list to)108 700.8 R F2($HISTFILE)3.15 E F5 -(.)A F0 .65(If the)5.15 F F1(histappend)3.15 E F0 .65 -(shell option is enabled \(see the descrip-)3.15 F .141(tion of)108 -712.8 R F1(shopt)2.641 E F0(under)2.641 E F2 .141(SHELL B)2.641 F(UIL) --.09 E .141(TIN COMMANDS)-.828 F F0(belo)2.391 E .141 -(w\), the lines are appended to the history \214le, other)-.25 F(-)-.2 E -.572(wise the history \214le is o)108 724.8 R -.15(ve)-.15 G 3.073 -(rwritten. If).15 F F2(HISTFILE)3.073 E F0 .573 -(is unset, or if the history \214le is unwritable, the history is)2.823 -F(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(41)197.335 E 0 Cg EP +(alues of the shell v)-.25 F(ariables)-.25 E F1(HISTIGNORE)4.065 E F0 +(and)3.816 E F1(HISTCONTR)108 724.8 Q(OL)-.27 E F3(.)A F0(GNU Bash-3.0) +72 768 Q(2004 June 26)147.345 E(41)197.335 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 1.142(not sa)108 84 R -.15(ve)-.2 G 3.642(d. After).15 F(sa)3.642 -E 1.142(ving the history)-.2 F 3.642(,t)-.65 G 1.141 -(he history \214le is truncated to contain no more than)-3.642 F/F1 9 -/Times-Bold@0 SF(HISTFILESIZE)3.641 E F0 2.5(lines. If)108 96 R F1 -(HISTFILESIZE)2.5 E F0(is not set, no truncation is performed.)2.25 E -1.293(The b)108 112.8 R 1.293(uiltin command)-.2 F/F2 10/Times-Bold@0 SF -(fc)3.793 E F0(\(see)3.793 E F1 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 124.8 S -.674(cute a portion of the history list.).15 F(The)5.673 E F2(history) +-.35 E .082 +(On startup, the history is initialized from the \214le named by the v) +108 84 R(ariable)-.25 E/F1 9/Times-Bold@0 SF(HISTFILE)2.582 E F0(\(def) +2.332 E(ault)-.1 E/F2 10/Times-Italic@0 SF(~/.bash_history)2.582 E F0 +(\).)A .315(The \214le named by the v)108 96 R .315(alue of)-.25 F F1 +(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 +.953(lines speci\214ed by the v)108 108 R .953(alue of)-.25 F F1 +(HISTFILESIZE)3.453 E/F3 9/Times-Roman@0 SF(.)A F0 .953 +(When an interacti)5.453 F 1.253 -.15(ve s)-.25 H .953(hell e).15 F .953 +(xits, the last)-.15 F F1($HISTSIZE)3.452 E F0(lines)3.202 E .649 +(are copied from the history list to)108 120 R F1($HISTFILE)3.15 E F3(.) +A F0 .65(If the)5.15 F/F4 10/Times-Bold@0 SF(histappend)3.15 E F0 .65 +(shell option is enabled \(see the descrip-)3.15 F .141(tion of)108 132 +R F4(shopt)2.641 E F0(under)2.641 E F1 .141(SHELL B)2.641 F(UIL)-.09 E +.141(TIN COMMANDS)-.828 F F0(belo)2.391 E .141 +(w\), the lines are appended to the history \214le, other)-.25 F(-)-.2 E +.572(wise the history \214le is o)108 144 R -.15(ve)-.15 G 3.073 +(rwritten. If).15 F F1(HISTFILE)3.073 E F0 .573 +(is unset, or if the history \214le is unwritable, the history is)2.823 +F 1.142(not sa)108 156 R -.15(ve)-.2 G 3.642(d. After).15 F(sa)3.642 E +1.142(ving the history)-.2 F 3.642(,t)-.65 G 1.141 +(he history \214le is truncated to contain no more than)-3.642 F F1 +(HISTFILESIZE)3.641 E F0 2.5(lines. If)108 168 R F1(HISTFILESIZE)2.5 E +F0(is not set, no truncation is performed.)2.25 E 1.293(The b)108 184.8 +R 1.293(uiltin command)-.2 F F4(fc)3.793 E F0(\(see)3.793 E F1 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 196.8 +S .674(cute a portion of the history list.).15 F(The)5.673 E F4(history) 3.173 E F0 -.2(bu)3.173 G .673 (iltin may be used to display or modify the history list).2 F .279 -(and manipulate the history \214le.)108 136.8 R .279 +(and manipulate the history \214le.)108 208.8 R .279 (When using command-line editing, search commands are a)5.279 F -.25(va) --.2 G .28(ilable in each).25 F(editing mode that pro)108 148.8 Q -(vide access to the history list.)-.15 E 1.486(The shell allo)108 165.6 +-.2 G .28(ilable in each).25 F(editing mode that pro)108 220.8 Q +(vide access to the history list.)-.15 E 1.486(The shell allo)108 237.6 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.485 E F1(HISTCONTR)3.985 -E(OL)-.27 E F0(and)3.735 E F1(HISTIGNORE)108 177.6 Q F0 -.25(va)2.707 G +E(OL)-.27 E F0(and)3.735 E F1(HISTIGNORE)108 249.6 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 F2 -(cmdhist)108 189.6 Q F0 .75 +-.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F4 +(cmdhist)108 261.6 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 1.077 -(the same history entry)108 201.6 R 3.577(,a)-.65 G 1.077 +(the same history entry)108 273.6 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 F2(lithist)3.577 E F0 -.374(shell option causes the shell to sa)108 213.6 R .674 -.15(ve t)-.2 +1.077(yntactic correctness.)-3.577 F(The)6.077 E F4(lithist)3.577 E F0 +.374(shell option causes the shell to sa)108 285.6 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 225.6 R F2(shopt)2.818 E F0 -.2(bu)2.818 G .318 +(description of the)108 297.6 R F4(shopt)2.818 E F0 -.2(bu)2.818 G .318 (iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F1 .318(SHELL B)2.818 F (UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .319 (for information on setting and)2.568 F(unsetting shell options.)108 -237.6 Q/F3 10.95/Times-Bold@0 SF(HIST)72 254.4 Q(OR)-.197 E 2.738(YE) +309.6 Q/F5 10.95/Times-Bold@0 SF(HIST)72 326.4 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 266.4 R .611 +(The shell supports a history e)108 338.4 R .611 (xpansion feature that is similar to the history e)-.15 F .61 -(xpansion in)-.15 F F2(csh.)3.11 E F0 .61(This section)5.61 F .87 -(describes what syntax features are a)108 278.4 R -.25(va)-.2 G 3.371 +(xpansion in)-.15 F F4(csh.)3.11 E F0 .61(This section)5.61 F .87 +(describes what syntax features are a)108 350.4 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 290.4 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 +2.014(can be disabled using the)108 362.4 R F4(+H)4.514 E F0 2.014 +(option to the)4.514 F F4(set)4.514 E F0 -.2(bu)4.514 G 2.014 (iltin command \(see).2 F F1 2.013(SHELL B)4.513 F(UIL)-.09 E 2.013 -(TIN COMMANDS)-.828 F F0(belo)108 302.4 Q 2.5(w\). Non-interacti)-.25 F +(TIN COMMANDS)-.828 F F0(belo)108 374.4 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 319.2 R 1.305 +(xpansion by def)-.15 E(ault.)-.1 E 1.305(History e)108 391.2 R 1.305 (xpansions introduce w)-.15 F 1.306(ords from the history list into the\ input stream, making it easy to repeat)-.1 F .21 -(commands, insert the ar)108 331.2 R .21(guments to a pre)-.18 F .209 +(commands, insert the ar)108 403.2 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 343.2 Q(.)-.65 E 1.163(History e)108 -360 R 1.163(xpansion is performed immediately after a complete line is \ -read, before the shell breaks it into)-.15 F -.1(wo)108 372 S 3.2 +F(vious)-.25 E(commands quickly)108 415.2 Q(.)-.65 E 1.163(History e)108 +432 R 1.163(xpansion is performed immediately after a complete line is \ +read, before the shell breaks it into)-.15 F -.1(wo)108 444 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.367(substitution. The)108 384 R 1.868(second is to select porti\ +3.2 F 4.367(substitution. The)108 456 R 1.868(second is to select porti\ ons 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 396 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 408 Q +(The line)6.868 F .663(selected from the history is the)108 468 R F2 +-.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 F2(wor) +3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F2(modi\214er)108 480 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 420 R -.15(ve) --.25 G(ral).15 E F4(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351 +(ashion)-.1 E .352(as when reading input, so that se)108 492 R -.15(ve) +-.25 G(ral).15 E F2(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 432 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624 +(one w)108 504 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 444 Q F2 -(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E F2 +(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 516 Q F4 +(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E F4 (\\).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 460.8 Q -.15(ve)-.25 G +-2.5 E(xpansion character)-.15 E(.)-.55 E(Se)108 532.8 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 472.8 T +F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 544.8 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 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 484.8 Q(xpansion.)-.15 E(Se)108 501.6 Q -.15 -(ve)-.25 G .11(ral shell options settable with the).15 F F2(shopt)2.61 E +-.25 F F4(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F4 +(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F4(\()3.163 E +F0(will also inhibit e)108 556.8 Q(xpansion.)-.15 E(Se)108 573.6 Q -.15 +(ve)-.25 G .11(ral shell options settable with the).15 F F4(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.258(If the)108 513.6 R F2 +(vior of history e)-.2 F(xpansion.)-.15 E 1.258(If the)108 585.6 R F4 (histv)3.758 E(erify)-.1 E F0 1.259 -(shell option is enabled \(see the description of the)3.758 F F2(shopt) -3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F2 -.18(re)3.759 G +(shell option is enabled \(see the description of the)3.758 F F4(shopt) +3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F4 -.18(re)3.759 G (adline).18 E F0 1.259(is being)3.759 F 1.498(used, history substitutio\ -ns are not immediately passed to the shell parser)108 525.6 R 6.497(.I) +ns are not immediately passed to the shell parser)108 597.6 R 6.497(.I) -.55 G 1.497(nstead, the e)-6.497 F 1.497(xpanded line is)-.15 F 2.228 -(reloaded into the)108 537.6 R F2 -.18(re)4.728 G(adline).18 E F0 2.228 +(reloaded into the)108 609.6 R F4 -.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 F2 -.18(re)4.728 G(adline).18 E F0 2.228 -(is being used, and the)4.728 F F2(histr)108 549.6 Q(eedit)-.18 E F0 +(If)7.228 E F4 -.18(re)4.728 G(adline).18 E F0 2.228 +(is being used, and the)4.728 F F4(histr)108 621.6 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 F2 -.18(re) -3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 561.6 S -.25(ff).2 G -1.16(er for correction.).25 F(The)6.16 E F23.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 573.6 -S .056(pansion will do before using it.).15 F(The)5.056 E F22.556 -E F0 .056(option to the)2.556 F F2(history)2.555 E F0 -.2(bu)2.555 G +(ailed history substitution will be reloaded into the)-.1 F F4 -.18(re) +3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 633.6 S -.25(ff).2 G +1.16(er for correction.).25 F(The)6.16 E F43.66 E F0 1.16 +(option to the)3.66 F F4(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 645.6 +S .056(pansion will do before using it.).15 F(The)5.056 E F42.556 +E F0 .056(option to the)2.556 F F4(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 585.6 Q -.15(xe)-.15 G +(end of the history list without actually e)108 657.6 Q -.15(xe)-.15 G (cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G -(ilable for subsequent recall.).25 E 2.2(The shell allo)108 602.4 R 2.2 +(ilable for subsequent recall.).25 E 2.2(The shell allo)108 674.4 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(description of)108 614.4 -Q F2(histchars)2.5 E F0(abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F2 -(Shell V)2.5 E(ariables)-.92 E F0(\).)A F2(Ev)87 631.2 Q -(ent Designators)-.1 E F0(An e)108 643.2 Q -.15(ve)-.25 G(nt designator\ - is a reference to a command line entry in the history list.).15 E F2(!) -108 660 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 F2(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 672 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 684 Q F4(n)A F0(Refer to command line)27.67 E F4 -(n)2.5 E F0(.).24 E F2<21ad>108 696 Q F4(n)A F0 -(Refer to the current command line minus)21.97 E F4(n)2.5 E F0(.).24 E -F2(!!)108 708 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E -(This is a synon)5 E(ym for `!\2551'.)-.15 E(GNU Bash-3.0)72 768 Q -(2004 June 26)147.345 E(42)197.335 E 0 Cg EP +-.25 F 2.2(xpansion mechanism \(see the)-.15 F(description of)108 686.4 +Q F4(histchars)2.5 E F0(abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F4 +(Shell V)2.5 E(ariables)-.92 E F0(\).)A F4(Ev)87 703.2 Q +(ent Designators)-.1 E F0(An e)108 715.2 Q -.15(ve)-.25 G(nt designator\ + is a reference to a command line entry in the history list.).15 E +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(42)197.335 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(!)108 84 Q/F2 10/Times-Italic@0 SF(string)A +-.35 E/F1 10/Times-Bold@0 SF(!)108 84 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 96 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 108 Q/F2 10/Times-Italic@0 SF(n)A +F0(Refer to command line)27.67 E F2(n)2.5 E F0(.).24 E F1<21ad>108 120 Q +F2(n)A F0(Refer to the current command line minus)21.97 E F2(n)2.5 E F0 +(.).24 E F1(!!)108 132 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 144 Q F2(string)A F0(Refer to the most recent command starting with)9.33 E F2(string)2.5 E -F0(.).22 E F1(!?)108 96 Q F2(string)A F1([?])A F0 1.022 -(Refer to the most recent command containing)144 108 R F2(string)3.522 E +F0(.).22 E F1(!?)108 156 Q F2(string)A F1([?])A F0 1.022 +(Refer to the most recent command containing)144 168 R F2(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 F2(string)3.862 E F0(is)3.742 E(follo)144 120 +(may be omitted if)3.522 F F2(string)3.862 E F0(is)3.742 E(follo)144 180 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0 SF(^) -108 137 Q F2(string1)-5 I F3(^)5 I F2(string2)-5 I F3(^)5 I F0 2.63 -(Quick substitution.)144 144 R 2.629(Repeat the last command, replacing) +108 197 Q F2(string1)-5 I F3(^)5 I F2(string2)-5 I F3(^)5 I F0 2.63 +(Quick substitution.)144 204 R 2.629(Repeat the last command, replacing) 7.629 F F2(string1)5.469 E F0(with)5.129 E F2(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 -156 S(!!:s/).74 E F2(string1)A F0(/)A F2(string2)A F0(/')A 2.5('\()-.74 +216 S(!!:s/).74 E F2(string1)A F0(/)A F2(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 -168 Q F0(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F1 --.75(Wo)87 184.8 S(rd Designators).75 E F0 -.8(Wo)108 196.8 S 1.313 +228 Q F0(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F1 +-.75(Wo)87 244.8 S(rd Designators).75 E F0 -.8(Wo)108 256.8 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 208.8 R .529(ord designator)-.1 F 5.529(.I)-.55 G +.53(from the w)108 268.8 R .529(ord designator)-.1 F 5.529(.I)-.55 G 3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529 (ord designator be)-.1 F .529(gins with a)-.15 F F1(^)3.029 E F0(,)A F1 ($)3.029 E F0(,)A F1(*)3.029 E F0(,)A F13.029 E F0 3.029(,o)C(r) -3.029 E F1(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3 -(are numbered from the be)108 220.8 R 1.3 +(are numbered from the be)108 280.8 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 232.8 Q -F1 2.5(0\()108 249.6 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 261.6 Q +F(inserted into the current line separated by single spaces.)108 292.8 Q +F1 2.5(0\()108 309.6 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 321.6 Q 2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E -F2(n)108.36 273.6 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A(ord.)-.1 E F1(^) -108 285.6 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 297.6 Q F0(The last ar)31 E(gument.)-.18 E F1(%) -108 309.6 Q F0(The w)26 E(ord matched by the most recent `?)-.1 E F2 -(string)A F0(?' search.)A F2(x)108.77 321.6 Q F1A F2(y)A F0 2.5(Ar) +F2(n)108.36 333.6 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A(ord.)-.1 E F1(^) +108 345.6 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 357.6 Q F0(The last ar)31 E(gument.)-.18 E F1(%) +108 369.6 Q F0(The w)26 E(ord matched by the most recent `?)-.1 E F2 +(string)A F0(?' search.)A F2(x)108.77 381.6 Q F1A 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 333.6 Q F0 .316 +E(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 393.6 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 345.6 Q(ord in the e)-.1 E -.15(ve) +(if there is)2.815 F(just one w)144 405.6 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 -357.6 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 -369.6 Q F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 +417.6 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 +429.6 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 386.4 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G +108 446.4 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 403.2 Q F0 .183 -(After the optional w)108 415.2 R .183(ord designator)-.1 F 2.683(,t)-.4 +-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 463.2 Q F0 .183 +(After the optional w)108 475.2 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 427.2 Q F1(h) -108 444 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H +.184(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 487.2 Q F1(h) +108 504 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 456 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H +(t)108 516 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 468 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E +108 528 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 480 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 492 Q +(ving the basename.)-.2 E F1(e)108 540 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 552 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 504 Q F0(Quote the substituted w) -30.44 E(ords, escaping further substitutions.)-.1 E F1(x)108 516 Q F0 +-.15(xe)-.15 G(cute it.).15 E F1(q)108 564 Q F0(Quote the substituted w) +30.44 E(ords, escaping further substitutions.)-.1 E F1(x)108 576 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 528 Q F2(old)A F1(/)A F2(ne)A(w)-.15 E F1(/)A -F0(Substitute)144 540 Q F2(ne)3.082 E(w)-.15 E F0 .221 +(wlines.)-.25 E F1(s/)108 588 Q F2(old)A F1(/)A F2(ne)A(w)-.15 E F1(/)A +F0(Substitute)144 600 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(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 552 R .617 +.221(elimiter can be used in place)-2.721 F .616(of /.)144 612 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 564 R F2(old)3.396 E F0(and)3.936 E F2(ne)3.526 +F .666(be quoted in)144 624 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 576 R(If) +F0 5.666(.A).77 G .274(single backslash will quote the &.)144 636 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 588 Q F2(string)2.84 +(ous history substitutions took place, the last)144 648 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 600 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1(g)108 -612 Q F0 .398(Cause changes to be applied o)31 F -.15(ve)-.15 G 2.898 +108 660 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1(g)108 +672 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 624 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)-.15 E +(e.g.,)-2.897 E(`)144 684 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 636 R +(delimiter is optional if it is the last character of the e)144 696 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 648 Q F0(.)A -F1(G)108 660 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/F4 10.95/Times-Bold@0 SF(SHELL B)72 676.8 Q(UIL)-.11 E -(TIN COMMANDS)-1.007 E F0 .062(Unless otherwise noted, each b)108 688.8 -R .062(uiltin command documented in this section as accepting options p\ -receded by)-.2 F F1108 700.8 Q F0(accepts)2.5 E F12.5 E F0 -(to signify the end of the options.)2.5 E(GNU Bash-3.0)72 768 Q -(2004 June 26)147.345 E(43)197.335 E 0 Cg EP +(may be used as a synon)2.589 F .089(ym for)-.15 F F1(g)144 708 Q F0(.)A +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(43)197.335 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(:)108 84 Q F0([)2.5 E/F2 10/Times-Italic@0 -SF(ar)A(guments)-.37 E F0(])A .452(No ef)144 96 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 108 R -(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 124.8 Q F2 -(\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108 -136.8 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 148.8 R -.15(xe)-.15 G 1.02 -(cute commands from).15 F F2(\214lename)5.43 E F0 1.02 +-.35 E/F1 10/Times-Bold@0 SF(G)108 84 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/F2 10.95/Times-Bold@0 +SF(SHELL B)72 100.8 Q(UIL)-.11 E(TIN COMMANDS)-1.007 E F0 .062 +(Unless otherwise noted, each b)108 112.8 R .062(uiltin command documen\ +ted in this section as accepting options preceded by)-.2 F F1108 +124.8 Q F0(accepts)2.5 E F12.5 E F0 +(to signify the end of the options.)2.5 E F1(:)108 142.8 Q F0([)2.5 E/F3 +10/Times-Italic@0 SF(ar)A(guments)-.37 E F0(])A .452(No ef)144 154.8 R +.452(fect; the command does nothing be)-.25 F .452(yond e)-.15 F +(xpanding)-.15 E F3(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 +166.8 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 183.6 Q F3 +(\214lename)6.666 E F0([)2.5 E F3(ar)A(guments)-.37 E F0(])A F1(sour)108 +195.6 Q(ce)-.18 E F3(\214lename)2.5 E F0([)2.5 E F3(ar)A(guments)-.37 E +F0(])A 1.02(Read and e)144 207.6 R -.15(xe)-.15 G 1.02 +(cute commands from).15 F F3(\214lename)5.43 E F0 1.02 (in the current shell en)3.7 F 1.02(vironment and return the e)-.4 F -(xit)-.15 E 1.68(status of the last command e)144 160.8 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 +(xit)-.15 E 1.68(status of the last command e)144 219.6 R -.15(xe)-.15 G +1.68(cuted from).15 F F3(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F3 (\214lename)6.09 E F0 1.68(does not contain a slash, \214le)4.36 F .608 -(names in)144 172.8 R/F3 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 +(names in)144 231.6 R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E +F0 .608(are used to \214nd the directory containing)2.858 F F3 (\214lename)3.108 E F0 5.608(.T).18 G .608(he \214le searched for in) --5.608 F F3 -.666(PA)3.108 G(TH)-.189 E F0 .833(need not be e)144 184.8 +-5.608 F F4 -.666(PA)3.108 G(TH)-.189 E F0 .833(need not be e)144 243.6 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 +(is not in)3.333 F F3 .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 196.8 R F3 -.666(PA)3.481 G(TH)-.189 E/F4 9 +(\214le is found in)144 255.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18 E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981 -(iltin command is turned of).2 F .982(f, the)-.25 F F3 -.666(PA)144 -208.8 S(TH)-.189 E F0 .112(is not searched.)2.363 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 220.8 Q F0 .341(is e)2.841 F -.15(xe)-.15 G 2.841 +(iltin command is turned of).2 F .982(f, the)-.25 F F4 -.666(PA)144 +267.6 S(TH)-.189 E F0 .112(is not searched.)2.363 F .112(If an)5.112 F +(y)-.15 E F3(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F +2.612(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F3 +(\214lename)144 279.6 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 232.8 R .716 +(status of the last command e)144 291.6 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 244.8 -Q F0(is not found or cannot be read.)2.68 E F1(alias)108 261.6 Q F0([) -2.5 E F1A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].) -C(..])-2.5 E F1(Alias)144 273.6 Q F0 2.724(with no ar)5.224 F 2.724 +.716(cuted\), and f).15 F .715(alse if)-.1 F F3(\214lename)145.91 303.6 +Q F0(is not found or cannot be read.)2.68 E F1(alias)108 320.4 Q F0([) +2.5 E F1A F0 2.5(][)C F3(name)-2.5 E F0([=)A F3(value)A F0 2.5(].) +C(..])-2.5 E F1(Alias)144 332.4 Q F0 2.724(with no ar)5.224 F 2.724 (guments or with the)-.18 F F15.224 E F0 2.724 (option prints the list of aliases in the form)5.224 F F1(alias)5.225 E -F2(name)144 285.6 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F +F3(name)144 344.4 Q F0(=)A F3(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 297.6 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) +(guments are supplied, an alias is de\214ned for each)-.18 F F3(name) +3.08 E F0(whose)144 356.4 Q F3(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 F3(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 309.6 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 321.6 R 1.314 +(stitution when the alias is e)144 368.4 R 2.554(xpanded. F)-.15 F .054 +(or each)-.15 F F3(name)2.554 E F0 .054(in the ar)2.554 F .054 +(gument list for which no)-.18 F F3(value)2.554 E F0 .053(is sup-)2.553 +F 1.313(plied, the name and v)144 380.4 R 1.314 (alue of the alias is printed.)-.25 F F1(Alias)6.314 E F0 1.314 -(returns true unless a)3.814 F F2(name)3.814 E F0 1.314(is gi)3.814 F +(returns true unless a)3.814 F F3(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 333.6 Q F1(bg)108 350.4 Q F0([) -2.5 E F2(jobspec)A F0(])A .357(Resume the suspended job)144 362.4 R F2 -(jobspec)2.857 E F0 .356 -(in the background, as if it had been started with)2.857 F F1(&)2.856 E -F0 5.356(.I)C(f)-5.356 E F2(jobspec)2.856 E F0 .472 -(is not present, the shell')144 374.4 R 2.973(sn)-.55 G .473 -(otion of the)-2.973 F F2(curr)2.973 E .473(ent job)-.37 F F0 .473 -(is used.)2.973 F F1(bg)5.473 E F2(jobspec)4.713 E F0 .473 -(returns 0 unless run when)3.283 F .663(job control is disabled or)144 -386.4 R 3.163(,w)-.4 G .663(hen run with job control enabled, if)-3.163 -F F2(jobspec)3.163 E F0 -.1(wa)3.163 G 3.163(sn).1 G .663 -(ot found or started)-3.163 F(without job control.)144 398.4 Q F1(bind) -108 415.2 Q F0([)2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C -F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 427.2 Q F0([)2.5 E F1A F2 --.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1-2.5 E F2(function)2.5 E F0 -2.5(][)C F1-2.5 E F2(function)2.5 E F0 2.5(][)C F1-2.5 E F2 --.1(ke)2.5 G(yseq)-.2 E F0(])A F1(bind)108 439.2 Q F0([)2.5 E F1A -F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F12.5 E F2(\214lename)2.5 E F1 -(bind)108 451.2 Q F0([)2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A -F12.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2(shell\255command)A F1 -(bind)108 463.2 Q F0([)2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A -F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2(function\255name)A F1(bind)108 -475.2 Q F2 -.37(re)2.5 G(adline\255command).37 E F0 .238 -(Display current)144 487.2 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 499.2 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 511.2 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 +(which no alias has been de\214ned.)144 392.4 Q F1(bg)108 409.2 Q F0([) +2.5 E F3(jobspec)A F0(...])2.5 E .847(Resume each suspended job)144 +421.2 R F3(jobspec)3.347 E F0 .847 +(in the background, as if it had been started with)3.347 F F1(&)3.347 E +F0 5.847(.I)C(f)-5.847 E F3(job-)3.347 E(spec)144 433.2 Q F0 .689 +(is not present, the shell')3.188 F 3.189(sn)-.55 G .689(otion of the) +-3.189 F F3(curr)3.189 E .689(ent job)-.37 F F0 .689(is used.)3.189 F F1 +(bg)5.689 E F3(jobspec)4.929 E F0 .689(returns 0 unless run)3.499 F +1.284(when job control is disabled or)144 445.2 R 3.784(,w)-.4 G 1.283 +(hen run with job control enabled, if the last)-3.784 F F3(jobspec)3.783 +E F0 -.1(wa)3.783 G 3.783(sn).1 G(ot)-3.783 E(found or w)144 457.2 Q +(as started without job control.)-.1 E F1(bind)108 474 Q F0([)2.5 E F1 +A F3 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1(\255lpsvPSV)-2.5 E F0 +(])A F1(bind)108 486 Q F0([)2.5 E F1A F3 -.1(ke)2.5 G(ymap)-.2 E +F0 2.5(][)C F1-2.5 E F3(function)2.5 E F0 2.5(][)C F1-2.5 E +F3(function)2.5 E F0 2.5(][)C F1-2.5 E F3 -.1(ke)2.5 G(yseq)-.2 E +F0(])A F1(bind)108 498 Q F0([)2.5 E F1A F3 -.1(ke)2.5 G(ymap)-.2 E +F0(])A F12.5 E F3(\214lename)2.5 E F1(bind)108 510 Q F0([)2.5 E F1 +A F3 -.1(ke)2.5 G(ymap)-.2 E F0(])A F12.5 E F3 -.1(ke)2.5 G +(yseq)-.2 E F0(:)A F3(shell\255command)A F1(bind)108 522 Q F0([)2.5 E F1 +A F3 -.1(ke)2.5 G(ymap)-.2 E F0(])A F3 -.1(ke)2.5 G(yseq)-.2 E F0 +(:)A F3(function\255name)A F1(bind)108 534 Q F3 -.37(re)2.5 G +(adline\255command).37 E F0 .238(Display current)144 546 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 558 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 F3 +(.inputr)144 570 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 523.2 R(if supplied, ha)2.5 -E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 -535.2 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 547.2 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 559.2 S(ymap)-.2 E F0 3.192(names are)5.882 F F2 3.192 +(re\255read\255init\255\214le'. Options,)144 582 R(if supplied, ha)2.5 E +.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 594 +Q F3 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 606 Q F3 -.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 F3 -.1(ke) +180 618 S(ymap)-.2 E F0 3.192(names are)5.882 F F3 3.192 (emacs, emacs\255standar)5.692 F 3.193 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E -(vi\255command)180 571.2 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 583.2 Q(d)-.37 E F0(.)A F1144 595.2 Q F0 -(List the names of all)27.52 E F1 -.18(re)2.5 G(adline).18 E F0 -(functions.)2.5 E F1144 607.2 Q F0(Display)24.74 E F1 -.18(re)2.5 -G(adline).18 E F0(function names and bindings in such a w)2.5 E -(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 619.2 -Q F0(List current)24.19 E F1 -.18(re)2.5 G(adline).18 E F0 -(function names and bindings.)2.5 E F1144 631.2 Q F0(Display)25.3 -E F1 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 -E(alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G -(an be re-read.)-2.5 E F1144 643.2 Q F0(List current)23.08 E F1 --.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E -(alues.)-.25 E F1144 655.2 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 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 667.2 S 2.5(yt).1 G(hat the) --2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 679.2 Q F0 -(Display)24.74 E F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys) --.05 G(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G -(utput.)-2.5 E F1144 691.2 Q F2(\214lename)2.5 E F0(Read k)180 -703.2 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(44)197.335 E 0 Cg EP +(vi\255command)180 630 Q F0 4.43(,a)C(nd)-4.43 E F3(vi\255insert)4.429 E +F0(.).68 E F3(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929 +(lent to).25 F F3(vi\255command)4.429 E F0(;)A F3(emacs)4.429 E F0 1.929 +(is equi)4.429 F -.25(va)-.25 G 1.929(lent to).25 F F3(emacs\255standar) +180 642 Q(d)-.37 E F0(.)A F1144 654 Q F0(List the names of all) +27.52 E F1 -.18(re)2.5 G(adline).18 E F0(functions.)2.5 E F1144 +666 Q F0(Display)24.74 E F1 -.18(re)2.5 G(adline).18 E F0 +(function names and bindings in such a w)2.5 E(ay that the)-.1 E 2.5(yc) +-.15 G(an be re-read.)-2.5 E F1144 678 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 +144 690 Q F0(Display)25.3 E F1 -.18(re)2.5 G(adline).18 E F0 -.25 +(va)2.5 G(riable names and v).25 E(alues in such a w)-.25 E(ay that the) +-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 702 Q F0 +(List current)23.08 E F1 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G +(riable names and v).25 E(alues.)-.25 E F1144 714 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 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 726 S 2.5(yt).1 G +(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E(GNU Bash-3.0)72 768 +Q(2004 June 26)147.345 E(44)197.335 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/F1 10/Times-Bold@0 SF144 84 Q/F2 10/Times-Italic@0 SF -(function)2.5 E F0(Query about which k)180 96 Q -.15(ey)-.1 G 2.5(si).15 -G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 H(he named).1 E F2(function)2.5 E -F0(.)A F1144 108 Q F2(function)2.5 E F0(Unbind all k)180 120 Q --.15(ey)-.1 G 2.5(sb).15 G(ound to the named)-2.5 E F2(function)2.5 E F0 -(.)A F1144 132 Q F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 144 Q .3 --.15(ve a)-.15 H .3 -.15(ny c).15 H(urrent binding for).15 E F2 -.1(ke) -2.5 G(yseq)-.2 E F0(.)A F1144 156 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1 -(:)A F2(shell\255command)A F0(Cause)180 168 Q F2(shell\255command)2.5 E -F0(to be e)2.5 E -.15(xe)-.15 G(cuted whene).15 E -.15(ve)-.25 G(r).15 E -F2 -.1(ke)2.5 G(yseq)-.2 E F0(is entered.)2.5 E(The return v)144 184.8 Q +-.35 E/F1 10/Times-Bold@0 SF144 84 Q F0(Display)24.74 E F1 -.18 +(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)-.05 G +(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G +(utput.)-2.5 E F1144 96 Q/F2 10/Times-Italic@0 SF(\214lename)2.5 E +F0(Read k)180 108 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename) +2.5 E F0(.)A F1144 120 Q F2(function)2.5 E F0(Query about which k) +180 132 Q -.15(ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 +H(he named).1 E F2(function)2.5 E F0(.)A F1144 144 Q F2(function) +2.5 E F0(Unbind all k)180 156 Q -.15(ey)-.1 G 2.5(sb).15 G +(ound to the named)-2.5 E F2(function)2.5 E F0(.)A F1144 168 Q F2 +-.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 180 Q .3 -.15(ve a)-.15 H .3 -.15 +(ny c).15 H(urrent binding for).15 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(.)A +F1144 192 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2(shell\255command) +A F0(Cause)180 204 Q F2(shell\255command)2.5 E F0(to be e)2.5 E -.15(xe) +-.15 G(cuted whene).15 E -.15(ve)-.25 G(r).15 E F2 -.1(ke)2.5 G(yseq)-.2 +E F0(is entered.)2.5 E(The return v)144 220.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 +237.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055(Exit from within a)144 +249.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 SF2.554 E F0(1.)2.554 E(If)144 225.6 Q +(must be)2.794 F/F3 10/Symbol SF2.554 E F0(1.)2.554 E(If)144 261.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 the shell is not e)144 237.6 Q -.15(xe) +2.715 F(alue)-.25 E(is 0 unless the shell is not e)144 273.6 Q -.15(xe) -.15 G(cuting a loop when).15 E F1(br)2.5 E(eak)-.18 E F0(is e)2.5 E --.15(xe)-.15 G(cuted.).15 E F1 -.2(bu)108 254.4 S(iltin).2 E F2 +-.15(xe)-.15 G(cuted.).15 E F1 -.2(bu)108 290.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 +(Ex)144 302.4 Q .793(ecute the speci\214ed shell b)-.15 F .793 (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 (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 +314.4 R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144 +326.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 -.2(bu)3.07 G .57(iltin is commonly rede\214ned this w).2 F(ay)-.1 E -5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 302.4 Q(alse if)-.1 +5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 338.4 Q(alse if)-.1 E F2(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E -(uiltin command.)-.2 E F1(cd)108 319.2 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 331.2 +(uiltin command.)-.2 E F1(cd)108 355.2 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 367.2 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 343.2 R F2 +(de\214nes the search path for the directory containing)144 379.2 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 355.2 R 3.264(An)5.764 G .764 +.764(are separated by a colon \(:\).)144 391.2 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 367.2 Q 2.974 +F0 .764(is the same as the current direc-)3.014 F(tory)144 403.2 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 (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 F12.973 E F0 .473 -(option says to use)2.973 F .579(the ph)144 379.2 R .579 +(option says to use)2.973 F .579(the ph)144 415.2 R .579 (ysical directory structure instead of follo)-.05 F .579 (wing symbolic links \(see also the)-.25 F F13.08 E F0 .58 -(option to the)3.08 F F1(set)144 391.2 Q F0 -.2(bu)3.384 G .884 +(option to the)3.08 F F1(set)144 427.2 Q F0 -.2(bu)3.384 G .884 (iltin command\); the).2 F F13.384 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 F13.383 E F0(is)3.383 E(equi)144 -403.2 Q -.25(va)-.25 G .062(lent to).25 F F4($OLDPWD)2.562 E/F5 9 +439.2 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 -2.563 E F0 .063(is the \214rst)2.563 F(ar)144 415.2 Q .116(gument, \ +2.563 E F0 .063(is the \214rst)2.563 F(ar)144 451.2 Q .116(gument, \ and 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 427.2 R 1.164(The return v) +(tory is written to the standard output.)144 463.2 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 439.2 Q(alse otherwise.)-.1 E F1 -(caller)108 456 Q F0([)2.5 E F2 -.2(ex)C(pr).2 E F0(])A .254 -(Returns the conte)144 468 R .254(xt of an)-.15 F 2.754(ya)-.15 G(cti) +(as successfully)-.1 F(changed; f)144 475.2 Q(alse otherwise.)-.1 E F1 +(caller)108 492 Q F0([)2.5 E F2 -.2(ex)C(pr).2 E F0(])A .254 +(Returns the conte)144 504 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.753 E F0(or)2.753 E F1(sour)144 480 Q +.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 516 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 -.254(subroutine call.)144 492 R .254(If a non-ne)5.254 F -.05(ga)-.15 G +.254(subroutine call.)144 528 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 504 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001 -(This e)144 516 R .001(xtra information may be used, for e)-.15 F .001 +ent e)144 540 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001 +(This e)144 552 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 528 R .519(return v)3.019 F .519 +3.019(0. The)144 564 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 540 Q -(alid position in the call stack.)-.25 E F1(command)108 556.8 Q F0([)2.5 +(does not corre-)3.02 F(spond to a v)144 576 Q +(alid position in the call stack.)-.25 E F1(command)108 592.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 E F0(with)3.527 E F2(ar) +(...])2.5 E(Run)144 604.8 Q F2(command)2.957 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 +(uiltin commands or)-.2 F .501(commands found in the)144 616.8 R F4 -.666(PA)3.001 G(TH)-.189 E F0 .502(are e)2.751 F -.15(xe)-.15 G 3.002 (cuted. If).15 F(the)3.002 E F13.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 +3.772 E .232(performed using a def)144 628.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 F12.674 E F0(or)2.674 E F1 +5.231 E .174(either the)144 640.8 R F12.674 E F0(or)2.674 E F1 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 F12.675 E -F0 .175(option causes)2.675 F 3.11(as)144 616.8 S .61(ingle w)-3.11 F +F0 .175(option causes)2.675 F 3.11(as)144 652.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 -F1144 628.8 Q F0 .249(option produces a more v)2.749 F .249 +F1144 664.8 Q F0 .249(option produces a more v)2.749 F .249 (erbose description.)-.15 F .249(If the)5.249 F F12.749 E F0(or) 2.749 E F12.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 +(xit status)-.15 F 1.005(is 0 if)144 676.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 (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 +(command)144.2 688.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 -(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 -(iltin with the e).2 F .981(xception of)-.15 F F13.481 E F0(and) -3.481 E F13.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 -F13.915 E F0(or)3.915 E F13.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-3.0)72 768 Q(2004 June 26)147.345 E(45)197.335 E 0 Cg EP +(xit status of the)-.15 F F1(command)4.099 E F0 -.2(bu)144 700.8 S +(iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(45)197.335 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 .352(The matches will be generated in the same w)144 84 R .352 +-.35 E/F1 10/Times-Bold@0 SF(compgen)108 84 Q F0([)2.5 E/F2 10 +/Times-Italic@0 SF(option)A F0 2.5(][)C F2(wor)-2.5 E(d)-.37 E F0(])A +.013(Generate possible completion matches for)144 96 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 108 R F1(complete)3.481 E F0 -.2(bu)3.481 G .981 +(iltin with the e).2 F .981(xception of)-.15 F F13.481 E F0(and) +3.481 E F13.481 E F0 3.481(,a)C .982(nd write the matches to the) +-3.481 F 1.415(standard output.)144 120 R 1.415(When using the)6.415 F +F13.915 E F0(or)3.915 E F13.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 132 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 156 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 +168 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 180 Q F2(wor)2.5 E(d)-.37 E F0 +(will be displayed.)2.5 E(The return v)144 204 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([)2.786 E F2(\255abcdefgjksuv)A -F0 2.786(][)C F2-2.786 E F1(comp-option)2.786 E F0 2.786(][)C F2 --2.786 E F1(action)2.786 E F0 2.786(][)C F2-2.786 E F1 -(globpat)2.786 E F0 2.786(][)C F2-2.786 E F1(wor)2.786 E(dlist) --.37 E F0 2.786(][)C F2-2.786 E F1(pr)2.786 E(e\214x)-.37 E F0 -2.787(][)C F2-2.787 E F1(suf-)2.787 E<8c78>108 160.8 Q F0(])A([) -144 172.8 Q F2A F1(\214lterpat)2.5 E F0 2.5(][)C F2-2.5 E F1 -(function)2.5 E F0 2.5(][)C F2-2.5 E F1(command)2.5 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 F1(name)A 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 F23.134 E F0 +(lid option is supplied, or no matches were generated.).25 E F1 +(complete)108 220.8 Q F0([)2.786 E F1(\255abcdefgjksuv)A F0 2.786(][)C +F1-2.786 E F2(comp-option)2.786 E F0 2.786(][)C F1-2.786 E +F2(action)2.786 E F0 2.786(][)C F1-2.786 E F2(globpat)2.786 E F0 +2.786(][)C F1-2.786 E F2(wor)2.786 E(dlist)-.37 E F0 2.786(][)C F1 +-2.786 E F2(pr)2.786 E(e\214x)-.37 E F0 2.787(][)C F1-2.787 +E F2(suf-)2.787 E<8c78>108 232.8 Q F0(])A([)144 244.8 Q F1A F2 +(\214lterpat)2.5 E F0 2.5(][)C F1-2.5 E F2(function)2.5 E F0 2.5 +(][)C F1-2.5 E F2(command)2.5 E F0(])A F2(name)2.5 E F0([)2.5 E F2 +(name ...)A F0(])A F1(complete \255pr)108 256.8 Q F0([)2.5 E F2(name)A +F0(...])2.5 E .633(Specify ho)144 268.8 R 3.133(wa)-.25 G -.18(rg)-3.133 +G .633(uments to each).18 F F2(name)3.133 E F0 .633 +(should be completed.)3.133 F .634(If the)5.634 F F13.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) +144 280.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 F22.81 E F0 .31 +(reused as input.)144 292.8 R(The)5.31 E F12.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 -(are supplied, all completion speci\214cations.)144 232.8 Q 1.438 +(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 +(are supplied, all completion speci\214cations.)144 304.8 Q 1.438 (The process of applying these completion speci\214cations when w)144 -256.8 R 1.437(ord completion is attempted is)-.1 F(described abo)144 -268.8 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E +328.8 R 1.437(ord completion is attempted is)-.1 F(described abo)144 +340.8 Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E (ogrammable Completion)-.18 E F0(.)A .555 -(Other options, if speci\214ed, ha)144 292.8 R .855 -.15(ve t)-.2 H .555 +(Other options, if speci\214ed, ha)144 364.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 F23.056 E F0(,)A F23.056 E F0 3.056 -(,a)C(nd)-3.056 E F23.056 E F0 .723(options \(and, if necessary) -144 304.8 R 3.223(,t)-.65 G(he)-3.223 E F23.223 E F0(and)3.223 E -F23.223 E F0 .722 +(guments to the)-.18 F F13.056 E F0(,)A F13.056 E F0 3.056 +(,a)C(nd)-3.056 E F13.056 E F0 .723(options \(and, if necessary) +144 376.8 R 3.223(,t)-.65 G(he)-3.223 E F13.223 E F0(and)3.223 E +F13.223 E F0 .722 (options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E -(sion before the)144 316.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 F2144 328.8 Q -F1(comp-option)2.5 E F0(The)184 340.8 Q F1(comp-option)2.79 E F0 .291 +(sion before the)144 388.8 Q F1(complete)2.5 E F0 -.2(bu)2.5 G +(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1144 400.8 Q +F2(comp-option)2.5 E F0(The)184 412.8 Q F2(comp-option)2.79 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 352.8 Q F1 -(comp-option)5 E F0(may be one of:)2.5 E F2(bashdefault)184 364.8 Q F0 -.281(Perform the rest of the def)224 376.8 R(ault)-.1 E F2(bash)2.781 E +(yond the simple)-.15 F(generation of completions.)184 424.8 Q F2 +(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 436.8 Q F0 +.281(Perform the rest of the def)224 448.8 R(ault)-.1 E F1(bash)2.781 E F0 .281(completions if the compspec generates no)2.781 F(matches.)224 -388.8 Q F2(default)184 400.8 Q F0 2.875(Use readline')10 F 5.375(sd)-.55 +460.8 Q F1(default)184 472.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 412.8 Q F2(dir)184 424.8 Q(names)-.15 E F0(Perform directory name c\ -ompletion if the compspec generates no matches.)224 436.8 Q F2 -(\214lenames)184 448.8 Q F0 -.7(Te)224 460.8 S .137(ll readline that th\ +224 484.8 Q F1(dir)184 496.8 Q(names)-.15 E F0(Perform directory name c\ +ompletion if the compspec generates no matches.)224 508.8 Q F1 +(\214lenames)184 520.8 Q F0 -.7(Te)224 532.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 .496(name\255speci\214c processing \(lik)224 472.8 R +-.15 G(le-)-2.636 E .496(name\255speci\214c processing \(lik)224 544.8 R 2.996(ea)-.1 G .496(dding a slash to directory names or suppress-)-2.996 -F(ing trailing spaces\).)224 484.8 Q -(Intended to be used with shell functions.)5 E F2(nospace)184 496.8 Q F0 +F(ing trailing spaces\).)224 556.8 Q +(Intended to be used with shell functions.)5 E F1(nospace)184 568.8 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 -508.8 Q F2144 520.8 Q F1(action)2.5 E F0(The)184 532.8 Q F1 +580.8 Q F1144 592.8 Q F2(action)2.5 E F0(The)184 604.8 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 F2(alias)184 -544.8 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F2 -2.5 E F0(.)A F2(arrayv)184 556.8 Q(ar)-.1 E F0(Array v)224 568.8 Q -(ariable names.)-.25 E F2 4.7(binding Readline)184 580.8 R F0 -.1(ke)2.5 -G 2.5(yb)-.05 G(inding names.)-2.5 E F2 -.2(bu)184 592.8 S(iltin).2 E F0 +(wing to generate a list of possible completions:)-.25 E F1(alias)184 +616.8 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1 +2.5 E F0(.)A F1(arrayv)184 628.8 Q(ar)-.1 E F0(Array v)224 640.8 Q +(ariable names.)-.25 E F1 4.7(binding Readline)184 652.8 R F0 -.1(ke)2.5 +G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 664.8 S(iltin).2 E F0 (Names of shell b)11.85 E(uiltin commands.)-.2 E -(May also be speci\214ed as)5 E F22.5 E F0(.)A F2(command)184 -604.8 Q F0(Command names.)224 616.8 Q(May also be speci\214ed as)5 E F2 -2.5 E F0(.)A F2(dir)184 628.8 Q(ectory)-.18 E F0(Directory names.) -224 640.8 Q(May also be speci\214ed as)5 E F22.5 E F0(.)A F2 -(disabled)184 652.8 Q F0(Names of disabled shell b)224 664.8 Q(uiltins.) --.2 E F2(enabled)184 676.8 Q F0(Names of enabled shell b)6.66 E -(uiltins.)-.2 E F2(export)184 688.8 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 F22.5 E F0(.)A F2(\214le)184 700.8 Q F0(File names.)27.22 E -(May also be speci\214ed as)5 E F22.5 E F0(.)A(GNU Bash-3.0)72 768 -Q(2004 June 26)147.345 E(46)197.335 E 0 Cg EP +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(command)184 +676.8 Q F0(Command names.)224 688.8 Q(May also be speci\214ed as)5 E F1 +2.5 E F0(.)A F1(dir)184 700.8 Q(ectory)-.18 E F0(Directory names.) +224 712.8 Q(May also be speci\214ed as)5 E F12.5 E F0(.)A +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(46)197.335 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/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 F12.5 E F0(.) -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 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 F12.5 E F0(.)A F1 --.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 F12.5 E F0(.)A F1 -(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 F12.5 E F0(.)A F1(setopt) -184 228 Q F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1 -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 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 +-.35 E/F1 10/Times-Bold@0 SF(disabled)184 84 Q F0 +(Names of disabled shell b)224 96 Q(uiltins.)-.2 E F1(enabled)184 108 Q +F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184 120 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 F12.5 E F0(.)A F1(\214le)184 132 Q +F0(File names.)27.22 E(May also be speci\214ed as)5 E F12.5 E F0 +(.)A F1(function)184 144 Q F0(Names of shell functions.)224 156 Q F1(gr) +184 168 Q(oup)-.18 E F0(Group names.)14.62 E(May also be speci\214ed as) +5 E F12.5 E F0(.)A F1(helptopic)184 180 Q F0 +(Help topics as accepted by the)224 192 Q F1(help)2.5 E F0 -.2(bu)2.5 G +(iltin.).2 E F1(hostname)184 204 Q F0(Hostnames, as tak)224 216 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 228 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 F12.5 E F0(.)A F1 -.1(ke)184 240 S +(yw).1 E(ord)-.1 E F0(Shell reserv)224 252 Q(ed w)-.15 E 2.5(ords. May) +-.1 F(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1(running)184 +264 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve) +-.25 G(.).15 E F1(ser)184 276 Q(vice)-.1 E F0(Service names.)10.67 E +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(setopt)184 288 Q +F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F12.5 E +F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1 +(shopt)184 300 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 312 Q F0 +(Signal names.)14.99 E F1(stopped)184 324 Q F0 (Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.) -.15 E F1(user)184 276 Q F0(User names.)21.67 E -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1 -.1(va)184 288 S +.15 E F1(user)184 336 Q F0(User names.)21.67 E +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1 -.1(va)184 348 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 F12.5 E F0(.)A F1144 300 Q/F3 -10/Times-Italic@0 SF(globpat)2.5 E F0 1.41(The \214lename e)184 312 R +(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1144 360 Q/F3 +10/Times-Italic@0 SF(globpat)2.5 E F0 1.41(The \214lename e)184 372 R 1.411(xpansion pattern)-.15 F F3(globpat)3.911 E F0 1.411(is e)3.911 F -1.411(xpanded to generate the possible comple-)-.15 F(tions.)184 324 Q -F1144 336 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 348 Q F3(wor)3.64 +1.411(xpanded to generate the possible comple-)-.15 F(tions.)184 384 Q +F1144 396 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 408 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 +-.25 F 2.007(each resultant w)184 420 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 F1144 384 Q F3(command)2.5 E(command)184 396 Q F0 1.056 +4.507 F(resultant list which match the w)184 432 Q(ord being completed.) +-.1 E F1144 444 Q F3(command)2.5 E(command)184 456 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 408 Q F1144 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 +184 468 Q F1144 480 Q F3(function)2.5 E F0 1.18 +(The shell function)184 492 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 +(ishes, the possible completions are retrie)184 504 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.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 456 S(riable.) -.25 E F1144 468 Q F3(\214lterpat)2.5 E(\214lterpat)184 480 Q F0 +(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 516 S(riable.) +.25 E F1144 528 Q F3(\214lterpat)2.5 E(\214lterpat)184 540 Q F0 .733(is a pattern as used for \214lename e)3.233 F 3.233(xpansion. It) -.15 F .733(is applied to the list of possible)3.233 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) +(completions generated by the preceding options and ar)184 552 R 1.596 +(guments, and each completion)-.18 F(matching)184 564 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 +(tes the pattern;).05 F(in this case, an)184 576 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 F1144 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 +-.15(ve)-.15 G(d.).15 E F1144 588 Q F3(pr)2.5 E(e\214x)-.37 E(pr) +184 600 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 552 Q F1144 564 Q F3(suf)2.5 E +-.15(ve)-.2 G(been applied.)184 612 Q F1144 624 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 .466(The return v)144 580.8 R +E .3 -.15(ve b)-.2 H(een applied.).15 E .466(The return v)144 640.8 R .466(alue is true unless an in)-.25 F -.25(va)-.4 G .466 (lid option is supplied, an option other than).25 F F12.967 E F0 (or)2.967 E F12.967 E F0 .467(is sup-)2.967 F 1.362 -(plied without a)144 592.8 R F3(name)3.862 E F0(ar)3.862 E 1.361 +(plied without a)144 652.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 +1.361(ompletion speci\214cation for a).15 F F3(name)144 664.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(continue)108 621.6 Q F0([)2.5 E F3(n)A F0(])A 1.753(Resume the ne)144 -633.6 R 1.753(xt iteration of the enclosing)-.15 F F1 -.25(fo)4.254 G(r) +F1(continue)108 681.6 Q F0([)2.5 E F3(n)A F0(])A 1.753(Resume the ne)144 +693.6 R 1.753(xt iteration of the enclosing)-.15 F F1 -.25(fo)4.254 G(r) .25 E F0(,)A F1(while)4.254 E F0(,)A F1(until)4.254 E F0 4.254(,o)C(r) -4.254 E F1(select)4.254 E F0 4.254(loop. If)4.254 F F3(n)4.614 E F0 -1.754(is speci\214ed,)4.494 F 1.209(resume at the)144 645.6 R F3(n)3.709 +1.754(is speci\214ed,)4.494 F 1.209(resume at the)144 705.6 R F3(n)3.709 E F0 1.209(th enclosing loop.)B F3(n)6.569 E F0 1.209(must be)3.949 F/F4 10/Symbol SF3.709 E F0 3.709(1. If)3.709 F F3(n)4.069 E F0 1.209 (is greater than the number of enclosing)3.949 F .667 -(loops, the last enclosing loop \(the `)144 657.6 R(`top-le)-.74 E -.15 +(loops, the last enclosing loop \(the `)144 717.6 R(`top-le)-.74 E -.15 (ve)-.25 G(l').15 E 3.167('l)-.74 G .667(oop\) is resumed.)-3.167 F .668 (The return v)5.668 F .668(alue is 0 unless the)-.25 F(shell is not e) -144 669.6 Q -.15(xe)-.15 G(cuting a loop when).15 E F1(continue)2.5 E F0 -(is e)2.5 E -.15(xe)-.15 G(cuted.).15 E F1(declar)108 686.4 Q(e)-.18 E -F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F3 -(name)-2.5 E F0([=)A F3(value)A F0 2.5(].)C(..])-2.5 E F1(typeset)108 -698.4 Q F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1-2.5 E F0 2.5 -(][)C F3(name)-2.5 E F0([=)A F3(value)A F0 2.5(].)C(..])-2.5 E 1.265 -(Declare v)144 710.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 F3(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 722.4 -S 3.326(riables. The).25 F F13.326 E F0 .826 -(option will display the attrib)3.326 F .826(utes and v)-.2 F .826 -(alues of each)-.25 F F3(name)3.326 E F0 5.827(.W).18 G(hen)-5.827 E F1 -3.327 E F0 .827(is used,)3.327 F(GNU Bash-3.0)72 768 Q +144 729.6 Q -.15(xe)-.15 G(cuting a loop when).15 E F1(continue)2.5 E F0 +(is e)2.5 E -.15(xe)-.15 G(cuted.).15 E(GNU Bash-3.0)72 768 Q (2004 June 26)147.345 E(47)197.335 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 .22(additional options are ignored.)144 84 R(The)5.22 E/F1 10 -/Times-Bold@0 SF2.72 E F0 .22 -(option inhibits the display of function de\214nitions; only the)2.72 F -.466(function name and attrib)144 96 R .466(utes are printed.)-.2 F .466 -(If the)5.466 F F1(extdeb)2.966 E(ug)-.2 E F0 .466 +-.35 E/F1 10/Times-Bold@0 SF(declar)108 84 Q(e)-.18 E F0([)2.5 E F1 +(\255afFirtx)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C/F2 10 +/Times-Italic@0 SF(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E +F1(typeset)108 96 Q F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1-2.5 +E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E +1.265(Declare v)144 108 R 1.265(ariables and/or gi)-.25 F 1.565 -.15 +(ve t)-.25 H 1.265(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E F2 +(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.764 +(nt).15 G 1.264(hen display the v)-3.764 F 1.264(alues of)-.25 F -.25 +(va)144 120 S 3.326(riables. The).25 F F13.326 E F0 .826 +(option will display the attrib)3.326 F .826(utes and v)-.2 F .826 +(alues of each)-.25 F F2(name)3.326 E F0 5.827(.W).18 G(hen)-5.827 E F1 +3.327 E F0 .827(is used,)3.327 F .22 +(additional options are ignored.)144 132 R(The)5.22 E F12.72 E F0 +.22(option inhibits the display of function de\214nitions; only the)2.72 +F .466(function name and attrib)144 144 R .466(utes are printed.)-.2 F +.466(If the)5.466 F F1(extdeb)2.966 E(ug)-.2 E F0 .466 (shell option is enabled using)2.966 F F1(shopt)2.966 E F0 2.966(,t)C (he)-2.966 E 1.308(source \214le name and line number where the functio\ -n is de\214ned are displayed as well.)144 108 R(The)6.308 E F1 -3.808 E F0 .19(option implies)144 120 R F12.69 E F0 5.19(.T)C .19 +n is de\214ned are displayed as well.)144 156 R(The)6.308 E F1 +3.808 E F0 .19(option implies)144 168 R F12.69 E F0 5.19(.T)C .19 (he follo)-5.19 F .191(wing options can be used to restrict output to v) --.25 F .191(ariables with the speci-)-.25 F(\214ed attrib)144 132 Q +-.25 F .191(ariables with the speci-)-.25 F(\214ed attrib)144 180 Q (ute or to gi)-.2 E .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 -E F1144 144 Q F0(Each)25.3 E/F2 10/Times-Italic@0 SF(name)2.5 E F0 -(is an array v)2.5 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E F1144 156 Q F0(Use function names only) -26.97 E(.)-.65 E F1144 168 Q F0 .558(The v)27.52 F .558 +E F1144 192 Q F0(Each)25.3 E F2(name)2.5 E F0(is an array v)2.5 E +(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).) +.15 E F1144 204 Q F0(Use function names only)26.97 E(.)-.65 E F1 +144 216 Q F0 .558(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 9/Times-Bold@0 SF .557 -(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION \))180 180 Q F0 +(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION \))180 228 Q F0 (is performed when the v)2.25 E(ariable is assigned a v)-.25 E(alue.) --.25 E F1144 192 Q F0(Mak)25.86 E(e)-.1 E F2(name)5.046 E F0 5.046 +-.25 E F1144 240 Q F0(Mak)25.86 E(e)-.1 E F2(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 204 Q F1 -144 216 Q F0(Gi)26.97 E 1.231 -.15(ve e)-.25 H(ach).15 E F2(name) +(alues by subsequent)-.25 F(assignment statements or unset.)180 252 Q F1 +144 264 Q F0(Gi)26.97 E 1.231 -.15(ve e)-.25 H(ach).15 E F2(name) 3.431 E F0(the)3.431 E F2(tr)3.431 E(ace)-.15 E F0(attrib)3.431 E 3.431 (ute. T)-.2 F .931(raced functions inherit the)-.35 F F1(DEB)3.431 E(UG) --.1 E F0 .93(trap from the)3.43 F(calling shell.)180 228 Q +-.1 E F0 .93(trap from the)3.43 F(calling shell.)180 276 Q (The trace attrib)5 E(ute has no special meaning for v)-.2 E(ariables.) --.25 E F1144 240 Q F0(Mark)25.3 E F2(name)2.5 E F0 2.5(sf)C(or e) +-.25 E F1144 288 Q F0(Mark)25.3 E F2(name)2.5 E F0 2.5(sf)C(or e) -2.5 E(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E -.336(Using `+' instead of `\255' turns of)144 256.8 R 2.837(ft)-.25 G +.336(Using `+' instead of `\255' turns of)144 304.8 R 2.837(ft)-.25 G .337(he attrib)-2.837 F .337(ute instead, with the e)-.2 F .337 (xception that)-.15 F F1(+a)2.837 E F0 .337(may not be used)2.837 F .793 -(to destro)144 268.8 R 3.293(ya)-.1 G 3.293(na)-3.293 G .793(rray v) +(to destro)144 316.8 R 3.293(ya)-.1 G 3.293(na)-3.293 G .793(rray v) -3.293 F 3.293(ariable. When)-.25 F .793(used in a function, mak)3.293 F .793(es each)-.1 F F2(name)3.293 E F0 .793(local, as with the)3.293 F F1 -(local)3.292 E F0 2.842(command. If)144 280.8 R 2.842(av)2.842 G .342 +(local)3.292 E F0 2.842(command. If)144 328.8 R 2.842(av)2.842 G .342 (ariable name is follo)-3.092 F .342(wed by =)-.25 F F2(value)A F0 2.842 (,t)C .342(he v)-2.842 F .342(alue of the v)-.25 F .343 (ariable is set to)-.25 F F2(value)2.843 E F0 5.343(.T)C(he)-5.343 E -.801(return v)144 292.8 R .801(alue is 0 unless an in)-.25 F -.25(va)-.4 +.801(return v)144 340.8 R .801(alue is 0 unless an in)-.25 F -.25(va)-.4 G .8 (lid option is encountered, an attempt is made to de\214ne a function) -.25 F(using)144 304.8 Q/F4 10/Courier@0 SF 1.038(\255f foo=bar)3.538 F +.25 F(using)144 352.8 Q/F4 10/Courier@0 SF 1.038(\255f foo=bar)3.538 F F0 3.538(,a)C 3.538(na)-3.538 G 1.038(ttempt is made to assign a v) -3.538 F 1.038(alue to a readonly v)-.25 F 1.039(ariable, an attempt is) --.25 F .974(made to assign a v)144 316.8 R .974(alue to an array v)-.25 +-.25 F .974(made to assign a v)144 364.8 R .974(alue to an array v)-.25 F .974(ariable without using the compound assignment syntax \(see)-.25 F -F1(Arrays)144 328.8 Q F0(abo)2.86 E -.15(ve)-.15 G .36(\), one of the) +F1(Arrays)144 376.8 Q F0(abo)2.86 E -.15(ve)-.15 G .36(\), one of the) .15 F F2(names)2.86 E F0 .36(is not a v)2.86 F .36(alid shell v)-.25 F .36(ariable name, an attempt is made to turn of)-.25 F(f)-.25 E .057 -(readonly status for a readonly v)144 340.8 R .057 +(readonly status for a readonly v)144 388.8 R .057 (ariable, an attempt is made to turn of)-.25 F 2.556(fa)-.25 G .056 (rray status for an array v)-2.556 F(ari-)-.25 E -(able, or an attempt is made to display a non-e)144 352.8 Q +(able, or an attempt is made to display a non-e)144 400.8 Q (xistent function with)-.15 E F12.5 E F0(.)A F1 -(dirs [\255clpv] [+)108 369.6 Q F2(n)A F1 2.5(][)C-2.5 E F2(n)A F1 -(])A F0 -.4(Wi)144 381.6 S .328 +(dirs [\255clpv] [+)108 417.6 Q F2(n)A F1 2.5(][)C-2.5 E F2(n)A F1 +(])A F0 -.4(Wi)144 429.6 S .328 (thout options, displays the list of currently remembered directories.) .4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238 -(single line with directory names separated by spaces.)144 393.6 R 1.238 -(Directories are added to the list with the)6.238 F F1(pushd)144 405.6 Q +(single line with directory names separated by spaces.)144 441.6 R 1.238 +(Directories are added to the list with the)6.238 F F1(pushd)144 453.6 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 417.6 Q F2(n)A F0 +2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 465.6 Q F2(n)A F0 1.564(Displays the)25.3 F F2(n)4.064 E F0 1.565 (th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F1 (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 429.6 Q F1144 441.6 Q F2 +(without options, starting with zero.)180 477.6 Q F1144 489.6 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 453.6 Q F1144 465.6 Q F0 +(without options, starting with zero.)180 501.6 Q F1144 513.6 Q F0 (Clears the directory stack by deleting all of the entries.)25.86 E F1 -144 477.6 Q F0 .324(Produces a longer listing; the def)27.52 F +144 525.6 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 489.6 Q(.)-.65 E F1144 501.6 Q F0 +(tory)180 537.6 Q(.)-.65 E F1144 549.6 Q F0 (Print the directory stack with one entry per line.)24.74 E F1144 -513.6 Q F0 .273(Print the directory stack with one entry per line, pre\ +561.6 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 525.6 Q .257(The return v)144 542.4 R .258 +G(he)-2.772 E(stack.)180 573.6 Q .257(The return v)144 590.4 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 554.4 Q F1(diso)108 571.2 Q(wn)-.1 E F0([)2.5 E F1 +.15 F(tory stack.)144 602.4 Q F1(diso)108 619.2 Q(wn)-.1 E F0([)2.5 E F1 (\255ar)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(jobspec)-2.5 E F0 -(...])2.5 E -.4(Wi)144 583.2 S .331(thout options, each).4 F F2(jobspec) +(...])2.5 E -.4(Wi)144 631.2 S .331(thout options, each).4 F F2(jobspec) 4.571 E F0 .331(is remo)3.141 F -.15(ve)-.15 G 2.831(df).15 G .331 (rom the table of acti)-2.831 F .63 -.15(ve j)-.25 H 2.83(obs. If).15 F (the)2.83 E F12.83 E F0 .33(option is gi)2.83 F -.15(ve)-.25 G(n,) -.15 E(each)144 595.2 Q F2(jobspec)4.52 E F0 .28(is not remo)3.09 F -.15 +.15 E(each)144 643.2 Q F2(jobspec)4.52 E F0 .28(is not remo)3.09 F -.15 (ve)-.15 G 2.78(df).15 G .28(rom the table, b)-2.78 F .28(ut is mark)-.2 F .28(ed so that)-.1 F F3(SIGHUP)2.78 E F0 .281 -(is not sent to the job if)2.53 F .224(the shell recei)144 607.2 R -.15 +(is not sent to the job if)2.53 F .224(the shell recei)144 655.2 R -.15 (ve)-.25 G 2.724(sa).15 G F3(SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0 .224 (If no)4.724 F F2(jobspec)4.464 E F0 .224(is present, and neither the) 3.034 F F12.724 E F0 .224(nor the)2.724 F F12.724 E F0 .223 -(option is sup-)2.724 F .651(plied, the)144 619.2 R F2(curr)3.151 E .651 +(option is sup-)2.724 F .651(plied, the)144 667.2 R F2(curr)3.151 E .651 (ent job)-.37 F F0 .651(is used.)3.151 F .652(If no)5.651 F F2(jobspec) 4.892 E F0 .652(is supplied, the)3.462 F F13.152 E F0 .652 (option means to remo)3.152 F .952 -.15(ve o)-.15 H 3.152(rm).15 G(ark) --3.152 E .435(all jobs; the)144 631.2 R F12.935 E F0 .435 +-3.152 E .435(all jobs; the)144 679.2 R F12.935 E F0 .435 (option without a)2.935 F F2(jobspec)4.675 E F0(ar)3.245 E .434 (gument restricts operation to running jobs.)-.18 F .434(The return) -5.434 F -.25(va)144 643.2 S(lue is 0 unless a).25 E F2(jobspec)4.24 E F0 -(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 660 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 672 R F2(ar)2.894 E(g)-.37 E F0 .394 +5.434 F -.25(va)144 691.2 S(lue is 0 unless a).25 E F2(jobspec)4.24 E F0 +(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E(GNU Bash-3.0)72 768 +Q(2004 June 26)147.345 E(48)197.335 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(echo)108 84 Q F0([)2.5 E F1(\255neE)A F0 +2.5(][)C/F2 10/Times-Italic@0 SF(ar)-2.5 E(g)-.37 E F0(...])2.5 E .394 +(Output the)144 96 R F2(ar)2.894 E(g)-.37 E F0 .394 (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 F12.895 E F0 .549 -(is speci\214ed, the trailing ne)144 684 R .548(wline is suppressed.) +(is speci\214ed, the trailing ne)144 108 R .548(wline is suppressed.) -.25 F .548(If the)5.548 F F13.048 E F0 .548(option is gi)3.048 F --.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 696 Q +-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 120 Q .052(wing backslash-escaped characters is enabled.)-.25 F(The)5.052 E F1 2.552 E F0 .053(option disables the interpretation of these)2.553 -F 1.503(escape characters, e)144 708 R -.15(ve)-.25 G 4.003(no).15 G +F 1.503(escape characters, e)144 132 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 720 R F1 +(option may be used to dynamically determine whether or not)144 144 R F1 (echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15 F -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(48)197.335 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 .66(by def)144 84 R(ault.)-.1 E/F1 10/Times-Bold@0 SF(echo)5.66 E -F0 .66(does not interpret)3.16 F F13.16 E F0 .659 +.66(by def)144 156 R(ault.)-.1 E F1(echo)5.66 E F0 .66 +(does not interpret)3.16 F F13.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 96 Q F1 -(\\a)144 108 Q F0(alert \(bell\))28.22 E F1(\\b)144 120 Q F0(backspace) -27.66 E F1(\\c)144 132 Q F0(suppress trailing ne)28.78 E(wline)-.25 E F1 -(\\e)144 144 Q F0(an escape character)28.78 E F1(\\f)144 156 Q F0 -(form feed)29.89 E F1(\\n)144 168 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 -E F1(\\r)144 180 Q F0(carriage return)28.78 E F1(\\t)144 192 Q F0 -(horizontal tab)29.89 E F1(\\v)144 204 Q F0 -.15(ve)28.22 G(rtical tab) -.15 E F1(\\\\)144 216 Q F0(backslash)30.44 E F1(\\0)144 228 Q/F2 10 -/Times-Italic@0 SF(nnn)A F0(the eight-bit character whose v)13.22 E +(interprets the follo)3.159 F(wing)-.25 E(escape sequences:)144 168 Q F1 +(\\a)144 180 Q F0(alert \(bell\))28.22 E F1(\\b)144 192 Q F0(backspace) +27.66 E F1(\\c)144 204 Q F0(suppress trailing ne)28.78 E(wline)-.25 E F1 +(\\e)144 216 Q F0(an escape character)28.78 E F1(\\f)144 228 Q F0 +(form feed)29.89 E F1(\\n)144 240 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 +E F1(\\r)144 252 Q F0(carriage return)28.78 E F1(\\t)144 264 Q F0 +(horizontal tab)29.89 E F1(\\v)144 276 Q F0 -.15(ve)28.22 G(rtical tab) +.15 E F1(\\\\)144 288 Q F0(backslash)30.44 E F1(\\0)144 300 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(\\) +144 312 Q F2(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 -(\(zero to three octal digits\))2.5 E F1(\\)144 240 Q F2(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 octal digits\))2.5 E F1(\\x) -144 252 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 268.8 Q F0([)2.5 E F1(\255adnps)A F0 2.5(][)C F1-2.5 E -F2(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .277 -(Enable and disable b)144 280.8 R .278(uiltin shell commands.)-.2 F .278 -(Disabling a b)5.278 F .278(uiltin allo)-.2 F .278 -(ws a disk command which has)-.25 F .834(the same name as a shell b)144 -292.8 R .834(uiltin to be e)-.2 F -.15(xe)-.15 G .834 -(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G 3.333 -(nt).15 G(hough)-3.333 E .989(the shell normally searches for b)144 -304.8 R .989(uiltins before disk commands.)-.2 F(If)5.989 E F1 -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 316.8 R F2(names)4.082 E F0 1.582 -(are enabled.)4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582 -(xample, to use the)-4.232 F F1(test)4.082 E F0 1.582 -(binary found via the)4.082 F/F3 9/Times-Bold@0 SF -.666(PA)4.081 G(TH) --.189 E F0 .08(instead of the shell b)144 328.8 R .08(uiltin v)-.2 F .08 -(ersion, run)-.15 F/F4 10/Courier@0 SF .081(enable -n test)2.58 F F0 -5.081(.T)C(he)-5.081 E F12.581 E F0 .081 -(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 340.8 S 1.525 +(\(one to three octal digits\))2.5 E F1(\\x)144 324 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 340.8 Q F0([)2.5 E +F1(\255adnps)A F0 2.5(][)C F1-2.5 E F2(\214lename)2.5 E F0 2.5(][) +C F2(name)-2.5 E F0(...])2.5 E .277(Enable and disable b)144 352.8 R +.278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278 +(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .834 +(the same name as a shell b)144 364.8 R .834(uiltin to be e)-.2 F -.15 +(xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15 +(ve)-.25 G 3.333(nt).15 G(hough)-3.333 E .989 +(the shell normally searches for b)144 376.8 R .989 +(uiltins before disk commands.)-.2 F(If)5.989 E F13.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 388.8 R F2(names)4.082 E F0 1.582(are enabled.) +4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F +F1(test)4.082 E F0 1.582(binary found via the)4.082 F/F3 9/Times-Bold@0 +SF -.666(PA)4.081 G(TH)-.189 E F0 .08(instead of the shell b)144 400.8 R +.08(uiltin v)-.2 F .08(ersion, run)-.15 F/F4 10/Courier@0 SF .081 +(enable -n test)2.58 F F0 5.081(.T)C(he)-5.081 E F12.581 E F0 .081 +(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 412.8 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 352.8 Q F1 +(ystems that support dynamic loading.)-4.024 F(The)144 424.8 Q F1 2.866 E F0 .366(option will delete a b)2.866 F .366(uiltin pre)-.2 F .366(viously loaded with)-.25 F F12.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 364.8 R F1 +-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)144 436.8 R F1 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 -376.8 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 +448.8 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 (is supplied, only disabled b)2.598 F .099(uiltins are printed.)-.2 F (If)5.099 E F12.599 E F0 1.917 -(is supplied, the list printed includes all b)144 388.8 R 1.916 +(is supplied, the list printed includes all b)144 460.8 R 1.916 (uiltins, with an indication of whether or not each is)-.2 F 2.878 -(enabled. If)144 400.8 R F12.878 E F0 .379 +(enabled. If)144 472.8 R F12.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 .995(is 0 unless a)144 412.8 R F2(name)3.855 E F0 .994 +(alue)-.25 E .995(is 0 unless a)144 484.8 R F2(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 -424.8 Q F1 -2.3 -.15(ev a)108 441.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 -E F0(...])2.5 E(The)144 453.6 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671 +496.8 Q F1 -2.3 -.15(ev a)108 513.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 +E F0(...])2.5 E(The)144 525.6 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671 (re read and concatenated together into a single command.)-3.17 F .671 -(This command is then read)5.671 F .495(and e)144 465.6 R -.15(xe)-.15 G +(This command is then read)5.671 F .495(and e)144 537.6 R -.15(xe)-.15 G .495(cuted by the shell, and its e).15 F .495 (xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15 (ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no) --2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 477.6 Q +-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 549.6 Q (guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1 -(exec)108 494.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 +(exec)108 566.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 (name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments) --.37 E F0(]])A(If)144 506.4 Q F2(command)3.005 E F0 .305 +-.37 E F0(]])A(If)144 578.4 Q F2(command)3.005 E F0 .305 (is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805 (wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F2(ar)3.136 E -(guments)-.37 E F0(become)3.076 E .177(the ar)144 518.4 R .177 +(guments)-.37 E F0(become)3.076 E .177(the ar)144 590.4 R .177 (guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G (he)-2.676 E F12.676 E F0 .176 (option is supplied, the shell places a dash at the be)2.676 F .176 -(ginning of)-.15 F .159(the zeroth ar)144 530.4 R 2.659(gp)-.18 G .159 +(ginning of)-.15 F .159(the zeroth ar)144 602.4 R 2.659(gp)-.18 G .159 (assed to)-2.659 F F2(command)2.659 E F0 5.159(.T).77 G .159 (his is what)-5.159 F F2(lo)2.659 E(gin)-.1 E F0 .159(\(1\) does.).24 F (The)5.16 E F12.66 E F0 .16(option causes)2.66 F F2(command)2.86 E -F0(to)3.43 E 1.196(be e)144 542.4 R -.15(xe)-.15 G 1.196 +F0(to)3.43 E 1.196(be e)144 614.4 R -.15(xe)-.15 G 1.196 (cuted with an empty en).15 F 3.696(vironment. If)-.4 F F13.696 E F0 1.196(is supplied, the shell passes)3.696 F F2(name)4.055 E F0 1.195 -(as the zeroth)3.875 F(ar)144 554.4 Q .02(gument to the e)-.18 F -.15 +(as the zeroth)3.875 F(ar)144 626.4 Q .02(gument to the e)-.18 F -.15 (xe)-.15 G .02(cuted command.).15 F(If)5.02 E F2(command)2.72 E F0 .02 (cannot be e)3.29 F -.15(xe)-.15 G .02 -(cuted for some reason, a non-inter).15 F(-)-.2 E(acti)144 566.4 Q 1.067 +(cuted for some reason, a non-inter).15 F(-)-.2 E(acti)144 638.4 Q 1.067 -.15(ve s)-.25 H .767(hell e).15 F .767(xits, unless the shell option) -.15 F F1(execfail)3.266 E F0 .766 (is enabled, in which case it returns f)3.266 F 3.266(ailure. An)-.1 F -(interacti)144 578.4 Q 1.518 -.15(ve s)-.25 H 1.218(hell returns f).15 F +(interacti)144 650.4 Q 1.518 -.15(ve s)-.25 H 1.218(hell returns f).15 F 1.219(ailure if the \214le cannot be e)-.1 F -.15(xe)-.15 G 3.719 (cuted. If).15 F F2(command)3.919 E F0 1.219(is not speci\214ed, an) -4.489 F(y)-.15 E .134(redirections tak)144 590.4 R 2.634(ee)-.1 G -.25 +4.489 F(y)-.15 E .134(redirections tak)144 662.4 R 2.634(ee)-.1 G -.25 (ff)-2.634 G .134(ect in the current shell, and the return status is 0.) .25 F .134(If there is a redirection error)5.134 F(,)-.4 E -(the return status is 1.)144 602.4 Q F1(exit)108 619.2 Q F0([)2.5 E F2 +(the return status is 1.)144 674.4 Q F1(exit)108 691.2 Q F0([)2.5 E F2 (n)A F0 6.29(]C)C .095(ause the shell to e)-6.29 F .095 (xit with a status of)-.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n) 2.955 E F0 .096(is omitted, the e)2.835 F .096 -(xit status is that of the last command)-.15 F -.15(exe)144 631.2 S 2.5 +(xit status is that of the last command)-.15 F -.15(exe)144 703.2 S 2.5 (cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 -G(cuted before the shell terminates.).15 E F1(export)108 648 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 660 Q F0 .257(The supplied)144 672 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 684 R(the)2.626 E F1 -2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2 -(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2 -(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127(n, or if the) -.15 F F1144 696 Q F0 .66 +G(cuted before the shell terminates.).15 E(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(49)197.335 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(export)108 84 Q F0([)2.5 E F1(\255fn)A F0 +2.5(][).833 G/F2 10/Times-Italic@0 SF(name)-2.5 E F0([=)A F2(wor)A(d) +-.37 E F0(]] ...)A F1(export \255p)108 96 Q F0 .257(The supplied)144 108 +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 120 R(the)2.626 E F1 +2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the) +.15 F F2(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no) +5.127 F F2(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127 +(n, or if the).15 F F1144 132 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 F13.159 E F0 -(option)3.159 E 1.586(causes the e)144 708 R 1.586 +(option)3.159 E 1.586(causes the e)144 144 R 1.586 (xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586 (rom each)-4.086 F F2(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 720 Q F2 +1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 156 Q F2 (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 F2(wor)2.804 E(d)-.37 E F0(.)A F1 (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 -(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(49)197.335 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 .293(option is encountered, one of the)144 84 R/F1 10 -/Times-Italic@0 SF(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 10/Times-Bold@0 SF -2.793 E F0 .294(is supplied with a)2.793 F F1(name)144.36 96 Q F0 -(that is not a function.)2.68 E F2(fc)108 112.8 Q F0([)2.5 E F2A -F1(ename)2.5 E F0 2.5(][)C F2(\255nlr)-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 124.8 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 136.8 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 148.8 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 +(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293 +(option is encountered, one of the)144 168 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 F12.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36 180 +Q F0(that is not a function.)2.68 E F1(fc)108 196.8 Q F0([)2.5 E F1 +A F2(ename)2.5 E F0 2.5(][)C F1(\255nlr)-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 +208.8 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2 +(cmd)-2.5 E F0(])A .478(Fix Command.)144 220.8 R .478 +(In the \214rst form, a range of commands from)5.478 F F2<8c72>4.888 E +(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .477 +(is selected from the his-)3.658 F .881(tory list.)144 232.8 R F2 -.45 +(Fi)5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 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 -160.8 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F +244.8 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 172.8 Q .276(fset from the current command number\).)-.25 F -(If)5.276 E F1(last)2.866 E F0 .277 +.15 F(of)144 256.8 Q .276(fset from the current command number\).)-.25 F +(If)5.276 E F2(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 184.8 R/F3 10/Courier@0 SF .092 +(for listing \(so that)144 268.8 R/F3 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> +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 .092(is not)3.272 F -(speci\214ed it is set to the pre)144 196.8 Q -(vious command for editing and \25516 for listing.)-.25 E(The)144 220.8 -Q F22.522 E F0 .022 +(speci\214ed it is set to the pre)144 280.8 Q +(vious command for editing and \25516 for listing.)-.25 E(The)144 304.8 +Q F12.522 E F0 .022 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E -F22.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 -(rses the order of).15 F .438(the commands.)144 232.8 R .438(If the) -5.438 F F22.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 +F12.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 +(rses the order of).15 F .438(the commands.)144 316.8 R .438(If the) +5.438 F F12.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E -.334(the editor gi)144 244.8 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 +.334(the editor gi)144 328.8 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E +F2(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835 (do).1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 -F(If)5.335 E F1(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G -(n,).15 E .631(the v)144 256.8 R .631(alue of the)-.25 F/F4 9 +F(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G +(n,).15 E .631(the v)144 340.8 R .631(alue of the)-.25 F/F4 9 /Times-Bold@0 SF(FCEDIT)3.131 E F0 -.25(va)2.881 G .631 (riable is used, and the v).25 F .631(alue of)-.25 F F4(EDIT)3.131 E(OR) -.162 E F0(if)2.881 E F4(FCEDIT)3.13 E F0 .63(is not set.)2.88 F .63 -(If nei-)5.63 F .95(ther v)144 268.8 R .95(ariable is set,)-.25 F F1(vi) +(If nei-)5.63 F .95(ther v)144 352.8 R .95(ariable is set,)-.25 F F2(vi) 5.116 E F0 .95(is used.)5.116 F .951 (When editing is complete, the edited commands are echoed and)5.95 F --.15(exe)144 280.8 S(cuted.).15 E .04(In the second form,)144 304.8 R F1 +-.15(exe)144 364.8 S(cuted.).15 E .04(In the second form,)144 388.8 R F2 (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 316.8 R F3 .406(r='fc \255s') +(cuted after each instance of).15 F F2(pat)2.539 E F0 .039 +(is replaced by)2.539 F F2 -.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 400.8 R F3 .406(r='fc \255s') 2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F3 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 F3(cc)144 328.8 Q F0(and typing)2.5 E F3(r)2.5 +.407(ginning with)-.15 F F3(cc)144 412.8 Q F0(and typing)2.5 E F3(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 352.8 R .142 +(If the \214rst form is used, the return v)144 436.8 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 364.8 -R .454(If the)5.454 F F22.954 E F0 .454 +(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 .454(specify history lines out of range.)144 448.8 +R .454(If the)5.454 F F12.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 376.8 R -.15(xe)-.15 G .788 +(alue of the)-.25 F .788(last command e)144 460.8 R -.15(xe)-.15 G .788 (cuted or f).15 F .787 (ailure if an error occurs with the temporary \214le of commands.)-.1 F .787(If the)5.787 F 1.135 (second form is used, the return status is that of the command re-e)144 -388.8 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 400.8 Q -(alid history line, in which case)-.25 E F2(fc)2.5 E F0(returns f)2.5 E -(ailure.)-.1 E F2(fg)108 417.6 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume) -144 429.6 Q F1(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413 +472.8 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F2(cmd)3.836 E F0 1.136 +(does not)4.406 F(specify a v)144 484.8 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 501.6 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume) +144 513.6 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 F1(jobspec)5.653 E F0 -1.413(is not present, the)4.223 F(shell')144 441.6 Q 3.116(sn)-.55 G -.616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)-.37 F F0 .617 +(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 525.6 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 453.6 Q +(alue is that of the command placed into the)-.25 F(fore)144 537.6 Q .363(ground, or f)-.15 F .363 (ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362 -(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 465.6 Q -F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F1(jobspec) +(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 549.6 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 F2(getopts)108 482.4 Q F1 -(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)-.37 E F0(])A F2(getopts)144 -494.4 Q F0 .793 -(is used by shell procedures to parse positional parameters.)3.294 F F1 +(as started without job control.)-.1 F F1(getopts)108 566.4 Q F2 +(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144 +578.4 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 506.4 R .15 +(characters to be recognized; if a character is follo)144 590.4 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 518.4 Q .579 +-.15(ve a)-.2 H(n).15 E(ar)144 602.4 Q .579 (gument, which should be separated from it by white space.)-.18 F .578 (The colon and question mark char)5.579 F(-)-.2 E 1.665 -(acters may not be used as option characters.)144 530.4 R 1.665 -(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F2(getopts) +(acters may not be used as option characters.)144 614.4 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 542.4 R(ariable)-.25 E F1(name)3.297 E F0 -3.297(,i).18 G(nitializing)-3.297 E F1(name)3.657 E F0 .797 +(option in the shell v)144 626.4 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 554.4 Q .085 +3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 638.4 Q .085 (gument to be processed into the v)-.18 F(ariable)-.25 E F4(OPTIND)2.585 E/F5 9/Times-Roman@0 SF(.)A F4(OPTIND)4.585 E F0 .085 (is initialized to 1 each time the shell)2.335 F .846 -(or a shell script is in)144 566.4 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 F2 +(or a shell script is in)144 650.4 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 578.4 R(ariable)-.25 E F4(OPT)3.303 E(ARG)-.81 E F5(.)A +(into the v)144 662.4 R(ariable)-.25 E F4(OPT)3.303 E(ARG)-.81 E F5(.)A F0 .803(The shell does not reset)5.303 F F4(OPTIND)3.303 E F0 .804 (automatically; it must be manually)3.054 F .294 -(reset between multiple calls to)144 590.4 R F2(getopts)2.793 E F0 .293 +(reset between multiple calls to)144 674.4 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 602.4 -Q 2.043(When the end of options is encountered,)144 626.4 R F2(getopts) +2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 686.4 +Q 2.043(When the end of options is encountered,)144 710.4 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 F2(OPTIND)144 638.4 Q F0 +(alue greater than zero.)-.25 F F1(OPTIND)144 722.4 Q F0 (is set to the inde)2.5 E 2.5(xo)-.15 G 2.5(ft)-2.5 G -(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0 -(is set to ?.)2.5 E F2(getopts)144 662.4 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 F1(ar)4.892 E(gs)-.37 E F0(,).27 E F2(getopts)144 -674.4 Q F0(parses those instead.)2.5 E F2(getopts)144 698.4 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 F1(optstring)3.895 E F0 1.166 -(is a colon,)3.886 F F1(silent)4.006 E F0(error)4.346 E 1.264 -(reporting is used.)144 710.4 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 -722.4 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F -(ariable)-.25 E F4(OPTERR)2.894 E F0 .394 -(is set to 0, no error messages)2.644 F(GNU Bash-3.0)72 768 Q -(2004 June 26)147.345 E(50)197.335 E 0 Cg EP +(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0 +(is set to ?.)2.5 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(50) +197.335 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(will be displayed, e)144 84 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft) --2.5 G(he \214rst character of)-2.5 E/F1 10/Times-Italic@0 SF(optstring) -2.73 E F0(is not a colon.)2.72 E .667(If an in)144 108 R -.25(va)-.4 G -.667(lid option is seen,).25 F/F2 10/Times-Bold@0 SF(getopts)3.167 E F0 -.667(places ? into)3.167 F F1(name)3.527 E F0 .666 +-.35 E/F1 10/Times-Bold@0 SF(getopts)144 84 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 10/Times-Italic@0 SF(ar)4.892 E(gs)-.37 E F0(,) +.27 E F1(getopts)144 96 Q F0(parses those instead.)2.5 E F1(getopts)144 +120 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 132 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 144 +R .393(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable) +-.25 E/F3 9/Times-Bold@0 SF(OPTERR)2.894 E F0 .394 +(is set to 0, no error messages)2.644 F(will be displayed, e)144 156 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 180 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 -120 R/F3 9/Times-Bold@0 SF(OPT)2.899 E(ARG)-.81 E/F4 9/Times-Roman@0 SF -(.)A F0(If)4.899 E F2(getopts)2.899 E F0 .399 +192 R F3(OPT)2.899 E(ARG)-.81 E/F4 9/Times-Roman@0 SF(.)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 132 -Q 1.242(If a required ar)144 156 R 1.242(gument is not found, and)-.18 F -F2(getopts)3.741 E F0 1.241(is not silent, a question mark \()3.741 F F2 +E(ARG)-.81 E F0 .4(and no)2.65 F(diagnostic message is printed.)144 204 +Q 1.242(If a required ar)144 228 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 -F1(name)144 168 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 F2 -(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F2(:).833 E -F0(\)).833 E(is placed in)144 180 Q F1(name)2.86 E F0(and)2.68 E F3(OPT) -2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F2 -(getopts)144 204 Q F0 .902 +F2(name)144 240 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 252 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 276 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 216 Q F2(hash)108 232.8 -Q F0([)2.5 E F2(\255lr)A F0 2.5(][)C F2-2.5 E F1(\214lename)2.5 E -F0 2.5(][)C F2(\255dt)-2.5 E F0 2.5(][)C F1(name)-2.5 E F0(])A -.15(Fo) -144 244.8 S 3.554(re).15 G(ach)-3.554 E F1(name)3.554 E F0 3.554(,t).18 +(options is encountered or an error occurs.)144 288 Q F1(hash)108 304.8 +Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1-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 316.8 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 searching t\ -he directories in)-3.554 F F2($P)144 256.8 Q -.95(AT)-.74 G(H).95 E F0 -.35(and remembered.)2.85 F .35(If the)5.35 F F22.85 E F0 .349 -(option is supplied, no path search is performed, and)2.849 F F1 +he directories in)-3.554 F F1($P)144 328.8 Q -.95(AT)-.74 G(H).95 E F0 +.35(and remembered.)2.85 F .35(If the)5.35 F F12.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 268.8 R(The)5.452 E -F22.952 E F0 .452(option causes the shell to for)2.952 F .453 -(get all remem-)-.18 F .593(bered locations.)144 280.8 R(The)5.593 E F2 +(is used as the full \214le name of the command.)144 340.8 R(The)5.452 E +F12.952 E F0 .452(option causes the shell to for)2.952 F .453 +(get all remem-)-.18 F .593(bered locations.)144 352.8 R(The)5.593 E F1 3.093 E F0 .593(option causes the shell to for)3.093 F .592 -(get the remembered location of each)-.18 F F1(name)3.092 E F0(.)A .02 -(If the)144 292.8 R F22.52 E F0 .02 -(option is supplied, the full pathname to which each)2.52 F F1(name) +(get the remembered location of each)-.18 F F2(name)3.092 E F0(.)A .02 +(If the)144 364.8 R F12.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 304.8 Q F1(name)3.704 E F0(ar)3.704 E 1.204 -(guments are supplied with)-.18 F F23.703 E F0 3.703(,t)C(he) --3.703 E F1(name)3.703 E F0 1.203 -(is printed before the hashed full pathname.)3.703 F(The)144 316.8 Q F2 +(ple)144 376.8 Q F2(name)3.704 E F0(ar)3.704 E 1.204 +(guments are supplied with)-.18 F F13.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 388.8 Q F1 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 328.8 R -.15(ve)-.25 G 1.184(n, or if only).15 F -F23.684 E F0 1.183 +1.184(ments are gi)144 400.8 R -.15(ve)-.25 G 1.184(n, or if only).15 F +F13.684 E F0 1.183 (is supplied, information about remembered commands is printed.)3.684 F -(The return status is true unless a)144 340.8 Q F1(name)2.86 E F0 +(The return status is true unless a)144 412.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 F2(help)108 357.6 Q F0([)2.5 E F2A F0 2.5(][)C F1(pattern)-2.5 E -F0(])A .866(Display helpful information about b)144 369.6 R .867 -(uiltin commands.)-.2 F(If)5.867 E F1(pattern)4.617 E F0 .867 -(is speci\214ed,)3.607 F F2(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 G +E F1(help)108 429.6 Q F0([)2.5 E F1A F0 2.5(][)C F2(pattern)-2.5 E +F0(])A .866(Display helpful information about b)144 441.6 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 -381.6 R F1(pattern)2.807 E F0 2.807(;o).24 G .307 +453.6 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 .596(tures is printed.)144 393.6 -R(The)5.596 E F23.096 E F0 .596 +(uiltins and shell control struc-)-.2 F .596(tures is printed.)144 465.6 +R(The)5.596 E F13.096 E F0 .596 (option restricts the information displayed to a short usage synopsis.) 3.096 F(The)5.596 E(return status is 0 unless no command matches)144 -405.6 Q F1(pattern)2.5 E F0(.).24 E F2(history [)108 422.4 Q F1(n)A F2 -(])A(history \255c)108 434.4 Q(history \255d)108 446.4 Q F1(of)2.5 E -(fset)-.18 E F2(history \255anrw)108 458.4 Q F0([)2.5 E F1(\214lename)A -F0(])A F2(history \255p)108 470.4 Q F1(ar)2.5 E(g)-.37 E F0([)2.5 E F1 -(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A F2(history \255s)108 482.4 Q F1(ar) -2.5 E(g)-.37 E F0([)2.5 E F1(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi) -144 494.4 S .752 +477.6 Q F2(pattern)2.5 E F0(.).24 E F1(history [)108 494.4 Q F2(n)A F1 +(])A(history \255c)108 506.4 Q(history \255d)108 518.4 Q F2(of)2.5 E +(fset)-.18 E F1(history \255anrw)108 530.4 Q F0([)2.5 E F2(\214lename)A +F0(])A F1(history \255p)108 542.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2 +(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 554.4 Q F2(ar) +2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi) +144 566.4 S .752 (th no options, display the command history list with line numbers.).4 F -.752(Lines listed with a)5.752 F F2(*)3.251 E F0(ha)3.251 E -.15(ve)-.2 -G 1.23(been modi\214ed.)144 506.4 R 1.23(An ar)6.23 F 1.23(gument of) --.18 F F1(n)4.09 E F0 1.231(lists only the last)3.97 F F1(n)4.091 E F0 -3.731(lines. If)3.971 F 1.231(the shell v)3.731 F(ariable)-.25 E F2 -(HISTTIME-)3.731 E(FORMA)144 518.4 Q(T)-.95 E F0 .25 -(is set and not null, it is used as a format string for)2.75 F F1 +.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 578.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 590.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 530.4 R 5.378(.N)-.65 +(associated with each displayed history entry)144 602.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 542.4 R(If)5.814 E F1 +(ted time stamp and the history line.)144 614.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 554.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0 +(\214le; if not, the v)144 626.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 F2144 566.4 Q F0 -(Clear the history list by deleting all the entries.)25.86 E F2144 -578.4 Q F1(of)2.5 E(fset)-.18 E F0(Delete the history entry at position) -180 590.4 Q F1(of)2.5 E(fset)-.18 E F0(.)A F2144 602.4 Q F0 .598 +(he follo).15 E(wing meanings:)-.25 E F1144 638.4 Q F0 +(Clear the history list by deleting all the entries.)25.86 E F1144 +650.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position) +180 662.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1144 674.4 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 F2(bash)180 614.4 Q F0 -(session\) to the history \214le.)2.5 E F2144 626.4 Q F0 .854(Rea\ +(ginning of the current)-.15 F F1(bash)180 686.4 Q F0 +(session\) to the history \214le.)2.5 E F1144 698.4 Q F0 .854(Rea\ d the history lines not already read from the history \214le into the c\ urrent history list.)24.74 F .772 -(These are lines appended to the history \214le since the be)180 638.4 R -.773(ginning of the current)-.15 F F2(bash)3.273 E F0(ses-)3.273 E -(sion.)180 650.4 Q F2144 662.4 Q F0(Read the contents of the hist\ -ory \214le and use them as the current history)25.86 E(.)-.65 E F2 -144 674.4 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 F2144 686.4 Q F0 .626 -(Perform history substitution on the follo)24.74 F(wing)-.25 E F1(ar) -3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F -2.975(output. Does)180 698.4 R .475 -(not store the results in the history list.)2.975 F(Each)5.475 E F1(ar) -2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F -(normal history e)180 710.4 Q(xpansion.)-.15 E(GNU Bash-3.0)72 768 Q -(2004 June 26)147.345 E(51)197.335 E 0 Cg EP +(These are lines appended to the history \214le since the be)180 710.4 R +.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E +(sion.)180 722.4 Q(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(51) +197.335 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 SF144 84 Q F0 .363(Store the)26.41 F/F2 -10/Times-Italic@0 SF(ar)3.193 E(gs)-.37 E F0 .363 +-.35 E/F1 10/Times-Bold@0 SF144 84 Q F0(Read the contents of the \ +history \214le and use them as the current history)25.86 E(.)-.65 E F1 +144 96 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 F1144 108 Q F0 .626 +(Perform history substitution on the follo)24.74 F(wing)-.25 E/F2 10 +/Times-Italic@0 SF(ar)3.125 E(gs)-.37 E F0 .625 +(and display the result on the standard)3.125 F 2.975(output. Does)180 +120 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 132 Q(xpansion.)-.15 E F1144 144 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 96 Q -.15(ve) +(he last command in the history list is)-5.363 F(remo)180 156 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 112.8 R F1(HISTTIMEFORMA)2.78 E(T)-.95 +(are added.)2.77 E .28(If the)144 172.8 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 .216(is written to the history \214le.)144 124.8 R .216 +2.78 F .216(is written to the history \214le.)144 184.8 R .216 (The return v)5.216 F .216(alue is 0 unless an in)-.25 F -.25(va)-.4 G .216(lid option is encountered, an error).25 F .422 -(occurs while reading or writing the history \214le, an in)144 136.8 R +(occurs while reading or writing the history \214le, an in)144 196.8 R -.25(va)-.4 G(lid).25 E F2(of)2.922 E(fset)-.18 E F0 .422 (is supplied as an ar)2.922 F .422(gument to)-.18 F F12.922 E F0 -(,)A(or the history e)144 148.8 Q(xpansion supplied as an ar)-.15 E +(,)A(or the history e)144 208.8 Q(xpansion supplied as an ar)-.15 E (gument to)-.18 E F12.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108 -165.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5 -E F1(jobs \255x)108 177.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 189.6 Q .3 +225.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5 +E F1(jobs \255x)108 237.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 249.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 F1144 201.6 Q F0 +(he follo).15 E(wing meanings:)-.25 E F1144 261.6 Q F0 (List process IDs in addition to the normal information.)27.52 E F1 -144 213.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 F1144 225.6 Q F0 +144 273.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 F1144 285.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 237.6 Q F1144 249.6 Q F0 -(Restrict output to running jobs.)25.86 E F1144 261.6 Q F0 -(Restrict output to stopped jobs.)26.41 E(If)144 278.4 Q F2(jobspec) +(\214ed of their status.)180 297.6 Q F1144 309.6 Q F0 +(Restrict output to running jobs.)25.86 E F1144 321.6 Q F0 +(Restrict output to stopped jobs.)26.41 E(If)144 338.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 290.4 Q -.25 +-.4 G .314(he return status is 0 unless)-5.314 F(an in)144 350.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 .395(If the)144 307.2 R F1 +E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 367.2 R F1 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 .394 -(with the corre-)3.164 F(sponding process group ID, and e)144 319.2 Q +(with the corre-)3.164 F(sponding process group ID, and e)144 379.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 336 Q F0([)2.5 E F1A F2(sigspec)2.5 E F0(|)2.5 E F1 +F1(kill)108 396 Q F0([)2.5 E F1A F2(sigspec)2.5 E F0(|)2.5 E F1 2.5 E F2(signum)2.5 E F0(|)2.5 E F12.5 E F2(sigspec)A F0 2.5 (][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1 -(kill \255l)108 348 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 360 R F2 +(kill \255l)108 408 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 420 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 372 R .619 -.15(ve s)-.25 H .319 +(either a case-insensiti)144 432 R .619 -.15(ve s)-.25 H .319 (ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.819 E F0 .318 (\(with or without the)2.569 F F3(SIG)2.818 E F0 .318 -(pre\214x\) or a signal)2.568 F(number;)144 384 Q F2(signum)4.188 E F0 +(pre\214x\) or a signal)2.568 F(number;)144 444 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 396 Q .523(gument of)-.18 F +1.349(is assumed.)3.599 F(An)6.349 E(ar)144 456 Q .523(gument of)-.18 F F13.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 F13.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 408 R .28 +.15 F .28(of the signals corresponding to the ar)144 468 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 420 Q .378(gument to)-.18 F F1 +-.2(ex)2.78 G(it_status).2 E F0(ar)144 480 Q .378(gument to)-.18 F F1 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 432 R +(xit status of a process termi-)-.15 F .593(nated by a signal.)144 492 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 .594(alse if an error)-.1 F -(occurs or an in)144 444 Q -.25(va)-.4 G(lid option is encountered.).25 -E F1(let)108 460.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 472.8 Q F2(ar)3.965 E(g)-.37 E F0 1.135 +(occurs or an in)144 504 Q -.25(va)-.4 G(lid option is encountered.).25 +E F1(let)108 520.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 532.8 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 484.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G +5.634 F(last)144 544.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 501.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 513.6 S +2.5 E F1(local)108 561.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 573.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 525.6 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653 +.06(can be)2.56 F(an)144 585.6 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 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144 -537.6 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861 +597.6 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 549.6 Q F0 1.165 +(Wi)5.861 G .861(th no operands,).4 F F1(local)144 609.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.664 E F0 1.164(when not)3.664 F .232 -(within a function.)144 561.6 R .233(The return status is 0 unless)5.232 +(within a function.)144 621.6 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 -.25(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144 -573.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1 -(logout)108 590.4 Q F0(Exit a login shell.)9.33 E F1(popd)108 607.2 Q F0 +633.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1 +(logout)108 650.4 Q F0(Exit a login shell.)9.33 E F1(popd)108 667.2 Q F0 <5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C-2.5 E F2 -(n)A F0(])A(Remo)144 619.2 Q -.15(ve)-.15 G 2.8(se).15 G .3 +(n)A F0(])A(Remo)144 679.2 Q -.15(ve)-.15 G 2.8(se).15 G .3 (ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G .299 (he top directory from the)-2.799 F 1.478(stack, and performs a)144 -631.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479 +691.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479 (op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479 (uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15 -F(wing)-.25 E(meanings:)144 643.2 Q F1(+)144 655.2 Q F2(n)A F0(Remo)25.3 +F(wing)-.25 E(meanings:)144 703.2 Q F1(+)144 715.2 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 .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 -667.2 S 2.5(re).15 G(xample:)-2.65 E/F5 10/Courier@0 SF(popd +0)2.5 E F0 +727.2 S 2.5(re).15 G(xample:)-2.65 E/F5 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 F1144 679.2 Q F2(n)A F0 -(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F2(n)3.759 E F0 -1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25 -F F1(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180 -691.2 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 F1144 703.2 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 715.2 Q(GNU Bash-3.0)72 768 Q +-.65 E F5(popd +1)2.5 E F0(the second.)2.5 E(GNU Bash-3.0)72 768 Q (2004 June 26)147.345 E(52)197.335 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 .643(If the)144 84 R/F1 10/Times-Bold@0 SF(popd)3.143 E F0 .643 -(command is successful, a)3.143 F F1(dirs)3.143 E F0 .644 -(is performed as well, and the return status is 0.)3.143 F F1(popd)5.644 -E F0 .416(returns f)144 96 R .416(alse if an in)-.1 F -.25(va)-.4 G .415 +-.35 E/F1 10/Times-Bold@0 SF144 84 Q/F2 10/Times-Italic@0 SF(n)A F0 +(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F2(n)3.759 E F0 +1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25 +F F1(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180 +96 R(or e)-.15 E(xample:)-.15 E/F3 10/Courier@0 SF(popd -0)2.5 E F0 +(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 +E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E F1144 108 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 120 Q .643(If the)144 136.8 R +F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1(dirs)3.143 E +F0 .644(is performed as well, and the return status is 0.)3.143 F F1 +(popd)5.644 E F0 .416(returns f)144 148.8 R .416(alse if an in)-.1 F +-.25(va)-.4 G .415 (lid option is encountered, the directory stack is empty).25 F 2.915 (,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F -(tory stack entry is speci\214ed, or the directory change f)144 108 Q -(ails.)-.1 E F1(printf)108 124.8 Q/F2 10/Times-Italic@0 SF(format)2.5 E -F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .372(Write the formatted)144 -136.8 R F2(ar)2.872 E(guments)-.37 E F0 .372 +(tory stack entry is speci\214ed, or the directory change f)144 160.8 Q +(ails.)-.1 E F1(printf)108 177.6 Q F2(format)2.5 E F0([)2.5 E F2(ar)A +(guments)-.37 E F0(])A .372(Write the formatted)144 189.6 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 148.8 R .158 +e simply)144 201.6 R .158 (copied to standard output, character escape sequences, which are con) -144 160.8 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(\ +144 213.6 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 172.8 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar) -3.149 E(gu-)-.37 E(ment)144 184.8 Q F0 5.423(.I)C 2.923(na)-5.423 G .423 + of the ne)144 225.6 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar) +3.149 E(gu-)-.37 E(ment)144 237.6 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 .934 -(sequences in the corresponding)144 196.8 R F2(ar)3.434 E(gument)-.37 E +(sequences in the corresponding)144 249.6 R F2(ar)3.434 E(gument)-.37 E F0(\(e)3.434 E .934(xcept that)-.15 F F1(\\c)3.434 E F0 .934 (terminates output, backslashes in)3.434 F F1(\\')3.433 E F0(,)A F1(\\") -3.433 E F0(,)A(and)144 208.8 Q F1(\\?)3.421 E F0 .921(are not remo)3.421 +3.433 E F0(,)A(and)144 261.6 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 220.8 Q F0(causes)3.631 E F1(printf)3.631 E F0 1.131 +F F1(%q)144 273.6 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 232.8 Q(The) -144 256.8 Q F2(format)3.423 E F0 .923 +(in a format that can be reused as shell)3.631 F(input.)144 285.6 Q(The) +144 309.6 Q F2(format)3.423 E F0 .923 (is reused as necessary to consume all of the)3.423 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 .924(requires more)3.424 F F2(ar)144 268.8 Q(guments)-.37 E +3.423 E F0 .924(requires more)3.424 F F2(ar)144 321.6 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 .033(alue or null string,) --.25 F(as appropriate, had been supplied.)144 280.8 Q(The return v)5 E +-.25 F(as appropriate, had been supplied.)144 333.6 Q(The return v)5 E (alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd) -108 297.6 Q F0([)2.5 E F1A F0 2.5(][)C F2(dir)-2.5 E F0(])A F1 -(pushd)108 309.6 Q F0([)2.5 E F1A F0 2.5(][)C(+)-2.5 E F2(n)A F0 +108 350.4 Q F0([)2.5 E F1A F0 2.5(][)C F2(dir)-2.5 E F0(])A F1 +(pushd)108 362.4 Q F0([)2.5 E F1A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C-2.5 E F2(n)A F0(])A .639(Adds a directory to the top of th\ -e directory stack, or rotates the stack, making the ne)144 321.6 R 3.14 -(wt)-.25 G .64(op of the)-3.14 F 1.316(stack the current w)144 333.6 R +e directory stack, or rotates the stack, making the ne)144 374.4 R 3.14 +(wt)-.25 G .64(op of the)-3.14 F 1.316(stack the current w)144 386.4 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 345.6 R 5.871(.A) +(returns 0, unless the directory stack is empty)144 398.4 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 357.6 Q -F1(+)144 369.6 Q F2(n)A F0 1.268(Rotates the stack so that the)25.3 F F2 +(ve t)-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144 410.4 Q +F1(+)144 422.4 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 381.6 Q F0 2.5(,s)C -(tarting with zero\) is at the top.)-2.5 E F1144 393.6 Q F2(n)A F0 +-.25 F F1(dirs)180 434.4 Q F0 2.5(,s)C +(tarting with zero\) is at the top.)-2.5 E F1144 446.4 Q F2(n)A F0 .92(Rotates the stack so that the)25.3 F F2(n)3.42 E F0 .92 (th directory \(counting from the right of the list sho)B .92(wn by)-.25 -F F1(dirs)180 405.6 Q F0 2.5(,s)C(tarting with zero\) is at the top.) --2.5 E F1144 417.6 Q F0 .902(Suppresses the normal change of dire\ +F F1(dirs)180 458.4 Q F0 2.5(,s)C(tarting with zero\) is at the top.) +-2.5 E F1144 470.4 Q F0 .902(Suppresses the normal change of dire\ ctory when adding directories to the stack, so that)24.74 F -(only the stack is manipulated.)180 429.6 Q F2(dir)144.35 441.6 Q F0 +(only the stack is manipulated.)180 482.4 Q F2(dir)144.35 494.4 Q F0 (Adds)23.98 E F2(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 .488(If the)144 458.4 +G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 511.2 R F1(pushd)2.988 E F0 .488(command is successful, a)2.988 F F1(dirs) 2.988 E F0 .488(is performed as well.)2.988 F .489 (If the \214rst form is used,)5.488 F F1(pushd)2.989 E F0 1.04 -(returns 0 unless the cd to)144 470.4 R F2(dir)3.89 E F0 -.1(fa)4.27 G +(returns 0 unless the cd to)144 523.2 R F2(dir)3.89 E F0 -.1(fa)4.27 G 3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144 -482.4 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack ele\ +535.2 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 494.4 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E -(ails.)-.1 E F1(pwd)108 511.2 Q F0([)2.5 E F1(\255LP)A F0(])A .845 -(Print the absolute pathname of the current w)144 523.2 R .845 +(speci\214ed ne)144 547.2 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E +(ails.)-.1 E F1(pwd)108 564 Q F0([)2.5 E F1(\255LP)A F0(])A .845 +(Print the absolute pathname of the current w)144 576 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 -535.2 R F12.681 E F0 .181(option is supplied or the)2.681 F F1 -.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1 -(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264 -(enabled. If)144 547.2 R(the)3.264 E F13.264 E F0 .763 +588 R F12.681 E F0 .181(option is supplied or the)2.681 F F1 .181 +(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1(set) +2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264(enabled. If) +144 600 R(the)3.264 E F13.264 E F0 .763 (option is used, the pathname printed may contain symbolic links.)3.264 F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\ - reading the name of the current directory or an in)144 559.2 R -.25(va) --.4 G(lid).25 E(option is supplied.)144 571.2 Q F1 -.18(re)108 588 S(ad) + reading the name of the current directory or an in)144 612 R -.25(va) +-.4 G(lid).25 E(option is supplied.)144 624 Q F1 -.18(re)108 640.8 S(ad) .18 E F0([)2.5 E F1(\255ers)A F0 2.5(][)C F1-2.5 E F2(fd)2.5 E F0 2.5(][)C F1-2.5 E F2(timeout)2.5 E F0 2.5(][)C F1-2.5 E F2 (aname)2.5 E F0 2.5(][)C F1-2.5 E F2(pr)2.5 E(ompt)-.45 E F0 2.5 (][)C F1-2.5 E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0 2.5(][)C F1 -2.5 E F2(delim)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .516(One\ line is read from the standard input, or from the \214le descriptor)144 -600 R F2(fd)3.016 E F0 .516(supplied as an ar)3.016 F .516(gument to) --.18 F(the)144 612 Q F12.538 E F0 .038(option, and the \214rst w) -2.538 F .038(ord is assigned to the \214rst)-.1 F F2(name)2.539 E F0 -2.539(,t).18 G .039(he second w)-2.539 F .039(ord to the second)-.1 F F2 -(name)2.539 E F0(,).18 E .42(and so on, with lefto)144 624 R -.15(ve) --.15 G 2.92(rw).15 G .42(ords and their interv)-3.02 F .42 +652.8 R F2(fd)3.016 E F0 .516(supplied as an ar)3.016 F .516(gument to) +-.18 F(the)144 664.8 Q F12.538 E F0 .038 +(option, and the \214rst w)2.538 F .038(ord is assigned to the \214rst) +-.1 F F2(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039 +(ord to the second)-.1 F F2(name)2.539 E F0(,).18 E .42 +(and so on, with lefto)144 676.8 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 .54(are fe)144 636 R .54(wer w)-.25 F -.541(ords read from the input stream than names, the remaining names ar\ -e assigned empty)-.1 F -.25(va)144 648 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 +.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 688.8 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 700.8 S 2.511(lues. The).25 F .011 +(characters in)2.511 F/F4 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.51(\)m)C(ay)-2.51 E 1.89 -(be used to remo)144 660 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H +(be used to remo)144 712.8 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 672 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 684 Q F2(aname)2.5 E F0 1.05(The w) -180 696 R 1.049(ords are assigned to sequential indices of the array v) --.1 F(ariable)-.25 E F2(aname)3.549 E F0 3.549(,s).18 G 1.049 -(tarting at 0.)-3.549 F F2(aname)180.33 708 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(GNU Bash-3.0)72 -768 Q(2004 June 26)147.345 E(53)197.335 E 0 Cg EP +(Options, if supplied, ha)144 724.8 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(53) +197.335 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 SF144 84 Q/F2 10/Times-Italic@0 SF -(delim)2.5 E F0(The \214rst character of)180 96 Q F2(delim)2.5 E F0 +-.35 E/F1 10/Times-Bold@0 SF144 84 Q/F2 10/Times-Italic@0 SF +(aname)2.5 E F0 1.05(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.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 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 F1144 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 -F1144 108 Q F0 .372 +F1144 144 Q F0 .372 (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.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(to obtain the line.)180 120 Q F1144 132 Q F2(nc)2.5 -E(har)-.15 E(s)-.1 E F1 -.18(re)180 144 S(ad).18 E F0 1.395 +(sed)-2.873 E(to obtain the line.)180 156 Q F1144 168 Q F2(nc)2.5 +E(har)-.15 E(s)-.1 E F1 -.18(re)180 180 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.)180 156 Q F1144 168 Q F2(pr)2.5 E(ompt)-.45 E F0 -(Display)180 180 Q F2(pr)3.66 E(ompt)-.45 E F0 1.161(on standard error) +-.1 F(input.)180 192 Q F1144 204 Q F2(pr)2.5 E(ompt)-.45 E F0 +(Display)180 216 Q F2(pr)3.66 E(ompt)-.45 E F0 1.161(on standard error) 3.66 F 3.661(,w)-.4 G 1.161(ithout a trailing ne)-3.661 F 1.161 -(wline, before attempting to read)-.25 F(an)180 192 Q 2.5(yi)-.15 G 2.5 +(wline, before attempting to read)-.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 -144 204 Q F0 .544(Backslash does not act as an escape character) +144 240 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 216 Q(In particular)5 E 2.5(,ab)-.4 G +-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 F1144 228 Q F0(Silent mode.)26.41 E +-.25 E F1144 264 Q F0(Silent mode.)26.41 E (If input is coming from a terminal, characters are not echoed.)5 E F1 -144 240 Q F2(timeout)2.5 E F0(Cause)180 252 Q F1 -.18(re)3.548 G +144 276 Q F2(timeout)2.5 E F0(Cause)180 288 Q F1 -.18(re)3.548 G (ad).18 E F0 1.048(to time out and return f)3.548 F 1.048 (ailure if a complete line of input is not read within)-.1 F F2(timeout) -180 264 Q F0 2.92(seconds. This)2.92 F .42(option has no ef)2.92 F .42 +180 300 Q F0 2.92(seconds. This)2.92 F .42(option has no ef)2.92 F .42 (fect if)-.25 F F1 -.18(re)2.92 G(ad).18 E F0 .42 -(is not reading input from the terminal)2.92 F(or a pipe.)180 276 Q F1 -144 288 Q F2(fd)2.5 E/F4 10/Palatino-Roman@0 SF(Read input fr) +(is not reading input from the terminal)2.92 F(or a pipe.)180 312 Q F1 +144 324 Q F2(fd)2.5 E/F4 10/Palatino-Roman@0 SF(Read input fr) 14.46 E(om \214le descriptor)-.18 E/F5 10/Palatino-Italic@0 SF(fd)2.5 E -F4(.)A .335(If no)144 304.8 R F5(names)3.095 E F4(ar)2.895 E 2.835(es) +F4(.)A .335(If no)144 340.8 R F5(names)3.095 E F4(ar)2.895 E 2.835(es) -.18 G .335(upplied, the line r)-2.835 F .336 (ead is assigned to the variable)-.18 F/F6 9/Palatino-Bold@0 SF(REPL) 2.836 E(Y)-.828 E/F7 9/Palatino-Roman@0 SF(.)A F4 .336(The r)4.836 F -.336(eturn code)-.18 F 1.058(is zer)144 316.8 R 1.058 +.336(eturn code)-.18 F 1.058(is zer)144 352.8 R 1.058 (o, unless end-of-\214le is encounter)-.18 F(ed,)-.18 E/F8 10 /Palatino-Bold@0 SF(read)3.558 E F4 1.058 (times out, or an invalid \214le descriptor is)3.558 F -(supplied as the ar)144 328.8 Q(gument to)-.18 E F82.5 E F4(.)A F8 -(readonly)108 345.6 Q F4([)2.5 E F8(\255apf)A F4 2.5(][)C F5(name)-2.5 E -F4([=)A F5(word)A F4 2.5(].)C(..])-2.5 E .587(The given)144 357.6 R F5 +(supplied as the ar)144 364.8 Q(gument to)-.18 E F82.5 E F4(.)A F8 +(readonly)108 381.6 Q F4([)2.5 E F8(\255apf)A F4 2.5(][)C F5(name)-2.5 E +F4([=)A F5(word)A F4 2.5(].)C(..])-2.5 E .587(The given)144 393.6 R F5 (names)3.087 E F4(ar)3.087 E 3.087(em)-.18 G .587(arked r)-3.087 F .587 (eadonly; the values of these)-.18 F F5(names)3.347 E F4 .588 -(may not be changed by)3.148 F .833(subsequent assignment.)144 369.6 R +(may not be changed by)3.148 F .833(subsequent assignment.)144 405.6 R .833(If the)5.833 F F83.333 E F4 .832 (option is supplied, the functions corr)3.333 F .832(esponding to the) --.18 F F5(names)144 381.6 Q F4(ar)3.809 E 3.809(es)-.18 G 3.809(om) +-.18 F F5(names)144 417.6 Q F4(ar)3.809 E 3.809(es)-.18 G 3.809(om) -3.809 G 3.809(arked. The)-3.809 F F83.809 E F4 1.309(option r) 3.809 F 1.309(estricts the variables to arrays.)-.18 F 1.31(If no)6.31 F -F5(name)4.07 E F4(ar)4.16 E(gu-)-.18 E 1.058(ments ar)144 393.6 R 3.557 +F5(name)4.07 E F4(ar)4.16 E(gu-)-.18 E 1.058(ments ar)144 429.6 R 3.557 (eg)-.18 G 1.057(iven, or if the)-3.557 F F83.557 E F4 1.057 (option is supplied, a list of all r)3.557 F 1.057 -(eadonly names is printed.)-.18 F(The)144 405.6 Q F82.577 E F4 +(eadonly names is printed.)-.18 F(The)144 441.6 Q F82.577 E F4 .077(option causes output to be displayed in a format that may be r) 2.577 F .078(eused as input.)-.18 F .078(If a)5.078 F .903 -(variable name is followed by =)144 417.6 R F5(word)A F4 3.403(,t)C .902 +(variable name is followed by =)144 453.6 R F5(word)A F4 3.403(,t)C .902 (he value of the variable is set to)-3.403 F F5(word)3.402 E F4 5.902 (.T)C .902(he r)-5.902 F(eturn)-.18 E .997 -(status is 0 unless an invalid option is encounter)144 429.6 R .998 +(status is 0 unless an invalid option is encounter)144 465.6 R .998 (ed, one of the)-.18 F F5(names)3.758 E F4 .998(is not a valid shell) -3.558 F(variable name, or)144 441.6 Q F82.5 E F4 +3.558 F(variable name, or)144 477.6 Q F82.5 E F4 (is supplied with a)2.5 E F5(name)2.76 E F4(that is not a function.)2.85 -E F8(return)108 458.4 Q F4([)2.5 E F5(n)A F4(])A .563 -(Causes a function to exit with the r)144 470.4 R .563 +E F8(return)108 494.4 Q F4([)2.5 E F5(n)A F4(])A .563 +(Causes a function to exit with the r)144 506.4 R .563 (eturn value speci\214ed by)-.18 F F5(n)3.063 E F4 5.563(.I).08 G(f) -5.563 E F5(n)3.323 E F4 .563(is omitted, the r)3.143 F(eturn)-.18 E .544(status is that of the last command executed in the function body) -144 482.4 R 5.545(.I)-1.11 G 3.045(fu)-5.545 G .545(sed outside a func-) --3.045 F 1.148(tion, but during execution of a script by the)144 494.4 R +144 518.4 R 5.545(.I)-1.11 G 3.045(fu)-5.545 G .545(sed outside a func-) +-3.045 F 1.148(tion, but during execution of a script by the)144 530.4 R F8(.)3.648 E F4(\()6.148 E F8(source)A F4 3.648(\)c)C 1.148 (ommand, it causes the shell to)-3.648 F .63 -(stop executing that script and r)144 506.4 R .63(eturn either)-.18 F F5 +(stop executing that script and r)144 542.4 R .63(eturn either)-.18 F F5 (n)3.391 E F4 .631(or the exit status of the last command exe-)3.211 F -.541(cuted within the script as the exit status of the script.)144 518.4 +.541(cuted within the script as the exit status of the script.)144 554.4 R .54(If used outside a function and not)5.54 F .037 -(during execution of a script by)144 530.4 R F8(.)2.538 E F4 2.538(,t) +(during execution of a script by)144 566.4 R F8(.)2.538 E F4 2.538(,t) .833 G .038(he r)-2.538 F .038(eturn status is false.)-.18 F .038 -(Any command associated with)5.038 F(the)144 542.4 Q F8(RETURN)2.5 E F4 +(Any command associated with)5.038 F(the)144 578.4 Q F8(RETURN)2.5 E F4 (trap is executed befor)2.5 E 2.5(ee)-.18 G(xecution r)-2.5 E -(esumes after the function or script.)-.18 E F8(set)108 559.2 Q F4([)2.5 +(esumes after the function or script.)-.18 E F8(set)108 595.2 Q F4([)2.5 E F8(\255\255abefhkmnptuvxBCHP)A F4 2.5(][)C F8-2.5 E F5(option) -2.5 E F4 2.5(][)C F5(ar)-2.5 E(g)-.18 E F4(...])2.5 E -.55(Wi)144 571.2 +2.5 E F4 2.5(][)C F5(ar)-2.5 E(g)-.18 E F4(...])2.5 E -.55(Wi)144 607.2 S .246(thout options, the name and value of each shell variable ar).55 F 2.745(ed)-.18 G .245(isplayed in a format that)-2.745 F 2.183(can be r) -144 583.2 R 2.183(eused as input.)-.18 F 2.184 +144 619.2 R 2.183(eused as input.)-.18 F 2.184 (The output is sorted accor)7.183 F 2.184(ding to the curr)-.18 F 2.184 -(ent locale.)-.18 F(When)7.184 E 1.006(options ar)144 595.2 R 3.506(es) +(ent locale.)-.18 F(When)7.184 E 1.006(options ar)144 631.2 R 3.506(es) -.18 G 1.006(peci\214ed, they set or unset shell attributes.)-3.506 F 1.006(Any ar)6.006 F 1.005(guments r)-.18 F 1.005(emaining after)-.18 F -1.981(the options ar)144 607.2 R 4.481(ep)-.18 G -.18(ro)-4.481 G 1.981 +1.981(the options ar)144 643.2 R 4.481(ep)-.18 G -.18(ro)-4.481 G 1.981 (cessed ar).18 F 4.481(et)-.18 G -.18(re)-4.481 G 1.982 (ated as values for the positional parameters and ar).18 F(e)-.18 E -(assigned, in or)144 619.2 Q(der)-.18 E 2.5(,t)-.74 G(o)-2.5 E F8($1)2.5 +(assigned, in or)144 655.2 Q(der)-.18 E 2.5(,t)-.74 G(o)-2.5 E F8($1)2.5 E F4(,)A F8($2)2.5 E F4(,)A F8 2.5(... $)2.5 F F5(n)A F4 5(.O)C (ptions, if speci\214ed, have the following meanings:)-5 E F8144 -631.2 Q F4 1.063(Automatically mark variables and functions which ar) +667.2 Q F4 1.063(Automatically mark variables and functions which ar) 28.94 F 3.563(em)-.18 G 1.063(odi\214ed or cr)-3.563 F 1.063(eated for) --.18 F(export to the envir)184 643.2 Q(onment of subsequent commands.) --.18 E F8144 655.2 Q F4 .096 +-.18 F(export to the envir)184 679.2 Q(onment of subsequent commands.) +-.18 E F8144 691.2 Q F4 .096 (Report the status of terminated backgr)27.83 F .096 (ound jobs immediately)-.18 F 2.596(,r)-1.11 G .096(ather than befor) --2.596 F(e)-.18 E(the next primary pr)184 667.2 Q 2.5(ompt. This)-.18 F +-2.596 F(e)-.18 E(the next primary pr)184 703.2 Q 2.5(ompt. This)-.18 F (is ef)2.5 E(fective only when job contr)-.18 E(ol is enabled.)-.18 E F8 -144 679.2 Q F4 .179(Exit immediately if a)28.94 F F5 .178 +144 715.2 Q F4 .179(Exit immediately if a)28.94 F F5 .178 (simple command)2.679 F F4(\(see)2.678 E F6 .178(SHELL GRAMMAR)2.678 F -F4 .178(above\) exits with a)2.428 F(non-zer)184 691.2 Q 3.232(os)-.18 G +F4 .178(above\) exits with a)2.428 F(non-zer)184 727.2 Q 3.232(os)-.18 G 3.232(tatus. The)-3.232 F .733 -(shell does not exit if the command that fails is part of the)3.232 F -.696(command list immediately following a)184 703.2 R F8(while)3.196 E -F4(or)3.196 E F8(until)3.196 E F4(keywor)3.196 E .696 -(d, part of the test)-.18 F .98(in an)184 715.2 R F5(if)3.64 E F4 .98 -(statement, part of a)5.33 F F8(&&)3.48 E F4(or)3.481 E/F9 10/Symbol SF -3.481 E F4 .981(list, or if the command's r)3.481 F .981 -(eturn value is)-.18 F(being inverted via)184 727.2 Q F8(!)2.5 E F4 5 -(.A)C(trap on)-2.5 E F8(ERR)2.5 E F4 2.5(,i)C 2.5(fs)-2.5 G -(et, is executed befor)-2.5 E 2.5(et)-.18 G(he shell exits.)-2.5 E F0 +(shell does not exit if the command that fails is part of the)3.232 F F0 (GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(54)197.335 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/F1 10/Palatino-Bold@0 SF144 84 Q/F2 10/Palatino-Roman@0 SF -(Disable pathname expansion.)30.05 E F1144 96 Q F2 .592 -(Remember the location of commands as they ar)27.83 F 3.092(el)-.18 G -.591(ooked up for execution.)-3.092 F(This)5.591 E -(is enabled by default.)184 108 Q F1144 120 Q F2 .934(All ar)27.83 +-.35 E/F1 10/Palatino-Roman@0 SF .696 +(command list immediately following a)184 84 R/F2 10/Palatino-Bold@0 SF +(while)3.196 E F1(or)3.196 E F2(until)3.196 E F1(keywor)3.196 E .696 +(d, part of the test)-.18 F .98(in an)184 96 R/F3 10/Palatino-Italic@0 +SF(if)3.64 E F1 .98(statement, part of a)5.33 F F2(&&)3.48 E F1(or)3.481 +E/F4 10/Symbol SF3.481 E F1 .981(list, or if the command's r)3.481 +F .981(eturn value is)-.18 F(being inverted via)184 108 Q F2(!)2.5 E F1 +5(.A)C(trap on)-2.5 E F2(ERR)2.5 E F1 2.5(,i)C 2.5(fs)-2.5 G +(et, is executed befor)-2.5 E 2.5(et)-.18 G(he shell exits.)-2.5 E F2 +144 120 Q F1(Disable pathname expansion.)30.05 E F2144 132 Q +F1 .592(Remember the location of commands as they ar)27.83 F 3.092(el) +-.18 G .591(ooked up for execution.)-3.092 F(This)5.591 E +(is enabled by default.)184 144 Q F2144 156 Q F1 .934(All ar)27.83 F .934(guments in the form of assignment statements ar)-.18 F 3.434(ep) -.18 G .935(laced in the envir)-3.434 F(on-)-.18 E -(ment for a command, not just those that pr)184 132 Q -(ecede the command name.)-.18 E F1144 144 Q F2 .711(Monitor mode.) +(ment for a command, not just those that pr)184 168 Q +(ecede the command name.)-.18 E F2144 180 Q F1 .711(Monitor mode.) 25.05 F .711(Job contr)5.711 F .711(ol is enabled.)-.18 F .711 (This option is on by default for interac-)5.711 F 1.164 -(tive shells on systems that support it \(see)184 156 R/F3 9 -/Palatino-Bold@0 SF 1.165(JOB CONTROL)3.665 F F2 3.665(above\). Backgr) -3.415 F(ound)-.18 E(pr)184 168 Q .54(ocesses r)-.18 F .54 +(tive shells on systems that support it \(see)184 192 R/F5 9 +/Palatino-Bold@0 SF 1.165(JOB CONTROL)3.665 F F1 3.665(above\). Backgr) +3.415 F(ound)-.18 E(pr)184 204 Q .54(ocesses r)-.18 F .54 (un in a separate pr)-.08 F .539(ocess gr)-.18 F .539 (oup and a line containing their exit status)-.18 F -(is printed upon their completion.)184 180 Q F1144 192 Q F2 1.313 +(is printed upon their completion.)184 216 Q F2144 228 Q F1 1.313 (Read commands but do not execute them.)27.83 F 1.313 -(This may be used to check a shell)6.313 F(script for syntax err)184 204 +(This may be used to check a shell)6.313 F(script for syntax err)184 240 Q 2.5(ors. This)-.18 F(is ignor)2.5 E(ed by interactive shells.)-.18 E -F1144 216 Q/F4 10/Palatino-Italic@0 SF(option\255name)2.5 E F2 -(The)184 228 Q F4(option\255name)2.5 E F2(can be one of the following:) -2.5 E F1(allexport)184 240 Q F2(Same as)224 252 Q F12.5 E F2(.)A -F1(braceexpand)184 264 Q F2(Same as)224 276 Q F12.5 E F2(.)A F1 -(emacs)184 288 Q F2 .412 +F2144 252 Q F3(option\255name)2.5 E F1(The)184 264 Q F3 +(option\255name)2.5 E F1(can be one of the following:)2.5 E F2 +(allexport)184 276 Q F1(Same as)224 288 Q F22.5 E F1(.)A F2 +(braceexpand)184 300 Q F1(Same as)224 312 Q F22.5 E F1(.)A F2 +(emacs)184 324 Q F1 .412 (Use an emacs-style command line editing interface.)12.23 F .412 (This is enabled by)5.412 F .358(default when the shell is interactive,\ - unless the shell is started with the)224 300 R F1(\255\255noediting)224 -312 Q F2(option.)2.5 E F1(errtrace)184 324 Q F2(Same as)5.56 E F1 -2.5 E F2(.)A F1(functrace)184 336 Q F2(Same as)224 348 Q F12.5 E -F2(.)A F1(errexit)184 360 Q F2(Same as)10.56 E F12.5 E F2(.)A F1 -(hashall)184 372 Q F2(Same as)6.68 E F12.5 E F2(.)A F1(histexpand) -184 384 Q F2(Same as)224 396 Q F12.5 E F2(.)A F1(history)184 408 Q -F2 2.271(Enable command history)7.78 F 4.771(,a)-1.11 G 4.771(sd)-4.771 -G 2.271(escribed above under)-4.771 F F3(HISTOR)4.771 E(Y)-.495 E/F5 9 -/Palatino-Roman@0 SF(.)A F2(This)6.77 E -(option is on by default in interactive shells.)224 420 Q F1(ignoreeof) -184 432 Q F2 1.673(The ef)224 444 R 1.673 -(fect is as if the shell command)-.18 F/F6 10/Courier@0 SF(IGNOREEOF=10) -4.174 E F2 1.674(had been exe-)4.174 F(cuted \(see)224 456 Q F1(Shell V) -2.5 E(ariables)-1.11 E F2(above\).)2.5 E F1(keyword)184 468 Q F2 -(Same as)224 480 Q F12.5 E F2(.)A F1(monitor)184 492 Q F2(Same as) -224 504 Q F12.5 E F2(.)A F1(noclobber)184 516 Q F2(Same as)224 528 -Q F12.5 E F2(.)A F1(noexec)184 540 Q F2(Same as)8.89 E F12.5 -E F2(.)A F1(noglob)184 552 Q F2(Same as)7.77 E F12.5 E F2(.)A F1 -(nolog)5 E F2(Curr)2.5 E(ently ignor)-.18 E(ed.)-.18 E F1(notify)184 564 -Q F2(Same as)12.22 E F12.5 E F2(.)A F1(nounset)184 576 Q F2 -(Same as)224 588 Q F12.5 E F2(.)A F1(onecmd)184 600 Q F2(Same as) -224 612 Q F12.5 E F2(.)A F1(physical)184 624 Q F2(Same as)224 636 -Q F12.5 E F2(.)A F1(pipefail)184 648 Q F2 .735(If set, the r)224 -660 R .734 + unless the shell is started with the)224 336 R F2(\255\255noediting)224 +348 Q F1(option.)2.5 E F2(errtrace)184 360 Q F1(Same as)5.56 E F2 +2.5 E F1(.)A F2(functrace)184 372 Q F1(Same as)224 384 Q F22.5 E +F1(.)A F2(errexit)184 396 Q F1(Same as)10.56 E F22.5 E F1(.)A F2 +(hashall)184 408 Q F1(Same as)6.68 E F22.5 E F1(.)A F2(histexpand) +184 420 Q F1(Same as)224 432 Q F22.5 E F1(.)A F2(history)184 444 Q +F1 2.271(Enable command history)7.78 F 4.771(,a)-1.11 G 4.771(sd)-4.771 +G 2.271(escribed above under)-4.771 F F5(HISTOR)4.771 E(Y)-.495 E/F6 9 +/Palatino-Roman@0 SF(.)A F1(This)6.77 E +(option is on by default in interactive shells.)224 456 Q F2(ignoreeof) +184 468 Q F1 1.673(The ef)224 480 R 1.673 +(fect is as if the shell command)-.18 F/F7 10/Courier@0 SF(IGNOREEOF=10) +4.174 E F1 1.674(had been exe-)4.174 F(cuted \(see)224 492 Q F2(Shell V) +2.5 E(ariables)-1.11 E F1(above\).)2.5 E F2(keyword)184 504 Q F1 +(Same as)224 516 Q F22.5 E F1(.)A F2(monitor)184 528 Q F1(Same as) +224 540 Q F22.5 E F1(.)A F2(noclobber)184 552 Q F1(Same as)224 564 +Q F22.5 E F1(.)A F2(noexec)184 576 Q F1(Same as)8.89 E F22.5 +E F1(.)A F2(noglob)184 588 Q F1(Same as)7.77 E F22.5 E F1(.)A F2 +(nolog)5 E F1(Curr)2.5 E(ently ignor)-.18 E(ed.)-.18 E F2(notify)184 600 +Q F1(Same as)12.22 E F22.5 E F1(.)A F2(nounset)184 612 Q F1 +(Same as)224 624 Q F22.5 E F1(.)A F2(onecmd)184 636 Q F1(Same as) +224 648 Q F22.5 E F1(.)A F2(physical)184 660 Q F1(Same as)224 672 +Q F22.5 E F1(.)A F2(pipefail)184 684 Q F1 .735(If set, the r)224 +696 R .734 (eturn value of a pipeline is the value of the last \(rightmost\))-.18 F -.31(command to exit with a non-zer)224 672 R 2.811(os)-.18 G .311 +.31(command to exit with a non-zer)224 708 R 2.811(os)-.18 G .311 (tatus, or zer)-2.811 F 2.811(oi)-.18 G 2.811(fa)-2.811 G .311 -(ll commands in the)-2.811 F(pipeline exit successfully)224 684 Q 5(.T) --1.11 G(his option is disabled by default.)-5 E F1(posix)184 696 Q F2 -.815(Change the behavior of)15.56 F F1(bash)3.315 E F2(wher)3.315 E -3.315(et)-.18 G .815(he default operation dif)-3.315 F .815(fers fr)-.18 -F(om)-.18 E(the POSIX 1003.2 standar)224 708 Q 2.5(dt)-.18 G 2.5(om)-2.5 -G(atch the standar)-2.5 E 2.5(d\()-.18 G F4(`posix mode)-2.5 E F2(\).)A -F0(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(55)197.335 E 0 Cg EP +(ll commands in the)-2.811 F(pipeline exit successfully)224 720 Q 5(.T) +-1.11 G(his option is disabled by default.)-5 E F0(GNU Bash-3.0)72 768 Q +(2004 June 26)147.345 E(55)197.335 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/Palatino-Bold@0 SF(privileged)184 84 Q/F2 10 -/Palatino-Roman@0 SF(Same as)224 96 Q F12.5 E F2(.)A F1(verbose) -184 108 Q F2(Same as)224 120 Q F12.5 E F2(.)A F1(vi)184 132 Q F2 +-.35 E/F1 10/Palatino-Bold@0 SF(posix)184 84 Q/F2 10/Palatino-Roman@0 SF +.815(Change the behavior of)15.56 F F1(bash)3.315 E F2(wher)3.315 E +3.315(et)-.18 G .815(he default operation dif)-3.315 F .815(fers fr)-.18 +F(om)-.18 E(the POSIX 1003.2 standar)224 96 Q 2.5(dt)-.18 G 2.5(om)-2.5 +G(atch the standar)-2.5 E 2.5(d\()-.18 G/F3 10/Palatino-Italic@0 SF +(`posix mode)-2.5 E F2(\).)A F1(privileged)184 108 Q F2(Same as)224 120 +Q F12.5 E F2(.)A F1(verbose)184 132 Q F2(Same as)224 144 Q F1 +2.5 E F2(.)A F1(vi)184 156 Q F2 (Use a vi-style command line editing interface.)31.11 E F1(xtrace)184 -144 Q F2(Same as)13.34 E F12.5 E F2(.)A(If)184 162 Q F14.63 -E F2 2.131(is supplied with no)4.63 F/F3 10/Palatino-Italic@0 SF -(option\255name)4.631 E F2 4.631(,t)C 2.131(he values of the curr)-4.631 -F 2.131(ent options ar)-.18 F(e)-.18 E 4.412(printed. If)184 174 R F1 -(+o)4.412 E F2 1.912(is supplied with no)4.412 F F3(option\255name)4.412 -E F2 4.411(,as)C 1.911(eries of)-4.411 F F1(set)4.411 E F2 1.911 -(commands to)4.411 F -.18(re)184 186 S(cr).18 E(eate the curr)-.18 E +168 Q F2(Same as)13.34 E F12.5 E F2(.)A(If)184 186 Q F14.63 +E F2 2.131(is supplied with no)4.63 F F3(option\255name)4.631 E F2 4.631 +(,t)C 2.131(he values of the curr)-4.631 F 2.131(ent options ar)-.18 F +(e)-.18 E 4.412(printed. If)184 198 R F1(+o)4.412 E F2 1.912 +(is supplied with no)4.412 F F3(option\255name)4.412 E F2 4.411(,as)C +1.911(eries of)-4.411 F F1(set)4.411 E F2 1.911(commands to)4.411 F -.18 +(re)184 210 S(cr).18 E(eate the curr)-.18 E (ent option settings is displayed on the standar)-.18 E 2.5(do)-.18 G -(utput.)-2.5 E F1144 198 Q F2 -.9(Tu)27.83 G .853(rn on).9 F F3 +(utput.)-2.5 E F1144 222 Q F2 -.9(Tu)27.83 G .853(rn on).9 F F3 (privileged)3.923 E F2 3.353(mode. In)3.683 F .853(this mode, the)3.353 F/F4 9/Palatino-Bold@0 SF($ENV)3.353 E F2(and)3.103 E F4($BASH_ENV)3.354 -E F2 .854(\214les ar)3.104 F 3.354(en)-.18 G(ot)-3.354 E(pr)184 210 Q +E F2 .854(\214les ar)3.104 F 3.354(en)-.18 G(ot)-3.354 E(pr)184 234 Q 2.873(ocessed, shell functions ar)-.18 F 5.373(en)-.18 G 2.873 (ot inherited fr)-5.373 F 2.873(om the envir)-.18 F 2.873 -(onment, and the)-.18 F F4(SHELLOPTS)184 222 Q F2 .548 +(onment, and the)-.18 F F4(SHELLOPTS)184 246 Q F2 .548 (variable, if it appears in the envir)2.798 F .548(onment, is ignor)-.18 F 3.049(ed. If)-.18 F .549(the shell is)3.049 F 1.115 -(started with the ef)184 234 R 1.115(fective user \(gr)-.18 F 1.115 +(started with the ef)184 258 R 1.115(fective user \(gr)-.18 F 1.115 (oup\) id not equal to the r)-.18 F 1.115(eal user \(gr)-.18 F 1.115 -(oup\) id,)-.18 F .497(and the)184 246 R F12.997 E F2 .498 +(oup\) id,)-.18 F .497(and the)184 270 R F12.997 E F2 .498 (option is not supplied, these actions ar)2.998 F 2.998(et)-.18 G .498 (aken and the ef)-2.998 F .498(fective user)-.18 F .685 -(id is set to the r)184 258 R .685(eal user id.)-.18 F .685(If the)5.685 +(id is set to the r)184 282 R .685(eal user id.)-.18 F .685(If the)5.685 F F13.185 E F2 .684(option is supplied at startup, the ef)3.185 F -(fective)-.18 E .752(user id is not r)184 270 R 3.252(eset. T)-.18 F +(fective)-.18 E .752(user id is not r)184 294 R 3.252(eset. T)-.18 F .752(urning this option of)-.9 F 3.252(fc)-.18 G .752(auses the ef) -3.252 F .753(fective user and gr)-.18 F(oup)-.18 E -(ids to be set to the r)184 282 Q(eal user and gr)-.18 E(oup ids.)-.18 E -F1144 294 Q F2(Exit after r)30.61 E -(eading and executing one command.)-.18 E F1144 306 Q F2 -.88 -.9 +(ids to be set to the r)184 306 Q(eal user and gr)-.18 E(oup ids.)-.18 E +F1144 318 Q F2(Exit after r)30.61 E +(eading and executing one command.)-.18 E F1144 330 Q F2 -.88 -.9 (Tr e)27.83 H 2.498(at unset variables as an err).9 F 2.498 (or when performing parameter expansion.)-.18 F(If)7.498 E .869 (expansion is attempted on an unset variable, the shell prints an err) -184 318 R .87(or message,)-.18 F -(and, if not interactive, exits with a non-zer)184 330 Q 2.5(os)-.18 G -(tatus.)-2.5 E F1144 342 Q F2(Print shell input lines as they ar) -28.38 E 2.5(er)-.18 G(ead.)-2.68 E F1144 354 Q F2 2.637 +184 342 R .87(or message,)-.18 F +(and, if not interactive, exits with a non-zer)184 354 Q 2.5(os)-.18 G +(tatus.)-2.5 E F1144 366 Q F2(Print shell input lines as they ar) +28.38 E 2.5(er)-.18 G(ead.)-2.68 E F1144 378 Q F2 2.637 (After expanding each)28.94 F F3 2.637(simple command)5.137 F F2(,)A F1 (for)5.137 E F2(command,)5.137 E F1(case)5.136 E F2(command,)5.136 E F1 -(select)5.136 E F2 .954(command, or arithmetic)184 366 R F1(for)3.454 E +(select)5.136 E F2 .954(command, or arithmetic)184 390 R F1(for)3.454 E F2 .955(command, display the expanded value of)3.455 F F4(PS4)3.455 E/F5 9/Palatino-Roman@0 SF(,)A F2(fol-)3.205 E -(lowed by the command and its expanded ar)184 378 Q +(lowed by the command and its expanded ar)184 402 Q (guments or associated wor)-.18 E 2.5(dl)-.18 G(ist.)-2.5 E F1144 -390 Q F2 .484(The shell performs brace expansion \(see)27.27 F F1 .484 +414 Q F2 .484(The shell performs brace expansion \(see)27.27 F F1 .484 (Brace Expansion)2.984 F F2 2.984(above\). This)2.984 F .484(is on by) -2.984 F(default.)184 402 Q F1144 414 Q F2 .077(If set,)26.72 F F1 +2.984 F(default.)184 426 Q F1144 438 Q F2 .077(If set,)26.72 F F1 (bash)2.577 E F2 .077(does not overwrite an existing \214le with the) 2.577 F F1(>)2.578 E F2(,)A F1(>&)2.578 E F2 2.578(,a)C(nd)-2.578 E F1 (<>)2.578 E F2 -.18(re)2.578 G(dir).18 E(ection)-.18 E 2.645 -(operators. This)184 426 R .145(may be overridden when cr)2.645 F .145 -(eating output \214les by using the r)-.18 F(edi-)-.18 E -.18(re)184 438 +(operators. This)184 450 R .145(may be overridden when cr)2.645 F .145 +(eating output \214les by using the r)-.18 F(edi-)-.18 E -.18(re)184 462 S(ction operator).18 E F1(>|)2.5 E F2(instead of)2.5 E F1(>)2.5 E F2(.)A -F1144 450 Q F2 .901(If set, any trap on)27.83 F F1(ERR)3.402 E F2 +F1144 474 Q F2 .901(If set, any trap on)27.83 F F1(ERR)3.402 E F2 .902(is inherited by shell functions, command substitutions,)3.402 F .75 -(and commands executed in a subshell envir)184 462 R 3.25(onment. The) +(and commands executed in a subshell envir)184 486 R 3.25(onment. The) -.18 F F1(ERR)3.25 E F2 .75(trap is normally)3.25 F -(not inherited in such cases.)184 474 Q F1144 486 Q F2(Enable) +(not inherited in such cases.)184 498 Q F1144 510 Q F2(Enable) 25.61 E F1(!)2.515 E F2 .015(style history substitution.)5.015 F .016 (This option is on by default when the shell is)5.016 F(interactive.)184 -498 Q F1144 510 Q F2 .693(If set, the shell does not follow symbo\ -lic links when executing commands such)27.83 F(as)184 522 Q F1(cd)3.569 +522 Q F1144 534 Q F2 .693(If set, the shell does not follow symbo\ +lic links when executing commands such)27.83 F(as)184 546 Q F1(cd)3.569 E F2 1.069(that change the curr)3.569 F 1.069(ent working dir)-.18 F (ectory)-.18 E 6.069(.I)-1.11 G 3.569(tu)-6.069 G 1.07 -(ses the physical dir)-3.569 F(ectory)-.18 E(str)184 534 Q(uctur)-.08 E +(ses the physical dir)-3.569 F(ectory)-.18 E(str)184 558 Q(uctur)-.08 E 2.912(ei)-.18 G 2.912(nstead. By)-2.912 F(default,)2.912 E F1(bash)2.912 E F2 .412(follows the logical chain of dir)2.912 F .411(ectories when) --.18 F(performing commands which change the curr)184 546 Q(ent dir)-.18 -E(ectory)-.18 E(.)-1.11 E F1144 558 Q F2 1.25(If set, any trap on) +-.18 F(performing commands which change the curr)184 570 Q(ent dir)-.18 +E(ectory)-.18 E(.)-1.11 E F1144 582 Q F2 1.25(If set, any trap on) 27.27 F F1(DEBUG)3.751 E F2 1.251 (is inherited by shell functions, command substitu-)3.751 F .712 -(tions, and commands executed in a subshell envir)184 570 R 3.212 +(tions, and commands executed in a subshell envir)184 594 R 3.212 (onment. The)-.18 F F1(DEBUG)3.212 E F2 .711(trap is)3.211 F -(normally not inherited in such cases.)184 582 Q F1144 594 Q F2 +(normally not inherited in such cases.)184 606 Q F1144 618 Q F2 1.781(If no ar)27.88 F 1.782 (guments follow this option, then the positional parameters ar)-.18 F 4.282(eu)-.18 G(nset.)-4.282 E 1.303 -(Otherwise, the positional parameters ar)184 606 R 3.803(es)-.18 G 1.303 +(Otherwise, the positional parameters ar)184 630 R 3.803(es)-.18 G 1.303 (et to the)-3.803 F F3(ar)3.803 E(g)-.18 E F2 1.303 -(s, even if some of them)B(begin with a)184 618 Q F12.5 E F2(.)A F1 -144 630 Q F2 1.295(Signal the end of options, cause all r)33.94 F +(s, even if some of them)B(begin with a)184 642 Q F12.5 E F2(.)A F1 +144 654 Q F2 1.295(Signal the end of options, cause all r)33.94 F (emaining)-.18 E F3(ar)3.796 E(g)-.18 E F2 3.796(st)C 3.796(ob)-3.796 G 3.796(ea)-3.796 G 1.296(ssigned to the posi-)-3.796 F .042 -(tional parameters.)184 642 R(The)5.042 E F12.542 E F2(and)2.542 E +(tional parameters.)184 666 R(The)5.042 E F12.542 E F2(and)2.542 E F12.542 E F2 .041(options ar)2.541 F 2.541(et)-.18 G .041 (urned of)-2.541 F 2.541(f. If)-.18 F(ther)2.541 E 2.541(ea)-.18 G .401 -.18(re n)-2.541 H(o).18 E F3(ar)2.541 E(g)-.18 E F2 .041(s, the)B -(positional parameters r)184 654 Q(emain unchanged.)-.18 E .12 -(The options ar)144 670.8 R 2.62(eo)-.18 G .48 -.18(ff b)-2.62 H 2.62 +(positional parameters r)184 678 Q(emain unchanged.)-.18 E .12 +(The options ar)144 694.8 R 2.62(eo)-.18 G .48 -.18(ff b)-2.62 H 2.62 (yd).18 G .121(efault unless otherwise noted.)-2.62 F .121 (Using + rather than \255 causes these)5.121 F .278 -(options to be turned of)144 682.8 R 2.778(f. The)-.18 F .277 +(options to be turned of)144 706.8 R 2.778(f. The)-.18 F .277 (options can also be speci\214ed as ar)2.777 F .277 -(guments to an invocation)-.18 F .722(of the shell.)144 694.8 R .723 +(guments to an invocation)-.18 F .722(of the shell.)144 718.8 R .723 (The curr)5.723 F .723(ent set of options may be found in)-.18 F F1 <24ad>3.223 E F2 5.723(.T)C .723(he r)-5.723 F .723 -(eturn status is always)-.18 F(tr)144 706.8 Q +(eturn status is always)-.18 F(tr)144 730.8 Q (ue unless an invalid option is encounter)-.08 E(ed.)-.18 E F0 (GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(56)197.335 E 0 Cg EP %%Page: 57 57 @@ -6915,11 +6929,11 @@ E F5(case)3.016 E F1(command,)3.016 E F5(select)3.016 E F1 .515 (command, and befor)3.015 F(e)-.18 E 1.001 (the \214rst command executes in a shell function \(see)144 585.6 R F3 1.001(SHELL GRAMMAR)3.501 F F1 3.501(above\). Refer)3.251 F(to)3.501 E -1.199(the description of the)144 597.6 R F2(extglob)3.699 E F1 1.199 -(option to the)3.699 F F2(shopt)3.699 E F1 1.199 -(builtin for details of its ef)3.699 F 1.198(fect on the)-.18 F F2 -(DEBUG)144 609.6 Q F1 3.153(trap. If)3.153 F(a)3.153 E F5(sigspec)3.563 -E F1(is)3.473 E F3(ERR)3.153 E F4(,)A F1 .653(the command)2.903 F F5(ar) +.679(the description of the)144 597.6 R F2(extdebug)3.178 E F1 .678 +(option to the)3.178 F F2(shopt)3.178 E F1 .678 +(builtin for details of its ef)3.178 F .678(fect on the)-.18 F F2(DEBUG) +144 609.6 Q F1 3.153(trap. If)3.153 F(a)3.153 E F5(sigspec)3.563 E F1 +(is)3.473 E F3(ERR)3.153 E F4(,)A F1 .653(the command)2.903 F F5(ar) 3.613 E(g)-.18 E F1 .653(is executed whenever a simple com-)3.633 F .241 (mand has a non\255zer)144 621.6 R 2.741(oe)-.18 G .24 (xit status, subject to the following conditions.)-2.741 F(The)5.24 E F3 diff --git a/doc/bashref.dvi b/doc/bashref.dvi index 03fd45dac..d0c144214 100644 Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ diff --git a/doc/bashref.html b/doc/bashref.html index 80405a984..ae5e6f4f1 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -1,6 +1,6 @@ - +