Sử dụng câu lệnh test

Một phần của tài liệu GIÁO TRÌNH TIN học hệ điều HÀNH LINUX (Trang 61 - 65)

Trong bash và pdksh, câu lệnh test được sử dụng để tính giá trị của một biểu thức có điều kiện. Thông thường, bạn sử dụng câu lệnh test để tính giá trị điều kiện trong một lệnh có điều kiện hoặc tính giá trị đầu vào hay điều kiện tồn tại cho một câu lệnh lặp. Câu lệnh test có cú pháp sau:

test expression hoặc [ expression ]

Bạn có thể sử dụng một vái toán tử có sẵn với câu lệnh test. Các toán tử này được phân loại thành bốn nhóm khác nhau: các toán tử xâu, các toán tử số, các toán tử file, và các toán tử logic.

Bạn sử dụng các toán tử xâu để tính giá trị biểu thức xâu. Bảng 6.4.1 đưa ra danh sách các toán tử xâu mà ba ngôn ngữ lập trình shell hỗ trợ.

Bảng 6.4.1 Các toán tử chuỗi cho câu lệnh test.

Toán tử Ý nghĩa

str1 = str2 Trả lại giá trị true nếu str1 giống với str2

str1 != str2 Trả lại giá trị true nếu str1 không giống str2

str Trả lại giá trị true nếu str khác rỗng

-n str Trả lại giá trị true nếu độ dài của str lớn hơn 0

-z str Trả lại giá trị true nếu độ dài của str bằng 0

Các toán tử số thực hiện các chức năng tương tự các toán tử string ngoại trừ việc chúng hoạt động trên các đối số kiểu số. Bảng 6.4.2 liệt kê danh sách các toán tử số được sử dụng trong câu lệnh test.

Bảng 6.4.2 Các toán tử số cho câu lệnh test.

Toán tử Ý nghĩa

int1 -eq int2 Trả lại giá trị true nếu int1 bằng int2

int1 -ge int2 Trả lại giá trị true nếu int1 lớn hơn hoặc bằng int2

int1 -gt int2 Trả lại giá trị true nếu int1 lớn hơn int2

int1 -le int2 Trả lại giá trị true nếu int1 nhỏ hơn int2

int1 -lt int2 Trả lại giá trị true nếu int1 nhỏ hơn int2

int1 -ne int2 Trả lại giá trị true nếu int1 không bằng int2

Bạn sử dụng các toán tử file cho câu lệnh test để thực hiện các chức năng chẳng hạn như kiểm tra để xem các file có tồn tại hay không và kiểm tra để xem file thuộc loại nào, file

ĐẠI HỌC TÔN ĐỨC THẮNG Trang 63/77

Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình

được đưa vào như một đối số cho câu lệnh test. Bảng 6.4.3 đưa ra danh sách các toán tử file cho câu lệnh test.

Bảng 6.4.3 Các toán tử File cho câu lệnh test.

Toá n tử

Ý nghĩa

-d file

Trả lại giá trị true nếu file được xác định là một thư mục

-f file

Trả lại giá trị true nếu file được xác định là một file thông thường

-r file

Trả lại giá trị true néu file xác định là có thể đọc bởi tiến trình

-s file

Trả lại giá trị true nếu file xác định có độ dài khác 0

-w file

Trả lại giá trị true nếu file có thể ghi được bởi tiến trình

-x file

Trả lại giá trị true nếu file xác định là có thể thực thi

Bạn sử dụng các toán tử logic cho câu lệnh test để kết hợp các toán tử số, xâu, hay file hoặc phủ định một toán tử đơn số, xâu, hoặc file. Bảng 6.4.4 đưa ra danh sách cá toán tử logic cho câu lệnh test.

Bảng 6.4.4 Các toán tử Logic chó câu lệnh test.

Toán tử Ý nghĩa

! expr Trả lại giá trị true nếu expr khác true

Expr1 -a expr2 Trả lại giá trị true nếu expr1 và expr2 là true

Expr1 -o expr2 Trả lại giá trị true nếu expr1 hoặc expr2 là true

Shell tcsh không có câu lệnh test, nhưng các biểu thức của tsch thực hiện các chức năng tương tự. Các toán tử tcsh hỗ trợ hầu hết giống như được hỗ trợ trong ngôn ngữ C. Bạn thường sử dụng các biểu tức này trong các cau lệnh if và while. Trong đoạn sau,phần "Sử dụng các lệnh có điều kiện " và "Sử dụng các lệnh lặp " sẽ nói về các câu lệnh này. Giống như câu lệnh test trong bash và pdksh, các biểu thức trong tcsh hỗ trợ các toán tử số, xâu, file, và logic. Bảng 6.4.5 đưa ra danh sách các toán tử được hỗ trợ trong cá biểu thức của tcsh.

Bảng 6.4.5 Các tóan tử số cho for các biểu thức tcsh.

Toán tử Ý nghĩa

int1 <= int2 Trả lại giá trị true nếu int1 nhỏ hơn int2

int1 < int2 Trả lại giá trị true nếu int1 nhỏ hơn int2

int1 > int2 Trả lại giá trị true nếu int1 lớn hơn int2

Bảng 6.4.6 đưa ra danh sách các toán tử xâu mà các biểu thức của tcsh hỗ trợ.

Table 6.4.6. Các toán tử xâu cho các biểu thức của tcsh.

Toán tử Ý nghĩa

str1 == str2 Trả lại giá trị true nếu str1 bằng str2

str1 != str2 Trả lại giá trị true nếu str1 không bằng str2

Bảng 6.4.7 đưa ra danh sách cá toán tử file mà các biểu thức tcsh hỗ trợ.

Bảng 6.4.7 Các toán tử File cho các biểu thức tcsh.

Toá n tử

Ý nghĩa

-r file

Trả lại giá trị true nếu file có thể đọc được

-w file

Trả lại giá trị true nếu file có thể ghi được

-x file

Trả lại giá trị true nếu file có thể thực thi

-e file

Trả lại giá trị true nếu file tồn tại

-o file

Trả lại giá trị true nếu file được sở hữu bởi người sử dụng hiện tại

-z file

Trả lại giá trị true nếu file có kích thước bằng 0

-f file

Trả lại giá trị true nếu file là file thông thường

-d file

Trả lại giá trị true nếu file là một thư mục

Bảng 6.4.8 Đưa ra danh sách các toán tử logic được hỗ trợ trong các biểu thức của tcsh.

Table 6.4.8 Các toán tử Logical cho cá biểu thức của tcsh.

ĐẠI HỌC TÔN ĐỨC THẮNG Trang 65/77

Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình

exp1 || exp2 Trả lại giá trị true nếu exp1 là true hoặc exp2 là true

exp1 &&

exp2

Trả lại giá trị true nếu cả hai exp1 và exp2 là true

! exp Trả lại true nếu exp khác true

Một phần của tài liệu GIÁO TRÌNH TIN học hệ điều HÀNH LINUX (Trang 61 - 65)

Tải bản đầy đủ (PDF)

(77 trang)