El comodín scp no funciona en zsh

17

He cambiado a zsh, y está funcionando bien. Una cosa extraña, cuando trato de scp con un comodín *, no funciona, y tengo que caer en bash. El segundo comando a continuación funciona bien.

¿Alguna idea de por qué esto sería y cómo solucionarlo?

~/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/* .
Ardochhigh
fuente

Respuestas:

23

Bash y Zsh tienen un comportamiento predeterminado diferente cuando se trata de errores de globbing.

En bash, si un globo no coincide con nada, recuperas el globo no modificado que usaste. En zsh esto arroja un error en su lugar.

Por lo tanto, debe citarlo.

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

Si desea obtener el mismo comportamiento que bash, puede hacer lo siguiente

setopt nonomatch
Patricio
fuente
2

Consulte esta respuesta en /superuser//a/740728/978073

Para los usuarios de zprezto, ¡anteponer el comando con barra invertida funciona!

Reemplazar,

$ scp <command>

con

$ \scp <command>
Gaurav Mittal
fuente