Ich verwende Erwarten, um eine CSR-Datei auf einem Remote-System zu erstellen. Ich nehme die Ausgabe vom System auf und lege sie in eine Datei auf meinem lokalen PC (wo es benötigt wird).Expect-Skript - Wie kann die erste und letzte Zeile einer Datei überprüft werden
Ich brauche die erste und die letzte Zeile dieser Datei zu validieren, um sicherzustellen, dass die Datei wie folgt aussieht:
-----BEGIN CERTIFICATE REQUEST-----
.
.
.
-----END CERTIFICATE REQUEST-----
Ursprünglich war ich nur für die letzte Zeile suchen (oder so dachte ich) von looping durch die Zeilen der Datei für -----END CERTIFICATE REQUEST-----
set fp [ open $csrname ]
while {[gets $fp line] != -1} {
if { $line == "-----END CERTIFICATE REQUEST-----" } {
puts "The Certificate Signing Request file \"$csrname\" has been succesfully created"
} else {
puts "The certificate file is invalid."
puts $line
exit 41
}
}
suchen habe ich einen Fehler in meiner Logik, weil ich in dem Fehler Beine der if
Anweisung und Ausfahrt am Ende.
Wie kann ich nur die erste und letzte Zeile der Datei überprüfen?
Setzen Sie Variablen vor der while-Schleife, um zu verfolgen, wann Sie diese Zeilen gefunden haben, und setzen Sie die else-Anweisung nach der while-Schleife, so dass der Fehler nur nach dem Durchsuchen der gesamten Datei ausgegeben wird. – aznbanana9