Từ tài liệu bash :
(list)
danh sách được thực thi trong môi trường mạng con (xem MÔI TRƯỜNG THỰC HIỆN QUY TẮC bên dưới). Các phép gán biến và các lệnh dựng sẵn ảnh hưởng đến môi trường của shell không còn hiệu lực sau khi lệnh hoàn thành. Trạng thái trả về là trạng thái thoát của danh sách.
Nói cách khác, bạn đảm bảo rằng bất cứ điều gì xảy ra trong 'danh sách' (như a cd
) đều không có tác dụng ngoài (
và )
. Điều duy nhất mà sẽ bị rò rỉ là mã lối ra của lệnh cuối cùng hoặc với set -e
lệnh đầu tiên mà tạo ra một lỗi (khác hơn là một vài ví dụ như if
, while
, vv)
((expression))
Biểu thức được đánh giá theo các quy tắc được mô tả dưới đây trong ĐÁNH GIÁ ARITHMETIC. Nếu giá trị của biểu thức là khác không, trạng thái trả về là 0; mặt khác, trạng thái trả về là 1. Điều này hoàn toàn tương đương với "biểu thức".
Đây là một phần mở rộng bash cho phép bạn làm toán. Điều này hơi giống với việc sử dụng expr
mà không có tất cả các giới hạn của expr
(chẳng hạn như có không gian ở mọi nơi, thoát *
, v.v.)
[[ expression ]]
Trả về trạng thái 0 hoặc 1 tùy theo đánh giá biểu thức biểu thức điều kiện. Biểu thức bao gồm các bầu cử sơ bộ được mô tả dưới đây trong GIẢI THÍCH ĐIỀU KIỆN. Chia tách từ và mở rộng tên đường dẫn không được thực hiện trên các từ giữa [[và]]; mở rộng dấu ngã, mở rộng tham số và biến, mở rộng số học, thay thế lệnh, thay thế quá trình và loại bỏ trích dẫn được thực hiện. Các toán tử có điều kiện như -f phải không được trích dẫn để được công nhận là nguyên tắc.
Khi được sử dụng với [[, các toán tử <và> sắp xếp từ vựng theo ngôn ngữ hiện tại.
Điều này cung cấp một bài kiểm tra nâng cao để so sánh các chuỗi, số và tệp giống như test
các ưu đãi, nhưng mạnh mẽ hơn.
[ expr ]
Trả về trạng thái 0 (đúng) hoặc 1 (sai) tùy theo đánh giá của biểu thức điều kiện expr. Mỗi toán tử và toán tử và phải là một đối số riêng biệt. Biểu thức bao gồm các nguyên tắc được mô tả ở trên trong GIẢI THÍCH ĐIỀU KIỆN. kiểm tra không chấp nhận bất kỳ tùy chọn nào, cũng không chấp nhận và bỏ qua một đối số của - như biểu thị sự kết thúc của các tùy chọn.
[...]
Cái này gọi test
. Thật ra, ngày xưa, [
là một liên kết tượng trưng cho test
. Nó hoạt động theo cùng một cách và bạn có những hạn chế tương tự. Vì một nhị phân biết tên mà nó đã được bắt đầu, chương trình thử nghiệm có thể phân tích các tham số cho đến khi tìm thấy một tham số ]
. Thủ thuật Unix vui nhộn.
Lưu ý rằng trong trường hợp bash
, [
và test
được tích hợp theo chức năng (như đã đề cập trong một chú thích), nhưng khá nhiều những hạn chế tương tự áp dụng.