scp wildcard ne fonctionne pas dans zsh


17

Je suis passé à zsh, et cela fonctionne bien. Une chose étrange, lorsque j'essaie de scp avec un caractère générique *, cela ne fonctionne pas, et je dois tomber dans bash. La deuxième commande ci-dessous fonctionne correctement.

Avez-vous des idées sur la raison de ce problème et comment y remédier?

~/dmp  16:06:10
$ scp abc@123:/home/se/exports/201405091107/* .
zsh: no matches found: root@uf3:/home/se/exports/201405091107/*

~/dmp  16:06:53
$ bash 
sean@seanlaptop:~/dmp$ scp abc@123:/home/se/exports/201405091107/* .

Réponses:


23

Bash et Zsh ont un comportement par défaut différent en ce qui concerne l'échec de la globalisation.

En bash, si un glob ne correspond à rien, vous récupérez le glob non modifié que vous avez utilisé. Dans zsh, cela génère une erreur à la place.

Vous devez donc le citer.

scp 'abc@123:/home/se/exports/201405091107/*' .

Si vous souhaitez obtenir le même comportement que bash, vous pouvez effectuer les opérations suivantes

setopt nonomatch

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.