# Vietnamese translation for BASH (Bourne Again SHell).
# Bản dịch tiếng Việt dành cho bash.
# Copyright © 2015 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.
# Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: bash 4.4-beta1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-28 12:51-0500\n"
"PO-Revision-Date: 2015-10-18 07:47+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"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Gtranslator 2.91.7\n"

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

#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
#: variables.c:3133
#, c-format
msgid "%s: removing nameref attribute"
msgstr ""

#: arrayfunc.c:446 builtins/declare.def:851
#, 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:700
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: khóa mảng liên kết không hợp lệ"

#: arrayfunc.c:702
#, 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:747
#, 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:452
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: không thể tạo: %s"

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

#: bashline.c:4459
#, 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:4488
#, c-format
msgid "no closing `%c' in %s"
msgstr "thiếu dấu đóng “%c” trong %s"

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

#: bashline.c:4555
#, fuzzy, c-format
msgid "`%s': cannot unbind in command keymap"
msgstr "“%s”: không thể tháo"

#: braces.c:327
#, 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:406
#, fuzzy, c-format
msgid "brace expansion: failed to allocate memory for %u 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:451
#, 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:131 variables.c:1844
#, c-format
msgid "`%s': invalid alias name"
msgstr "“%s”: tên bí danh không hợp lệ"

#: builtins/bind.def:122 builtins/bind.def:125
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:252
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: không thể đọc: %s"

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

#: builtins/bind.def:336
#, 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:340
#, c-format
msgid "%s can be invoked via "
msgstr "%s có thể được gọi thông qua "

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

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

#: builtins/break.def:139
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:136
#, fuzzy
msgid ""
"Returns 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."
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/cd.def:327
msgid "HOME not set"
msgstr "Chưa đặt biến môi trường HOME"

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

#: builtins/cd.def:342
#, fuzzy
msgid "null directory"
msgstr "không có thư mục khác"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: builtins/common.c:259
#, 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:266 error.c:510
#, c-format
msgid "%s: readonly variable"
msgstr "%s: biến chỉ đọc"

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

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

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

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

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

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

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

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

#: builtins/common.c:314
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: không phải là lệnh tích hợp trong hệ vỏ"

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

#: builtins/common.c:331
#, 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:333
#, 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:635
#, 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:701 builtins/common.c:703
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: đặc tả công việc chưa rõ ràng"

#: builtins/common.c:964
msgid "help not available in this version"
msgstr "trợ giúp không sẵn có ở phiên bản này"

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

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

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

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

#: builtins/complete.def:688
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:690
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:838
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:134
msgid "can only be used in a function"
msgstr "chỉ có thể dùng trong một hàm"

#: builtins/declare.def:363 builtins/declare.def:756
#, 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:374 variables.c:3385
#, 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:379 variables.c:2104 variables.c:3304 variables.c:3312
#: variables.c:3382
#, c-format
msgid "%s: circular name reference"
msgstr "%s: tên tham chiếu quẩn tròn"

#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
#, fuzzy, 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"

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

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

#: builtins/declare.def:824
#, c-format
msgid "%s: quoted compound array assignment deprecated"
msgstr "%s: gán mảng phức hợp được trích dẫn đã lạc hậu"

#: builtins/declare.def:838
#, 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:845 builtins/read.def:815
#, 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:143 builtins/enable.def:151
msgid "dynamic loading not available"
msgstr "không có chức năng nạp động"

#: builtins/enable.def:343
#, 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:371
#, 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:388
#, fuzzy, c-format
msgid "%s: dynamic builtin already loaded"
msgstr "%s không được tải động"

#: builtins/enable.def:392
#, c-format
msgid "load function for %s returns failure (%d): not loaded"
msgstr "tải hàm cho %s trả về lỗi nghiêm trọng (%d): nên không được tải"

#: builtins/enable.def:517
#, c-format
msgid "%s: not dynamically loaded"
msgstr "%s không được tải động"

#: builtins/enable.def:543
#, c-format
msgid "%s: cannot delete: %s"
msgstr "%s: không thể xóa: %s"

#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
#, c-format
msgid "%s: is a directory"
msgstr "%s: là thư mục"

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

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

#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
#, 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:158 builtins/exec.def:160 builtins/exec.def:246
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: không thể thực thi: %s"

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

#: builtins/exit.def:89
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:121
#, c-format
msgid "There are stopped jobs.\n"
msgstr "Có công việc bị dừng.\n"

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

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

#: builtins/fc.def:363 builtins/fc.def:368 builtins/fc.def:407
#: builtins/fc.def:412
msgid "history specification"
msgstr "đặc tả lịch sử"

#: builtins/fc.def:444
#, 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:152 builtins/jobs.def:284
msgid "current"
msgstr "hiện tại"

