当我尝试通过 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/