SCP通配符在zsh中不起作用


17

我已经切换到zsh,并且工作正常。一件奇怪的事,当我尝试使用*通配符进行scp时,它不起作用,我必须投入大量精力。下面的第二个命令运行正常。

关于为什么会这样以及如何解决的任何想法?

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

Answers:


23

对于失败的Glob,Bash和Zsh具有不同的默认行为。

在bash中,如果某个glob不匹配任何内容,您将取回您使用的未修改glob。在zsh中,这将引发错误。

因此,您需要引用它。

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

如果要获得与bash相同的行为,可以执行以下操作

setopt nonomatch

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.