Latest Post

Hướng dẫn cài đặt Nginx, PHP, MySQL trên Windows 11 và so sánh với Docker Lỗi “Uncaught TypeError: Cannot access offset of type string on string” trong PHP: Nguyên nhân và cách khắc phục

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tạo một câu hỏi xác nhận (Confirmation Prompt) cho người dùng (Yes/No) trong lập trình Shell Script (Bash).

Để bắt đầu, bạn sẽ tạo một tệp bash có tên là “confirm.sh” với nội dung như sau:

Với Bash có version >= 3.2
#!/bin/bash

# for Bash >= version 3.2:
read -r -p "Are you sure? [y/n] " response
if [[ "$response" =~ ^([yY])+$ ]]
then
    echo "You have entered y"
else
    echo "You have entered n"
fi

Với Bash có version >= 4.x

#!/bin/bash

read -r -p "Are you sure? [y/N] " response
response=${response,,}    # tolower
if [[ "$response" =~ ^(yes|y)$ ]]
then
    echo "You have entered y"
else
    echo "You have entered n"
fi

Bây giờ chúng ta chạy thử với command sau trên Linux

./confirm.sh

Kết quả: 

Nếu các bạn muốn tự động trả lời câu hỏi thì có thể sử dụng command echo hoặc yes để pass qua câu hỏi.

echo 'y' | ./confirm.sh
yes 'y' | ./confirm.sh

Kết quả: 

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *