Tìm hiểu lệnh Linux - hoàn thành

Tên

bash , bí danh, bg , bind, break, builtin, cd , lệnh, compgen, hoàn thành, tiếp tục, khai báo, dirs, disown, echo, enable, eval, exec, thoát, xuất, fc, fg, getopts, băm , trợ giúp, lịch sử , công việc, giết , cho, địa phương, đăng xuất, popd , printf , pushd, pwd , đọc, chỉ đọc, trả lại , đặt, thay đổi, mua sắm, nguồn, tạm ngưng, kiểm tra, thời gian, bẫy, loại, sắp chữ, ulimit, umask, unalias , unset, wait - bash các lệnh dựng sẵn, xem bash (1)

Lệnh Bash được xây dựng

Trừ khi có ghi chú khác, mỗi lệnh dựng sẵn được ghi lại trong phần này là chấp nhận các tùy chọn trước bằng - chấp nhận - để biểu thị kết thúc các tùy chọn.

: [ đối số ]

Không có hiệu lực; lệnh không làm gì ngoài việc mở rộng các đối số và thực hiện bất kỳ chuyển hướng được chỉ định nào. Mã trả về không được trả lại.

. tên tệp [ đối số ]

tên tệp nguồn [ đối số ]

Đọc và thực hiện các lệnh từ tên tệp trong môi trường trình bao hiện tại và trả về trạng thái thoát của lệnh cuối cùng được thực hiện từ tên tệp . Nếu tên tệp không chứa dấu gạch chéo, tên tệp trong PATH được sử dụng để tìm thư mục chứa tên tệp . Tệp tìm kiếm trong PATH không cần thực thi. Khi bash không ở chế độ posix , thư mục hiện tại được tìm kiếm nếu không tìm thấy tệp nào trong PATH . Nếu tùy chọn sourcepath cho lệnh nội trang shopt bị tắt, thì PATH không được tìm kiếm. Nếu bất kỳ đối số nào được cung cấp, chúng sẽ trở thành các tham số vị trí khi tên tệp được thực thi. Nếu không, các tham số vị trí sẽ không thay đổi. Trạng thái trả về là trạng thái của lệnh cuối cùng đã thoát trong kịch bản lệnh (0 nếu không có lệnh nào được thực hiện) và sai nếu không tìm thấy tên tập tin hoặc không đọc được.

bí danh [ -p ] [ tên [= giá trị ] ...]

Bí danh không có đối số hoặc với tùy chọn -p sẽ in danh sách bí danh trong tên bí danh của biểu mẫu = giá trị trên đầu ra tiêu chuẩn. Khi các đối số được cung cấp, một bí danh được định nghĩa cho mỗi têngiá trị được cho. Dấu cách trong giá trị làm cho từ tiếp theo được kiểm tra để thay thế bí danh khi bí danh được mở rộng. Đối với mỗi tên trong danh sách đối số không có giá trị nào được cung cấp, tên và giá trị của bí danh được in. Bí danh trả về true trừ khi tên được đặt cho không có bí danh nào được xác định.

bg [ jobspec ]

Tiếp tục jobspec tạm ngừng trong nền, như thể nó đã được bắt đầu bằng & . Nếu jobspec không hiện diện, khái niệm của shell của công việc hiện tại được sử dụng. bg jobspec trả về 0 trừ khi chạy khi kiểm soát công việc bị tắt hoặc, khi chạy với điều khiển công việc được bật, nếu không tìm thấy jobspec hoặc bắt đầu mà không có kiểm soát công việc.

liên kết [ m keymap ] [ -lpsvPSV ]

liên kết [ -m keymap ] [ -q function ] [ -u function ] [ -r keyseq ]

liên kết [ -m keymap ] -f filename

liên kết [ -m keymap ] -x keyseq : shell-command

bind [ -m keymap ] keyseq : tên hàm

bind readline-command

Hiển thị các ràng buộc khóa và hàm chức năng hiện tại, liên kết chuỗi khóa với hàm hoặc macro readline hoặc đặt biến readline . Mỗi đối số phi tùy chọn là một lệnh như nó sẽ xuất hiện trong .inputrc , nhưng mỗi ràng buộc hoặc lệnh phải được chuyển thành một đối số riêng biệt; ví dụ: '"\ Cx \ Cr": đọc lại-init-file'. Tùy chọn, nếu được cung cấp, có ý nghĩa sau đây:

-m sơ đồ bàn phím

Sử dụng sơ đồ bàn phím làm sơ đồ bàn phím bị ảnh hưởng bởi các ràng buộc tiếp theo. Tên sơ đồ bàn phím được chấp nhận là các emacs, tiêu chuẩn emacs, emacs-meta, emacs-ctlx, vi, vi-di chuyển, vi-lệnhvi-chèn . vi tương đương với lệnh vi-lệnh ; emacs tương đương với tiêu chuẩn emacs .

-l

Liệt kê tên của tất cả các hàm readline .

-p

Hiển thị tên chức năng readline và bindings theo cách mà chúng có thể được đọc lại.

-P

Liệt kê các tên hàm và các ràng buộc của hàm readline hiện tại.

-v

Hiển thị tên và giá trị của biến readline theo cách mà chúng có thể được đọc lại.

-V

Liệt kê các tên và giá trị của biến readline hiện tại.

-S

Hiển thị các chuỗi khóa readline được liên kết với các macro và các chuỗi mà chúng xuất ra theo cách mà chúng có thể được đọc lại.

-S

Hiển thị các chuỗi khóa readline liên kết với các macro và các chuỗi mà chúng xuất ra.

-f tên tệp

Đọc các ràng buộc chính từ tên tệp .

-q chức năng

Truy vấn về các khóa nào gọi hàm được đặt tên.

-u hàm

Bỏ liên kết tất cả các khóa được liên kết với hàm được đặt tên.

-r keyseq

Loại bỏ bất kỳ ràng buộc hiện tại nào cho keyseq .

-x keyseq : shell-command

Nguyên nhân lệnh shell được thực hiện bất cứ khi nào keyseq được nhập vào.

Giá trị trả về là 0 trừ khi có một tùy chọn không được nhận ra hoặc một lỗi xảy ra.

break [ n ]

Thoát khỏi vòng trong, trong khi , cho đến khi hoặc chọn vòng lặp. Nếu n được chỉ định, phá vỡ n cấp. n phải là> 1. Nếu n lớn hơn số vòng lặp kèm theo, tất cả các vòng bao quanh đều được thoát. Giá trị trả về là 0 trừ khi hệ vỏ không thực hiện một vòng lặp khi ngắt được thực hiện.

builtin shell-builtin [ đối số ]

Thực thi nội trang hệ vỏ được chỉ định, chuyển các đối số đó và trả về trạng thái thoát của nó. Điều này rất hữu ích khi xác định một hàm có tên giống như một nội trang hệ vỏ, giữ lại chức năng của nội trang dựng sẵn bên trong hàm. Bản dựng sẵn của CD thường được định nghĩa lại theo cách này. Trạng thái trả về là false nếu shell-builtin không phải là một lệnh nội trang hệ vỏ.

cd [ -L | -P ] [ dir ]

Thay đổi thư mục hiện tại thành dir . Biến HOMEthư mục mặc định. Biến CDPATH định nghĩa đường dẫn tìm kiếm cho thư mục chứa dir . Các tên thư mục thay thế trong CDPATH được phân tách bằng dấu hai chấm (:). Tên thư mục rỗng trong CDPATH giống với thư mục hiện tại, tức là `` . ''. Nếu dir bắt đầu bằng dấu gạch chéo (/), thì CDPATH không được sử dụng. Tùy chọn -P cho biết sử dụng cấu trúc thư mục vật lý thay vì theo các liên kết tượng trưng (xem thêm tùy chọn -P cho lệnh dựng sẵn); tùy chọn -L buộc các liên kết tượng trưng được theo sau. Đối số - tương đương với $ OLDPWD . Giá trị trả về là đúng nếu thư mục đã được thay đổi thành công; sai khác.

lệnh [ -pVv ] [ arg ...]

Chạy lệnh với args ngăn chặn tra cứu hàm bình thường. Chỉ các lệnh hoặc lệnh dựng sẵn được tìm thấy trong PATH mới được thực hiện. Nếu tùy chọn -p được đưa ra, tìm kiếm lệnh được thực hiện bằng cách sử dụng giá trị mặc định cho PATH được đảm bảo để tìm tất cả các tiện ích tiêu chuẩn. Nếu tùy chọn -V hoặc -v được cung cấp, mô tả lệnh được in. Tùy chọn -v gây ra một từ duy nhất cho biết lệnh hoặc tên tệp được sử dụng để gọi lệnh được hiển thị; tùy chọn -V tạo ra một mô tả chi tiết hơn . Nếu tùy chọn -V hoặc -v được cung cấp, trạng thái thoát là 0 nếu lệnh được tìm thấy, và 1 nếu không. Nếu không có tùy chọn nào được cung cấp và đã xảy ra lỗi hoặc không thể tìm thấy lệnh, trạng thái thoát là 127. Nếu không, trạng thái thoát của lệnh dựng sẵn là trạng thái thoát của lệnh .

compgen [ tùy chọn ] [ từ ]

Tạo các kết quả hoàn thành có thể cho từ theo tùy chọn s, có thể là bất kỳ tùy chọn nào được chấp nhận bởi nội trang dựng sẵn với ngoại lệ -p-r , và ghi các kết quả phù hợp với đầu ra tiêu chuẩn. Khi sử dụng các tùy chọn -F hoặc -C , các biến hệ vỏ khác nhau được thiết lập bởi các cơ sở hoàn thành có thể lập trình, trong khi có sẵn, sẽ không có các giá trị hữu ích.

Các kết quả trùng khớp sẽ được tạo theo cách tương tự như nếu mã hoàn thành có thể lập trình đã tạo chúng trực tiếp từ một đặc tả hoàn thành với cùng một cờ. Nếu từ được chỉ định, chỉ những từ phù hợp hoàn thành mới được hiển thị.

Giá trị trả lại là true trừ khi một tùy chọn không hợp lệ được cung cấp, hoặc không có kết quả nào được tạo.

hoàn thành [ -abcdefgjksuv ] [ -o comp-option ] [ -Một hành động ] [ -G globpat ] [ -W wordlist ] [ -P prefix ] [ -S suffix ]


[ -X filterpat ] [ -F function ] [ -C command ] name [ name ... ]

hoàn thành -pr [ tên ...]

Chỉ định cách hoàn thành các đối số cho từng tên . Nếu tùy chọn -p được cung cấp hoặc nếu không có tùy chọn nào được cung cấp, các đặc tả hoàn thành hiện có sẽ được in theo cách cho phép chúng được sử dụng lại làm đầu vào. Tùy chọn -r loại bỏ một đặc tả hoàn thành cho mỗi tên , hoặc, nếu không có tên nào được cung cấp, tất cả các thông số kỹ thuật hoàn thành.

Quá trình áp dụng các thông số kỹ thuật hoàn thành khi hoàn thành từ được thử được mô tả ở trên trong Hoàn thành lập trình .

Các tùy chọn khác, nếu được chỉ định, có ý nghĩa sau đây. Các đối số cho các tùy chọn -G , -W-X (và, nếu cần thiết, các tùy chọn -P-S ) nên được trích dẫn để bảo vệ chúng khỏi việc mở rộng trước khi nội trang dựng sẵn được gọi.

-o tùy chọn comp

Tùy chọn comp điều khiển một số khía cạnh của hành vi của compspec ngoài việc tạo ra các lần hoàn thành đơn giản. comp-option có thể là một trong số:

mặc định

Sử dụng hoàn thành tên tệp mặc định của readline nếu compspec không tạo ra kết quả phù hợp.

dirnames

Thực hiện hoàn thành tên thư mục nếu compspec không tạo ra kết quả phù hợp.

tên tệp

Nói với readline rằng compspec tạo tên tập tin, vì vậy nó có thể thực hiện bất kỳ xử lý tên tập tin cụ thể nào (như thêm dấu gạch chéo vào tên thư mục hoặc ngăn chặn dấu cách). Dự định được sử dụng với chức năng vỏ.

không có không gian

Nói cho readline không gắn thêm một khoảng trống (mặc định) vào các từ đã hoàn thành ở cuối dòng.

- Hành động

Hành động có thể là một trong các thao tác sau để tạo danh sách các lần hoàn thành có thể có:

bí danh

Tên bí danh. Cũng có thể được chỉ định là -a .

mảngvar

Tên biến mảng.

ràng buộc

Các tên ràng buộc khóa readline .

được xây dựng trong

Tên của các lệnh nội trang hệ vỏ. Cũng có thể được chỉ định là -b .

chỉ huy

Tên lệnh. Cũng có thể được chỉ định làm tên. Cũng có thể được chỉ định là -c .

danh mục

Tên thư mục . Cũng có thể được chỉ định là -d .

tàn tật

Tên của nội trang hệ vỏ bị vô hiệu hóa.

đã bật

Tên của nội trang hệ vỏ đã bật.

xuất khẩu

Tên của các biến shell được xuất khẩu. Cũng có thể được chỉ định là -e .

tập tin

Tên tệp. Cũng có thể được chỉ định là -f .

chức năng

Tên của hàm vỏ .

nhóm

Tên nhóm. Cũng có thể được chỉ định là -g .

chủ đề giúp đỡ

Các chủ đề trợ giúp được chấp nhận bởi nội dung trợ giúp .

tên máy chủ

Tên máy chủ, được lấy từ tệp được chỉ định bởi biến shell HOSTFILE .

việc làm

Tên công việc, nếu điều khiển công việc đang hoạt động. Cũng có thể được chỉ định là -j .

từ khóa

Shell từ dành riêng. Cũng có thể được chỉ định là -k .

đang chạy

Tên của các công việc đang chạy, nếu kiểm soát công việc đang hoạt động.

dịch vụ

Tên dịch vụ. Cũng có thể được chỉ định là -s .

setopt

Các đối số hợp lệ cho tùy chọn -o cho bộ dựng sẵn.

shopt

Tên tùy chọn vỏ được chấp nhận bởi nội trang shopt .

tín hiệu

Tên tín hiệu.

dừng lại

Tên của công việc bị dừng, nếu điều khiển công việc đang hoạt động.

người dùng

Tên người dùng. Cũng có thể được chỉ định là -u .

biến

Tên của tất cả các biến shell. Cũng có thể được chỉ định là -v .

-G globpat

Mẫu mở rộng tên tập tin globpat được mở rộng để tạo ra các lần hoàn thành có thể có.

-W danh sách từ

Danh sách từ được phân tách bằng cách sử dụng các ký tự trong biến đặc biệt IFS làm dấu phân cách và mỗi từ kết quả được mở rộng. Các hoàn thành có thể là các thành viên của danh sách kết quả phù hợp với từ đang được hoàn thành.

-C Lệnh

lệnh được thực hiện trong một môi trường subshell, và đầu ra của nó được sử dụng như là các hoàn thành có thể có.

-F chức năng

Hàm chức năng vỏ được thực hiện trong môi trường trình bao hiện tại. Khi nó kết thúc, các hoàn thành có thể được lấy ra từ giá trị của biến mảng COMPREPLY .

-X filterpat

filterpat là một mẫu được sử dụng để mở rộng tên tệp. Nó được áp dụng cho danh sách các hoàn thành có thể được tạo ra bởi các tùy chọn và các đối số trước đó, và mỗi bộ lọc hoàn thành phù hợp với bộ lọc được loại bỏ khỏi danh sách. Một hàng đầu ! trong filterpat phủ nhận mẫu; trong trường hợp này, bất kỳ việc hoàn thành nào không phù hợp với filterpat đều bị xóa.

Tiền tố -P

tiền tố được thêm vào đầu mỗi lần hoàn thành có thể sau khi tất cả các tùy chọn khác đã được áp dụng.

Hậu tố -S

hậu tố được thêm vào mỗi lần hoàn thành có thể sau khi tất cả các tùy chọn khác đã được áp dụng.

Giá trị trả về là true trừ khi một tùy chọn không hợp lệ được cung cấp, một tùy chọn khác với -p hoặc -r được cung cấp mà không có đối số tên , một nỗ lực được thực hiện để loại bỏ đặc tả hoàn thành cho tên không có đặc điểm kỹ thuật. thêm đặc tả hoàn thành.

tiếp tục [ n ]

Tiếp tục lặp lại tiếp theo của bao quanh cho , trong khi , cho đến khi , hoặc chọn vòng lặp. Nếu n được chỉ định, tiếp tục tại vòng thứ bao quanh. n phải là> 1. Nếu n lớn hơn số vòng lặp kèm theo, vòng lặp kèm theo cuối cùng (vòng lặp `cấp cao nhất ') được nối lại. Giá trị trả về là 0 trừ khi trình bao không thực thi vòng lặp khi tiếp tục được thực hiện.

khai báo [ -afFirtx ] [ -p ] [ tên [= giá trị ]]

sắp chữ [ -afFirtx ] [ -p ] [ tên [= giá trị ]]

Khai báo các biến và / hoặc cung cấp cho chúng các thuộc tính. Nếu không có tên nào được đưa ra thì hiển thị các giá trị của các biến. Tùy chọn -p sẽ hiển thị các thuộc tính và giá trị của mỗi tên . Khi -p được sử dụng, các tùy chọn bổ sung sẽ bị bỏ qua. Tùy chọn -F ức chế hiển thị các định nghĩa hàm; chỉ có tên hàm và thuộc tính được in. Tùy chọn -F ngụ ý -f . Có thể sử dụng các tùy chọn sau để hạn chế đầu ra cho các biến có thuộc tính được chỉ định hoặc để cung cấp các thuộc tính biến:

-a

Mỗi tên là một biến mảng (xem Mảng trên).

-f

Chỉ sử dụng tên hàm.

-tôi

Biến được coi là số nguyên; đánh giá số học (xem ARALMETIC EVALUATION) được thực hiện khi biến được gán một giá trị.

-r

Làm cho tên chỉ đọc. Những tên này sau đó không thể được gán giá trị bởi các câu lệnh gán tiếp theo hoặc không được đặt.

-t

Đặt cho mỗi tên thuộc tính dấu vết . Các hàm được truy tìm kế thừa bẫy DEBUG từ trình bao gọi. Thuộc tính trace không có ý nghĩa đặc biệt đối với các biến.

-x

Đánh dấu tên để xuất sang các lệnh tiếp theo thông qua môi trường.

Thay vào đó, sử dụng `+ 'thay vì` -' sẽ tắt thuộc tính, với ngoại lệ + a có thể không được sử dụng để phá hủy một biến mảng. Khi được sử dụng trong một hàm, làm cho mỗi tên cục bộ, giống như với lệnh cục bộ . Giá trị trả về là 0 trừ khi có một tùy chọn không hợp lệ, một nỗ lực được thực hiện để định nghĩa một hàm bằng cách sử dụng `` -f foo = bar '', một nỗ lực được gán để gán một giá trị cho biến chỉ đọc, một nỗ lực được thực hiện để gán một giá trị cho một biến mảng mà không sử dụng cú pháp gán hợp chất (xem Mảng trên), một trong các tên không phải là tên biến hệ vỏ hợp lệ, một nỗ lực được thực hiện để tắt trạng thái chỉ đọc cho biến chỉ đọc, một nỗ lực được thực hiện để tắt trạng thái mảng cho một biến mảng, hoặc một nỗ lực được thực hiện để hiển thị một hàm không tồn tại với -f .

dirs [-clpv ] [+ n ] [- n ]

Không có tùy chọn, hiển thị danh sách các thư mục hiện đang được nhớ. Màn hình mặc định nằm trên một dòng có tên thư mục được phân tách bằng dấu cách. Thư mục được thêm vào danh sách với lệnh pushd ; lệnh popd sẽ xóa các mục khỏi danh sách.

+ n

Hiển thị mục nhập thứ n đếm từ bên trái của danh sách được hiển thị bởi các dir khi được gọi mà không có các tùy chọn, bắt đầu bằng số không.

- n

Hiển thị mục nhập thứ n tính từ bên phải của danh sách được hiển thị bởi dir khi được gọi mà không có tùy chọn, bắt đầu bằng số không.

-c

Xóa ngăn xếp thư mục bằng cách xóa tất cả các mục nhập.

-l

Tạo danh sách dài hơn; định dạng danh sách mặc định sử dụng dấu ngã để biểu thị thư mục chính.

-p

In ngăn xếp thư mục với một mục nhập trên mỗi dòng.

-v

In ngăn xếp thư mục với một mục nhập trên mỗi dòng, đặt trước mỗi mục nhập với chỉ mục của nó trong ngăn xếp.

Giá trị trả về là 0 trừ khi một tùy chọn không hợp lệ được cung cấp hoặc n chỉ mục ngoài phần cuối của ngăn xếp thư mục.

bị hủy bỏ [ -ar ] [ -h ] [ jobspec ...]

Không có tùy chọn, mỗi jobspec được loại bỏ khỏi bảng công việc đang hoạt động. Nếu tùy chọn -h được đưa ra, mỗi jobspec không bị loại bỏ khỏi bảng, nhưng được đánh dấu sao cho SIGHUP không được gửi đến công việc nếu shell nhận được SIGHUP . Nếu không có jobspec , và không có tùy chọn -a cũng như -r , công việc hiện tại được sử dụng. Nếu không có jobspec được cung cấp, tùy chọn -a nghĩa là xóa hoặc đánh dấu tất cả các công việc; tùy chọn -r mà không có đối số jobspec hạn chế hoạt động cho các công việc đang chạy. Giá trị trả về là 0 trừ khi một jobspec không chỉ định một công việc hợp lệ.

echo [ -neE ] [ arg ...]

Đầu ra các arg s, cách nhau bởi dấu cách, theo sau là một dòng mới. Trạng thái trả về luôn luôn là 0. Nếu -n được chỉ định, dấu dòng mới sẽ bị chặn. Nếu tùy chọn -e được đưa ra, việc giải thích các ký tự thoát-dấu gạch chéo sau được bật. Tùy chọn -E tắt tính giải thích của các ký tự thoát này, ngay cả trên các hệ thống mà chúng được diễn giải theo mặc định. Tùy chọn trình bao xpg_echo có thể được sử dụng để tự động xác định có hay không echo mở rộng các ký tự thoát này theo mặc định. echo không diễn giải - nghĩa là kết thúc các tùy chọn. echo giải thích các chuỗi thoát sau:

\ a

cảnh báo (chuông)

\ b

backspace

\ c

ngăn chặn dòng mới

\ e

một nhân vật thoát

\ f

thức ăn dạng

\ n

dòng mới

\ r

vận chuyển trở lại

\ t

Tab ngang

\ v

tab dọc

\\

dấu gạch chéo ngược

\ 0 nnn

ký tự tám bit có giá trị là giá trị bát phân nnn (số không đến ba chữ số bát phân)

\ nnn

ký tự tám bit có giá trị là giá trị bát phân nnn (một đến ba chữ số bát phân)

\ x HH

ký tự tám bit có giá trị là giá trị thập lục phân HH (một hoặc hai chữ số hex)

bật [ -adnps ] [ -f filename ] [ name ...]

Bật và tắt các lệnh shell được xây dựng sẵn. Việc vô hiệu hóa nội trang dựng sẵn cho phép lệnh đĩa có cùng tên với nội trang hệ vỏ được thực thi mà không chỉ định tên đường dẫn đầy đủ, mặc dù trình bao thường tìm kiếm nội trang dựng sẵn trước lệnh đĩa. Nếu -n được sử dụng, mỗi tên bị tắt; nếu không, tên được bật. Ví dụ, để sử dụng nhị phân kiểm tra được tìm thấy thông qua PATH thay vì phiên bản nội trang hệ vỏ, hãy chạy `` enable -n test ''. Tùy chọn -f có nghĩa là tải tên lệnh nội trang mới từ tên tệp đối tượng được chia sẻ, trên các hệ thống hỗ trợ tải động. Tùy chọn -d sẽ xóa một nội trang dựng sẵn đã được nạp trước đó bằng -f . Nếu không có đối số tên được đưa ra, hoặc nếu tùy chọn -p được cung cấp, một danh sách các nội trang hệ vỏ được in. Không có đối số tùy chọn khác, danh sách bao gồm tất cả các nội trang hệ vỏ đã bật. Nếu -n được cung cấp, chỉ các nội trang đã tắt được in. Nếu -a được cung cấp, danh sách được in bao gồm tất cả các nội trang dựng sẵn, với chỉ báo cho biết mỗi danh sách có được bật hay không. Nếu s được cung cấp, đầu ra bị giới hạn đối với nội trang đặc biệt POSIX.

Giá trị trả về là 0 trừ khi tên không phải là một nội trang hệ vỏ hoặc có lỗi khi tải một nội trang mới từ một đối tượng được chia sẻ.

eval [ arg ...]

Các arg được đọc và ghép lại với nhau thành một lệnh duy nhất. Lệnh này sau đó được đọc và thực hiện bởi trình bao, và trạng thái thoát của nó được trả về dưới dạng giá trị của eval . Nếu không có arg , hoặc chỉ có các đối số null, eval trả về 0.

exec [ -cl ] [ -a name ] [ lệnh [ đối số ]]

Nếu lệnh được chỉ định, nó sẽ thay thế vỏ. Không có quy trình mới nào được tạo. Các đối số trở thành đối số cho lệnh . Nếu tùy chọn -l được cung cấp, trình bao đặt một dấu gạch ngang ở đầu zeroth arg được truyền vào lệnh . Đây là những gì đăng nhập (1). Tùy chọn -c khiến cho lệnh được thực hiện với một môi trường trống. Nếu -a được cung cấp, trình bao sẽ chuyển tên như đối số zeroth sang lệnh đã thực hiện. Nếu lệnh không thể được thực hiện vì một lý do nào đó, một trình vỏ không tương tác sẽ thoát, trừ khi tùy chọn shell execfail được kích hoạt, trong trường hợp này nó trả về lỗi. Một trình vỏ tương tác trả về lỗi nếu tệp không thể được thực thi. Nếu lệnh không được chỉ định, mọi chuyển hướng sẽ có hiệu lực trong trình bao hiện tại và trạng thái trả về là 0. Nếu có lỗi chuyển hướng, trạng thái trả về là 1.

thoát [ n ]

Gây ra vỏ để thoát với trạng thái n . Nếu n bị bỏ qua, trạng thái thoát là lệnh cuối cùng được thực thi. Một bẫy trên EXIT được thực hiện trước khi trình bao kết thúc.

xuất [ -fn ] [ tên [= từ ]] ...

xuất khẩu -p

Các tên được cung cấp được đánh dấu để xuất tự động vào môi trường của các lệnh được thực hiện sau đó. Nếu tùy chọn -f được đưa ra, các tên tham chiếu đến các hàm. Nếu không có tên nào được cung cấp, hoặc nếu tùy chọn -p được cung cấp, một danh sách tất cả các tên được xuất khẩu trong trình bao này sẽ được in. Tùy chọn -n làm cho thuộc tính export được loại bỏ khỏi các biến được đặt tên. xuất trả về trạng thái thoát là 0 trừ khi một tùy chọn không hợp lệ được gặp phải, một trong các tên không phải là tên biến hệ vỏ hợp lệ, hoặc -f được cung cấp với một tên không phải là một hàm.

fc [ -e ename ] [ -nlr ] [ đầu tiên ] [ cuối cùng ]

fc -s [ pat = rep ] [ cmd ]

Sửa Command. Trong hình thức đầu tiên, một loạt các lệnh từ đầu đến cuối được chọn từ danh sách lịch sử. Đầu tiêncuối cùng có thể được chỉ định dưới dạng một chuỗi (để xác định lệnh cuối cùng bắt đầu bằng chuỗi đó) hoặc dưới dạng một số (một chỉ mục trong danh sách lịch sử, trong đó một số âm được sử dụng làm giá trị bù trừ từ số lệnh hiện tại). Nếu cuối cùng không được chỉ định, nó được đặt thành lệnh hiện tại để liệt kê (để `` fc -l -10 '' in 10 lệnh cuối cùng) và trước hết là ngược lại. Nếu đầu tiên không được chỉ định, nó được đặt thành lệnh trước đó để chỉnh sửa và -16 cho danh sách.

Tùy chọn -n ngăn chặn các số lệnh khi liệt kê. Tùy chọn -r đảo ngược thứ tự của các lệnh. Nếu tùy chọn -l được đưa ra, các lệnh được liệt kê trên đầu ra tiêu chuẩn. Nếu không, trình soạn thảo được đưa ra bởi ename được gọi trên một tệp có chứa các lệnh đó. Nếu không được phép, giá trị của biến FCEDIT được sử dụng, và giá trị của EDITOR nếu FCEDIT không được thiết lập. Nếu không có biến nào được đặt, được sử dụng. Khi chỉnh sửa xong, các lệnh đã chỉnh sửa được lặp lại và được thực thi.

Trong hình thức thứ hai, lệnh được thực hiện lại sau mỗi trường hợp pat được thay thế bằng rep . Một bí danh hữu ích để sử dụng với điều này là `` r = fc -s '', do đó, gõ '`r cc' 'chạy lệnh cuối cùng bắt đầu bằng` `cc' 'và gõ` `r' 'lại thực hiện lệnh cuối cùng chỉ huy.

Nếu biểu mẫu đầu tiên được sử dụng, giá trị trả về là 0 trừ khi có một tùy chọn không hợp lệ hoặc đầu tiên hoặc cuối cùng chỉ định các dòng lịch sử nằm ngoài phạm vi. Nếu tùy chọn -e được cung cấp, giá trị trả về là giá trị của lệnh cuối được thực hiện hoặc thất bại nếu xảy ra lỗi với tệp lệnh tạm thời. Nếu biểu mẫu thứ hai được sử dụng, trạng thái trả về là của lệnh được thực hiện lại, trừ khi cmd không chỉ định một dòng lịch sử hợp lệ, trong trường hợp này fc trả về lỗi.

fg [ jobspec ]

Tiếp tục jobspec ở nền trước và biến nó thành công việc hiện tại. Nếu jobspec không hiện diện, khái niệm của shell của công việc hiện tại được sử dụng. Giá trị trả về là lệnh được đặt vào nền trước, hoặc thất bại nếu chạy khi kiểm soát công việc bị vô hiệu hóa hoặc khi chạy với điều khiển công việc được bật, nếu jobspec không chỉ định công việc hợp lệ hoặc jobspec chỉ định công việc đã bắt đầu mà không cần kiểm soát công việc .

getopts optstring name [ args ]

getopts được sử dụng bởi các thủ tục shell để phân tích các tham số vị trí. optstring chứa các ký tự tùy chọn được nhận diện; nếu một ký tự được theo sau bởi dấu hai chấm, tùy chọn được mong đợi có một đối số, nên được tách biệt với nó bằng khoảng trắng. Dấu hai chấm và ký tự dấu chấm hỏi có thể không được sử dụng làm ký tự tùy chọn. Mỗi khi nó được gọi, getopts đặt tùy chọn tiếp theo trong tên biến shell, khởi tạo tên nếu nó không tồn tại và chỉ mục của đối số tiếp theo được xử lý thành biến OPTIND . OPTIND được khởi tạo đến 1 mỗi lần hệ vỏ hoặc một kịch bản lệnh shell được gọi. Khi một tùy chọn yêu cầu một đối số, getopts đặt đối số đó vào biến OPTARG . Shell sẽ không đặt lại OPTIND tự động; nó phải được đặt lại thủ công giữa nhiều cuộc gọi đến getopts trong cùng một lời gọi shell nếu một bộ tham số mới được sử dụng.

Khi kết thúc các tùy chọn gặp phải, getopts thoát với một giá trị trả về lớn hơn 0. OPTIND được đặt thành chỉ mục của đối số phi tùy chọn đầu tiên và tên được đặt thành?.

getopts thường phân tích cú pháp các tham số vị trí, nhưng nếu có nhiều đối số được đưa ra trong args , getopts sẽ phân tích cú pháp các tham số đó.

getopts có thể báo cáo lỗi theo hai cách. Nếu ký tự đầu tiên của chuỗi là dấu hai chấm, thì báo cáo lỗi im lặng được sử dụng. Trong các thông báo chẩn đoán hoạt động bình thường được in khi các tùy chọn không hợp lệ hoặc thiếu các đối số tùy chọn gặp phải. Nếu biến OPTERR được đặt thành 0, không có thông báo lỗi nào được hiển thị, ngay cả khi ký tự đầu tiên của chuỗi không phải là dấu hai chấm.

Nếu một tùy chọn không hợp lệ được nhìn thấy, getopts địa điểm? vào tên và, nếu không im lặng, in một thông báo lỗi và bỏ chọn OPTARG . Nếu getopts im lặng, ký tự tùy chọn được tìm thấy được đặt trong OPTARG và không có thông báo chẩn đoán nào được in.

Nếu không tìm thấy đối số bắt buộc và getopts không im lặng, dấu chấm hỏi ( ? ) Được đặt trong tên , OPTARG không được đặt và thông báo chẩn đoán sẽ được in. Nếu getopts là im lặng, sau đó dấu hai chấm (:) được đặt trong tênOPTARG được đặt thành ký tự tùy chọn được tìm thấy.

getopts trả về true nếu một tùy chọn, được chỉ định hoặc không xác định, được tìm thấy. Nó trả về false nếu kết thúc các tùy chọn gặp phải hoặc một lỗi xảy ra.

băm [ -lr ] [ -p tên tệp ] [ -dt ] [ tên ]

Đối với mỗi tên , tên tập tin đầy đủ của lệnh được xác định bằng cách tìm kiếm các thư mục trong $ PATH và ghi nhớ. Nếu tùy chọn -p được cung cấp, không tìm kiếm đường dẫn nào được thực hiện và tên tệp được sử dụng làm tên tệp đầy đủ của lệnh. Tùy chọn -r làm cho shell quên tất cả các vị trí đã nhớ. Tùy chọn -d làm cho shell quên vị trí nhớ của mỗi tên . Nếu tùy chọn -t được cung cấp, tên đường dẫn đầy đủ mà mỗi tên tương ứng được in. Nếu nhiều đối số tên được cung cấp với -t , tên được in trước tên đường dẫn đầy đủ băm. Tùy chọn -l làm cho đầu ra được hiển thị ở định dạng có thể được sử dụng lại làm đầu vào. Nếu không có đối số nào được cung cấp, hoặc nếu chỉ có -l được cung cấp, thông tin về các lệnh nhớ được in. Trạng thái trả về là đúng trừ khi không tìm thấy tên hoặc tùy chọn không hợp lệ được cung cấp.

giúp [ -s ] [ hoa văn ]

Hiển thị thông tin hữu ích về các lệnh dựng sẵn. Nếu mẫu được chỉ định, giúp cung cấp trợ giúp chi tiết về tất cả các lệnh khớp với mẫu ; nếu không giúp đỡ cho tất cả các cấu trúc nội trang và cấu trúc điều khiển vỏ được in. Tùy chọn -s hạn chế thông tin được hiển thị cho bản tóm tắt sử dụng ngắn. Trạng thái trả về là 0 trừ khi lệnh không khớp với mẫu .

lịch sử [ n ]

lịch sử -c

lịch sử -d bù đắp

history -anrw [ filename ]

lịch sử -p arg [ arg ... ]

history -s arg [ arg ... ]

Không có tùy chọn, hiển thị danh sách lịch sử lệnh với số dòng. Các dòng được liệt kê với dấu * đã được sửa đổi. Đối số của n chỉ liệt kê n dòng cuối cùng. Nếu tên tập tin được cung cấp, nó được sử dụng như tên của tập tin lịch sử; nếu không, giá trị của HISTFILE được sử dụng. Tùy chọn, nếu được cung cấp, có ý nghĩa sau đây:

-c

Xóa danh sách lịch sử bằng cách xóa tất cả các mục nhập.

-d offset

Xóa mục nhập lịch sử tại vị trí bù đắp .

-a

Nối các dòng lịch sử `` mới '' (các dòng lịch sử được nhập từ khi bắt đầu phiên bash hiện tại) vào tệp lịch sử.

-n

Đọc các dòng lịch sử chưa được đọc từ tệp lịch sử vào danh sách lịch sử hiện tại. Đây là những dòng được nối vào tệp lịch sử kể từ khi bắt đầu phiên bash hiện tại.

-r

Đọc nội dung của tệp lịch sử và sử dụng chúng làm lịch sử hiện tại.

-w

Viết lịch sử hiện tại vào tệp lịch sử, ghi đè nội dung của tệp lịch sử.

-p

Thực hiện thay thế lịch sử trên các arg sau và hiển thị kết quả trên đầu ra tiêu chuẩn. Không lưu trữ các kết quả trong danh sách lịch sử. Mỗi arg phải được trích dẫn để tắt mở rộng lịch sử bình thường.

-S

Lưu trữ các arg trong danh sách lịch sử như một mục duy nhất. Lệnh cuối cùng trong danh sách lịch sử được loại bỏ trước khi các arg được thêm vào.

Giá trị trả về là 0 trừ khi có một tùy chọn không hợp lệ, một lỗi xảy ra trong khi đọc hoặc ghi tệp lịch sử, một offset không hợp lệ được cung cấp làm đối số cho -d , hoặc mở rộng lịch sử được cung cấp làm đối số cho -p không thành công.

công việc [ -lnprs ] [ jobspec ...]

lệnh -x lệnh [ args ...]

Biểu mẫu đầu tiên liệt kê các công việc đang hoạt động. Các tùy chọn có ý nghĩa sau:

-l

Liệt kê các ID quá trình ngoài thông tin bình thường.

-p

Chỉ liệt kê ID tiến trình của trưởng nhóm tiến trình của công việc.

-n

Chỉ hiển thị thông tin về các công việc đã thay đổi trạng thái kể từ khi người dùng được thông báo lần cuối về trạng thái của họ.

-r

Hạn chế đầu ra cho các công việc đang chạy.

-S

Hạn chế đầu ra cho các công việc đã dừng.

Nếu jobspec được đưa ra, đầu ra bị giới hạn thông tin về công việc đó. Trạng thái trả về là 0 trừ khi một tùy chọn không hợp lệ được gặp phải hoặc một jobspec không hợp lệ được cung cấp.

Nếu tùy chọn -x được cung cấp, các công việc sẽ thay thế bất kỳ jobspec nào được tìm thấy trong lệnh hoặc args với ID nhóm tiến trình tương ứng, và thực hiện lệnh truyền nó args , trả về trạng thái thoát của nó.

giết [ -s sspspec | -n signum | - sigspec ] [ pid | jobspec ] ...

kill -l [ sigspec | exit_status ]

Gửi tín hiệu được đặt tên bởi sigspec hoặc signum tới các tiến trình có tên là pid hoặc jobspec . sigspec là một tên tín hiệu như SIGKILL hoặc một số tín hiệu; signum là một số hiệu. Nếu sigspec là một tên tín hiệu, tên có thể được đưa ra có hoặc không có tiền tố SIG . Nếu không có sigspec , thì SIGTERM được giả thiết. Một đối số của -l liệt kê các tên tín hiệu. Nếu bất kỳ đối số nào được cung cấp khi -l được cho, tên của các tín hiệu tương ứng với các đối số được liệt kê, và trạng thái trả về là 0. Đối số exit_status cho -l là một số xác định một số hiệu hoặc trạng thái thoát của một quá trình chấm dứt bởi một tín hiệu. kill trả về true nếu ít nhất một tín hiệu được gửi thành công, hoặc false nếu một lỗi xảy ra hoặc một tùy chọn không hợp lệ được gặp phải.

để cho arg [ arg ...]

Mỗi arg là một biểu thức số học được đánh giá (xem ARALMETIC EVALUATION ). Nếu arg cuối cùng đánh giá là 0, hãy trả về 1; 0 được trả về khác.

local [ option ] [ name [= value ] ...]

Đối với mỗi đối số, một biến cục bộ có têntên được tạo và giá trị được gán. Tùy chọn có thể là bất kỳ tùy chọn nào được chấp nhận bởi khai báo . Khi địa phương được sử dụng trong một hàm, nó làm cho tên biến có phạm vi nhìn thấy được giới hạn đối với hàm đó và các con của nó. Không có toán hạng, local ghi danh sách các biến cục bộ vào đầu ra tiêu chuẩn. Đó là lỗi khi sử dụng cục bộ khi không nằm trong một hàm. Trạng thái trả về là 0 trừ khi cục bộ được sử dụng bên ngoài một hàm, một tên không hợp lệ được cung cấp, hoặc tên là một biến chỉ đọc.

đăng xuất

Thoát khỏi một vỏ đăng nhập.

popd [- n ] [+ n ] [- n ]

Loại bỏ các mục từ ngăn xếp thư mục. Không có đối số, hãy xóa thư mục trên cùng khỏi ngăn xếp và thực hiện một cd vào thư mục trên cùng mới. Đối số, nếu được cung cấp, có ý nghĩa sau đây:

+ n

Loại bỏ mục nhập thứ n tính từ bên trái của danh sách được hiển thị bằng dir , bắt đầu bằng số không. Ví dụ: `` popd +0 '' xóa thư mục đầu tiên, `` popd +1 '' là thư mục thứ hai.

- n

Loại bỏ mục nhập thứ n tính từ bên phải của danh sách được hiển thị bằng dir , bắt đầu bằng số không. Ví dụ: `` popd -0 '' loại bỏ thư mục cuối cùng, `` popd -1 '' kế tiếp đến cuối cùng.

-n

Ngăn chặn sự thay đổi thư mục bình thường khi loại bỏ các thư mục khỏi ngăn xếp, do đó chỉ có ngăn xếp được thao tác.

Nếu lệnh popd thành công, một dir cũng được thực hiện, và trạng thái trả về là 0. popd trả về false nếu một tùy chọn không hợp lệ được bắt gặp, ngăn xếp thư mục trống, mục nhập ngăn thư mục không tồn tại được chỉ định hoặc thư mục thay đổi không thành công.

định dạng printf [ đối số ]

Viết các đối số đã định dạng vào đầu ra tiêu chuẩn dưới sự kiểm soát của định dạng . Định dạng là chuỗi ký tự chứa ba loại đối tượng: ký tự đơn giản, được sao chép đơn giản vào đầu ra chuẩn, chuỗi thoát ký tự, được chuyển đổi và sao chép sang đầu ra tiêu chuẩn và thông số kỹ thuật định dạng, lập luận liên tiếp. Ngoài các định dạng printf (1) chuẩn, % b làm printf mở rộng chuỗi thoát ngược trong đối số tương ứng, và % q khiến printf xuất ra đối số tương ứng trong một định dạng có thể được sử dụng lại làm đầu vào shell.

Định dạng được sử dụng lại khi cần thiết để tiêu thụ tất cả các đối số . Nếu định dạng yêu cầu nhiều đối số hơn được cung cấp, các đặc tả định dạng phụ sẽ hoạt động như thể một giá trị bằng không hoặc chuỗi rỗng, nếu thích hợp, đã được cung cấp. Giá trị trả về bằng không về thành công, khác không về lỗi.

pushd [ -n ] [ dir ]

pushd [ -n ] [+ n ] [- n ]

Thêm một thư mục vào đầu ngăn xếp thư mục, hoặc xoay ngăn xếp, làm cho đầu mới của ngăn xếp thư mục làm việc hiện tại. Không có đối số, trao đổi hai thư mục hàng đầu và trả về 0, trừ khi ngăn xếp thư mục trống. Đối số, nếu được cung cấp, có ý nghĩa sau đây:

+ n

Xoay ngăn xếp sao cho thư mục thứ n (đếm từ bên trái của danh sách được hiển thị bằng các dir , bắt đầu bằng số không) nằm ở trên cùng.

- n

Xoay ngăn xếp sao cho thư mục thứ n (đếm từ bên phải của danh sách được hiển thị bằng các dir , bắt đầu bằng số không) nằm ở trên cùng.

-n

Ngăn chặn sự thay đổi thư mục bình thường khi thêm các thư mục vào ngăn xếp, do đó chỉ có ngăn xếp được thao tác.

dir

Thêm dir vào thư mục stack ở trên cùng, làm cho nó trở thành thư mục làm việc mới.

Nếu lệnh pushd thành công, một dir cũng được thực hiện. Nếu biểu mẫu đầu tiên được sử dụng, pushd trả về 0 trừ khi cd thành dir thất bại. Với biểu mẫu thứ hai, pushd trả về 0 trừ khi ngăn xếp thư mục trống, phần tử ngăn xếp thư mục không tồn tại được chỉ định, hoặc thư mục thay đổi vào thư mục hiện tại mới được chỉ định không thành công.

pwd [ -LP ]

In đường dẫn tuyệt đối của thư mục làm việc hiện tại. Tên đường dẫn được in không chứa các liên kết tượng trưng nếu tùy chọn -P được cung cấp hoặc tùy chọn vật lý -o cho lệnh dựng sẵn đã đặt được bật. Nếu tùy chọn -L được sử dụng, tên đường dẫn được in có thể chứa các liên kết tượng trưng. Trạng thái trả về là 0 trừ khi xảy ra lỗi khi đọc tên của thư mục hiện tại hoặc tùy chọn không hợp lệ được cung cấp.

đọc [ -ers ] [ -u fd ] [ -t timeout ] [ -a aname ] [ -p nhắc ] [ -n nchars ] [ -d delim ] [ tên ...]

Một dòng được đọc từ đầu vào tiêu chuẩn hoặc từ bộ mô tả tệp fd được cung cấp làm đối số cho tùy chọn -u và từ đầu tiên được gán cho tên đầu tiên, từ thứ hai cho tên thứ hai, v.v. các từ và dấu phân cách xen kẽ của chúng được gán cho họ. Nếu có ít từ được đọc từ luồng đầu vào hơn tên, các tên còn lại được gán giá trị rỗng. Các ký tự trong IFS được sử dụng để chia dòng thành các từ. Ký tự dấu chéo ngược ( \ ) có thể được sử dụng để loại bỏ bất kỳ ý nghĩa đặc biệt nào cho ký tự tiếp theo được đọc và để tiếp tục dòng. Tùy chọn, nếu được cung cấp, có ý nghĩa sau đây:

-a aname

Các từ được gán cho các chỉ mục tuần tự của biến aname mảng, bắt đầu từ 0. aname được bỏ đặt trước khi bất kỳ giá trị mới nào được gán. Các đối số tên khác bị bỏ qua.

-dimim

Ký tự đầu tiên của delim được sử dụng để chấm dứt dòng đầu vào, chứ không phải là dòng mới.

-e

Nếu đầu vào tiêu chuẩn đến từ một thiết bị đầu cuối, readline (xem READLINE ở trên) được sử dụng để có được dòng.

-n nchars

đọc trả về sau khi đọc các ký tự nchars thay vì chờ đợi một dòng đầu vào hoàn chỉnh.

lời nhắc -p

Hiển thị lời nhắc về lỗi chuẩn, không có dòng mới, trước khi cố đọc bất kỳ đầu vào nào. Lời nhắc được hiển thị chỉ khi đầu vào đến từ một thiết bị đầu cuối.

-r

Dấu gạch chéo ngược không hoạt động như một ký tự thoát. Dấu gạch chéo ngược được coi là một phần của dòng. Đặc biệt, một cặp dấu gạch chéo ngược-dòng mới có thể không được sử dụng như là một sự tiếp tục dòng.

-S

Chế độ im lặng. Nếu đầu vào đến từ một thiết bị đầu cuối, các ký tự không được lặp lại.

-t timeout

Nguyên nhân đọc hết thời gian chờ và trả về lỗi nếu một dòng đầu vào hoàn chỉnh không được đọc trong giây hết giờ . Tùy chọn này không có hiệu lực nếu đọc không đọc đầu vào từ đầu cuối hoặc đường ống.

-u fdFP

Đọc đầu vào từ fd mô tả tập tin.

Nếu không có tên nào được cung cấp, dòng đọc được gán cho biến REPLY . Mã trả về là số không, trừ khi kết thúc của tập tin gặp phải, đọc lần ra, hoặc một bộ mô tả tập tin không hợp lệ được cung cấp làm đối số cho -u .

chỉ đọc [ -apf ] [ tên ...]

Các tên đã cho được đánh dấu chỉ đọc; các giá trị của những tên này có thể không được thay đổi bằng cách gán tiếp theo. Nếu tùy chọn -f được cung cấp, các hàm tương ứng với các tên được đánh dấu như vậy. Tùy chọn -a hạn chế biến thành mảng. Nếu không có đối số tên được đưa ra, hoặc nếu tùy chọn -p được cung cấp, một danh sách tất cả các tên chỉ đọc được in. Tùy chọn -p làm cho đầu ra được hiển thị ở định dạng có thể được sử dụng lại làm đầu vào. Trạng thái trả về là 0 trừ khi một tùy chọn không hợp lệ được gặp phải, một trong các tên không phải là một tên biến hệ vỏ hợp lệ, hoặc -f được cung cấp với một tên không phải là một hàm.

return [ n ]

Gây ra một hàm để thoát với giá trị trả về được chỉ định bởi n . Nếu n bị bỏ qua, trạng thái trả về là của lệnh cuối cùng được thực thi trong phần thân hàm. Nếu được sử dụng bên ngoài một chức năng, nhưng trong khi thực hiện một kịch bản của . ( nguồn ) lệnh, nó làm cho trình bao ngừng thực thi tập lệnh đó và trả về hoặc n hoặc trạng thái thoát của lệnh cuối cùng được thực hiện trong kịch bản như trạng thái thoát của tập lệnh. Nếu được sử dụng bên ngoài một hàm và không phải trong khi thực hiện một kịch bản . , trạng thái trả về là sai.

đặt [ --abefhkmnptuvxBCHP ] [ tùy chọn -o ] [ arg ...]

Không có tùy chọn, tên và giá trị của mỗi biến trình bao được hiển thị ở định dạng có thể được sử dụng lại làm đầu vào. Đầu ra được sắp xếp theo ngôn ngữ hiện tại. Khi các tùy chọn được chỉ định, chúng đặt hoặc bỏ đặt thuộc tính shell. Bất kỳ đối số nào còn lại sau khi các tùy chọn được xử lý được coi là giá trị cho các tham số vị trí và được gán, theo thứ tự, đến $ 1 , $ 2 , ... $ n . Tùy chọn, nếu được chỉ định, có ý nghĩa sau:

-a

Tự động đánh dấu các biến và hàm được sửa đổi hoặc được tạo để xuất sang môi trường của các lệnh tiếp theo.

-b

Báo cáo trạng thái của các công việc nền đã kết thúc ngay lập tức, thay vì trước dấu nhắc chính tiếp theo. Điều này chỉ có hiệu lực khi kiểm soát công việc được bật.

-e

Thoát ngay lập tức nếu một lệnh đơn giản (xem SHELL GRAMMAR ở trên) thoát với trạng thái khác 0. Shell không thoát nếu lệnh thất bại là một phần của vòng lặp cho đến hoặc trong khi , một phần của câu lệnh if, một phần của && hoặc || danh sách, hoặc nếu giá trị trả về của lệnh đang được đảo ngược qua ! . Một bẫy trên ERR , nếu được thiết lập, được thực thi trước khi hệ vỏ thoát.

-f

Tắt mở rộng tên đường dẫn.

-h

Hãy nhớ vị trí của các lệnh khi chúng được tra cứu để thực thi. Điều này được kích hoạt theo mặc định.

-k

Tất cả các đối số dưới dạng các câu lệnh gán được đặt trong môi trường cho một lệnh, không chỉ các đối số đứng trước tên lệnh.

-m

Chế độ màn hình. Kiểm soát công việc được bật. Tùy chọn này được bật theo mặc định cho các hệ vỏ tương tác trên các hệ thống hỗ trợ nó (xem JOB CONTROL ở trên). Các tiến trình nền chạy trong một nhóm tiến trình riêng biệt và một dòng chứa trạng thái thoát của chúng được in sau khi hoàn thành.

-n

Đọc các lệnh nhưng không thực thi chúng. Điều này có thể được sử dụng để kiểm tra một kịch bản shell cho các lỗi cú pháp. Điều này bị bỏ qua bởi các trình bao tương tác.

-o -option-name

Tên tùy chọn có thể là một trong các tùy chọn sau:

allexport

Giống như -a .

braceexpand

Giống như -B .

emacs

Sử dụng giao diện chỉnh sửa dòng lệnh kiểu emacs. Điều này được kích hoạt theo mặc định khi trình bao tương tác, trừ khi trình bao được bắt đầu bằng tùy chọn --no editing .

errexit

Giống như -e .

hashall

Giống như -h .

histexpand

Giống như -H .

lịch sử

Bật lịch sử lệnh, như được mô tả ở trên trong LỊCH SỬ . Tùy chọn này được bật theo mặc định trong các trình tương tác.

bỏ qua

Hiệu ứng giống như lệnh shell `` IGNOREEOF = 10 '' đã được thực thi (xem Shell Variables ở trên).

từ khóa

Giống như -k .

màn hình

Giống như -m .

noclobber

Giống như -C .

noexec

Giống như -n .

noglob

Giống như -f . nolog Hiện đang bị bỏ qua.

thông báo

Giống như -b .

danh từ

Giống như -u .

onecmd

Giống như -t .

vật lý

Tương tự như -P .

posix

Thay đổi hành vi của bash nơi hoạt động mặc định khác với tiêu chuẩn POSIX 1003.2 để phù hợp với tiêu chuẩn ( chế độ posix ).

đặc quyền

Giống như -p .

dài dòng

Giống như -v .

vi

Sử dụng giao diện chỉnh sửa dòng lệnh kiểu vi.

xtrace

Giống như -x .

Nếu -o được cung cấp không có tùy chọn-tên , các giá trị của các tùy chọn hiện tại được in. Nếu + o được cung cấp không có tên tùy chọn , một loạt các lệnh được thiết lập để tạo lại các thiết lập tùy chọn hiện tại được hiển thị trên đầu ra tiêu chuẩn.

-p

Bật chế độ đặc quyền . Trong chế độ này, các tệp $ ENV$ BASH_ENV không được xử lý, các hàm hệ vỏ không được kế thừa từ môi trường và biến SHELLOPTS , nếu nó xuất hiện trong môi trường, sẽ bị bỏ qua. Nếu shell được bắt đầu với id người dùng (nhóm) hiệu quả không bằng id người dùng thực (nhóm), và tùy chọn -p không được cung cấp, các hành động này được thực hiện và id người dùng hiệu dụng được đặt thành id người dùng thực. Nếu tùy chọn -p được cung cấp khi khởi động, id người dùng hiệu quả không được đặt lại. Tắt tùy chọn này sẽ khiến id người dùng và nhóm có hiệu lực được đặt thành id người dùng thực và id nhóm.

-t

Thoát sau khi đọc và thực hiện một lệnh.

-u

Xử lý các biến chưa đặt làm lỗi khi thực hiện mở rộng tham số. Nếu mở rộng được thử trên một biến chưa được đặt, shell sẽ in thông báo lỗi, và nếu không tương tác, hãy thoát với trạng thái khác 0.

-v

In các dòng đầu vào vỏ khi chúng được đọc.

-x

Sau khi mở rộng từng lệnh đơn giản , hiển thị giá trị mở rộng của PS4 , tiếp theo là lệnh và các đối số mở rộng của nó.

-B

Vỏ thực hiện mở rộng cú đúp (xem Brace Mở rộng ở trên). Đây là trên chế độ mặc định.

-C

Nếu được đặt, bash sẽ không ghi đè tệp hiện có bằng toán tử chuyển hướng > , > &<> . Điều này có thể bị ghi đè khi tạo tệp đầu ra bằng cách sử dụng toán tử chuyển hướng > | thay vì > .

-H

Bật ! thay thế lịch sử kiểu. Tùy chọn này được bật theo mặc định khi trình bao tương tác.

-P

Nếu được đặt, trình bao sẽ không theo các liên kết tượng trưng khi thực hiện các lệnh như cd thay đổi thư mục làm việc hiện tại. Nó sử dụng cấu trúc thư mục vật lý thay thế. Theo mặc định, bash tuân theo chuỗi các thư mục logic khi thực hiện các lệnh thay đổi thư mục hiện tại.

- -

Nếu không có đối số nào theo tùy chọn này, thì các tham số vị trí sẽ không được đặt. Nếu không, các tham số vị trí được đặt thành arg s, ngay cả khi một số tham số bắt đầu bằng dấu - .

- -

Báo hiệu kết thúc các tùy chọn, khiến tất cả các tham số còn lại được gán cho các tham số vị trí. Các tùy chọn -x-v được tắt. Nếu không có arg, tham số vị trí sẽ không thay đổi.

Các tùy chọn được tắt theo mặc định trừ khi có ghi chú khác. Sử dụng + thay vì - khiến các tùy chọn này bị tắt. Các tùy chọn cũng có thể được chỉ định làm đối số cho lời gọi của trình bao. Tập hợp các tùy chọn hiện tại có thể được tìm thấy trong $ - . Trạng thái trả về luôn đúng, trừ khi gặp phải một tùy chọn không hợp lệ.

shift [ n ]

Các tham số vị trí từ n +1 ... được đổi tên thành $ 1 .... Các tham số được biểu diễn bằng các số $ # xuống $ # - n +1 không được đặt. n phải là số không âm ít hơn hoặc bằng $ # . Nếu n là 0, không có tham số nào được thay đổi. Nếu n không được cho, nó được giả định là 1. Nếu n lớn hơn $ # , các thông số vị trí không thay đổi. Trạng thái trả về lớn hơn 0 nếu n lớn hơn $ # hoặc nhỏ hơn 0; nếu không 0.

shopt [ -pqsu ] [ -o ] [ optname ...]

Chuyển đổi các giá trị của các biến kiểm soát hành vi shell tùy chọn. Không có tùy chọn, hoặc với tùy chọn -p , danh sách tất cả các tùy chọn có thể cài đặt được hiển thị, với chỉ báo có hay không mỗi tùy chọn được đặt. Tùy chọn -p làm cho đầu ra được hiển thị trong một biểu mẫu có thể được sử dụng lại làm đầu vào. Các tùy chọn khác có ý nghĩa sau:

-S

Bật (đặt) từng tên người dùng.

-u

Vô hiệu hóa (bỏ đặt) mỗi optname .

-q

Ngăn chặn đầu ra bình thường (chế độ im lặng); trạng thái trả lại cho biết liệu optname được đặt hay chưa được đặt. Nếu có nhiều tham số optname được gán với -q , trạng thái trả về bằng 0 nếu tất cả các tên tham số được bật; khác không.

-o

Hạn chế các giá trị của optname là những giá trị được định nghĩa cho tùy chọn -o cho bộ dựng sẵn.

Nếu một trong hai -s hoặc -u được sử dụng không có đối số optname , thì hiển thị được giới hạn cho các tùy chọn được thiết lập hoặc không được đặt, tương ứng. Trừ khi có ghi chú khác, tùy chọn shopt bị vô hiệu hóa (bỏ đặt) theo mặc định.

Trạng thái trả lại khi tùy chọn danh sách bằng 0 nếu tất cả các tên miền được bật, khác không. Khi thiết lập hoặc unsetting tùy chọn, trạng thái trả về là số không trừ khi một optname không phải là một lựa chọn shell hợp lệ.

Danh sách các tùy chọn shopt là:

cdable_vars

Nếu được đặt, một đối số cho lệnh dựng sẵn cd không phải là thư mục được giả định là tên của một biến có giá trị là thư mục cần thay đổi.

cdspell

Nếu được đặt, các lỗi nhỏ trong chính tả của thành phần thư mục trong lệnh cd sẽ được sửa. Các lỗi được kiểm tra là các ký tự được chuyển đổi, ký tự bị thiếu và một ký tự quá nhiều. Nếu tìm thấy một sửa chữa, tên tập tin đã sửa sẽ được in và lệnh sẽ được thực hiện. Tùy chọn này chỉ được sử dụng bởi các trình bao tương tác.

kiểm tra

Nếu được đặt, bash sẽ kiểm tra xem một lệnh được tìm thấy trong bảng băm tồn tại trước khi thử thực hiện nó. Nếu lệnh băm không còn tồn tại, tìm kiếm đường dẫn bình thường được thực hiện.

checkwinsize

Nếu được đặt, bash sẽ kiểm tra kích thước cửa sổ sau mỗi lệnh và, nếu cần, cập nhật các giá trị của LINESCOLUMNS .

cmdhist

Nếu được đặt, bash sẽ cố gắng lưu tất cả các dòng của lệnh nhiều dòng trong cùng một mục nhập lịch sử. Điều này cho phép dễ dàng chỉnh sửa lại các lệnh nhiều dòng.

dotglob

Nếu được đặt, bash sẽ bao gồm tên tệp bắt đầu bằng dấu '.' trong kết quả mở rộng tên đường dẫn.

execfail

Nếu được đặt, một trình vỏ không tương tác sẽ không thoát nếu nó không thể thực thi tệp được chỉ định làm đối số cho lệnh được xây dựng của exec . Một trình bao tương tác không thoát nếu exec không thành công.

expand_aliases

Nếu được đặt, bí danh được mở rộng như được mô tả ở trên trong ALIASES . Tùy chọn này được bật theo mặc định cho các trình bao tương tác.

extglob

Nếu được đặt, các tính năng đối sánh mẫu mở rộng được mô tả ở trên trong phần Mở rộng tên đường dẫn được bật.

histappend

Nếu được đặt, danh sách lịch sử được nối vào tệp có tên là giá trị của biến HISTFILE khi trình bao thoát, thay vì ghi đè lên tệp.

histreedit

Nếu được đặt và đường dây đang được sử dụng, người dùng sẽ có cơ hội chỉnh sửa lại thay thế lịch sử không thành công.

histverify

Nếu được đặt, và readline đang được sử dụng, kết quả của việc thay thế lịch sử không được chuyển ngay đến trình phân tích cú pháp trình bao. Thay vào đó, dòng kết quả được nạp vào bộ đệm chỉnh sửa readline , cho phép sửa đổi thêm.

hostcomplete

Nếu được đặt, và readline đang được sử dụng, bash sẽ cố gắng thực hiện hoàn thành tên máy chủ khi một từ có chứa @ đang được hoàn thành (xem Hoàn thành dưới READLINE ở trên). Điều này được kích hoạt theo mặc định.

huponexit

Nếu được đặt, bash sẽ gửi SIGHUP tới tất cả các công việc khi một trình bao đăng nhập tương tác thoát.

interactive_comments

Nếu được đặt, hãy cho phép một từ bắt đầu bằng # để khiến từ đó và tất cả các ký tự còn lại trên dòng đó bị bỏ qua trong một trình bao tương tác (xem phần COMMENTS ở trên). Tùy chọn này được kích hoạt theo mặc định.

NULL

Nếu được đặt và tùy chọn cmdhist được bật, các lệnh nhiều dòng được lưu vào lịch sử với các dòng mới được nhúng thay vì sử dụng dấu phân cách dấu chấm phẩy nếu có thể.

login_shell

Shell đặt tùy chọn này nếu nó được bắt đầu như một shell đăng nhập (xem INVOCATION ở trên). Giá trị có thể không thay đổi.

mailwarn

Nếu được đặt, và một tập tin mà bash đang kiểm tra thư đã được truy cập kể từ lần cuối cùng nó được kiểm tra, thông báo `` Thư trong thư đã được đọc '' được hiển thị.

no_empty_cmd_completion

Nếu được đặt, và readline đang được sử dụng, bash sẽ không cố gắng tìm kiếm PATH để hoàn thành có thể khi hoàn thành được thử trên một dòng trống.

nocaseglob

Nếu được đặt, bash khớp với tên tệp theo kiểu phân biệt chữ hoa chữ thường khi thực hiện mở rộng tên đường dẫn (xem Mở rộng tên đường dẫn ở trên).

nullglob

Nếu được đặt, bash cho phép các mẫu không khớp với tệp nào (xem Mở rộng tên đường dẫn ở trên) để mở rộng thành chuỗi rỗng, thay vì chính chúng.

progcomp

Nếu được đặt, các cơ sở hoàn thành có thể lập trình (xem phần Hoàn thành có thể lập trình ở trên) được bật. Tùy chọn này được kích hoạt theo mặc định.

nhắc nhở

Nếu được đặt, các chuỗi nhanh sẽ trải qua biến và mở rộng tham số sau khi