ao-mud is a spellbook of well-commented atomic bash scripts that each do one thing. we are building semantic building blocks for an autonomously-evolving digital spellcasting language.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
810 B

#!/bin/sh
2 years ago
# 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() {
2 years ago
default=${2:-"y"}
default=$(echo "$default" | tr '[:upper:]' '[:lower:]')
2 years ago
# Set prompt string
case "$default" in
y) prompt="Y/n" ;;
n) prompt="y/N" ;;
*) echo "Invalid default answer"; exit 1 ;;
esac
2 years ago
while true; do
2 years ago
echo -n "$1 ($prompt): "
stty raw -echo
answer=$(head -c 1) || exit
stty -echo
printf "\n"
case "$answer" in
"" ) answer="$default"; break;;
y|Y) answer="y"; break;;
n|N) answer="n"; break;;
esac
done
2 years ago
case "$answer" in
y|Y) echo 1;;
n|N) echo 0;;
esac
}
ask_yn "$@"