linux expect常見用法

linux expect常見用法

expect有什麼用呢?

自動進行shell交互,自動填充相應信息

比如scp 拷貝文件時,需要輸入密碼,並且每執行一次都需要重新輸入.

我覺得特別麻煩,所以寫了一個自動scp的腳本,再也不需要輸入密碼了

#!/usr/bin/expect -f

set loginpass "123456"

set cmd_prompt "]#|~]?"
set timeout 300
set project_module "$argv"
spawn scp -r -P22  /Users/whuanghkl/work/mygit/lanproxy/proxy-${project_module}/target/proxy-${project_module}-0.0.1.jar [email protected]:/home/whuang/software/proxy-server-0.0.1/lib
 expect {
     -re "assword:" {
         send "$loginpass\r"
     } -re "Permission denied, please try again." {
        exit
     } -re "Connection refused" {
         exit
     } timeout {
        exit
     } eof {
        exit
     }
}
interact

 

 

expect如何接收命令行參數

$argv

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章