From 5b7457ff08668efef879174fc7f855fc77d6d18d Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Fri, 1 Sep 2017 02:43:44 +0900 Subject: [PATCH] [install] Wait for a linefeed when asking for confirmation Close #1035 --- install | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/install b/install index 4a41b6b9965..f51479f2bb1 100755 --- a/install +++ b/install @@ -59,14 +59,14 @@ cd "$(dirname "${BASH_SOURCE[0]}")" fzf_base="$(pwd)" ask() { - # If stdin is a tty, we are "interactive". - # non-interactive shell: wait for a linefeed - # interactive shell: continue after a single keypress - read_n=$([ -t 0 ] && echo "-n 1") - - read -p "$1 ([y]/n) " $read_n -r - echo - [[ $REPLY =~ ^[Nn]$ ]] + while true; do + read -p "$1 ([y]/n) " -r + if [[ $REPLY =~ ^[Yy]$ ]]; then + return 1 + elif [[ $REPLY =~ ^[Nn]$ ]]; then + return 0 + fi + done } check_binary() {