📄 faq
字号:
completion options for existing completions or the completion currently being executed.o The `read' builtin has a new -i option which inserts text into the reply buffer when using readline.o A new `-E' option to the complete builtin allows control of the default behavior for completion on an empty line.o There is now limited support for completing command name words containing globbing characters.o The `help' builtin now has a new -d option, to display a short description, and a -m option, to print help information in a man page-like format.o There is a new `mapfile' builtin to populate an array with lines from a given file.o If a command is not found, the shell attempts to execute a shell function named `command_not_found_handle', supplying the command words as the function arguments.o There is a new shell option: `globstar'. When enabled, the globbing code treats `**' specially -- it matches all directories (and files within them, when appropriate) recursively.o There is a new shell option: `dirspell'. When enabled, the filename completion code performs spelling correction on directory names during completion.o The `-t' option to the `read' builtin now supports fractional timeout values.o Brace expansion now allows zero-padding of expanded numeric values and will add the proper number of zeroes to make sure all values contain the same number of digits.o There is a new bash-specific bindable readline function: `dabbrev-expand'. It uses menu completion on a set of words taken from the history list.o The command assigned to a key sequence with `bind -x' now sets two new variables in the environment of the executed command: READLINE_LINE_BUFFER and READLINE_POINT. The command can change the current readline line and cursor position by modifying READLINE_LINE_BUFFER and READLINE_POINT, respectively.o There is a new >>& redirection operator, which appends the standard output and standard error to the named file.o The parser now understands `|&' as a synonym for `2>&1 |', which redirects the standard error for a command through a pipe.o The new `;&' case statement action list terminator causes execution to continue with the action associated with the next pattern in the statement rather than terminating the command.o The new `;;&' case statement action list terminator causes the shell to test the next set of patterns after completing execution of the current action, rather than terminating the command.o The shell understands a new variable: PROMPT_DIRTRIM. When set to an integer value greater than zero, prompt expansion of \w and \W will retain only that number of trailing pathname components and replace the intervening characters with `...'.o There are new case-modifying word expansions: uppercase (^[^]) and lowercase (,[,]). They can work on either the first character or array element, or globally. They accept an optional shell pattern that determines which characters to modify. There is an optionally- configured feature to include capitalization operators.o The shell provides associative array variables, with the appropriate support to create, delete, assign values to, and expand them.o The `declare' builtin now has new -l (convert value to lowercase upon assignment) and -u (convert value to uppercase upon assignment) options. There is an optionally-configurable -c option to capitalize a value at assignment.o There is a new `coproc' reserved word that specifies a coprocess: an asynchronous command run with two pipes connected to the creating shell. Coprocs can be named. The input and output file descriptors and the PID of the coprocess are available to the calling shell in variables with coproc-specific names.o 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.o CDPATH and GLOBIGNORE are ignored when the shell is running in privileged mode.o 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.o 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.Bash-3.2 contained the following new features:o Bash-3.2 now checks shell scripts for NUL characters rather than non-printing characters when deciding whether or not a script is a binary file.o Quoting the string argument to the [[ command's =~ (regexp) operator now forces string matching, as with the other pattern-matching operators.Bash-3.1 contained the following new features:o Bash-3.1 may now be configured and built in a mode that enforces strict POSIX compliance.o The `+=' assignment operator, which appends to the value of a string or array variable, has been implemented.o It is now possible to ignore case when matching in contexts other than filename generation using the new `nocasematch' shell option.Bash-3.0 contained the following new features:o Features to support the bash debugger have been implemented, and there is a new `extdebug' option to turn the non-default options ono HISTCONTROL is now a colon-separated list of options and has been extended with a new `erasedups' option that will result in only one copy of a command being kept in the history listo Brace expansion has been extended with a new {x..y} form, producing sequences of digits or characterso Timestamps are now kept with history entries, with an option to save and restore them from the history file; there is a new HISTTIMEFORMAT variable describing how to display the timestamps when listing history entrieso The `[[' command can now perform extended regular expression (egrep-like) matching, with matched subexpressions placed in the BASH_REMATCH array variableo A new `pipefail' option causes a pipeline to return a failure status if any command in it failso The `jobs', `kill', and `wait' builtins now accept job control notation in their arguments even if job control is not enabledo The `gettext' package and libintl have been integrated, and the shell messages may be translated into other languagesBash-2.05b introduced the following new features:o support for multibyte characters has been added to both bash and readlineo the DEBUG trap is now run *before* simple commands, ((...)) commands, [[...]] conditional commands, and for ((...)) loopso the shell now performs arithmetic in the largest integer size the machine supports (intmax_t)o there is a new \D{...} prompt expansion; passes the `...' to strftime(3) and inserts the result into the expanded prompto there is a new `here-string' redirection operator: <<< wordo when displaying variables, function attributes and definitions are shown separately, allowing them to be re-used as input (attempting to re-use the old output would result in syntax errors).o `read' has a new `-u fd' option to read from a specified file descriptoro the bash debugger in examples/bashdb has been modified to work with the new DEBUG trap semantics, the command set has been made more gdb-like, and the changes to $LINENO make debugging functions work bettero the expansion of $LINENO inside a shell function is only relative to the function start if the shell is interactive -- if the shell is running a script, $LINENO expands to the line number in the script. This is as POSIX-2001 requiresBash-2.05a introduced the following new features:o The `printf' builtin has undergone major worko There is a new read-only `shopt' option: login_shell, which is set by login shells and unset otherwiseo New `\A' prompt string escape sequence; expanding to time in 24-hour HH:MM formato New `-A group/-g' option to complete and compgen; goes group name completiono New [+-]O invocation option to set and unset `shopt' options at startupo ksh-like `ERR' trapo `for' loops now allow empty word lists after the `in' reserved wordo new `hard' and `soft' arguments for the `ulimit' builtino Readline can be configured to place the user at the same point on the line when retrieving commands from the history listo Readline can be configured to skip `hidden' files (filenames with a leading `.' on Unix) when performing completionBash-2.05 introduced the following new features:o This version has once again reverted to using locales and strcoll(3) when processing pattern matching bracket expressions, as POSIX requires. o Added a new `--init-file' invocation argument as a synonym for `--rcfile', per the new GNU coding standards.o The /dev/tcp and /dev/udp redirections now accept service names as well as port numbers.o `complete' and `compgen' now take a `-o value' option, which controls some of the aspects of that compspec. Valid values are: default - perform bash default completion if programmable completion produces no matches dirnames - perform directory name completion if programmable completion produces no matches filenames - tell readline that the compspec produces filenames, so it can do things like append slashes to directory names and suppress trailing spaceso A new loadable builtin, realpath, which canonicalizes and expands symlinks in pathname arguments.o When `set' is called without options, it prints function defintions in a way that allows them to be reused as input. This affects `declare' and `declare -p' as well. This only happens when the shell is not in POSIX mode, since POSIX.2 forbids this behavior.Bash-2.04 introduced the following new features:o Programmable word completion with the new `complete' and `compgen' builtins; examples are provided in examples/complete/complete-exampleso `history' has a new `-d' option to delete a history entryo `bind' has a new `-x' option to bind key sequences to shell commandso The prompt expansion code has new `\j' and `\l' escape sequenceso The `no_empty_cmd_completion' shell option, if enabled, inhibits command completion when TAB is typed on an empty lineo `help' has a new `-s' option to print a usage synopsiso New arithmetic operators: var++, var--, ++var, --var, expr1,expr2 (comma)o New ksh93-style arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; doneo `read' has new options: `-t', `-n', `-d', `-s'o The redirection code handles several filenames specially: /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderro The redirection code now recognizes /dev/tcp/HOST/PORT and /dev/udp/HOST/PORT and tries to open a TCP or UDP socket, respectively, to the specified port on the specified hosto The ${!prefix*} expansion has been implementedo A new FUNCNAME variable, which expands to the name of a currently-executing functiono The GROUPS variable is no longer readonlyo A new shopt `xpg_echo' variable, to control the behavior of echo with respect to backslash-escape sequences at runtimeo The NON_INTERACTIVE_LOGIN_SHELLS #define has returnedThe version of Readline released with Bash-2.04, Readline-4.1, had severalnew features as well:o Parentheses matching is always compiled into readline, and controllable with the new `blink-matching-paren' variableo The history-search-forward and history-search-backward functions now leave point at the end of the line when the search string is empty, like reverse-search-history, and forward-search-historyo A new function for applications: rl_on_new_line_with_prompt()o New variables for applications: rl_already_prompted, and rl_gnu_readline_pBash-2.03 had very few new features, in keeping with the conventionthat odd-numbered releases provide mainly bug fixes. A number of newfeatures were added to Readline, mostly at the request of the Cygnusfolks.A new shopt option, `restricted_shell', so that startup files can test whether or not the shell was started in restricted modeFilename generation is now performed on the words between ( and ) in compound array assignments (this is really a bug fix)OLDPWD is now auto-exported, as POSIX.2 requiresENV and BASH_ENV are read-only variables in a restricted shellBash may now be linked against an already-installed Readline library, as long as the Readline library is version 4 or newerAll shells begun with the `--login' option will source the login shell startup files, even if the shell is not interactiveThere were lots of changes to the version of the Readline library releasedalong with Bash-2.03. For a complete list of the changes, read the fileCHANGES in the Bash-2.03 distribution.Bash-2.02 contained the following new features:a new version of malloc (based on the old GNU malloc code in previous bash versions) that is more page-oriented, more conservative with memory usage, does not `orphan' large blocks when they are freed, is usable on 64-bit machines, and has allocation checking turned on unconditionallyPOSIX.2-style globbing character classes ([:alpha:], [:alnum:], etc.)POSIX.2-style globbing equivalence classesPOSIX.2-style globbing collating symbolsthe ksh [[...]] extended conditional commandthe ksh egrep-style extended pattern matching operatorsa new `printf' builtinthe ksh-like $(<filename) command substitution, which is equivalent to $(cat filename)new tilde prefixes that expand to directories from the directory stacknew `**' arithmetic operator to do exponentiationcase-insensitive globbing (filename expansion)menu completion a la tcsh`magic-space' history expansion function like tcshthe readline inputrc `language' has a new file inclusion directive ($include)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -