📄 news
字号:
implemented, controlled by a new `shopt' option, `extglob'. e. There is a new ksh-like `[[' compound command, which implements extended `test' functionality. f. There is a new `printf' builtin, implemented according to the POSIX.2 specification. g. There is a new feature for command substitution: $(< filename) now expands to the contents of `filename', with any trailing newlines removed (equivalent to $(cat filename)).h. There are new tilde prefixes which expand to directories from the directory stack.i. There is a new `**' arithmetic operator to do exponentiation.j. There are new configuration options to control how bash is linked: `--enable-profiling', to allow bash to be profiled with gprof, and `--enable-static-link', to allow bash to be linked statically.k. There is a new configuration option, `--enable-cond-command', which controls whether or not the `[[' command is included. It is on by default. l. There is a new configuration option, `--enable-extended-glob', which controls whether or not the ksh extended globbing feature is included. It is enabled by default.m. There is a new configuration #define in config.h.top that, when enabled, will cause all login shells to source /etc/profile and one of the user- specific login shell startup files, whether or not the shell is interactive. n. There is a new invocation option, `--dump-po-strings', to dump a shell script's translatable strings ($"...") in GNU `po' format. o. There is a new `shopt' option, `nocaseglob', to enable case-insensitive pattern matching when globbing filenames and using the `case' construct.p. There is a new `shopt' option, `huponexit', which, when enabled, causes the shell to send SIGHUP to all jobs when an interactive login shell exits.q. `bind' has a new `-u' option, which takes a readline function name as an argument and unbinds all key sequences bound to that function in a specified keymap. r. `disown' now has `-a' and `-r' options, to limit operation to all jobs and running jobs, respectively.s. The `shopt' `-p' option now causes output to be displayed in a reusable format. t. `test' has a new `-N' option, which returns true if the filename argument has been modified since it was last accessed.u. `umask' now has a `-p' option to print output in a reusable format. v. A new escape sequence, `\xNNN', has been added to the `echo -e' and $'...' translation code. It expands to the character whose ascii code is NNN in hexadecimal. w. The prompt string expansion code has a new `\r' escape sequence.x. The shell may now be cross-compiled for the CYGWIN32 environment on a Unix machine.2. New Features in Readlinea. There is now an option for `iterative' yank-last-arg handline, so a user can keep entering `M-.', yanking the last argument of successive history lines.b. New variable, `print-completions-horizontally', which causes completion matches to be displayed across the screen (like `ls -x') rather than up and down the screen (like `ls').c. New variable, `completion-ignore-case', which causes filename completion and matching to be performed case-insensitively.d. There is a new bindable command, `magic-space', which causes history expansion to be performed on the current readline buffer and a space to be inserted into the result.e. There is a new bindable command, `menu-complete', which enables tcsh-like menu completion (successive executions of menu-complete insert a single completion match, cycling through the list of possible completions).f. There is a new bindable command, `paste-from-clipboard', for use on Win32 systems, to insert the text from the Win32 clipboard into the editing buffer.g. The key sequence translation code now understands printf-style backslash escape sequences, including \NNN octal escapes. These escape sequences may be used in key sequence definitions or macro values.h. An `$include' inputrc file parser directive has been added.-------------------------------------------------------------------------------This is a terse description of the new features added to bash-2.01 sincethe release of bash-2.0. As always, the manual page (doc/bash.1) is theplace to look for complete descriptions.1. New Features in Basha. There is a new builtin array variable: GROUPS, the set of groups to which the user belongs. This is used by the test suite.2. New Features in Readlinea. If a key sequence bound to `universal-argument' is read while reading a numeric argument started with `universal-argument', it terminates the argument but is otherwise ignored. This provides a way to insert multiple instances of a digit string, and is how GNU emacs does it.-------------------------------------------------------------------------------This is a terse description of the new features added to bash-2.0 sincethe release of bash-1.14.7. As always, the manual page (doc/bash.1) isthe place to look for complete descriptions.1. New Features in Basha. There is a new invocation option, -D, that dumps translatable strings in a script.b. The `long' invocation options must now be prefixed with `--'.c. New long invocation options: --dump-strings, --help, --verbosed. The `nolineediting' invocation option was renamed to `noediting'.e. The `nobraceexpansion' and `quiet' long invocation options were removed.f. The `--help' and `--version' long options now work as the GNU coding standards specify.g. If invoked as `sh', bash now enters posix mode after reading the startup files, and reads and executes commands from the file named by $ENV if interactive (as POSIX.2 specifies). A login shell invoked as `sh' reads $ENV after /etc/profile and ~/.profile.h. There is a new reserved word, `time', for timing pipelines, builtin commands, and shell functions. It uses the value of the TIMEFORMAT variable as a format string describing how to print the timing statistics.i. The $'...' quoting syntax expands ANSI-C escapes in ... and leaves the result single-quoted.j. The $"..." quoting syntax performs locale-specific translation of ... and leaves the result double-quoted.k. LINENO now works correctly in functions.l. New variables: DIRSTACK, PIPESTATUS, BASH_VERSINFO, HOSTNAME, SHELLOPTS, MACHTYPE. The first three are array variables.m. The BASH_VERSION and BASH_VERSINFO variables now include the shell's `release status' (alpha[N], beta[N], release).n. Some variables have been removed: MAIL_WARNING, notify, history_control, command_oriented_history, glob_dot_filenames, allow_null_glob_expansion, nolinks, hostname_completion_file, noclobber, no_exit_on_failed_exec, and cdable_vars. Most of them are now implemented with the new `shopt' builtin; others were already implemented by `set'.o. Bash now uses some new variables: LC_ALL, LC_MESSAGES, LC_CTYPE, LC_COLLATE, LANG, GLOBIGNORE, HISTIGNORE.p. The shell now supports integer-indexed arrays of unlimited length, with a new compound assignment syntax and changes to the appropriate builtin commands (declare/typeset, read, readonly, etc.). The array index may be an arithmetic expression.q. ${!var}: indirect variable expansion, equivalent to eval \${$var}.r. ${paramter:offset[:length]}: variable substring extraction.s. ${parameter/pattern[/[/]string]}: variable pattern substitution.t. The $[...] arithmetic expansion syntax is no longer supported, in favor of $((...)).u. Aliases can now be expanded in shell scripts with a shell option (shopt expand_aliases).v. History and history expansion can now be used in scripts with set -o history and set -H.w. All builtins now return an exit status of 2 for incorrect usage.x. Interactive shells resend SIGHUP to all running or stopped children if (and only if) they exit due to a SIGHUP.y. New prompting expansions: \a, \e, \H, \T, \@, \v, \V.z. Variable expansion in prompt strings is now controllable via a shell option (shopt promptvars).aa. Bash now defaults to using command-oriented history.bb. The history file ($HISTFILE) is now truncated to $HISTFILESIZE after being written.cc. The POSIX.2 conditional arithmetic evaluation syntax (expr ? expr : expr) has been implemented.dd. Each builtin now accepts `--' to signify the end of the options, except as documented (echo, etc.).ee. All builtins use -p to display values in a re-readable format where appropriate, except as documented (echo, type, etc.).ff. The `alias' builtin has a new -p option.gg. Changes to the `bind' builtin: o has new options: -psPSVr. o the `-d' option was renamed to `-p' o the `-v' option now dumps variables; the old `-v' is now `-P'hh. The `bye' synonym for `exit' was removed.ii. The -L and -P options to `cd' and `pwd' have been documented.jj. The `cd' builtin now does spelling correction on the directory name by default. This is settable with a shell option (shopt cdspell).kk. The `declare' builtin has new options: -a, -F, -p.ll. The `dirs' builtin has new options: -c, -p, -v.mm. The new `disown' builtin removes jobs from the shell's jobs table or inhibits the resending of SIGHUP when the shell receives a SIGHUP.nn. The `echo' builtin has a new escape character: \e.oo. The `enable' builtin can now load new builtins dynamically from shared objects on systems with the dlopen/dlsym interface. There are a number of examples in the examples/loadables directory. There are also new options: -d, -f, -s, -p.pp. The `-all' option to `enable' was removed in favor of `-a'.qq. The `exec' builtin has new options: -l, -c, -a.rr. The `hash' builtin has a new option: -p.ss. The `history' builtin has new options: -c, -p, -s.tt. The `jobs' builtin has new options: -r, -s.uu. The `kill' builtin has new options: -n signum, -l signame.vv. The `pushd' and `popd' builtins have a new option: -n.ww. The `read' builtin has new options: -p prompt, -e, -a.xx. The `readonly' builtin has a new -a option, and the -n option was removed.yy. Changes to the `set' builtin: o new options: -B, -o keyword, -o onecmd, -o history o options removed: -l, -d, -o nohash o options changed: +o, -h, -o hashall o now displays variables in a format that can be re-read as inputzz. The new `shopt' builtin controls shell optional behavior previously done by setting and unsetting certain shell variables.aaa. The `test' builtin has new operators: -o option, s1 == s2, s1 < s2, and s1 > s2, where s1 and s2 are strings.bbb. There is a new trap, DEBUG, executed after every simple command.ccc. The `trap' builtin has a new -p option.ddd. The `ulimit' builtin has a new -l option on 4.4BSD-based systems.eee. The PS1, PS2, PATH, and IFS variables may now be unset.fff. The restricted shell mode has been expanded and is now documented.ggg. Security improvements: o functions are not imported from the environment if running setuid or with -p o no startup files are sourced if running setuid or with -phhh. The documentation has been overhauled: the texinfo manual was expanded, and HTML versions of the man page and texinfo manual are included.iii. Changes to Posix mode: o Command lookup now finds special builtins before shell functions. o Failure of a special builtin causes a non-interactive shell to exit. Failures are defined in the POSIX.2 specification. o If the `cd' builtin finds a directory to change to using $CDPATH, the value assigned to PWD when `cd' completes does not contain any symbolic links. o A non-interactive shell exits if a variable assignment error occurs when no command name follows the assignment statements. o A non-interactive shell exits if the interation variable in a `for' statement or the selection variable in a `select' statement is read-only or another variable assignment error occurs.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -