首页 > 系统相关 >linux 免交互

linux 免交互

时间:2023-06-12 19:44:37浏览次数:35  
标签:脚本 演示 linux 例子 expect 使用 交互

目录

一、免交互概念

二、基本免交互例子

三、expect

四、实验演示

 

 

 

 

 

 

 

 

一、免交互概念

  概念:对于shell脚本的自动化运维,就要实现免交互来达到自动化运维的效果

 

二、基本免交互例子

  可以免交互统计出行号

  1.命令行免交互统计

   2.使用脚本免交互统计

   3.使用免交互命令打印

   4.免交互修改密码

   5.重定向查看

   6.重定向到指定文件

   7.重定向直接指定文件

   8.使用脚本完成重定向输入

   9.免交互脚本完成赋值变量

   10.关闭变量替换功能,按照原来样子输出

   11.去tab键,无法去空格

   12.注释打印,无法生效:批量注释

  (1)脚本展示

   (2)命令行展示

 

 

 

三、expect

  expect:建立在tcl语言基础上的一个工具,常被用于进行自动化控制和测试,解决shell脚本中交互相关的问题。

  使用方法:表示捕捉关键词展示行

  1.脚本解释器

  (1)加入引用程序路径表示使用expect,表明使用这个shell

    运行只能使用./运行,运行前赋权777

   (2)嵌套使用

    可以使用sh运行

   

  2.expect符号:

    \n:表示换行符。
    \t:表示制表符。
    \r:表示回车符。
    \b:表示退格符。

  3.执行命令

    spawn 后面通常跟一个Linux执行命令,表示开启一个会话、启动进程,并跟踪后续交互信息。

  例如:

   3.send

    向进程发送字符串,用于模拟用户的输入;该命令不能自动回车换行,一般要加\r(回车)或者\n

  例子:

 

   4.expect多分支

   例子演示:ssh远程登录

 

   5.结束符

    expect eof:表示交互结束,等待执行结束,退回到原用户,与spawn对应

    interact:执行完成后保持交互状态,把控制权交给控制台,会停留在目标终端而不会退回到原终端,interact后的命令不起作用

    (1)expect(会在固定时间退回原先页面)

 

     (2)interact(停留在操作页面)

   6.set

    expect 默认的超时时间是 10 秒,通过 set 命令可以设置会话超时时间,若不限制超时时间则应设置为-1。

      例:set timeout 5

 

  7.exp_continue

    exp_continue 类似于控制语句中的 continue 语句。表示允许 expect 继续向下执行指令。

 

  8.send_user

    send_user 表示回显命令,相当于 echo。打印的功能

  例子演示:

 

   9.接收参数

    expect 脚本可以接受从bash命令行传递的参数

      使用[lindex $argv n]获得。其中n从0开始

  例子演示:

 

四、实验演示

  1.免交互预设值修改用户密码

 

   2.su切换用户

 

   3.创建用户并设置密码

 

   4.实现 ssh 自动登录

    5.怎么能够实现密码输入错误的提示

 

   6.用免交互的方式给硬盘分区,格式化,挂载

 

 

标签:脚本,演示,linux,例子,expect,使用,交互
From: https://www.cnblogs.com/zhende/p/17474717.html

相关文章

  • Linux日志切割神器logrotate原理介绍和配置详解
    1、原理介绍create这也就是默认的方案,可以通过create命令配置文件的权限和属组设置;这个方案的思路是重命名原日志文件,创建新的日志文件。详细步骤如下:重命名正在输出日志文件,因为重命名只修改目录以及文件的名称,而进程操作文件使用的是inode,所以并不影响原程序继续输出日志......
  • 2023年度Linux系统安装与移除JDK保姆级教程
    简介本篇文章介绍了如何在CentOS系统上安装与移除JDK,并提供了两种不同的安装与移除方法。我们还将针对每种方法的优点和缺点进行对比前置条件在开始之前,请确保您已经在虚拟机中安装CentOS系统如果没有安装请参考我之前的VMwareWorkstation17Pro安装配置CentOS7与ssh......
  • 2023年度Linux安装与移除tomcat保姆级教程
    前言Tomcat是一个流行的JavaServlet容器,用于开发和部署JavaWeb应用程序。本文将介绍如何在CentOS操作系统上安装与移除Tomcat,并提供了逐步说明以及相关命令。读者需要具备一定的Linux基础知识,如使用命令行工具等。安装前置条件在开始安装Tomcat之前,请确保您已满足以下条件:......
  • linux服务器CPU飙高排查
    文章目录前言一、第一步top二、根据pid查找具体线程2.根据pid找到16进制3.根据进程和线程查找原因总结前言系统cpu飙高,尤其对于后端人员来说,其实应该学会排查,这样也算是综合能力的体现;那么当出现了cpu严重飙高的时候怎么排查呢?一、第一步top直接在问题服务器输入命令:to......
  • 内核在Linux启动中的中流砥柱
        内核时操作系统中最基本的部分,它在系统启动时被加载到内存里面,然后留在内存中管理系统的资源、调度进程等。 内核可以管理进程、用户、内存等主要部分。在编译过程中静态链接到主机的内核模块中。有一种可加载的内核模块,在编译时没有链接到主机,但是在系统启动时或启动......
  • Linux RDP 会话中无法打开VSCode 解决办法
    githubissue:VSCode"andstill"won'topeninaLinuxxrdpsessionWorkaround-LinuxRDP会话中无法打开VSCode解决办法ThistimearoundIresolvedtheissuebynarrowingthefollowingHackintwosteps:Copythesystemfile'libxcb.so.1.1.0'......
  • 为Linux配置固定IP(Windows)
    配置固定IP地址目前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更。为什么需要配置固定IP地址原因1:办公电脑IP地址变化无所谓,但是要远程连接到Linux系统,如果IP地址经常变化就要频繁修改适......
  • Linux控制服务启动关闭
    systemctl命令Linux系统很多软件(内置或第三方)均支持使用systemctl命令。系统内置服务均可被systemct控制第三方软件,如果自动注册了可以被systemct控制第三方软件,如果没有自动注册,可以手动注册。systemctl命令控制:启动,停止,开机自启。能够被systemctl管理的软件,一般称之为:服......
  • linux占用内存查询 --------------Linux内存占用分析的几个方法
    Linux内存占用分析的几个方法原创 入门小站 入门小站 2023-06-0121:30 发表于湖北收录于合集#Linux804个入门小站分享运维技巧及10k+Stars的开源项目265篇原创内容公众号【Linux250个常用命令速查手册】关注【入门小站】,后台回复「1001」自取......
  • Linux操作系统实训操作(一)
    Linux操作系统实训操作(一)原创 宇翔2020 网路小栈 2023-03-1519:00 发表于山东收录于合集#linux操作系统12个1、查看内核版本的命令(截图)     2、查看发行版本的命令(截图)3、在root用户和sdws用户之间进行切换,并分别查看他们的家目录。(截图)4、查看历史命令(截图......