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

📄 bash.hlp

📁 bash帮助手册
💻 HLP
📖 第 1 页 / 共 5 页
字号:
       arithmetic expression that must evaluate to a number  greater  than  or       equal  to  zero.	  To  explicitly declare an array, use declare -a name       (see SHELL BUILTIN COMMANDS below).  declare -a name[subscript] is also       accepted; the subscript is ignored.  Attributes may be specified for an       array variable using the declare and readonly builtins.	Each attribute       applies to all members of an array.       Arrays	are  assigned  to  using  compound  assignments	 of  the  form       name=(value1 ... valuen),  where	 each  value  is  of  the  form	 [sub-       script]=string.	Only string is required.  If the optional brackets and       subscript are supplied, that index is assigned to; otherwise the	 index       of  the element assigned is the last index assigned to by the statement       plus one.  Indexing starts at zero.  This syntax is  also  accepted  by       the  declare  builtin.	Individual  array  elements may be assigned to       using the name[subscript]=value syntax introduced above.       Any element of an array may  be	referenced  using  ${name[subscript]}.       The braces are required to avoid conflicts with pathname expansion.  If       subscript is @ or *, the word expands to all members  of	 name.	 These       subscripts  differ only when the word appears within double quotes.  If       the word is double-quoted, ${name[*]} expands to a single word with the       value  of each array member separated by the first character of the IFS       special variable, and ${name[@]} expands each element of name to a sep-       arate  word.   When  there  are no array members, ${name[@]} expands to       nothing.	 This is analogous to the expansion of the special  parameters       * and @ (see Special Parameters above).	${#name[subscript]} expands to       the length of ${name[subscript]}.  If subscript is * or @,  the	expan-       sion  is	 the  number  of  elements in the array.  Referencing an array       variable without a subscript is equivalent to referencing element zero.       The  unset  builtin  is	used to destroy arrays.	 unset name[subscript]       destroys the array element at index subscript.  unset name, where  name       is  an  array,  or  unset  name[subscript],  where subscript is * or @,       removes the entire array.       The declare, local, and readonly builtins each accept a	-a  option  to       specify	an  array.   The  read builtin accepts a -a option to assign a       list of words read from the standard input to an array.	 The  set  and       declare	builtins  display array values in a way that allows them to be       reused as assignments.EXPANSION       Expansion is performed on the command line after it has been split into       words.	There are seven kinds of expansion performed: brace expansion,       tilde expansion, parameter and variable	expansion,  command  substitu-       tion, arithmetic expansion, word splitting, and pathname expansion.       The  order  of expansions is: brace expansion, tilde expansion, parame-       ter, variable and arithmetic expansion and command  substitution	 (done       in a left-to-right fashion), word splitting, and pathname expansion.       On systems that can support it, there is an additional expansion avail-       able: process substitution.       Only brace expansion, word splitting, and pathname expansion can change       the  number of words of the expansion; other expansions expand a single       word to a single word.  The only exceptions to this are the  expansions       of "$@" and "${name[@]}" as explained above (see PARAMETERS).   Brace Expansion       Brace expansion is a mechanism by which arbitrary strings may be gener-       ated.  This mechanism is similar to pathname expansion, but  the	 file-       names generated need not exist.	Patterns to be brace expanded take the       form of an optional preamble, followed by a series  of  comma-separated       strings	between	 a pair of braces, followed by an optional postscript.       The preamble is prefixed to each string contained  within  the  braces,       and the postscript is then appended to each resulting string, expanding       left to right.       Brace expansions may be nested.	The results of	each  expanded	string       are  not	 sorted;  left	to  right  order  is  preserved.  For example,       a{d,c,b}e expands into `ade ace abe'.       Brace expansion is performed before any other expansions, and any char-       acters  special to other expansions are preserved in the result.	 It is       strictly textual.  Bash does not apply any syntactic interpretation  to       the context of the expansion or the text between the braces.       A  correctly-formed  brace  expansion must contain unquoted opening and       closing braces, and at  least  one  unquoted  comma.   Any  incorrectly       formed  brace expansion is left unchanged.  A { or , may be quoted with       a backslash to prevent its being considered part of a brace expression.       To  avoid conflicts with parameter expansion, the string ${ is not con-       sidered eligible for brace expansion.       This construct is typically used as shorthand when the common prefix of       the strings to be generated is longer than in the above example:	      mkdir /usr/local/src/bash/{old,new,dist,bugs}       or	      chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}       Brace  expansion	 introduces  a	slight incompatibility with historical       versions of sh.	sh does not treat opening or closing braces  specially       when  they  appear as part of a word, and preserves them in the output.       Bash removes braces from words as a  consequence	 of  brace  expansion.       For  example,  a word entered to sh as file{1,2} appears identically in       the output.  The same word is output as file1 file2 after expansion  by       bash.   If strict compatibility with sh is desired, start bash with the       +B option or disable brace expansion with the +B option to the set com-       mand (see SHELL BUILTIN COMMANDS below).   Tilde Expansion       If  a  word  begins  with an unquoted tilde character (`~'), all of the       characters preceding the first unquoted slash (or  all  characters,  if       there  is no unquoted slash) are considered a tilde-prefix.  If none of       the characters in the tilde-prefix are quoted, the  characters  in  the       tilde-prefix  following the tilde are treated as a possible login name.       If this login name is the null string, the tilde is replaced  with  the       value  of  the shell parameter HOME.  If HOME is unset, the home direc-       tory of the user executing the shell is	substituted  instead.	Other-       wise,  the  tilde-prefix is replaced with the home directory associated       with the specified login name.       If the tilde-prefix is a `~+', the value	 of  the  shell	 variable  PWD       replaces the tilde-prefix.  If the tilde-prefix is a `~-', the value of       the shell variable OLDPWD, if it is set, is substituted.	 If the	 char-       acters  following  the tilde in the tilde-prefix consist of a number N,       optionally prefixed by a `+' or a `-',  the  tilde-prefix  is  replaced       with the corresponding element from the directory stack, as it would be       displayed by the dirs builtin invoked with the tilde-prefix as an argu-       ment.   If  the characters following the tilde in the tilde-prefix con-       sist of a number without a leading `+' or `-', `+' is assumed.       If the login name is invalid, or the tilde expansion fails, the word is       unchanged.       Each variable assignment is checked for unquoted tilde-prefixes immedi-       ately following a : or =.  In these cases, tilde expansion is also per-       formed.	 Consequently,	one  may use file names with tildes in assign-       ments to PATH, MAILPATH, and CDPATH, and the shell assigns the expanded       value.   Parameter Expansion       The `$' character introduces parameter expansion, command substitution,       or arithmetic expansion.	 The parameter name or symbol to  be  expanded       may  be enclosed in braces, which are optional but serve to protect the       variable to be expanded from characters immediately following it	 which       could be interpreted as part of the name.       When  braces  are  used, the matching ending brace is the first `}' not       escaped by a backslash or within a quoted string,  and  not  within  an       embedded arithmetic expansion, command substitution, or paramter expan-       sion.       ${parameter}	      The value of parameter is substituted.  The braces are  required	      when  parameter  is  a  positional  parameter with more than one	      digit, or when parameter is followed by a character which is not	      to be interpreted as part of its name.       If the first character of parameter is an exclamation point, a level of       variable indirection is introduced.  Bash uses the value of  the	 vari-       able  formed  from  the	rest of parameter as the name of the variable;       this variable is then expanded and that value is used in	 the  rest  of       the  substitution,  rather than the value of parameter itself.  This is       known as indirect expansion.  The exception to this is the expansion of       ${!prefix*} described below.       In each of the cases below, word is subject to tilde expansion, parame-       ter expansion, command substitution, and	 arithmetic  expansion.	  When       not  performing substring expansion, bash tests for a parameter that is       unset or null; omitting the colon results in a test only for a  parame-       ter that is unset.       ${parameter:-word}	      Use  Default  Values.  If parameter is unset or null, the expan-	      sion of word is substituted.  Otherwise, the value of  parameter	      is substituted.       ${parameter:=word}	      Assign  Default  Values.	 If  parameter	is  unset or null, the	      expansion of word is assigned to parameter.  The value of param-	      eter  is	then  substituted.   Positional parameters and special	      parameters may not be assigned to in this way.       ${parameter:?word}	      Display Error if Null or Unset.  If parameter is null or	unset,	      the  expansion  of  word (or a message to that effect if word is	      not present) is written to the standard error and the shell,  if	      it is not interactive, exits.  Otherwise, the value of parameter	      is substituted.       ${parameter:+word}	      Use Alternate Value.  If parameter is null or unset, nothing  is	      substituted, otherwise the expansion of word is substituted.       ${parameter:offset}       ${parameter:offset:length}	      Substring	 Expansion.   Expands  to  up  to length characters of	      parameter starting at the character  specified  by  offset.   If	      length  is omitted, expands to the substring of parameter start-	      ing at the character specified by offset.	 length and offset are	      arithmetic   expressions	 (see  ARITHMETIC  EVALUATION  below).	      length must evaluate to a number greater than or equal to	 zero.	      If  offset  evaluates  to	 a number less than zero, the value is	      used as an offset from the end of the value  of  parameter.   If	      parameter	 is  @,	 the  result  is  length positional parameters	      beginning at offset.  If parameter is an array name indexed by @	      or  *,  the  result is the length members of the array beginning	      with ${parameter[offset]}.   Substring  indexing	is  zero-based	      unless  the  positional  parameters  are used, in which case the	      indexing starts at 1.       ${!prefix*}	      Expands to the names of variables whose names begin with prefix,	      separated by the first character of the IFS special variable.       ${#parameter}	      The  length  in  characters of the value of parameter is substi-	      tuted.  If parameter is * or @, the  value  substituted  is  the	      number  of positional parameters.	 If parameter is an array name	      subscripted by * or @, the value substituted is  the  number  of	      elements in the array.       ${parameter#word}       ${parameter##word}	      The  word	 is  expanded to produce a pattern just as in pathname	      expansion.  If the pattern matches the beginning of the value of	      parameter,  then	the  result  of	 the expansion is the expanded	      value of parameter with the shortest matching pattern (the ``#''	      case) or the longest matching pattern (the ``##'' case) deleted.	      If parameter is @ or *, the pattern removal operation is applied	      to  each	positional parameter in turn, and the expansion is the	      resultant list.  If parameter is an array	 variable  subscripted	      with  @  or  *, the pattern removal operation is applied to each	      member of the array in turn, and the expansion is the  resultant	      list.       ${parameter%word}       ${parameter%%word}	      The  word	 is  expanded to produce a pattern just as in pathname	      expansion.  If the pattern matches a  trailing  portion  of  the	      expanded value of parameter, then the result of the expansion is	      the expanded value of parameter with the shortest matching  pat-	      tern  (the  ``%''	 case)	or  the	 longest matching pattern (the	      ``%%'' case) deleted.  If parameter  is  @  or  *,  the  pattern	      removal  operation  is  applied  to each positional parameter in	      turn, and the expansion is the resultant list.  If parameter  is	      an  array	 variable subscripted with @ or *, the pattern removal	      operation is applied to each member of the array	in  turn,  and	      the expansion is the resultant list.       ${parameter/pattern/string}       ${parameter//pattern/string}	      The pattern is expanded to produce a 

⌨️ 快捷键说明

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