#: builtins/fg_bg.def:161
#, 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:91
msgid "hashing disabled"
msgstr "tắt băm"

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

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

#: builtins/help.def:133
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ừ khóa “"

#: builtins/help.def:135
msgid ""
"'\n"
"\n"
msgstr ""

#: builtins/help.def:185
#, 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:224
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: không thể mở: %s"

#: builtins/help.def:524
#, 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:155
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:188 builtins/history.def:198 builtins/history.def:213
#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
msgid "history position"
msgstr "vị trí lịch sử"

#: builtins/history.def:340
#, fuzzy, c-format
msgid "%s: invalid timestamp"
msgstr "%s: đối số không hợp lệ"

#: builtins/history.def:451
#, 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:211
#, 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:274
msgid "Unknown error"
msgstr "Lỗi không rõ"

#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
msgid "expression expected"
msgstr "cần biểu thức"

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

#: builtins/mapfile.def:271 builtins/read.def:308
#, 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:279 builtins/read.def:315
#, 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:288 builtins/mapfile.def:326
#, c-format
msgid "%s: invalid line count"
msgstr "%s: sai số lượng dòng"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: builtins/pushd.def:524
msgid "directory stack empty"
msgstr "ngăn xếp thư mục trống"

#: builtins/pushd.def:526
msgid "directory stack index"
msgstr "chỉ số ngăn xếp thư mục"

#: builtins/pushd.def:701
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\txóa mọi phần tử trong ngăn xếp 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 ngăn xếp thư mục mỗi dòng một mục\n"
"      -v\tin ngăn xếp thư mục mỗi dòng một mục kèm vị trí trong ngăn xếp\n"
"\n"
"    Đối số:\n"
"      +N\thiển thị mục thứ N đếm từ bên trái khi gọi không tùy 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 tùy chọn,\n"
"                bắt đầu từ số không."

#: builtins/pushd.def:723
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 ngăn xếp thư mục, hoặc xoay ngăn xếp, 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 ngăn xếp thư mục.\n"
"\n"
"    Đối số:\n"
"      +N\txoay ngăn xếp để 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 ngăn xếp để 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 ngăn xếp 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ị ngăn xếp thư mục."

#: builtins/pushd.def:748
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 ngăn xếp thư mục. Không đưa ra đối số thì bỏ thư mục\n"
"    đầu khỏi ngăn xếp 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 ngăn xếp thư mục.\n"
"\n"
"    Đối số:\n"
"      +N\txoay ngăn xếp để 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 ngăn xếp để 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ị ngăn xếp thư mục."

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

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

#: builtins/return.def:68
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:869
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:966
#, c-format
msgid "%s: not an array variable"
msgstr "%s: không phải biến mảng"

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

#: builtins/setattr.def:194
#, c-format
msgid "%s: cannot export"
msgstr "%s: không thể xuất"

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

#: builtins/shopt.def:310
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:428
#, 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:128
msgid "filename argument required"
msgstr "cần đối số tên tập tin"

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

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

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

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

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

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

#: builtins/type.def:299
#, c-format
msgid "%s is a special shell builtin\n"
msgstr "%s là lệnh tích hợp đặc biệt của hệ vỏ\n"

#: builtins/type.def:301
#, c-format
msgid "%s is a shell builtin\n"
msgstr "%s là lệnh tích hợp hệ vỏ\n"

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

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

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

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

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

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

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

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

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

#: error.c:89 error.c:347 error.c:349 error.c:351
msgid " line "
msgstr " dòng "

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

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

#. TRANSLATORS: this is a prefix for informational messages.
#: error.c:287
#, c-format
msgid "INFORM: "
msgstr "THBÁO:"

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

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

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

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

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

#: eval.c:242
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:537
#, 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:1297
#, 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:2362
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr ""

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

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

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

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

#: execute_cmd.c:5467
#, 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:5574
#, c-format
msgid "%s: command not found"
msgstr "%s: không tìm thấy lệnh"

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

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

#: execute_cmd.c:5891
#, 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:5977
#, c-format
msgid "`%s': is a special builtin"
msgstr "“%s”: là lệnh tích hợp đặc biệt"

#: execute_cmd.c:6029
#, 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:263
msgid "expression recursion level exceeded"
msgstr "vượt quá ngưỡng đệ quy của biểu thức"

#: expr.c:291
msgid "recursion stack underflow"
msgstr "tràn ngược ngăn xếp đệ quy"

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

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

#: expr.c:530
#, fuzzy
msgid "syntax error in variable assignment"
msgstr "lỗi cú pháp trong biểu thức"

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

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

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

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

#: expr.c:1029
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:1056
msgid "missing `)'"
msgstr "thiếu “)”"

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

#: expr.c:1489
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:1513
#, 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:1573
msgid "invalid arithmetic base"
msgstr "cơ số (toán học) không hợp lệ"

