curinga scp não funciona no zsh

17

Eu mudei para o zsh e está funcionando bem. Uma coisa estranha, quando tento scp com um curinga *, ele não funciona e eu tenho que cair no bash. O segundo comando abaixo funciona bem.

Alguma idéia de por que isso seria e como corrigi-lo?

~/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
fonte

Respostas:

23

O Bash e o Zsh têm um comportamento padrão diferente quando se trata de globbing com falha.

No bash, se um globo não corresponde a nada, você recebe de volta o globo não modificado que você usou. No zsh, isso gera um erro.

Portanto, você precisa citá-lo.

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

Se você deseja obter o mesmo comportamento que o bash, pode fazer o seguinte

setopt nonomatch
Patrick
fonte
2

Confira esta resposta em /superuser//a/740728/978073

Para usuários do zprezto, adicionar o comando com barra invertida funciona!

Substituir,

$ scp <command>

com

$ \scp <command>
Gaurav Mittal
fonte