Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

dash - Trực tuyến trên đám mây

Chạy dấu gạch ngang trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là dấu gạch ngang lệnh có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


dấu gạch ngang - trình thông dịch lệnh (shell)

SYNOPSIS


dấu gạch ngang [-aCefnuvxIimqVEbp] [+ aCefnuvxIimqVEbp] [-o OPTION_NAME] [+o OPTION_NAME]
[lệnh_file [đối số hữu ích. Cảm ơn !]]
dấu gạch ngang -c [-aCefnuvxIimqVEbp] [+ aCefnuvxIimqVEbp] [-o OPTION_NAME] [+o OPTION_NAME]
lệnh_string [tên_lệnh [đối số hữu ích. Cảm ơn !]]
dấu gạch ngang -s [-aCefnuvxIimqVEbp] [+ aCefnuvxIimqVEbp] [-o OPTION_NAME] [+o OPTION_NAME]
[đối số hữu ích. Cảm ơn !]

MÔ TẢ


dấu gạch ngang là trình thông dịch lệnh tiêu chuẩn cho hệ thống. Phiên bản hiện tại của dấu gạch ngang
quy trình được thay đổi để phù hợp với thông số kỹ thuật POSIX 1003.2 và 1003.2a cho
cái vỏ. Phiên bản này có nhiều tính năng làm cho nó có vẻ giống ở một số khía cạnh
vỏ Korn, nhưng nó không phải là bản sao của vỏ Korn (xem ksh(1)). Chỉ các tính năng được chỉ định bởi
POSIX, cộng với một số phần mở rộng Berkeley, đang được tích hợp vào trình bao này. Người đàn ông này
trang này không nhằm mục đích là một hướng dẫn hoặc một thông số kỹ thuật hoàn chỉnh của shell.

Giới thiệu chung
Trình bao là lệnh đọc các dòng từ tệp hoặc thiết bị đầu cuối, diễn giải chúng,
và thường thực hiện các lệnh khác. Đây là chương trình đang chạy khi người dùng ghi nhật ký
vào hệ thống (mặc dù người dùng có thể chọn một trình bao khác với chsh(1) lệnh).
Trình bao triển khai một ngôn ngữ có cấu trúc điều khiển luồng, một cơ sở vĩ mô
cung cấp nhiều tính năng khác nhau ngoài lưu trữ dữ liệu, cùng với lịch sử tích hợp và
khả năng chỉnh sửa dòng. Nó kết hợp nhiều tính năng để hỗ trợ sử dụng tương tác và có
lợi thế là ngôn ngữ diễn giải là chung cho cả tương tác và không tương tác
sử dụng (tập lệnh shell). Có nghĩa là, các lệnh có thể được nhập trực tiếp vào trình bao đang chạy hoặc có thể
được đưa vào một tệp và tệp có thể được thực thi trực tiếp bởi trình bao.

sự thỉnh nguyện
Nếu không có args và nếu đầu vào tiêu chuẩn của shell được kết nối với một thiết bị đầu cuối (hoặc
nếu -i cờ được đặt), và -c tùy chọn không có mặt, shell được coi là một
vỏ tương tác. Một trình bao tương tác thường nhắc trước mỗi lệnh và xử lý
các lỗi lập trình và lệnh khác nhau (như mô tả bên dưới). Khi lần đầu tiên bắt đầu,
shell kiểm tra đối số 0 và nếu nó bắt đầu bằng dấu gạch ngang '-', shell cũng được coi là
vỏ đăng nhập. Điều này thường được thực hiện tự động bởi hệ thống khi người dùng đăng nhập lần đầu tiên.
Đầu tiên, một trình bao đăng nhập đọc các lệnh từ các tệp / etc / profile.Hồ sơ nếu chúng tồn tại.
Nếu biến môi trường ENV được đặt khi nhập vào một trình bao tương tác hoặc được đặt trong
.Hồ sơ của một trình bao đăng nhập, trình bao tiếp theo đọc các lệnh từ tệp có tên trong ENV.
Do đó, người dùng nên đặt các lệnh chỉ được thực thi tại thời điểm đăng nhập trong
.Hồ sơ tệp và các lệnh được thực thi cho mọi trình bao tương tác bên trong ENV
tập tin. Để đặt biến ENV thành một số tệp, hãy đặt dòng sau trong .Hồ sơ of
thư mục chính của bạn

ENV = $ HOME / .shinit; xuất khẩu ENV

thay thế cho “.shinit” bất kỳ tên tệp nào bạn muốn.

Nếu các đối số dòng lệnh bên cạnh các tùy chọn đã được chỉ định, thì shell xử lý
đối số đầu tiên là tên của tệp để đọc các lệnh (một tập lệnh shell) và
các đối số còn lại được đặt làm tham số vị trí của shell ($ 1, $ 2, v.v.).
Nếu không, trình bao đọc lệnh từ đầu vào chuẩn của nó.

Tranh luận Danh sách Chế biến
Tất cả các tùy chọn chữ cái đơn lẻ có tên tương ứng đều có thể được sử dụng làm đối số
đến -o Lựa chọn. Bộ -o tên được cung cấp bên cạnh tùy chọn ký tự đơn trong
mô tả bên dưới. Chỉ định dấu gạch ngang “-” sẽ bật tùy chọn trong khi sử dụng dấu cộng “+”
vô hiệu hóa tùy chọn. Các tùy chọn sau có thể được đặt từ dòng lệnh hoặc với định
nội trang (mô tả sau).

-a tất cả xuất khẩu Xuất tất cả các biến được gán cho.

-c Đọc lệnh từ lệnh_string toán hạng thay vì từ
đầu vào chuẩn. Tham số đặc biệt 0 sẽ được đặt từ
tên_lệnh toán hạng và các tham số vị trí ($ 1, $ 2, v.v.)
đặt từ các toán hạng đối số còn lại.

-C người ăn bám Không ghi đè các tệp hiện có bằng “>”.

-e sai lầm Nếu không tương tác, hãy thoát ngay lập tức nếu bất kỳ lệnh nào chưa được kiểm tra không thành công.
Trạng thái thoát của một lệnh được coi là được kiểm tra rõ ràng nếu
lệnh được sử dụng để kiểm soát một if, elif, trong khi, hoặc là cho đến khi; hoặc nếu
lệnh là toán hạng bên trái của một “&&” hoặc “||” nhà điều hành.

-f người lùn Tắt mở rộng tên đường dẫn.

-n noexec Nếu không tương tác, hãy đọc lệnh nhưng không thực hiện chúng. Đây là
hữu ích để kiểm tra cú pháp của các tập lệnh shell.

-u danh từ Viết thông báo cho lỗi chuẩn khi cố gắng mở rộng một
biến chưa được đặt và nếu trình bao không tương tác, hãy thoát
ngay lập tức.

-v dài dòng Vỏ ghi đầu vào của nó thành lỗi chuẩn khi nó được đọc. Có ích
để gỡ lỗi.

-x xtrace Viết mỗi lệnh thành lỗi chuẩn (bắt đầu bằng dấu '+') trước nó
được thực thi. Hữu ích cho việc gỡ lỗi.

-I làm ngơ Bỏ qua EOF's khỏi đầu vào khi tương tác.

-i tương tác Buộc shell hoạt động tương tác.

-l Làm cho dấu gạch ngang hoạt động như thể nó đã được gọi như một trình bao đăng nhập.

-m màn hình Bật kiểm soát công việc (đặt tự động khi tương tác).

-s tiêu chuẩn Đọc lệnh từ đầu vào tiêu chuẩn (đặt tự động nếu không có tệp
đối số có mặt). Tùy chọn này không có hiệu lực khi được đặt sau
shell đã bắt đầu chạy (tức là với định).

-V vi Bật cài sẵn vi(1) trình soạn thảo dòng lệnh (tắt -E nếu nó có
được thiết lập).

-E emacs Bật cài sẵn emacs(1) trình soạn thảo dòng lệnh (tắt -V nếu nó
đã được chuẩn bị).

-b thông báo Bật thông báo không đồng bộ về việc hoàn thành công việc nền.
(UNIMPLEMENTED cho 4.4alpha)

-p tư nhân Không cố gắng đặt lại uid hiệu quả nếu nó không khớp với uid. Cái này
không được đặt theo mặc định để giúp tránh sử dụng sai bởi setuid root
chương trình thông qua hệ thống(3) hoặc bật ra(3).

từ vựng Structure
Trình bao đọc đầu vào theo các dòng từ một tệp và chia nhỏ nó thành các từ tại
khoảng trắng (khoảng trắng và tab) và tại một số chuỗi ký tự đặc biệt đối với
shell được gọi là "toán tử". Có hai loại toán tử: toán tử điều khiển và
các toán tử chuyển hướng (ý nghĩa của chúng sẽ được thảo luận ở phần sau). Sau đây là danh sách các toán tử:

Các toán tử điều khiển:
& && (); ;; | ||

Các toán tử chuyển hướng:
<>> | << >> <&> & << - <>

Trích dẫn
Trích dẫn được sử dụng để loại bỏ ý nghĩa đặc biệt của các ký tự hoặc từ nhất định đối với shell,
chẳng hạn như toán tử, khoảng trắng hoặc từ khóa. Có ba loại trích dẫn: phù hợp
dấu nháy đơn, dấu nháy kép phù hợp và dấu gạch chéo ngược.

Dấu gạch chéo ngược
Dấu gạch chéo ngược giữ nguyên nghĩa đen của ký tự sau, ngoại trừ
⟨dòng mới⟩. Dấu gạch chéo ngược đứng trước ⟨newline⟩ được coi là một dòng tiếp nối.

Độc thân Quotes
Đặt các ký tự trong dấu ngoặc kép duy nhất giữ nguyên nghĩa đen của tất cả các ký tự
(ngoại trừ dấu nháy đơn, khiến không thể đặt dấu nháy đơn trong một chuỗi được trích dẫn đơn).

