Hướng dẫn hiển thị thông báo xác nhận Yes/ No trong Bash Script

270
16-04-2018
Hướng dẫn hiển thị thông báo xác nhận Yes/ No trong Bash Script

Rất thường xuyên trong các bash scrips bạn cần phải yêu cầu user input trả lời Có (Yes) hoặc Không (No).

Ví dụ: bạn muốn đặt lời nhắc "Are you sure?" (Bạn có chắc chắn không?), để xác nhận trước khi thực hiện một hoạt động nào đó có thể gây nguy hiểm của tập bash script.

Trong bài viết này, Bizfly Cloud sẽ hướng dẫn bạn ba cách dễ dàng và nhanh nhất để nhắc xác nhận "Yes/ No" trong bash script.

Nhắc tiếp tục trong Bash

Cách tốt nhất để nhắc xác nhận tiếp tục trong bash script là sử dụng lệnh đọc (nguồn):

read -p "Are you sure? " -n 1 -r

echo # (optional) move to a new line

if [[ ! $REPLY =~ ^[Yy]$ ]]

then

       exit 1

fi

Hộp thoại "Yes/ No" đơn giản trong Bash

Một trong những phương pháp được sử dụng rộng rãi nhất để yêu cầu người dùng xác nhận trong một bash script là kết hợp các lệnh read case:

while true; do 

       read -p "Do you wish to install this program?" yn 

       case $yn in 

               [Yy]* ) make install; break;; 

               [Nn]* ) exit;; 

               * ) echo "Please answer yes or no.";; 

      esac

done

Chọn từ "Yes/No" Menu trong Bash 

Một phương pháp dễ dàng khác là sử dụng lệnh select:

echo "Do you wish to install this program?" 

select yn in "Yes" "No" 

case $yn in 

        Yes ) make install;; 

        No ) exit;; 

esac

Dịch từ: shellhacks.com/yes-no-bash-script-prompt-confirmation/

>> Có thể bạn quan tâm: Hướng dẫn cài đặt WordPress trên Ubuntu 12.04

SHARE