From 9d92e5bca1543be40270c288feb546df0382afee Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 24 Apr 2014 11:32:32 +0200 Subject: Don't prompt for questions when stdin is not a tty. --- src/password-store.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/password-store.sh b/src/password-store.sh index 9e27763..657f0e5 100755 --- a/src/password-store.sh +++ b/src/password-store.sh @@ -35,6 +35,7 @@ git_commit() { git commit $sign -m "$1" } yesno() { + [[ -t 0 ]] || return 0 local response read -r -p "$1 [y/N] " response [[ $response == [yY] ]] || exit 1 @@ -75,7 +76,7 @@ set_gpg_recipients() { done < "$current" } agent_check() { - [[ -n $GPG_AGENT_INFO ]] || yesno "$(cat <<-_EOF + [[ ! -t 0 || -n $GPG_AGENT_INFO ]] || yesno "$(cat <<-_EOF You are not running gpg-agent. This means that you will need to enter your password for each and every gpg file that pass processes. This could be quite tedious. @@ -559,7 +560,7 @@ cmd_copy_move() { [[ -d $old_path || -d $new_path || $new_path =~ /$ ]] || new_path="${new_path}.gpg" local interactive="-i" - [[ $force -eq 1 ]] && interactive="-f" + [[ ! -t 0 || $force -eq 1 ]] && interactive="-f" if [[ $move -eq 1 ]]; then mv $interactive -v "$old_path" "$new_path" || exit 1 -- cgit v1.2.3