为什么scp命令在复制文件时不允许wildcat star?

Why doesn't scp command allow wildcat star when copying files?

例如,我正在将文件从远程计算机复制到本地 Mac:

scp -P 33 root@xx.xx.xx.xx:/data/*test .

这给出了一个错误:

zsh: no matches found: root@xx.xx.xx.xx:/data/*test

但是如果我单独复制文件,它会起作用:

scp -P 33 root@xx.xx.xx.xx:/data/my_test .

我也在 Linux 上尝试了相同的命令,它对使用 wildcat 格式的文件有效。

您可以在 scp 前面使用 noglob 来使通配符生效。

noglob scp -P 33 root@xx.xx.xx.xx:/data/*test .

如果您使用的是 zsh,您还可以在 .zshrc

中设置 alias scp='noglob scp'