commit bash-20180322 snapshot

This commit is contained in:
Chet Ramey
2018-03-26 11:11:52 -04:00
parent f602026a0c
commit 12933b5bc7
25 changed files with 1846 additions and 2220 deletions
+49
View File
@@ -15088,3 +15088,52 @@ builtins/common.c
- read_octal: allow octal numbers greater than 777 to accommodate
modes and umasks that include sticky/setuid/setgid bits. Report
and fix from Martijn Dekker <martijn@inlv.org>
3/19
----
lib/readline/bind.c
- rl_generic_bind: make sure we only assign to prevkey in the loop
if the key sequence index is > 0, so ic is valid. Fixes bug
reported by Koichi Murase <myoga.murase@gmail.com>
builtins/read.def
- read_builtin: be slightly less aggressive checking for timeouts and
SIGALRM: if we successfully read a character, don't check for a
timeout until we store or process it. Fixes timing problem
reported by Rob Foehl <rwf@loonybin.net>
3/22
----
sig.c
- termsig_handler: add a call to exit(1) after the kill, just in case
there are circumstances where the SIG_DFL signal handler is
ignored. Report from Andrei Vagin <avagin@gmail.com>
3/25
----
lib/readline/bind.c
- _rl_function_of_keyseq_internal: new internal function thta takes a
length parameter to accommodate NUL in the key sequence. Patch from
Koichi Murase <myoga.murase@gmail.com>
- rl_function_of_keyseq_len: new application-callable function that
takes a length parameter; otherwise equivalent to rl_function_of_keyseq.
lib/readline/readline.h
- rl_function_of_keyseq_len: add extern declration for new function
lib/readline/doc/rltech.texi
- rl_function_of_keyseq_len: document new function interface
bashline.c
- bash_execute_unix_command: use rl_function_of_keyseq_len to handle
key sequences with embedded NULs (\C-@). Fix from Koichi Murase
<myoga.murase@gmail.com>
lib/readline/bind.c
- rl_bind_key_if_unbound,rl_bind_key_if_unbound_in_map: run the KEY
argument through rl_untranslate_keyseq to produce a symbolic sequence
that can encode \C-@.
- rl_bind_keyseq_if_unbound_in_map: translate the key sequence in order
to accommodate symbolic key sequences; should be a no-op for `raw'
key sequences such as the arrow key seqeunces from terminfo. Change
from Koichi Murase <myoga.murase@gmail.com>
+1 -1
View File
@@ -4102,7 +4102,7 @@ bash_execute_unix_command (count, key)
/* First, we need to find the right command to execute. This is tricky,
because we might have already indirected into another keymap, so we
have to walk cmd_xmap using the entire key sequence. */
cmd = (char *)rl_function_of_keyseq (rl_executing_keyseq, cmd_xmap, &type);
cmd = (char *)rl_function_of_keyseq_len (rl_executing_keyseq, rl_key_sequence_length, cmd_xmap, &type);
if (cmd == 0 || type != ISMACR)
{
+3 -2
View File
@@ -613,13 +613,14 @@ read_builtin (list)
break;
}
CHECK_ALRM;
QUIT; /* in case we didn't call check_signals() */
#if defined (READLINE)
}
#endif
CHECK_ALRM;
if (retval <= 0) /* XXX shouldn't happen */
CHECK_ALRM;
/* XXX -- use i + mb_cur_max (at least 4) for multibyte/read_mbchar */
if (i + (mb_cur_max > 4 ? mb_cur_max : 4) >= size)
{
+5 -3
View File
@@ -4503,9 +4503,11 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--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-
pleted.
is expanded. Shell quoting is honored within _w_o_r_d_l_i_s_t,
in order to provide a mechanism for the words to contain
shell metacharacters or characters in the value of IIFFSS.
The possible completions are the members of the resul-
tant list which match the word being completed.
--XX _f_i_l_t_e_r_p_a_t
_f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion.
It is applied to the list of possible completions gener-
+8 -1
View File
@@ -9968,6 +9968,13 @@ The <I>wordlist</I> is split using the characters in the
</FONT>
special variable as delimiters, and each resultant word is expanded.
Shell quoting is honored within <I>wordlist</I>,
in order to provide a
mechanism for the words to contain shell metacharacters or characters
in the value of
<FONT SIZE=-1><B>IFS</B>.
</FONT>
The possible completions are the members of the resultant list which
match the word being completed.
<DT><B>-X</B> <I>filterpat</I><DD>
@@ -13951,6 +13958,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 15 March 2018 14:13:43 EDT
Time: 19 March 2018 09:43:32 EDT
</BODY>
</HTML>
+36 -34
View File
@@ -8609,13 +8609,15 @@ used to filter the matches, but the 'FIGNORE' shell variable is used.
Next, the string specified as the argument to the '-W' option is
considered. The string is first split using the characters in the 'IFS'
special variable as delimiters. Shell quoting is honored. Each word is
then expanded using brace expansion, tilde expansion, parameter and
variable expansion, command substitution, and arithmetic expansion, as
described above (*note Shell Expansions::). The results are split using
the rules described above (*note Word Splitting::). The results of the
expansion are prefix-matched against the word being completed, and the
matching words become the possible completions.
special variable as delimiters. Shell quoting is honored within the
string, in order to provide a mechanism for the words to contain shell
metacharacters or characters in the value of 'IFS'. Each word is then
expanded using brace expansion, tilde expansion, parameter and variable
expansion, command substitution, and arithmetic expansion, as described
above (*note Shell Expansions::). The results are split using the rules
described above (*note Word Splitting::). The results of the expansion
are prefix-matched against the word being completed, and the matching
words become the possible completions.
After these matches have been generated, any shell function or
command specified with the '-F' and '-C' options is invoked. When the
@@ -11684,32 +11686,32 @@ Node: Keyboard Macros357309
Node: Miscellaneous Commands357996
Node: Readline vi Mode363949
Node: Programmable Completion364856
Node: Programmable Completion Builtins372317
Node: A Programmable Completion Example382203
Node: Using History Interactively387454
Node: Bash History Facilities388138
Node: Bash History Builtins391143
Node: History Interaction395674
Node: Event Designators398741
Node: Word Designators399960
Node: Modifiers401597
Node: Installing Bash402999
Node: Basic Installation404136
Node: Compilers and Options407394
Node: Compiling For Multiple Architectures408135
Node: Installation Names409828
Node: Specifying the System Type410646
Node: Sharing Defaults411362
Node: Operation Controls412035
Node: Optional Features412993
Node: Reporting Bugs423519
Node: Major Differences From The Bourne Shell424713
Node: GNU Free Documentation License441565
Node: Indexes466742
Node: Builtin Index467196
Node: Reserved Word Index474023
Node: Variable Index476471
Node: Function Index492149
Node: Concept Index505452
Node: Programmable Completion Builtins372450
Node: A Programmable Completion Example382336
Node: Using History Interactively387587
Node: Bash History Facilities388271
Node: Bash History Builtins391276
Node: History Interaction395807
Node: Event Designators398874
Node: Word Designators400093
Node: Modifiers401730
Node: Installing Bash403132
Node: Basic Installation404269
Node: Compilers and Options407527
Node: Compiling For Multiple Architectures408268
Node: Installation Names409961
Node: Specifying the System Type410779
Node: Sharing Defaults411495
Node: Operation Controls412168
Node: Optional Features413126
Node: Reporting Bugs423652
Node: Major Differences From The Bourne Shell424846
Node: GNU Free Documentation License441698
Node: Indexes466875
Node: Builtin Index467329
Node: Reserved Word Index474156
Node: Variable Index476604
Node: Function Index492282
Node: Concept Index505585

End Tag Table
BIN
View File
Binary file not shown.
+180 -175
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Thu Mar 15 14:13:33 2018
%%CreationDate: Mon Mar 19 09:43:22 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -7184,345 +7184,350 @@ E F0 1.007(is e)3.507 F 1.007(xpanded to generate the possible comple-)
E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 252 Q F2(wor)2.5 E
(dlist)-.37 E F0(The)184 264 Q F2(wor)3.64 E(dlist)-.37 E F0 1.14
(is split using the characters in the)3.64 F F3(IFS)3.64 E F0 1.139
(special v)3.39 F 1.139(ariable as delimiters, and)-.25 F 2.007
(each resultant w)184 276 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 288 Q(ord being completed.)-.1 E
F1<ad58>144 300 Q F2(\214lterpat)2.5 E(\214lterpat)184 312 Q F0 .456
(special v)3.39 F 1.139(ariable as delimiters, and)-.25 F .98
(each resultant w)184 276 R .98(ord is e)-.1 F 3.481(xpanded. Shell)-.15
F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37 E F0
3.481(,i)C 3.481(no)-3.481 G .981(rder to)-3.481 F(pro)184 288 Q .766
(vide a mechanism for the w)-.15 F .765
(ords to contain shell metacharacters or characters in the)-.1 F -.25
(va)184 300 S 1.964(lue of).25 F F3(IFS)4.464 E/F4 9/Times-Roman@0 SF(.)
A F0 1.964
(The possible completions are the members of the resultant list which)
6.464 F(match the w)184 312 Q(ord being completed.)-.1 E F1<ad58>144 324
Q F2(\214lterpat)2.5 E(\214lterpat)184 336 Q F0 .456
(is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 F
.455(is applied to the list of possible)2.956 F 1.596
(completions generated by the preceding options and ar)184 324 R 1.596
(guments, and each completion)-.18 F(matching)184 336 Q F2(\214lterpat)
(completions generated by the preceding options and ar)184 348 R 1.596
(guments, and each completion)-.18 F(matching)184 360 Q F2(\214lterpat)
3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704
(rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
(in)3.204 E F2(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704
(tes the pattern;).05 F(in this case, an)184 348 Q 2.5(yc)-.15 G
(tes the pattern;).05 F(in this case, an)184 372 Q 2.5(yc)-.15 G
(ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E
-.15(ve)-.15 G(d.).15 E .466(The return v)144 364.8 R .466
-.15(ve)-.15 G(d.).15 E .466(The return v)144 388.8 R .466
(alue is true unless an in)-.25 F -.25(va)-.4 G .466
(lid option is supplied, an option other than).25 F F1<ad70>2.967 E F0
(or)2.967 E F1<ad72>2.967 E F0 .467(is sup-)2.967 F 1.362
(plied without a)144 376.8 R F2(name)3.862 E F0(ar)3.862 E 1.361
(plied without a)144 400.8 R F2(name)3.862 E F0(ar)3.862 E 1.361
(gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H
1.361(ompletion speci\214cation for a).15 F F2(name)144 388.8 Q F0
1.361(ompletion speci\214cation for a).15 F F2(name)144 412.8 Q F0
(for which no speci\214cation e)2.5 E
(xists, or an error occurs adding a completion speci\214cation.)-.15 E
F1(compopt)108 405.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
F1(compopt)108 429.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
F1(\255DE)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C F2
(name)-2.5 E F0(])A .447(Modify completion options for each)144 417.6 R
(name)-2.5 E F0(])A .447(Modify completion options for each)144 441.6 R
F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0
.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726
(completion if no)144 429.6 R F2(name)3.226 E F0 3.226(sa)C .726
(completion if no)144 453.6 R F2(name)3.226 E F0 3.226(sa)C .726
(re supplied.)-3.226 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa)
C .725(re gi)-3.225 F -.15(ve)-.25 G .725
(n, display the completion options for).15 F(each)144 441.6 Q F2(name)
(n, display the completion options for).15 F(each)144 465.6 Q F2(name)
3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
5.724 F .724(alues of)-.25 F F2(option)3.224 E F0 .724(are those v)3.224
F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 453.6 Q F0 -.2(bu)
F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 477.6 Q F0 -.2(bu)
2.798 G .298(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he)
-5.297 E F1<ad44>2.797 E F0 .297
(option indicates that the remaining options should apply to)2.797 F
1.227(the `)144 465.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
1.227(the `)144 489.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
mmand completion; that is, completion attempted on a command for which \
no)-3.727 F 2.178(completion has pre)144 477.6 R 2.178
no)-3.727 F 2.178(completion has pre)144 501.6 R 2.178
(viously been de\214ned.)-.25 F(The)7.178 E F1<ad45>4.678 E F0 2.177
(option indicates that the remaining options)4.677 F(should apply to `)
144 489.6 Q(`empty')-.74 E 2.5('c)-.74 G
144 513.6 Q(`empty')-.74 E 2.5('c)-.74 G
(ommand completion; that is, completion attempted on a blank line.)-2.5
E 1.387(The return v)144 513.6 R 1.387(alue is true unless an in)-.25 F
E 1.387(The return v)144 537.6 R 1.387(alue is true unless an in)-.25 F
-.25(va)-.4 G 1.388
(lid option is supplied, an attempt is made to modify the).25 F
(options for a)144 525.6 Q F2(name)2.5 E F0
(options for a)144 549.6 Q F2(name)2.5 E F0
(for which no completion speci\214cation e)2.5 E
(xists, or an output error occurs.)-.15 E F1(continue)108 542.4 Q F0([)
2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 554.4 R 1.754
(xists, or an output error occurs.)-.15 E F1(continue)108 566.4 Q F0([)
2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 578.4 R 1.754
(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.253(loop. If)4.254 F F2(n)4.613 E F0 1.753
(is speci\214ed,)4.493 F 1.208(resume at the)144 566.4 R F2(n)3.709 E F0
1.209(th enclosing loop.)B F2(n)6.569 E F0 1.209(must be)3.949 F/F4 10
(is speci\214ed,)4.493 F 1.208(resume at the)144 590.4 R F2(n)3.709 E F0
1.209(th enclosing loop.)B F2(n)6.569 E F0 1.209(must be)3.949 F/F5 10
/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F2(n)4.069 E F0 1.209
(is greater than the number of enclosing)3.949 F .514
(loops, the last enclosing loop \(the `)144 578.4 R(`top-le)-.74 E -.15
(loops, the last enclosing loop \(the `)144 602.4 R(`top-le)-.74 E -.15
(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
(The return v)5.513 F .513(alue is 0 unless)-.25 F F2(n)3.013 E F0(is)
3.013 E(not greater than or equal to 1.)144 590.4 Q F1(declar)108 607.2
3.013 E(not greater than or equal to 1.)144 614.4 Q F1(declar)108 631.2
Q(e)-.18 E F0([)2.5 E F1(\255aAfFgilnrtux)A F0 2.5(][)C F1<ad70>-2.5 E
F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E F1
(typeset)108 619.2 Q F0([)2.5 E F1(\255aAfFgilnrtux)A F0 2.5(][)C F1
(typeset)108 643.2 Q F0([)2.5 E F1(\255aAfFgilnrtux)A F0 2.5(][)C F1
<ad70>-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.264(Declare v)144 631.2 R 1.264(ariables and/or gi)-.25 F
(..])-2.5 E 1.264(Declare v)144 655.2 R 1.264(ariables and/or gi)-.25 F
1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)
3.765 E F2(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25
G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F
-.25(va)144 643.2 S 3.483(riables. The).25 F F1<ad70>3.483 E F0 .983
-.25(va)144 667.2 S 3.483(riables. The).25 F F1<ad70>3.483 E F0 .983
(option will display the attrib)3.483 F .983(utes and v)-.2 F .982
(alues of each)-.25 F F2(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F1
<ad70>3.482 E F0 .982(is used)3.482 F(with)144 655.2 Q F2(name)2.774 E
<ad70>3.482 E F0 .982(is used)3.482 F(with)144 679.2 Q F2(name)2.774 E
F0(ar)2.774 E .274(guments, additional options, other than)-.18 F F1
<ad66>2.775 E F0(and)2.775 E F1<ad46>2.775 E F0 2.775(,a)C .275
(re ignored.)-2.775 F(When)5.275 E F1<ad70>2.775 E F0 .275(is supplied)
2.775 F(without)144 667.2 Q F2(name)4.814 E F0(ar)4.814 E 2.314
2.775 F(without)144 691.2 Q F2(name)4.814 E F0(ar)4.814 E 2.314
(guments, it will display the attrib)-.18 F 2.314(utes and v)-.2 F 2.313
(alues of all v)-.25 F 2.313(ariables ha)-.25 F 2.313(ving the)-.2 F
(attrib)144 679.2 Q 1.181(utes speci\214ed by the additional options.)
(attrib)144 703.2 Q 1.181(utes speci\214ed by the additional options.)
-.2 F 1.182(If no other options are supplied with)6.181 F F1<ad70>3.682
E F0(,)A F1(declar)3.682 E(e)-.18 E F0 .62(will display the attrib)144
691.2 R .62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12
715.2 R .62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12
(ariables. The)-.25 F F1<ad66>3.12 E F0 .62
(option will restrict the display)3.12 F 1.29(to shell functions.)144
703.2 R(The)6.29 E F1<ad46>3.79 E F0 1.291(option inhibits the display \
of function de\214nitions; only the function)3.791 F .948
(name and attrib)144 715.2 R .948(utes are printed.)-.2 F .948(If the)
5.948 F F1(extdeb)3.448 E(ug)-.2 E F0 .948
(shell option is enabled using)3.448 F F1(shopt)3.448 E F0 3.448(,t)C
.948(he source)-3.448 F 1.69(\214le name and line number where each)144
727.2 R F2(name)4.19 E F0 1.69(is de\214ned are displayed as well.)4.19
F(The)6.69 E F1<ad46>4.19 E F0(option)4.19 E(GNU Bash 5.0)72 768 Q
(2018 March 15)144.29 E(60)193.45 E 0 Cg EP
727.2 R(The)6.29 E F1<ad46>3.79 E F0 1.291(option inhibits the display \
of function de\214nitions; only the function)3.791 F(GNU Bash 5.0)72 768
Q(2018 March 15)144.29 E(60)193.45 E 0 Cg EP
%%Page: 61 61
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(implies)144 84 Q
/F1 10/Times-Bold@0 SF<ad66>3.892 E F0 6.392(.T)C(he)-6.392 E F1<ad67>
3.892 E F0 1.391(option forces v)3.892 F 1.391
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .948
(name and attrib)144 84 R .948(utes are printed.)-.2 F .948(If the)5.948
F/F1 10/Times-Bold@0 SF(extdeb)3.448 E(ug)-.2 E F0 .948
(shell option is enabled using)3.448 F F1(shopt)3.448 E F0 3.448(,t)C
.948(he source)-3.448 F 1.69(\214le name and line number where each)144
96 R/F2 10/Times-Italic@0 SF(name)4.19 E F0 1.69
(is de\214ned are displayed as well.)4.19 F(The)6.69 E F1<ad46>4.19 E F0
(option)4.19 E(implies)144 108 Q F1<ad66>3.892 E F0 6.392(.T)C(he)-6.392
E F1<ad67>3.892 E F0 1.391(option forces v)3.892 F 1.391
(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
(ve)-.25 G(n).15 E(when)144 96 Q F1(declar)4.382 E(e)-.18 E F0 1.882
(ve)-.25 G(n).15 E(when)144 120 Q F1(declar)4.382 E(e)-.18 E F0 1.882
(is e)4.382 F -.15(xe)-.15 G 1.882(cuted in a shell function.).15 F
1.883(It is ignored in all other cases.)6.882 F 1.883(The follo)6.883 F
(wing)-.25 E .794(options can be used to restrict output to v)144 108 R
(wing)-.25 E .794(options can be used to restrict output to v)144 132 R
.794(ariables with the speci\214ed attrib)-.25 F .793(ute or to gi)-.2 F
1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 120 Q(utes:)-.2 E F1
<ad61>144 132 Q F0(Each)180 132 Q/F2 10/Times-Italic@0 SF(name)2.5 E F0
(is an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E
(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
.15 E F1<ad41>144 144 Q F0(Each)180 144 Q F2(name)2.5 E F0
(is an associati)2.5 E .3 -.15(ve a)-.25 H(rray v).15 E(ariable \(see)
-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1<ad66>144
156 Q F0(Use function names only)180 156 Q(.)-.65 E F1<ad69>144 168 Q F0
.557(The v)180 168 R .558(ariable is treated as an inte)-.25 F .558
(ger; arithmetic e)-.15 F -.25(va)-.25 G .558(luation \(see).25 F/F3 9
/Times-Bold@0 SF .558(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)
180 180 Q F0(abo)2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G
(erformed when the v)-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E
F1<ad6c>144 192 Q F0 .91(When the v)180 192 R .909
(ariable is assigned a v)-.25 F .909(alue, all upper)-.25 F .909
(-case characters are con)-.2 F -.15(ve)-.4 G .909(rted to lo).15 F(wer)
-.25 E(-)-.2 E 2.5(case. The)180 204 R(upper)2.5 E(-case attrib)-.2 E
(ute is disabled.)-.2 E F1<ad6e>144 216 Q F0(Gi)180 216 Q 1.619 -.15
(ve e)-.25 H(ach).15 E F2(name)3.819 E F0(the)3.819 E F2(namer)3.819 E
(ef)-.37 E F0(attrib)3.819 E 1.319
1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 144 Q(utes:)-.2 E F1
<ad61>144 156 Q F0(Each)180 156 Q F2(name)2.5 E F0(is an inde)2.5 E -.15
(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1(Arrays)2.5
E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1<ad41>144 168 Q F0(Each)180
168 Q F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H(rray v)
.15 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G
(\).).15 E F1<ad66>144 180 Q F0(Use function names only)180 180 Q(.)-.65
E F1<ad69>144 192 Q F0 .557(The v)180 192 R .558
(ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25
(va)-.25 G .558(luation \(see).25 F/F3 9/Times-Bold@0 SF .558
(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 204 Q F0(abo)2.25
E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v)-2.5 E
(ariable is assigned a v)-.25 E(alue.)-.25 E F1<ad6c>144 216 Q F0 .91
(When the v)180 216 R .909(ariable is assigned a v)-.25 F .909
(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4
G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 228 R
(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad6e>144 240 Q
F0(Gi)180 240 Q 1.619 -.15(ve e)-.25 H(ach).15 E F2(name)3.819 E F0(the)
3.819 E F2(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319
(ute, making it a name reference to another v)-.2 F(ariable.)-.25 E
1.519(That other v)180 228 R 1.519(ariable is de\214ned by the v)-.25 F
1.519(That other v)180 252 R 1.519(ariable is de\214ned by the v)-.25 F
1.518(alue of)-.25 F F2(name)4.018 E F0 6.518(.A)C 1.518
(ll references, assignments, and)-6.518 F(attrib)180 240 Q .226
(ll references, assignments, and)-6.518 F(attrib)180 264 Q .226
(ute modi\214cations to)-.2 F F2(name)2.726 E F0 2.726(,e)C .226
(xcept those using or changing the)-2.876 F F1<ad6e>2.726 E F0(attrib)
2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 252 R
2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 276 R
.809(ariable referenced by)-.25 F F2(name)3.308 E F0 1.908 -.55('s v)D
3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2
F(applied to array v)180 264 Q(ariables.)-.25 E F1<ad72>144 276 Q F0
(Mak)180 276 Q(e)-.1 E F2(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E
F(applied to array v)180 288 Q(ariables.)-.25 E F1<ad72>144 300 Q F0
(Mak)180 300 Q(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 288
Q F1<ad74>144 300 Q F0(Gi)180 300 Q .73 -.15(ve e)-.25 H(ach).15 E F2
2.547(alues by subsequent)-.25 F(assignment statements or unset.)180 312
Q F1<ad74>144 324 Q F0(Gi)180 324 Q .73 -.15(ve e)-.25 H(ach).15 E F2
(name)2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E
2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929
E(UG)-.1 E F0(and)2.929 E F1(RETURN)2.929 E F0
(traps from the calling shell.)180 312 Q(The trace attrib)5 E
(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad75>144 324
Q F0 .909(When the v)180 324 R .909(ariable is assigned a v)-.25 F .909
(traps from the calling shell.)180 336 Q(The trace attrib)5 E
(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad75>144 348
Q F0 .909(When the v)180 348 R .909(ariable is assigned a v)-.25 F .909
(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 F -.15
(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 336 R(lo)2.5
E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad78>144 348 Q
F0(Mark)180 348 Q F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 360 R(lo)2.5
E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad78>144 372 Q
F0(Mark)180 372 Q F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .121
(Using `+' instead of `\255' turns of)144 364.8 R 2.621(ft)-.25 G .121
(Using `+' instead of `\255' turns of)144 388.8 R 2.621(ft)-.25 G .121
(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12
(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F .644
(to destro)144 376.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
(to destro)144 400.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
-3.144 F .644(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo)
3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145
(ute. When)-.2 F .645(used in a func-)3.145 F(tion,)144 388.8 Q F1
(ute. When)-.2 F .645(used in a func-)3.145 F(tion,)144 412.8 Q F1
(declar)2.835 E(e)-.18 E F0(and)2.835 E F1(typeset)2.835 E F0(mak)2.835
E 2.835(ee)-.1 G(ach)-2.835 E F2(name)2.835 E F0 .335
(local, as with the)2.835 F F1(local)2.835 E F0 .335
(command, unless the)2.835 F F1<ad67>2.835 E F0(option)2.835 E 1.282
(is supplied.)144 400.8 R 1.282(If a v)6.282 F 1.283
(is supplied.)144 424.8 R 1.282(If a v)6.282 F 1.283
(ariable name is follo)-.25 F 1.283(wed by =)-.25 F F2(value)A F0 3.783
(,t)C 1.283(he v)-3.783 F 1.283(alue of the v)-.25 F 1.283
(ariable is set to)-.25 F F2(value)3.783 E F0(.)A .927(When using)144
412.8 R F1<ad61>3.427 E F0(or)3.427 E F1<ad41>3.427 E F0 .926
436.8 R F1<ad61>3.427 E F0(or)3.427 E F1<ad41>3.427 E F0 .926
(and the compound assignment syntax to create array v)3.427 F .926
(ariables, additional)-.25 F(attrib)144 424.8 Q .592(utes do not tak)-.2
(ariables, additional)-.25 F(attrib)144 448.8 Q .592(utes do not tak)-.2
F 3.092(ee)-.1 G -.25(ff)-3.092 G .592
(ect until subsequent assignments.).25 F .592(The return v)5.592 F .592
(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .429
(option is encountered, an attempt is made to de\214ne a function using)
144 436.8 R/F4 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
144 460.8 R/F4 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
2.928(na)-2.928 G .428(ttempt is)-2.928 F .062(made to assign a v)144
448.8 R .062(alue to a readonly v)-.25 F .063
472.8 R .062(alue to a readonly v)-.25 F .063
(ariable, an attempt is made to assign a v)-.25 F .063
(alue to an array v)-.25 F(ari-)-.25 E .102
(able without using the compound assignment syntax \(see)144 460.8 R F1
(able without using the compound assignment syntax \(see)144 484.8 R F1
(Arrays)2.602 E F0(abo)2.602 E -.15(ve)-.15 G .102(\), one of the).15 F
F2(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 472.8 S .171
F2(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 496.8 S .171
(lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25
F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172
(ariable, an)-.25 F .96(attempt is made to turn of)144 484.8 R 3.46(fa)
(ariable, an)-.25 F .96(attempt is made to turn of)144 508.8 R 3.46(fa)
-.25 G .96(rray status for an array v)-3.46 F .96
(ariable, or an attempt is made to display a)-.25 F(non-e)144 496.8 Q
(ariable, or an attempt is made to display a)-.25 F(non-e)144 520.8 Q
(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1
(dirs [\255clpv] [+)108 513.6 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1
(])A F0 -.4(Wi)144 525.6 S .328
(dirs [\255clpv] [+)108 537.6 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1
(])A F0 -.4(Wi)144 549.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 537.6 R 1.238
(Directories are added to the list with the)6.238 F F1(pushd)144 549.6 Q
(single line with directory names separated by spaces.)144 561.6 R 1.238
(Directories are added to the list with the)6.238 F F1(pushd)144 573.6 Q
F0 2.003(command; the)4.503 F F1(popd)4.503 E F0 2.003(command remo)
4.503 F -.15(ve)-.15 G 4.503(se).15 G 2.003(ntries from the list.)-4.503
F 2.003(The current directory is)7.003 F(al)144 561.6 Q -.1(wa)-.1 G
(ys the \214rst directory in the stack.).1 E F1<ad63>144 573.6 Q F0
(Clears the directory stack by deleting all of the entries.)180 573.6 Q
F1<ad6c>144 585.6 Q F0 .882
(Produces a listing using full pathnames; the def)180 585.6 R .881
F 2.003(The current directory is)7.003 F(al)144 585.6 Q -.1(wa)-.1 G
(ys the \214rst directory in the stack.).1 E F1<ad63>144 597.6 Q F0
(Clears the directory stack by deleting all of the entries.)180 597.6 Q
F1<ad6c>144 609.6 Q F0 .882
(Produces a listing using full pathnames; the def)180 609.6 R .881
(ault listing format uses a tilde to denote)-.1 F(the home directory)180
597.6 Q(.)-.65 E F1<ad70>144 609.6 Q F0
(Print the directory stack with one entry per line.)180 609.6 Q F1<ad76>
144 621.6 Q F0 .272(Print the directory stack with one entry per line, \
pre\214xing each entry with its inde)180 621.6 R 2.773(xi)-.15 G 2.773
(nt)-2.773 G(he)-2.773 E(stack.)180 633.6 Q F1(+)144 645.6 Q F2(n)A F0
1.565(Displays the)180 645.6 R F2(n)4.065 E F0 1.565
621.6 Q(.)-.65 E F1<ad70>144 633.6 Q F0
(Print the directory stack with one entry per line.)180 633.6 Q F1<ad76>
144 645.6 Q F0 .272(Print the directory stack with one entry per line, \
pre\214xing each entry with its inde)180 645.6 R 2.773(xi)-.15 G 2.773
(nt)-2.773 G(he)-2.773 E(stack.)180 657.6 Q F1(+)144 669.6 Q F2(n)A F0
1.565(Displays the)180 669.6 R F2(n)4.065 E F0 1.565
(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1
(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
(without options, starting with zero.)180 657.6 Q F1<ad>144 669.6 Q F2
(n)A F0 1.194(Displays the)180 669.6 R F2(n)3.694 E F0 1.194
(without options, starting with zero.)180 681.6 Q F1<ad>144 693.6 Q F2
(n)A F0 1.194(Displays the)180 693.6 R F2(n)3.694 E F0 1.194
(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
(without options, starting with zero.)180 681.6 Q .258(The return v)144
698.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 710.4 Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29
E(61)193.45 E 0 Cg EP
(without options, starting with zero.)180 705.6 Q 1.707(The return v)144
722.4 R 1.707(alue is 0 unless an in)-.25 F -.25(va)-.4 G 1.707
(lid option is supplied or).25 F F2(n)4.207 E F0(inde)4.206 E -.15(xe)
-.15 G 4.206(sb).15 G -.15(ey)-4.206 G 1.706(ond the end of the).15 F
(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(61)193.45 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
SF(diso)108 84 Q(wn)-.1 E F0([)2.5 E F1(\255ar)A F0 2.5(][)C F1<ad68>
-2.5 E F0 2.5(][)C/F2 10/Times-Italic@0 SF(jobspec)-2.5 E F0(... |)2.5 E
F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144 96 S .121(thout options, remo).4
F .422 -.15(ve e)-.15 H(ach).15 E F2(jobspec)4.362 E F0 .122
(from the table of acti)2.932 F .422 -.15(ve j)-.25 H 2.622(obs. If).15
F F2(jobspec)4.362 E F0 .122(is not present, and)2.932 F .096
(neither the)144 108 R F1<ad61>2.596 E F0 .096(nor the)2.596 F F1<ad72>
2.596 E F0 .096(option is supplied, the)2.596 F F2(curr)2.596 E .096
(ent job)-.37 F F0 .096(is used.)2.596 F .096(If the)5.096 F F1<ad68>
2.596 E F0 .096(option is gi)2.596 F -.15(ve)-.25 G .096(n, each).15 F
F2(jobspec)145.74 120 Q F0 .585(is not remo)3.395 F -.15(ve)-.15 G 3.085
(df).15 G .585(rom the table, b)-3.085 F .585(ut is mark)-.2 F .585
(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)3.085 E F0 .586
(is not sent to the job if the)2.835 F .962(shell recei)144 132 R -.15
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(directory stack.)
144 84 Q/F1 10/Times-Bold@0 SF(diso)108 100.8 Q(wn)-.1 E F0([)2.5 E F1
(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 2.5(][)C/F2 10/Times-Italic@0 SF
(jobspec)-2.5 E F0(... |)2.5 E F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144
112.8 S .121(thout options, remo).4 F .422 -.15(ve e)-.15 H(ach).15 E F2
(jobspec)4.362 E F0 .122(from the table of acti)2.932 F .422 -.15(ve j)
-.25 H 2.622(obs. If).15 F F2(jobspec)4.362 E F0 .122
(is not present, and)2.932 F .096(neither the)144 124.8 R F1<ad61>2.596
E F0 .096(nor the)2.596 F F1<ad72>2.596 E F0 .096
(option is supplied, the)2.596 F F2(curr)2.596 E .096(ent job)-.37 F F0
.096(is used.)2.596 F .096(If the)5.096 F F1<ad68>2.596 E F0 .096
(option is gi)2.596 F -.15(ve)-.25 G .096(n, each).15 F F2(jobspec)
145.74 136.8 Q F0 .585(is not remo)3.395 F -.15(ve)-.15 G 3.085(df).15 G
.585(rom the table, b)-3.085 F .585(ut is mark)-.2 F .585(ed so that)-.1
F/F3 9/Times-Bold@0 SF(SIGHUP)3.085 E F0 .586
(is not sent to the job if the)2.835 F .962(shell recei)144 148.8 R -.15
(ve)-.25 G 3.462(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .962
(If no)5.462 F F2(jobspec)5.202 E F0 .962(is supplied, the)3.772 F F1
<ad61>3.462 E F0 .962(option means to remo)3.462 F 1.262 -.15(ve o)-.15
H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 144 R F1
H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 160.8 R F1
<ad72>3.858 E F0 1.358(option without a)3.858 F F2(jobspec)5.598 E F0
(ar)4.169 E 1.359(gument restricts operation to running jobs.)-.18 F
1.359(The return)6.359 F -.25(va)144 156 S(lue is 0 unless a).25 E F2
1.359(The return)6.359 F -.25(va)144 172.8 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 172.8 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)
-.37 E F0(...])2.5 E .425(Output the)144 184.8 R F2(ar)2.925 E(g)-.37 E
F1(echo)108 189.6 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)
-.37 E F0(...])2.5 E .425(Output the)144 201.6 R F2(ar)2.925 E(g)-.37 E
F0 .424(s, separated by spaces, follo)B .424(wed by a ne)-.25 F 2.924
(wline. The)-.25 F .424(return status is 0 unless a write)2.924 F .307
(error occurs.)144 196.8 R(If)5.307 E F1<ad6e>2.807 E F0 .307
(error occurs.)144 213.6 R(If)5.307 E F1<ad6e>2.807 E F0 .307
(is speci\214ed, the trailing ne)2.807 F .308(wline is suppressed.)-.25
F .308(If the)5.308 F F1<ad65>2.808 E F0 .308(option is gi)2.808 F -.15
(ve)-.25 G .308(n, inter).15 F(-)-.2 E 1.349(pretation of the follo)144
208.8 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The)
225.6 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The)
6.348 E F1<ad45>3.848 E F0 1.348(option disables the)3.848 F 1.054
(interpretation of these escape characters, e)144 220.8 R -.15(ve)-.25 G
(interpretation of these escape characters, e)144 237.6 R -.15(ve)-.25 G
3.555(no).15 G 3.555(ns)-3.555 G 1.055(ystems where the)-3.555 F 3.555
(ya)-.15 G 1.055(re interpreted by def)-3.555 F(ault.)-.1 E(The)144
232.8 Q F1(xpg_echo)3.459 E F0 .959
249.6 Q F1(xpg_echo)3.459 E F0 .959
(shell option may be used to dynamically determine whether or not)3.459
F F1(echo)3.458 E F0 -.15(ex)3.458 G(pands).15 E .715
(these escape characters by def)144 244.8 R(ault.)-.1 E F1(echo)5.715 E
(these escape characters by def)144 261.6 R(ault.)-.1 E F1(echo)5.715 E
F0 .716(does not interpret)3.215 F F1<adad>3.216 E F0 .716
(to mean the end of options.)3.216 F F1(echo)5.716 E F0
(interprets the follo)144 256.8 Q(wing escape sequences:)-.25 E F1(\\a)
144 268.8 Q F0(alert \(bell\))180 268.8 Q F1(\\b)144 280.8 Q F0
(backspace)180 280.8 Q F1(\\c)144 292.8 Q F0(suppress further output)180
292.8 Q F1(\\e)144 304.8 Q(\\E)144 316.8 Q F0(an escape character)180
316.8 Q F1(\\f)144 328.8 Q F0(form feed)180 328.8 Q F1(\\n)144 340.8 Q
F0(ne)180 340.8 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 352.8 Q F0
(carriage return)180 352.8 Q F1(\\t)144 364.8 Q F0(horizontal tab)180
364.8 Q F1(\\v)144 376.8 Q F0 -.15(ve)180 376.8 S(rtical tab).15 E F1
(\\\\)144 388.8 Q F0(backslash)180 388.8 Q F1(\\0)144 400.8 Q F2(nnn)A
F0(the eight-bit character whose v)180 400.8 Q(alue is the octal v)-.25
(interprets the follo)144 273.6 Q(wing escape sequences:)-.25 E F1(\\a)
144 285.6 Q F0(alert \(bell\))180 285.6 Q F1(\\b)144 297.6 Q F0
(backspace)180 297.6 Q F1(\\c)144 309.6 Q F0(suppress further output)180
309.6 Q F1(\\e)144 321.6 Q(\\E)144 333.6 Q F0(an escape character)180
333.6 Q F1(\\f)144 345.6 Q F0(form feed)180 345.6 Q F1(\\n)144 357.6 Q
F0(ne)180 357.6 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 369.6 Q F0
(carriage return)180 369.6 Q F1(\\t)144 381.6 Q F0(horizontal tab)180
381.6 Q F1(\\v)144 393.6 Q F0 -.15(ve)180 393.6 S(rtical tab).15 E F1
(\\\\)144 405.6 Q F0(backslash)180 405.6 Q F1(\\0)144 417.6 Q F2(nnn)A
F0(the eight-bit character whose v)180 417.6 Q(alue is the octal v)-.25
E(alue)-.25 E F2(nnn)2.5 E F0(\(zero to three octal digits\))2.5 E F1
(\\x)144 412.8 Q F2(HH)A F0(the eight-bit character whose v)180 412.8 Q
(\\x)144 429.6 Q F2(HH)A F0(the eight-bit character whose v)180 429.6 Q
(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0
(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1
(\\u)144 424.8 Q F2(HHHH)A F0 1.507
(the Unicode \(ISO/IEC 10646\) character whose v)180 436.8 R 1.506
(\\u)144 441.6 Q F2(HHHH)A F0 1.507
(the Unicode \(ISO/IEC 10646\) character whose v)180 453.6 R 1.506
(alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F2(HHHH)
4.006 E F0(\(one to four he)180 448.8 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
(\\U)144 460.8 Q F2(HHHHHHHH)A F0 .547
(the Unicode \(ISO/IEC 10646\) character whose v)180 472.8 R .547
4.006 E F0(\(one to four he)180 465.6 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
(\\U)144 477.6 Q F2(HHHHHHHH)A F0 .547
(the Unicode \(ISO/IEC 10646\) character whose v)180 489.6 R .547
(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-)
3.048 E(HHH)180 484.8 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
(igits\))-2.5 E F1(enable)108 501.6 Q F0([)2.5 E F1<ad61>A F0 2.5(][)C
3.048 E(HHH)180 501.6 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
(igits\))-2.5 E F1(enable)108 518.4 Q F0([)2.5 E F1<ad61>A F0 2.5(][)C
F1(\255dnps)-2.5 E F0 2.5(][)C F1<ad66>-2.5 E F2(\214lename)2.5 E F0 2.5
(][)C F2(name)-2.5 E F0(...])2.5 E .278(Enable and disable b)144 513.6 R
(][)C F2(name)-2.5 E F0(...])2.5 E .278(Enable and disable b)144 530.4 R
.278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278
(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .833
(the same name as a shell b)144 525.6 R .834(uiltin to be e)-.2 F -.15
(the same name as a shell b)144 542.4 R .834(uiltin to be e)-.2 F -.15
(xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15
(ve)-.25 G 3.334(nt).15 G(hough)-3.334 E .99
(the shell normally searches for b)144 537.6 R .989
(the shell normally searches for b)144 554.4 R .989
(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>3.489 E F0 .989
(is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F 1.581
(abled; otherwise,)144 549.6 R F2(names)4.082 E F0 1.582(are enabled.)
(abled; otherwise,)144 566.4 R F2(names)4.082 E F0 1.582(are enabled.)
4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F
F1(test)4.082 E F0 1.582(binary found via the)4.082 F F3 -.666(PA)4.082
G(TH)-.189 E F0 .081(instead of the shell b)144 561.6 R .081(uiltin v)
G(TH)-.189 E F0 .081(instead of the shell b)144 578.4 R .081(uiltin v)
-.2 F .081(ersion, run)-.15 F/F5 10/Courier@0 SF .081(enable -n test)
2.581 F F0 5.081(.T)C(he)-5.081 E F1<ad66>2.58 E F0 .08
(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 573.6 S 1.524
(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 590.4 S 1.524
(iltin command).2 F F2(name)4.384 E F0 1.524(from shared object)4.204 F
F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524
(ystems that support dynamic loading.)-4.024 F(The)144 585.6 Q F1<ad64>
(ystems that support dynamic loading.)-4.024 F(The)144 602.4 Q F1<ad64>
2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F
.367(viously loaded with)-.25 F F1<ad66>2.866 E F0 5.366(.I)C 2.866(fn)
-5.366 G(o)-2.866 E F2(name)2.866 E F0(ar)2.866 E .366(guments are gi)
-.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 597.6 R F1<ad70>
-.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 614.4 R F1<ad70>
2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399
(uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4
F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144
609.6 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
626.4 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F
(If)5.098 E F1<ad61>2.598 E F0 1.916
(is supplied, the list printed includes all b)144 621.6 R 1.916
(is supplied, the list printed includes all b)144 638.4 R 1.916
(uiltins, with an indication of whether or not each is)-.2 F 2.879
(enabled. If)144 633.6 R F1<ad73>2.879 E F0 .379
(enabled. If)144 650.4 R F1<ad73>2.879 E F0 .379
(is supplied, the output is restricted to the POSIX)2.879 F F2(special)
2.879 E F0 -.2(bu)2.878 G 2.878(iltins. The).2 F .378(return v)2.878 F
(alue)-.25 E .994(is 0 unless a)144 645.6 R F2(name)3.854 E F0 .994
(alue)-.25 E .994(is 0 unless a)144 662.4 R F2(name)3.854 E F0 .994
(is not a shell b)3.674 F .994(uiltin or there is an error loading a ne)
-.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144
657.6 Q F1 -2.3 -.15(ev a)108 674.4 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
E F0(...])2.5 E(The)144 686.4 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C
674.4 Q F1 -2.3 -.15(ev a)108 691.2 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
E F0(...])2.5 E(The)144 703.2 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C
.671(re read and concatenated together into a single command.)-3.171 F
.67(This command is then read)5.67 F .495(and e)144 698.4 R -.15(xe)-.15
.67(This command is then read)5.67 F .495(and e)144 715.2 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 710.4 Q
-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 727.2 Q
(guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E
(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(62)193.45 E 0 Cg EP
%%Page: 63 63
BIN
View File
Binary file not shown.
+3 -1
View File
@@ -11820,7 +11820,9 @@ but the <code>FIGNORE</code> shell variable is used.
is considered.
The string is first split using the characters in the <code>IFS</code>
special variable as delimiters.
Shell quoting is honored.
Shell quoting is honored within the string, in order to provide a
mechanism for the words to contain shell metacharacters or characters
in the value of <code>IFS</code>.
Each word is then expanded using
brace expansion, tilde expansion, parameter and variable expansion,
command substitution, and arithmetic expansion,
+36 -34
View File
@@ -8609,13 +8609,15 @@ used to filter the matches, but the 'FIGNORE' shell variable is used.
Next, the string specified as the argument to the '-W' option is
considered. The string is first split using the characters in the 'IFS'
special variable as delimiters. Shell quoting is honored. Each word is
then expanded using brace expansion, tilde expansion, parameter and
variable expansion, command substitution, and arithmetic expansion, as
described above (*note Shell Expansions::). The results are split using
the rules described above (*note Word Splitting::). The results of the
expansion are prefix-matched against the word being completed, and the
matching words become the possible completions.
special variable as delimiters. Shell quoting is honored within the
string, in order to provide a mechanism for the words to contain shell
metacharacters or characters in the value of 'IFS'. Each word is then
expanded using brace expansion, tilde expansion, parameter and variable
expansion, command substitution, and arithmetic expansion, as described
above (*note Shell Expansions::). The results are split using the rules
described above (*note Word Splitting::). The results of the expansion
are prefix-matched against the word being completed, and the matching
words become the possible completions.
After these matches have been generated, any shell function or
command specified with the '-F' and '-C' options is invoked. When the
@@ -11684,32 +11686,32 @@ Node: Keyboard Macros357309
Node: Miscellaneous Commands357996
Node: Readline vi Mode363949
Node: Programmable Completion364856
Node: Programmable Completion Builtins372317
Node: A Programmable Completion Example382203
Node: Using History Interactively387454
Node: Bash History Facilities388138
Node: Bash History Builtins391143
Node: History Interaction395674
Node: Event Designators398741
Node: Word Designators399960
Node: Modifiers401597
Node: Installing Bash402999
Node: Basic Installation404136
Node: Compilers and Options407394
Node: Compiling For Multiple Architectures408135
Node: Installation Names409828
Node: Specifying the System Type410646
Node: Sharing Defaults411362
Node: Operation Controls412035
Node: Optional Features412993
Node: Reporting Bugs423519
Node: Major Differences From The Bourne Shell424713
Node: GNU Free Documentation License441565
Node: Indexes466742
Node: Builtin Index467196
Node: Reserved Word Index474023
Node: Variable Index476471
Node: Function Index492149
Node: Concept Index505452
Node: Programmable Completion Builtins372450
Node: A Programmable Completion Example382336
Node: Using History Interactively387587
Node: Bash History Facilities388271
Node: Bash History Builtins391276
Node: History Interaction395807
Node: Event Designators398874
Node: Word Designators400093
Node: Modifiers401730
Node: Installing Bash403132
Node: Basic Installation404269
Node: Compilers and Options407527
Node: Compiling For Multiple Architectures408268
Node: Installation Names409961
Node: Specifying the System Type410779
Node: Sharing Defaults411495
Node: Operation Controls412168
Node: Optional Features413126
Node: Reporting Bugs423652
Node: Major Differences From The Bourne Shell424846
Node: GNU Free Documentation License441698
Node: Indexes466875
Node: Builtin Index467329
Node: Reserved Word Index474156
Node: Variable Index476604
Node: Function Index492282
Node: Concept Index505585

End Tag Table
+3 -3
View File
@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/MacPorts 2017_2) (preloaded format=pdfetex 2017.7.5) 15 MAR 2018 14:13
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/MacPorts 2017_2) (preloaded format=pdfetex 2017.7.5) 19 MAR 2018 09:43
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@@ -362,7 +362,7 @@ gnored[]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130]
[131] [132] [133] [134] [135] [136]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 2290--2290
Overfull \hbox (26.43913pt too wide) in paragraph at lines 2292--2292
[] @texttt # Tilde expansion, with side effect of expanding tilde to full p
athname[]
@@ -411,7 +411,7 @@ e/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fon
ts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/typ
e1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
lic/cm-super/sfrm1440.pfb>
Output written on bashref.pdf (182 pages, 747794 bytes).
Output written on bashref.pdf (182 pages, 747913 bytes).
PDF statistics:
2615 PDF objects out of 2984 (max. 8388607)
2388 compressed objects within 24 object streams
BIN
View File
Binary file not shown.
+105 -103
View File
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.997 Copyright 2017 Radical Eye Software
%%Title: bashref.dvi
%%CreationDate: Thu Mar 15 18:13:40 2018
%%CreationDate: Mon Mar 19 13:43:29 2018
%%Pages: 182
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
@@ -12,7 +12,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2018.03.15:1413
%DVIPSSource: TeX output 2018.03.19:0943
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -17485,183 +17485,185 @@ g(argumen)m(t)h(to)g(the)f Ft(-W)f Fu(option)i(is)f(considered.)60
b(The)37 b(string)150 4113 y(is)c(\014rst)e(split)i(using)f(the)h(c)m
(haracters)h(in)e(the)h Ft(IFS)e Fu(sp)s(ecial)j(v)-5
b(ariable)33 b(as)g(delimiters.)48 b(Shell)32 b(quoting)h(is)150
4222 y(honored.)56 b(Eac)m(h)37 b(w)m(ord)e(is)h(then)f(expanded)g
(using)h(brace)g(expansion,)h(tilde)f(expansion,)h(parameter)150
4332 y(and)44 b(v)-5 b(ariable)46 b(expansion,)j(command)44
b(substitution,)49 b(and)44 b(arithmetic)i(expansion,)j(as)c(describ)s
(ed)150 4441 y(ab)s(o)m(v)m(e)38 b(\(see)f(Section)h(3.5)g([Shell)e
(Expansions],)i(page)f(22\).)61 b(The)36 b(results)h(are)g(split)f
(using)h(the)f(rules)150 4551 y(describ)s(ed)29 b(ab)s(o)m(v)m(e)i
(\(see)f(Section)h(3.5.7)h([W)-8 b(ord)30 b(Splitting],)h(page)f(31\).)
42 b(The)30 b(results)f(of)h(the)g(expansion)150 4660
y(are)f(pre\014x-matc)m(hed)h(against)g(the)f(w)m(ord)g(b)s(eing)f
(completed,)j(and)d(the)i(matc)m(hing)g(w)m(ords)e(b)s(ecome)i(the)150
4770 y(p)s(ossible)g(completions.)275 4902 y(After)f(these)g(matc)m
(hes)i(ha)m(v)m(e)f(b)s(een)f(generated,)h(an)m(y)g(shell)f(function)g
(or)g(command)g(sp)s(eci\014ed)f(with)150 5011 y(the)36
b Ft(-F)f Fu(and)g Ft(-C)g Fu(options)h(is)g(in)m(v)m(ok)m(ed.)59
b(When)35 b(the)h(command)g(or)f(function)h(is)g(in)m(v)m(ok)m(ed,)i
(the)e Ft(COMP_)150 5121 y(LINE)p Fu(,)42 b Ft(COMP_POINT)p
4222 y(honored)f(within)h(the)g(string,)h(in)f(order)f(to)i(pro)m(vide)
f(a)h(mec)m(hanism)f(for)g(the)g(w)m(ords)g(to)g(con)m(tain)i(shell)150
4332 y(metac)m(haracters)e(or)e(c)m(haracters)i(in)e(the)g(v)-5
b(alue)31 b(of)g Ft(IFS)p Fu(.)42 b(Eac)m(h)32 b(w)m(ord)e(is)h(then)g
(expanded)f(using)h(brace)150 4441 y(expansion,)g(tilde)h(expansion,)f
(parameter)g(and)g(v)-5 b(ariable)32 b(expansion,)f(command)f
(substitution,)i(and)150 4551 y(arithmetic)c(expansion,)f(as)g(describ)
s(ed)e(ab)s(o)m(v)m(e)i(\(see)h(Section)f(3.5)g([Shell)g(Expansions],)g
(page)g(22\).)40 b(The)150 4660 y(results)23 b(are)h(split)g(using)f
(the)h(rules)f(describ)s(ed)f(ab)s(o)m(v)m(e)j(\(see)g(Section)f(3.5.7)
h([W)-8 b(ord)24 b(Splitting],)i(page)e(31\).)150 4770
y(The)j(results)h(of)f(the)h(expansion)g(are)g(pre\014x-matc)m(hed)g
(against)h(the)f(w)m(ord)f(b)s(eing)g(completed,)j(and)d(the)150
4880 y(matc)m(hing)k(w)m(ords)f(b)s(ecome)h(the)g(p)s(ossible)f
(completions.)275 5011 y(After)f(these)g(matc)m(hes)i(ha)m(v)m(e)f(b)s
(een)f(generated,)h(an)m(y)g(shell)f(function)g(or)g(command)g(sp)s
(eci\014ed)f(with)150 5121 y(the)36 b Ft(-F)f Fu(and)g
Ft(-C)g Fu(options)h(is)g(in)m(v)m(ok)m(ed.)59 b(When)35
b(the)h(command)g(or)f(function)h(is)g(in)m(v)m(ok)m(ed,)i(the)e
Ft(COMP_)150 5230 y(LINE)p Fu(,)42 b Ft(COMP_POINT)p
Fu(,)d Ft(COMP_KEY)p Fu(,)i(and)e Ft(COMP_TYPE)f Fu(v)-5
b(ariables)41 b(are)f(assigned)g(v)-5 b(alues)41 b(as)f(describ)s(ed)
150 5230 y(ab)s(o)m(v)m(e)34 b(\(see)g(Section)g(5.2)g([Bash)f(V)-8
150 5340 y(ab)s(o)m(v)m(e)34 b(\(see)g(Section)g(5.2)g([Bash)f(V)-8
b(ariables],)36 b(page)d(72\).)50 b(If)33 b(a)g(shell)g(function)g(is)g
(b)s(eing)f(in)m(v)m(ok)m(ed,)k(the)150 5340 y Ft(COMP_WORDS)j
Fu(and)i Ft(COMP_CWORD)d Fu(v)-5 b(ariables)42 b(are)g(also)h(set.)74
b(When)41 b(the)h(function)f(or)h(command)f(is)p eop
end
(b)s(eing)f(in)m(v)m(ok)m(ed,)k(the)p eop end
%%Page: 132 138
TeXDict begin 132 137 bop 150 -116 a Fu(Chapter)30 b(8:)41
b(Command)29 b(Line)i(Editing)2062 b(132)150 299 y(in)m(v)m(ok)m(ed,)37
b(the)e(\014rst)f(argumen)m(t)h(\($1\))h(is)e(the)h(name)g(of)f(the)h
(command)f(whose)h(argumen)m(ts)f(are)h(b)s(eing)150
408 y(completed,)30 b(the)f(second)f(argumen)m(t)h(\($2\))h(is)f(the)g
b(Command)29 b(Line)i(Editing)2062 b(132)150 299 y Ft(COMP_WORDS)39
b Fu(and)i Ft(COMP_CWORD)d Fu(v)-5 b(ariables)42 b(are)g(also)h(set.)74
b(When)41 b(the)h(function)f(or)h(command)f(is)150 408
y(in)m(v)m(ok)m(ed,)c(the)e(\014rst)f(argumen)m(t)h(\($1\))h(is)e(the)h
(name)g(of)f(the)h(command)f(whose)h(argumen)m(ts)f(are)h(b)s(eing)150
518 y(completed,)30 b(the)f(second)f(argumen)m(t)h(\($2\))h(is)f(the)g
(w)m(ord)f(b)s(eing)g(completed,)i(and)e(the)h(third)e(argumen)m(t)150
518 y(\($3\))40 b(is)f(the)f(w)m(ord)h(preceding)f(the)h(w)m(ord)f(b)s
628 y(\($3\))40 b(is)f(the)f(w)m(ord)h(preceding)f(the)h(w)m(ord)f(b)s
(eing)g(completed)i(on)e(the)h(curren)m(t)f(command)h(line.)65
b(No)150 628 y(\014ltering)33 b(of)h(the)f(generated)h(completions)g
b(No)150 737 y(\014ltering)33 b(of)h(the)f(generated)h(completions)g
(against)h(the)e(w)m(ord)g(b)s(eing)f(completed)i(is)g(p)s(erformed;)f
(the)150 737 y(function)d(or)g(command)h(has)f(complete)i(freedom)e(in)
g(generating)h(the)g(matc)m(hes.)275 871 y(An)m(y)j(function)h(sp)s
(the)150 847 y(function)d(or)g(command)h(has)f(complete)i(freedom)e(in)
g(generating)h(the)g(matc)m(hes.)275 981 y(An)m(y)j(function)h(sp)s
(eci\014ed)f(with)g Ft(-F)g Fu(is)h(in)m(v)m(ok)m(ed)h(\014rst.)53
b(The)35 b(function)f(ma)m(y)h(use)g(an)m(y)g(of)g(the)g(shell)150
981 y(facilities,)50 b(including)44 b(the)h Ft(compgen)d
1090 y(facilities,)50 b(including)44 b(the)h Ft(compgen)d
Fu(and)i Ft(compopt)e Fu(builtins)i(describ)s(ed)f(b)s(elo)m(w)h(\(see)
i(Section)f(8.7)150 1090 y([Programmable)31 b(Completion)h(Builtins],)f
i(Section)f(8.7)150 1200 y([Programmable)31 b(Completion)h(Builtins],)f
(page)h(133\),)g(to)g(generate)g(the)f(matc)m(hes.)42
b(It)31 b(m)m(ust)g(put)f(the)150 1200 y(p)s(ossible)g(completions)h
b(It)31 b(m)m(ust)g(put)f(the)150 1310 y(p)s(ossible)g(completions)h
(in)f(the)h Ft(COMPREPLY)d Fu(arra)m(y)j(v)-5 b(ariable,)31
b(one)g(p)s(er)e(arra)m(y)i(elemen)m(t.)275 1334 y(Next,)26
b(one)g(p)s(er)e(arra)m(y)i(elemen)m(t.)275 1443 y(Next,)26
b(an)m(y)f(command)f(sp)s(eci\014ed)g(with)g(the)h Ft(-C)f
Fu(option)h(is)f(in)m(v)m(ok)m(ed)i(in)e(an)g(en)m(vironmen)m(t)h
(equiv)-5 b(alen)m(t)150 1443 y(to)26 b(command)e(substitution.)39
(equiv)-5 b(alen)m(t)150 1553 y(to)26 b(command)e(substitution.)39
b(It)25 b(should)f(prin)m(t)h(a)g(list)h(of)f(completions,)i(one)e(p)s
(er)f(line,)j(to)f(the)f(standard)150 1553 y(output.)40
(er)f(line,)j(to)f(the)f(standard)150 1663 y(output.)40
b(Bac)m(kslash)32 b(ma)m(y)f(b)s(e)f(used)g(to)h(escap)s(e)g(a)f
(newline,)h(if)f(necessary)-8 b(.)275 1687 y(After)24
(newline,)h(if)f(necessary)-8 b(.)275 1797 y(After)24
b(all)i(of)f(the)f(p)s(ossible)g(completions)i(are)f(generated,)i(an)m
(y)e(\014lter)g(sp)s(eci\014ed)e(with)i(the)g Ft(-X)e
Fu(option)150 1797 y(is)34 b(applied)g(to)g(the)h(list.)52
Fu(option)150 1906 y(is)34 b(applied)g(to)g(the)h(list.)52
b(The)33 b(\014lter)h(is)g(a)h(pattern)f(as)g(used)f(for)h(pathname)g
(expansion;)i(a)e(`)p Ft(&)p Fu(')g(in)g(the)150 1906
(expansion;)i(a)e(`)p Ft(&)p Fu(')g(in)g(the)150 2016
y(pattern)28 b(is)f(replaced)h(with)g(the)f(text)i(of)f(the)f(w)m(ord)h
(b)s(eing)f(completed.)40 b(A)28 b(literal)h(`)p Ft(&)p
Fu(')f(ma)m(y)g(b)s(e)f(escap)s(ed)150 2016 y(with)38
Fu(')f(ma)m(y)g(b)s(e)f(escap)s(ed)150 2125 y(with)38
b(a)h(bac)m(kslash;)k(the)38 b(bac)m(kslash)h(is)g(remo)m(v)m(ed)g(b)s
(efore)f(attempting)h(a)g(matc)m(h.)65 b(An)m(y)39 b(completion)150
2125 y(that)32 b(matc)m(hes)g(the)g(pattern)g(will)f(b)s(e)g(remo)m(v)m
2235 y(that)32 b(matc)m(hes)g(the)g(pattern)g(will)f(b)s(e)g(remo)m(v)m
(ed)h(from)f(the)h(list.)44 b(A)32 b(leading)g(`)p Ft(!)p
Fu(')f(negates)i(the)f(pattern;)150 2235 y(in)d(this)g(case)h(an)m(y)g
Fu(')f(negates)i(the)f(pattern;)150 2345 y(in)d(this)g(case)h(an)m(y)g
(completion)h(not)e(matc)m(hing)h(the)g(pattern)f(will)h(b)s(e)e(remo)m
(v)m(ed.)42 b(If)29 b(the)g Ft(nocasematch)150 2345 y
(v)m(ed.)42 b(If)29 b(the)g Ft(nocasematch)150 2454 y
Fu(shell)k(option)f(\(see)i(the)e(description)g(of)h
Ft(shopt)e Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g
(65\))h(is)150 2454 y(enabled,)d(the)f(matc)m(h)h(is)g(p)s(erformed)e
(65\))h(is)150 2564 y(enabled,)d(the)f(matc)m(h)h(is)g(p)s(erformed)e
(without)h(regard)g(to)h(the)g(case)g(of)g(alphab)s(etic)g(c)m
(haracters.)275 2588 y(Finally)-8 b(,)42 b(an)m(y)c(pre\014x)g(and)f
(haracters.)275 2698 y(Finally)-8 b(,)42 b(an)m(y)c(pre\014x)g(and)f
(su\016x)h(sp)s(eci\014ed)f(with)i(the)f Ft(-P)g Fu(and)g
Ft(-S)f Fu(options)i(are)g(added)f(to)h(eac)m(h)150 2698
Ft(-S)f Fu(options)i(are)g(added)f(to)h(eac)m(h)150 2807
y(mem)m(b)s(er)31 b(of)g(the)h(completion)h(list,)f(and)f(the)h(result)
f(is)h(returned)e(to)i(the)g(Readline)g(completion)h(co)s(de)150
2807 y(as)e(the)f(list)h(of)g(p)s(ossible)f(completions.)275
2941 y(If)d(the)h(previously-applied)f(actions)i(do)f(not)g(generate)h
2917 y(as)e(the)f(list)h(of)g(p)s(ossible)f(completions.)275
3051 y(If)d(the)h(previously-applied)f(actions)i(do)f(not)g(generate)h
(an)m(y)f(matc)m(hes,)i(and)d(the)h Ft(-o)h(dirnames)d
Fu(op-)150 3051 y(tion)j(w)m(as)f(supplied)f(to)i Ft(complete)d
Fu(op-)150 3160 y(tion)j(w)m(as)f(supplied)f(to)i Ft(complete)d
Fu(when)h(the)h(compsp)s(ec)g(w)m(as)g(de\014ned,)g(directory)g(name)h
(completion)150 3160 y(is)h(attempted.)275 3294 y(If)35
(completion)150 3270 y(is)h(attempted.)275 3404 y(If)35
b(the)g Ft(-o)30 b(plusdirs)j Fu(option)j(w)m(as)g(supplied)e(to)i
Ft(complete)e Fu(when)g(the)i(compsp)s(ec)f(w)m(as)h(de\014ned,)150
3404 y(directory)g(name)f(completion)i(is)e(attempted)h(and)f(an)m(y)h
3513 y(directory)g(name)f(completion)i(is)e(attempted)h(and)f(an)m(y)h
(matc)m(hes)g(are)g(added)f(to)h(the)f(results)g(of)h(the)150
3513 y(other)31 b(actions.)275 3647 y(By)g(default,)i(if)e(a)h(compsp)s
3623 y(other)31 b(actions.)275 3757 y(By)g(default,)i(if)e(a)h(compsp)s
(ec)f(is)h(found,)f(whatev)m(er)h(it)g(generates)h(is)e(returned)g(to)h
(the)g(completion)150 3757 y(co)s(de)21 b(as)g(the)g(full)g(set)g(of)g
(the)g(completion)150 3867 y(co)s(de)21 b(as)g(the)g(full)g(set)g(of)g
(p)s(ossible)f(completions.)39 b(The)20 b(default)h(Bash)g(completions)
h(are)g(not)f(attempted,)150 3867 y(and)30 b(the)g(Readline)h(default)f
h(are)g(not)f(attempted,)150 3976 y(and)30 b(the)g(Readline)h(default)f
(of)g(\014lename)h(completion)g(is)f(disabled.)41 b(If)29
b(the)i Ft(-o)e(bashdefault)e Fu(option)150 3976 y(w)m(as)d(supplied)e
b(the)i Ft(-o)e(bashdefault)e Fu(option)150 4086 y(w)m(as)d(supplied)e
(to)j Ft(complete)c Fu(when)i(the)g(compsp)s(ec)h(w)m(as)g(de\014ned,)g
(the)f(default)h(Bash)g(completions)h(are)150 4086 y(attempted)j(if)f
(the)f(default)h(Bash)g(completions)h(are)150 4195 y(attempted)j(if)f
(the)h(compsp)s(ec)f(generates)h(no)f(matc)m(hes.)41
b(If)27 b(the)g Ft(-o)j(default)25 b Fu(option)j(w)m(as)f(supplied)f
(to)150 4195 y Ft(complete)f Fu(when)h(the)h(compsp)s(ec)f(w)m(as)i
(to)150 4305 y Ft(complete)f Fu(when)h(the)h(compsp)s(ec)f(w)m(as)i
(de\014ned,)e(Readline's)i(default)f(completion)h(will)f(b)s(e)f(p)s
(erformed)150 4305 y(if)k(the)h(compsp)s(ec)f(\(and,)g(if)h(attempted,)
(erformed)150 4415 y(if)k(the)h(compsp)s(ec)f(\(and,)g(if)h(attempted,)
g(the)g(default)f(Bash)h(completions\))h(generate)g(no)e(matc)m(hes.)
275 4439 y(When)20 b(a)i(compsp)s(ec)e(indicates)i(that)g(directory)g
275 4548 y(When)20 b(a)i(compsp)s(ec)e(indicates)i(that)g(directory)g
(name)f(completion)h(is)f(desired,)i(the)e(programmable)150
4548 y(completion)31 b(functions)e(force)i(Readline)f(to)h(app)s(end)d
4658 y(completion)31 b(functions)e(force)i(Readline)f(to)h(app)s(end)d
(a)i(slash)g(to)g(completed)h(names)e(whic)m(h)h(are)g(sym-)150
4658 y(b)s(olic)40 b(links)g(to)h(directories,)j(sub)5
4768 y(b)s(olic)40 b(links)g(to)h(directories,)j(sub)5
b(ject)40 b(to)h(the)f(v)-5 b(alue)41 b(of)f(the)g Fr(mark-directories)
45 b Fu(Readline)c(v)-5 b(ariable,)150 4768 y(regardless)31
45 b Fu(Readline)c(v)-5 b(ariable,)150 4877 y(regardless)31
b(of)f(the)h(setting)g(of)g(the)f Fr(mark-symlink)m(ed-directories)36
b Fu(Readline)31 b(v)-5 b(ariable.)275 4902 y(There)25
b Fu(Readline)31 b(v)-5 b(ariable.)275 5011 y(There)25
b(is)i(some)g(supp)s(ort)e(for)h(dynamically)h(mo)s(difying)f
(completions.)40 b(This)26 b(is)g(most)h(useful)f(when)150
5011 y(used)40 b(in)h(com)m(bination)i(with)e(a)g(default)h(completion)
5121 y(used)40 b(in)h(com)m(bination)i(with)e(a)g(default)h(completion)
g(sp)s(eci\014ed)f(with)g Ft(-D)p Fu(.)72 b(It's)42 b(p)s(ossible)f
(for)g(shell)150 5121 y(functions)28 b(executed)h(as)f(completion)i
(for)g(shell)150 5230 y(functions)28 b(executed)h(as)f(completion)i
(handlers)d(to)i(indicate)g(that)g(completion)g(should)e(b)s(e)h
(retried)g(b)m(y)150 5230 y(returning)j(an)i(exit)g(status)f(of)h(124.)
(retried)g(b)m(y)150 5340 y(returning)j(an)i(exit)g(status)f(of)h(124.)
48 b(If)31 b(a)i(shell)f(function)g(returns)f(124,)k(and)c(c)m(hanges)j
(the)e(compsp)s(ec)150 5340 y(asso)s(ciated)43 b(with)e(the)g(command)g
(on)g(whic)m(h)g(completion)i(is)e(b)s(eing)g(attempted)h(\(supplied)e
(as)i(the)p eop end
(the)e(compsp)s(ec)p eop end
%%Page: 133 139
TeXDict begin 133 138 bop 150 -116 a Fu(Chapter)30 b(8:)41
b(Command)29 b(Line)i(Editing)2062 b(133)150 299 y(\014rst)29
b(Command)29 b(Line)i(Editing)2062 b(133)150 299 y(asso)s(ciated)43
b(with)e(the)g(command)g(on)g(whic)m(h)g(completion)i(is)e(b)s(eing)g
(attempted)h(\(supplied)e(as)i(the)150 408 y(\014rst)29
b(argumen)m(t)h(when)e(the)i(function)f(is)g(executed\),)j
(programmable)d(completion)i(restarts)f(from)f(the)150
408 y(b)s(eginning,)e(with)g(an)h(attempt)g(to)g(\014nd)e(a)i(new)e
518 y(b)s(eginning,)e(with)g(an)h(attempt)g(to)g(\014nd)e(a)i(new)e
(compsp)s(ec)i(for)f(that)h(command.)39 b(This)27 b(allo)m(ws)h(a)g
(set)g(of)150 518 y(completions)33 b(to)f(b)s(e)g(built)f(dynamically)i
(set)g(of)150 628 y(completions)33 b(to)f(b)s(e)g(built)f(dynamically)i
(as)f(completion)h(is)f(attempted,)h(rather)f(than)f(b)s(eing)g(loaded)
150 628 y(all)g(at)g(once.)275 770 y(F)-8 b(or)38 b(instance,)h
150 737 y(all)g(at)g(once.)275 869 y(F)-8 b(or)38 b(instance,)h
(assuming)e(that)h(there)f(is)h(a)f(library)g(of)g(compsp)s(ecs,)i(eac)
m(h)g(k)m(ept)e(in)g(a)h(\014le)f(corre-)150 879 y(sp)s(onding)g(to)j
m(h)g(k)m(ept)e(in)g(a)h(\014le)f(corre-)150 978 y(sp)s(onding)g(to)j
(the)f(name)f(of)h(the)g(command,)i(the)e(follo)m(wing)h(default)f
(completion)h(function)e(w)m(ould)150 989 y(load)31 b(completions)g
(dynamically:)390 1131 y Ft(_completion_loader\(\))390
1241 y({)581 1350 y(.)47 b("/etc/bash_completion.d/$1)o(.sh)o(")42
b(>/dev/null)j(2>&1)i(&&)g(return)f(124)390 1460 y(})390
1569 y(complete)g(-D)h(-F)g(_completion_loader)c(-o)k(bashdefault)e(-o)
i(default)150 1821 y Fs(8.7)68 b(Programmable)47 b(Completion)f
(Builtins)150 1981 y Fu(Three)21 b(builtin)g(commands)f(are)i(a)m(v)-5
(completion)h(function)e(w)m(ould)150 1088 y(load)31
b(completions)g(dynamically:)390 1219 y Ft(_completion_loader\(\))390
1329 y({)581 1439 y(.)47 b("/etc/bash_completion.d/$1)o(.sh)o(")42
b(>/dev/null)j(2>&1)i(&&)g(return)f(124)390 1548 y(})390
1658 y(complete)g(-D)h(-F)g(_completion_loader)c(-o)k(bashdefault)e(-o)
i(default)150 1893 y Fs(8.7)68 b(Programmable)47 b(Completion)f
(Builtins)150 2052 y Fu(Three)21 b(builtin)g(commands)f(are)i(a)m(v)-5
b(ailable)24 b(to)e(manipulate)f(the)h(programmable)f(completion)h
(facilities:)150 2090 y(one)34 b(to)g(sp)s(ecify)f(ho)m(w)h(the)f
(facilities:)150 2162 y(one)34 b(to)g(sp)s(ecify)f(ho)m(w)h(the)f
(argumen)m(ts)h(to)g(a)g(particular)g(command)f(are)h(to)g(b)s(e)f
(completed,)j(and)d(t)m(w)m(o)150 2200 y(to)e(mo)s(dify)f(the)g
(completion)i(as)e(it)h(is)g(happ)s(ening.)150 2371 y
Ft(compgen)870 2509 y(compgen)46 b([)p Fj(option)p Ft(])f([)p
Fj(word)p Ft(])630 2647 y Fu(Generate)27 b(p)s(ossible)e(completion)i
(completed,)j(and)d(t)m(w)m(o)150 2271 y(to)e(mo)s(dify)f(the)g
(completion)i(as)e(it)h(is)g(happ)s(ening.)150 2425 y
Ft(compgen)870 2556 y(compgen)46 b([)p Fj(option)p Ft(])f([)p
Fj(word)p Ft(])630 2688 y Fu(Generate)27 b(p)s(ossible)e(completion)i
(matc)m(hes)g(for)e Fr(w)m(ord)k Fu(according)e(to)f(the)g
Fr(option)p Fu(s,)h(whic)m(h)630 2757 y(ma)m(y)32 b(b)s(e)f(an)m(y)h
Fr(option)p Fu(s,)h(whic)m(h)630 2797 y(ma)m(y)32 b(b)s(e)f(an)m(y)h
(option)g(accepted)g(b)m(y)g(the)f Ft(complete)f Fu(builtin)h(with)g
(the)g(exception)i(of)f Ft(-p)630 2866 y Fu(and)39 b
(the)g(exception)i(of)f Ft(-p)630 2907 y Fu(and)39 b
Ft(-r)p Fu(,)i(and)e(write)h(the)g(matc)m(hes)g(to)g(the)g(standard)f
(output.)68 b(When)39 b(using)g(the)h Ft(-F)630 2976
(output.)68 b(When)39 b(using)g(the)h Ft(-F)630 3017
y Fu(or)33 b Ft(-C)f Fu(options,)i(the)e(v)-5 b(arious)33
b(shell)g(v)-5 b(ariables)33 b(set)g(b)m(y)g(the)g(programmable)g
(completion)630 3086 y(facilities,)g(while)d(a)m(v)-5
(completion)630 3126 y(facilities,)g(while)d(a)m(v)-5
b(ailable,)33 b(will)e(not)g(ha)m(v)m(e)g(useful)f(v)-5
b(alues.)630 3224 y(The)34 b(matc)m(hes)h(will)g(b)s(e)f(generated)h
b(alues.)630 3258 y(The)34 b(matc)m(hes)h(will)g(b)s(e)f(generated)h
(in)f(the)h(same)g(w)m(a)m(y)g(as)g(if)f(the)h(programmable)f(com-)630
3334 y(pletion)d(co)s(de)g(had)f(generated)i(them)e(directly)i(from)e
(a)h(completion)h(sp)s(eci\014cation)f(with)630 3443
3367 y(pletion)d(co)s(de)g(had)f(generated)i(them)e(directly)i(from)e
(a)h(completion)h(sp)s(eci\014cation)f(with)630 3477
y(the)e(same)h(\015ags.)40 b(If)29 b Fr(w)m(ord)j Fu(is)d(sp)s
(eci\014ed,)g(only)g(those)h(completions)g(matc)m(hing)g
Fr(w)m(ord)j Fu(will)630 3553 y(b)s(e)d(displa)m(y)m(ed.)630
3691 y(The)24 b(return)g(v)-5 b(alue)25 b(is)g(true)f(unless)g(an)h(in)
Fr(w)m(ord)j Fu(will)630 3586 y(b)s(e)d(displa)m(y)m(ed.)630
3718 y(The)24 b(return)g(v)-5 b(alue)25 b(is)g(true)f(unless)g(an)h(in)
m(v)-5 b(alid)25 b(option)g(is)g(supplied,)f(or)h(no)g(matc)m(hes)g(w)m
(ere)630 3801 y(generated.)150 3968 y Ft(complete)870
4106 y(complete)46 b([-abcdefgjksuv])d([-o)k Fj(comp-option)p
Ft(])e([-DE])h([-A)h Fj(action)p Ft(])f([-)870 4215 y(G)h
Fj(globpat)p Ft(])f([-W)h Fj(wordlist)p Ft(])870 4325
(ere)630 3828 y(generated.)150 3981 y Ft(complete)870
4113 y(complete)46 b([-abcdefgjksuv])d([-o)k Fj(comp-option)p
Ft(])e([-DE])h([-A)h Fj(action)p Ft(])f([-)870 4222 y(G)h
Fj(globpat)p Ft(])f([-W)h Fj(wordlist)p Ft(])870 4332
y([-F)g Fj(function)p Ft(])e([-C)i Fj(command)p Ft(])f([-X)h
Fj(filterpat)p Ft(])870 4435 y([-P)g Fj(prefix)p Ft(])f([-S)h
Fj(filterpat)p Ft(])870 4441 y([-P)g Fj(prefix)p Ft(])f([-S)h
Fj(suffix)p Ft(])e Fj(name)i Ft([)p Fj(name)f Ft(...])870
4544 y(complete)g(-pr)g([-DE])h([)p Fj(name)f Ft(...)o(])630
4551 y(complete)g(-pr)g([-DE])h([)p Fj(name)f Ft(...)o(])630
4682 y Fu(Sp)s(ecify)37 b(ho)m(w)h(argumen)m(ts)f(to)i(eac)m(h)g
Fr(name)j Fu(should)37 b(b)s(e)g(completed.)63 b(If)38
b(the)f Ft(-p)g Fu(option)630 4792 y(is)30 b(supplied,)e(or)i(if)g(no)f
+5 -3
View File
@@ -334,9 +334,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--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-
pleted.
is expanded. Shell quoting is honored within _w_o_r_d_l_i_s_t,
in order to provide a mechanism for the words to contain
shell metacharacters or characters in the value of IIFFSS.
The possible completions are the members of the resul-
tant list which match the word being completed.
--XX _f_i_l_t_e_r_p_a_t
_f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion.
It is applied to the list of possible completions gener-
+1315 -1306
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Thu Mar 15 14:13:34 2018
%%CreationDate: Mon Mar 19 09:43:23 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 3
+31 -433
View File
@@ -43,45 +43,29 @@
<td>A more ksh-compatible 'autoload' (with lazy load).</td>
<td>ksh</td>
</tr>
<tr>
<td>./functions/autoload.v3</td>
<td>An updated ksh-compatible 'autoload'.</td>
<td>ksh</td>
</tr>
<tr>
<td>./functions/basename</td>
<td>A replacement for basename(1).</td>
<td>basename</td>
</tr>
<tr>
<td>./functions/basename2</td>
<td>Fast basename(1) and dirname(1) functions for BASH/SH.</td>
<td>basename, dirname</td>
</tr>
<tr>
<td>./functions/coproc.bash</td>
<td>Start, control, and end coprocesses.</td>
</tr>
<tr>
<td>./functions/coshell.bash</td>
<td>Control shell coprocesses (see coprocess.bash).</td>
</tr>
<tr>
<td>./functions/coshell.README</td>
<td>README for coshell and coproc.</td>
</tr>
<tr>
<td>./functions/csh-compat</td>
<td>A C-shell compatibility package.</td>
<td>csh</td>
</tr>
<tr>
<td>./functions/dirfuncs</td>
<td>Directory manipulation functions from the book 'The Korn Shell'.</td>
</tr>
<tr>
<td>./functions/dirname</td>
<td>A replacement for dirname(1).</td>
<td>dirname</td>
</tr>
<tr>
<td>./functions/emptydir</td>
<td>Find out if a directory is empty.</td>
<td>./functions/dirstack</td>
<td>Directory stack functions.</td>
</tr>
<tr>
<td>./functions/exitstat</td>
@@ -100,18 +84,6 @@
<td>Front end to sync TERM changes to both stty(1) and readline 'bind'.</td>
<td>stty.bash</td>
</tr>
<tr>
<td>./functions/func</td>
<td>Print out definitions for functions named by arguments.</td>
</tr>
<tr>
<td>./functions/gethtml</td>
<td>Get a web page from a remote server (wget(1) in bash!).</td>
</tr>
<tr>
<td>./functions/getoptx.bash</td>
<td>getopt function that parses long-named options.</td>
</tr>
<tr>
<td>./functions/inetaddr</td>
<td>Internet address conversion (inet2hex & hex2inet).</td>
@@ -121,10 +93,6 @@
<td>Return zero if the argument is in the path and executable.</td>
<td>inpath</td>
</tr>
<tr>
<td>./functions/isnum.bash</td>
<td>Test user input on numeric or character value.</td>
</tr>
<tr>
<td>./functions/isnum2</td>
<td>Test user input on numeric values, with floating point.</td>
@@ -133,18 +101,6 @@
<td>./functions/isvalidip</td>
<td>Test user input for valid IP Addresses.</td>
</tr>
<tr>
<td>./functions/jdate.bash</td>
<td>Julian date conversion.</td>
</tr>
<tr>
<td>./functions/jj.bash</td>
<td>Look for running jobs.</td>
</tr>
<tr>
<td>./functions/keep</td>
<td>Try to keep some programs in the foreground and running.</td>
</tr>
<tr>
<td>./functions/ksh-cd</td>
<td>ksh-like 'cd': cd [-LP] [dir [change]].</td>
@@ -164,47 +120,14 @@
<td>./functions/login</td>
<td>Replace the 'login' and 'newgrp' builtins in old Bourne shells.</td>
</tr>
<tr>
<td>./functions/lowercase</td>
<td>Rename files to lower case.</td>
<td>rename lower</td>
</tr>
<tr>
<td>./functions/manpage</td>
<td>Find and print a manual page.</td>
<td>fman</td>
</tr>
<tr>
<td>./functions/mhfold</td>
<td>Print MH folders, useful only because folders(1) doesn't print mod date/times.</td>
</tr>
<tr>
<td>./functions/notify.bash</td>
<td>Notify when jobs change status.</td>
</tr>
<tr>
<td>./functions/pathfuncs</td>
<td>Path related functions (no_path, add_path, pre-path, del_path).</td>
<td>path</td>
</tr>
<tr>
<td>./functions/README</td>
<td>README</td>
</tr>
<tr>
<td>./functions/recurse</td>
<td>Recursive directory traverser.</td>
</tr>
<tr>
<td>./functions/repeat2</td>
<td>A clone of C shell builtin 'repeat'.</td>
<td>repeat, csh</td>
</tr>
<tr>
<td>./functions/repeat3</td>
<td>A clone of C shell builtin 'repeat'.</td>
<td>repeat, csh</td>
</tr>
<tr>
<td>./functions/seq</td>
<td>Generate a sequence from m to n, m defaults to 1.</td>
@@ -237,10 +160,6 @@
<td>A function to emulate the ancient ksh builtin.</td>
<td>ksh</td>
</tr>
<tr>
<td>./functions/term</td>
<td>A shell function to set the terminal type interactively or not.</td>
</tr>
<tr>
<td>./functions/whatis</td>
<td>An implementation of the 10th Edition Unix sh builtin 'whatis(1)' command.</td>
@@ -253,17 +172,6 @@
<td>./functions/which</td>
<td>An emulation of 'which(1)' as it appears in FreeBSD.</td>
</tr>
<tr>
<td>./functions/xalias.bash</td>
<td>Convert csh alias commands to bash functions.</td>
<td>csh, aliasconv</td>
</tr>
<tr>
<td>./functions/xfind.bash</td>
<td>A 'find(1)' clone.</td>
</tr>
<tr>
</tr>
<tr>
<td>./loadables/</td>
<td>Example loadable replacements</td>
@@ -278,27 +186,19 @@
<td>cat(1) replacement with no options - the way cat was intended.</td>
<td>cat, readline pager</td>
</tr>
<tr>
<td>./loadables/cut.c</td>
<td>cut(1) replacement.</td>
</tr>
<tr>
<td>./loadables/dirname.c</td>
<td>Return directory portion of pathname.</td>
<td>dirname</td>
</tr>
<tr>
<td>./loadables/fdflags.c</td>
<td>Display or modify file descriptor flags</td>
</tr>
<tr>
<td>./loadables/finfo.c</td>
<td>Print file info.</td>
</tr>
<tr>
<td>./loadables/getconf.c</td>
<td>POSIX.2 getconf utility.</td>
</tr>
<tr>
<td>./loadables/getconf.h</td>
<td>Replacement definitions for ones the system doesn't provide.</td>
</tr>
<tr>
<td>./loadables/head.c</td>
<td>Copy first part of files.</td>
@@ -323,10 +223,18 @@
<td>./loadables/Makefile.in</td>
<td>Simple makefile for the sample loadable builtins.</td>
</tr>
<tr>
<td>./loadables/Makefile.inc.in</td>
<td>Sample makefile to use for loadable builtin development.</td>
</tr>
<tr>
<td>./loadables/mkdir.c</td>
<td>Make directories.</td>
</tr>
<tr>
<td>./loadables/mypid.c</td>
<td>Demonstrate how a loadable builtin can create and delete shell variables.</td>
</tr>
<tr>
<td>./loadables/necho.c</td>
<td>echo without options or argument interpretation.</td>
@@ -355,14 +263,26 @@
<td>./loadables/realpath.c</td>
<td>Canonicalize pathnames, resolving symlinks.</td>
</tr>
<tr>
<td>./loadables/rm.c</td>
<td>Remove file.</td>
</tr>
<tr>
<td>./loadables/rmdir.c</td>
<td>Remove directory.</td>
</tr>
<tr>
<td>./loadables/setpgid.c</td>
<td>Set a child process's process group.
</tr>
<tr>
<td>./loadables/sleep.c</td>
<td>sleep for fractions of a second.</td>
</tr>
<tr>
<td>./loadables/stat.c</td>
<td>Load an associative array with stat information about a file.</td>
</tr>
<tr>
<td>./loadables/strftime.c</td>
<td>Loadable builtin interface to strftime(3).</td>
@@ -430,221 +350,12 @@
<td>./misc/README</td>
<td>README</td>
</tr>
<tr>
<td>./misc/suncmd.termcap</td>
<td>SunView TERMCAP string.</td>
</tr>
<tr>
</tr>
<tr>
<td>./scripts.noah</td>
<td>Noah Friedman's collection of scripts (updated to bash v2 syntax by Chet Ramey)</td>
</tr>
<tr>
<td>./scripts.noah/aref.bash</td>
<td>Pseudo-arrays and substring indexing examples.</td>
</tr>
<tr>
<td>./scripts.noah/bash.sub.bash</td>
<td>Library functions used by require.bash.</td>
</tr>
<tr>
<td>./scripts.noah/bash_version.bash</td>
<td>A function to slice up $BASH_VERSION.</td>
</tr>
<tr>
<td>./scripts.noah/meta.bash</td>
<td>Enable and disable eight-bit readline input.</td>
</tr>
<tr>
<td>./scripts.noah/mktmp.bash</td>
<td>Make a temporary file with a unique name.</td>
</tr>
<tr>
<td>./scripts.noah/number.bash</td>
<td>A fun hack to translate numerals into English.</td>
</tr>
<tr>
<td>./scripts.noah/PERMISSION</td>
<td>Permissions to use the scripts in this directory.</td>
</tr>
<tr>
<td>./scripts.noah/prompt.bash</td>
<td>A way to set PS1 to some predefined strings.</td>
</tr>
<tr>
<td>./scripts.noah/README</td>
<td>README</td>
</tr>
<tr>
<td>./scripts.noah/remap_keys.bash</td>
<td>A front end to 'bind' to redo readline bindings.</td>
</tr>
<tr>
<td>./scripts.noah/require.bash</td>
<td>Lisp-like require/provide library functions for bash.</td>
</tr>
<tr>
<td>./scripts.noah/send_mail.bash</td>
<td>Replacement SMTP client written in bash.</td>
</tr>
<tr>
<td>./scripts.noah/shcat.bash</td>
<td>Bash replacement for 'cat(1)'.</td>
<td>cat</td>
</tr>
<tr>
<td>./scripts.noah/source.bash</td>
<td>Replacement for source that uses current directory.</td>
</tr>
<tr>
<td>./scripts.noah/string.bash</td>
<td>The string(3) functions at the shell level.</td>
</tr>
<tr>
<td>./scripts.noah/stty.bash</td>
<td>Front-end to stty(1) that changes readline bindings too.</td>
<td>fstty</td>
</tr>
<tr>
<td>./scripts.noah/y_or_n_p.bash</td>
<td>Prompt for a yes/no/quit answer.</td>
<td>ask</td>
</tr>
<tr>
</tr>
<tr>
<td>./scripts.v2</td>
<td>John DuBois' ksh script collection (converted to bash v2 syntax by Chet Ramey).</td>
</tr>
<tr>
<td>./scripts.v2/arc2tarz</td>
<td>Convert an "arc" archive to a compressed tar archive.</td>
</tr>
<tr>
<td>./scripts.v2/bashrand</td>
<td>Random number generator with upper and lower bounds and optional seed.</td>
<td>random</td>
</tr>
<tr>
<td>./scripts.v2/cal2day.bash</td>
<td>Convert a day number to a name.</td>
</tr>
<tr>
<td>./scripts.v2/cdhist.bash</td>
<td>cd replacement with a directory stack added.</td>
</tr>
<tr>
<td>./scripts.v2/corename</td>
<td>Tell what produced a core file.</td>
</tr>
<tr>
<td>./scripts.v2/fman</td>
<td>Fast man(1) replacement.</td>
<td>manpage</td>
</tr>
<tr>
<td>./scripts.v2/frcp</td>
<td>Copy files using ftp(1) but with rcp-type command line syntax.</td>
</tr>
<tr>
<td>./scripts.v2/lowercase</td>
<td>Change filenames to lower case.</td>
<td>rename lower</td>
</tr>
<tr>
<td>./scripts.v2/ncp</td>
<td>A nicer front end for cp(1) (has -i, etc.).</td>
</tr>
<tr>
<td>./scripts.v2/newext</td>
<td>Change the extension of a group of files.</td>
<td>rename</td>
</tr>
<tr>
<td>./scripts.v2/nmv</td>
<td>A nicer front end for mv(1) (has -i, etc.).</td>
<td>rename</td>
</tr>
<tr>
<td>./scripts.v2/pages</td>
<td>Print specified pages from files.</td>
</tr>
<tr>
<td>./scripts.v2/PERMISSION</td>
<td>Permissions to use the scripts in this directory.</td>
</tr>
<tr>
<td>./scripts.v2/pf</td>
<td>A pager front end that handles compressed files.</td>
</tr>
<tr>
<td>./scripts.v2/pmtop</td>
<td>Poor man's 'top(1)' for SunOS 4.x and BSD/OS.</td>
</tr>
<tr>
<td>./scripts.v2/README</td>
<td>README</td>
</tr>
<tr>
<td>./scripts.v2/ren</td>
<td>Rename files by changing parts of filenames that match a pattern.</td>
<td>rename</td>
</tr>
<tr>
<td>./scripts.v2/rename</td>
<td>Change the names of files that match a pattern.</td>
<td>rename</td>
</tr>
<tr>
<td>./scripts.v2/repeat</td>
<td>Execute a command multiple times.</td>
<td>repeat</td>
</tr>
<tr>
<td>./scripts.v2/shprof</td>
<td>Line profiler for bash scripts.</td>
</tr>
<tr>
<td>./scripts.v2/untar</td>
<td>Unarchive a (possibly compressed) tarfile into a directory.</td>
</tr>
<tr>
<td>./scripts.v2/uudec</td>
<td>Carefully uudecode(1) multiple files.</td>
</tr>
<tr>
<td>./scripts.v2/uuenc</td>
<td>uuencode(1) multiple files.</td>
</tr>
<tr>
<td>./scripts.v2/vtree</td>
<td>Print a visual display of a directory tree.</td>
<td>tree</td>
</tr>
<tr>
<td>./scripts.v2/where</td>
<td>Show where commands that match a pattern are.</td>
</tr>
<tr>
</tr>
<tr>
<td>./scripts</td>
<td>Example scripts</td>
</tr>
<tr>
<td>./scripts/adventure.sh</td>
<td>Text adventure game in bash!</td>
</tr>
<tr>
<td>./scripts/bcsh.sh</td>
<td>Bourne shell cshell-emulator.</td>
<td>csh</td>
</tr>
<tr>
<td>./scripts/bash-hexdump.sh</td>
<td>hexdump(1) in bash</td>
<td>hexdump -C, hd</td>
<tr>
<td>./scripts/cat.sh</td>
<td>Readline-based pager.</td>
@@ -654,65 +365,15 @@
<td>./scripts/center</td>
<td>Center - center a group of lines.</td>
</tr>
<tr>
<td>./scripts/dd-ex.sh</td>
<td>Line editor using only /bin/sh, /bin/dd and /bin/rm.</td>
</tr>
<tr>
<td>./scripts/fixfiles.bash</td>
<td>Recurse a tree and fix files containing various "bad" chars.</td>
</tr>
<tr>
<td>./scripts/hanoi.bash</td>
<td>The inevitable Towers of Hanoi in bash.</td>
</tr>
<tr>
<td>./scripts/inpath</td>
<td>Search $PATH for a file the same name as $1; return TRUE if found.</td>
<td>inpath</td>
</tr>
<tr>
<td>./scripts/krand.bash</td>
<td>Produces a random number within integer limits.</td>
<td>random</td>
</tr>
<tr>
<td>./scripts/line-input.bash</td>
<td>Line input routine for GNU Bourne-Again Shell plus terminal-control primitives.</td>
</tr>
<tr>
<td>./scripts/nohup.bash</td>
<td>bash version of 'nohup' command.</td>
</tr>
<tr>
<td>./scripts/precedence</td>
<td>Test relative precedences for '&&' and '||' operators.</td>
</tr>
<tr>
<td>./scripts/randomcard.bash</td>
<td>Print a random card from a card deck.</td>
<td>random</td>
</tr>
<tr>
<td>./scripts/README</td>
<td>README</td>
</tr>
<tr>
<td>./scripts/scrollbar</td>
<td>Display scrolling text.</td>
</tr>
<tr>
<td>./scripts/scrollbar2</td>
<td>Display scrolling text.</td>
</tr>
<tr>
<td>./scripts/self-repro</td>
<td>A self-reproducing script (careful!)</td>
</tr>
<tr>
<td>./scripts/showperm.bash</td>
<td>Convert ls(1) symbolic permissions into octal mode.</td>
</tr>
<tr>
<td>./scripts/shprompt</td>
<td>Display a prompt and get an answer satisfying certain criteria.</td>
@@ -722,37 +383,6 @@
<td>./scripts/spin.bash</td>
<td>Display a 'spinning wheel' to show progress.</td>
</tr>
<tr>
<td>./scripts/timeout</td>
<td>Give rsh(1) a shorter timeout.</td>
</tr>
<tr>
<td>./scripts/timeout2</td>
<td>Execute a given command with a timeout.</td>
</tr>
<tr>
<td>./scripts/timeout3</td>
<td>Execute a given command with a timeout.</td>
</tr>
<tr>
<td>./scripts/vtree2</td>
<td>Display a tree printout of dir in 1k blocks.</td>
<td>tree</td>
</tr>
<tr>
<td>./scripts/vtree3</td>
<td>Display a graphical tree printout of dir.</td>
<td>tree</td>
</tr>
<tr>
<td>./scripts/vtree3a</td>
<td>Display a graphical tree printout of dir.</td>
<td>tree</td>
</tr>
<tr>
<td>./scripts/websrv.sh</td>
<td>A web server in bash!</td>
</tr>
<tr>
<td>./scripts/xterm_title</td>
<td>Print the contents of the xterm title bar.</td>
@@ -793,36 +423,4 @@
</tr>
<tr>
</tr>
<tr>
<td>./startup-files/apple</td>
<td>Example Start-up files for Mac OS X.</td>
</tr>
<tr>
<td>./startup-files/apple/aliases</td>
<td>Sample aliases for Mac OS X.</td>
</tr>
<tr>
<td>./startup-files/apple/bash.defaults</td>
<td>Sample User preferences file.</td>
</tr>
<tr>
<td>./startup-files/apple/environment</td>
<td>Sample Bourne Again Shell environment file.</td>
</tr>
<tr>
<td>./startup-files/apple/login</td>
<td>Sample login wrapper.</td>
</tr>
<tr>
<td>./startup-files/apple/logout</td>
<td>Sample logout wrapper.</td>
</tr>
<tr>
<td>./startup-files/apple/rc</td>
<td>Sample Bourne Again Shell config file.</td>
</tr>
<tr>
<td>./startup-files/apple/README</td>
<td>README</td>
</tr>
</table>
+8 -104
View File
@@ -9,43 +9,25 @@ Path Description X-Ref
./functions/autoload An almost ksh-compatible 'autoload' (no lazy load). ksh
./functions/autoload.v2 An almost ksh-compatible 'autoload' (no lazy load). ksh
./functions/autoload.v3 A more ksh-compatible 'autoload' (with lazy load). ksh
./functions/autoload.v4 An updated ksh-compatible 'autoload'. ksh
./functions/basename A replacement for basename(1). basename
./functions/basename2 Fast basename(1) and dirname(1) functions for BASH/SH. basename, dirname
./functions/coproc.bash Start, control, and end coprocesses.
./functions/coshell.bash Control shell coprocesses (see coprocess.bash).
./functions/coshell.README README for coshell and coproc.
./functions/csh-compat A C-shell compatibility package. csh
./functions/dirfuncs Directory manipulation functions from the book 'The Korn Shell'.
./functions/dirname A replacement for dirname(1). dirname
./functions/emptydir Find out if a directory is empty.
./functions/dirstack Directory stack functions.
./functions/exitstat Display the exit status of processes.
./functions/external Like 'command' but FORCES use of external command.
./functions/fact Recursive factorial function.
./functions/fstty Front end to sync TERM changes to both stty(1) and readline 'bind'. stty.bash
./functions/func Print out definitions for functions named by arguments.
./functions/gethtml Get a web page from a remote server (wget(1) in bash!).
./functions/getoptx.bash getopt function that parses long-named options.
./functions/inetaddr Internet address conversion (inet2hex & hex2inet).
./functions/inpath Return zero if the argument is in the path and executable. inpath
./functions/isnum.bash Test user input on numeric or character value.
./functions/isnum2 Test user input on numeric values, with floating point.
./functions/isvalidip Test user input for valid IP Addresses.
./functions/jdate.bash Julian date conversion.
./functions/jj.bash Look for running jobs.
./functions/keep Try to keep some programs in the foreground and running.
./functions/ksh-cd ksh-like 'cd': cd [-LP] [dir [change]]. ksh
./functions/ksh-compat-test ksh-like arithmetic test replacements. ksh
./functions/kshenv Functions and aliases to provide the beginnings of a ksh environment for bash. ksh
./functions/login Replace the 'login' and 'newgrp' builtins in old Bourne shells.
./functions/lowercase Rename files to lower case. rename lower
./functions/manpage Find and print a manual page. fman
./functions/mhfold Print MH folders, useful only because folders(1) doesn't print mod date/times.
./functions/notify.bash Notify when jobs change status.
./functions/pathfuncs Path related functions (no_path, add_path, pre-path, del_path). path
./functions/README README
./functions/recurse Recursive directory traverser.
./functions/repeat2 A clone of C shell builtin 'repeat'. repeat, csh
./functions/repeat3 A clone of C shell builtin 'repeat'. repeat, csh
./functions/seq Generate a sequence from m to n, m defaults to 1.
./functions/seq2 Generate a sequence from m to n, m defaults to 1.
./functions/shcat Readline-based pager. cat, readline pager
@@ -53,28 +35,25 @@ Path Description X-Ref
./functions/sort-pos-params Sort the positional parameters.
./functions/substr A function to emulate the ancient ksh builtin. ksh
./functions/substr2 A function to emulate the ancient ksh builtin. ksh
./functions/term A shell function to set the terminal type interactively or not.
./functions/whatis An implementation of the 10th Edition Unix sh builtin 'whatis(1)' command.
./functions/whence An almost-ksh compatible 'whence(1)' command.
./functions/which An emulation of 'which(1)' as it appears in FreeBSD.
./functions/xalias.bash Convert csh alias commands to bash functions. csh, aliasconv
./functions/xfind.bash A 'find(1)' clone.
./loadables/ Example loadable replacements
./loadables/basename.c Return non-directory portion of pathname. basename
./loadables/cat.c cat(1) replacement with no options - the way cat was intended. cat, readline pager
./loadables/cut.c cut(1) replacement.
./loadables/dirname.c Return directory portion of pathname. dirname
./loadables/fdflags.c Display or modify file descriptor flags
./loadables/finfo.c Print file info.
./loadables/getconf.c POSIX.2 getconf utility.
./loadables/getconf.h Replacement definitions for ones the system doesn't provide.
./loadables/head.c Copy first part of files.
./loadables/hello.c Obligatory "Hello World" / sample loadable.
./loadables/id.c POSIX.2 user identity.
./loadables/ln.c Make links.
./loadables/logname.c Print login name of current user.
./loadables/Makefile.in Simple makefile for the sample loadable builtins.
./loadables/Makefile.inc.in Sample makefile to use for loadable builtin development.
./loadables/mkdir.c Make directories.
./loadables/mypid.c Demonstrate how a loadable builtin can create and delete shell variables.
./loadables/necho.c echo without options or argument interpretation.
./loadables/pathchk.c Check pathnames for validity and portability.
./loadables/print.c Loadable ksh-93 style print builtin.
@@ -82,8 +61,11 @@ Path Description X-Ref
./loadables/push.c Anyone remember TOPS-20?
./loadables/README README
./loadables/realpath.c Canonicalize pathnames, resolving symlinks.
./loadables/rm.c Remove file.
./loadables/rmdir.c Remove directory.
./loadables/setpgid.c Set a child process's process group.
./loadables/sleep.c sleep for fractions of a second.
./loadables/stat.c Load an associative array with stat information about a file.
./loadables/strftime.c Loadable builtin interface to strftime(3).
./loadables/sync.c Sync the disks by forcing pending filesystem writes to complete.
./loadables/tee.c Duplicate standard input.
@@ -101,83 +83,13 @@ Path Description X-Ref
./misc/aliasconv.sh Convert csh aliases to bash aliases and functions. csh, xalias
./misc/cshtobash Convert csh aliases, environment variables, and variables to bash equivalents. csh, xalias
./misc/README README
./misc/suncmd.termcap SunView TERMCAP string.
./scripts.noah Noah Friedman's collection of scripts (updated to bash v2 syntax by Chet Ramey)
./scripts.noah/aref.bash Pseudo-arrays and substring indexing examples.
./scripts.noah/bash.sub.bash Library functions used by require.bash.
./scripts.noah/bash_version.bash A function to slice up $BASH_VERSION.
./scripts.noah/meta.bash Enable and disable eight-bit readline input.
./scripts.noah/mktmp.bash Make a temporary file with a unique name.
./scripts.noah/number.bash A fun hack to translate numerals into English.
./scripts.noah/PERMISSION Permissions to use the scripts in this directory.
./scripts.noah/prompt.bash A way to set PS1 to some predefined strings.
./scripts.noah/README README
./scripts.noah/remap_keys.bash A front end to 'bind' to redo readline bindings.
./scripts.noah/require.bash Lisp-like require/provide library functions for bash.
./scripts.noah/send_mail.bash Replacement SMTP client written in bash.
./scripts.noah/shcat.bash Bash replacement for 'cat(1)'. cat
./scripts.noah/source.bash Replacement for source that uses current directory.
./scripts.noah/string.bash The string(3) functions at the shell level.
./scripts.noah/stty.bash Front-end to stty(1) that changes readline bindings too. fstty
./scripts.noah/y_or_n_p.bash Prompt for a yes/no/quit answer. ask
./scripts.v2 John DuBois' ksh script collection (converted to bash v2 syntax by Chet Ramey).
./scripts.v2/arc2tarz Convert an "arc" archive to a compressed tar archive.
./scripts.v2/bashrand Random number generator with upper and lower bounds and optional seed. random
./scripts.v2/cal2day.bash Convert a day number to a name.
./scripts.v2/cdhist.bash cd replacement with a directory stack added.
./scripts.v2/corename Tell what produced a core file.
./scripts.v2/fman Fast man(1) replacement. manpage
./scripts.v2/frcp Copy files using ftp(1) but with rcp-type command line syntax.
./scripts.v2/lowercase Change filenames to lower case. rename lower
./scripts.v2/ncp A nicer front end for cp(1) (has -i, etc.).
./scripts.v2/newext Change the extension of a group of files. rename
./scripts.v2/nmv A nicer front end for mv(1) (has -i, etc.). rename
./scripts.v2/pages Print specified pages from files.
./scripts.v2/PERMISSION Permissions to use the scripts in this directory.
./scripts.v2/pf A pager front end that handles compressed files.
./scripts.v2/pmtop Poor man's 'top(1)' for SunOS 4.x and BSD/OS.
./scripts.v2/README README
./scripts.v2/ren Rename files by changing parts of filenames that match a pattern. rename
./scripts.v2/rename Change the names of files that match a pattern. rename
./scripts.v2/repeat Execute a command multiple times. repeat
./scripts.v2/shprof Line profiler for bash scripts.
./scripts.v2/untar Unarchive a (possibly compressed) tarfile into a directory.
./scripts.v2/uudec Carefully uudecode(1) multiple files.
./scripts.v2/uuenc uuencode(1) multiple files.
./scripts.v2/vtree Print a visual display of a directory tree. tree
./scripts.v2/where Show where commands that match a pattern are.
./scripts Example scripts
./scripts/adventure.sh Text adventure game in bash!
./scripts/bash-hexdump.sh hexdump(1) in bash
./scripts/bcsh.sh Bourne shell cshell-emulator. csh
./scripts/cat.sh Readline-based pager. cat, readline pager
./scripts/center Center - center a group of lines.
./scripts/dd-ex.sh Line editor using only /bin/sh, /bin/dd and /bin/rm.
./scripts/fixfiles.bash Recurse a tree and fix files containing various "bad" chars.
./scripts/hanoi.bash The inevitable Towers of Hanoi in bash.
./scripts/inpath Search $PATH for a file the same name as $1; return TRUE if found. inpath
./scripts/krand.bash Produces a random number within integer limits. random
./scripts/line-input.bash Line input routine for GNU Bourne-Again Shell plus terminal-control primitives.
./scripts/nohup.bash bash version of 'nohup' command.
./scripts/precedence Test relative precedences for '&&' and '||' operators.
./scripts/randomcard.bash Print a random card from a card deck. random
./scripts/README README
./scripts/scrollbar Display scrolling text.
./scripts/scrollbar2 Display scrolling text.
./scripts/self-repro A self-reproducing script (careful!)
./scripts/showperm.bash Convert ls(1) symbolic permissions into octal mode.
./scripts/shprompt Display a prompt and get an answer satisfying certain criteria. ask
./scripts/spin.bash Display a 'spinning wheel' to show progress.
./scripts/timeout Give rsh(1) a shorter timeout.
./scripts/timeout2 Execute a given command with a timeout.
./scripts/timeout3 Execute a given command with a timeout.
./scripts/vtree2 Display a tree printout of dir in 1k blocks. tree
./scripts/vtree3 Display a graphical tree printout of dir. tree
./scripts/vtree3a Display a graphical tree printout of dir. tree
./scripts/websrv.sh A web server in bash!
./scripts/xterm_title Print the contents of the xterm title bar.
./scripts/zprintf Emulate printf (obsolete since it's now a bash builtin).
@@ -189,11 +101,3 @@ Path Description X-Ref
./startup-files/Bashrc.bfox Sample Bourne Again SHell init file (Fox).
./startup-files/README README
./startup-files/apple Example Start-up files for Mac OS X.
./startup-files/apple/aliases Sample aliases for Mac OS X.
./startup-files/apple/bash.defaults Sample User preferences file.
./startup-files/apple/environment Sample Bourne Again Shell environment file.
./startup-files/apple/login Sample login wrapper.
./startup-files/apple/logout Sample logout wrapper.
./startup-files/apple/rc Sample Bourne Again Shell config file.
./startup-files/apple/README README
+35 -11
View File
@@ -80,6 +80,8 @@ static void _rl_init_file_error (const char *, ...) __attribute__((__format__ (
static void _rl_init_file_error ();
#endif
static rl_command_func_t *_rl_function_of_keyseq_internal PARAMS((const char *, size_t, Keymap, int *));
static char *_rl_read_file PARAMS((char *, size_t *));
static int _rl_read_init_file PARAMS((const char *, int));
static int glean_key_from_name PARAMS((char *));
@@ -193,20 +195,18 @@ rl_bind_key_in_map (int key, rl_command_func_t *function, Keymap map)
int
rl_bind_key_if_unbound_in_map (int key, rl_command_func_t *default_func, Keymap kmap)
{
char keyseq[2];
char *keyseq;
keyseq[0] = (unsigned char)key;
keyseq[1] = '\0';
keyseq = rl_untranslate_keyseq ((unsigned char)key);
return (rl_bind_keyseq_if_unbound_in_map (keyseq, default_func, kmap));
}
int
rl_bind_key_if_unbound (int key, rl_command_func_t *default_func)
{
char keyseq[2];
char *keyseq;
keyseq[0] = (unsigned char)key;
keyseq[1] = '\0';
keyseq = rl_untranslate_keyseq ((unsigned char)key);
return (rl_bind_keyseq_if_unbound_in_map (keyseq, default_func, _rl_keymap));
}
@@ -287,10 +287,21 @@ int
rl_bind_keyseq_if_unbound_in_map (const char *keyseq, rl_command_func_t *default_func, Keymap kmap)
{
rl_command_func_t *func;
char *keys;
int keys_len;
if (keyseq)
{
func = rl_function_of_keyseq (keyseq, kmap, (int *)NULL);
/* Handle key sequences that require translations and `raw' ones that
don't. This might be a problem with backslashes. */
keys = (char *)xmalloc (1 + (2 * strlen (keyseq)));
if (rl_translate_keyseq (keyseq, keys, &keys_len))
{
xfree (keys);
return -1;
}
func = rl_function_of_keyseq_len (keys, keys_len, kmap, (int *)NULL);
xfree (keys);
#if defined (VI_MODE)
if (!func || func == rl_do_lowercase_version || func == rl_vi_movement_mode)
#else
@@ -373,7 +384,8 @@ rl_generic_bind (int type, const char *keyseq, char *data, Keymap map)
unsigned char uc = keys[i];
int ic;
prevkey = ic;
if (i > 0)
prevkey = ic;
ic = uc;
if (ic < 0 || ic >= KEYMAP_SIZE)
@@ -760,15 +772,15 @@ rl_named_function (const char *string)
used. TYPE, if non-NULL, is a pointer to an int which will receive the
type of the object pointed to. One of ISFUNC (function), ISKMAP (keymap),
or ISMACR (macro). */
rl_command_func_t *
rl_function_of_keyseq (const char *keyseq, Keymap map, int *type)
static rl_command_func_t *
_rl_function_of_keyseq_internal (const char *keyseq, size_t len, Keymap map, int *type)
{
register int i;
if (map == 0)
map = _rl_keymap;
for (i = 0; keyseq && keyseq[i]; i++)
for (i = 0; keyseq && i < len; i++)
{
unsigned char ic = keyseq[i];
@@ -820,6 +832,18 @@ rl_function_of_keyseq (const char *keyseq, Keymap map, int *type)
return ((rl_command_func_t *) NULL);
}
rl_command_func_t *
rl_function_of_keyseq (const char *keyseq, Keymap map, int *type)
{
return _rl_function_of_keyseq_internal (keyseq, strlen (keyseq), map, type);
}
rl_command_func_t *
rl_function_of_keyseq_len (const char *keyseq, size_t len, Keymap map, int *type)
{
return _rl_function_of_keyseq_internal (keyseq, len, map, type);
}
/* The last key bindings file read. */
static char *last_readline_init_file = (char *)NULL;
+6
View File
@@ -848,6 +848,12 @@ not @code{NULL}, the type of the object is returned in the @code{int} variable
it points to (one of @code{ISFUNC}, @code{ISKMAP}, or @code{ISMACR}).
@end deftypefun
@deftypefun {rl_command_func_t *} rl_function_of_keyseq_len (const char *keyseq, size_t len Keymap map, int *type)
Return the function invoked by @var{keyseq} of length @var{len}
in keymap @var{map}. Equivalent to @code{rl_function_of_keyseq} with the
addition of the @var{len} parameter.
@end deftypefun
@deftypefun {char **} rl_invoking_keyseqs (rl_command_func_t *function)
Return an array of strings representing the key sequences used to
invoke @var{function} in the current keymap.
+1
View File
@@ -332,6 +332,7 @@ extern char *rl_untranslate_keyseq PARAMS((int));
extern rl_command_func_t *rl_named_function PARAMS((const char *));
extern rl_command_func_t *rl_function_of_keyseq PARAMS((const char *, Keymap, int *));
extern rl_command_func_t *rl_function_of_keyseq_len PARAMS((const char *, size_t, Keymap, int *));
extern void rl_list_funmap_names PARAMS((void));
extern char **rl_invoking_keyseqs_in_map PARAMS((rl_command_func_t *, Keymap));
+8
View File
@@ -3036,7 +3036,15 @@ special_case_tokens (tokstr)
expecting_in_token--;
return (IN);
}
/* Posix grammar rule 6, third word in FOR: for i; do command-list; done */
else if (expecting_in_token && (last_read_token == '\n' || last_read_token == ';') &&
(tokstr[0] == 'd' && tokstr[1] == 'o' && tokstr[2] == '\0'))
{
expecting_in_token--;
return (DO);
}
/* for i do; command-list; done */
if (last_read_token == WORD &&
#if defined (SELECT_COMMAND)
(token_before_that == FOR || token_before_that == SELECT) &&
+2
View File
@@ -585,6 +585,8 @@ termsig_handler (sig)
run_exit_trap (); /* XXX - run exit trap possibly in signal context? */
set_signal_handler (sig, SIG_DFL);
kill (getpid (), sig);
exit (1); /* just in case the kill fails? */
}
/* What we really do when SIGINT occurs. */
+5 -5
View File
@@ -1,12 +1,12 @@
# test being able to use job control notation in jobs/kill/wait without
# job control active, as the SUS requires
sleep 5 &
sleep 2 &
sleep 5 &
sleep 5 &
sleep 5 &
(sleep 5 ; exit 4) &
sleep 2 &
sleep 2 &
sleep 2 &
(sleep 2 ; exit 4) &
jobs