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

网站建设合作流程图芜湖做网站设计的公司

网站建设合作流程图,芜湖做网站设计的公司,长春电商公司排名,望野什么意思expect 是什么 expect - programmed dialogue with interactive programs#xff08;与互动程序进行程序对话#xff09; 定义脚本执行的 shell #!/usr/bin/expect -f 定义的是执行 expect 可执行文件的链接路径#xff08;或真实路径#xff09;#xff0c;功能类似于bas…expect 是什么 expect - programmed dialogue with interactive programs与互动程序进行程序对话 定义脚本执行的 shell #!/usr/bin/expect -f 定义的是执行 expect 可执行文件的链接路径或真实路径功能类似于bash等shell功能。 set timeout 10 设置超时时间单位是秒如果设为 timeout -1表示永远不超时。 spawn spawn 进入 expect 环境后才能执行内部命令不能直接在默认的 shell 环境种进行执行 主要功能传递交互指令 expect 主要判断输出结果是否包含某项字符串如果没有设置超时时间则立即返回如果设置了超时时间则等待一段时间后返回。 send 执行交互动作就是想要执行的命令。 命令字符串结尾要加上“\r”如果出现异常等待的状态可以进行核查。 interact 执行完后保持交互状态把控制权交给控制台如果不添加这一项交互命令会自动推出。 exp_continue The command exp_continue allows expect itself to continue executing rather than returning as it normally would. By default exp_continue resets the timeout timer. The -continue_timer flag prevents timer from being restarted. (See expect for more information.) 命令exp_continue允许expect 重复执行而不是直接返回。默认情况下exp_continue重置超时计时器。-continue_timer 标志阻止计时器重新启动。 $argv expect 脚本可以接受从bash传递过来的参数可以使用 [lindex $argv n]获得n从0开始分别表示第1个到第n个参数。 eof The pattern eof introduces an action that is executed upon end-of-file. A separate eof pattern may also follow the output flag in which case it is matched if an eof is detected while writing output. The default eof action is “return”, so that interact simply returns upon any EOF. 希望实现场景 ssh 到目标主机后检查目标文件夹是否存在如果存在先删除后创建如果不存在则创建。退出ssh交互界面使用scp将本地zip文件上传到目标主机。ssh 到目标主机后解压zip文件到指定目录。 # 首次连接目标主机需要输入yes rootcurtis-Aspire-E5-471G:/home/curtis/write_code# ssh 192.168.0.101 The authenticity of host 192.168.0.101 (192.168.0.101) cant be established. ECDSA key fingerprint is SHA256:gsW8dLII4nP2kSburZz0NKi6yR4A3SnrEJVFsAw0. Are you sure you want to continue connecting (yes/no/[fingerprint])?# 需要输入密码的提示 rootcurtis-Aspire-E5-471G:/home/curtis/write_code# ./func.exp rlk 192.168.0.101 123 spawn ssh rlk192.168.0.101 rlk192.168.0.101s password:按照下下边这种写法会发现ssh成功之后会马上退出退出的原因是send命令之后没有expect命令将不会被执行。 #!/usr/bin/expect -fset host_name [lindex $argv 0] set ip_addr [lindex $argv 1] set pwd [lindex $argv 2]spawn ssh $host_name$ip_addr expect {*yes/no* { send yes\r; exp_continue }*password: { send $pwd\r } }rootcurtis-Aspire-E5-471G:/home/curtis/write_code# ./func.exp rlk 192.168.0.101 123 spawn ssh rlk192.168.0.101 rlk192.168.0.101s password: rootcurtis-Aspire-E5-471G:/home/curtis/write_code#如果期望ssh后进行命令行交互可以在末尾添加interact 这里我希望ssh上去之后判断某个文件夹是否存在如果存在先删除然后在创建如果不存在则直接创建。 如何判断文件夹是否存在 rootcurtis-Aspire-E5-471G:/home/curtis/write_code# file shell shell: directory rootcurtis-Aspire-E5-471G:/home/curtis/write_code# file kkkk kkkk: cannot open kkkk (No such file or directory)注意事项如果仅仅有send命令远端将不执行send对应的命令立即退出shell交互界面 如以下例子仅存在send没有expect #!/usr/bin/expect -fset host_name [lindex $argv 0] set ip_addr [lindex $argv 1] set pwd [lindex $argv 2] set check_dir [lindex $argv 3] set send_dir [lindex $argv 4]spawn ssh $host_name$ip_addr expect {*yes/no* { send yes\r; exp_continue }*password: { send $pwd\r } } set timeout 3 expect *rlkrlk*send file $check_dir\r结果如下所示 rootcurtis-Aspire-E5-471G:/home/curtis/write_code# ./func.exp rlk 192.168.0.101 123 /home/rlk/curtis /home/curtis/write_code/Tutorials-master.zip spawn ssh rlk192.168.0.101 rlk192.168.0.101s password: Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/advantage* Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8sjust raised the bar for easy, resilient and secure K8s cluster deployment.https://ubuntu.com/engage/secure-kubernetes-at-the-edge616 updates can be installed immediately. 332 of these updates are security updates. To see these additional updates run: apt list --upgradableThe list of available updates is more than a week old. To check for new updates run: sudo apt update Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settingsYour Hardware Enablement Stack (HWE) is supported until April 2025. Last login: Fri Mar 17 23:00:46 2023 from 192.168.0.105 # ssh成功之后立即退出 rlkrlk:~$ rootcurtis-Aspire-E5-471G:/home/curtis/write_code#最终实现 #!/usr/bin/expect -fset host_name [lindex $argv 0] set ip_addr [lindex $argv 1] set pwd [lindex $argv 2] set check_dir [lindex $argv 3] set send_dir [lindex $argv 4]spawn ssh $host_name$ip_addr expect {*yes/no* { send yes\r; exp_continue }*password: { send $pwd\r } } set timeout 3 expect *rlkrlk*send file $check_dir\r expect {*: directory* { send rm -rf $check_dir mkdir -p $check_dir\r }*(No such file or directory)* { send mkdir -p $check_dir\r } } # 需要根据删除文件夹大小来调整超时时间 # 所谓超时时间就是等待expect期望结果的时间如果时间到了还没有达到预期就只能退出 set timeout 10 expect *rlkrlk* send exit\r expect eofspawn scp $send_dir $host_name$ip_addr:$check_dir expect {*yes/no* { send yes\r; exp_continue }*password: { send $pwd\r } } # 需要根据文件大小合理设置超时时间 set timeout 10 expect eofspawn ssh $host_name$ip_addr expect {*yes/no* { send yes\r; exp_continue }*password: { send $pwd\r } } set timeout 3 expect *rlkrlk*send unzip $check_dir/Tutorials-master.zip -d $check_dir/\r set timeout 10 expect *rlkrlk* send exit\r
http://www.hkea.cn/news/14375333/

相关文章:

  • 给别人做网站要问什么问题哪个网站可以做体育主播
  • 个人免费注册公司网站网站icp证明
  • 农业做的好的网站wordpress附件上传云
  • 网页设计与网站建设项目教程什么是网站维护费
  • 更改网站伪静态深圳市住房和建设局地址
  • 目前网站开发怎么兼顾手机岳阳网站网站建设
  • 医院网站如何建立商城网站建设精英
  • 公司网站标题优化免费网络爬虫网站
  • 网站开发的语言有什么做网站难吗 挣钱吗
  • 三部曲网站建设做网站怎么看效果
  • 网站开发的销售网站建设资金投入分析
  • php一个企业网站多钱怎么做打赏看视频的网站
  • 手机网站建站用哪个软件好互联网域名注册查询
  • 网站建设与管理作业西安 做网站
  • 做网站分前台后端吗wordpress 代码位置
  • 做网站网页需要学些什么wordpress文章链接怎么改
  • 淘宝网站建设策划书wordpress 替代
  • 如何上传图片到网站最简单的软件开发工具
  • 白银区住房和城乡建设局网站建网站的公司起什么名好
  • 网站建设产品手册网站百度网盘
  • 建材在哪些网站做企业网站站内优化
  • 优酷视频放到网站上怎么做网站建设的类型有几种
  • 温州网站建设方案报价wordpress 年份索引
  • 安徽网站建设信息深圳品牌设计公司的发展
  • 模板网站与定制网站的优缺点教育类网站素材
  • 企业备案 网站名称网站主页图片怎么换
  • 重庆微信网站建设国内免费crm
  • 宁波网站建设免费咨询合肥做网站便宜mdyun
  • 网站asp精品成品源码网站
  • 龙岩公司网站建设wordpress优酷插件