新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

shell脚本无密码登录expect的示例分析-创新互联

小编给大家分享一下shell脚本无密码登录expect的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

成都创新互联公司专注于新都企业网站建设,成都响应式网站建设公司,成都商城网站开发。新都网站建设公司,为新都等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

一、单独写一个脚本


如 auto_scp.sh:


#!/usr/bin/expect 
#使用第一个参数 
set server_ip [lindex $argv 0] 
#后面的也可以用参数[lindex $argv n] 
set server_port 22 
set server_dir /home/test
set server_user test
set server_pswd test
set scp_file auto_scp.sh 
                                               
# 设置超时时间 
set timeout 60 
spawn scp -P $server_port $scp_file $server_user@$server_ip:$server_dir 
expect { 
    "passphrase"
    { 
      send "$server_pswd\n"; 
    } 
    "password"
    { 
       send "$server_pswd\n"; 
    } 
    "yes/no"
    { 
       send "yes\n"; 
       exp_continue; 
    } 
} 
expect eof

我这里的变量都是随意设置的,你可以根据你的情况进行选择,保存退出之后,对该文件加上可执行权限,运行
"./auto_scp.sh 2.2.2.2"就可以了,"2.2.2.2"就是传入的第一参数。


"passphrase"和"password"等就是要监测的输入提示的一部分,send "$server_pswd\n"就是要执行的命令。


二、在脚本中使用----我比较喜欢这个


我这里使用的是Here document方法。


...... 
...... 
expect <

变量都是我从配置文件中获取的,这里不再赘述了。


三、在脚本中使用


也是在脚本使用,但是不是用的Here document方法,而是使用expect -c 参数书,"-c"选项后面的字符串填充的就是命令。但是要注意本身字符串的转义符。

以上是“shell脚本无密码登录expect的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


分享文章:shell脚本无密码登录expect的示例分析-创新互联
标题来源:http://wjwzjz.com/article/jsgih.html
在线咨询
服务热线
服务热线:028-86922220
TOP