Pourquoi ne puis-je pas copier avec scp lorsque j'utilise des *
caractères dans le chemin?
scp SERVERNAME:/DIR/* .
De quelle configuration SCP a-t-il besoin pour autoriser *
le chemin?
UPDATE: le problème n'est pas côté serveur; pscp essaie d'utiliser SCPv1, et c'est pourquoi le message d'erreur suivant:
Réponses:
Vous devez passer un échappement littéral
scp
pour éviter que la machine distante ne soit traitée*
comme un glob (notez qu'elle est doublement citée):la source
touch /tmp/abcd.1234; scp 'localhost:/tmp/abcd.\*' ./
:scp: /tmp/abcd.*: No such file or directory
pscp
du côté client pour autoriser le déplacement à distance.J'ai trouvé le conseil de Patrick correct, bien que la réponse de Chris m'ait mis sur la bonne voie. Utilisez des guillemets et vous n'avez pas besoin de la barre oblique inverse avant l'astérisque.
scp: /tmp/file_num*.csv: aucun fichier ou répertoire de ce type
jugements_pour_job_171642.csv 100% 32Ko 32.0Ko / s 00:00
jugements_pour_job_172394.csv 100% 548Ko 182.6Ko / s 00:03
la source
*
), et non pas sur la façon de déplacer uniquement sur la télécommande.REMARQUE: La solution proposée ci-dessous est testée et reconnue pour fonctionner correctement.
Les guillemets simples interrompront le développement de variables si vous avez aliasé une partie du chemin que vous parcourez.
Voici un script qui utilise des guillemets DOUBLE pour le cas d'utilisation du nom de fichier globbed command-configure_ .tar.gz * en utilisant un chemin alias avec une variable:
Après le guillemet double de fermeture, la cible du répertoire local est construite en extrayant simplement le répertoire de base de l'utilisateur spécifié à partir de / etc / passwd .
La commande scp elle-même est préfacée par
sshpass
et-o StrictHostKeyChecking=no
pour automatiser entièrement lascp
commande sans interaction de l'utilisateur. Cela semble compliqué mais meilleur que les chemins codés en dur qui devraient changer de temps en temps.Anyhoo, exemple d'utilisation de guillemets doubles dans lesquels les variables du chemin que vous parcourez doivent être autorisées à se développer. HTH
la source