2014-12-04 62 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完成,我不知道。