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.
3 cách gán biến Boolean trong Bash
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
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.
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.
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_in và has_permission được gán trực tiếp dưới dạng giá trị Boolean.
5 ví dụ về việc sử dụng Biến Boolean trong Bash
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
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 true và false 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
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
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
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
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.