一个简单的人机交互脚本-ssh

下面献上一个简单的人机交互脚本,用来展示expect方法的强大而美妙的功能。

该脚本能够检测ssh命令执行之后的提示语,自动匹配完成密码输入。


##########################################################

### 复制下面的脚本,保存到文件ssh.sh中即可执行。

### 1、若没有执行权限,通过 chmod a+x ssh.sh 添加;

### 2、若文件ssh.sh在windows下编辑,请确保语系正确,可在linux上通过 dos2unix ssh.sh 转换;

### 3、若缺少expect,则需要先安装之,详情请参考本人的另外一篇博文《开源软件expect软件安装》;

##########################################################


#!/usr/bin/expect -f

### input parameters
set REMOTE_IP       [lindex $argv 0]
set REMOTE_HOSTNAME [lindex $argv 1]
set PASSWD          [lindex $argv 2]
set REMOTE_CMD      [lindex $argv 3]


# set REMOTE_IP       192.168.200.129
# set REMOTE_HOSTNAME root
# set PASSWD          xos123
# set REMOTE_CMD      ls -al /home


### variables
set timeout 10


### expect ssh

# spawn ssh -t root@192.168.200.129 "ls -al /home"

spawn ssh -t ${REMOTE_HOSTNAME}@${REMOTE_IP} "${REMOTE_CMD}"
expect {
 "*\(yes/no\)?" { send "yes\\r"; exp_continue }
 "*password:" { send "${PASSWD}\r" }
}


expect eof

###



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值