???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................Þ•    4     ¼  õ  \#      0/  *   1/     \/  <   o/  $   ¬/  
   Ñ/     Ü/     ë/     ò/     0     &0     F0     ]0  	   s0     }0     0     ¦0     ½0     Ü0     ó0     1     $1      41     U1     \1     p1     ˆ1  (   ¤1  /   Í1  ;   ý1  $   92  :   ^2     ™2     ¬2     Ã2  (   Ú2  "   3     &3     ;3     X3  3   v3      ª3  &   Ë3  &   ò3  /   4  /   I4     y4     4  .   ¥4     Ô4  "   ó4     5     -5     ?5     X5     t5     ’5  "   ¦5     É5     Ý5     î5     6     (6  /   >6     n6     „6     š6  -   ­6     Û6     ñ6     7     7     97     J7     j7     ‚7     —7  !   °7     Ò7  )   ï7     8     88     S8     j8     }8     •8     ©8      Ç8  !   è8     
9  ,   $9     Q9      d9     …9     œ9  0   ª9  .   Û9     
:  0   &:     W:     w:     Š:     š:     ­:     Ä:     Ü:     ö:     ;     *;     8;     V;  &   v;     ;  /   »;     ë;     <  )   <     A<  &   P<  3   w<     «<     È<     ä<     ù<  &   =     ,=     ==     L=     Z=  9   q=  #   «=     Ï=     æ=     ø=  å  >  H  êA     3E     CE     SE  F  _E     ¦F     µF     ÅF     ÒF  	   ÞF  	   èF  ú  òF     íL  »
  M     ½W  ¿  ÆW    †Y  ]  ž[  Ø  ü\  U  Õ`    +c  ­  Hg  +  öj  L  "m  ©   on    o  ?  r     ]u     bu     ku  t  {u  ò   ðx  ì  ãy  º  Ð  ž   ‹Œ  w  *  ÷   ¢    š  ñ   ž‘  g  ’  ò   ø”  u  ë•  ¬  a—  ×  ™  w  æœ     ^ž  |   fž  Ö   ãž  ˆ   ºŸ  
   C      N   à  g      H¥     c¥     ~¥  ?   ‘¥  Ë   Ñ¥     ¦     ´¦     Í¦      è¦     	§     §     §  	   -§     7§     K§  	   _§     i§  N   p§    ¿§    Aª    Q®  ,  áµ  =  ·  f   L¸     ³¸  B  Â¸  †  À     ŒÁ  ¬  ‘Á  P   >Ê  x  Ê     Ð    Ð  ™   Ó  ª   ºÖ  Ô  e×  ø  :Ù  Ž  3Ü  ¬  ÂÞ    oà  ‘  sá  F   ã  F   Lã  L  “ã  Æ  àä  S   §æ     ûæ     ç  >  ç  ,  Uê  ?  ‚ñ    Âó  »  Òõ  D   Žû     Óû  ã   ãû  	   Çü  Ä  Ñü     –     ž     ¯     Ã     Ø  O  ä  *   4 
   _    j    ˆ    ¡ 5   º O  ð B   @ Õ  ƒ B   Y
 E   œ
    â
    ó
         }  #    ¡ X   µ     *   ,    W    e b  s Š  Ö    a é   p ¬  Z         
   3    >    O    a %   € $   ¦ '   Ë    ó             :    U !   t    –    ³    Ï    Ü '   ó 0    .   L    { 9   š    Ô    Ý    ï $       4    H    Y    g &   p '   — 3   ¿ 9   ó    - “   ? .   Ó :    3   = 	   q    { !   ”    ¶ 3   Ä    ø =    -   U    ƒ '   £ &   Ë *   ò *    )   H )   r %   œ %   Â     è 1   	 #   ; 1   _ &   ‘ &   ¸ &   ß 5        <     K  !   h  !   Š  :   ¬     ç     !     ! 1   @! ”   r! ¥   " #   ­" '   Ñ" $   ù"    # $   +# #   P# '   t#    œ# /   ¤# .   Ô#    $    "$    8$    N$    e$    s$    ‘$    ¥$    »$ ,   Õ$ %   % ,   (% %   U%    {% .   Š% @   ¹%    ú%    &    & ,   %&    R& #   f& @   Š&    Ë&    Ù&    ö& -   ' ,   ?' '   l'    ”' .   ¯' ,   Þ' &   ( 0   2( 6   c( P   š( (   ë(    ) )   1)    [)    l) "   †) ?   ©) T   é)    >*    O*    e* 8   s* V   ¬* &   + '   *+    R+    r+    Š+ (   —+    À+    Ó+    â+    ÷+ "   ,    0, 5   =, O   s,    Ã,    Õ,    ç, 	   í,    ÷, 5   -    F-    f- 
   n- 
   y- +   „- 9   °- ;   ê- $   &.    K. d   i. $   Î.    ó.    /    /    */    C/     a/    ‚/    /    ³/ H   Ä/    0    0    90    F0 "   Y0 +   |0    ¨0    Ä0 4   Ñ0 
   1 D   1 ?   V1 ,   –1    Ã1    ×1 !   î1 "   2 "   32    V2    h2 	   ƒ2 o   2    ý2 [   3 1   l3 /   ž3 )   Î3 3   ø3    ,4 &   F4 2   m4 5    4 ,   Ö4 
   5 
   5 1   5 I   K5 4   •5 .   Ê5 8   ù5 (   26 ,   [6 ,   ˆ6 0   µ6 )   æ6 	   7    7     &7 "   G7    j7    †7     7    ­7 &   º7 =   á7    8    :8 '   Q8    y8    8 ,   ­8 )   Ú8    9 $   #9    H9    ^9    j9    }9 "   9    ³9    Ï9 -   í9 )   :    E:    \: %   y: .   Ÿ: -   Î: 7   ü: 6   4; 2   k; 1   ž; *   Ð; ,   û; ,   (< ;   U< #   ‘<    µ<    ½<    Ó< !   ó<    = 6   .=    e=    x= *   ‡= "   ²=    Õ= 6   õ= 	   ,>    6> -   F> -   t> !   ¢>    Ä> '   Ô> '   ü>    $?    B? ´  Q? $   A    +A @   AA "   ‚A    ¥A    ºA    ÍA    ÑA    éA     ÿA     B    <B 
   SB    ^B    lB    B    ™B    ´B    ËB    êB 	   C !   C    3C    :C    HC     `C     C )   ¢C 2   ÌC "   ÿC 9   "D    \D    pD    ŠD %   ¡D    ÇD    çD    ûD    E 2   1E +   dE (   E %   ¹E .   ßE .   F    =F    RF +   gF    “F #   ³F    ×F    ìF    ýF    G     ;G    \G "   qG    ”G    ©G !   ÀG    âG    üG (   H    9H    NH    _H #   sH    —H    ¬H    ÃH    ÔH    ìH    ýH    I    .I    ?I    YI    vI "   I    ³I    ÍI    èI    üI    J    $J    8J    VJ    pJ    ŠJ    ¡J    ¾J    ÒJ    íJ    K '   K )   9K    cK +   }K    ©K    ÀK    ÔK    åK    öK    L    %L    <L    YL    vL    „L    ›L #   ¸L    ÜL .   ùL    (M    9M    JM    jM $   xM .   M    ÌM    äM    þM    N    !N    8N    HN    ZN    uN 1   ŠN     ¼N    ÝN    ïN 	   üN   O ’  R    ±T    ÀT    ÏT B  ÖT    V    -V 	   CV    MV    ZV 
   gV   rV    ’[ K	  ®[    úd ¸  e ö  ºf {  ±h î  -j Z  m   wo ¬  ys !  &w (  Hy     qz à  { u  ó} 	   i€    s€    € ™  —€ ½   1„   ï„ ¿  Š ”   Í— p  b˜ þ   Óš á   Ò› ã   ´œ 8  ˜ ë   ÑŸ [  ½  º  ¢ ¬  Ô£ Œ  § 	   © Œ   © Ò   ¥© Ž   xª    «    «   $«    -®    H®    c® A   s® Ò   µ®    ˆ¯    œ¯    ·¯    Ò¯    í¯    ü¯    ° 
   °    °    .°    ;° 	   B° b   L° F  ¯° j  ö² w  a¶   Ù¼ )  ù½ t   #¿    ˜¿ {  ©¿ |  %Ç    ¢È à  ©È V   ŠÐ ÷  áÐ 	   ÙÕ -  ãÕ   Ù ½   Ü þ  ÛÜ ˆ  ÚÞ ¨  cá p  ä õ   }å ‡  sæ E   ûç N   Aè S  è Â  äé I   §ë 	   ñë 	   ûë &  ì k  ,ï D  ˜õ ä  Ý÷ Ý  Âù     þ    ¾þ Î   Íþ 	   œÿ "  ¦ÿ 	   É    Ó    å    û     7   )   W 	       ‹    ¨    Â K   Ù a  % E   ‡ ï  Í H   ½ J       Q    `    q    ~ Y  ‹    å X   ÷    P *   n    ™    § '  µ m  Ý    K Þ   [ "  :    ]    t    Ž    œ    ¬    ¿ !   Ø $   ú !       A    Z    p    Œ    Ÿ 0   ¸    é     
       )    ? 2   Y 0   Œ    ½ <   Ü             -    F    _    u    ‹    ¤ .   ´ 3   ã 1    9   I    ƒ ¡   ™ ,   ; 5   h .   ž 	   Í $   × #   ü      .   3    b O   { +   Ë 4   ÷ 8   , /   e $   • $   º !   ß !    (   # (   L    u -   • /   Ã .   ó &   "     I  &   i  3        Ä     Ñ     ð  +   ! 5   8!    n!    Ž! "   ®! =   Ñ!     " °   °"    a# )   ~#    ¨#    Ä# "   Ñ#    ô# $   $    8$ /   ?$ 0   o$ "    $    Ã$    Ó$    ã$    ú$    %    %    0%    I% /   \%    Œ%    ¬%    Ê%    ê% )   ü% <   &&    c& 
   l&    w& -   †&    ´&    Ä& S   à&    4'    F'    b' =   x' -   ¶' F   ä'    +( 0   B( -   s( '   ¡( (   É( 5   ò( 4   ()    ]) '   {) ,   £)    Ð)    à)    ù) ?   * `   U*    ¶*    Ã*    Ð* *   ß* L   
+ &   W+ !   ~+     +    À+    Ö+ -   ã+    ,    *,    7,    M, 3   `,    ”, <   ¡, p   Þ,    O-    d-    |-    ‚-    Ž- )   ¡-    Ë-    ë- 
   ó-    þ- ,   . <   8. -   u. #   £.    Ç. n   á.    P/    o/ 
   Œ/ 
   —/ %   ¢/ #   È/    ì/    0    !0    @0 Z   P0    «0    »0    Ø0    æ0 '   ö0    1 !   :1    \1 ;   i1    ¥1 ?   ²1 ?   ò1 2   22    e2    y2 ,   †2    ³2 '   Ó2    û2    3 	   &3 ¢   03    Ó3 a   å3 2   G4 0   z4 *   «4 +   Ö4    5 ,   5 2   ?5 7   r5 1   ª5 	   Ü5 
   æ5 4   ñ5 N   &6 B   u6 -   ¸6 :   æ6 ,   !7 0   N7 0   7 4   °7 &   å7 	   8    8 "   #8     F8    g8    8    ¡8    ®8 !   »8 :   Ý8    9    49 -   O9    }9    ”9 #   ­9 &   Ñ9    ø9 &   :    =:    P:    a:    r: &   :     ¦: !   Ç: -   é: *   ;    B;     [; 3   |; <   °; ;   í; 5   )< 5   _< 0   •< 0   Æ< '   ÷< )   = )   I= 5   s= %   ©=    Ï=    Ö= !   ì=    > '   ,> 1   T>    †>    > 3   ²> $   æ> !   ? .   -?    \?    d? 5   s? 5   ©?    ß?    ý? '   @ (   3@    \@    {@         Û      Ñ       Ø      È   _   ¤  •     \   £      Œ  ¶  “   8      }          ‡       L   ¾  a  ’  W       #  Ä   ÿ             G  x      É   7  €  º   ¯   ~  4              õ           ý               Ó       !            »   §  Q   ©   	  Ï   µ                                     !            À          f   í   )  ;  Ü       +   V                            ¸                 j    .   B       t  $  ·  ó   F   2             %  ¼   ®   J  Z    ¿           a   b        Ž        (         ³          «   ¸  š           ÿ      þ   Ê  l      v       —         ×   ?   ˜       e         °  (              f      s  ö   V       œ              C           Ç   9         Å   ‘  c  ¾   ï     g  >  k   ¤       š       x   )           5      q  H  µ       ®  ¯  ç  ê  ò   §              ã   ë  ™         ƒ      ¶       Þ      â       /  Ò  è      …             ¢   ¨   ±   ì       C  Ì   k  ¨      ˆ          (               Y            !       ›  _  -     ±  à  ½  -  ú  Æ       Ú   X  ´          1  i   /   û   `              T     î  4       @     Á   r  Z       S   K  "   O    >   W  ð   	       Í  5   "      0  w  –      à       ñ          Ø   ™   Ë                   M   ó  3  ,           I       ³      c   ²  .      +  T  É  Ý   †     R  Ñ  á         þ  <          Æ          ò  *      l   8       Ï                '   »  )  ž  ö  z  Ð      ô       J   ï       ù  ‰       ?      h  "      Ž   s   ß   w   |     D  ¥   ‚  ý   <     ¢  &   q   g   #       ¬     â          ]   -  Ê     Î   è         S      '  %  Ÿ     1  ü        E   ,  ‰   •  Î  Ü      ª      &  o      æ         ‚     ÷      Ð       „   6   N   :     =      $  Þ   L  :    Á    d          O       u           í  ¡  @  ü   +  y  æ   Ÿ      Ä  ]      p  ¹      —      9   ä   Ç    ²       Õ       é   Å  È  %   G   ä  Ù       ­  `  Y  ”   {  y   /                 Q  H   Ù  F  ø       X   b   ;   z   ñ   }   t       á  |  j          o   A   ¼  ×      ^       0  M         Ó  4  ƒ   m     n   ª   =       	      Ô  ú   $   À  ˜  ¥  Ö  °   3  ^      '  û  2   ¦   ø  Û   
  Í   3   å   “  õ  ”  Õ  Ô   ÷   ,  1       \  Œ   2  I             A         ì                            ç       i  ´     h   6      …       ›   ’              ‡  .  ð    ù   –              Ò   ·   ¹  î       ¡       Ö       ‹   Â   m  R        P     œ           ß  N      ¬  B  &      #  7   *  ¦  [  *   º  
           ž               [   ¿             K      Ã  Â  n  Ì  ~   å    p       P   £       ˆ  €   Ý  d     †           ê   v  r   „  ­   
  E    ë       Ë       ‹             é           0   «  u  D   ©  Ã   Ú  ã  ½     Š  e  U  Š   {   ‘   ô     U        timed out waiting for input: auto-logout
 	-%s or -o option
 	-ilrsD or -c command or -O shopt_option		(invocation only)
 
malloc: %s:%d: assertion botched
   (wd: %s)  (core dumped)  line  $%s: cannot assign in this way %c%c: invalid option %d: invalid file descriptor: %s %s can be invoked via  %s has null exportstr %s is %s
 %s is a function
 %s is a shell builtin
 %s is a shell keyword
 %s is a special shell builtin
 %s is aliased to `%s'
 %s is hashed (%s)
 %s is not bound to any keys.
 %s out of range %s%s%s: %s (error token is "%s") %s: %s %s: %s out of range %s: %s: bad interpreter %s: %s: cannot open as FILE %s: %s: compatibility value out of range %s: %s: invalid value for trace file descriptor %s: %s: must use subscript when assigning associative array %s: %s:%d: cannot allocate %lu bytes %s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated) %s: Is a directory %s: ambiguous job spec %s: ambiguous redirect %s: arguments must be process or job IDs %s: bad network path specification %s: bad substitution %s: binary operator expected %s: cannot allocate %lu bytes %s: cannot allocate %lu bytes (%lu bytes allocated) %s: cannot assign fd to variable %s: cannot assign list to array member %s: cannot assign to non-numeric index %s: cannot convert associative to indexed array %s: cannot convert indexed to associative array %s: cannot create: %s %s: cannot delete: %s %s: cannot destroy array variables in this way %s: cannot execute binary file %s: cannot execute binary file: %s %s: cannot execute: %s %s: cannot export %s: cannot get limit: %s %s: cannot modify limit: %s %s: cannot open temp file: %s %s: cannot open: %s %s: cannot overwrite existing file %s: cannot read: %s %s: cannot unset %s: cannot unset: readonly %s %s: circular name reference %s: command not found %s: error retrieving current directory: %s: %s
 %s: expression error
 %s: file is too large %s: file not found %s: first non-whitespace character is not `"' %s: hash table empty
 %s: history expansion failed %s: host unknown %s: illegal option -- %c
 %s: inlib failed %s: integer expression expected %s: invalid action name %s: invalid argument %s: invalid array origin %s: invalid associative array key %s: invalid callback quantum %s: invalid file descriptor specification %s: invalid indirect expansion %s: invalid limit argument %s: invalid line count %s: invalid option %s: invalid option name %s: invalid service %s: invalid shell option name %s: invalid signal specification %s: invalid timeout specification %s: invalid variable name %s: invalid variable name for name reference %s: is a directory %s: job %d already in background %s: job has terminated %s: line %d:  %s: maximum function nesting level exceeded (%d) %s: maximum source nesting level exceeded (%d) %s: missing colon separator %s: nameref variable self references not allowed %s: no completion specification %s: no job control %s: no such job %s: not a function %s: not a regular file %s: not a shell builtin %s: not an array variable %s: not an indexed array %s: not dynamically loaded %s: not found %s: numeric argument required %s: option requires an argument %s: option requires an argument -- %c
 %s: parameter null or not set %s: quoted compound array assignment deprecated %s: readonly function %s: readonly variable %s: reference variable cannot be an array %s: restricted %s: restricted: cannot redirect output %s: restricted: cannot specify `/' in command names %s: substring expression < 0 %s: unary operator expected %s: unbound variable %s: usage:  %s: variable may not be assigned value (( expression )) (core dumped)  (wd now: %s)
 . filename [arguments] /dev/(tcp|udp)/host/port not supported without networking /tmp must be a valid directory name <no current directory> ABORT instruction Aborting... Add directories to stack.
    
    Adds a directory to the top of the directory stack, or rotates
    the stack, making the new top of the stack the current working
    directory.  With no arguments, exchanges the top two directories.
    
    Options:
      -n	Suppresses the normal change of directory when adding
    		directories to the stack, so only the stack is manipulated.
    
    Arguments:
      +N	Rotates the stack so that the Nth directory (counting
    		from the left of the list shown by `dirs', starting with
    		zero) is at the top.
    
      -N	Rotates the stack so that the Nth directory (counting
    		from the right of the list shown by `dirs', starting with
    		zero) is at the top.
    
      dir	Adds DIR to the directory stack at the top, making it the
    		new current working directory.
    
    The `dirs' builtin displays the directory stack.
    
    Exit Status:
    Returns success unless an invalid argument is supplied or the directory
    change fails. Adds a directory to the top of the directory stack, or rotates
    the stack, making the new top of the stack the current working
    directory.  With no arguments, exchanges the top two directories.
    
    Options:
      -n	Suppresses the normal change of directory when adding
    	directories to the stack, so only the stack is manipulated.
    
    Arguments:
      +N	Rotates the stack so that the Nth directory (counting
    	from the left of the list shown by `dirs', starting with
    	zero) is at the top.
    
      -N	Rotates the stack so that the Nth directory (counting
    	from the right of the list shown by `dirs', starting with
    	zero) is at the top.
    
      dir	Adds DIR to the directory stack at the top, making it the
    	new current working directory.
    
    The `dirs' builtin displays the directory stack. Alarm (profile) Alarm (virtual) Alarm clock Arithmetic for loop.
    
    Equivalent to
    	(( EXP1 ))
    	while (( EXP2 )); do
    		COMMANDS
    		(( EXP3 ))
    	done
    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is
    omitted, it behaves as if it evaluates to 1.
    
    Exit Status:
    Returns the status of the last command executed. BPT trace/trap Bad system call Bogus signal Broken pipe Bus error CPU limit Change the shell working directory.
    
    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.
    
    The variable CDPATH defines the search path for the directory containing
    DIR.  Alternative directory names in CDPATH are separated by a colon (:).
    A null directory name is the same as the current directory.  If DIR begins
    with a slash (/), then CDPATH is not used.
    
    If the directory is not found, and the shell option `cdable_vars' is set,
    the word is assumed to be  a variable name.  If that variable has a value,
    its value is used for DIR.
    
    Options:
      -L	force symbolic links to be followed: resolve symbolic
    		links in DIR after processing instances of `..'
      -P	use the physical directory structure without following
    		symbolic links: resolve symbolic links in DIR before
    		processing instances of `..'
      -e	if the -P option is supplied, and the current working
    		directory cannot be determined successfully, exit with
    		a non-zero status
      -@	on systems that support it, present a file with extended
    		attributes as a directory containing the file attributes
    
    The default is to follow symbolic links, as if `-L' were specified.
    `..' is processed by removing the immediately previous pathname component
    back to a slash or the beginning of DIR.
    
    Exit Status:
    Returns 0 if the directory is changed, and if $PWD is set successfully when
    -P is used; non-zero otherwise. Child death or stop Common shell variable names and usage.
    
    BASH_VERSION	Version information for this Bash.
    CDPATH	A colon-separated list of directories to search
    		for directories given as arguments to `cd'.
    GLOBIGNORE	A colon-separated list of patterns describing filenames to
    		be ignored by pathname expansion.
    HISTFILE	The name of the file where your command history is stored.
    HISTFILESIZE	The maximum number of lines this file can contain.
    HISTSIZE	The maximum number of history lines that a running
    		shell can access.
    HOME	The complete pathname to your login directory.
    HOSTNAME	The name of the current host.
    HOSTTYPE	The type of CPU this version of Bash is running under.
    IGNOREEOF	Controls the action of the shell on receipt of an EOF
    		character as the sole input.  If set, then the value
    		of it is the number of EOF characters that can be seen
    		in a row on an empty line before the shell will exit
    		(default 10).  When unset, EOF signifies the end of input.
    MACHTYPE	A string describing the current system Bash is running on.
    MAILCHECK	How often, in seconds, Bash checks for new mail.
    MAILPATH	A colon-separated list of filenames which Bash checks
    		for new mail.
    OSTYPE	The version of Unix this version of Bash is running on.
    PATH	A colon-separated list of directories to search when
    		looking for commands.
    PROMPT_COMMAND	A command to be executed before the printing of each
    		primary prompt.
    PS1		The primary prompt string.
    PS2		The secondary prompt string.
    PWD		The full pathname of the current directory.
    SHELLOPTS	A colon-separated list of enabled shell options.
    TERM	The name of the current terminal type.
    TIMEFORMAT	The output format for timing statistics displayed by the
    		`time' reserved word.
    auto_resume	Non-null means a command word appearing on a line by
    		itself is first looked for in the list of currently
    		stopped jobs.  If found there, that job is foregrounded.
    		A value of `exact' means that the command word must
    		exactly match a command in the list of stopped jobs.  A
    		value of `substring' means that the command word must
    		match a substring of the job.  Any other value means that
    		the command must be a prefix of a stopped job.
    histchars	Characters controlling history expansion and quick
    		substitution.  The first character is the history
    		substitution character, usually `!'.  The second is
    		the `quick substitution' character, usually `^'.  The
    		third is the `history comment' character, usually `#'.
    HISTIGNORE	A colon-separated list of patterns used to decide which
    		commands should be saved on the history list.
 Continue Define local variables.
    
    Create a local variable called NAME, and give it VALUE.  OPTION can
    be any option accepted by `declare'.
    
    Local variables can only be used within a function; they are visible
    only to the function where they are defined and its children.
    
    Exit Status:
    Returns success unless an invalid option is supplied, a variable
    assignment error occurs, or the shell is not executing a function. Define or display aliases.
    
    Without arguments, `alias' prints the list of aliases in the reusable
    form `alias NAME=VALUE' on standard output.
    
    Otherwise, an alias is defined for each NAME whose VALUE is given.
    A trailing space in VALUE causes the next word to be checked for
    alias substitution when the alias is expanded.
    
    Options:
      -p	print all defined aliases in a reusable format
    
    Exit Status:
    alias returns true unless a NAME is supplied for which no alias has been
    defined. Define shell function.
    
    Create a shell function named NAME.  When invoked as a simple command,
    NAME runs COMMANDs in the calling shell's context.  When NAME is invoked,
    the arguments are passed to the function as $1...$n, and the function's
    name is in $FUNCNAME.
    
    Exit Status:
    Returns success unless NAME is readonly. Display directory stack.
    
    Display the list of currently remembered directories.  Directories
    find their way onto the list with the `pushd' command; you can get
    back up through the list with the `popd' command.
    
    Options:
      -c	clear the directory stack by deleting all of the elements
      -l	do not print tilde-prefixed versions of directories relative
    		to your home directory
      -p	print the directory stack with one entry per line
      -v	print the directory stack with one entry per line prefixed
    		with its position in the stack
    
    Arguments:
      +N	Displays the Nth entry counting from the left of the list
    		shown by dirs when invoked without options, starting with
    		zero.
    
      -N	Displays the Nth entry counting from the right of the list
    		shown by dirs when invoked without options, starting with
    		zero.
    
    Exit Status:
    Returns success unless an invalid option is supplied or an error occurs. Display information about builtin commands.
    
    Displays brief summaries of builtin commands.  If PATTERN is
    specified, gives detailed help on all commands matching PATTERN,
    otherwise the list of help topics is printed.
    
    Options:
      -d	output short description for each topic
      -m	display usage in pseudo-manpage format
      -s	output only a short usage synopsis for each topic matching
    		PATTERN
    
    Arguments:
      PATTERN	Pattern specifiying a help topic
    
    Exit Status:
    Returns success unless PATTERN is not found or an invalid option is given. Display information about command type.
    
    For each NAME, indicate how it would be interpreted if used as a
    command name.
    
    Options:
      -a	display all locations containing an executable named NAME;
    		includes aliases, builtins, and functions, if and only if
    		the `-p' option is not also used
      -f	suppress shell function lookup
      -P	force a PATH search for each NAME, even if it is an alias,
    		builtin, or function, and returns the name of the disk file
    		that would be executed
      -p	returns either the name of the disk file that would be executed,
    		or nothing if `type -t NAME' would not return `file'
      -t	output a single word which is one of `alias', `keyword',
    		`function', `builtin', `file' or `', if NAME is an alias,
    		shell reserved word, shell function, shell builtin, disk file,
    		or not found, respectively
    
    Arguments:
      NAME	Command name to be interpreted.
    
    Exit Status:
    Returns success if all of the NAMEs are found; fails if any are not found. Display or execute commands from the history list.
    
    fc is used to list or edit and re-execute commands from the history list.
    FIRST and LAST can be numbers specifying the range, or FIRST can be a
    string, which means the most recent command beginning with that
    string.
    
    Options:
      -e ENAME	select which editor to use.  Default is FCEDIT, then EDITOR,
    		then vi
      -l 	list lines instead of editing
      -n	omit line numbers when listing
      -r	reverse the order of the lines (newest listed first)
    
    With the `fc -s [pat=rep ...] [command]' format, COMMAND is
    re-executed after the substitution OLD=NEW is performed.
    
    A useful alias to use with this is r='fc -s', so that typing `r cc'
    runs the last command beginning with `cc' and typing `r' re-executes
    the last command.
    
    Exit Status:
    Returns success or status of executed command; non-zero if an error occurs. Display or set file mode mask.
    
    Sets the user file-creation mask to MODE.  If MODE is omitted, prints
    the current value of the mask.
    
    If MODE begins with a digit, it is interpreted as an octal number;
    otherwise it is a symbolic mode string like that accepted by chmod(1).
    
    Options:
      -p	if MODE is omitted, output in a form that may be reused as input
      -S	makes the output symbolic; otherwise an octal number is output
    
    Exit Status:
    Returns success unless MODE is invalid or an invalid option is given. Display possible completions depending on the options.
    
    Intended to be used from within a shell function generating possible
    completions.  If the optional WORD argument is supplied, matches against
    WORD are generated.
    
    Exit Status:
    Returns success unless an invalid option is supplied or an error occurs. Display process times.
    
    Prints the accumulated user and system times for the shell and all of its
    child processes.
    
    Exit Status:
    Always succeeds. Display status of jobs.
    
    Lists the active jobs.  JOBSPEC restricts output to that job.
    Without options, the status of all active jobs is displayed.
    
    Options:
      -l	lists process IDs in addition to the normal information
      -n	lists only processes that have changed status since the last
    		notification
      -p	lists process IDs only
      -r	restrict output to running jobs
      -s	restrict output to stopped jobs
    
    If -x is supplied, COMMAND is run after all job specifications that
    appear in ARGS have been replaced with the process ID of that job's
    process group leader.
    
    Exit Status:
    Returns success unless an invalid option is given or an error occurs.
    If -x is used, returns the exit status of COMMAND. Display the list of currently remembered directories.  Directories
    find their way onto the list with the `pushd' command; you can get
    back up through the list with the `popd' command.
    
    Options:
      -c	clear the directory stack by deleting all of the elements
      -l	do not print tilde-prefixed versions of directories relative
    	to your home directory
      -p	print the directory stack with one entry per line
      -v	print the directory stack with one entry per line prefixed
    	with its position in the stack
    
    Arguments:
      +N	Displays the Nth entry counting from the left of the list shown by
    	dirs when invoked without options, starting with zero.
    
      -N	Displays the Nth entry counting from the right of the list shown by
	dirs when invoked without options, starting with zero. Done Done(%d) EMT instruction Enable and disable shell builtins.
    
    Enables and disables builtin shell commands.  Disabling allows you to
    execute a disk command which has the same name as a shell builtin
    without using a full pathname.
    
    Options:
      -a	print a list of builtins showing whether or not each is enabled
      -n	disable each NAME or display a list of disabled builtins
      -p	print the list of builtins in a reusable format
      -s	print only the names of Posix `special' builtins
    
    Options controlling dynamic loading:
      -f	Load builtin NAME from shared object FILENAME
      -d	Remove a builtin loaded with -f
    
    Without options, each NAME is enabled.
    
    To use the `test' found in $PATH instead of the shell builtin
    version, type `enable -n test'.
    
    Exit Status:
    Returns success unless NAME is not a shell builtin or an error occurs. Evaluate arithmetic expression.
    
    The EXPRESSION is evaluated according to the rules for arithmetic
    evaluation.  Equivalent to "let EXPRESSION".
    
    Exit Status:
    Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise. Evaluate arithmetic expressions.
    
    Evaluate each ARG as an arithmetic expression.  Evaluation is done in
    fixed-width integers with no check for overflow, though division by 0
    is trapped and flagged as an error.  The following list of operators is
    grouped into levels of equal-precedence operators.  The levels are listed
    in order of decreasing precedence.
    
    	id++, id--	variable post-increment, post-decrement
    	++id, --id	variable pre-increment, pre-decrement
    	-, +		unary minus, plus
    	!, ~		logical and bitwise negation
    	**		exponentiation
    	*, /, %		multiplication, division, remainder
    	+, -		addition, subtraction
    	<<, >>		left and right bitwise shifts
    	<=, >=, <, >	comparison
    	==, !=		equality, inequality
    	&		bitwise AND
    	^		bitwise XOR
    	|		bitwise OR
    	&&		logical AND
    	||		logical OR
    	expr ? expr : expr
    			conditional operator
    	=, *=, /=, %=,
    	+=, -=, <<=, >>=,
    	&=, ^=, |=	assignment
    
    Shell variables are allowed as operands.  The name of the variable
    is replaced by its value (coerced to a fixed-width integer) within
    an expression.  The variable need not have its integer attribute
    turned on to be used in an expression.
    
    Operators are evaluated in order of precedence.  Sub-expressions in
    parentheses are evaluated first and may override the precedence
    rules above.
    
    Exit Status:
    If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise. Evaluate conditional expression.
    
    Exits with a status of 0 (true) or 1 (false) depending on
    the evaluation of EXPR.  Expressions may be unary or binary.  Unary
    expressions are often used to examine the status of a file.  There
    are string operators and numeric comparison operators as well.
    
    The behavior of test depends on the number of arguments.  Read the
    bash manual page for the complete specification.
    
    File operators:
    
      -a FILE        True if file exists.
      -b FILE        True if file is block special.
      -c FILE        True if file is character special.
      -d FILE        True if file is a directory.
      -e FILE        True if file exists.
      -f FILE        True if file exists and is a regular file.
      -g FILE        True if file is set-group-id.
      -h FILE        True if file is a symbolic link.
      -L FILE        True if file is a symbolic link.
      -k FILE        True if file has its `sticky' bit set.
      -p FILE        True if file is a named pipe.
      -r FILE        True if file is readable by you.
      -s FILE        True if file exists and is not empty.
      -S FILE        True if file is a socket.
      -t FD          True if FD is opened on a terminal.
      -u FILE        True if the file is set-user-id.
      -w FILE        True if the file is writable by you.
      -x FILE        True if the file is executable by you.
      -O FILE        True if the file is effectively owned by you.
      -G FILE        True if the file is effectively owned by your group.
      -N FILE        True if the file has been modified since it was last read.
    
      FILE1 -nt FILE2  True if file1 is newer than file2 (according to
                       modification date).
    
      FILE1 -ot FILE2  True if file1 is older than file2.
    
      FILE1 -ef FILE2  True if file1 is a hard link to file2.
    
    String operators:
    
      -z STRING      True if string is empty.
    
      -n STRING
         STRING      True if string is not empty.
    
      STRING1 = STRING2
                     True if the strings are equal.
      STRING1 != STRING2
                     True if the strings are not equal.
      STRING1 < STRING2
                     True if STRING1 sorts before STRING2 lexicographically.
      STRING1 > STRING2
                     True if STRING1 sorts after STRING2 lexicographically.
    
    Other operators:
    
      -o OPTION      True if the shell option OPTION is enabled.
      -v VAR         True if the shell variable VAR is set.
      -R VAR         True if the shell variable VAR is set and is a name
                     reference.
      ! EXPR         True if expr is false.
      EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.
      EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.
    
      arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,
                     -lt, -le, -gt, or -ge.
    
    Arithmetic binary operators return true if ARG1 is equal, not-equal,
    less-than, less-than-or-equal, greater-than, or greater-than-or-equal
    than ARG2.
    
    Exit Status:
    Returns success if EXPR evaluates to true; fails if EXPR evaluates to
    false or an invalid argument is given. Evaluate conditional expression.
    
    This is a synonym for the "test" builtin, but the last argument must
    be a literal `]', to match the opening `['. Execute a simple command or display information about commands.
    
    Runs COMMAND with ARGS suppressing  shell function lookup, or display
    information about the specified COMMANDs.  Can be used to invoke commands
    on disk when a function with the same name exists.
    
    Options:
      -p    use a default value for PATH that is guaranteed to find all of
            the standard utilities
      -v    print a description of COMMAND similar to the `type' builtin
      -V    print a more verbose description of each COMMAND
    
    Exit Status:
    Returns exit status of COMMAND, or failure if COMMAND is not found. Execute arguments as a shell command.
    
    Combine ARGs into a single string, use the result as input to the shell,
    and execute the resulting commands.
    
    Exit Status:
    Returns exit status of command or success if command is null. Execute commands as long as a test does not succeed.
    
    Expand and execute COMMANDS as long as the final command in the
    `until' COMMANDS has an exit status which is not zero.
    
    Exit Status:
    Returns the status of the last command executed. Execute commands as long as a test succeeds.
    
    Expand and execute COMMANDS as long as the final command in the
    `while' COMMANDS has an exit status of zero.
    
    Exit Status:
    Returns the status of the last command executed. Execute commands based on conditional.
    
    The `if COMMANDS' list is executed.  If its exit status is zero, then the
    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list is
    executed in turn, and if its exit status is zero, the corresponding
    `then COMMANDS' list is executed and the if command completes.  Otherwise,
    the `else COMMANDS' list is executed, if present.  The exit status of the
    entire construct is the exit status of the last command executed, or zero
    if no condition tested true.
    
    Exit Status:
    Returns the status of the last command executed. Execute commands based on pattern matching.
    
    Selectively execute COMMANDS based upon WORD matching PATTERN.  The
    `|' is used to separate multiple patterns.
    
    Exit Status:
    Returns the status of the last command executed. Execute commands for each member in a list.
    
    The `for' loop executes a sequence of commands for each member in a
    list of items.  If `in WORDS ...;' is not present, then `in "$@"' is
    assumed.  For each element in WORDS, NAME is set to that element, and
    the COMMANDS are executed.
    
    Exit Status:
    Returns the status of the last command executed. Execute commands from a file in the current shell.
    
    Read and execute commands from FILENAME in the current shell.  The
    entries in $PATH are used to find the directory containing FILENAME.
    If any ARGUMENTS are supplied, they become the positional parameters
    when FILENAME is executed.
    
    Exit Status:
    Returns the status of the last command executed in FILENAME; fails if
    FILENAME cannot be read. Execute conditional command.
    
    Returns a status of 0 or 1 depending on the evaluation of the conditional
    expression EXPRESSION.  Expressions are composed of the same primaries used
    by the `test' builtin, and may be combined using the following operators:
    
      ( EXPRESSION )	Returns the value of EXPRESSION
      ! EXPRESSION		True if EXPRESSION is false; else false
      EXPR1 && EXPR2	True if both EXPR1 and EXPR2 are true; else false
      EXPR1 || EXPR2	True if either EXPR1 or EXPR2 is true; else false
    
    When the `==' and `!=' operators are used, the string to the right of
    the operator is used as a pattern and pattern matching is performed.
    When the `=~' operator is used, the string to the right of the operator
    is matched as a regular expression.
    
    The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to
    determine the expression's value.
    
    Exit Status:
    0 or 1 depending on value of EXPRESSION. Execute shell builtins.
    
    Execute SHELL-BUILTIN with arguments ARGs without performing command
    lookup.  This is useful when you wish to reimplement a shell builtin
    as a shell function, but need to execute the builtin within the function.
    
    Exit Status:
    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is
    not a shell builtin.. Exit %d Exit a login shell.
    
    Exits a login shell with exit status N.  Returns an error if not executed
    in a login shell. Exit for, while, or until loops.
    
    Exit a FOR, WHILE or UNTIL loop.  If N is specified, break N enclosing
    loops.
    
    Exit Status:
    The exit status is 0 unless N is not greater than or equal to 1. Exit the shell.
    
    Exits the shell with a status of N.  If N is omitted, the exit status
    is that of the last command executed. File limit Floating point exception Formats and prints ARGUMENTS under control of the FORMAT.
    
    Options:
      -v var	assign the output to shell variable VAR rather than
    		display it on the standard output
    
    FORMAT is a character string which contains three types of objects: plain
    characters, which are simply copied to standard output; character escape
    sequences, which are converted and copied to the standard output; and
    format specifications, each of which causes printing of the next successive
    argument.
    
    In addition to the standard format specifications described in printf(1),
    printf interprets:
    
      %b	expand backslash escape sequences in the corresponding argument
      %q	quote the argument in a way that can be reused as shell input
      %(fmt)T	output the date-time string resulting from using FMT as a format
    	        string for strftime(3)
    
    The format is re-used as necessary to consume all of the arguments.  If
    there are fewer arguments than the format requires,  extra format
    specifications behave as if a zero value or null string, as appropriate,
    had been supplied.
    
    Exit Status:
    Returns success unless an invalid option is given or a write or assignment
    error occurs. GNU bash, version %s (%s)
 GNU bash, version %s-(%s)
 GNU long options:
 General help using GNU software: <http://www.gnu.org/gethelp/>
 Group commands as a unit.
    
    Run a set of commands in a group.  This is one way to redirect an
    entire set of commands.
    
    Exit Status:
    Returns the status of the last command executed. HFT input data pending HFT monitor mode granted HFT monitor mode retracted HFT sound sequence has completed HOME not set Hangup I have no name! I/O ready Illegal instruction Information request Interrupt Killed License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 Mark shell variables as unchangeable.
    
    Mark each NAME as read-only; the values of these NAMEs may not be
    changed by subsequent assignment.  If VALUE is supplied, assign VALUE
    before marking as read-only.
    
    Options:
      -a	refer to indexed array variables
      -A	refer to associative array variables
      -f	refer to shell functions
      -p	display a list of all readonly variables or functions,
    		depending on whether or not the -f option is given
    
    An argument of `--' disables further option processing.
    
    Exit Status:
    Returns success unless an invalid option is given or NAME is invalid. Modify or display completion options.
    
    Modify the completion options for each NAME, or, if no NAMEs are supplied,
    the completion currently being executed.  If no OPTIONs are given, print
    the completion options for each NAME or the current completion specification.
    
    Options:
    	-o option	Set completion option OPTION for each NAME
    	-D		Change options for the "default" command completion
    	-E		Change options for the "empty" command completion
    
    Using `+o' instead of `-o' turns off the specified option.
    
    Arguments:
    
    Each NAME refers to a command for which a completion specification must
    have previously been defined using the `complete' builtin.  If no NAMEs
    are supplied, compopt must be called by a function currently generating
    completions, and the options for that currently-executing completion
    generator are modified.
    
    Exit Status:
    Returns success unless an invalid option is supplied or NAME does not
    have a completion specification defined. Modify shell resource limits.
    
    Provides control over the resources available to the shell and processes
    it creates, on systems that allow such control.
    
    Options:
      -S	use the `soft' resource limit
      -H	use the `hard' resource limit
      -a	all current limits are reported
      -b	the socket buffer size
      -c	the maximum size of core files created
      -d	the maximum size of a process's data segment
      -e	the maximum scheduling priority (`nice')
      -f	the maximum size of files written by the shell and its children
      -i	the maximum number of pending signals
      -k	the maximum number of kqueues allocated for this process
      -l	the maximum size a process may lock into memory
      -m	the maximum resident set size
      -n	the maximum number of open file descriptors
      -p	the pipe buffer size
      -q	the maximum number of bytes in POSIX message queues
      -r	the maximum real-time scheduling priority
      -s	the maximum stack size
      -t	the maximum amount of cpu time in seconds
      -u	the maximum number of user processes
      -v	the size of virtual memory
      -x	the maximum number of file locks
      -P	the maximum number of pseudoterminals
      -T	the maximum number of threads
    
    Not all options are available on all platforms.
    
    If LIMIT is given, it is the new value of the specified resource; the
    special LIMIT values `soft', `hard', and `unlimited' stand for the
    current soft limit, the current hard limit, and no limit, respectively.
    Otherwise, the current value of the specified resource is printed.  If
    no option is given, then -f is assumed.
    
    Values are in 1024-byte increments, except for -t, which is in seconds,
    -p, which is in increments of 512 bytes, and -u, which is an unscaled
    number of processes.
    
    Exit Status:
    Returns success unless an invalid option is supplied or an error occurs. Move job to the foreground.
    
    Place the job identified by JOB_SPEC in the foreground, making it the
    current job.  If JOB_SPEC is not present, the shell's notion of the
    current job is used.
    
    Exit Status:
    Status of command placed in foreground, or failure if an error occurs. Move jobs to the background.
    
    Place the jobs identified by each JOB_SPEC in the background, as if they
    had been started with `&'.  If JOB_SPEC is not present, the shell's notion
    of the current job is used.
    
    Exit Status:
    Returns success unless job control is not enabled or an error occurs. Null command.
    
    No effect; the command does nothing.
    
    Exit Status:
    Always succeeds. OLDPWD not set Parse option arguments.
    
    Getopts is used by shell procedures to parse positional parameters
    as options.
    
    OPTSTRING contains the option letters to be recognized; if a letter
    is followed by a colon, the option is expected to have an argument,
    which should be separated from it by white space.
    
    Each time it is invoked, getopts will place the next option in the
    shell variable $name, initializing name if it does not exist, and
    the index of the next argument to be processed into the shell
    variable OPTIND.  OPTIND is initialized to 1 each time the shell or
    a shell script is invoked.  When an option requires an argument,
    getopts places that argument into the shell variable OPTARG.
    
    getopts reports errors in one of two ways.  If the first character
    of OPTSTRING is a colon, getopts uses silent error reporting.  In
    this mode, no error messages are printed.  If an invalid option is
    seen, getopts places the option character found into OPTARG.  If a
    required argument is not found, getopts places a ':' into NAME and
    sets OPTARG to the option character found.  If getopts is not in
    silent mode, and an invalid option is seen, getopts places '?' into
    NAME and unsets OPTARG.  If a required argument is not found, a '?'
    is placed in NAME, OPTARG is unset, and a diagnostic message is
    printed.
    
    If the shell variable OPTERR has the value 0, getopts disables the
    printing of error messages, even if the first character of
    OPTSTRING is not a colon.  OPTERR has the value 1 by default.
    
    Getopts normally parses the positional parameters ($0 - $9), but if
    more arguments are given, they are parsed instead.
    
    Exit Status:
    Returns success if an option is found; fails if the end of options is
    encountered or an error occurs. Print the name of the current working directory.
    
    Options:
      -L	print the value of $PWD if it names the current working
    		directory
      -P	print the physical directory, without any symbolic links
    
    By default, `pwd' behaves as if `-L' were specified.
    
    Exit Status:
    Returns 0 unless an invalid option is given or the current directory
    cannot be read. Quit Read a line from the standard input and split it into fields.
    
    Reads a single line from the standard input, or from file descriptor FD
    if the -u option is supplied.  The line is split into fields as with word
    splitting, and the first word is assigned to the first NAME, the second
    word to the second NAME, and so on, with any leftover words assigned to
    the last NAME.  Only the characters found in $IFS are recognized as word
    delimiters.
    
    If no NAMEs are supplied, the line read is stored in the REPLY variable.
    
    Options:
      -a array	assign the words read to sequential indices of the array
    		variable ARRAY, starting at zero
      -d delim	continue until the first character of DELIM is read, rather
    		than newline
      -e	use Readline to obtain the line in an interactive shell
      -i text	use TEXT as the initial text for Readline
      -n nchars	return after reading NCHARS characters rather than waiting
    		for a newline, but honor a delimiter if fewer than
    		NCHARS characters are read before the delimiter
      -N nchars	return only after reading exactly NCHARS characters, unless
    		EOF is encountered or read times out, ignoring any
    		delimiter
      -p prompt	output the string PROMPT without a trailing newline before
    		attempting to read
      -r	do not allow backslashes to escape any characters
      -s	do not echo input coming from a terminal
      -t timeout	time out and return failure if a complete line of
    		input is not read within TIMEOUT seconds.  The value of the
    		TMOUT variable is the default timeout.  TIMEOUT may be a
    		fractional number.  If TIMEOUT is 0, read returns
    		immediately, without trying to read any data, returning
    		success only if input is available on the specified
    		file descriptor.  The exit status is greater than 128
    		if the timeout is exceeded
      -u fd	read from file descriptor FD instead of the standard input
    
    Exit Status:
    The return code is zero, unless end-of-file is encountered, read times out
    (in which case it's greater than 128), a variable assignment error occurs,
    or an invalid file descriptor is supplied as the argument to -u. Read lines from a file into an array variable.
    
    A synonym for `mapfile'. Read lines from the standard input into an indexed array variable.
    
    Read lines from the standard input into the indexed array variable ARRAY, or
    from file descriptor FD if the -u option is supplied.  The variable MAPFILE
    is the default ARRAY.
    
    Options:
      -d delim	Use DELIM to terminate lines, instead of newline
      -n count	Copy at most COUNT lines.  If COUNT is 0, all lines are copied
      -O origin	Begin assigning to ARRAY at index ORIGIN.  The default index is 0
      -s count	Discard the first COUNT lines read
      -t	Remove a trailing DELIM from each line read (default newline)
      -u fd	Read lines from file descriptor FD instead of the standard input
      -C callback	Evaluate CALLBACK each time QUANTUM lines are read
      -c quantum	Specify the number of lines read between each call to
    			CALLBACK
    
    Arguments:
      ARRAY	Array variable name to use for file data
    
    If -C is supplied without -c, the default quantum is 5000.  When
    CALLBACK is evaluated, it is supplied the index of the next array
    element to be assigned and the line to be assigned to that element
    as additional arguments.
    
    If not supplied with an explicit origin, mapfile will clear ARRAY before
    assigning to it.
    
    Exit Status:
    Returns success unless an invalid option is given or ARRAY is readonly or
    not an indexed array. Record lock Remember or display program locations.
    
    Determine and remember the full pathname of each command NAME.  If
    no arguments are given, information about remembered commands is displayed.
    
    Options:
      -d	forget the remembered location of each NAME
      -l	display in a format that may be reused as input
      -p pathname	use PATHNAME as the full pathname of NAME
      -r	forget all remembered locations
      -t	print the remembered location of each NAME, preceding
    		each location with the corresponding NAME if multiple
    		NAMEs are given
    Arguments:
      NAME	Each NAME is searched for in $PATH and added to the list
    		of remembered commands.
    
    Exit Status:
    Returns success unless NAME is not found or an invalid option is given. Remove directories from stack.
    
    Removes entries from the directory stack.  With no arguments, removes
    the top directory from the stack, and changes to the new top directory.
    
    Options:
      -n	Suppresses the normal change of directory when removing
    		directories from the stack, so only the stack is manipulated.
    
    Arguments:
      +N	Removes the Nth entry counting from the left of the list
    		shown by `dirs', starting with zero.  For example: `popd +0'
    		removes the first directory, `popd +1' the second.
    
      -N	Removes the Nth entry counting from the right of the list
    		shown by `dirs', starting with zero.  For example: `popd -0'
    		removes the last directory, `popd -1' the next to last.
    
    The `dirs' builtin displays the directory stack.
    
    Exit Status:
    Returns success unless an invalid argument is supplied or the directory
    change fails. Remove each NAME from the list of defined aliases.
    
    Options:
      -a	remove all alias definitions
    
    Return success unless a NAME is not an existing alias. Remove jobs from current shell.
    
    Removes each JOBSPEC argument from the table of active jobs.  Without
    any JOBSPECs, the shell uses its notion of the current job.
    
    Options:
      -a	remove all jobs if JOBSPEC is not supplied
      -h	mark each JOBSPEC so that SIGHUP is not sent to the job if the
    		shell receives a SIGHUP
      -r	remove only running jobs
    
    Exit Status:
    Returns success unless an invalid option or JOBSPEC is given. Removes entries from the directory stack.  With no arguments, removes
    the top directory from the stack, and changes to the new top directory.
    
    Options:
      -n	Suppresses the normal change of directory when removing
    	directories from the stack, so only the stack is manipulated.
    
    Arguments:
      +N	Removes the Nth entry counting from the left of the list
    	shown by `dirs', starting with zero.  For example: `popd +0'
    	removes the first directory, `popd +1' the second.
    
      -N	Removes the Nth entry counting from the right of the list
    	shown by `dirs', starting with zero.  For example: `popd -0'
    	removes the last directory, `popd -1' the next to last.
    
    The `dirs' builtin displays the directory stack. Replace the shell with the given command.
    
    Execute COMMAND, replacing this shell with the specified program.
    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,
    any redirections take effect in the current shell.
    
    Options:
      -a name	pass NAME as the zeroth argument to COMMAND
      -c	execute COMMAND with an empty environment
      -l	place a dash in the zeroth argument to COMMAND
    
    If the command cannot be executed, a non-interactive shell exits, unless
    the shell option `execfail' is set.
    
    Exit Status:
    Returns success unless COMMAND is not found or a redirection error occurs. Report time consumed by pipeline's execution.
    
    Execute PIPELINE and print a summary of the real time, user CPU time,
    and system CPU time spent executing PIPELINE when it terminates.
    
    Options:
      -p	print the timing summary in the portable Posix format
    
    The value of the TIMEFORMAT variable is used as the output format.
    
    Exit Status:
    The return status is the return status of PIPELINE. Resume for, while, or until loops.
    
    Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.
    If N is specified, resumes the Nth enclosing loop.
    
    Exit Status:
    The exit status is 0 unless N is not greater than or equal to 1. Resume job in foreground.
    
    Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a
    stopped or background job.  JOB_SPEC can specify either a job name
    or a job number.  Following JOB_SPEC with a `&' places the job in
    the background, as if the job specification had been supplied as an
    argument to `bg'.
    
    Exit Status:
    Returns the status of the resumed job. Return a successful result.
    
    Exit Status:
    Always succeeds. Return an unsuccessful result.
    
    Exit Status:
    Always fails. Return from a shell function.
    
    Causes a function or sourced script to exit with the return value
    specified by N.  If N is omitted, the return status is that of the
    last command executed within the function or script.
    
    Exit Status:
    Returns N, or failure if the shell is not executing a function or script. Return the context of the current subroutine call.
    
    Without EXPR, returns "$line $filename".  With EXPR, returns
    "$line $subroutine $filename"; this extra information can be used to
    provide a stack trace.
    
    The value of EXPR indicates how many call frames to go back before the
    current one; the top frame is frame 0.
    
    Exit Status:
    Returns 0 unless the shell is not executing a shell function or EXPR
    is invalid. Returns the context of the current subroutine call.
    
    Without EXPR, returns  Running Segmentation fault Select words from a list and execute commands.
    
    The WORDS are expanded, generating a list of words.  The
    set of expanded words is printed on the standard error, each
    preceded by a number.  If `in WORDS' is not present, `in "$@"'
    is assumed.  The PS3 prompt is then displayed and a line read
    from the standard input.  If the line consists of the number
    corresponding to one of the displayed words, then NAME is set
    to that word.  If the line is empty, WORDS and the prompt are
    redisplayed.  If EOF is read, the command completes.  Any other
    value read causes NAME to be set to null.  The line read is saved
    in the variable REPLY.  COMMANDS are executed after each selection
    until a break command is executed.
    
    Exit Status:
    Returns the status of the last command executed. Set Readline key bindings and variables.
    
    Bind a key sequence to a Readline function or a macro, or set a
    Readline variable.  The non-option argument syntax is equivalent to
    that found in ~/.inputrc, but must be passed as a single argument:
    e.g., bind '"\C-x\C-r": re-read-init-file'.
    
    Options:
      -m  keymap         Use KEYMAP as the keymap for the duration of this
                         command.  Acceptable keymap names are emacs,
                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
                         vi-command, and vi-insert.
      -l                 List names of functions.
      -P                 List function names and bindings.
      -p                 List functions and bindings in a form that can be
                         reused as input.
      -S                 List key sequences that invoke macros and their values
      -s                 List key sequences that invoke macros and their values
                         in a form that can be reused as input.
      -V                 List variable names and values
      -v                 List variable names and values in a form that can
                         be reused as input.
      -q  function-name  Query about which keys invoke the named function.
      -u  function-name  Unbind all keys which are bound to the named function.
      -r  keyseq         Remove the binding for KEYSEQ.
      -f  filename       Read key bindings from FILENAME.
      -x  keyseq:shell-command	Cause SHELL-COMMAND to be executed when
    				KEYSEQ is entered.
      -X                 List key sequences bound with -x and associated commands
                         in a form that can be reused as input.
    
    Exit Status:
    bind returns 0 unless an unrecognized option is given or an error occurs. Set and unset shell options.
    
    Change the setting of each shell option OPTNAME.  Without any option
    arguments, list all shell options with an indication of whether or not each
    is set.
    
    Options:
      -o	restrict OPTNAMEs to those defined for use with `set -o'
      -p	print each shell option with an indication of its status
      -q	suppress output
      -s	enable (set) each OPTNAME
      -u	disable (unset) each OPTNAME
    
    Exit Status:
    Returns success if OPTNAME is enabled; fails if an invalid option is
    given or OPTNAME is disabled. Set export attribute for shell variables.
    
    Marks each NAME for automatic export to the environment of subsequently
    executed commands.  If VALUE is supplied, assign VALUE before exporting.
    
    Options:
      -f	refer to shell functions
      -n	remove the export property from each NAME
      -p	display a list of all exported variables and functions
    
    An argument of `--' disables further option processing.
    
    Exit Status:
    Returns success unless an invalid option is given or NAME is invalid. Set variable values and attributes.
    
    Declare variables and give them attributes.  If no NAMEs are given,
    display the attributes and values of all variables.
    
    Options:
      -f	restrict action or display to function names and definitions
      -F	restrict display to function names only (plus line number and
    		source file when debugging)
      -g	create global variables when used in a shell function; otherwise
    		ignored
      -p	display the attributes and value of each NAME
    
    Options which set attributes:
      -a	to make NAMEs indexed arrays (if supported)
      -A	to make NAMEs associative arrays (if supported)
      -i	to make NAMEs have the `integer' attribute
      -l	to convert NAMEs to lower case on assignment
      -n	make NAME a reference to the variable named by its value
      -r	to make NAMEs readonly
      -t	to make NAMEs have the `trace' attribute
      -u	to convert NAMEs to upper case on assignment
      -x	to make NAMEs export
    
    Using `+' instead of `-' turns off the given attribute.
    
    Variables with the integer attribute have arithmetic evaluation (see
    the `let' command) performed when the variable is assigned a value.
    
    When used in a function, `declare' makes NAMEs local, as with the `local'
    command.  The `-g' option suppresses this behavior.
    
    Exit Status:
    Returns success unless an invalid option is supplied or a variable
    assignment error occurs. Shell commands matching keyword ` Shell commands matching keywords ` Shell options:
 Shift positional parameters.
    
    Rename the positional parameters $N+1,$N+2 ... to $1,$2 ...  If N is
    not given, it is assumed to be 1.
    
    Exit Status:
    Returns success unless N is negative or greater than $#. Signal %d Specify how arguments are to be completed by Readline.
    
    For each NAME, specify how arguments are to be completed.  If no options
    are supplied, existing completion specifications are printed in a way that
    allows them to be reused as input.
    
    Options:
      -p	print existing completion specifications in a reusable format
      -r	remove a completion specification for each NAME, or, if no
    		NAMEs are supplied, all completion specifications
      -D	apply the completions and actions as the default for commands
    		without any specific completion defined
      -E	apply the completions and actions to "empty" commands --
    		completion attempted on a blank line
    
    When completion is attempted, the actions are applied in the order the
    uppercase-letter options are listed above.  The -D option takes
    precedence over -E.
    
    Exit Status:
    Returns success unless an invalid option is supplied or an error occurs. Stopped Stopped (signal) Stopped (tty input) Stopped (tty output) Stopped(%s) Suspend shell execution.
    
    Suspend the execution of this shell until it receives a SIGCONT signal.
    Unless forced, login shells cannot be suspended.
    
    Options:
      -f	force the suspend, even if the shell is a login shell
    
    Exit Status:
    Returns success unless job control is not enabled or an error occurs. TIMEFORMAT: `%c': invalid format character Terminated The mail in %s has been read
 There are running jobs.
 There are stopped jobs.
 There is NO WARRANTY, to the extent permitted by law. These shell commands are defined internally.  Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.

A star (*) next to a name means that the command is disabled.

 This is free software; you are free to change and redistribute it. Trap signals and other events.
    
    Defines and activates handlers to be run when the shell receives signals
    or other conditions.
    
    ARG is a command to be read and executed when the shell receives the
    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC
    is supplied) or `-', each specified signal is reset to its original
    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the
    shell and by the commands it invokes.
    
    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If
    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If
    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a
    script run by the . or source builtins finishes executing.  A SIGNAL_SPEC
    of ERR means to execute ARG each time a command's failure would cause the
    shell to exit when the -e option is enabled.
    
    If no arguments are supplied, trap prints the list of commands associated
    with each signal.
    
    Options:
      -l	print a list of signal names and their corresponding numbers
      -p	display the trap commands associated with each SIGNAL_SPEC
    
    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.
    Signal names are case insensitive and the SIG prefix is optional.  A
    signal may be sent to the shell with "kill -signal $$".
    
    Exit Status:
    Returns success unless a SIGSPEC is invalid or an invalid option is given. Type `%s -c "help set"' for more information about shell options.
 Type `%s -c help' for more information about shell builtin commands.
 Unknown Signal # Unknown Signal #%d Unknown error Unknown status Unset values and attributes of shell variables and functions.
    
    For each NAME, remove the corresponding variable or function.
    
    Options:
      -f	treat each NAME as a shell function
      -v	treat each NAME as a shell variable
      -n	treat each NAME as a name reference and unset the variable itself
    		rather than the variable it references
    
    Without options, unset first tries to unset a variable, and if that fails,
    tries to unset a function.
    
    Some variables cannot be unset; also see `readonly'.
    
    Exit Status:
    Returns success unless an invalid option is given or a NAME is read-only. Urgent IO condition Usage:	%s [GNU long option] [option] ...
	%s [GNU long option] [option] script-file ...
 Use "%s" to leave the shell.
 Use the `bashbug' command to report bugs.
 User signal 1 User signal 2 Wait for job completion and return exit status.
    
    Waits for each process identified by an ID, which may be a process ID or a
    job specification, and reports its termination status.  If ID is not
    given, waits for all currently active child processes, and the return
    status is zero.  If ID is a a job specification, waits for all processes
    in that job's pipeline.
    
    If the -n option is supplied, waits for the next job to terminate and
    returns its exit status.
    
    Exit Status:
    Returns the status of the last ID; fails if ID is invalid or an invalid
    option is given. Wait for process completion and return exit status.
    
    Waits for each process specified by a PID and reports its termination status.
    If PID is not given, waits for all currently active child processes,
    and the return status is zero.  PID must be a process ID.
    
    Exit Status:
    Returns the status of the last PID; fails if PID is invalid or an invalid
    option is given. Window changed Write arguments to the standard output.
    
    Display the ARGs on the standard output followed by a newline.
    
    Options:
      -n	do not append a newline
    
    Exit Status:
    Returns success unless a write error occurs. Write arguments to the standard output.
    
    Display the ARGs, separated by a single space character and followed by a
    newline, on the standard output.
    
    Options:
      -n	do not append a newline
      -e	enable interpretation of the following backslash escapes
      -E	explicitly suppress interpretation of backslash escapes
    
    `echo' interprets the following backslash-escaped characters:
      \a	alert (bell)
      \b	backspace
      \c	suppress further output
      \e	escape character
      \E	escape character
      \f	form feed
      \n	new line
      \r	carriage return
      \t	horizontal tab
      \v	vertical tab
      \\	backslash
      \0nnn	the character whose ASCII code is NNN (octal).  NNN can be
    		0 to 3 octal digits
      \xHH	the eight-bit character whose value is HH (hexadecimal).  HH
    		can be one or two hex digits
    
    Exit Status:
    Returns success unless a write error occurs. You have mail in $_ You have new mail in $_ [ arg... ] [[ expression ]] `%c': bad command `%c': invalid format character `%c': invalid symbolic mode character `%c': invalid symbolic mode operator `%c': invalid time format specification `%s': cannot unbind `%s': invalid alias name `%s': invalid keymap name `%s': is a special builtin `%s': missing format character `%s': not a pid or valid job spec `%s': not a valid identifier `%s': unknown function name `)' expected `)' expected, found %s `:' expected for conditional expression add_process: pid %5ld (%s) marked as still alive add_process: process %5ld (%s) in the_pipeline alias [-p] [name[=value] ... ] all_local_variables: no function context at current scope argument argument expected array variable support required attempted assignment to non-variable bad array subscript bad command type bad connector bad jump bad substitution: no closing "`" in %s bad substitution: no closing `%s' in %s bash home page: <http://www.gnu.org/software/bash>
 bash_execute_unix_command: cannot find keymap for command bg [job_spec ...] bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command] brace expansion: cannot allocate memory for %s brace expansion: failed to allocate memory for %d elements brace expansion: failed to allocate memory for `%s' break [n] bug: bad expassign token builtin [shell-builtin [arg ...]] caller [expr] can only `return' from a function or sourced script can only be used in a function cannot allocate new file descriptor for bash input from fd %d cannot create temp file for here-document: %s cannot duplicate fd %d to fd %d cannot duplicate named pipe %s as fd %d cannot find %s in shared object %s: %s cannot make child for command substitution cannot make child for process substitution cannot make pipe for command substitution cannot make pipe for process substitution cannot open named pipe %s for reading cannot open named pipe %s for writing cannot open shared object %s: %s cannot redirect standard input from /dev/null: %s cannot reset nodelay mode for fd %d cannot set and unset shell options simultaneously cannot set gid to %d: effective gid %d cannot set terminal process group (%d) cannot set uid to %d: effective uid %d cannot simultaneously unset a function and a variable cannot suspend cannot suspend a login shell cannot use `-f' to make functions cannot use more than one of -anrw case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac cd [-L|[-P [-e]] [-@]] [dir] child setpgid (%ld to %ld) command [-pVv] command [arg ...] command_substitute: cannot duplicate pipe as fd 1 compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word] complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...] completion: function `%s' not found compopt [-o|+o option] [-DE] [name ...] conditional binary operator expected continue [n] coproc [NAME] command [redirections] could not find /tmp, please create! cprintf: `%c': invalid format character current declare [-aAfFgilnrtux] [-p] [name[=value] ...] deleting stopped job %d with process group %ld describe_pid: %ld: no such pid directory stack empty directory stack index dirs [-clpv] [+N] [-N] division by 0 dynamic loading not available echo [-n] [arg ...] echo [-neE] [arg ...] empty array variable name enable [-a] [-dnps] [-f filename] [name ...] error getting terminal attributes: %s error importing function definition for `%s' error setting terminal attributes: %s eval [arg ...] eval: maximum eval nesting level exceeded (%d) exec [-cl] [-a name] [command [arguments ...]] [redirection ...] exit [n] expected `)' exponent less than 0 export [-fn] [name[=value] ...] or export -p expression expected expression recursion level exceeded fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command] fg [job_spec] file descriptor out of range filename argument required for (( exp1; exp2; exp3 )); do COMMANDS; done for NAME [in WORDS ... ] ; do COMMANDS; done forked pid %d appears in running job %d format parsing problem: %s free: called with already freed block argument free: called with unallocated block argument free: start and end chunk sizes differ free: underflow detected; mh_nbytes out of range function name { COMMANDS ; } or name () { COMMANDS ; } future versions of the shell will force evaluation as an arithmetic substitution getcwd: cannot access parent directories getopts optstring name [arg] hash [-lr] [-p pathname] [-dt] [name ...] hashing disabled help [-dms] [pattern ...] help not available in this version here-document at line %d delimited by end-of-file (wanted `%s') history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...] history position history specification hits	command
 identifier expected after pre-increment or pre-decrement if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi initialize_job_control: getpgrp failed initialize_job_control: line discipline initialize_job_control: setpgid invalid arithmetic base invalid base invalid character %d in exportstr for %s invalid hex number invalid number invalid octal number invalid signal number job %d started without job control job_spec [&] jobs [-lnprs] [jobspec ...] or jobs -x command [args] kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] last command: %s
 let arg [arg ...] limit line %d:  line editing not enabled load function for %s returns failure (%d): not loaded local [option] name[=value] ... logout
 logout [n] loop count make_here_document: bad instruction type %d make_local_variable: no function context at current scope make_redirection: redirection instruction `%d' out of range malloc: block on free list clobbered malloc: failed assertion: %s
 mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array] maximum here-document count exceeded migrate process to another CPU missing `)' missing `]' missing hex digit for \x missing unicode digit for \%c network operations not supported no `=' in exportstr for %s no closing `%c' in %s no command found no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'. no job control no job control in this shell no match: %s no other directory no other options allowed with `-x' not currently executing completion function not login shell: use `exit' octal number only meaningful in a `for', `while', or `until' loop pipe error pop_scope: head of shell_variables not a temporary environment scope pop_var_context: head of shell_variables not a function context pop_var_context: no global_variables context popd [-n] [+N | -N] power failure imminent print_command: bad connector `%d' printf [-v var] format [arguments] progcomp_insert: %s: NULL COMPSPEC programming error pushd [-n] [+N | -N | dir] pwd [-LP] read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...] read error: %d: %s readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array] readonly [-aAf] [name[=value] ...] or readonly -p realloc: called with unallocated block argument realloc: start and end chunk sizes differ realloc: underflow detected; mh_nbytes out of range recursion stack underflow redirection error: cannot duplicate fd register_alloc: %p already in table as allocated?
 register_alloc: alloc table is full with FIND_ALLOC?
 register_free: %p already in table as free?
 restricted return [n] run_pending_traps: bad value in trap_list[%d]: %p run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself save_bash_input: buffer already exists for new fd %d select NAME [in WORDS ... ;] do COMMANDS; done set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...] setlocale: %s: cannot change locale (%s) setlocale: %s: cannot change locale (%s): %s setlocale: LC_ALL: cannot change locale (%s) setlocale: LC_ALL: cannot change locale (%s): %s shell level (%d) too high, resetting to 1 shift [n] shift count shopt [-pqsu] [-o] [optname ...] sigprocmask: %d: invalid operation source filename [arguments] start_pipeline: pgrp pipe suspend [-f] syntax error syntax error in conditional expression syntax error in conditional expression: unexpected token `%s' syntax error in expression syntax error near `%s' syntax error near unexpected token `%s' syntax error: `((%s))' syntax error: `;' unexpected syntax error: arithmetic expression required syntax error: invalid arithmetic operator syntax error: operand expected syntax error: unexpected end of file system crash imminent test [expr] time [-p] pipeline too many arguments trap [-lp] [[arg] signal_spec ...] trap_handler: bad signal %d type [-afptP] name [name ...] typeset [-aAfFgilnrtux] [-p] name[=value] ... ulimit [-SHabcdefiklmnpqrstuvxPT] [limit] umask [-p] [-S] [mode] unalias [-a] name [name ...] unexpected EOF while looking for `]]' unexpected EOF while looking for matching `%c' unexpected EOF while looking for matching `)' unexpected argument `%s' to conditional binary operator unexpected argument `%s' to conditional unary operator unexpected argument to conditional binary operator unexpected argument to conditional unary operator unexpected token %d in conditional command unexpected token `%c' in conditional command unexpected token `%s' in conditional command unexpected token `%s', conditional binary operator expected unexpected token `%s', expected `)' unknown unknown command error unset [-f] [-v] [-n] [name ...] until COMMANDS; do COMMANDS; done value too great for base variables - Names and meanings of some shell variables wait [-n] [id ...] wait [pid ...] wait: pid %ld is not a child of this shell wait_for: No record of process %ld wait_for_job: job %d is stopped waitchld: turning on WNOHANG to avoid indefinite block warning:  warning: %s: %s warning: -C option may not work as you expect warning: -F option may not work as you expect while COMMANDS; do COMMANDS; done write error: %s xtrace fd (%d) != fileno xtrace fp (%d) xtrace_set: %d: invalid file descriptor xtrace_set: NULL file pointer { COMMANDS ; } Project-Id-Version: bash 4.4-beta1
Report-Msgid-Bugs-To: 
POT-Creation-Date: 2016-09-10 12:42-0400
PO-Revision-Date: 2015-10-26 00:32-0400
Last-Translator: Mingye Wang (Arthur2e5) <arthur200126@gmail.com>
Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Language: zh_CN
Plural-Forms: nplurals=1; plural=0;
X-Generator: Poedit 1.8.5
  ç­‰å¾…è¾“å…¥è¶…æ—¶ï¼šè‡ªåŠ¨æ³¨é”€
 	-%s æˆ– -o <é€‰é¡¹>
 	-irsD æˆ– -c <å‘½ä»¤> æˆ– -O <shopt é€‰é¡¹>		(ä»…é€‚åˆè°ƒç”¨)
 
malloc: %s:%d: æ–­è¨€å·²ä¿®è¡¥
   (å·¥ä½œç›®å½•: %s)  (æ ¸å¿ƒå·²è½¬å‚¨) è¡Œ $%s: æ— æ³•è¿™æ ·èµ‹å€¼ %c%c: æ— æ•ˆçš„é€‰é¡¹ %d: æ— æ•ˆçš„æ–‡ä»¶æè¿°ç¬¦: %s %s å¯ä»¥è¢«è°ƒç”¨ï¼Œé€šè¿‡ %s æœ‰ç©ºçš„ exportstr %s æ˜¯ %s
 %s æ˜¯å‡½æ•°
 %s æ˜¯ shell å†…å»º
 %s æ˜¯ shell å…³é”®å­—
 %s æ˜¯ç‰¹æ®Š shell å†…å»º
 %s æ˜¯ `%s' çš„åˆ«å
 %s å·²è¢«å½•å…¥å“ˆå¸Œè¡¨ (%s)
 %s æœªä¸Žä»»ä½•é”®ç»‘å®šã€‚
 %s è¶Šç•Œ %s%s%s: %s (é”™è¯¯ç¬¦å·æ˜¯ "%s") %s: %s %s: %s è¶Šç•Œ %s: %s: è§£é‡Šå™¨é”™è¯¯ %s: %s: æ— æ³•ä½œä¸ºæ–‡ä»¶æ‰“å¼€ %s: %s: å…¼å®¹ç‰ˆæœ¬æ•°å€¼è¶Šç•Œ %s: %s: è¿½è¸ªæ–‡ä»¶æè¿°ç¬¦çš„å€¼æ— æ•ˆ %s: %s: ä¸ºå…³è”æ•°ç»„èµ‹å€¼æ—¶å¿…é¡»ä½¿ç”¨ä¸‹æ ‡ %s: %s:%d: æ— æ³•åˆ†é… %lu å­—èŠ‚ %s: %s:%d: æ— æ³•åˆ†é… %lu å­—èŠ‚ (å·²åˆ†é… %lu å­—èŠ‚) %s: æ˜¯ä¸€ä¸ªç›®å½• %s: æ¨¡ç³Šçš„ä»»åŠ¡å£°æ˜Ž %s: æ¨¡ç³Šçš„é‡å®šå‘ %s: å‚æ•°å¿…é¡»æ˜¯è¿›ç¨‹æˆ–ä»»åŠ¡ ID %s: é”™è¯¯çš„ç½‘ç»œè·¯å¾„å£°æ˜Ž %s: é”™è¯¯çš„æ›¿æ¢ %s: éœ€è¦äºŒå…ƒè¡¨è¾¾å¼ %s: æ— æ³•åˆ†é… %lu å­—èŠ‚ %s: æ— æ³•åˆ†é… %lu å­—èŠ‚ (å·²åˆ†é… %lu å­—èŠ‚) %s: æ— æ³•å°†æ–‡ä»¶æè¿°ç¬¦èµ‹å€¼ç»™å˜é‡ %s: æ— æ³•å°†é“¾è¡¨èµ‹å€¼ç»™æ•°ç»„æˆå‘˜ %s: æ— æ³•ä¸ºéžæ•°å­—çš„ç´¢å¼•èµ‹å€¼ %s: æ— æ³•å°†å…³è”æ•°ç»„è½¬åŒ–ä¸ºç´¢å¼•æ•°ç»„ %s: æ— æ³•å°†ç´¢å¼•æ•°ç»„è½¬åŒ–ä¸ºå…³è”æ•°ç»„ %s: æ— æ³•åˆ›å»º: %s %s: æ— æ³•åˆ é™¤: %s %s: æ— æ³•ä»¥è¿™ç§æ–¹å¼é”€æ¯æ•°ç»„å˜é‡ %s: æ— æ³•æ‰§è¡ŒäºŒè¿›åˆ¶æ–‡ä»¶ %s: æ— æ³•æ‰§è¡ŒäºŒè¿›åˆ¶æ–‡ä»¶: %s %s: æ— æ³•æ‰§è¡Œ: %s %s: æ— æ³•å¯¼å‡º %s: æ— æ³•èŽ·å– limit å€¼: %s %s: æ— æ³•ä¿®æ”¹ limit å€¼: %s %s: æ— æ³•æ‰“å¼€ä¸´æ—¶æ–‡ä»¶: %s %s: æ— æ³•æ‰“å¼€: %s %s: æ— æ³•è¦†ç›–å·²å­˜åœ¨çš„æ–‡ä»¶ %s: æ— æ³•è¯»å–: %s %s: æ— æ³•å–æ¶ˆè®¾å®š %s: æ— æ³•å–æ¶ˆè®¾å®š: åªè¯» %s %s: å¾ªçŽ¯å˜é‡åå¼•ç”¨ %s: æœªæ‰¾åˆ°å‘½ä»¤ %s: èŽ·å–å½“å‰ç›®å½•æ—¶å‡ºé”™: %s: %s
 %s: è¡¨è¾¾å¼é”™è¯¯
 %s: æ–‡ä»¶å¤ªå¤§ %s: æ–‡ä»¶æœªæ‰¾åˆ° %s: ç¬¬ä¸€ä¸ªéžç©ºå­—ç¬¦ä¸æ˜¯ `"' %s: å“ˆå¸Œè¡¨ä¸ºç©º
 %s: åŽ†å²æ‰©å±•å¤±è´¥ %s: æœªçŸ¥ä¸»æœº %s: éžæ³•é€‰é¡¹ -- %c
 %s: inlib å¤±è´¥ %s: éœ€è¦æ•´æ•°è¡¨è¾¾å¼ %s: æ— æ•ˆçš„åŠ¨ä½œå %s: æ— æ•ˆå‚æ•° %s: æ— æ•ˆçš„æ•°ç»„åŸºæ•° %s: æ— æ•ˆçš„å…³è”æ•°ç»„é”® %s: æ— æ•ˆçš„å›žè°ƒé‡å­ %s: æ— æ•ˆçš„æ–‡ä»¶æè¿°ç¬¦å£°æ˜Ž %s: æ— æ•ˆçš„é—´æŽ¥å±•å¼€ %s: æ— æ•ˆçš„ limit å‚æ•° %s: æ— æ•ˆçš„è¡Œæ•° %s: æ— æ•ˆé€‰é¡¹ %s: æ— æ•ˆçš„é€‰é¡¹å %s: æ— æ•ˆçš„æœåŠ¡ %s: æ— æ•ˆçš„ shell é€‰é¡¹å %s: æ— æ•ˆçš„ä¿¡å·å£°æ˜Ž %s: æ— æ•ˆçš„è¶…æ—¶å£°æ˜Ž %s: æ— æ•ˆçš„å˜é‡å %s: æ— æ•ˆçš„å¼•ç”¨å˜é‡å %s: æ˜¯ä¸€ä¸ªç›®å½• %s: ä»»åŠ¡ %d å·²åœ¨åŽå° %s: ä»»åŠ¡å·²ç»ç»ˆæ­¢ %s: è¡Œ %d:  %s: è¶…å‡ºæœ€å¤§å‡½æ•°åµŒå¥—å±‚æ•° (%d) %s: è¶…å‡ºæœ€å¤§ source åµŒå¥—å±‚æ•° (%d) %s: ç¼ºå°‘å†’å·åˆ†éš”ç¬¦ %s: ä¸å…è®¸åç§°å¼•ç”¨å˜é‡å¼•ç”¨è‡ªèº« %s: æ²¡æœ‰è¡¥å…¨å£°æ˜Ž %s: æ— ä»»åŠ¡æŽ§åˆ¶ %s: æ— æ­¤ä»»åŠ¡ %s: ä¸æ˜¯å‡½æ•° %s: ä¸æ˜¯å¸¸è§„æ–‡ä»¶ %s: ä¸æ˜¯ shell å†…å»º %s: ä¸æ˜¯æ•°ç»„å˜é‡ %s: ä¸æ˜¯ä¸€ä¸ªç´¢å¼•æ•°ç»„ %s: æœªä»¥åŠ¨æ€æ–¹å¼åŠ è½½ %s: æœªæ‰¾åˆ° %s: éœ€è¦æ•°å­—å‚æ•° %s: é€‰é¡¹éœ€è¦ä¸€ä¸ªå‚æ•° %s: é€‰é¡¹éœ€è¦ä¸€ä¸ªå‚æ•° -- %c
 %s: å‚æ•°ä¸ºç©ºæˆ–æœªè®¾ç½® %s: å¼•å·å†…çš„å¤åˆæ•°ç»„èµ‹å€¼å·²è¢«å¼ƒç”¨ %s: åªè¯»å‡½æ•° %s: åªè¯»å˜é‡ %s: å¼•ç”¨å˜é‡ä¸èƒ½ä¸ºæ•°ç»„ %s: å—é™çš„ %s: å—é™çš„: æ— æ³•é‡å®šå‘è¾“å‡º %s: å—é™çš„: æ— æ³•åœ¨å‘½ä»¤åä¸­ä½¿ç”¨ `/' %s: å­ä¸²è¡¨è¾¾å¼ < 0 %s: éœ€è¦ä¸€å…ƒè¡¨è¾¾å¼ %s: æœªç»‘å®šçš„å˜é‡ %s: ç”¨æ³•: %s: å˜é‡ä¸å¯èµ‹å€¼ (( è¡¨è¾¾å¼ )) (æ ¸å¿ƒå·²è½¬å‚¨) (å½“å‰å·¥ä½œç›®å½•ï¼š%s)
 . æ–‡ä»¶å [å‚æ•°] æ²¡æœ‰ç½‘ç»œæ—¶ä¸æ”¯æŒ /dev/(tcp|udp)/host/port /tmp å¿…é¡»ä¸ºæœ‰æ•ˆçš„ç›®å½•å <æ— å½“å‰ç›®å½•> æ”¾å¼ƒæŒ‡ä»¤ ä¸­æ­¢... å°†ç›®å½•æ·»åŠ åˆ°æ ˆä¸­ã€‚
    
    å°†ç›®å½•æ·»åŠ åˆ°ç›®å½•æ ˆé¡¶ï¼Œæˆ–ç€æ—‹è½¬æ ˆç›´åˆ°å½“å‰å·¥ä½œç›®å½•æˆä¸º
    æ–°çš„æ ˆé¡¶ã€‚ä¸å¸¦å‚æ•°æ—¶ï¼Œäº¤æ¢æ ˆé¡¶çš„ä¸¤ä¸ªç›®å½•ã€‚
    
    é€‰é¡¹ï¼š
      -n	æŠ‘åˆ¶æ·»åŠ ç›®å½•è‡³æ ˆæ—¶é€šå¸¸çš„æ”¹å˜ç›®å½•æ“ä½œï¼Œä»Žè€Œä»…å¯¹æ ˆ
    	è¿›è¡Œæ“ä½œã€‚
    
    å‚æ•°ï¼š
      +N	æ—‹è½¬æ ˆä»Žè€Œç¬¬ N ä¸ªç›®å½• (`dirs' æ˜¾ç¤ºçš„åˆ—è¡¨ä¸­å·¦èµ·ï¼Œä»Žé›¶å¼€å§‹)
    	å°†ç§»åŠ¨åˆ°æ ˆé¡¶ã€‚
    
      -N	æ—‹è½¬æ ˆä»Žè€Œç¬¬ N ä¸ªç›®å½• (`dirs' æ˜¾ç¤ºçš„åˆ—è¡¨ä¸­å³èµ·ï¼Œä»Žé›¶å¼€å§‹)
    	å°†ç§»åŠ¨åˆ°æ ˆé¡¶ã€‚
    
      dir	å°† DIR ç›®å½•æ·»åŠ åˆ°æ ˆé¡¶ï¼Œå¹¶ä¸”ä½¿å…¶æˆä¸ºå½“å‰å·¥ä½œç›®å½•ã€‚
    
    `dirs' å†…å»ºæ˜¾ç¤ºç›®å½•æ ˆã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„å‚æ•°æˆ–è€…ç›®å½•è½¬æ¢å¤±è´¥ã€‚ åœ¨ç›®å½•æ ˆé¡¶éƒ¨åŠ å…¥ä¸€ä¸ªç›®å½•ï¼Œæˆ–è€…è®ºè¯¢
    ç›®å½•æ ˆï¼Œæ˜¯å½“å‰å·¥ä½œç›®å½•æˆä¸ºæ–°çš„æ ˆé¡¶
    ä¸å¸¦å‚æ•°æ—¶ï¼Œäº¤æ¢æ ˆé¡¶çš„ä¸¤ä¸ªç›®å½•ã€‚
    
    é€‰é¡¹ï¼š
      -n	æŠ‘åˆ¶å¢žåŠ æ ˆä¸­ç›®å½•æ—¶é€šå¸¸çš„æ”¹å˜ç›®å½•çš„æ“ä½œï¼Œ
    	ä»Žè€Œåªæœ‰æ ˆè¢«æ“ä½œã€‚
    
    å‚æ•°ï¼š
      +N	è½®è½¬æ ˆä½¿å¾—ç¬¬Nä¸ªç›®å½•(`dirs' çš„
    	è¾“å‡ºåˆ—è¡¨ä¸­å·¦èµ·ï¼Œä»Ž0å¼€å§‹)
    	å‡è‡³æ ˆé¡¶ã€‚
    
      -N	è½®è½¬æ ˆä½¿å¾—ç¬¬Nä¸ªç›®å½•(`dirs' çš„
    	è¾“å‡ºåˆ—è¡¨ä¸­å³èµ·ï¼Œä»Ž0å¼€å§‹)
    	å‡è‡³æ ˆé¡¶
    
      dir	æ·»åŠ ç›®å½•è‡³æ ˆé¡¶ï¼Œå¹¶
    	ä½¿å…¶æˆä¸ºæ–°çš„å½“å‰å·¥ä½œç›®å½•ã€‚
    
    `dirs' å†…å»ºå‘½ä»¤æ˜¾ç¤ºç›®å½•æ ˆ. æŠ¥è­¦(åˆ†æž) æŠ¥è­¦(è™šæ‹Ÿ) é—¹é’Ÿ ç®—æœ¯ for å¾ªçŽ¯ã€‚
    
    ç­‰ä»·äºŽ
    	(( EXP1 ))
    	while (( EXP2 )); do
    		COMMANDS
    		(( EXP3 ))
    	done
    EXP1ã€EXP2 å’Œ EXP3éƒ½æ˜¯ç®—æœ¯è¡¨è¾¾å¼ã€‚å¦‚æžœçœç•¥ä»»ä½•è¡¨è¾¾å¼ï¼Œ
    åˆ™ç­‰åŒäºŽä½¿ç”¨äº†ä¼°å€¼ä¸º1çš„è¡¨è¾¾å¼ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚ æ–­ç‚¹è¿½è¸ª/é™·é˜± é”™è¯¯çš„ç³»ç»Ÿè°ƒç”¨ ä¼ªä¿¡å· ç®¡é“ç ´è£‚ æ€»çº¿é”™è¯¯ CPU é™åˆ¶ æ”¹å˜ shell å·¥ä½œç›®å½•ã€‚
    
    æ”¹å˜å½“å‰ç›®å½•è‡³ DIR ç›®å½•ã€‚é»˜è®¤çš„ DIR ç›®å½•æ˜¯ shell å˜é‡ HOME
    çš„å€¼ã€‚
    
    å˜é‡ CDPATH å®šä¹‰äº†å«æœ‰ DIR çš„ç›®å½•çš„æœç´¢è·¯å¾„ï¼Œå…¶ä¸­ä¸åŒçš„ç›®å½•åç§°ç”±å†’å· (:)åˆ†éš”ã€‚
    ä¸€ä¸ªç©ºçš„ç›®å½•åç§°è¡¨ç¤ºå½“å‰ç›®å½•ã€‚å¦‚æžœè¦åˆ‡æ¢åˆ°çš„ DIR ç”±æ–œæ  (/) å¼€å¤´ï¼Œåˆ™ CDPATH
    å˜é‡ä¸ä¼šè¢«ä½¿ç”¨ã€‚
    
    å¦‚æžœè·¯å¾„æ‰¾ä¸åˆ°ï¼Œå¹¶ä¸” shell é€‰é¡¹ `cdable_vars' è¢«è®¾å®šï¼Œåˆ™å‚æ•°è¯è¢«å‡å®šä¸ºä¸€ä¸ª
    å˜é‡åã€‚å¦‚æžœè¯¥å˜é‡æœ‰å€¼ï¼Œåˆ™å®ƒçš„å€¼è¢«å½“ä½œ DIR ç›®å½•ã€‚
    
    é€‰é¡¹ï¼š
        -L	å¼ºåˆ¶è·Ÿéšç¬¦å·é“¾æŽ¥: åœ¨å¤„ç† `..' ä¹‹åŽè§£æž DIR ä¸­çš„ç¬¦å·é“¾æŽ¥ã€‚
        -P	ä½¿ç”¨ç‰©ç†ç›®å½•ç»“æž„è€Œä¸è·Ÿéšç¬¦å·é“¾æŽ¥: åœ¨å¤„ç† `..' ä¹‹å‰è§£æž DIR ä¸­çš„ç¬¦å·é“¾æŽ¥ã€‚
        -e	å¦‚æžœä½¿ç”¨äº† -P å‚æ•°ï¼Œä½†ä¸èƒ½æˆåŠŸç¡®å®šå½“å‰å·¥ä½œç›®å½•æ—¶ï¼Œè¿”å›žéžé›¶çš„è¿”å›žå€¼ã€‚
        -@	åœ¨æ”¯æŒæ‹“å±•å±žæ€§çš„ç³»ç»Ÿä¸Šï¼Œå°†ä¸€ä¸ªæœ‰è¿™äº›å±žæ€§çš„æ–‡ä»¶å½“ä½œæœ‰æ–‡ä»¶å±žæ€§çš„ç›®å½•ã€‚
    
    é»˜è®¤æƒ…å†µä¸‹è·Ÿéšç¬¦å·é“¾æŽ¥ï¼Œå¦‚åŒæŒ‡å®š `-L'ã€‚
    `..' ä½¿ç”¨ç§»é™¤å‘å‰ç›¸é‚»ç›®å½•åæˆå‘˜ç›´åˆ° DIR å¼€å§‹æˆ–ä¸€ä¸ªæ–œæ çš„æ–¹å¼å¤„ç†ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    å¦‚æžœç›®å½•æ”¹å˜ï¼Œæˆ–åœ¨ä½¿ç”¨ -P é€‰é¡¹æ—¶ $PWD ä¿®æ”¹æˆåŠŸæ—¶è¿”å›ž 0ï¼Œå¦åˆ™éžé›¶ã€‚ å­è¿›ç¨‹å·²æ­»æˆ–è€…åœæ­¢ å¸¸ç”¨ shell å˜é‡åç§°å’Œä½¿ç”¨ã€‚
    
    BASH_VERSION	å½“å‰ Bash çš„ç‰ˆæœ¬ä¿¡æ¯ã€‚
    CDPATH	ç”¨äºŽ `cd' å‘½ä»¤å‚æ•°æœç´¢çš„åˆ†å·åˆ†éš”çš„ç›®å½•åˆ—è¡¨
    GLOBIGNORE	è·¯å¾„æ‰©å±•æ—¶å¿½ç•¥çš„æ–‡ä»¶ååŒ¹é…æ¨¡å¼åˆ—è¡¨ï¼Œ
    		ä»¥åˆ†å·åˆ†éš”ã€‚
    HISTFILE	æ‚¨çš„å‘½ä»¤åŽ†å²å­˜æ”¾çš„æ–‡ä»¶åç§°ã€‚
    HISTFILESIZE	åŽ†å²æ–‡ä»¶æœ€å¤šå¯ä»¥ä¿å­˜çš„è¡Œæ•°ã€‚
    HISTSIZE	ä¸€ä¸ªè¿è¡Œçš„ shell æœ€å¤šå¯ä»¥è®¿é—®çš„åŽ†å²å‘½ä»¤è¡Œæ•°ã€‚
    HOME	æ‚¨çš„ç™»å½•ç›®å½•çš„å®Œæ•´è·¯å¾„ã€‚
    HOSTNAME	å½“å‰ä¸»æœºçš„ä¸»æœºåã€‚
    HOSTTYPE	å½“å‰ç‰ˆæœ¬çš„ BASH åœ¨å…¶ä¹‹ä¸Šè¿è¡Œçš„ CPU ç±»åž‹ã€‚
    IGNOREEOF	æŽ§åˆ¶ shell æ”¶åˆ°æ–‡ä»¶ç»“æŸç¬¦ä½œä¸ºå•ä¸€è¾“å…¥åŽçš„
    		åŠ¨ä½œã€‚å¦‚æžœè®¾å®šè¿™ä¸ªå˜é‡ï¼Œåˆ™å®ƒçš„å€¼æ˜¯ shell é€€å‡ºä¹‹å‰åœ¨
    		ä¸€ä¸ªç©ºè¡Œä¸Šå¯ä»¥è¿žç»­çœ‹åˆ°çš„æ–‡ä»¶ç»“æŸç¬¦æ•°é‡(é»˜è®¤ä¸º10)ã€‚
    		æœªè®¾å®šæ—¶ï¼Œæ–‡ä»¶ç»“æŸç¬¦æ ‡å¿—ç€è¾“å…¥çš„ç»“æŸã€‚
    MACHTYPE	æè¿°å½“å‰è¿è¡Œ Bash çš„ç³»ç»Ÿçš„å­—ç¬¦ä¸²ã€‚
    MAILCHECK	Bash æ£€æµ‹æ–°é‚®ä»¶çš„é¢‘çŽ‡ï¼Œä»¥ç§’ä¸ºå•ä½ã€‚
    MAILPATH	Bash ä»Žä¸­æ£€æµ‹æ–°é‚®ä»¶çš„æ–‡ä»¶åˆ—è¡¨ï¼Œä»¥åˆ†å·åˆ†éš”ã€‚
    OSTYPE	è¿è¡Œ Bash çš„ Unix ç‰ˆæœ¬ã€‚
    PATH	å½“å¯»æ‰¾å‘½ä»¤æ—¶æœç´¢çš„ç›®å½•åˆ—è¡¨ï¼Œä»¥å†’å·åˆ†éš”ã€‚
    PROMPT_COMMAND	æ‰“å°æ¯ä¸€ä¸ªä¸»æç¤ºç¬¦ä¹‹å‰æ‰§è¡Œçš„å‘½
    		ä»¤ã€‚
    PS1		ä¸»æç¤ºç¬¦å­—ç¬¦ä¸²ã€‚
    PS2		ä»Žæç¤ºç¬¦å­—ç¬¦ä¸²ã€‚
    PWD		å½“å‰ç›®å½•çš„å®Œæ•´è·¯å¾„ã€‚
    SHELLOPTS	å·²å¯ç”¨çš„ shell é€‰é¡¹åˆ—è¡¨ï¼Œä»¥å†’å·åˆ†éš”ã€‚
    TERM	å½“å‰ç»ˆç«¯ç±»åž‹çš„åç§°ã€‚
    TIMEFORMAT	ä»¥å…³é”®åˆ™ `time' æ˜¾ç¤ºçš„æ—¶é—´ç»Ÿè®¡ä¿¡æ¯çš„è¾“å‡º
    		æ ¼å¼ã€‚
    auto_resume	éžç©ºæ—¶ï¼Œä¸€ä¸ªå•ç‹¬çš„å‘½ä»¤è¯ä¼šé¦–å…ˆè¢«åœ¨å½“å‰
    		åœæ­¢çš„ä»»åŠ¡åˆ—è¡¨ä¸­æœç´¢ã€‚å¦‚æžœæ‰¾åˆ°åˆ™è¯¥ä»»åŠ¡è¢«ç½®äºŽå‰å°ã€‚
    		å¦‚æžœå€¼ä¸º `exact' åˆ™æ„å‘³ç€å‘½ä»¤è¯å¿…é¡»ç²¾ç¡®åŒ¹é…åœæ­¢ä»»åŠ¡
    		åˆ—è¡¨ä¸­çš„å‘½ä»¤ã€‚å¦‚æžœå€¼ä¸º `substring' åˆ™æ„å‘³ç€å‘½ä»¤è¯å¿…
    		é¡»åŒ¹é…ä»»åŠ¡çš„ä¸€ä¸ªå­å­—ç¬¦ä¸²ã€‚ä»»ä½•å…¶ä»–çš„å€¼æ„å‘³ç€å‘½ä»¤è¯
    		å¿…é¡»æ˜¯åœæ­¢ä»»åŠ¡çš„ä¸€ä¸ªå‰ç¼€ã€‚
    histchars	æŽ§åˆ¶åŽ†å²å±•å¼€å’Œå¿«é€Ÿæ›¿æ¢çš„å­—ç¬¦ã€‚ç¬¬ä¸€ä¸ªå­—ç¬¦æ˜¯
    		åŽ†å²æ›¿æ¢å­—ç¬¦ï¼Œé€šå¸¸æ˜¯ `!'ã€‚ç¬¬äºŒä¸ªå­—ç¬¦æ˜¯å¿«é€Ÿæ›¿æ¢å­—ç¬¦ï¼Œ
    		é€šå¸¸æ˜¯ `^'ã€‚ç¬¬ä¸‰ä¸ªæ˜¯åŽ†å²æ³¨é‡Šå­—ç¬¦ï¼Œé€šå¸¸æ˜¯ `#'ã€‚
    HISTIGNORE	ç”¨äºŽå†³å®šå“ªäº›å‘½ä»¤è¢«å­˜å…¥åŽ†å²æ–‡ä»¶çš„æ¨¡å¼
    		åˆ—è¡¨ï¼Œä»¥å†’å·åˆ†éš”ã€‚
 ç»§ç»­ å®šä¹‰æœ¬åœ°å˜é‡ã€‚
    
    åˆ›å»ºä¸€ä¸ªä»¥ NAME ä¸ºåç§°çš„å˜é‡ï¼Œå¹¶ä¸”å°† VALUE èµ‹å€¼ç»™å®ƒã€‚
    OPTION é€‰é¡¹å¯ä»¥æ˜¯ä»»ä½•èƒ½è¢« `declare' æŽ¥å—çš„é€‰é¡¹ã€‚
    
    æœ¬åœ°å˜é‡åªèƒ½åœ¨å‡½æ•°å†…éƒ¨è¢«ä½¿ç”¨ï¼Œå®ƒä»¬åªèƒ½åœ¨å®šä¹‰å®ƒä»¬çš„å‡½æ•°å†…
    éƒ¨ä»¥åŠå­å‡½æ•°ä¸­å¯è§ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹ã€å‘ç”Ÿäº†èµ‹å€¼é”™è¯¯æˆ–è€… shell ä¸åœ¨æ‰§è¡Œä¸€ä¸ªå‡½æ•°ã€‚ å®šä¹‰æˆ–æ˜¾ç¤ºåˆ«åã€‚
    
    ä¸å¸¦å‚æ•°æ—¶ï¼Œ`alias' ä»¥å¯é‡ç”¨çš„æ ¼å¼
    `alias åç§°=å€¼'åœ¨æ ‡å‡†è¾“å‡ºè®¾å¤‡ä¸Šæ‰“å°åˆ«ååˆ—è¡¨ã€‚
    
    å¦åˆ™ï¼Œå¯¹äºŽæ¯ä¸ªç»™å®šå€¼çš„åç§°å®šä¹‰ä¸€ä¸ªåˆ«åã€‚
    å€¼æœ«å°¾çš„ç©ºæ ¼ä¼šä½¿ä¸‹ä¸€ä¸ªè¯è¢«æ£€æµ‹ä½œä¸ºåˆ«åæ›¿æ¢å±•å¼€ã€‚
    
    é€‰é¡¹ï¼š
      -p	ä»¥å¯é‡ç”¨çš„æ ¼å¼æ‰“å°æ‰€æœ‰çš„å·²å®šä¹‰çš„åˆ«å
    
    é€€å‡ºçŠ¶æ€ï¼š
    é™¤éžä¸€ä¸ªæ²¡æœ‰å®šä¹‰çš„åå­—è¢«ä½œä¸ºå‚æ•°æä¾›ï¼Œå¦åˆ™ alias 
    è¿”å›žå€¼ä¸ºçœŸã€‚ å®šä¹‰ shell å‡½æ•°ã€‚
    
    åˆ›å»ºä¸€ä¸ªä»¥ NAME ä¸ºåçš„ shell å‡½æ•°ã€‚å½“ä½œä¸ºä¸€ä¸ªç®€å•çš„å‘½ä»¤å¯ç”¨æ—¶ï¼Œ
    NAME å‡½æ•°æ‰§è¡Œè°ƒç”¨ shell çš„ä¸Šä¸‹æ–‡ä¸­çš„ COMMANDs å‘½ä»¤ã€‚å½“ NAME
    è¢«å¯ç”¨æ—¶ï¼Œå‚æ•°ä½œä¸º $1...$n è¢«ä¼ é€’ç»™å‡½æ•°ï¼Œå‡½æ•°çš„åå­—å‚¨å­˜åœ¨å˜é‡
    $FUNCNAME ä¸­ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸé™¤éž NAME ä¸ºåªè¯»ã€‚ æ˜¾ç¤ºç›®å½•æ ˆã€‚
    
    æ˜¾ç¤ºå½“å‰è®°ä½çš„ç›®å½•åˆ—è¡¨ã€‚é€šè¿‡ `pushd' å‘½ä»¤å¯ä»¥å°†ç›®å½•å­˜å…¥åˆ—è¡¨
    ä¸­ï¼›`popd' å‘½ä»¤å¯ç”¨äºŽéåŽ†å¼¹å‡ºåˆ—è¡¨ã€‚
    
    é€‰é¡¹ï¼š
      -c	åˆ é™¤æ‰€æœ‰å…ƒç´ ä»¥æ¸…ç©ºç›®å½•æ ˆ
      -l	ä¸æ‰“å°ä¸Žä¸»ç›®å½•ç›¸å…³çš„æ³¢æµªå·å‰ç¼€çš„ç›®å½•
      -p	æ¯è¡Œä¸€ä¸ªæ¡ç›®æ‰“å°ç›®å½•æ ˆ
      -v	æ¯è¡Œä¸€ä¸ªæ¡ç›®ï¼Œä»¥æ ˆä¸­ä½ç½®ä¸ºå‰ç¼€æ‰“å°ç›®å½•æ ˆ
    
    å‚æ•°ï¼š
      +N	æ˜¾ç¤º dirs ä¸å¸¦é€‰é¡¹å¯åŠ¨æ—¶æ˜¾ç¤ºçš„ç›®å½•åˆ—è¡¨å·¦èµ·ä¸­ç¬¬
    	N ä¸ªç›®å½•ï¼Œä»Žé›¶å¼€å§‹ã€‚
    
      -N	æ˜¾ç¤º dirs ä¸å¸¦é€‰é¡¹å¯åŠ¨æ—¶æ˜¾ç¤ºçš„ç›®å½•åˆ—è¡¨å³èµ·ä¸­ç¬¬
    	N ä¸ªç›®å½•ï¼Œä»Žé›¶å¼€å§‹ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€…å‘ç”Ÿé”™è¯¯ã€‚ æ˜¾ç¤ºå†…å»ºå‘½ä»¤çš„ç›¸å…³ä¿¡æ¯ã€‚
    
    æ˜¾ç¤ºå†…å»ºå‘½ä»¤çš„ç®€ç•¥ä¿¡æ¯ã€‚å¦‚æžœæŒ‡å®šäº† PATTERN æ¨¡å¼ï¼Œ
    ç»™å‡ºæ‰€æœ‰åŒ¹é… PATTERN æ¨¡å¼çš„å‘½ä»¤çš„è¯¦ç»†å¸®åŠ©ï¼Œå¦åˆ™æ‰“
    å°ä¸€ä¸ªå¸®åŠ©ä¸»é¢˜åˆ—è¡¨
    
    é€‰é¡¹ï¼š
      -d	è¾“å‡ºæ¯ä¸ªä¸»é¢˜çš„ç®€çŸ­æè¿°
      -m	ä»¥ä¼ª man æ‰‹å†Œçš„æ ¼å¼æ˜¾ç¤ºä½¿ç”¨æ–¹æ³•
      -s	ä¸ºæ¯ä¸€ä¸ªåŒ¹é… PATTERN æ¨¡å¼çš„ä¸»é¢˜ä»…æ˜¾ç¤ºä¸€ä¸ªç”¨æ³•
    	ç®€ä»‹
    
    å‚æ•°ï¼š
      PATTERN	Pattern æ¨¡å¼æŒ‡å®šä¸€ä¸ªå¸®åŠ©ä¸»é¢˜
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éž PATTERN æ¨¡å¼æ²¡æœ‰æ‰¾åˆ°æˆ–è€…ä½¿ç”¨äº†æ— æ•ˆé€‰é¡¹ã€‚ æ˜¾ç¤ºå‘½ä»¤ç±»åž‹çš„ä¿¡æ¯ã€‚
    
    å¯¹äºŽæ¯ä¸€ä¸ª NAME åç§°ï¼ŒæŒ‡ç¤ºå¦‚æžœä½œä¸ºå‘½ä»¤å®ƒå°†å¦‚ä½•è¢«è§£é‡Šã€‚
    
    é€‰é¡¹ï¼š
      -a	æ˜¾ç¤ºæ‰€æœ‰åŒ…å«åç§°ä¸º NAME çš„å¯æ‰§è¡Œæ–‡ä»¶çš„ä½ç½®ï¼›
    		åŒ…æ‹¬åˆ«åã€å†…å»ºå’Œå‡½æ•°ã€‚ä»…å½“ `-p' é€‰é¡¹æ²¡æœ‰ä½¿ç”¨æ—¶
      -f	æŠ‘åˆ¶ shell å‡½æ•°æŸ¥è¯¢
      -P	ä¸ºæ¯ä¸ª NAME åç§°æƒŠé†’ PATH è·¯å¾„æœç´¢ï¼Œå³ä½¿å®ƒæ˜¯åˆ«åã€
    		å†…å»ºæˆ–å‡½æ•°ï¼Œå¹¶ä¸”è¿”å›žå°†è¢«æ‰§è¡Œçš„ç£ç›˜ä¸Šæ–‡ä»¶çš„åç§°ã€‚
      -p	è¿”å›žå°†è¢«æ‰§è¡Œçš„ç£ç›˜ä¸Šæ–‡ä»¶çš„åç§°ï¼Œæˆ–è€…å½“ `type -t NAME'
    	ä¸è¿”å›ž `file' æ—¶ï¼Œä¸è¿”å›žä»»ä½•å€¼ã€‚
      -t	è¿”å›žä¸‹åˆ—è¯ä¸­çš„ä»»ä½•ä¸€ä¸ª `alias'ã€`keyword'ã€
    	`function'ã€`builtin'ã€`file' æˆ–è€… `'ï¼Œç›¸åº”åœ°å¦‚æžœ NAME æ˜¯
    	ä¸€ä¸ªåˆ«åã€shell ä¿ç•™å­—ã€shell å‡½æ•°ã€shell å†…å»ºã€
    	ç£ç›˜æ–‡ä»¶æˆ–æ²¡æœ‰æ‰¾åˆ°ã€‚
    
    å‚æ•°ï¼š
      NAME	å°†è¦è§£æžçš„å‘½ä»¤ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    å¦‚æžœæ‰€æœ‰çš„ NAME å‘½ä»¤éƒ½æ‰¾åˆ°åˆ™è¿”å›žæˆåŠŸï¼›ä»»ä½•ä¸€ä¸ªæ‰¾ä¸åˆ°åˆ™å¤±è´¥ã€‚ ä»ŽåŽ†å²åˆ—è¡¨ä¸­æ˜¾ç¤ºæˆ–è€…æ‰§è¡Œå‘½ä»¤ã€‚
    
    fc è¢«ç”¨äºŽä»ŽåŽ†å²åˆ—è¡¨ä¸­åˆ—å‡ºæˆ–è€…é‡æ–°ç¼–è¾‘å¹¶æ‰§è¡Œå‘½ä»¤ã€‚
    FIRST å’Œ LAST å˜é‡å¯ä»¥æ˜¯æ•°å­—ç”¨äºŽæŒ‡å®šèŒƒå›´ï¼Œæˆ–è€… FIRST å¯ä»¥æ˜¯
    å­—ç¬¦ä¸²ï¼Œæ„å‘³ç€ä»¥è¿™ä¸ªå­—ç¬¦ä¸²æ‰“å¤´çš„æœ€è¿‘çš„ä¸€ä¸ªå‘½ä»¤ã€‚
    
    
    é€‰é¡¹ï¼š
      -e ENAME	é€‰æ‹©ä½¿ç”¨å“ªä¸ªç¼–è¾‘å™¨ã€‚é»˜è®¤çš„æ˜¯ FCEDIT, ç„¶åŽæ˜¯ EDITORï¼Œ
    		ç„¶åŽæ˜¯ vi
      -l 	åˆ—å‡ºè¡Œè€Œä¸ç¼–è¾‘
      -n	åˆ—ä¸¾æ—¶çœç•¥è¡Œå·
      -r	åè½¬è¡Œçš„é¡ºåº(æœ€æ–°è¡Œåœ¨å‰)
    
    ç”¨ `fc -s [æ¨¡å¼=æ›¿æ¢ ...] [å‘½ä»¤]' çš„æ ¼å¼ï¼ŒCOMMAND å‘½ä»¤ä¼šåœ¨ OLD=NEW
    æ›¿æ¢ä¹‹åŽè¢«é‡æ–°æ‰§è¡Œã€‚
    
    r='fc -s' æ˜¯ä¸€ä¸ªæœ‰ç”¨çš„åˆ«åï¼Œè¿™æ ·çš„è¯è¾“å…¥ `r cc'ä¼šæ‰§è¡Œæœ€åŽä¸€ä¸ªä»¥ `cc'
    å¼€å¤´çš„å‘½ä»¤ï¼Œè¾“å…¥ `r'ä¼šé‡æ–°æ‰§è¡Œæœ€åŽä¸€ä¸ªå‘½ä»¤ã€‚
    
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œæˆ–è€…æ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ï¼›å¦‚æžœé”™è¯¯å‘ç”Ÿåˆ™è¿”å›žéžé›¶ã€‚ æ˜¾ç¤ºæˆ–è®¾å®šæ–‡ä»¶æ¨¡å¼æŽ©ç ã€‚
    
    è®¾å®šç”¨æˆ·æ–‡ä»¶åˆ›å»ºæŽ©ç ä¸º MODE æ¨¡å¼ã€‚å¦‚æžœçœç•¥äº† MODEï¼Œåˆ™
    æ‰“å°å½“å‰æŽ©ç çš„å€¼ã€‚
    
    å¦‚æžœ MODE æ¨¡å¼ä»¥æ•°å­—å¼€å¤´ï¼Œåˆ™è¢«å½“ä½œå…«è¿›åˆ¶æ•°è§£æžï¼›å¦åˆ™æ˜¯ä¸€ä¸ª
    chmod(1) å¯æŽ¥æ”¶çš„ç¬¦å·æ¨¡å¼ä¸²ã€‚
    
    é€‰é¡¹ï¼š
      -p	å¦‚æžœçœç•¥ MODE æ¨¡å¼ï¼Œä»¥å¯é‡ç”¨ä¸ºè¾“å…¥çš„æ ¼å¼è¾“å…¥
      -S	ä»¥ç¬¦å·å½¢å¼è¾“å‡ºï¼Œå¦åˆ™ä»¥å…«è¿›åˆ¶æ•°æ ¼å¼è¾“å‡º
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„ MODE æ¨¡å¼æˆ–è€…é€‰é¡¹ã€‚ ä¾æ®é€‰é¡¹æ˜¾ç¤ºå¯èƒ½çš„è¡¥å…¨ã€‚
    
    æ„å›¾åœ¨èƒ½äº§ç”Ÿå¯èƒ½çš„è¡¥å…¨çš„ shell å‡½æ•°å†…éƒ¨ä½¿ç”¨ã€‚
    å¦‚æžœæä¾›äº†å¯é€‰çš„ WORD å‚æ•°ï¼Œåˆ™äº§ç”ŸæŒ‰ç…§ WORD
    è¿›è¡Œçš„åŒ¹é…ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    é™¤éžä½¿ç”¨äº†æ— æ•ˆé€‰é¡¹æˆ–è€…é”™è¯¯å‘ç”Ÿï¼Œå¦åˆ™è¿”å›žæˆåŠŸã€‚ æ˜¾ç¤ºè¿›ç¨‹æ—¶é—´
    
    æ‰“å° shell åŠå…¶æ‰€æœ‰å­è¿›ç¨‹çš„ç´¯è®¡ç”¨æˆ·ç©ºé—´å’Œ
    ç³»ç»Ÿç©ºé—´æ‰§è¡Œæ—¶é—´ã€‚
    
    é€€å‡ºçŠ¶æ€
    æ€»æ˜¯æˆåŠŸã€‚ æ˜¾ç¤ºä»»åŠ¡çŠ¶æ€ã€‚
    
    åˆ—å‡ºæ´»åŠ¨çš„ä»»åŠ¡ã€‚JOBSPEC é™åˆ¶ä»…è¾“å‡ºæŒ‡å®šçš„ä»»åŠ¡ã€‚
    ä¸å¸¦é€‰é¡¹æ—¶ï¼Œæ‰€æœ‰æ´»åŠ¨ä»»åŠ¡çš„çŠ¶æ€éƒ½ä¼šæ˜¾ç¤ºã€‚
    
    é€‰é¡¹ï¼š
      -l	åœ¨æ­£å¸¸ä¿¡æ¯åŸºç¡€ä¸Šåˆ—å‡ºè¿›ç¨‹å·
      -n	ä»…åˆ—å‡ºä¸Šæ¬¡é€šå‘Šä¹‹åŽæ”¹å˜äº†çŠ¶æ€çš„è¿›ç¨‹
      -p	ä»…åˆ—å‡ºè¿›ç¨‹å·
      -r	é™åˆ¶ä»…è¾“å‡ºè¿è¡Œä¸­çš„ä»»åŠ¡
      -s	é™åˆ¶ä»…è¾“å‡ºåœæ­¢çš„ä»»åŠ¡
    
    å¦‚æžœä½¿ç”¨äº† -x é€‰é¡¹ï¼ŒARG å‚æ•°ä¸­çš„æ‰€æœ‰ä»»åŠ¡å£°æ˜Žä¼šè¢«æ›¿æ¢ä¸ºè¯¥ä»»åŠ¡
    çš„è¿›ç¨‹ç»„å¤´é¢†çš„è¿›ç¨‹å·ï¼Œç„¶åŽæ‰§è¡Œ COMMAND å‘½ä»¤ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€…æœ‰é”™è¯¯å‘ç”Ÿã€‚
    å¦‚æžœä½¿ç”¨ -x é€‰é¡¹ï¼Œåˆ™è¿”å›ž COMMAND å‘½ä»¤çš„é€€å‡ºçŠ¶æ€ã€‚ æ˜¾ç¤ºå½“å‰è®°ä½çš„ç›®å½•åˆ—è¡¨ã€‚ ç›®å½•
    é€šè¿‡ `pushd' å‘½ä»¤åŠ å…¥è¿™ä¸ªåˆ—è¡¨ï¼›æ‚¨å¯ä»¥
    ä½¿ç”¨ `popd' å‘½ä»¤å¯¹åˆ—è¡¨è¿›è¡ŒéåŽ†ã€‚
    
    é€‰é¡¹:
      -c	åˆ é™¤æ‰€æœ‰å…ƒç´ ä»¥æ¸…é™¤ç›®å½•æ ˆ
      -l	ä¸æ‰“å°ä¸Žå®¶ç›®å½•ç›¸å…³çš„ä»¥æ³¢æµªå·
    	ä¸ºå‰ç¼€çš„ç›®å½•
      -p	æ¯è¡Œä¸€ä¸ªæ¡ç›®æ‰“å°ç›®å½•æ ˆ
      -v	ä»¥æ ˆä½ç½®ä¸ºå‰ç¼€ï¼Œæ¯è¡Œä¸€ä¸ªæ¡ç›®
    	æ‰“å°ç›®å½•æ ˆ
    
    å‚æ•°:
      +N	ä»¥ dirs ä¸å¸¦é€‰é¡¹è¾“å‡ºçš„é¡ºåºæ˜¾ç¤ºåˆ—è¡¨ä»Žå·¦èµ·ç¬¬Nä¸ªæ¡ç›®ï¼Œ
    	ä»Ž 0 å¼€å§‹ã€‚
    
      -N	ä»¥ dirs ä¸å¸¦é€‰é¡¹è¾“å‡ºçš„é¡ºåºæ˜¾ç¤ºåˆ—è¡¨ä»Žå³èµ·ç¬¬Nä¸ªé¡¹ç›®ï¼Œ
	ä»Ž 0 å¼€å§‹ã€‚ å·²å®Œæˆ å·²å®Œæˆ(%d) æ¨¡æ‹Ÿå™¨é™·é˜±æŒ‡ä»¤ å¯ç”¨å’Œç¦ç”¨ shell å†…å»ºã€‚
    
    å¯ç”¨å’Œç¦ç”¨ shell çš„å†…å»ºå‘½ä»¤ã€‚ç¦ç”¨ä½¿æ‚¨èƒ½å¤Ÿæ‰§è¡Œä¸€ä¸ªå’Œå†…å»º
    å‘½ä»¤åŒåçš„ç£ç›˜ä¸Šçš„å‘½ä»¤ï¼Œè€Œæ— é¡»ä½¿ç”¨å®Œæ•´çš„è·¯å¾„åã€‚
    
    
    é€‰é¡¹ï¼š
      -a	æ‰“å°ä¸€ä¸ªå†…å»ºçš„åˆ—è¡¨ï¼Œå¹¶æ˜¾ç¤ºå…¶ä¸­æ¯ä¸€ä¸ªæ˜¯å¦å¯ç”¨
      -n	ç¦ç”¨æ¯ä¸€ä¸ª NAME å†…å»ºæˆ–è€…æ˜¾ç¤ºä¸€ä¸ªè¢«ç¦ç”¨çš„å†…å»ºçš„åˆ—è¡¨
      -p	ä»¥å¯é‡ç”¨çš„æ ¼å¼æ‰“å°ä¸€ä¸ªå†…å»ºçš„åˆ—è¡¨
      -s	ä»…æ‰“å°Posix `special'  å†…å»ºçš„åç§°
    
    æŽ§åˆ¶åŠ¨æ€åŠ è½½çš„é€‰é¡¹ï¼š
      -f	ä»Žå…±äº«å¯¹è±¡ FILENAME æ–‡ä»¶ä¸­åŠ è½½ NAME å†…å»º
      -d	åˆ é™¤ä»¥ -f é€‰é¡¹åŠ è½½çš„å†…å»º
    
    ä¸å¸¦é€‰é¡¹æ—¶ï¼Œæ¯ä¸€ä¸ª NAME å†…å»ºéƒ½è¢«å¯ç”¨ã€‚
    
    å¦‚æžœè¦ä½¿ç”¨ $PATH ä¸­æ‰¾åˆ°çš„ `test' è€Œä¸æ˜¯ shell å†…å»ºçš„ç‰ˆæœ¬ï¼Œ
    è¾“å…¥ `enable -n test'ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éž NAME ä¸æ˜¯ä¸€ä¸ª shell å†…å»ºæˆ–è€…æœ‰é”™è¯¯å‘ç”Ÿã€‚ ä¼°å€¼ç®—æœ¯è¡¨è¾¾å¼ã€‚
    
    è¡¨è¾¾å¼æŒ‰ç…§ç®—æœ¯æ³•åˆ™è¿›è¡Œä¼°å€¼ã€‚
    ç­‰ä»·äºŽ "let è¡¨è¾¾å¼".
    
    é€€å‡ºçŠ¶æ€
    å¦‚æžœè¡¨è¾¾å¼ä¼°å€¼ä¸º0åˆ™è¿”å›ž 1ï¼›å¦åˆ™è¿”å›ž0ã€‚ ä¼°å€¼ç®—æœ¯è¡¨è¾¾å¼ã€‚
    
    å°†æ¯ä¸ª ARG å‚èµ›ä½œä¸ºç®—æœ¯è¡¨è¾¾å¼æ¥ä¼°å€¼ã€‚ä¼°å€¼çš„è®¡ç®—ä»¥å®šå®½çš„æ•´
    æ•°å®Œæˆï¼Œä¸å¸¦æº¢å‡ºæ£€æµ‹ï¼Œä¸è¿‡é™¤ 0 æ˜¯è¢«ç½®é™·é˜±çš„å¹¶ä¸”ä¼šæŠ¥ä¸€ä¸ªé”™
    è¯¯ã€‚ä¸‹åˆ—æ“ä½œç¬¦è¢«æŒ‰ç…§ç›¸åŒçš„ç®—æœ¯ä¼˜å…ˆçº§ç»„åˆã€‚åˆ—è¡¨çš„é¡ºåºæŒ‰ç…§
    ä¼˜å…ˆçº§ä»Žé«˜è‡³ä½Žã€‚
    
    
    	id++, id--	å˜é‡åŽç½®åŠ ï¼ŒåŽç½®å‡
    	++id, --id	å˜é‡å‰ç½®åŠ ï¼Œå‰ç½®å‡
    	-, +		ä¸€å…ƒå‡æ³•ï¼Œä¸€å…ƒåŠ æ³•
    	!, ~		é€»è¾‘å’Œä½å–å
    	**		æŒ‡æ•°
    	*, /, %		ä¹˜æ³•ï¼Œé™¤æ³•ï¼Œå–ä½™æ•°
    	+, -		å¢žåŠ ï¼Œå‡å°‘
    	<<, >>		å‘å·¦å’Œå‘å³æŒ‰ä½ç§»ä½
    	<=, >=, <, >	æ¯”è¾ƒ
    	==, !=		ç­‰äºŽï¼Œä¸ç­‰äºŽ
    	&		æŒ‰ä½ä¸Ž
    	^		æŒ‰ä½å¼‚æˆ–
    	|		æŒ‰ä½æˆ–
    	&&		é€»è¾‘ä¸Ž
    	||		é€»è¾‘æˆ–
    	expr ? expr : expr
    			æ¡ä»¶æ“ä½œç¬¦
    	=, *=, /=, %=,
    	+=, -=, <<=, >>=,
    	&=, ^=, |=	èµ‹å€¼
    
    Shell å˜é‡å…è®¸ä½œä¸ºæ“ä½œæ•°ã€‚è¡¨è¾¾å¼ä¸­çš„å˜é‡çš„åç§°ä¼šè¢«å–ä»£ä»¥å€¼
    (å¼ºåˆ¶è½¬æ¢ä¸ºå®šå®½çš„æ•´æ•°)ã€‚è¡¨è¾¾å¼ä¸­çš„å˜é‡ä¸éœ€è¦æ‰“å¼€æ•´æ•°å±žæ€§ã€‚
    
    æ“ä½œç¬¦æŒ‰ç…§ä¼˜å…ˆçº§è¿›è¡Œä¼°å€¼ã€‚æ‹¬å·ä¸­çš„å­è¡¨è¾¾å¼å°†è¢«å…ˆä¼°å€¼ï¼Œå¹¶å¯å–ä»£ä¸Šè¿°è¡¨è¾¾å¼è§„åˆ™ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    å¦‚æžœæœ€åŽä¸€ä¸ª ARG å‚æ•°ä¼°å€¼ä¸º 0ï¼Œåˆ™ let è¿”å›ž 1ï¼› å¦åˆ™ let è¿”å›ž 0ã€‚ å¯¹æ¡ä»¶è¡¨è¾¾å¼è¿›è¡Œä¼°å€¼ã€‚
    
    æ ¹æ® EXPR è¡¨è¾¾å¼çš„ä¼°å€¼ä»¥çŠ¶æ€ 0 (çœŸ) æˆ– 1 (ä¼ª) é€€å‡ºã€‚
    è¡¨è¾¾å¼å¯ä»¥æ˜¯ä¸€å…ƒæˆ–è€…äºŒå…ƒçš„ã€‚ä¸€å…ƒè¡¨è¾¾å¼é€šå¸¸ç”¨äºŽæ£€æµ‹
    æ–‡ä»¶çŠ¶æ€ã€‚åŒæ—¶è¿˜æœ‰å­—ç¬¦ä¸²æ“ä½œç¬¦å’Œæ•°å­—æ¯”è¾ƒæ“ä½œç¬¦ã€‚
    
    æ–‡ä»¶æ“ä½œç¬¦ï¼š
    
      -a æ–‡ä»¶        å¦‚æžœæ–‡ä»¶å­˜åœ¨åˆ™ä¸ºçœŸã€‚
      -b æ–‡ä»¶        å¦‚æžœæ–‡ä»¶ä¸ºå—ç‰¹æ®Šæ–‡ä»¶åˆ™ä¸ºçœŸã€‚
      -c æ–‡ä»¶        å¦‚æžœæ–‡ä»¶ä¸ºå­—ç¬¦ç‰¹æ®Šæ–‡ä»¶åˆ™ä¸ºçœŸã€‚
      -d æ–‡ä»¶        å¦‚æžœæ–‡ä»¶ä¸ºç›®å½•åˆ™ä¸ºçœŸã€‚
      -e æ–‡ä»¶        å¦‚æžœæ–‡ä»¶å­˜åœ¨åˆ™ä¸ºçœŸã€‚
      -f æ–‡ä»¶        å¦‚æžœæ–‡ä»¶å­˜åœ¨ä¸”ä¸ºå¸¸è§„æ–‡ä»¶åˆ™ä¸ºçœŸã€‚
      -g æ–‡ä»¶        å¦‚æžœæ–‡ä»¶çš„ç»„å±žæ€§è®¾ç½®æ‰“å¼€åˆ™ä¸ºçœŸã€‚
      -h æ–‡ä»¶        å¦‚æžœæ–‡ä»¶ä¸ºç¬¦å·é“¾æŽ¥åˆ™ä¸ºçœŸã€‚
      -L æ–‡ä»¶        å¦‚æžœæ–‡ä»¶ä¸ºç¬¦å·é“¾æŽ¥åˆ™ä¸ºçœŸã€‚
      -k æ–‡ä»¶        å¦‚æžœæ–‡ä»¶çš„ç²˜æ»ž (sticky) ä½è®¾å®šåˆ™ä¸ºçœŸã€‚
      -p æ–‡ä»¶        å¦‚æžœæ–‡ä»¶ä¸ºå‘½åç®¡é“åˆ™ä¸ºçœŸã€‚
      -r æ–‡ä»¶        å¦‚æžœæ–‡ä»¶å¯¹äºŽæ‚¨æ˜¯å¯è¯»çš„åˆ™ä¸ºçœŸã€‚
      -s æ–‡ä»¶        å¦‚æžœæ–‡ä»¶å­˜åœ¨ä¸”ä¸ä¸ºç©ºåˆ™ä¸ºçœŸã€‚
      -S æ–‡ä»¶        å¦‚æžœæ–‡ä»¶æ˜¯å¥—æŽ¥å­—åˆ™ä¸ºçœŸã€‚
      -t æ–‡ä»¶æè¿°ç¬¦   å¦‚æžœæ–‡ä»¶æè¿°ç¬¦åœ¨ä¸€ä¸ªç»ˆç«¯ä¸Šæ‰“å¼€åˆ™ä¸ºçœŸã€‚
      -u æ–‡ä»¶        å¦‚æžœæ–‡ä»¶çš„ç”¨æˆ·æ•°è¡Œè®¾ç½®æ‰“å¼€åˆ™ä¸ºçœŸã€‚
      -w æ–‡ä»¶        å¦‚æžœæ–‡ä»¶å¯¹æ‚¨æ˜¯å¯å†™çš„åˆ™ä¸ºçœŸ
      -x æ–‡ä»¶        å¦‚æžœæ–‡ä»¶å¯¹æ‚¨æ˜¯å¯æ‰§è¡Œçš„åˆ™ä¸ºçœŸã€‚
      -O æ–‡ä»¶        å¦‚æžœæ–‡ä»¶æ˜¯è¢«æ‚¨æ‰€æœ‰çš„åˆ™ä¸ºçœŸã€‚
      -G æ–‡ä»¶        å¦‚æžœæ–‡ä»¶è¢«æ‚¨çš„ç»„æ‰€æœ‰åˆ™ä¸ºçœŸã€‚
      -N æ–‡ä»¶        å¦‚æžœæ–‡ä»¶ä¸Šæ¬¡è¢«è¯»å–ä¹‹åŽä¿®æ”¹è¿‡åˆ™ä¸ºçœŸã€‚
    
      FILE1 -nt FILE2  å¦‚æžœ file1 æ–‡ä»¶æ–°äºŽ file2 æ–‡ä»¶åˆ™ä¸ºçœŸ(æ ¹æ®
                       ä¿®æ”¹æ—¥æœŸ)ã€‚
    
      FILE1 -ot FILE2  å¦‚æžœ file1 æ–‡ä»¶æ—§äºŽ file2 æ–‡ä»¶åˆ™ä¸ºçœŸã€‚
    
      FILE1 -ef FILE2  å¦‚æžœ file1 æ–‡ä»¶æ˜¯ file2 æ–‡ä»¶çš„ç¡¬é“¾æŽ¥åˆ™ä¸ºçœŸã€‚
    
    å­—ç¬¦ä¸²æ“ä½œç¬¦
    
      -z å­—ç¬¦ä¸²      å¦‚æžœå­—ç¬¦ä¸²ä¸ºç©ºåˆ™ä¸ºçœŸã€‚
    
      -n å­—ç¬¦ä¸²
         å­—ç¬¦ä¸²      å¦‚æžœå­—ç¬¦ä¸²ä¸ä¸ºç©ºåˆ™ä¸ºçœŸã€‚
    
      STRING1 = STRING2
                     å¦‚æžœ string1 å’Œ string2 å­—ç¬¦ä¸²ç›¸åŒåˆ™ä¸ºçœŸã€‚
      STRING1 != STRING2
                     å¦‚æžœ string1 å’Œ string2 å­—ç¬¦ä¸²ä¸ç›¸åŒåˆ™ä¸ºçœŸã€‚
      STRING1 < STRING2
                     å¦‚æžœæŒ‰å­—å…¸æŽ’åº string1 åœ¨ string2 ä¸²ä¹‹å‰åˆ™ä¸ºçœŸã€‚
      STRING1 > STRING2
                     å¦‚æžœæŒ‰å­—å…¸æŽ’åº string1 åœ¨ string2 ä¸²ä¹‹å‰åˆ™ä¸ºçœŸã€‚
    
    å…¶ä»–æ“ä½œç¬¦ï¼š
    
      -o é€‰é¡¹        å¦‚æžœæŒ‡å®š shell é€‰é¡¹å¯ç”¨åˆ™ä¸ºçœŸã€‚
      -v VAR         å¦‚æžœæŒ‡å®š Shell å˜é‡ VAR å·²èµ‹å€¼åˆ™ä¸ºçœŸã€‚
      -R VAR         å¦‚æžœæŒ‡å®š Shell å˜é‡ VAR å·²èµ‹å€¼ä¸”ä¸ºåç§°å¼•ç”¨åˆ™ä¸ºçœŸã€‚
      ! EXPR         å¦‚æžœè¡¨è¾¾å¼ expr ä¸ºå‡åˆ™ä¸ºçœŸã€‚
      EXPR1 -a EXPR2 å¦‚æžœ expr1 å’Œ expr2 éƒ½ä¸ºçœŸåˆ™ä¸ºçœŸã€‚
      EXPR1 -o EXPR2 å¦‚æžœ expr1 å’Œ expr2 æœ‰ä¸€ä¸ªä¸ºçœŸåˆ™ä¸ºçœŸã€‚
    
      arg1 OP arg2   ç®—æœ¯æµ‹è¯•ã€‚OPæ“ä½œç¬¦å¯ä»¥æ˜¯ -eqã€-neã€
                     -ltã€-leã€-gtã€æˆ– -ge ä¸­çš„ä¸€ä¸ªã€‚
    
    äºŒå…ƒç®—æœ¯æ“ä½œè¿”å›žçœŸï¼Œå¦‚æžœ ARG1 å‚æ•°ç­‰äºŽã€ä¸ç­‰äºŽã€
    å°äºŽã€å°äºŽç­‰äºŽã€å¤§äºŽã€æˆ–è€…å¤§äºŽç­‰äºŽ ARG2 å‚æ•°ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    å¦‚æžœ EXPR è¡¨è¾¾å¼ä¼°å€¼ä¸ºçœŸåˆ™è¿”å›žæˆåŠŸï¼›å¦‚æžœ EXPR è¡¨è¾¾å¼ä¼°å€¼
    ä¸ºå‡æˆ–è€…ä½¿ç”¨äº†æ— æ•ˆçš„å‚æ•°åˆ™è¿”å›žå¤±è´¥ã€‚ ä¼°å€¼æ¡ä»¶è¡¨è¾¾å¼ã€‚
    
    æ˜¯å†…å»ºå‘½ä»¤ "test" çš„åŒä¹‰è¯ï¼Œä½†æ˜¯æœ€åŽä¸€ä¸ªå‚æ•°å¿…é¡»æ˜¯
    å­—ç¬¦ `]'ï¼Œä»¥åŒ¹é…èµ·å§‹çš„ `['ã€‚ æ‰§è¡Œä¸€ä¸ªç®€å•å‘½ä»¤æˆ–è€…æ˜¾ç¤ºå‘½ä»¤çš„ç›¸å…³ä¿¡æ¯ã€‚
    
    å¸¦ ARGS å‚æ•°è¿è¡Œ COMMAND å‘½ä»¤ä¸”æŠ‘åˆ¶ shell å‡½æ•°æŸ¥è¯¢ï¼Œæˆ–æ˜¾ç¤º
    æŒ‡å®šçš„ COMMAND å‘½ä»¤çš„ä¿¡æ¯ã€‚å¯ä»¥åœ¨å­˜åœ¨ç›¸åŒåç§°çš„å‡½æ•°å®šä¹‰çš„
    æƒ…å†µä¸‹è¢«ç”¨äºŽå¯åŠ¨ç£ç›˜ä¸Šçš„å‘½ä»¤ã€‚
    
    é€‰é¡¹ï¼š
      -p	ä½¿ç”¨ PATH å˜é‡çš„ä¸€ä¸ªé»˜è®¤å€¼ä»¥ç¡®ä¿æ‰€æœ‰çš„æ ‡å‡†å·¥å…·éƒ½èƒ½è¢«æ‰¾åˆ°ã€‚
      -v	æ‰“å° COMMAND å‘½ä»¤çš„æè¿°ï¼Œå’Œ `type' å†…å»ºç›¸ä¼¼
      -V	æ‰“å°æ¯ä¸ª COMMAND å‘½ä»¤çš„è¯¦ç»†æè¿°
    
    é€€å‡ºçŠ¶æ€
    è¿”å›ž COMMAND å‘½ä»¤çš„è¿”å›žçŠ¶æ€ï¼Œæˆ–è€…å½“æ‰¾ä¸åˆ° COMMAND å‘½ä»¤æ—¶å¤±è´¥ã€‚ å°†å‚æ•°ä½œä¸º shell å‘½ä»¤æ‰§è¡Œã€‚
    
    å°† ARGs åˆæˆä¸€ä¸ªå­—ç¬¦ä¸²ï¼Œç”¨ç»“æžœä½œä¸º shell çš„è¾“å…¥ï¼Œ
    å¹¶ä¸”æ‰§è¡Œå¾—åˆ°çš„å‘½ä»¤ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    ä»¥å‘½ä»¤çš„çŠ¶æ€é€€å‡ºï¼Œæˆ–è€…åœ¨å‘½ä»¤ä¸ºç©ºçš„æƒ…å†µä¸‹è¿”å›žæˆåŠŸã€‚ å½“æµ‹è¯•ä¸åŒè¿‡æ—¶æ‰§è¡Œå‘½ä»¤ã€‚
    
    `until' COMMANDS å‘½ä»¤çš„æœ€ç»ˆå‘½ä»¤è¿”å›žçŠ¶æ€ä¸ä¸º 0 æ—¶ï¼Œ
    å±•å¼€å¹¶æ‰§è¡Œ COMMANDS å‘½ä»¤ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽä¸€ä¸ªæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚ åªè¦æµ‹è¯•æˆåŠŸå³æ‰§è¡Œå‘½ä»¤ã€‚
    
    åªè¦åœ¨ `while' COMMANDS ä¸­çš„æœ€ç»ˆå‘½ä»¤è¿”å›žç»“æžœä¸º0ï¼Œåˆ™
    å±•å¼€å¹¶æ‰§è¡Œ COMMANDS å‘½ä»¤ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽä¸€ä¸ªæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚ æ ¹æ®æ¡ä»¶æ‰§è¡Œå‘½ä»¤ã€‚
    
    `if COMMANDS'åˆ—è¡¨è¢«æ‰§è¡Œã€‚å¦‚æžœé€€å‡ºçŠ¶æ€ä¸ºé›¶ï¼Œåˆ™æ‰§è¡Œ`then COMMANDS' 
    åˆ—è¡¨ã€‚å¦åˆ™æŒ‰é¡ºåºæ‰§è¡Œæ¯ä¸ª `elif COMMANDS'åˆ—è¡¨ï¼Œå¹¶ä¸”å¦‚æžœå®ƒçš„é€€å‡ºçŠ¶æ€ä¸º
    é›¶ï¼Œåˆ™æ‰§è¡Œå¯¹åº”çš„ `then COMMANDS' åˆ—è¡¨å¹¶ä¸” if å‘½ä»¤ç»ˆæ­¢ã€‚å¦åˆ™å¦‚æžœå­˜åœ¨çš„
    æƒ…å†µä¸‹ï¼Œæ‰§è¡Œ `else COMMANDS'åˆ—è¡¨ã€‚æ•´ä¸ªç»“æž„çš„é€€å‡ºçŠ¶æ€æ˜¯æœ€åŽä¸€ä¸ªæ‰§è¡Œ
    çš„å‘½ä»¤çš„çŠ¶æ€ï¼Œæˆ–è€…å¦‚æžœæ²¡æœ‰æ¡ä»¶æµ‹è¯•ä¸ºçœŸçš„è¯ï¼Œä¸ºé›¶ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽä¸€ä¸ªæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚ åŸºäºŽæ¨¡å¼åŒ¹é…æ¥æ‰§è¡Œå‘½ä»¤ã€‚
    
    åŸºäºŽ PATTERN æ¨¡å¼åŒ¹é…çš„è¯ WORDï¼Œæœ‰é€‰æ‹©çš„æ‰§è¡Œ COMMANDS å‘½ä»¤ã€‚
    `|' ç”¨äºŽåˆ†éš”å¤šä¸ªæ¨¡å¼ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽä¸€ä¸ªæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚ ä¸ºåˆ—è¡¨ä¸­çš„æ¯ä¸ªæˆå‘˜æ‰§è¡Œå‘½ä»¤ã€‚
    
    `for' å¾ªçŽ¯ä¸ºåˆ—è¡¨ä¸­çš„æ¯ä¸ªæˆå‘˜æ‰§è¡Œä¸€ç³»åˆ—çš„å‘½ä»¤ã€‚å¦‚æžœæ²¡æœ‰
    `in WORDS ...;'åˆ™å‡å®šä½¿ç”¨ `in "$@"'ã€‚å¯¹äºŽ WORDS ä¸­çš„æ¯
     ä¸ªå…ƒç´ ï¼ŒNAME è¢«è®¾å®šä¸ºè¯¥å…ƒç´ ï¼Œå¹¶ä¸”æ‰§è¡Œ COMMANDS å‘½ä»¤ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚ åœ¨å½“å‰ shell ä¸­æ‰§è¡Œä¸€ä¸ªæ–‡ä»¶ä¸­çš„å‘½ä»¤ã€‚
    
    åœ¨å½“å‰ shell ä¸­è¯»å–å¹¶æ‰§è¡Œ FILENAME æ–‡ä»¶ä¸­çš„å‘½ä»¤ã€‚$PATH å˜é‡ä¸­çš„
    æ¡ç›®è¢«ç”¨äºŽå¯»æ‰¾åŒ…å« FILENAME æ–‡ä»¶çš„ç›®å½•ã€‚å¦‚æžœæä¾›äº†ä»»ä½•çš„ ARGUMENTS
    å‚æ•°ï¼Œåˆ™å®ƒä»¬å°†æˆä¸º FILENAME æ–‡ä»¶æ‰§è¡Œæ—¶çš„ä½ç½®å‚æ•°ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›ž FILENAME æ–‡ä»¶ä¸­æœ€åŽä¸€ä¸ªå‘½ä»¤çš„çŠ¶æ€ï¼›å¦‚æžœ FILENAME æ–‡ä»¶ä¸å¯è¯»åˆ™å¤±è´¥ã€‚ æ‰§è¡Œæ¡ä»¶å‘½ä»¤ã€‚
    
    æ ¹æ®æ¡ä»¶è¡¨è¾¾å¼ EXPRESSION çš„ä¼°å€¼è¿”å›žçŠ¶æ€0æˆ–1ã€‚è¡¨è¾¾å¼æŒ‰ç…§
    `test' å†…å»ºçš„ç›¸åŒæ¡ä»¶ç»„æˆï¼Œæˆ–è€…å¯ä»¥æœ‰ä¸‹åˆ—æ“ä½œç¬¦è¿žæŽ¥è€Œæˆï¼š
    
      ( EXPRESSION )	è¿”å›ž EXPRESSION è¡¨è¾¾å¼çš„å€¼
      ! EXPRESSION		å¦‚æžœ EXPRESSIONè¡¨è¾¾å¼ä¸ºå‡åˆ™ä¸ºçœŸï¼Œå¦åˆ™ä¸ºå‡
      EXPR1 && EXPR2	å¦‚æžœ EXPR1 å’Œ EXPR2 è¡¨è¾¾å¼å‡ä¸ºçœŸåˆ™ä¸ºçœŸï¼Œå¦åˆ™ä¸ºå‡
      EXPR1 || EXPR2	å¦‚æžœ EXPR1 å’Œ EXPR2 è¡¨è¾¾å¼ä¸­æœ‰ä¸€ä¸ªä¸ºçœŸåˆ™ä¸ºçœŸï¼Œå¦åˆ™ä¸ºå‡
    
    å½“ä½¿ç”¨ `==' å’Œ `!=' æ“ä½œç¬¦æ—¶ï¼Œæ“ä½œç¬¦å³è¾¹çš„å­—ç¬¦ä¸²è¢«ç”¨ä½œæ¨¡å¼å¹¶ä¸”æ‰§è¡Œä¸€ä¸ª
    åŒ¹é…ã€‚å½“ä½¿ç”¨ `=~' æ“ä½œç¬¦æ—¶ï¼Œæ“ä½œç¬¦å³è¾¹çš„å­—ç¬¦ä¸²è¢«å½“ä½œæ­£åˆ™è¡¨è¾¾å¼æ¥è¿›è¡Œ
    åŒ¹é…ã€‚
    
    æ“ä½œç¬¦ && å’Œ || å°†ä¸å¯¹ EXPR2 è¡¨è¾¾å¼è¿›è¡Œä¼°å€¼ï¼Œå¦‚æžœ EXPR1 è¡¨è¾¾å¼è¶³å¤Ÿç¡®å®š
    æ•´ä¸ªè¡¨è¾¾å¼çš„å€¼ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    æ ¹æ® EXPRESSION çš„å€¼ä¸º0æˆ–1ã€‚ æ‰§è¡Œ shell å†…å»ºã€‚
    
    å¸¦å‚æ•° ARGs æ‰§è¡Œ SHELL-BUILTIN å†…å»ºï¼Œå¹¶ä¸”ä¸åšå‘½ä»¤æŸ¥è¯¢
    åœ¨å¸Œæœ›ä»¥ shell å‡½æ•°çš„å½¢å¼æ¥é‡æ–°å®žçŽ° shell å†…å»ºï¼Œ
    å¹¶ä¸”å¸Œæœ›åœ¨å‡½æ•°ä¹‹å†…æ‰§è¡Œè¯¥ shell å†…å»ºçš„æƒ…å†µä¸‹æœ‰ç”¨å¤„ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    ä»¥ SHELL-BUILTIN å†…å»ºçš„é€€å‡ºçŠ¶æ€ä¸ºå‡†ï¼Œæˆ–è€…å¦‚æžœ SHELL-BUILTINä¸æ˜¯ä¸€ä¸ª shell å†…å»ºæ—¶
    ä¸ºå‡ã€‚. é€€å‡º %d é€€å‡ºä¸€ä¸ªç™»å½• shell.
    
    ä»¥çŠ¶æ€ N é€€å‡ºä¸€ä¸ªç™»å½• shellã€‚å¦‚æžœä¸åœ¨ç™»å½• shell ä¸­æ‰§è¡Œï¼Œåˆ™
    è¿”å›žä¸€ä¸ªé”™è¯¯ã€‚ é€€å‡º forã€while æˆ– until å¾ªçŽ¯
    
    é€€å‡ºä¸€ä¸ª FORã€WHILE æˆ– UNTIL å¾ªçŽ¯ã€‚å¦‚æžœæŒ‡å®šäº†Nï¼Œåˆ™è·³å‡ºNé‡
    å¾ªçŽ¯
    
    é€€å‡ºçŠ¶æ€ï¼š
    é€€å‡ºçŠ¶æ€ä¸º0é™¤éž N ä¸å¤§äºŽæˆ–ç­‰äºŽ 1ã€‚ é€€å‡ºshellã€‚
    
    ä»¥çŠ¶æ€ N é€€å‡º shellã€‚  å¦‚æžœ N è¢«çœç•¥ï¼Œåˆ™é€€å‡ºçŠ¶æ€
    ä¸ºæœ€åŽä¸€ä¸ªæ‰§è¡Œçš„å‘½ä»¤çš„é€€å‡ºçŠ¶æ€ã€‚ æ–‡ä»¶é™åˆ¶ æµ®ç‚¹æ•°å¼‚å¸¸ åœ¨ FORMAT çš„æŽ§åˆ¶ä¸‹æ ¼å¼åŒ–å¹¶æ‰“å° ARGUMENTS å‚æ•°ã€‚
    
    é€‰é¡¹ï¼š
      -v var	å°†è¾“å‡ºèµ‹å€¼ç»™ shell å˜é‡ VAR è€Œä¸æ˜¾ç¤ºåœ¨æ ‡å‡†è¾“å‡ºä¸Š
    
    FORMAT æ˜¯åŒ…å«ä¸‰ç§å¯¹è±¡çš„å­—ç¬¦ä¸²ï¼šç®€å•åœ°è¢«æ‹·è´åˆ°æ ‡å‡†è¾“å‡ºçš„æ™®é€šå­—ç¬¦ï¼›
    è¢«å˜æ¢ä¹‹åŽæ‹·è´åˆ°æ ‡å‡†è¾“å…¥çš„è½¬ä¹‰å­—ç¬¦ï¼›ä»¥åŠæ¯ä¸ªéƒ½ä¼šå½±å“åˆ°ä¸‹ä¸ªå‚æ•°çš„æ‰“å°çš„æ ¼å¼åŒ–å£°æ˜Žã€‚
    
    åœ¨ printf(1) ä¸­æè¿°çš„æ ‡å‡†æŽ§åˆ¶å£°æ˜Žä¹‹å¤–ï¼Œprintf è§£æžï¼š
    
      %b	æ‰©å±•å¯¹åº”å‚æ•°ä¸­çš„åæ–œæ è½¬ä¹‰åºåˆ—
      %q	ä»¥å¯ä½œä¸º shell è¾“å…¥çš„æ ¼å¼å¼•ç”¨å‚æ•°
      %(fmt)T	ä»¥ FMT ä¸ºä¾›ç»™ strftime(3) çš„æ ¼å¼è¾“å‡ºæ—¥æœŸæ—¶é—´å­—ç¬¦ä¸²
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€…å†™æˆ–èµ‹å€¼é”™è¯¯å‘ç”Ÿã€‚ GNU bashï¼Œç‰ˆæœ¬ %s (%s)
 GNU bashï¼Œç‰ˆæœ¬ %s-(%s)
 GNU é•¿é€‰é¡¹:
 ä½¿ç”¨ GNU è½¯ä»¶çš„é€šç”¨å¸®åŠ©ï¼š<http://www.gnu.org/gethelp/>
 å°†å‘½ä»¤ç»„åˆä¸ºä¸€ä¸ªå•å…ƒã€‚
    
    è¿è¡Œç»„ä¸­çš„å‘½ä»¤é›†åˆã€‚è¿™æ˜¯å¯¹æ•´ä¸ªå‘½ä»¤é›†åˆ
    åšé‡å®šå‘çš„æ–¹æ³•ä¹‹ä¸€ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽä¸€ä¸ªæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚ HFT å¾…è¾“å…¥æ•°æ® å·²æŽˆäºˆ HFT ç›‘è§†æ¨¡å¼ å·²æ’¤é”€ HFT ç›‘è§†æ¨¡å¼ å·²å®Œæˆ HFT å£°éŸ³åºåˆ— HOME æœªè®¾å®š æŒ‚æ–­ æ²¡æœ‰åå­—ï¼ I/O å°±ç»ª éžæ³•çš„æŒ‡ä»¤ ä¿¡æ¯è¯·æ±‚ ä¸­æ–­ å·²æ€æ­» è®¸å¯è¯ GPLv3+: GNU GPL è®¸å¯è¯ç¬¬ä¸‰ç‰ˆæˆ–è€…æ›´æ–°ç‰ˆæœ¬ <http://gnu.org/licenses/gpl.html>
 æ ‡è®° shell å˜é‡ä¸ºä¸å¯æ”¹å˜ã€‚
    
    æ ‡è®°æ¯ä¸€ä¸ª NAME åç§°ä¸ºåªè¯»ï¼›è¿™äº› NAME å˜é‡çš„å€¼å°†ä¸å¯ä»¥è¢«åŽç»­çš„èµ‹å€¼
    æ“ä½œæ‰€æ”¹å˜ã€‚å¦‚æžœæä¾›äº† VALUEï¼Œåˆ™åœ¨æ ‡è®°ä¸ºåªè¯»ä¹‹å‰å°† VALUE å€¼èµ‹ç»™å˜é‡ã€‚
    
    é€‰é¡¹ï¼š
      -a	æŒ‡ä¸‹æ ‡æ•°ç»„å˜é‡
      -A	æŒ‡å…³è”æ•°ç»„æ ‡é‡
      -f	æŒ‡ shell å‡½æ•°
      -p	æ˜¾ç¤ºåªè¯»å˜é‡æˆ–å‡½æ•°åˆ—è¡¨ï¼Œå–å†³äºŽæ˜¯å¦æä¾›äº† -f é€‰é¡¹
    
    `--' çš„å‚æ•°ç¦ç”¨è¿›ä¸€æ­¥çš„é€‰é¡¹å¤„ç†ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€… NAME åç§°ã€‚ ä¿®æ”¹æˆ–æ˜¾ç¤ºè¡¥å…¨é€‰é¡¹ã€‚
    
    ä¿®æ”¹æ¯ä¸ª NAME åç§°çš„è¡¥å…¨é€‰é¡¹ï¼Œæˆ–å¦‚æžœæ²¡æœ‰æä¾› NAME åç§°ï¼Œæ‰§è¡Œå½“å‰çš„è¡¥å…¨ã€‚
    å¦‚æžœä¸å¸¦é€‰é¡¹ï¼Œæ‰“å°æ¯ä¸ª NAME åç§°çš„è¡¥å…¨é€‰é¡¹æˆ–å½“å‰çš„è¡¥å…¨å£°æ˜Žã€‚
    
    é€‰é¡¹ï¼š
    	-o option	ä¸ºæ¯ä¸ª NAME åç§°è®¾å®šè¡¥å…¨é€‰é¡¹ option
    	-D		ä¸º "default" å‘½ä»¤è¡¥å…¨æ”¹å˜é€‰é¡¹
    	-E		ä¸º "empty" å‘½ä»¤è¡¥å…¨æ”¹å˜é€‰é¡¹
    
    ä½¿ç”¨ `+o' è€Œä¸æ˜¯ `-o' å¯ä»¥å…³é—­æŒ‡å®šçš„é€‰é¡¹ã€‚
    
    å‚æ•°ï¼š
    
    æ¯ä¸ª NAME åç§°éƒ½å¯¹åº”ä¸€ä¸ªä¹‹å‰ä»¥é€šè¿‡ `complete' å†…å»ºå®šä¹‰äº†çš„è¡¥å…¨å£°æ˜Žçš„
    å‘½ä»¤ã€‚å¦‚æžœä¸æä¾› NAME åç§°ï¼Œå½“å‰ç”Ÿæˆè¡¥å…¨çš„å‡½æ•°å¿…é¡»è°ƒç”¨ compoptï¼Œ
    å¹¶ä¸”å½“å‰æ‰§è¡Œçš„è¡¥å…¨ç”Ÿæˆå™¨é€‰é¡¹ä¼šè¢«ä¿®æ”¹ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€… NAME åç§°æ²¡æœ‰å®šä¹‰è¡¥å…¨å£°æ˜Žã€‚ ä¿®æ”¹ shell èµ„æºé™åˆ¶ã€‚
    
    åœ¨å…è®¸æ­¤ç±»æŽ§åˆ¶çš„ç³»ç»Ÿä¸Šï¼Œæä¾›å¯¹äºŽ shell åŠå…¶åˆ›å»ºçš„è¿›ç¨‹æ‰€å¯ç”¨çš„
    èµ„æºçš„æŽ§åˆ¶ã€‚
    
    é€‰é¡¹ï¼š
      -S	ä½¿ç”¨è½¯ (`soft') èµ„æºé™åˆ¶
      -H	ä½¿ç”¨ç¡¬ (`hard') èµ„æºé™åˆ¶
      -a	æ‰€æœ‰å½“å‰é™åˆ¶éƒ½è¢«æŠ¥å‘Š
      -b	å¥—æŽ¥å­—ç¼“å­˜å°ºå¯¸
      -c	åˆ›å»ºçš„æ ¸æ–‡ä»¶çš„æœ€å¤§å°ºå¯¸
      -d	ä¸€ä¸ªè¿›ç¨‹çš„æ•°æ®åŒºçš„æœ€å¤§å°ºå¯¸
      -e	æœ€é«˜çš„è°ƒåº¦ä¼˜å…ˆçº§ (`nice')
      -f	æœ‰ shell åŠå…¶å­è¿›ç¨‹å¯ä»¥å†™çš„æœ€å¤§æ–‡ä»¶å°ºå¯¸
      -i	æœ€å¤šçš„å¯ä»¥æŒ‚èµ·çš„ä¿¡å·æ•°
      -k	åˆ†é…ç»™æ­¤è¿›ç¨‹çš„æœ€å¤§ kqueue æ•°é‡
      -l	ä¸€ä¸ªè¿›ç¨‹å¯ä»¥é”å®šçš„æœ€å¤§å†…å­˜å°ºå¯¸
      -m	æœ€å¤§çš„å†…å­˜è¿›é©»å°ºå¯¸
      -n	æœ€å¤šçš„æ‰“å¼€çš„æ–‡ä»¶æè¿°ç¬¦ä¸ªæ•°
      -p	ç®¡é“ç¼“å†²åŒºå°ºå¯¸
      -q	POSIX ä¿¡æ¯é˜Ÿåˆ—çš„æœ€å¤§å­—èŠ‚æ•°
      -r	å®žæ—¶è°ƒåº¦çš„æœ€å¤§ä¼˜å…ˆçº§
      -s	æœ€å¤§æ ˆå°ºå¯¸
      -t	æœ€å¤§çš„CPUæ—¶é—´ï¼Œä»¥ç§’ä¸ºå•ä½
      -u	æœ€å¤§ç”¨æˆ·è¿›ç¨‹æ•°
      -v	è™šæ‹Ÿå†…å­˜å°ºå¯¸
      -x	æœ€å¤§çš„æ–‡ä»¶é”æ•°é‡
      -P	æœ€å¤§ä¼ªç»ˆç«¯æ•°é‡
      -T	æœ€å¤§çº¿ç¨‹æ•°é‡
    
    å¹¶éžæ‰€æœ‰é€‰é¡¹åœ¨æ‰€æœ‰ç³»ç»Ÿä¸Šå¯ç”¨ã€‚
    
    å¦‚æžœæä¾›äº† LIMIT å˜é‡ï¼Œåˆ™å®ƒä¸ºæŒ‡å®šèµ„æºçš„æ–°çš„å€¼ï¼›ç‰¹åˆ«çš„ LIMIT å€¼ä¸º
    `soft'ã€`hard'å’Œ`unlimited'ï¼Œåˆ†åˆ«è¡¨ç¤ºå½“å‰çš„è½¯é™åˆ¶ï¼Œç¡¬é™åˆ¶å’Œæ— é™åˆ¶ã€‚
    å¦åˆ™æ‰“å°æŒ‡å®šèµ„æºçš„å½“å‰é™åˆ¶å€¼ï¼Œä¸å¸¦é€‰é¡¹åˆ™å‡å®šä¸º -f
    
    å–å€¼éƒ½æ˜¯ 1024 å­—èŠ‚ä¸ºå•ä½ï¼Œé™¤äº† -t ä»¥ç§’ä¸ºå•ä½ï¼Œ-p ä»¥ 512 å­—èŠ‚é€’å¢žï¼Œ
    -u ä¸ºæ— èŒƒå›´çš„è¿›ç¨‹æ•°é‡ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€…é”™è¯¯å‘ç”Ÿã€‚ å°†ä»»åŠ¡ç§»è‡³å‰å°ã€‚
    
    å°†ä»¥ JOB_SPEC æ ‡è¯†çš„ä»»åŠ¡æ”¾è‡³å‰å°ï¼Œä½¿å…¶æˆä¸º
    å½“å‰ä»»åŠ¡ã€‚å¦‚æžœ JOB_SPEC ä¸å­˜åœ¨ï¼Œshell è§‚å¿µä¸­çš„å½“å‰ä»»åŠ¡ 
    å°†è¢«ä½¿ç”¨ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    æ”¾è‡³å‰å°çš„å‘½ä»¤çŠ¶æ€ï¼Œæˆ–è€…å½“é”™è¯¯å‘ç”Ÿæ—¶ä¸ºå¤±è´¥ã€‚ ç§»åŠ¨ä»»åŠ¡è‡³åŽå°ã€‚
    
    å°† JOB_SPEC æ ‡è¯†çš„ä»»åŠ¡æ”¾è‡³åŽå°ï¼Œå°±åƒå®ƒä»¬
    æ˜¯å¸¦ `&' å¯åŠ¨çš„ä¸€æ ·ã€‚å¦‚æžœ JOB_SPEC ä¸å­˜åœ¨ï¼Œshell è§‚å¿µä¸­çš„
    å½“å‰ä»»åŠ¡å°†ä¼šè¢«ä½¿ç”¨ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸé™¤éžä»»åŠ¡ç®¡ç†æ²¡æœ‰å¯ç”¨æˆ–è€…é”™è¯¯å‘ç”Ÿã€‚ ç©ºçš„å‘½ä»¤ã€‚
    
    æ²¡æœ‰æ•ˆæžœï¼› æ­¤å‘½ä»¤ä¸åšä»»ä½•æ“ä½œã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    æ€»æ˜¯æˆåŠŸã€‚ OLDPWD æœªè®¾å®š è§£æžé€‰é¡¹å‚æ•°ã€‚
    
    Getopts è¢« shell è¿‡ç¨‹ç”¨äºŽè§£æžå¯å®šä½çš„å‚æ•°ä½œä¸ºé€‰é¡¹ã€‚
    
    
    OPTSTRING å­—ç¬¦ä¸²åŒ…å«å¾…è¯†åˆ«çš„é€‰é¡¹å­—æ¯ï¼›å¦‚æžœä¸€ä¸ªå­—æ¯åŽé¢è·Ÿ
    ç€åˆ†å·ï¼Œåˆ™è¯¥é€‰é¡¹éœ€è¦ä¸€ä¸ªå‚æ•°ï¼Œè€Œè¯¥å‚æ•°åº”ç”¨ç©ºæ ¼ä¸Žé€‰é¡¹åˆ†å¼€ã€‚
    
    
    æ¯æ¬¡å¯åŠ¨æ—¶ï¼Œgetopts ä¼šå°†ä¸‹ä¸€ä¸ªé€‰é¡¹æ”¾åˆ° shell å˜é‡ $name
    ä¸­ï¼Œå¦‚æžœ name å˜é‡ä¸å­˜åœ¨åˆ™å…ˆå°†å…¶åˆå§‹åŒ–ï¼Œè€Œä¸‹ä¸€ä¸ªå¾…å¤„
    ç†çš„å‚æ•°åºå·æ”¾å…¥ shell å˜é‡ OPTIND ä¸­ã€‚OPTIND å˜é‡åœ¨æ¯
    æ¬¡ shell æˆ–è€… shell è„šæœ¬å¯åŠ¨æ—¶éƒ½è¢«åˆå§‹åŒ–ä¸º1ã€‚å½“ä¸€ä¸ªé€‰é¡¹è¦
    æ±‚æœ‰ä¸€ä¸ªå‚æ•°æ—¶ï¼Œgetopts å°†å‚æ•°æ”¾å…¥ shell å˜é‡ OPTARG
    ä¸­ã€‚
    
    getopts æœ‰ä¸¤ç§æŠ¥å‘Šé”™è¯¯çš„æ–¹æ³•ã€‚å¦‚æžœ OPTSTRING å˜é‡çš„ç¬¬
    ä¸€ä¸ªå­—ç¬¦æ˜¯å†’å·ï¼Œgetopts ä½¿ç”¨æ²‰é»˜é”™è¯¯æŠ¥å‘Šã€‚åœ¨è¿™ç§æ¨¡å¼
    ä¸‹ï¼Œä¸ä¼šæ‰“å°é”™è¯¯æ¶ˆæ¯ã€‚å¦‚æžœçœ‹åˆ°äº†ä¸€ä¸ªæ— æ•ˆçš„é€‰é¡¹ï¼Œ
    getopts å°†æ‰¾åˆ°çš„é€‰é¡¹å­—ç¬¦æ”¾è‡³ OPTARG å˜é‡ä¸­ã€‚å¦‚æžœä¸€ä¸ªå¿…
    é¡»çš„é€‰é¡¹æ²¡æœ‰æ‰¾åˆ°ï¼Œgetopts æ”¾ä¸€ä¸ª ':' åˆ° NAME å˜é‡ä¸­å¹¶ä¸”è®¾
    ç½® OPTARG å˜é‡ä¸ºæ‰¾åˆ°çš„é€‰é¡¹å­—ç¬¦ã€‚å¦‚æžœ getopts ä¸åœ¨æ²‰é»˜æ¨¡
    å¼ä¸­ï¼Œå¹¶ä¸”é‡åˆ°äº†ä¸€ä¸ªæ— æ•ˆçš„é€‰é¡¹ï¼Œgetopts æ”¾ç½®ä¸€ä¸ª '?' åˆ° NAME 
    å˜é‡ä¸­å¹¶ä¸”å–æ¶ˆè®¾å®š OPTARGå˜é‡ã€‚å¦‚æžœå¿…é¡»çš„é€‰é¡¹æ²¡æœ‰æ‰¾åˆ°ï¼Œ
    ä¸€ä¸ª'?'ä¼šè¢«æ”¾å…¥ NAMEå˜é‡ä¸­ï¼ŒOPTARG å°†è¢«å–æ¶ˆè®¾å®šï¼Œå¹¶ä¸”ä¼š
    æ‰“å°ä¸€ä¸ªè¯Šæ–­ä¿¡æ¯ã€‚
    
    å¦‚æžœ shell å˜é‡ OPTERR çš„å€¼ä¸º0ï¼Œgetopts ç¦ç”¨
    é”™è¯¯ä¿¡æ¯çš„æ‰“å°ï¼Œå³ä½¿ OPTSTRING å˜é‡çš„ç¬¬ä¸€ä¸ªå­—ç¬¦ä¸æ˜¯ä¸€
    ä¸ªå†’å·ã€‚OPTERR çš„é»˜è®¤å€¼ä¸º1.
    
    Getopts é€šå¸¸è§£æžå¯å®šä½çš„å‚æ•°($0 - $9)ï¼Œä¸è¿‡å¦‚æžœæä¾›äº†
    æ›´å¤šçš„å‚æ•°ï¼Œå®ƒä»¬åè€Œä¼šè¢«è§£æžã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    å¦‚æžœä¸€ä¸ªé€‰é¡¹è¢«æ‰¾åˆ°åˆ™è¿”å›žæˆåŠŸï¼›å¦‚æžœé‡åˆ°äº†é€‰é¡¹çš„ç»“å°¾æˆ–è€…
    æœ‰é”™è¯¯å‘ç”Ÿåˆ™è¿”å›žå¤±è´¥ã€‚ æ‰“å°å½“å‰å·¥ä½œç›®å½•çš„åå­—ã€‚
    
    é€‰é¡¹ï¼š
      -L	æ‰“å° $PWD å˜é‡çš„å€¼ï¼Œå¦‚æžœå®ƒåŒ…å«äº†å½“å‰çš„å·¥ä½œç›®å½•
      -P	æ‰“å°å½“å‰çš„ç‰©ç†è·¯å¾„ï¼Œä¸å¸¦æœ‰ä»»ä½•çš„ç¬¦å·é“¾æŽ¥
    
    é»˜è®¤æƒ…å†µä¸‹ï¼Œ`pwd' çš„è¡Œä¸ºå’Œå¸¦ `-L' é€‰é¡¹ä¸€è‡´
    
    é€€å‡ºçŠ¶æ€ï¼š
    é™¤éžä½¿ç”¨äº†æ— æ•ˆé€‰é¡¹æˆ–è€…å½“å‰ç›®å½•ä¸å¯è¯»ï¼Œå¦åˆ™è¿”å›žçŠ¶æ€ä¸º0ã€‚ é€€å‡º ä»Žæ ‡å‡†è¾“å…¥è¯»å–ä¸€è¡Œå¹¶å°†å…¶åˆ†ä¸ºä¸åŒçš„åŸŸã€‚
    
    ä»Žæ ‡å‡†è¾“å…¥è¯»å–å•ç‹¬çš„ä¸€è¡Œï¼Œæˆ–è€…å¦‚æžœä½¿ç”¨äº† -u é€‰é¡¹ï¼Œä»Žæ–‡ä»¶æè¿°ç¬¦ FD ä¸­è¯»å–ã€‚
    è¯¥è¡Œè¢«åˆ†å‰²æˆåŸŸï¼Œå¦‚åŒè¯è¯­åˆ†å‰²ä¸€æ ·ï¼Œå¹¶ä¸”ç¬¬ä¸€ä¸ªè¯è¢«èµ‹å€¼ç»™ç¬¬ä¸€ä¸ª NAME å˜é‡ï¼Œç¬¬äºŒ
    ä¸ªè¯è¢«èµ‹å€¼ç»™ç¬¬äºŒä¸ª NAME å˜é‡ï¼Œå¦‚æ­¤ç»§ç»­ï¼Œç›´åˆ°å‰©ä¸‹æ‰€æœ‰çš„è¯è¢«èµ‹å€¼ç»™æœ€åŽä¸€ä¸ª NAME
    å˜é‡ã€‚åªæœ‰ $IFS å˜é‡ä¸­çš„å­—ç¬¦è¢«è®¤ä½œæ˜¯è¯è¯­åˆ†éš”ç¬¦ã€‚
    
    å¦‚æžœæ²¡æœ‰æä¾› NAME å˜é‡ï¼Œåˆ™è¯»å–çš„è¡Œè¢«å­˜æ”¾åœ¨ REPLY å˜é‡ä¸­ã€‚
    
    é€‰é¡¹ï¼š
      -a array	å°†è¯è¯­èµ‹å€¼ç»™ ARRAY æ•°ç»„å˜é‡çš„åºåˆ—ä¸‹æ ‡æˆå‘˜ï¼Œä»Žé›¶å¼€å§‹ã€‚
      -d delim	æŒç»­è¯»å–ç›´åˆ°è¯»å…¥ DELIM å˜é‡ä¸­çš„ç¬¬ä¸€ä¸ªå­—ç¬¦ï¼Œè€Œä¸æ˜¯æ¢è¡Œç¬¦
      -e	åœ¨ä¸€ä¸ªäº¤äº’å¼ shell ä¸­ä½¿ç”¨ Readline èŽ·å–è¡Œ
      -i text	ä½¿ç”¨ TEXT æ–‡æœ¬ä½œä¸º Readline çš„åˆå§‹æ–‡å­—
      -n nchars	è¯»å– nchars ä¸ªå­—ç¬¦ä¹‹åŽè¿”å›žï¼Œè€Œä¸æ˜¯ç­‰åˆ°è¯»å–æ¢è¡Œç¬¦ã€‚
    		ä½†æ˜¯åˆ†éš”ç¬¦ä»ç„¶æœ‰æ•ˆï¼Œå¦‚æžœé‡åˆ°åˆ†éš”ç¬¦ä¹‹å‰è¯»å–äº†ä¸è¶³ nchars ä¸ªå­—ç¬¦ã€‚
      -N nchars	åœ¨å‡†ç¡®è¯»å–äº† nchars ä¸ªå­—ç¬¦ä¹‹åŽè¿”å›žï¼Œé™¤éžé‡åˆ°æ–‡ä»¶ç»“æŸç¬¦æˆ–è€…è¯»è¶…æ—¶ï¼Œ
    		ä»»ä½•çš„åˆ†éš”ç¬¦éƒ½è¢«å¿½ç•¥
      -p prompt	åœ¨å°è¯•è¯»å–ä¹‹å‰è¾“å‡º PROMPT æç¤ºç¬¦å¹¶ä¸”ä¸å¸¦
    		æ¢è¡Œç¬¦
      -r	ä¸å…è®¸åæ–œæ è½¬ä¹‰ä»»ä½•å­—ç¬¦
      -s	ä¸æ˜¾ç¤ºç»ˆç«¯çš„ä»»ä½•è¾“å…¥
      -t timeout	å¦‚æžœåœ¨ TIMEOUT ç§’å†…æ²¡æœ‰è¯»å–ä¸€ä¸ªå®Œæ•´çš„è¡Œåˆ™è¶…æ—¶å¹¶ä¸”è¿”å›žå¤±è´¥ã€‚
    		TMOUT å˜é‡çš„å€¼æ˜¯é»˜è®¤çš„è¶…æ—¶æ—¶é—´ã€‚
    		TIMEOUT å¯ä»¥æ˜¯å°æ•°ã€‚å¦‚æžœ TIMEOUT æ˜¯ 0ï¼Œé‚£ä¹ˆä»…å½“åœ¨æŒ‡å®šçš„æ–‡ä»¶æè¿°ç¬¦ä¸Š
    		è¾“å…¥æœ‰æ•ˆçš„æ—¶å€™ï¼Œread æ‰è¿”å›žæˆåŠŸã€‚
    		å¦‚æžœè¶…è¿‡äº†è¶…æ—¶æ—¶é—´ï¼Œåˆ™è¿”å›žçŠ¶æ€ç å¤§äºŽ 128
      -u fd	ä»Žæ–‡ä»¶æè¿°ç¬¦ FD ä¸­è¯»å–ï¼Œè€Œä¸æ˜¯æ ‡å‡†è¾“å…¥
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žç ä¸ºé›¶ï¼Œé™¤éžé‡åˆ°äº†æ–‡ä»¶ç»“æŸç¬¦ï¼Œè¯»è¶…æ—¶ï¼Œæˆ–è€…æ— æ•ˆçš„æ–‡
    ä»¶æè¿°ç¬¦ä½œä¸ºå‚æ•°ä¼ é€’ç»™äº† -u é€‰é¡¹ã€‚ ä»Žä¸€ä¸ªæ–‡ä»¶ä¸­è¯»å–è¡Œåˆ°æ•°ç»„å˜é‡ä¸­
    
    ä¸€ä¸ª `mapfile'çš„åŒä¹‰è¯ã€‚ ä»Žæ ‡å‡†è¾“å…¥è¯»å–è¡Œåˆ°ä¸‹æ ‡æ•°ç»„å˜é‡ä¸­ã€‚
    
    ä»Žæ ‡å‡†è¾“å…¥è¯»å–è¡Œåˆ°ä¸‹æ ‡æ•°ç»„å˜é‡ ARRAY ä¸­ï¼Œæˆ–è€…å¦‚æžœä½¿ç”¨äº† -u é€‰é¡¹ï¼Œ
    ä»Žæ–‡ä»¶æè¿°ç¬¦ FD ä¸­è¯»å–ã€‚MAPFILE å˜é‡æ˜¯é»˜è®¤çš„ ARRAY å˜é‡ã€‚
    
    é€‰é¡¹ï¼š
      -d delim	ä½¿ç”¨ DELIM è€Œéžæ¢è¡Œç¬¦æ–­è¡Œ
      -n count	æœ€å¤šæ‹·è´ COUNT è¡Œï¼Œå¦‚æžœ COUNT ä¸º 0ï¼Œåˆ™æ‹·è´æ‰€æœ‰è¡Œã€‚
      -O origin	ä»Žä¸‹æ ‡ ORIGIN å¼€å§‹ èµ‹å€¼ç»™ ARRAY å˜é‡ã€‚é»˜è®¤ä¸‹æ ‡æ˜¯0.
      -s count 	ä¸¢å¼ƒæœ€å…ˆè¯»å–çš„ COUNT è¡Œã€‚
      -t		ä»Žè¯»å–çš„æ¯è¡Œæœ«å°¾åˆ é™¤ä¸€ä¸ªæ¢è¡Œç¬¦ã€‚
      -u fd		ä»Žæ–‡ä»¶æè¿°ç¬¦ FD ä¸­è¯»å–è¡Œè€Œä¸æ˜¯æ ‡å‡†è¾“å…¥ã€‚
      -C callback	æ¯ QUANTUM æ¬¡è¯»è¡Œä¹‹åŽå¯¹ CALLBACK å›žè°ƒè¿›è¡Œä¼°å€¼ã€‚
      -c quantum	å®šä¹‰æ¯æ¬¡è°ƒç”¨ CALLBACK å›žè°ƒä¹‹é—´è¯»å–çš„è¡Œæ•°ã€‚
    
    å‚æ•°ï¼š
      ARRAY		å­˜å‚¨æ•°æ®ä½¿ç”¨çš„æ•°ç»„å˜é‡
    
    å¦‚æžœä½¿ç”¨äº† -C è€Œæ²¡æœ‰ -cï¼Œé»˜è®¤çš„é‡å­æ˜¯5000ã€‚å½“å¯¹ CALLBACK ä¼°å€¼æ—¶ï¼Œ
    ä¸‹ä¸€ä¸ªå°†è¢«èµ‹å€¼çš„æ•°ç»„å…ƒç´ çš„ä¸‹æ ‡ä½œä¸ºé¢å¤–å‚æ•°è¢«ä¼ é€’ã€‚
    
    å¦‚æžœæ²¡æœ‰æ˜¾å¼æŒ‡å®šèµ·å§‹ä¸‹æ ‡ï¼Œmapfile å°†åœ¨èµ‹å€¼å‰æ¸…ç©º ARRAY å˜é‡ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹ï¼Œæˆ–è€… ARRAY å˜é‡åªè¯»æˆ–ä¸æ˜¯ä¸‹æ ‡æ•°ç»„ã€‚ è®°å½•é” è®°ä½æˆ–æ˜¾ç¤ºç¨‹åºä½ç½®ã€‚
    
    ç¡®å®šå¹¶è®°ä½æ¯ä¸€ä¸ªç»™å®š NAME åç§°çš„å‘½ä»¤çš„å®Œæ•´è·¯å¾„ã€‚
    å¦‚æžœä¸æä¾›å‚æ•°ï¼Œåˆ™æ˜¾ç¤ºå·²ç»è®°ä½çš„å‘½ä»¤çš„ä¿¡æ¯ã€‚
    
    é€‰é¡¹ï¼š
      -d		å¿˜è®°æ¯ä¸€ä¸ªå·²ç»è®°ä½çš„ NAME çš„ä½ç½®
      -l		ä»¥å¯ä½œä¸ºè¾“å…¥é‡ç”¨çš„æ ¼å¼æ˜¾ç¤º
      -p pathname	ä½¿ç”¨ pathname è·¯å¾„ä½œä¸º NAME å‘½ä»¤çš„å…¨è·¯å¾„
      -r		å¿˜è®°æ‰€æœ‰è®°ä½çš„ä½ç½®
      -t		æ‰“å°è®°ä½çš„æ¯ä¸€ä¸ª NAME åç§°çš„ä½ç½®ï¼Œå¦‚æžœæŒ‡å®šäº†å¤šä¸ª
    		NAME åç§°ï¼Œåˆ™æ¯ä¸ªä½ç½®å‰é¢ä¼šåŠ ä¸Šç›¸åº”çš„ NAME åç§°
    		
    å‚æ•°ï¼š
      NAME		æ¯ä¸ª NAME åç§°ä¼šåœ¨ $PATH è·¯å¾„å˜é‡ä¸­è¢«æœç´¢ï¼Œå¹¶ä¸”æ·»åŠ åˆ°è®°ä½çš„å‘½ä»¤
    åˆ—è¡¨ä¸­ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éž NAME å‘½ä»¤æ²¡æœ‰æ‰¾åˆ°æˆ–è€…ä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹ã€‚ ä»Žæ ˆä¸­åˆ é™¤ç›®å½•ã€‚
    
    ä»Žç›®å½•æ ˆä¸­åˆ é™¤æ¡ç›®ã€‚ä¸å¸¦å‚æ•°æ—¶ï¼Œåˆ é™¤æ ˆé¡¶ç›®å½•ï¼Œå¹¶æ”¹å˜è‡³æ–°çš„æ ˆ
    é¡¶ç›®å½•ã€‚
    
    é€‰é¡¹ï¼š
      -n	æŠ‘åˆ¶ä»Žæ ˆä¸­åˆ é™¤ç›®å½•æ—¶é€šå¸¸çš„ç›®å½•å˜æ¢æ“ä½œï¼Œä»Žè€Œä»…å¯¹æ ˆ
    	è¿›è¡Œæ“ä½œã€‚
    
    å‚æ•°ï¼š
      +N	åˆ é™¤ç¬¬ N ä¸ªç›®å½• (`dirs' æ˜¾ç¤ºçš„ç›®å½•åˆ—è¡¨ä¸­å·¦èµ·ï¼Œä»Žé›¶å¼€å§‹)ã€‚
    	ä¾‹å¦‚ï¼š `popd +0' åˆ é™¤ç¬¬ä¸€ä¸ªç›®å½•ï¼Œ`popd +1' åˆ é™¤ç¬¬äºŒä¸ªã€‚
    
      -N	åˆ é™¤ç¬¬ N ä¸ªç›®å½• (`dirs' æ˜¾ç¤ºçš„ç›®å½•åˆ—è¡¨ä¸­å³èµ·ï¼Œä»Žé›¶å¼€å§‹)ã€‚
    	ä¾‹å¦‚ï¼š `popd -0' åˆ é™¤æœ€åŽä¸€ä¸ªç›®å½•ï¼Œï¼Œ`popd -1' åˆ é™¤å€’æ•°ç¬¬äºŒä¸ªã€‚
    
    `dirs' å†…å»ºæ˜¾ç¤ºç›®å½•æ ˆã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„å‚æ•°æˆ–è€…ç›®å½•å˜æ¢å¤±è´¥ã€‚ ä»Žåˆ«åå®šä¹‰åˆ—è¡¨ä¸­åˆ é™¤æ¯ä¸€ä¸ªâ€œåå­—â€ã€‚
    
    é€‰é¡¹ï¼š
      -a	åˆ é™¤æ‰€æœ‰çš„åˆ«åå®šä¹‰ã€‚
    
    è¿”å›žæˆåŠŸï¼Œé™¤éžâ€œåå­—â€œä¸æ˜¯ä¸€ä¸ªå·²å­˜åœ¨çš„åˆ«åã€‚ ä»Žå½“å‰ shell ä¸­åˆ é™¤ä»»åŠ¡ã€‚
    
    ä»Žæ´»åŠ¨ä»»åŠ¡è¡¨ä¸­åˆ é™¤æ¯ä¸€ä¸ª JOBSPEC å‚æ•°ã€‚ä¸å¸¦ä»»ä½•
    JOBSPEC å‚æ•°æ—¶ï¼Œshell ä½¿ç”¨è§‚å¿µä¸­çš„å½“å‰ä»»åŠ¡ã€‚
    
    é€‰é¡¹ï¼š
      -a	å¦‚æžœä¸æä¾› JOBSPEC å‚æ•°ï¼Œåˆ™åˆ é™¤æ‰€æœ‰ä»»åŠ¡
      -h	æ ‡è¯†æ¯ä¸ª JOBSPEC ä»»åŠ¡ï¼Œä»Žè€Œå½“ shell æŽ¥æ”¶åˆ° SIGHUP
    		ä¿¡å·æ—¶ä¸å‘é€ SIGHUP ç»™æŒ‡å®šä»»åŠ¡
      -r	ä»…åˆ é™¤è¿è¡Œä¸­çš„ä»»åŠ¡
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€… JOBSPEC å£°æ˜Žã€‚ ä»Žç›®å½•æ ˆä¸­åˆ é™¤æ¡ç›®ã€‚ä¸å¸¦å‚æ•°æ—¶ï¼Œåˆ é™¤
    æ ˆé¡¶ç›®å½•å¹¶æ”¹å˜è‡³æ–°çš„æ ˆé¡¶ç›®å½•ã€‚
    
    é€‰é¡¹ï¼š
      -n	æŠ‘åˆ¶ä»Žæ ˆä¸­åˆ é™¤ç›®å½•æ—¶é€šå¸¸çš„æ”¹å˜ç›®å½•æ“ä½œï¼Œ
    	ä»Žè€Œåªæœ‰æ ˆè¢«æ“ä½œã€‚
    
    å‚æ•°ï¼š
      +N	ä»Ž `dirs' è¾“å‡ºçš„åˆ—è¡¨ä¸­ï¼Œ
    	åˆ é™¤å·¦èµ·ç¬¬Nä¸ªæ¡ç›®ï¼Œè®¡æ•°ä»Ž0å¼€å§‹ã€‚ä¾‹å¦‚ï¼š`popd +0'
    	åˆ é™¤ç¬¬ä¸€ä¸ªç›®å½•ï¼Œ`popd +1' åˆ é™¤ç¬¬äºŒä¸ªã€‚
    
      -N	ä»Ž `dirs' è¾“å‡ºçš„åˆ—è¡¨ä¸­ï¼Œ
    	åˆ é™¤å³èµ·ç¬¬Nä¸ªæ¡ç›®ï¼Œè®¡æ•°ä»Ž0å¼€å§‹ï¼Œä¾‹å¦‚ï¼š`popd -0'
    	åˆ é™¤æœ€åŽä¸€ä¸ªæ¡ç›®ï¼Œ`popd -1' åˆ é™¤å€’æ•°ç¬¬äºŒä¸ªã€‚
    
    `dirs' å†…å»ºå˜é‡æ˜¾ç¤ºç›®å½•æ ˆã€‚ ä½¿ç”¨æŒ‡å®šå‘½ä»¤æ›¿æ¢ shellã€‚
    
    æ‰§è¡Œ COMMAND å‘½ä»¤ï¼Œä»¥æŒ‡å®šçš„ç¨‹åºæ›¿æ¢è¿™ä¸ª shellã€‚
    ARGUMENTS å‚æ•°æˆä¸º COMMANDå‘½ä»¤çš„å‚æ•°ã€‚å¦‚æžœ
    æ²¡æœ‰æŒ‡å®šCOMMAND å‘½ä»¤ï¼Œåˆ™ä»»ä½•çš„é‡å®šå‘åœ¨å½“å‰ shell ä¸­ç”Ÿæ•ˆã€‚
    
    é€‰é¡¹ï¼š
      -a åç§°	ä½œä¸ºç¬¬0ä¸ªå‚æ•°ä¼ é€’ç»™ COMMAND å‘½ä»¤
      -c		åœ¨ä¸€ä¸ªç©ºçŽ¯å¢ƒä¸­æ‰§è¡Œ COMMAND å‘½ä»¤
      -l		åœ¨COMMAND å‘½ä»¤çš„ç¬¬0ä¸ªå‚æ•°ä¸­åŠ ä¸€ä¸ªçŸ­çº¿
    
    å¦‚æžœå‘½ä»¤ä¸èƒ½è¢«æ‰§è¡Œï¼Œåˆ™é€€å‡ºä¸€ä¸ªéžäº¤äº’å¼çš„ shellï¼Œé™¤éž
   shell é€‰é¡¹`execfail' å·²ç»è®¾å®šã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸé™¤éž COMMAND å‘½ä»¤æ²¡æœ‰æ‰¾åˆ°æˆ–è€…å‡ºçŽ°ä¸€ä¸ªé‡å®šå‘é”™è¯¯ã€‚ æŠ¥å‘Šç®¡é“æ‰§è¡Œçš„æ¶ˆè€—æ—¶é—´ã€‚
    
    æ‰§è¡Œ PIPELINE å¹¶ä¸”æ‰“å° PIPELINE ç»ˆç»“æ—¶å®žé™…æ—¶é—´ã€ç”¨æˆ· CPU æ—¶é—´å’Œç³»ç»Ÿ
    CPU æ—¶é—´çš„æ€»ç»“ã€‚
    
    é€‰é¡¹ï¼š
      -p	ç”¨å¯è¿ç§»çš„ POSIX æ ¼å¼æ‰“å°ç”¨æ—¶æ€»ç»“ã€‚
    
    TIMEFORMAT å˜é‡çš„å€¼è¢«ä½œä¸ºè¾“å‡ºæ ¼å¼ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žçŠ¶æ€å³PIPELINE çš„è¿”å›žçŠ¶æ€ã€‚ ç»§ç»­ forã€while æˆ– until å¾ªçŽ¯ã€‚
    
    ç»§ç»­å½“å‰ FORã€WHILE æˆ– UNTIL å¾ªçŽ¯çš„ä¸‹ä¸€æ­¥ã€‚
    å¦‚æžœæŒ‡å®šäº† Nï¼Œ åˆ™ç»§ç»­å½“å‰çš„ç¬¬ N é‡å¾ªçŽ¯ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    é€€å‡ºçŠ¶æ€ä¸º 0 é™¤éž N ä¸å¤§äºŽæˆ–ç­‰äºŽ1ã€‚ åœ¨å‰å°ç»§ç»­ä»»åŠ¡
    
    å¯¹äºŽ JOB_SPEC å‚æ•°æ¥è¯´å’Œ `fg' å‘½ä»¤ç­‰åŒã€‚ç»§ç»­ä¸€ä¸ª
    åœæ­¢çš„æˆ–è€…åŽå°ä»»åŠ¡ã€‚JOB_SPEC å¯ä»¥æŒ‡å®šä¸€ä¸ªä»»åŠ¡
    åå­—æˆ–ä»»åŠ¡å·ã€‚åœ¨ JOB_SPEC åŽåŠ ä¸Šä¸€ä¸ª `&' å°†ä¼šæŠŠ
    ä»»åŠ¡æ”¾è‡³åŽå°ï¼Œå°±åƒä»»åŠ¡å£°æ˜Žè¢«ä½œä¸º `bg' å‘½ä»¤çš„å‚æ•°
    æ‰§è¡Œä¸€æ ·ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žè¢«ç»§ç»­çš„ä»»åŠ¡çš„çŠ¶æ€ã€‚ è¿”å›žä¸€ä¸ªæˆåŠŸç»“æžœã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    æ€»æ˜¯æˆåŠŸ è¿”å›žä¸€ä¸ªä¸æˆåŠŸçš„ç»“æžœã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    æ€»æ˜¯å¤±è´¥ã€‚ ä»Žä¸€ä¸ª shell å‡½æ•°è¿”å›žã€‚
    
    ä½¿ä¸€ä¸ªå‡½æ•°æˆ–è€…è¢«å¼•ç”¨çš„è„šæœ¬ä»¥æŒ‡å®šçš„è¿”å›žå€¼ N é€€å‡ºã€‚
    å¦‚æžœ N è¢«çœç•¥ï¼Œåˆ™è¿”å›žçŠ¶æ€å°±æ˜¯
    å‡½æ•°æˆ–è„šæœ¬ä¸­çš„æœ€åŽä¸€ä¸ªæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›ž Nï¼Œæˆ–è€…å¦‚æžœ shell ä¸åœ¨æ‰§è¡Œä¸€ä¸ªå‡½æ•°æˆ–å¼•ç”¨è„šæœ¬æ—¶ï¼Œå¤±è´¥ã€‚ è¿”å›žå½“å‰å­è°ƒç”¨çš„ä¸Šä¸‹æ–‡ã€‚
    
    ä¸å¸¦æœ‰ EXPR æ—¶ï¼Œè¿”å›ž "$line $filename"ã€‚å¸¦æœ‰ EXPR æ—¶ï¼Œè¿”å›ž
    "$line $subroutine $filename"ï¼›è¿™ä¸ªé¢å¤–çš„ä¿¡æ¯å¯ä»¥è¢«ç”¨äºŽæä¾›
    æ ˆè¿½è¸ªã€‚
    
    EXPR çš„å€¼ æ˜¾ç¤ºäº†åˆ°å½“å‰è°ƒç”¨å¸§éœ€è¦å›žåŽ»å¤šå°‘ä¸ªè°ƒç”¨å¸§ï¼›é¡¶éƒ¨å¸§
    æ˜¯ç¬¬ 0 å¸§ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    é™¤éž shell ä¸åœ¨æ‰§è¡Œä¸€ä¸ª shell å‡½æ•°æˆ–è€… EXPR æ— æ•ˆï¼Œå¦åˆ™è¿”å›žç»“
    æžœä¸º0ã€‚ è¿”å›žå½“å‰å­ä¾‹ç¨‹è°ƒç”¨çš„ä¸Šä¸‹æ–‡
    
    ä¸å¸¦ EXPR æ—¶ï¼Œè¿”å›ž è¿è¡Œä¸­ æ®µé”™è¯¯ ä»Žåˆ—è¡¨ä¸­é€‰å–è¯å¹¶ä¸”æ‰§è¡Œå‘½ä»¤ã€‚
    
    WORDS å˜é‡è¢«å±•å¼€ï¼Œç”Ÿæˆä¸€ä¸ªè¯çš„åˆ—è¡¨ã€‚å±•å¼€çš„è¯é›†åˆè¢«æ‰“å°
    åœ¨æ ‡å‡†é”™è¯¯è¾“å‡ºè®¾å¤‡ä¸Šï¼Œæ¯ä¸ªä»¥ä¸€ä¸ªæ•°å­—åšå‰ç¼€ã€‚å¦‚æžœæ²¡æœ‰ `in WORDS'
    åˆ™å‡å®šä½¿ç”¨`in "$@"'ã€‚PS3æç¤ºç¬¦ä¼šè¢«æ˜¾ç¤ºå¹¶ä¸”ä»Žæ ‡å‡†è¾“å…¥è¯»å…¥ä¸€è¡Œ
    å¦‚æžœè¯¥è¡Œç”±è¢«æ˜¾ç¤ºçš„è¯å¯¹åº”çš„æ•°å­—ç»„æˆï¼Œåˆ™ NAME å˜é‡è¢«è®¾å®šä¸ºç›¸åº”
    çš„è¯ã€‚å¦‚æžœè¡Œä¸ºç©ºï¼Œåˆ™ WORDS å˜é‡å’Œæç¤ºç¬¦è¢«é‡æ–°æ˜¾ç¤ºã€‚å¦‚æžœè¯»å–äº†
    æ–‡ä»¶ç»“æŸç¬¦ï¼Œåˆ™å‘½ä»¤å®Œæˆã€‚è¯»å…¥ä»»ä½•å…¶ä»–çš„å€¼ä¼šå¯¼è‡´ NAME å˜é‡è¢«è®¾å®š
    ä¸ºç©ºã€‚è¯»å…¥çš„è¡Œè¢«å­˜æ”¾åœ¨å˜é‡ REPLY ä¸­ã€‚COMMANDS å‘½ä»¤åœ¨æ¯æ¬¡é€‰æ‹©
    ä¹‹åŽæ‰§è¡Œç›´åˆ°æ‰§è¡Œä¸€ä¸ª break å‘½ä»¤ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽä¸€ä¸ªæ‰§è¡Œçš„å‘½ä»¤çš„çŠ¶æ€ã€‚ è®¾å®š Readline é”®ç»‘å®šå’Œå˜é‡ã€‚
    
    ç»‘å®šä¸€ä¸ªé”®åºåˆ—åˆ°ä¸€ä¸ª Readline å‡½æ•°æˆ–è€…å®ï¼Œæˆ–è€…è®¾å®šä¸€ä¸ª
    Readline å˜é‡ã€‚éžé€‰é¡¹å‚æ•°çš„è¯­æ³•å’Œ ~/.inputrc æ–‡ä»¶ä¸­çš„ç­‰
    åŒï¼Œä½†æ˜¯å¿…é¡»ä½œä¸ºä¸€ä¸ªå‚æ•°è¢«ä¼ é€’ï¼Œ
    ä¾‹å¦‚ï¼Œbind '"\C-x\C-r": re-read-init-file'.
    
    é€‰é¡¹ï¼š
      -m  é”®æ˜ å°„      åœ¨æ­¤å‘½ä»¤æ‰§è¡Œè¿‡ç¨‹ä¸­ä½¿ç”¨æŒ‡å®šçš„é”®æ˜ å°„ã€‚
                     å¯è¢«æŽ¥å—çš„é”®æ˜ å°„åå­—æœ‰ emacsã€emacs-standardã€emacs-metaã€
                     emacs-ctlxã€viã€vi-moveã€vi-commandã€å’Œ vi-insertã€‚
      -l             åˆ—å‡ºå‡½æ•°åç§°ã€‚
      -P             åˆ—å‡ºå‡½æ•°åç§°å’Œç»‘å®šã€‚
      -p             ä»¥å¯ä»¥é‡æ–°ç”¨ä½œè¾“å…¥çš„æ ¼å¼åˆ—å‡ºå‡½æ•°åç§°å’Œç»‘å®šã€‚
      -S             åˆ—å‡ºå¯ä»¥å¯åŠ¨å®çš„é”®åºåˆ—ä»¥åŠå®ƒä»¬çš„å€¼
      -s             ä»¥å¯ä»¥é‡æ–°ç”¨ä½œè¾“å…¥çš„æ ¼å¼åˆ—å‡ºå¯ä»¥å¯åŠ¨å®çš„é”®ä»¥åŠå®ƒä»¬çš„å€¼ã€‚
      -V             åˆ—å‡ºå˜é‡åæˆå’Œå®ƒä»¬çš„å€¼
      -v             ä»¥å¯ä»¥é‡æ–°ç”¨ä½œè¾“å…¥çš„æ ¼å¼åˆ—å‡ºå˜é‡çš„åç§°å’Œå®ƒä»¬çš„å€¼
      -q  å‡½æ•°å      æŸ¥è¯¢æŒ‡å®šçš„å‡½æ•°å¯ä»¥ç”±å“ªäº›é”®å¯åŠ¨ã€‚
      -u  å‡½æ•°å      åç»‘å®šæ‰€æœ‰ç»‘å®šè‡³æŒ‡å®šå‡½æ•°çš„é”®ã€‚
      -r  é”®åºåˆ—      å–æ¶ˆæŒ‡å®šé”®åºåˆ—çš„ç»‘å®šã€‚
      -f  æ–‡ä»¶å      ä»ŽæŒ‡å®šæ–‡ä»¶ä¸­è¯»å–é”®ç»‘å®šã€‚
      -x  é”®åºåˆ—:shellå‘½ä»¤	å½“æŒ‡å®šçš„é”®åºåˆ—è¢«è¾“å…¥æ—¶ï¼Œæ‰§è¡ŒæŒ‡å®šçš„ shell å‘½ä»¤ã€‚
      -X             ä»¥å¯è¢«é‡ç”¨çš„å½¢å¼åˆ—å‡ºç”¨ -x ç»‘å®šçš„é”®åºåˆ—å’Œå‘½ä»¤ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    é™¤éžä½¿ç”¨äº†æ— æ³•è¾¨è®¤çš„é€‰é¡¹æˆ–è€…é”™è¯¯å‘ç”Ÿï¼Œå¦åˆ™è¿”å›ž0. è®¾å®šå’Œå–æ¶ˆè®¾å®š shell é€‰é¡¹ã€‚
    
    æ”¹å˜æ¯ä¸ª shell é€‰é¡¹ OPTNAMEçš„è®¾å®šã€‚ä¸å¸¦å‚æ•°
    æ—¶ï¼Œåˆ—å‡ºæ‰€æœ‰ shell é€‰é¡¹å¹¶æ ‡æ³¨æ¯ä¸€ä¸ªé€‰é¡¹æ˜¯å¦è¢«
    è®¾å®šã€‚
    
    é€‰é¡¹ï¼š
      -o	é™åˆ¶ OPTNAME ä¸ºå®šä¹‰ç”¨äºŽ`set -o' çš„é€‰é¡¹
      -p	æ‰“å°æ¯ä¸ª shell é€‰é¡¹å¹¶æ ‡æ³¨å®ƒçš„çŠ¶æ€ã€‚
      -q	æŠ‘åˆ¶è¾“å‡º
      -s	å¯ç”¨(è®¾å®š)æ¯ä¸ª OPTNAME é€‰é¡¹
      -u	ç¦ç”¨(å–æ¶ˆè®¾å®š)æ¯ä¸ª OPTNAME é€‰é¡¹
    
    é€€å‡ºçŠ¶æ€ï¼š
    å¦‚æžœ OPTNAME é€‰é¡¹è¢«å¯ç”¨åˆ™è¿”å›žæˆåŠŸï¼›å¦‚æžœæ˜¯
    æ— æ•ˆçš„é€‰é¡¹æˆ–OPTNAME è¢«ç¦ç”¨åˆ™å¤±è´¥ã€‚ ä¸º shell å˜é‡è®¾å®šå¯¼å‡ºå±žæ€§ã€‚
    
    æ ‡è®°æ¯ä¸ª NAME åç§°ä¸ºè‡ªåŠ¨å¯¼å‡ºåˆ°åŽç»­å‘½ä»¤æ‰§è¡Œçš„çŽ¯å¢ƒã€‚å¦‚æžœæä¾›äº† VALUE
    åˆ™å¯¼å‡ºå‰å°† VALUE ä½œä¸ºèµ‹å€¼ã€‚
    
    é€‰é¡¹ï¼š
      -f	æŒ‡ shell å‡½æ•°
      -n	åˆ é™¤æ¯ä¸ª NAME åç§°çš„å¯¼å‡ºå±žæ€§
      -p	æ˜¾ç¤ºæ‰€æœ‰å¯¼å‡ºçš„å˜é‡å’Œå‡½æ•°çš„åˆ—è¡¨
    
    `--' çš„å‚æ•°ç¦ç”¨è¿›ä¸€æ­¥çš„é€‰é¡¹å¤„ç†ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€… NAME åç§°ã€‚ è®¾å®šå˜é‡å€¼å’Œå±žæ€§ã€‚
    
    å£°æ˜Žå˜é‡å¹¶ä¸”èµ‹äºˆå®ƒä»¬å±žæ€§ã€‚å¦‚æžœæ²¡ç”¨ç»™å®šåç§°ï¼Œ
    åˆ™æ˜¾ç¤ºæ‰€æœ‰å˜é‡çš„å±žæ€§å’Œå€¼ã€‚
    
    é€‰é¡¹ï¼š
      -f	é™åˆ¶åŠ¨ä½œæˆ–æ˜¾ç¤ºä¸ºåªå‡½æ•°åç§°å’Œå®šä¹‰
      -F	é™åˆ¶ä»…æ˜¾ç¤ºå‡½æ•°åç§° (ä»¥åŠè¡Œå·å’Œæºæ–‡ä»¶åï¼Œå½“è°ƒè¯•æ—¶)
      -g	å½“ç”¨äºŽ shell å‡½æ•°å†…æ—¶åˆ›å»ºå…¨å±€å˜é‡; å¦åˆ™å¿½ç•¥
      -p	æ˜¾ç¤ºæ¯ä¸ª NAME å˜é‡çš„å±žæ€§å’Œå€¼
    
    è®¾å®šå±žæ€§çš„é€‰é¡¹ï¼š
      -a	ä½¿ NAME æˆä¸ºä¸‹æ ‡æ•°ç»„ (å¦‚æžœæ”¯æŒ)
      -A	ä½¿ NAME æˆä¸ºå…³è”æ•°ç»„ (å¦‚æžœæ”¯æŒ)
      -i	ä½¿ NAME å¸¦æœ‰ `integer' (æ•´æ•°)å±žæ€§
      -l	å°† NAME åœ¨èµ‹å€¼æ—¶è½¬ä¸ºå°å†™
      -n	ä½¿ NAME æˆä¸ºæŒ‡å‘ä¸€ä¸ªä»¥å…¶å€¼ä¸ºåç§°çš„å˜é‡çš„å¼•ç”¨
      -r	å°† NAME å˜ä¸ºåªè¯»
      -t	ä½¿ NAME å¸¦æœ‰ `trace' (è¿½è¸ª)å±žæ€§
      -u	å°† NAME åœ¨èµ‹å€¼æ—¶è½¬ä¸ºå¤§å†™
      -x	å°† NAME å¯¼å‡º
    
    ç”¨ `+' ä»£æ›¿ `-' ä¼šå…³é—­æŒ‡å®šé€‰é¡¹ã€‚
    
    å¸¦æœ‰æ•´æ•°å±žæ€§çš„å˜é‡åœ¨èµ‹å€¼æ—¶å°†ä½¿ç”¨ç®—æœ¯ä¼°å€¼(è§
    `let' å‘½ä»¤)
    
    åœ¨å‡½æ•°ä¸­ä½¿ç”¨æ—¶ï¼Œ`declare' ä½¿ NAME æˆä¸ºæœ¬åœ°å˜é‡ï¼Œå’Œ `local'
    å‘½ä»¤ä¸€è‡´ã€‚`-g' é€‰é¡¹æŠ‘åˆ¶æ­¤è¡Œä¸ºã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸé™¤éžä½¿ç”¨äº†æ— æ•ˆé€‰é¡¹æˆ–è€…å‘ç”Ÿé”™è¯¯ã€‚ Shell å‘½ä»¤åŒ¹é…å…³é”®å­— ` Shell é€‰é¡¹:
 ç§»ä½ä½ç½®å‚æ•°ã€‚
    
    é‡å‘½åä½ç½®å‚æ•° $N+1ã€$N+2 ... åˆ° $1ã€$2 ...  å¦‚æžœæ²¡æœ‰ç»™å®š Nï¼Œ
    åˆ™å‡è®¾ä¸º1.
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éž N ä¸ºè´Ÿæˆ–è€…å¤§äºŽ $#ã€‚ ä¿¡å· %d å£°æ˜Ž readline å¦‚ä½•å®Œæˆè¯»å–å‚æ•°ã€‚
    
    å£°æ˜Žå¯¹äºŽæ¯ä¸€ä¸ª NAME åç§°å¦‚ä½•å®Œæˆè¯»å–å‚æ•°ã€‚å¦‚æžœä¸å¸¦é€‰é¡¹ï¼Œ
    çŽ°æœ‰çš„è¡¥å…¨å£°æ˜Žä¼šä»¥å¯ä»¥é‡ç”¨ä¸ºè¾“å…¥çš„æ ¼å¼æ‰“å°å‡ºæ¥ã€‚
    
    é€‰é¡¹ï¼š
      -p	ä»¥å¯é‡ç”¨çš„æ ¼å¼æ‰“å°çŽ°æœ‰çš„è¡¥å…¨å£°æ˜Žã€‚
      -r	å¯¹äºŽæ¯ä¸ª NAME åç§°åˆ é™¤è¡¥å…¨å£°æ˜Žï¼Œæˆ–è€…å¦‚æžœæ²¡æœ‰æä¾› NAME
    	åç§°ï¼Œåˆ é™¤æ‰€æœ‰çš„è¡¥å…¨å£°æ˜Žã€‚
      -D	å¯¹äºŽæ²¡æœ‰è¡¥å…¨å£°æ˜Žå®šä¹‰çš„å‘½ä»¤ï¼Œè®¾å®šé»˜è®¤çš„è¡¥å…¨åŠ¨ä½œ
      -E	å¯¹äºŽ "empty" å‘½ä»¤è®¾å®šè¡¥å…¨åŠ¨ä½œï¼Œâ€”â€” å¯¹äºŽç©ºè¡Œçš„è¡¥å…¨ã€‚
    
    å°è¯•è¡¥å…¨æ—¶ï¼ŒæŒ‰ç…§ä¸Šè¿°å¤§å†™å­—æ¯é€‰é¡¹çš„é¡ºåºè¿›è¡ŒåŠ¨ä½œã€‚-D é€‰é¡¹ä¼˜å…ˆ
    çº§é«˜äºŽ -E é€‰é¡¹ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€…é”™è¯¯å‘ç”Ÿã€‚ å·²åœæ­¢ å·²åœæ­¢(ä¿¡å·) å·²åœæ­¢(tty è¾“å…¥) å·²åœæ­¢(tty è¾“å‡º) å·²åœæ­¢(%s) æŒ‚èµ· shell æ‰§è¡Œã€‚
    
    æŒ‚èµ· shell çš„æ‰§è¡Œç›´åˆ°æ”¶åˆ° SIGCONT ä¿¡å·ã€‚
    ç™»å½• shell ä¸å¯ä»¥è¢«æŒ‚èµ·ï¼Œé™¤éžå¼ºåˆ¶æ‰§è¡Œã€‚
    
    é€‰é¡¹ï¼š
      -f	å¼ºåˆ¶æŒ‚èµ·ï¼Œå³ä½¿æ˜¯ç™»å½• shellã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžæ²¡æœ‰å¯ç”¨ä»»åŠ¡æŽ§åˆ¶æˆ–è€…æœ‰é”™è¯¯å‘ç”Ÿã€‚ æ—¶é—´æ ¼å¼: `%c': æ— æ•ˆçš„æ ¼å¼å­—ç¬¦ å·²ç»ˆæ­¢ %s ä¸­çš„é‚®ä»¶å·²è¢«é˜…è¯»
 æœ‰è¿è¡Œä¸­çš„ä»»åŠ¡ã€‚
 æœ‰åœæ­¢çš„ä»»åŠ¡ã€‚
 åœ¨æ³•å¾‹è®¸å¯çš„æƒ…å†µä¸‹ç‰¹æ­¤æ˜Žç¤ºï¼Œæœ¬è½¯ä»¶ä¸æä¾›ä»»ä½•æ‹…ä¿ã€‚ è¿™äº› shell å‘½ä»¤æ˜¯å†…éƒ¨å®šä¹‰çš„ã€‚è¯·è¾“å…¥ `help' ä»¥èŽ·å–ä¸€ä¸ªåˆ—è¡¨ã€‚
è¾“å…¥ `help åç§°' ä»¥å¾—åˆ°æœ‰å…³å‡½æ•°`åç§°'çš„æ›´å¤šä¿¡æ¯ã€‚
ä½¿ç”¨ `info bash' æ¥èŽ·å¾—å…³äºŽ shell çš„æ›´å¤šä¸€èˆ¬æ€§ä¿¡æ¯ã€‚
ä½¿ç”¨ `man -k' æˆ– `info' æ¥èŽ·å–ä¸åœ¨åˆ—è¡¨ä¸­çš„å‘½ä»¤çš„æ›´å¤šä¿¡æ¯ã€‚

åç§°æ—è¾¹çš„æ˜Ÿå·(*)è¡¨ç¤ºè¯¥å‘½ä»¤è¢«ç¦ç”¨ã€‚

 æœ¬è½¯ä»¶æ˜¯è‡ªç”±è½¯ä»¶ï¼Œæ‚¨å¯ä»¥è‡ªç”±åœ°æ›´æ”¹å’Œé‡æ–°å‘å¸ƒã€‚ å¯¹ä¿¡å·å’Œå…¶ä»–äº‹ä»¶è®¾é™·é˜±ã€‚
    
    å®šä¹‰ä¸€ä¸ªå¤„ç†å™¨ï¼Œåœ¨ shell æŽ¥æ”¶åˆ°ä¿¡å·å’Œå…¶ä»–æ¡ä»¶ä¸‹æ‰§è¡Œã€‚
    
    ARG å‚æ•°æ˜¯å½“ shell æŽ¥æ”¶åˆ° SIGNAL_SPEC ä¿¡å·æ—¶è¯»å–å’Œæ‰§è¡Œçš„å‘½ä»¤ã€‚
    å¦‚æžœæ²¡æœ‰æŒ‡å®š ARG å‚æ•° (å¹¶ä¸”åªç»™å‡ºä¸€ä¸ª SIGNAL_SPEC ä¿¡å·) æˆ–è€…
 ARG å‚æ•°ä¸º
    `-'ï¼Œæ¯ä¸€ä¸ªæŒ‡å®šçš„å‚æ•°ä¼šè¢«é‡ç½®ä¸ºåŽŸå§‹å€¼ã€‚å¦‚æžœ ARG å‚æ•°æ˜¯ä¸€ä¸ªç©ºä¸²ï¼Œåˆ™æ¯ä¸€ä¸ª
    SIGNAL_SPEC ä¿¡å·ä¼šè¢« shell å’Œå®ƒå¯åŠ¨çš„å‘½ä»¤å¿½ç•¥ã€‚
    
    å¦‚æžœä¸€ä¸ª SIGNAL_SPEC ä¿¡å·æ˜¯ EXIT (0) ï¼Œåˆ™ ARG å‘½ä»¤ä¼šåœ¨ shell é€€å‡ºæ—¶è¢«
    æ‰§è¡Œã€‚å¦‚æžœä¸€ä¸ª SIGNAL_SPEC ä¿¡å·æ˜¯ DEBUGï¼Œåˆ™ ARGå‘½ä»¤ä¼šåœ¨æ¯ä¸€ä¸ªç®€å•å‘½
    ä»¤ä¹‹å‰æ‰§è¡Œã€‚
    
    å¦‚æžœä¸æä¾›å‚æ•°ï¼Œtrap æ‰“å°åˆ—è¡¨æ˜¾ç¤ºæ¯ä¸€ä¸ªä¸Žæ¯ä¸€ä¸ªä¿¡å·ç›¸å…³è”çš„å‘½ä»¤ã€‚
    
    é€‰é¡¹ï¼š
      -l	æ‰“å°ä¸€ä¸ªä¿¡å·åç§°å’Œå®ƒä»¬å¯¹åº”çš„ç¼–å·çš„åˆ—è¡¨
      -p	æ‰“å°ä¸Žæ¯ä¸ª SIGNAL_SPEC ä¿¡å·ç›¸å…³è”çš„é™·é˜±å‘½ä»¤
    
    æ¯ä¸€ä¸ª SIGNAL_SPEC ä¿¡å·å¯ä»¥æ˜¯ <signal.h> ä¸­çš„ä¿¡å·åç§°æˆ–è€…ä¿¡å·ç¼–å·ã€‚
    ä¿¡å·åç§°å¤§å°å†™æ•æ„Ÿä¸”å¯ä»¥ä½¿ç”¨ SIG å‰ç¼€ã€‚ä¿¡å·å¯ç”¨ "kill -ä¿¡å· $$"
    å‘é€ç»™ shellã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€… SIGSPECã€‚ è¯·è¾“å…¥`%s -c "help set"' ä»¥èŽ·å¾—å…³äºŽ shell é€‰é¡¹çš„æ›´å¤šä¿¡æ¯
 è¯·è¾“å…¥ `%s -c help' ä»¥èŽ·å¾—å…³äºŽ shell å†…å»ºå‘½ä»¤çš„æ›´å¤šä¿¡æ¯.
 æœªçŸ¥ä¿¡å· # æœªçŸ¥ä¿¡å· #%d æœªçŸ¥é”™è¯¯ æœªçŸ¥çŠ¶æ€ å–æ¶ˆè®¾å®š shell å˜é‡å’Œå‡½æ•°çš„å€¼å’Œå±žæ€§ã€‚
    
    å¯¹æ¯ä¸€ä¸ª NAME åç§°ï¼Œåˆ é™¤å¯¹åº”çš„å˜é‡æˆ–å‡½æ•°ã€‚
    
    é€‰é¡¹ï¼š
      -f	å°†æ¯ä¸ª NAME è§†ä¸ºå‡½æ•°
      -v	å°†æ¯ä¸ª NAME è§†ä¸ºå˜é‡
      -n	å°†æ¯ä¸ª NAME è§†ä¸ºåç§°å¼•ç”¨ï¼Œåªå–æ¶ˆå…¶æœ¬èº«è€Œéžå…¶æŒ‡å‘çš„å˜é‡
    
    ä¸å¸¦é€‰é¡¹æ—¶ï¼Œunset é¦–å…ˆå°è¯•å–æ¶ˆè®¾å®šä¸€ä¸ªå˜é‡ï¼Œå¦‚æžœå¤±è´¥ï¼Œå†å°è¯•å–æ¶ˆè®¾å®šä¸€ä¸ªå‡½æ•°ã€‚
    
    æŸäº›å˜é‡ä¸å¯ä»¥è¢«å–æ¶ˆè®¾å®šï¼›å‚è§ `readonly'ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„é€‰é¡¹æˆ–è€… NAME åç§°ä¸ºåªè¯»ã€‚ ç´§æ€¥ I/O çŠ¶å†µ ç”¨æ³•ï¼š	%s [GNU é•¿é€‰é¡¹] [é€‰é¡¹] ...
	%s [GNU é•¿é€‰é¡¹] [é€‰é¡¹] è„šæœ¬æ–‡ä»¶ ...
 ä½¿ç”¨ "%s" é€€å‡º shell ã€‚
 è¯·ä½¿ç”¨`bashbug' å‘½ä»¤æ¥æŠ¥å‘Šé”™è¯¯.
 ç”¨æˆ·ä¿¡å·1 ç”¨æˆ·ä¿¡å·2 ç­‰å¾…ä»»åŠ¡å®Œæˆå¹¶è¿”å›žé€€å‡ºçŠ¶æ€ã€‚
    
    ç­‰å¾…ä»¥ ID ç¼–å·è¯†åˆ«çš„è¿›ç¨‹ï¼Œå…¶ä¸­ID å¯ä»¥æ˜¯è¿›ç¨‹ç¼–å·æˆ–è€…ä»»åŠ¡å£°æ˜Žï¼Œ
    å¹¶æŠ¥å‘Šå®ƒçš„ç»ˆæ­¢çŠ¶æ€ã€‚å¦‚æžœ ID æ²¡æœ‰ç»™å‡ºï¼Œåˆ™ç­‰å¾…æ‰€æœ‰çš„å½“å‰æ´»è·ƒå­
    è¿›ç¨‹ï¼Œå¹¶ä¸”è¿”å›žçŠ¶æ€ä¸ºé›¶ã€‚å¦‚æžœ ID æ˜¯ä»»åŠ¡å£°æ˜Žï¼Œç­‰å¾…ä»»åŠ¡ç®¡é“ä¸­çš„
    æ‰€æœ‰è¿›ç¨‹ã€‚
    
    è‹¥ç»™å®šäº† -n é€‰é¡¹ï¼Œç­‰å¾…ä¸‹ä¸€ä¸ªä»»åŠ¡å®Œæˆå¹¶è¿”å›žå…¶çŠ¶æ€ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæœ€åŽä¸€ä¸ª ID è¿›ç¨‹çš„çŠ¶æ€ï¼›å¦‚æžœä½¿ç”¨äº†æ— æ•ˆçš„ ID æˆ–è€…é€‰é¡¹åˆ™å¤±è´¥ã€‚ ç­‰å¾…è¿›ç¨‹å®Œæˆå¹¶ä¸”è¿”å›žé€€å‡ºçŠ¶æ€ã€‚
    
    ç­‰å¾…æŒ‡å®šè¿›ç¨‹å¹¶æŠ¥å‘Šå®ƒçš„ç»ˆæ­¢çŠ¶æ€ã€‚å¦‚æžœæ²¡æœ‰æä¾› PIDï¼Œåˆ™å½“å‰æ‰€æœ‰çš„æ´»è·ƒ
    å­è¿›ç¨‹éƒ½ä¼šè¢«ç­‰å¾…ï¼Œå¹¶ä¸”è¿”å›žç ä¸ºé›¶ã€‚PID å¿…é¡»ä¸ºè¿›ç¨‹å·ã€‚
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žè¿›ç¨‹ ID çš„çŠ¶æ€ï¼›å¦‚æžœ PID æ˜¯æ— æ•ˆçš„è¿›ç¨‹å·æˆ–è€…æŒ‡å®šäº†æ— æ•ˆçš„é€‰é¡¹åˆ™å¤±è´¥ã€‚ çª—å£å·²æ”¹å˜ å†™å‚æ•°è‡³æ ‡å‡†è¾“å‡ºè®¾å¤‡ã€‚
    
    åœ¨æ ‡å‡†è¾“å‡ºè®¾å¤‡ä¸Šæ˜¾ç¤º ARGs å‚æ•°å’Œä¸€ä¸ªæ¢è¡Œã€‚
    
    é€‰é¡¹ï¼š
      -n	ä¸é™„åŠ æ¢è¡Œ
    
    é€€å‡ºçŠ¶æ€ï¼š
    é™¤éžå†™é”™è¯¯å‘ç”Ÿï¼Œå¦åˆ™è¿”å›žæˆåŠŸã€‚ å°†å‚æ•°å†™åˆ°æ ‡å‡†è¾“å‡ºã€‚
    
    åœ¨æ ‡å‡†è¾“å‡ºä¸Šï¼Œæ˜¾ç¤ºç”¨ç©ºæ ¼åˆ†å‰²çš„ ARG å‚æ•°åŽè·Ÿä¸€ä¸ªæ¢è¡Œã€‚
    
    é€‰é¡¹ï¼š
      -n	ä¸è¦è¿½åŠ æ¢è¡Œ
      -e	å¯ç”¨ä¸‹åˆ—åæ–œæ è½¬ä¹‰çš„è§£é‡Š
      -E	æ˜¾å¼åœ°æŠ‘åˆ¶å¯¹äºŽåæ–œæ è½¬ä¹‰çš„è§£é‡Š
    
    `echo' å¯¹ä¸‹åˆ—åæ–œæ å­—ç¬¦è¿›è¡Œè½¬ä¹‰ï¼š
      \a	è­¦å‘Š(å“é“ƒ)
      \b	é€€æ ¼
      \c	æŠ‘åˆ¶æ›´å¤šçš„è¾“å‡º
      \e	è½¬ä¹‰å­—ç¬¦
      \f	æ¢é¡µå­—ç¬¦
      \n	æ¢è¡Œ
      \r	å›žè½¦
      \t	æ¨ªå‘åˆ¶è¡¨ç¬¦
      \v	çºµå‘åˆ¶è¡¨ç¬¦
      \\	åæ–œæ 
      \0nnn	ä»¥ NNN (å…«è¿›åˆ¶)ä¸º ASCII ç çš„å­—ç¬¦ã€‚ NNN å¯ä»¥æ˜¯ 0 åˆ° 3 ä¸ªå…«è¿›åˆ¶ä½
      \xHH	ä»¥ HH (åå…­è¿›åˆ¶)ä¸ºå€¼çš„å…«æŒ‰ä½å­—ç¬¦ã€‚HHå¯ä»¥æ˜¯ä¸€ä¸ªæˆ–ä¸¤ä¸ªåå…­è¿›åˆ¶ä½
    
    é€€å‡ºçŠ¶æ€ï¼š
    è¿”å›žæˆåŠŸé™¤éžæœ‰å†™é”™è¯¯å‘ç”Ÿã€‚ æ‚¨åœ¨ $_ ä¸­æœ‰é‚®ä»¶ æ‚¨åœ¨ $_ ä¸­æœ‰æ–°é‚®ä»¶ [ å‚æ•°... ] [[ è¡¨è¾¾å¼ ]] `%c': å‘½ä»¤é”™è¯¯ `%c': æ— æ•ˆæ ¼å¼å­—ç¬¦ `%c': æ— æ•ˆçš„ç¬¦å·çŠ¶æ€å­—ç¬¦ `%c': æ— æ•ˆçš„ç¬¦å·çŠ¶æ€è¿ç®—ç¬¦ `%c': æ— æ•ˆçš„æ—¶é—´æ ¼å¼å£°æ˜Ž `%s': æ— æ³•è§£é™¤ç»‘å®š `%s': æ— æ•ˆçš„åˆ«å `%s': æ— æ•ˆçš„é”®æ˜ å°„å `%s': ç‰¹æ®Šå†…å»º `%s': ç¼ºå°‘æ ¼å¼å­—ç¬¦ `%s': ä¸æ˜¯æœ‰æ•ˆçš„è¿›ç¨‹å·æˆ–è€…ä»»åŠ¡å£°æ˜Ž `%s': ä¸æ˜¯æœ‰æ•ˆçš„æ ‡è¯†ç¬¦ `%s': æœªçŸ¥å‡½æ•°å éœ€è¦ `)' éœ€è¦`)'ï¼Œå¾—åˆ° %s æ¡ä»¶è¡¨è¾¾å¼éœ€è¦ `:' add_process: è¿›ç¨‹å· %5ld(%s) æ ‡æ³¨ä¸ºä»æ´»ç€ add_process: è¿›ç¨‹ %5ld(%s) è¿›å…¥ the_pipeline alias [-p] [åç§°[=å€¼] ... ] all_local_variables: å½“å‰ä½œç”¨åŸŸä¸­æ²¡æœ‰å‡½æ•°ä¸Šä¸‹æ–‡ å‚æ•° éœ€è¦å‚æ•° éœ€è¦æ•°ç»„å˜é‡æ”¯æŒ å°è¯•ç»™éžå˜é‡èµ‹å€¼ æ•°ç»„ä¸‹æ ‡ä¸æ­£ç¡® é”™è¯¯çš„å‘½ä»¤ç±»åž‹ é”™è¯¯çš„æ¡ä»¶è¿žæŽ¥ç¬¦ é”™è¯¯çš„è·³è½¬ é”™è¯¯çš„æ›¿æ¢: åœ¨ %s ä¸­æ²¡æœ‰é—­åˆçš„ "`" é”™è¯¯çš„æ›¿æ¢: åœ¨ %2$s ä¸­æ²¡æœ‰é—­åˆçš„ `%1$s' bash é¦–é¡µï¼š<http://www.gnu.org/software/bash>
 bash_execute_unix_command: æ— æ³•ä¸ºå‘½ä»¤æ‰¾åˆ°é”®æ˜ å°„ bg [ä»»åŠ¡å£°æ˜Ž ...] bind [-lpvsPSVX] [-m é”®æ˜ å°„] [-f æ–‡ä»¶å] [-q åç§°] [-u åç§°] [-r é”®åºåˆ—] [-x é”®åºåˆ—:shell-å‘½ä»¤] [é”®åºåˆ—:readline-å‡½æ•° æˆ– readline-å‘½ä»¤] å¤§æ‹¬å·å±•å¼€ï¼š æ— æ³•ä¸º %s åˆ†é…å†…å­˜ å¤§æ‹¬å·å±•å¼€ï¼š ä¸º %d ä¸ªå…ƒç´ åˆ†é…å†…å­˜å¤±è´¥ å¤§æ‹¬å·å±•å¼€ï¼š ä¸º `%s' åˆ†é…å†…å­˜å¤±è´¥ break [n] é”™è¯¯ï¼šè¡¨è¾¾å¼èµ‹å€¼ç¬¦å·é”™è¯¯ builtin [shell å†…å»º [å‚æ•° ...]] caller [è¡¨è¾¾å¼] åªèƒ½ä»Žå‡½æ•°æˆ–è€…æºè„šæœ¬è¿”å›ž(`return') åªèƒ½åœ¨å‡½æ•°ä¸­ä½¿ç”¨ æ— æ³•ä»Žæ–‡ä»¶æè¿°ç¬¦ %d ä¸º bash çš„è¾“å…¥èŽ·å–ä¸€ä¸ªæ–°çš„æ–‡ä»¶æè¿°ç¬¦ æ— æ³•ä¸ºç«‹å³æ–‡æ¡£åˆ›å»ºä¸´æ—¶æ–‡ä»¶: %s æ— æ³•å¤åˆ¶æ–‡ä»¶æè¿°ç¬¦ %d åˆ°æ–‡ä»¶æè¿°ç¬¦ %d æ— æ³•å°†å‘½åç®¡é“ %s ä½œä¸ºæ–‡ä»¶æè¿°ç¬¦ %d å¤åˆ¶ æ— æ³•åœ¨å…±äº«å¯¹è±¡ %2$s ä¸­æ‰¾åˆ° %1$s: %3$s æ— æ³•ä¸ºå‘½ä»¤æ›¿æ¢åˆ›å»ºå­è¿›ç¨‹ æ— æ³•ä¸ºè¿›ç¨‹æ›¿æ¢åˆ›å»ºå­è¿›ç¨‹ æ— æ³•ä¸ºå‘½ä»¤æ›¿æ¢åˆ›å»ºç®¡é“ æ— æ³•ä¸ºè¿›ç¨‹æ›¿æ¢åˆ›å»ºç®¡é“ æ— æ³•æ‰“å¼€å‘½åç®¡é“ %s è¿›readline- æ— æ³•æ‰“å¼€å‘½åç®¡é“ %s è¿›è¡Œå†™å…¥ æ— æ³•æ‰“å¼€å…±äº«å¯¹è±¡ %s: %s æ— æ³•ä»Ž /dev/null é‡å®šå‘æ ‡å‡†è¾“å…¥: %s æ— æ³•ä¸ºæ–‡ä»¶æè¿°ç¬¦ %d é‡ç½®nodelayæ¨¡å¼ æ— æ³•åŒæ—¶è®¾å®šå’Œå–æ¶ˆè®¾å®š shell é€‰é¡¹ æ— æ³•å°† gid è®¾ä¸º %d: æœ‰æ•ˆ gid %d æ— æ³•è®¾å®šç»ˆç«¯è¿›ç¨‹ç»„(%d) æ— æ³•å°† uid è®¾ä¸º %d: æœ‰æ•ˆ uid %d æ— æ³•åŒæ—¶å–æ¶ˆè®¾å®šä¸€ä¸ªå‡½æ•°å’Œä¸€ä¸ªå˜é‡ æ— æ³•æŒ‚èµ· æ— æ³•æŒ‚èµ·ä¸€ä¸ªç™»å½• shell æ— æ³•ç”¨ `-f' ç”Ÿæˆå‡½æ•° æœ€å¤šåªèƒ½ä½¿ç”¨ -anrw é€‰é¡¹ä¸­çš„ä¸€ä¸ª case è¯ in [æ¨¡å¼ [| æ¨¡å¼]...) å‘½ä»¤ ;;]... esac cd [-L|[-P [-e]] [-@]] [ç›®å½•] å­è¿›ç¨‹ setpgid (%ld åˆ° %ld) command [-pVv] å‘½ä»¤ [å‚æ•° ...] command_substitute: æ— æ³•å°†ç®¡é“å¤åˆ¶ä¸ºæ–‡ä»¶æè¿°ç¬¦ 1 compgen [-abcdefgjksuv] [-o é€‰é¡¹]  [-A åŠ¨ä½œ] [-G å…¨å±€æ¨¡å¼] [-W è¯è¯­åˆ—è¡¨]  [-F å‡½æ•°] [-C å‘½ä»¤] [-X è¿‡æ»¤æ¨¡å¼] [-P å‰ç¼€] [-S åŽç¼€] [è¯è¯­] complete [-abcdefgjksuv] [-pr] [-DE] [-o é€‰é¡¹] [-A åŠ¨ä½œ] [-G å…¨å±€æ¨¡å¼] [-W è¯è¯­åˆ—è¡¨]  [-F å‡½æ•°] [-C å‘½ä»¤] [-X è¿‡æ»¤æ¨¡å¼] [-P å‰ç¼€] [-S åŽç¼€] [åç§° ...] è¡¥å…¨: æœªæ‰¾åˆ°å‡½æ•° `%s' compopt [-o|+o é€‰é¡¹] [-DE] [åç§° ...] éœ€è¦äºŒå…ƒæ¡ä»¶è¿ç®—ç¬¦ continue [n] coproc [åç§°] å‘½ä»¤ [é‡å®šå‘] æ— æ³•æ‰¾åˆ° /tmp ï¼Œè¯·åˆ›å»º cprintf: `%c': æ— æ•ˆçš„æ ¼å¼å­—ç¬¦ å½“å‰ declare [-aAfFgilnrtux] [-p] [åç§°[=å€¼] ...] åˆ é™¤è¿›ç¨‹ç»„ %2$ld ä¸­å·²åœæ­¢çš„ä»»åŠ¡ %1$d describe_pid: %ld: æ— æ­¤è¿›ç¨‹å· ç›®å½•æ ˆä¸ºç©º ç›®å½•æ ˆç´¢å¼• dirs [-clpv] [+N] [-N] é™¤ä»¥ 0 åŠ¨æ€åŠ è½½ä¸å¯ç”¨ echo [-n] [å‚æ•° ...] echo [-neE] [å‚æ•° ...] ç©ºæ•°ç»„å˜é‡å enable [-a] [-dnps] [-f æ–‡ä»¶å] [åç§° ...] èŽ·å–ç»ˆç«¯å±žæ€§æ—¶å‡ºé”™: %s `%s' å‡½æ•°å®šä¹‰å¯¼å…¥é”™è¯¯ è®¾å®šç»ˆç«¯å±žæ€§æ—¶å‡ºé”™: %s eval [å‚æ•° ...] eval: è¶…å‡ºæœ€å¤§ eval åµŒå¥—å±‚æ•° (%d) exec [-cl] [-a åç§°] [å‘½ä»¤ [å‚æ•° ...]] [é‡å®šå‘ ...] exit [n] éœ€è¦ `)' æŒ‡æ•°å°äºŽ 0 export [-fn] [åç§°[=å€¼] ...] æˆ– export -p éœ€è¦è¡¨è¾¾å¼ è¡¨è¾¾å¼é€’å½’å±‚æ¬¡è¶Šç•Œ fc [-e ç¼–è¾‘å™¨å] [-lnr] [èµ·å§‹] [ç»ˆç»“] æˆ– fc -s [æ¨¡å¼=æ›¿æ¢ä¸²] [å‘½ä»¤] fg [ä»»åŠ¡å£°æ˜Ž] æ–‡ä»¶æè¿°ç¬¦è¶…å‡ºèŒƒå›´ éœ€è¦æ–‡ä»¶åå‚æ•° for (( è¡¨è¾¾å¼1; è¡¨è¾¾å¼2; è¡¨è¾¾å¼3 )); do å‘½ä»¤; done for åç§° [in è¯è¯­ ... ] ; do å‘½ä»¤; done å‰åˆ† (fork) å‡ºçš„çš„è¿›ç¨‹å· %d å‡ºçŽ°åœ¨è¿è¡Œä¸­çš„ä»»åŠ¡ %d ä¸­ æ ¼å¼è§£æžé—®é¢˜: %s free: ç”¨å·²ç»é‡Šæ”¾çš„å—ä½œä¸ºå‚æ•°è¢«è°ƒç”¨ free: ç”¨æœªåˆ†é…çš„å—ä½œä¸ºå‚æ•°è¢«è°ƒç”¨ free: å…¶å®žå’Œæœ«å°¾å—å¤§å°ä¸ä¸€è‡´ free: æ£€æµ‹åˆ°ä¸‹æº¢ï¼›mh_nbytes è¶Šç•Œ function åç§° { å‘½ä»¤ ; } æˆ– name () { å‘½ä»¤ ; } æœªæ¥ç‰ˆæœ¬çš„ shell ä¼šå¼ºåˆ¶ä¼°å€¼ä¸ºç®—æœ¯æ›¿æ¢ getcwd: æ— æ³•è®¿é—®çˆ¶ç›®å½• getopts é€‰é¡¹å­—ç¬¦ä¸² åç§° [å‚æ•°] hash [-lr] [-p è·¯å¾„å] [-dt] [åç§° ...] å·²ç¦ç”¨å“ˆå¸Œ help [-dms] [æ¨¡å¼ ...] æ­¤ç‰ˆæœ¬å†…å¸®åŠ©ä¸å¯ç”¨ ç«‹å³æ–‡æ¡£åœ¨ç¬¬ %d è¡Œè¢«æ–‡ä»¶ç»“æŸç¬¦åˆ†éš” (éœ€è¦ `%s') history [-c] [-d åç§»é‡] [n] æˆ– history -anrw [æ–‡ä»¶å] æˆ– history -ps å‚æ•° [å‚æ•°...] åŽ†å²ä½ç½® åŽ†å²å£°æ˜Ž å‘½ä¸­	å‘½ä»¤
 é¢„å¢žç¬¦æˆ–é¢„å‡ç¬¦åŽåº”è·Ÿæœ‰æ ‡è¯†ç¬¦ if å‘½ä»¤; then å‘½ä»¤; [ elif å‘½ä»¤; then å‘½ä»¤; ]... [ else å‘½ä»¤; ] fi initialize_job_control: getpgrp å¤±è´¥ initialize_job_control: è¡Œè§„åˆ™ initialize_job_control: setpgid æ— æ•ˆçš„ç®—æœ¯è¿›åˆ¶ æ— æ•ˆçš„åŸº %2$s çš„ exportstr ä¸­æœ‰æ— æ•ˆçš„å­—ç¬¦ %1$d æ— æ•ˆçš„åå…­è¿›åˆ¶æ•° æ— æ•ˆæ•°å­— æ— æ•ˆçš„å…«è¿›åˆ¶æ•° æ— æ•ˆçš„ä¿¡å·æ•° åœ¨ä¸å¸¦ä»»åŠ¡æŽ§åˆ¶çš„æƒ…å†µä¸‹å¯åŠ¨äº†ä»»åŠ¡ %d job_spec [&] jobs [-lnprs] [ä»»åŠ¡å£°æ˜Ž ...] æˆ– jobs -x å‘½ä»¤ [å‚æ•°] kill [-s ä¿¡å·å£°æ˜Ž | -n ä¿¡å·ç¼–å· | -ä¿¡å·å£°æ˜Ž] è¿›ç¨‹å· | ä»»åŠ¡å£°æ˜Ž ... æˆ– kill -l [ä¿¡å·å£°æ˜Ž] ä¸Šä¸€ä¸ªå‘½ä»¤: %s
 let å‚æ•° [å‚æ•° ...] limit ç¬¬ %d è¡Œ: æœªå¯ç”¨è¡Œç¼–è¾‘ ä¸º %s è½½å…¥å‡½æ•°å¤±è´¥ (%d): æœªè½½å…¥ local [option] åç§°[=å€¼] ... æ³¨é”€
 logout [n] å¾ªçŽ¯è®¡æ•° make_here_document: é”™è¯¯çš„æŒ‡ä»¤ç±»åž‹ %d make_local_variable: å½“å‰ä½œç”¨åŸŸä¸­æ²¡æœ‰å‡½æ•°ä¸Šä¸‹æ–‡ make_redirection: é‡å®šå‘æŒ‡ä»¤ `%d' è¶Šç•Œ malloc: ç©ºé—²é“¾è¡¨ä¸­çš„å—æŸå malloc: æ–­è¨€å¤±è´¥: %s
 mapfile [-d åˆ†éš”ç¬¦] [-n è®¡æ•°] [-O èµ·å§‹åºå·] [-s è®¡æ•°] [-t] [-u fd] [-C å›žè°ƒ] [-c é‡å­] [æ•°ç»„] è¶…å‡ºæœ€å¤§ç«‹å³æ–‡æ¡£æ•°é‡ è¿ç§»è¿›ç¨‹è‡³å¦ä¸€ä¸ª CPU ç¼ºå°‘ `)' ç¼ºå°‘ `]' ä½¿ç”¨äº† \x ä½†ç¼ºå°‘åå…­è¿›åˆ¶ä½ ä½¿ç”¨äº† \%c ä½†ç¼ºå°‘ unicode æ•° ä¸æ”¯æŒç½‘ç»œæ“ä½œ %s çš„ exportstr ä¸­æ²¡æœ‰ `=' %2$s ä¸­æ²¡æœ‰é—­åˆçš„ `%1$c' æœªæ‰¾åˆ°å‘½ä»¤ æ²¡æœ‰ä¸Ž `%s' åŒ¹é…çš„å¸®åŠ©ä¸»é¢˜ã€‚å°è¯• `help help' æˆ– `man -k %s' æˆ– `info %s'ã€‚ æ— ä»»åŠ¡æŽ§åˆ¶ æ­¤ shell ä¸­æ— ä»»åŠ¡æŽ§åˆ¶ æ— åŒ¹é…: %s æ— å…¶ä»–ç›®å½• å…¶ä»–é€‰é¡¹ä¸èƒ½ä¸Ž `-x' åŒæ—¶ä½¿ç”¨ å½“å‰æœªæ‰§è¡Œè¡¥å…¨åŠŸèƒ½ ä¸æ˜¯ç™»å½• shell: ä½¿ç”¨ `exit' å…«è¿›åˆ¶æ•° ä»…åœ¨ `for'ï¼Œ `while'ï¼Œ æˆ–è€…`until' å¾ªçŽ¯ä¸­æœ‰æ„ä¹‰ ç®¡é“é”™è¯¯ pop_scope: shell_variables çš„å¤´éƒ¨ä¸æ˜¯ä¸´æ—¶çŽ¯å¢ƒä½œç”¨åŸŸ pop_var_context: shell_variables çš„å¤´éƒ¨ä¸æ˜¯å‡½æ•°ä¸Šä¸‹æ–‡ pop_var_context: æ²¡æœ‰ global_variables ä¸Šä¸‹æ–‡ popd [-n] [+N | -N] å³å°†åœç”µ print_command: é”™è¯¯çš„æ¡ä»¶è¿žæŽ¥ç¬¦ `%d' printf [-v var] æ ¼å¼ [å‚æ•°] progcomp_insert: %s: ç©ºçš„è¡¥å…¨å£°æ˜Ž ç¼–ç¨‹é”™è¯¯ pushd [-n] [+N | -N | ç›®å½•] pwd [-LP] read [-ers] [-a æ•°ç»„] [-d åˆ†éš”ç¬¦] [-i ç¼“å†²åŒºæ–‡å­—] [-n è¯»å–å­—ç¬¦æ•°] [-N è¯»å–å­—ç¬¦æ•°] [-p æç¤ºç¬¦] [-t è¶…æ—¶] [-u æ–‡ä»¶æè¿°ç¬¦] [åç§° ...] è¯»é”™è¯¯: %d: %s readarray [-n è®¡æ•°] [-O èµ·å§‹åºå·] [-s è®¡æ•°] [-t] [-u fd] [-C å›žè°ƒ] [-c é‡å­] [æ•°ç»„] readonly [-aAf] [åç§°[=å€¼] ...] æˆ– readonly -p realloc: ç”¨æœªåˆ†é…çš„å—ä½œä¸ºå‚æ•°è¢«è°ƒç”¨ realloc: å…¶å®žå’Œæœ«å°¾å—å¤§å°ä¸ä¸€è‡´ realloc: æ£€æµ‹åˆ°ä¸‹æº¢ï¼›mh_nbytes è¶Šç•Œ é€’å½’æ ˆä¸‹æº¢ é‡å®šå‘é”™è¯¯: æ— æ³•å¤åˆ¶æ–‡ä»¶æè¿°ç¬¦ register_alloc: %p åœ¨è¡¨ä¸­æ˜¾ç¤ºä¸ºå·²åˆ†é…ï¼Ÿ
 register_alloc: åˆ†é…è¡¨å·²ç»å……æ»¡äº† FIND_ALLOCï¼Ÿ
 register_free: %p åœ¨è¡¨ä¸­æ˜¾ç¤ºä¸ºå·²é‡Šæ”¾ï¼Ÿ
 å—é™çš„ return [n] run_pending_traps: trap_list[%d] ä¸­çš„é”™è¯¯å€¼: %p run_pending_traps: ä¿¡å·å¤„ç†å™¨æ˜¯ SIG_DFLï¼Œé‡æ–°å‘é€ %d (%s) ç»™è‡ªå·± save_bash_input: å·²ç»å­˜åœ¨æ–°çš„æ–‡ä»¶æè¿°ç¬¦ %d çš„ç¼“å†²åŒº select NAME [in è¯è¯­ ... ;] do å‘½ä»¤; done set [--abefhkmnptuvxBCHP] [-o é€‰é¡¹å] [--] [å‚æ•° ...] setlocale: %s: æ— æ³•æ”¹å˜åŒºåŸŸé€‰é¡¹ (%s) setlocale: %s: æ— æ³•æ”¹å˜åŒºåŸŸé€‰é¡¹ (%s): %s setlocale: LC_ALL: æ— æ³•æ”¹å˜åŒºåŸŸé€‰é¡¹ (%s) setlocale: LC_ALL: æ— æ³•æ”¹å˜åŒºåŸŸé€‰é¡¹ (%s): %s shell å±‚æ¬¡ (%d) å¤ªé«˜ï¼Œé‡ç½®ä¸º 1 shift [n] ä½ç§»è®¡æ•° shopt [-pqsu] [-o] [é€‰é¡¹å ...] sigprocmask: %d: æ— æ•ˆçš„æ“ä½œ source æ–‡ä»¶å [å‚æ•°] start_pipeline: è¿›ç¨‹ç»„ç®¡é“ suspend [-f] è¯­æ³•é”™è¯¯ æ¡ä»¶è¡¨è¾¾å¼ä¸­æœ‰è¯­æ³•é”™è¯¯ æ¡ä»¶è¡¨è¾¾å¼ä¸­æœ‰è¯­æ³•é”™è¯¯: æœªé¢„æœŸçš„ç¬¦å· `%s' è¡¨è¾¾å¼ä¸­æœ‰è¯­æ³•é”™è¯¯ `%s' é™„è¿‘æœ‰è¯­æ³•é”™è¯¯ æœªé¢„æœŸçš„ç¬¦å· `%s' é™„è¿‘æœ‰è¯­æ³•é”™è¯¯ è¯­æ³•é”™è¯¯: `((%s))' è¯­æ³•é”™è¯¯: éœ€è¦ `;' è¯­æ³•é”™è¯¯: éœ€è¦ç®—æœ¯è¡¨è¾¾å¼ è¯­æ³•é”™è¯¯: æ— æ•ˆçš„ç®—æœ¯è¿ç®—ç¬¦ è¯­æ³•é”™è¯¯: éœ€è¦æ“ä½œæ•° è¯­æ³•é”™è¯¯: æœªé¢„æœŸçš„æ–‡ä»¶ç»“å°¾ ç³»ç»Ÿå³å°†å´©æºƒ test [è¡¨è¾¾å¼] time [-p] ç®¡é“ å‚æ•°å¤ªå¤š trap [-lp] [[å‚æ•°] ä¿¡å·å£°æ˜Ž ...] trap_handler: é”™è¯¯çš„ä¿¡å· %d type [-afptP] åç§° [åç§° ...] typeset [-aAfFgilnrtux] [-p] åç§°[=å€¼] ... ulimit [-SHabcdefiklmnpqrstuvxPT] [é™åˆ¶] umask [-p] [-S] [æ¨¡å¼] unalias [-a] åç§° [åç§° ...] å¯»æ‰¾ `]]' æ˜¯é‡åˆ°äº†æœªé¢„æœŸçš„æ–‡ä»¶ç»“æŸç¬¦ å¯»æ‰¾åŒ¹é…çš„ `%c' æ˜¯é‡åˆ°äº†æœªé¢„æœŸçš„æ–‡ä»¶ç»“æŸç¬¦ å¯»æ‰¾åŒ¹é…çš„ `)' æ—¶é‡åˆ°äº†æœªé¢„æœŸçš„æ–‡ä»¶ç»“æŸç¬¦ äºŒå…ƒæ¡ä»¶è¿ç®—ç¬¦ä½¿ç”¨äº†æœªé¢„æœŸçš„å‚æ•° `%s' ä¸€å…ƒæ¡ä»¶è¿ç®—ç¬¦ä½¿ç”¨äº†æœªé¢„æœŸçš„å‚æ•° `%s' äºŒå…ƒæ¡ä»¶è¿ç®—ç¬¦ä½¿ç”¨äº†æœªé¢„æœŸçš„å‚æ•° ä¸€å…ƒæ¡ä»¶è¿ç®—ç¬¦ä½¿ç”¨äº†æœªé¢„æœŸçš„å‚æ•° æ¡ä»¶å‘½ä»¤ä¸­æœ‰æœªé¢„æœŸçš„ç¬¦å· %d æ¡ä»¶å‘½ä»¤ä¸­æœ‰æœªé¢„æœŸçš„ç¬¦å· `%c' æ¡ä»¶å‘½ä»¤ä¸­æœ‰æœªé¢„æœŸçš„ç¬¦å· `%s' æœªé¢„æœŸçš„ç¬¦å· `%s'ï¼Œéœ€è¦äºŒå…ƒæ¡ä»¶è¿ç®—ç¬¦ æœªé¢„æœŸçš„ç¬¦å· `%s' ï¼Œéœ€è¦ `)' æœªçŸ¥ æœªçŸ¥çš„å‘½ä»¤é”™è¯¯ unset [-f] [-v] [-n] [åç§° ...] until å‘½ä»¤; do å‘½ä»¤; done æ•°å€¼å¤ªå¤§ä¸å¯ä¸ºç®—æœ¯è¿›åˆ¶çš„åŸº variables - ä¸€äº› shell å˜é‡çš„åç§°å’Œå«ä¹‰ wait [-n] [ç¼–å· ...] wait [è¿›ç¨‹å· ...] wait: è¿›ç¨‹å· %ld ä¸æ˜¯å½“å‰ shell çš„å­è¿›ç¨‹ wiat_for: æ²¡æœ‰è¿›ç¨‹ %ld çš„è®°å½• wait_for_job: ä»»åŠ¡ %d å·²åœæ­¢ waitchld: æ‰“å¼€ WNOHANG ä»¥é¿å…æ— é™é˜»å¡ž è­¦å‘Š: è­¦å‘Š: %s: %s è­¦å‘Š: -C é€‰é¡¹å¯èƒ½ä¸åƒæ‚¨é¢„æœŸçš„é‚£æ ·å·¥ä½œ è­¦å‘Š: -F é€‰é¡¹å¯èƒ½ä¸åƒæ‚¨é¢„æœŸçš„é‚£æ ·å·¥ä½œ while å‘½ä»¤; do å‘½ä»¤; done å†™é”™è¯¯: %s xtrace fd (%d) != fileno xtrace fp (%d) xtrace_set: %d: æ— æ•ˆçš„æ–‡ä»¶æè¿°ç¬¦ xtrace_set: ç©ºçš„æ–‡ä»¶æŒ‡é’ˆ { å‘½ä»¤ ; } 