Kép Quotes
Đặt các ký tự trong dấu ngoặc kép giữ nguyên nghĩa đen của tất cả các ký tự
ngoại trừ $ign ($), backquote (`) và dấu gạch chéo ngược (\). Dấu gạch chéo ngược bên trong dấu ngoặc kép
là kỳ lạ về mặt lịch sử và chỉ phục vụ để trích dẫn các ký tự sau:
$ `" \ .
Nếu không thì nó vẫn theo nghĩa đen.

Kín đáo Từ
Các từ dành riêng là những từ có ý nghĩa đặc biệt đối với lớp vỏ và được nhận dạng ở
đầu dòng và sau toán tử điều khiển. Sau đây là các từ dành riêng:

! elif fi trong khi trường hợp
khác cho sau đó {}
làm xong cho đến khi esac

Ý nghĩa của chúng sẽ được thảo luận ở phần sau.

bí danh
Bí danh là tên và giá trị tương ứng được đặt bằng cách sử dụng bí danh(1) lệnh nội trang. Bất cứ khi nào
một từ dành riêng có thể xảy ra (xem ở trên), và sau khi kiểm tra các từ dành riêng, trình bao
kiểm tra từ để xem nó có khớp với bí danh hay không. Nếu có, nó sẽ thay thế nó trong đầu vào
dòng với giá trị của nó. Ví dụ: nếu có một bí danh được gọi là “lf” với giá trị “ls
-F ”, sau đó là đầu vào:

lf foobar ⟨return⟩

sẽ trở thành

ls -F foobar ⟨return⟩

Bí danh cung cấp một cách thuận tiện cho những người dùng ngây thơ để tạo các đường tắt cho các lệnh mà không cần
phải học cách tạo các hàm với các đối số. Chúng cũng có thể được sử dụng để tạo
mã tối nghĩa về mặt từ vựng. Việc sử dụng này không được khuyến khích.

Lệnh
Vỏ giải thích các từ mà nó đọc theo một ngôn ngữ, đặc điểm kỹ thuật của ngôn ngữ đó
nằm ngoài phạm vi của trang người này (tham khảo BNF trong tài liệu POSIX 1003.2).
Về cơ bản, một dòng được đọc và nếu từ đầu tiên của dòng (hoặc sau một điều khiển
toán tử) không phải là một từ dành riêng, khi đó trình bao đã nhận ra một lệnh đơn giản.
Nếu không, một lệnh phức tạp hoặc một số cấu trúc đặc biệt khác có thể đã được nhận dạng.

Đơn giản Lệnh
Nếu một lệnh đơn giản đã được nhận dạng, trình bao sẽ thực hiện các hành động sau:

1. Các từ đứng đầu có dạng “name = value” bị loại bỏ và gán cho
môi trường của lệnh đơn giản. Các toán tử chuyển hướng và các đối số của chúng (như
được mô tả bên dưới) được loại bỏ và lưu để xử lý.

2. Các từ còn lại được mở rộng như được mô tả trong phần được gọi là “Mở rộng”,
và từ còn lại đầu tiên được coi là tên lệnh và lệnh là
nằm. Các từ còn lại được coi là đối số của lệnh. Nếu không
kết quả là tên lệnh, sau đó các phép gán biến “name = value” được công nhận trong
mục 1 ảnh hưởng đến shell hiện tại.

3. Chuyển hướng được thực hiện như mô tả trong phần tiếp theo.

Chuyển hướng
Chuyển hướng được sử dụng để thay đổi nơi một lệnh đọc đầu vào của nó hoặc gửi đầu ra của nó. Trong
chung, chuyển hướng mở, đóng hoặc sao chép một tham chiếu hiện có tới một tệp. Các
định dạng tổng thể được sử dụng để chuyển hướng là:

[NS] chuyển hướng hồ sơ

Ở đâu chuyển hướng là một trong những toán tử chuyển hướng đã đề cập trước đây. Sau đây là một
danh sách các chuyển hướng có thể. [N] là một số tùy chọn, như trong '3' (không phải '[3]'),
đề cập đến một bộ mô tả tệp.

[n]> tệp Chuyển hướng đầu ra tiêu chuẩn (hoặc n) tới tệp.

[n]> | Tệp Giống nhau, nhưng ghi đè lên -C tùy chọn.

[n] >> tệp Nối đầu ra chuẩn (hoặc n) vào tệp.

[n] <tệp Chuyển hướng đầu vào chuẩn (hoặc n) từ tệp.

[n1] <& n2 Đầu vào chuẩn trùng lặp (hoặc n1) từ bộ mô tả tệp n2.

[n] <& - Đóng đầu vào chuẩn (hoặc n).

[n1]> & n2 Sao y đầu ra chuẩn (hoặc n1) thành n2.

[n]> & - Đóng đầu ra tiêu chuẩn (hoặc n).

[n] <> tệp Mở tệp để đọc và ghi trên đầu vào chuẩn (hoặc n).

Chuyển hướng sau đây thường được gọi là “tài liệu tại đây”.

[n] << dấu phân cách
đây-doc-văn bản ...
dấu phân cách

Tất cả văn bản trên các dòng liên tiếp cho đến dấu phân cách sẽ được lưu lại và có sẵn cho
lệnh trên đầu vào chuẩn, hoặc bộ mô tả tệp n nếu nó được chỉ định. Nếu dấu phân cách như
được chỉ định trên dòng đầu tiên được trích dẫn, sau đó văn bản here-doc-text được xử lý theo nghĩa đen,
nếu không, văn bản phải chịu sự mở rộng tham số, thay thế lệnh và số học
mở rộng (như được mô tả trong phần về "Mở rộng"). Nếu toán tử là “<< -” thì thay vào đó
của “<<”, thì các tab đầu tiên trong văn bản here-doc-text sẽ bị loại bỏ.

Tìm kiếm Thực hiện
Có ba loại lệnh: hàm shell, lệnh nội trang và chương trình bình thường -
và lệnh được tìm kiếm (theo tên) theo thứ tự đó. Mỗi chúng được thực thi trong một
cách khác.

Khi một hàm shell được thực thi, tất cả các tham số vị trí của shell (ngoại trừ $ 0,
vẫn không thay đổi) được đặt thành các đối số của hàm shell. Các biến là
được đặt rõ ràng trong môi trường của lệnh (bằng cách đặt các nhiệm vụ cho chúng trước
tên hàm) được tạo cục bộ cho hàm và được đặt thành các giá trị đã cho. Sau đó
lệnh được đưa ra trong định nghĩa hàm được thực thi. Các tham số vị trí là
được khôi phục về giá trị ban đầu khi lệnh hoàn thành. Tất cả điều này xảy ra trong
vỏ hiện tại.

Nội trang shell được thực thi bên trong shell mà không tạo ra một quy trình mới.

Ngược lại, nếu tên lệnh không khớp với một hàm hoặc nội trang, lệnh sẽ được tìm kiếm
như một chương trình bình thường trong hệ thống tệp (như được mô tả trong phần tiếp theo). Khi một
chương trình bình thường được thực thi, trình bao chạy chương trình, truyền các đối số và
môi trường vào chương trình. Nếu chương trình không phải là một tệp thực thi bình thường (tức là nếu nó
không bắt đầu bằng "số ma thuật" có biểu diễn ASCII là "#!", vì vậy thi hành(2)
sau đó trả về ENOEXEC) trình bao sẽ diễn giải chương trình trong một vỏ con. Vỏ con
sẽ khởi động lại chính nó trong trường hợp này, do đó hiệu ứng sẽ giống như một lớp vỏ mới đã được
được gọi để xử lý tập lệnh shell ad-hoc, ngoại trừ vị trí của các lệnh được băm
nằm trong shell cha sẽ được con ghi nhớ.

Lưu ý rằng các phiên bản trước của tài liệu này và chính mã nguồn đã gây hiểu lầm và
thường đề cập đến một tập lệnh shell không có số ma thuật như một "thủ tục shell".

Đường dẫn Tìm kiếm
Khi định vị một lệnh, đầu tiên shell sẽ xem nó có chức năng shell hay không.
Tên. Sau đó, nó tìm kiếm một lệnh nội trang có tên đó. Nếu không tìm thấy lệnh nội trang,
một trong hai điều xảy ra:

1. Tên lệnh có dấu gạch chéo được thực hiện đơn giản mà không cần thực hiện bất kỳ tìm kiếm nào.

2. Trình bao lần lượt tìm kiếm từng mục trong PATH để tìm lệnh. Giá trị của PATH
biến phải là một loạt các mục được phân tách bằng dấu hai chấm. Mỗi mục bao gồm một
Tên thư mục. Thư mục hiện tại có thể được biểu thị một cách ngầm định bằng một khoảng trống
tên thư mục, hoặc rõ ràng bằng một dấu chấm.

Lệnh Ra Trạng thái
Mỗi lệnh có một trạng thái thoát có thể ảnh hưởng đến hoạt động của các lệnh shell khác.
Mô hình là một lệnh thoát ra bằng XNUMX đối với bình thường hoặc thành công và khác XNUMX đối với
thất bại, lỗi, hoặc một dấu hiệu sai. Trang người đàn ông cho mỗi lệnh phải chỉ ra
các mã thoát khác nhau và ý nghĩa của chúng. Ngoài ra, các lệnh nội trang trả về lối ra
mã, cũng như một hàm shell được thực thi.

Nếu một lệnh bao gồm hoàn toàn các phép gán biến thì trạng thái thoát của lệnh
là lệnh thay thế cuối cùng nếu có, nếu không là 0.

Phức tạp Lệnh
Lệnh phức tạp là sự kết hợp của các lệnh đơn giản với các toán tử điều khiển hoặc dành riêng
từ, cùng nhau tạo ra một lệnh phức tạp lớn hơn. Nói chung, một lệnh là một trong những
Sau đây:

· lệnh đơn giản

· đường ống dẫn

· danh sách hoặc danh sách kết hợp

· lệnh ghép

· định nghĩa chức năng

Trừ khi có quy định khác, trạng thái thoát của lệnh là trạng thái của lệnh đơn giản cuối cùng
được thực hiện bởi lệnh.

Đường ống
Đường ống là một chuỗi gồm một hoặc nhiều lệnh được phân tách bởi toán tử điều khiển |. Các
đầu ra tiêu chuẩn của tất cả trừ lệnh cuối cùng được kết nối với đầu vào tiêu chuẩn của lệnh tiếp theo
chỉ huy. Đầu ra tiêu chuẩn của lệnh cuối cùng được kế thừa từ shell, như thường lệ.

Định dạng cho một đường ống là:

[!] lệnh1 [| lệnh2 ...]

Đầu ra tiêu chuẩn của command1 được kết nối với đầu vào tiêu chuẩn của command2. Các
đầu vào tiêu chuẩn, đầu ra tiêu chuẩn hoặc cả hai lệnh được coi là được gán bởi
đường ống dẫn trước bất kỳ chuyển hướng nào được chỉ định bởi các nhà khai thác chuyển hướng là một phần của
chỉ huy.

Nếu đường ống không ở trong nền (sẽ thảo luận ở phần sau), trình bao sẽ đợi tất cả các lệnh
để hoàn thành.

Nếu từ dành riêng! không đứng trước đường dẫn, trạng thái thoát là trạng thái thoát của
lệnh cuối cùng được chỉ định trong đường dẫn. Nếu không, trạng thái thoát là logic KHÔNG
trạng thái thoát của lệnh cuối cùng. Nghĩa là, nếu lệnh cuối cùng trả về XNUMX, thì lối ra
trạng thái là 1; nếu lệnh cuối cùng trả về lớn hơn XNUMX, trạng thái thoát là XNUMX.

Bởi vì việc phân công đường ống của đầu vào tiêu chuẩn hoặc đầu ra tiêu chuẩn hoặc cả hai đều diễn ra trước đó
chuyển hướng, nó có thể được sửa đổi bằng cách chuyển hướng. Ví dụ:

$ command1 2> & 1 | command2

gửi cả đầu ra tiêu chuẩn và lỗi tiêu chuẩn của command1 tới đầu vào tiêu chuẩn của
lệnh2.

MỘT ; hoặc dấu chấm dứt ⟨newline⟩ khiến danh sách AND-OR trước đó (được mô tả tiếp theo) được thực thi
một cách tuần tự; a & gây ra sự thực thi không đồng bộ của danh sách AND-OR trước đó.

Lưu ý rằng không giống như một số trình bao khác, mỗi quy trình trong đường dẫn là một con của lệnh gọi
shell (trừ khi nó là một nội trang shell, trong trường hợp đó nó thực thi trong shell hiện tại - nhưng
bất kỳ ảnh hưởng nào của nó đối với môi trường đều bị xóa sạch).

Tiểu sử Lệnh -- &
Nếu một lệnh được kết thúc bởi toán tử điều khiển ký hiệu và (&), trình bao thực hiện lệnh
lệnh không đồng bộ - nghĩa là, trình bao không đợi lệnh kết thúc trước đó
thực hiện lệnh tiếp theo.

Định dạng để chạy một lệnh trong nền là:

command1 & [command2 & ...]

Nếu trình bao không tương tác, đầu vào tiêu chuẩn của lệnh không đồng bộ được đặt thành
/ dev / null.

Chức năng -- Nói chung Speaking
Danh sách là một chuỗi không hoặc nhiều lệnh được phân tách bằng dòng mới, dấu chấm phẩy hoặc
dấu và và được kết thúc bằng một trong ba ký tự này theo tùy chọn. Các lệnh trong một
danh sách được thực hiện theo thứ tự chúng được viết. Nếu lệnh được theo sau bởi một dấu và,
shell bắt đầu lệnh và ngay lập tức chuyển sang lệnh tiếp theo; nếu không thì nó
đợi lệnh kết thúc trước khi thực hiện lệnh tiếp theo.

Ngắn mạch Danh sách Các nhà khai thác
“&&” và “||” là các toán tử danh sách VÀ-HOẶC. “&&” thực thi lệnh đầu tiên, sau đó thực thi
lệnh thứ hai iff trạng thái thoát của lệnh đầu tiên bằng không. "||" tương tự, nhưng
thực hiện lệnh thứ hai iff trạng thái thoát của lệnh đầu tiên là khác. "&&" và
"||" cả hai đều có cùng một mức độ ưu tiên.

Kiểm soát lưu lượng Cấu tạo -- nếu, trong khi, cho, trường hợp
Cú pháp của lệnh if là

nếu danh sách
sau đó liệt kê
[danh sách elif
sau đó liệt kê] ...
[danh sách khác]
fi

Cú pháp của lệnh while là

danh sách trong khi
lập danh sách
thực hiện

Hai danh sách được thực thi lặp đi lặp lại trong khi trạng thái thoát của danh sách đầu tiên bằng không. Các
cho đến khi lệnh tương tự, nhưng có từ cho đến khi ở vị trí của trong khi, điều này khiến nó
lặp lại cho đến khi trạng thái thoát của danh sách đầu tiên bằng không.

Cú pháp của lệnh for là

cho biến [trong [word ...]]
lập danh sách
thực hiện

Những từ sau in được mở rộng, và sau đó danh sách được thực thi lặp đi lặp lại với
lần lượt đặt biến cho từng từ. Bỏ qua trong từ ... tương đương với "$ @".

Cú pháp của lệnh break và continue là

phá vỡ [num]
tiếp tục [num]

Break kết thúc num trong cùng của vòng lặp for hoặc while. Tiếp tục tiếp tục với phần tiếp theo
lặp của vòng lặp trong cùng. Chúng được triển khai dưới dạng các lệnh nội trang.

Cú pháp của lệnh case là

từ trường hợp trong
[(] mẫu) danh sách ;;
hữu ích. Cảm ơn !
nó C

Mẫu thực sự có thể là một hoặc nhiều mẫu (xem Shell Patterns mô tả sau),
phân tách bằng “|” nhân vật. Ký tự “(” trước mẫu là tùy chọn.

Nhóm Lệnh Cùng nhau
Các lệnh có thể được nhóm lại bằng cách viết

(danh sách)

or

{ danh sách; }

Đầu tiên trong số này thực thi các lệnh trong một vỏ con. Các lệnh nội trang được nhóm lại thành một
(danh sách) sẽ không ảnh hưởng đến trình bao hiện tại. Dạng thứ hai không phân nhánh một shell khác, vì vậy
hiệu quả hơn một chút. Nhóm các lệnh lại với nhau theo cách này cho phép bạn chuyển hướng
xuất như thể chúng là một chương trình:

{printf "xin chào"; printf "world \ n"; }> lời chào

Lưu ý rằng “}” phải tuân theo một toán tử điều khiển (ở đây, “;”) để nó được công nhận là
từ dành riêng và không phải là đối số lệnh khác.

Chức năng
Cú pháp của một định nghĩa hàm là

lệnh name ()

Một định nghĩa hàm là một câu lệnh thực thi; khi được thực thi nó sẽ cài đặt một chức năng có tên
đặt tên và trả về trạng thái thoát bằng XNUMX. Lệnh thường là một danh sách nằm giữa
"{" và "}".

Các biến có thể được khai báo là cục bộ cho một hàm bằng cách sử dụng lệnh cục bộ. Cái này nên
xuất hiện dưới dạng câu lệnh đầu tiên của một hàm và cú pháp là

local [biến | -] ...

Cục bộ được triển khai dưới dạng lệnh nội trang.

Khi một biến được tạo cục bộ, nó sẽ kế thừa giá trị ban đầu và các cờ được xuất và chỉ đọc
từ biến có cùng tên trong phạm vi xung quanh, nếu có. Nếu không thì,
biến ban đầu không được đặt. Vỏ sử dụng phạm vi động, vì vậy nếu bạn thực hiện
biến x cục bộ thành hàm f, sau đó gọi hàm g, tham chiếu đến biến x
được thực hiện bên trong g sẽ tham chiếu đến biến x được khai báo bên trong f, không tham chiếu đến biến toàn cục
có tên là x.

Tham số đặc biệt duy nhất có thể được tạo cục bộ là “-”. Tạo “-” cục bộ bất kỳ shell nào
các tùy chọn được thay đổi thông qua lệnh set bên trong hàm được khôi phục về
giá trị ban đầu khi hàm trả về.

Cú pháp của lệnh return là

trở lại [exitstatus]

Nó chấm dứt chức năng đang thực thi. Return được triển khai dưới dạng lệnh nội trang.

Biến Thông số
Vỏ duy trì một tập hợp các tham số. Một tham số được biểu thị bằng tên được gọi là
Biến đổi. Khi khởi động, shell biến tất cả các biến môi trường thành shell
biến. Các biến mới có thể được đặt bằng cách sử dụng biểu mẫu

tên = giá trị

Các biến do người dùng đặt phải có tên chỉ bao gồm chữ cái, chữ số và
dấu gạch dưới - dấu gạch dưới đầu tiên không được là số. Một tham số cũng có thể được ký hiệu bằng
số hoặc một ký tự đặc biệt như được giải thích bên dưới.

Vị trí Thông số
Tham số vị trí là một tham số được ký hiệu bằng số (n> 0). Vỏ thiết lập những
ban đầu đến các giá trị của các đối số dòng lệnh của nó theo sau tên của trình bao
script. Các định nội trang cũng có thể được sử dụng để thiết lập hoặc đặt lại chúng.

Reduct ® Thông số
Tham số đặc biệt là tham số được ký hiệu bằng một trong các ký tự đặc biệt sau. Các
giá trị của tham số được liệt kê bên cạnh ký tự của nó.

* Mở rộng đến các tham số vị trí, bắt đầu từ một. Khi mở rộng
xảy ra trong một chuỗi được trích dẫn kép, nó mở rộng thành một trường duy nhất với
giá trị của mỗi tham số được phân tách bằng ký tự đầu tiên của biến IFS,
hoặc bằng một ⟨dấu cách⟩ nếu IFS không được đặt.

@ Mở rộng đến các tham số vị trí, bắt đầu từ một. Khi mở rộng
xảy ra trong dấu ngoặc kép, mỗi tham số vị trí mở rộng như một
tranh luận. Nếu không có tham số vị trí, việc mở rộng @ tạo ra
không đối số, ngay cả khi @ được đặt trong dấu ngoặc kép. Về cơ bản, điều này có nghĩa là gì, đối với
ví dụ: nếu $ 1 là “abc” và $ 2 là “def ghi”, thì "$ @" mở rộng thành hai
tranh luận:

"abc" "ghi def"

# Mở rộng đến số lượng tham số vị trí.

? Mở rộng đến trạng thái thoát của đường dẫn gần đây nhất.

- (Dấu gạch nối.) Mở rộng đến các cờ tùy chọn hiện tại (tên tùy chọn gồm một chữ cái
được nối thành một chuỗi) như được chỉ định trên lệnh gọi, bởi nội trang đã đặt
lệnh, hoặc ngầm định bởi trình bao.

$ Mở rộng tới ID tiến trình của trình bao được gọi. Một vỏ con vẫn giữ nguyên
giá trị của $ làm cha của nó.

! Mở rộng đến ID quy trình của lệnh nền gần đây nhất được thực thi từ
vỏ hiện tại. Đối với một đường ống, ID quy trình là ID của lệnh cuối cùng
trong đường ống.

0 (Zero.) Mở rộng thành tên của shell hoặc script shell.

Từ Mở rộng
Mệnh đề này mô tả các mở rộng khác nhau được thực hiện trên các từ. Không phải tất cả
mở rộng được thực hiện trên mỗi từ, như được giải thích sau.

Mở rộng dấu nghiêng, mở rộng tham số, thay thế lệnh, mở rộng số học và
trích dẫn loại bỏ xảy ra trong một từ mở rộng đến một trường duy nhất. Nó chỉ là lĩnh vực
tách hoặc mở rộng tên đường dẫn có thể tạo nhiều trường từ một từ duy nhất. Các
một ngoại lệ duy nhất cho quy tắc này là sự mở rộng của tham số đặc biệt @ trong double-
trích dẫn, như đã được mô tả ở trên.

Thứ tự mở rộng từ là:

1. Mở rộng dấu nghiêng, Mở rộng tham số, Thay thế lệnh, Mở rộng số học (những
tất cả xảy ra cùng một lúc).

2. Tách trường được thực hiện trên các trường được tạo theo bước (1) trừ khi biến IFS là
vô giá trị.

3. Mở rộng tên đường dẫn (trừ khi được đặt -f đang có hiệu lực).

4. Trích dẫn Loại bỏ.

Ký tự $ được sử dụng để mở rộng tham số, thay thế lệnh hoặc
đánh giá số học.

dấu ngã Sự bành trướng (thay thế a người dùng nhà danh mục)
Một từ bắt đầu bằng ký tự dấu ngã không được trích dẫn (~) sẽ bị mở rộng dấu ngã. Tất cả các
các ký tự cho đến dấu gạch chéo (/) hoặc cuối từ được coi là tên người dùng và được
được thay thế bằng thư mục chính của người dùng. Nếu tên người dùng bị thiếu (như trong ~ / foobar),
dấu ngã được thay thế bằng giá trị của TRANG CHỦ biến (thư mục chính của người dùng hiện tại).

Tham số Sự bành trướng
Định dạng cho việc mở rộng tham số như sau:

$ {biểu thức}

trong đó biểu thức bao gồm tất cả các ký tự cho đến khi khớp “}”. Bất kỳ “}” nào được thoát ra bởi một
dấu gạch chéo ngược hoặc trong một chuỗi được trích dẫn và các ký tự trong các khai triển số học được nhúng,
thay thế lệnh và mở rộng biến, không được kiểm tra trong việc xác định kết hợp
“}”.

Dạng đơn giản nhất để mở rộng tham số là:

$ {tham số}

Giá trị, nếu có, của tham số được thay thế.

Tên hoặc ký hiệu tham số có thể được đặt trong dấu ngoặc nhọn, là tùy chọn ngoại trừ
tham số vị trí có nhiều hơn một chữ số hoặc khi tham số được theo sau bởi một ký tự
đó có thể được hiểu là một phần của tên. Nếu mở rộng tham số xảy ra bên trong
dấu ngoặc kép:

1. Mở rộng tên đường dẫn không được thực hiện trên kết quả của việc mở rộng.

2. Việc tách trường không được thực hiện dựa trên kết quả của việc mở rộng, ngoại trừ
@.

Ngoài ra, có thể sửa đổi phần mở rộng tham số bằng cách sử dụng một trong các định dạng sau.

$ {tham số: -word} Sử dụng Giá trị Mặc định. Nếu tham số không được đặt hoặc null, thì việc mở rộng của
từ được thay thế; nếu không, giá trị của tham số được thay thế.

$ {tham số: = word} Gán giá trị mặc định. Nếu tham số không được đặt hoặc null, thì phần mở rộng
của từ được gán cho tham số. Trong mọi trường hợp, giá trị cuối cùng của
tham số được thay thế. Chỉ các biến, không phải tham số vị trí
hoặc các tham số đặc biệt, có thể được chỉ định theo cách này.

$ {tham số:? [word]} Cho biết Lỗi nếu Null hoặc Unset. Nếu tham số không được đặt hoặc null,
mở rộng của từ (hoặc một thông báo cho biết nó không được đặt nếu từ là
bỏ qua) được ghi vào lỗi tiêu chuẩn và trình bao thoát ra với
trạng thái thoát nonzero. Nếu không, giá trị của tham số là
được thay thế. Một trình bao tương tác không cần phải thoát.

$ {tham số: + word} Sử dụng Giá trị Thay thế. Nếu tham số không được đặt hoặc null, null là
thay thế; nếu không, sự mở rộng của từ được thay thế.

Trong phần mở rộng tham số được hiển thị trước đó, việc sử dụng dấu hai chấm trong định dạng dẫn đến
kiểm tra một tham số không được đặt hoặc null; bỏ sót dấu hai chấm trong một bài kiểm tra cho một
tham số duy nhất chưa được đặt.

Độ dài chuỗi $ {# tham số}. Độ dài tính bằng ký tự của giá trị tham số.

Bốn kiểu mở rộng tham số sau đây cung cấp cho quá trình xử lý chuỗi con. Trong
từng trường hợp, ký hiệu khớp mẫu (xem Shell Patterns), thay vì biểu thức chính quy
ký hiệu, được sử dụng để đánh giá các mẫu. Nếu tham số là * hoặc @, kết quả của
mở rộng là không xác định. Đặt chuỗi mở rộng tham số đầy đủ trong dấu ngoặc kép
không làm cho bốn loại ký tự mẫu sau được trích dẫn, ngược lại
trích dẫn các ký tự trong dấu ngoặc nhọn có tác dụng này.

$ {tham số% word} Xóa Mẫu Hậu tố Nhỏ nhất. Từ này được mở rộng để tạo ra một
mẫu. Việc mở rộng tham số sau đó dẫn đến tham số, với
phần nhỏ nhất của hậu tố phù hợp với mẫu đã bị xóa.

$ {tham số %% word} Xóa Mẫu Hậu tố Lớn nhất. Từ này được mở rộng để tạo ra một
mẫu. Việc mở rộng tham số sau đó dẫn đến tham số, với
phần lớn nhất của hậu tố phù hợp với mẫu đã bị xóa.

$ {tham số # word} Xóa mẫu tiền tố nhỏ nhất. Từ này được mở rộng để tạo ra một
mẫu. Việc mở rộng tham số sau đó dẫn đến tham số, với
phần nhỏ nhất của tiền tố phù hợp với mẫu đã bị xóa.

$ {tham số ## word} Xóa mẫu tiền tố lớn nhất. Từ này được mở rộng để tạo ra một
mẫu. Việc mở rộng tham số sau đó dẫn đến tham số, với
phần lớn nhất của tiền tố phù hợp với mẫu đã bị xóa.

Lệnh Thay thế
Thay thế lệnh cho phép đầu ra của một lệnh được thay thế cho
tên lệnh của chính nó. Thay thế lệnh xảy ra khi lệnh được bao gồm như sau:

$ (lệnh)

hoặc (phiên bản "được trích dẫn ngược"):

`lệnh`

Shell mở rộng việc thay thế lệnh bằng cách thực thi lệnh trong môi trường subshell
và thay thế lệnh thay thế bằng đầu ra tiêu chuẩn của lệnh, loại bỏ
chuỗi của một hoặc nhiều ⟨newline⟩ ở cuối thay thế. (Nhúng ⟨newline⟩s
trước khi kết thúc đầu ra không được loại bỏ; tuy nhiên, trong quá trình tách trường, chúng có thể
được dịch thành ⟨space⟩s, tùy thuộc vào giá trị của IFS và trích dẫn có hiệu lực.)

toán học Sự bành trướng
Mở rộng số học cung cấp một cơ chế để đánh giá một biểu thức số học và
thay thế giá trị của nó. Định dạng cho khai triển số học như sau:

$ ((biểu thức))

Biểu thức được coi như thể nó nằm trong dấu ngoặc kép, ngoại trừ dấu ngoặc kép bên trong
biểu thức không được xử lý đặc biệt. Shell mở rộng tất cả các mã thông báo trong biểu thức cho
mở rộng tham số, thay thế lệnh và loại bỏ dấu ngoặc kép.

Tiếp theo, shell xử lý điều này như một biểu thức số học và thay thế giá trị của
biểu hiện.

trắng Không gian Tách (Đồng ruộng Tách)
Sau khi mở rộng tham số, thay thế lệnh và mở rộng số học, trình bao sẽ quét
kết quả của việc mở rộng và thay thế không xảy ra trong dấu ngoặc kép cho trường
có thể dẫn đến chia nhỏ và nhiều trường.

Shell xử lý mỗi ký tự của IFS như một dấu phân cách và sử dụng các dấu phân cách để tách
kết quả của việc mở rộng tham số và thay thế lệnh vào các trường.

Tên đường dẫn Sự bành trướng (Tập tin Họ tên Thế hệ)
Trừ khi -f cờ được đặt, tạo tên tệp được thực hiện sau khi tách từ là
hoàn thành. Mỗi từ được xem như một loạt các mẫu, được phân tách bằng dấu gạch chéo. Quá trình
mở rộng thay thế từ này bằng tên của tất cả các tệp hiện có mà tên của chúng có thể là
được hình thành bằng cách thay thế mỗi mẫu bằng một chuỗi phù hợp với mẫu đã chỉ định. Ở đó
có hai hạn chế về điều này: thứ nhất, một mẫu không thể khớp với một chuỗi có chứa dấu gạch chéo, và
thứ hai, một mẫu không thể khớp với một chuỗi bắt đầu bằng dấu chấm trừ khi ký tự đầu tiên của
mô hình là một giai đoạn. Phần tiếp theo mô tả các mẫu được sử dụng cho cả Tên đường dẫn
Mở rộng và trường hợp chỉ huy.

Shell Patterns
Một mẫu bao gồm các ký tự bình thường khớp với chính chúng và các ký tự meta. Các
các ký tự meta là “!”, “*”, “?” và “[”. Những ký tự này sẽ mất đi ý nghĩa đặc biệt nếu
chúng được trích dẫn. Khi lệnh hoặc thay thế biến được thực hiện và ký hiệu đô la hoặc
dấu ngoặc kép không được trích dẫn kép, giá trị của biến hoặc đầu ra của lệnh là
được quét các ký tự này và chúng được chuyển thành các ký tự meta.

Dấu hoa thị (“*”) khớp với bất kỳ chuỗi ký tự nào. Một dấu hỏi phù hợp với bất kỳ đơn
tính cách. Dấu ngoặc trái (“[”) giới thiệu một lớp ký tự. Kết thúc của nhân vật
lớp được chỉ định bởi a (“]”); nếu thiếu “]” thì “[” khớp với “[” thay vì
giới thiệu một lớp nhân vật. Một lớp ký tự khớp với bất kỳ ký tự nào giữa
dấu ngoặc vuông. Một loạt các ký tự có thể được chỉ định bằng cách sử dụng một dấu trừ. Nhân vật
lớp có thể được bổ sung bằng cách đặt dấu chấm than làm ký tự đầu tiên của
lớp nhân vật.

Để bao gồm một “]” trong một lớp ký tự, hãy đặt nó làm ký tự đầu tiên được liệt kê (sau dấu “!”, Nếu
không tí nào). Để bao gồm một dấu trừ, hãy đặt nó làm ký tự đầu tiên hoặc cuối cùng được liệt kê.

Nội trang
Phần này liệt kê các lệnh nội trang là lệnh nội trang vì chúng cần thực hiện một số
hoạt động không thể được thực hiện bởi một quy trình riêng biệt. Ngoài những thứ này, có
một số lệnh khác có thể là nội dung để tăng hiệu quả (ví dụ: printf(1) bỏ lỡ(1)
thử nghiệm(1), v.v.).

:

true Một lệnh null trả về giá trị thoát 0 (true).

. tập tin
Các lệnh trong tệp được chỉ định được đọc và thực hiện bởi trình bao.

bí danh [tên[= chuỗi hữu ích. Cảm ơn !]]
If name = string được chỉ định, shell xác định bí danh tên có giá trị chuỗi. Nếu
chỉ tên được chỉ định, giá trị của bí danh tên được in. Không có đối số,
các bí danh nội trang in tên và giá trị của tất cả các bí danh đã xác định (xem Unalias).

bg [việc làm] hữu ích. Cảm ơn !
Tiếp tục các công việc đã chỉ định (hoặc công việc hiện tại nếu không có công việc nào được giao) trong
nền.

chỉ huy [-p] [-v] [-V] lệnh [arg hữu ích. Cảm ơn !]
Thực thi lệnh được chỉ định nhưng bỏ qua các hàm shell khi tìm kiếm nó.
(Điều này hữu ích khi bạn có một hàm shell có cùng tên với một nội trang
chỉ huy.)

-p tìm kiếm lệnh bằng PATH đảm bảo tìm thấy tất cả các tiêu chuẩn
các tiện ích.

-V Không thực hiện lệnh mà tìm kiếm lệnh và in độ phân giải
của lệnh tìm kiếm. Điều này cũng giống như kiểu nội trang.

-v Không thực hiện lệnh nhưng tìm kiếm lệnh và in tuyệt đối
tên đường dẫn của tiện ích, tên cho nội trang hoặc mở rộng bí danh.

cd -

đĩa CD [-LP] [thư mục]
Chuyển sang thư mục được chỉ định (HOME mặc định). Nếu mục nhập cho CDPATH xuất hiện trong
môi trường của cd hoặc biến shell CDPATH được đặt và
tên thư mục không bắt đầu bằng dấu gạch chéo, sau đó là các thư mục được liệt kê trong CDPATH
sẽ được tìm kiếm cho thư mục được chỉ định. Định dạng của CDPATH giống như
của PATH. Nếu một dấu gạch ngang được chỉ định làm đối số, nó sẽ được thay thế bằng
giá trị của OLDPWD. Các cd lệnh sẽ in ra tên của thư mục mà nó
thực sự được chuyển sang nếu tên này khác với tên mà người dùng đã đặt. Này
có thể khác vì cơ chế CDPATH đã được sử dụng hoặc vì đối số
là một dấu gạch ngang. Các -P tùy chọn khiến cấu trúc thư mục vật lý được sử dụng,
nghĩa là, tất cả các liên kết tượng trưng được phân giải thành các giá trị tương ứng của chúng. Các -L tùy chọn
tắt hiệu ứng của bất kỳ phần nào trước đó -P tùy chọn.

tiếng vang [-n] args ...
In các đối số trên đầu ra chuẩn, được phân tách bằng dấu cách. Trừ khi -n
tùy chọn hiện diện, một dòng mới được xuất sau các đối số.

Nếu gặp bất kỳ chuỗi ký tự nào sau đây trong quá trình xuất,
trình tự không phải là đầu ra. Thay vào đó, hành động được chỉ định được thực hiện:

\ b Một ký tự xóa lùi được xuất ra.

\ c Đầu ra tiếp theo bị chặn. Điều này thường được sử dụng ở cuối
đối số cuối cùng để loại bỏ dòng mới ở cuối bỏ lỡ nếu không thì
đầu ra.

\ f Đưa ra một nguồn cấp dữ liệu biểu mẫu.

\ n Xuất một ký tự dòng mới.

\ r Xuất một dấu xuống dòng.

\ t Xuất ra một ký tự tab (ngang).

\ v Xuất ra một tab dọc.

\0chữ số
Xuất ra ký tự có giá trị được cho bởi XNUMX đến XNUMX chữ số bát phân. Nếu như
không có chữ số XNUMX, một ký tự nul được xuất.

\\ Xuất một dấu gạch chéo ngược.

Tất cả các chuỗi dấu gạch chéo ngược khác gợi ra hành vi không xác định.

đánh giá chuỗi hữu ích. Cảm ơn !
Nối tất cả các đối số bằng dấu cách. Sau đó phân tích cú pháp lại và thực hiện lệnh.

thi hành [lệnh arg hữu ích. Cảm ơn !]
Trừ khi lệnh bị bỏ qua, quá trình shell được thay thế bằng chương trình được chỉ định
(phải là một chương trình thực, không phải là một nội trang hoặc chức năng của shell). Mọi chuyển hướng trên
các giám đốc điều hành lệnh được đánh dấu là vĩnh viễn để chúng không bị hoàn tác khi giám đốc điều hành
lệnh kết thúc.

lối ra [lối ra]
Chấm dứt quá trình vỏ. Nếu như lối ra được cho là nó được sử dụng làm trạng thái thoát của
cái vỏ; nếu không thì trạng thái thoát của lệnh trước được sử dụng.

xuất khẩu tên hữu ích. Cảm ơn !

xuất khẩu -p
Các tên đã chỉ định được xuất để chúng xuất hiện trong môi trường
các lệnh tiếp theo. Cách duy nhất để hủy xuất một biến là hủy đặt nó. Cái vỏ
cho phép đặt giá trị của một biến cùng lúc nó được xuất bằng cách viết

tên xuất khẩu = giá trị

Không có đối số, lệnh xuất sẽ liệt kê tên của tất cả các biến đã xuất. Với
các -p tùy chọn được chỉ định, đầu ra sẽ được định dạng phù hợp để không tương tác
sử dụng.

fc [-e biên tập viên] [Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên [cuối cùng]]

fc -l [-nr] [Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên [cuối cùng]]

fc -s [cũ = mới] [Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên]
Sản phẩm fc danh sách nội trang hoặc các chỉnh sửa và thực thi lại, các lệnh đã được nhập trước đó vào một
vỏ tương tác.

-e biên tập viên
Sử dụng trình chỉnh sửa do trình soạn thảo đặt tên để chỉnh sửa các lệnh. Chuỗi trình soạn thảo là một
tên lệnh, đối tượng tìm kiếm thông qua biến PATH. Giá trị trong
Biến FCEDIT được sử dụng làm mặc định khi -e không được chỉ định. Nếu FCEDIT là
null hoặc không được đặt, giá trị của biến EDITOR được sử dụng. Nếu EDITOR rỗng hoặc
không đặt, ed(1) được sử dụng làm trình soạn thảo.

-l (lạ)
Liệt kê các lệnh thay vì gọi một trình soạn thảo trên chúng. Các lệnh là
được viết theo trình tự được chỉ ra bởi toán hạng đầu tiên và cuối cùng, như bị ảnh hưởng
by -r, với mỗi lệnh đứng trước số lệnh.

-n Bỏ số lệnh khi liệt kê với -l.

-r Đảo ngược thứ tự của các lệnh được liệt kê (với -l) hoặc chỉnh sửa (không có -l
cũng không -s).

-s Thực hiện lại lệnh mà không cần gọi một trình soạn thảo.

Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên

cuối cùng Chọn các lệnh để liệt kê hoặc chỉnh sửa. Số lượng lệnh trước đó có thể
được truy cập được xác định bởi giá trị của biến HISTSIZE. Giá trị
của đầu tiên hoặc cuối cùng hoặc cả hai là một trong những điều sau:

[+] số
Một số dương đại diện cho một số lệnh; số lệnh có thể là
hiển thị với -l tùy chọn.

-con số
Một số thập phân âm đại diện cho lệnh đã được thực thi
số lượng lệnh trước đó. Ví dụ, -1 là ngay lập tức
lệnh trước đó.

chuỗi
Một chuỗi cho biết lệnh được nhập gần đây nhất bắt đầu bằng
dây. Nếu toán hạng cũ = mới cũng không được chỉ định với -s, dạng chuỗi
của toán hạng đầu tiên không được chứa một dấu bằng được nhúng.

Các biến môi trường sau đây ảnh hưởng đến việc thực thi fc:

FCEDIT Tên của trình soạn thảo để sử dụng.

HISTSIZE Số lượng lệnh trước đó có thể truy cập được.

fg [việc làm]
Di chuyển công việc được chỉ định hoặc công việc hiện tại lên nền trước.

getopt dây quang
POSIX getopt lệnh, không được nhầm lẫn với Chuông Phòng thí nghiệm -nguồn gốc nhận được(1).

Đối số đầu tiên phải là một chuỗi các chữ cái, mỗi chữ cái có thể là tùy chọn
theo sau là dấu hai chấm để biểu thị rằng tùy chọn yêu cầu một đối số. Biến
được chỉ định được đặt thành tùy chọn được phân tích cú pháp.

Sản phẩm getopt lệnh cũ hơn không được chấp nhận nhận được(1) tiện ích do nó xử lý
đối số chứa khoảng trắng.

Sản phẩm getopt nội trang có thể được sử dụng để lấy các tùy chọn và đối số của chúng từ danh sách
thông số. Khi được gọi, getopt đặt giá trị của tùy chọn tiếp theo từ
chuỗi tùy chọn trong danh sách trong biến shell được chỉ định bởi và chỉ mục của nó trong
biến shell OPTIND. Khi trình bao được gọi, OPTIND được khởi tạo thành 1. Đối với
mỗi tùy chọn yêu cầu một đối số, getopt nội trang sẽ đặt nó trong shell
biến OPTARG. Nếu một tùy chọn không được phép trong dây quang, thì OPTARG sẽ
không được đặt.

dây quang là một chuỗi các chữ cái tùy chọn được công nhận (xem nhận được(3)). Nếu một lá thư là
theo sau là dấu hai chấm, tùy chọn được mong đợi có một đối số có thể có hoặc không
được ngăn cách với nó bằng khoảng trắng. Nếu một ký tự tùy chọn không được tìm thấy ở đâu
hy vọng, getopt sẽ đặt biến thành dấu “?”; getopt sau đó sẽ hủy đặt OPTARG
và ghi đầu ra thành lỗi tiêu chuẩn. Bằng cách chỉ định dấu hai chấm làm ký tự đầu tiên của
dây quang tất cả các lỗi sẽ được bỏ qua.

Giá trị khác không được trả về khi đạt đến tùy chọn cuối cùng. Nếu không có
các đối số còn lại, getopt sẽ thiết lập vào tùy chọn đặc biệt, “-”, nếu không, nó
sẽ thiết lập đến "?".

Đoạn mã sau đây cho thấy cách một người có thể xử lý các đối số cho một lệnh
có thể sử dụng các tùy chọn [a] và [b] và tùy chọn [c], yêu cầu
tranh luận.

trong khi getopts abc: f
do
trường hợp $ f trong
a | b) cờ = $ f ;;
c) carg = $ OPTARG ;;
\?) echo $ USAGE; lối ra 1 ;;
nó C
thực hiện
shift `expr $ OPTIND - 1`

Mã này sẽ chấp nhận bất kỳ điều nào sau đây là tương đương:

tệp tin cmd -acarg
tập tin tệp cmd -a -c arg
tệp tin cmd -carg -a
cmd -a -carg - tệp tệp

băm -rv lệnh hữu ích. Cảm ơn !
Shell duy trì một bảng băm ghi nhớ vị trí của các lệnh. Với không
bất kỳ lập luận nào, băm lệnh in ra nội dung của bảng này.
Các mục đã không được xem kể từ lần cuối cùng cd lệnh được đánh dấu bằng một
dấu hoa thị; có thể các mục này không hợp lệ.

Với các đối số, băm lệnh xóa các lệnh được chỉ định khỏi bảng băm
(trừ khi chúng là các hàm) và sau đó định vị chúng. Với -v tùy chọn, bản in băm
vị trí của các lệnh khi nó tìm thấy chúng. Các -r tùy chọn gây ra băm
lệnh xóa tất cả các mục trong bảng băm ngoại trừ các hàm.

mật khẩu [-LP]
lệnh nội trang ghi nhớ thư mục hiện tại thay vì tính toán lại nó
mỗi lần. Điều này làm cho nó nhanh hơn. Tuy nhiên, nếu thư mục hiện tại được đổi tên,
phiên bản nội trang của pwd sẽ tiếp tục in tên cũ cho thư mục. Các -P
tùy chọn làm cho giá trị vật lý của thư mục làm việc hiện tại được hiển thị,
là, tất cả các liên kết tượng trưng được phân giải thành các giá trị tương ứng của chúng. Các -L tùy chọn lần lượt
khỏi ảnh hưởng của bất kỳ điều gì trước đó -P tùy chọn.

đọc [-p nhanh chóng] [-r] biến [hữu ích. Cảm ơn !]
Lời nhắc được in nếu -p tùy chọn được chỉ định và đầu vào tiêu chuẩn là
phần cuối. Sau đó, một dòng được đọc từ đầu vào chuẩn. Dòng mới ở cuối là
bị xóa khỏi dòng và dòng được tách ra như được mô tả trong phần trên word
tách ở trên, và các phần được gán cho các biến theo thứ tự. Ít nhất một
biến phải được chỉ định. Nếu có nhiều phần hơn các biến, phần còn lại
các phần (cùng với các ký tự trong IFS đã phân tách chúng) được gán cho
biến cuối cùng. Nếu có nhiều biến hơn các phần, các biến còn lại là
đã gán chuỗi null. Các đọc nội trang sẽ cho biết thành công trừ khi EOF là
gặp phải trên đầu vào, trong trường hợp đó lỗi được trả về.

Theo mặc định, trừ khi -r tùy chọn được chỉ định, dấu gạch chéo ngược “\” hoạt động như một lối thoát
, khiến cho ký tự sau được xử lý theo nghĩa đen. Nếu một dấu gạch chéo ngược
được theo sau bởi một dòng mới, dấu gạch chéo ngược và dòng mới sẽ bị xóa.

chỉ đọc tên hữu ích. Cảm ơn !

chỉ đọc -p
Các tên đã chỉ định được đánh dấu là chỉ đọc, do đó chúng không thể được đọc sau đó
đã sửa đổi hoặc không được đặt. Shell cho phép đặt cùng một giá trị của một biến
thời gian nó được đánh dấu là chỉ đọc bằng cách viết

tên chỉ đọc = giá trị

Không có đối số, lệnh chỉ đọc liệt kê tên của tất cả các biến chỉ đọc.
Với -p tùy chọn được chỉ định, đầu ra sẽ được định dạng phù hợp cho không
sử dụng tương tác.

printf định dạng [đối số hữu ích. Cảm ơn !]
printf định dạng và in các đối số của nó, sau đối số đầu tiên, dưới sự kiểm soát của
định dạng. Các định dạng là một chuỗi ký tự chứa ba loại đối tượng:
các ký tự thuần túy, được sao chép đơn giản sang đầu ra tiêu chuẩn, ký tự thoát
trình tự được chuyển đổi và sao chép sang đầu ra và định dạng chuẩn
thông số kỹ thuật, mỗi thông số trong số đó gây ra việc in các thông số kế tiếp đối số.

Sản phẩm đối số sau cái đầu tiên được coi là chuỗi nếu định dạng tương ứng là
hay b, c or s; nếu không, nó được đánh giá là một hằng số C, với các điều kiện sau
tiện ích mở rộng:

· Dấu cộng hoặc dấu trừ đứng đầu được phép.
· Nếu ký tự đứng đầu là một dấu ngoặc kép hoặc một dấu ngoặc kép, thì giá trị là
Mã ASCII của ký tự tiếp theo.

Chuỗi định dạng được sử dụng lại thường xuyên nếu cần thiết để đáp ứng đối số. Bất kì
thông số kỹ thuật định dạng bổ sung được đánh giá bằng XNUMX hoặc chuỗi rỗng.

Trình tự thoát ký tự ở dạng ký hiệu dấu gạch chéo ngược như được định nghĩa trong ANSI X3.159-1989
(“ANSI C89”). Các ký tự và ý nghĩa của chúng như sau:

\a Viết một tính cách.

\b Viết một tính cách.

\f Viết một tính cách.

\n Viết một tính cách.

\r Viết một tính cách.

\t Viết một tính cách.

\v Viết một tính cách.

\\ Viết một ký tự gạch chéo ngược.

\num Viết một ký tự 8 bit có giá trị ASCII là 1-, 2- hoặc 3 chữ số
số bát phân num.

Mỗi đặc tả định dạng được giới thiệu bằng ký tự phần trăm (``% ''). Các
phần còn lại của đặc tả định dạng bao gồm, theo thứ tự sau:

Không có hoặc nhiều cờ sau:

# Một ký tự `# 'chỉ định rằng giá trị phải được in trong một
`` hình thức thay thế ''. Vì b, c, ds định dạng, tùy chọn này không có
tác dụng. Cho o định dạng độ chính xác của số được tăng lên
buộc ký tự đầu tiên của chuỗi đầu ra về số không. Cho x
(X), một kết quả khác 0 có thêm chuỗi 0x (XNUMXX) vào nó.
Trong e, E, f, gG định dạng, kết quả sẽ luôn chứa
dấu thập phân, ngay cả khi không có chữ số nào theo sau dấu chấm (thông thường, a
dấu thập phân chỉ xuất hiện trong kết quả của các định dạng đó nếu một chữ số
sau dấu thập phân). Vì gG định dạng, số không ở cuối là
không bị xóa khỏi kết quả vì chúng sẽ như vậy.

- Dấu trừ `- 'chỉ định trái điều chỉnh của đầu ra trong
trường được chỉ định;

+ Một ký tự `+ 'chỉ định rằng phải luôn có một dấu hiệu được đặt
trước số khi sử dụng các định dạng có dấu.

'' Một khoảng trống xác định rằng một ô trống nên được để lại trước một số dương
số cho một định dạng có chữ ký. Dấu `+ 'ghi đè một khoảng trắng nếu cả hai
đã sử dụng;

0 Một ký tự `` 0 '' chỉ ra rằng nên sử dụng không đệm
chứ không phải đệm trống. Dấu `- 'ghi đè lên dấu' 0 'nếu cả hai đều được sử dụng;

Chiều rộng trường:
Một chuỗi chữ số tùy chọn chỉ định một lĩnh vực chiều rộng; nếu chuỗi đầu ra có
ít ký tự hơn chiều rộng trường, nó sẽ được đệm trống ở bên trái (hoặc
phải, nếu chỉ báo điều chỉnh bên trái đã được đưa ra) để tạo ra trường
width (lưu ý rằng số XNUMX đứng đầu là cờ, nhưng số XNUMX được nhúng là một phần của
chiều rộng trường);

Độ chính xác:
Một khoảng thời gian tùy chọn, '.', theo sau là một chuỗi chữ số tùy chọn cho một
chính xác chỉ định số chữ số xuất hiện sau số thập phân
điểm, cho ef định dạng hoặc số byte tối đa được in từ
một chuỗi (bs định dạng); nếu chuỗi chữ số bị thiếu, độ chính xác là
coi như số không;

Định dạng:
Một ký tự cho biết loại định dạng sẽ sử dụng (một trong số
diouxXfwTrứngGbcs).

Chiều rộng hoặc độ chính xác của trường có thể là '*'thay vì một chuỗi chữ số. Trong trường hợp này, một
đối số cung cấp độ rộng hoặc độ chính xác của trường.

Các ký tự định dạng và ý nghĩa của chúng là:

diouXx Sản phẩm đối số được in dưới dạng số thập phân có dấu (d hoặc i), bát phân không dấu,
số thập phân không dấu hoặc thập lục phân không dấu (X hoặc x), tương ứng.

f Sản phẩm đối số được in theo kiểu [-] ddd.ddd trong đó số lượng d
sau dấu thập phân bằng với đặc điểm kỹ thuật chính xác cho
tranh luận. Nếu thiếu độ chính xác, 6 chữ số được đưa ra; nếu
độ chính xác rõ ràng là 0, không có chữ số và không có dấu thập phân được in.

eE Sản phẩm đối số được in theo kiểu [-] d.ddde± đ nơi có một
chữ số trước dấu thập phân và chữ số đứng sau bằng
đặc điểm kỹ thuật chính xác cho đối số; khi thiếu độ chính xác,
6 chữ số được sản xuất. Chữ E viết hoa được sử dụng cho định dạng `` E ''.

gG Sản phẩm đối số được in theo phong cách f hoặc trong phong cách e (E) cái nào cho đầy đủ
độ chính xác trong không gian tối thiểu.

b Các ký tự từ chuỗi đối số được in bằng dấu gạch chéo ngược-thoát
trình tự được mở rộng.
Các chuỗi thoát dấu gạch chéo ngược bổ sung sau được hỗ trợ:

\c Nguyên nhân dấu gạch ngang để bỏ qua bất kỳ ký tự còn lại nào trong chuỗi
toán hạng chứa nó, bất kỳ toán hạng chuỗi còn lại nào và bất kỳ
các ký tự bổ sung trong toán hạng định dạng.

\0num Viết một ký tự 8 bit có giá trị ASCII là 1-, 2- hoặc
Số bát phân có 3 chữ số num.

c Nhân vật đầu tiên của đối số được in.

s Các ký tự từ chuỗi đối số được in cho đến khi đạt được cuối cùng
hoặc cho đến khi số byte được chỉ ra bởi thông số kỹ thuật chính xác là
đạt; nếu độ chính xác bị bỏ qua, tất cả các ký tự trong chuỗi là
đã in.

% In một dấu `% '; không có đối số nào được sử dụng.

Trong mọi trường hợp, độ rộng trường nhỏ hoặc không tồn tại sẽ gây ra cắt ngắn trường;
padding chỉ diễn ra nếu chiều rộng trường được chỉ định vượt quá chiều rộng thực tế.

bộ [{ -sự lựa chọn | + tùy chọn | -- }] arg hữu ích. Cảm ơn !
Sản phẩm định lệnh thực hiện ba chức năng khác nhau.

Không có đối số, nó liệt kê các giá trị của tất cả các biến shell.

Nếu các tùy chọn được đưa ra, nó sẽ đặt các cờ tùy chọn được chỉ định hoặc xóa chúng như được mô tả
trong phần được gọi là Tranh luận Danh sách Chế biến. Là một trường hợp đặc biệt, nếu tùy chọn
-o hoặc + o và không có đối số nào được cung cấp, shell sẽ in các cài đặt của tất cả
tùy chọn. Nếu tùy chọn là -o, cài đặt được in ở định dạng con người có thể đọc được;
nếu tùy chọn là + o, cài đặt được in ở định dạng phù hợp để nhập lại
shell để ảnh hưởng đến cài đặt tùy chọn tương tự.

Công dụng thứ ba của lệnh set là đặt các giá trị của vị trí của shell
tham số cho các args được chỉ định. Để thay đổi các tham số vị trí mà không
thay đổi bất kỳ tùy chọn nào, hãy sử dụng “-” làm đối số đầu tiên để đặt. Nếu không có args nào hiện diện,
lệnh set sẽ xóa tất cả các tham số vị trí (tương đương với việc thực thi
"Shift $ #".)

sự thay đổi [n]
Dịch chuyển các tham số vị trí n lần. MỘT thay đổi đặt giá trị của $1 đến giá trị
of $2, giá trị của $2 với giá trị của $3, v.v., giảm giá trị của $# by
một. Nếu n lớn hơn số tham số vị trí, thay đổi sẽ phát hành một
thông báo lỗi và thoát với trạng thái trả lại 2.

thử nghiệm biểu hiện

[ biểu hiện ]
Sản phẩm thử nghiệm tiện ích đánh giá biểu thức và nếu nó đánh giá là true, trả về
trạng thái thoát 1 (đúng); nếu không nó trả về XNUMX (false). Nếu không có biểu hiện,
kiểm tra cũng trả về 1 (false).

Tất cả các toán tử và cờ là các đối số riêng biệt cho thử nghiệm tiện ích.

Các số nguyên tố sau được sử dụng để xây dựng biểu thức:

-b hồ sơ Đúng nếu hồ sơ tồn tại và là một tập tin đặc biệt của khối.

-c hồ sơ Đúng nếu hồ sơ tồn tại và là một tệp ký tự đặc biệt.

-d hồ sơ Đúng nếu hồ sơ tồn tại và là một thư mục.

-e hồ sơ Đúng nếu hồ sơ tồn tại (không phân biệt loại hình).

-f hồ sơ Đúng nếu hồ sơ tồn tại và là một tệp thông thường.

-g hồ sơ Đúng nếu hồ sơ tồn tại và cờ ID nhóm đã đặt của nó được đặt.

-h hồ sơ Đúng nếu hồ sơ tồn tại và là một liên kết tượng trưng.

-k hồ sơ Đúng nếu hồ sơ tồn tại và bit dính của nó được thiết lập.

-n chuỗi Đúng nếu độ dài của chuỗi là nonzero.

-p hồ sơ Đúng nếu hồ sơ là một đường ống được đặt tên (FIFO).

-r hồ sơ Đúng nếu hồ sơ tồn tại và có thể đọc được.

-s hồ sơ Đúng nếu hồ sơ tồn tại và có kích thước lớn hơn XNUMX.

-t file_descriptor
Đúng nếu tệp có số bộ mô tả tệp là file_descriptor is
mở và được liên kết với một thiết bị đầu cuối.

-u hồ sơ Đúng nếu hồ sơ tồn tại và cờ ID người dùng đã đặt của nó được đặt.

-w hồ sơ Đúng nếu hồ sơ tồn tại và có thể ghi. True chỉ cho biết rằng
cờ viết đang bật. Tệp không thể ghi trên hệ thống tệp chỉ đọc
ngay cả khi thử nghiệm này chỉ ra đúng.

-x hồ sơ Đúng nếu hồ sơ tồn tại và có thể thực thi được. True chỉ cho biết rằng
cờ thực thi đang bật. Nếu như hồ sơ là một thư mục, true chỉ ra rằng hồ sơ
có thể được tìm kiếm.

-z chuỗi Đúng nếu độ dài của chuỗi là số không.

-L hồ sơ Đúng nếu hồ sơ tồn tại và là một liên kết tượng trưng. Toán tử này được giữ lại
để tương thích với các phiên bản trước của chương trình này. Không dựa
về sự tồn tại của nó; sử dụng -h thay thế.

-O hồ sơ Đúng nếu hồ sơ tồn tại và chủ sở hữu của nó khớp với id người dùng hiệu quả của nó
quá trình.

-G hồ sơ Đúng nếu hồ sơ tồn tại và nhóm của nó khớp với id nhóm hiệu quả của
quá trình này.

-S hồ sơ Đúng nếu hồ sơ tồn tại và là một ổ cắm.

tệp1 -nt tệp2
Đúng nếu tệp1tệp2 tồn tại và tệp1 mới hơn tệp2.

tệp1 -tốt tệp2
Đúng nếu tệp1tệp2 tồn tại và tệp1 nó cũ hơn tệp2.

tệp1 -nếu tệp2
Đúng nếu tệp1tệp2 tồn tại và tham chiếu đến cùng một tệp.

chuỗi Đúng nếu chuỗi không phải là chuỗi rỗng.

s1 = s2 Đúng nếu các chuỗi s1s2 là giống hệt nhau.

s1 != s2 Đúng nếu các chuỗi s1s2 không giống nhau.

s1 < s2 Đúng nếu chuỗi s1 đến trước s2 dựa trên giá trị ASCII của
ký tự.

s1 > s2 Đúng nếu chuỗi s1 đến sau s2 dựa trên giá trị ASCII của
ký tự.

n1 -eq n2 Đúng nếu các số nguyên n1n2 là bằng nhau về mặt đại số.

n1 - Là n2 Đúng nếu các số nguyên n1n2 không bằng nhau về mặt đại số.

n1 -gt n2 Đúng nếu số nguyên n1 lớn hơn về mặt đại số so với số nguyên n2.

n1 -ge n2 Đúng nếu số nguyên n1 về mặt đại số lớn hơn hoặc bằng
số nguyên n2.

n1 -lt n2 Đúng nếu số nguyên n1 về mặt đại số nhỏ hơn số nguyên n2.

n1 -NS n2 Đúng nếu số nguyên n1 về mặt đại số nhỏ hơn hoặc bằng
số nguyên n2.

Các số liệu chính này có thể được kết hợp với các toán tử sau:

! biểu hiện Đúng nếu biểu hiện là sai.

biểu thức1 -a biểu thức2
Đúng nếu cả hai biểu thức1biểu thức2 là sự thật

biểu thức1 -o biểu thức2
Đúng nếu một trong hai biểu thức1 or biểu thức2 là sự thật

(biểu hiện) Đúng nếu biểu thức là đúng.

Sản phẩm -a toán tử có quyền ưu tiên cao hơn -o nhà điều hành.

thời gian In người dùng tích lũy và thời gian hệ thống cho trình bao và cho các quy trình chạy từ
cái vỏ. Trạng thái trả về là 0.

cạm bẫy [hoạt động tín hiệu hữu ích. Cảm ơn !]
Làm cho trình bao phân tích cú pháp và thực hiện hành động khi bất kỳ tín hiệu nào được chỉ định là
nhận. Các tín hiệu được xác định bằng số tín hiệu hoặc tên của tín hiệu.
If tín hiệu là 0 hoặc EXIT, hành động được thực hiện khi trình bao thoát. hoạt động có lẽ
rỗng (''), làm cho các tín hiệu được chỉ định bị bỏ qua. Với hoạt động bỏ qua hoặc
đặt thành `- 'các tín hiệu được chỉ định được đặt thành hành động mặc định của chúng. Khi vỏ
tách rời một vỏ con, nó đặt lại các tín hiệu bị mắc kẹt (nhưng không bị bỏ qua) về mặc định
hoạt động. Các bẫy lệnh không có hiệu lực đối với các tín hiệu đã bị bỏ qua khi vào
vỏ sò. bẫy mà không có bất kỳ đối số nào khiến nó ghi một danh sách các tín hiệu và
hành động liên kết với đầu ra tiêu chuẩn ở định dạng phù hợp làm đầu vào cho
vỏ đạt được kết quả bẫy giống nhau.

Ví dụ:

bẫy

Liệt kê các tín hiệu bị mắc kẹt và hành động tương ứng của chúng

bẫy '' INT QUIT tstp 30

Bỏ qua các tín hiệu INT QUIT TSTP USR1

ngày bẫy INT

Ngày in khi nhận được tín hiệu INT

kiểu [tên hữu ích. Cảm ơn !]
Diễn giải mỗi tên dưới dạng lệnh và in độ phân giải của tìm kiếm lệnh.
Các giải pháp có thể có là: từ khóa shell, bí danh, nội trang shell, lệnh, bí danh được theo dõi
và không tìm thấy. Đối với bí danh, phần mở rộng bí danh được in; cho các lệnh và được theo dõi
bí danh tên đường dẫn đầy đủ của lệnh được in.

giới hạn [-H | -S] [-a | -tfdscmlpn [giá trị]]
Tìm hiểu hoặc đặt ra các giới hạn cứng hoặc mềm đối với các quy trình hoặc đặt ra các giới hạn mới. Các
lựa chọn giữa giới hạn cứng (không quy trình nào được phép vi phạm và có thể không
được nâng lên khi nó đã được hạ xuống) và giới hạn mềm (khiến các quá trình được
được báo hiệu nhưng không nhất thiết phải bị giết và có thể được nâng lên) được thực hiện với những
cờ:

-H đặt hoặc hỏi về các giới hạn cứng

-S thiết lập hoặc hỏi về giới hạn mềm. Nếu không -H cũng không -S được chỉ định,
giới hạn mềm được hiển thị hoặc cả hai giới hạn được đặt. Nếu cả hai đều được chỉ định,
người cuối cùng thắng.

Sau đó, giới hạn được thẩm vấn hoặc đặt ra, được chọn bằng cách chỉ định bất kỳ một trong những
cờ:

-a hiển thị tất cả các giới hạn hiện tại

-t hiển thị hoặc đặt giới hạn về thời gian CPU (tính bằng giây)

-f hiển thị hoặc đặt giới hạn cho tệp lớn nhất có thể được tạo (trong
Khối 512 byte)

-d hiển thị hoặc đặt giới hạn về kích thước phân đoạn dữ liệu của một quy trình (trong
kilobyte)

-s hiển thị hoặc đặt giới hạn về kích thước ngăn xếp của một quy trình (tính bằng kilobyte)

-c hiển thị hoặc đặt giới hạn về kích thước kết xuất lõi lớn nhất có thể được tạo ra
(trong khối 512 byte)

-m hiển thị hoặc đặt giới hạn trên tổng bộ nhớ vật lý có thể được sử dụng bởi
một quá trình (tính bằng kilobyte)

-l hiển thị hoặc đặt giới hạn về dung lượng bộ nhớ mà một tiến trình có thể khóa mlock(2)
(tính bằng kilobyte)

-p hiển thị hoặc đặt giới hạn về số lượng quy trình mà người dùng này có thể có tại
một lần

-n hiển thị hoặc đặt giới hạn về số lượng tệp mà một quy trình có thể mở cùng một lúc

-r hiển thị hoặc đặt giới hạn về mức độ ưu tiên lập lịch thời gian thực của một quy trình

Nếu không có điều nào trong số này được chỉ định, thì đó là giới hạn về kích thước tệp được hiển thị hoặc đặt. Nếu như
giá trị được chỉ định, giới hạn được đặt thành số đó; nếu không thì giới hạn hiện tại là
hiển thị.

Các giới hạn của một quy trình tùy ý có thể được hiển thị hoặc thiết lập bằng cách sử dụng hệ thống(8) tiện ích.

ô [mặt nạ]
Đặt giá trị của umask (xem cái ô(2)) đến giá trị bát phân được chỉ định. Nếu đối số
bị bỏ qua, giá trị umask được in.

bí danh [-a] [tên]
If tên được chỉ định, trình bao sẽ xóa bí danh đó. Nếu như -a được chỉ định, tất cả các bí danh
được loại bỏ.

bỏ đặt [-fv] tên hữu ích. Cảm ơn !
Các biến và hàm được chỉ định chưa được đặt và chưa được báo cáo. Nếu như -f or -v is
đã chỉ định, thì hàm hoặc biến tương ứng không được đặt tương ứng. Nếu một
tên tương ứng với cả một biến và một hàm, và không có tùy chọn nào được đưa ra, chỉ
biến chưa được đặt.

đợi đã [việc làm]
Chờ cho công việc được chỉ định hoàn thành và trả về trạng thái thoát của quá trình cuối cùng
trong công việc. Nếu đối số bị bỏ qua, hãy đợi tất cả công việc hoàn thành và trả về
trạng thái thoát bằng không.

Lệnh Dòng Chỉnh sửa
Thời Gian dấu gạch ngang đang được sử dụng tương tác từ một thiết bị đầu cuối, lệnh hiện tại và lệnh
lịch sử (xem fc in Nội trang) có thể được chỉnh sửa bằng cách sử dụng chỉnh sửa dòng lệnh vi-mode. Chế độ này
sử dụng các lệnh, được mô tả bên dưới, tương tự như một tập hợp con của các lệnh được mô tả trong vi man page.
Lệnh 'set -o vi' cho phép chỉnh sửa chế độ vi và đặt sh vào chế độ chèn vi. Với vi-
chế độ được bật, sh có thể được chuyển đổi giữa chế độ chèn và chế độ lệnh. Người biên tập không
được mô tả đầy đủ ở đây, nhưng sẽ có trong tài liệu sau. Nó tương tự như vi: gõ ⟨ESC⟩
sẽ đưa bạn vào chế độ lệnh lệnh VI. Nhấn ⟨return⟩ khi ở chế độ lệnh sẽ
truyền dòng vào shell.

EXIT TÌNH TRẠNG


Các lỗi được trình bao phát hiện, chẳng hạn như lỗi cú pháp, sẽ khiến trình bao thoát
với trạng thái thoát khác XNUMX. Nếu shell không phải là shell tương tác, thì việc thực thi
tập tin shell sẽ bị hủy bỏ. Nếu không, trình bao sẽ trả về trạng thái thoát của
lệnh được thực thi hoặc nếu nội trang thoát được sử dụng với đối số số, nó sẽ trả về
tranh luận.

MÔI TRƯỜNG


HOME Đặt tự động bởi đăng nhập(1) từ thư mục đăng nhập của người dùng trong mật khẩu
tập tin (passwd(4)). Biến môi trường này cũng hoạt động như mặc định
đối số cho nội trang cd.

PATH Đường dẫn tìm kiếm mặc định cho các tệp thực thi. Xem phần trên Đường dẫn Tìm kiếm.

CDPATH Đường dẫn tìm kiếm được sử dụng với nội trang cd.

MAIL Tên của một tệp thư, sẽ được kiểm tra khi có thư mới.
Bị MAILPATH ghi đè.

MAILCHECK Tần suất tính bằng giây mà shell kiểm tra sự xuất hiện của thư trong
các tệp được chỉ định bởi MAILPATH hoặc tệp MAIL. Nếu được đặt thành 0, séc sẽ
xảy ra ở mỗi lời nhắc.

MAILPATH Dấu hai chấm “:” danh sách tên tệp được phân tách, để trình bao kiểm tra xem có đến không
thư. Cài đặt môi trường này ghi đè cài đặt MAIL. Có một mức tối đa
trong số 10 hộp thư có thể được giám sát cùng một lúc.

PS1 Chuỗi lời nhắc chính, mặc định là “$”, trừ khi bạn là superuser,
trong trường hợp đó nó được mặc định là “#”.

PS2 Chuỗi lời nhắc phụ, mặc định là “>”.

Đầu ra PS4 trước mỗi dòng khi theo dõi thực thi (set -x) được bật, mặc định là
“+”.

Dấu phân tách trường nhập IFS. Điều này thường được đặt thành ⟨space⟩, ⟨tab⟩ và ⟨newline⟩.
Xem trắng Không gian Tách để biết thêm chi tiết.

TERM Cài đặt đầu cuối mặc định cho trình bao. Điều này được thừa hưởng bởi con cái của
và được sử dụng trong các chế độ chỉnh sửa lịch sử.

HISTSIZE Số dòng trong bộ đệm lịch sử cho trình bao.

PWD Giá trị logic của thư mục làm việc hiện tại. Điều này được thiết lập bởi cd
chỉ huy.

OLDPWD Giá trị logic trước đó của thư mục làm việc hiện tại. Điều này được thiết lập bởi
cd chỉ huy.

PPID ID tiến trình của tiến trình cha của shell.

Sử dụng dash trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad