使用 zsh 进行 scp:未找到匹配项

使用 zsh 进行 scp:未找到匹配项

当我尝试通过 zsh 进行 scp 时,我得到了

scp hostA:Descargas/debian-6.0.4-* [email protected]:Escritorio/Software/
zsh: no matches found: hostA:Descargas/debian-6.0.4-*

相同的命令在 bash 中有效

答案1

转义通配符:

scp hostA:Descargas/debian-6.0.4-\*

答案2

或者将其添加到您的.zshrc

alias scp='noglob scp'

答案3

参加聚会已经太迟了,但是......

您也可以使用引号来转义字符串

scp "hostA:Descargas/debian-6.0.4-*" "[email protected]:Escritorio/Software/"

答案4

这个帖子有一个很好的解决方案,即使用 url-quote-magic 插件自动转义 scp 命令中的 glob。要启用它,请将以下内容添加到您的~/.zshrc

# Automatically quote globs in URL and remote references
__remote_commands=(scp rsync)
autoload -U url-quote-magic
zle -N self-insert url-quote-magic
zstyle -e :urlglobber url-other-schema '[[ $__remote_commands[(i)$words[1]] -le ${#__remote_commands} ]] && reply=("*") || reply=(http https ftp)'

*当你在 scp 或 rsync 命令中输入一个 glob 字符(如)作为远程路径的一部分时,zsh 会自动在前面添加一个黑斜杠,如下所示:

scp hostA:Descargas/debian-6.0.4-\* [email protected]:Escritorio/Software/

相关内容