Hallo, ich nu wieder.
Ich habe ein kleines Problem:
Ich lese Eine Datei (safe.conf) zeilenweise ein und übergebe die Zeile an ein Programm:
Jetzt würde ich gerne eine J/N Tastatureingabe mit "read -n1 -t5 JN" in der if Abfrage einführen.
um einen vorzeitigen Abbruch machen zu können:
Leider gibt "echo "$JN" mir immer den Inhalt der Variable line (also der aus safe.conf ausgelesene String) aus.
Die übergabe an JN funktioniert nicht, wahrscheinlich darf man in einer "while read line" Schleife "read" nicht nochmal ausführen...
Kann ich Tastatureingaben auch mit einem anderen Befehl einlesen?
Für Ideen wie immer dankbar.
Ich habe ein kleines Problem:
Ich lese Eine Datei (safe.conf) zeilenweise ein und übergebe die Zeile an ein Programm:
Code:
while read line
do
#rsync führt die angegebenen Parameter aus
rsync $line
#Rückgabewert von rsync wird an fehler übergeben:
fehler=$?
#hier wird aus der jeweiligen Parameterzeile der safe.conf das 4. und 5. Wort (Quellverzeichnis und Zielverzeichnis) ausgelesen.
#IFS ist der Trenner, hier ein Leerzeichen.
IFS=" "
set -- $line
quelle=$4
ziel=$5
#Auswertung der Rückgabewerte
if test $fehler -eq 0;
then
echo "Das Verzeichnis $quelle wurde ohne Fehler nach $ziel gesichert - ALLES OK!"
sleep 5
clear
elif test $fehler -gt 0;
then
echo "Beim Sichern des Verzeichnisses $quelle wurde der Fehler $sau gemeldet- SYSADMIN KONSULTIEREN!"
sleep 5
clear
else
#Die Bedingungsauswertung könnte Unfug ergeben deshalb noch
echo "Unbekannter Drecksfehler - SYSADMIN KONSULTIEREN!"
sleep 5
exit 255
fi
done < /home/ingo/Programme/safe.conf
Jetzt würde ich gerne eine J/N Tastatureingabe mit "read -n1 -t5 JN" in der if Abfrage einführen.
um einen vorzeitigen Abbruch machen zu können:
Code:
#Auswertung der Rückgabewerte
if test $fehler -eq 0;
then
echo "Das Verzeichnis $quelle wurde ohne Fehler nach $ziel gesichert - ALLES OK!"
sleep 5
clear
#*****************************
#Hier der gewünschte read befehl:
echo "a für Abbruch drücken"
read -n1 -t5 JN
#und zum Testen
echo "$JN"
if test JN=a
then exit 1
fi
******************************
elif test $fehler -gt 0;
then
echo "Beim Sichern des Verzeichnisses $quelle wurde der Fehler $fehler gemeldet- SYSADMIN KONSULTIEREN!"
sleep 5
clear
else
#Die Bedingungsauswertung könnte Unfug ergeben deshalb sicherheitshalber noch
echo "Unbekannter Drecksfehler: $fehler - SYSADMIN KONSULTIEREN!"
sleep 5
exit 255
fi
done < /home/ingo/Programme/safe.conf
Leider gibt "echo "$JN" mir immer den Inhalt der Variable line (also der aus safe.conf ausgelesene String) aus.
Die übergabe an JN funktioniert nicht, wahrscheinlich darf man in einer "while read line" Schleife "read" nicht nochmal ausführen...

Kann ich Tastatureingaben auch mit einem anderen Befehl einlesen?
Für Ideen wie immer dankbar.