当前位置: 首页 > news >正文

园区网站建设方案网站前端和后端

园区网站建设方案,网站前端和后端,如何做电子海报在网站,网站建设相关业务原文https://blog.csdn.net/jxdl6655/article/details/78626749 expect可以实现shell实现不了的用户交互的需求。expect可以将交互写在一个脚本上#xff0c;完成很多自动化的动作#xff0c;比如ssh、ftp登陆等#xff0c;都是需要交互需求的。expect是需要安装的#xf…原文https://blog.csdn.net/jxdl6655/article/details/78626749 expect可以实现shell实现不了的用户交互的需求。expect可以将交互写在一个脚本上完成很多自动化的动作比如ssh、ftp登陆等都是需要交互需求的。expect是需要安装的直接yum  -y install expect安装即可。 expect的四个关键命令为spawn、expect、send、set其中spawn是调用要执行的命令expect是等待命令提示信息的出现也即捕捉用户提示信息send是发送需要交互的信息来替代手工的输入set则是输入变量值。 一、expect关键语法 1、关键语法 #!/usr/bin/expect 这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和linux下的bash、windows下的cmd是一类东西。 注意这一行需要在脚本的第一行。 spawn              调用要执行的命令 expect               只有spawn执行的命令的执行结果才被expect捕捉到主要包括标准输入的提示信息、eof和timeout。等待命令提示信息的出现也就是捕捉用户输入的提示 send                 发送需要交互的值替代了用户手动输入内容 set                    设置变量值 interact             执行完成后保持交互状态把控制权交给控制台这个时候就可以手工操作了。如果没有这一句登录完成后会退出而不是留在远程终端上。 expect eof        这个一定要加与spawn对应表示捕获终端输出信息终止类似于if....endif PSexpect脚本必须以interact或expect eof结束执行自动化任务通常expect eof就够了。 2、常见设置 set timeout -1      设置expect永不超时    set timeout 300   设置expect 300秒超时如果超过300没有expect内容出现则退出      PS为什么要设置超时时间因为默认时间是10s则在交互执行的过程中很可能会断开导致任务执行没完成就终止。我司的一个从远程ftp上同步文件的计划任务总是执行终止后来设置了超时时间为-1就可以了。 二、expect的用法示例 1、一个简单的拉取文件的例子 ---------------------  2、一个小例子用于linux下账户的建立 以上脚本的注意点如下 第3行 对变量赋值的方法 第4行 默认情况下timeout是10秒 第6行 参数的数目可以用$argc得到 第11行参数存在$argv当中比如取第一个参数就是[lindex $argv 0]并且如果需要计算的话必须用expr如计算2-1则必须用[expr 2-1] 第13行用spawn来执行一条shell命令shell命令根据具体情况可自行调整有文章说sudo要加-S经过实际测试无需加-S亦可 第15行一般情况下如果连续做两个expect那么实际上是串行执行的用例子中的结构则是并行执行的主要是看匹配到了哪一个在这个例子中如果你写成串行的话即 expect assword send $passwd\n expect eof send_user eof 那么第一次将会正确运行因为第一次sudo时需要密码但是第二次运行时由于密码已经输过默认情况下sudo密码再次输入时间为5分钟则不会提示用户去输入所以第一个expect将无法匹配到assword而且必须注意的是如果是spawn命令出现交互式提问的但是expect匹配不上的话那么程序会按照timeout的设置进行等待可是如果spawn直接发出了eof也就是本例的情况那么expect assword将不会等待而直接去执行expect eof。 这时就会报expect: spawn id exp6 not open因为没有spawn在执行后面的expect脚本也将会因为这个原因而不再执行所以对于类似sudo这种命令分支不定的情况最好是使用并行的方式进行处理 第17行仅仅是一个用户提示而已可以删除 第18行向spawn进程发送password 第19行使得spawn进程在匹配到一个后再去匹配接下来的交互提示 第21行eof是必须去匹配的在spawn进程结束后会向expect发送eof如果不去匹配有时也能运行比如sleep多少秒后再去spawn下一个命令但是不要依赖这种行为很有可能今天还可以明天就不能用了 3、下面这个例子比较特殊在整个过程中就不能expect eof了 ---------------------  这个例子实际上是通过ssh去登录远程机器并且在远程机器上创佳一个目录我们看到在我们输入密码后并没有去expect eof这是因为ssh这个spawn并没有结束而且手动操作时ssh实际上也不会自己结束除非你exit所以你只能expect bash的提示符当然也可以是机器名等这样才可以在远程创建一个目录。注意请不要用spawn mkdir tmpdir这样会使得上一个spawn即ssh结束那么你的tmpdir将在本机建立。当然实际情况下可能会要你确认ssh key可以通过并行的expect进行处理不多赘述。 PS:在shell脚本中插入expect命令格式为如下
http://www.pierceye.com/news/292444/

相关文章:

  • 做阀门的英文网站怎么写西安seo服务公司排名
  • 淘宝客网站如何做推广古董手表网站
  • 网站虚拟主机查询企业文化建设的内容有哪些
  • 财经大学网站建设apicloud wordpress
  • 平面设计网站排行榜刚进外贸公司一个月多少钱
  • 企业网站最下面的那栏叫啥广州编程培训机构哪里好
  • 怎么学建设网站网站建设敬请期待图片素材
  • 滴滴出行的网站是哪家公司做的新媒体营销课程心得体会
  • 中国室内设计师联盟网站浙江手机版建站系统开发
  • 网站开源代码模版广州公司注册核名查询系统官网
  • 海外网站seo丹阳市住房建设管理局网站
  • 定制公司网站沙市做网站weisword
  • 平湖模板网站建设公司网站建设项目报告书
  • 校园门户网站解决方案手机与电脑网站制作
  • 济南网站建设 伍际网络网站域名备案授权书
  • 网站开发销售提成网站建设的内部风险分析
  • 网站建设框架都有哪些内容公司名字大全参考2022
  • 成功备案的网站增加域名黄金网站
  • 学习网站开发多少钱北京网页设计公司兴田德润可以吗
  • 如何加强门户网站建设上海好的设计公司
  • h5企业模板网站模板营销推广的渠道方式
  • 怎么学做网站PHP百度搜索风云榜总榜
  • 网站风格模板公司建设官方网站
  • 做站群一个网站多少钱网络服务器的分类
  • 专业的常州做网站营销推广48个方法
  • 开奖网站怎么做wordpress4.9.8中文版
  • 国外做任务的网站网推公司
  • 国外有在线做设计方案的网站吗为什么用Vue做网站的很少
  • 网站一定要备案网站建设与维护工作
  • 锦江区建设和交通局网站怎样在网上建立平台