[英]How can I fix my expect script for scp download?
我正在嘗試使用expect繞過我正在使用的遠程服務器的密碼驗證過程,因此我可以批量下載一系列文件,每個文件都存儲在不同的文件夾中。
使用expect的原因是遠程文件存儲在單獨的文件夾中,我正在訪問的服務器不允許我使用ssh密鑰訪問。
目前我正在努力使用expect下載單個文件,更不用說同時使用多個文件了。 下面是我的簡單腳本:
#!/bin/bash
#connect to the server using scp
expect <<EOF
spawn scp username@server:file.txt ./
expect “*word:*“
send “password\r”
EOF
我希望將file.txt下載到我運行腳本的目錄中。但是,當它運行時,我會從我的服務器獲取文本輸出,要求輸入密碼,然后在退出之前暫停4-5秒命令提示符。
非常感謝任何幫助!
發送密碼后,您必須等待下載完成后才能退出腳本:
#!/bin/bash #connect to the server using scp expect <<EOF set timeout -1 spawn scp username@server:file.txt ./ expect "*word:*" send "password\\r" expect eof EOF
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.