#: expr.c:1582
#, fuzzy
msgid "invalid integer constant"
msgstr "%s: sai số lượng dòng"

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

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

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

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

#: input.c:266
#, 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:274
#, 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:543
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"

#: jobs.c:906
#, c-format
msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
msgstr ""

#: jobs.c:959
#, c-format
msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
msgstr ""

#: jobs.c:1283
#, 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:1402
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "đang xóa công việc bị dừng chạy %d với nhóm tiến trình %ld"

#: jobs.c:1511
#, 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:1850
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: không có pid như vậy"

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

#: jobs.c:1879 jobs.c:1905
msgid "Done"
msgstr "Xong"

#: jobs.c:1884 siglist.c:122
msgid "Stopped"
msgstr "Bị dừng"

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

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

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

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

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

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

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

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

#: jobs.c:2617 nojobs.c:664
#, 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:2893
#, 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:3236
#, 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:3564
#, fuzzy, c-format
msgid "%s: no current jobs"
msgstr "%s: không có công việc như vậy"

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

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

#: jobs.c:3806
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:4320
#, c-format
msgid "%s: line %d: "
msgstr "%s: dòng %d: "

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

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

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

#: jobs.c:4447
#, fuzzy
msgid "initialize_job_control: no job control in background"
msgstr "initialize_job_control: kỷ luật dòng"

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

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

#: jobs.c:4494 jobs.c:4503
#, 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:4508
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:353
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: khẳng định gặp lỗi: %s\n"

#: lib/malloc/malloc.c:369
#, 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:370 lib/malloc/malloc.c:933
msgid "unknown"
msgstr "không rõ"

#: lib/malloc/malloc.c:882
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:972
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:975
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:994
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:1001
#, fuzzy
msgid "free: underflow detected; magic8 corrupted"
msgstr "free: phát hiện sự tràn ngược; mh_nbytes ở ngoại phạm vi"

#: lib/malloc/malloc.c:1009
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:1119
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:1134
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:1141
#, fuzzy
msgid "realloc: underflow detected; magic8 corrupted"
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:1150
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:191
#, 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:200
#, 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:253
#, 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:347
msgid "network operations not supported"
msgstr "không hỗ trợ thao tác mạng"

#: locale.c:217
#, 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:219
#, 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:292
#, 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:294
#, 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:317
msgid "syntax error: arithmetic expression required"
msgstr "lỗi cú pháp: cần biểu thức số học"

#: make_cmd.c:319
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:320
#, c-format
msgid "syntax error: `((%s))'"
msgstr "lỗi cú pháp: “((%s))”"

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

#: make_cmd.c:657
#, 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:756
#, 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:2393
#, c-format
msgid ""
"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
"truncated"
msgstr ""

#: parse.y:2826
msgid "maximum here-document count exceeded"
msgstr "vượt quá số lượng tài-liệu-đây tối đa"

#: parse.y:3581 parse.y:3957 parse.y:4556
#, 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:4696
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:4701
#, 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:4705
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:4783
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "gặp thẻ bài bất thường “%s”, cần “)”"

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

#: parse.y:4815
#, 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:4819
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:4865
#, 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:4869
msgid "conditional binary operator expected"
msgstr "cần toán tử hai ngôi điều kiện"

#: parse.y:4891
#, 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:4895
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:4906
#, 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:4909
#, 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:4913
#, 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:6336
#, 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:6355
#, c-format
msgid "syntax error near `%s'"
msgstr "lỗi cú pháp ở gần “%s”"

#: parse.y:6365
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:6365
msgid "syntax error"
msgstr "lỗi cú pháp"

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

#: parse.y:6602
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:1132
#, c-format
msgid "completion: function `%s' not found"
msgstr "tự hoàn thiện: không tìm thấy hàm “%s”"

#: pcomplete.c:1722
#, c-format
msgid "programmable_completion: %s: possible retry loop"
msgstr ""

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

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

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

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

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

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

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

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

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

#: redir.c:213
#, 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:218
#, 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:222
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: không thể gán fd vào biến"

#: redir.c:649
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:938 redir.c:1053 redir.c:1114 redir.c:1284
msgid "redirection error: cannot duplicate fd"
msgstr "lỗi chuyển hướng: không thể nhân đôi fd"

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

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

#: shell.c:804
msgid "pretty-printing mode ignored in interactive shells"
msgstr ""

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

#: shell.c:1319
#, c-format
msgid "cannot set uid to %d: effective uid %d"
msgstr "không thể đặt uid thành %d: uid chịu tác động %d"

#: shell.c:1330
#, c-format
msgid "cannot set gid to %d: effective gid %d"
msgstr "không thể đặt gid thành %d: gid chịu tác động %d"

