# Vietnamese translation for BASH (Bourne Again SHell).
# Bản dịch tiếng Việt dành cho bash.
# Copyright © 2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
# Clytie Siddall <clytie@riverland.net.au>, 2008, 2009, 2010.
# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014.
# Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: bash-4.3-rc2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-11 11:19-0500\n"
"PO-Revision-Date: 2014-02-01 13:11+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SourceCharset: UTF-8\n"

#: arrayfunc.c:51
msgid "bad array subscript"
msgstr "sai chỉ số mảng"

#: arrayfunc.c:356 builtins/declare.def:566
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: không thể chuyển đổi mảng kiểu chỉ số sang mảng kết hợp"

#: arrayfunc.c:539
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: khoá mảng liên kết không hợp lệ"

#: arrayfunc.c:541
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: không thể gán cho chỉ số không thuộc kiểu số"

#: arrayfunc.c:586
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: phải sử dụng chỉ số phụ khi gán mảng kết hợp"

#: bashhist.c:388
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: không thể tạo: %s"

#: bashline.c:3982
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: không tìm thấy ánh xạ cho câu lệnh"

#: bashline.c:4069
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: ký tự khác khoảng trắng đầu tiên không phải là “\"”"

#: bashline.c:4098
#, c-format
msgid "no closing `%c' in %s"
msgstr "thiếu dấu đóng “%c” trong %s"

#: bashline.c:4132
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: thiếu dấu hai chấm phân cách"

#: braces.c:321
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
msgstr "khai triển ngoặc ôm: không thể phân bổ bộ nhớ cho %s"

#: braces.c:413
#, c-format
msgid "brace expansion: failed to allocate memory for %d elements"
msgstr "khai triển ngoặc ôm: gặp lỗi khi phân bổ bộ nhớ cho `%d' phần tử"

#: braces.c:452
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr "khai triển ngoặc ôm: gặp lỗi khi phân bổ bộ nhớ cho `%s'"

#: builtins/alias.def:132
#, c-format
msgid "`%s': invalid alias name"
msgstr "“%s”: tên bí danh không hợp lệ"

#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
msgstr "chưa bật sửa đổi dòng"

#: builtins/bind.def:212
#, c-format
msgid "`%s': invalid keymap name"
msgstr "“%s”: tên sơ đồ phím không hợp lệ"

#: builtins/bind.def:251
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: không thể đọc: %s"

#: builtins/bind.def:266
#, c-format
msgid "`%s': cannot unbind"
msgstr "“%s”: không thể tháo"

#: builtins/bind.def:304 builtins/bind.def:334
#, c-format
msgid "`%s': unknown function name"
msgstr "“%s”: không hiểu tên hàm"

#: builtins/bind.def:312
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "%s không được ràng buộc với bất kỳ phím nào.\n"

#: builtins/bind.def:316
#, c-format
msgid "%s can be invoked via "
msgstr "%s có thể được gọi thông qua "

#: builtins/break.def:77 builtins/break.def:117
msgid "loop count"
msgstr "đếm vòng"

#: builtins/break.def:137
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "chỉ có nghĩa trong vòng lặp “for”, “while” hay “until”"

#: builtins/caller.def:134
msgid ""
"Returns the context of the current subroutine call.\n"
"    \n"
"    Without EXPR, returns "
msgstr ""
"Trả lại ngữ cảnh của cú gọi thủ tục con hiện thời.\n"
"\n"
"    Nếu không có BTHỨC thì trả về "

#: builtins/cd.def:319
msgid "HOME not set"
msgstr "Chưa đặt biến môi trường HOME"

#: builtins/cd.def:327 builtins/common.c:166 test.c:876
msgid "too many arguments"
msgstr "quá nhiều đối số"

#: builtins/cd.def:338
msgid "OLDPWD not set"
msgstr "Chưa đặt biến môi trường OLDPWD"

#: builtins/common.c:101
#, c-format
msgid "line %d: "
msgstr "dòng %d: "

#: builtins/common.c:139 error.c:265
#, c-format
msgid "warning: "
msgstr "cảnh báo: "

#: builtins/common.c:153
#, c-format
msgid "%s: usage: "
msgstr "%s: cách dùng: "

#: builtins/common.c:191 shell.c:506 shell.c:788
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: tùy chọn cần một đối số"

#: builtins/common.c:198
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: cần đối số thuộc kiểu số"

#: builtins/common.c:205
#, c-format
msgid "%s: not found"
msgstr "%s: không tìm thấy"

#: builtins/common.c:214 shell.c:801
#, c-format
msgid "%s: invalid option"
msgstr "%s: tùy chọn không hợp lệ"

#: builtins/common.c:221
#, c-format
msgid "%s: invalid option name"
msgstr "%s: tên tùy chọn không hợp lệ"

#: builtins/common.c:228 general.c:235 general.c:240
#, c-format
msgid "`%s': not a valid identifier"
msgstr "“%s”: không phải là định danh hợp lệ"

#: builtins/common.c:238
msgid "invalid octal number"
msgstr "số bát phân không hợp lệ"

#: builtins/common.c:240
msgid "invalid hex number"
msgstr "số thập lục không hợp lệ"

#: builtins/common.c:242 expr.c:1470
msgid "invalid number"
msgstr "số không hợp lệ"

#: builtins/common.c:250
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s: sai đặc tả tín hiệu"

#: builtins/common.c:257
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr "“%s”: không phải một pid hoặc đặc tả công việc hợp lệ"

#: builtins/common.c:264 error.c:488
#, c-format
msgid "%s: readonly variable"
msgstr "%s: biến chỉ đọc"

#: builtins/common.c:272
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s nằm ngoài phạm vi"

#: builtins/common.c:272 builtins/common.c:274
msgid "argument"
msgstr "đối số"

#: builtins/common.c:274
#, c-format
msgid "%s out of range"
msgstr "%s nằm ngoài phạm vi"

#: builtins/common.c:282
#, c-format
msgid "%s: no such job"
msgstr "%s: không có công việc như vậy"

#: builtins/common.c:290
#, c-format
msgid "%s: no job control"
msgstr "%s: không có điều khiển công việc"

#: builtins/common.c:292
msgid "no job control"
msgstr "không có điều khiển công việc"

#: builtins/common.c:302
#, c-format
msgid "%s: restricted"
msgstr "%s: bị hạn chế"

#: builtins/common.c:304
msgid "restricted"
msgstr "bị hạn chế"

#: builtins/common.c:312
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: không phải là lệnh dựng sẵn trong hệ vỏ"

#: builtins/common.c:321
#, c-format
msgid "write error: %s"
msgstr "lỗi ghi: %s"

#: builtins/common.c:329
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "lỗi đặt các thuộc tính thiết bị cuối: %s"

#: builtins/common.c:331
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "lỗi lấy các thuộc tính thiết bị cuối: %s"

#: builtins/common.c:563
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s: lỗi lấy thư mục hiện thời: %s: %s\n"

#: builtins/common.c:629 builtins/common.c:631
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: đặc tả công việc chưa rõ ràng"

#: builtins/complete.def:277
#, c-format
msgid "%s: invalid action name"
msgstr "%s: tên hành động không hợp lệ"

#: builtins/complete.def:450 builtins/complete.def:645
#: builtins/complete.def:855
#, c-format
msgid "%s: no completion specification"
msgstr "%s: không có đặc tả tự hoàn thiện"

#: builtins/complete.def:697
msgid "warning: -F option may not work as you expect"
msgstr "cảnh báo: tùy chọn “-F” có thể không hoạt động như mong đợi"

#: builtins/complete.def:699
msgid "warning: -C option may not work as you expect"
msgstr "cảnh báo: tùy chọn “-C” có thể không hoạt động như bạn mong đợi"

#: builtins/complete.def:828
msgid "not currently executing completion function"
msgstr "hiện thời không thực thi chức năng tự hoàn thiện"

#: builtins/declare.def:126
msgid "can only be used in a function"
msgstr "chỉ có thể dùng trong một hàm"

#: builtins/declare.def:315 builtins/declare.def:509
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr "%s: biến tham chiếu không thể là một mảng"

#: builtins/declare.def:324
#, c-format
msgid "%s: nameref variable self references not allowed"
msgstr "%s: biến nameref tự tham chiếu là không được phép"

#: builtins/declare.def:398
msgid "cannot use `-f' to make functions"
msgstr "không thể dùng “-f” để tạo hàm"

#: builtins/declare.def:410 execute_cmd.c:5361
#, c-format
msgid "%s: readonly function"
msgstr "%s: hàm chỉ đọc"

#: builtins/declare.def:553
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: không thể hủy biến mảng bằng cách này"

#: builtins/declare.def:560 builtins/read.def:733
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: không thể chuyển đổi mảng kết hợp sang mảng chỉ số"

#: builtins/enable.def:137 builtins/enable.def:145
msgid "dynamic loading not available"
msgstr "không có chức năng nạp động"

#: builtins/enable.def:312
#, c-format
msgid "cannot open shared object %s: %s"
msgstr "không thể mở đối tượng dùng chung %s: %s"

#: builtins/enable.def:335
#, c-format
msgid "cannot find %s in shared object %s: %s"
msgstr "không tìm thấy %s trong đối tượng dùng chung %s: %s"

#: builtins/enable.def:459
#, c-format
msgid "%s: not dynamically loaded"
msgstr "%s không được nạp động"

#: builtins/enable.def:474
#, c-format
msgid "%s: cannot delete: %s"
msgstr "%s: không thể xoá: %s"

#: builtins/evalfile.c:140 builtins/hash.def:171 execute_cmd.c:5208
#: shell.c:1481
#, c-format
msgid "%s: is a directory"
msgstr "%s: là thư mục"

#: builtins/evalfile.c:146
#, c-format
msgid "%s: not a regular file"
msgstr "%s: không phải là tập tin thường"

#: builtins/evalfile.c:155
#, c-format
msgid "%s: file is too large"
msgstr "%s: tập tin quá lớn"

#: builtins/evalfile.c:190 builtins/evalfile.c:208 shell.c:1491
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: không thể thực hiện tập tin nhị phân"

#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: không thể thực thi: %s"

#: builtins/exit.def:65
#, c-format
msgid "logout\n"
msgstr "đăng xuất\n"

#: builtins/exit.def:88
msgid "not login shell: use `exit'"
msgstr "không phải hệ vỏ đăng nhập: hãy dùng lệnh “exit”"

#: builtins/exit.def:120
#, c-format
msgid "There are stopped jobs.\n"
msgstr "Có công việc bị dừng.\n"

#: builtins/exit.def:122
#, c-format
msgid "There are running jobs.\n"
msgstr "Có công việc đang chạy.\n"

#: builtins/fc.def:262
msgid "no command found"
msgstr "không tìm thấy lệnh"

#: builtins/fc.def:320 builtins/fc.def:369
msgid "history specification"
msgstr "đặc tả lịch sử"

#: builtins/fc.def:390
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: không thể mở tập tin tạm: %s"

#: builtins/fg_bg.def:149 builtins/jobs.def:282
msgid "current"
msgstr "hiện tại"

#: builtins/fg_bg.def:158
#, c-format
msgid "job %d started without job control"
msgstr "công việc %d đã khởi chạy mà không có điều khiển công việc"

#: builtins/getopt.c:110
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: tùy chọn không được phép -- %c\n"

#: builtins/getopt.c:111
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: tùy chọn cần đối số -- %c\n"

#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "tắt băm"

#: builtins/hash.def:138
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: bảng băm rỗng\n"

#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "gợi ý\tlệnh\n"

#: builtins/help.def:130
#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Câu lệnh hệ vỏ tương ứng với từ khoá `"

#: builtins/help.def:182
#, c-format
msgid ""
"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
msgstr ""
"không có trợ giúp cho “%s”. Hãy chạy lệnh “help help” hoặc  “man -k %s” hay "
"“info %s”."

#: builtins/help.def:199
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: không thể mở: %s"

#: builtins/help.def:485
#, c-format
msgid ""
"These shell commands are defined internally.  Type `help' to see this list.\n"
"Type `help name' to find out more about the function `name'.\n"
"Use `info bash' to find out more about the shell in general.\n"
"Use `man -k' or `info' to find out more about commands not in this list.\n"
"\n"
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
"Những câu lệnh này được định nghĩa nội bộ. Gõ lệnh “help” để xem danh sách "
"này.\n"
"Gõ “help TÊN” để biết chi tiết về hàm “TÊN”.\n"
"Dùng “info bash” để tìm thông tin chung về hệ vỏ nói chung.\n"
"Dùng “man -k” hoặc “info” để tìm thông tin về lệnh ngoài danh sách này.\n"
"\n"
"Dấu sao (*) bên cạnh tên nghĩa là lệnh bị tắt.\n"
"\n"

#: builtins/history.def:154
msgid "cannot use more than one of -anrw"
msgstr "chỉ có thể dùng một của những tùy chọn -anrw"

#: builtins/history.def:186
msgid "history position"
msgstr "vị trí lịch sử"

#: builtins/history.def:366
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: gặp lỗi khi khai triển lịch sử"

#: builtins/inlib.def:71
#, c-format
msgid "%s: inlib failed"
msgstr "%s: inlib bị lỗi"

#: builtins/jobs.def:109
msgid "no other options allowed with `-x'"
msgstr "không cho phép dùng tùy chọn thêm với “-x”"

#: builtins/kill.def:200
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: đối số phải là ID tiến trình hoặc công việc"

#: builtins/kill.def:263
msgid "Unknown error"
msgstr "Lỗi không rõ"

#: builtins/let.def:95 builtins/let.def:120 expr.c:583 expr.c:598
msgid "expression expected"
msgstr "cần biểu thức"

#: builtins/mapfile.def:172
#, c-format
msgid "%s: not an indexed array"
msgstr "%s: không phải là mảng chỉ số"

#: builtins/mapfile.def:259 builtins/read.def:302
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: đặc tả bộ mô tả tập tin không hợp lệ"

#: builtins/mapfile.def:267 builtins/read.def:309
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: bộ mô tả tập tin không hợp lệ: %s"

#: builtins/mapfile.def:276 builtins/mapfile.def:314
#, c-format
msgid "%s: invalid line count"
msgstr "%s: sai số lượng dòng"

#: builtins/mapfile.def:287
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: gốc mảng không hợp lệ"

#: builtins/mapfile.def:304
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: lượng gọi ngược không hợp lệ"

#: builtins/mapfile.def:336
msgid "empty array variable name"
msgstr "tên biến mảng vẫn trống"

#: builtins/mapfile.def:357
msgid "array variable support required"
msgstr "cần hỗ trợ biến mảng"

#: builtins/printf.def:402
#, c-format
msgid "`%s': missing format character"
msgstr "“%s”: thiếu ký tự định dạng"

#: builtins/printf.def:456
#, c-format
msgid "`%c': invalid time format specification"
msgstr "“%c”: đặc tả định dạng thời gian không đúng"

#: builtins/printf.def:658
#, c-format
msgid "`%c': invalid format character"
msgstr "“%c”: ký tự định dạng không hợp lệ"

#: builtins/printf.def:684
#, c-format
msgid "warning: %s: %s"
msgstr "cảnh báo: %s: %s"

#: builtins/printf.def:768
#, c-format
msgid "format parsing problem: %s"
msgstr "vấn đề phân tích cú pháp định dạng: %s"

#: builtins/printf.def:865
msgid "missing hex digit for \\x"
msgstr "thiếu chữ số thập lục phân cho \\x"

#: builtins/printf.def:880
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "thiếu chữ số unicode cho \\%c"

#: builtins/pushd.def:195
msgid "no other directory"
msgstr "không có thư mục khác"

#: builtins/pushd.def:354
#, c-format
msgid "%s: invalid argument"
msgstr "%s: đối số không hợp lệ"

#: builtins/pushd.def:468
msgid "<no current directory>"
msgstr "<không có thư mục hiện thời>"

#: builtins/pushd.def:512
msgid "directory stack empty"
msgstr "chồng thư mục trống"

#: builtins/pushd.def:514
msgid "directory stack index"
msgstr "chỉ số chồng thư mục"

#: builtins/pushd.def:689
msgid ""
"Display the list of currently remembered directories.  Directories\n"
"    find their way onto the list with the `pushd' command; you can get\n"
"    back up through the list with the `popd' command.\n"
"    \n"
"    Options:\n"
"      -c\tclear the directory stack by deleting all of the elements\n"
"      -l\tdo not print tilde-prefixed versions of directories relative\n"
"    \tto your home directory\n"
"      -p\tprint the directory stack with one entry per line\n"
"      -v\tprint the directory stack with one entry per line prefixed\n"
"    \twith its position in the stack\n"
"    \n"
"    Arguments:\n"
"      +N\tDisplays the Nth entry counting from the left of the list shown "
"by\n"
"    \tdirs when invoked without options, starting with zero.\n"
"    \n"
"      -N\tDisplays the Nth entry counting from the right of the list shown "
"by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Hiển thị danh sách các thư mục được nhớ hiện thời. Lệnh “pushd” thêm\n"
"    thư mục vào danh sách này. “popd” lấy thư mục khỏi danh sách.\n"
"\n"
"    Tùy chọn:\n"
"      -c\txoá mọi phần tử trong chồng thư mục\n"
"      -l\tkhông in phiên bản thư mục có dấu ngã nằm trước\n"
"        \tmà tương ứng với thư mục chính của người dùng\n"
"      -p\tin chồng thư mục mỗi dòng một mục\n"
"      -v\tin chồng thư mục mỗi dòng một mục kèm vị trí trong chồng\n"
"\n"
"    Đối số:\n"
"      +N\thiển thị mục thứ N đếm từ bên trái khi gọi không tuỳ chọn,\n"
"                bắt đầu từ số không.\n"
"\n"
"      -N\thiển thị mục thứ N đếm từ bên phải khi gọi không tuỳ chọn,\n"
"                bắt đầu từ số không."

#: builtins/pushd.def:711
msgid ""
"Adds a directory to the top of the directory stack, or rotates\n"
"    the stack, making the new top of the stack the current working\n"
"    directory.  With no arguments, exchanges the top two directories.\n"
"    \n"
"    Options:\n"
"      -n\tSuppresses the normal change of directory when adding\n"
"    \tdirectories to the stack, so only the stack is manipulated.\n"
"    \n"
"    Arguments:\n"
"      +N\tRotates the stack so that the Nth directory (counting\n"
"    \tfrom the left of the list shown by `dirs', starting with\n"
"    \tzero) is at the top.\n"
"    \n"
"      -N\tRotates the stack so that the Nth directory (counting\n"
"    \tfrom the right of the list shown by `dirs', starting with\n"
"    \tzero) is at the top.\n"
"    \n"
"      dir\tAdds DIR to the directory stack at the top, making it the\n"
"    \tnew current working directory.\n"
"    \n"
"    The `dirs' builtin displays the directory stack."
msgstr ""
"Thêm thư mục vào trên chồng thư mục, hoặc xoay chồng, làm cho thư mục\n"
"    hiện thời nằm ở trên đầu. Đổi vị trí hai thư mục trên cùng nếu\n"
"    không có đối số.\n"
"\n"
"    Tùy chọn:\n"
"      -n\tngăn thay đổi thư mục bình thường khi thêm, chỉ thao tác\n"
"        \ttrên chồng thư mục.\n"
"\n"
"    Đối số:\n"
"      +N\txoay chồng để thư mục thứ N (đếm từ bên trái “dirs”, bắt\n"
"        \tđầu từ số không) nằm ở đầu.\n"
"\n"
"      -N\txoay chồng để thư mục thứ N (đếm từ bên phải “dirs”, bắt\n"
"        \tđầu từ số không) nằm ở đầu.\n"
"\n"
"      THƯ-MỤC\tthêm THƯ-MỤC vào đầu chồng thư mục và dùng làm thư mục\n"
"        \tlàm việc hiện thời.\n"
"\n"
"    Lệnh “dirs” hiển thị chồng thư mục."

#: builtins/pushd.def:736
msgid ""
"Removes entries from the directory stack.  With no arguments, removes\n"
"    the top directory from the stack, and changes to the new top directory.\n"
"    \n"
"    Options:\n"
"      -n\tSuppresses the normal change of directory when removing\n"
"    \tdirectories from the stack, so only the stack is manipulated.\n"
"    \n"
"    Arguments:\n"
"      +N\tRemoves the Nth entry counting from the left of the list\n"
"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
"    \tremoves the first directory, `popd +1' the second.\n"
"    \n"
"      -N\tRemoves the Nth entry counting from the right of the list\n"
"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
"    \tremoves the last directory, `popd -1' the next to last.\n"
"    \n"
"    The `dirs' builtin displays the directory stack."
msgstr ""
"Gỡ bỏ thư mục khỏi chồng thư mục. Không đưa ra đối số thì bỏ thư mục\n"
"    đầu khỏi chồng và chuyển đổi sang thư mục đầu mới.\n"
"\n"
"    Tùy chọn:\n"
"      -n\tngăn thay đổi thư mục bình thường khi thêm, chỉ thao tác\n"
"\t\ttrên chồng thư mục.\n"
"\n"
"    Đối số:\n"
"      +N\txoay chồng để thư mục thứ N (đếm từ bên trái “dirs”. bắt\n"
"        \tđầu từ số không) nằm ở đầu. Ví dụ “popd +0” bỏ thư mục\n"
"                đầu tiên, “popd +1” bỏ thư mục thứ hai.\n"
"\n"
"      -N\txoay chồng để thư mục thứ N (đếm từ bên phải “dirs”. bắt\n"
"        \tđầu từ số không) nằm ở đầu. Ví dụ “popd -0” bỏ thư mục\n"
"                cuối cùng, “popd -1” bỏ thư mục kế cuối.\n"
"\n"
"    Lệnh “dirs” hiển thị chồng thư mục."

#: builtins/read.def:275
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: sai đặc tả thời gian chờ tối đa"

#: builtins/read.def:678
#, c-format
msgid "read error: %d: %s"
msgstr "lỗi đọc: %d: %s"

#: builtins/return.def:75
msgid "can only `return' from a function or sourced script"
msgstr "chỉ có thể “return” từ một hàm hoặc văn lệnh được “source”"

#: builtins/set.def:782
msgid "cannot simultaneously unset a function and a variable"
msgstr "không thể hủy đặt đồng thời một hàm VÀ một biến"

#: builtins/set.def:826
#, c-format
msgid "%s: cannot unset"
msgstr "%s: không thể hủy đặt"

#: builtins/set.def:843
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: không thể hủy đặt: %s chỉ đọc"

#: builtins/set.def:854
#, c-format
msgid "%s: not an array variable"
msgstr "%s: không phải biến mảng"

#: builtins/setattr.def:187
#, c-format
msgid "%s: not a function"
msgstr "%s: không phải hàm"

#: builtins/shift.def:71 builtins/shift.def:77
msgid "shift count"
msgstr "số lượng dịch"

#: builtins/shopt.def:279
msgid "cannot set and unset shell options simultaneously"
msgstr "không thể đồng thời đặt và hủy đặt các tùy chọn hệ vỏ"

#: builtins/shopt.def:346
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: tên tùy chọn hệ vỏ không hợp lệ"

#: builtins/source.def:130
msgid "filename argument required"
msgstr "cần đối số tên tập tin"

#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: không tìm thấy tập tin"

#: builtins/suspend.def:101
msgid "cannot suspend"
msgstr "không thể ngưng"

#: builtins/suspend.def:111
msgid "cannot suspend a login shell"
msgstr "không thể ngưng hệ vỏ đăng nhập"

#: builtins/type.def:234
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "%s là bí danh của “%s”\n"

#: builtins/type.def:255
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s là từ khoá của hệ vỏ\n"

#: builtins/type.def:274
#, c-format
msgid "%s is a function\n"
msgstr "%s là một hàm\n"

#: builtins/type.def:296
#, c-format
msgid "%s is a shell builtin\n"
msgstr "%s là lệnh dựng sẵn hệ vỏ\n"

#: builtins/type.def:317 builtins/type.def:393
#, c-format
msgid "%s is %s\n"
msgstr "%s là %s\n"

#: builtins/type.def:337
#, c-format
msgid "%s is hashed (%s)\n"
msgstr "%s được băm (%s)\n"

#: builtins/ulimit.def:383
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: đối số giới hạn không hợp lệ"

#: builtins/ulimit.def:409
#, c-format
msgid "`%c': bad command"
msgstr "“%c”: câu lệnh sai"

#: builtins/ulimit.def:438
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: không thể lấy giới hạn: %s"

#: builtins/ulimit.def:464
msgid "limit"
msgstr "giới hạn"

#: builtins/ulimit.def:476 builtins/ulimit.def:776
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: không thể sửa đổi giới hạn: %s"

#: builtins/umask.def:114
msgid "octal number"
msgstr "số bát phân"

#: builtins/umask.def:227
#, c-format
msgid "`%c': invalid symbolic mode operator"
msgstr "“%c”: toán tử chế độ ký hiệu không hợp lệ"

#: builtins/umask.def:282
#, c-format
msgid "`%c': invalid symbolic mode character"
msgstr "“%c”: ký tự chế độ ký hiệu không hợp lệ"

#: error.c:90 error.c:325 error.c:327 error.c:329
msgid " line "
msgstr " dòng "

#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "lệnh cuối: %s\n"

#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "Hủy bỏ..."

#: error.c:440
msgid "unknown command error"
msgstr "lỗi lệnh không rõ"

#: error.c:441
msgid "bad command type"
msgstr "kiểu lệnh sai"

#: error.c:442
msgid "bad connector"
msgstr "bộ kết nối sai"

#: error.c:443
msgid "bad jump"
msgstr "nhảy sai"

#: error.c:481
#, c-format
msgid "%s: unbound variable"
msgstr "%s: biến chưa liên kết"

#: eval.c:189
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr "\aquá thời hạn đợi dữ liệu nhập: tự động đăng xuất\n"

#: execute_cmd.c:512
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "không thể chuyển hướng đầu vào chuẩn từ /dev/null: %s"

#: execute_cmd.c:1233
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "ĐỊNH DẠNG THỜI GIAN: “%c”: ký tự định dạng không hợp lệ"

#: execute_cmd.c:2287
msgid "pipe error"
msgstr "lỗi ống dẫn"

#: execute_cmd.c:4386
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr "%s: vượt quá mức độ tối đa các hàm lồng nhau (%d)."

#: execute_cmd.c:4884
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: bị hạn chế: không thể dùng “/” trong tên lệnh"

#: execute_cmd.c:4973
#, c-format
msgid "%s: command not found"
msgstr "%s: không tìm thấy lệnh"

#: execute_cmd.c:5206
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

#: execute_cmd.c:5243
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: bộ thông dịch sai"

#: execute_cmd.c:5280
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr "%s: không thể thực hiện tập tin nhị phân: %s"

#: execute_cmd.c:5352
#, c-format
msgid "`%s': is a special builtin"
msgstr "“%s”: là lệnh dựng sẵn đặc biệt"

#: execute_cmd.c:5404
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "không thể nhân đôi fd %d thành fd %d"

#: expr.c:259
msgid "expression recursion level exceeded"
msgstr "vượt quá ngưỡng đệ quy của biểu thức"

#: expr.c:283
msgid "recursion stack underflow"
msgstr "tràn ngược đống đệ quy"

#: expr.c:431
msgid "syntax error in expression"
msgstr "lỗi cú pháp trong biểu thức"

#: expr.c:475
msgid "attempted assignment to non-variable"
msgstr "thử gán cho thứ không phải biến"

#: expr.c:495 expr.c:858
msgid "division by 0"
msgstr "chia cho không"

#: expr.c:542
msgid "bug: bad expassign token"
msgstr "lỗi: “token expassign” sai"

#: expr.c:595
msgid "`:' expected for conditional expression"
msgstr "cần “:” cho biểu thức điều kiện"

#: expr.c:919
msgid "exponent less than 0"
msgstr "số mũ nhỏ hơn 0"

#: expr.c:976
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "cần định danh sau tăng/giảm dần trước"

#: expr.c:1002
msgid "missing `)'"
msgstr "thiếu “)”"

#: expr.c:1053 expr.c:1390
msgid "syntax error: operand expected"
msgstr "lỗi cú pháp: cần toán hạng"

#: expr.c:1392
msgid "syntax error: invalid arithmetic operator"
msgstr "lỗi cú pháp: toán tử số học không hợp lệ"

#: expr.c:1416
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (thẻ bài lỗi là \"%s\")"

#: expr.c:1474
msgid "invalid arithmetic base"
msgstr "cơ số (toán học) không hợp lệ"

#: expr.c:1494
msgid "value too great for base"
msgstr "cơ số có giá trị quá lớn"

#: expr.c:1543
#, c-format
msgid "%s: expression error\n"
msgstr "%s: lỗi biểu thức\n"

#: general.c:62
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: không thể truy cập thư mục cấp trên"

#: input.c:102 subst.c:5168
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "không thể đặt lại chế độ “nodelay” cho fd %d"

#: input.c:271
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "không thể cấp phát bộ mô tả tập tin mới cho dữ liệu nhập bash từ fd %d"

#: input.c:279
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: đã có bộ đệm cho fd mới %d"

# Nghĩa chữ ?
#: jobs.c:471
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"

#: jobs.c:893
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "pid được tánh nhánh %d có vẻ đang chạy trong công việc %d"

#: jobs.c:1012
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "đang xoá công việc bị dừng chạy %d với nhóm tiến trình %ld"

#: jobs.c:1117
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: tiến trình %5ld (%s) trong the_pipeline"

#: jobs.c:1120
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) được đánh dấu vẫn hoạt động"

#: jobs.c:1435
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: không có pid như vậy"

#: jobs.c:1450
#, c-format
msgid "Signal %d"
msgstr "Tín hiệu %d"

#: jobs.c:1464 jobs.c:1489
msgid "Done"
msgstr "Xong"

#: jobs.c:1469 siglist.c:123
msgid "Stopped"
msgstr "Bị dừng"

#: jobs.c:1473
#, c-format
msgid "Stopped(%s)"
msgstr "Bị dừng(%s)"

#: jobs.c:1477
msgid "Running"
msgstr "Đang chạy"

#: jobs.c:1491
#, c-format
msgid "Done(%d)"
msgstr "Xong(%d)"

#: jobs.c:1493
#, c-format
msgid "Exit %d"
msgstr "Thoát %d"

#: jobs.c:1496
msgid "Unknown status"
msgstr "Không rõ trạng thái"

#: jobs.c:1583
#, c-format
msgid "(core dumped) "
msgstr "(xuất ra core)"

#: jobs.c:1602
#, c-format
msgid "  (wd: %s)"
msgstr "  (wd: %s)"

#: jobs.c:1819
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid tiến trình con (%ld thành %ld)"

#: jobs.c:2138 nojobs.c:605
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld không phải là tiến trình con của hệ vỏ này"

#: jobs.c:2385
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Không có mục ghi về tiến trình %ld"

#: jobs.c:2694
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: công việc %d bị dừng chạy"

#: jobs.c:2986
#, c-format
msgid "%s: job has terminated"
msgstr "%s: công việc bị chấm dứt"

#: jobs.c:2995
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: công việc %d đã đang chạy nền"

#: jobs.c:3220
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr "waitchld: đang bật WNOHANG để tránh bị chặn vô hạn"

#: jobs.c:3711
#, c-format
msgid "%s: line %d: "
msgstr "%s: dòng %d: "

#: jobs.c:3725 nojobs.c:843
#, c-format
msgid " (core dumped)"
msgstr " (xuất ra core)"

#: jobs.c:3737 jobs.c:3750
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd ngay: %s)\n"

#: jobs.c:3782
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp bị lỗi"

#: jobs.c:3843
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: kỷ luật dòng"

# Nghĩa chữ : dừng dịch
#: jobs.c:3853
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"

#: jobs.c:3874 jobs.c:3883
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "không thể đặt nhóm tiến trình cuối cùng (%d)"

#: jobs.c:3888
msgid "no job control in this shell"
msgstr "không có điều khiển công việc trong hệ vỏ này"

#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: khẳng định gặp lỗi: %s\n"

#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
"malloc: %s:%d: assertion botched\r\n"
msgstr ""
"\r\n"
"malloc: %s:%d: khẳng định bị sai\r\n"

#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "không rõ"

#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
msgstr ""
"malloc (cấp phát bộ nhớ): khối bộ nhớ dành riêng trên danh sách các khối còn "
"trống bị ghi vào"

#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
msgstr "free: đã được gọi với đối số khối đã được giải phóng"

#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
msgstr "free: đã được gọi với đối số khối chưa cấp phát"

#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
msgstr "free: phát hiện sự tràn ngược; mh_nbytes ở ngoại phạm vi"

#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
msgstr "free: kích cỡ đoạn đầu và cuối không trùng"

#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
msgstr "realloc: đã được gọi với đối số khối chưa cấp phát"

#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
msgstr "realloc: phát hiện sự tràn ngược; mh_nbytes nằm ngoài phạm vi cho phép"

#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: kích cỡ đoạn đầu và cuối không trùng"

#: lib/malloc/table.c:194
#, c-format
msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
msgstr "register_alloc: bảng cấp phát đầy với FIND_ALLOC?\n"

#: lib/malloc/table.c:203
#, c-format
msgid "register_alloc: %p already in table as allocated?\n"
msgstr "register_alloc: %p đã có trong bảng như được cấp phát?\n"

#: lib/malloc/table.c:256
#, c-format
msgid "register_free: %p already in table as free?\n"
msgstr "register_free: %p đã có trong bảng như còn trống?\n"

#: lib/sh/fmtulong.c:102
msgid "invalid base"
msgstr "cơ số không hợp lệ"

#: lib/sh/netopen.c:168
#, c-format
msgid "%s: host unknown"
msgstr "%s: không rõ máy"

#: lib/sh/netopen.c:175
#, c-format
msgid "%s: invalid service"
msgstr "%s: dịch vụ không hợp lệ"

#: lib/sh/netopen.c:306
#, c-format
msgid "%s: bad network path specification"
msgstr "%s: đặc tả đường dẫn mạng sai"

#: lib/sh/netopen.c:346
msgid "network operations not supported"
msgstr "không hỗ trợ thao tác mạng"

#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr "setlocale: LC_ALL: không thể chuyển đổi miền địa phương (%s)"

#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr "setlocale: LC_ALL: không thể chuyển đổi miền địa phương (%s): %s"

#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "setlocale: %s: không thể chuyển đổi miền địa phương (%s)"

#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "setlocale: %s: không thể chuyển đổi miền địa phương (%s): %s"

#: mailcheck.c:439
msgid "You have mail in $_"
msgstr "Bạn có thư trong $_"

#: mailcheck.c:464
msgid "You have new mail in $_"
msgstr "Bạn có thư mới trong $_"

#: mailcheck.c:480
#, c-format
msgid "The mail in %s has been read\n"
msgstr "Đã đọc thư trong %s\n"

#: make_cmd.c:323
msgid "syntax error: arithmetic expression required"
msgstr "lỗi cú pháp: cần biểu thức số học"

#: make_cmd.c:325
msgid "syntax error: `;' unexpected"
msgstr "lỗi cú pháp: gặp dấu chấm phẩy “;” bất thường"

#: make_cmd.c:326
#, c-format
msgid "syntax error: `((%s))'"
msgstr "lỗi cú pháp: “((%s))”"

#: make_cmd.c:578
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document: kiểu chỉ lệnh sai %d"

#: make_cmd.c:662
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
msgstr "tài liệu này ở dòng %d định giới bằng kết thúc tập tin (muốn “%s”)"

#: make_cmd.c:759
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: chỉ dẫn chuyển hướng “%d” nằm ngoài phạm vi"

#: parse.y:3278 parse.y:3561
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "gặp kết thúc tập tin bất thường trong khi tìm “%c” tương ứng"

#: parse.y:4170
msgid "unexpected EOF while looking for `]]'"
msgstr "gặp kết thúc tập tin bất thường trong khi tìm “]]”"

#: parse.y:4175
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "gặp lỗi cú pháp trong biểu thức điều kiện: thẻ bài bất thường “%s”"

#: parse.y:4179
msgid "syntax error in conditional expression"
msgstr "gặp lỗi cú pháp trong biểu thức điều kiện"

#: parse.y:4257
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "gặp thẻ bài bất thường “%s”, cần “)”"

#: parse.y:4261
msgid "expected `)'"
msgstr "cần “)”"

#: parse.y:4289
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "đối số bất thường “%s” cho toán tử một ngôi điều kiện"

#: parse.y:4293
msgid "unexpected argument to conditional unary operator"
msgstr "đối số bất thường cho toán tử một ngôi điều kiện"

#: parse.y:4339
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "thẻ bài bất thường “%s”, cần toán tử hai ngôi điều kiện"

#: parse.y:4343
msgid "conditional binary operator expected"
msgstr "cần toán tử hai ngôi điều kiện"

#: parse.y:4365
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "đối số bất thường “%s” cho toán tử hai ngôi điều kiện"

#: parse.y:4369
msgid "unexpected argument to conditional binary operator"
msgstr "đối số bất thường cho toán tử hai ngôi điều kiện"

#: parse.y:4380
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "gặp thẻ bài bất thường “%c” trong câu lệnh điều kiện"

#: parse.y:4383
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "gặp thẻ bài bất thường “%s” trong câu lệnh điều kiện"

#: parse.y:4387
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "gặp thẻ bài bất thường “%d” trong câu lệnh điều kiện"

#: parse.y:5737
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "có lỗi cú pháp ở gần thẻ bài bất thường “%s”"

#: parse.y:5755
#, c-format
msgid "syntax error near `%s'"
msgstr "lỗi cú pháp ở gần “%s”"

#: parse.y:5765
msgid "syntax error: unexpected end of file"
msgstr "lỗi cú pháp: kết thúc tập tin bất thường"

#: parse.y:5765
msgid "syntax error"
msgstr "lỗi cú pháp"

#: parse.y:5827
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Dùng \"%s\" để rời hệ vỏ.\n"

#: parse.y:5989
msgid "unexpected EOF while looking for matching `)'"
msgstr "gặp kết thúc tập tin bất thường trong khi tìm “)” tương ứng"

#: pcomplete.c:1094
#, c-format
msgid "completion: function `%s' not found"
msgstr "tự hoàn thiện: không tìm thấy hàm “%s”"

#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"

#: print_cmd.c:300
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: bộ kết nối sai “%d”"

#: print_cmd.c:373
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: sai bộ mô tả tập tin"

#: print_cmd.c:378
msgid "xtrace_set: NULL file pointer"
msgstr "xtrace_set: con trỏ tập tin NULL"

# Nghĩa chữ ?
#: print_cmd.c:382
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"

#: print_cmd.c:1518
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: “%c”: ký tự định dạng không hợp lệ"

#: redir.c:123 redir.c:170
msgid "file descriptor out of range"
msgstr "bộ mô tả tập tin ở ngoại phạm vi"

#: redir.c:177
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: chuyển hướng chưa rõ ràng"

#: redir.c:181
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: không thể ghi đè lên tập tin đã có"

#: redir.c:186
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: bị hạn chế: không thể chuyển hướng kết xuất"

#: redir.c:191
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "không thể tạo tập tin tạm thời cho tài liệu này: %s"

#: redir.c:195
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: không thể gán fd vào biến"

#: redir.c:582
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port không được hỗ trợ nếu không có mạng"

#: redir.c:861 redir.c:973 redir.c:1034 redir.c:1199
msgid "redirection error: cannot duplicate fd"
msgstr "lỗi chuyển hướng: không thể nhân đôi fd"

#: shell.c:339
msgid "could not find /tmp, please create!"
msgstr "không tìm thấy /tmp, hãy tạo mới!"

#: shell.c:343
msgid "/tmp must be a valid directory name"
msgstr "“/tmp” phải là tên thư mục hợp lệ"

#: shell.c:890
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c: tùy chọn không hợp lệ"

#: shell.c:1682
msgid "I have no name!"
msgstr "Không có tên!"

#: shell.c:1827
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, phiên bản %s-(%s)\n"

#: shell.c:1828
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
msgstr ""
"Cách dùng:\t%s [tùy chọn GNU dài] [tùy chọn] ...\n"
"\t%s [tùy chọn GNU dài] [tùy chọn] tập-tin-văn-lệnh ...\n"

#: shell.c:1830
msgid "GNU long options:\n"
msgstr "Tùy chọn dài:\n"

#: shell.c:1834
msgid "Shell options:\n"
msgstr "Tùy chọn:\n"

#: shell.c:1835
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-ilrsD hoặc -c lệnh hay -O tùy-chọn-ngắn\t\t(chỉ gọi)\n"

#: shell.c:1850
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s hoặc -o tùy-chọn\n"

#: shell.c:1856
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "Gõ “%s -c \"help set\"” để xem thông tin về các tùy chọn hệ vỏ.\n"

#: shell.c:1857
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "Gõ “%s -c help” để xem thông tin về các lệnh hệ vỏ dựng sẵn.\n"

#: shell.c:1858
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
"Dùng lệnh “bashbug” để thông báo lỗi.\n"
"Báo cáo các lỗi dịch cho: <http://translationproject.org/team/vi.html>.\n"

#: sig.c:691
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: thao tác không hợp lệ"

#: siglist.c:48
msgid "Bogus signal"
msgstr "Tín hiệu giả"

#: siglist.c:51
msgid "Hangup"
msgstr "Treo"

#: siglist.c:55
msgid "Interrupt"
msgstr "Ngắt"

#: siglist.c:59
msgid "Quit"
msgstr "Thoát"

#: siglist.c:63
msgid "Illegal instruction"
msgstr "Câu lệnh không được phép"

#: siglist.c:67
msgid "BPT trace/trap"
msgstr "Theo vết/đặt bẫy BPT"

#: siglist.c:75
msgid "ABORT instruction"
msgstr "Câu lệnh HỦY BỎ"

#: siglist.c:79
msgid "EMT instruction"
msgstr "Câu lệnh EMT"

#: siglist.c:83
msgid "Floating point exception"
msgstr "Lỗi dấu chấm động"

#: siglist.c:87
msgid "Killed"
msgstr "Bị giết"

#: siglist.c:91
msgid "Bus error"
msgstr "Lỗi bus"

#: siglist.c:95
msgid "Segmentation fault"
msgstr "Lỗi phân đoạn"

#: siglist.c:99
msgid "Bad system call"
msgstr "Lỗi lệnh gọi hệ thống"

#: siglist.c:103
msgid "Broken pipe"
msgstr "Ống dẫn hỏng"

#: siglist.c:107
msgid "Alarm clock"
msgstr "Đồng hồ báo thức"

#: siglist.c:111
msgid "Terminated"
msgstr "Bị chấm dứt"

#: siglist.c:115
msgid "Urgent IO condition"
msgstr "Điều kiện IO gấp"

#: siglist.c:119
msgid "Stopped (signal)"
msgstr "Bị dừng (tín hiệu)"

#: siglist.c:127
msgid "Continue"
msgstr "Tiếp tục"

#: siglist.c:135
msgid "Child death or stop"
msgstr "Tiến trình con đã giết hoặc dừng"

#: siglist.c:139
msgid "Stopped (tty input)"
msgstr "Bị dừng (tty nhập)"

#: siglist.c:143
msgid "Stopped (tty output)"
msgstr "Bị dừng (tty xuất)"

#: siglist.c:147
msgid "I/O ready"
msgstr "I/O sẵn sàng"

#: siglist.c:151
msgid "CPU limit"
msgstr "Giới hạn CPU"

#: siglist.c:155
msgid "File limit"
msgstr "Giới hạn tập tin"

#: siglist.c:159
msgid "Alarm (virtual)"
msgstr "Báo động (ảo)"

#: siglist.c:163
msgid "Alarm (profile)"
msgstr "Báo động (hồ sơ)"

#: siglist.c:167
msgid "Window changed"
msgstr "Cửa sổ bị thay đổi"

#: siglist.c:171
msgid "Record lock"
msgstr "Khóa bản ghi"

#: siglist.c:175
msgid "User signal 1"
msgstr "Tín hiệu người dùng 1"

#: siglist.c:179
msgid "User signal 2"
msgstr "Tín hiệu người dùng 2"

#: siglist.c:183
msgid "HFT input data pending"
msgstr "Dữ liệu nhập HFT bị hoãn"

#: siglist.c:187
msgid "power failure imminent"
msgstr "sắp bị mất điện đột ngột"

#: siglist.c:191
msgid "system crash imminent"
msgstr "hệ thống sắp sụp đổ"

#: siglist.c:195
msgid "migrate process to another CPU"
msgstr "chuyển tiến trình sang CPU khác"

#: siglist.c:199
msgid "programming error"
msgstr "lỗi lập trình"

#: siglist.c:203
msgid "HFT monitor mode granted"
msgstr "Có chế độ màn hình HFT"

#: siglist.c:207
msgid "HFT monitor mode retracted"
msgstr "Không có chế độ màn hình HFT"

#: siglist.c:211
msgid "HFT sound sequence has completed"
msgstr "Đã hoàn thành chuỗi âm thanh HFT"

#: siglist.c:215
msgid "Information request"
msgstr "yêu cầu thông tin"

#: siglist.c:223
msgid "Unknown Signal #"
msgstr "Tín hiệu lạ #"

#: siglist.c:225
#, c-format
msgid "Unknown Signal #%d"
msgstr "Tín hiệu lạ #%d"

#: subst.c:1362 subst.c:1520
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "sai chỉ số phụ: không có đóng “%s” trong %s"

#: subst.c:2847
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: không thể gán danh sách cho bộ phận của mảng"

#: subst.c:5065 subst.c:5081
msgid "cannot make pipe for process substitution"
msgstr "không thể tạo ống dẫn để thay thế tiến trình"

#: subst.c:5113
msgid "cannot make child for process substitution"
msgstr "không thể tạo tiến trình con để thay thế tiến trình"

#: subst.c:5158
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "không thể mở ống dẫn đặt tên %s để đọc"

#: subst.c:5160
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "không thể mở ống dẫn có tên %s để ghi"

#: subst.c:5178
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "không thể nhân đôi ống dẫn đặt tên %s thành fd %d"

#: subst.c:5376
msgid "cannot make pipe for command substitution"
msgstr "không thể tạo ống dẫn để thay thế lệnh"

#: subst.c:5414
msgid "cannot make child for command substitution"
msgstr "không thể tạo tiến trình con để thay thế lệnh"

#: subst.c:5433
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: không thể nhân đôi ống dẫn thành fd 1"

#: subst.c:5837 subst.c:8050
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr "%s: tên biến không hợp lệ cho một tham chiếu tên"

#: subst.c:6048
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: tham số null hoặc chưa được đặt"

#: subst.c:6320 subst.c:6335
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: biểu thức chuỗi con < 0"

#: subst.c:7506
#, c-format
msgid "%s: bad substitution"
msgstr "%s: thay thế sai"

#: subst.c:7583
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: không thể gán bằng cách này"

#: subst.c:7917
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
"phiên bản hệ vỏ mới sẽ ép buộc ước lượng dưới dạng một hàm thay thế số học"

#: subst.c:8421
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "sai thay thế: không có \"`\" đóng trong %s"

#: subst.c:9322
#, c-format
msgid "no match: %s"
msgstr "không khớp: %s"

#: test.c:147
msgid "argument expected"
msgstr "cần đối số"

#: test.c:156
#, c-format
msgid "%s: integer expression expected"
msgstr "%s: cần biểu thức số nguyên"

#: test.c:264
msgid "`)' expected"
msgstr "cần “)”"

#: test.c:266
#, c-format
msgid "`)' expected, found %s"
msgstr "cần “)” nhưng lại nhận được %s"

#: test.c:281 test.c:742 test.c:745
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: cần toán tử một ngôi"

#: test.c:468 test.c:785
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: cần toán tử hai ngôi"

#: test.c:860
msgid "missing `]'"
msgstr "thiếu “]”"

#: trap.c:217
msgid "invalid signal number"
msgstr "số thứ tự tín hiệu không hợp lệ"

#: trap.c:371
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: giá trị sai trong danh sách trap_list[%d]: %p"

#: trap.c:375
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
"run_pending_traps: bộ xử lý tín hiệu là SIG_DFL, đang gửi lại %d (%s) cho "
"chính mình"

#: trap.c:428
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: tín hiệu sai %d"

#: variables.c:382
#, c-format
msgid "error importing function definition for `%s'"
msgstr "gặp lỗi khi nhập vào định nghĩa hàm cho “%s”"

#: variables.c:780
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "cấp hệ vỏ (%d) quá cao nên đặt lại thành 1"

#: variables.c:1865
#, c-format
msgid "%s: circular name reference"
msgstr "%s: tên tham chiếu quẩn tròn"

#: variables.c:2228
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: không có ngữ cảnh hàm ở phạm vi hiện thời"

#: variables.c:2247
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: không thể gán giá trị cho biến"

#: variables.c:3646
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: không có ngữ cảnh hàm ở phạm vi hiện thời"

#: variables.c:3891
#, c-format
msgid "%s has null exportstr"
msgstr "%s có exportstr null"

#: variables.c:3896 variables.c:3905
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "sai ký tự %d trong exportstr cho %s"

#: variables.c:3911
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "không có “=” trong exportstr cho %s"

#: variables.c:4344
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
"pop_var_context: đầu của shell_variables (các biến hệ vỏ) không phải là ngữ "
"cảnh hàm"

#: variables.c:4357
msgid "pop_var_context: no global_variables context"
msgstr ""
"pop_var_context: không có ngữ cảnh global_variables (các biến toàn cục)"

#: variables.c:4431
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope: đầu của shell_variables (các biến hệ vỏ) không phải là phạm vi "
"môi trường tạm thời"

#: variables.c:5257
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: không thể mở như là TẬP-TIN"

#: variables.c:5262
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: sai đặt giá trị cho bộ mô tả tập tin vết"

#: variables.c:5307
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: giá trị so sánh nằm ngoài phạm vi"

#: version.c:46
msgid "Copyright (C) 2013 Free Software Foundation, Inc."
msgstr "Tác quyền (C) năm 2014 của Tổ chức Quỹ Phần mềm Tự do, Inc."

#: version.c:47 version2.c:47
msgid ""
"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
"Giấy phép GPLv3+: GNU GPL phiên bản 3 hoặc mới hơn <http://gnu.org/licenses/"
"gpl.html>\n"

#: version.c:86 version2.c:86
#, c-format
msgid "GNU bash, version %s (%s)\n"
msgstr "GNU bash, phiên bản %s (%s)\n"

#: version.c:91 version2.c:91
msgid "This is free software; you are free to change and redistribute it."
msgstr "Đây là phần mềm tự do; bạn có quyền sửa đổi và phát hành lại nó."

#: version.c:92 version2.c:92
msgid "There is NO WARRANTY, to the extent permitted by law."
msgstr "Ở đây KHÔNG BẢO HÀNH GÌ CẢ, với điều kiện được pháp luật cho phép."

#: version2.c:46
msgid "Copyright (C) 2012 Free Software Foundation, Inc."
msgstr "Tác quyền (C) năm 2014 của Tổ chức Quỹ Phần mềm Tự do, Inc."

#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: không thể cấp phát %lu byte (%lu byte được cấp phát)"

#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: không thể cấp phát %lu byte"

#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: %s:%d: không thể cấp phát %lu byte (%lu byte được cấp phát)"

#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "%s: %s:%d: không thể cấp phát %lu byte"

#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
msgstr "alias [-p] [TÊN[=GIÁ-TRỊ] ... ]"

#: builtins.c:47
msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] TÊN [TÊN ...]"

#: builtins.c:51
msgid ""
"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
msgstr ""
"bind [-lpvsPVSX] [-m SƠ-ĐỒ-PHÍM] [-f TẬP-TIN] [-q TÊN] [-u TÊN] [-r DÃY-"
"PHÍM] [-x DÃY-PHÍM:LỆNH] [DÃY-PHÍM:HÀM-READLINE hay LỆNH-READLINE]"

#: builtins.c:54
msgid "break [n]"
msgstr "break [n]"

#: builtins.c:56
msgid "continue [n]"
msgstr "continue [n]"

#: builtins.c:58
msgid "builtin [shell-builtin [arg ...]]"
msgstr "builtin [SHELL-BUILTIN [ĐỐI-SỐ ...]]"

#: builtins.c:61
msgid "caller [expr]"
msgstr "caller [BTHỨC]"

#: builtins.c:64
msgid "cd [-L|[-P [-e]] [-@]] [dir]"
msgstr "cd [-L|[-P [-e]]] [-@]] [THƯ-MỤC]"

#: builtins.c:66
msgid "pwd [-LP]"
msgstr "pwd [-LP]"

#: builtins.c:68
msgid ":"
msgstr ":"

#: builtins.c:70
msgid "true"
msgstr "true"

#: builtins.c:72
msgid "false"
msgstr "false"

#: builtins.c:74
msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] LỆNH [Đ.SỐ ...]"

#: builtins.c:76
msgid "declare [-aAfFgilnrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFgilnrtux] [-p] [TÊN[=GIÁ-TRỊ] ...]"

#: builtins.c:78
msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFgilrtux] [-p] TÊN[=GIÁ-TRỊ] ..."

#: builtins.c:80
msgid "local [option] name[=value] ..."
msgstr "local [tùy_chọn] TÊN[=GIÁ-TRỊ] ..."

#: builtins.c:83
msgid "echo [-neE] [arg ...]"
msgstr "echo [-neE] [Đ.SỐ ...]"

#: builtins.c:87
msgid "echo [-n] [arg ...]"
msgstr "echo [-n] [Đ.SỐ ...]"

#: builtins.c:90
msgid "enable [-a] [-dnps] [-f filename] [name ...]"
msgstr "enable [-a] [-dnps] [-f TẬP-TIN] [TÊN ...]"

#: builtins.c:92
msgid "eval [arg ...]"
msgstr "eval [Đ.SỐ ...]"

#: builtins.c:94
msgid "getopts optstring name [arg]"
msgstr "getopts CHUỖI-TÙY-CHỌN TÊN [Đ.SỐ]"

#: builtins.c:96
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
msgstr "exec [-cl] [-a TÊN] [LỆNH [ĐỐI-SỐ ...]] [CHUYỂN-HƯỚNG ...]"

#: builtins.c:98
msgid "exit [n]"
msgstr "exit [n]"

#: builtins.c:100
msgid "logout [n]"
msgstr "logout [n]"

#: builtins.c:103
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
msgstr "fc [-e ENAME] [-lnr] [ĐẦU] [CUỐI] hoặc fc -s [MẪU=LẶP_LẠI] [LỆNH]"

#: builtins.c:107
msgid "fg [job_spec]"
msgstr "fg [ĐTCV]"

#: builtins.c:111
msgid "bg [job_spec ...]"
msgstr "bg [ĐTCV ...]"

#: builtins.c:114
msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p ĐƯỜNG-DẪN] [-dt] [TÊN ...]"

#: builtins.c:117
msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [MẪU ...]"

#: builtins.c:121
msgid ""
"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
"[arg...]"
msgstr ""
"history [-c] [-d OFFSET] [n] hay history -anrw [T.TIN] hay history -ps Đ.SỐ "
"[Đ.SỐ...]"

#: builtins.c:125
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
msgstr "jobs [-lnprs] [ĐTCV ...] hoặc jobs -x LỆNH [ĐỐI-SỐ]"

#: builtins.c:129
msgid "disown [-h] [-ar] [jobspec ...]"
msgstr "disown [-h] [-ar] [ĐTCV ...]"

#: builtins.c:132
msgid ""
"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
"[sigspec]"
msgstr ""
"kill [-s ĐTTH | -n số_tín_hiệu | -ĐTTH] pid | ĐTCV ... hoặc kill -l [ĐTTH]"

#: builtins.c:134
msgid "let arg [arg ...]"
msgstr "let ĐỐI-SỐ [ĐỐI-SỐ ...]"

#: builtins.c:136
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
"read [-ers] [-a MẢNG] [-d GIỚI-HẠN] [-i VĂN-BẢN] [-n SỐ-KÝ-TỰ] [-N SỐ-KÝ-TỰ] "
"[-p NHẮC] [-t THỜI-HẠN] [-u fd] [TÊN ...]"

# nghĩa chữ
#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"

#: builtins.c:140
msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [-abefhkmnptuvxBCHP] [-o TÊN-TÙY-CHỌN] [--] [ĐỐI-SỐ ...]"

#: builtins.c:142
msgid "unset [-f] [-v] [-n] [name ...]"
msgstr "unset [-f] [-v] [-n] [TÊN ...]"

#: builtins.c:144
msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [TÊN[=GIÁ-TRỊ] ...] hoặc export -p"

#: builtins.c:146
msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-aAf] [TÊN[=GIÁ-TRỊ] ...] hay readonly -p"

#: builtins.c:148
msgid "shift [n]"
msgstr "shift [n]"

#: builtins.c:150
msgid "source filename [arguments]"
msgstr "source TẬP-TIN [ĐỐI-SỐ ...]"

#: builtins.c:152
msgid ". filename [arguments]"
msgstr ". TẬP-TIN [ĐỐI-SỐ ...]"

#: builtins.c:155
msgid "suspend [-f]"
msgstr "suspend [-f]"

#: builtins.c:158
msgid "test [expr]"
msgstr "test [BTHỨC]"

#: builtins.c:160
msgid "[ arg... ]"
msgstr "[ Đ.SỐ ... ]"

#: builtins.c:162
msgid "times"
msgstr "times"

#: builtins.c:164
msgid "trap [-lp] [[arg] signal_spec ...]"
msgstr "trap [-lp] [[Đ.SỐ] ĐTTH ...]"

#: builtins.c:166
msgid "type [-afptP] name [name ...]"
msgstr "type [-afptP] TÊN [TÊN ...]"

#: builtins.c:169
msgid "ulimit [-SHabcdefilmnpqrstuvxT] [limit]"
msgstr "ulimit [-SHabcdefilmnpqrstuvxT] [GIỚI-HẠN]"

#: builtins.c:172
msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [CHẾ-ĐỘ]"

#: builtins.c:175
msgid "wait [-n] [id ...]"
msgstr "wait [-n] [id ...]"

#: builtins.c:179
msgid "wait [pid ...]"
msgstr "wait [pid ...]"

#: builtins.c:182
msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
msgstr "for TÊN [in TỪ... ;] do CÁC;CÂU;LỆNH; done"

#: builtins.c:184
msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
msgstr "for (( BTHỨC1; BTHỨC2; BTHỨC3 )); do CÁC;CÂU;LỆNH; done"

#: builtins.c:186
msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
msgstr "select TÊN [in CÁC TỪ ... ;] do CÁC;CÂU;LỆNH; done"

#: builtins.c:188
msgid "time [-p] pipeline"
msgstr "time [-p] ỐNG-DẪN"

#: builtins.c:190
msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case TỪ in [MẪU [| MẪU]...) CÁC;CÂU;LỆNH;;]... esac"

#: builtins.c:192
msgid ""
"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
"COMMANDS; ] fi"
msgstr ""
"if LỆNH; then CÁC;CÂU;LỆNH; [ elif CÁC;CÂU;LỆNH; then CÁC;CÂU;LỆNH; ]... "
"[ else CÁC;CÂU;LỆNH; ] fi"

#: builtins.c:194
msgid "while COMMANDS; do COMMANDS; done"
msgstr "while CÁC;CÂU;LỆNH; do CÁC;CÂU;LỆNH; done"

#: builtins.c:196
msgid "until COMMANDS; do COMMANDS; done"
msgstr "until CÁC;CÂU;LỆNH; do CÁC;CÂU;LỆNH; done"

#: builtins.c:198
msgid "coproc [NAME] command [redirections]"
msgstr "coproc [TÊN] LỆNH [CHUYỂN-HƯỚNG]"

#: builtins.c:200
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
msgstr "function TÊN { CÁC;CÂU;LỆNH; } or TÊN () { CÁC;CÂU;LỆNH; }"

#: builtins.c:202
msgid "{ COMMANDS ; }"
msgstr "{ CÁC;CÂU;LỆNH ; }"

#: builtins.c:204
msgid "job_spec [&]"
msgstr "ĐTCV [&]"

#: builtins.c:206
msgid "(( expression ))"
msgstr "(( BTHỨC ))"

#: builtins.c:208
msgid "[[ expression ]]"
msgstr "[[ BTHỨC ]]"

#: builtins.c:210
msgid "variables - Names and meanings of some shell variables"
msgstr "biến — tên và nghĩa của một số biến hệ vỏ"

#: builtins.c:213
msgid "pushd [-n] [+N | -N | dir]"
msgstr "pushd [-n] [+N | -N | tmục]"

#: builtins.c:217
msgid "popd [-n] [+N | -N]"
msgstr "popd [-n] [+N | -N]"

#: builtins.c:221
msgid "dirs [-clpv] [+N] [-N]"
msgstr "dirs [-clpv] [+N] [-N]"

#: builtins.c:224
msgid "shopt [-pqsu] [-o] [optname ...]"
msgstr "shopt [-pqsu] [-o] [tên-tùy-chọn ...]"

#: builtins.c:226
msgid "printf [-v var] format [arguments]"
msgstr "printf [-v BIẾN] ĐỊNH-DẠNG [CÁC-ĐỐI-SỐ]"

#: builtins.c:229
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o TÙY-CHỌN] [-A HÀNH-ĐỘNG] [-G MẪU-"
"GLOB] [-W DANH-SÁCH-TỪ]  [-F HÀM] [-C LỆNH] [-X MẪU-LỌC] [-P TIỀN-TỐ] [-S "
"HẬU-TỐ] [TÊN ...]"

#: builtins.c:233
msgid ""
"compgen [-abcdefgjksuv] [-o option]  [-A action] [-G globpat] [-W wordlist]  "
"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
msgstr ""
"compgen [-abcdefgjksuv] [-o TÙY-CHỌN]  [-A HÀNH-ĐỘNG] [-G MẪU-GLOB] [-W DANH-"
"SÁCH-TỪ]  [-F HÀM] [-C LỆNH] [-X MẪU-LỌC] [-P TIỀN-TỐ] [-S HẬU-TỐ] [TỪ]"

#: builtins.c:237
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o TÙY-CHỌN] [-DE] [TÊN ...]"

#: builtins.c:240
msgid ""
"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
"mapfile [-n ĐẾM] [-O GỐC] [-s SỐ-LƯỢNG] [-t] [-u fd] [-C GỌI-NGƯỢC] [-c "
"LƯỢNG] [MẢNG]"

#: builtins.c:242
msgid ""
"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
"readarray [-n ĐẾM] [-O GỐC] [-s SỐ-LƯỢNG] [-t] [-u FD] [-C GỌI-NGƯỢC] [-c "
"LƯỢNG] [MẢNG]"

#: builtins.c:254
msgid ""
"Define or display aliases.\n"
"    \n"
"    Without arguments, `alias' prints the list of aliases in the reusable\n"
"    form `alias NAME=VALUE' on standard output.\n"
"    \n"
"    Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
"    A trailing space in VALUE causes the next word to be checked for\n"
"    alias substitution when the alias is expanded.\n"
"    \n"
"    Options:\n"
"      -p\tPrint all defined aliases in a reusable format\n"
"    \n"
"    Exit Status:\n"
"    alias returns true unless a NAME is supplied for which no alias has "
"been\n"
"    defined."
msgstr ""
"Định nghĩa hoặc hiển thị bí danh.\n"
"\n"
"    Không đưa ra đối số thì “alias” in danh sách các bí danh theo mấu\n"
"    “alias TÊN=GIÁ-TRỊ” trên đầu ra chuẩn.\n"
"\n"
"    Có đối số thì một bí danh được định nghĩa cho mỗi TÊN theo giá trị\n"
"    đưa ra. Khoảng trắng ở đâu trong GIÁ-TRỊ làm kiểm tra thay thế bí\n"
"    danh cho từ kế tiếp, khi phân giải bí danh.\n"
"\n"
"    Tùy chọn:\n"
"      -p\tin tất cả các bí danh được định nghĩa theo định dạng\n"
"        \tcó thể dùng lại được\n"
"\n"
"   Trạng thái thoát:\n"
"   alias trả lại thành công trừ khi TÊN đã cho không phải là\n"
"   một bí danh đã được định nghĩa"

#: builtins.c:276
msgid ""
"Remove each NAME from the list of defined aliases.\n"
"    \n"
"    Options:\n"
"      -a\tremove all alias definitions.\n"
"    \n"
"    Return success unless a NAME is not an existing alias."
msgstr ""
"Gỡ bỏ TÊN khỏi danh sách các bí danh.\n"
"\n"
"    Tùy chọn:\n"
"      -a\tbỏ tất cả các bí danh.\n"
"\n"
"    Trả lại thành công trừ khi TÊN không phải là một bí danh."

#: builtins.c:289
msgid ""
"Set Readline key bindings and variables.\n"
"    \n"
"    Bind a key sequence to a Readline function or a macro, or set a\n"
"    Readline variable.  The non-option argument syntax is equivalent to\n"
"    that found in ~/.inputrc, but must be passed as a single argument:\n"
"    e.g., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
"    \n"
"    Options:\n"
"      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
"                         command.  Acceptable keymap names are emacs,\n"
"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
"move,\n"
"                         vi-command, and vi-insert.\n"
"      -l                 List names of functions.\n"
"      -P                 List function names and bindings.\n"
"      -p                 List functions and bindings in a form that can be\n"
"                         reused as input.\n"
"      -S                 List key sequences that invoke macros and their "
"values\n"
"      -s                 List key sequences that invoke macros and their "
"values\n"
"                         in a form that can be reused as input.\n"
"      -V                 List variable names and values\n"
"      -v                 List variable names and values in a form that can\n"
"                         be reused as input.\n"
"      -q  function-name  Query about which keys invoke the named function.\n"
"      -u  function-name  Unbind all keys which are bound to the named "
"function.\n"
"      -r  keyseq         Remove the binding for KEYSEQ.\n"
"      -f  filename       Read key bindings from FILENAME.\n"
"      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
"    \t\t\t\tKEYSEQ is entered.\n"
"      -X\t\t     List key sequences bound with -x and associated commands\n"
"                         in a form that can be reused as input.\n"
"    \n"
"    Exit Status:\n"
"    bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
"Đặt các tổ hợp phím và biến Readline.\n"
"\n"
"    Gắn tổ hợp phím với một chức năng hay vĩ lệnh Readline, hoặc\n"
"    đặt biến Readline. Cú pháp đối số không tùy chọn giống như trong\n"
"    ~/.inputrc, nhưng phải được gửi dưới dạng đối số đơn. Ví\n"
"    dụ: bind “\"\\C-x\\C-r\": re-read-init-file”.\n"
"\n"
"    Tùy chọn:\n"
"      -m SƠ-ĐỒ-PHÍM      dùng sơ_đồ_phím làm sơ đồ phím khi lệnh này\n"
"                         chạy. Giá trị hợp lệ là emacs, emacs-standard,\n"
"                         emacs-meta, emacs-ctlx, vi, vi-move, vi-command\n"
"                         và vi-insert.\n"
"      -l                 Liệt kê tên các hàm\n"
"      -P                 Liệt kê tên hàm và tổ hợp phím\n"
"      -p                 Liệt kê tên hàm và tổ hợp phím theo dạng dùng\n"
"                          lại làm đầu vào được\n"
"      -S                 Liệt kê chuỗi phím mà gọi vĩ lệnh và các giá-trị "
"của chúng\n"
"      -s                 Liệt kê chuỗi phím mà gọi vĩ lệnh và các giá-trị "
"của chúng\n"
"                          theo định dạng có thể dùng làm đầu vào\n"
"      -V                 Liệt kê các biến và giá trị của chúng\n"
"      -v                 Liệt kê các biến và giá trị của chúng\n"
"                          theo định dạng có thể tái sử dụng làm đầu vào.\n"
"      -q TÊN-HÀM         Hỏi phím nào gọi hàm này\n"
"      -u TÊN-HÀM         Gỡ bỏ tất cả phím tắt gắn với hàm này\n"
"      -r DÃY-PHÍM        Gỡ bỏ tổ hợp phím này\n"
"      -f TẬP-TIN         Đọc tổ hợp phím từ tập tin này\n"
"      -x DÃY-PHÍM:LỆNH   Chạy LỆNH khi nhập DÃY-PHÍM\n"
"      -X\t\t     Liệt kê dãy phím với tùy-chọn -x và các lệnh kết hợp\n"
"                          theo dạng có thể dùng làm đầu vào.\n"
"\n"
"    Trạng thái thoát:\n"
"    lệnh bind trả vềi 0 trừ khi đưa ra tùy chọn không nhận ra hay gặp lỗi."

#: builtins.c:328
msgid ""
"Exit for, while, or until loops.\n"
"    \n"
"    Exit a FOR, WHILE or UNTIL loop.  If N is specified, break N enclosing\n"
"    loops.\n"
"    \n"
"    Exit Status:\n"
"    The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
"Thoát khỏi vòng lặp for, while hoặc until.\n"
"\n"
"    Thoát khỏi vòng lặp for, while hoặc until. Nếu xác định N thì\n"
"    thoát N vòng lặp.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trạng thái thoát là 0 trừ khi N nhỏ hơn 1."

#: builtins.c:340
msgid ""
"Resume for, while, or until loops.\n"
"    \n"
"    Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
"    If N is specified, resumes the Nth enclosing loop.\n"
"    \n"
"    Exit Status:\n"
"    The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
"Tiếp tục lại chạy vòng lặp for, while hoặc until.\n"
"\n"
"    Tiếp tục lại chạy vòng lặp for, while hoặc until. Nếu xác định N\n"
"    thì tiếp tục vòng lặp thứ N.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trạng thái thoát là 0 trừ khi N nhỏ hơn 1."

#: builtins.c:352
msgid ""
"Execute shell builtins.\n"
"    \n"
"    Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
"    lookup.  This is useful when you wish to reimplement a shell builtin\n"
"    as a shell function, but need to execute the builtin within the "
"function.\n"
"    \n"
"    Exit Status:\n"
"    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
"    not a shell builtin.."
msgstr ""
"Chạy lệnh dựng sẵn hệ vỏ.\n"
"\n"
"    Chạy SHELL-BUILTIN với ĐỐI-SỐ mà không thực hiện tìm lệnh. Hữu ích\n"
"    khi bạn muốn cài đặt lại lệnh hệ vỏ dựng sẵn dạng hàm hệ vỏ, nhưng\n"
"    cần chạy lệnh dựng sẵn trong hàm đó.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái thoát của SHELL-BUILTIN, hoặc sai nếu\n"
"    SHELL-BUILTIN không phải là một lệnh dựng sẵn hệ vỏ."

#: builtins.c:367
msgid ""
"Return the context of the current subroutine call.\n"
"    \n"
"    Without EXPR, returns \"$line $filename\".  With EXPR, returns\n"
"    \"$line $subroutine $filename\"; this extra information can be used to\n"
"    provide a stack trace.\n"
"    \n"
"    The value of EXPR indicates how many call frames to go back before the\n"
"    current one; the top frame is frame 0.\n"
"    \n"
"    Exit Status:\n"
"    Returns 0 unless the shell is not executing a shell function or EXPR\n"
"    is invalid."
msgstr ""
"Trả về ngữ cảnh của lệnh gọi hàm hiện thời.\n"
"\n"
"    Không có BTHỨC thì trả lại \"$line $filename\".  Có BTHỨC thì trả\n"
"    lại \"$line $subroutine $filename\"; thông tin bổ sung này có thể\n"
"    được dùng để cung cấp stack trace.\n"
"\n"
"    Giá trị của BTHỨC thì ngụ ý bao nhiêu lần gọi cần lùi lại đằng\n"
"    trước lệnh gọi hiện tại; khung gọi đầu là khung 0.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại 0 trừ khi hệ vỏ đang chạy hàm hệ vỏ, BTHỨC cũng hợp lệ."

#: builtins.c:385
msgid ""
"Change the shell working directory.\n"
"    \n"
"    Change the current directory to DIR.  The default DIR is the value of "
"the\n"
"    HOME shell variable.\n"
"    \n"
"    The variable CDPATH defines the search path for the directory "
"containing\n"
"    DIR.  Alternative directory names in CDPATH are separated by a colon "
"(:).\n"
"    A null directory name is the same as the current directory.  If DIR "
"begins\n"
"    with a slash (/), then CDPATH is not used.\n"
"    \n"
"    If the directory is not found, and the shell option `cdable_vars' is "
"set,\n"
"    the word is assumed to be  a variable name.  If that variable has a "
"value,\n"
"    its value is used for DIR.\n"
"    \n"
"    Options:\n"
"        -L\tforce symbolic links to be followed: resolve symbolic links in\n"
"    \tDIR after processing instances of `..'\n"
"        -P\tuse the physical directory structure without following symbolic\n"
"    \tlinks: resolve symbolic links in DIR before processing instances\n"
"    \tof `..'\n"
"        -e\tif the -P option is supplied, and the current working directory\n"
"    \tcannot be determined successfully, exit with a non-zero status\n"
"        -@  on systems that support it, present a file with extended "
"attributes\n"
"            as a directory containing the file attributes\n"
"    \n"
"    The default is to follow symbolic links, as if `-L' were specified.\n"
"    `..' is processed by removing the immediately previous pathname "
"component\n"
"    back to a slash or the beginning of DIR.\n"
"    \n"
"    Exit Status:\n"
"    Returns 0 if the directory is changed, and if $PWD is set successfully "
"when\n"
"    -P is used; non-zero otherwise."
msgstr ""
"Đổi thư mục làm việc của hệ vỏ.\n"
"    \n"
"    Chuyển đổi thư mục hiện thời sang THƯ-MỤC. Thư mục mặc định là giá\n"
"    trị của biến HOME.\n"
"    \n"
"    Biến CDPATH xác định đường dẫn tìm kiếm cho thư mục chứa\n"
"    THƯ-MỤC. Tên thư mục trong CDPATH được phân cách bằng dấu hai chấm\n"
"    (:).  Tên thư mục trống tương đương với thư mục hiện tại. Nếu\n"
"    THƯ-MỤC bắt đầu với dấu gạch chéo (/) thì không dùng CDPATH.\n"
"    \n"
"    Nếu không tìm thấy thư mục, và biến “cdable_vars” được đặt,\n"
"    thì lệnh sẽ coi là một tên biến. Nếu biến đó có giá trị,\n"
"    thì giá trị này được dùng cho THƯ-MỤC.\n"
"    \n"
"    Tùy chọn:\n"
"        -L  buộc theo liên kết mềm: phân giải liên kết mềm\n"
"           \tTH.MỤC sau khi xử lý “..”\n"
"        -P  dùng cấu trúc thư mục vật lý mà không theo liên kết mềm:\n"
"           \tphân giải liên kết mềm TH.MỤC sau khi xử lý “..”\n"
"        -e  nếu có tùy chọn -P và không thể xác định thư mục làm việc\n"
"          \thiện tại thì thoát với trạng thái khác không\n"
"        -@  trên các hệ thống mà hỗ trợ nó, hiện diện một tập tin với các "
"thuộc tính mở rộng\n"
"            như là một thư mục chứa các thuộc tính tập tin\n"
"    \n"
"    Mặc định là theo liên kết mềm, như có mặt tùy chọn “-L”.\n"
"    “..” được xử lý bằng cách gỡ bỏ phần trước của đường dẫn\n"
"    cho đến dấu gạch chéo hay điểm bắt đầu của TH.MỤC.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả về 0 nếu thay đổi thư mục, và nếu $PWD được đặt thành công khi\n"
"    -P được sử dụng; không thì khác không."

#: builtins.c:422
msgid ""
"Print the name of the current working directory.\n"
"    \n"
"    Options:\n"
"      -L\tprint the value of $PWD if it names the current working\n"
"    \tdirectory\n"
"      -P\tprint the physical directory, without any symbolic links\n"
"    \n"
"    By default, `pwd' behaves as if `-L' were specified.\n"
"    \n"
"    Exit Status:\n"
"    Returns 0 unless an invalid option is given or the current directory\n"
"    cannot be read."
msgstr ""
"In tên thư mục hiện tại.\n"
"    \n"
"    Tùy chọn:\n"
"      -L\tin $PWD nếu nó chứa tên của thư mục hiện tại\n"
"      -P\tin thư mục vật lý, không liên kết mềm\n"
"    \n"
"    Mặc định “pwd” chạy như có mặt “-L”.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả về 0 trừ khi đưa ra tùy chọn sai hoặc không đọc được thư mục hiện "
"tại."

#: builtins.c:439
msgid ""
"Null command.\n"
"    \n"
"    No effect; the command does nothing.\n"
"    \n"
"    Exit Status:\n"
"    Always succeeds."
msgstr ""
"Câu lệnh vô giá trị.\n"
"    \n"
"    Không có tác dụng gì: câu lệnh không làm gì cả.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Lúc nào cũng thành công."

#: builtins.c:450
msgid ""
"Return a successful result.\n"
"    \n"
"    Exit Status:\n"
"    Always succeeds."
msgstr ""
"Trả lại kết quả thành công.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Lúc nào cũng thành công."

#: builtins.c:459
msgid ""
"Return an unsuccessful result.\n"
"    \n"
"    Exit Status:\n"
"    Always fails."
msgstr ""
"Trả về kết quả không thành công.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Lúc nào cũng không thành công."

#: builtins.c:468
msgid ""
"Execute a simple command or display information about commands.\n"
"    \n"
"    Runs COMMAND with ARGS suppressing  shell function lookup, or display\n"
"    information about the specified COMMANDs.  Can be used to invoke "
"commands\n"
"    on disk when a function with the same name exists.\n"
"    \n"
"    Options:\n"
"      -p\tuse a default value for PATH that is guaranteed to find all of\n"
"    \tthe standard utilities\n"
"      -v\tprint a description of COMMAND similar to the `type' builtin\n"
"      -V\tprint a more verbose description of each COMMAND\n"
"    \n"
"    Exit Status:\n"
"    Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
"Thực thi một lệnh đơn giản, hoặc hiển thị thông tin về lệnh.\n"
"\n"
"    Chạy LỆNH với các ĐỐI-SỐ mà không thực hiện tra cứu hàm hệ vỏ,\n"
"    hoặc hiển thị thông tin về LỆNH. Có thể được dùng để gọi lệnh trên\n"
"    đĩa khi đã có hàm cùng tên.\n"
"\n"
"    Tùy chọn:\n"
"      -p\tdùng giá trị mặc định cho ĐƯỜNG_DẪN\n"
"        \tmà chắc chắn sẽ tìm mọi tiện ích chuẩn\n"
"      -v\tin mô tả về LỆNH mà tương tự như lệnh dựng sẵn “type”\n"
"      -V\tin mô tả chi tiết hơn của mỗi LỆNH\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái thoát của LỆNH, hoặc thất bại nếu không tìm\n"
"    thấy LỆNH."

#: builtins.c:487
msgid ""
"Set variable values and attributes.\n"
"    \n"
"    Declare variables and give them attributes.  If no NAMEs are given,\n"
"    display the attributes and values of all variables.\n"
"    \n"
"    Options:\n"
"      -f\trestrict action or display to function names and definitions\n"
"      -F\trestrict display to function names only (plus line number and\n"
"    \tsource file when debugging)\n"
"      -g\tcreate global variables when used in a shell function; otherwise\n"
"    \tignored\n"
"      -p\tdisplay the attributes and value of each NAME\n"
"    \n"
"    Options which set attributes:\n"
"      -a\tto make NAMEs indexed arrays (if supported)\n"
"      -A\tto make NAMEs associative arrays (if supported)\n"
"      -i\tto make NAMEs have the `integer' attribute\n"
"      -l\tto convert NAMEs to lower case on assignment\n"
"      -n\tmake NAME a reference to the variable named by its value\n"
"      -r\tto make NAMEs readonly\n"
"      -t\tto make NAMEs have the `trace' attribute\n"
"      -u\tto convert NAMEs to upper case on assignment\n"
"      -x\tto make NAMEs export\n"
"    \n"
"    Using `+' instead of `-' turns off the given attribute.\n"
"    \n"
"    Variables with the integer attribute have arithmetic evaluation (see\n"
"    the `let' command) performed when the variable is assigned a value.\n"
"    \n"
"    When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
"    command.  The `-g' option suppresses this behavior.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or a variable\n"
"    assignment error occurs."
msgstr ""
"Đặt giá trị và thuộc tính biến.\n"
"    \n"
"    Khai báo biến và gán cho thuộc tính cho nó. Nếu không đưa TÊN thì\n"
"    hiển thị thuộc tính và giá trị của mọi biến.\n"
"    \n"
"    Tùy chọn:\n"
"      -f\thạn chế hành động hoặc hiển thị chỉ tên hàm và định nghĩa\n"
"      -F\thạn chế hiển thị chỉ tên hàm mà thôi\n"
"        \t(và số thứ tự dòng và tập tin nguồn khi gỡ lỗi)\n"
"      -g\ttạo biến toàn cục khi sử dụng trong hàm hệ vỏ; nếu không\n"
"        \tthì bị bỏ qua\n"
"      -p\thiển thị thuộc tính và giá trị của mỗi TÊN\n"
"    \n"
"    Tùy chọn dùng để đặt thuộc tính:\n"
"      -a\ttạo mảng chỉ số tên TÊN (nếu hỗ trợ)\n"
"      -A\ttạo mảng kết hợp tên TÊN (nếu hỗ trợ)\n"
"      -i\tđặt thuộc tính “integer” (số nguyên) cho TÊN\n"
"      -l\tchuyển đổi TÊN sang chữ thường khi gán\n"
"      -n\tlàm một TÊN tham chiếu đến biến có tên là giá trị của nó\n"
"      -r\tlàm cho TÊN chỉ đọc\n"
"      -t\tđặt thuộc tính “trace” cho TÊN\n"
"      -u\tchuyển đổi TÊN sang chữ hoa khi gán\n"
"      -x\txuất khẩu TÊN\n"
"    \n"
"    Dùng “+” thay cho “-” để tắt thuộc tính đưa ra.\n"
"    \n"
"    Biến có thuộc tính số nguyên thì định giá theo số học (xem lệnh\n"
"    “let”. khi biến được gán.\n"
"    \n"
"    Khi dùng trong hàm, “declare” đặt TÊN là cục bộ, như khi dùng lệnh\n"
"    “local” (cục bộ). Tùy chọn -g ngăn hành vi này.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ khi đưa ra tùy chọn sai hoặc gặp lỗi."

#: builtins.c:527
msgid ""
"Set variable values and attributes.\n"
"    \n"
"    Obsolete.  See `help declare'."
msgstr ""
"Đặt giá trị và thuộc tính của biến.\n"
"\n"
"    Lệnh này đã lạc hậu. Xem “help declare”."

#: builtins.c:535
msgid ""
"Define local variables.\n"
"    \n"
"    Create a local variable called NAME, and give it VALUE.  OPTION can\n"
"    be any option accepted by `declare'.\n"
"    \n"
"    Local variables can only be used within a function; they are visible\n"
"    only to the function where they are defined and its children.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied, a variable\n"
"    assignment error occurs, or the shell is not executing a function."
msgstr ""
"Định nghĩa biến cục bộ.\n"
"    \n"
"    Tạo biến cục bộ tên TÊN và gán GIÁ-TRỊ cho nó. TÙY_CHỌN có thể là\n"
"    bất cứ tùy chọn nào “declare” chấp nhận.\n"
"    \n"
"    Biến cục bộ chỉ dùng được bên trong hàm, chỉ truy cập được từ hàm\n"
"    mà biến được định nghĩa và các hàm con.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ khi đưa ra tùy chọn sai hay gặp lỗi,\n"
"    hoặc nếu hệ vỏ không chạy hàm."

#: builtins.c:552
msgid ""
"Write arguments to the standard output.\n"
"    \n"
"    Display the ARGs, separated by a single space character and followed by "
"a\n"
"    newline, on the standard output.\n"
"    \n"
"    Options:\n"
"      -n\tdo not append a newline\n"
"      -e\tenable interpretation of the following backslash escapes\n"
"      -E\texplicitly suppress interpretation of backslash escapes\n"
"    \n"
"    `echo' interprets the following backslash-escaped characters:\n"
"      \\a\talert (bell)\n"
"      \\b\tbackspace\n"
"      \\c\tsuppress further output\n"
"      \\e\tescape character\n"
"      \\E\tescape character\n"
"      \\f\tform feed\n"
"      \\n\tnew line\n"
"      \\r\tcarriage return\n"
"      \\t\thorizontal tab\n"
"      \\v\tvertical tab\n"
"      \\\\\tbackslash\n"
"      \\0nnn\tthe character whose ASCII code is NNN (octal).  NNN can be\n"
"    \t0 to 3 octal digits\n"
"      \\xHH\tthe eight-bit character whose value is HH (hexadecimal).  HH\n"
"    \tcan be one or two hex digits\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless a write error occurs."
msgstr ""
"Ghi đối số vào đầu ra tiêu chuẩn.\n"
"   \n"
"    Hiển thị các ĐỐI-SỐ ra đầu ra tiêu chuẩn, kèm ký tự xuống hàng ở cuối.\n"
"   \n"
"    Tùy chọn:\n"
"      -n\tđừng thêm ký tự xuống hàng\n"
"      -e\tbật diễn dịch ký tự thoát theo sau ký tự “\\”\n"
"      -E\tchặn diễn dịch ký tự thoát\n"
"    \n"
"    “echo” hiểu những ký tự thoát sau:\n"
"      \\a\ttiếng chuông\n"
"      \\b\txoá lùi\n"
"      \\c\tchặn kết xuất tiếp\n"
"      \\e\tký tự thoát\n"
"      \\E\tký tự thoát\n"
"      \\f\tnạp giấy\n"
"      \\n\tdòng mới\n"
"      \\r\txuống dòng\n"
"      \\t\ttab đứng\n"
"      \\v\ttab ngang\n"
"      \\\\\tgạch ngược\n"
"      \\0nnn\tký tự có mã ASCII NNN (1-3 chữ số bát phân)\n"
"      \\xHH\tký tự 8-bit có giá trị HH (1-2 chữ số thập lục phân)\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không gặp lỗi khi ghi."

#: builtins.c:588
msgid ""
"Write arguments to the standard output.\n"
"    \n"
"    Display the ARGs on the standard output followed by a newline.\n"
"    \n"
"    Options:\n"
"      -n\tdo not append a newline\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless a write error occurs."
msgstr ""
"Ghi đối số vào đầu ra chuẩn.\n"
"\n"
"    Hiển thị ĐỐI-SỐ trên đầu ra chuẩn, kèm ký tự xuống hàng ở cuối.\n"
"\n"
"    Tùy chọn:\n"
"      -n\tđừng thêm ký tự xuống hàng\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không gặp lỗi ghi."

#: builtins.c:603
msgid ""
"Enable and disable shell builtins.\n"
"    \n"
"    Enables and disables builtin shell commands.  Disabling allows you to\n"
"    execute a disk command which has the same name as a shell builtin\n"
"    without using a full pathname.\n"
"    \n"
"    Options:\n"
"      -a\tprint a list of builtins showing whether or not each is enabled\n"
"      -n\tdisable each NAME or display a list of disabled builtins\n"
"      -p\tprint the list of builtins in a reusable format\n"
"      -s\tprint only the names of Posix `special' builtins\n"
"    \n"
"    Options controlling dynamic loading:\n"
"      -f\tLoad builtin NAME from shared object FILENAME\n"
"      -d\tRemove a builtin loaded with -f\n"
"    \n"
"    Without options, each NAME is enabled.\n"
"    \n"
"    To use the `test' found in $PATH instead of the shell builtin\n"
"    version, type `enable -n test'.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
"Bật và tắt lệnh hệ vỏ dựng sẵn.\n"
"\n"
"    Bật và tắt các lệnh hệ vỏ dựng sẵn. Chức năng tắt cho phép bạn\n"
"    chạy một lệnh trên đĩa cùng tên với một lệnh hệ vỏ dựng sẵn mà\n"
"    không cần dùng tên đường dẫn đầy đủ.\n"
"\n"
"    Tùy chọn:\n"
"      -a    in danh sách các lệnh dựng sẵn kèm trạng thái bật/tắt\n"
"      -n    tắt TÊN hoặc hiển thị danh sách lệnh bị tắt\n"
"      -p    in danh sách lệnh dựng sẵn theo định dạng dùng lại được\n"
"      -s    chỉ in tên các lệnh dựng sẵn Posix “đặc biệt”\n"
"\n"
"    Tùy chọn điều khiển chức năng nạp động:\n"
"      -f    nạp lệnh dựng sẵn TÊN từ TẬP-TIN\n"
"      -d    bỏ một dựng sẵn được nạp bằng “-f”\n"
"\n"
"    Không có tùy chọn thì coi như bật TÊN.\n"
"\n"
"    Để sử dụng lệnh “test” trên đĩa (nếu tìm thấy trong $PATH) thay\n"
"    cho phiên bản hệ vỏ dựng sẵn, gõ “enable -n test”.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ khi TÊN không phải lệnh dựng sẵn hoặc gặp lỗi."

#: builtins.c:631
msgid ""
"Execute arguments as a shell command.\n"
"    \n"
"    Combine ARGs into a single string, use the result as input to the "
"shell,\n"
"    and execute the resulting commands.\n"
"    \n"
"    Exit Status:\n"
"    Returns exit status of command or success if command is null."
msgstr ""
"Dùng các đối số để chạy lệnh hệ vỏ.\n"
"\n"
"    Gộp các ĐỐI-SỐ thành một chuỗi đơn, dùng kết quả làm đầu vào cho\n"
"    hệ vỏ và chạy lệnh đó.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái thoát của câu lệnh hay thành công nếu lệnh rỗng."

#: builtins.c:643
msgid ""
"Parse option arguments.\n"
"    \n"
"    Getopts is used by shell procedures to parse positional parameters\n"
"    as options.\n"
"    \n"
"    OPTSTRING contains the option letters to be recognized; if a letter\n"
"    is followed by a colon, the option is expected to have an argument,\n"
"    which should be separated from it by white space.\n"
"    \n"
"    Each time it is invoked, getopts will place the next option in the\n"
"    shell variable $name, initializing name if it does not exist, and\n"
"    the index of the next argument to be processed into the shell\n"
"    variable OPTIND.  OPTIND is initialized to 1 each time the shell or\n"
"    a shell script is invoked.  When an option requires an argument,\n"
"    getopts places that argument into the shell variable OPTARG.\n"
"    \n"
"    getopts reports errors in one of two ways.  If the first character\n"
"    of OPTSTRING is a colon, getopts uses silent error reporting.  In\n"
"    this mode, no error messages are printed.  If an invalid option is\n"
"    seen, getopts places the option character found into OPTARG.  If a\n"
"    required argument is not found, getopts places a ':' into NAME and\n"
"    sets OPTARG to the option character found.  If getopts is not in\n"
"    silent mode, and an invalid option is seen, getopts places '?' into\n"
"    NAME and unsets OPTARG.  If a required argument is not found, a '?'\n"
"    is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
"    printed.\n"
"    \n"
"    If the shell variable OPTERR has the value 0, getopts disables the\n"
"    printing of error messages, even if the first character of\n"
"    OPTSTRING is not a colon.  OPTERR has the value 1 by default.\n"
"    \n"
"    Getopts normally parses the positional parameters ($0 - $9), but if\n"
"    more arguments are given, they are parsed instead.\n"
"    \n"
"    Exit Status:\n"
"    Returns success if an option is found; fails if the end of options is\n"
"    encountered or an error occurs."
msgstr ""
"Phân tích đối số tùy chọn.\n"
"\n"
"    Getopts được hệ vỏ dùng để phân tích tham số thành tuỳ chọn.\n"
"\n"
"    CHUỖI-TUỲ-CHỌN chứa những chữ tùy chọn cần nhận ra; một chữ có dấu hai\n"
"    chấm theo sau thì tùy chọn cần đối số, cách tuỳ chọn bằng khoảng\n"
"    trắng.\n"
"\n"
"    Mỗi lần gọi, getopts sẽ đặt tùy chọn kế tiếp vào biến hệ vỏ $TÊN,\n"
"    tạo biến mới nếu tên đó chưa tồn tại, và đặt chỉ số của đối số kế\n"
"    tiếp cần xử lý vào biến hệ vỏ OPTIND. OPTIND được khởi động bằng 1\n"
"    mỗi lần hệ vỏ hay một văn lệnh hệ vỏ được gọi. Khi tùy chọn cần\n"
"    đối số, getopts đặt đối số đó vào biến hệ vỏ OPTARG.\n"
"\n"
"    getopts thông báo lỗi bằng một trong hai cách. Nếu ký tự đầu tiên\n"
"    của CHUỖI-TUỲ-CHỌN là dấu hai chấm, getopts thông báo lỗi im\n"
"    lặng. Chế độ này không in ra thông báo nào. Nếu gặp tùy chọn sai\n"
"    thì getopts lưu mã ký tự tuỳ chọn trong biến OPTARG. Không tìm\n"
"    thấy đối số cần thiết thì getopts lưu dấu hai chấm trong biến $TÊN\n"
"    và đặt lưu mã ký tự tuỳ chọn trong OPTARG. Nếu getopts không trong\n"
"    chế độ im lặng và gặp tùy chọn sai, getopts lưu dấu hỏi “?”  vào\n"
"    biến $TÊN và xoá OPTARG. Không tìm thấy tùy chọn cần thiết thì “?”\n"
"    được lưu vào $TÊN, OPTARG bị xlá, và in ra một thông điệp chẩn\n"
"    đoán.\n"
"\n"
"    Nếu biến hệ vỏ OPTERR có giá trị 0, getopts sẽ không in thông báo\n"
"    kể cả khi ký tự đầu tiên của CHUỖI-TUỲ-CHỌN không phải dấu hai\n"
"    chấm. OPTERR có giá trị mặc định là 1.\n"
"\n"
"    Getopts bình thường phân tích tham số vị trí ($0 - $9). Tuy nhiên,\n"
"    các đối số bổ sung cũng được phân tích.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu tìm thấy một tùy chọn; không thành công nếu\n"
"    gặp kết thúc các tùy chọn, hoặc nếu gặp lỗi."

#: builtins.c:685
msgid ""
"Replace the shell with the given command.\n"
"    \n"
"    Execute COMMAND, replacing this shell with the specified program.\n"
"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not "
"specified,\n"
"    any redirections take effect in the current shell.\n"
"    \n"
"    Options:\n"
"      -a name\tpass NAME as the zeroth argument to COMMAND\n"
"      -c\t\texecute COMMAND with an empty environment\n"
"      -l\t\tplace a dash in the zeroth argument to COMMAND\n"
"    \n"
"    If the command cannot be executed, a non-interactive shell exits, "
"unless\n"
"    the shell option `execfail' is set.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless COMMAND is not found or a redirection error "
"occurs."
msgstr ""
"Thay thế hệ vỏ bằng câu lệnh đưa ra.\n"
"\n"
"    Thực thi LỆNH, thay thế hệ vỏ này bằng chương trình được chạy.\n"
"    ĐỐI-SỐ là đối số của LỆNH. Không xác định LỆNH thì bất cứ chuyển\n"
"    hướng nào sẽ xảy ra trong hệ vỏ đang chạy.\n"
"\n"
"    Tùy chọn:\n"
"      -a TÊN\ttruyền TÊN cho LỆNH dạng đối số thứ không\n"
"      -c\tthực thi LỆNH với một môi trường rỗng\n"
"      -l\tđặt một dấu gạch vào đối số thứ không của LỆNH\n"
"\n"
"    Nếu LỆNH không thể thực thi, hệ vỏ không tương tác sẽ thoát, trừ\n"
"    khi đặt tùy chọn hệ vỏ “execfail”.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ khi không tìm được LỆNH hoặc gặp lỗi chuyển hướng."

#: builtins.c:706
msgid ""
"Exit the shell.\n"
"    \n"
"    Exits the shell with a status of N.  If N is omitted, the exit status\n"
"    is that of the last command executed."
msgstr ""
"Thoát hệ vỏ.\n"
"\n"
"    Thoát khỏi hệ vỏ với trạng thái N. Không xác định N thì trạng thái\n"
"    thoát là trạng thái của lệnh cuối cùng được chạy."

#: builtins.c:715
msgid ""
"Exit a login shell.\n"
"    \n"
"    Exits a login shell with exit status N.  Returns an error if not "
"executed\n"
"    in a login shell."
msgstr ""
"Thoát hệ vỏ đăng nhập.\n"
"\n"
"   Thoát khỏi hệ vỏ đăng nhập với trạng thái N. Trả về lỗi nếu không\n"
"   phải hệ vỏ đăng nhập."

#: builtins.c:725
msgid ""
"Display or execute commands from the history list.\n"
"    \n"
"    fc is used to list or edit and re-execute commands from the history "
"list.\n"
"    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
"    string, which means the most recent command beginning with that\n"
"    string.\n"
"    \n"
"    Options:\n"
"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then "
"EDITOR,\n"
"    \t\tthen vi\n"
"      -l \tlist lines instead of editing\n"
"      -n\tomit line numbers when listing\n"
"      -r\treverse the order of the lines (newest listed first)\n"
"    \n"
"    With the `fc -s [pat=rep ...] [command]' format, COMMAND is\n"
"    re-executed after the substitution OLD=NEW is performed.\n"
"    \n"
"    A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
"    runs the last command beginning with `cc' and typing `r' re-executes\n"
"    the last command.\n"
"    \n"
"    Exit Status:\n"
"    Returns success or status of executed command; non-zero if an error "
"occurs."
msgstr ""
"Hiển thị hoặc thực thi lệnh từ lịch sử.\n"
"\n"
"    fc được dùng để liệt kê, chỉnh sửa và thực thi lại lệnh từ danh\n"
"    sách lịch sử. ĐẦU và CUỐI có thể là số xác định phạm vi, hoặc ĐẦU\n"
"    có thể là chuỗi chứa phần đầu lệnh chạy gần đây nhất.\n"
"\n"
"    Tùy chọn:\n"
"      -e ENAME\tchọn trình soạn thảo nào cần dùng.\n"
"        \tMặc định là FCEDIT, rồi EDITOR, rồi vi\n"
"      -l\tliệt kê thay vì chỉnh sửa\n"
"      -n\tliệt kê không in số thứ tự dòng\n"
"      -r\tđảo ngược thứ tự các dòng (mới nhất trước)\n"
"\n"
"    Định dạng “fc -s [mẫu=lần_lập_lại ...] [lệnh]” được dùng để chạy\n"
"    lại lệnh sau khi thay thế CŨ=MỚI.\n"
"\n"
"    Một bí danh hữu ích là r='.c -s' để có thể gõ “r cc” để chạy lệnh\n"
"    cuối cùng bắt đầu bằng “cc” và gõ “r” để chạy lại lệnh cuối.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công hay trạng thái của câu lệnh được thực thi; gặp\n"
"    lỗi thì khác số không."

#: builtins.c:755
msgid ""
"Move job to the foreground.\n"
"    \n"
"    Place the job identified by JOB_SPEC in the foreground, making it the\n"
"    current job.  If JOB_SPEC is not present, the shell's notion of the\n"
"    current job is used.\n"
"    \n"
"    Exit Status:\n"
"    Status of command placed in foreground, or failure if an error occurs."
msgstr ""
"Nâng công việc nền lên trước.\n"
"\n"
"    Nâng lên trước công việc được xác định bởi đặc tả công việc ĐTCV\n"
"    làm công việc hiện thời. Không có ĐTCV thì dùng công việc hiện\n"
"    thời của hệ vỏ.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trạng thái của câu lệnh được nâng lên trước; hoặc thất bại nếu xảy\n"
"    ra lỗi."

#: builtins.c:770
msgid ""
"Move jobs to the background.\n"
"    \n"
"    Place the jobs identified by each JOB_SPEC in the background, as if "
"they\n"
"    had been started with `&'.  If JOB_SPEC is not present, the shell's "
"notion\n"
"    of the current job is used.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless job control is not enabled or an error occurs."
msgstr ""
"Chuyển công việc xuống chạy nền.\n"
"\n"
"    Chuyển công việc xác định theo đặc tả công việc ĐTCV sang chạy\n"
"    nền, như thể lệnh được chạy với “&”. Nếu không có ĐTCV, dùng công\n"
"    việc hiện thời của hệ vỏ.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu chức năng điều khiển công việc được bật và\n"
"    không gặp lỗi."

#: builtins.c:784
msgid ""
"Remember or display program locations.\n"
"    \n"
"    Determine and remember the full pathname of each command NAME.  If\n"
"    no arguments are given, information about remembered commands is "
"displayed.\n"
"    \n"
"    Options:\n"
"      -d\t\tforget the remembered location of each NAME\n"
"      -l\t\tdisplay in a format that may be reused as input\n"
"      -p pathname\tuse PATHNAME as the full pathname of NAME\n"
"      -r\t\tforget all remembered locations\n"
"      -t\t\tprint the remembered location of each NAME, preceding\n"
"    \t\teach location with the corresponding NAME if multiple\n"
"    \t\tNAMEs are given\n"
"    Arguments:\n"
"      NAME\t\tEach NAME is searched for in $PATH and added to the list\n"
"    \t\tof remembered commands.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless NAME is not found or an invalid option is given."
msgstr ""
"Nhớ hoặc hiển thị vị trí chương trình.\n"
"\n"
"    Xác định và ghi nhớ tên đường dẫn đầy đủ của mỗi TÊN câu lệnh.\n"
"    Nếu không đưa ra đối số, hiển thị thông tin về các câu lệnh được\n"
"    ghi nhớ.\n"
"\n"
"    Tùy chọn:\n"
"      -d\t\tquên vị trí đã nhớ của TÊN\n"
"      -l\t\thiển thị theo định dạng dùng lại làm đầu vào được\n"
"      -p\tTÊN_ĐƯỜNG_DẪN\tdùng TÊN_ĐƯỜNG_DẪN là tên đường dẫn đầy đủ của TÊN\n"
"      -r\t\tquên mọi vị trí đã nhớ\n"
"      -t\t\tin vị trí đã nhớ của TÊN, in tên trước vị\n"
"               trí nếu TÊN tương ứng với nhiều vị trí\n"
"\n"
"    Đối số:\n"
"      TÊN\t\tmỗi TÊN được tìm trong $PATH và được thêm vào\n"
"        \t\tdanh sách các câu lệnh được ghi nhớ.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu tìm được TÊN và không đưa ra tùy chọn sai."

#: builtins.c:809
msgid ""
"Display information about builtin commands.\n"
"    \n"
"    Displays brief summaries of builtin commands.  If PATTERN is\n"
"    specified, gives detailed help on all commands matching PATTERN,\n"
"    otherwise the list of help topics is printed.\n"
"    \n"
"    Options:\n"
"      -d\toutput short description for each topic\n"
"      -m\tdisplay usage in pseudo-manpage format\n"
"      -s\toutput only a short usage synopsis for each topic matching\n"
"    \tPATTERN\n"
"    \n"
"    Arguments:\n"
"      PATTERN\tPattern specifiying a help topic\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless PATTERN is not found or an invalid option is "
"given."
msgstr ""
"Hiển thị thông tin về lệnh dựng sẵn.\n"
"\n"
"    Hiển thị bản tóm tắt ngắn về các câu lệnh dựng sẵn.  Nếu cũng ghi\n"
"    rõ MẪU thì in ra trợ giúp chi tiết về tất cả các câu lệnh tương\n"
"    ứng với mẫu đó ; không thì in ra danh sách các chủ đề trợ giúp.\n"
"\n"
"    Tùy chọn:\n"
"      -d\txuất mô tả ngắn về mỗi chủ đề\n"
"      -m\thiệnn cách dùng theo định dạng trang hướng dẫn (man)\n"
"      -s\txuất chỉ một bản tóm tắt cách dìng cho mỗi\n"
"        \tchủ đề tương ứng với MẪU\n"
"\n"
"    Đối số:\n"
"      MẪU\tmẫu các định một chủ đề trợ giúp\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu tìm được MẪU và không đưa ra tùy chọn sai."

#: builtins.c:833
msgid ""
"Display or manipulate the history list.\n"
"    \n"
"    Display the history list with line numbers, prefixing each modified\n"
"    entry with a `*'.  An argument of N lists only the last N entries.\n"
"    \n"
"    Options:\n"
"      -c\tclear the history list by deleting all of the entries\n"
"      -d offset\tdelete the history entry at offset OFFSET.\n"
"    \n"
"      -a\tappend history lines from this session to the history file\n"
"      -n\tread all history lines not already read from the history file\n"
"      -r\tread the history file and append the contents to the history\n"
"    \tlist\n"
"      -w\twrite the current history to the history file\n"
"    \tand append them to the history list\n"
"    \n"
"      -p\tperform history expansion on each ARG and display the result\n"
"    \twithout storing it in the history list\n"
"      -s\tappend the ARGs to the history list as a single entry\n"
"    \n"
"    If FILENAME is given, it is used as the history file.  Otherwise,\n"
"    if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
"    \n"
"    If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
"    as a format string for strftime(3) to print the time stamp associated\n"
"    with each displayed history entry.  No time stamps are printed "
"otherwise.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or an error occurs."
msgstr ""
"Hiển thị hoặc thao tác danh sách lịch sử.\n"
"\n"
"    Hiển thị danh sách lịch sử kèm số dòng, “*” ở đầu dòng cho các mục\n"
"    nhập bị sửa đổi. Đối số N thì liệt kê chỉ N mục tin cuối cùng.\n"
"\n"
"    Tùy chọn:\n"
"      -c\txoá sạch danh sách lịch sử bằng cách xoá mọi mục tin\n"
"      -d offset\txoá mục tin lịch sử ở vị trí tương đối này\n"
"\n"
"      -a\tnối đuôi lịch sử từ phiên làm việc này vào tập tin\n"
"        \tlịch sử.\n"
"      -n\tđọc mọi dòng lịch sử chưa đọc từ tập tin lịch sử\n"
"      -r\tđọc tập tin lịch sử và nối thêm vào danh sách lịch sử\n"
"      -w\tghi lịch sử hiện thời vào tập tin lịch sử,\n"
"        \tvào nối đuôi vào danh sách lịch sử\n"
"\n"
"      -p\tkhai triển lịch sử với mỗi ĐỐI-SỐ và hiển thị kết quả\n"
"        \tmà không lưu vào danh sách lịch sử\n"
"      -s\tnối đuôi ĐỐI-SỐ vào danh sách lịch sử làm một mục đơn\n"
"\n"
"    Nếu có TẬP-TIN thì nó được dùng làm tập tin lịch sử. Ngược\n"
"    lại, nếu $HISTFILE có giá trị thì dùng; nếu $HISTFILE không có giá\n"
"    trị thì dùng “~/.bash_history”.\n"
"\n"
"    Nếu biến $HISTTIMEFORMAT đã được đặt và khác rỗng, giá trị đó được\n"
"    dùng làm chuỗi định dạng cho strftime(3) để in nhãn thời gian\n"
"    tương ứng với mỗi mục tin lịch sử được hiển thị. Ngược lại không\n"
"    in nhãn thời gian.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không gặp tùy chọn sai hay gặp lỗi."

#: builtins.c:869
#, fuzzy
msgid ""
"Display status of jobs.\n"
"    \n"
"    Lists the active jobs.  JOBSPEC restricts output to that job.\n"
"    Without options, the status of all active jobs is displayed.\n"
"    \n"
"    Options:\n"
"      -l\tlists process IDs in addition to the normal information\n"
"      -n\tlists only processes that have changed status since the last\n"
"    \tnotification\n"
"      -p\tlists process IDs only\n"
"      -r\trestrict output to running jobs\n"
"      -s\trestrict output to stopped jobs\n"
"    \n"
"    If -x is supplied, COMMAND is run after all job specifications that\n"
"    appear in ARGS have been replaced with the process ID of that job's\n"
"    process group leader.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or an error occurs.\n"
"    If -x is used, returns the exit status of COMMAND."
msgstr ""
"Hiển thị trạng thái của công việc.\n"
"\n"
"    Liệt kê các công việc đang chạy. Đặc tả công việc ĐTCV hạn chế chỉ\n"
"    hiện công việc đó thôi. Không có tùy chọn thì hiển thị trạng thái\n"
"    của mọi công việc đang chạy.\n"
"\n"
"    Tùy chọn:\n"
"      -l\tliệt kê mã số tiến trình ngoài thông tin bình thường\n"
"      -n\tliệt kê chỉ những tiến trình đã thay đổi trạng thái\n"
"        \tkể từ lần thông báo cuối cùng\n"
"      -s\tchỉ hiện những công việc đang dừng chạy\n"
"\n"
"    Nếu có “-x” thì chạy LỆNH sau khi thay thế tất cả đặc tả công việc\n"
"    trên đối số bằng mã tiến trình của trình dẫn đầu nhóm tiến trình\n"
"    của công việc đó.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không gặp tùy chọn sai hay gặp lỗi.\n"
"    Đưa ra “-x” thì trả lại trạng thái thoát của LỆNH."

#: builtins.c:896
msgid ""
"Remove jobs from current shell.\n"
"    \n"
"    Removes each JOBSPEC argument from the table of active jobs.  Without\n"
"    any JOBSPECs, the shell uses its notion of the current job.\n"
"    \n"
"    Options:\n"
"      -a\tremove all jobs if JOBSPEC is not supplied\n"
"      -h\tmark each JOBSPEC so that SIGHUP is not sent to the job if the\n"
"    \tshell receives a SIGHUP\n"
"      -r\tremove only running jobs\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
"Bỏ công việc khỏi hệ vỏ đang chạy.\n"
"\n"
"    Gỡ bỏ công việc xác định bởi đặc tả công việc ĐTCV. Không có đối\n"
"    số thì dùng công việc hiện thời của hệ vỏ.\n"
"\n"
"    Tùy chọn:\n"
"      -a\tbỏ mọi công việc nếu không có ĐTCV\n"
"      -h\tđánh dấu ĐTCV để không gửi tín hiệu SIGHUP\n"
"        \tcho công việc khi hệ vỏ nhận được SIGHUP\n"
"      -r\tchỉ bỏ những công việc đang chạy\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra tùy chọn sai hay\n"
"    ĐTCV sai."

#: builtins.c:915
msgid ""
"Send a signal to a job.\n"
"    \n"
"    Send the processes identified by PID or JOBSPEC the signal named by\n"
"    SIGSPEC or SIGNUM.  If neither SIGSPEC nor SIGNUM is present, then\n"
"    SIGTERM is assumed.\n"
"    \n"
"    Options:\n"
"      -s sig\tSIG is a signal name\n"
"      -n sig\tSIG is a signal number\n"
"      -l\tlist the signal names; if arguments follow `-l' they are\n"
"    \tassumed to be signal numbers for which names should be listed\n"
"    \n"
"    Kill is a shell builtin for two reasons: it allows job IDs to be used\n"
"    instead of process IDs, and allows processes to be killed if the limit\n"
"    on processes that you can create is reached.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or an error occurs."
msgstr ""
"Gửi tín hiệu cho công việc.\n"
"\n"
"    Gửi tín hiệu xác định bởi SIGSPEC hoặc SIGNUM cho những tiến trình\n"
"    xác định bởi PID hoặc JOBSPEC. Nếu không xác định cả SIGSPEC và\n"
"    SIGNUM thì ngầm định SIGTERM.\n"
"\n"
"    Tùy chọn:\n"
"      -s TTH\tTTH là tên tín hiệu\n"
"      -n STH\tSTH là mã số tín hiệu\n"
"      -l\tliệt kê tên tín hiệu; đối số sau “-l” nếu có được coi\n"
"        \tlà mã số tín hiệu cần hiện tên\n"
"\n"
"    Kill là lệnh hệ vỏ dựng sẵn vì hai lý do: nó cho phép dùng mã số\n"
"    công việc thay cho mã số tiến trình và cho phép giết tiến trình\n"
"    đạt giới hạn số các tiến trình được phép tạo.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra tùy chọn sai hay gặp lỗi."

#: builtins.c:938
msgid ""
"Evaluate arithmetic expressions.\n"
"    \n"
"    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
"    fixed-width integers with no check for overflow, though division by 0\n"
"    is trapped and flagged as an error.  The following list of operators is\n"
"    grouped into levels of equal-precedence operators.  The levels are "
"listed\n"
"    in order of decreasing precedence.\n"
"    \n"
"    \tid++, id--\tvariable post-increment, post-decrement\n"
"    \t++id, --id\tvariable pre-increment, pre-decrement\n"
"    \t-, +\t\tunary minus, plus\n"
"    \t!, ~\t\tlogical and bitwise negation\n"
"    \t**\t\texponentiation\n"
"    \t*, /, %\t\tmultiplication, division, remainder\n"
"    \t+, -\t\taddition, subtraction\n"
"    \t<<, >>\t\tleft and right bitwise shifts\n"
"    \t<=, >=, <, >\tcomparison\n"
"    \t==, !=\t\tequality, inequality\n"
"    \t&\t\tbitwise AND\n"
"    \t^\t\tbitwise XOR\n"
"    \t|\t\tbitwise OR\n"
"    \t&&\t\tlogical AND\n"
"    \t||\t\tlogical OR\n"
"    \texpr ? expr : expr\n"
"    \t\t\tconditional operator\n"
"    \t=, *=, /=, %=,\n"
"    \t+=, -=, <<=, >>=,\n"
"    \t&=, ^=, |=\tassignment\n"
"    \n"
"    Shell variables are allowed as operands.  The name of the variable\n"
"    is replaced by its value (coerced to a fixed-width integer) within\n"
"    an expression.  The variable need not have its integer attribute\n"
"    turned on to be used in an expression.\n"
"    \n"
"    Operators are evaluated in order of precedence.  Sub-expressions in\n"
"    parentheses are evaluated first and may override the precedence\n"
"    rules above.\n"
"    \n"
"    Exit Status:\n"
"    If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Định giá biểu thức số học.\n"
"\n"
"    Định giá mỗi ĐỐI-SỐ dạng biểu thức số học. Định giá theo số nguyên\n"
"    có giới hạn, không kiểm tra tràn số, mặc dù có bẫy chia cho không\n"
"    và bật cờ lỗi. Danh sách toán tử bên dưới được nhóm theo nhóm độ\n"
"    ưu tiên ngang hàng. Danh sách theo độ ưu tiên giảm dần.\n"
"\n"
"    \tid++, id--\ttiền tiền/giảm\n"
"    \t++id, --id\thậu gia/giảm\n"
"    \t-, +\t\ttrừ, cộng (dấu)\n"
"    \t!, ~\t\tphủ định lôgíc và trên bit\n"
"    \t**\t\tsố mũ\n"
"    \t*, /, %\t\tnhân, chia, số dư\n"
"    \t+, -\t\tcộng, trừ\n"
"    \t<<, >>\t\tdịch bit trái/phải\n"
"    \t<=, >=, <, >\tso sánh\n"
"    \t==, !=\t\tbằng, không bằng\n"
"    \t&\t\tphép AND trên bit\n"
"    \t^\t\tphép XOR trên bit\n"
"    \t|\t\tphép OR trên bit\n"
"    \t&&\t\tphép AND lôgíc\n"
"    \t||\t\tphép OR lôgíc\n"
"    \tBTHỨC ? BTHỨC : BTHỨC\n"
"    \t\t\ttoán từ điều kiện\n"
"    \t=, *=, /=, %=,\n"
"    \t+=, -=, <<=, >>=,\n"
"    \t&=, ^=, |=\tphép gán\n"
"\n"
"    Biến hệ vỏ có thể dùng làm toán hạng. Tên biến được thay thế bằng\n"
"    giá trị biến (chuyển thành số nguyên) trong biểu thức. Biến không\n"
"    cần có thuộc tính số nguyên để dùng làm biểu thức.\n"
"\n"
"    Các toán tử được định giá theo thứ tự ưu tiên. Các biểu thức con\n"
"    nằm trong dấu ngoặc được định giá trước tiên, và có quyền cao hơn\n"
"    các quy tắc đi trước bên trên.\n"
"\n"
"    Trạng thái thoát:\n"
"    Nếu ĐỐI-SỐ cuối cùng được định giá thành 0 thì trả về 1; không thì\n"
"    trả về 0."

#: builtins.c:983
msgid ""
"Read a line from the standard input and split it into fields.\n"
"    \n"
"    Reads a single line from the standard input, or from file descriptor FD\n"
"    if the -u option is supplied.  The line is split into fields as with "
"word\n"
"    splitting, and the first word is assigned to the first NAME, the second\n"
"    word to the second NAME, and so on, with any leftover words assigned to\n"
"    the last NAME.  Only the characters found in $IFS are recognized as "
"word\n"
"    delimiters.\n"
"    \n"
"    If no NAMEs are supplied, the line read is stored in the REPLY "
"variable.\n"
"    \n"
"    Options:\n"
"      -a array\tassign the words read to sequential indices of the array\n"
"    \t\tvariable ARRAY, starting at zero\n"
"      -d delim\tcontinue until the first character of DELIM is read, rather\n"
"    \t\tthan newline\n"
"      -e\t\tuse Readline to obtain the line in an interactive shell\n"
"      -i text\tUse TEXT as the initial text for Readline\n"
"      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
"    \t\tfor a newline, but honor a delimiter if fewer than NCHARS\n"
"    \t\tcharacters are read before the delimiter\n"
"      -N nchars\treturn only after reading exactly NCHARS characters, "
"unless\n"
"    \t\tEOF is encountered or read times out, ignoring any delimiter\n"
"      -p prompt\toutput the string PROMPT without a trailing newline before\n"
"    \t\tattempting to read\n"
"      -r\t\tdo not allow backslashes to escape any characters\n"
"      -s\t\tdo not echo input coming from a terminal\n"
"      -t timeout\ttime out and return failure if a complete line of input "
"is\n"
"    \t\tnot read within TIMEOUT seconds.  The value of the TMOUT\n"
"    \t\tvariable is the default timeout.  TIMEOUT may be a\n"
"    \t\tfractional number.  If TIMEOUT is 0, read returns immediately,\n"
"    \t\twithout trying to read any data, returning success only if\n"
"    \t\tinput is available on the specified file descriptor.  The\n"
"    \t\texit status is greater than 128 if the timeout is exceeded\n"
"      -u fd\t\tread from file descriptor FD instead of the standard input\n"
"    \n"
"    Exit Status:\n"
"    The return code is zero, unless end-of-file is encountered, read times "
"out\n"
"    (in which case it's greater than 128), a variable assignment error "
"occurs,\n"
"    or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
"Đọc một dòng từ đầu nhập chuẩn và tách ra nhiều trường.\n"
"\n"
"    Đọc một dòng từ đầu nhập chuẩn, hoặc từ bộ mô tả tập tin FD nếu\n"
"    dùng tùy chọn “-u”. Dòng được chia ra nhiều trường, trường đầu\n"
"    tiên được gán cho biến TÊN đầu tiên, từ thứ hai cho TÊN thứ hai,\n"
"    v.v., và từ còn lại nào được gán cho TÊN cuối cùng. Chỉ những ký\n"
"    tự trong $IFS được coi là ký tự phân cách.\n"
"\n"
"    Không có TÊN thì dòng được đọc sẽ lưu vào biến REPLY.\n"
"\n"
"    Tùy chọn:\n"
"      -a MẢNG\tlưu các trường vào biến mảng chỉ số MẢNG theo thứ tự,\n"
"        \tbắt đầu từ không.\n"
"      -d DELIM\ttiếp tục đến khi đọc ký tự đầu tiên của DELIM thay\n"
"    \t\tvì ký tự xuống dòng\n"
"      -e\t\tdùng Readline để lấy dòng trong hệ vỏ tương tác\n"
"      -i CHUỖI\tdùng CHUỖI làm văn bản đầu tiên cho Readline\n"
"      -n nChữ\ttrả về sau khi đọc số lượng ký tự này thay vì đọc hết dòng\n"
"    \t\tnhưng nếu gặp chuỗi phân tách khi ít hơn Nchữ\n"
"    \t\tcác ký tự được đọc trước chuỗi phân tách\n"
"      -N N\ttrả về chỉ sau khi đọc chính xác số lượng ký tự này,\n"
"        \tnếu không gặp kết thúc tập tin (EOF) hay quá hạn đọc,\n"
"        \tcũng bỏ qua dấu tách nào\n"
"      -p NHẮC\txuất chuỗi NHẮC mà không có ký tự dòng mới theo sau,\n"
"        \ttrước khi đọc\n"
"      -r\tkhông cho phép gạch chéo ngược để thoát ký tự\n"
"      -s\tkhông hiện lại dữ liệu nhập đến từ thiết bị cuối\n"
"      -t\tTHỜI_GIAN_CHỜ\n"
"        \tthời gian chờ tối đa và trả vềi không thành công nếu chưa đọc một\n"
"        \tdòng dữ liệu nhập hoàn toàn trong số giây này. Giá trị\n"
"        \tcủa biến TMOUT là thời hạn mặc định.  Thời hạn này có\n"
"        \tthể là một phân số. Nếu THỜI_HẠN là 0 thì việc đọc trả\n"
"        \tlại thành công chỉ nếu dữ liệu nhập sẵn sàng trên bộ\n"
"        \tmô tả tập tin đưa ra. Trạng thái thoát lớn hơn 128\n"
"        \tnếu vượt quá thời hạn này.\n"
"      -u FD\tđọc từ bộ mô tả tập tin FD thay cho đầu vào tiêu chuẩn\n"
"\n"
"    Trạng thái thoát:\n"
"    Mã trả lại là số không, nếu không gặp kết thúc tập tin, hay chờ quá\n"
"    lâu, hoặc đưa ra bộ mô tả tập tin sai làm đối số cho “-u”."

#: builtins.c:1028
msgid ""
"Return from a shell function.\n"
"    \n"
"    Causes a function or sourced script to exit with the return value\n"
"    specified by N.  If N is omitted, the return status is that of the\n"
"    last command executed within the function or script.\n"
"    \n"
"    Exit Status:\n"
"    Returns N, or failure if the shell is not executing a function or script."
msgstr ""
"Trở về từ hàm hệ vỏ.\n"
"\n"
"    Thoát hàm hệ vỏ hoặc văn lệnh được “source” với mã trả về xác định\n"
"    bởi N. Nếu không có N, trạng thái thoát là của lệnh thực hiện cuối\n"
"    cùng trong hàm/văn lệnh.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại N, hoặc bị lỗi nếu hệ vỏ không đang chạy một hàm hay văn\n"
"    lệnh."

#: builtins.c:1041
msgid ""
"Set or unset values of shell options and positional parameters.\n"
"    \n"
"    Change the value of shell attributes and positional parameters, or\n"
"    display the names and values of shell variables.\n"
"    \n"
"    Options:\n"
"      -a  Mark variables which are modified or created for export.\n"
"      -b  Notify of job termination immediately.\n"
"      -e  Exit immediately if a command exits with a non-zero status.\n"
"      -f  Disable file name generation (globbing).\n"
"      -h  Remember the location of commands as they are looked up.\n"
"      -k  All assignment arguments are placed in the environment for a\n"
"          command, not just those that precede the command name.\n"
"      -m  Job control is enabled.\n"
"      -n  Read commands but do not execute them.\n"
"      -o option-name\n"
"          Set the variable corresponding to option-name:\n"
"              allexport    same as -a\n"
"              braceexpand  same as -B\n"
"              emacs        use an emacs-style line editing interface\n"
"              errexit      same as -e\n"
"              errtrace     same as -E\n"
"              functrace    same as -T\n"
"              hashall      same as -h\n"
"              histexpand   same as -H\n"
"              history      enable command history\n"
"              ignoreeof    the shell will not exit upon reading EOF\n"
"              interactive-comments\n"
"                           allow comments to appear in interactive commands\n"
"              keyword      same as -k\n"
"              monitor      same as -m\n"
"              noclobber    same as -C\n"
"              noexec       same as -n\n"
"              noglob       same as -f\n"
"              nolog        currently accepted but ignored\n"
"              notify       same as -b\n"
"              nounset      same as -u\n"
"              onecmd       same as -t\n"
"              physical     same as -P\n"
"              pipefail     the return value of a pipeline is the status of\n"
"                           the last command to exit with a non-zero status,\n"
"                           or zero if no command exited with a non-zero "
"status\n"
"              posix        change the behavior of bash where the default\n"
"                           operation differs from the Posix standard to\n"
"                           match the standard\n"
"              privileged   same as -p\n"
"              verbose      same as -v\n"
"              vi           use a vi-style line editing interface\n"
"              xtrace       same as -x\n"
"      -p  Turned on whenever the real and effective user ids do not match.\n"
"          Disables processing of the $ENV file and importing of shell\n"
"          functions.  Turning this option off causes the effective uid and\n"
"          gid to be set to the real uid and gid.\n"
"      -t  Exit after reading and executing one command.\n"
"      -u  Treat unset variables as an error when substituting.\n"
"      -v  Print shell input lines as they are read.\n"
"      -x  Print commands and their arguments as they are executed.\n"
"      -B  the shell will perform brace expansion\n"
"      -C  If set, disallow existing regular files to be overwritten\n"
"          by redirection of output.\n"
"      -E  If set, the ERR trap is inherited by shell functions.\n"
"      -H  Enable ! style history substitution.  This flag is on\n"
"          by default when the shell is interactive.\n"
"      -P  If set, do not resolve symbolic links when executing commands\n"
"          such as cd which change the current directory.\n"
"      -T  If set, the DEBUG trap is inherited by shell functions.\n"
"      --  Assign any remaining arguments to the positional parameters.\n"
"          If there are no remaining arguments, the positional parameters\n"
"          are unset.\n"
"      -   Assign any remaining arguments to the positional parameters.\n"
"          The -x and -v options are turned off.\n"
"    \n"
"    Using + rather than - causes these flags to be turned off.  The\n"
"    flags can also be used upon invocation of the shell.  The current\n"
"    set of flags may be found in $-.  The remaining n ARGs are positional\n"
"    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
"    ARGs are given, all shell variables are printed.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given."
msgstr ""
"Đặt hay huỷ giá trị của tùy chọn hệ vỏ và tham số vị trí.\n"
"    \n"
"    Sửa đổi giá trị của thuộc tính hệ vỏ và tham số vị trí,\n"
"    hoặc hiển thị tên và giá trị của biến hệ vỏ.\n"
"    \n"
"    Tùy chọn:\n"
"      -a  Đánh dấu các biến được tạo hay sửa đổi để xuất ra\n"
"      -b  Thông báo ngay về công việc bị chấm dứt\n"
"      -e  Thoát ngay nếu câu lệnh thoát với trạng thái khác số không\n"
"      -f  Tắt chức năng tạo tên tập tin (glob)\n"
"      -h  Nhớ vị trí của mỗi câu lệnh khi nó được dò tìm\n"
"      -k  Mọi đối số gán được đặt vào môi trường cho một câu lệnh,\n"
"           không phải chỉ những đối số nằm trước tên câu lệnh\n"
"      -m  Bật chức năng điều khiển công việc\n"
"      -n  Đọc câu lệnh mà không thực thi\n"
"      -o TÊN_TÙY_CHỌN\n"
"          Đặt biến tương ứng với TÊN_TÙY_CHỌN:\n"
"                    allexport       giống -a\n"
"                    braceexpand     giống -B\n"
"                    emacs           dùng giao diện soạn thảo kiểu emacs\n"
"                    errexit         giống -e\n"
"                    errtrace        giống -E\n"
"                    functrace       giống -T\n"
"                    hashall         giống -h\n"
"                    histexpand      giống -H\n"
"                    history         bật lịch sử câu lệnh\n"
"                    ignoreeof       hệ vỏ không thoát khi đọc EOF\n"
"                    interactive-comments\n"
"                                    cho phép ghi chú trong lệnh tương tác\n"
"                    keyword         giống -k\n"
"                    monitor         giống -m\n"
"                    noclobber       giống -C\n"
"                    noexec          giống -n\n"
"                    noglob          giống -f\n"
"                    nolog           hiện thời chấp nhận nhưng bỏ qua\n"
"                    notify          giống -b\n"
"                    nounset         giống -u\n"
"                    onecmd          giống -t\n"
"                    physical        giống -P\n"
"                    pipefail        giá trị trả lại của ống dẫn là\n"
"                                    trạng thái của câu lệnh cuối cùng\n"
"                                    có trạng thái khác không, hoặc số\n"
"                                    không nếu không có câu lệnh thoát\n"
"                                    với trạng thái khác không\n"
"                    posix           thay đổi những thao tác khác với\n"
"                                    Posix thành tuân theo Posix\n"
"                    privileged      giống -p\n"
"                    verbose         giống -v\n"
"                    vi              dùng giao diện soạn thảo kiểu vi\n"
"                    xrace           giống -x\n"
"        -p      Bật khi nào mã số thật và mã số có kết quả\n"
"                không tương ứng với nhau.\n"
"                Tắt tính năng xử lý tập tin $ENV\n"
"                và nhập các hàm vào hệ vỏ.\n"
"                Việc tắt tùy chọn này thì gây ra uid và gid có kết quả\n"
"                được đặt thành uid và gid thật.\n"
"        -t      Thoát sau khi đọc và thực thi một câu lệnh\n"
"        -u      Xử lý biến chưa đặt là lỗi khi thay thế\n"
"        -v      In ra mỗi dòng nhập vào hệ vỏ khi nó được đọc\n"
"        -x      On ra mỗi câu lệnh và đối số tương ứng khi nó được thực thi\n"
"        -B      hệ vỏ sẽ mở rộng các dấu ngoặc móc\n"
"        -C      Nếu đặt thì không cho phép ghi đè lên tập tin bình thường\n"
"                đã tồn tại bằng cách chuyển hướng kết xuất\n"
"        -E      Nếu đặt thì bẫy ERR được chức năng hệ vỏ kế thừa\n"
"        -H       Bật! bật chức năng thay thế kiểu. Cờ này được bật\n"
"                theo mặc định khi hệ vỏ tương tác\n"
"        -P      Đặt thì không theo liên kết mềm\n"
"                khi thực thi câu lệnh như cd mà chuyển đổi thư mục hiện tại\n"
"        -T      Nếu đặt thì bẫy DEBUG (gỡ lỗi) được các hàm của hệ vỏ kế "
"thừa\n"
"        --      Gán bất cứ đối số còn lại nào cho những tham số thuộc vị "
"trí.\n"
"                Nếu không còn thừa lại đối số nào, tham số vị trí\n"
"                ìm kiếm được đặt.\n"
"        -       Gán bất cứ đối số còn lại nào cho những tham số thuộc vị "
"trí.\n"
"                Hai tùy chọn -x và -v đều bị tắt.\n"
"    \n"
"    Việc dùng + thay - làm tắt cờ. Các cờ cũng có thể được dùng khi\n"
"    gọi hệ vỏ. Giá trị các cờ hiện hành có thể tìm thấy trong biến\n"
"    $-. Các đối số còn lại là tham số thuộc vị trí, và được gán (theo\n"
"    thứ tự) cho $1, $2, .. $n.  Không đưa ra đối số thì in ra mọi biến\n"
"    shell.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ phi gặp tùy chọn sai."

#: builtins.c:1126
msgid ""
"Unset values and attributes of shell variables and functions.\n"
"    \n"
"    For each NAME, remove the corresponding variable or function.\n"
"    \n"
"    Options:\n"
"      -f\ttreat each NAME as a shell function\n"
"      -v\ttreat each NAME as a shell variable\n"
"      -n\ttreat each NAME as a name reference and unset the variable itself\n"
"    \trather than the variable it references\n"
"    \n"
"    Without options, unset first tries to unset a variable, and if that "
"fails,\n"
"    tries to unset a function.\n"
"    \n"
"    Some variables cannot be unset; also see `readonly'.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
"Xoá giá trị và thuộc tính biến và hàm hệ vỏ.\n"
"    \n"
"    Đối với mỗi TÊN, gỡ bỏ biến hay hàm tương ứng.\n"
"    \n"
"    Tùy chọn:\n"
"      -f\tđọc TÊN dạng hàm hệ vỏ\n"
"      -v\tđọc TÊN dạng biến hệ vỏ\n"
"      -n\tcoi TÊN như là tên tham chiếu và bỏ đặt biến tự tham chiếu\n"
"    \n"
"    Không có tùy chọn thì sẽ thử xoá biến, và nếu không thành công,\n"
"    sau đó thử xoá hàm.\n"
"    \n"
"    Một số biến không thể gỡ bỏ; nên xem “readonly”.\n"
"    \n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra tùy chọn sai hay TÊN chỉ-đọc."

#: builtins.c:1148
msgid ""
"Set export attribute for shell variables.\n"
"    \n"
"    Marks each NAME for automatic export to the environment of subsequently\n"
"    executed commands.  If VALUE is supplied, assign VALUE before "
"exporting.\n"
"    \n"
"    Options:\n"
"      -f\trefer to shell functions\n"
"      -n\tremove the export property from each NAME\n"
"      -p\tdisplay a list of all exported variables and functions\n"
"    \n"
"    An argument of `--' disables further option processing.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
"Đặt thuộc tính xuất khẩu cho biến hệ vỏ.\n"
"\n"
"    Đánh dấu TÊN để tự động xuất vào môi trường của các lệnh được chạy\n"
"    sau đó. Có GIÁ-TRỊ thì gán GIÁ-TRỊ trước khi xuất ra.\n"
"\n"
"    Tùy chọn:\n"
"      -f\ttham chiếu đến hàm hệ vỏ\n"
"      -n\tgỡ bỏ thuộc tính xuất khẩu khỏi TÊN\n"
"      -p\thiển thị danh sách các biến và hàm được xuất ra\n"
"\n"
"    Đối số “--” ngừng phân tích tuỳ chọn cho các tham số còn lại.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra tùy chọn hay TÊN sai,"

#: builtins.c:1167
msgid ""
"Mark shell variables as unchangeable.\n"
"    \n"
"    Mark each NAME as read-only; the values of these NAMEs may not be\n"
"    changed by subsequent assignment.  If VALUE is supplied, assign VALUE\n"
"    before marking as read-only.\n"
"    \n"
"    Options:\n"
"      -a\trefer to indexed array variables\n"
"      -A\trefer to associative array variables\n"
"      -f\trefer to shell functions\n"
"      -p\tdisplay a list of all readonly variables or functions, depending "
"on\n"
"            whether or not the -f option is given\n"
"    \n"
"    An argument of `--' disables further option processing.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
"Đánh dấu biến hệ vỏ là không thể thay đổi.\n"
"\n"
"    Đánh dấu TÊN là chỉ đọc; giá trị những biến này không được thay\n"
"    đổi trong các phép gán sau. Nếu có GIÁ-TRỊ thì gán GIÁ-TRỊ trước\n"
"    khi đánh dấu là chỉ đọc.\n"
"\n"
"    Tùy chọn:\n"
"      -a\ttham chiếu đến biến kiểu mảng chỉ số\n"
"      -A\ttham chiếu đến biến kiểu mảng kết hợp\n"
"      -f\ttham chiếu đến hàm hệ vỏ\n"
"      -p\thiển thị danh sách biến và hàm chỉ đọc, tùy thuộc vào\n"
"          có tùy chọn -f hay không\n"
" \n"
"    Đối số “--” ngừng phân tích tuỳ chọn cho các tham số còn lại.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra tùy chọn sai hay TÊN sai."

#: builtins.c:1189
msgid ""
"Shift positional parameters.\n"
"    \n"
"    Rename the positional parameters $N+1,$N+2 ... to $1,$2 ...  If N is\n"
"    not given, it is assumed to be 1.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless N is negative or greater than $#."
msgstr ""
"Dịch vị trí đối số.\n"
"\n"
"    Thay đổi tên của đối số vị trí $N+1,$N+2 ... thành $1,$2 ...\n"
"    N là 1 nếu không chỉ định.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ khi N âm hay lớn hơn $#."

#: builtins.c:1201 builtins.c:1216
msgid ""
"Execute commands from a file in the current shell.\n"
"    \n"
"    Read and execute commands from FILENAME in the current shell.  The\n"
"    entries in $PATH are used to find the directory containing FILENAME.\n"
"    If any ARGUMENTS are supplied, they become the positional parameters\n"
"    when FILENAME is executed.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed in FILENAME; fails if\n"
"    FILENAME cannot be read."
msgstr ""
"Thực thi lệnh từ tập tin trong hệ vỏ hiện tại.\n"
"\n"
"    Đọc và thực thi lệnh từ TẬP-TIN trong hệ vỏ đang chạy. $PATH được\n"
"    dùng để tìm thư mục chứa tập tin này. Nếu có đối số thì mỗi đối số\n"
"    trở thành tham số vị trí khi TẬP-TIN được thực thi.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được thực thi trong\n"
"    TẬP-TIN; không thành công nếu không thể đọc TẬP-TIN."

#: builtins.c:1232
msgid ""
"Suspend shell execution.\n"
"    \n"
"    Suspend the execution of this shell until it receives a SIGCONT signal.\n"
"    Unless forced, login shells cannot be suspended.\n"
"    \n"
"    Options:\n"
"      -f\tforce the suspend, even if the shell is a login shell\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless job control is not enabled or an error occurs."
msgstr ""
"Ngưng chạy hệ vỏ.\n"
"\n"
"    Ngưng chạy hệ vỏ này đến khi nhận tín hiệu SIGCONT. Nếu không ép\n"
"    buộc thì không thể ngưng chạy hệ vỏ đăng nhập.\n"
"\n"
"    Tùy chọn:\n"
"    \t-f\tbuộc ngưng, thậm chí với hệ vỏ đăng nhập\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ khi chức năng điều khiển công việc không\n"
"    được bật hoặc gặp lỗi."

#: builtins.c:1248
msgid ""
"Evaluate conditional expression.\n"
"    \n"
"    Exits with a status of 0 (true) or 1 (false) depending on\n"
"    the evaluation of EXPR.  Expressions may be unary or binary.  Unary\n"
"    expressions are often used to examine the status of a file.  There\n"
"    are string operators and numeric comparison operators as well.\n"
"    \n"
"    The behavior of test depends on the number of arguments.  Read the\n"
"    bash manual page for the complete specification.\n"
"    \n"
"    File operators:\n"
"    \n"
"      -a FILE        True if file exists.\n"
"      -b FILE        True if file is block special.\n"
"      -c FILE        True if file is character special.\n"
"      -d FILE        True if file is a directory.\n"
"      -e FILE        True if file exists.\n"
"      -f FILE        True if file exists and is a regular file.\n"
"      -g FILE        True if file is set-group-id.\n"
"      -h FILE        True if file is a symbolic link.\n"
"      -L FILE        True if file is a symbolic link.\n"
"      -k FILE        True if file has its `sticky' bit set.\n"
"      -p FILE        True if file is a named pipe.\n"
"      -r FILE        True if file is readable by you.\n"
"      -s FILE        True if file exists and is not empty.\n"
"      -S FILE        True if file is a socket.\n"
"      -t FD          True if FD is opened on a terminal.\n"
"      -u FILE        True if the file is set-user-id.\n"
"      -w FILE        True if the file is writable by you.\n"
"      -x FILE        True if the file is executable by you.\n"
"      -O FILE        True if the file is effectively owned by you.\n"
"      -G FILE        True if the file is effectively owned by your group.\n"
"      -N FILE        True if the file has been modified since it was last "
"read.\n"
"    \n"
"      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
"                       modification date).\n"
"    \n"
"      FILE1 -ot FILE2  True if file1 is older than file2.\n"
"    \n"
"      FILE1 -ef FILE2  True if file1 is a hard link to file2.\n"
"    \n"
"    String operators:\n"
"    \n"
"      -z STRING      True if string is empty.\n"
"    \n"
"      -n STRING\n"
"         STRING      True if string is not empty.\n"
"    \n"
"      STRING1 = STRING2\n"
"                     True if the strings are equal.\n"
"      STRING1 != STRING2\n"
"                     True if the strings are not equal.\n"
"      STRING1 < STRING2\n"
"                     True if STRING1 sorts before STRING2 "
"lexicographically.\n"
"      STRING1 > STRING2\n"
"                     True if STRING1 sorts after STRING2 lexicographically.\n"
"    \n"
"    Other operators:\n"
"    \n"
"      -o OPTION      True if the shell option OPTION is enabled.\n"
"      -v VAR\t True if the shell variable VAR is set\n"
"      -R VAR\t True if the shell variable VAR is set and is a name "
"reference.\n"
"      ! EXPR         True if expr is false.\n"
"      EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
"      EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
"    \n"
"      arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,\n"
"                     -lt, -le, -gt, or -ge.\n"
"    \n"
"    Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
"    less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
"    than ARG2.\n"
"    \n"
"    Exit Status:\n"
"    Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
"    false or an invalid argument is given."
msgstr ""
"Định giá biểu thức điều kiện.\n"
"    \n"
"    Thoát với trạng thái 0 (đúng) hoặc 1 (sai), tuỳ kết quả định giá\n"
"    BTHỨC. Biểu thức có thể kiểu một ngôi hoặc hai ngôi. Biểu thức\n"
"    một ngôi thường dùng để kiểm tra trạng thái tập tin. Ngoài ra còn\n"
"    có toán tử chuỗi và so sánh số.\n"
"    \n"
"    Hành vi của lệnh test phụ thuộc vào số đối số. Đọc sổ tay hướng dẫn của\n"
"    bash để có mô tả đầy đủ.\n"
"    \n"
"    Toán tử tập tin:\n"
"    \n"
"      -a TẬP-TIN       Đúng nếu tập tin tồn tại.\n"
"      -b TẬP-TIN       Đúng nếu tập tin là biệt khối.\n"
"      -c TẬP-TIN       Đúng nếu tập tin là đặc biệt ký tự.\n"
"      -d TẬP-TIN       Đúng nếu tập tin là thư mục.\n"
"      -e TẬP-TIN       Đúng nếu tập tin tồn tại.\n"
"      -f TẬP-TIN       Đúng nếu tập tin tồn tại và là tập tin thường\n"
"      -g TẬP-TIN       Đúng nếu tập tin là set-group-id.\n"
"      -h TẬP-TIN       Đúng nếu tập tin là liên kết mềm.\n"
"      -L TẬP-TIN       Đúng nếu tập tin là liên kết mềm.\n"
"      -k TẬP-TIN       Đúng nếu tập tin có bit “sticky”.\n"
"      -p TẬP-TIN       Đúng nếu tập tin là ống dẫn có tên.\n"
"      -r TẬP-TIN       Đúng nếu tập tin đọc được (bởi bạn).\n"
"      -s TẬP-TIN       Đúng nếu tập tin tồn tại và khác rỗng.\n"
"      -S TẬP-TIN       Đúng nếu tập tin là socket.\n"
"      -t FD            Đúng nếu FD được mở trên thiết bị cuối.\n"
"      -u TẬP-TIN       Đúng nếu tập tin là set-user-id.\n"
"      -w TẬP-TIN       Đúng nếu tập tin ghi được (bởi bạn).\n"
"      -x TẬP-TIN       Đúng nếu tập tin chạy được (bởi bạn).\n"
"      -O TẬP-TIN       Đúng nếu tập tin thực tế được bạn sở hữu.\n"
"      -G TẬP-TIN       Đúng nếu tập tin thực tế được nhóm của bạn sở hữu.\n"
"      -N TẬP-TIN       Đúng nếu tập tin đã bị sửa đổi từ lần đọc cuối.\n"
"    \n"
"      TẬP-TIN1 -nt TẬP-TIN2\n"
"                       Đúng nếu tập tin 1 mới hơn tập tin 2 (dựa theo\n"
"                       ngày sửa đổi)\n"
"    \n"
"      TẬP-TIN1 -ot TẬP-TIN2\n"
"                       Đúng nếu tập tin 1 cũ hơn tập tin 2.\n"
"    \n"
"      TẬP-TIN1 -ef TẬP-TIN2\n"
"                       Đúng nếu tập tin 1 là liên kết cứng tới tập tin 2.\n"
"    \n"
"    Toán tử chuỗi:\n"
"    \n"
"      -z CHUỖI         Đúng nếu chuỗi rỗng.\n"
"    \n"
"      -n CHUỖI\n"
"      CHUỖI            Đúng nếu chuỗi khác rỗng.\n"
"    \n"
"      CHUỖI1 = CHUỖI2  Đúng nếu hai chuỗi trùng nhau.\n"
"      CHUỖI1 != CHUỖI2 Đúng nếu hai chuỗi khác nhau.\n"
"      CHUỖI1 < CHUỖI2  Đúng nếu CHUỖI1 xếp trước CHUỖI2 theo thứ tự từ "
"điển.\n"
"      CHUỖI1 > CHUỖI2  Đúng nếu CHUỖI1 xếp sau CHUỖI2 theo thứ tự từ điển.\n"
"    \n"
"    Toán tử khác:\n"
"    \n"
"      -o TÙY_CHỌN      Đúng nếu tùy chọn hệ vỏ này được bật.\n"
"      -v BIẾN          Đúng nếu BIẾN được đặt\n"
"      -R BIẾN          Đúng nếu BIẾN được đặt là là tham chiếu tên.\n"
"      ! BTHỨC          Đúng nếu biểu thức này không đúng.\n"
"      BTHỨC1 -a BTHỨC2  Đúng nếu cả hai biểu thức là đúng.\n"
"      BTHỨC1 -o BTHỨC2  Đúng nếu một của hai biểu thức đúng.\n"
"    \n"
"      ĐỐI-SỐ1 OP ĐỐI-SỐ2\n"
"                       Phép thử số học. OP là một trong -eq, -ne,\n"
"                       -lt, -le, -gt, or -ge.\n"
"    \n"
"    Phép toán số học hai ngôi trả về đúng nếu ĐỐI-SỐ1 bằng, khác, nhỏ\n"
"    hơn, nhỏ hơn hoặc bằng, lớn hơn, lớn hơn hoặc bằng ĐỐI-SỐ2.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu BTHỨC định giá là Đúng; không thành công\n"
"    nếu BTHỨC định giá thành Sai hay đối số được chỉ ra sai."

#: builtins.c:1329
msgid ""
"Evaluate conditional expression.\n"
"    \n"
"    This is a synonym for the \"test\" builtin, but the last argument must\n"
"    be a literal `]', to match the opening `['."
msgstr ""
"Định giá biểu thức điều kiện.\n"
"    \n"
"    Lệnh này cùng chức năng lệnh dựng sẵn \"test\", nhưng đối số cuối\n"
"    cùng phải là ký tự “]” để khớp với “[” ở đầu."

#: builtins.c:1338
msgid ""
"Display process times.\n"
"    \n"
"    Prints the accumulated user and system times for the shell and all of "
"its\n"
"    child processes.\n"
"    \n"
"    Exit Status:\n"
"    Always succeeds."
msgstr ""
"Hiển thị thời lượng chạy tiến trình.\n"
"\n"
"    In thời lượng chạy ở mức người dùng và hệ thống của hệ vỏ và các\n"
"    tiến trình con.\n"
"\n"
"    Trạng thái thoát:\n"
"    Lúc nào cũng thành công."

#: builtins.c:1350
msgid ""
"Trap signals and other events.\n"
"    \n"
"    Defines and activates handlers to be run when the shell receives "
"signals\n"
"    or other conditions.\n"
"    \n"
"    ARG is a command to be read and executed when the shell receives the\n"
"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
"    is supplied) or `-', each specified signal is reset to its original\n"
"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
"    shell and by the commands it invokes.\n"
"    \n"
"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  "
"If\n"
"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  "
"If\n"
"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
"a\n"
"    script run by the . or source builtins finishes executing.  A "
"SIGNAL_SPEC\n"
"    of ERR means to execute ARG each time a command's failure would cause "
"the\n"
"    shell to exit when the -e option is enabled.\n"
"    \n"
"    If no arguments are supplied, trap prints the list of commands "
"associated\n"
"    with each signal.\n"
"    \n"
"    Options:\n"
"      -l\tprint a list of signal names and their corresponding numbers\n"
"      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
"    \n"
"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
"number.\n"
"    Signal names are case insensitive and the SIG prefix is optional.  A\n"
"    signal may be sent to the shell with \"kill -signal $$\".\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless a SIGSPEC is invalid or an invalid option is "
"given."
msgstr ""
"Bẫy tín hiệu và sự kiện khác.\n"
"\n"
"    Định nghĩa và kích hoạt các bộ xử lý khi hệ vỏ nhận được tín hiệu\n"
"    hay các điều kiện khác.\n"
"\n"
"    ĐỐI-SỐ là một lệnh cần đọc và thực thi khi hệ vỏ nhận được tín\n"
"    hiệu theo đặc tả tín hiệu ĐTTH. Nếu không có ĐỐI-SỐ (và chỉ cung\n"
"    cấp một ĐTTH), hoặc cung cấp “-”. mỗi tín hiệu được xác định thì\n"
"    được đặt lại về giá trị gốc. Nếu ĐỐI-SỐ là chuỗi rỗng thì mỗi ĐTTH\n"
"    bị hệ vỏ và những lệnh bên trong bỏ qua.\n"
"\n"
"    Nếu ĐTTH là EXIT (0) thì ĐỐI-SỐ được thực thi khi thoát\n"
"    khỏi hệ vỏ. Nếu là DEBUG, ĐỐI-SỐ được thực thi trước mỗi lệnh đơn\n"
"    giản. Nếu là RETURN, ĐỐI-SỐ được thực thi mỗi khi hàm hệ vỏ hay\n"
"    một văn lệnh, được chạy bởi lệnh “.” hoặc “source”. kết thúc thực\n"
"    thi. ĐTTH ERR nghĩa là thực thi ĐỐI-SỐ mỗi khi lệnh gặp\n"
"    lỗi dẫn đến thoát hệ vỏ khi bật tùy chọn -e.\n"
"    \n"
"    Nếu không có đối số, “trap” sẽ in danh sách của các lệnh gắn với\n"
"    các tín hiệu.\n"
"    \n"
"    Tùy chọn:\n"
"      -l\tin danh sách tên tín hiệu và mã số tương ứng\n"
"      -p\thiển thị lệnh bắt tương ứng với mỗi ĐTTH\n"
"\n"
"    Mỗi ĐTTH hoặc là tên tín hiệu trong <signal.h>, hoặc mã\n"
"    số tín hiệu. Tên tín hiệu không phân biệt chữ hoa/thường, và không\n"
"    bắt buộc phải dùng tiền tố SIG. Có thể gửi tín hiệu cho hệ vỏ bằng\n"
"    \"kill -signal $$\".\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ phi đưa ra ĐTTH sai hay tùy chọn\n"
"    sai."

#: builtins.c:1386
msgid ""
"Display information about command type.\n"
"    \n"
"    For each NAME, indicate how it would be interpreted if used as a\n"
"    command name.\n"
"    \n"
"    Options:\n"
"      -a\tdisplay all locations containing an executable named NAME;\n"
"    \tincludes aliases, builtins, and functions, if and only if\n"
"    \tthe `-p' option is not also used\n"
"      -f\tsuppress shell function lookup\n"
"      -P\tforce a PATH search for each NAME, even if it is an alias,\n"
"    \tbuiltin, or function, and returns the name of the disk file\n"
"    \tthat would be executed\n"
"      -p\treturns either the name of the disk file that would be executed,\n"
"    \tor nothing if `type -t NAME' would not return `file'.\n"
"      -t\toutput a single word which is one of `alias', `keyword',\n"
"    \t`function', `builtin', `file' or `', if NAME is an alias, shell\n"
"    \treserved word, shell function, shell builtin, disk file, or not\n"
"    \tfound, respectively\n"
"    \n"
"    Arguments:\n"
"      NAME\tCommand name to be interpreted.\n"
"    \n"
"    Exit Status:\n"
"    Returns success if all of the NAMEs are found; fails if any are not "
"found."
msgstr ""
"Hiển thị thông tin loại câu lệnh.\n"
"\n"
"    Đối với mỗi TÊN, chỉ ra cách thông dịch lệnh khi được thực thi\n"
"    theo tên lệnh.\n"
"\n"
"    Tùy chọn:\n"
"      -a\thiển thị mọi vị trí chứa tập tin thực thi được có TÊN;\n"
"        \tkhông đặt tùy chọn “-p” thì bao gồm các bí danh, lệnh\n"
"        \tdựng sẵn và hàm.\n"
"      -f\tngăn tra cứu hàm hệ vỏ\n"
"      -P\tbuộc tìm kiếm PATH đối với mỗi TÊN, thậm chí nếu nó là\n"
"        \tbí danh, lệnh dựng sẵn hay hàm, và trả lại tên của tập\n"
"        \ttin trên đĩa mà sẽ được thực thi\n"
"      -p\ttrả về hoặc tên của tập tin trên đĩa mà sẽ được thực\n"
"    \t\tthi, hoặc gì cả “type -t TÊN” sẽ không trả về “file”\n"
"    \t\t(tập tin).\n"
"        -t\txuất một trong những từ đơn “alias”, “keyword”, “function”,\n"
"        \t“builtin”, “file” hoặc “”, nếu TÊN tương ứng là bí danh,\n"
"        \ttừ khoá,hàm, lệnh hệ vỏ dựng sẵn, tập tin\n"
"        \ttrên đĩa, hoặc không tìm thấy.\n"
"\n"
"    Đối số:\n"
"      TÊN\ttên câu lệnh cần giải thích.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu tìm thấy tất cả các TÊN; không thì bị lỗi."

#: builtins.c:1417
msgid ""
"Modify shell resource limits.\n"
"    \n"
"    Provides control over the resources available to the shell and "
"processes\n"
"    it creates, on systems that allow such control.\n"
"    \n"
"    Options:\n"
"      -S\tuse the `soft' resource limit\n"
"      -H\tuse the `hard' resource limit\n"
"      -a\tall current limits are reported\n"
"      -b\tthe socket buffer size\n"
"      -c\tthe maximum size of core files created\n"
"      -d\tthe maximum size of a process's data segment\n"
"      -e\tthe maximum scheduling priority (`nice')\n"
"      -f\tthe maximum size of files written by the shell and its children\n"
"      -i\tthe maximum number of pending signals\n"
"      -l\tthe maximum size a process may lock into memory\n"
"      -m\tthe maximum resident set size\n"
"      -n\tthe maximum number of open file descriptors\n"
"      -p\tthe pipe buffer size\n"
"      -q\tthe maximum number of bytes in POSIX message queues\n"
"      -r\tthe maximum real-time scheduling priority\n"
"      -s\tthe maximum stack size\n"
"      -t\tthe maximum amount of cpu time in seconds\n"
"      -u\tthe maximum number of user processes\n"
"      -v\tthe size of virtual memory\n"
"      -x\tthe maximum number of file locks\n"
"      -T    the maximum number of threads\n"
"    \n"
"    Not all options are available on all platforms.\n"
"    \n"
"    If LIMIT is given, it is the new value of the specified resource; the\n"
"    special LIMIT values `soft', `hard', and `unlimited' stand for the\n"
"    current soft limit, the current hard limit, and no limit, respectively.\n"
"    Otherwise, the current value of the specified resource is printed.  If\n"
"    no option is given, then -f is assumed.\n"
"    \n"
"    Values are in 1024-byte increments, except for -t, which is in seconds,\n"
"    -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
"    number of processes.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Sửa đổi giới hạn tài nguyên hệ vỏ.\n"
"    \n"
"    Điều khiển tài nguyên sẵn có của hệ vỏ và các tiến trình nó tạo ra,\n"
"    trên hệ thống hỗ trợ điểu khiển tài nguyên như vậy.\n"
"    \n"
"    Tùy chọn:\n"
"      -S\tdùng giới hạn tài nguyên “soft” (mềm)\n"
"      -H\tdùng giới hạn tài nguyên “hard” (cứng)\n"
"      -a\tthông báo mọi giới hạn hiện thời\n"
"      -b\tkích cỡ của vùng đệm socket\n"
"      -c\tkích cỡ tối đa của tập tin core được tạo\n"
"      -d\tkích cỡ tối đa của từng đoạn dữ liệu của một tiến trình\n"
"      -e\tmức ưu tiên lập lịch cao nhất (“nice”)\n"
"      -f\tkích cỡ tập tin tối đa được ghi bởi hệ vỏ và tiến trình con\n"
"      -i\tsố tín hiệu bị hoãn tối đa\n"
"      -l\tkích cỡ tối đa mà tiến trình có thể khoá vào bộ nhớ\n"
"      -m\tkích cỡ tập nội trú (RSS) tối đa\n"
"      -n\tsố bộ mô tả tập tin tối đa được mở\n"
"      -p\tkích thước vùng đệm ống dẫn\n"
"      -q\tsố byte tối đa trong hàng đợi thông điệp POSIX\n"
"      -r\tmức ưu lập lịch thời gian thực cao nhất\n"
"      -s\tkích thước ngăn xếp tối đa\n"
"      -t\tlượng thời gian cpu tối đa theo giây\n"
"      -u\tsố tiến trình người dùng tối đa\n"
"      -v\tkích cỡ của bộ nhớ ảo\n"
"      -x\tsố khoá tập tin tối đa\n"
"      -T\tsố lượng tuyến trình tối đa\n"
"    \n"
"    Không phải tất cả các tùy-chọn này đều sẵn sàng trên mọi nền tảng.\n"
"    \n"
"    Nếu có GIỚI_HẠN thì nó là giá trị mới của tài nguyên được ghi. Ba\n"
"    giá trị GIỚI_HẠN đặc biệt “soft”, “hard” và “unlimited” tương ứng\n"
"    là giới hạn mềm hiện tại, giới hạn cứng hiện tại và không giới\n"
"    hạn. Không có thì in giá trị hiện thời của tài nguyên được ghi.\n"
"    Ngầm định “-f” nếu không chỉ định tuỳ chọn.\n"
"    \n"
"    Giá trị tính theo khối 1024 byte, trừ -t tính theo giây, -p theo\n"
"    khối 512 byte và -u theo số tiến trình.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra tùy chọn sai hay có lỗi phát sinh."

#: builtins.c:1465
msgid ""
"Display or set file mode mask.\n"
"    \n"
"    Sets the user file-creation mask to MODE.  If MODE is omitted, prints\n"
"    the current value of the mask.\n"
"    \n"
"    If MODE begins with a digit, it is interpreted as an octal number;\n"
"    otherwise it is a symbolic mode string like that accepted by chmod(1).\n"
"    \n"
"    Options:\n"
"      -p\tif MODE is omitted, output in a form that may be reused as input\n"
"      -S\tmakes the output symbolic; otherwise an octal number is output\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
"Hiển thị hoặc đặt mặt nạ chế độ tập tin.\n"
"\n"
"    Đặt mặt nạ tạo tập tin của người dùng thành CHẾ_ĐỘ. Không tham số\n"
"    thì in chế độ hiện thời.\n"
"\n"
"    Nếu CHẾ_ĐỘ bắt đầu bằng chữ số thì hiểu là số bát phân; không thì\n"
"    nó là chuỗi chế độ ký hiệu được chmod(1) chấp nhận.\n"
"\n"
"    Tùy chọn:\n"
"      -p\tkhông có CHẾ_ĐỘ thì xuất theo định dạng dùng lại\n"
"        \tlàm dữ liệu đầu vào\n"
"      -S\tin kết xuất ký hiệu thay vì bát phân\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không có CHẾ_ĐỘ sai hay tùy chọn sai."

#: builtins.c:1485
msgid ""
"Wait for job completion and return exit status.\n"
"    \n"
"    Waits for each process identified by an ID, which may be a process ID or "
"a\n"
"    job specification, and reports its termination status.  If ID is not\n"
"    given, waits for all currently active child processes, and the return\n"
"    status is zero.  If ID is a a job specification, waits for all "
"processes\n"
"    in that job's pipeline.\n"
"    \n"
"    If the -n option is supplied, waits for the next job to terminate and\n"
"    returns its exit status.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last ID; fails if ID is invalid or an invalid\n"
"    option is given."
msgstr ""
"Chờ công việc chạy xong và trả về trạng thái thoát.\n"
"\n"
"    Đợi tiến trình xác định bởi ID, có thể là mã số tiến trình hay đặc\n"
"    tả công việc, sau đó trả về trạng thái kết thúc của nó. Không có\n"
"    ID thì đợi tất cả các tiến trình con đang chạy và trạng thái trả\n"
"    về là không. Nếu ID là đặc tả công việc thì đợi tất cả các tiến\n"
"    trình vẫn nằm trong ống dẫn của công việc đó.\n"
"    \n"
"    Nếu tùy-chọn -n được áp dùng thì đợi cho đến khi công việc kế chấm dứt "
"và\n"
"    trả về trạng thái thoát của nó.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả về trạng thái của ID cuối; không thành công nếu ID sai hoặc đưa\n"
"    ra tùy chọn sai."

#: builtins.c:1506
msgid ""
"Wait for process completion and return exit status.\n"
"    \n"
"    Waits for each process specified by a PID and reports its termination "
"status.\n"
"    If PID is not given, waits for all currently active child processes,\n"
"    and the return status is zero.  PID must be a process ID.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last PID; fails if PID is invalid or an "
"invalid\n"
"    option is given."
msgstr ""
"Đợi tiến trình chạy xong và trả về trạng thái thoát.\n"
"\n"
"    Đợi từng tiến trình đã chỉ ra theo PID và báo cáo trạng thái kết thúc\n"
"    của nó. Nếu không chỉ ra PID thì đợi tất cả các tiến trình con đang\n"
"    chạy, và mã về là không. PID phải là mã số tiến trình.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của PID; không thành công nếu PID sai, hoặc nếu\n"
"    đưa ra tùy chọn sai."

#: builtins.c:1521
msgid ""
"Execute commands for each member in a list.\n"
"    \n"
"    The `for' loop executes a sequence of commands for each member in a\n"
"    list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
"    assumed.  For each element in WORDS, NAME is set to that element, and\n"
"    the COMMANDS are executed.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Thực thi lệnh cho từng phần tử nằm trong danh sách.\n"
"\n"
"    Vòng lặp “for” thực thi lệnh cho từng phần tử nằm trong danh sách. "
"Không\n"
"    ghi “in TỪ ...” thì ngầm định “in \"$@\"”. Đối với mỗi phần tử trong\n"
"    danh sách, đặt giá trị phần tử đó cho biến TÊN rồi thực thi CÁC;CÂU;"
"LỆNH.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được chạy."

#: builtins.c:1535
msgid ""
"Arithmetic for loop.\n"
"    \n"
"    Equivalent to\n"
"    \t(( EXP1 ))\n"
"    \twhile (( EXP2 )); do\n"
"    \t\tCOMMANDS\n"
"    \t\t(( EXP3 ))\n"
"    \tdone\n"
"    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is\n"
"    omitted, it behaves as if it evaluates to 1.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Số học cho vòng lặp.\n"
"\n"
"    Tương đương với:\n"
"    \t(( BTHỨC1 ))\n"
"    \twhile (( BTHỨC2 )); do\n"
"    \t\tCÁC;CÂU;LỆNH;\n"
"    \t\t(( BTHỨC3 ))\n"
"    \tdone\n"
"    BTHỨC1, BTHỨC2 và BTHỨC3 là biểu thức số học. Ngầm định 1 cho bất\n"
"    kì biểu thức bỏ trống nào.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được chạy."

#: builtins.c:1553
msgid ""
"Select words from a list and execute commands.\n"
"    \n"
"    The WORDS are expanded, generating a list of words.  The\n"
"    set of expanded words is printed on the standard error, each\n"
"    preceded by a number.  If `in WORDS' is not present, `in \"$@\"'\n"
"    is assumed.  The PS3 prompt is then displayed and a line read\n"
"    from the standard input.  If the line consists of the number\n"
"    corresponding to one of the displayed words, then NAME is set\n"
"    to that word.  If the line is empty, WORDS and the prompt are\n"
"    redisplayed.  If EOF is read, the command completes.  Any other\n"
"    value read causes NAME to be set to null.  The line read is saved\n"
"    in the variable REPLY.  COMMANDS are executed after each selection\n"
"    until a break command is executed.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Chọn từ từ một danh sách và thực thi lệnh.\n"
"\n"
"    TỪ được triển khai, phát sinh danh sách từ. Tập hợp các từ kết quả được\n"
"    in ra đầu ra lỗi chuẩn với một con số ở phía trước. Ngầm định “in\n"
"    \"$@\"” nếu không có “in TỪ”. Dấu nhắc PS3 được hiển thị và một dòng\n"
"    được đọc từ đầu nhập chuẩn. Nếu dòng bao gồm số tương ứng với từ\n"
"    hiển thị thì đặt từ đó vào biến TÊN. Nếu dòng rỗng thì hiển thị\n"
"    lại TỪ và dấu nhắc. Nếu gặp EOF thì kết thúc. Đặt TÊN là rỗng với\n"
"    các giá trị khác. Dòng đọc được lưu vào biến REPLY. LỆNH được thực\n"
"    thi sau mỗi lần chọn đến khi gặp lệnh “break”.\n"
"\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được chạy."

#: builtins.c:1574
msgid ""
"Report time consumed by pipeline's execution.\n"
"    \n"
"    Execute PIPELINE and print a summary of the real time, user CPU time,\n"
"    and system CPU time spent executing PIPELINE when it terminates.\n"
"    \n"
"    Options:\n"
"      -p\tprint the timing summary in the portable Posix format\n"
"    \n"
"    The value of the TIMEFORMAT variable is used as the output format.\n"
"    \n"
"    Exit Status:\n"
"    The return status is the return status of PIPELINE."
msgstr ""
"Thông báo thời gian sử dụng để thực thi ống dẫn.\n"
"\n"
"    Thực thi ỐNG-DẪN và in tóm tắt thời gian thật, thời gian CPU người\n"
"    dùng, và thời gian CPU hệ thống được dùng để thực thi ống dẫn đến\n"
"    khi chấm dứt.\n"
"\n"
"    Tùy chọn:\n"
"      -p\tin bản tóm tắt thời gian theo định dạng POSIX\n"
"\n"
"    Giá trị biến TIMEFORMAT được dùng làm định dạng kết xuất.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trạng thái trả về là trạng thái trả về của ỐNG-DẪN."

#: builtins.c:1591
msgid ""
"Execute commands based on pattern matching.\n"
"    \n"
"    Selectively execute COMMANDS based upon WORD matching PATTERN.  The\n"
"    `|' is used to separate multiple patterns.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Thực thi lệnh chọn theo mẫu.\n"
"\n"
"    Thực thi LỆNH một cách chọn dựa vào TỪ tương ứng với MẪU. Nhiều\n"
"    mẫu cách nhau bằng “|”.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được chạy."

#: builtins.c:1603
msgid ""
"Execute commands based on conditional.\n"
"    \n"
"    The `if COMMANDS' list is executed.  If its exit status is zero, then "
"the\n"
"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list "
"is\n"
"    executed in turn, and if its exit status is zero, the corresponding\n"
"    `then COMMANDS' list is executed and the if command completes.  "
"Otherwise,\n"
"    the `else COMMANDS' list is executed, if present.  The exit status of "
"the\n"
"    entire construct is the exit status of the last command executed, or "
"zero\n"
"    if no condition tested true.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Thực thi câu lệnh có điều kiện.\n"
"\n"
"    Danh sách “if CÁC;CÂU;LỆNH” được thực thi. Nếu trạng thái thoát là "
"không,\n"
"    thì thực thi danh sách “then LỆNH”. Không thì thực thi lần lượt\n"
"    mỗi danh sách “elif LỆNH”. và nếu trạng thái thoát là không, thì\n"
"    thực thi danh sách “then LỆNH” tương ứng và hoàn tất lệnh\n"
"    “if”. Không thì thực thi danh sách “else LỆNH” nếu có. Trạng thái\n"
"    thoát của toàn bộ lệnh “if” là trạng thái của lệnh cuối cùng được\n"
"    chạy, hoặc không nếu không có điều kiện nào trả về kết quả là\n"
"    đúng.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được chạy."

#: builtins.c:1620
msgid ""
"Execute commands as long as a test succeeds.\n"
"    \n"
"    Expand and execute COMMANDS as long as the final command in the\n"
"    `while' COMMANDS has an exit status of zero.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Thực thi lệnh chừng nào phép thử còn thành công.\n"
"\n"
"    Khai triển và thực thi CÁC;CÂU;LỆNH chừng nào lệnh cuối cùng trong "
"“while” LỆNH\n"
"    có trạng thái thoát là không.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được chạy."

#: builtins.c:1632
msgid ""
"Execute commands as long as a test does not succeed.\n"
"    \n"
"    Expand and execute COMMANDS as long as the final command in the\n"
"    `until' COMMANDS has an exit status which is not zero.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Thực thi lệnh chừng nào phép thử vẫn không thành công.\n"
"\n"
"    Khai triển và thực thi CÁC;CÂU;LỆNH chừng nào lệnh cuối cùng trong "
"“until” LỆNH\n"
"    có trạng thái thoát là khác không.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được chạy."

#: builtins.c:1644
msgid ""
"Create a coprocess named NAME.\n"
"    \n"
"    Execute COMMAND asynchronously, with the standard output and standard\n"
"    input of the command connected via a pipe to file descriptors assigned\n"
"    to indices 0 and 1 of an array variable NAME in the executing shell.\n"
"    The default NAME is \"COPROC\".\n"
"    \n"
"    Exit Status:\n"
"    Returns the exit status of COMMAND."
msgstr ""
"Tạo tiến trình phụ tên TÊN.\n"
"\n"
"    Thực hiện LỆNH không đồng bộ có đầu vào/ra chuẩn nối đến ống dẫn\n"
"    của bộ mô tả tập tin chỉ số 0 và 1 trong biến mảng TÊN trong hệ vỏ\n"
"    được thực thi. TÊN mặc định là \"COPROC\".\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái thoát của câu LỆNH."

#: builtins.c:1658
msgid ""
"Define shell function.\n"
"    \n"
"    Create a shell function named NAME.  When invoked as a simple command,\n"
"    NAME runs COMMANDs in the calling shell's context.  When NAME is "
"invoked,\n"
"    the arguments are passed to the function as $1...$n, and the function's\n"
"    name is in $FUNCNAME.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless NAME is readonly."
msgstr ""
"Định nghĩa hàm hệ vỏ.\n"
"\n"
"    Tạo hàm hệ vỏ tên TÊN. Khi được gọi dưới dạng một câu lệnh đơn\n"
"    giản, TÊN chạy LỆNH trong ngữ cảnh của hệ vỏ gọi. Khi TÊN được\n"
"    gọi, các đối số được gửi cho hàm dạng $1...$n, và tên hàm nằm\n"
"    trong $FUNCNAME.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu TÊN không phải chỉ đọc."

#: builtins.c:1672
msgid ""
"Group commands as a unit.\n"
"    \n"
"    Run a set of commands in a group.  This is one way to redirect an\n"
"    entire set of commands.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the last command executed."
msgstr ""
"Nhóm lệnh làm một đơn vị.\n"
"\n"
"    Chạy tập hợp các lệnh trong cùng một nhóm. Đây là một cách để\n"
"    chuyển hướng toàn bộ một nhóm lệnh.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của câu lệnh cuối cùng được chạy."

#: builtins.c:1684
msgid ""
"Resume job in foreground.\n"
"    \n"
"    Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a\n"
"    stopped or background job.  JOB_SPEC can specify either a job name\n"
"    or a job number.  Following JOB_SPEC with a `&' places the job in\n"
"    the background, as if the job specification had been supplied as an\n"
"    argument to `bg'.\n"
"    \n"
"    Exit Status:\n"
"    Returns the status of the resumed job."
msgstr ""
"Tiếp tục lại công việc ở trước.\n"
"\n"
"    Tương đương với đối số đặc tả công việc ĐTCV trong lệnh “fg”.\n"
"    Tiếp tục lại công việc bị dừng chạy hay chạy nền. ĐTCV có thể xác\n"
"    định tên công việc hoặc mã số công việc. Đặt “&” sau ĐTCV sẽ chạy\n"
"    công việc ở nền, như là đối số đặc tả công việc trong “bg”.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại trạng thái của công việc đã tiếp tục lại."

#: builtins.c:1699
msgid ""
"Evaluate arithmetic expression.\n"
"    \n"
"    The EXPRESSION is evaluated according to the rules for arithmetic\n"
"    evaluation.  Equivalent to \"let EXPRESSION\".\n"
"    \n"
"    Exit Status:\n"
"    Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
"Định giá biểu thức số học.\n"
"\n"
"    BTHỨC được tính tùy theo các quy tắc về định giá số học.\n"
"    Tương đương với “let BTHỨC”.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại 1 nếu BTHỨC tính là 0; không thì trả lại 0."

#: builtins.c:1711
msgid ""
"Execute conditional command.\n"
"    \n"
"    Returns a status of 0 or 1 depending on the evaluation of the "
"conditional\n"
"    expression EXPRESSION.  Expressions are composed of the same primaries "
"used\n"
"    by the `test' builtin, and may be combined using the following "
"operators:\n"
"    \n"
"      ( EXPRESSION )\tReturns the value of EXPRESSION\n"
"      ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
"      EXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
"      EXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
"    \n"
"    When the `==' and `!=' operators are used, the string to the right of\n"
"    the operator is used as a pattern and pattern matching is performed.\n"
"    When the `=~' operator is used, the string to the right of the operator\n"
"    is matched as a regular expression.\n"
"    \n"
"    The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
"    determine the expression's value.\n"
"    \n"
"    Exit Status:\n"
"    0 or 1 depending on value of EXPRESSION."
msgstr ""
"Thực thi câu lệnh có điều kiện.\n"
"\n"
"    Trả về trạng thái 0 hoặc 1 tuỳ vào phép tính biểu thức điều kiện\n"
"    BTHỨC. Biểu thức bao gồm các thành phần dùng trong lệnh dựng sẵn\n"
"    “test” và có thể được tổ hợp bằng các toán tử sau:\n"
"    \n"
"      ( BTHỨC )\t\tTrả về giá trị của BTHỨC\n"
"      ! BTHỨC\t\tĐúng nếu BTHỨC là không đúng. Ngược lại sai\n"
"      BTHỨC1 && BTHỨC2\tĐúng nếu cả hai biểu thức đều đúng. Ngược lại sai.\n"
"      BTHỨC1 || BTHỨC2\tĐúng nếu một trong hai biểu thức đúng. Ngược lại "
"sai.\n"
"    \n"
"    Khi dùng toán từ “==” và “!=”, chuỗi bên phải toán tử được dùng\n"
"    làm mẫu, và thực hiện khớp mẫu. Khi dùng toán tử “=~”, chuỗi bên\n"
"    phải toán tử được dùng làm biểu thức chính quy.\n"
"\n"
"    Toán tử “&&” và “||” không tính BTHỨC2 nếu BTHỨC1 đủ để xác định\n"
"    giá trị toàn biểu thức.\n"
"\n"
"    Trạng thái thoát:\n"
"    0 hay 1 phụ thuộc vào giá trị của BTHỨC."

#: builtins.c:1737
msgid ""
"Common shell variable names and usage.\n"
"    \n"
"    BASH_VERSION\tVersion information for this Bash.\n"
"    CDPATH\tA colon-separated list of directories to search\n"
"    \t\tfor directories given as arguments to `cd'.\n"
"    GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
"    \t\tbe ignored by pathname expansion.\n"
"    HISTFILE\tThe name of the file where your command history is stored.\n"
"    HISTFILESIZE\tThe maximum number of lines this file can contain.\n"
"    HISTSIZE\tThe maximum number of history lines that a running\n"
"    \t\tshell can access.\n"
"    HOME\tThe complete pathname to your login directory.\n"
"    HOSTNAME\tThe name of the current host.\n"
"    HOSTTYPE\tThe type of CPU this version of Bash is running under.\n"
"    IGNOREEOF\tControls the action of the shell on receipt of an EOF\n"
"    \t\tcharacter as the sole input.  If set, then the value\n"
"    \t\tof it is the number of EOF characters that can be seen\n"
"    \t\tin a row on an empty line before the shell will exit\n"
"    \t\t(default 10).  When unset, EOF signifies the end of input.\n"
"    MACHTYPE\tA string describing the current system Bash is running on.\n"
"    MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
"    MAILPATH\tA colon-separated list of filenames which Bash checks\n"
"    \t\tfor new mail.\n"
"    OSTYPE\tThe version of Unix this version of Bash is running on.\n"
"    PATH\tA colon-separated list of directories to search when\n"
"    \t\tlooking for commands.\n"
"    PROMPT_COMMAND\tA command to be executed before the printing of each\n"
"    \t\tprimary prompt.\n"
"    PS1\t\tThe primary prompt string.\n"
"    PS2\t\tThe secondary prompt string.\n"
"    PWD\t\tThe full pathname of the current directory.\n"
"    SHELLOPTS\tA colon-separated list of enabled shell options.\n"
"    TERM\tThe name of the current terminal type.\n"
"    TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
"    \t\t`time' reserved word.\n"
"    auto_resume\tNon-null means a command word appearing on a line by\n"
"    \t\titself is first looked for in the list of currently\n"
"    \t\tstopped jobs.  If found there, that job is foregrounded.\n"
"    \t\tA value of `exact' means that the command word must\n"
"    \t\texactly match a command in the list of stopped jobs.  A\n"
"    \t\tvalue of `substring' means that the command word must\n"
"    \t\tmatch a substring of the job.  Any other value means that\n"
"    \t\tthe command must be a prefix of a stopped job.\n"
"    histchars\tCharacters controlling history expansion and quick\n"
"    \t\tsubstitution.  The first character is the history\n"
"    \t\tsubstitution character, usually `!'.  The second is\n"
"    \t\tthe `quick substitution' character, usually `^'.  The\n"
"    \t\tthird is the `history comment' character, usually `#'.\n"
"    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
"    \t\tcommands should be saved on the history list.\n"
msgstr ""
"Tên và cách dùng các biến hệ vỏ thường dùng.\n"
"\n"
"    BASH_VERSION\n"
"        \tThông tin phiên bản của Bash đang chạy.\n"
"    CDPATH\tDanh sách thư mục cách nhau bằng dấu hai chấm để tìm\n"
"        \tđối số thư mục trong lệnh “cd”.\n"
"    GLOBIGNORE\tDanh sách mẫu cách nhau bằng dấu hai chấm diễn tả\n"
"        \ttên tập tin bị bỏ qua không bung đường dẫn.\n"
"    HISTFILE\tTên tập tin chứa lịch sử câu lệnh của bạn.\n"
"    HISTFILESIZE\n"
"        \tSố dòng tối đa tập tin này có thể chứa.\n"
"    HISTSIZE\tSố dòng tối đa mà hệ vỏ đang chạy có thể truy cập.\n"
"    HOME\tTên đường dẫn đầy đủ của thư mục đăng nhập của bạn.\n"
"    HOSTNAME\tTên của máy hiện thời của bạn.\n"
"    HOSTTYPE\tLoại CPU phiên bản Bash này đang chạy.\n"
"    IGNOREEOF\tĐiều khiển hành vi hệ vỏ khi nhận EOF là dữ liệu nhập\n"
"        \tduy nhất. Đặt thì giá trị của nó là EOF có thể gặp\n"
"        \tliên tục trên một dòng rỗng trước khi hệ vỏ kết thúc\n"
"        \t(mặc định là 10). Không đặt thì EOF nghĩa là kết thúc\n"
"        \tnhập.\n"
"    MACHTYPE\tChuỗi mô tả hệ thống Bash đang chạy.\n"
"    MAILCHECK\tSố giây giữa hai lần Bash kiểm tra có thư mới không.\n"
"    MAILPATH\tDanh sách tên tập tin cách nhau bằng dấu hai chấm\n"
"        \tđể Bash kiểm tra có thư mới không.\n"
"    OSTYPE\tPhiên bản UNIX Bash đang chạy.\n"
"    PATH\tDanh sách thư mục cách nhau bằng dấu hai chấm để tìm lệnh.\n"
"    PROMPT_COMMAND\n"
"        \tLệnh cần thực hiện trước khi in dấu nhắc chính.\n"
"    PS1\t\tChuỗi dấu nhắc chính.\n"
"    PS2\t\tChuỗi dấu nhắc phụ.\n"
"    PWD\t\tTên đường dẫn đầy đủ của thư mục hiện tại.\n"
"    SHELLOPTS\tDanh sách tùy chọn hệ vỏ được bật cách nhau bằng\n"
"        \tdấu hai chấm.\n"
"    TERM\tTên kiểu thiết bị cuối hiện thời.\n"
"    TIMEFORMAT\tĐịnh dạng kết xuất cho thống kê thời gian của lệnh “time”.\n"
"    auto_resume\tGiá trị khác rỗng thì trước tiên tìm một từ lệnh xuất\n"
"        \thiện một mình trên một dòng, trong danh sách các công\n"
"        \tviệc bị dừng chạy. Tìm ra thì đặt công việc đó vào nền\n"
"        \ttrước. Giá trị “exact” có nghĩa là từ lệnh phải tương\n"
"        \tứng chính xác với một câu lệnh trong danh sách các\n"
"        \tcông việc bị dừng chạy. Giá trị “substring” có nghĩa\n"
"        \tlà từ lệnh phải tương ứng với một chuỗi phụ của công\n"
"        \tviệc đó.\n"
"    histchars\tCác ký tự điều khiển bung và thay thế lịch sử. Ký tự\n"
"        \tđầu tiên thường là ký tự thay thế lịch sử, thường là\n"
"        \t“!”. Ký tự thứ hai là ký tự thay thế nhanh, thường là\n"
"        \t“^”. Ký tự thứ ba là ký tự ghi chú về lịch sử, thường\n"
"        \tlà “#”.\n"
"    HISTIGNORE\tDanh sách mẫu cách bằng dấu hai chấm dùng để quyết định\n"
"        \tnhững câu lệnh nào nên được lưu vào danh sách lịch sử.\n"

#: builtins.c:1794
msgid ""
"Add directories to stack.\n"
"    \n"
"    Adds a directory to the top of the directory stack, or rotates\n"
"    the stack, making the new top of the stack the current working\n"
"    directory.  With no arguments, exchanges the top two directories.\n"
"    \n"
"    Options:\n"
"      -n\tSuppresses the normal change of directory when adding\n"
"    \tdirectories to the stack, so only the stack is manipulated.\n"
"    \n"
"    Arguments:\n"
"      +N\tRotates the stack so that the Nth directory (counting\n"
"    \tfrom the left of the list shown by `dirs', starting with\n"
"    \tzero) is at the top.\n"
"    \n"
"      -N\tRotates the stack so that the Nth directory (counting\n"
"    \tfrom the right of the list shown by `dirs', starting with\n"
"    \tzero) is at the top.\n"
"    \n"
"      dir\tAdds DIR to the directory stack at the top, making it the\n"
"    \tnew current working directory.\n"
"    \n"
"    The `dirs' builtin displays the directory stack.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid argument is supplied or the directory\n"
"    change fails."
msgstr ""
"Thêm thư mục vào chồng.\n"
"\n"
"    Thêm thư mục vào đầu của chồng thư mục, hoặc xoay chồng, làm cho\n"
"    thư mục mới đầu chồng là thư mục làm việc hiện thời. Không có đối\n"
"    số thì trao đổi hai thư mục đầu.\n"
"\n"
"      -n\tNgăn  chuyển đổi bình thường khi thêm thư mục\n"
"        \tvào chồng, để thao tác chỉ chồng.\n"
"\n"
"      +N\tXoay chồng để thư mục thứ N (đếm từ trái danh sách\n"
"        \t“dirs” (bắt đầu từ số không) dời lên đầu.\n"
"\n"
"      -N\tXoay chồng để thư mục thứ N (đếm từ phải danh sách\n"
"        \t“dirs” (bắt đầu từ số không) dời lên đầu.\n"
"\n"
"      dir\tThêm THMỤC vào đầu chồng thư mục, cho nó làm thư mục\n"
"        \tlàm việc hiện thời mới.\n"
"\n"
"    Lệnh dựng sẵn “dirs” hiển thị chồng thư mục.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra đối số sai, cũng không sai\n"
"    chuyển đổi thư mục."

#: builtins.c:1828
msgid ""
"Remove directories from stack.\n"
"    \n"
"    Removes entries from the directory stack.  With no arguments, removes\n"
"    the top directory from the stack, and changes to the new top directory.\n"
"    \n"
"    Options:\n"
"      -n\tSuppresses the normal change of directory when removing\n"
"    \tdirectories from the stack, so only the stack is manipulated.\n"
"    \n"
"    Arguments:\n"
"      +N\tRemoves the Nth entry counting from the left of the list\n"
"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
"    \tremoves the first directory, `popd +1' the second.\n"
"    \n"
"      -N\tRemoves the Nth entry counting from the right of the list\n"
"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
"    \tremoves the last directory, `popd -1' the next to last.\n"
"    \n"
"    The `dirs' builtin displays the directory stack.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid argument is supplied or the directory\n"
"    change fails."
msgstr ""
"Gỡ bỏ thư mục khỏi chồng.\n"
"\n"
"    Gỡ bỏ thư mục khỏi chồng thư mục. Không có đối số thì gỡ bỏ thư\n"
"    mục đầu khỏi chồng và “cd” sang thư mục đầu mới.\n"
"\n"
"      -n\tNgăn chuyển đổi bình thường khi gỡ bỏ thư mục\n"
"        \tkhỏi chồng, để thao tác chỉ chồng.\n"
"\n"
"      +N\tGỡ bỏ thư mục thứ N (đếm từ trái danh sách\n"
"        \t“dirs”  (bắt đầu từ số không). Ví dụ: “popd +0” bỏ\n"
"        \tthư mục cuối cùng, “popd +1” bỏ thư mục thứ hai.\n"
"\n"
"      -N\tGỡ bỏ thư mục thứ N (đếm từ phải danh sách\n"
"        \t“dirs” (bắt đầu từ số không). Ví dụ: “popd -0” bỏ\n"
"        \tthư mục cuối cùng, “popd -1”  bỏ thư mục giáp cuối.\n"
"\n"
"    Lệnh dựng sẵn “dirs” hiển thị đống thư mục.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra đối số sai, cũng không sai\n"
"    chuyển đổi thư mục."

#: builtins.c:1858
msgid ""
"Display directory stack.\n"
"    \n"
"    Display the list of currently remembered directories.  Directories\n"
"    find their way onto the list with the `pushd' command; you can get\n"
"    back up through the list with the `popd' command.\n"
"    \n"
"    Options:\n"
"      -c\tclear the directory stack by deleting all of the elements\n"
"      -l\tdo not print tilde-prefixed versions of directories relative\n"
"    \tto your home directory\n"
"      -p\tprint the directory stack with one entry per line\n"
"      -v\tprint the directory stack with one entry per line prefixed\n"
"    \twith its position in the stack\n"
"    \n"
"    Arguments:\n"
"      +N\tDisplays the Nth entry counting from the left of the list shown "
"by\n"
"    \tdirs when invoked without options, starting with zero.\n"
"    \n"
"      -N\tDisplays the Nth entry counting from the right of the list shown "
"by\n"
"    \tdirs when invoked without options, starting with zero.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Hiển thị chồng thư mục.\n"
"    \n"
"    Hiển thị danh sách các thư mục được nhớ hiện thời. Lệnh “pushd”\n"
"    thêm thư mục vào danh sách; lệnh “popd” lấy thư mục khỏi danh\n"
"    sách.\n"
"    \n"
"    Tùy chọn:\n"
"      -c\txoá mọi phần tử trong chồng thư mục\n"
"      -l\tđừng in phiên bản thư mục có dấu ngã\n"
"        \t(tương đối so với thư mục chính của người dùng)\n"
"      -p\tin chồng thư mục, mỗi dòng một mục\n"
"      -v\tin chồng thư mục, mỗi dòng một mục kèm vị trí trong chồng\n"
"    \n"
"    Đối số:\n"
"      +N\thiển thị mục thứ N bắt đầu từ bên trái danh sách\n"
"                được hiển thị bằng “dirs” khi được gọi mà không đưa ra\n"
"                tùy chọn, bắt đầu từ số không.\n"
"    \n"
"      -N\thiển thị mục thứ N bắt đầu từ bên phải danh sách\n"
"                được hiển thị bằng “dirs” khi được gọi mà không đưa ra\n"
"                tùy chọn, bắt đầu từ số không.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả về thành công nếu không đưa ra tùy chọn sai hay gặp lỗi."

#: builtins.c:1887
msgid ""
"Set and unset shell options.\n"
"    \n"
"    Change the setting of each shell option OPTNAME.  Without any option\n"
"    arguments, list all shell options with an indication of whether or not "
"each\n"
"    is set.\n"
"    \n"
"    Options:\n"
"      -o\trestrict OPTNAMEs to those defined for use with `set -o'\n"
"      -p\tprint each shell option with an indication of its status\n"
"      -q\tsuppress output\n"
"      -s\tenable (set) each OPTNAME\n"
"      -u\tdisable (unset) each OPTNAME\n"
"    \n"
"    Exit Status:\n"
"    Returns success if OPTNAME is enabled; fails if an invalid option is\n"
"    given or OPTNAME is disabled."
msgstr ""
"Đặt và bỏ các tùy chọn hệ vỏ.\n"
"    \n"
"    Thay đổi thiết lập của mỗi tùy chọn hệ vỏ TÊN_TÙY_CHỌN.  Không có\n"
"    đối số tùy chọn thì liệt kê tất cả các tùy chọn hệ vỏ kèm chỉ dẫn\n"
"    tùy chọn được đặt hay không.\n"
"    \n"
"    Tùy chọn:\n"
"      -o\thạn chế TÊN_TÙY_CHỌN những tên được định nghĩa\n"
"        \tđể sử dụng với “set -o”\n"
"      -p\tin mỗi tùy chọn hệ vỏ kèm trạng thái\n"
"      -q\tngăn kết xuất\n"
"      -u\ttắt TÊN_TÙY_CHỌN\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu TÊN_TÙY_CHỌN được bật; không thành công nếu\n"
"    đưa ra tùy chọn sai hay TÊN_TÙY_CHỌN bị tắt."

#: builtins.c:1908
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
"    \n"
"    Options:\n"
"      -v var\tassign the output to shell variable VAR rather than\n"
"    \t\tdisplay it on the standard output\n"
"    \n"
"    FORMAT is a character string which contains three types of objects: "
"plain\n"
"    characters, which are simply copied to standard output; character "
"escape\n"
"    sequences, which are converted and copied to the standard output; and\n"
"    format specifications, each of which causes printing of the next "
"successive\n"
"    argument.\n"
"    \n"
"    In addition to the standard format specifications described in "
"printf(1),\n"
"    printf interprets:\n"
"    \n"
"      %b\texpand backslash escape sequences in the corresponding argument\n"
"      %q\tquote the argument in a way that can be reused as shell input\n"
"      %(fmt)T output the date-time string resulting from using FMT as a "
"format\n"
"            string for strftime(3)\n"
"    \n"
"    The format is re-used as necessary to consume all of the arguments.  If\n"
"    there are fewer arguments than the format requires,  extra format\n"
"    specifications behave as if a zero value or null string, as "
"appropriate,\n"
"    had been supplied.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or a write or "
"assignment\n"
"    error occurs."
msgstr ""
"Định dạng và in ĐỐI-SỐ theo điều khiển của ĐỊNH_DẠNG.\n"
"    \n"
"    Tùy chọn:\n"
"      -v BIẾN\tgán kết xuất cho biến hệ vỏ này thay vì\n"
"        \thiển thị nó trên đầu ra chuẩn\n"
"    \n"
"    ĐỊNH_DẠNG là chuỗi ký tự mà chứa ba kiểu đối tượng: ký tự bình\n"
"    thường, cái này được chép ra đầu ra chuẩn; dãy ký tự thoát, dùng để\n"
"    chuyển đổi sau đó sao chép sang đầu ra chuẩn; và các ký hiệu đặc tả định "
"dạng,\n"
"    mỗi đặc tả này tác động lên đối số tương ứng.\n"
"    \n"
"    Ngoài đặc tả định dạng chuẩn được dùng trong printf(1) và printf(3),\n"
"    printf được hiểu những đặc tả sau:\n"
"    \n"
"      %b\tbung dãy thoát gạch chéo ngược trong đối số tương ứng\n"
"      %q\ttrích dẫn đối số theo cách dùng lại làm dữ liệu đầu vào hệ vỏ\n"
"      %(fmt)T\txuất chuỗi ngày tháng theo định dạng FMT từ strftime(3)\n"
"    \n"
"    Định dạng được dùng lại để có thể dùng hết đối số. Nếu\n"
"    ở đây có ít đối số hơn yêu cầu của định dạng, định dạng thừa đó được\n"
"    xử lý theo cách là sẽ có giá trị bằng số không hay chuỗi rỗng,\n"
"    được áp dụng.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ phi đưa ra tùy chọn sai hay gặp lỗi khi ghi\n"
"    hay gán."

#: builtins.c:1942
msgid ""
"Specify how arguments are to be completed by Readline.\n"
"    \n"
"    For each NAME, specify how arguments are to be completed.  If no "
"options\n"
"    are supplied, existing completion specifications are printed in a way "
"that\n"
"    allows them to be reused as input.\n"
"    \n"
"    Options:\n"
"      -p\tprint existing completion specifications in a reusable format\n"
"      -r\tremove a completion specification for each NAME, or, if no\n"
"    \tNAMEs are supplied, all completion specifications\n"
"      -D\tapply the completions and actions as the default for commands\n"
"    \twithout any specific completion defined\n"
"      -E\tapply the completions and actions to \"empty\" commands --\n"
"    \tcompletion attempted on a blank line\n"
"    \n"
"    When completion is attempted, the actions are applied in the order the\n"
"    uppercase-letter options are listed above.  The -D option takes\n"
"    precedence over -E.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Chỉ định cách tự hoàn thiện đối số bằng Readline.\n"
"\n"
"    Đối với mỗi TÊN, ghi rõ các đối số sẽ được tự hoàn thiện như thế nào.\n"
"    Không đưa ra tùy chọn thì in ra các đặc tả tự hoàn thiện bằng một cách\n"
"    cho phép dùng lại đặc tả làm dữ liệu nhập vào.\n"
"\n"
"    Tùy chọn:\n"
"      -p\tin đặc tả tự hoàn thiện đã tồn tại theo định dạng dùng lại được\n"
"      -r\tgỡ bỏ đặc tả tự hoàn thiện cho mỗi TÊN,\n"
"        \thoặc nếu có TÊN thì gỡ bỏ tất cả các đặc tả tự hoàn thiện\n"
"      -D\táp dụng các sự hoàn thành và hành động làm mặc định\n"
"\t\tcho câu lệnh mà không xác định sự hoàn thành riêng\n"
"      -E\táp dụng các sự hoàn thành và hành động cho câu lệnh “trống”\n"
"\t\t(empty) -- thử hoàn thành trên dòng trắng\n"
"\n"
"    Khi chức năng tự hoàn thiện được thử, những hành động được làm theo thứ\n"
"    tự của những tùy chọn chữ HOA bên trên.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra tùy chọn sai hay gặp lỗi."

#: builtins.c:1970
msgid ""
"Display possible completions depending on the options.\n"
"    \n"
"    Intended to be used from within a shell function generating possible\n"
"    completions.  If the optional WORD argument is supplied, matches "
"against\n"
"    WORD are generated.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Hiển thị từ gợi ý có thể phụ thuộc vào các tùy chọn.\n"
"    \n"
"    Dự định dùng từ bên trong một chức năng hệ vỏ mà tạo các việc\n"
"    tự hoàn thiện có thể làm. Nếu đưa ra đối số TỪ vẫn tùy chọn, thì tạo\n"
"    các kết quả tương ứng với TỪ.\n"
"    \n"
"    Trạng thái thoát:\n"
"    Trả lại thành công nếu không đưa ra tùy chọn sai hay gặp lỗi."

#: builtins.c:1985
msgid ""
"Modify or display completion options.\n"
"    \n"
"    Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
"    the completion currently being executed.  If no OPTIONs are given, "
"print\n"
"    the completion options for each NAME or the current completion "
"specification.\n"
"    \n"
"    Options:\n"
"    \t-o option\tSet completion option OPTION for each NAME\n"
"    \t-D\t\tChange options for the \"default\" command completion\n"
"    \t-E\t\tChange options for the \"empty\" command completion\n"
"    \n"
"    Using `+o' instead of `-o' turns off the specified option.\n"
"    \n"
"    Arguments:\n"
"    \n"
"    Each NAME refers to a command for which a completion specification must\n"
"    have previously been defined using the `complete' builtin.  If no NAMEs\n"
"    are supplied, compopt must be called by a function currently generating\n"
"    completions, and the options for that currently-executing completion\n"
"    generator are modified.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or NAME does not\n"
"    have a completion specification defined."
msgstr ""
"Sửa đổi hoặc hiển thị các tùy chọn tự hoàn thiện.\n"
"\n"
"    Sửa đổi các tùy chọn tự hoàn thiện đối với mỗi TÊN, hoặc nếu không đưa\n"
"    ra TÊN thì chức năng tự hoàn thiện hiện tại sẽ được thi hành, nếu không\n"
"    TÙY_CHỌN được chỉ ra, in ra các tùy chọn tự hoàn thiện cho mỗi TÊN hay\n"
"    các đặc tính kỹ thuật hiện có\n"
"\n"
"    Tùy chọn:\n"
"      -o tùy_chọn\tđặt TÙY_CHỌN tự hoàn thiện này đối với mỗi TÊN\n"
"      -D\t\tSửa TÙY_CHỌN về tự hoàn thiện lệnh “default”\n"
"      -E\t\tSửa TÙY_CHỌN về tự hoàn thiện lệnh “empty”\n"
"\n"
"    Dùng “+o” thay cho “-o” thì tắt tùy chọn đưa ra.\n"
"\n"
"    Đối số:\n"
"\n"
"    Mỗi TÊN tham chiếu đến một câu lệnh cho đó một đặc tả tự hoàn thiện\n"
"    phải được xác định trước dùng dựng sẵn “complete”. Nếu không đưa\n"
"    ra TÊN để áp dụng, thì “compopt” phải được gọi bởi một hàm đang\n"
"    tạo việc tự hoàn thiện, và các tùy chọn về hàm tạo việc tự hoàn thiện "
"đang\n"
"    chạy cũng được sửa đổi.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ phi đưa ra tùy chọn sai, hoặc TÊN có một\n"
"    đặc tả tự hoàn thiện được xác định."

#: builtins.c:2015
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
"    \n"
"    Read lines from the standard input into the indexed array variable "
"ARRAY, or\n"
"    from file descriptor FD if the -u option is supplied.  The variable "
"MAPFILE\n"
"    is the default ARRAY.\n"
"    \n"
"    Options:\n"
"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are "
"copied.\n"
"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default "
"index is 0.\n"
"      -s count \tDiscard the first COUNT lines read.\n"
"      -t\t\tRemove a trailing newline from each line read.\n"
"      -u fd\t\tRead lines from file descriptor FD instead of the standard "
"input.\n"
"      -C callback\tEvaluate CALLBACK each time QUANTUM lines are read.\n"
"      -c quantum\tSpecify the number of lines read between each call to "
"CALLBACK.\n"
"    \n"
"    Arguments:\n"
"      ARRAY\t\tArray variable name to use for file data.\n"
"    \n"
"    If -C is supplied without -c, the default quantum is 5000.  When\n"
"    CALLBACK is evaluated, it is supplied the index of the next array\n"
"    element to be assigned and the line to be assigned to that element\n"
"    as additional arguments.\n"
"    \n"
"    If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
"    assigning to it.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is given or ARRAY is readonly "
"or\n"
"    not an indexed array."
msgstr ""
"Đọc các dòng từ đầu vào tiêu chuẩn vào một biến mảng chỉ số.\n"
"\n"
"    Đọc các dòng từ đầu vào tiêu chuẩn vào biến mảng MẢNG, hoặc từ bộ\n"
"    mô tả tập tin FD nếu đưa ra tùy chọn -u. Biến MAPFILE là MẢNG mặc\n"
"    định.\n"
"\n"
"    Tùy chọn:\n"
"      -n SỐ\tsao chép nhiều nhất SỐ dòng. Nếu SỐ là 0 thì sao chép mọi "
"dòng.\n"
"      -O GỐC\tbắt đầu gán cho MẢNG ở chỉ số GỐC. Chỉ số mặc định là 0.\n"
"      -s SỐ\tbỏ qua SỐ dòng đầu tiên được đọc.\n"
"      -t\tgỡ bỏ một ký tự dòng mới theo sau khỏi mỗi dòng được đọc.\n"
"      -u FD\tđọc các dòng từ bộ mô tả tập tin FD thay vào từ đầu vào tiêu "
"chuẩn.\n"
"      -C GỌI_NGƯỢC\tđịnh giá GỌI_NGƯỢC mỗi lần đọc LƯỢNG dòng.\n"
"      -c LƯỢNG\tghi rõ số các dòng được đọc giữa hai lần GỌI_NGƯỢC.\n"
"\n"
"    Đối số:\n"
"      MẢNG\ttên biến mảng cần dùng cho dữ liệu tập tin.\n"
"\n"
"    Nếu đưa ra -C mà không có -c thì lượng mặc định là 5000. Khi ước\n"
"    lượng lời GỌI_NGƯỢC thì nó nhận chỉ số của phần tử mảng kế tiếp\n"
"    được gán dưới dạng một đối số bổ sung.\n"
"\n"
"    Không đưa ra một GỐC dứt khoát thì mapfile (tập tin sơ đồ) sẽ xoá\n"
"    sạch MẢNG trước khi gán cho nó.\n"
"\n"
"    Trạng thái thoát:\n"
"    Trả lại thành công trừ phi đưa ra tùy chọn sai và MẢNG không phải\n"
"    chỉ đọc hay không là một mảng chỉ số."

#: builtins.c:2049
msgid ""
"Read lines from a file into an array variable.\n"
"    \n"
"    A synonym for `mapfile'."
msgstr ""
"Đọc các dòng từ một tập tin vào một biến mảng.\n"
"    \n"
"    Giống chức năng của “mapfile”."

#~ msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
#~ msgstr "Tác quyền (C) năm 2009 của Tổ chức Phần mềm Tự do.\n"

#~ msgid ""
#~ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
#~ "html>\n"
#~ msgstr ""
#~ "Giấy phép GPLv2+: GNU GPL phiên bản 2 hoặc mới hơn <http://gnu.org/"
#~ "licenses/gpl.html>\n"

#~ msgid ""
#~ ".  With EXPR, returns\n"
#~ "    "
#~ msgstr ""
#~ ".  Cũng dùng BTHỨC thì trả lại\n"
#~ "    "

#~ msgid ""
#~ "; this extra information can be used to\n"
#~ "    provide a stack trace.\n"
#~ "    \n"
#~ "    The value of EXPR indicates how many call frames to go back before "
#~ "the\n"
#~ "    current one; the top frame is frame 0."
#~ msgstr ""
#~ "; thông tin thêm này có thể được sử dụng\n"
#~ "\tđể cung cấp một vết đống (stack trace).\n"
#~ "\n"
#~ "\tGiá trị của BTHỨC ngụ ý bao nhiêu khung gọi cần lùi lại\n"
#~ "\ttương đối với cái hiện thời; khung trên cùng là khung 0."
