shell expect

如果需要自動登入到server或database來執行指令,可以使用expect來自動登入。

install:

sudo apt-get install expect

ssh example:

#!/usr/bin/expect

spawn ssh username@test.dev
expect "password:"
send "password\n";  
expect "Last login:"   
send "exit\n";
interact 

spawnexpect內建指令,會另開一個process,可執行在終端機上的command,expect為應用程式回傳匹配的字串,send則是寄送給應用程式的string(ex:如password),interact則是把控制權轉移給user。