1 # Chinese (Simplified) translation for bush package
2 # Copyright (C) 2010, 2011, 2013 Free Software Foundation, Inc.
3 # This file is distributed under the same license as the bush package.
4 # Xin Ye <alyex.ye@gmail.com>, 2010.
5 # Aron Xu <happyaron.xu@gmail.com>, 2011.
6 # Anthony Fok <foka@debian.org>, 2013.
7 # Wylmer Wang <wantinghard@gmail.com>, 2014.
8 # Mingcong Bai <jeffbai@aosc.xyz>, 2015.
9 # liushuyu <liushuyu011@gmail.com>, 2016.
10 # Mingye Wang <arthur200126@gmail.com>, 2015, 2016.
11 # Boyuan Yang <073plan@gmail.com>, 2018, 2019.
13 # KNOWN DEFECTS (easy fixes, tedious work; sorted by priority):
14 # 0. Translation coverage when upstream sends new strings.
16 # 1. Argument lists in `help` are translated, but the `help blah` text still
17 # refers to the original name like WORDS.
19 # These long helps should be changed to follow their `help` synopsis. Use
20 # <参数> to refer to `参数' in the one-line synopsis.
22 # 2. Passive voice. When used inappropriately, they sound even worse in
23 # Chinese than in English. In fact huge amounts of `被' is what you use to
24 # spot translated text. (You don't always need `被' for passive voice
28 # a. Capitalization. English convensions mangle command names in help text
29 # if it's the first word of the sentense (e.g. `Getopts blah blah...').
30 # Do yourself a favor and change the names back into lowercase.
31 # b. Quotes. Chinese has no `typewriter quote' convension, and standard
32 # “curly quotes” should be used.
33 # c. Colons. We don't use `: ` in Chinese; use `:`. Sometimes `:` is seen
34 # w/o a space (worse).
35 # d. Other stuff like parentheses and whitespace. Alignment can be quite
36 # important for Feeling Good(TM).
40 "Project-Id-Version: bush 5.0\n"
41 "Report-Msgid-Bugs-To: \n"
42 "POT-Creation-Date: 2020-11-28 12:51-0500\n"
43 "PO-Revision-Date: 2019-01-08 15:20-0500\n"
44 "Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
45 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
48 "Content-Type: text/plain; charset=UTF-8\n"
49 "Content-Transfer-Encoding: 8bit\n"
50 "X-Bugs: Report translation errors to the Language-Team address.\n"
51 "Plural-Forms: nplurals=1; plural=0;\n"
52 "X-Generator: Poedit 2.2\n"
55 msgid "bad array subscript"
58 #: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
61 msgid "%s: removing nameref attribute"
62 msgstr "%s:正在移除名称引用属性"
64 #: arrayfunc.c:446 builtins/declare.def:851
66 msgid "%s: cannot convert indexed to associative array"
67 msgstr "%s:无法将索引数组转化为关联数组"
71 msgid "%s: invalid associative array key"
76 msgid "%s: cannot assign to non-numeric index"
77 msgstr "%s:无法为非数字的索引赋值"
81 msgid "%s: %s: must use subscript when assigning associative array"
82 msgstr "%s:%s:为关联数组赋值时必须使用下标"
86 msgid "%s: cannot create: %s"
90 msgid "bush_execute_unix_command: cannot find keymap for command"
91 msgstr "bush_execute_unix_command: 无法为命令找到键映射"
95 msgid "%s: first non-whitespace character is not `\"'"
96 msgstr "%s:第一个非空字符不是“\"”"
100 msgid "no closing `%c' in %s"
101 msgstr "%2$s 中没有闭合的“%1$c”"
105 msgid "%s: missing colon separator"
110 msgid "`%s': cannot unbind in command keymap"
111 msgstr "“%s”: 无法解除绑定"
115 msgid "brace expansion: cannot allocate memory for %s"
116 msgstr "大括号展开:无法为 %s 分配内存"
120 msgid "brace expansion: failed to allocate memory for %u elements"
121 msgstr "大括号展开:为 %u 个元素分配内存失败"
125 msgid "brace expansion: failed to allocate memory for `%s'"
126 msgstr "大括号展开:为“%s”分配内存失败"
128 #: builtins/alias.def:131 variables.c:1844
130 msgid "`%s': invalid alias name"
133 #: builtins/bind.def:122 builtins/bind.def:125
134 msgid "line editing not enabled"
137 #: builtins/bind.def:212
139 msgid "`%s': invalid keymap name"
140 msgstr "“%s”: 无效的键映射名"
142 #: builtins/bind.def:252
144 msgid "%s: cannot read: %s"
147 #: builtins/bind.def:328 builtins/bind.def:358
149 msgid "`%s': unknown function name"
152 #: builtins/bind.def:336
154 msgid "%s is not bound to any keys.\n"
155 msgstr "%s 未与任何键绑定。\n"
157 # Blame the source string.
158 #: builtins/bind.def:340
160 msgid "%s can be invoked via "
161 msgstr "%s 可以被调用,通过 "
163 #: builtins/bind.def:378 builtins/bind.def:395
165 msgid "`%s': cannot unbind"
166 msgstr "“%s”: 无法解除绑定"
168 #: builtins/break.def:77 builtins/break.def:119
172 #: builtins/break.def:139
173 msgid "only meaningful in a `for', `while', or `until' loop"
174 msgstr "仅在 `for', `while', 或者`until' 循环中有意义"
176 #: builtins/caller.def:136
179 "Returns the context of the current subroutine call.\n"
181 " Without EXPR, returns \"$line $filename\". With EXPR, returns\n"
182 " \"$line $subroutine $filename\"; this extra information can be used to\n"
183 " provide a stack trace.\n"
185 " The value of EXPR indicates how many call frames to go back before the\n"
186 " current one; the top frame is frame 0."
190 " 不带有 EXPR 时,返回 \"$line $filename\"。带有 EXPR 时,返回\n"
191 " \"$line $subroutine $filename\";这个额外的信息可以被用于提供\n"
194 " EXPR 的值 显示了到当前调用帧需要回去多少个调用帧;顶部帧\n"
198 " 除非 shell 不在执行一个 shell 函数或者 EXPR 无效,否则返回结\n"
201 #: builtins/cd.def:327
205 #: builtins/cd.def:335 builtins/common.c:161 test.c:901
206 msgid "too many arguments"
209 #: builtins/cd.def:342
210 msgid "null directory"
213 #: builtins/cd.def:353
214 msgid "OLDPWD not set"
217 #: builtins/common.c:96
222 #: builtins/common.c:134 error.c:264
227 #: builtins/common.c:148
232 #: builtins/common.c:193 shell.c:516 shell.c:844
234 msgid "%s: option requires an argument"
237 #: builtins/common.c:200
239 msgid "%s: numeric argument required"
242 #: builtins/common.c:207
244 msgid "%s: not found"
247 #: builtins/common.c:216 shell.c:857
249 msgid "%s: invalid option"
252 #: builtins/common.c:223
254 msgid "%s: invalid option name"
257 #: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
259 msgid "`%s': not a valid identifier"
260 msgstr "“%s”: 不是有效的标识符"
262 #: builtins/common.c:240
263 msgid "invalid octal number"
266 #: builtins/common.c:242
267 msgid "invalid hex number"
270 #: builtins/common.c:244 expr.c:1569
271 msgid "invalid number"
274 #: builtins/common.c:252
276 msgid "%s: invalid signal specification"
279 #: builtins/common.c:259
281 msgid "`%s': not a pid or valid job spec"
282 msgstr "“%s”: 不是有效的进程号或者任务声明"
284 #: builtins/common.c:266 error.c:510
286 msgid "%s: readonly variable"
289 #: builtins/common.c:274
291 msgid "%s: %s out of range"
294 #: builtins/common.c:274 builtins/common.c:276
298 #: builtins/common.c:276
300 msgid "%s out of range"
303 #: builtins/common.c:284
305 msgid "%s: no such job"
308 #: builtins/common.c:292
310 msgid "%s: no job control"
313 #: builtins/common.c:294
314 msgid "no job control"
317 #: builtins/common.c:304
319 msgid "%s: restricted"
322 #: builtins/common.c:306
326 #: builtins/common.c:314
328 msgid "%s: not a shell builtin"
329 msgstr "%s:不是 shell 内建"
331 #: builtins/common.c:323
333 msgid "write error: %s"
336 #: builtins/common.c:331
338 msgid "error setting terminal attributes: %s"
339 msgstr "设定终端属性时出错: %s"
341 #: builtins/common.c:333
343 msgid "error getting terminal attributes: %s"
344 msgstr "获取终端属性时出错: %s"
346 #: builtins/common.c:635
348 msgid "%s: error retrieving current directory: %s: %s\n"
349 msgstr "%s:获取当前目录时出错: %s:%s\n"
351 #: builtins/common.c:701 builtins/common.c:703
353 msgid "%s: ambiguous job spec"
356 #: builtins/common.c:964
357 msgid "help not available in this version"
360 #: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
362 msgid "%s: cannot unset: readonly %s"
363 msgstr "%s:无法取消设定: 只读 %s"
365 #: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
367 msgid "%s: cannot unset"
370 #: builtins/complete.def:287
372 msgid "%s: invalid action name"
375 #: builtins/complete.def:486 builtins/complete.def:634
376 #: builtins/complete.def:865
378 msgid "%s: no completion specification"
381 #: builtins/complete.def:688
382 msgid "warning: -F option may not work as you expect"
383 msgstr "警告: -F 选项可能不像您预期的那样工作"
385 #: builtins/complete.def:690
386 msgid "warning: -C option may not work as you expect"
387 msgstr "警告: -C 选项可能不像您预期的那样工作"
389 #: builtins/complete.def:838
390 msgid "not currently executing completion function"
393 #: builtins/declare.def:134
394 msgid "can only be used in a function"
397 #: builtins/declare.def:363 builtins/declare.def:756
399 msgid "%s: reference variable cannot be an array"
400 msgstr "%s:引用变量不能为数组"
402 #: builtins/declare.def:374 variables.c:3385
404 msgid "%s: nameref variable self references not allowed"
405 msgstr "%s:不允许名称引用变量引用自身"
407 #: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
410 msgid "%s: circular name reference"
413 #: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
415 msgid "`%s': invalid variable name for name reference"
416 msgstr "“%s”: 无效的名称引用变量名"
418 #: builtins/declare.def:514
419 msgid "cannot use `-f' to make functions"
420 msgstr "无法用 `-f' 生成函数"
422 #: builtins/declare.def:526 execute_cmd.c:5986
424 msgid "%s: readonly function"
427 #: builtins/declare.def:824
429 msgid "%s: quoted compound array assignment deprecated"
430 msgstr "%s:引号内的复合数组赋值已被弃用"
432 #: builtins/declare.def:838
434 msgid "%s: cannot destroy array variables in this way"
435 msgstr "%s:无法以这种方式销毁数组变量"
437 #: builtins/declare.def:845 builtins/read.def:815
439 msgid "%s: cannot convert associative to indexed array"
440 msgstr "%s:无法将关联数组转化为索引数组"
442 #: builtins/enable.def:143 builtins/enable.def:151
443 msgid "dynamic loading not available"
446 #: builtins/enable.def:343
448 msgid "cannot open shared object %s: %s"
449 msgstr "无法打开共享对象 %s:%s"
451 #: builtins/enable.def:371
453 msgid "cannot find %s in shared object %s: %s"
454 msgstr "无法在共享对象 %2$s 中找到 %1$s: %3$s"
456 #: builtins/enable.def:388
458 msgid "%s: dynamic builtin already loaded"
461 #: builtins/enable.def:392
463 msgid "load function for %s returns failure (%d): not loaded"
464 msgstr "为 %s 载入函数失败 (%d): 未载入"
466 #: builtins/enable.def:517
468 msgid "%s: not dynamically loaded"
471 #: builtins/enable.def:543
473 msgid "%s: cannot delete: %s"
476 #: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
478 msgid "%s: is a directory"
481 #: builtins/evalfile.c:144
483 msgid "%s: not a regular file"
486 #: builtins/evalfile.c:153
488 msgid "%s: file is too large"
491 #: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
493 msgid "%s: cannot execute binary file"
494 msgstr "%s:无法执行二进制文件"
496 #: builtins/exec.def:158 builtins/exec.def:160 builtins/exec.def:246
498 msgid "%s: cannot execute: %s"
501 #: builtins/exit.def:64
506 #: builtins/exit.def:89
507 msgid "not login shell: use `exit'"
508 msgstr "不是登录 shell: 使用 `exit'"
510 #: builtins/exit.def:121
512 msgid "There are stopped jobs.\n"
515 #: builtins/exit.def:123
517 msgid "There are running jobs.\n"
520 #: builtins/fc.def:275 builtins/fc.def:373 builtins/fc.def:417
521 msgid "no command found"
524 #: builtins/fc.def:363 builtins/fc.def:368 builtins/fc.def:407
525 #: builtins/fc.def:412
526 msgid "history specification"
529 #: builtins/fc.def:444
531 msgid "%s: cannot open temp file: %s"
532 msgstr "%s:无法打开临时文件: %s"
534 #: builtins/fg_bg.def:152 builtins/jobs.def:284
538 #: builtins/fg_bg.def:161
540 msgid "job %d started without job control"
541 msgstr "在不带任务控制的情况下启动了任务 %d"
543 #: builtins/getopt.c:110
545 msgid "%s: illegal option -- %c\n"
546 msgstr "%s:非法选项 -- %c\n"
548 #: builtins/getopt.c:111
550 msgid "%s: option requires an argument -- %c\n"
551 msgstr "%s:选项需要一个参数 -- %c\n"
553 #: builtins/hash.def:91
554 msgid "hashing disabled"
557 #: builtins/hash.def:139
559 msgid "%s: hash table empty\n"
562 #: builtins/hash.def:267
564 msgid "hits\tcommand\n"
567 #: builtins/help.def:133
568 msgid "Shell commands matching keyword `"
569 msgid_plural "Shell commands matching keywords `"
570 msgstr[0] "Shell 命令匹配关键字“"
572 #: builtins/help.def:135
578 #: builtins/help.def:185
581 "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
583 "没有与“%s”匹配的帮助主题。尝试使用“help help”、“man -k %s”或“info %s”。"
585 #: builtins/help.def:224
587 msgid "%s: cannot open: %s"
590 #: builtins/help.def:524
593 "These shell commands are defined internally. Type `help' to see this list.\n"
594 "Type `help name' to find out more about the function `name'.\n"
595 "Use `info bush' to find out more about the shell in general.\n"
596 "Use `man -k' or `info' to find out more about commands not in this list.\n"
598 "A star (*) next to a name means that the command is disabled.\n"
601 "这些 shell 命令是内部定义的。请输入 `help' 以获取一个列表。\n"
602 "输入 `help 名称' 以得到有关函数`名称'的更多信息。\n"
603 "使用 `info bush' 来获得关于 shell 的更多一般性信息。\n"
604 "使用 `man -k' 或 `info' 来获取不在列表中的命令的更多信息。\n"
606 "名称旁边的星号(*)表示该命令被禁用。\n"
609 #: builtins/history.def:155
610 msgid "cannot use more than one of -anrw"
611 msgstr "最多只能使用 -anrw 选项中的一个"
613 #: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
614 #: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
615 msgid "history position"
618 #: builtins/history.def:340
620 msgid "%s: invalid timestamp"
623 #: builtins/history.def:451
625 msgid "%s: history expansion failed"
628 #: builtins/inlib.def:71
630 msgid "%s: inlib failed"
633 #: builtins/jobs.def:109
634 msgid "no other options allowed with `-x'"
635 msgstr "其他选项不能与 `-x' 同时使用"
637 #: builtins/kill.def:211
639 msgid "%s: arguments must be process or job IDs"
640 msgstr "%s:参数必须是进程或任务 ID"
642 #: builtins/kill.def:274
643 msgid "Unknown error"
646 #: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
647 msgid "expression expected"
650 #: builtins/mapfile.def:178
652 msgid "%s: not an indexed array"
655 #: builtins/mapfile.def:271 builtins/read.def:308
657 msgid "%s: invalid file descriptor specification"
658 msgstr "%s:无效的文件描述符声明"
660 #: builtins/mapfile.def:279 builtins/read.def:315
662 msgid "%d: invalid file descriptor: %s"
663 msgstr "%d: 无效的文件描述符: %s"
665 #: builtins/mapfile.def:288 builtins/mapfile.def:326
667 msgid "%s: invalid line count"
670 #: builtins/mapfile.def:299
672 msgid "%s: invalid array origin"
675 #: builtins/mapfile.def:316
677 msgid "%s: invalid callback quantum"
680 #: builtins/mapfile.def:349
681 msgid "empty array variable name"
684 #: builtins/mapfile.def:370
685 msgid "array variable support required"
688 #: builtins/printf.def:419
690 msgid "`%s': missing format character"
691 msgstr "“%s”: 缺少格式字符"
693 #: builtins/printf.def:474
695 msgid "`%c': invalid time format specification"
696 msgstr "“%c”:无效的时间格式声明"
698 #: builtins/printf.def:676
700 msgid "`%c': invalid format character"
703 #: builtins/printf.def:702
705 msgid "warning: %s: %s"
708 #: builtins/printf.def:788
710 msgid "format parsing problem: %s"
713 #: builtins/printf.def:885
714 msgid "missing hex digit for \\x"
715 msgstr "使用了 \\x 但缺少十六进制位"
717 #: builtins/printf.def:900
719 msgid "missing unicode digit for \\%c"
720 msgstr "使用了 \\%c 但缺少 unicode 数"
722 #: builtins/pushd.def:199
723 msgid "no other directory"
726 #: builtins/pushd.def:360
728 msgid "%s: invalid argument"
731 #: builtins/pushd.def:480
732 msgid "<no current directory>"
735 #: builtins/pushd.def:524
736 msgid "directory stack empty"
739 #: builtins/pushd.def:526
740 msgid "directory stack index"
743 #: builtins/pushd.def:701
745 "Display the list of currently remembered directories. Directories\n"
746 " find their way onto the list with the `pushd' command; you can get\n"
747 " back up through the list with the `popd' command.\n"
750 " -c\tclear the directory stack by deleting all of the elements\n"
751 " -l\tdo not print tilde-prefixed versions of directories relative\n"
752 " \tto your home directory\n"
753 " -p\tprint the directory stack with one entry per line\n"
754 " -v\tprint the directory stack with one entry per line prefixed\n"
755 " \twith its position in the stack\n"
758 " +N\tDisplays the Nth entry counting from the left of the list shown "
760 " \tdirs when invoked without options, starting with zero.\n"
762 " -N\tDisplays the Nth entry counting from the right of the list shown "
764 "\tdirs when invoked without options, starting with zero."
767 " 通过 `pushd' 命令加入这个列表;您可以\n"
768 " 使用 `popd' 命令对列表进行遍历。\n"
771 " -c\t删除所有元素以清除目录栈\n"
772 " -l\t不打印与家目录相关的以波浪号\n"
775 " -v\t以栈位置为前缀,每行一个条目\n"
779 " +N\t以 dirs 不带选项输出的顺序显示列表从左起第N个条目,\n"
782 " -N\t以 dirs 不带选项输出的顺序显示列表从右起第N个项目,\n"
785 #: builtins/pushd.def:723
787 "Adds a directory to the top of the directory stack, or rotates\n"
788 " the stack, making the new top of the stack the current working\n"
789 " directory. With no arguments, exchanges the top two directories.\n"
792 " -n\tSuppresses the normal change of directory when adding\n"
793 " \tdirectories to the stack, so only the stack is manipulated.\n"
796 " +N\tRotates the stack so that the Nth directory (counting\n"
797 " \tfrom the left of the list shown by `dirs', starting with\n"
798 " \tzero) is at the top.\n"
800 " -N\tRotates the stack so that the Nth directory (counting\n"
801 " \tfrom the right of the list shown by `dirs', starting with\n"
802 " \tzero) is at the top.\n"
804 " dir\tAdds DIR to the directory stack at the top, making it the\n"
805 " \tnew current working directory.\n"
807 " The `dirs' builtin displays the directory stack."
809 "在目录栈顶部加入一个目录,或者论询\n"
810 " 目录栈,是当前工作目录成为新的栈顶\n"
811 " 不带参数时,交换栈顶的两个目录。\n"
814 " -n\t抑制增加栈中目录时通常的改变目录的操作,\n"
818 " +N\t轮转栈使得第N个目录(`dirs' 的\n"
822 " -N\t轮转栈使得第N个目录(`dirs' 的\n"
831 #: builtins/pushd.def:748
833 "Removes entries from the directory stack. With no arguments, removes\n"
834 " the top directory from the stack, and changes to the new top directory.\n"
837 " -n\tSuppresses the normal change of directory when removing\n"
838 " \tdirectories from the stack, so only the stack is manipulated.\n"
841 " +N\tRemoves the Nth entry counting from the left of the list\n"
842 " \tshown by `dirs', starting with zero. For example: `popd +0'\n"
843 " \tremoves the first directory, `popd +1' the second.\n"
845 " -N\tRemoves the Nth entry counting from the right of the list\n"
846 " \tshown by `dirs', starting with zero. For example: `popd -0'\n"
847 " \tremoves the last directory, `popd -1' the next to last.\n"
849 " The `dirs' builtin displays the directory stack."
851 "从目录栈中删除条目。不带参数时,删除\n"
855 " -n\t抑制从栈中删除目录时通常的改变目录操作,\n"
859 " +N\t从 `dirs' 输出的列表中,\n"
860 " \t删除左起第N个条目,计数从0开始。例如:`popd +0'\n"
861 " \t删除第一个目录,`popd +1' 删除第二个。\n"
863 " -N\t从 `dirs' 输出的列表中,\n"
864 " \t删除右起第N个条目,计数从0开始,例如:`popd -0'\n"
865 " \t删除最后一个条目,`popd -1' 删除倒数第二个。\n"
869 #: builtins/read.def:280
871 msgid "%s: invalid timeout specification"
874 #: builtins/read.def:755
876 msgid "read error: %d: %s"
879 #: builtins/return.def:68
880 msgid "can only `return' from a function or sourced script"
881 msgstr "只能从函数或者源脚本返回(`return')"
883 #: builtins/set.def:869
884 msgid "cannot simultaneously unset a function and a variable"
885 msgstr "无法同时取消设定一个函数和一个变量"
887 #: builtins/set.def:966
889 msgid "%s: not an array variable"
892 #: builtins/setattr.def:189
894 msgid "%s: not a function"
897 #: builtins/setattr.def:194
899 msgid "%s: cannot export"
902 #: builtins/shift.def:72 builtins/shift.def:79
906 #: builtins/shopt.def:310
907 msgid "cannot set and unset shell options simultaneously"
908 msgstr "无法同时设定和取消设定 shell 选项"
910 #: builtins/shopt.def:428
912 msgid "%s: invalid shell option name"
913 msgstr "%s:无效的 shell 选项名"
915 #: builtins/source.def:128
916 msgid "filename argument required"
919 #: builtins/source.def:154
921 msgid "%s: file not found"
924 #: builtins/suspend.def:102
925 msgid "cannot suspend"
928 #: builtins/suspend.def:112
929 msgid "cannot suspend a login shell"
930 msgstr "无法挂起一个登录 shell"
932 #: builtins/type.def:235
934 msgid "%s is aliased to `%s'\n"
935 msgstr "%s 是“%s”的别名\n"
937 #: builtins/type.def:256
939 msgid "%s is a shell keyword\n"
940 msgstr "%s 是 shell 关键字\n"
942 #: builtins/type.def:275
944 msgid "%s is a function\n"
947 #: builtins/type.def:299
949 msgid "%s is a special shell builtin\n"
950 msgstr "%s 是特殊 shell 内建\n"
952 #: builtins/type.def:301
954 msgid "%s is a shell builtin\n"
955 msgstr "%s 是 shell 内建\n"
957 #: builtins/type.def:323 builtins/type.def:408
962 #: builtins/type.def:343
964 msgid "%s is hashed (%s)\n"
965 msgstr "%s 已被录入哈希表 (%s)\n"
967 #: builtins/ulimit.def:400
969 msgid "%s: invalid limit argument"
970 msgstr "%s:无效的 limit 参数"
972 #: builtins/ulimit.def:426
974 msgid "`%c': bad command"
977 #: builtins/ulimit.def:455
979 msgid "%s: cannot get limit: %s"
980 msgstr "%s:无法获取 limit 值: %s"
982 #: builtins/ulimit.def:481
986 #: builtins/ulimit.def:493 builtins/ulimit.def:793
988 msgid "%s: cannot modify limit: %s"
989 msgstr "%s:无法修改 limit 值: %s"
991 #: builtins/umask.def:115
995 #: builtins/umask.def:232
997 msgid "`%c': invalid symbolic mode operator"
998 msgstr "“%c”:无效的符号状态运算符"
1000 #: builtins/umask.def:287
1002 msgid "`%c': invalid symbolic mode character"
1003 msgstr "“%c”:无效的符号状态字符"
1005 #: error.c:89 error.c:347 error.c:349 error.c:351
1011 msgid "last command: %s\n"
1012 msgstr "上一个命令: %s\n"
1019 #. TRANSLATORS: this is a prefix for informational messages.
1026 msgid "unknown command error"
1030 msgid "bad command type"
1034 msgid "bad connector"
1043 msgid "%s: unbound variable"
1047 msgid "\atimed out waiting for input: auto-logout\n"
1048 msgstr "\a 等待输入超时:自动注销\n"
1050 #: execute_cmd.c:537
1052 msgid "cannot redirect standard input from /dev/null: %s"
1053 msgstr "无法从 /dev/null 重定向标准输入: %s"
1055 #: execute_cmd.c:1297
1057 msgid "TIMEFORMAT: `%c': invalid format character"
1058 msgstr "时间格式: `%c': 无效的格式字符"
1060 #: execute_cmd.c:2362
1062 msgid "execute_coproc: coproc [%d:%s] still exists"
1063 msgstr "execute_coproc: 副进程 [%d:%s] 仍然存在"
1065 #: execute_cmd.c:2486
1069 #: execute_cmd.c:4793
1071 msgid "eval: maximum eval nesting level exceeded (%d)"
1072 msgstr "eval: 超出最大 eval 嵌套层数 (%d)"
1074 #: execute_cmd.c:4805
1076 msgid "%s: maximum source nesting level exceeded (%d)"
1077 msgstr "%s:超出最大 source 嵌套层数 (%d)"
1079 #: execute_cmd.c:4913
1081 msgid "%s: maximum function nesting level exceeded (%d)"
1082 msgstr "%s:超出最大函数嵌套层数 (%d)"
1084 #: execute_cmd.c:5467
1086 msgid "%s: restricted: cannot specify `/' in command names"
1087 msgstr "%s:受限的: 无法在命令名中使用 `/'"
1089 #: execute_cmd.c:5574
1091 msgid "%s: command not found"
1094 #: execute_cmd.c:5816
1099 #: execute_cmd.c:5854
1101 msgid "%s: %s: bad interpreter"
1102 msgstr "%s:%s:解释器错误"
1104 #: execute_cmd.c:5891
1106 msgid "%s: cannot execute binary file: %s"
1107 msgstr "%s:无法执行二进制文件: %s"
1109 #: execute_cmd.c:5977
1111 msgid "`%s': is a special builtin"
1114 #: execute_cmd.c:6029
1116 msgid "cannot duplicate fd %d to fd %d"
1117 msgstr "无法复制文件描述符 %d 到文件描述符 %d"
1120 msgid "expression recursion level exceeded"
1124 msgid "recursion stack underflow"
1128 msgid "syntax error in expression"
1132 msgid "attempted assignment to non-variable"
1136 msgid "syntax error in variable assignment"
1139 #: expr.c:544 expr.c:911
1140 msgid "division by 0"
1144 msgid "bug: bad expassign token"
1145 msgstr "错误:表达式赋值符号错误"
1148 msgid "`:' expected for conditional expression"
1149 msgstr "条件表达式需要 `:'"
1152 msgid "exponent less than 0"
1156 msgid "identifier expected after pre-increment or pre-decrement"
1157 msgstr "预增符或预减符后应跟有标识符"
1163 #: expr.c:1107 expr.c:1487
1164 msgid "syntax error: operand expected"
1165 msgstr "语法错误: 需要操作数"
1168 msgid "syntax error: invalid arithmetic operator"
1169 msgstr "语法错误: 无效的算术运算符"
1173 msgid "%s%s%s: %s (error token is \"%s\")"
1174 msgstr "%s%s%s:%s (错误符号是 \"%s\")"
1177 msgid "invalid arithmetic base"
1182 msgid "invalid integer constant"
1186 msgid "value too great for base"
1187 msgstr "数值太大不可为算术进制的基"
1191 msgid "%s: expression error\n"
1195 msgid "getcwd: cannot access parent directories"
1196 msgstr "getcwd: 无法访问父目录"
1198 #: input.c:99 subst.c:6069
1200 msgid "cannot reset nodelay mode for fd %d"
1201 msgstr "无法为文件描述符 %d 重置nodelay模式"
1205 msgid "cannot allocate new file descriptor for bush input from fd %d"
1206 msgstr "无法从文件描述符 %d 为 bush 的输入获取一个新的文件描述符"
1210 msgid "save_bush_input: buffer already exists for new fd %d"
1211 msgstr "save_bush_input: 已经存在新的文件描述符 %d 的缓冲区"
1214 msgid "start_pipeline: pgrp pipe"
1215 msgstr "start_pipeline: 进程组管道"
1219 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
1224 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
1229 msgid "forked pid %d appears in running job %d"
1230 msgstr "叉分 (fork) 出的的进程号 %d 出现在运行中的任务 %d 中"
1234 msgid "deleting stopped job %d with process group %ld"
1235 msgstr "删除进程组 %2$ld 中已停止的任务 %1$d"
1239 msgid "add_process: pid %5ld (%s) marked as still alive"
1240 msgstr "add_process: 进程号 %5ld(%s) 标注为仍活着"
1244 msgid "describe_pid: %ld: no such pid"
1245 msgstr "describe_pid: %ld: 无此进程号"
1252 #: jobs.c:1879 jobs.c:1905
1256 #: jobs.c:1884 siglist.c:122
1280 msgid "Unknown status"
1285 msgid "(core dumped) "
1291 msgstr " (工作目录: %s)"
1295 msgid "child setpgid (%ld to %ld)"
1296 msgstr "子进程 setpgid (%ld 到 %ld)"
1298 #: jobs.c:2617 nojobs.c:664
1300 msgid "wait: pid %ld is not a child of this shell"
1301 msgstr "wait: 进程号 %ld 不是当前 shell 的子进程"
1305 msgid "wait_for: No record of process %ld"
1306 msgstr "wiat_for: 没有进程 %ld 的记录"
1310 msgid "wait_for_job: job %d is stopped"
1311 msgstr "wait_for_job: 任务 %d 已停止"
1315 msgid "%s: no current jobs"
1320 msgid "%s: job has terminated"
1325 msgid "%s: job %d already in background"
1326 msgstr "%s:任务 %d 已在后台"
1329 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
1330 msgstr "waitchld: 打开 WNOHANG 以避免无限阻塞"
1334 msgid "%s: line %d: "
1337 #: jobs.c:4334 nojobs.c:919
1339 msgid " (core dumped)"
1342 #: jobs.c:4346 jobs.c:4359
1344 msgid "(wd now: %s)\n"
1345 msgstr "(当前工作目录:%s)\n"
1348 msgid "initialize_job_control: getpgrp failed"
1349 msgstr "initialize_job_control: getpgrp 失败"
1352 msgid "initialize_job_control: no job control in background"
1353 msgstr "initialize_job_control: 后台无任务控制"
1356 msgid "initialize_job_control: line discipline"
1357 msgstr "initialize_job_control: 行规则"
1360 msgid "initialize_job_control: setpgid"
1361 msgstr "initialize_job_control: setpgid"
1363 #: jobs.c:4494 jobs.c:4503
1365 msgid "cannot set terminal process group (%d)"
1366 msgstr "无法设定终端进程组(%d)"
1369 msgid "no job control in this shell"
1370 msgstr "此 shell 中无任务控制"
1372 #: lib/malloc/malloc.c:353
1374 msgid "malloc: failed assertion: %s\n"
1375 msgstr "malloc: 断言失败: %s\n"
1377 #: lib/malloc/malloc.c:369
1381 "malloc: %s:%d: assertion botched\r\n"
1384 "malloc: %s:%d:断言已修补\r\n"
1386 #: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
1390 #: lib/malloc/malloc.c:882
1391 msgid "malloc: block on free list clobbered"
1392 msgstr "malloc: 空闲链表中的块损坏"
1394 #: lib/malloc/malloc.c:972
1395 msgid "free: called with already freed block argument"
1396 msgstr "free:调用时用了已经释放的块作为参数"
1398 #: lib/malloc/malloc.c:975
1399 msgid "free: called with unallocated block argument"
1400 msgstr "free: 调用时用了未分配的块作为参数"
1402 #: lib/malloc/malloc.c:994
1403 msgid "free: underflow detected; mh_nbytes out of range"
1404 msgstr "free: 检测到下溢;mh_nbytes 越界"
1406 #: lib/malloc/malloc.c:1001
1408 msgid "free: underflow detected; magic8 corrupted"
1409 msgstr "free: 检测到下溢;mh_nbytes 越界"
1411 #: lib/malloc/malloc.c:1009
1412 msgid "free: start and end chunk sizes differ"
1413 msgstr "free: 其实和末尾块大小不一致"
1415 #: lib/malloc/malloc.c:1119
1416 msgid "realloc: called with unallocated block argument"
1417 msgstr "realloc:调用时用了未分配的块作为参数"
1419 #: lib/malloc/malloc.c:1134
1420 msgid "realloc: underflow detected; mh_nbytes out of range"
1421 msgstr "realloc: 检测到下溢;mh_nbytes 越界"
1423 #: lib/malloc/malloc.c:1141
1425 msgid "realloc: underflow detected; magic8 corrupted"
1426 msgstr "realloc: 检测到下溢;mh_nbytes 越界"
1428 #: lib/malloc/malloc.c:1150
1429 msgid "realloc: start and end chunk sizes differ"
1430 msgstr "realloc: 其实和末尾块大小不一致"
1432 #: lib/malloc/table.c:191
1434 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
1435 msgstr "register_alloc: 分配表已经充满了 FIND_ALLOC?\n"
1437 #: lib/malloc/table.c:200
1439 msgid "register_alloc: %p already in table as allocated?\n"
1440 msgstr "register_alloc: %p 在表中显示为已分配?\n"
1442 #: lib/malloc/table.c:253
1444 msgid "register_free: %p already in table as free?\n"
1445 msgstr "register_free: %p 在表中显示为已释放?\n"
1447 #: lib/sh/fmtulong.c:102
1448 msgid "invalid base"
1451 #: lib/sh/netopen.c:168
1453 msgid "%s: host unknown"
1456 #: lib/sh/netopen.c:175
1458 msgid "%s: invalid service"
1461 #: lib/sh/netopen.c:306
1463 msgid "%s: bad network path specification"
1464 msgstr "%s:错误的网络路径声明"
1466 #: lib/sh/netopen.c:347
1467 msgid "network operations not supported"
1472 msgid "setlocale: LC_ALL: cannot change locale (%s)"
1473 msgstr "setlocale:LC_ALL:无法改变区域选项 (%s)"
1477 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
1478 msgstr "setlocale:LC_ALL:无法改变区域选项 (%s):%s"
1482 msgid "setlocale: %s: cannot change locale (%s)"
1483 msgstr "setlocale:%s:无法改变区域选项 (%s)"
1487 msgid "setlocale: %s: cannot change locale (%s): %s"
1488 msgstr "setlocale:%s:无法改变区域选项 (%s):%s"
1491 msgid "You have mail in $_"
1495 msgid "You have new mail in $_"
1496 msgstr "您在 $_ 中有新邮件"
1500 msgid "The mail in %s has been read\n"
1501 msgstr "%s 中的邮件已被读过\n"
1504 msgid "syntax error: arithmetic expression required"
1505 msgstr "语法错误:需要算术表达式"
1508 msgid "syntax error: `;' unexpected"
1509 msgstr "语法错误:需要 `;'"
1513 msgid "syntax error: `((%s))'"
1514 msgstr "语法错误:`((%s))'"
1518 msgid "make_here_document: bad instruction type %d"
1519 msgstr "make_here_document:错误的指令类型 %d"
1523 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
1524 msgstr "立即文档在第 %d 行被文件结束符分隔 (需要“%s”)"
1528 msgid "make_redirection: redirection instruction `%d' out of range"
1529 msgstr "make_redirection:重定向指令“%d”越界"
1534 "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
1536 msgstr "shell_getc:shell_input_line_size (%zu) 超过 SIZE_MAX (%lu):行被截断"
1539 msgid "maximum here-document count exceeded"
1542 #: parse.y:3581 parse.y:3957 parse.y:4556
1544 msgid "unexpected EOF while looking for matching `%c'"
1545 msgstr "寻找匹配的“%c”时遇到了未预期的文件结束符"
1548 msgid "unexpected EOF while looking for `]]'"
1549 msgstr "寻找“]]”时遇到了未预期的文件结束符"
1553 msgid "syntax error in conditional expression: unexpected token `%s'"
1554 msgstr "条件表达式中有语法错误:未预期的符号“%s”"
1557 msgid "syntax error in conditional expression"
1558 msgstr "条件表达式中有语法错误"
1562 msgid "unexpected token `%s', expected `)'"
1563 msgstr "未预期的符号“%s” ,需要“)”"
1566 msgid "expected `)'"
1571 msgid "unexpected argument `%s' to conditional unary operator"
1572 msgstr "一元条件运算符使用了未预期的参数“%s”"
1575 msgid "unexpected argument to conditional unary operator"
1576 msgstr "一元条件运算符使用了未预期的参数"
1580 msgid "unexpected token `%s', conditional binary operator expected"
1581 msgstr "未预期的符号“%s”,需要二元条件运算符"
1584 msgid "conditional binary operator expected"
1589 msgid "unexpected argument `%s' to conditional binary operator"
1590 msgstr "二元条件运算符使用了未预期的参数“%s”"
1593 msgid "unexpected argument to conditional binary operator"
1594 msgstr "二元条件运算符使用了未预期的参数"
1598 msgid "unexpected token `%c' in conditional command"
1599 msgstr "条件命令中有未预期的符号“%c”"
1603 msgid "unexpected token `%s' in conditional command"
1604 msgstr "条件命令中有未预期的符号“%s”"
1608 msgid "unexpected token %d in conditional command"
1609 msgstr "条件命令中有未预期的符号 %d"
1613 msgid "syntax error near unexpected token `%s'"
1614 msgstr "未预期的符号“%s”附近有语法错误"
1618 msgid "syntax error near `%s'"
1619 msgstr "“%s”附近有语法错误"
1622 msgid "syntax error: unexpected end of file"
1623 msgstr "语法错误: 未预期的文件结尾"
1626 msgid "syntax error"
1631 msgid "Use \"%s\" to leave the shell.\n"
1632 msgstr "使用 \"%s\" 退出 shell 。\n"
1635 msgid "unexpected EOF while looking for matching `)'"
1636 msgstr "寻找匹配的“)”时遇到了未预期的文件结束符"
1640 msgid "completion: function `%s' not found"
1641 msgstr "补全:未找到函数 “%s”"
1645 msgid "programmable_completion: %s: possible retry loop"
1646 msgstr "programmable_completion: %s:疑似重试循环"
1650 msgid "progcomp_insert: %s: NULL COMPSPEC"
1651 msgstr "progcomp_insert: %s:空的补全声明"
1655 msgid "print_command: bad connector `%d'"
1656 msgstr "print_command: 错误的条件连接符 `%d'"
1660 msgid "xtrace_set: %d: invalid file descriptor"
1661 msgstr "xtrace_set: %d: 无效的文件描述符"
1664 msgid "xtrace_set: NULL file pointer"
1665 msgstr "xtrace_set: 空的文件指针"
1669 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
1670 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
1674 msgid "cprintf: `%c': invalid format character"
1675 msgstr "cprintf: `%c': 无效的格式字符"
1677 #: redir.c:149 redir.c:197
1678 msgid "file descriptor out of range"
1683 msgid "%s: ambiguous redirect"
1688 msgid "%s: cannot overwrite existing file"
1689 msgstr "%s:无法覆盖已存在的文件"
1693 msgid "%s: restricted: cannot redirect output"
1694 msgstr "%s:受限的: 无法重定向输出"
1698 msgid "cannot create temp file for here-document: %s"
1699 msgstr "无法为立即文档创建临时文件: %s"
1703 msgid "%s: cannot assign fd to variable"
1704 msgstr "%s:无法将文件描述符赋值给变量"
1707 msgid "/dev/(tcp|udp)/host/port not supported without networking"
1708 msgstr "没有网络时不支持 /dev/(tcp|udp)/host/port"
1710 #: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
1711 msgid "redirection error: cannot duplicate fd"
1712 msgstr "重定向错误: 无法复制文件描述符"
1715 msgid "could not find /tmp, please create!"
1716 msgstr "无法找到 /tmp ,请创建!"
1719 msgid "/tmp must be a valid directory name"
1720 msgstr "/tmp 必须为有效的目录名"
1723 msgid "pretty-printing mode ignored in interactive shells"
1724 msgstr "在交互式 shell 中将忽略美化输出模式"
1728 msgid "%c%c: invalid option"
1729 msgstr "%c%c: 无效的选项"
1733 msgid "cannot set uid to %d: effective uid %d"
1734 msgstr "无法将 uid 设为 %d: 有效 uid %d"
1738 msgid "cannot set gid to %d: effective gid %d"
1739 msgstr "无法将 gid 设为 %d: 有效 gid %d"
1742 msgid "cannot start debugger; debugging mode disabled"
1743 msgstr "无法启动调试器;调试模式已禁用"
1747 msgid "%s: Is a directory"
1750 # 这个是查看用户的 /etc/passwd 信息得到的名字。既然是用户的名字,就叫做无名氏吧。(有点想写“红领巾”来着。)
1752 msgid "I have no name!"
1757 msgid "GNU bush, version %s-(%s)\n"
1758 msgstr "GNU bush,版本 %s-(%s)\n"
1763 "Usage:\t%s [GNU long option] [option] ...\n"
1764 "\t%s [GNU long option] [option] script-file ...\n"
1766 "用法:\t%s [GNU 长选项] [选项] ...\n"
1767 "\t%s [GNU 长选项] [选项] 脚本文件 ...\n"
1770 msgid "GNU long options:\n"
1774 msgid "Shell options:\n"
1775 msgstr "Shell 选项:\n"
1778 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
1779 msgstr "\t-irsD 或 -c <命令> 或 -O <shopt 选项>\t\t(仅适合调用)\n"
1783 msgid "\t-%s or -o option\n"
1784 msgstr "\t-%s 或 -o <选项>\n"
1788 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
1789 msgstr "请输入`%s -c \"help set\"' 以获得关于 shell 选项的更多信息\n"
1793 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
1794 msgstr "请输入 `%s -c help' 以获得关于 shell 内建命令的更多信息.\n"
1796 # 写如何报告程序错误的地方应该提到如何报告翻译问题。
1799 msgid "Use the `bushbug' command to report bugs.\n"
1801 "请使用“bushbug”命令来报告程序错误。\n"
1802 "请将翻译错误报告到 <i18n-zh@googlegroups.com>。\n"
1806 msgid "bush home page: <http://www.gnu.org/software/bush>\n"
1807 msgstr "bush 首页:<http://www.gnu.org/software/bush>\n"
1811 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
1812 msgstr "使用 GNU 软件的通用帮助:<http://www.gnu.org/gethelp/>\n"
1816 msgid "sigprocmask: %d: invalid operation"
1817 msgstr "sigprocmask: %d: 无效的操作"
1820 msgid "Bogus signal"
1836 msgid "Illegal instruction"
1840 msgid "BPT trace/trap"
1844 msgid "ABORT instruction"
1848 msgid "EMT instruction"
1852 msgid "Floating point exception"
1864 msgid "Segmentation fault"
1868 msgid "Bad system call"
1884 msgid "Urgent IO condition"
1888 msgid "Stopped (signal)"
1896 msgid "Child death or stop"
1900 msgid "Stopped (tty input)"
1901 msgstr "已停止(tty 输入)"
1904 msgid "Stopped (tty output)"
1905 msgstr "已停止(tty 输出)"
1920 msgid "Alarm (virtual)"
1923 # Personally I treat this as something coming from alarm() by a profiler.
1925 msgid "Alarm (profile)"
1929 msgid "Window changed"
1937 msgid "User signal 1"
1941 msgid "User signal 2"
1945 msgid "HFT input data pending"
1949 msgid "power failure imminent"
1953 msgid "system crash imminent"
1957 msgid "migrate process to another CPU"
1958 msgstr "迁移进程至另一个 CPU"
1961 msgid "programming error"
1965 msgid "HFT monitor mode granted"
1966 msgstr "已授予 HFT 监视模式"
1969 msgid "HFT monitor mode retracted"
1970 msgstr "已撤销 HFT 监视模式"
1973 msgid "HFT sound sequence has completed"
1974 msgstr "已完成 HFT 声音序列"
1977 msgid "Information request"
1980 #: siglist.c:222 siglist.c:224
1982 msgid "Unknown Signal #%d"
1985 #: subst.c:1476 subst.c:1666
1987 msgid "bad substitution: no closing `%s' in %s"
1988 msgstr "错误的替换: 在 %2$s 中没有闭合的 `%1$s'"
1992 msgid "%s: cannot assign list to array member"
1993 msgstr "%s:无法将链表赋值给数组成员"
1995 #: subst.c:5910 subst.c:5926
1996 msgid "cannot make pipe for process substitution"
1997 msgstr "无法为进程替换创建管道"
2000 msgid "cannot make child for process substitution"
2001 msgstr "无法为进程替换创建子进程"
2005 msgid "cannot open named pipe %s for reading"
2006 msgstr "无法打开命名管道 %s 以读取"
2010 msgid "cannot open named pipe %s for writing"
2011 msgstr "无法打开命名管道 %s 进行写入"
2015 msgid "cannot duplicate named pipe %s as fd %d"
2016 msgstr "无法将命名管道 %s 作为文件描述符 %d 复制"
2019 msgid "command substitution: ignored null byte in input"
2020 msgstr "命令替换:忽略输入中的 null 字节"
2023 msgid "cannot make pipe for command substitution"
2024 msgstr "无法为命令替换创建管道"
2027 msgid "cannot make child for command substitution"
2028 msgstr "无法为命令替换创建子进程"
2031 msgid "command_substitute: cannot duplicate pipe as fd 1"
2032 msgstr "command_substitute: 无法将管道复制为文件描述符 1"
2034 #: subst.c:6883 subst.c:9952
2036 msgid "%s: invalid variable name for name reference"
2037 msgstr "%s:无效的引用变量名"
2039 #: subst.c:6979 subst.c:6997 subst.c:7169
2041 msgid "%s: invalid indirect expansion"
2044 #: subst.c:7013 subst.c:7177
2046 msgid "%s: invalid variable name"
2051 msgid "%s: parameter not set"
2056 msgid "%s: parameter null or not set"
2057 msgstr "%s:参数为空或未设置"
2059 #: subst.c:7503 subst.c:7518
2061 msgid "%s: substring expression < 0"
2062 msgstr "%s:子串表达式 < 0"
2064 #: subst.c:9281 subst.c:9302
2066 msgid "%s: bad substitution"
2071 msgid "$%s: cannot assign in this way"
2076 "future versions of the shell will force evaluation as an arithmetic "
2078 msgstr "未来版本的 shell 会强制估值为算术替换"
2082 msgid "bad substitution: no closing \"`\" in %s"
2083 msgstr "错误的替换: 在 %s 中没有闭合的 \"`\""
2087 msgid "no match: %s"
2091 msgid "argument expected"
2096 msgid "%s: integer expression expected"
2100 msgid "`)' expected"
2105 msgid "`)' expected, found %s"
2106 msgstr "需要“)”,却找到 %s"
2108 #: test.c:466 test.c:799
2110 msgid "%s: binary operator expected"
2113 #: test.c:756 test.c:759
2115 msgid "%s: unary operator expected"
2124 msgid "syntax error: `%s' unexpected"
2125 msgstr "语法错误:需要 `;'"
2128 msgid "invalid signal number"
2133 msgid "trap handler: maximum trap handler level exceeded (%d)"
2134 msgstr "trap handler: 超出最大的 trap handler 层次 (%d)"
2138 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
2139 msgstr "run_pending_traps: trap_list[%d] 中的错误值: %p"
2144 "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
2145 msgstr "run_pending_traps: 信号处理器是 SIG_DFL,重新发送 %d (%s) 给自己"
2149 msgid "trap_handler: bad signal %d"
2150 msgstr "trap_handler: 错误的信号 %d"
2154 msgid "error importing function definition for `%s'"
2155 msgstr "“%s”函数定义导入错误"
2159 msgid "shell level (%d) too high, resetting to 1"
2160 msgstr "shell 层次 (%d) 太高,重置为 1"
2163 msgid "make_local_variable: no function context at current scope"
2164 msgstr "make_local_variable: 当前作用域中没有函数上下文"
2168 msgid "%s: variable may not be assigned value"
2173 msgid "%s: assigning integer to name reference"
2174 msgstr "%s:将整数赋值给名称引用"
2177 msgid "all_local_variables: no function context at current scope"
2178 msgstr "all_local_variables: 当前作用域中没有函数上下文"
2182 msgid "%s has null exportstr"
2183 msgstr "%s 的 exportstr 为空"
2185 #: variables.c:4776 variables.c:4785
2187 msgid "invalid character %d in exportstr for %s"
2188 msgstr "%2$s 的 exportstr 中有无效的字符 %1$d"
2192 msgid "no `=' in exportstr for %s"
2193 msgstr "%s 的 exportstr 中没有“=”"
2196 msgid "pop_var_context: head of shell_variables not a function context"
2197 msgstr "pop_var_context: shell_variables 的头部不是函数上下文"
2200 msgid "pop_var_context: no global_variables context"
2201 msgstr "pop_var_context: 没有 global_variables 上下文"
2204 msgid "pop_scope: head of shell_variables not a temporary environment scope"
2205 msgstr "pop_scope: shell_variables 的头部不是临时环境作用域"
2209 msgid "%s: %s: cannot open as FILE"
2210 msgstr "%s:%s:无法作为文件打开"
2214 msgid "%s: %s: invalid value for trace file descriptor"
2215 msgstr "%s:%s:追踪文件描述符的值无效"
2219 msgid "%s: %s: compatibility value out of range"
2220 msgstr "%s:%s:兼容版本数值越界"
2222 #: version.c:46 version2.c:46
2224 msgid "Copyright (C) 2020 Free Software Foundation, Inc."
2225 msgstr "版权所有 (C) 2013 自由软件基金会."
2227 #: version.c:47 version2.c:47
2229 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
2232 "许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl."
2235 #: version.c:86 version2.c:86
2237 msgid "GNU bush, version %s (%s)\n"
2238 msgstr "GNU bush,版本 %s (%s)\n"
2240 #: version.c:91 version2.c:91
2241 msgid "This is free software; you are free to change and redistribute it."
2242 msgstr "本软件是自由软件,您可以自由地更改和重新发布。"
2244 #: version.c:92 version2.c:92
2245 msgid "There is NO WARRANTY, to the extent permitted by law."
2246 msgstr "在法律许可的情况下特此明示,本软件不提供任何担保。"
2250 msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
2251 msgstr "%s:无法分配 %lu 字节 (已分配 %lu 字节)"
2255 msgid "%s: cannot allocate %lu bytes"
2256 msgstr "%s:无法分配 %lu 字节"
2260 msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
2261 msgstr "%s:%s:%d:无法分配 %lu 字节 (已分配 %lu 字节)"
2265 msgid "%s: %s:%d: cannot allocate %lu bytes"
2266 msgstr "%s:%s:%d:无法分配 %lu 字节"
2269 msgid "alias [-p] [name[=value] ... ]"
2270 msgstr "alias [-p] [名称[=值] ... ]"
2273 msgid "unalias [-a] name [name ...]"
2274 msgstr "unalias [-a] 名称 [名称 ...]"
2278 "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
2279 "x keyseq:shell-command] [keyseq:readline-function or readline-command]"
2281 "bind [-lpvsPSVX] [-m 键映射] [-f 文件名] [-q 名称] [-u 名称] [-r 键序列] [-x "
2282 "键序列:shell-命令] [键序列:readline-函数 或 readline-命令]"
2289 msgid "continue [n]"
2290 msgstr "continue [n]"
2293 msgid "builtin [shell-builtin [arg ...]]"
2294 msgstr "builtin [shell 内建 [参数 ...]]"
2297 msgid "caller [expr]"
2298 msgstr "caller [表达式]"
2301 msgid "cd [-L|[-P [-e]] [-@]] [dir]"
2302 msgstr "cd [-L|[-P [-e]] [-@]] [目录]"
2309 msgid "command [-pVv] command [arg ...]"
2310 msgstr "command [-pVv] 命令 [参数 ...]"
2314 msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
2315 msgstr "declare [-aAfFgilnrtux] [-p] [名称[=值] ...]"
2319 msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
2320 msgstr "typeset [-aAfFgilnrtux] [-p] 名称[=值] ..."
2323 msgid "local [option] name[=value] ..."
2324 msgstr "local [option] 名称[=值] ..."
2327 msgid "echo [-neE] [arg ...]"
2328 msgstr "echo [-neE] [参数 ...]"
2331 msgid "echo [-n] [arg ...]"
2332 msgstr "echo [-n] [参数 ...]"
2335 msgid "enable [-a] [-dnps] [-f filename] [name ...]"
2336 msgstr "enable [-a] [-dnps] [-f 文件名] [名称 ...]"
2339 msgid "eval [arg ...]"
2340 msgstr "eval [参数 ...]"
2344 msgid "getopts optstring name [arg ...]"
2345 msgstr "getopts 选项字符串 名称 [参数]"
2349 msgid "exec [-cl] [-a name] [command [argument ...]] [redirection ...]"
2350 msgstr "exec [-cl] [-a 名称] [命令 [参数 ...]] [重定向 ...]"
2361 msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
2362 msgstr "fc [-e 编辑器名] [-lnr] [起始] [终结] 或 fc -s [模式=替换串] [命令]"
2365 msgid "fg [job_spec]"
2369 msgid "bg [job_spec ...]"
2370 msgstr "bg [任务声明 ...]"
2373 msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
2374 msgstr "hash [-lr] [-p 路径名] [-dt] [名称 ...]"
2377 msgid "help [-dms] [pattern ...]"
2378 msgstr "help [-dms] [模式 ...]"
2382 "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
2385 "history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 "
2389 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
2390 msgstr "jobs [-lnprs] [任务声明 ...] 或 jobs -x 命令 [参数]"
2393 msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
2394 msgstr "disown [-h] [-ar] [任务声明 ... | pid ...]"
2398 "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
2401 "kill [-s 信号声明 | -n 信号编号 | -信号声明] 进程号 | 任务声明 ... 或 kill -"
2405 msgid "let arg [arg ...]"
2406 msgstr "let 参数 [参数 ...]"
2410 "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
2411 "prompt] [-t timeout] [-u fd] [name ...]"
2413 "read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读取字符数] [-N 读取字"
2414 "符数] [-p 提示符] [-t 超时] [-u 文件描述符] [名称 ...]"
2421 msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
2422 msgstr "set [--abefhkmnptuvxBCHP] [-o 选项名] [--] [参数 ...]"
2425 msgid "unset [-f] [-v] [-n] [name ...]"
2426 msgstr "unset [-f] [-v] [-n] [名称 ...]"
2429 msgid "export [-fn] [name[=value] ...] or export -p"
2430 msgstr "export [-fn] [名称[=值] ...] 或 export -p"
2433 msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
2434 msgstr "readonly [-aAf] [名称[=值] ...] 或 readonly -p"
2441 msgid "source filename [arguments]"
2442 msgstr "source 文件名 [参数]"
2445 msgid ". filename [arguments]"
2449 msgid "suspend [-f]"
2450 msgstr "suspend [-f]"
2461 msgid "trap [-lp] [[arg] signal_spec ...]"
2462 msgstr "trap [-lp] [[参数] 信号声明 ...]"
2465 msgid "type [-afptP] name [name ...]"
2466 msgstr "type [-afptP] 名称 [名称 ...]"
2469 msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
2470 msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [限制]"
2473 msgid "umask [-p] [-S] [mode]"
2474 msgstr "umask [-p] [-S] [模式]"
2478 msgid "wait [-fn] [-p var] [id ...]"
2479 msgstr "wait [-fn] [编号 ...]"
2482 msgid "wait [pid ...]"
2483 msgstr "wait [进程号 ...]"
2486 msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
2487 msgstr "for 名称 [in 词语 ... ] ; do 命令; done"
2490 msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
2491 msgstr "for (( 表达式1; 表达式2; 表达式3 )); do 命令; done"
2494 msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
2495 msgstr "select NAME [in 词语 ... ;] do 命令; done"
2498 msgid "time [-p] pipeline"
2499 msgstr "time [-p] 管道"
2502 msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
2503 msgstr "case 词 in [模式 [| 模式]...) 命令 ;;]... esac"
2507 "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
2509 msgstr "if 命令; then 命令; [ elif 命令; then 命令; ]... [ else 命令; ] fi"
2512 msgid "while COMMANDS; do COMMANDS; done"
2513 msgstr "while 命令; do 命令; done"
2516 msgid "until COMMANDS; do COMMANDS; done"
2517 msgstr "until 命令; do 命令; done"
2520 msgid "coproc [NAME] command [redirections]"
2521 msgstr "coproc [名称] 命令 [重定向]"
2524 msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
2525 msgstr "function 名称 { 命令 ; } 或 name () { 命令 ; }"
2528 msgid "{ COMMANDS ; }"
2532 msgid "job_spec [&]"
2533 msgstr "job_spec [&]"
2536 msgid "(( expression ))"
2540 msgid "[[ expression ]]"
2544 msgid "variables - Names and meanings of some shell variables"
2545 msgstr "variables - 一些 shell 变量的名称和含义"
2548 msgid "pushd [-n] [+N | -N | dir]"
2549 msgstr "pushd [-n] [+N | -N | 目录]"
2552 msgid "popd [-n] [+N | -N]"
2553 msgstr "popd [-n] [+N | -N]"
2556 msgid "dirs [-clpv] [+N] [-N]"
2557 msgstr "dirs [-clpv] [+N] [-N]"
2560 msgid "shopt [-pqsu] [-o] [optname ...]"
2561 msgstr "shopt [-pqsu] [-o] [选项名 ...]"
2564 msgid "printf [-v var] format [arguments]"
2565 msgstr "printf [-v var] 格式 [参数]"
2570 "complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
2571 "W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
2572 "suffix] [name ...]"
2574 "complete [-abcdefgjksuv] [-pr] [-DEI] [-o 选项] [-A 动作] [-G 全局模式] [-W "
2575 "词语列表] [-F 函数] [-C 命令] [-X 过滤模式] [-P 前缀] [-S 后缀] [名称 ...]"
2580 "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-"
2581 "F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
2583 "compgen [-abcdefgjksuv] [-o 选项] [-A 动作] [-G 全局模式] [-W 词语列表] [-"
2584 "F 函数] [-C 命令] [-X 过滤模式] [-P 前缀] [-S 后缀] [词语]"
2587 msgid "compopt [-o|+o option] [-DEI] [name ...]"
2588 msgstr "compopt [-o|+o 选项] [-DEI] [名称 ...]"
2592 "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
2593 "callback] [-c quantum] [array]"
2595 "mapfile [-d 分隔符] [-n 计数] [-O 起始序号] [-s 计数] [-t] [-u fd] [-C 回调] "
2600 "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
2601 "callback] [-c quantum] [array]"
2603 "readarray [-d 定界符] [-n 计数] [-O 起始序号] [-s 计数] [-t] [-u fd] [-C 回"
2608 "Define or display aliases.\n"
2610 " Without arguments, `alias' prints the list of aliases in the reusable\n"
2611 " form `alias NAME=VALUE' on standard output.\n"
2613 " Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
2614 " A trailing space in VALUE causes the next word to be checked for\n"
2615 " alias substitution when the alias is expanded.\n"
2618 " -p\tprint all defined aliases in a reusable format\n"
2621 " alias returns true unless a NAME is supplied for which no alias has "
2627 " 不带参数时,`alias' 以可重用的格式\n"
2628 " `alias 名称=值'在标准输出设备上打印别名列表。\n"
2630 " 否则,对于每个给定值的名称定义一个别名。\n"
2631 " 值末尾的空格会使下一个词被检测作为别名替换展开。\n"
2634 " -p\t以可重用的格式打印所有的已定义的别名\n"
2637 " 除非一个没有定义的名字被作为参数提供,否则 alias \n"
2642 "Remove each NAME from the list of defined aliases.\n"
2645 " -a\tremove all alias definitions\n"
2647 " Return success unless a NAME is not an existing alias."
2649 "从别名定义列表中删除每一个“名字”。\n"
2654 " 返回成功,除非“名字”不是一个已存在的别名。"
2658 "Set Readline key bindings and variables.\n"
2660 " Bind a key sequence to a Readline function or a macro, or set a\n"
2661 " Readline variable. The non-option argument syntax is equivalent to\n"
2662 " that found in ~/.inputrc, but must be passed as a single argument:\n"
2663 " e.g., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
2666 " -m keymap Use KEYMAP as the keymap for the duration of this\n"
2667 " command. Acceptable keymap names are emacs,\n"
2668 " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
2670 " vi-command, and vi-insert.\n"
2671 " -l List names of functions.\n"
2672 " -P List function names and bindings.\n"
2673 " -p List functions and bindings in a form that can be\n"
2674 " reused as input.\n"
2675 " -S List key sequences that invoke macros and their "
2677 " -s List key sequences that invoke macros and their "
2679 " in a form that can be reused as input.\n"
2680 " -V List variable names and values\n"
2681 " -v List variable names and values in a form that can\n"
2682 " be reused as input.\n"
2683 " -q function-name Query about which keys invoke the named function.\n"
2684 " -u function-name Unbind all keys which are bound to the named "
2686 " -r keyseq Remove the binding for KEYSEQ.\n"
2687 " -f filename Read key bindings from FILENAME.\n"
2688 " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
2689 " \t\t\t\tKEYSEQ is entered.\n"
2690 " -X List key sequences bound with -x and associated "
2692 " in a form that can be reused as input.\n"
2695 " bind returns 0 unless an unrecognized option is given or an error occurs."
2697 "设定 Readline 键绑定和变量。\n"
2699 " 绑定一个键序列到一个 Readline 函数或者宏,或者设定一个\n"
2700 " Readline 变量。非选项参数的语法和 ~/.inputrc 文件中的等\n"
2701 " 同,但是必须作为一个参数被传递,\n"
2702 " 例如,bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
2705 " -m 键映射 在此命令执行过程中使用指定的键映射。\n"
2706 " 可被接受的键映射名字有 emacs、emacs-standard、emacs-"
2708 " emacs-ctlx、vi、vi-move、vi-command、和 vi-insert。\n"
2711 " -p 以可以重新用作输入的格式列出函数名称和绑定。\n"
2712 " -S 列出可以启动宏的键序列以及它们的值\n"
2713 " -s 以可以重新用作输入的格式列出可以启动宏的键以及它们的"
2716 " -v 以可以重新用作输入的格式列出变量的名称和它们的值\n"
2717 " -q 函数名 查询指定的函数可以由哪些键启动。\n"
2718 " -u 函数名 反绑定所有绑定至指定函数的键。\n"
2719 " -r 键序列 取消指定键序列的绑定。\n"
2720 " -f 文件名 从指定文件中读取键绑定。\n"
2721 " -x 键序列:shell命令\t当指定的键序列被输入时,执行指定的 shell 命令。\n"
2722 " -X 以可被重用的形式列出用 -x 绑定的键序列和命令。\n"
2725 " 除非使用了无法辨认的选项或者错误发生,否则返回0."
2729 "Exit for, while, or until loops.\n"
2731 " Exit a FOR, WHILE or UNTIL loop. If N is specified, break N enclosing\n"
2735 " The exit status is 0 unless N is not greater than or equal to 1."
2737 "退出 for、while 或 until 循环\n"
2739 " 退出一个 FOR、WHILE 或 UNTIL 循环。如果指定了N,则跳出N重\n"
2743 " 退出状态为0除非 N 不大于或等于 1。"
2747 "Resume for, while, or until loops.\n"
2749 " Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
2750 " If N is specified, resumes the Nth enclosing loop.\n"
2753 " The exit status is 0 unless N is not greater than or equal to 1."
2755 "继续 for、while 或 until 循环。\n"
2757 " 继续当前 FOR、WHILE 或 UNTIL 循环的下一步。\n"
2758 " 如果指定了 N, 则继续当前的第 N 重循环。\n"
2761 " 退出状态为 0 除非 N 不大于或等于1。"
2765 "Execute shell builtins.\n"
2767 " Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
2768 " lookup. This is useful when you wish to reimplement a shell builtin\n"
2769 " as a shell function, but need to execute the builtin within the "
2773 " Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
2774 " not a shell builtin."
2778 " 带参数 ARGs 执行 SHELL-BUILTIN 内建,并且不做命令查询\n"
2779 " 在希望以 shell 函数的形式来重新实现 shell 内建,\n"
2780 " 并且希望在函数之内执行该 shell 内建的情况下有用处。\n"
2783 " 以 SHELL-BUILTIN 内建的退出状态为准,或者如果 SHELL-BUILTIN 不是一个\n"
2788 "Return the context of the current subroutine call.\n"
2790 " Without EXPR, returns \"$line $filename\". With EXPR, returns\n"
2791 " \"$line $subroutine $filename\"; this extra information can be used to\n"
2792 " provide a stack trace.\n"
2794 " The value of EXPR indicates how many call frames to go back before the\n"
2795 " current one; the top frame is frame 0.\n"
2798 " Returns 0 unless the shell is not executing a shell function or EXPR\n"
2803 " 不带有 EXPR 时,返回 \"$line $filename\"。带有 EXPR 时,返回\n"
2804 " \"$line $subroutine $filename\";这个额外的信息可以被用于提供\n"
2807 " EXPR 的值 显示了到当前调用帧需要回去多少个调用帧;顶部帧\n"
2811 " 除非 shell 不在执行一个 shell 函数或者 EXPR 无效,否则返回结\n"
2816 "Change the shell working directory.\n"
2818 " Change the current directory to DIR. The default DIR is the value of "
2820 " HOME shell variable.\n"
2822 " The variable CDPATH defines the search path for the directory "
2824 " DIR. Alternative directory names in CDPATH are separated by a colon "
2826 " A null directory name is the same as the current directory. If DIR "
2828 " with a slash (/), then CDPATH is not used.\n"
2830 " If the directory is not found, and the shell option `cdable_vars' is "
2832 " the word is assumed to be a variable name. If that variable has a "
2834 " its value is used for DIR.\n"
2837 " -L\tforce symbolic links to be followed: resolve symbolic\n"
2838 " \t\tlinks in DIR after processing instances of `..'\n"
2839 " -P\tuse the physical directory structure without following\n"
2840 " \t\tsymbolic links: resolve symbolic links in DIR before\n"
2841 " \t\tprocessing instances of `..'\n"
2842 " -e\tif the -P option is supplied, and the current working\n"
2843 " \t\tdirectory cannot be determined successfully, exit with\n"
2844 " \t\ta non-zero status\n"
2845 " -@\ton systems that support it, present a file with extended\n"
2846 " \t\tattributes as a directory containing the file attributes\n"
2848 " The default is to follow symbolic links, as if `-L' were specified.\n"
2849 " `..' is processed by removing the immediately previous pathname "
2851 " back to a slash or the beginning of DIR.\n"
2854 " Returns 0 if the directory is changed, and if $PWD is set successfully "
2856 " -P is used; non-zero otherwise."
2860 " 改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME\n"
2863 " 变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)"
2865 " 一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 "
2869 " 如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一"
2871 " 变量名。如果该变量有值,则它的值被当作 DIR 目录。\n"
2874 " -L\t强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。\n"
2875 " -P\t使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符"
2877 " -e\t如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回"
2879 " -@\t在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目"
2882 " 默认情况下跟随符号链接,如同指定 `-L'。\n"
2883 " `..' 使用移除向前相邻目录名成员直到 DIR 开始或一个斜杠的方式处理。\n"
2886 " 如果目录改变,或在使用 -P 选项时 $PWD 修改成功时返回 0,否则非零。"
2890 "Print the name of the current working directory.\n"
2893 " -L\tprint the value of $PWD if it names the current working\n"
2895 " -P\tprint the physical directory, without any symbolic links\n"
2897 " By default, `pwd' behaves as if `-L' were specified.\n"
2900 " Returns 0 unless an invalid option is given or the current directory\n"
2906 " -L\t打印 $PWD 变量的值,如果它包含了当前的工作目录\n"
2907 " -P\t打印当前的物理路径,不带有任何的符号链接\n"
2909 " 默认情况下,`pwd' 的行为和带 `-L' 选项一致\n"
2912 " 除非使用了无效选项或者当前目录不可读,否则返回状态为0。"
2918 " No effect; the command does nothing.\n"
2925 " 没有效果; 此命令不做任何操作。\n"
2932 "Return a successful result.\n"
2944 "Return an unsuccessful result.\n"
2956 "Execute a simple command or display information about commands.\n"
2958 " Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
2959 " information about the specified COMMANDs. Can be used to invoke "
2961 " on disk when a function with the same name exists.\n"
2964 " -p use a default value for PATH that is guaranteed to find all of\n"
2965 " the standard utilities\n"
2966 " -v print a description of COMMAND similar to the `type' builtin\n"
2967 " -V print a more verbose description of each COMMAND\n"
2970 " Returns exit status of COMMAND, or failure if COMMAND is not found."
2972 "执行一个简单命令或者显示命令的相关信息。\n"
2974 " 带 ARGS 参数运行 COMMAND 命令且抑制 shell 函数查询,或显示\n"
2975 " 指定的 COMMAND 命令的信息。可以在存在相同名称的函数定义的\n"
2979 " -p\t使用 PATH 变量的一个默认值以确保所有的标准工具都能被找到。\n"
2980 " -v\t打印 COMMAND 命令的描述,和 `type' 内建相似\n"
2981 " -V\t打印每个 COMMAND 命令的详细描述\n"
2984 " 返回 COMMAND 命令的返回状态,或者当找不到 COMMAND 命令时失败。"
2989 "Set variable values and attributes.\n"
2991 " Declare variables and give them attributes. If no NAMEs are given,\n"
2992 " display the attributes and values of all variables.\n"
2995 " -f\trestrict action or display to function names and definitions\n"
2996 " -F\trestrict display to function names only (plus line number and\n"
2997 " \t\tsource file when debugging)\n"
2998 " -g\tcreate global variables when used in a shell function; otherwise\n"
3000 " -I\tif creating a local variable, inherit the attributes and value\n"
3001 " \t\tof a variable with the same name at a previous scope\n"
3002 " -p\tdisplay the attributes and value of each NAME\n"
3004 " Options which set attributes:\n"
3005 " -a\tto make NAMEs indexed arrays (if supported)\n"
3006 " -A\tto make NAMEs associative arrays (if supported)\n"
3007 " -i\tto make NAMEs have the `integer' attribute\n"
3008 " -l\tto convert the value of each NAME to lower case on assignment\n"
3009 " -n\tmake NAME a reference to the variable named by its value\n"
3010 " -r\tto make NAMEs readonly\n"
3011 " -t\tto make NAMEs have the `trace' attribute\n"
3012 " -u\tto convert the value of each NAME to upper case on assignment\n"
3013 " -x\tto make NAMEs export\n"
3015 " Using `+' instead of `-' turns off the given attribute.\n"
3017 " Variables with the integer attribute have arithmetic evaluation (see\n"
3018 " the `let' command) performed when the variable is assigned a value.\n"
3020 " When used in a function, `declare' makes NAMEs local, as with the "
3022 " command. The `-g' option suppresses this behavior.\n"
3025 " Returns success unless an invalid option is supplied or a variable\n"
3026 " assignment error occurs."
3030 " 声明变量并且赋予它们属性。如果没有给定名称,\n"
3034 " -f\t限制动作或显示为仅函数名称和定义\n"
3035 " -F\t限制仅显示函数名称 (以及调试时显示行号和源文件名)\n"
3036 " -g\t当用于 shell 函数内时创建全局变量; 否则忽略\n"
3037 " -p\t显示每个 NAME 变量的属性和值\n"
3040 " -a\t使 NAME 成为下标数组 (如果支持)\n"
3041 " -A\t使 NAME 成为关联数组 (如果支持)\n"
3042 " -i\t使 NAME 带有 `integer' (整数)属性\n"
3043 " -l\t将 NAME 在赋值时转为小写\n"
3044 " -n\t使 NAME 成为指向一个以其值为名称的变量的引用\n"
3045 " -r\t将 NAME 变为只读\n"
3046 " -t\t使 NAME 带有 `trace' (追踪)属性\n"
3047 " -u\t将每个 NAME 在赋值时转为大写\n"
3050 " 用 `+' 代替 `-' 会关闭指定选项。\n"
3052 " 带有整数属性的变量在赋值时将使用算术估值(见\n"
3055 " 在函数中使用时,`declare' 使 NAME 成为本地变量,和 `local'\n"
3056 " 命令一致。`-g' 选项抑制此行为。\n"
3059 " 返回成功,除非提供了无效选项或者发生变量赋值错误。"
3063 "Set variable values and attributes.\n"
3065 " A synonym for `declare'. See `help declare'."
3069 " `declare' 的等价形式。参见 `help declare'。"
3073 "Define local variables.\n"
3075 " Create a local variable called NAME, and give it VALUE. OPTION can\n"
3076 " be any option accepted by `declare'.\n"
3078 " Local variables can only be used within a function; they are visible\n"
3079 " only to the function where they are defined and its children.\n"
3082 " Returns success unless an invalid option is supplied, a variable\n"
3083 " assignment error occurs, or the shell is not executing a function."
3087 " 创建一个以 NAME 为名称的变量,并且将 VALUE 赋值给它。\n"
3088 " OPTION 选项可以是任何能被 `declare' 接受的选项。\n"
3090 " 本地变量只能在函数内部被使用,它们只能在定义它们的函数内\n"
3094 " 返回成功,除非使用了无效的选项、发生了赋值错误或者 shell 不在执行一个函"
3099 "Write arguments to the standard output.\n"
3101 " Display the ARGs, separated by a single space character and followed by "
3103 " newline, on the standard output.\n"
3106 " -n\tdo not append a newline\n"
3107 " -e\tenable interpretation of the following backslash escapes\n"
3108 " -E\texplicitly suppress interpretation of backslash escapes\n"
3110 " `echo' interprets the following backslash-escaped characters:\n"
3111 " \\a\talert (bell)\n"
3113 " \\c\tsuppress further output\n"
3114 " \\e\tescape character\n"
3115 " \\E\tescape character\n"
3118 " \\r\tcarriage return\n"
3119 " \\t\thorizontal tab\n"
3120 " \\v\tvertical tab\n"
3121 " \\\\\tbackslash\n"
3122 " \\0nnn\tthe character whose ASCII code is NNN (octal). NNN can be\n"
3123 " \t\t0 to 3 octal digits\n"
3124 " \\xHH\tthe eight-bit character whose value is HH (hexadecimal). HH\n"
3125 " \t\tcan be one or two hex digits\n"
3126 " \\uHHHH\tthe Unicode character whose value is the hexadecimal value "
3128 " \t\tHHHH can be one to four hex digits.\n"
3129 " \\UHHHHHHHH the Unicode character whose value is the hexadecimal "
3131 " \t\tHHHHHHHH. HHHHHHHH can be one to eight hex digits.\n"
3134 " Returns success unless a write error occurs."
3138 " 在标准输出上,显示用空格分割的 ARG 参数后跟一个换行。\n"
3142 " -e\t启用下列反斜杠转义的解释\n"
3143 " -E\t显式地抑制对于反斜杠转义的解释\n"
3145 " `echo' 对下列反斜杠字符进行转义:\n"
3156 " \\0nnn\t以 NNN(八进制)为 ASCII 码的字符。NNN 可以是 0 到 3 个八进制"
3158 " \\xHH\t以 HH(十六进制)为值的八比特字符。HH 可以是一个或两个十六进制"
3160 " \\uHHHH\t以 HHHH(十六进制)为值的 Unicode 字符。HHHH 可以是一个到\n"
3162 " \\UHHHHHHHH 以 HHHHHHHH(十六进制)为值的 Unicode 字符。\n"
3163 " \t\tHHHHHHHH 可以是一到八个十六进制位。\n"
3170 "Write arguments to the standard output.\n"
3172 " Display the ARGs on the standard output followed by a newline.\n"
3175 " -n\tdo not append a newline\n"
3178 " Returns success unless a write error occurs."
3182 " 在标准输出设备上显示 ARGs 参数和一个换行。\n"
3192 "Enable and disable shell builtins.\n"
3194 " Enables and disables builtin shell commands. Disabling allows you to\n"
3195 " execute a disk command which has the same name as a shell builtin\n"
3196 " without using a full pathname.\n"
3199 " -a\tprint a list of builtins showing whether or not each is enabled\n"
3200 " -n\tdisable each NAME or display a list of disabled builtins\n"
3201 " -p\tprint the list of builtins in a reusable format\n"
3202 " -s\tprint only the names of Posix `special' builtins\n"
3204 " Options controlling dynamic loading:\n"
3205 " -f\tLoad builtin NAME from shared object FILENAME\n"
3206 " -d\tRemove a builtin loaded with -f\n"
3208 " Without options, each NAME is enabled.\n"
3210 " To use the `test' found in $PATH instead of the shell builtin\n"
3211 " version, type `enable -n test'.\n"
3214 " Returns success unless NAME is not a shell builtin or an error occurs."
3218 " 启用和禁用 shell 的内建命令。禁用使您能够执行一个和内建\n"
3219 " 命令同名的磁盘上的命令,而无须使用完整的路径名。\n"
3223 " -a\t打印一个内建的列表,并显示其中每一个是否启用\n"
3224 " -n\t禁用每一个 NAME 内建或者显示一个被禁用的内建的列表\n"
3225 " -p\t以可重用的格式打印一个内建的列表\n"
3226 " -s\t仅打印Posix `special' 内建的名称\n"
3229 " -f\t从共享对象 FILENAME 文件中加载 NAME 内建\n"
3230 " -d\t删除以 -f 选项加载的内建\n"
3232 " 不带选项时,每一个 NAME 内建都被启用。\n"
3234 " 如果要使用 $PATH 中找到的 `test' 而不是 shell 内建的版本,\n"
3235 " 输入 `enable -n test'。\n"
3238 " 返回成功,除非 NAME 不是一个 shell 内建或者有错误发生。"
3242 "Execute arguments as a shell command.\n"
3244 " Combine ARGs into a single string, use the result as input to the "
3246 " and execute the resulting commands.\n"
3249 " Returns exit status of command or success if command is null."
3251 "将参数作为 shell 命令执行。\n"
3253 " 将 ARGs 合成一个字符串,用结果作为 shell 的输入,\n"
3257 " 以命令的状态退出,或者在命令为空的情况下返回成功。"
3262 "Parse option arguments.\n"
3264 " Getopts is used by shell procedures to parse positional parameters\n"
3267 " OPTSTRING contains the option letters to be recognized; if a letter\n"
3268 " is followed by a colon, the option is expected to have an argument,\n"
3269 " which should be separated from it by white space.\n"
3271 " Each time it is invoked, getopts will place the next option in the\n"
3272 " shell variable $name, initializing name if it does not exist, and\n"
3273 " the index of the next argument to be processed into the shell\n"
3274 " variable OPTIND. OPTIND is initialized to 1 each time the shell or\n"
3275 " a shell script is invoked. When an option requires an argument,\n"
3276 " getopts places that argument into the shell variable OPTARG.\n"
3278 " getopts reports errors in one of two ways. If the first character\n"
3279 " of OPTSTRING is a colon, getopts uses silent error reporting. In\n"
3280 " this mode, no error messages are printed. If an invalid option is\n"
3281 " seen, getopts places the option character found into OPTARG. If a\n"
3282 " required argument is not found, getopts places a ':' into NAME and\n"
3283 " sets OPTARG to the option character found. If getopts is not in\n"
3284 " silent mode, and an invalid option is seen, getopts places '?' into\n"
3285 " NAME and unsets OPTARG. If a required argument is not found, a '?'\n"
3286 " is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
3289 " If the shell variable OPTERR has the value 0, getopts disables the\n"
3290 " printing of error messages, even if the first character of\n"
3291 " OPTSTRING is not a colon. OPTERR has the value 1 by default.\n"
3293 " Getopts normally parses the positional parameters, but if arguments\n"
3294 " are supplied as ARG values, they are parsed instead.\n"
3297 " Returns success if an option is found; fails if the end of options is\n"
3298 " encountered or an error occurs."
3302 " getopts 被 shell 过程用于解析可定位的参数作为选项。\n"
3305 " OPTSTRING 字符串包含待识别的选项字母;如果一个字母后面跟\n"
3306 " 着分号,则该选项需要一个参数,而该参数应用空格与选项分开。\n"
3309 " 每次启动时,getopts 会将下一个选项放到 shell 变量 $name\n"
3310 " 中,如果 name 变量不存在则先将其初始化,而下一个待处\n"
3311 " 理的参数序号放入 shell 变量 OPTIND 中。OPTIND 变量在每\n"
3312 " 次 shell 或者 shell 脚本启动时都被初始化为1。当一个选项要\n"
3313 " 求有一个参数时,getopts 将参数放入 shell 变量 OPTARG\n"
3316 " getopts 有两种报告错误的方法。如果 OPTSTRING 变量的第\n"
3317 " 一个字符是冒号,getopts 使用沉默错误报告。在这种模式\n"
3318 " 下,不会打印错误消息。如果看到了一个无效的选项,\n"
3319 " getopts 将找到的选项字符放至 OPTARG 变量中。如果一个必\n"
3320 " 须的选项没有找到,getopts 放一个 ':' 到 NAME 变量中并且设\n"
3321 " 置 OPTARG 变量为找到的选项字符。如果 getopts 不在沉默模\n"
3322 " 式中,并且遇到了一个无效的选项,getopts 放置一个 '?' 到 NAME \n"
3323 " 变量中并且取消设定 OPTARG变量。如果必须的选项没有找到,\n"
3324 " 一个'?'会被放入 NAME变量中,OPTARG 将被取消设定,并且会\n"
3327 " 如果 shell 变量 OPTERR 的值为0,getopts 禁用\n"
3328 " 错误信息的打印,即使 OPTSTRING 变量的第一个字符不是一\n"
3329 " 个冒号。OPTERR 的默认值为1.\n"
3331 " getopts 通常解析可定位的参数($0 - $9),不过如果提供了\n"
3332 " 更多的参数,它们反而会被解析。\n"
3335 " 如果一个选项被找到则返回成功;如果遇到了选项的结尾或者\n"
3340 "Replace the shell with the given command.\n"
3342 " Execute COMMAND, replacing this shell with the specified program.\n"
3343 " ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
3345 " any redirections take effect in the current shell.\n"
3348 " -a name\tpass NAME as the zeroth argument to COMMAND\n"
3349 " -c\texecute COMMAND with an empty environment\n"
3350 " -l\tplace a dash in the zeroth argument to COMMAND\n"
3352 " If the command cannot be executed, a non-interactive shell exits, "
3354 " the shell option `execfail' is set.\n"
3357 " Returns success unless COMMAND is not found or a redirection error "
3362 " 执行 COMMAND 命令,以指定的程序替换这个 shell。\n"
3363 " ARGUMENTS 参数成为 COMMAND命令的参数。如果\n"
3364 " 没有指定COMMAND 命令,则任何的重定向在当前 shell 中生效。\n"
3367 " -a 名称\t作为第0个参数传递给 COMMAND 命令\n"
3368 " -c\t\t在一个空环境中执行 COMMAND 命令\n"
3369 " -l\t\t在COMMAND 命令的第0个参数中加一个短线\n"
3371 " 如果命令不能被执行,则退出一个非交互式的 shell,除非\n"
3372 " shell 选项`execfail' 已经设定。\n"
3375 " 返回成功除非 COMMAND 命令没有找到或者出现一个重定向错误。"
3381 " Exits the shell with a status of N. If N is omitted, the exit status\n"
3382 " is that of the last command executed."
3386 " 以状态 N 退出 shell。 如果 N 被省略,则退出状态\n"
3391 "Exit a login shell.\n"
3393 " Exits a login shell with exit status N. Returns an error if not "
3395 " in a login shell."
3399 " 以状态 N 退出一个登录 shell。如果不在登录 shell 中执行,则\n"
3404 "Display or execute commands from the history list.\n"
3406 " fc is used to list or edit and re-execute commands from the history "
3408 " FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
3409 " string, which means the most recent command beginning with that\n"
3413 " -e ENAME\tselect which editor to use. Default is FCEDIT, then "
3416 " -l \tlist lines instead of editing\n"
3417 " -n\tomit line numbers when listing\n"
3418 " -r\treverse the order of the lines (newest listed first)\n"
3420 " With the `fc -s [pat=rep ...] [command]' format, COMMAND is\n"
3421 " re-executed after the substitution OLD=NEW is performed.\n"
3423 " A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
3424 " runs the last command beginning with `cc' and typing `r' re-executes\n"
3425 " the last command.\n"
3428 " Returns success or status of executed command; non-zero if an error "
3433 " fc 被用于从历史列表中列出或者重新编辑并执行命令。\n"
3434 " FIRST 和 LAST 变量可以是数字用于指定范围,或者 FIRST 可以是\n"
3435 " 字符串,意味着以这个字符串打头的最近的一个命令。\n"
3439 " -e ENAME\t选择使用哪个编辑器。默认的是 FCEDIT, 然后是 EDITOR,\n"
3443 " -r\t反转行的顺序(最新行在前)\n"
3445 " 用 `fc -s [模式=替换 ...] [命令]' 的格式,COMMAND 命令会在 OLD=NEW\n"
3448 " r='fc -s' 是一个有用的别名,这样的话输入 `r cc'会执行最后一个以 `cc'\n"
3449 " 开头的命令,输入 `r'会重新执行最后一个命令。\n"
3453 " 返回成功,或者执行的命令的状态;如果错误发生则返回非零。"
3457 "Move job to the foreground.\n"
3459 " Place the job identified by JOB_SPEC in the foreground, making it the\n"
3460 " current job. If JOB_SPEC is not present, the shell's notion of the\n"
3461 " current job is used.\n"
3464 " Status of command placed in foreground, or failure if an error occurs."
3468 " 将以 JOB_SPEC 标识的任务放至前台,使其成为\n"
3469 " 当前任务。如果 JOB_SPEC 不存在,shell 观念中的当前任务 \n"
3473 " 放至前台的命令状态,或者当错误发生时为失败。"
3477 "Move jobs to the background.\n"
3479 " Place the jobs identified by each JOB_SPEC in the background, as if "
3481 " had been started with `&'. If JOB_SPEC is not present, the shell's "
3483 " of the current job is used.\n"
3486 " Returns success unless job control is not enabled or an error occurs."
3490 " 将 JOB_SPEC 标识的任务放至后台,就像它们\n"
3491 " 是带 `&' 启动的一样。如果 JOB_SPEC 不存在,shell 观念中的\n"
3495 " 返回成功除非任务管理没有启用或者错误发生。"
3499 "Remember or display program locations.\n"
3501 " Determine and remember the full pathname of each command NAME. If\n"
3502 " no arguments are given, information about remembered commands is "
3506 " -d\tforget the remembered location of each NAME\n"
3507 " -l\tdisplay in a format that may be reused as input\n"
3508 " -p pathname\tuse PATHNAME as the full pathname of NAME\n"
3509 " -r\tforget all remembered locations\n"
3510 " -t\tprint the remembered location of each NAME, preceding\n"
3511 " \t\teach location with the corresponding NAME if multiple\n"
3512 " \t\tNAMEs are given\n"
3514 " NAME\tEach NAME is searched for in $PATH and added to the list\n"
3515 " \t\tof remembered commands.\n"
3518 " Returns success unless NAME is not found or an invalid option is given."
3522 " 确定并记住每一个给定 NAME 名称的命令的完整路径。\n"
3523 " 如果不提供参数,则显示已经记住的命令的信息。\n"
3526 " -d\t\t忘记每一个已经记住的 NAME 的位置\n"
3527 " -l\t\t以可作为输入重用的格式显示\n"
3528 " -p pathname\t使用 pathname 路径作为 NAME 命令的全路径\n"
3529 " -r\t\t忘记所有记住的位置\n"
3530 " -t\t\t打印记住的每一个 NAME 名称的位置,如果指定了多个\n"
3531 " \t\tNAME 名称,则每个位置前面会加上相应的 NAME 名称\n"
3534 " NAME\t\t每个 NAME 名称会在 $PATH 路径变量中被搜索,并且添加到记住的命"
3539 " 返回成功,除非 NAME 命令没有找到或者使用了无效的选项。"
3543 "Display information about builtin commands.\n"
3545 " Displays brief summaries of builtin commands. If PATTERN is\n"
3546 " specified, gives detailed help on all commands matching PATTERN,\n"
3547 " otherwise the list of help topics is printed.\n"
3550 " -d\toutput short description for each topic\n"
3551 " -m\tdisplay usage in pseudo-manpage format\n"
3552 " -s\toutput only a short usage synopsis for each topic matching\n"
3556 " PATTERN\tPattern specifying a help topic\n"
3559 " Returns success unless PATTERN is not found or an invalid option is "
3564 " 显示内建命令的简略信息。如果指定了 PATTERN 模式,\n"
3565 " 给出所有匹配 PATTERN 模式的命令的详细帮助,否则打\n"
3569 " -d\t输出每个主题的简短描述\n"
3570 " -m\t以伪 man 手册的格式显示使用方法\n"
3571 " -s\t为每一个匹配 PATTERN 模式的主题仅显示一个用法\n"
3575 " PATTERN\t指定帮助主题的模式\n"
3578 " 返回成功,除非未找到 PATTERN 模式没有找到或者使用了无效选项。"
3582 "Display or manipulate the history list.\n"
3584 " Display the history list with line numbers, prefixing each modified\n"
3585 " entry with a `*'. An argument of N lists only the last N entries.\n"
3588 " -c\tclear the history list by deleting all of the entries\n"
3589 " -d offset\tdelete the history entry at position OFFSET. Negative\n"
3590 " \t\toffsets count back from the end of the history list\n"
3592 " -a\tappend history lines from this session to the history file\n"
3593 " -n\tread all history lines not already read from the history file\n"
3594 " \t\tand append them to the history list\n"
3595 " -r\tread the history file and append the contents to the history\n"
3597 " -w\twrite the current history to the history file\n"
3599 " -p\tperform history expansion on each ARG and display the result\n"
3600 " \t\twithout storing it in the history list\n"
3601 " -s\tappend the ARGs to the history list as a single entry\n"
3603 " If FILENAME is given, it is used as the history file. Otherwise,\n"
3604 " if HISTFILE has a value, that is used, else ~/.bush_history.\n"
3606 " If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
3607 " as a format string for strftime(3) to print the time stamp associated\n"
3608 " with each displayed history entry. No time stamps are printed "
3612 " Returns success unless an invalid option is given or an error occurs."
3616 " 带行号显示历史列表,将每个被修改的条目加上 `*' 前缀。\n"
3617 " 参数 N 会仅列出最后的 N 个条目。\n"
3620 " -c\t删除所有条目从而清空历史列表。\n"
3621 " -d 偏移量\t从指定位置删除历史列表。负偏移量将从历史条目末尾\n"
3624 " -a\t将当前会话的历史行追加到历史文件中\n"
3625 " -n\t从历史文件中读取所有未被读取的行\n"
3626 " \t\t并且将它们附加到历史列表\n"
3627 " -r\t读取历史文件并将内容追加到历史列表中\n"
3628 " -w\t将当前历史写入到历史文件中\n"
3630 " -p\t对每一个 ARG 参数展开历史并显示结果,而不存储到历史列表中\n"
3631 " -s\t以单条记录追加 ARG 到历史列表中\n"
3633 " 如果给定了 FILENAME 文件名,则它将被作为历史文件。否则\n"
3634 " 如果 $HISTFILE 变量有值的话使用之,不然使用 ~/.bush_history 文件。\n"
3636 " 如果 $HISTTIMEFORMAT 变量被设定并且不为空,它的值会被用于\n"
3637 " strftime(3) 的格式字符串来打印与每一个显示的历史条目想关联的\n"
3641 " 返回成功,除非使用了无效的选项或者发生错误。"
3645 "Display status of jobs.\n"
3647 " Lists the active jobs. JOBSPEC restricts output to that job.\n"
3648 " Without options, the status of all active jobs is displayed.\n"
3651 " -l\tlists process IDs in addition to the normal information\n"
3652 " -n\tlists only processes that have changed status since the last\n"
3653 " \t\tnotification\n"
3654 " -p\tlists process IDs only\n"
3655 " -r\trestrict output to running jobs\n"
3656 " -s\trestrict output to stopped jobs\n"
3658 " If -x is supplied, COMMAND is run after all job specifications that\n"
3659 " appear in ARGS have been replaced with the process ID of that job's\n"
3660 " process group leader.\n"
3663 " Returns success unless an invalid option is given or an error occurs.\n"
3664 " If -x is used, returns the exit status of COMMAND."
3668 " 列出活动的任务。JOBSPEC 限制仅输出指定的任务。\n"
3669 " 不带选项时,所有活动任务的状态都会显示。\n"
3672 " -l\t在正常信息基础上列出进程号\n"
3673 " -n\t仅列出上次通告之后改变了状态的进程\n"
3675 " -r\t限制仅输出运行中的任务\n"
3678 " 如果使用了 -x 选项,ARG 参数中的所有任务声明会被替换为该任务\n"
3679 " 的进程组头领的进程号,然后执行 COMMAND 命令。\n"
3682 " 返回成功,除非使用了无效的选项或者有错误发生。\n"
3683 " 如果使用 -x 选项,则返回 COMMAND 命令的退出状态。"
3687 "Remove jobs from current shell.\n"
3689 " Removes each JOBSPEC argument from the table of active jobs. Without\n"
3690 " any JOBSPECs, the shell uses its notion of the current job.\n"
3693 " -a\tremove all jobs if JOBSPEC is not supplied\n"
3694 " -h\tmark each JOBSPEC so that SIGHUP is not sent to the job if the\n"
3695 " \t\tshell receives a SIGHUP\n"
3696 " -r\tremove only running jobs\n"
3699 " Returns success unless an invalid option or JOBSPEC is given."
3701 "从当前 shell 中删除任务。\n"
3703 " 从活动任务表中删除每一个 JOBSPEC 参数。不带任何\n"
3704 " JOBSPEC 参数时,shell 使用观念中的当前任务。\n"
3707 " -a\t如果不提供 JOBSPEC 参数,则删除所有任务\n"
3708 " -h\t标识每个 JOBSPEC 任务,从而当 shell 接收到 SIGHUP\n"
3709 " \t\t信号时不发送 SIGHUP 给指定任务\n"
3713 " 返回成功除非使用了无效的选项或者 JOBSPEC 声明。"
3717 "Send a signal to a job.\n"
3719 " Send the processes identified by PID or JOBSPEC the signal named by\n"
3720 " SIGSPEC or SIGNUM. If neither SIGSPEC nor SIGNUM is present, then\n"
3721 " SIGTERM is assumed.\n"
3724 " -s sig\tSIG is a signal name\n"
3725 " -n sig\tSIG is a signal number\n"
3726 " -l\tlist the signal names; if arguments follow `-l' they are\n"
3727 " \t\tassumed to be signal numbers for which names should be listed\n"
3728 " -L\tsynonym for -l\n"
3730 " Kill is a shell builtin for two reasons: it allows job IDs to be used\n"
3731 " instead of process IDs, and allows processes to be killed if the limit\n"
3732 " on processes that you can create is reached.\n"
3735 " Returns success unless an invalid option is given or an error occurs."
3739 " 向以 PID 进程号或者 JOBSPEC 任务声明指定的进程发送一个以\n"
3740 " SIGSPEC 信号声明或 SIGNUM 信号编号命名的信号。如果没有指定\n"
3741 " SIGSPEC 或 SIGNUM,那么假定发送 SIGTERM 信号。\n"
3744 " -s sig\tSIG 是信号名称\n"
3745 " -n sig\tSIG 是信号编号\n"
3746 " -l\t列出信号名称;如果参数后跟 `-l'则被假设为信号编号,\n"
3747 " \t\t而相应的信号名称会被列出\n"
3749 " Kill 成为 shell 内建有两个理由:它允许使用任务编号而不是进程号,\n"
3750 " 并且在可以创建的进程数上限达到是允许进程被杀死。\n"
3753 " 返回成功,除非使用了无效的选项或者有错误发生。"
3757 "Evaluate arithmetic expressions.\n"
3759 " Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
3760 " fixed-width integers with no check for overflow, though division by 0\n"
3761 " is trapped and flagged as an error. The following list of operators is\n"
3762 " grouped into levels of equal-precedence operators. The levels are "
3764 " in order of decreasing precedence.\n"
3766 " \tid++, id--\tvariable post-increment, post-decrement\n"
3767 " \t++id, --id\tvariable pre-increment, pre-decrement\n"
3768 " \t-, +\t\tunary minus, plus\n"
3769 " \t!, ~\t\tlogical and bitwise negation\n"
3770 " \t**\t\texponentiation\n"
3771 " \t*, /, %\t\tmultiplication, division, remainder\n"
3772 " \t+, -\t\taddition, subtraction\n"
3773 " \t<<, >>\t\tleft and right bitwise shifts\n"
3774 " \t<=, >=, <, >\tcomparison\n"
3775 " \t==, !=\t\tequality, inequality\n"
3776 " \t&\t\tbitwise AND\n"
3777 " \t^\t\tbitwise XOR\n"
3778 " \t|\t\tbitwise OR\n"
3779 " \t&&\t\tlogical AND\n"
3780 " \t||\t\tlogical OR\n"
3781 " \texpr ? expr : expr\n"
3782 " \t\t\tconditional operator\n"
3783 " \t=, *=, /=, %=,\n"
3784 " \t+=, -=, <<=, >>=,\n"
3785 " \t&=, ^=, |=\tassignment\n"
3787 " Shell variables are allowed as operands. The name of the variable\n"
3788 " is replaced by its value (coerced to a fixed-width integer) within\n"
3789 " an expression. The variable need not have its integer attribute\n"
3790 " turned on to be used in an expression.\n"
3792 " Operators are evaluated in order of precedence. Sub-expressions in\n"
3793 " parentheses are evaluated first and may override the precedence\n"
3797 " If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
3801 " 将每个 ARG 参赛作为算术表达式来估值。估值的计算以定宽的整\n"
3802 " 数完成,不带溢出检测,不过除 0 是被置陷阱的并且会报一个错\n"
3803 " 误。下列操作符被按照相同的算术优先级组合。列表的顺序按照\n"
3807 " \tid++, id--\t变量后置加,后置减\n"
3808 " \t++id, --id\t变量前置加,前置减\n"
3809 " \t-, +\t\t一元减法,一元加法\n"
3810 " \t!, ~\t\t逻辑和位取反\n"
3812 " \t*, /, %\t\t乘法,除法,取余数\n"
3813 " \t+, -\t\t增加,减少\n"
3814 " \t<<, >>\t\t向左和向右按位移位\n"
3815 " \t<=, >=, <, >\t比较\n"
3816 " \t==, !=\t\t等于,不等于\n"
3822 " \texpr ? expr : expr\n"
3824 " \t=, *=, /=, %=,\n"
3825 " \t+=, -=, <<=, >>=,\n"
3826 " \t&=, ^=, |=\t赋值\n"
3828 " Shell 变量允许作为操作数。表达式中的变量的名称会被取代以值\n"
3829 " (强制转换为定宽的整数)。表达式中的变量不需要打开整数属性。\n"
3831 " 操作符按照优先级进行估值。括号中的子表达式将被先估值,并可取代上述表达式"
3835 " 如果最后一个 ARG 参数估值为 0,则 let 返回 1; 否则 let 返回 0。"
3839 "Read a line from the standard input and split it into fields.\n"
3841 " Reads a single line from the standard input, or from file descriptor FD\n"
3842 " if the -u option is supplied. The line is split into fields as with "
3844 " splitting, and the first word is assigned to the first NAME, the second\n"
3845 " word to the second NAME, and so on, with any leftover words assigned to\n"
3846 " the last NAME. Only the characters found in $IFS are recognized as "
3850 " If no NAMEs are supplied, the line read is stored in the REPLY "
3854 " -a array\tassign the words read to sequential indices of the array\n"
3855 " \t\tvariable ARRAY, starting at zero\n"
3856 " -d delim\tcontinue until the first character of DELIM is read, rather\n"
3857 " \t\tthan newline\n"
3858 " -e\tuse Readline to obtain the line\n"
3859 " -i text\tuse TEXT as the initial text for Readline\n"
3860 " -n nchars\treturn after reading NCHARS characters rather than waiting\n"
3861 " \t\tfor a newline, but honor a delimiter if fewer than\n"
3862 " \t\tNCHARS characters are read before the delimiter\n"
3863 " -N nchars\treturn only after reading exactly NCHARS characters, "
3865 " \t\tEOF is encountered or read times out, ignoring any\n"
3867 " -p prompt\toutput the string PROMPT without a trailing newline before\n"
3868 " \t\tattempting to read\n"
3869 " -r\tdo not allow backslashes to escape any characters\n"
3870 " -s\tdo not echo input coming from a terminal\n"
3871 " -t timeout\ttime out and return failure if a complete line of\n"
3872 " \t\tinput is not read within TIMEOUT seconds. The value of the\n"
3873 " \t\tTMOUT variable is the default timeout. TIMEOUT may be a\n"
3874 " \t\tfractional number. If TIMEOUT is 0, read returns\n"
3875 " \t\timmediately, without trying to read any data, returning\n"
3876 " \t\tsuccess only if input is available on the specified\n"
3877 " \t\tfile descriptor. The exit status is greater than 128\n"
3878 " \t\tif the timeout is exceeded\n"
3879 " -u fd\tread from file descriptor FD instead of the standard input\n"
3882 " The return code is zero, unless end-of-file is encountered, read times "
3884 " (in which case it's greater than 128), a variable assignment error "
3886 " or an invalid file descriptor is supplied as the argument to -u."
3888 "从标准输入读取一行并将其分为不同的域。\n"
3890 " 从标准输入读取单独的一行,或者如果使用了 -u 选项,从文件描述符 FD 中读"
3892 " 该行被分割成域,如同词语分割一样,并且第一个词被赋值给第一个 NAME 变量,"
3894 " 个词被赋值给第二个 NAME 变量,如此继续,直到剩下所有的词被赋值给最后一个 "
3896 " 变量。只有 $IFS 变量中的字符被认作是词语分隔符。\n"
3898 " 如果没有提供 NAME 变量,则读取的行被存放在 REPLY 变量中。\n"
3901 " -a array\t将词语赋值给 ARRAY 数组变量的序列下标成员,从零开始\n"
3902 " -d delim\t持续读取直到读入 DELIM 变量中的第一个字符,而不是换行符\n"
3903 " -e\t使用 Readline 获取行\n"
3904 " -i text\t使用 TEXT 文本作为 Readline 的初始文字\n"
3905 " -n nchars\t读取 nchars 个字符之后返回,而不是等到读取换行符。\n"
3906 " \t\t但是分隔符仍然有效,如果遇到分隔符之前读取了不足 nchars 个字符。\n"
3907 " -N nchars\t在准确读取了 nchars 个字符之后返回,除非遇到文件结束符或者读"
3910 " -p prompt\t在尝试读取之前输出 PROMPT 提示符并且不带\n"
3912 " -r\t不允许反斜杠转义任何字符\n"
3914 " -t timeout\t如果在 TIMEOUT 秒内没有读取一个完整的行则超时并且返回失"
3916 " \t\tTMOUT 变量的值是默认的超时时间。TIMEOUT 可以是小数。\n"
3917 " \t\t如果 TIMEOUT 是 0,那么仅当在指定的文件描述符上输入有效的时候,\n"
3918 " \t\tread 才返回成功;否则它将立刻返回而不尝试读取任何数据。\n"
3919 " \t\t如果超过了超时时间,则返回状态码大于 128\n"
3920 " -u fd\t从文件描述符 FD 中读取,而不是标准输入\n"
3923 " 返回码为零,除非遇到了文件结束符、读超时(且返回码不大于128)、\n"
3924 " 出现了变量赋值错误或者无效的文件描述符作为参数传递给了 -u 选项。"
3928 "Return from a shell function.\n"
3930 " Causes a function or sourced script to exit with the return value\n"
3931 " specified by N. If N is omitted, the return status is that of the\n"
3932 " last command executed within the function or script.\n"
3935 " Returns N, or failure if the shell is not executing a function or script."
3939 " 使一个函数或者被引用的脚本以指定的返回值 N 退出。\n"
3940 " 如果 N 被省略,则返回状态就是\n"
3941 " 函数或脚本中的最后一个执行的命令的状态。\n"
3944 " 返回 N,或者如果 shell 不在执行一个函数或引用脚本时,失败。"
3948 "Set or unset values of shell options and positional parameters.\n"
3950 " Change the value of shell attributes and positional parameters, or\n"
3951 " display the names and values of shell variables.\n"
3954 " -a Mark variables which are modified or created for export.\n"
3955 " -b Notify of job termination immediately.\n"
3956 " -e Exit immediately if a command exits with a non-zero status.\n"
3957 " -f Disable file name generation (globbing).\n"
3958 " -h Remember the location of commands as they are looked up.\n"
3959 " -k All assignment arguments are placed in the environment for a\n"
3960 " command, not just those that precede the command name.\n"
3961 " -m Job control is enabled.\n"
3962 " -n Read commands but do not execute them.\n"
3964 " Set the variable corresponding to option-name:\n"
3965 " allexport same as -a\n"
3966 " braceexpand same as -B\n"
3967 " emacs use an emacs-style line editing interface\n"
3968 " errexit same as -e\n"
3969 " errtrace same as -E\n"
3970 " functrace same as -T\n"
3971 " hashall same as -h\n"
3972 " histexpand same as -H\n"
3973 " history enable command history\n"
3974 " ignoreeof the shell will not exit upon reading EOF\n"
3975 " interactive-comments\n"
3976 " allow comments to appear in interactive commands\n"
3977 " keyword same as -k\n"
3978 " monitor same as -m\n"
3979 " noclobber same as -C\n"
3980 " noexec same as -n\n"
3981 " noglob same as -f\n"
3982 " nolog currently accepted but ignored\n"
3983 " notify same as -b\n"
3984 " nounset same as -u\n"
3985 " onecmd same as -t\n"
3986 " physical same as -P\n"
3987 " pipefail the return value of a pipeline is the status of\n"
3988 " the last command to exit with a non-zero status,\n"
3989 " or zero if no command exited with a non-zero "
3991 " posix change the behavior of bush where the default\n"
3992 " operation differs from the Posix standard to\n"
3993 " match the standard\n"
3994 " privileged same as -p\n"
3995 " verbose same as -v\n"
3996 " vi use a vi-style line editing interface\n"
3997 " xtrace same as -x\n"
3998 " -p Turned on whenever the real and effective user ids do not match.\n"
3999 " Disables processing of the $ENV file and importing of shell\n"
4000 " functions. Turning this option off causes the effective uid and\n"
4001 " gid to be set to the real uid and gid.\n"
4002 " -t Exit after reading and executing one command.\n"
4003 " -u Treat unset variables as an error when substituting.\n"
4004 " -v Print shell input lines as they are read.\n"
4005 " -x Print commands and their arguments as they are executed.\n"
4006 " -B the shell will perform brace expansion\n"
4007 " -C If set, disallow existing regular files to be overwritten\n"
4008 " by redirection of output.\n"
4009 " -E If set, the ERR trap is inherited by shell functions.\n"
4010 " -H Enable ! style history substitution. This flag is on\n"
4011 " by default when the shell is interactive.\n"
4012 " -P If set, do not resolve symbolic links when executing commands\n"
4013 " such as cd which change the current directory.\n"
4014 " -T If set, the DEBUG and RETURN traps are inherited by shell "
4016 " -- Assign any remaining arguments to the positional parameters.\n"
4017 " If there are no remaining arguments, the positional parameters\n"
4019 " - Assign any remaining arguments to the positional parameters.\n"
4020 " The -x and -v options are turned off.\n"
4022 " Using + rather than - causes these flags to be turned off. The\n"
4023 " flags can also be used upon invocation of the shell. The current\n"
4024 " set of flags may be found in $-. The remaining n ARGs are positional\n"
4025 " parameters and are assigned, in order, to $1, $2, .. $n. If no\n"
4026 " ARGs are given, all shell variables are printed.\n"
4029 " Returns success unless an invalid option is given."
4031 "设定或取消设定 shell 选项和位置参数的值。\n"
4033 " 改变 shell 选项和位置参数的值,或者显示 shell 变量的\n"
4037 " -a 标记修改的或者创建的变量为导出。\n"
4039 " -e 如果一个命令以非零状态退出,则立即退出。\n"
4040 " -f 禁用文件名生成(模式匹配)。\n"
4041 " -h 当查询命令时记住它们的位置\n"
4042 " -k 所有的赋值参数被放在命令的环境中,而不仅仅是\n"
4048 " allexport 与 -a 相同\n"
4049 " braceexpand 与 -B 相同\n"
4050 " emacs 使用 emacs 风格的行编辑界面\n"
4051 " errexit 与 -e 相同\n"
4052 " errtrace 与 -E 相同\n"
4053 " functrace 与 -T 相同\n"
4054 " hashall 与 -h 相同\n"
4055 " histexpand 与 -H 相同\n"
4057 " ignoreeof shell 读取文件结束符时不会退出\n"
4058 " interactive-comments\n"
4060 " keyword 与 -k 相同\n"
4061 " monitor 与 -m 相同\n"
4062 " noclobber 与 -C 相同\n"
4065 " nolog 目前可接受但是被忽略\n"
4067 " nounset 与 -u 相同\n"
4069 " physical 与 -P 相同\n"
4070 " pipefail 管道的返回值是最后一个非零返回值的命令的返回结"
4072 " 或者当所有命令都返回零是也为零。\n"
4073 " posix 改变默认时和 Posix 标准不同的 bush 行为\n"
4075 " privileged 与 -p 相同\n"
4076 " verbose 与 -v 相同\n"
4077 " vi 使用 vi 风格的行编辑界面\n"
4079 " -p 无论何时当真实的有效的用户身份不匹配时打开。\n"
4080 " 禁用对 $ENV 文件的处理以及导入 shell 函数。\n"
4081 " 关闭此选项会导致有效的用户编号和组编号设定\n"
4083 " -t 读取并执行一个命令之后退出。\n"
4084 " -u 替换时将为设定的变量当作错误对待。\n"
4085 " -v 读取 shell 输入行时将它们打印。\n"
4086 " -x 执行命令时打印它们以及参数。\n"
4087 " -B shell 将执行花括号扩展。\n"
4088 " -C 设定之后禁止以重定向输出的方式覆盖常\n"
4090 " -E 设定之后 ERR 陷阱会被 shell 函数继承。\n"
4091 " -H 启用 ! 风格的历史替换。当 shell 是交互式的\n"
4093 " -P 设定之后类似 cd 的会改变当前目录的命令不\n"
4095 " -T 设定之后 DEBUG 陷阱会被 shell 函数继承。\n"
4096 " -- 任何剩余的参数会被赋值给位置参数。如果没\n"
4097 " 有剩余的参数,位置参数不会被设置。\n"
4098 " - 任何剩余的参数会被赋值给位置参数。\n"
4101 " 使用 + 而不是 - 会使标志位被关闭。标志位也可以在\n"
4102 " shell 被启动时使用。当前的标志位设定可以在 $- 变\n"
4103 " 量中找到。剩余的 ARG 参数是位置参数并且是按照\n"
4104 " $1, $2, .. $n 的顺序被赋值的。如果没有给定 ARG\n"
4105 " 参数,则打印所有的 shell 变量。\n"
4112 "Unset values and attributes of shell variables and functions.\n"
4114 " For each NAME, remove the corresponding variable or function.\n"
4117 " -f\ttreat each NAME as a shell function\n"
4118 " -v\ttreat each NAME as a shell variable\n"
4119 " -n\ttreat each NAME as a name reference and unset the variable itself\n"
4120 " \t\trather than the variable it references\n"
4122 " Without options, unset first tries to unset a variable, and if that "
4124 " tries to unset a function.\n"
4126 " Some variables cannot be unset; also see `readonly'.\n"
4129 " Returns success unless an invalid option is given or a NAME is read-only."
4131 "取消设定 shell 变量和函数的值和属性。\n"
4133 " 对每一个 NAME 名称,删除对应的变量或函数。\n"
4136 " -f\t将每个 NAME 视为函数\n"
4137 " -v\t将每个 NAME 视为变量\n"
4138 " -n\t将每个 NAME 视为名称引用,只取消其本身而非其指向的变量\n"
4140 " 不带选项时,unset 首先尝试取消设定一个变量,如果失败,再尝试取消设定一个"
4143 " 某些变量不可以被取消设定;参见 `readonly'。\n"
4146 " 返回成功,除非使用了无效的选项或者 NAME 名称为只读。"
4150 "Set export attribute for shell variables.\n"
4152 " Marks each NAME for automatic export to the environment of subsequently\n"
4153 " executed commands. If VALUE is supplied, assign VALUE before "
4157 " -f\trefer to shell functions\n"
4158 " -n\tremove the export property from each NAME\n"
4159 " -p\tdisplay a list of all exported variables and functions\n"
4161 " An argument of `--' disables further option processing.\n"
4164 " Returns success unless an invalid option is given or NAME is invalid."
4166 "为 shell 变量设定导出属性。\n"
4168 " 标记每个 NAME 名称为自动导出到后续命令执行的环境。如果提供了 VALUE\n"
4169 " 则导出前将 VALUE 作为赋值。\n"
4173 " -n\t删除每个 NAME 名称的导出属性\n"
4174 " -p\t显示所有导出的变量和函数的列表\n"
4176 " `--' 的参数禁用进一步的选项处理。\n"
4179 " 返回成功,除非使用了无效的选项或者 NAME 名称。"
4183 "Mark shell variables as unchangeable.\n"
4185 " Mark each NAME as read-only; the values of these NAMEs may not be\n"
4186 " changed by subsequent assignment. If VALUE is supplied, assign VALUE\n"
4187 " before marking as read-only.\n"
4190 " -a\trefer to indexed array variables\n"
4191 " -A\trefer to associative array variables\n"
4192 " -f\trefer to shell functions\n"
4193 " -p\tdisplay a list of all readonly variables or functions,\n"
4194 " \t\tdepending on whether or not the -f option is given\n"
4196 " An argument of `--' disables further option processing.\n"
4199 " Returns success unless an invalid option is given or NAME is invalid."
4201 "标记 shell 变量为不可改变。\n"
4203 " 标记每一个 NAME 名称为只读;这些 NAME 变量的值将不可以被后续的赋值\n"
4204 " 操作所改变。如果提供了 VALUE,则在标记为只读之前将 VALUE 值赋给变量。\n"
4210 " -p\t显示只读变量或函数列表,取决于是否提供了 -f 选项\n"
4212 " `--' 的参数禁用进一步的选项处理。\n"
4215 " 返回成功,除非使用了无效的选项或者 NAME 名称。"
4219 "Shift positional parameters.\n"
4221 " Rename the positional parameters $N+1,$N+2 ... to $1,$2 ... If N is\n"
4222 " not given, it is assumed to be 1.\n"
4225 " Returns success unless N is negative or greater than $#."
4229 " 重命名位置参数 $N+1、$N+2 ... 到 $1、$2 ... 如果没有给定 N,\n"
4233 " 返回成功,除非 N 为负或者大于 $#。"
4235 #: builtins.c:1214 builtins.c:1229
4237 "Execute commands from a file in the current shell.\n"
4239 " Read and execute commands from FILENAME in the current shell. The\n"
4240 " entries in $PATH are used to find the directory containing FILENAME.\n"
4241 " If any ARGUMENTS are supplied, they become the positional parameters\n"
4242 " when FILENAME is executed.\n"
4245 " Returns the status of the last command executed in FILENAME; fails if\n"
4246 " FILENAME cannot be read."
4248 "在当前 shell 中执行一个文件中的命令。\n"
4250 " 在当前 shell 中读取并执行 FILENAME 文件中的命令。$PATH 变量中的\n"
4251 " 条目被用于寻找包含 FILENAME 文件的目录。如果提供了任何的 ARGUMENTS\n"
4252 " 参数,则它们将成为 FILENAME 文件执行时的位置参数。\n"
4255 " 返回 FILENAME 文件中最后一个命令的状态;如果 FILENAME 文件不可读则失败。"
4259 "Suspend shell execution.\n"
4261 " Suspend the execution of this shell until it receives a SIGCONT signal.\n"
4262 " Unless forced, login shells cannot be suspended.\n"
4265 " -f\tforce the suspend, even if the shell is a login shell\n"
4268 " Returns success unless job control is not enabled or an error occurs."
4272 " 挂起 shell 的执行直到收到 SIGCONT 信号。\n"
4273 " 登录 shell 不可以被挂起,除非强制执行。\n"
4276 " -f\t强制挂起,即使是登录 shell。\n"
4279 " 返回成功,除非没有启用任务控制或者有错误发生。"
4283 "Evaluate conditional expression.\n"
4285 " Exits with a status of 0 (true) or 1 (false) depending on\n"
4286 " the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
4287 " expressions are often used to examine the status of a file. There\n"
4288 " are string operators and numeric comparison operators as well.\n"
4290 " The behavior of test depends on the number of arguments. Read the\n"
4291 " bush manual page for the complete specification.\n"
4293 " File operators:\n"
4295 " -a FILE True if file exists.\n"
4296 " -b FILE True if file is block special.\n"
4297 " -c FILE True if file is character special.\n"
4298 " -d FILE True if file is a directory.\n"
4299 " -e FILE True if file exists.\n"
4300 " -f FILE True if file exists and is a regular file.\n"
4301 " -g FILE True if file is set-group-id.\n"
4302 " -h FILE True if file is a symbolic link.\n"
4303 " -L FILE True if file is a symbolic link.\n"
4304 " -k FILE True if file has its `sticky' bit set.\n"
4305 " -p FILE True if file is a named pipe.\n"
4306 " -r FILE True if file is readable by you.\n"
4307 " -s FILE True if file exists and is not empty.\n"
4308 " -S FILE True if file is a socket.\n"
4309 " -t FD True if FD is opened on a terminal.\n"
4310 " -u FILE True if the file is set-user-id.\n"
4311 " -w FILE True if the file is writable by you.\n"
4312 " -x FILE True if the file is executable by you.\n"
4313 " -O FILE True if the file is effectively owned by you.\n"
4314 " -G FILE True if the file is effectively owned by your group.\n"
4315 " -N FILE True if the file has been modified since it was last "
4318 " FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
4319 " modification date).\n"
4321 " FILE1 -ot FILE2 True if file1 is older than file2.\n"
4323 " FILE1 -ef FILE2 True if file1 is a hard link to file2.\n"
4325 " String operators:\n"
4327 " -z STRING True if string is empty.\n"
4330 " STRING True if string is not empty.\n"
4332 " STRING1 = STRING2\n"
4333 " True if the strings are equal.\n"
4334 " STRING1 != STRING2\n"
4335 " True if the strings are not equal.\n"
4336 " STRING1 < STRING2\n"
4337 " True if STRING1 sorts before STRING2 "
4338 "lexicographically.\n"
4339 " STRING1 > STRING2\n"
4340 " True if STRING1 sorts after STRING2 lexicographically.\n"
4342 " Other operators:\n"
4344 " -o OPTION True if the shell option OPTION is enabled.\n"
4345 " -v VAR True if the shell variable VAR is set.\n"
4346 " -R VAR True if the shell variable VAR is set and is a name\n"
4348 " ! EXPR True if expr is false.\n"
4349 " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
4350 " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
4352 " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,\n"
4353 " -lt, -le, -gt, or -ge.\n"
4355 " Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
4356 " less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
4360 " Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
4361 " false or an invalid argument is given."
4365 " 根据 EXPR 表达式的估值以状态 0 (真) 或 1 (伪) 退出。\n"
4366 " 表达式可以是一元或者二元的。一元表达式通常用于检测\n"
4367 " 文件状态。同时还有字符串操作符和数字比较操作符。\n"
4371 " -a 文件 如果文件存在则为真。\n"
4372 " -b 文件 如果文件为块特殊文件则为真。\n"
4373 " -c 文件 如果文件为字符特殊文件则为真。\n"
4374 " -d 文件 如果文件为目录则为真。\n"
4375 " -e 文件 如果文件存在则为真。\n"
4376 " -f 文件 如果文件存在且为常规文件则为真。\n"
4377 " -g 文件 如果文件的组属性设置打开则为真。\n"
4378 " -h 文件 如果文件为符号链接则为真。\n"
4379 " -L 文件 如果文件为符号链接则为真。\n"
4380 " -k 文件 如果文件的粘滞 (sticky) 位设定则为真。\n"
4381 " -p 文件 如果文件为命名管道则为真。\n"
4382 " -r 文件 如果文件对于您是可读的则为真。\n"
4383 " -s 文件 如果文件存在且不为空则为真。\n"
4384 " -S 文件 如果文件是套接字则为真。\n"
4385 " -t 文件描述符 如果文件描述符在一个终端上打开则为真。\n"
4386 " -u 文件 如果文件的用户数行设置打开则为真。\n"
4387 " -w 文件 如果文件对您是可写的则为真\n"
4388 " -x 文件 如果文件对您是可执行的则为真。\n"
4389 " -O 文件 如果文件是被您所有的则为真。\n"
4390 " -G 文件 如果文件被您的组所有则为真。\n"
4391 " -N 文件 如果文件上次被读取之后修改过则为真。\n"
4393 " FILE1 -nt FILE2 如果 file1 文件新于 file2 文件则为真(根据\n"
4396 " FILE1 -ot FILE2 如果 file1 文件旧于 file2 文件则为真。\n"
4398 " FILE1 -ef FILE2 如果 file1 文件是 file2 文件的硬链接则为真。\n"
4402 " -z 字符串 如果字符串为空则为真。\n"
4405 " 字符串 如果字符串不为空则为真。\n"
4407 " STRING1 = STRING2\n"
4408 " 如果 string1 和 string2 字符串相同则为真。\n"
4409 " STRING1 != STRING2\n"
4410 " 如果 string1 和 string2 字符串不相同则为真。\n"
4411 " STRING1 < STRING2\n"
4412 " 如果按字典排序 string1 在 string2 串之前则为真。\n"
4413 " STRING1 > STRING2\n"
4414 " 如果按字典排序 string1 在 string2 串之前则为真。\n"
4418 " -o 选项 如果指定 shell 选项启用则为真。\n"
4419 " -v VAR 如果指定 Shell 变量 VAR 已赋值则为真。\n"
4420 " -R VAR 如果指定 Shell 变量 VAR 已赋值且为名称引用则为真。\n"
4421 " ! EXPR 如果表达式 expr 为假则为真。\n"
4422 " EXPR1 -a EXPR2 如果 expr1 和 expr2 都为真则为真。\n"
4423 " EXPR1 -o EXPR2 如果 expr1 和 expr2 有一个为真则为真。\n"
4425 " arg1 OP arg2 算术测试。OP操作符可以是 -eq、-ne、\n"
4426 " -lt、-le、-gt、或 -ge 中的一个。\n"
4428 " 二元算术操作返回真,如果 ARG1 参数等于、不等于、\n"
4429 " 小于、小于等于、大于、或者大于等于 ARG2 参数。\n"
4432 " 如果 EXPR 表达式估值为真则返回成功;如果 EXPR 表达式估值\n"
4433 " 为假或者使用了无效的参数则返回失败。"
4437 "Evaluate conditional expression.\n"
4439 " This is a synonym for the \"test\" builtin, but the last argument must\n"
4440 " be a literal `]', to match the opening `['."
4444 " 是内建命令 \"test\" 的同义词,但是最后一个参数必须是\n"
4445 " 字符 `]',以匹配起始的 `['。"
4449 "Display process times.\n"
4451 " Prints the accumulated user and system times for the shell and all of "
4453 " child processes.\n"
4460 " 打印 shell 及其所有子进程的累计用户空间和\n"
4466 # EXIT and DEBUG should be as-is. Use before you translate, please.
4467 # The -signal is only an example; Read carefully.
4470 "Trap signals and other events.\n"
4472 " Defines and activates handlers to be run when the shell receives "
4474 " or other conditions.\n"
4476 " ARG is a command to be read and executed when the shell receives the\n"
4477 " signal(s) SIGNAL_SPEC. If ARG is absent (and a single SIGNAL_SPEC\n"
4478 " is supplied) or `-', each specified signal is reset to its original\n"
4479 " value. If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
4480 " shell and by the commands it invokes.\n"
4482 " If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. "
4484 " a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
4486 " a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
4488 " script run by the . or source builtins finishes executing. A "
4490 " of ERR means to execute ARG each time a command's failure would cause "
4492 " shell to exit when the -e option is enabled.\n"
4494 " If no arguments are supplied, trap prints the list of commands "
4496 " with each signal.\n"
4499 " -l\tprint a list of signal names and their corresponding numbers\n"
4500 " -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
4502 " Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
4504 " Signal names are case insensitive and the SIG prefix is optional. A\n"
4505 " signal may be sent to the shell with \"kill -signal $$\".\n"
4508 " Returns success unless a SIGSPEC is invalid or an invalid option is "
4513 " 定义一个处理器,在 shell 接收到信号和其他条件下执行。\n"
4515 " ARG 参数是当 shell 接收到 SIGNAL_SPEC 信号时读取和执行的命令。\n"
4516 " 如果没有指定 ARG 参数 (并且只给出一个 SIGNAL_SPEC 信号) 或者\n"
4518 " `-',每一个指定的参数会被重置为原始值。如果 ARG 参数是一个空串,则每一"
4520 " SIGNAL_SPEC 信号会被 shell 和它启动的命令忽略。\n"
4522 " 如果一个 SIGNAL_SPEC 信号是 EXIT (0) ,则 ARG 命令会在 shell 退出时被\n"
4523 " 执行。如果一个 SIGNAL_SPEC 信号是 DEBUG,则 ARG命令会在每一个简单命\n"
4526 " 如果不提供参数,trap 打印列表显示每一个与每一个信号相关联的命令。\n"
4529 " -l\t打印一个信号名称和它们对应的编号的列表\n"
4530 " -p\t打印与每个 SIGNAL_SPEC 信号相关联的陷阱命令\n"
4532 " 每一个 SIGNAL_SPEC 信号可以是 <signal.h> 中的信号名称或者信号编号。\n"
4533 " 信号名称大小写敏感且可以使用 SIG 前缀。信号可用 \"kill -信号 $$\"\n"
4537 " 返回成功,除非使用了无效的选项或者 SIGSPEC。"
4541 "Display information about command type.\n"
4543 " For each NAME, indicate how it would be interpreted if used as a\n"
4547 " -a\tdisplay all locations containing an executable named NAME;\n"
4548 " \t\tincludes aliases, builtins, and functions, if and only if\n"
4549 " \t\tthe `-p' option is not also used\n"
4550 " -f\tsuppress shell function lookup\n"
4551 " -P\tforce a PATH search for each NAME, even if it is an alias,\n"
4552 " \t\tbuiltin, or function, and returns the name of the disk file\n"
4553 " \t\tthat would be executed\n"
4554 " -p\treturns either the name of the disk file that would be executed,\n"
4555 " \t\tor nothing if `type -t NAME' would not return `file'\n"
4556 " -t\toutput a single word which is one of `alias', `keyword',\n"
4557 " \t\t`function', `builtin', `file' or `', if NAME is an alias,\n"
4558 " \t\tshell reserved word, shell function, shell builtin, disk file,\n"
4559 " \t\tor not found, respectively\n"
4562 " NAME\tCommand name to be interpreted.\n"
4565 " Returns success if all of the NAMEs are found; fails if any are not "
4570 " 对于每一个 NAME 名称,指示如果作为命令它将如何被解释。\n"
4573 " -a\t显示所有包含名称为 NAME 的可执行文件的位置;\n"
4574 " \t\t包括别名、内建和函数。仅当 `-p' 选项没有使用时\n"
4575 " -f\t抑制 shell 函数查询\n"
4576 " -P\t为每个 NAME 名称惊醒 PATH 路径搜索,即使它是别名、\n"
4577 " \t\t内建或函数,并且返回将被执行的磁盘上文件的名称。\n"
4578 " -p\t返回将被执行的磁盘上文件的名称,或者当 `type -t NAME'\n"
4579 " \t不返回 `file' 时,不返回任何值。\n"
4580 " -t\t返回下列词中的任何一个 `alias'、`keyword'、\n"
4581 " \t`function'、`builtin'、`file' 或者 `',相应地如果 NAME 是\n"
4582 " \t一个别名、shell 保留字、shell 函数、shell 内建、\n"
4589 " 如果所有的 NAME 命令都找到则返回成功;任何一个找不到则失败。"
4594 "Modify shell resource limits.\n"
4596 " Provides control over the resources available to the shell and "
4598 " it creates, on systems that allow such control.\n"
4601 " -S\tuse the `soft' resource limit\n"
4602 " -H\tuse the `hard' resource limit\n"
4603 " -a\tall current limits are reported\n"
4604 " -b\tthe socket buffer size\n"
4605 " -c\tthe maximum size of core files created\n"
4606 " -d\tthe maximum size of a process's data segment\n"
4607 " -e\tthe maximum scheduling priority (`nice')\n"
4608 " -f\tthe maximum size of files written by the shell and its children\n"
4609 " -i\tthe maximum number of pending signals\n"
4610 " -k\tthe maximum number of kqueues allocated for this process\n"
4611 " -l\tthe maximum size a process may lock into memory\n"
4612 " -m\tthe maximum resident set size\n"
4613 " -n\tthe maximum number of open file descriptors\n"
4614 " -p\tthe pipe buffer size\n"
4615 " -q\tthe maximum number of bytes in POSIX message queues\n"
4616 " -r\tthe maximum real-time scheduling priority\n"
4617 " -s\tthe maximum stack size\n"
4618 " -t\tthe maximum amount of cpu time in seconds\n"
4619 " -u\tthe maximum number of user processes\n"
4620 " -v\tthe size of virtual memory\n"
4621 " -x\tthe maximum number of file locks\n"
4622 " -P\tthe maximum number of pseudoterminals\n"
4623 " -R\tthe maximum time a real-time process can run before blocking\n"
4624 " -T\tthe maximum number of threads\n"
4626 " Not all options are available on all platforms.\n"
4628 " If LIMIT is given, it is the new value of the specified resource; the\n"
4629 " special LIMIT values `soft', `hard', and `unlimited' stand for the\n"
4630 " current soft limit, the current hard limit, and no limit, respectively.\n"
4631 " Otherwise, the current value of the specified resource is printed. If\n"
4632 " no option is given, then -f is assumed.\n"
4634 " Values are in 1024-byte increments, except for -t, which is in seconds,\n"
4635 " -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
4636 " number of processes.\n"
4639 " Returns success unless an invalid option is supplied or an error occurs."
4643 " 在允许此类控制的系统上,提供对于 shell 及其创建的进程所可用的\n"
4647 " -S\t使用软 (`soft') 资源限制\n"
4648 " -H\t使用硬 (`hard') 资源限制\n"
4651 " -c\t创建的核文件的最大尺寸\n"
4652 " -d\t一个进程的数据区的最大尺寸\n"
4653 " -e\t最高的调度优先级 (`nice')\n"
4654 " -f\t有 shell 及其子进程可以写的最大文件尺寸\n"
4655 " -i\t最多的可以挂起的信号数\n"
4656 " -k\t分配给此进程的最大 kqueue 数量\n"
4657 " -l\t一个进程可以锁定的最大内存尺寸\n"
4659 " -n\t最多的打开的文件描述符个数\n"
4661 " -q\tPOSIX 信息队列的最大字节数\n"
4664 " -t\t最大的CPU时间,以秒为单位\n"
4671 " 并非所有选项在所有系统上可用。\n"
4673 " 如果提供了 LIMIT 变量,则它为指定资源的新的值;特别的 LIMIT 值为\n"
4674 " `soft'、`hard'和`unlimited',分别表示当前的软限制,硬限制和无限制。\n"
4675 " 否则打印指定资源的当前限制值,不带选项则假定为 -f\n"
4677 " 取值都是 1024 字节为单位,除了 -t 以秒为单位,-p 以 512 字节递增,\n"
4681 " 返回成功,除非使用了无效的选项或者错误发生。"
4685 "Display or set file mode mask.\n"
4687 " Sets the user file-creation mask to MODE. If MODE is omitted, prints\n"
4688 " the current value of the mask.\n"
4690 " If MODE begins with a digit, it is interpreted as an octal number;\n"
4691 " otherwise it is a symbolic mode string like that accepted by chmod(1).\n"
4694 " -p\tif MODE is omitted, output in a form that may be reused as input\n"
4695 " -S\tmakes the output symbolic; otherwise an octal number is output\n"
4698 " Returns success unless MODE is invalid or an invalid option is given."
4702 " 设定用户文件创建掩码为 MODE 模式。如果省略了 MODE,则\n"
4705 " 如果 MODE 模式以数字开头,则被当作八进制数解析;否则是一个\n"
4706 " chmod(1) 可接收的符号模式串。\n"
4709 " -p\t如果省略 MODE 模式,以可重用为输入的格式输入\n"
4710 " -S\t以符号形式输出,否则以八进制数格式输出\n"
4713 " 返回成功,除非使用了无效的 MODE 模式或者选项。"
4718 "Wait for job completion and return exit status.\n"
4720 " Waits for each process identified by an ID, which may be a process ID or "
4722 " job specification, and reports its termination status. If ID is not\n"
4723 " given, waits for all currently active child processes, and the return\n"
4724 " status is zero. If ID is a job specification, waits for all processes\n"
4725 " in that job's pipeline.\n"
4727 " If the -n option is supplied, waits for a single job from the list of "
4729 " or, if no IDs are supplied, for the next job to complete and returns "
4733 " If the -p option is supplied, the process or job identifier of the job\n"
4734 " for which the exit status is returned is assigned to the variable VAR\n"
4735 " named by the option argument. The variable will be unset initially, "
4737 " any assignment. This is useful only when the -n option is supplied.\n"
4739 " If the -f option is supplied, and job control is enabled, waits for the\n"
4740 " specified ID to terminate, instead of waiting for it to change status.\n"
4743 " Returns the status of the last ID; fails if ID is invalid or an invalid\n"
4744 " option is given, or if -n is supplied and the shell has no unwaited-for\n"
4749 " 等待以 ID 编号识别的进程,其中 ID 可以是进程编号或者任务声明,\n"
4750 " 并报告它的终止状态。如果 ID 没有给出,则等待所有的当前活跃子\n"
4751 " 进程,并且返回状态为零。如果 ID 是任务声明,等待任务管道中的\n"
4754 " 若给定了 -n 选项,等待下一个任务完成并返回其状态。\n"
4756 " 若给定了 -f 选项,且已启用了任务控制,则等待指定的 ID 终止\n"
4759 " 返回最后一个 ID 进程的状态;如果使用了无效的 ID 或者选项则失败。"
4763 "Wait for process completion and return exit status.\n"
4765 " Waits for each process specified by a PID and reports its termination "
4767 " If PID is not given, waits for all currently active child processes,\n"
4768 " and the return status is zero. PID must be a process ID.\n"
4771 " Returns the status of the last PID; fails if PID is invalid or an "
4777 " 等待指定进程并报告它的终止状态。如果没有提供 PID,则当前所有的活跃\n"
4778 " 子进程都会被等待,并且返回码为零。PID 必须为进程号。\n"
4781 " 返回进程 ID 的状态;如果 PID 是无效的进程号或者指定了无效的选项则失败。"
4785 "Execute commands for each member in a list.\n"
4787 " The `for' loop executes a sequence of commands for each member in a\n"
4788 " list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
4789 " assumed. For each element in WORDS, NAME is set to that element, and\n"
4790 " the COMMANDS are executed.\n"
4793 " Returns the status of the last command executed."
4797 " “for”循环为列表中的每个成员执行一系列的命令。如果没有\n"
4798 " “in <词语> ...;”则假定使用“in \"$@\"”。对于 <词语> 中的每\n"
4799 " 个元素,<名称> 变量被设定为该元素后执行 <命令>。\n"
4806 "Arithmetic for loop.\n"
4810 " \twhile (( EXP2 )); do\n"
4814 " EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is\n"
4815 " omitted, it behaves as if it evaluates to 1.\n"
4818 " Returns the status of the last command executed."
4824 " \twhile (( EXP2 )); do\n"
4828 " EXP1、EXP2 和 EXP3 都是算术表达式。如果省略任何表达式,\n"
4829 " 则等同于使用了估值为1的表达式。\n"
4836 "Select words from a list and execute commands.\n"
4838 " The WORDS are expanded, generating a list of words. The\n"
4839 " set of expanded words is printed on the standard error, each\n"
4840 " preceded by a number. If `in WORDS' is not present, `in \"$@\"'\n"
4841 " is assumed. The PS3 prompt is then displayed and a line read\n"
4842 " from the standard input. If the line consists of the number\n"
4843 " corresponding to one of the displayed words, then NAME is set\n"
4844 " to that word. If the line is empty, WORDS and the prompt are\n"
4845 " redisplayed. If EOF is read, the command completes. Any other\n"
4846 " value read causes NAME to be set to null. The line read is saved\n"
4847 " in the variable REPLY. COMMANDS are executed after each selection\n"
4848 " until a break command is executed.\n"
4851 " Returns the status of the last command executed."
4855 " <词语...> 被展开,生成一个词的列表。展开的词集合被打印\n"
4856 " 在标准错误输出设备上,每个以一个数字做前缀。如果没有 `in WORDS'\n"
4857 " 则假定使用`in \"$@\"'。PS3提示符会被显示并且从标准输入读入一行\n"
4858 " 如果该行由被显示的词对应的数字组成,则 NAME 变量被设定为相应\n"
4859 " 的词。如果行为空,则 WORDS 变量和提示符被重新显示。如果读取了\n"
4860 " 文件结束符,则命令完成。读入任何其他的值会导致 NAME 变量被设定\n"
4861 " 为空。读入的行被存放在变量 REPLY 中。COMMANDS 命令在每次选择\n"
4862 " 之后执行直到执行一个 break 命令。\n"
4869 "Report time consumed by pipeline's execution.\n"
4871 " Execute PIPELINE and print a summary of the real time, user CPU time,\n"
4872 " and system CPU time spent executing PIPELINE when it terminates.\n"
4875 " -p\tprint the timing summary in the portable Posix format\n"
4877 " The value of the TIMEFORMAT variable is used as the output format.\n"
4880 " The return status is the return status of PIPELINE."
4884 " 执行 PIPELINE 并且打印 PIPELINE 终结时实际时间、用户 CPU 时间和系统\n"
4888 " -p\t用可迁移的 POSIX 格式打印用时总结。\n"
4890 " TIMEFORMAT 变量的值被作为输出格式。\n"
4893 " 返回状态即PIPELINE 的返回状态。"
4897 "Execute commands based on pattern matching.\n"
4899 " Selectively execute COMMANDS based upon WORD matching PATTERN. The\n"
4900 " `|' is used to separate multiple patterns.\n"
4903 " Returns the status of the last command executed."
4907 " 基于 PATTERN 模式匹配的词 WORD,有选择的执行 COMMANDS 命令。\n"
4915 "Execute commands based on conditional.\n"
4917 " The `if COMMANDS' list is executed. If its exit status is zero, then "
4919 " `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
4921 " executed in turn, and if its exit status is zero, the corresponding\n"
4922 " `then COMMANDS' list is executed and the if command completes. "
4924 " the `else COMMANDS' list is executed, if present. The exit status of "
4926 " entire construct is the exit status of the last command executed, or "
4928 " if no condition tested true.\n"
4931 " Returns the status of the last command executed."
4935 " `if COMMANDS'列表被执行。如果退出状态为零,则执行`then COMMANDS' \n"
4936 " 列表。否则按顺序执行每个 `elif COMMANDS'列表,并且如果它的退出状态为\n"
4937 " 零,则执行对应的 `then COMMANDS' 列表并且 if 命令终止。否则如果存在的\n"
4938 " 情况下,执行 `else COMMANDS'列表。整个结构的退出状态是最后一个执行\n"
4939 " 的命令的状态,或者如果没有条件测试为真的话,为零。\n"
4946 "Execute commands as long as a test succeeds.\n"
4948 " Expand and execute COMMANDS as long as the final command in the\n"
4949 " `while' COMMANDS has an exit status of zero.\n"
4952 " Returns the status of the last command executed."
4956 " 只要在 `while' COMMANDS 中的最终命令返回结果为0,则\n"
4957 " 展开并执行 COMMANDS 命令。\n"
4964 "Execute commands as long as a test does not succeed.\n"
4966 " Expand and execute COMMANDS as long as the final command in the\n"
4967 " `until' COMMANDS has an exit status which is not zero.\n"
4970 " Returns the status of the last command executed."
4974 " `until' COMMANDS 命令的最终命令返回状态不为 0 时,\n"
4975 " 展开并执行 COMMANDS 命令。\n"
4982 "Create a coprocess named NAME.\n"
4984 " Execute COMMAND asynchronously, with the standard output and standard\n"
4985 " input of the command connected via a pipe to file descriptors assigned\n"
4986 " to indices 0 and 1 of an array variable NAME in the executing shell.\n"
4987 " The default NAME is \"COPROC\".\n"
4990 " The coproc command returns an exit status of 0."
4992 "创建一个以 NAME 为名的副进程。\n"
4994 " 异步执行 COMMANDS 命令,在执行 shell 中的数组变量 NAME\n"
4995 " 的 0 号和 1 号元素作为文件描述符,以一个管道连接命令\n"
4996 " 分别作为命令的标准输出和输入设备。\n"
4997 " 默认的 NAME 是 \"COPROC\"。\n"
5004 "Define shell function.\n"
5006 " Create a shell function named NAME. When invoked as a simple command,\n"
5007 " NAME runs COMMANDs in the calling shell's context. When NAME is "
5009 " the arguments are passed to the function as $1...$n, and the function's\n"
5010 " name is in $FUNCNAME.\n"
5013 " Returns success unless NAME is readonly."
5017 " 创建一个以 NAME 为名的 shell 函数。当作为一个简单的命令启用时,\n"
5018 " NAME 函数执行调用 shell 的上下文中的 COMMANDs 命令。当 NAME\n"
5019 " 被启用时,参数作为 $1...$n 被传递给函数,函数的名字储存在变量\n"
5027 "Group commands as a unit.\n"
5029 " Run a set of commands in a group. This is one way to redirect an\n"
5030 " entire set of commands.\n"
5033 " Returns the status of the last command executed."
5037 " 运行组中的命令集合。这是对整个命令集合\n"
5045 "Resume job in foreground.\n"
5047 " Equivalent to the JOB_SPEC argument to the `fg' command. Resume a\n"
5048 " stopped or background job. JOB_SPEC can specify either a job name\n"
5049 " or a job number. Following JOB_SPEC with a `&' places the job in\n"
5050 " the background, as if the job specification had been supplied as an\n"
5051 " argument to `bg'.\n"
5054 " Returns the status of the resumed job."
5058 " 对于 JOB_SPEC 参数来说和 `fg' 命令等同。继续一个\n"
5059 " 停止的或者后台任务。JOB_SPEC 可以指定一个任务\n"
5060 " 名字或任务号。在 JOB_SPEC 后加上一个 `&' 将会把\n"
5061 " 任务放至后台,就像任务声明被作为 `bg' 命令的参数\n"
5070 "Evaluate arithmetic expression.\n"
5072 " The EXPRESSION is evaluated according to the rules for arithmetic\n"
5073 " evaluation. Equivalent to `let \"EXPRESSION\"'.\n"
5076 " Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
5081 " 等价于 \"let 表达式\".\n"
5084 " 如果表达式估值为0则返回 1;否则返回0。"
5088 "Execute conditional command.\n"
5090 " Returns a status of 0 or 1 depending on the evaluation of the "
5092 " expression EXPRESSION. Expressions are composed of the same primaries "
5094 " by the `test' builtin, and may be combined using the following "
5097 " ( EXPRESSION )\tReturns the value of EXPRESSION\n"
5098 " ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
5099 " EXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
5100 " EXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
5102 " When the `==' and `!=' operators are used, the string to the right of\n"
5103 " the operator is used as a pattern and pattern matching is performed.\n"
5104 " When the `=~' operator is used, the string to the right of the operator\n"
5105 " is matched as a regular expression.\n"
5107 " The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
5108 " determine the expression's value.\n"
5111 " 0 or 1 depending on value of EXPRESSION."
5115 " 根据条件表达式 EXPRESSION 的估值返回状态0或1。表达式按照\n"
5116 " `test' 内建的相同条件组成,或者可以有下列操作符连接而成:\n"
5118 " ( EXPRESSION )\t返回 EXPRESSION 表达式的值\n"
5119 " ! EXPRESSION\t\t如果 EXPRESSION表达式为假则为真,否则为假\n"
5120 " EXPR1 && EXPR2\t如果 EXPR1 和 EXPR2 表达式均为真则为真,否则为假\n"
5121 " EXPR1 || EXPR2\t如果 EXPR1 和 EXPR2 表达式中有一个为真则为真,否则为"
5124 " 当使用 `==' 和 `!=' 操作符时,操作符右边的字符串被用作模式并且执行一个\n"
5125 " 匹配。当使用 `=~' 操作符时,操作符右边的字符串被当作正则表达式来进行\n"
5128 " 操作符 && 和 || 将不对 EXPR2 表达式进行估值,如果 EXPR1 表达式足够确定\n"
5132 " 根据 EXPRESSION 的值为0或1。"
5136 "Common shell variable names and usage.\n"
5138 " BUSH_VERSION\tVersion information for this Bush.\n"
5139 " CDPATH\tA colon-separated list of directories to search\n"
5140 " \t\tfor directories given as arguments to `cd'.\n"
5141 " GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
5142 " \t\tbe ignored by pathname expansion.\n"
5143 " HISTFILE\tThe name of the file where your command history is stored.\n"
5144 " HISTFILESIZE\tThe maximum number of lines this file can contain.\n"
5145 " HISTSIZE\tThe maximum number of history lines that a running\n"
5146 " \t\tshell can access.\n"
5147 " HOME\tThe complete pathname to your login directory.\n"
5148 " HOSTNAME\tThe name of the current host.\n"
5149 " HOSTTYPE\tThe type of CPU this version of Bush is running under.\n"
5150 " IGNOREEOF\tControls the action of the shell on receipt of an EOF\n"
5151 " \t\tcharacter as the sole input. If set, then the value\n"
5152 " \t\tof it is the number of EOF characters that can be seen\n"
5153 " \t\tin a row on an empty line before the shell will exit\n"
5154 " \t\t(default 10). When unset, EOF signifies the end of input.\n"
5155 " MACHTYPE\tA string describing the current system Bush is running on.\n"
5156 " MAILCHECK\tHow often, in seconds, Bush checks for new mail.\n"
5157 " MAILPATH\tA colon-separated list of filenames which Bush checks\n"
5158 " \t\tfor new mail.\n"
5159 " OSTYPE\tThe version of Unix this version of Bush is running on.\n"
5160 " PATH\tA colon-separated list of directories to search when\n"
5161 " \t\tlooking for commands.\n"
5162 " PROMPT_COMMAND\tA command to be executed before the printing of each\n"
5163 " \t\tprimary prompt.\n"
5164 " PS1\t\tThe primary prompt string.\n"
5165 " PS2\t\tThe secondary prompt string.\n"
5166 " PWD\t\tThe full pathname of the current directory.\n"
5167 " SHELLOPTS\tA colon-separated list of enabled shell options.\n"
5168 " TERM\tThe name of the current terminal type.\n"
5169 " TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
5170 " \t\t`time' reserved word.\n"
5171 " auto_resume\tNon-null means a command word appearing on a line by\n"
5172 " \t\titself is first looked for in the list of currently\n"
5173 " \t\tstopped jobs. If found there, that job is foregrounded.\n"
5174 " \t\tA value of `exact' means that the command word must\n"
5175 " \t\texactly match a command in the list of stopped jobs. A\n"
5176 " \t\tvalue of `substring' means that the command word must\n"
5177 " \t\tmatch a substring of the job. Any other value means that\n"
5178 " \t\tthe command must be a prefix of a stopped job.\n"
5179 " histchars\tCharacters controlling history expansion and quick\n"
5180 " \t\tsubstitution. The first character is the history\n"
5181 " \t\tsubstitution character, usually `!'. The second is\n"
5182 " \t\tthe `quick substitution' character, usually `^'. The\n"
5183 " \t\tthird is the `history comment' character, usually `#'.\n"
5184 " HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
5185 " \t\tcommands should be saved on the history list.\n"
5187 "常用 shell 变量名称和使用。\n"
5189 " BUSH_VERSION\t当前 Bush 的版本信息。\n"
5190 " CDPATH\t用于 `cd' 命令参数搜索的分号分隔的目录列表\n"
5191 " GLOBIGNORE\t路径扩展时忽略的文件名匹配模式列表,\n"
5193 " HISTFILE\t您的命令历史存放的文件名称。\n"
5194 " HISTFILESIZE\t历史文件最多可以保存的行数。\n"
5195 " HISTSIZE\t一个运行的 shell 最多可以访问的历史命令行数。\n"
5196 " HOME\t您的登录目录的完整路径。\n"
5197 " HOSTNAME\t当前主机的主机名。\n"
5198 " HOSTTYPE\t当前版本的 BUSH 在其之上运行的 CPU 类型。\n"
5199 " IGNOREEOF\t控制 shell 收到文件结束符作为单一输入后的\n"
5200 " \t\t动作。如果设定这个变量,则它的值是 shell 退出之前在\n"
5201 " \t\t一个空行上可以连续看到的文件结束符数量(默认为10)。\n"
5202 " \t\t未设定时,文件结束符标志着输入的结束。\n"
5203 " MACHTYPE\t描述当前运行 Bush 的系统的字符串。\n"
5204 " MAILCHECK\tBush 检测新邮件的频率,以秒为单位。\n"
5205 " MAILPATH\tBush 从中检测新邮件的文件列表,以分号分隔。\n"
5206 " OSTYPE\t运行 Bush 的 Unix 版本。\n"
5207 " PATH\t当寻找命令时搜索的目录列表,以冒号分隔。\n"
5208 " PROMPT_COMMAND\t打印每一个主提示符之前执行的命\n"
5210 " PS1\t\t主提示符字符串。\n"
5211 " PS2\t\t从提示符字符串。\n"
5212 " PWD\t\t当前目录的完整路径。\n"
5213 " SHELLOPTS\t已启用的 shell 选项列表,以冒号分隔。\n"
5214 " TERM\t当前终端类型的名称。\n"
5215 " TIMEFORMAT\t以关键则 `time' 显示的时间统计信息的输出\n"
5217 " auto_resume\t非空时,一个单独的命令词会首先被在当前\n"
5218 " \t\t停止的任务列表中搜索。如果找到则该任务被置于前台。\n"
5219 " \t\t如果值为 `exact' 则意味着命令词必须精确匹配停止任务\n"
5220 " \t\t列表中的命令。如果值为 `substring' 则意味着命令词必\n"
5221 " \t\t须匹配任务的一个子字符串。任何其他的值意味着命令词\n"
5222 " \t\t必须是停止任务的一个前缀。\n"
5223 " histchars\t控制历史展开和快速替换的字符。第一个字符是\n"
5224 " \t\t历史替换字符,通常是 `!'。第二个字符是快速替换字符,\n"
5225 " \t\t通常是 `^'。第三个是历史注释字符,通常是 `#'。\n"
5226 " HISTIGNORE\t用于决定哪些命令被存入历史文件的模式\n"
5231 "Add directories to stack.\n"
5233 " Adds a directory to the top of the directory stack, or rotates\n"
5234 " the stack, making the new top of the stack the current working\n"
5235 " directory. With no arguments, exchanges the top two directories.\n"
5238 " -n\tSuppresses the normal change of directory when adding\n"
5239 " \t\tdirectories to the stack, so only the stack is manipulated.\n"
5242 " +N\tRotates the stack so that the Nth directory (counting\n"
5243 " \t\tfrom the left of the list shown by `dirs', starting with\n"
5244 " \t\tzero) is at the top.\n"
5246 " -N\tRotates the stack so that the Nth directory (counting\n"
5247 " \t\tfrom the right of the list shown by `dirs', starting with\n"
5248 " \t\tzero) is at the top.\n"
5250 " dir\tAdds DIR to the directory stack at the top, making it the\n"
5251 " \t\tnew current working directory.\n"
5253 " The `dirs' builtin displays the directory stack.\n"
5256 " Returns success unless an invalid argument is supplied or the directory\n"
5261 " 将目录添加到目录栈顶,或着旋转栈直到当前工作目录成为\n"
5262 " 新的栈顶。不带参数时,交换栈顶的两个目录。\n"
5265 " -n\t抑制添加目录至栈时通常的改变目录操作,从而仅对栈\n"
5269 " +N\t旋转栈从而第 N 个目录 (`dirs' 显示的列表中左起,从零开始)\n"
5272 " -N\t旋转栈从而第 N 个目录 (`dirs' 显示的列表中右起,从零开始)\n"
5275 " dir\t将 DIR 目录添加到栈顶,并且使其成为当前工作目录。\n"
5277 " `dirs' 内建显示目录栈。\n"
5280 " 返回成功,除非使用了无效的参数或者目录转换失败。"
5284 "Remove directories from stack.\n"
5286 " Removes entries from the directory stack. With no arguments, removes\n"
5287 " the top directory from the stack, and changes to the new top directory.\n"
5290 " -n\tSuppresses the normal change of directory when removing\n"
5291 " \t\tdirectories from the stack, so only the stack is manipulated.\n"
5294 " +N\tRemoves the Nth entry counting from the left of the list\n"
5295 " \t\tshown by `dirs', starting with zero. For example: `popd +0'\n"
5296 " \t\tremoves the first directory, `popd +1' the second.\n"
5298 " -N\tRemoves the Nth entry counting from the right of the list\n"
5299 " \t\tshown by `dirs', starting with zero. For example: `popd -0'\n"
5300 " \t\tremoves the last directory, `popd -1' the next to last.\n"
5302 " The `dirs' builtin displays the directory stack.\n"
5305 " Returns success unless an invalid argument is supplied or the directory\n"
5310 " 从目录栈中删除条目。不带参数时,删除栈顶目录,并改变至新的栈\n"
5314 " -n\t抑制从栈中删除目录时通常的目录变换操作,从而仅对栈\n"
5318 " +N\t删除第 N 个目录 (`dirs' 显示的目录列表中左起,从零开始)。\n"
5319 " \t例如:`popd +0' 删除第一个目录,`popd +1' 删除第二个。\n"
5321 " -N\t删除第 N 个目录 (`dirs' 显示的目录列表中右起,从零开始)。\n"
5322 " \t例如:`popd -0' 删除最后一个目录,,`popd -1' 删除倒数第二个。\n"
5324 " `dirs' 内建显示目录栈。\n"
5327 " 返回成功,除非使用了无效的参数或者目录变换失败。"
5331 "Display directory stack.\n"
5333 " Display the list of currently remembered directories. Directories\n"
5334 " find their way onto the list with the `pushd' command; you can get\n"
5335 " back up through the list with the `popd' command.\n"
5338 " -c\tclear the directory stack by deleting all of the elements\n"
5339 " -l\tdo not print tilde-prefixed versions of directories relative\n"
5340 " \t\tto your home directory\n"
5341 " -p\tprint the directory stack with one entry per line\n"
5342 " -v\tprint the directory stack with one entry per line prefixed\n"
5343 " \t\twith its position in the stack\n"
5346 " +N\tDisplays the Nth entry counting from the left of the list\n"
5347 " \t\tshown by dirs when invoked without options, starting with\n"
5350 " -N\tDisplays the Nth entry counting from the right of the list\n"
5351 " \t\tshown by dirs when invoked without options, starting with\n"
5355 " Returns success unless an invalid option is supplied or an error occurs."
5359 " 显示当前记住的目录列表。通过 `pushd' 命令可以将目录存入列表\n"
5360 " 中;`popd' 命令可用于遍历弹出列表。\n"
5363 " -c\t删除所有元素以清空目录栈\n"
5364 " -l\t不打印与主目录相关的波浪号前缀的目录\n"
5365 " -p\t每行一个条目打印目录栈\n"
5366 " -v\t每行一个条目,以栈中位置为前缀打印目录栈\n"
5369 " +N\t显示 dirs 不带选项启动时显示的目录列表左起中第\n"
5372 " -N\t显示 dirs 不带选项启动时显示的目录列表右起中第\n"
5376 " 返回成功,除非使用了无效的选项或者发生错误。"
5380 "Set and unset shell options.\n"
5382 " Change the setting of each shell option OPTNAME. Without any option\n"
5383 " arguments, list each supplied OPTNAME, or all shell options if no\n"
5384 " OPTNAMEs are given, with an indication of whether or not each is set.\n"
5387 " -o\trestrict OPTNAMEs to those defined for use with `set -o'\n"
5388 " -p\tprint each shell option with an indication of its status\n"
5389 " -q\tsuppress output\n"
5390 " -s\tenable (set) each OPTNAME\n"
5391 " -u\tdisable (unset) each OPTNAME\n"
5394 " Returns success if OPTNAME is enabled; fails if an invalid option is\n"
5395 " given or OPTNAME is disabled."
5397 "设定和取消设定 shell 选项。\n"
5399 " 改变每个 shell 选项 OPTNAME 的设定。不带参数时,\n"
5400 " 列出每个提供的 OPTNAME,否则列出所有 shell 选项;\n"
5401 " 同时标注每一个选项是否被设定。\n"
5404 " -o\t限制 OPTNAME 为定义用于`set -o' 的选项\n"
5405 " -p\t打印每个 shell 选项并标注它的状态。\n"
5407 " -s\t启用(设定)每个 OPTNAME 选项\n"
5408 " -u\t禁用(取消设定)每个 OPTNAME 选项\n"
5411 " 如果 OPTNAME 选项被启用则返回成功;如果是\n"
5412 " 无效的选项或 OPTNAME 被禁用则失败。"
5416 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
5419 " -v var\tassign the output to shell variable VAR rather than\n"
5420 " \t\tdisplay it on the standard output\n"
5422 " FORMAT is a character string which contains three types of objects: "
5424 " characters, which are simply copied to standard output; character "
5426 " sequences, which are converted and copied to the standard output; and\n"
5427 " format specifications, each of which causes printing of the next "
5431 " In addition to the standard format specifications described in "
5433 " printf interprets:\n"
5435 " %b\texpand backslash escape sequences in the corresponding argument\n"
5436 " %q\tquote the argument in a way that can be reused as shell input\n"
5437 " %(fmt)T\toutput the date-time string resulting from using FMT as a "
5439 " \t string for strftime(3)\n"
5441 " The format is re-used as necessary to consume all of the arguments. If\n"
5442 " there are fewer arguments than the format requires, extra format\n"
5443 " specifications behave as if a zero value or null string, as "
5445 " had been supplied.\n"
5448 " Returns success unless an invalid option is given or a write or "
5452 "在 FORMAT 的控制下格式化并打印 ARGUMENTS 参数。\n"
5455 " -v var\t将输出赋值给 shell 变量 VAR 而不显示在标准输出上\n"
5457 " FORMAT 是包含三种对象的字符串:简单地被拷贝到标准输出的普通字符;\n"
5458 " 被变换之后拷贝到标准输入的转义字符;以及每个都会影响到下个参数的打印的格"
5461 " 在 printf(1) 中描述的标准控制声明之外,printf 解析:\n"
5463 " %b\t扩展对应参数中的反斜杠转义序列\n"
5464 " %q\t以可作为 shell 输入的格式引用参数\n"
5465 " %(fmt)T\t以 FMT 为供给 strftime(3) 的格式输出日期时间字符串\n"
5468 " 返回成功,除非使用了无效的选项或者写或赋值错误发生。"
5473 "Specify how arguments are to be completed by Readline.\n"
5475 " For each NAME, specify how arguments are to be completed. If no "
5477 " are supplied, existing completion specifications are printed in a way "
5479 " allows them to be reused as input.\n"
5482 " -p\tprint existing completion specifications in a reusable format\n"
5483 " -r\tremove a completion specification for each NAME, or, if no\n"
5484 " \t\tNAMEs are supplied, all completion specifications\n"
5485 " -D\tapply the completions and actions as the default for commands\n"
5486 " \t\twithout any specific completion defined\n"
5487 " -E\tapply the completions and actions to \"empty\" commands --\n"
5488 " \t\tcompletion attempted on a blank line\n"
5489 " -I\tapply the completions and actions to the initial (usually the\n"
5490 " \t\tcommand) word\n"
5492 " When completion is attempted, the actions are applied in the order the\n"
5493 " uppercase-letter options are listed above. If multiple options are "
5495 " the -D option takes precedence over -E, and both take precedence over -"
5499 " Returns success unless an invalid option is supplied or an error occurs."
5501 "指定 Readline 如何补全参数。\n"
5503 " 声明对于每一个 NAME 名称如何补全参数。如果不带选项,\n"
5504 " 现有的补全声明会以可以重用为输入的格式打印出来。\n"
5507 " -p\t以可重用的格式打印现有的补全声明。\n"
5508 " -r\t对于每个 NAME 名称删除补全声明,或者如果没有提供 NAME\n"
5509 " \t名称,删除所有的补全声明。\n"
5510 " -D\t对于没有补全声明定义的命令,设定默认的补全动作\n"
5511 " -E\t对于 \"empty\" 命令设定补全动作,—— 对于空行的补全。\n"
5512 " -I\t将补全和动作应用在首单词(通常是所给命令)上\n"
5514 " 尝试补全时,按照上述大写字母选项的顺序进行动作。\n"
5515 " 如果给出了多个选项,-D 选项优先级高于 -E 选项,且\n"
5516 " 这两个选项优先级均高于 -I。\n"
5519 " 返回成功,除非使用了无效的选项或者错误发生。"
5523 "Display possible completions depending on the options.\n"
5525 " Intended to be used from within a shell function generating possible\n"
5526 " completions. If the optional WORD argument is supplied, matches "
5528 " WORD are generated.\n"
5531 " Returns success unless an invalid option is supplied or an error occurs."
5535 " 意图在能产生可能的补全的 shell 函数内部使用。\n"
5536 " 如果提供了可选的 WORD 参数,则产生按照 WORD\n"
5540 " 除非使用了无效选项或者错误发生,否则返回成功。"
5544 "Modify or display completion options.\n"
5546 " Modify the completion options for each NAME, or, if no NAMEs are "
5548 " the completion currently being executed. If no OPTIONs are given, "
5550 " the completion options for each NAME or the current completion "
5554 " \t-o option\tSet completion option OPTION for each NAME\n"
5555 " \t-D\t\tChange options for the \"default\" command completion\n"
5556 " \t-E\t\tChange options for the \"empty\" command completion\n"
5557 " \t-I\t\tChange options for completion on the initial word\n"
5559 " Using `+o' instead of `-o' turns off the specified option.\n"
5563 " Each NAME refers to a command for which a completion specification must\n"
5564 " have previously been defined using the `complete' builtin. If no NAMEs\n"
5565 " are supplied, compopt must be called by a function currently generating\n"
5566 " completions, and the options for that currently-executing completion\n"
5567 " generator are modified.\n"
5570 " Returns success unless an invalid option is supplied or NAME does not\n"
5571 " have a completion specification defined."
5575 " 修改每个 NAME 名称的补全选项,或如果没有提供 NAME 名称,执行当前的补"
5577 " 如果不带选项,打印每个 NAME 名称的补全选项或当前的补全声明。\n"
5580 " \t-o option\t为每个 NAME 名称设定补全选项 option\n"
5581 " \t-D\t\t为 \"default\" 命令补全改变选项\n"
5582 " \t-E\t\t为 \"empty\" 命令补全改变选项\n"
5583 " \t-I\t\t为首单词的补全改变选项\n"
5585 " 使用 `+o' 而不是 `-o' 可以关闭指定的选项。\n"
5589 " 每个 NAME 名称都对应一个之前以通过 `complete' 内建定义了的补全声明的\n"
5590 " 命令。如果不提供 NAME 名称,当前生成补全的函数必须调用 compopt,\n"
5591 " 并且当前执行的补全生成器选项会被修改。\n"
5594 " 返回成功,除非使用了无效的选项或者 NAME 名称没有定义补全声明。"
5598 "Read lines from the standard input into an indexed array variable.\n"
5600 " Read lines from the standard input into the indexed array variable "
5602 " from file descriptor FD if the -u option is supplied. The variable "
5604 " is the default ARRAY.\n"
5607 " -d delim\tUse DELIM to terminate lines, instead of newline\n"
5608 " -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
5610 " -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
5612 " -s count\tDiscard the first COUNT lines read\n"
5613 " -t\tRemove a trailing DELIM from each line read (default newline)\n"
5614 " -u fd\tRead lines from file descriptor FD instead of the standard "
5616 " -C callback\tEvaluate CALLBACK each time QUANTUM lines are read\n"
5617 " -c quantum\tSpecify the number of lines read between each call to\n"
5621 " ARRAY\tArray variable name to use for file data\n"
5623 " If -C is supplied without -c, the default quantum is 5000. When\n"
5624 " CALLBACK is evaluated, it is supplied the index of the next array\n"
5625 " element to be assigned and the line to be assigned to that element\n"
5626 " as additional arguments.\n"
5628 " If not supplied with an explicit origin, mapfile will clear ARRAY "
5630 " assigning to it.\n"
5633 " Returns success unless an invalid option is given or ARRAY is readonly "
5635 " not an indexed array."
5637 "从标准输入读取行到下标数组变量中。\n"
5639 " 从标准输入读取行到下标数组变量 ARRAY 中,或者如果使用了 -u 选项,\n"
5640 " 从文件描述符 FD 中读取。MAPFILE 变量是默认的 ARRAY 变量。\n"
5643 " -d delim\t使用 DELIM 而非换行符断行\n"
5644 " -n count\t最多拷贝 COUNT 行,如果 COUNT 为 0,则拷贝所有行。\n"
5645 " -O origin\t从下标 ORIGIN 开始 赋值给 ARRAY 变量。默认下标是0.\n"
5646 " -s count \t丢弃最先读取的 COUNT 行。\n"
5647 " -t\t\t从读取的每行末尾删除一个换行符。\n"
5648 " -u fd\t\t从文件描述符 FD 中读取行而不是标准输入。\n"
5649 " -C callback\t每 QUANTUM 次读行之后对 CALLBACK 回调进行估值。\n"
5650 " -c quantum\t定义每次调用 CALLBACK 回调之间读取的行数。\n"
5653 " ARRAY\t\t存储数据使用的数组变量\n"
5655 " 如果使用了 -C 而没有 -c,默认的量子是5000。当对 CALLBACK 估值时,\n"
5656 " 下一个将被赋值的数组元素的下标作为额外参数被传递。\n"
5658 " 如果没有显式指定起始下标,mapfile 将在赋值前清空 ARRAY 变量。\n"
5661 " 返回成功,除非使用了无效的选项,或者 ARRAY 变量只读或不是下标数组。"
5665 "Read lines from a file into an array variable.\n"
5667 " A synonym for `mapfile'."
5669 "从一个文件中读取行到数组变量中。\n"
5671 " 一个 `mapfile'的同义词。"
5674 #~ "Returns the context of the current subroutine call.\n"
5676 #~ " Without EXPR, returns "
5678 #~ "返回当前子例程调用的上下文\n"
5682 #~ msgid "add_process: process %5ld (%s) in the_pipeline"
5683 #~ msgstr "add_process: 进程 %5ld(%s) 进入 the_pipeline"
5685 #~ msgid "Unknown Signal #"
5689 #~ msgid "Copyright (C) 2018 Free Software Foundation, Inc."
5690 #~ msgstr "版权所有 (C) 2018 自由软件基金会"
5692 #~ msgid "Copyright (C) 2014 Free Software Foundation, Inc."
5693 #~ msgstr "版权所有 (C) 2014 自由软件基金会."
5695 #~ msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
5696 #~ msgstr "版权所有 (C) 2009 自由软件基金会\n"
5699 #~ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
5702 #~ "许可证 GPLv2+: GNU GPL 许可证第二版或者更新版本 <http://gnu.org/licenses/"
5706 #~ ". With EXPR, returns\n"
5709 #~ ". 带有 EXPR 时, 返回\n"
5713 #~ "; this extra information can be used to\n"
5714 #~ " provide a stack trace.\n"
5716 #~ " The value of EXPR indicates how many call frames to go back before "
5718 #~ " current one; the top frame is frame 0."
5723 #~ " EXPR 的值显示了回到当前调用帧之前\n"
5724 #~ " 的调用帧书目; 栈顶帧是第0帧."