Toán tử trong Shell Script

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.

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em