我是在centos上测试的
安装必须要的包
首先yum search expect
,查看相关的expect包,
yum install expect.x86_64
yum install expect-devel.x86_64
新建脚本文件,如下
#!/usr/bin/expect
set timeout 30
spawn ssh user@ip
expect "password:"
send "pwd\r"
expect "]*" # 这句不能少,好多教程都是少了这句,实际测试的时候都不通
send "<your command>\r"
send "exit\r" # 退出
interact
执行脚本
需要给脚本增加执行权限chmod +x shell.sh
,不能使用sh shell.sh
的方式启动,否则会报如下错误:
ssh_shell.sh: line 4: spawn: command not found
参考文章: