2017-08-08 2 views
-1

Comment utiliser les commandes relatives à l'opérateur de redirection et à l'opérateur Pipe dans SFTP?Unix: commandes de l'opérateur de redirection et de l'opérateur Pipe dans SFTP

Actuellement je connecté à SFTP via SSHPASS comme ci-dessous

[[email protected] test]$ sshpass -e sftp -o BatchMode=no -b - [email protected]:/Restore 
Changing to: /Restore 
pwd 

sftp> pwd 
Remote working directory: /Restore 

Encore une fois,

ls -ltr 

sftp> ls -ltr 

-rw-r----- 1 1500  1500  421782831 Jul 19 12:43 mOneBackup_IMS_20170719081701.tgz 

-rw-r----- 1 1500  1500  374262100 Jul 24 11:54 
mOneBackup_IMS_20170724010013.tgz 

cela génère la sortie de ls fichiers de résultats -ltr situés dans l'invite sftp, ce qui est bien.

Mais,

je besoin d'une commande pour afficher/obtenir la sortie redirigée de ls -ltr avec | (Opération de pipeline) et le nom de fichier 1 situé dans SFTP invite

Lors de l'envoi des commandes avec l'opérateur de barre verticale (|) dans SFTP rapide - serveur lance « Impossible stat fichier distant: Aucun fichier ou répertoire »

ls -ltr | tail -1 

sftp> ls -ltr | tail -1 

Couldn't stat remote file: No such file or directory 
Can't ls: "/Restore/|" not found** 

[[email protected] test]$ 

Comment travailler avec la conduite et le fonctionnement de redirection dans SFTP rapide?

Répondre

0

La réponse courte est que "|" n'a pas de signification particulière pour la commande "ls" sftp.

sftp> !ls -ltr | tail -1 

Ici, vous utilisez le sftp "!" commande pour exécuter une commande sur votre système local. Le reste de la ligne, ls -ltr | tail -1, est transmis à votre shell local. Sftp n'interprète pas le "|" dans cette ligne; votre coquille fait. La seule partie de ce qui est spécial à sftp est le "!"

sftp> ls -ltr | tail -1 

Ici, vous utilisez sftp « ls » commande pour répertorier des informations sur les fichiers distants nommés « ! », « Queue », et peut-être « -1 ». Le message d'erreur que vous obtenez indique qu'il n'existe aucun fichier distant nommé "|". Pour autant que je sache, l'utilitaire de ligne de commande sftp ne prend pas en charge la redirection et la tuyauterie pour les commandes interactives individuelles.

+0

Merci pour la mise à jour. En attendant, vous avez une idée de comment afficher le dernier fichier modifié à partir de l'invite sftp. Je dois prendre le dernier fichier le plus modifié pour l'automatisation. –