#: shell.c:1518
msgid "cannot start debugger; debugging mode disabled"
msgstr ""

#: shell.c:1632
#, c-format
msgid "%s: Is a directory"
msgstr "%s: Là một thư mục"

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

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

#: shell.c:2036
#, 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\t%s [tùy chọn GNU dài] [tùy chọn] tập-tin-văn-lệnh …\n"

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

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

#: shell.c:2043
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:2062
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s hoặc -o tùy-chọn\n"

#: shell.c:2068
#, 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:2069
#, 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ỏ tích hợp.\n"

#: shell.c:2070
#, 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"

#: shell.c:2072
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
msgstr "Trang chủ bash: <http://www.gnu.org/software/bash/>\n"

#: shell.c:2073
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr ""
"Trợ giúp chung về cách sử dụng phần mềm GNU : <http://www.gnu.org/gethelp/>\n"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: subst.c:3281
#, 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:5910 subst.c:5926
msgid "cannot make pipe for process substitution"
msgstr "không thể tạo ống dẫn để thay thế tiến trình"

#: subst.c:5985
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:6059
#, 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:6061
#, 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:6084
#, 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:6213
#, fuzzy
msgid "command substitution: ignored null byte in input"
msgstr "sai thay thế: không có \"“\" đóng trong %s"

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

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

#: subst.c:6423
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:6883 subst.c:9952
#, 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:6979 subst.c:6997 subst.c:7169
#, c-format
msgid "%s: invalid indirect expansion"
msgstr "%s: triển khai gián tiếp không hợp lệ"

#: subst.c:7013 subst.c:7177
#, c-format
msgid "%s: invalid variable name"
msgstr "“%s”: tên biến không hợp lệ"

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

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

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

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

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

#: subst.c:9814
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:10367
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "sai thay thế: không có \"“\" đóng trong %s"

#: subst.c:11434
#, 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:265
msgid "`)' expected"
msgstr "cần “)”"

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

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

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

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

#: test.c:899
#, fuzzy, c-format
msgid "syntax error: `%s' unexpected"
msgstr "lỗi cú pháp: gặp dấu chấm phẩy “;” bất thường"

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

#: trap.c:325
#, fuzzy, c-format
msgid "trap handler: maximum trap handler level exceeded (%d)"
msgstr "eval: vượt quá mức độ eval lồng nhau tối đa (%d)"

#: trap.c:414
#, 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:418
#, 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:487
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: tín hiệu sai %d"

#: variables.c:421
#, 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:833
#, 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:2674
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:2693
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: không thể gán giá trị cho biến"

#: variables.c:3475
#, fuzzy, c-format
msgid "%s: assigning integer to name reference"
msgstr "%s: tên biến không hợp lệ cho một tham chiếu tên"

#: variables.c:4404
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:4771
#, c-format
msgid "%s has null exportstr"
msgstr "%s có exportstr null"

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

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

#: variables.c:5331
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:5344
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:5424
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:6387
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: không thể mở như là TẬP-TIN"

#: variables.c:6392
#, 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:6437
#, 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 version2.c:46
#, fuzzy
msgid "Copyright (C) 2020 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."

#: xmalloc.c:93
#, 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:95
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: không thể cấp phát %lu byte"

#: xmalloc.c:165
#, 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:167
#, 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:45
msgid "alias [-p] [name[=value] ... ]"
msgstr "alias [-p] [TÊN[=GIÁ-TRỊ] … ]"

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

#: builtins.c:53
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:56
msgid "break [n]"
msgstr "break [n]"

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

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

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

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

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

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

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

#: builtins.c:80
#, fuzzy
msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFgilnrtux] [-p] TÊN[=GIÁ-TRỊ] …"

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

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

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

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

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

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

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

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

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

#: builtins.c:105
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:109
msgid "fg [job_spec]"
msgstr "fg [ĐTCV]"

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

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

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

#: builtins.c:123
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:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
msgstr "jobs [-lnprs] [ĐTCV …] hoặc jobs -x LỆNH [ĐỐI-SỐ]"

#: builtins.c:131
#, fuzzy
msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
msgstr "disown [-h] [-ar] [ĐTCV …]"

#: builtins.c:134
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:136
msgid "let arg [arg ...]"
msgstr "let ĐỐI-SỐ [ĐỐI-SỐ …]"

#: builtins.c:138
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:140
msgid "return [n]"
msgstr "return [n]"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: builtins.c:177
#, fuzzy
msgid "wait [-fn] [-p var] [id ...]"
msgstr "wait [-n] [id …]"

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

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

#: builtins.c:186
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:188
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:190
msgid "time [-p] pipeline"
msgstr "time [-p] ỐNG-DẪN"

