首先配置PATH环境变量
guanzwan-mac:~ guanzwan$ sudo vi /etc/profile
Password:
修改/etc/profile添加可执行文件所在的目录
guanzwan-mac:~ guanzwan$ source /etc/profile
执行使PATH环境变量生效
guanzwan-mac:~ guanzwan$ cat slcm05adm01
#!/usr/bin/expect
spawn ssh oracle@slcm05adm01
expect "*password*"
send "AAAbbb\n"
interact
另外一种实现方式
guanzwan-mac:~ guanzwan$ cat slcm05adm01.sh
#!/bin/sh
/usr/bin/expect <<EOF
spawn ssh oracle@slcm05adm01.us.oracle.com
expect {
"*password*" {send "welcome1\n"}
}
expect eof
EOF
使用expect执行多条命令
#!/usr/bin/expect -f
set timeout 10
spawn sudo su - root
expect "*password*"
send "123456\r"
expect "#*"
send "ls\r"
expect "#*"
send "df -Th\r"
send "exit\r"
expect eof
#!/bin/bash
ip=$1
user=$2
password=$3
expect <<EOF
set timeout 10
spawn ssh $user@$ip
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "$password\n" }
}
expect "]#" { send "useradd hehe\n" }
expect "]#" { send "touch /tmp/test.txt\n" }
expect "]#" { send "exit\n" } expect eof
EOF
#./ssh5.sh 192.168.1.10 root 123456