2014-12-04 57 views
1

所以我试图修改现有的scp服务器/客户端代码,并且遇到了这个概念性问题。 如果在机器A中启动scp将多个文件从机器B复制到机器A, 谁的代码是为了处理通配符?机器A中的客户机代码是否应该简单地将通配符的路径字符串传递给机器B中的服务器守护程序?由于通配符,处理多个下载时,客户端代码中是否需要进行彻底的更改?在下面的scp示例中,谁需要处理通配符处理?

任何对现有scp客户端代码的引用都会很有用!

回答

0

通配符由shell扩展。当使用scp时,不可能(不可能?)这会发生在源参数上。如果目标参数是本地计算机,那么通配符很可能会导致您的外壳在文件中出现问题。

如果没有通配符扩展发生,参数将被litterally传递到scp中。 我非常怀疑scp会做任何通配符或通配符扩展 - 这很可能是由shell处理的。 scp在后台使用ssh,但除此之外还有很多事情发生,我当然不是专家。

在坚果壳中,机器B将处理文件的通配符和glob - 无论这是由机器B中的shell还是由scp完成,我不知道。