Trong shell script, toán tử đóng vai trò quan trọng trong việc thực hiện các phép tính và so sánh. Chúng cho phép chúng ta thực hiện các thao tác logic, kiểm tra điều kiện,… Dưới đây là một số toán tử trong shell script.
Các phép toán số học
Để thực hiện các phép tính toán số học cần dùng câu lệnh:
expr biểu_thức_số_học
Các toán tử: +, -, \*, /, %
Ví dụ:
expr 1 + 3 expr 2 - 1 expr 10 / 2 expr 20 % 3 expr 10 \* 3 # phép nhân là \* . echo `expr 6 + 3` # đánh giá giá trị biểu thức 6+3 và in ra.
Các dấu ngoặc
Dấu ngoặc kép “ ”: tất cả các ký tự trong dấu ngoặc kép đều không có ý nghĩa tính toán, trừ những ký tự sau \ hoặc $.
Dấu nháy ngược` (cùng nút với dấu ~): yêu cầu thực hiện lệnh.
Ví dụ:
$ echo “Today is `date`” Today is Tue Jan ...
Các phép so sánh số
Toán tử so sánh trong Shell Script | Nghĩa | Toán tử bình thường | Câu lệnh trong Shell Script | |
For test | For [ expr ] | |||
-eq | is equal to | 5 == 6 | if test 6 -eq 6 | if [ 5 -eq 6 ] |
-ne | is not equal to | 5 != 6 | id test 5 -ne 6 | if [ 5 -ne 6 ] |
-lt | is less than | 5 < 6 | if test 5 -lt 6 | if [ 5 -lt 6 ] |
-le | is less than or equal to | 5<=6 | if test 5 -le 6 | if [ 5 -le 6 ] |
-gt | is greater | 5>6 | if test 5 -gt 6 | if [ 5 -gt 6 ] |
-ge | is greater than or equal to | 5>=6 | if test 5 -ge 6 | if [ 5 -ge 6 ] |
Các phép so sánh xâu
Toán tử | Nghĩa |
string1 = string2 | string1 is equal to string2 |
string 1 != string2 | string1 is not equal to string 2 |
string1 | string1 is NOT NULL or not defined |
-n string1 | string1 is NOT NULL and does exist |
-z string1 | string1 is NULL and does exist |
Các phép kiểm tra file, thư mục
Test | Meaning |
-s file | Non empty file |
-f file | Is file exist or normal file and not a directory |
-d dir | Is directory exist and not a file |
-w file | Is writeable file |
-r file | Is read-only file |
-x file | Is file is executable |
Phép toán logic
Các phép toán logic:
NOT: !
! Biểu_thức
AND: -a
Biểu_thức_1 –a biểu_thức_2
OR: -r
Biểu thức_1 –r biểu_thức_2
Lệnh test
Lệnh test được dùng để kiểm tra một biểu thức là đúng hay không và trả lại 0 nếu biểu thức đúng <>0, trường hợp còn lại
Cú pháp:
test biểu_thức [ biểu thức ]
Biểu thức có thể bao gồm:
- Số nguyên
- Các kiểu tệp
- Xâu ký tự
Trên đây là một số toán tử căn bản trong shell script. Với kiến thức này, bạn có thể thực hiện các phép tính, so sánh và kiểm tra trạng thái của các tệp tin và thư mục để thực hiện các tác vụ phức tạp. Cảm ơn bạn đã tham khảo quản trị linux trên ttnguyen.net.