expect使用例項

longer3281發表於2021-12-04

指令碼如下:

#!/usr/bin/expect -f

set timeout 1

set host [lindex $argv 0]


set passwd "XXXXXXXX"

spawn ssh hadoop@$host

expect {

"yes/no" { send "yes\r"; exp_continue}

"password:" { send "$passwd\r" }

}

expect "$"

send "hostname \r"

#send "touch /tmp/expect_new.txt\r"

#send "sudo mkdir -p /home/backup/export \r"

send "sudo chown -R hadoop.hadoop /home/backup/export && chmod 755 /home/backup/export \r"

send "exit\r"

interact eof

--------------------------

以上儲存為檔名:expect_test.exp, 並賦執行許可權 chmod +x  expect_test.exp

說明:

set timeout 1 設定登入時間 1秒

set host [lindex $argv 0]  設定輸入第一個引數為host變數的值,即:主機名稱

----

執行如下:

expect_test.exp $hostname


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606353/viewspace-2845782/,如需轉載,請註明出處,否則將追究法律責任。

相關文章