Computer >> Máy Tính >  >> Lập trình >> C ++

Các toán tử cơ bản trong Shell Scripting

Vỏ là một giao diện sử dụng mà người lập trình có thể thực thi lệnh và tương tác trực tiếp với hệ điều hành. Tập lệnh shell là đưa ra các lệnh mà một trình bao có thể thực thi.

Trong shell cũng có các biến và toán tử được sử dụng để thao tác với các biến này. Có 5 toán tử cơ bản trong kịch bản shell.

  • Các toán tử số học
  • Toán tử quan hệ
  • Toán tử Boolean
  • Toán tử Bitwise
  • Người điều hành kiểm tra tệp

Toán tử số học

Các toán tử số học trong kịch bản shell được sử dụng để thực hiện các phép toán số học / toán học tổng quát. Có 7 toán tử số học hợp lệ trong kịch bản shell -

  • Bổ sung (+) được sử dụng để thêm hai toán hạng (biến).

  • Phép trừ (-) được sử dụng để trừ hai biến (toán hạng) trong kịch bản shell.

  • Phép nhân (*) được sử dụng để nhân hai biến (toán hạng) trong kịch bản shell.

  • Bộ phận (/) được sử dụng để chia hai biến (toán hạng) trong kịch bản shell.

  • Mô-đun (%) được sử dụng để tìm phần còn lại khi phân chia các toán hạng trong kịch bản shell.

  • Toán tử tăng dần (++) được sử dụng để thêm một vào giá trị hiện tại của toán tử.

  • Toán tử giảm dần (-) được sử dụng để trừ một từ giá trị hiện tại của toán tử.

Ví dụ

Để hiển thị việc triển khai toán tử số học trong kịch bản shell -

a = 32
b = 23
   add = $((a + b))
   echo sum of a and b is $add
   sub = $((a - b))
   echo Subtraction of a and b is $sub
   mul = $((a * b))
   echo product of a and b is $mul
   div = $((a / b))
   echo division of a and b is $div
mod = $((a % b))
   echo remainder when a is divided b is $mod
((++a))
   echo Increment operator when applied on "a" results into a = $a
((--b))
echo Decrement operator when applied on "b" results into b = $b

Đầu ra

sum of a and b is 55
Subtraction of a and b is 9
product of a and b is 736
division of a and b is 1
remainder when a is divided b is 9
Increment operator when applied on a results into a = 33
Decrement operator when applied on b results into b = 24

Toán tử quan hệ

Toán tử quan hệ trong kịch bản shell định nghĩa mối quan hệ giữa các toán hạng. Giá trị trả về của chúng là true hoặc false tùy thuộc vào toán tử và toán hạng. Có 6 loại toán tử quan hệ hợp lệ trong kịch bản shell -

  • Toán tử == là toán tử cân bằng các giá trị của hai toán tử. Nó trả về true nếu các giá trị bằng nhau và trả về false nếu ngược lại.

  • Toán tử ! = là toán tử cân bằng giá trị của hai toán tử và kiểm tra sự bất bình đẳng của chúng. Nó trả về true nếu các giá trị không bằng nhau và trả về false nếu không.

  • là toán tử nhỏ hơn so sánh các giá trị của hai toán tử. Nếu giá trị của operend đầu tiên nhỏ hơn giây một thì toán tử trả về true, ngược lại trả về false.

  • <=toán tử nhỏ hơn hoặc bằng toán tử so sánh giá trị của hai toán tử. Nếu giá trị của operend đầu tiên nhỏ hơn hoặc bằng giây một thì toán tử trả về true, ngược lại trả về false.

  • > toán tử là toán tử lớn hơn so sánh các giá trị của hai toán tử. Nếu giá trị của operend đầu tiên lớn hơn giây một thì toán tử trả về true, ngược lại trả về false.

  • > =toán tử lớn hơn hoặc bằng toán tử so sánh giá trị của hai toán tử. Nếu giá trị của operend đầu tiên lớn hơn hoặc bằng giây một thì toán tử trả về true, ngược lại trả về false.

Ví dụ

a = 32
b = 67
if(( $a==$b ))
then
   echo a is equal to b.
else
   echo a is not equal to b.
fi
if(( $a!=$b ))
then
   echo a is not equal to b.
else
   echo a is equal to b.
fi
if(( $a<$b ))
then
   echo a is less than b.
else
   echo a is not less than b.
fi

if(( $a<=$b ))
then
   echo a is less than or equal to b.
else
   echo a is not less than or equal to b.
fi
if(( $a>$b ))
then
   echo a is greater than b.
else
   echo a is not greater than b.
fi
if(( $a>=$b ))
then
   echo a is greater than or equal to b.
else
   echo a is not greater than or equal to b.
fi

Đầu ra

a is not equal to b.
a is not equal to b.
a is less than b.
a is less than or equal to b.
a is not greater than b.
a is not greater than or equal to b.

Toán tử Boolean

Toán tử boolean còn được gọi là toán tử logic được sử dụng để thực hiện các hoạt động logic trong kịch bản shell. Có 3 loại toán tử logic hợp lệ trong kịch bản shell -

  • Logic AND (&&) tính toán logic AND của giá trị boolean. Nó trả về true nếu cả hai toán hạng đều đúng, ngược lại là false.

  • Hợp lý HOẶC (||) tính toán phép toán OR logic của toán hạng boolean. Nó trả về false nếu cả hai toán hạng đều sai, ngược lại là true.

  • Hợp lý không bằng (!) tính toán phủ định của toán tử đơn được truyền. Nếu giá trị của toán hạng là true, nó sẽ trả về false, ngược lại là true.

Ví dụ

a = true
b = false
if(($a == "true" & $b == "true" ))
then
   echo Both are true.
else
   echo Both are not true.
fi
if(($a == "true" || $b == "true" ))
then
   echo Atleast one of them is true.
else
   echo None of them is true.
fi
if(( ! $a == "true" ))
then
   echo "a" was intially false.
else
   echo "a" was intially true.
fi

Đầu ra

Both are not true.
Atleast one of them is true
a was intially true.

Toán tử bitwise là các toán tử thực hiện các phép toán theo chiều bit trên các biến bit. Có 6 loại toán tử bitwise trong kịch bản shell -

  • Bitwise VÀ (&) là toán tử thực hiện phép toán AND nhị phân trên các bit của toán hạng, tức là mỗi bit của biến đầu tiên được vận hành với bit tương ứng của toán tử thứ hai.

  • Bitwise HOẶC (|) là toán tử thực hiện phép toán OR nhị phân trên các bit của toán hạng, tức là mỗi bit của biến đầu tiên được vận hành với bit tương ứng của toán tử thứ hai.

  • Bitwise XOR (^) là toán tử thực hiện phép toán XOR nhị phân trên các bit của toán hạng, tức là mỗi bit của biến đầu tiên được vận hành với bit tương ứng của toán tử thứ hai.

  • Phần bổ sung bitwise (~) là toán tử thực hiện phép toán NOT nhị phân trên các bit của toán hạng, tức là mỗi bit của biến đầu tiên được vận hành với bit tương ứng của toán tử thứ hai.

  • Dịch chuyển sang trái theo chiều bit (<<) là toán tử dịch chuyển các bit của toán hạng sang trái n lần được chỉ định ở bên phải của toán tử.

  • Shift Left Bitwise (>>) là toán tử dịch chuyển các bit của toán hạng sang bên phải n lần được chỉ định ở bên phải của toán tử.

Ví dụ

a = 14
b = 67
bitwiseAND=$(( a&b ))

echo Bitwise AND of a and b is $bitwiseAND
bitwiseOR=$(( a|b ))

echo Bitwise OR of a and b is $bitwiseOR
bitwiseXOR=$(( a^b ))

echo Bitwise XOR of a and b is $bitwiseXOR
bitiwiseComplement=$(( ~a ))

echo Bitwise Compliment of a is $bitiwiseComplement
leftshift=$(( a<<1 ))

echo Left Shift of a is $leftshift
rightshift=$(( b>>1 ))

echo Right Shift of b is $rightshift

Đầu ra

Bitwise AND of a and b is 2
Bitwise OR of a and b is 79
Bitwise XOR of a and b is 77
Bitwise Compliment of a is -15
Left Shift of a is 28
Right Shift of b is 33

Người điều hành kiểm tra tệp

Các toán tử kiểm tra tệp được sử dụng để kiểm tra các thuộc tính cụ thể của tệp. Một số toán tử kiểm tra tệp là:

  • Toán tử -b được sử dụng để kiểm tra xem tệp được chỉ định có phải là tệp đặc biệt của khối hay không. Nếu tệp là một tệp đặc biệt của khối thì hàm trả về true, ngược lại trả về false.

  • Toán tử -s là toán tử được sử dụng để kiểm tra kích thước của tệp đã cho. Nếu kích thước tệp lớn hơn 0, nó trả về true, ngược lại trả về false.

  • Toán tử -r là toán tử kiểm tra xem quyền truy cập để đọc nội dung tệp có được cấp hay không. Nếu quyền đọc được cấp hơn nó trả về true, ngược lại là false.

  • Toán tử -w là toán tử kiểm tra xem quyền truy cập để ghi vào tệp có được cấp hay không. Nếu quyền ghi được cấp hơn thì nó trả về true, ngược lại là false.

  • Toán tử -x là các toán tử kiểm tra xem quyền truy cập để thực thi tệp có được cấp hay không. Nếu quyền truy cập thực thi được cấp nhiều hơn nó sẽ trả về true, ngược lại là false.