commit bash-20091223 snapshot

This commit is contained in:
Chet Ramey
2011-12-08 20:23:30 -05:00
parent ecf5786251
commit a31435742f
38 changed files with 3236 additions and 2681 deletions
+37 -1
View File
@@ -9189,7 +9189,7 @@ config-top.h
shell.c
- don't include the --wordexp option or the supporting function
(run_wordexp) if WORDEXP_OPTION is not defined. Suggested by
Aharon Robbins.
Aharon Robbins <arnold@skeeve.com>
execute_cmd.c
- in execute_cond_node, turn on comsub_ignore_return if the flags
@@ -9270,3 +9270,39 @@ lib/readline/signals.c
immediately handles signals. This restores the readline-5.2
behavior. Fixes GDB readline bug reported by Jan Kratochvil
<jan.kratochvil@redhat.com>
12/22
-----
config-top.h
- don't have SYSLOG_HISTORY enabled by default
lib/sh/Makefile.in
- add explicit dependency on pathnames.h for parallel make support
externs.h
- add extern declaration for xtrace_fdchk
lib/sh/snprintf.c
- add local prototype declarations for isinf, isnan if we are providing
local definitions
lib/sh/fnxform.c
- add extern declaration for get_locale_var if HAVE_LOCALE_CHARSET not
defined
execute_cmd.c
- define NEED_FPURGE_DECL so we pick up any extern declaration for
fpurge (e.g., if the system doesn't provide it)
builtins/shopt.def
- correct prototype and declaration for set_shellopts_after_change so
it's the correct type for shopt_set_func_t
- add new function shopt_enable_hostname_completion that is the correct
type for shopt_set_func_t; just calls enable_hostname_completion and
returns its result
12/26
-----
doc/{bash.1,bashref.texi}
- add \E and \" escape sequences to ANSI-C quoting description.
Suggested by Aharon Robbins <arnold@skeeve.com>
+34
View File
@@ -9161,6 +9161,10 @@ builtins/printf.def
value accumulated so far, which is suppose to be what
strtoimax/strtoll/strtol returns
11/17
-----
[bash-4.1-beta released]
11/18
-----
builtins/{common.h,shopt.def},shell.c
@@ -9266,3 +9270,33 @@ lib/readline/signals.c
immediately handles signals. This restores the readline-5.2
behavior. Fixes GDB readline bug reported by Jan Kratochvil
<jan.kratochvil@redhat.com>
12/22
-----
config-top.h
- don't have SYSLOG_HISTORY enabled by default
lib/sh/Makefile.in
- add explicit dependency on pathnames.h for parallel make support
externs.h
- add extern declaration for xtrace_fdchk
lib/sh/snprintf.c
- add local prototype declarations for isinf, isnan if we are providing
local definitions
lib/sh/fnxform.c
- add extern declaration for get_locale_var if HAVE_LOCALE_CHARSET not
defined
execute_cmd.c
- define NEED_FPURGE_DECL so we pick up any extern declaration for
fpurge (e.g., if the system doesn't provide it)
builtins/shopt.def
- correct prototype and declaration for set_shellopts_after_change so
it's the correct type for shopt_set_func_t
- add new function shopt_enable_hostname_completion that is the correct
type for shopt_set_func_t; just calls enable_hostname_completion and
returns its result
+3 -1
View File
@@ -864,6 +864,7 @@ hashtest: hashlib.c
# Files that depend on the definitions in config-top.h, which are not meant
# to be changed
bashhist.o: config-top.h
shell.o: config-top.h
input.o: config-top.h
y.tab.o: config-top.h
@@ -1229,7 +1230,7 @@ builtins/evalstring.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftype
builtins/evalstring.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h
builtins/evalstring.o: dispose_cmd.h make_cmd.h subst.h externs.h
builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h
builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h
builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h
builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h
builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h
builtins/getopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
@@ -1285,6 +1286,7 @@ builtins/enable.o: pcomplete.h pathnames.h
builtins/eval.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
builtins/eval.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
builtins/eval.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
builtins/eval.o: pathnames.h
builtins/exec.o: bashtypes.h pathnames.h
builtins/exec.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
builtins/exec.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
+2
View File
@@ -32,6 +32,8 @@ extern SHELL_VAR *bind_array_variable __P((char *, arrayind_t, char *, int));
extern SHELL_VAR *bind_array_element __P((SHELL_VAR *, arrayind_t, char *, int));
extern SHELL_VAR *assign_array_element __P((char *, char *, int));
extern SHELL_VAR *bind_assoc_variable __P((SHELL_VAR *, char *, char *, char *, int));
extern SHELL_VAR *find_or_make_array_variable __P((char *, int));
extern SHELL_VAR *assign_array_from_string __P((char *, char *, int));
+1 -1
View File
@@ -143,7 +143,7 @@ extern int set_login_shell __P((char *, int));
extern void set_bashopts __P((void));
extern void parse_bashopts __P((char *));
extern void intialize_bashopts __P((int));
extern void initialize_bashopts __P((int));
/* Functions from type.def */
extern int describe_command __P((char *, int));
+13 -4
View File
@@ -112,8 +112,8 @@ extern int debugging_mode;
static void shopt_error __P((char *));
static int set_shellopts_after_change __P((int));
static int set_shellopts_after_change __P((char *, int));
static int shopt_enable_hostname_completion __P((char *, int));
static int set_compatibility_level __P((char *, int));
#if defined (RESTRICTED_SHELL)
@@ -171,7 +171,7 @@ static struct {
#if defined (READLINE)
{ "histreedit", &history_reediting, (shopt_set_func_t *)NULL },
{ "histverify", &hist_verify, (shopt_set_func_t *)NULL },
{ "hostcomplete", &perform_hostname_completion, enable_hostname_completion },
{ "hostcomplete", &perform_hostname_completion, shopt_enable_hostname_completion },
#endif
{ "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL },
{ "interactive_comments", &interactive_comments, set_shellopts_after_change },
@@ -487,13 +487,22 @@ set_shopt_o_options (mode, list, quiet)
/* If we set or unset interactive_comments with shopt, make sure the
change is reflected in $SHELLOPTS. */
static int
set_shellopts_after_change (mode)
set_shellopts_after_change (option_name, mode)
char *option_name;
int mode;
{
set_shellopts ();
return (0);
}
static int
shopt_enable_hostname_completion (option_name, mode)
char *option_name;
int mode;
{
return (enable_hostname_completion (mode));
}
static int
set_compatibility_level (option_name, mode)
char *option_name;
+1 -1
View File
@@ -101,7 +101,7 @@
/* Define if you want each line saved to the history list in bashhist.c:
bash_add_history() to be sent to syslog(). */
#define SYSLOG_HISTORY
/* #define SYSLOG_HISTORY */
#if defined (SYSLOG_HISTORY)
# define SYSLOG_FACILITY LOG_USER
# define SYSLOG_LEVEL LOG_INFO
+190 -178
View File
@@ -2186,8 +2186,9 @@ CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS
True if the length of _s_t_r_i_n_g is non-zero.
_s_t_r_i_n_g_1 ==== _s_t_r_i_n_g_2
True if the strings are equal. == may be used in place of ==== for
strict POSIX compliance.
_s_t_r_i_n_g_1 == _s_t_r_i_n_g_2
True if the strings are equal. == should be used with the tteesstt
command for POSIX conformance.
_s_t_r_i_n_g_1 !!== _s_t_r_i_n_g_2
True if the strings are not equal.
@@ -4548,8 +4549,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--NN _n_c_h_a_r_s
rreeaadd returns after reading exactly _n_c_h_a_r_s characters
rather than waiting for a complete line of input, unless
EOF is encountered or rreeaadd times out. Any delimiter is
ignored.
EOF is encountered or rreeaadd times out. Delimiter charac-
ters encountered in the input are not treated specially
and do not cause rreeaadd to return until _n_c_h_a_r_s characters
are read.
--pp _p_r_o_m_p_t
Display _p_r_o_m_p_t on standard error, without a trailing new-
line, before attempting to read any input. The prompt is
@@ -4852,58 +4855,67 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
If set, bbaasshh changes its behavior to that of version 3.1
with respect to quoted arguments to the conditional com-
mand's =~ operator.
ccoommppaatt3322
If set, bbaasshh changes its behavior to that of version 3.2
with respect to locale-specific string comparison when
using the conditional command's < and > operators.
ccoommppaatt4400
If set, bbaasshh changes its behavior to that of version 4.0
with respect to locale-specific string comparison when
using the conditional command's < and > operators and
the effect of interrupting a command list.
ddiirrssppeellll
If set, bbaasshh attempts spelling correction on directory
names during word completion if the directory name ini-
If set, bbaasshh attempts spelling correction on directory
names during word completion if the directory name ini-
tially supplied does not exist.
ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
the results of pathname expansion.
eexxeeccffaaiill
If set, a non-interactive shell will not exit if it can-
not execute the file specified as an argument to the
eexxeecc builtin command. An interactive shell does not
not execute the file specified as an argument to the
eexxeecc builtin command. An interactive shell does not
exit if eexxeecc fails.
eexxppaanndd__aalliiaasseess
If set, aliases are expanded as described above under
If set, aliases are expanded as described above under
AALLIIAASSEESS. This option is enabled by default for interac-
tive shells.
eexxttddeebbuugg
If set, behavior intended for use by debuggers is
If set, behavior intended for use by debuggers is
enabled:
11.. The --FF option to the ddeeccllaarree builtin displays the
source file name and line number corresponding to
each function name supplied as an argument.
22.. If the command run by the DDEEBBUUGG trap returns a
non-zero value, the next command is skipped and
22.. If the command run by the DDEEBBUUGG trap returns a
non-zero value, the next command is skipped and
not executed.
33.. If the command run by the DDEEBBUUGG trap returns a
value of 2, and the shell is executing in a sub-
routine (a shell function or a shell script exe-
cuted by the .. or ssoouurrccee builtins), a call to
33.. If the command run by the DDEEBBUUGG trap returns a
value of 2, and the shell is executing in a sub-
routine (a shell function or a shell script exe-
cuted by the .. or ssoouurrccee builtins), a call to
rreettuurrnn is simulated.
44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
in their descriptions above.
55.. Function tracing is enabled: command substitu-
55.. Function tracing is enabled: command substitu-
tion, shell functions, and subshells invoked with
(( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps.
66.. Error tracing is enabled: command substitution,
shell functions, and subshells invoked with ((
66.. Error tracing is enabled: command substitution,
shell functions, and subshells invoked with ((
_c_o_m_m_a_n_d )) inherit the EERRRROORR trap.
eexxttgglloobb If set, the extended pattern matching features described
above under PPaatthhnnaammee EExxppaannssiioonn are enabled.
eexxttqquuoottee
If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
quotes. This option is enabled by default.
ffaaiillgglloobb
If set, patterns which fail to match filenames during
If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
ffoorrccee__ffiiggnnoorree
If set, the suffixes specified by the FFIIGGNNOORREE shell
variable cause words to be ignored when performing word
If set, the suffixes specified by the FFIIGGNNOORREE shell
variable cause words to be ignored when performing word
completion even if the ignored words are the only possi-
ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a
description of FFIIGGNNOORREE. This option is enabled by
description of FFIIGGNNOORREE. This option is enabled by
default.
gglloobbssttaarr
If set, the pattern **** used in a pathname expansion con-
@@ -4914,58 +4926,58 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
If set, shell error messages are written in the standard
GNU error message format.
hhiissttaappppeenndd
If set, the history list is appended to the file named
by the value of the HHIISSTTFFIILLEE variable when the shell
If set, the history list is appended to the file named
by the value of the HHIISSTTFFIILLEE variable when the shell
exits, rather than overwriting the file.
hhiissttrreeeeddiitt
If set, and rreeaaddlliinnee is being used, a user is given the
If set, and rreeaaddlliinnee is being used, a user is given the
opportunity to re-edit a failed history substitution.
hhiissttvveerriiffyy
If set, and rreeaaddlliinnee is being used, the results of his-
tory substitution are not immediately passed to the
shell parser. Instead, the resulting line is loaded
If set, and rreeaaddlliinnee is being used, the results of his-
tory substitution are not immediately passed to the
shell parser. Instead, the resulting line is loaded
into the rreeaaddlliinnee editing buffer, allowing further modi-
fication.
hhoossttccoommpplleettee
If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to
perform hostname completion when a word containing a @@
is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
perform hostname completion when a word containing a @@
is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
above). This is enabled by default.
hhuuppoonneexxiitt
If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter-
active login shell exits.
iinntteerraaccttiivvee__ccoommmmeennttss
If set, allow a word beginning with ## to cause that word
and all remaining characters on that line to be ignored
in an interactive shell (see CCOOMMMMEENNTTSS above). This
and all remaining characters on that line to be ignored
in an interactive shell (see CCOOMMMMEENNTTSS above). This
option is enabled by default.
lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
llooggiinn__sshheellll
The shell sets this option if it is started as a login
shell (see IINNVVOOCCAATTIIOONN above). The value may not be
The shell sets this option if it is started as a login
shell (see IINNVVOOCCAATTIIOONN above). The value may not be
changed.
mmaaiillwwaarrnn
If set, and a file that bbaasshh is checking for mail has
been accessed since the last time it was checked, the
message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
If set, and a file that bbaasshh is checking for mail has
been accessed since the last time it was checked, the
message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
played.
nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn
If set, and rreeaaddlliinnee is being used, bbaasshh will not
If set, and rreeaaddlliinnee is being used, bbaasshh will not
attempt to search the PPAATTHH for possible completions when
completion is attempted on an empty line.
nnooccaasseegglloobb
If set, bbaasshh matches filenames in a case-insensitive
If set, bbaasshh matches filenames in a case-insensitive
fashion when performing pathname expansion (see PPaatthhnnaammee
EExxppaannssiioonn above).
nnooccaasseemmaattcchh
If set, bbaasshh matches patterns in a case-insensitive
If set, bbaasshh matches patterns in a case-insensitive
fashion when performing matching while executing ccaassee or
[[[[ conditional commands.
nnuullllgglloobb
If set, bbaasshh allows patterns which match no files (see
PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
If set, bbaasshh allows patterns which match no files (see
PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
rather than themselves.
pprrooggccoommpp
If set, the programmable completion facilities (see PPrroo--
@@ -4973,47 +4985,47 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
enabled by default.
pprroommppttvvaarrss
If set, prompt strings undergo parameter expansion, com-
mand substitution, arithmetic expansion, and quote
removal after being expanded as described in PPRROOMMPPTTIINNGG
mand substitution, arithmetic expansion, and quote
removal after being expanded as described in PPRROOMMPPTTIINNGG
above. This option is enabled by default.
rreessttrriicctteedd__sshheellll
The shell sets this option if it is started in
The shell sets this option if it is started in
restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value
may not be changed. This is not reset when the startup
files are executed, allowing the startup files to dis-
may not be changed. This is not reset when the startup
files are executed, allowing the startup files to dis-
cover whether or not a shell is restricted.
sshhiifftt__vveerrbboossee
If set, the sshhiifftt builtin prints an error message when
If set, the sshhiifftt builtin prints an error message when
the shift count exceeds the number of positional parame-
ters.
ssoouurrcceeppaatthh
If set, the ssoouurrccee (..) builtin uses the value of PPAATTHH to
find the directory containing the file supplied as an
find the directory containing the file supplied as an
argument. This option is enabled by default.
xxppgg__eecchhoo
If set, the eecchhoo builtin expands backslash-escape
If set, the eecchhoo builtin expands backslash-escape
sequences by default.
ssuussppeenndd [--ff]
Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
signal. A login shell cannot be suspended; the --ff option can be
used to override this and force the suspension. The return sta-
tus is 0 unless the shell is a login shell and --ff is not sup-
tus is 0 unless the shell is a login shell and --ff is not sup-
plied, or if job control is not enabled.
tteesstt _e_x_p_r
[[ _e_x_p_r ]]
Return a status of 0 or 1 depending on the evaluation of the
conditional expression _e_x_p_r. Each operator and operand must be
a separate argument. Expressions are composed of the primaries
described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not
Return a status of 0 or 1 depending on the evaluation of the
conditional expression _e_x_p_r. Each operator and operand must be
a separate argument. Expressions are composed of the primaries
described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not
accept any options, nor does it accept and ignore an argument of
---- as signifying the end of options.
Expressions may be combined using the following operators,
Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation
depends on the number of arguments; see below.
!! _e_x_p_r True if _e_x_p_r is false.
(( _e_x_p_r ))
Returns the value of _e_x_p_r. This may be used to override
Returns the value of _e_x_p_r. This may be used to override
the normal precedence of operators.
_e_x_p_r_1 -aa _e_x_p_r_2
True if both _e_x_p_r_1 and _e_x_p_r_2 are true.
@@ -5030,59 +5042,59 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
null.
2 arguments
If the first argument is !!, the expression is true if and
only if the second argument is null. If the first argu-
ment is one of the unary conditional operators listed
above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
only if the second argument is null. If the first argu-
ment is one of the unary conditional operators listed
above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
true if the unary test is true. If the first argument is
not a valid unary conditional operator, the expression is
false.
3 arguments
If the second argument is one of the binary conditional
If the second argument is one of the binary conditional
operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
result of the expression is the result of the binary test
using the first and third arguments as operands. The --aa
and --oo operators are considered binary operators when
there are three arguments. If the first argument is !!,
the value is the negation of the two-argument test using
using the first and third arguments as operands. The --aa
and --oo operators are considered binary operators when
there are three arguments. If the first argument is !!,
the value is the negation of the two-argument test using
the second and third arguments. If the first argument is
exactly (( and the third argument is exactly )), the result
is the one-argument test of the second argument. Other-
is the one-argument test of the second argument. Other-
wise, the expression is false.
4 arguments
If the first argument is !!, the result is the negation of
the three-argument expression composed of the remaining
the three-argument expression composed of the remaining
arguments. Otherwise, the expression is parsed and eval-
uated according to precedence using the rules listed
uated according to precedence using the rules listed
above.
5 or more arguments
The expression is parsed and evaluated according to
The expression is parsed and evaluated according to
precedence using the rules listed above.
ttiimmeess Print the accumulated user and system times for the shell and
ttiimmeess Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...]
The command _a_r_g is to be read and executed when the shell
receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
original disposition (the value it had upon entrance to the
shell). If _a_r_g is the null string the signal specified by each
_s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
If _a_r_g is not present and --pp has been supplied, then the trap
commands associated with each _s_i_g_s_p_e_c are displayed. If no
arguments are supplied or if only --pp is given, ttrraapp prints the
list of commands associated with each signal. The --ll option
causes the shell to print a list of signal names and their cor-
responding numbers. Each _s_i_g_s_p_e_c is either a signal name
defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
The command _a_r_g is to be read and executed when the shell
receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
original disposition (the value it had upon entrance to the
shell). If _a_r_g is the null string the signal specified by each
_s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
If _a_r_g is not present and --pp has been supplied, then the trap
commands associated with each _s_i_g_s_p_e_c are displayed. If no
arguments are supplied or if only --pp is given, ttrraapp prints the
list of commands associated with each signal. The --ll option
causes the shell to print a list of signal names and their cor-
responding numbers. Each _s_i_g_s_p_e_c is either a signal name
defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
case insensitive and the SIG prefix is optional.
If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
_s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
above). Refer to the description of the eexxttddeebbuugg option to the
If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
_s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
above). Refer to the description of the eexxttddeebbuugg option to the
sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
function or a script executed with the .. or ssoouurrccee builtins fin-
@@ -5090,53 +5102,53 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a sim-
ple command has a non-zero exit status, subject to the following
conditions. The EERRRR trap is not executed if the failed command
is part of the command list immediately following a wwhhiillee or
uunnttiill keyword, part of the test in an _i_f statement, part of a
command executed in a &&&& or |||| list, or if the command's return
value is being inverted via !!. These are the same conditions
conditions. The EERRRR trap is not executed if the failed command
is part of the command list immediately following a wwhhiillee or
uunnttiill keyword, part of the test in an _i_f statement, part of a
command executed in a &&&& or |||| list, or if the command's return
value is being inverted via !!. These are the same conditions
obeyed by the eerrrreexxiitt option.
Signals ignored upon entry to the shell cannot be trapped or
reset. Trapped signals that are not being ignored are reset to
Signals ignored upon entry to the shell cannot be trapped or
reset. Trapped signals that are not being ignored are reset to
their original values in a subshell or subshell environment when
one is created. The return status is false if any _s_i_g_s_p_e_c is
one is created. The return status is false if any _s_i_g_s_p_e_c is
invalid; otherwise ttrraapp returns true.
ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...]
With no options, indicate how each _n_a_m_e would be interpreted if
With no options, indicate how each _n_a_m_e would be interpreted if
used as a command name. If the --tt option is used, ttyyppee prints a
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
builtin, or disk file, respectively. If the _n_a_m_e is not found,
then nothing is printed, and an exit status of false is
returned. If the --pp option is used, ttyyppee either returns the
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
builtin, or disk file, respectively. If the _n_a_m_e is not found,
then nothing is printed, and an exit status of false is
returned. If the --pp option is used, ttyyppee either returns the
name of the disk file that would be executed if _n_a_m_e were speci-
fied as a command name, or nothing if ``type -t name'' would not
return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
even if ``type -t name'' would not return _f_i_l_e. If a command is
hashed, --pp and --PP print the hashed value, not necessarily the
hashed, --pp and --PP print the hashed value, not necessarily the
file that appears first in PPAATTHH. If the --aa option is used, ttyyppee
prints all of the places that contain an executable named _n_a_m_e.
This includes aliases and functions, if and only if the --pp
option is not also used. The table of hashed commands is not
consulted when using --aa. The --ff option suppresses shell func-
tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
prints all of the places that contain an executable named _n_a_m_e.
This includes aliases and functions, if and only if the --pp
option is not also used. The table of hashed commands is not
consulted when using --aa. The --ff option suppresses shell func-
tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSSTTaabbccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]]
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
The --HH and --SS options specify that the hard or soft limit is set
for the given resource. A hard limit cannot be increased by a
non-root user once it is set; a soft limit may be increased up
to the value of the hard limit. If neither --HH nor --SS is speci-
for the given resource. A hard limit cannot be increased by a
non-root user once it is set; a soft limit may be increased up
to the value of the hard limit. If neither --HH nor --SS is speci-
fied, both the soft and hard limits are set. The value of _l_i_m_i_t
can be a number in the unit specified for the resource or one of
the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the
current hard limit, the current soft limit, and no limit,
respectively. If _l_i_m_i_t is omitted, the current value of the
soft limit of the resource is printed, unless the --HH option is
current hard limit, the current soft limit, and no limit,
respectively. If _l_i_m_i_t is omitted, the current value of the
soft limit of the resource is printed, unless the --HH option is
given. When more than one resource is specified, the limit name
and unit are printed before the value. Other options are inter-
preted as follows:
@@ -5145,11 +5157,11 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--cc The maximum size of core files created
--dd The maximum size of a process's data segment
--ee The maximum scheduling priority ("nice")
--ff The maximum size of files written by the shell and its
--ff The maximum size of files written by the shell and its
children
--ii The maximum number of pending signals
--ll The maximum size that may be locked into memory
--mm The maximum resident set size (many systems do not honor
--mm The maximum resident set size (many systems do not honor
this limit)
--nn The maximum number of open file descriptors (most systems
do not allow this value to be set)
@@ -5158,65 +5170,65 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--rr The maximum real-time scheduling priority
--ss The maximum stack size
--tt The maximum amount of cpu time in seconds
--uu The maximum number of processes available to a single
--uu The maximum number of processes available to a single
user
--vv The maximum amount of virtual memory available to the
--vv The maximum amount of virtual memory available to the
shell
--xx The maximum number of file locks
--TT The maximum number of threads
If _l_i_m_i_t is given, it is the new value of the specified resource
(the --aa option is display only). If no option is given, then --ff
is assumed. Values are in 1024-byte increments, except for --tt,
which is in seconds, --pp, which is in units of 512-byte blocks,
and --TT, --bb, --nn, and --uu, which are unscaled values. The return
is assumed. Values are in 1024-byte increments, except for --tt,
which is in seconds, --pp, which is in units of 512-byte blocks,
and --TT, --bb, --nn, and --uu, which are unscaled values. The return
status is 0 unless an invalid option or argument is supplied, or
an error occurs while setting a new limit.
uummaasskk [--pp] [--SS] [_m_o_d_e]
The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with
a digit, it is interpreted as an octal number; otherwise it is
interpreted as a symbolic mode mask similar to that accepted by
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
printed. The --SS option causes the mask to be printed in sym-
bolic form; the default output is an octal number. If the --pp
a digit, it is interpreted as an octal number; otherwise it is
interpreted as a symbolic mode mask similar to that accepted by
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
printed. The --SS option causes the mask to be printed in sym-
bolic form; the default output is an octal number. If the --pp
option is supplied, and _m_o_d_e is omitted, the output is in a form
that may be reused as input. The return status is 0 if the mode
was successfully changed or if no _m_o_d_e argument was supplied,
was successfully changed or if no _m_o_d_e argument was supplied,
and false otherwise.
uunnaalliiaass [-aa] [_n_a_m_e ...]
Remove each _n_a_m_e from the list of defined aliases. If --aa is
supplied, all alias definitions are removed. The return value
Remove each _n_a_m_e from the list of defined aliases. If --aa is
supplied, all alias definitions are removed. The return value
is true unless a supplied _n_a_m_e is not a defined alias.
uunnsseett [-ffvv] [_n_a_m_e ...]
For each _n_a_m_e, remove the corresponding variable or function.
For each _n_a_m_e, remove the corresponding variable or function.
If no options are supplied, or the --vv option is given, each _n_a_m_e
refers to a shell variable. Read-only variables may not be
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
tion, and the function definition is removed. Each unset vari-
able or function is removed from the environment passed to sub-
sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD,
refers to a shell variable. Read-only variables may not be
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
tion, and the function definition is removed. Each unset vari-
able or function is removed from the environment passed to sub-
sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD,
FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their special
properties, even if they are subsequently reset. The exit sta-
properties, even if they are subsequently reset. The exit sta-
tus is true unless a _n_a_m_e is readonly.
wwaaiitt [_n _._._.]
Wait for each specified process and return its termination sta-
tus. Each _n may be a process ID or a job specification; if a
job spec is given, all processes in that job's pipeline are
waited for. If _n is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If _n
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the
Wait for each specified process and return its termination sta-
tus. Each _n may be a process ID or a job specification; if a
job spec is given, all processes in that job's pipeline are
waited for. If _n is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If _n
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the
last process or job waited for.
RREESSTTRRIICCTTEEDD SSHHEELLLL
If bbaasshh is started with the name rrbbaasshh, or the --rr option is supplied at
invocation, the shell becomes restricted. A restricted shell is used
to set up an environment more controlled than the standard shell. It
behaves identically to bbaasshh with the exception that the following are
invocation, the shell becomes restricted. A restricted shell is used
to set up an environment more controlled than the standard shell. It
behaves identically to bbaasshh with the exception that the following are
disallowed or not performed:
+o changing directories with ccdd
@@ -5225,16 +5237,16 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o specifying command names containing //
+o specifying a file name containing a // as an argument to the ..
+o specifying a file name containing a // as an argument to the ..
builtin command
+o Specifying a filename containing a slash as an argument to the
+o Specifying a filename containing a slash as an argument to the
--pp option to the hhaasshh builtin command
+o importing function definitions from the shell environment at
+o importing function definitions from the shell environment at
startup
+o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at
+o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at
startup
+o redirecting output using the >, >|, <>, >&, &>, and >> redirect-
@@ -5243,10 +5255,10 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o using the eexxeecc builtin command to replace the shell with another
command
+o adding or deleting builtin commands with the --ff and --dd options
+o adding or deleting builtin commands with the --ff and --dd options
to the eennaabbllee builtin command
+o Using the eennaabbllee builtin command to enable disabled shell
+o Using the eennaabbllee builtin command to enable disabled shell
builtins
+o specifying the --pp option to the ccoommmmaanndd builtin command
@@ -5256,14 +5268,14 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
These restrictions are enforced after any startup files are read.
When a command that is found to be a shell script is executed (see CCOOMM--
MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell
MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell
spawned to execute the script.
SSEEEE AALLSSOO
_B_a_s_h _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, Brian Fox and Chet Ramey
_T_h_e _G_n_u _R_e_a_d_l_i_n_e _L_i_b_r_a_r_y, Brian Fox and Chet Ramey
_T_h_e _G_n_u _H_i_s_t_o_r_y _L_i_b_r_a_r_y, Brian Fox and Chet Ramey
_P_o_r_t_a_b_l_e _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e _(_P_O_S_I_X_) _P_a_r_t _2_: _S_h_e_l_l _a_n_d _U_t_i_l_i_-
_P_o_r_t_a_b_l_e _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e _(_P_O_S_I_X_) _P_a_r_t _2_: _S_h_e_l_l _a_n_d _U_t_i_l_i_-
_t_i_e_s, IEEE
_s_h(1), _k_s_h(1), _c_s_h(1)
_e_m_a_c_s(1), _v_i(1)
@@ -5279,7 +5291,7 @@ FFIILLEESS
_~_/_._b_a_s_h_r_c
The individual per-interactive-shell startup file
_~_/_._b_a_s_h___l_o_g_o_u_t
The individual login shell cleanup file, executed when a login
The individual login shell cleanup file, executed when a login
shell exits
_~_/_._i_n_p_u_t_r_c
Individual _r_e_a_d_l_i_n_e initialization file
@@ -5293,14 +5305,14 @@ AAUUTTHHOORRSS
BBUUGG RREEPPOORRTTSS
If you find a bug in bbaasshh,, you should report it. But first, you should
make sure that it really is a bug, and that it appears in the latest
version of bbaasshh. The latest version is always available from
make sure that it really is a bug, and that it appears in the latest
version of bbaasshh. The latest version is always available from
_f_t_p_:_/_/_f_t_p_._g_n_u_._o_r_g_/_p_u_b_/_b_a_s_h_/.
Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g
command to submit a bug report. If you have a fix, you are encouraged
to mail that as well! Suggestions and `philosophical' bug reports may
be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup
Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g
command to submit a bug report. If you have a fix, you are encouraged
to mail that as well! Suggestions and `philosophical' bug reports may
be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup
ggnnuu..bbaasshh..bbuugg.
ALL bug reports should include:
@@ -5311,7 +5323,7 @@ BBUUGG RREEPPOORRTTSS
A description of the bug behaviour
A short script or `recipe' which exercises the bug
_b_a_s_h_b_u_g inserts the first three items automatically into the template
_b_a_s_h_b_u_g inserts the first three items automatically into the template
it provides for filing a bug report.
Comments and bug reports concerning this manual page should be directed
@@ -5328,10 +5340,10 @@ BBUUGGSS
Shell builtin commands and functions are not stoppable/restartable.
Compound commands and command sequences of the form `a ; b ; c' are not
handled gracefully when process suspension is attempted. When a
process is stopped, the shell immediately executes the next command in
the sequence. It suffices to place the sequence of commands between
parentheses to force it into a subshell, which may be stopped as a
handled gracefully when process suspension is attempted. When a
process is stopped, the shell immediately executes the next command in
the sequence. It suffices to place the sequence of commands between
parentheses to force it into a subshell, which may be stopped as a
unit.
Array variables may not (yet) be exported.
@@ -5340,4 +5352,4 @@ BBUUGGSS
GNU Bash-4.1 2009 October 16 BASH(1)
GNU Bash-4.1 2009 December 23 BASH(1)
+21 -9
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
.\" Last Change: Fri Oct 16 12:24:25 EDT 2009
.\" Last Change: Wed Dec 23 16:29:14 EST 2009
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2009 October 16" "GNU Bash-4.1"
.TH BASH 1 "2009 December 23" "GNU Bash-4.1"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -1057,6 +1057,8 @@ alert (bell)
backspace
.TP
.B \ee
.TP
.B \eE
an escape character
.TP
.B \ef
@@ -1079,6 +1081,9 @@ backslash
.TP
.B \e\(aq
single quote
.TP
.B \e\(dq
double quote
.TP
.B \e\fInnn\fP
the eight-bit character whose value is the octal value \fInnn\fP
@@ -3927,8 +3932,12 @@ True if the length of
is non-zero.
.TP
\fIstring1\fP \fB==\fP \fIstring2\fP
True if the strings are equal. \fB=\fP may be used in place of
\fB==\fP for strict POSIX compliance.
.PD 0
.TP
\fIstring1\fP \fB=\fP \fIstring2\fP
.PD
True if the strings are equal. \fB=\fP should be used
with the \fBtest\fP command for POSIX conformance.
.TP
\fIstring1\fP \fB!=\fP \fIstring2\fP
True if the strings are not equal.
@@ -8057,7 +8066,10 @@ than \fInchars\fP characters are read before the delimiter.
.B \-N \fInchars\fP
\fBread\fP returns after reading exactly \fInchars\fP characters rather
than waiting for a complete line of input, unless EOF is encountered or
\fBread\fP times out. Any delimiter is ignored.
\fBread\fP times out.
Delimiter characters encountered in the input are
not treated specially and do not cause \fBread\fP to return until
\fInchars\fP characters are read.
.TP
.B \-p \fIprompt\fP
Display \fIprompt\fP on standard error, without a
@@ -8267,6 +8279,10 @@ with the
option.
This also affects the editing interface used for \fBread \-e\fP.
.TP 8
.B errexit
Same as
.BR \-e .
.TP 8
.B errtrace
Same as
.BR \-E .
@@ -8275,10 +8291,6 @@ Same as
Same as
.BR \-T .
.TP 8
.B errexit
Same as
.BR \-e .
.TP 8
.B hashall
Same as
.BR \-h .
+37 -7
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
.\" Last Change: Fri Oct 9 12:07:53 EDT 2009
.\" Last Change: Wed Dec 23 16:29:14 EST 2009
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2009 October 9" "GNU Bash-4.1"
.TH BASH 1 "2009 December 23" "GNU Bash-4.1"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -1057,6 +1057,8 @@ alert (bell)
backspace
.TP
.B \ee
.TP
.B \eE
an escape character
.TP
.B \ef
@@ -1079,6 +1081,9 @@ backslash
.TP
.B \e\(aq
single quote
.TP
.B \e\(dq
double quote
.TP
.B \e\fInnn\fP
the eight-bit character whose value is the octal value \fInnn\fP
@@ -3820,6 +3825,10 @@ descriptor 0, 1, or 2, respectively, is checked.
.PP
Unless otherwise specified, primaries that operate on files follow symbolic
links and operate on the target of the link, rather than the link itself.
.if t .sp 0.5
.if n .sp 1
When used with \fB[[\fP, The \fB<\fP and \fB>\fP operators sort
lexicographically using the current locale.
.sp 1
.PD 0
.TP
@@ -3923,8 +3932,12 @@ True if the length of
is non-zero.
.TP
\fIstring1\fP \fB==\fP \fIstring2\fP
True if the strings are equal. \fB=\fP may be used in place of
\fB==\fP for strict POSIX compliance.
.PD 0
.TP
\fIstring1\fP \fB=\fP \fIstring2\fP
.PD
True if the strings are equal. \fB=\fP should be used
with the \fBtest\fP command for POSIX conformance.
.TP
\fIstring1\fP \fB!=\fP \fIstring2\fP
True if the strings are not equal.
@@ -7787,7 +7800,7 @@ Exit a login shell.
.TP
\fBreadarray\fP [\fB\-n\fP \fIcount\fP] [\fB\-O\fP \fIorigin\fP] [\fB\-s\fP \fIcount\fP] [\fB\-t\fP] [\fB\-u\fP \fIfd\fP] [\fB\-C\fP \fIcallback\fP] [\fB\-c\fP \fIquantum\fP] [\fIarray\fP]
.PD
Read lines from the standard input into array variable
Read lines from the standard input into the indexed array variable
.IR array ,
or from file descriptor
.IR fd
@@ -7845,7 +7858,8 @@ If not supplied with an explicit origin, \fBmapfile\fP will clear \fIarray\fP
before assigning to it.
.PP
\fBmapfile\fP returns successfully unless an invalid option or option
argument is supplied, or \fIarray\fP is invalid or unassignable.
argument is supplied, \fIarray\fP is invalid or unassignable, or if
\fIarray\fP is not an indexed array.
.RE
.TP
\fBpopd\fP [\-\fBn\fP] [+\fIn\fP] [\-\fIn\fP]
@@ -8052,7 +8066,10 @@ than \fInchars\fP characters are read before the delimiter.
.B \-N \fInchars\fP
\fBread\fP returns after reading exactly \fInchars\fP characters rather
than waiting for a complete line of input, unless EOF is encountered or
\fBread\fP times out. Any delimiter is ignored.
\fBread\fP times out.
Delimiter characters encountered in the input are
not treated specially and do not cause \fBread\fP to return until
\fInchars\fP characters are read.
.TP
.B \-p \fIprompt\fP
Display \fIprompt\fP on standard error, without a
@@ -8630,6 +8647,19 @@ If set,
changes its behavior to that of version 3.1 with respect to quoted
arguments to the conditional command's =~ operator.
.TP 8
.B compat32
If set,
.B bash
changes its behavior to that of version 3.2 with respect to locale-specific
string comparison when using the conditional command's < and > operators.
.TP 8
.B compat40
If set,
.B bash
changes its behavior to that of version 4.0 with respect to locale-specific
string comparison when using the conditional command's < and > operators
and the effect of interrupting a command list.
.TP 8
.B dirspell
If set,
.B bash
+29 -6
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 October 16<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 December 23<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -5066,8 +5066,11 @@ True if the length of
is non-zero.
<DT><I>string1</I> <B>==</B> <I>string2</I><DD>
True if the strings are equal. <B>=</B> may be used in place of
<B>==</B> for strict POSIX compliance.
<DT><I>string1</I> <B>=</B> <I>string2</I><DD>
True if the strings are equal. <B>=</B> should be used
with the <B>test</B> command for POSIX conformance.
<DT><I>string1</I> <B>!=</B> <I>string2</I><DD>
True if the strings are not equal.
<DT><I>string1</I> <B>&lt;</B> <I>string2</I><DD>
@@ -10308,7 +10311,10 @@ than <I>nchars</I> characters are read before the delimiter.
<DD>
<B>read</B> returns after reading exactly <I>nchars</I> characters rather
than waiting for a complete line of input, unless EOF is encountered or
<B>read</B> times out. Any delimiter is ignored.
<B>read</B> times out.
Delimiter characters encountered in the input are
not treated specially and do not cause <B>read</B> to return until
<I>nchars</I> characters are read.
<DT><B>-p </B><I>prompt</I>
<DD>
@@ -11060,6 +11066,23 @@ If set,
changes its behavior to that of version 3.1 with respect to quoted
arguments to the conditional command's =~ operator.
<DT><B>compat32</B>
<DD>
If set,
<B>bash</B>
changes its behavior to that of version 3.2 with respect to locale-specific
string comparison when using the conditional command's &lt; and &gt; operators.
<DT><B>compat40</B>
<DD>
If set,
<B>bash</B>
changes its behavior to that of version 4.0 with respect to locale-specific
string comparison when using the conditional command's &lt; and &gt; operators
and the effect of interrupting a command list.
<DT><B>dirspell</B>
<DD>
@@ -12261,7 +12284,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash-4.1<TH ALIGN=CENTER width=33%>2009 October 16<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash-4.1<TH ALIGN=CENTER width=33%>2009 December 23<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -12367,6 +12390,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 09 November 2009 14:08:09 EST
Time: 23 December 2009 16:47:15 EST
</BODY>
</HTML>
BIN
View File
Binary file not shown.
+1099 -1095
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -39,7 +39,7 @@
\entry{type}{49}{\code {type}}
\entry{typeset}{49}{\code {typeset}}
\entry{ulimit}{49}{\code {ulimit}}
\entry{unalias}{50}{\code {unalias}}
\entry{unalias}{51}{\code {unalias}}
\entry{set}{51}{\code {set}}
\entry{shopt}{55}{\code {shopt}}
\entry{dirs}{81}{\code {dirs}}
+1 -1
View File
@@ -74,7 +74,7 @@
\initial {U}
\entry {\code {ulimit}}{49}
\entry {\code {umask}}{41}
\entry {\code {unalias}}{50}
\entry {\code {unalias}}{51}
\entry {\code {unset}}{41}
\initial {W}
\entry {\code {wait}}{91}
BIN
View File
Binary file not shown.
+11 -7
View File
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on November, 9 2009 by texi2html 1.64 -->
<!-- Created on December, 23 2009 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -33,10 +33,10 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
<H1>Bash Reference Manual</H1></P><P>
This text is a brief description of the features that are present in
the Bash shell (version 4.1, 16 October 2009).
the Bash shell (version 4.1, 23 December 2009).
</P><P>
This is Edition 4.1, last updated 16 October 2009,
This is Edition 4.1, last updated 23 December 2009,
of <CITE>The GNU Bash Reference Manual</CITE>,
for <CODE>Bash</CODE>, Version 4.1.
</P><P>
@@ -4872,7 +4872,10 @@ than <VAR>nchars</VAR> characters are read before the delimiter.
<DT><CODE>-N <VAR>nchars</VAR></CODE>
<DD><CODE>read</CODE> returns after reading exactly <VAR>nchars</VAR> characters rather
than waiting for a complete line of input, unless EOF is encountered or
<CODE>read</CODE> times out. Any delimiter is ignored.
<CODE>read</CODE> times out.
Delimiter characters encountered in the input are
not treated specially and do not cause <CODE>read</CODE> to return until
<VAR>nchars</VAR> characters are read.
<P>
<DT><CODE>-p <VAR>prompt</VAR></CODE>
@@ -7675,8 +7678,9 @@ option to the <CODE>set</CODE> builtin (see section <A HREF="bashref.html#SEC62"
<P>
<DT><CODE><VAR>string1</VAR> == <VAR>string2</VAR></CODE>
<DD><DT><CODE><VAR>string1</VAR> = <VAR>string2</VAR></CODE>
<DD>True if the strings are equal.
<SAMP>`='</SAMP> may be used in place of <SAMP>`=='</SAMP> for strict POSIX compliance.
<SAMP>`='</SAMP> should be used with the <CODE>test</CODE> command for POSIX conformance.
<P>
<DT><CODE><VAR>string1</VAR> != <VAR>string2</VAR></CODE>
@@ -16048,7 +16052,7 @@ to permit their use in free software.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
This document was generated by <I>Chet Ramey</I> on <I>November, 9 2009</I>
This document was generated by <I>Chet Ramey</I> on <I>December, 23 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -16210,7 +16214,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
by <I>Chet Ramey</I> on <I>November, 9 2009</I>
by <I>Chet Ramey</I> on <I>December, 23 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
+143 -140
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 4.13 from
/Users/chet/src/bash/src/doc/bashref.texi.
This text is a brief description of the features that are present in
the Bash shell (version 4.1, 16 October 2009).
the Bash shell (version 4.1, 23 December 2009).
This is Edition 4.1, last updated 16 October 2009, of `The GNU Bash
This is Edition 4.1, last updated 23 December 2009, of `The GNU Bash
Reference Manual', for `Bash', Version 4.1.
Copyright (C) 1988-2009 Free Software Foundation, Inc.
@@ -38,9 +38,9 @@ Bash Features
*************
This text is a brief description of the features that are present in
the Bash shell (version 4.1, 16 October 2009).
the Bash shell (version 4.1, 23 December 2009).
This is Edition 4.1, last updated 16 October 2009, of `The GNU Bash
This is Edition 4.1, last updated 23 December 2009, of `The GNU Bash
Reference Manual', for `Bash', Version 4.1.
Bash contains features that appear in other popular shells, and some
@@ -3236,7 +3236,9 @@ POSIX standard.
`-N NCHARS'
`read' returns after reading exactly NCHARS characters rather
than waiting for a complete line of input, unless EOF is
encountered or `read' times out. Any delimiter is ignored.
encountered or `read' times out. Delimiter characters
encountered in the input are not treated specially and do not
cause `read' to return until NCHARS characters are read.
`-p PROMPT'
Display PROMPT, without a trailing newline, before attempting
@@ -5138,8 +5140,9 @@ link itself.
True if the length of STRING is non-zero.
`STRING1 == STRING2'
True if the strings are equal. `=' may be used in place of `=='
for strict POSIX compliance.
`STRING1 = STRING2'
True if the strings are equal. `=' should be used with the `test'
command for POSIX conformance.
`STRING1 != STRING2'
True if the strings are not equal.
@@ -9696,7 +9699,7 @@ D.1 Index of Shell Builtin Commands
* pwd: Bourne Shell Builtins.
(line 163)
* read: Bash Builtins. (line 413)
* readarray: Bash Builtins. (line 491)
* readarray: Bash Builtins. (line 493)
* readonly: Bourne Shell Builtins.
(line 172)
* return: Bourne Shell Builtins.
@@ -9705,7 +9708,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 201)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 499)
* source: Bash Builtins. (line 501)
* suspend: Job Control Builtins.
(line 94)
* test: Bourne Shell Builtins.
@@ -9714,12 +9717,12 @@ D.1 Index of Shell Builtin Commands
(line 281)
* trap: Bourne Shell Builtins.
(line 286)
* type: Bash Builtins. (line 503)
* typeset: Bash Builtins. (line 534)
* ulimit: Bash Builtins. (line 540)
* type: Bash Builtins. (line 505)
* typeset: Bash Builtins. (line 536)
* ulimit: Bash Builtins. (line 542)
* umask: Bourne Shell Builtins.
(line 332)
* unalias: Bash Builtins. (line 628)
* unalias: Bash Builtins. (line 630)
* unset: Bourne Shell Builtins.
(line 349)
* wait: Job Control Builtins.
@@ -10210,132 +10213,132 @@ D.5 Concept Index

Tag Table:
Node: Top1344
Node: Introduction3181
Node: What is Bash?3409
Node: What is a shell?4522
Node: Definitions7062
Node: Basic Shell Features9980
Node: Shell Syntax11199
Node: Shell Operation12229
Node: Quoting13523
Node: Escape Character14826
Node: Single Quotes15311
Node: Double Quotes15659
Node: ANSI-C Quoting16784
Node: Locale Translation17740
Node: Comments18636
Node: Shell Commands19254
Node: Simple Commands20078
Node: Pipelines20709
Node: Lists22965
Node: Compound Commands24694
Node: Looping Constructs25498
Node: Conditional Constructs27953
Node: Command Grouping36066
Node: Coprocesses37545
Node: Shell Functions39189
Node: Shell Parameters43743
Node: Positional Parameters46159
Node: Special Parameters47059
Node: Shell Expansions50023
Node: Brace Expansion51948
Node: Tilde Expansion54703
Node: Shell Parameter Expansion57054
Node: Command Substitution65955
Node: Arithmetic Expansion67288
Node: Process Substitution68138
Node: Word Splitting69188
Node: Filename Expansion70811
Node: Pattern Matching72950
Node: Quote Removal76589
Node: Redirections76884
Node: Executing Commands85409
Node: Simple Command Expansion86079
Node: Command Search and Execution88009
Node: Command Execution Environment90346
Node: Environment93332
Node: Exit Status94992
Node: Signals96613
Node: Shell Scripts98581
Node: Shell Builtin Commands101099
Node: Bourne Shell Builtins103127
Node: Bash Builtins120503
Node: Modifying Shell Behavior145194
Node: The Set Builtin145539
Node: The Shopt Builtin155063
Node: Special Builtins165925
Node: Shell Variables166904
Node: Bourne Shell Variables167344
Node: Bash Variables169325
Node: Bash Features192811
Node: Invoking Bash193694
Node: Bash Startup Files199503
Node: Interactive Shells204515
Node: What is an Interactive Shell?204925
Node: Is this Shell Interactive?205574
Node: Interactive Shell Behavior206389
Node: Bash Conditional Expressions209669
Node: Shell Arithmetic213294
Node: Aliases216040
Node: Arrays218612
Node: The Directory Stack222570
Node: Directory Stack Builtins223284
Node: Printing a Prompt226176
Node: The Restricted Shell228928
Node: Bash POSIX Mode230760
Node: Job Control238817
Node: Job Control Basics239277
Node: Job Control Builtins243994
Node: Job Control Variables248358
Node: Command Line Editing249516
Node: Introduction and Notation251083
Node: Readline Interaction252705
Node: Readline Bare Essentials253896
Node: Readline Movement Commands255685
Node: Readline Killing Commands256650
Node: Readline Arguments258570
Node: Searching259614
Node: Readline Init File261800
Node: Readline Init File Syntax262947
Node: Conditional Init Constructs277434
Node: Sample Init File279967
Node: Bindable Readline Commands283084
Node: Commands For Moving284291
Node: Commands For History285435
Node: Commands For Text288590
Node: Commands For Killing291263
Node: Numeric Arguments293714
Node: Commands For Completion294853
Node: Keyboard Macros298813
Node: Miscellaneous Commands299384
Node: Readline vi Mode305190
Node: Programmable Completion306104
Node: Programmable Completion Builtins313310
Node: Using History Interactively322446
Node: Bash History Facilities323130
Node: Bash History Builtins326044
Node: History Interaction329901
Node: Event Designators332606
Node: Word Designators333621
Node: Modifiers335260
Node: Installing Bash336664
Node: Basic Installation337801
Node: Compilers and Options340493
Node: Compiling For Multiple Architectures341234
Node: Installation Names342898
Node: Specifying the System Type343716
Node: Sharing Defaults344432
Node: Operation Controls345105
Node: Optional Features346063
Node: Reporting Bugs355622
Node: Major Differences From The Bourne Shell356823
Node: GNU Free Documentation License373510
Node: Indexes398706
Node: Builtin Index399160
Node: Reserved Word Index405987
Node: Variable Index408435
Node: Function Index420528
Node: Concept Index427537
Node: Top1346
Node: Introduction3185
Node: What is Bash?3413
Node: What is a shell?4526
Node: Definitions7066
Node: Basic Shell Features9984
Node: Shell Syntax11203
Node: Shell Operation12233
Node: Quoting13527
Node: Escape Character14830
Node: Single Quotes15315
Node: Double Quotes15663
Node: ANSI-C Quoting16788
Node: Locale Translation17744
Node: Comments18640
Node: Shell Commands19258
Node: Simple Commands20082
Node: Pipelines20713
Node: Lists22969
Node: Compound Commands24698
Node: Looping Constructs25502
Node: Conditional Constructs27957
Node: Command Grouping36070
Node: Coprocesses37549
Node: Shell Functions39193
Node: Shell Parameters43747
Node: Positional Parameters46163
Node: Special Parameters47063
Node: Shell Expansions50027
Node: Brace Expansion51952
Node: Tilde Expansion54707
Node: Shell Parameter Expansion57058
Node: Command Substitution65959
Node: Arithmetic Expansion67292
Node: Process Substitution68142
Node: Word Splitting69192
Node: Filename Expansion70815
Node: Pattern Matching72954
Node: Quote Removal76593
Node: Redirections76888
Node: Executing Commands85413
Node: Simple Command Expansion86083
Node: Command Search and Execution88013
Node: Command Execution Environment90350
Node: Environment93336
Node: Exit Status94996
Node: Signals96617
Node: Shell Scripts98585
Node: Shell Builtin Commands101103
Node: Bourne Shell Builtins103131
Node: Bash Builtins120507
Node: Modifying Shell Behavior145332
Node: The Set Builtin145677
Node: The Shopt Builtin155201
Node: Special Builtins166063
Node: Shell Variables167042
Node: Bourne Shell Variables167482
Node: Bash Variables169463
Node: Bash Features192949
Node: Invoking Bash193832
Node: Bash Startup Files199641
Node: Interactive Shells204653
Node: What is an Interactive Shell?205063
Node: Is this Shell Interactive?205712
Node: Interactive Shell Behavior206527
Node: Bash Conditional Expressions209807
Node: Shell Arithmetic213456
Node: Aliases216202
Node: Arrays218774
Node: The Directory Stack222732
Node: Directory Stack Builtins223446
Node: Printing a Prompt226338
Node: The Restricted Shell229090
Node: Bash POSIX Mode230922
Node: Job Control238979
Node: Job Control Basics239439
Node: Job Control Builtins244156
Node: Job Control Variables248520
Node: Command Line Editing249678
Node: Introduction and Notation251245
Node: Readline Interaction252867
Node: Readline Bare Essentials254058
Node: Readline Movement Commands255847
Node: Readline Killing Commands256812
Node: Readline Arguments258732
Node: Searching259776
Node: Readline Init File261962
Node: Readline Init File Syntax263109
Node: Conditional Init Constructs277596
Node: Sample Init File280129
Node: Bindable Readline Commands283246
Node: Commands For Moving284453
Node: Commands For History285597
Node: Commands For Text288752
Node: Commands For Killing291425
Node: Numeric Arguments293876
Node: Commands For Completion295015
Node: Keyboard Macros298975
Node: Miscellaneous Commands299546
Node: Readline vi Mode305352
Node: Programmable Completion306266
Node: Programmable Completion Builtins313472
Node: Using History Interactively322608
Node: Bash History Facilities323292
Node: Bash History Builtins326206
Node: History Interaction330063
Node: Event Designators332768
Node: Word Designators333783
Node: Modifiers335422
Node: Installing Bash336826
Node: Basic Installation337963
Node: Compilers and Options340655
Node: Compiling For Multiple Architectures341396
Node: Installation Names343060
Node: Specifying the System Type343878
Node: Sharing Defaults344594
Node: Operation Controls345267
Node: Optional Features346225
Node: Reporting Bugs355784
Node: Major Differences From The Bourne Shell356985
Node: GNU Free Documentation License373672
Node: Indexes398868
Node: Builtin Index399322
Node: Reserved Word Index406149
Node: Variable Index408597
Node: Function Index420690
Node: Concept Index427699

End Tag Table
+10 -10
View File
@@ -1,4 +1,4 @@
This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11) 9 NOV 2009 14:08
This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11) 23 DEC 2009 16:47
**/Users/chet/src/bash/src/doc/bashref.texi
(/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
Loading texinfo [version 2009-01-18.17]:
@@ -220,7 +220,7 @@ rs@texttt ] [-p @textttsl prompt@texttt ] [-t @textttsl time-
.etc.
[47] [48] [49] [50] [51] [52] [53] [54] [55]
Underfull \hbox (badness 2573) in paragraph at lines 4408--4412
Underfull \hbox (badness 2573) in paragraph at lines 4411--4415
[]@textrm Error trac-ing is en-abled: com-mand sub-sti-tu-tion, shell
@hbox(7.60416+2.12917)x433.62, glue set 2.95305
@@ -237,7 +237,7 @@ Underfull \hbox (badness 2573) in paragraph at lines 4408--4412
[56] [57] [58] Chapter 5 [59] [60] [61] [62] [63] [64] [65] [66] [67] [68]
[69] Chapter 6 [70]
Overfull \hbox (51.96864pt too wide) in paragraph at lines 5276--5276
Overfull \hbox (51.96864pt too wide) in paragraph at lines 5279--5279
[]@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -250,7 +250,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
Overfull \hbox (76.23077pt too wide) in paragraph at lines 5277--5277
Overfull \hbox (76.23077pt too wide) in paragraph at lines 5280--5280
[]@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt
] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
-
@@ -264,7 +264,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 5277--5277
.etc.
Overfull \hbox (34.72258pt too wide) in paragraph at lines 5278--5278
Overfull \hbox (34.72258pt too wide) in paragraph at lines 5281--5281
[]@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -277,7 +277,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
[71] [72]
Underfull \hbox (badness 2245) in paragraph at lines 5452--5454
Underfull \hbox (badness 2245) in paragraph at lines 5455--5457
[]@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from
the file
@@ -290,7 +290,7 @@ the file
.etc.
[73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86]
Underfull \hbox (badness 2521) in paragraph at lines 6599--6602
Underfull \hbox (badness 2521) in paragraph at lines 6603--6606
@textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
e[] @textrm when build-ing (see Sec-tion 10.8
@@ -358,7 +358,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1899--1902
[119]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
[120] [121] [122] [123] [124]) Chapter 10 [125] [126] [127] [128] [129]
Underfull \hbox (badness 2772) in paragraph at lines 7200--7204
Underfull \hbox (badness 2772) in paragraph at lines 7204--7208
[]@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
s/large_
@@ -378,10 +378,10 @@ s/large_
Here is how much of TeX's memory you used:
2078 strings out of 97980
28503 string characters out of 1221004
65670 words of memory out of 1500000
64672 words of memory out of 1500000
2894 multiletter control sequences out of 10000+50000
32127 words of font info for 112 fonts, out of 1200000 for 2000
51 hyphenation exceptions out of 8191
16i,6n,14p,315b,699s stack positions out of 5000i,500n,6000p,200000b,5000s
Output written on bashref.dvi (164 pages, 663212 bytes).
Output written on bashref.dvi (164 pages, 663408 bytes).
BIN
View File
Binary file not shown.
+396 -389
View File
File diff suppressed because it is too large Load Diff
+9 -2
View File
@@ -498,6 +498,7 @@ alert (bell)
@item \b
backspace
@item \e
@itemx \E
an escape character (not ANSI C)
@item \f
form feed
@@ -513,6 +514,8 @@ vertical tab
backslash
@item \'
single quote
@item \"
double quote
@item \@var{nnn}
the eight-bit character whose value is the octal value @var{nnn}
(one to three digits)
@@ -3769,7 +3772,10 @@ than @var{nchars} characters are read before the delimiter.
@item -N @var{nchars}
@code{read} returns after reading exactly @var{nchars} characters rather
than waiting for a complete line of input, unless EOF is encountered or
@code{read} times out. Any delimiter is ignored.
@code{read} times out.
Delimiter characters encountered in the input are
not treated specially and do not cause @code{read} to return until
@var{nchars} characters are read.
@item -p @var{prompt}
Display @var{prompt}, without a trailing newline, before attempting
@@ -5811,8 +5817,9 @@ True if the length of @var{string} is zero.
True if the length of @var{string} is non-zero.
@item @var{string1} == @var{string2}
@itemx @var{string1} = @var{string2}
True if the strings are equal.
@samp{=} may be used in place of @samp{==} for strict @sc{posix} compliance.
@samp{=} should be used with the @code{test} command for @sc{posix} conformance.
@item @var{string1} != @var{string2}
True if the strings are not equal.
+13 -5
View File
@@ -3648,7 +3648,7 @@ parent.
mapfile [-n @var{count}] [-O @var{origin}] [-s @var{count}] [-t] [-u @var{fd}] [
-C @var{callback}] [-c @var{quantum}] [@var{array}]
@end example
Read lines from the standard input into array variable @var{array},
Read lines from the standard input into the indexed array variable @var{array},
or from file descriptor @var{fd}
if the @option{-u} option is supplied.
The variable @code{MAPFILE} is the default @var{array}.
@@ -3684,7 +3684,8 @@ If not supplied with an explicit origin, @code{mapfile} will clear @var{array}
before assigning to it.
@code{mapfile} returns successfully unless an invalid option or option
argument is supplied, or @var{array} is invalid or unassignable.
argument is supplied, @var{array} is invalid or unassignable, or @var{array}
is not an indexed array.
@item printf
@btindex printf
@@ -3768,7 +3769,10 @@ than @var{nchars} characters are read before the delimiter.
@item -N @var{nchars}
@code{read} returns after reading exactly @var{nchars} characters rather
than waiting for a complete line of input, unless EOF is encountered or
@code{read} times out. Any delimiter is ignored.
@code{read} times out.
Delimiter characters encountered in the input are
not treated specially and do not cause @code{read} to return until
@var{nchars} characters are read.
@item -p @var{prompt}
Display @var{prompt}, without a trailing newline, before attempting
@@ -3808,7 +3812,7 @@ Read input from file descriptor @var{fd}.
readarray [-n @var{count}] [-O @var{origin}] [-s @var{count}] [-t] [-u @var{fd}] [
-C @var{callback}] [-c @var{quantum}] [@var{array}]
@end example
Read lines from the standard input into array variable @var{array},
Read lines from the standard input into the indexed array variable @var{array},
or from file descriptor @var{fd}
if the @option{-u} option is supplied.
@@ -5715,6 +5719,9 @@ If the @var{file} argument to one of the primaries is one of
@file{/dev/stdin}, @file{/dev/stdout}, or @file{/dev/stderr}, file
descriptor 0, 1, or 2, respectively, is checked.
When used with @samp{[[}, The @samp{<} and @samp{>} operators sort
lexicographically using the current locale.
Unless otherwise specified, primaries that operate on files follow symbolic
links and operate on the target of the link, rather than the link itself.
@@ -5807,8 +5814,9 @@ True if the length of @var{string} is zero.
True if the length of @var{string} is non-zero.
@item @var{string1} == @var{string2}
@itemx @var{string1} = @var{string2}
True if the strings are equal.
@samp{=} may be used in place of @samp{==} for strict @sc{posix} compliance.
@samp{=} should be used with the @code{test} command for @sc{posix} conformance.
@item @var{string1} != @var{string2}
True if the strings are not equal.
+163 -152
View File
@@ -896,8 +896,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--NN _n_c_h_a_r_s
rreeaadd returns after reading exactly _n_c_h_a_r_s characters
rather than waiting for a complete line of input, unless
EOF is encountered or rreeaadd times out. Any delimiter is
ignored.
EOF is encountered or rreeaadd times out. Delimiter charac-
ters encountered in the input are not treated specially
and do not cause rreeaadd to return until _n_c_h_a_r_s characters
are read.
--pp _p_r_o_m_p_t
Display _p_r_o_m_p_t on standard error, without a trailing new-
line, before attempting to read any input. The prompt is
@@ -1200,58 +1202,67 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
If set, bbaasshh changes its behavior to that of version 3.1
with respect to quoted arguments to the conditional com-
mand's =~ operator.
ccoommppaatt3322
If set, bbaasshh changes its behavior to that of version 3.2
with respect to locale-specific string comparison when
using the conditional command's < and > operators.
ccoommppaatt4400
If set, bbaasshh changes its behavior to that of version 4.0
with respect to locale-specific string comparison when
using the conditional command's < and > operators and
the effect of interrupting a command list.
ddiirrssppeellll
If set, bbaasshh attempts spelling correction on directory
names during word completion if the directory name ini-
If set, bbaasshh attempts spelling correction on directory
names during word completion if the directory name ini-
tially supplied does not exist.
ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
the results of pathname expansion.
eexxeeccffaaiill
If set, a non-interactive shell will not exit if it can-
not execute the file specified as an argument to the
eexxeecc builtin command. An interactive shell does not
not execute the file specified as an argument to the
eexxeecc builtin command. An interactive shell does not
exit if eexxeecc fails.
eexxppaanndd__aalliiaasseess
If set, aliases are expanded as described above under
If set, aliases are expanded as described above under
AALLIIAASSEESS. This option is enabled by default for interac-
tive shells.
eexxttddeebbuugg
If set, behavior intended for use by debuggers is
If set, behavior intended for use by debuggers is
enabled:
11.. The --FF option to the ddeeccllaarree builtin displays the
source file name and line number corresponding to
each function name supplied as an argument.
22.. If the command run by the DDEEBBUUGG trap returns a
non-zero value, the next command is skipped and
22.. If the command run by the DDEEBBUUGG trap returns a
non-zero value, the next command is skipped and
not executed.
33.. If the command run by the DDEEBBUUGG trap returns a
value of 2, and the shell is executing in a sub-
routine (a shell function or a shell script exe-
cuted by the .. or ssoouurrccee builtins), a call to
33.. If the command run by the DDEEBBUUGG trap returns a
value of 2, and the shell is executing in a sub-
routine (a shell function or a shell script exe-
cuted by the .. or ssoouurrccee builtins), a call to
rreettuurrnn is simulated.
44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
in their descriptions above.
55.. Function tracing is enabled: command substitu-
55.. Function tracing is enabled: command substitu-
tion, shell functions, and subshells invoked with
(( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps.
66.. Error tracing is enabled: command substitution,
shell functions, and subshells invoked with ((
66.. Error tracing is enabled: command substitution,
shell functions, and subshells invoked with ((
_c_o_m_m_a_n_d )) inherit the EERRRROORR trap.
eexxttgglloobb If set, the extended pattern matching features described
above under PPaatthhnnaammee EExxppaannssiioonn are enabled.
eexxttqquuoottee
If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
quotes. This option is enabled by default.
ffaaiillgglloobb
If set, patterns which fail to match filenames during
If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
ffoorrccee__ffiiggnnoorree
If set, the suffixes specified by the FFIIGGNNOORREE shell
variable cause words to be ignored when performing word
If set, the suffixes specified by the FFIIGGNNOORREE shell
variable cause words to be ignored when performing word
completion even if the ignored words are the only possi-
ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a
description of FFIIGGNNOORREE. This option is enabled by
description of FFIIGGNNOORREE. This option is enabled by
default.
gglloobbssttaarr
If set, the pattern **** used in a pathname expansion con-
@@ -1262,58 +1273,58 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
If set, shell error messages are written in the standard
GNU error message format.
hhiissttaappppeenndd
If set, the history list is appended to the file named
by the value of the HHIISSTTFFIILLEE variable when the shell
If set, the history list is appended to the file named
by the value of the HHIISSTTFFIILLEE variable when the shell
exits, rather than overwriting the file.
hhiissttrreeeeddiitt
If set, and rreeaaddlliinnee is being used, a user is given the
If set, and rreeaaddlliinnee is being used, a user is given the
opportunity to re-edit a failed history substitution.
hhiissttvveerriiffyy
If set, and rreeaaddlliinnee is being used, the results of his-
tory substitution are not immediately passed to the
shell parser. Instead, the resulting line is loaded
If set, and rreeaaddlliinnee is being used, the results of his-
tory substitution are not immediately passed to the
shell parser. Instead, the resulting line is loaded
into the rreeaaddlliinnee editing buffer, allowing further modi-
fication.
hhoossttccoommpplleettee
If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to
perform hostname completion when a word containing a @@
is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
perform hostname completion when a word containing a @@
is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
above). This is enabled by default.
hhuuppoonneexxiitt
If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter-
active login shell exits.
iinntteerraaccttiivvee__ccoommmmeennttss
If set, allow a word beginning with ## to cause that word
and all remaining characters on that line to be ignored
in an interactive shell (see CCOOMMMMEENNTTSS above). This
and all remaining characters on that line to be ignored
in an interactive shell (see CCOOMMMMEENNTTSS above). This
option is enabled by default.
lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
llooggiinn__sshheellll
The shell sets this option if it is started as a login
shell (see IINNVVOOCCAATTIIOONN above). The value may not be
The shell sets this option if it is started as a login
shell (see IINNVVOOCCAATTIIOONN above). The value may not be
changed.
mmaaiillwwaarrnn
If set, and a file that bbaasshh is checking for mail has
been accessed since the last time it was checked, the
message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
If set, and a file that bbaasshh is checking for mail has
been accessed since the last time it was checked, the
message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
played.
nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn
If set, and rreeaaddlliinnee is being used, bbaasshh will not
If set, and rreeaaddlliinnee is being used, bbaasshh will not
attempt to search the PPAATTHH for possible completions when
completion is attempted on an empty line.
nnooccaasseegglloobb
If set, bbaasshh matches filenames in a case-insensitive
If set, bbaasshh matches filenames in a case-insensitive
fashion when performing pathname expansion (see PPaatthhnnaammee
EExxppaannssiioonn above).
nnooccaasseemmaattcchh
If set, bbaasshh matches patterns in a case-insensitive
If set, bbaasshh matches patterns in a case-insensitive
fashion when performing matching while executing ccaassee or
[[[[ conditional commands.
nnuullllgglloobb
If set, bbaasshh allows patterns which match no files (see
PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
If set, bbaasshh allows patterns which match no files (see
PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
rather than themselves.
pprrooggccoommpp
If set, the programmable completion facilities (see PPrroo--
@@ -1321,47 +1332,47 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
enabled by default.
pprroommppttvvaarrss
If set, prompt strings undergo parameter expansion, com-
mand substitution, arithmetic expansion, and quote
removal after being expanded as described in PPRROOMMPPTTIINNGG
mand substitution, arithmetic expansion, and quote
removal after being expanded as described in PPRROOMMPPTTIINNGG
above. This option is enabled by default.
rreessttrriicctteedd__sshheellll
The shell sets this option if it is started in
The shell sets this option if it is started in
restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value
may not be changed. This is not reset when the startup
files are executed, allowing the startup files to dis-
may not be changed. This is not reset when the startup
files are executed, allowing the startup files to dis-
cover whether or not a shell is restricted.
sshhiifftt__vveerrbboossee
If set, the sshhiifftt builtin prints an error message when
If set, the sshhiifftt builtin prints an error message when
the shift count exceeds the number of positional parame-
ters.
ssoouurrcceeppaatthh
If set, the ssoouurrccee (..) builtin uses the value of PPAATTHH to
find the directory containing the file supplied as an
find the directory containing the file supplied as an
argument. This option is enabled by default.
xxppgg__eecchhoo
If set, the eecchhoo builtin expands backslash-escape
If set, the eecchhoo builtin expands backslash-escape
sequences by default.
ssuussppeenndd [--ff]
Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
signal. A login shell cannot be suspended; the --ff option can be
used to override this and force the suspension. The return sta-
tus is 0 unless the shell is a login shell and --ff is not sup-
tus is 0 unless the shell is a login shell and --ff is not sup-
plied, or if job control is not enabled.
tteesstt _e_x_p_r
[[ _e_x_p_r ]]
Return a status of 0 or 1 depending on the evaluation of the
conditional expression _e_x_p_r. Each operator and operand must be
a separate argument. Expressions are composed of the primaries
described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not
Return a status of 0 or 1 depending on the evaluation of the
conditional expression _e_x_p_r. Each operator and operand must be
a separate argument. Expressions are composed of the primaries
described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not
accept any options, nor does it accept and ignore an argument of
---- as signifying the end of options.
Expressions may be combined using the following operators,
Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation
depends on the number of arguments; see below.
!! _e_x_p_r True if _e_x_p_r is false.
(( _e_x_p_r ))
Returns the value of _e_x_p_r. This may be used to override
Returns the value of _e_x_p_r. This may be used to override
the normal precedence of operators.
_e_x_p_r_1 -aa _e_x_p_r_2
True if both _e_x_p_r_1 and _e_x_p_r_2 are true.
@@ -1378,59 +1389,59 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
null.
2 arguments
If the first argument is !!, the expression is true if and
only if the second argument is null. If the first argu-
ment is one of the unary conditional operators listed
above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
only if the second argument is null. If the first argu-
ment is one of the unary conditional operators listed
above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
true if the unary test is true. If the first argument is
not a valid unary conditional operator, the expression is
false.
3 arguments
If the second argument is one of the binary conditional
If the second argument is one of the binary conditional
operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
result of the expression is the result of the binary test
using the first and third arguments as operands. The --aa
and --oo operators are considered binary operators when
there are three arguments. If the first argument is !!,
the value is the negation of the two-argument test using
using the first and third arguments as operands. The --aa
and --oo operators are considered binary operators when
there are three arguments. If the first argument is !!,
the value is the negation of the two-argument test using
the second and third arguments. If the first argument is
exactly (( and the third argument is exactly )), the result
is the one-argument test of the second argument. Other-
is the one-argument test of the second argument. Other-
wise, the expression is false.
4 arguments
If the first argument is !!, the result is the negation of
the three-argument expression composed of the remaining
the three-argument expression composed of the remaining
arguments. Otherwise, the expression is parsed and eval-
uated according to precedence using the rules listed
uated according to precedence using the rules listed
above.
5 or more arguments
The expression is parsed and evaluated according to
The expression is parsed and evaluated according to
precedence using the rules listed above.
ttiimmeess Print the accumulated user and system times for the shell and
ttiimmeess Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...]
The command _a_r_g is to be read and executed when the shell
receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
original disposition (the value it had upon entrance to the
shell). If _a_r_g is the null string the signal specified by each
_s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
If _a_r_g is not present and --pp has been supplied, then the trap
commands associated with each _s_i_g_s_p_e_c are displayed. If no
arguments are supplied or if only --pp is given, ttrraapp prints the
list of commands associated with each signal. The --ll option
causes the shell to print a list of signal names and their cor-
responding numbers. Each _s_i_g_s_p_e_c is either a signal name
defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
The command _a_r_g is to be read and executed when the shell
receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
original disposition (the value it had upon entrance to the
shell). If _a_r_g is the null string the signal specified by each
_s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
If _a_r_g is not present and --pp has been supplied, then the trap
commands associated with each _s_i_g_s_p_e_c are displayed. If no
arguments are supplied or if only --pp is given, ttrraapp prints the
list of commands associated with each signal. The --ll option
causes the shell to print a list of signal names and their cor-
responding numbers. Each _s_i_g_s_p_e_c is either a signal name
defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
case insensitive and the SIG prefix is optional.
If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
_s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
above). Refer to the description of the eexxttddeebbuugg option to the
If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
_s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
above). Refer to the description of the eexxttddeebbuugg option to the
sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
function or a script executed with the .. or ssoouurrccee builtins fin-
@@ -1438,53 +1449,53 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a sim-
ple command has a non-zero exit status, subject to the following
conditions. The EERRRR trap is not executed if the failed command
is part of the command list immediately following a wwhhiillee or
uunnttiill keyword, part of the test in an _i_f statement, part of a
command executed in a &&&& or |||| list, or if the command's return
value is being inverted via !!. These are the same conditions
conditions. The EERRRR trap is not executed if the failed command
is part of the command list immediately following a wwhhiillee or
uunnttiill keyword, part of the test in an _i_f statement, part of a
command executed in a &&&& or |||| list, or if the command's return
value is being inverted via !!. These are the same conditions
obeyed by the eerrrreexxiitt option.
Signals ignored upon entry to the shell cannot be trapped or
reset. Trapped signals that are not being ignored are reset to
Signals ignored upon entry to the shell cannot be trapped or
reset. Trapped signals that are not being ignored are reset to
their original values in a subshell or subshell environment when
one is created. The return status is false if any _s_i_g_s_p_e_c is
one is created. The return status is false if any _s_i_g_s_p_e_c is
invalid; otherwise ttrraapp returns true.
ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...]
With no options, indicate how each _n_a_m_e would be interpreted if
With no options, indicate how each _n_a_m_e would be interpreted if
used as a command name. If the --tt option is used, ttyyppee prints a
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
builtin, or disk file, respectively. If the _n_a_m_e is not found,
then nothing is printed, and an exit status of false is
returned. If the --pp option is used, ttyyppee either returns the
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
builtin, or disk file, respectively. If the _n_a_m_e is not found,
then nothing is printed, and an exit status of false is
returned. If the --pp option is used, ttyyppee either returns the
name of the disk file that would be executed if _n_a_m_e were speci-
fied as a command name, or nothing if ``type -t name'' would not
return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
even if ``type -t name'' would not return _f_i_l_e. If a command is
hashed, --pp and --PP print the hashed value, not necessarily the
hashed, --pp and --PP print the hashed value, not necessarily the
file that appears first in PPAATTHH. If the --aa option is used, ttyyppee
prints all of the places that contain an executable named _n_a_m_e.
This includes aliases and functions, if and only if the --pp
option is not also used. The table of hashed commands is not
consulted when using --aa. The --ff option suppresses shell func-
tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
prints all of the places that contain an executable named _n_a_m_e.
This includes aliases and functions, if and only if the --pp
option is not also used. The table of hashed commands is not
consulted when using --aa. The --ff option suppresses shell func-
tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSSTTaabbccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]]
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
The --HH and --SS options specify that the hard or soft limit is set
for the given resource. A hard limit cannot be increased by a
non-root user once it is set; a soft limit may be increased up
to the value of the hard limit. If neither --HH nor --SS is speci-
for the given resource. A hard limit cannot be increased by a
non-root user once it is set; a soft limit may be increased up
to the value of the hard limit. If neither --HH nor --SS is speci-
fied, both the soft and hard limits are set. The value of _l_i_m_i_t
can be a number in the unit specified for the resource or one of
the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the
current hard limit, the current soft limit, and no limit,
respectively. If _l_i_m_i_t is omitted, the current value of the
soft limit of the resource is printed, unless the --HH option is
current hard limit, the current soft limit, and no limit,
respectively. If _l_i_m_i_t is omitted, the current value of the
soft limit of the resource is printed, unless the --HH option is
given. When more than one resource is specified, the limit name
and unit are printed before the value. Other options are inter-
preted as follows:
@@ -1493,11 +1504,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--cc The maximum size of core files created
--dd The maximum size of a process's data segment
--ee The maximum scheduling priority ("nice")
--ff The maximum size of files written by the shell and its
--ff The maximum size of files written by the shell and its
children
--ii The maximum number of pending signals
--ll The maximum size that may be locked into memory
--mm The maximum resident set size (many systems do not honor
--mm The maximum resident set size (many systems do not honor
this limit)
--nn The maximum number of open file descriptors (most systems
do not allow this value to be set)
@@ -1506,58 +1517,58 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--rr The maximum real-time scheduling priority
--ss The maximum stack size
--tt The maximum amount of cpu time in seconds
--uu The maximum number of processes available to a single
--uu The maximum number of processes available to a single
user
--vv The maximum amount of virtual memory available to the
--vv The maximum amount of virtual memory available to the
shell
--xx The maximum number of file locks
--TT The maximum number of threads
If _l_i_m_i_t is given, it is the new value of the specified resource
(the --aa option is display only). If no option is given, then --ff
is assumed. Values are in 1024-byte increments, except for --tt,
which is in seconds, --pp, which is in units of 512-byte blocks,
and --TT, --bb, --nn, and --uu, which are unscaled values. The return
is assumed. Values are in 1024-byte increments, except for --tt,
which is in seconds, --pp, which is in units of 512-byte blocks,
and --TT, --bb, --nn, and --uu, which are unscaled values. The return
status is 0 unless an invalid option or argument is supplied, or
an error occurs while setting a new limit.
uummaasskk [--pp] [--SS] [_m_o_d_e]
The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with
a digit, it is interpreted as an octal number; otherwise it is
interpreted as a symbolic mode mask similar to that accepted by
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
printed. The --SS option causes the mask to be printed in sym-
bolic form; the default output is an octal number. If the --pp
a digit, it is interpreted as an octal number; otherwise it is
interpreted as a symbolic mode mask similar to that accepted by
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
printed. The --SS option causes the mask to be printed in sym-
bolic form; the default output is an octal number. If the --pp
option is supplied, and _m_o_d_e is omitted, the output is in a form
that may be reused as input. The return status is 0 if the mode
was successfully changed or if no _m_o_d_e argument was supplied,
was successfully changed or if no _m_o_d_e argument was supplied,
and false otherwise.
uunnaalliiaass [-aa] [_n_a_m_e ...]
Remove each _n_a_m_e from the list of defined aliases. If --aa is
supplied, all alias definitions are removed. The return value
Remove each _n_a_m_e from the list of defined aliases. If --aa is
supplied, all alias definitions are removed. The return value
is true unless a supplied _n_a_m_e is not a defined alias.
uunnsseett [-ffvv] [_n_a_m_e ...]
For each _n_a_m_e, remove the corresponding variable or function.
For each _n_a_m_e, remove the corresponding variable or function.
If no options are supplied, or the --vv option is given, each _n_a_m_e
refers to a shell variable. Read-only variables may not be
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
tion, and the function definition is removed. Each unset vari-
able or function is removed from the environment passed to sub-
sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD,
refers to a shell variable. Read-only variables may not be
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
tion, and the function definition is removed. Each unset vari-
able or function is removed from the environment passed to sub-
sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD,
FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their special
properties, even if they are subsequently reset. The exit sta-
properties, even if they are subsequently reset. The exit sta-
tus is true unless a _n_a_m_e is readonly.
wwaaiitt [_n _._._.]
Wait for each specified process and return its termination sta-
tus. Each _n may be a process ID or a job specification; if a
job spec is given, all processes in that job's pipeline are
waited for. If _n is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If _n
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the
Wait for each specified process and return its termination sta-
tus. Each _n may be a process ID or a job specification; if a
job spec is given, all processes in that job's pipeline are
waited for. If _n is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If _n
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the
last process or job waited for.
SSEEEE AALLSSOO
+673 -662
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.19.2
%%CreationDate: Mon Nov 9 14:08:04 2009
%%CreationDate: Wed Dec 23 16:47:11 2009
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.19 2
+3 -3
View File
@@ -2,9 +2,9 @@
Copyright (C) 1988-2009 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Fri Oct 16 12:23:41 EDT 2009
@set LASTCHANGE Wed Dec 23 16:29:41 EST 2009
@set EDITION 4.1
@set VERSION 4.1
@set UPDATED 16 October 2009
@set UPDATED-MONTH October 2009
@set UPDATED 23 December 2009
@set UPDATED-MONTH December 2009
+2
View File
@@ -57,6 +57,8 @@
extern int errno;
#endif
#define NEED_FPURGE_DECL
#include "bashansi.h"
#include "bashintl.h"
+1
View File
@@ -58,6 +58,7 @@ extern void xtrace_init __P((void));
#ifdef NEED_XTRACE_SET_DECL
extern void xtrace_set __P((int, FILE *));
#endif
extern void xtrace_fdchk __P((int));
extern void xtrace_reset __P((void));
extern char *indirection_level_string __P((void));
extern void xtrace_print_assignment __P((char *, char *, int, int));
+3
View File
@@ -136,6 +136,9 @@ mostlyclean: clean
${BUILD_DIR}/version.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h )
${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
# rules for losing makes, like SunOS
casemod.o: casemod.c
clktck.o: clktck.c
+2
View File
@@ -36,6 +36,8 @@
#if defined (HAVE_LOCALE_CHARSET)
extern const char *locale_charset __P((void));
#else
extern char *get_locale_var __P((char *));
#endif
#if defined (HAVE_ICONV)
+7
View File
@@ -303,6 +303,13 @@ static void dfallback __P((struct DATA *, const char *, const char *, double));
static char *groupnum __P((char *));
#ifndef HAVE_ISINF_IN_LIBC
static int isinf __P((double));
#endif
#ifndef HAVE_ISNAN_IN_LIBC
static int isnan __P((double));
#endif
#ifdef DRIVER
static void memory_error_and_abort ();
static void *xmalloc __P((size_t));
+19 -3
View File
@@ -1905,7 +1905,7 @@ read_a_line (remove_quoted_newline)
{
static char *line_buffer = (char *)NULL;
static int buffer_size = 0;
int indx = 0, c, peekc, pass_next;
int indx, c, peekc, pass_next;
#if defined (READLINE)
if (no_line_editing && SHOULD_PROMPT ())
@@ -1914,7 +1914,7 @@ read_a_line (remove_quoted_newline)
#endif
print_prompt ();
pass_next = 0;
pass_next = indx = 0;
while (1)
{
/* Allow immediate exit if interrupted during input. */
@@ -2354,6 +2354,7 @@ shell_getc (remove_quoted_newline)
because we have fully consumed the result of the last alias expansion.
Do it transparently; just return the next character of the string popped
to. */
pop_alias:
if (!uc && (pushed_string_list != (STRING_SAVER *)NULL))
{
pop_string ();
@@ -2368,6 +2369,17 @@ shell_getc (remove_quoted_newline)
if (SHOULD_PROMPT ())
prompt_again ();
line_number++;
/* XXX - what do we do here if we're expanding an alias whose definition
ends with a newline? Recall that we inhibit the appending of a
space in mk_alexpansion() if newline is the last character. */
#if 0 /* XXX - bash-4.2 (jonathan@claggett.org) */
if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
{
uc = 0;
goto pop_alias;
}
#endif
goto restart_read;
}
@@ -2578,7 +2590,11 @@ mk_alexpansion (s)
l = strlen (s);
r = xmalloc (l + 2);
strcpy (r, s);
#if 0 /* XXX - bash-4.2 */
if (r[l -1] != ' ' && r[l -1] != '\n')
#else
if (r[l -1] != ' ')
#endif
r[l++] = ' ';
r[l] = '\0';
return r;
@@ -4838,7 +4854,7 @@ prompt_again ()
{
char *temp_prompt;
if (interactive == 0 || expanding_alias()) /* XXX */
if (interactive == 0 || expanding_alias ()) /* XXX */
return;
ps1_prompt = get_string_value ("PS1");
+2 -2
View File
@@ -84,7 +84,7 @@ for when Bash doesn't behave like you'd like, or expect.
Bashbug will start up your editor (as defined by the shell's
EDITOR environment variable) with a preformatted bug report
template for you to fill in. The report will be mailed to the
bash maintainers by default. See the manual for details.
bug-bash mailing list by default. See the manual for details.
If you invoke bashbug by accident, just quit your editor without
saving any changes to the template, and no bug report will be sent.
@@ -257,7 +257,7 @@ then
exit
fi
echo $n "Send bug report? [y/n] $c"
echo $n "Send bug report to ${BUGADDR}? [y/n] $c"
read ans
case "$ans" in
[Nn]*) exit 0 ;;
+271
View File
@@ -0,0 +1,271 @@
#!/bin/sh -
#
# bashbug - create a bug report and mail it to the bug address
#
# The bug address depends on the release status of the shell. Versions
# with status `devel', `alpha', `beta', or `rc' mail bug reports to
# chet@cwru.edu and, optionally, to bash-testers@cwru.edu.
# Other versions send mail to bug-bash@gnu.org.
#
# Copyright (C) 1996-2004 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# configuration section:
# these variables are filled in by the make target in Makefile
#
MACHINE="!MACHINE!"
OS="!OS!"
CC="!CC!"
CFLAGS="!CFLAGS!"
RELEASE="!RELEASE!"
PATCHLEVEL="!PATCHLEVEL!"
RELSTATUS="!RELSTATUS!"
MACHTYPE="!MACHTYPE!"
PATH=/bin:/usr/bin:/usr/local/bin:$PATH
export PATH
# Check if TMPDIR is set, default to /tmp
: ${TMPDIR:=/tmp}
#Securely create a temporary directory for the temporary files
TEMPDIR=$TMPDIR/bbug.$$
(umask 077 && mkdir $TEMPDIR) || {
echo "$0: could not create temporary directory" >&2
exit 1
}
TEMPFILE1=$TEMPDIR/bbug1
TEMPFILE2=$TEMPDIR/bbug2
USAGE="Usage: $0 [--help] [--version] [bug-report-email-address]"
VERSTR="GNU bashbug, version ${RELEASE}.${PATCHLEVEL}-${RELSTATUS}"
do_help= do_version=
while [ $# -gt 0 ]; do
case "$1" in
--help) shift ; do_help=y ;;
--version) shift ; do_version=y ;;
--) shift ; break ;;
-*) echo "bashbug: ${1}: invalid option" >&2
echo "$USAGE" >& 2
exit 2 ;;
*) break ;;
esac
done
if [ -n "$do_version" ]; then
echo "${VERSTR}"
exit 0
fi
if [ -n "$do_help" ]; then
echo "${VERSTR}"
echo "${USAGE}"
echo
cat << HERE_EOF
Bashbug is used to send mail to the Bash maintainers
for when Bash doesn't behave like you'd like, or expect.
Bashbug will start up your editor (as defined by the shell's
EDITOR environment variable) with a preformatted bug report
template for you to fill in. The report will be mailed to the
bash maintainers by default. See the manual for details.
If you invoke bashbug by accident, just quit your editor without
saving any changes to the template, and no bug report will be sent.
HERE_EOF
exit 0
fi
# Figure out how to echo a string without a trailing newline
N=`echo 'hi there\c'`
case "$N" in
*c) n=-n c= ;;
*) n= c='\c' ;;
esac
BASHTESTERS="bash-testers@cwru.edu"
case "$RELSTATUS" in
alpha*|beta*|devel*|rc*) BUGBASH=chet@cwru.edu ;;
*) BUGBASH=bug-bash@gnu.org ;;
esac
case "$RELSTATUS" in
alpha*|beta*|devel*|rc*)
echo "$0: This is a testing release. Would you like your bug report"
echo "$0: to be sent to the bash-testers mailing list?"
echo $n "$0: Send to bash-testers? $c"
read ans
case "$ans" in
y*|Y*) BUGBASH="${BUGBASH},${BASHTESTERS}" ;;
esac ;;
esac
BUGADDR="${1-$BUGBASH}"
if [ -z "$DEFEDITOR" ] && [ -z "$EDITOR" ]; then
if [ -x /usr/bin/editor ]; then
DEFEDITOR=editor
elif [ -x /usr/local/bin/ce ]; then
DEFEDITOR=ce
elif [ -x /usr/local/bin/emacs ]; then
DEFEDITOR=emacs
elif [ -x /usr/contrib/bin/emacs ]; then
DEFEDITOR=emacs
elif [ -x /usr/bin/emacs ]; then
DEFEDITOR=emacs
elif [ -x /usr/bin/xemacs ]; then
DEFEDITOR=xemacs
elif [ -x /usr/contrib/bin/jove ]; then
DEFEDITOR=jove
elif [ -x /usr/local/bin/jove ]; then
DEFEDITOR=jove
elif [ -x /usr/bin/vi ]; then
DEFEDITOR=vi
else
echo "$0: No default editor found: attempting to use vi" >&2
DEFEDITOR=vi
fi
fi
: ${EDITOR=$DEFEDITOR}
: ${USER=${LOGNAME-`whoami`}}
trap 'rm -rf "$TEMPDIR"; exit 1' 1 2 3 13 15
trap 'rm -rf "$TEMPDIR"' 0
UN=
if (uname) >/dev/null 2>&1; then
UN=`uname -a`
fi
if [ -f /usr/lib/sendmail ] ; then
RMAIL="/usr/lib/sendmail"
SMARGS="-i -t"
elif [ -f /usr/sbin/sendmail ] ; then
RMAIL="/usr/sbin/sendmail"
SMARGS="-i -t"
else
RMAIL=rmail
SMARGS="$BUGADDR"
fi
INITIAL_SUBJECT='[50 character or so descriptive subject here (for reference)]'
cat > "$TEMPFILE1" <<EOF
From: ${USER}
To: ${BUGADDR}
Subject: ${INITIAL_SUBJECT}
Configuration Information [Automatically generated, do not change]:
Machine: $MACHINE
OS: $OS
Compiler: $CC
Compilation CFLAGS: $CFLAGS
uname output: $UN
Machine Type: $MACHTYPE
Bash Version: $RELEASE
Patch Level: $PATCHLEVEL
Release Status: $RELSTATUS
Description:
[Detailed description of the problem, suggestion, or complaint.]
Repeat-By:
[Describe the sequence of events that causes the problem
to occur.]
Fix:
[Description of how to fix the problem. If you don't know a
fix for the problem, don't include this section.]
EOF
cp "$TEMPFILE1" "$TEMPFILE2"
chmod u+w "$TEMPFILE1"
trap '' 2 # ignore interrupts while in editor
edstat=1
while [ $edstat -ne 0 ]; do
$EDITOR "$TEMPFILE1"
edstat=$?
if [ $edstat -ne 0 ]; then
echo "$0: editor \`$EDITOR' exited with nonzero status."
echo "$0: Perhaps it was interrupted."
echo "$0: Type \`y' to give up, and lose your bug report;"
echo "$0: type \`n' to re-enter the editor."
echo $n "$0: Do you want to give up? $c"
read ans
case "$ans" in
[Yy]*) exit 1 ;;
esac
continue
fi
# find the subject from the temp file and see if it's been changed
CURR_SUB=`grep '^Subject: ' "$TEMPFILE1" | sed 's|^Subject:[ ]*||' | sed 1q`
case "$CURR_SUB" in
"${INITIAL_SUBJECT}")
echo
echo "$0: You have not changed the subject from the default."
echo "$0: Please use a more descriptive subject header."
echo "$0: Type \`y' to give up, and lose your bug report;"
echo "$0: type \`n' to re-enter the editor."
echo $n "$0: Do you want to give up? $c"
read ans
case "$ans" in
[Yy]*) exit 1 ;;
esac
echo "$0: The editor will be restarted in five seconds."
sleep 5
edstat=1
;;
esac
done
trap 'rm -rf "$TEMPDIR"; exit 1' 2 # restore trap on SIGINT
if cmp -s "$TEMPFILE1" "$TEMPFILE2"
then
echo "File not changed, no bug report submitted."
exit
fi
echo $n "Send bug report? [y/n] $c"
read ans
case "$ans" in
[Nn]*) exit 0 ;;
esac
${RMAIL} $SMARGS < "$TEMPFILE1" || {
cat "$TEMPFILE1" >> $HOME/dead.bashbug
echo "$0: mail failed: report saved in $HOME/dead.bashbug" >&2
}
exit 0
+13
View File
@@ -0,0 +1,13 @@
Bash is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bash is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
+12
View File
@@ -0,0 +1,12 @@
Bash is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bash is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bash. If not, see <http://www.gnu.org/licenses/>.
+13
View File
@@ -0,0 +1,13 @@
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#