为什么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'
例如,我正在将文件从远程计算机复制到本地 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'