#: builtins.c:192
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:194
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:196
msgid "while COMMANDS; do COMMANDS; done"
msgstr "while CÁC;CÂU;LỆNH; do CÁC;CÂU;LỆNH; done"

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

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

#: builtins.c:202
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:204
msgid "{ COMMANDS ; }"
msgstr "{ CÁC;CÂU;LỆNH ; }"

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

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

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

#: builtins.c:212
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:215
msgid "pushd [-n] [+N | -N | dir]"
msgstr "pushd [-n] [+N | -N | tmục]"

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

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

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

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

#: builtins.c:231
#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DEI] [-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:235
#, fuzzy
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:239
#, fuzzy
msgid "compopt [-o|+o option] [-DEI] [name ...]"
msgstr "compopt [-o|+o TÙY-CHỌN] [-DE] [TÊN …]"

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

#: builtins.c:244
#, fuzzy
msgid ""
"readarray [-d delim] [-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:256
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 ở dạng dùng lại "
"được\n"
"    “alias TÊN=GIÁ-TRỊ” trên đầu ra chuẩn.\n"
"\n"
"    Nếu không 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:278
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:291
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                 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 chuyển qua 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ị\n"
"                           của chúng\n"
"      -s                 Liệt kê chuỗi phím mà gọi vĩ lệnh và các giá-trị\n"
"                           của chúng 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                 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ề 0 trừ khi đưa ra tùy chọn không nhận ra hay gặp lỗi."

#: builtins.c:330
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:342
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:354
#, fuzzy
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 tích hợp 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ỏ tích hợp dạng hàm hệ vỏ, nhưng\n"
"    cần chạy lệnh tích hợp 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 tích hợp hệ vỏ."

#: builtins.c:369
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:387
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\n"
"    \t\tlinks in DIR after processing instances of `..'\n"
"      -P\tuse the physical directory structure without following\n"
"    \t\tsymbolic links: resolve symbolic links in DIR before\n"
"    \t\tprocessing instances of `..'\n"
"      -e\tif the -P option is supplied, and the current working\n"
"    \t\tdirectory cannot be determined successfully, exit with\n"
"    \t\ta non-zero status\n"
"      -@\ton systems that support it, present a file with extended\n"
"    \t\tattributes 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 định nghĩa đường dẫn tìm kiếm cho thư mục chứa\n"
"    THƯ-MỤC. Tên thư mục thay thế 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\n"
"           thuộc tính mở rộng 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:425
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"
"    \t\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  in giá trị của $PWD nếu nó chứa tên của thư mục hiện tại\n"
"      -P  in 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:442
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:453
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:462
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:471
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    use a default value for PATH that is guaranteed to find all of\n"
"            the standard utilities\n"
"      -v    print a description of COMMAND similar to the `type' builtin\n"
"      -V    print 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   dùng giá trị mặc định cho ĐƯỜNG_DẪN\n"
"           mà chắc chắn sẽ tìm mọi tiện ích chuẩn\n"
"      -v   in mô tả về LỆNH mà tương tự như lệnh tích hợp “type”\n"
"      -V   in 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:490
#, fuzzy
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"
"    \t\tsource file when debugging)\n"
"      -g\tcreate global variables when used in a shell function; otherwise\n"
"    \t\tignored\n"
"      -I\tif creating a local variable, inherit the attributes and value\n"
"    \t\tof a variable with the same name at a previous scope\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 the value of each NAME 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 the value of each NAME 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ị 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 khi gán biến."

#: builtins.c:532
#, fuzzy
msgid ""
"Set variable values and attributes.\n"
"    \n"
"    A synonym for `declare'.  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:540
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:557
#, fuzzy
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"
"    \t\t0 to 3 octal digits\n"
"      \\xHH\tthe eight-bit character whose value is HH (hexadecimal).  HH\n"
"    \t\tcan be one or two hex digits\n"
"      \\uHHHH\tthe Unicode character whose value is the hexadecimal value "
"HHHH.\n"
"    \t\tHHHH can be one to four hex digits.\n"
"      \\UHHHHHHHH the Unicode character whose value is the hexadecimal "
"value\n"
"    \t\tHHHHHHHH. HHHHHHHH can be one to eight 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Ố, ngăn cách bằng dấu cách đơn và kèm ký tự dòng mới\n"
"    ra đầu ra tiêu chuẩn .\n"
"   \n"
"    Tùy chọn:\n"
"      -n\tđừng thêm ký tự dòng mới\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\txóa 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\ttải 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:597
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:612
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ỏ tích hợp.\n"
"\n"
"    Bật và tắt các lệnh hệ vỏ tích hợp. 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ỏ tích hợp 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 tích hợp 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 tích hợp theo định dạng dùng lại được\n"
"      -s    chỉ in tên các lệnh tích hợp Posix “đặc biệt”\n"
"\n"
"    Tùy chọn điều khiển chức năng tải động:\n"
"      -f    nạp lệnh tích hợp TÊN từ TẬP-TIN\n"
"      -d    bỏ một tích hợp đượ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ỏ tích hợp, 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 tích hợp hoặc gặp lỗi."

#: builtins.c:640
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:652
#, fuzzy
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, but if arguments\n"
"    are supplied as ARG values, 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 tùy chọn.\n"
"\n"
"    CHUỖI-TÙY-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 tùy 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-TÙY-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ự tùy 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ự tùy 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à xóa 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-TÙY-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:694
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\texecute COMMAND with an empty environment\n"
"      -l\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Ố trở thành đối số của LỆNH. Không định nghĩa 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:715
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:724
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:734
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, sau đó là EDITOR, rồi đến 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:764
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 định nghĩa 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:779
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 định nghĩa 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:793
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\tforget the remembered location of each NAME\n"
"      -l\tdisplay in a format that may be reused as input\n"
"      -p pathname\tuse PATHNAME as the full pathname of NAME\n"
"      -r\tforget all remembered locations\n"
"      -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\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\tquên vị trí đã nhớ của TÊN\n"
"      -l\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\tquên mọi vị trí đã nhớ\n"
"      -t\tin vị trí đã nhớ của TÊN, in tên trước vị\n"
"         \t\ttrí nếu TÊN tương ứng với nhiều vị trí\n"
"    \n"
"    Đối số:\n"
"      TÊN\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:818
#, fuzzy
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"
"    \t\tPATTERN\n"
"    \n"
"    Arguments:\n"
"      PATTERN\tPattern specifying 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 tích hợp.\n"
"    \n"
"    Hiển thị bản tóm tắt ngắn về các câu lệnh tích hợp.  Nếu chỉ định\n"
"    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ện 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"
"        \t\tchủ đề tương ứng với MẪU\n"
"    \n"
"    Đối số:\n"
"      MẪU\tmẫu xá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:842
#, fuzzy
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 position OFFSET. Negative\n"
"    \t\toffsets count back from the end of the history list\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"
"    \t\tand append them to the history list\n"
"      -r\tread the history file and append the contents to the history\n"
"    \t\tlist\n"
"      -w\twrite the current history to the history file\n"
"    \n"
"      -p\tperform history expansion on each ARG and display the result\n"
"    \t\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\txóa sạch danh sách lịch sử bằng cách xóa mọi mục tin\n"
"      -d offset\txóa 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:879
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"
"    \t\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:906
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"
"    \t\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 ra khỏi bảng các\n"
"    công việc hoạt động. Không có ĐTCV 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 hay ĐTCV sai."

#: builtins.c:925
#, fuzzy
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"
"    \t\tassumed to be signal numbers for which names should be listed\n"
"      -L\tsynonym for -l\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 SIGSPEC và SIGNUM không hiện diện\n"
"    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ỏ tích hợp 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:949
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:994
#, fuzzy
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\tuse Readline to obtain the line\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\n"
"    \t\tNCHARS characters 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\n"
"    \t\tdelimiter\n"
"      -p prompt\toutput the string PROMPT without a trailing newline before\n"
"    \t\tattempting to read\n"
"      -r\tdo not allow backslashes to escape any characters\n"
"      -s\tdo not echo input coming from a terminal\n"
"      -t timeout\ttime out and return failure if a complete line of\n"
"    \t\tinput is not read within TIMEOUT seconds.  The value of the\n"
"    \t\tTMOUT variable is the default timeout.  TIMEOUT may be a\n"
"    \t\tfractional number.  If TIMEOUT is 0, read returns\n"
"    \t\timmediately, without trying to read any data, returning\n"
"    \t\tsuccess only if input is available on the specified\n"
"    \t\tfile descriptor.  The exit status is greater than 128\n"
"    \t\tif the timeout is exceeded\n"
"      -u fd\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 vào tiêu chuẩn và tách ra nhiều trường.\n"
"    \n"
"    Đọc một dòng từ đầu vào tiêu 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à cứ như vậy, 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 NGĂN_CÁCH\ttiếp tục đến khi đọc ký tự đầu tiên của DELIM thay\n"
"    \t\tcho ký tự xuống dòng\n"
"      -e \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:1041
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:1054
#, fuzzy
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 and RETURN traps are 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 hủy 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:1139
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"
"    \t\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 ""
"Xóa giá trị và thuộc tính của biến hệ vỏ và các hàm.\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\tcoi mỗi TÊN là hàm hệ vỏ\n"
"      -v\tcoi mỗi TÊN là biến hệ vỏ\n"
"      -n\tcoi TÊN như là tên tham chiếu và bỏ đặt biến đó thay vì\n"
"         biến mà nó tham chiếu đến\n"
"    \n"
"    Không có tùy chọn thì sẽ thử xóa biến, và nếu không thành công,\n"
"    sau đó thử xóa hàm.\n"
"    \n"
"    Một số biến không thể gỡ bỏ; nên xem “readonly”.\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:1161
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 tùy 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:1180
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,\n"
"    \t\tdepending on 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 TÊ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"
"         \t\tcó tùy chọn -f hay không\n"
"    \n"
"    Đối số “--” ngừng phân tích tùy 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 không hợp lệ."

#: builtins.c:1202
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:1214 builtins.c:1229
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:1245
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:1261
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         True if the shell variable VAR is set.\n"
"      -R VAR         True if the shell variable VAR is set and is a name\n"
"                     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), tùy 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 bạn đọc được.\n"
"      -s TẬP-TIN       Đúng nếu tập tin tồn tại và không 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 bằ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 hệ vỏ này được đặt\n"
"      -R BIẾN          Đúng nếu BIẾN hệ vỏ này được đặt 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 hoặc hai biểu thức đúng.\n"
"    \n"
"      ĐỐI-SỐ1 OP ĐỐI-SỐ2\n"
"                       Phép thử số học. OP (toán tử) 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:1343
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 tích hợp \"test\", nhưng đối số cuối\n"
"    cùng phải là ký tự “]” để khớp với “[” ở đầu."

#: builtins.c:1352
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:1364
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:1400
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"
"    \t\tincludes aliases, builtins, and functions, if and only if\n"
"    \t\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"
"    \t\tbuiltin, or function, and returns the name of the disk file\n"
"    \t\tthat would be executed\n"
"      -p\treturns either the name of the disk file that would be executed,\n"
"    \t\tor nothing if `type -t NAME' would not return `file'\n"
"      -t\toutput a single word which is one of `alias', `keyword',\n"
"    \t\t`function', `builtin', `file' or `', if NAME is an alias,\n"
"    \t\tshell reserved word, shell function, shell builtin, disk file,\n"
"    \t\tor not found, 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 về kiểu 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"
"        \ttích hợp 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 tích hợp 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ừ khóa,hàm, lệnh hệ vỏ tích hợp, 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; bị lỗi nếu không tìm "
"thấy."

#: builtins.c:1431
#, fuzzy
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"
"      -k\tthe maximum number of kqueues allocated for this process\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"
"      -P\tthe maximum number of pseudoterminals\n"
"      -R\tthe maximum time a real-time process can run before blocking\n"
"      -T\tthe 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"
"      -k\tsố lượng kqueues được phân bổ tối đa cho tiến trình này\n"
"      -l\tkích cỡ tối đa mà tiến trình có thể khóa 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ố khóa tập tin tối đa\n"
"      -P\tsố lượng thiết bị cuối ảo 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 tùy 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:1482
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:1502
#, fuzzy
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 job specification, waits for all processes\n"
"    in that job's pipeline.\n"
"    \n"
"    If the -n option is supplied, waits for a single job from the list of "
"IDs,\n"
"    or, if no IDs are supplied, for the next job to complete and returns "
"its\n"
"    exit status.\n"
"    \n"
"    If the -p option is supplied, the process or job identifier of the job\n"
"    for which the exit status is returned is assigned to the variable VAR\n"
"    named by the option argument. The variable will be unset initially, "
"before\n"
"    any assignment. This is useful only when the -n option is supplied.\n"
"    \n"
"    If the -f option is supplied, and job control is enabled, waits for the\n"
"    specified ID to terminate, instead of waiting for it to change 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, or if -n is supplied and the shell has no unwaited-for\n"
"    children."
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:1533
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:1548
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:1562
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:1580
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 vào tiêu 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:1601
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:1618
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:1630
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:1647
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:1659
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:1671
#, fuzzy
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"
"    The coproc command returns an exit status of 0."
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:1685
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:1699
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:1711
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:1726
#, fuzzy
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:1738
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 tùy 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 tích hợp\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:1764
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:1821
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"
"    \t\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"
"    \t\tfrom the left of the list shown by `dirs', starting with\n"
"    \t\tzero) is at the top.\n"
"    \n"
"      -N\tRotates the stack so that the Nth directory (counting\n"
"    \t\tfrom the right of the list shown by `dirs', starting with\n"
"    \t\tzero) is at the top.\n"
"    \n"
"      dir\tAdds DIR to the directory stack at the top, making it the\n"
"    \t\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 ngăn xếp.\n"
"    \n"
"    Thêm thư mục vào đỉnh của ngăn xếp thư mục, hoặc xoay ngăn xếp, làm cho\n"
"    thư mục mới đầu ngăn xếp 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 ngăn xếp, để thao tác chỉ ngăn xếp.\n"
"     \n"
"      +N\tXoay ngăn xếp để 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 ngăn xếp để 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 ngăn xếp 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 tích hợp “dirs” hiển thị ngăn xếp 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:1855
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"
"    \t\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"
"    \t\tshown by `dirs', starting with zero.  For example: `popd +0'\n"
"    \t\tremoves the first directory, `popd +1' the second.\n"
"    \n"
"      -N\tRemoves the Nth entry counting from the right of the list\n"
"    \t\tshown by `dirs', starting with zero.  For example: `popd -0'\n"
"    \t\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 ngăn xếp.\n"
"    \n"
"    Gỡ bỏ thư mục khỏi ngăn xếp thư mục. Không có đối số thì gỡ bỏ thư\n"
"    mục đầu khỏi ngăn xếp 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 ngăn xếp, để thao tác chỉ ngăn xếp.\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 tích hợp “dirs” hiển thị ngăn xếp 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:1885
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"
"    \t\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"
"    \t\twith its position in the stack\n"
"    \n"
"    Arguments:\n"
"      +N\tDisplays the Nth entry counting from the left of the list\n"
"    \t\tshown by dirs when invoked without options, starting with\n"
"    \t\tzero.\n"
"    \n"
"      -N\tDisplays the Nth entry counting from the right of the list\n"
"    \t\tshown by dirs when invoked without options, starting with\n"
"    \t\tzero.\n"
"    \n"
"    Exit Status:\n"
"    Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
"Hiển thị ngăn xếp thư mục.\n"
"    \n"
"    Hiển thị danh sách các thư mục được nhớ hiện thời. Các thư mục\n"
"    tìm thấy chỗ của chúng trong danh sách với lệnh “pushd”;\n"
"    bạn có thể lấy bản sao dự phòng thông qua danh sách với lệnh “popd”.\n"
"    \n"
"    Tùy chọn:\n"
"      -c\txóa mọi phần tử trong ngăn xếp 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 ngăn xếp thư mục, mỗi dòng một mục\n"
"      -v\tin ngăn xếp thư mục, mỗi dòng một mục kèm vị trí trong ngăn xếp\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:1916
#, fuzzy
msgid ""
"Set and unset shell options.\n"
"    \n"
"    Change the setting of each shell option OPTNAME.  Without any option\n"
"    arguments, list each supplied OPTNAME, or all shell options if no\n"
"    OPTNAMEs are given, with an indication of whether or not each 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:1937
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\toutput the date-time string resulting from using FMT as a "
"format\n"
"    \t        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\tkhai triển 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:1971
#, fuzzy
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"
"    \t\tNAMEs are supplied, all completion specifications\n"
"      -D\tapply the completions and actions as the default for commands\n"
"    \t\twithout any specific completion defined\n"
"      -E\tapply the completions and actions to \"empty\" commands --\n"
"    \t\tcompletion attempted on a blank line\n"
"      -I\tapply the completions and actions to the initial (usually the\n"
"    \t\tcommand) word\n"
"    \n"
"    When completion is attempted, the actions are applied in the order the\n"
"    uppercase-letter options are listed above. If multiple options are "
"supplied,\n"
"    the -D option takes precedence over -E, and both take precedence over -"
"I.\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"
"        \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(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. Tùy chọn -D có quyền ưu tiên\n"
"    hơn -E.    \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:2001
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:2016
#, fuzzy
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"
"    \t-I\t\tChange options for completion on the initial word\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 tích hợp “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:2047
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"
"      -d delim\tUse DELIM to terminate lines, instead of newline\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\tRemove a trailing DELIM from each line read (default newline)\n"
"      -u fd\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\n"
"    \t\t\tCALLBACK\n"
"    \n"
"    Arguments:\n"
"      ARRAY\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"
"      -d ngăn_cách\tDùng NGĂN_CÁCH chấm dứt dòng, thay cho ký tự dòng mới\n"
"      -n SỐ\tsao chép nhiều nhất SỐ dòng. Nếu 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ự NGĂN_CÁCH theo sau khỏi mỗi dòng được đọc\n"
"        \t(mặc định là ký tự dòng mới).\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 rõ ràng thì mapfile (tập tin sơ đồ) sẽ xóa\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:2083
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 với “mapfile”."

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

#~ 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ề "

#~ msgid "add_process: process %5ld (%s) in the_pipeline"
#~ msgstr "add_process: tiến trình %5ld (%s) trong the_pipeline"

#~ msgid "Unknown Signal #"
#~ msgstr "Tín hiệu lạ #"

#~ msgid "Copyright (C) 2014 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."

#~ msgid ":"
#~ msgstr ":"

#~ msgid "true"
#~ msgstr "true"

#~ msgid "false"
#~ msgstr "false"

#~ msgid "times"
#~ msgstr "times"

#~ 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ăn xếp (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."
