[問題] 如何把文字導到stdin
sftp 的 man page 提到可以先把 sftp 的指令寫到檔案中
然後用 -b 使 sftp 執行該檔案中的指令
當 -b 後接的檔名為 - 時 表示用 stdin 當做要執行的檔案
$ cat sftp.txt
get .bashrc
$ sftp -b sftp.txt user@host
sftp> get .bashrc
Fetching /root/home/user/.bashrc to .bashrc
$ sftp -b - user@host
get .bashrc => 這行是手打的(stdin)
sftp> get .bashrc
Fetching /root/home/user/.bashrc to .bashrc
exit
sftp> exit
--
我想問的是
如何把 'get .bashrc' 寫在 'sftp -b - ...' 的指令中
而不需準備一個 sftp.txt 或是從 stdin 手動輸入 'get .bashrc'
我猜指令大概長這樣(這是舉例 實際上沒用):
sftp -b - user@host << 'get .bashrc'
(然後弄成alias 之後要呼叫就方便多了)
上網查很久 但實在是找不到做法
希望有人可以教一下 十分感謝~
其實我想過用scp
但 scp 傳一次檔案都要登入 server 一次
傳多少次就要登入多少次server
比起 sftp 來說會花更多時間 (雖然就單次傳檔來說 scp 較快)
我知道可以用 wildcard 或把檔案 tar 起來再傳
但檔名不太規則 wildcard不適用
加上 tar 檔案也是要花不少時間的
所以可以的話還是希望用sftp
wget就不用考慮了 因為檔案不是放在網路空間
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.46
推
03/08 15:31, , 1F
03/08 15:31, 1F
謝謝!
→
03/08 18:17, , 2F
03/08 18:17, 2F
我知道 XD
※ 編輯: Holocaust123 來自: 140.112.30.46 (03/08 19:38)