Erste exit-status-code von 'ftp' - Befehl in der linux shell
Ich muss ermittelt werden, um den exit-status-code von einem Kommandozeilen-Programm. Keine Sorge, ich verwendet,$?.
Aber für ftp, auch wenn es nicht verbinden, es öffnet sich das ftp-shell, also bin ich nicht in der Lage zu verstehen, dass die Verbindung nicht stattfinden.
Versuchen, diesen code für verstehen:
#!/bin/sh
ftp 1234567
OUT=$?
if [ $OUT -eq 0 ];then
echo "ftp OK"
else
echo "ftp Error: "$OUT
fi
exit 0
Hilfe?
Dank Filippo
Sie können erheblich vereinfachen den code: wenn der ftp -...; then ...; else ...; fi Es gibt keine Notwendigkeit, explizit zu überprüfen,$?
InformationsquelleAutor Possa | 2011-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie sich für den Erfolg Nachricht von ftp-Befehl, anstatt auf der Suche für einen status. Es ist "226 Transfer complete". Können Sie bestätigen, dass es mit ftp manuell auf Ihrem system.
Hier ist ein Beispiel-Skript.
InformationsquelleAutor Ruchi
Wenn Sie etwas herunterladen möchten, und sehen, ob der download erfolgreich war, warum nicht Sie wget? Es unterstützt das FTP-Protokoll.
Es meldet den status des downloads mit mehreren return-codes (Zitat aus der man-page):
Also versuchen Sie es mit wput.
Ich kann nicht alles installieren auf den Maschinen.
InformationsquelleAutor Andrea Spadaccini
Versuchen Sie die folgenden Skripts.
Kopieren:
Bewegen:
Hier sind einige Testfälle:
Kopieren.
Bewegten.
Update: bitte Lesen Sie man 5 netrc
InformationsquelleAutor AndresVia
einige Skripte tun -
Außer, dass das oben funktioniert nicht immer - die meisten FTP-clients beenden Sie immer mit status 0. Dies führt zu hässlichen "false negative": der Datei-transfer nicht, aber das Skript nicht das problem erkennen.
Einen Weg, um zu überprüfen, ob ein file-transfer statt - übertragen Sie es zurück:
Ich habe gearbeitet, auf Ihre erste Lösung und es funktionierte mit ein wenig ändern: starte ich den ftp im verbose-Modus, wenn in der http://ftp.worked vorhanden ist der "226 Transfer OK", damit der transfer wurde gemacht! Elseif I ermittelt werden Sie die Fehlermeldung aus http://ftp.failed. Danke! +1 für dich!
InformationsquelleAutor ayush
Der letzten Zeit, die ich brauchte, um ftp in einem script, bekam ich so frustriert, dass ich endlich einen BSD-lizenzierten ftp client source und einfach modifiziert, um ihm das Verhalten, das ich brauchte, und verwendet, die anstelle der version mit der OS.
Hässlich, aber die Tiefe Kopf-Niveau Dellen in der cube-Wand wurde langsam lächerlich
InformationsquelleAutor Chris Stratton