系统相关
首页 > 系统相关> > 8.shell编程之免交互

8.shell编程之免交互

作者:互联网

shell编程之免交互

目录

Here Document免交互

免交互定义

语法格式:

命令 <<标记
...
...
标记

使用注意项:

示例:使用 read 命令接收用户的输入值

img

注意:read命令只能识别第一行内容

示例:统计输入行数

img

示例:免交互设置用户密码

img

示例:重定向导入文件

img

示例:tee命令即将输入内容显示到屏幕也重定向到文件内

img

Here Document变量设定

Here Document也支持变量的使用如果标记之间有变量被使用,会先替换变量值。如果想要将一些内容写入文件,除了常规的方法外,也可以使用 Here Document。如果写入 的内容中包含变量,在写入文件时要先将变量替换成实际值,在结合 cat 命令完成写入。

示例:

img

img

示例:整体赋值给变量并使用echo输出

img

img

示例:不进行变量的替换

img

示例:忽略TAB键

img

多行的注释

示例:

img

expect

expect 定义

expect安装

rpm -q expect
rpm -q tcl
yum install -y expect

expect基本命令

脚本解释器

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

expect 从进程接收字符串

send 用于向进程发送字符串

结束符

expect eof

interact

注意expect eof 与interact只能二选一

set

例子: set time out 30

send_users

接收参数

set hostname [lindex $argv 0] 相当于hostname=$1
set password [lindex $argv 1] 相当于passswd=$2
set hostname [lindex $argv 0] 相当于hostname=$1
set password [lindex $argv 1] 相当于passswd=$2

exp_continue

示例串行执行

示例:免交互设置密码

img

img

示例:参数传入

img

img

img

img

示例:嵌入式执行模式实现bash执行

img

img

示例并行执行

示例:实现ssh免交互登录

img

img

标签:Here,shell,示例,编程,之免,命令,expect,Document,交互
来源: https://www.cnblogs.com/DavinWw/p/16390974.html