⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 faq

📁 android-w.song.android.widget
💻
📖 第 1 页 / 共 5 页
字号:
Bash-2.01 contained only a few new features:new `GROUPS' builtin array variable containing the user's group listnew bindable readline commands: history-and-alias-expand-line and	alias-expand-lineBash-2.0 contained extensive changes and new features from bash-1.14.7.Here's a short list:new `time' reserved word to time pipelines, shell builtins, and	shell functionsone-dimensional arrays with a new compound assignment statement,        appropriate expansion constructs and modifications to some	of the builtins (read, declare, etc.) to use themnew quoting syntaxes for ANSI-C string expansion and locale-specific	string translationnew expansions to do substring extraction, pattern replacement, and	indirect variable expansionnew builtins: `disown' and `shopt'new variables: HISTIGNORE, SHELLOPTS, PIPESTATUS, DIRSTACK, GLOBIGNORE,	       MACHTYPE, BASH_VERSINFOspecial handling of many unused or redundant variables removed	(e.g., $notify, $glob_dot_filenames, $no_exit_on_failed_exec)dynamic loading of new builtin commands; many loadable examples providednew prompt expansions: \a, \e, \n, \H, \T, \@, \v, \Vhistory and aliases available in shell scriptsnew readline variables: enable-keypad, mark-directories, input-meta,	visible-stats, disable-completion, comment-beginnew readline commands to manipulate the mark and operate on the regionnew readline emacs mode commands and bindings for ksh-88 compatibilityupdated and extended builtinsnew DEBUG trapexpanded (and now documented) restricted shell modeimplementation stuff:	autoconf-based configurationnearly all of the bugs reported since version 1.14 have been fixedmost builtins converted to use builtin `getopt' for consistencymost builtins use -p option to display output in a reusable form	(for consistency)grammar tighter and smaller (66 reduce-reduce conflicts gone)lots of code now smaller and fastertest suite greatly expandedB2) Are there any user-visible incompatibilities between bash-4.2 and    previous bash versions?There are a few incompatibilities between version 4.2 and previousversions.  They are detailed in the file COMPAT in the bash distribution.That file is not meant to be all-encompassing; send mail tobash-maintainers@gnu.org (or bug-bash@gnu.org if you would likecommunity discussion) if you find something that's not mentioned there.Section C:  Differences from other Unix shellsC1) How does bash differ from sh, the Bourne shell?This is a non-comprehensive list of features that differentiate bashfrom the SVR4.2 shell.  The bash manual page explains these morecompletely.Things bash has that sh does not:	long invocation options	[+-]O invocation option	-l invocation option	`!' reserved word to invert pipeline return value	`time' reserved word to time pipelines and shell builtins	the `function' reserved word	the `select' compound command and reserved word	arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done	new $'...' and $"..." quoting	the $(...) form of command substitution	the $(<filename) form of command substitution, equivalent to		$(cat filename)	the ${#param} parameter value length operator	the ${!param} indirect parameter expansion operator	the ${!param*} prefix expansion operator	the ${param:offset[:length]} parameter substring operator	the ${param/pat[/string]} parameter pattern substitution operator	expansions to perform substring removal (${p%[%]w}, ${p#[#]w})	expansion of positional parameters beyond $9 with ${num}	variables: BASH, BASHPID, BASH_VERSION, BASH_VERSINFO, UID, EUID, REPLY,		   TIMEFORMAT, PPID, PWD, OLDPWD, SHLVL, RANDOM, SECONDS,		   LINENO, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, HOSTNAME,		   ENV, PS3, PS4, DIRSTACK, PIPESTATUS, HISTSIZE, HISTFILE,		   HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, GROUPS,		   PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC,		   SHELLOPTS, OPTERR, HOSTFILE, TMOUT, FUNCNAME, histchars,		   auto_resume, PROMPT_DIRTRIM, BASHOPTS, BASH_XTRACEFD	DEBUG trap	ERR trap	variable arrays with new compound assignment syntax	redirections: <>, &>, >|, <<<, [n]<&word-, [n]>&word-, >>&	prompt string special char translation and variable expansion	auto-export of variables in initial environment	command search finds functions before builtins	bash return builtin will exit a file sourced with `.'	builtins: cd -/-L/-P, exec -l/-c/-a, echo -e/-E, hash -d/-l/-p/-t.		  export -n/-f/-p/name=value, pwd -L/-P,		  read -e/-p/-a/-t/-n/-d/-s/-u/-i/-N,		  readonly -a/-f/name=value, trap -l, set +o,		  set -b/-m/-o option/-h/-p/-B/-C/-H/-P,		  unset -f/-v, ulimit -i/-m/-p/-q/-u/-x,		  type -a/-p/-t/-f/-P, suspend -f, kill -n,		  test -o optname/s1 == s2/s1 < s2/s1 > s2/-nt/-ot/-ef/-O/-G/-S	bash reads ~/.bashrc for interactive shells, $ENV for non-interactive	bash restricted shell mode is more extensive	bash allows functions and variables with the same name	brace expansion	tilde expansion	arithmetic expansion with $((...)) and `let' builtin	the `[[...]]' extended conditional command	process substitution	aliases and alias/unalias builtins	local variables in functions and `local' builtin	readline and command-line editing with programmable completion	command history and history/fc builtins	csh-like history expansion	other new bash builtins: bind, command, compgen, complete, builtin,				 declare/typeset, dirs, enable, fc, help,				 history, logout, popd, pushd, disown, shopt,				 printf, compopt, mapfile	exported functions	filename generation when using output redirection (command >a*)	POSIX.2-style globbing character classes	POSIX.2-style globbing equivalence classes	POSIX.2-style globbing collating symbols	egrep-like extended pattern matching operators	case-insensitive pattern matching and globbing	variable assignments preceding commands affect only that command,		even for builtins and functions	posix mode and strict posix conformance	redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr,		/dev/tcp/host/port, /dev/udp/host/port	debugger support, including `caller' builtin and new variables	RETURN trap	the `+=' assignment operator	autocd shell option and behavior	command-not-found hook with command_not_found_handle shell function	globstar shell option and `**' globbing behavior	|& synonym for `2>&1 |'	;& and ;;& case action list terminators	case-modifying word expansions and variable attributes	associative arrays	coprocesses using the `coproc' reserved word and variables	shell assignment of a file descriptor used in a redirection to a variableThings sh has that bash does not:	uses variable SHACCT to do shell accounting	includes `stop' builtin (bash can use alias stop='kill -s STOP')	`newgrp' builtin	turns on job control if called as `jsh'	$TIMEOUT (like bash $TMOUT)	`^' is a synonym for `|'	new SVR4.2 sh builtins: mldmode, privImplementation differences:	redirection to/from compound commands causes sh to create a subshell	bash does not allow unbalanced quotes; sh silently inserts them at EOF	bash does not mess with signal 11	sh sets (euid, egid) to (uid, gid) if -p not supplied and uid < 100	bash splits only the results of expansions on IFS, using POSIX.2		field splitting rules; sh splits all words on IFS	sh does not allow MAILCHECK to be unset (?)	sh does not allow traps on SIGALRM or SIGCHLD	bash allows multiple option arguments when invoked (e.g. -x -v);		sh allows only a single option argument (`sh -x -v' attempts		to open a file named `-v', and, on SunOS 4.1.4, dumps core.		On Solaris 2.4 and earlier versions, sh goes into an infinite		loop.)	sh exits a script if any builtin fails; bash exits only if one of		the POSIX.2 `special' builtins failsC2)  How does bash differ from the Korn shell, version ksh88?Things bash has or uses that ksh88 does not:	long invocation options	[-+]O invocation option	-l invocation option	`!' reserved word	arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done	arithmetic in largest machine-supported size (intmax_t)	posix mode and posix conformance	command hashing	tilde expansion for assignment statements that look like $PATH	process substitution with named pipes if /dev/fd is not available	the ${!param} indirect parameter expansion operator	the ${!param*} prefix expansion operator	the ${param:offset[:length]} parameter substring operator	the ${param/pat[/string]} parameter pattern substitution operator	variables: BASH, BASH_VERSION, BASH_VERSINFO, BASHPID, UID, EUID, SHLVL,		   TIMEFORMAT, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE,		   HISTFILESIZE, HISTIGNORE, HISTCONTROL, PROMPT_COMMAND,		   IGNOREEOF, FIGNORE, INPUTRC, HOSTFILE, DIRSTACK,		   PIPESTATUS, HOSTNAME, OPTERR, SHELLOPTS, GLOBIGNORE,		   GROUPS, FUNCNAME, histchars, auto_resume, PROMPT_DIRTRIM	prompt expansion with backslash escapes and command substitution	redirection: &> (stdout and stderr), <<<, [n]<&word-, [n]>&word-, >>&	more extensive and extensible editing and programmable completion	builtins: bind, builtin, command, declare, dirs, echo -e/-E, enable,		  exec -l/-c/-a, fc -s, export -n/-f/-p, hash, help, history,		  jobs -x/-r/-s, kill -s/-n/-l, local, logout, popd, pushd,		  read -e/-p/-a/-t/-n/-d/-s/-N, readonly -a/-n/-f/-p,		  set -o braceexpand/-o histexpand/-o interactive-comments/		  -o notify/-o physical/-o posix/-o hashall/-o onecmd/		  -h/-B/-C/-b/-H/-P, set +o, suspend, trap -l, type,		  typeset -a/-F/-p, ulimit -i/-q/-u/-x, umask -S, alias -p,		  shopt, disown, printf, complete, compgen, compopt, mapfile	`!' csh-style history expansion	POSIX.2-style globbing character classes	POSIX.2-style globbing equivalence classes	POSIX.2-style globbing collating symbols	egrep-like extended pattern matching operators	case-insensitive pattern matching and globbing	`**' arithmetic operator to do exponentiation	redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr	arrays of unlimited size	TMOUT is default timeout for `read' and `select'	debugger support, including the `caller' builtin	RETURN trap	Timestamps in history entries	{x..y} brace expansion	The `+=' assignment operator	autocd shell option and behavior	command-not-found hook with command_not_found_handle shell function	globstar shell option and `**' globbing behavior	|& synonym for `2>&1 |'	;& and ;;& case action list terminators	case-modifying word expansions and variable attributes	associative arrays	coprocesses using the `coproc' reserved word and variables	shell assignment of a file descriptor used in a redirection to a variableThings ksh88 has or uses that bash does not:	tracked aliases (alias -t)	variables: ERRNO, FPATH, EDITOR, VISUAL	co-processes (bash uses different syntax)	weirdly-scoped functions	typeset +f to list all function names without definitions	text of command history kept in a file, not memory	builtins: alias -x, cd old new, newgrp, print,		  read -p/-s/var?prompt, set -A/-o gmacs/		  -o bgnice/-o markdirs/-o trackall/-o viraw/-s,		  typeset -H/-L/-R/-Z/-A/-ft/-fu/-fx/-t, whence	using environment to pass attributes of exported variables	arithmetic evaluation done on arguments to some builtins	reads .profile from $PWD when invoked as login shellImplementation differences:	ksh runs last command of a pipeline in parent shell context	bash has brace expansion by default (ksh88 compile-time option)	bash has fixed startup file for all interactive shells; ksh reads $ENV	bash has exported functions	bash command search finds functions before builtins	bash waits for all commands in pipeline to exit before returning status	emacs-mode editing has some slightly different key bindingsC3)  Which new features in ksh-93 are not in bash, and which are?This list is current through ksh93t+ (05/05/2009)New things in ksh-93 not in bash-4.2:	floating point arithmetic and variables	math library functions	${!name[sub]} name of subscript for associative array	`.' is allowed in variable names to create a hierarchical namespace	more extensive compound assignment syntax	discipline functions	KEYBD trap	variables: .sh.edchar, .sh.edmode, .sh.edcol, .sh.edtext, .sh.version,		   .sh.name, .sh.subscript, .sh.value, .sh.match, HISTEDIT	backreferences in pattern matching (\N)	`&' operator in pattern lists for matching (match all instead of any)	exit statuses between 0 and 255	FPATH and PATH mixing	lexical scoping for local variables in `ksh' functions	no scoping for local variables in `POSIX' functions	$''  \C[.collating-element.] escape sequence	-C/-I invocation options	print -f (bash uses printf)	`fc' has been renamed to `hist'	`.' can execute shell functions	getopts -a	printf %B, %H, %P, %R, %Z modifiers, output base for %d, `=' flag	read -n/-N differ/-v	set -o showme/-o multiline (bash default)	`sleep' and `getconf' builtins (bash has loadable versions)	typeset -n and `nameref' variables	[[ -R name ]] (checks whether or not name is a nameref)	typeset -C/-S/-T/-X/-h/-s	experimental `type' definitions (a la typedef) using typeset	array expansions ${array[sub1..sub2]} and ${!array[sub1..sub2]}	associative array assignments using `;' as element separator	command substitution $(n<#) expands to current byte offset for fd N	new '${ ' form of command substitution, executed in current shell	new >;/<>;/<#pat/<##pat/<#/># redirections	brace expansion printf-like formats New things in ksh-93 present in bash-4.2:	associative arrays	[n]<&word- and [n]>&word- redirections (combination dup and close)        for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command        ?:, ++, --, `expr1 , expr2' arithmetic operators	expansions: ${!param}, ${param:offset[:len]}, ${param/pat[/str]},		    ${!param*}	compound array assignment	negative subscripts for indexed array variables	the `!' reserved word	loadable builtins -- but ksh uses `builtin' while bash uses `enable'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -