L'obtention de statut de sortie de code de 'ftp' de la commande dans le shell linux
J'ai besoin de restauration de la sortie de statut de code à partir d'un programme en ligne de commande. Pas de soucis, j'ai utilisé $?.
Mais pour ftp, même si elle ne se connecte pas, il ouvre le ftp shell, donc je ne suis pas en mesure de comprendre que la connexion n'ont pas lieu.
Essayer ce code pour comprendre:
#!/bin/sh
ftp 1234567
OUT=$?
if [ $OUT -eq 0 ];then
echo "ftp OK"
else
echo "ftp Error: "$OUT
fi
exit 0
De l'aide?
Grâce Filippo
Vous pouvez grandement simplifier le code: si ftp, etc ... puis ...; d'autre ...; fi Il n'y a pas besoin explicitement vérifier $?
OriginalL'auteur Possa | 2011-02-04
Vous devez vous connecter pour publier un commentaire.
Vous devriez être à la recherche pour le succès de message de commande ftp plutôt que la recherche d'un statut. C'est "226 Transfer complete". Vous pouvez le confirmer avec ftp manuel de votre système.
Voici un exemple de script.
OriginalL'auteur Ruchi
Si vous avez besoin de télécharger quelque chose et de voir si le téléchargement réussi, pourquoi n'utilisez-vous pas wget? Il prend en charge le protocole FTP.
Il rendra compte de l'état du téléchargement avec plusieurs codes de retour (citation de la page de man):
Donc essayez d'utiliser wput.
Je ne peux pas installer quoi que ce soit sur les machines.
OriginalL'auteur Andrea Spadaccini
Essayez les scripts suivants.
Copier:
Déplacer:
Ici sont quelques-uns des cas de test:
Pour la copie.
Pour le déplacement.
Mise à jour: n'oubliez pas de lire l'homme 5 netrc
OriginalL'auteur AndresVia
certains scripts ne -
Sauf que le ci-dessus ne fonctionne pas toujours - la plupart des clients FTP toujours sortie avec un statut de 0. Cela conduit à laide des "faux négatifs": l'échec du transfert de fichier, mais le script n'est pas à détecter le problème.
Une façon de vérifier qu'un fichier de transfert a eu lieu - le transfert retour:
J'ai travaillé sur votre première solution et il a travaillé avec un peu modifier: je lance le ftp en mode verbose, si dans le http://ftp.worked il est présent le "226 Transfer OK" si le transfert a été fait! Elseif je retrive le message d'erreur de http://ftp.failed. Merci! +1 pour vous!
OriginalL'auteur ayush
La dernière fois que j'avais besoin d'utiliser le ftp dans un script, je me suis tellement frustré avec elle que j'ai enfin trouvé une licence BSD (client ftp source et simplement modifié pour lui donner le comportement dont j'avais besoin, et utilisé au lieu de la version fournie avec le système d'exploitation.
Laid, mais la profondeur de la tête au niveau des bosses dans le cube mur commençait à être ridicule
OriginalL'auteur Chris Stratton