博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
here文档
阅读量:4185 次
发布时间:2019-05-26

本文共 962 字,大约阅读时间需要 3 分钟。

       在shell脚本程序中向一条命令传递输入的一种特殊方法是使用here文档。它允许一条命令在获得输入数据时就好像是在读取一个文件或键盘一样,而实际上是从脚本程序中得到输入数据。
  语法: command >> specialstring
 ......
 specialstring
specialstring 用来界定命令序列的范围,可自定义但不能出现在传递命令的文档内容中,可以两端都使用!来确保不会引起混淆。
---------------------------------------------------------------------------------------------------------------------------------------
例1:使用cat打印多行信息

cat << !FUNKY!

hello
this is a here
document
!FUNKY!
---------------------------------------------------------------------------------------------------------------------------------------
如果想按预定的方式处理一个文件的几行,你可以使用ed行编辑器,并在脚本程序中通过here文档向它提供命令。
例2:(1)我们从名为test_file的文件开始,它的内容如下:
that is line 1
that is line 2
that is line 3
that is line 4
     (2)你可以通过结合使用here文档和ed编辑器来编辑这个文件
ed test_file << !asd!
3
d
.,\$s/is/was/
w
q
!asd!
exit 0

运行这个脚本程序,现在这个文件名的内容是:

that is line 1
that is line 2

that was line 4

解析:这个脚本程序只是调用ed编辑器并向它传递命令,先让它移动到第三行,然后删除该行,再把当前行(即刚才的第四行)中的is替换为was。完成这些操作的ed命令来自脚本程序中的here文档--在标记!asd!之间的那些内容。

转载地址:http://souoi.baihongyu.com/

你可能感兴趣的文章
第一篇: 服务的注册与发现Eureka(Greenwich版)
查看>>
第二篇: 服务消费者(rest+ribbon)(Greenwich版本)
查看>>
第三篇: 服务消费者(Feign)(Greenwich版本)
查看>>
获取客户的真实IP地址
查看>>
第四篇: 熔断器(Ribbon+Feign)(Greenwich版本)
查看>>
Linux的常用命令(一)
查看>>
Linux的常用命令(二)
查看>>
第六篇: 分布式配置中心(Greenwich版本)
查看>>
SpringBoot | 配置logback-spring.xml
查看>>
SpringBoot | 第一章:构建第一个SpringBoot工程
查看>>
SpringBoot | 第二章:配置多环境以及上传文件
查看>>
Spring Data JPA |自定义非实体类的映射
查看>>
SpringBoot | 常用注解记录
查看>>
JavaBean对象转换EntityUtils工具类
查看>>
Maven常用命令
查看>>
SpringBoot | 运行报错,无法加载oracle连接驱动
查看>>
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
查看>>
AWS EC2如何从普通用户切换为root用户
查看>>
click方法不生效的
查看>>
mysql排行榜并列与不并列
查看>>