Tôi đã giải quyết vấn đề này trước đây nhưng không thể tìm thấy giải pháp tại thời điểm này và Google chỉ đưa ra lựa chọn Có hoặc Không đơn giản mà tất cả chúng ta đều biết và yêu thích.
Tôi muốn tập lệnh của mình chứa hai hàm: Một cho defaultYes và một defaultKhông. Kịch bản của tôi chứa nhiều hơn 10 câu hỏi Có hoặc Không.
Bất cứ khi nào tôi gặp [Y / n] hoặc [y / N] tôi muốn gọi hàm.
Phần quan trọng của kịch bản. Chủ yếu là cần phải điền vào các khoảng trống, nhưng nếu bạn có một giải pháp tốt hơn hãy tiếp tục!
mc_install() {
as_user "cd $MCPATH"
if [ ! -f $SERVICE ] > /dev/null ; then
echo "$SERVICE already exist. Do you want to update?[y/N]"
defaultNo
update
else
echo "$SERVICE does not exist. Do you want to download?[Y/n]"
defaultYes
install
fi
}
defaultYes() {
*)
true
;;
[nN][oO]|[nN])
false
;;
esac
}
defaultNo() {
[yY][eE][sS]|[yY])
true
;;
*)
false
;;
esac
}
Có, tôi đã viết điều này gần như một mình, chỉ cần một chút trợ giúp từ ShellCheck trực tuyến :) Tôi muốn học lập trình thực sự đôi khi ...