
我正在scp
腳本中從遠端主機中刪除一些檔案。我想知道是否有任何問題,最常見的是由於權限問題。正在複製的檔案屬於不同的用戶,有時更改檔案權限的腳本不會運行。正在複製的一組檔案是一個可能為空的 glob,因此現在腳本包含一行如下所示的行scp -p remote:*.pattern curdir
。對於所有其他複製命令,我只是檢查返回程式碼,但這在這裡不起作用,因為 glob 可能只是空的。檢查 scp 是否具有非零回傳程式碼的最佳方法是什麼,只是因為沒有與 glob 匹配的文件,而不是其他問題(例如父目錄或文件本身的權限錯誤)?
答案1
使用 ssh 顯示遠端主機上的檔案清單是可能的解決方案:
ssh remote "find ./ -type f -name '*.pattern'"
然後,您可以將本機檔案清單與遠端檔案清單進行比較,diff
例如使用 或wc -l
來進行行計數。