shell脚本之免交互

今天 1482阅读

目录

一、Here Document 免交互

1、交互与免交互的概念

2、 Here Document 概述

二、Here Document 应用

1、使用cat命令多行重定向

2、使用tee命令多行重定向

3、使用read命令多行重定向

4、使用wc -l统计行数

5、使用passwd命令用户修改密码

6、Here Document 变量设定

 二、expect工具实现免交互

1、expect工具介绍

1.1 expect工具概念和特性

1.2 检测expect软件

2、expect工具运用

2.1 expect基本使用

2.1.1 声明expect脚本解释器

2.1.2 spawn启动进程并捕捉交互信息

2.1.3 expect 从进程接收字符串

2.1.4 send 向进程发送字符串

2.1.5 exp_continue

2.1.6 set  设置会话超时时间

2.1.7 接收参数

2.1.6 结束符( expect eof 或 interact  只能二选一)

3、expect 免交互的脚本

3.1 免交互传输文件

3.2 ssh 远程登录

3.3 免交互fdisk分区

3.4 免交互切换用户

3.5 expect嵌入bash免交互修改用户密码

3.6 expect嵌入bash免交互远程创建用户


一、Here Document 免交互

1、交互与免交互的概念

交互:在程序或系统与用户之间进行双向的信息交流和操作的过程。在交互式环境中,用户可以通过输入命令、提供数据或点击界面元素等方式与程序或系统进行沟通,并接收相应的反馈和结果

免交互:指在执行脚本时,无需用户输入任何信息或进行任何交互操作。通常情况下,shell脚本需要通过读取用户的输入来执行相应的操作或获取必要的参数。然而,有时候我们希望脚本能够自动化地执行任务,而不需要用户干预

2、 Here Document 概述

Here Document 是标准输入的一种替代品,使用I/O重定向的方式将命令列表提供给交互式程序 ,可以帮助脚本开发人员不必使用临时文件来构建输入信息,而是直接就地生产出一个文件并用作命令的标准输入,Here Document 可以与非交互式程序和命令一起使用

#通用格式
命令  或>>来将多行文本重定向到文件 

1、使用cat命令多行重定向

>  指输入的内容覆盖到文件
>>  指输入的内容追加到文件

shell脚本之免交互

shell脚本之免交互

注:

在上面的示例中,cat > word表示将输入重定向到 word 文件中

word >

2、使用tee命令多行重定向

tee  [选项]...  [文件]...
选项说明
-a, --append 内容追加到给定的文件而非覆盖
-i, --ignore-interrupts忽略中断信号

shell脚本之免交互

shell脚本之免交互

shell脚本之免交互

3、使用read命令多行重定向

read命令只会读取输出的第一行的内容作为 i 的值

shell脚本之免交互

4、使用wc -l统计行数

使用 wc -l 命令后面直接跟文件名就可以统计文件内有多少行内容,将要统计的内容置于标记“EOF” 之间,直接将内容传给 wc -l 来统计

shell脚本之免交互

5、使用passwd命令用户修改密码

shell脚本之免交互

 6、Here Document 变量设定

Here Document 也支持使用变量,如果标记之间有变量被使用,会先替换变量值。如果想要将一些内容写入文件,除了常规的方法外,也可以使用 Here Document

如果写入的内容中包含变量,在写入文件时要先将变量替换成实际值,在结合 cat 命令完成写入

#!/bin/bash
a="www.baidu.com"
b=$(cat 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]