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