Für meinen Zweck muss ich einen Shell-Befehl ausführen, um die Ausgabe zu erreichen, und für jede Zeile fragen Benutzer für Eingabeaufforderung. Das Problem besteht darin, dass auf die Aufforderung lesen, stdin Puffer nicht leer istWie kann ich den Benutzer innerhalb einer Weile Lese Schleife?
dies ist mein Code:
#!/bin/sh
git branch -a | sed 's/remotes\/origin\///g'
echo "############################"
git branch -a | sed 's/remotes\/origin\///g' | while read line
do
if [[ "$line" != *develop* ]] \
&& [[ "$line" != *master ]] \
&& [[ "$line" != *release/* ]] \
&& [[ "$line" != *hotfix* ]]
then
read -r -p "Do you want to delete branch $line <y/N>?" prompt
echo $prompt
fi
done
Die Linie:
read -r -p "Do you want to delete branch $line <y/N>?" prompt
auch nicht auf Video anzeigen und prompt variable zeigen das Ergebnis der obigen Zeilenvariablen an. Wie kann ich dieses Problem lösen?
(Markiert Community Wiki Ernte rep von einem bekannten Betrogene zu vermeiden) –
Empfang dieser Fehler auf letzte Zeile Syntaxfehler in der Nähe von unerwartetem Token '3' –
@fstarred, was ist Ihre Shell? '<()' ist Bash-Only-Syntax; Es funktioniert nicht mit '/ bin/sh'. (Sie haben Ihre Frage bash markiert, also sollten Sie */bin/sh nicht verwenden). –