|
|
|
@ -5,17 +5,18 @@
|
|
|
|
|
|
|
|
|
|
ask_yn() { |
|
|
|
|
default=${2:-"y"} |
|
|
|
|
default=$(echo "$default" | tr '[:upper:]' '[:lower:]') |
|
|
|
|
default=$(printf "%s" "$default" | tr '[:upper:]' '[:lower:]') |
|
|
|
|
|
|
|
|
|
# Set prompt string |
|
|
|
|
case "$default" in |
|
|
|
|
y) prompt="Y/n" ;; |
|
|
|
|
n) prompt="y/N" ;; |
|
|
|
|
*) echo "Invalid default answer"; exit 1 ;; |
|
|
|
|
*) printf "Invalid default answer\n"; exit 1 ;; |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
while true; do |
|
|
|
|
echo -n "$1 ($prompt): " |
|
|
|
|
trap 'stty sane; exit' INT |
|
|
|
|
printf "%s (%s): " "$1" "$prompt" |
|
|
|
|
stty raw -echo |
|
|
|
|
answer=$(head -c 1) || exit |
|
|
|
|
stty -echo |
|
|
|
@ -28,9 +29,7 @@ ask_yn() {
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
case "$answer" in |
|
|
|
|
y|Y) echo 1;; |
|
|
|
|
n|N) echo 0;; |
|
|
|
|
y|Y) printf "1";; |
|
|
|
|
n|N) printf "0";; |
|
|
|
|
esac |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ask_yn "$@" |
|
|
|
|
} |