Command-Line
需要命令行程序來下載所有 http:// https:// scp:// ftp:// 樣式的連結(在例如 ubuntu 上)
我正在編寫一個 perl 程序,我想在其中接受來自使用者的各種“文件名”,包括
/home/foo/bar.txt
和scp://server/some/file.txt
或其他。然後我想如果我能找到一個 cmd line 程序來做這件事,我會找到一個 perl 模組來做這件事,或者我會通過 perl 的system()
呼叫來執行它。我想到了 cURL 和/或 lftp,但在 ubuntu 上,我得到:
> curl scp://server/some/file curl: (1) Protocol scp not supported or disabled in libcurl > lftp -c 'get scp://server/some/file' get: scp - not supported protocol
對於 curl,我調查了為什麼它在 Ubuntu 上,發現curl 和 pycurl 沒有使用 sftp 支持編譯- 基本上它不會發生,除非我重新編譯 libcurl*,但我不想要求我的使用者應用更新檔到 libcurl *。
當然,我可以自己編寫如下:
if ($proto eq 'scp') { # handle scp open I, 'scp ...' or die; } elsif ($proto eq 'http') { open I, 'wget ...' or die; } else { # whatever }
但是我更希望其他人使用大量協議來編寫/測試/調試它,我很驚訝我找不到任何開箱即用的東西!你知道我錯過了什麼嗎?
我相信協議名稱是 sftp,而不是 scp。
在我的系統中,以下工作:
lftp -c 'get sftp://someserver/file'
,以及 ftp 和 http。