执行命令及错误提示如图:
图中已经省略敏感信息
经过Google查询,原因如下:
shell 不会按照远程地址上的文件去扩展参数,当你使用 ip:/home/tommy/*,因为本地当前目录中,十不存在 ip:/home/tommy/*,所以匹配失败。默认情况下,bash 在匹配失败时就使用原来的内容,zsh 则报告一个错误。在 zsh 中执行 setopt nonomatch 则告诉它不要报告 no matches 的错误,而是当匹配失败时直接使用原来的内容。
实际上,不管是 bash 还是 zsh(还是别的什么),不管设置了什么选项,只要把 ip:/home/tommy/* 加上引号,就可解决问题。