linux2--expect

Expect是一個(gè)免費(fèi)的編程工具語(yǔ)言,用來(lái)實(shí)現(xiàn)自動(dòng)和交互式任務(wù)進(jìn)行通信,而無(wú)需人的干預(yù)。

Expect需要Tcl編程語(yǔ)言的支持,要在系統(tǒng)上運(yùn)行Expect必須首先安裝Tcl。

主要shell命令:

#!/usr/bin/expect: 告訴os用什么腳本

*set *: 設(shè)置參數(shù)

spawn:spawn是進(jìn)入expect環(huán)境后才可以執(zhí)行的expect內(nèi)部命令

*expect *:是期待返回什么

send:發(fā)送命令

exit:退出

示例:一段傳輸文件的shell
#!/usr/bin/expect

set src_file [lindex $argv 0]  
set username [lindex $argv 1]  
set host_ip [lindex $argv 2]  
set dest_file [lindex $argv 3]  
set password [lindex $argv 4]

spawn scp  $src_file $username@$host_ip:$dest_file  
expect {  
    "(yes/no)?"  
    {  
            send "yes\n"  
            expect "*assword:" {send "$password\n"}  
    }  
    "*assword:"  
    {  
            send "$password\n"  
    }  
}  
expect "100%"  
expect eof  

參考:

http://www.cnblogs.com/iloveyoucc/archive/2012/05/11/2496433.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容