1. 程式人生 > >20.27 分發系統介紹;20.28 expect腳本遠程登錄;20.29 expect腳本遠程執行

20.27 分發系統介紹;20.28 expect腳本遠程登錄;20.29 expect腳本遠程執行

20.30 expect腳本傳遞參數

20.27 分發系統介紹

shell項目-分發系統-expect

20.28 expect腳本遠程登錄

1. 安裝expect

[root@hao-01 ~]# yum install -y expect

自動遠程登錄

2. 創建配置1.expect腳本(遠程登錄)

[root@hao-01 ~]# vim 1.expect

添加內容(自動遠程登錄hao2機器,並執行命令):

#! /usr/bin/expect

set host "192.168.211.129"

set passwd "admin"

spawn ssh root@$host

expect {

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

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

}

interact

3. 增加1.expect腳本x權限

[root@hao-01 ~]# chmod a+x 1.expect

4. 執行1.expect腳本(遠程登錄)

[root@hao-01 ~]# ./1.expect

技術分享圖片技術分享圖片

20.29 expect腳本遠程執行命令

自動遠程登錄後,執行命令並退出

1. 遠程hao2機器,創建/tmp/12.txt文件,追加重定向1212/tmp/12.txt文件 :

[root@hao-01 ~]# vim 2.expect

添加內容

#!/usr/bin/expect

set user "

root"

set passwd "admin"

spawn ssh $user@192.168.211.129

expect {

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

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

}

expect "]*"

send "touch /tmp/12.txt\r"

expect "]*"

send "echo 1212 > /tmp/12.txt\r

"

expect "]*"

send "exit\r"

2. 增加2.expect腳本x權限

[root@hao-01 ~]# chmod a+x 2.expect

3. 執行2.expect腳本 :

[root@hao-01 ~]# ./2.expect

技術分享圖片技術分享圖片

20.30 expect腳本傳遞參數

傳遞參數

1.

[root@hao-01 ~]# vim 3.expect

添加內容:

#!/usr/bin/expect

set user [lindex $argv 0]

set host [lindex $argv 1]

set passwd "admin"

set cm [lindex $argv 2]

spawn ssh $user@$host

expect {

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

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

}

expect "]*"

send "$cm\r"

expect "]*"

send "exit\r"

2. 增加3.expect腳本x權限

[root@hao-01 ~]# chmod a+x 3.expect

3. 執行3.expect腳本 :

遠程登錄指定用戶名 主機ip 執行的多個命令(ls;w)

[root@hao-01 ~]# ./3.expect root 192.168.211.129 "ls;w"技術分享圖片

20.27 分發系統介紹;20.28 expect腳本遠程登錄;20.29 expect腳本遠程執行