[install] Wait for a linefeed when asking for confirmation

Close #1035
This commit is contained in:
Junegunn Choi 2017-09-01 02:43:44 +09:00
parent 48adad5454
commit 5b7457ff08
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627

16
install
View File

@ -59,14 +59,14 @@ cd "$(dirname "${BASH_SOURCE[0]}")"
fzf_base="$(pwd)" fzf_base="$(pwd)"
ask() { ask() {
# If stdin is a tty, we are "interactive". while true; do
# non-interactive shell: wait for a linefeed read -p "$1 ([y]/n) " -r
# interactive shell: continue after a single keypress if [[ $REPLY =~ ^[Yy]$ ]]; then
read_n=$([ -t 0 ] && echo "-n 1") return 1
elif [[ $REPLY =~ ^[Nn]$ ]]; then
read -p "$1 ([y]/n) " $read_n -r return 0
echo fi
[[ $REPLY =~ ^[Nn]$ ]] done
} }
check_binary() { check_binary() {