Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Lệnh If else trong Shell Script

Trong bài này chúng ta sẽ tìm hiểu đến lệnh if else, đây là lệnh rẻ nhánh chương trình và được sử dụng rất thường xuyên khi lập trình shell script. Ngoài lệnh if else ra ta còn có lệnh case, nhưng chúng ta sẽ tìm hiểu nó ở bài tiếp theo.

1. Lệnh if then fi

Trong shell cú pháp hơi dài dòng, tựa như pascal vậy :3 nếu bạn từng sử dụng PHP hay C/C++ thì sẽ thấy cú pháp rất đơn giản, nhưng qua shell script thì sẽ hơi khó nhớ.

Cú pháp
if [ expression ] 
then 
   # Thực hiện lệnh nếu expression true
fi

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Shell sẽ kiểm tra điều kiện đầu vào expression có giá trị true hay false, nếu true thì thực thi chương trình bên trong lệnh then, sau đó kết thúc tại lệnh fi.

Bạn cần chú ý tới khoảng trắng nhé, đó là phần bắt buộc nên phải có khoảng trắng đầy đủ, nếu không chương trình sẽ biên dịch sai hoặc bị lỗi.

Điều kiện expression có thể là một giá trị, cũng có thể là một biểu thức, nhưng chung quy lại biểu thức này phải trả về kết quả là true hoặc false.

Ví dụ
#!/bin/sh

a=10
b=20

if [ $a == $b ]
then
   echo "a bằng b"
fi

if [ $a != $b ]
then
   echo "a khác b"
fi

Kết quả
a is not equal to b

Trong ví dụ này bạn sẽ thấy do $a khác $b nên lệnh if thứ hai sẽ được thực thi, còn lệnh thứ nhất thì không vì $a không bằng $b.

2. Lệnh if else fi

Ở phần 1 là lệnh rẻ nhánh đơn, nghĩa là nó chỉ chạy đúng một hướng là điều kiện expression trả về true, còn false thì không làm gì cả. Nếu bạn muốn expression trả về false sẽ thực hiện một chương trình khác thì có thể kết hợp thêm lệnh else.

Cú pháp
if [ expression ]
then
   Chạy nếu expression true
else
   Chạy nếu expression false
fi

Với chương trình này thì chương trình sẽ rẻ sang hai hướng và phụ thuộc vào biểu thức expression.

Ví dụ
#!/bin/sh

a=10
b=20

if [ $a == $b ]
then
   echo "a bằng b"
else
   echo "a khác b"
fi

Kết quả
a khác b

3. Lệnh if elif fi

Ở phần 2 ta đã tìm hiểu lệnh rẻ chương trình thành hai nhánh, vậy thì trong phần này ta sẽ tìm hiểu rẻ nhiều hơn hai nhánh, có thể là 3 nhánh, 4 nhánh, ... bằng cách sử dụng kết hợp thêm lệnh elif.

Cú pháp
if [ expression 1 ]
then
   Chạy nếu expression1 đúng
elif [ expression 2 ]
then
   Chạy nếu expression2 đúng
elif [ expression 3 ]
then
   Chạy nếu expression3 đúng
else
   Chạy nếu cả 3 biểu thức trên sai
fi

Bạn có thể tạo nhiều hơn 3 nhánh và điều này phụ thuộc vào chương trình mà bạn muốn viết.

Ví dụ
#!/bin/sh

a=10
b=20

if [ $a == $b ]
then
   echo "a bằng b"
elif [ $a -gt $b ]
then
   echo "a lớn hơn b"
else
   echo "a nhỏ hơn b"
fi

Chạy chương trình này lên bạn sẽ thấy kết quả là:

Kết quả
a nhỏ hơn b

4. Lời kết

Nếu bạn đã rành một ngôn ngữ nào đó rồi thì sẽ rất dễ học shell script, bởi bản chất nó cũng là lập trình nên chỉ khác nhau về cú pháp, về tư duy thì giống nhau hoàn toàn.

Bài này mình đã giới thiệu xong lệnh if trong shell script, bài tiếp theo ta sẽ nói về lệnh case.

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top