NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
24/12/2024
Lượt xem

Tổng quan kiến thức về biến Boolean trong Bash cho người mới

24/12/2024
14 phút đọc
Lượt xem

Đánh giá

Biến Boolean là công cụ không thể thiếu để tạo nên những script Bash linh hoạt theo điều kiện. Các biến này cho phép người dùng tạo các script Bash phản ứng đồng đều với môi trường thay đổi và tương tác của người dùng. Trong bài viết này, Vietnix sẽ giới thiệu đến bạn các biến Boolean trong Bash chi tiết nhất.

Những điểm chính

  • Hiểu rõ về Biến Boolean trong Bash: Bạn sẽ nắm được khái niệm và vai trò của biến Boolean trong Bash.
  • Nắm vững 3 cách gán Biến Boolean trong Bash: Bạn sẽ học được ba phương pháp gán giá trị Boolean trong Bash, bao gồm sử dụng chuỗi, số nguyên và tên biến trực tiếp.
  • Khám phá 5 ví dụ thực tế về Biến Boolean trong Bash: Bạn sẽ thấy các ví dụ minh họa cách sử dụng biến Boolean trong các câu lệnh điều kiện, vòng lặp, toán tử logic và cách xác thực dữ liệu đầu vào từ người dùng.
  • Vietnix – Công nghệ tối ưu, dẫn lối thành công cho doanh nghiệp Việt

Biến Boolean trong Bash là gì?

Boolean là các biến quan trọng trong Bash, chỉ chứa 2 điều kiện có thể xảy ra là “True” hoặc “False”, nhằm hỗ trợ cho việc đưa ra quyết định. Trên thực tế, Bash không bao gồm kiểu dữ liệu Boolean, thay vào đó người dùng phải mô phỏng các biến này bằng cách sử dụng chuỗi, số nguyên hoặc bằng cách thêm tên biến trực tiếp vào các điều kiện. Ngoài ra, các biến Boolean trong Bash còn giúp người dùng kiểm soát luồng của chương trình Bash hiệu quả hơn, nhờ khả năng đưa ra quyết định rõ ràng.

Biến boolean trong Bash là các biến chứa 2 điều kiện là "True" hoặc "False"
Biến boolean trong Bash là các biến chứa 2 điều kiện là “True” hoặc “False”

Bạn có thể khai báo và gán giá trị cho các biến Boolean trong Bash. Để biểu diễn các biến này, bạn có thể dùng chuỗi ký tự (‘true’ hoặc ‘false’), số nguyên (0 cho false – 1 cho true) hoặc trực tiếp tên biến. Vietnix sẽ dẫn chứng ba trường hợp dưới đây để gán giá trị cho biến Boolean trong Bash:

Trường hợp 1: Gán các biến Boolean trong Bash bằng cách sử dụng String

3 bước cần thực hiện như sau:

Bước 1: Bạn mở Ubuntu Terminal.

Bước 2:  Để mở một script trong trình soạn thảo văn bản nano và nhập lệnh:

nano string.sh
Mở file soạn thảo
Mở file soạn thảo

Chú thích:

  • nano: Một trình soạn thảo văn bản.
  • string.sh: Là một script. Ở đây, Vietnix đặt tên cho script là “string.sh”, bạn có thể đặt tên bất kỳ theo mong muốn.

Bước 3: Tiếp theo, bạn viết đoạn code sau vào trình soạn thảo:

#!/bin/bash

#Assigning boolean variables using strings

#Gán biến boolean bằng chuỗi

is_active="true"

is_admin="false"

Chú thích:

Trong #!/bin/bash, ”#!“ được gọi là ‘’Shebang” hoặc “Hashbang”. Trong “is_active=”true””, giá trị của biến Boolean is_active được gán là true – biểu thị hệ thống đang hoạt động. Ngoài ra trong “is_admin=”false””, giá trị của biến Boolean is_admin được gán là false – biểu thị người dùng không phải là quản trị viên.

