Fehlschlagen, wenn ein Skript die Eingabe oder Eingabe von Kennwörtern erwartet

Ich entwickle ein Skript, das keine Interaktion mit dem Benutzer erfordern sollte. Wenn der Benutzer bei einem Programm in meinem Skript etwas eingeben muss, sollte das Skript fehlschlagen und sofort beendet werden.

Ich habe das schon geschlossenSTDIN am oberen Rand meines Skripts, und dies funktioniert für einige Befehle, aber es gibt einige, die die Eingabe in einen anderen Dateideskriptor erwarten (normalerweise diejenigen, die nach Passwörtern fragen wiegit odersudo).

Derzeit ist mein Skript:

#!/bin/bash

# close STDIN
exec 0<&-

# test that $1 exists and it is a valid folder containing a git repository
# ...

cd "$1"

git fetch
# if git is not correctly configured, it asks for a password and
# my script waits for it :(

Wie kann ich das vermeiden?

Hinweis: Ich frage nicht, wie eine Konfiguration ohne Kennwort in ausgeführt werden sollgit odersudo oderwhatever, aber ein Programm in zu verhindernbash (odersh) mit Benutzereingaben zu rechnen und in diesem Fall sofort zu scheitern.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage