小編給大家分享一下shell腳本無(wú)密碼登錄expect的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司專注于新都企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開(kāi)發(fā)。新都網(wǎng)站建設(shè)公司,為新都等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)一、單獨(dú)寫(xiě)一個(gè)腳本
如 auto_scp.sh:
#!/usr/bin/expect #使用第一個(gè)參數(shù) set server_ip [lindex $argv 0] #后面的也可以用參數(shù)[lindex $argv n] set server_port 22 set server_dir /home/test set server_user test set server_pswd test set scp_file auto_scp.sh # 設(shè)置超時(shí)時(shí)間 set timeout 60 spawn scp -P $server_port $scp_file $server_user@$server_ip:$server_dir expect { "passphrase" { send "$server_pswd\n"; } "password" { send "$server_pswd\n"; } "yes/no" { send "yes\n"; exp_continue; } } expect eof
我這里的變量都是隨意設(shè)置的,你可以根據(jù)你的情況進(jìn)行選擇,保存退出之后,對(duì)該文件加上可執(zhí)行權(quán)限,運(yùn)行
"./auto_scp.sh 2.2.2.2"就可以了,"2.2.2.2"就是傳入的第一參數(shù)。
"passphrase"和"password"等就是要監(jiān)測(cè)的輸入提示的一部分,send "$server_pswd\n"就是要執(zhí)行的命令。
二、在腳本中使用----我比較喜歡這個(gè)
我這里使用的是Here document方法。
...... ...... expect <變量都是我從配置文件中獲取的,這里不再贅述了。
三、在腳本中使用
也是在腳本使用,但是不是用的Here document方法,而是使用expect -c 參數(shù)書(shū),"-c"選項(xiàng)后面的字符串填充的就是命令。但是要注意本身字符串的轉(zhuǎn)義符。
以上是“shell腳本無(wú)密碼登錄expect的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文標(biāo)題:shell腳本無(wú)密碼登錄expect的示例分析-創(chuàng)新互聯(lián)
文章分享:http://weahome.cn/article/jsgih.html