Browse Source

trying another way

main
deicidus 2 years ago
parent
commit
2a4f5d419c
  1. 15
      spells/cantrips/ask_yn

15
spells/cantrips/ask_yn

@ -1,8 +1,5 @@
#!/bin/sh #!/bin/sh
# Define ask_yn, which asks a yes or no question and defaults to the specified choice.
# Outputs 1 for yes and 0 for no
ask_yn() { ask_yn() {
default=${2:-"y"} default=${2:-"y"}
default=$(printf "%s" "$default" | tr '[:upper:]' '[:lower:]') default=$(printf "%s" "$default" | tr '[:upper:]' '[:lower:]')
@ -15,14 +12,14 @@ ask_yn() {
esac esac
while true; do while true; do
trap 'stty sane; exit' INT trap 'exit' INT
printf "%s (%s): " "$1" "$prompt" printf "%s (%s): " "$1" "$prompt"
stty raw -echo read -r answer || exit
answer=$(head -c 1) || exit if [ -z "$answer" ]; then
stty -echo answer="$default"
printf "\n" break
fi
case "$answer" in case "$answer" in
"" ) answer="$default"; break;;
y|Y) answer="y"; break;; y|Y) answer="y"; break;;
n|N) answer="n"; break;; n|N) answer="n"; break;;
esac esac

Loading…
Cancel
Save