Gán giá trị chuỗi cho biến
Gán giá trị chuỗi cho biến

Trường hợp 2: Gán các biến Boolean trong Bash bằng cách sử dụng số nguyên

Một cách khác để gán biến Boolean là sử dụng các giá trị số nguyên. Sau đây là cách thực hiện:

#!/bin/bash

#Assigning boolean variables using integers

#Gán biến boolean với giá trị là số nguyên

is_logged_in=5

has_permission=20

Chú thích:

Trong “is_logged_in=5”, giá trị số nguyên 5 được gán cho biến is_logged_in, khi biến này biểu thị một số nguyên khác có nghĩa là False. Ngoài ra, trong “has_permission=20”, giá trị số nguyên 20 được gán cho biến has_permission được coi là True.

Gán giá trị số nguyên cho biến
Gán giá trị số nguyên cho biến

Trường hợp 3: Gán các biến Boolean trong Bash bằng cách sử dụng tên biến trực tiếp

Bạn có thể sử dụng tên biến trực tiếp trong các điều kiện như giá trị True/False. Dưới đây là cách sử dụng tương tự với việc gán biến Boolean trong Bash:

#!/bin/bash

#Assigning boolean variables using variable names directly

# Gán trực tiếp giá trị boolean vào biến

is_logged_in=true

has_permission=false

Chú thích:

Trong “is_logged_in=true” và “has_permission=false”, tên biến is_logged_inhas_permission được gán trực tiếp dưới dạng giá trị Boolean.

Gán biến boolean vào tên biến
Gán biến boolean vào tên biến

Bạn có thể sử dụng biến Boolean trong Bash để khai báo, điều khiển và chỉ định các biến chỉ có hai trạng thái là True hoặc False. Dưới đây là một số ví dụ về cách sử dụng biến Boolean trong Bash:

Ví dụ 1: Biến Boolean trong câu lệnh điều kiện lồng nhau

Thông thường, bạn có thể sử dụng các biến Boolean trong các câu lệnh điều kiện lồng nhau. Dưới đây là một ví dụ minh họa trực quan:

Bước 1: Lặp lại các bước 1 và 2 của trường hợp 1 khi gán các biến Boolean của Bash và viết đoạn code sau vào trình soạn thảo:

#!/bin/bash

is_it_sunny=false

enjoying=true

if $is_it_sunny; then

if $enjoying; then

echo "Today is a sunny day and I'm enjoying it."

else

echo "Today is a sunny day and I'm not enjoying."

fi

else

echo "It's raining outside and I'm enjoying the rain!"

fi

Chú thích:

Trong đó, “is_it_sunny=false” và “enjoy=true” chỉ định hai biến Boolean với giá trị được gán là “ false”. Script sử dụng các câu lệnh điều kiện lồng nhau, câu lệnh “if” bên ngoài kiểm tra xem biến “is_it_sunny” có đúng hay không; nếu đúng, thì nó sẽ nhập vào câu lệnh ‘”if” bên trong để kiểm tra xem “enjoying” có đúng không.

Nếu biến ‘enjoying” là đúng, lệnh echo sẽ in ra “Today is a sunny day and I’m enjoying it.“, hoặc nếu biến “enjoying” là sai, lệnh echo sẽ in ra “Today is a sunny day and I’m not enjoying.“. Tuy nhiên, nếu biến “is_it_sunny” là sai, lệnh echo sẽ in ra “It’s raining outside and I’m enjoying the rain!“.

Bước 2: Bạn hãy nhấn CTRL+S để lưu tệp và CTRL+X để thoát.

Bước 3: Tiếp theo, bạn sử dụng lệnh bên dưới để thực thi Script:

chmod u+x conditional.sh hoặc chmod 755 conditional.sh/

Chú thích:

  • chmod : Thay đổi quyền của các file và folder.
  • u+x: Thêm quyền thực thi cho người dùng.
  • conditional.sh: File mà bạn muốn thực thi.

Bước 4: Cuối cùng, chạy script bằng lệnh sau:

./conditional.sh
Biến Boolean trong câu lệnh điều kiện lồng nhau
Biến Boolean trong câu lệnh điều kiện lồng nhau

Ví dụ 2: Biến Boolean trong Bash với các toán tử logic

Một ví dụ đơn giản về biến Boolean với toán tử logic như sau (bạn có thể làm theo bước 2 và 3 của ví dụ 1 để lưu và thực thi script):

#!/bin/bash

#Applying logical OR with boolean variables

is_vip_member=true
has_free_offer=true

if $is_vip_member || $has_free_offer; then
echo "Either you are vip member or you have free offer."
fi

#Applying logical AND and NOT with boolean variables

is_active=true
has_permission=false

if $is_active && ! $has_permission; then
echo "Your account is active but you have no permission."
Fi

Chú thích:

Giá trị của hai biến Boolean “is_vip_member=true” và “has_free_offer=true” được đặt thành true. Câu lệnh if kiểm tra xem hai biến có đúng không, bằng cách sử dụng toán tử logic OR (||) . Nếu bất kỳ điều kiện nào trong hai điều kiện này là đúng, lệnh echo sẽ in ra “Either you are vip member or you have free offer.”.

Tiếp theo, giá trị của hai biến boolean “is_active=true” và “has_permission=false” được đặt thành truefalse tương ứng. Câu lệnh if sẽ kiểm tra xem biến is_active có đúng và has_permission có sai không, bằng cách sử dụng hai toán tử logic AND (&&) và NOT (!). Nếu khớp, thì lệnh echo sẽ in ra “Your account is active but you have no permission.”.

Tiếp theo, hãy chạy script bằng lệnh sau:

./logic.sh
Biến Boolean trong Bash với các toán tử logic
Biến Boolean trong Bash với các toán tử logic

Ví dụ 3: Biến Boolean trong câu lệnh case

Ví dụ sau đây minh họa cách bạn có thể sử dụng biến Boolean trong Bash với các câu lệnh case lồng nhau, để xử lý nhiều tổ hợp (bạn có thể làm theo bước 2 và 3 của ví dụ 1 để lưu và thực thi Script).:

#!/bin/bash

age=15

get_vaccine=true

case $get_vaccine in

true)

case $age in

[0-14])

echo "You are not allowed for the vaccine."

;;

*)

echo "You are allowed for the vaccine."

;;

esac

;;

false)

echo "You must be vaccinated to enter here."

;;

esac

Chú thích:

Hai giá trị 15 và true được gán tương ứng cho các biến Boolean “age” và “get_vaccine”. Câu lệnh case bên ngoài kiểm tra xem giá trị của “get_vaccine” có đúng không. Nếu đúng, câu lệnh case bên trong kiểm tra biến “age”. Khi “age” nằm trong khoảng từ 0-14, lệnh echo sẽ in ra “ You are not allowed for the vaccine.“. Nếu “age” lớn hơn 14, lệnh echo sẽ in ra “You are allowed for the vaccine.“. Tiếp theo, nếu “get_vaccine” là sai, lệnh echo sẽ in ra “You must be vaccinated to enter here.”.

Tiếp theo, bạn hãy chạy script bằng lệnh sau:

./case.sh
Biến Boolean trong câu lệnh case
Biến Boolean trong câu lệnh case

Ví dụ 4: Biến Boolean để điều khiển vòng lặp trong Bash

Bạn có thể kiểm soát vòng lặp vô hạn bằng cách sử dụng các biến Bash Boolean. Sau đây là một ví dụ (bạn có thể làm theo bước 2 và 3 của ví dụ 1 để lưu và thực thi script):

#!/bin/bash

loop_running=true

count=1

while $loop_running; do

echo "Student: $count"

count=$((count + 1))

if [ $count -eq 6 ]; then

loop_running=false

echo "End of the students' loop."

fi

done

Chú thích:

Hai biến “loop_running” & “count” được gán hai giá trị true & 1 tương ứng. Tại đây, vòng lặp while sẽ được lặp lại cho đến khi biến “loop_running” là true. Bên trong vòng lặp, lệnh echo in ra số lượng sinh viên hiện tại bằng cách sử dụng biến “count”. Tiếp theo, “count=$((count + 1))” chỉ ra sự gia tăng của biến “count” lên 1.

Trong dòng “if [ $count -eq 6 ]; then”, câu lệnh if kiểm tra xem giá trị của “count” có bằng 6 không. Khi “count” trở thành 6, nó đặt “loop_running” thành false và dừng vòng lặp để lặp lại sau 5 lần (1-5). Sau đó, lệnh echo in ‘”End of the students’ loop.“.

Tiếp theo, hãy chạy script bằng lệnh sau:

./loop.sh
Biến Boolean để điều khiển vòng lặp trong Bash
Biến Boolean để điều khiển vòng lặp trong Bash

Ví dụ 5: Đọc và xác thực dữ liệu đầu vào Boolean từ người dùng

Bạn có thể dễ dàng đọc và xác thực dữ liệu đầu vào Boolean từ người dùng và phản hồi chính xác theo dữ liệu đầu vào (có thể làm theo bước 2 và 3 của ví dụ 1 để lưu và thực thi script):

#!/bin/bash

read -p "Are you ready to continue? (yes/no): " user_input

if [ "$user_input" = "yes" ]; then

echo "User is ready to continue."

else

echo "User is not ready to continue."

fi

Chú thích:

Trong “ read -p “Are you ready to continue? (yes/no): “ user_input ”, lệnh read sẽ nhắc người dùng nhập dữ liệu, flag “-p” nhắc người dùng và dữ liệu nhập được lưu trữ trong biến “user_input”. Sau đó, trong “ if [ “$user_input “ = “yes” ]; then ”, câu lệnh if sẽ kiểm tra xem biến “ user_input “ có phải là yes không. Nếu “ user_input “ là yes , lệnh echo sẽ in “User is ready to continue.” hoặc nếu “ user_input “ là no, lệnh echo sẽ in “User is not ready to continue.

Tiếp theo, hãy chạy script bằng lệnh sau:

./input.sh
Đọc và xác thực dữ liệu đầu vào Boolean từ người dùng
Đọc và xác thực dữ liệu đầu vào Boolean từ người dùng

Vietnix – Công nghệ tối ưu, dẫn lối thành công cho doanh nghiệp Việt

Với hành trình phát triển không ngừng, Vietnix đã khẳng định vai trò uy tín, tin cậy trong lĩnh vực công nghệ tại Việt Nam. Tự hào được vinh danh trong Top 5 Thương Hiệu Uy Tín – Chất Lượng Quốc Gia 2023, Vietnix cam kết mang đến những giải pháp hiện đại, tối ưu, giúp khách hàng vượt qua mọi giới hạn.

Hệ thống VPS tại Vietnix được tối ưu hóa để đáp ứng nhu cầu phát triển của cả cá nhân và doanh nghiệp. Đặc biệt VPS AMD sử dụng ổ cứng NVMe Enterprise và hỗ trợ đa dạng hệ điều hành, VPS này mang lại hiệu suất vượt trội, tốc độ xử lý nhanh chóng và độ ổn định cao. Với chính sách hoàn tiền trong vòng 30 ngày nếu khách hàng không hài lòng, cùng sự hỗ trợ kỹ thuật 24/7, Vietnix cam kết mang lại sự an tâm tuyệt đối cho khách hàng khi sử dụng dịch vụ.

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn 
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/

Sử dụng biến Boolean trong Bash là một phương pháp linh hoạt để kiểm soát luồng script. Nếu sử dụng hiệu quả các biến này, bạn có thể bổ sung nhiều tác vụ khác nhau và đưa ra quyết định chính xác hơn dựa trên các điều kiện trong script của mình. Cảm ơn bạn đã theo dõi bài viết.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG