📄 changes
字号:
g. Fixed a bug that caused key sequences of two characters to not be recognized when a longer sequence identical in the first two characters was bound.h. Fixed a bug that caused history expansion to be attempted on $'...' single-quoted strings.i. Fixed a bug that caused incorrect redisplay when the prompt contained multibyte characters in an `invisible' sequence bracketed by \[ and \].j. Fixed a bug that caused history expansion to short-circuit after encountering a multibyte character.3. New Features in Basha. Here-documents within $(...) command substitutions may once more be delimited by the closing right paren, instead of requiring a newline.b. Bash's file status checks (executable, readable, etc.) now take file system ACLs into account on file systems that support them.c. Bash now passes environment variables with names that are not valid shell variable names through into the environment passed to child processes.d. The `execute-unix-command' readline function now attempts to clear and reuse the current line rather than move to a new one after the command executes.e. `printf -v' can now assign values to array indices.f. New `complete -E' and `compopt -E' options that work on the "empty" completion: completion attempted on an empty command line.g. New complete/compgen/compopt -D option to define a `default' completion: a completion to be invoked on command for which no completion has been defined. If this function returns 124, programmable completion is attempted again, allowing a user to dynamically build a set of completions as completion is attempted by having the default completion function install individual completion functions each time it is invoked.h. When displaying associative arrays, subscripts are now quoted.i. Changes to dabbrev-expand to make it more `emacs-like': no space appended after matches, completions are not sorted, and most recent history entries are presented first.j. The [[ and (( commands are now subject to the setting of `set -e' and the ERR trap.k. The source/. builtin now removes NUL bytes from the file before attempting to parse commands.l. There is a new configuration option (in config-top.h) that forces bash to forward all history entries to syslog.m. A new variable $BASHOPTS to export shell options settable using `shopt' to child processes.n. There is a new confgure option that forces the extglob option to be enabled by default.o. New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace output to that file descriptor.p. If the optional left-hand-side of a redirection is of the form {var}, the shell assigns the file descriptor used to $var or uses $var as the file descriptor to move or close, depending on the redirection operator.q. The < and > operators to the [[ conditional command now do string comparison according to the current locale.r. Programmable completion now uses the completion for `b' instead of `a' when completion is attempted on a line like: a $(b c.s. Force extglob on temporarily when parsing the pattern argument to the == and != operators to the [[ command, for compatibility.t. Changed the behavior of interrupting the wait builtin when a SIGCHLD is received and a trap on SIGCHLD is set to be Posix-mode only.u. The read builtin has a new `-N nchars' option, which reads exactly NCHARS characters, ignoring delimiters like newline.4. New Features in Readlinea. New bindable function: menu-complete-backward.b. In the vi insertion keymap, C-n is now bound to menu-complete by default, and C-p to menu-complete-backward.c. When in vi command mode, repeatedly hitting ESC now does nothing, even when ESC introduces a bound key sequence. This is closer to how historical vi behaves.d. New bindable function: skip-csi-sequence. Can be used as a default to consume key sequences generated by keys like Home and End without having to bind all keys.e. New application-settable function: rl_filename_rewrite_hook. Can be used to rewite or modify filenames read from the file system before they are compared to the word to be completed.f. New bindable variable: skip-completed-text, active when completing in the middle of a word. If enabled, it means that characters in the completion that match characters in the remainder of the word are "skipped" rather than inserted into the line.g. The pre-readline-6.0 version of menu completion is available as "old-menu-complete" for users who do not like the readline-6.0 version.h. New bindable variable: echo-control-characters. If enabled, and the tty ECHOCTL bit is set, controls the echoing of characters corresponding to keyboard-generated signals.i. New bindable variable: enable-meta-key. Controls whether or not readline sends the smm/rmm sequences if the terminal indicates it has a meta key that enables eight-bit characters.------------------------------------------------------------------------------This document details the changes between this version, bash-4.0-release,and the previous version, bash-4.0-rc1.1. Changes to Basha. Changed the message printed when setlocale(3) fails to only include the strerror error text if the call changes errno.b. Changed trap command execution to reset the line number before running a trap (except DEBUG and RETURN traps).c. Fixed behavior of case-modifiying word expansions to not work on individual words within a variable's value.d. Fixed a bug that caused mapfile to not be interruptible when run in an interactive shell.e. Fixed a bug that caused mapfile to not run callbacks for the first line read.f. Fixed a bug that caused mapfile to not honor EOF typed in an interactive shell.g. Fixed the coprocess reaping code to not run straight from a signal handler.h. Fixed a bug that caused printf -b to ignore the first % conversion specifier in the format string on 64-bit systems.i. Fixed a bug that caused incorrect word splitting when `:', `=', or `~' appeared in $IFS.j. Fixed a bug that caused data corruption in the programmable completion code when a shell function called from a completion aborted execution.k. Fixed a bug that caused the CPU usage reported by the `time' builtin to be capped at 100%.l. Changed behavior of shell when -e option is in effect to reflect consensus of Posix shell standardization working group.m. Fixed a bug introduced in bash-4.0-alpha that caused redirections to not be displayed by `type' or `declare' when appearing in functions under certain circumstances.2. Changes to Readlinea. Fixed a bug that caused !(...) extended glob patterns to inhibit later history expansion.b. Reworked the signal handling to avoid calling disallowed functions from a signal handler.3. New Features in Basha. `readarray' is now a synonym for `mapfile'.------------------------------------------------------------------------------This document details the changes between this version, bash-4.0-rc1,and the previous version, bash-4.0-beta2.1. Changes to Basha. Fixed a bug that caused parsing errors when a $()-style command substitution was follwed immediately by a quoted newline.b. Fixed a bug that caused extended shell globbing patterns beginning with `*(' to not work when used with pattern substitution word expansions. ------------------------------------------------------------------------------This document details the changes between this version, bash-4.0-beta2,and the previous version, bash-4.0-beta.1. Changes to Basha. Fixed a bug that caused failed word expansions to set $? but not PIPESTATUS.b. Changed filename completion to quote the tilde in a filename with a leading tilde that exists in the current directory.c. Fixed a bug that caused a file descriptor leak when performing redirections attached to a compound command.d. Fixed a bug that caused expansions of $@ and $* to not exit the shell if the -u option was enabled and there were no posititional parameters.e. Fixed a bug that resulted in bash not terminating immediately if a terminating signal was received while performing output.f. Fixed a bug that caused the shell to crash after creating 256 process substitutions during word completion.2. Changes to Readlinea. Fixed a bug that caused redisplay errors when using prompts with invisible characters and numeric arguments to a command in a multibyte locale.b. Fixed a bug that caused redisplay errors when using prompts with invisible characters spanning more than two physical screen lines.------------------------------------------------------------------------------This document details the changes between this version, bash-4.0-beta,and the previous version, bash-4.0-alpha.1. Changes to Basha. Fixed a typo that caused a variable to be used before initialization while parsing Posix-style command substitutions.b. Fixed a bug that caused stray ^? when the expansion of a parameter used as part of a pattern removal expansion is empty, but part of a non- empty string.c. Fixed a bug that could cause strings not converted to numbers by strtol to be treated as if the conversion had been successful.d. The `return' builtin now accepts no options and requires a `--' before a negative return value, as Posix requires.e. Fixed a bug that caused local variables to be created with the empty string for a value rather than no value.f. Changed behavior so the shell now acts as if it received an interrupt when a pipeline is killed by SIGINT while executing a list.g. Fixed a bug that caused `declare var' and `typeset var' to initialize `var' to the empty string.h. Changed `bind' builtin to print a warning but proceed if invoked when line editing is not active.i. Fixed a bug that caused the shell to exit when the `errexit' option is set and a command in a pipeline returns a non-zero exit status.j. Fixed a bug that caused the shell to not run the exit trap in a command run with `bash -c' under some circumstances.k. Fixed a bug that caused parser errors to occasionally not set $? when running commands with `eval'.l. Fixed a bug that caused stray control characters when evaluating compound array assignments containing $'\x7f' escapes.m. Fixed a bug that caused redirections involving file descriptor 10 as the target to behave incorrectly.n. Fixed a bug that could cause memory to be freed multiple times when assigning to COMP_WORDBREAKS.o. Fixed a bug that could cause NULL pointer dereferences when COMP_WORDBREAKS was unset.2. Changes to Readline3. New Features in Basha. A value of 0 for the -t option to `read' now returns success if there is input available to be read from the specified file descriptor.b. CDPATH and GLOBIGNORE are ignored when the shell is running in privileged mode.c. New bindable readline functions shell-forward-word and shell-backward-word, which move forward and backward words delimited by shell metacharacters and honor shell quoting.d. New bindable readline functions shell-backward-kill-word and shell-kill-word which kill words backward and forward, but use the same word boundaries as shell-forward-word and shell-backward-word.4. New Features in Readlinea. If the kernel supports it, readline displays special characters corresponding to a keyboard-generated signal when the signal is received.------------------------------------------------------------------------------This document details the changes between this version, bash-4.0-alpha,and the previous version, bash-3.2-release.1. Changes to Basha. Fixed several bugs in old-style `` command substitution parsing, including comment parsing and quoted string handling.b. Fixed problems parsing arguments to the [[ command's =~ regular expression matching operator: metacharacter and whitespace parsing.c. Fixed a bug that caused the shell to inappropriately reuse high-numbered file descriptors it used internally.d. Fixed a bug in pattern replacement word expansions that caused a `/' as the first character of an expanded pattern to be mistaken for a global replacement specifier.e. Fixed several problems with the asprintf and snprintf replacement functions that caused hangs and crashes.f. Fixed a bug in the calculation of the current and previous job that caused
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -