mittels if abfrage datei nach variabelnwert durchsuchen

C

chaser

Grünschnabel
Hallo Leute,

ich möchte mittels shell-skript den korrekten aufbau einer ssh verbindung testen.
Ich habe die aktuelle IP mit welcher die SSH-Verbindung aufgebaut wird in einer Variablen (i) gespeichert.

Ich habe mir folgendes gedacht:
- Ich lasse mir mittels
Code:
ip=\"$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)\""
die aktuelle IP-Adresse in der Variablen (ip) speichern
- als nächstes schreibe ich den Wert der Variablen ip in eine Datei
- Mittels grep möchte ich in dieser Datei nach dem Wert der Variablen i suchen und bei erfolgreichem Fund die entsprechende IP in eine Datei schreiben lassen um somit eine Liste mit den IP´s welche sich erfolgreich verbinden konnten erhalten.
Das Problem das ich dabei noch habe ist, dass wenn der Login per Key nicht geht wird nach dem Password gefragt.
Ich müsste eventl. mittels "expect" bei der Passwordabfrage bereits in die Text-Datei eine Fehlermeldung schreiben lassen.
Leider habe ich keinen Ansatz wie ich das mit expect als Bedingung einer If-Abfrage realisiere.

Mein bisheriger Ansatz der Skript-Datei:
Code:
i = 10.22.7.4 (Beispiel IP)
ssh -i /usr/local/test1/.ssh/id_test test@$i "ip=\"$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)\""
$ip > pruefen.txt
if "grep '$i' pruefen.txt"  ;
then
echo $i >> ssh_konfig.txt
else
echo $i"SSH-Verbindungsfehler" >> ssh_konfig.txt
fi
 

Ähnliche Themen

If-Abfrage kommt nicht positiv zurück, obwohl Kriterium erfüllt

Sed: Bestimmtes Feld einer "Zeile mit mehreren Feldern" ergänzen

nach ssh-login auswerte ob passwortabfrage komt oder nicht

Queue für copy Script

skript zum löschen doppelter dateien

Oben