Shell编程之免交互

本文介绍了Shell编程中的免交互方法——Here Document,包括其概述、格式、注意事项和实例,如行数统计、变量替换和多行注释。此外,还详细讲解了 Expect 工具,用于自动化控制和测试,包括基本命令如 spawn、expect、send 和 interact,以及使用示例,如创建新用户、SSH自动登录和磁盘分区。
摘要由CSDN通过智能技术生成

一、Here Document

概述

(1)使用I/O重定向的方式将命令列表提供给交互式程序,比如ftp、cat或read命令。

(2)Here Document是标准输入的一种替代品可以帮助脚本开发人员不必使用临时文件来构建输入信息,而是直接就生产出一个“文件”并用作“命令”的标准输入。Here Document 也可以与非交互式程序和命令一起使用。

格式

命令  <<标记
...	
内容			#标记之间是传入内容
...
标记

注意事项

(1)标记可以使用任意合法字符(通常为EOF)
(2)结尾的标记一定要顶格写,前面不能有任何字符
(3)结尾的标记后面也不能有任何字符(包括空格)
(4)开头标记前后的空格会被省略掉

几个实例

免交互方式实现对行数的统计

wc -l <<EOF
>Line1
>Line2
>EOF

行数

通过 read 命令接收输入并打印

输入值是两个 EOF 标记之间的部分,作为变量 i 的值

read i <<EOF
>NIHAO
>EOF
echo $i

READ

通过 passwd 给用户设置密码

passwd lolo <<EOF
>abc1234 	   #输入的密码
>abc1234       #确认密码
>EOF

密码

支持变量替换

vim ren.sh
#!/bin/bash
file="ren.txt"
i="boy"
cat > $file <<EOF
I am a good $i
EOF

sh ren.sh
cat ren.txt

变量替换

整体赋值给变量

#!/bin/bash
var=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值