广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Bash EOF的使用小结
  • 144
分享到

Bash EOF的使用小结

Bash EOF 2023-01-12 12:01:43 144人浏览 泡泡鱼
摘要

目录1. 命令行输出2. 写入文本3. 追加文本4. 覆盖文本5. 自定义 EOF6. 另一种格式7. 示例7.1 配置文件7.2 新建分区并挂载7.3 设置变量7.4 输出脚本7.

EOF适用场景:

  • 命令行多行输出
  • 脚本包装
  • 类型配置文件

1. 命令行输出

$ cat << EOF
> Hello
> EOF
Hello

2. 写入文本

cat << EOF >1.txt
111
222
333
EOF

复制终端是这样的。

cat << EOF >1.txt
> 111
> 222
> 333
> EOF

回车后

$ cat 1.txt
111
222
333

3. 追加文本

cat << EOF >> 1.txt
444
555
666
EOF

查看1.txt内容

$ cat 1.txt
111
222
333
444
555
666

4. 覆盖文本

cat << EOF >1.txt
aaa
bbb
ccc
EOF

查看

$ cat 1.txt
aaa
bbb
ccc

5. 自定义 EOF

cat << a > 1.txt
111
222
333
a

输出:

$ cat 1.txt
111
222
333

6. 另一种格式

  • cat > filename <<EOF
  • cat << EOF > filename
cat > 1.txt <<EOF
123
456
789
EOF

查看

$ cat 1.txt
123
456
789

追加内容

cat >> 1.txt <<EOF
abc
def
ghi
EOF

查看内容

$ cat 1.txt
123
456
789
abc
def
ghi

7. 示例

7.1 配置文件

或者cat << EOF > /usr/local/Mysql/my.cnf

cat > /usr/local/mysql/my.cnf << EOF         
[client]
port = 3306
Socket = /usr/local/mysql/var/mysql.sock

[mysqld]
port = 3306
socket = /usr/local/mysql/var/mysql.sock

basedir = /usr/local/mysql/
datadir = /data/mysql/data
pid-file = /data/mysql/data/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1
sync_binlog=1
log_bin = mysql-bin

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M

sql_mode=NO_ENGINE_SUBSTITUTioN,STRICT_TRANS_TABLES 
port = 3306
EOF

7.2 新建分区并挂载

$ cat auto_add_disk.sh         
#!/bin/bash
fdisk  /dev/sdb  <<EOF
n
p
1
 
 
wq
EOF
 
/sbin/mkfs .ext4  /dev/sdb1  &&   /bin/mkdir  -p  /data  &&  /bin/mount  /dev/sdb1  /data
echo  'LABEL=data_disk /data ext4 defaults 0 2'  >>  /etc/fstab

7.3 设置变量

$ sql=$(cat <<EOF
SELECT foo, bar FROM db
WHERE foo='baz'
EOF
)

$ echo -e "$sql"

7.4 输出脚本

cat <<EOF > print.sh
#!/bin/bash
echo \$PWD
echo $PWD
EOF

查看内容

$ cat print.sh
#!/bin/bash
echo $PWD
echo /home/user

7.5 匹配输出

$ cat <<EOF | grep 'b' | tee b.txt
> foo
> bar
> baz
> EOF
bar
baz

$ cat b.txt
bar
baz

7.6 json 文本

cat >> /etc/Docker/daemon.json < EOF
{
   "exec-opts": ["native.cgroupdriver=systemd"],
   "log-driver": "json-file",
   "log-opts": {
   "max-size":  "100m"
    },
   "reGIStry-mirrors": [
    "https://hub-mirror.c.163.com",
    "Https://mirror.baidubce.com"
  ]
 }
 EOF

查看

$ cat /etc/docker/daemon.json
{
   "exec-opts": ["native.cgroupdriver=systemd"],
   "log-driver": "json-file",
   "log-opts": {
   "max-size":  "100m"
    },
   "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
 }

参考:

How does “cat << EOF” work in bash?

What is Cat EOF in Bash Script?

到此这篇关于Bash EOF的使用小结的文章就介绍到这了,更多相关Bash EOF内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Bash EOF的使用小结

本文链接: https://www.lsjlt.com/news/177513.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Bash EOF的使用小结
    目录1. 命令行输出2. 写入文本3. 追加文本4. 覆盖文本5. 自定义 EOF6. 另一种格式7. 示例7.1 配置文件7.2 新建分区并挂载7.3 设置变量7.4 输出脚本7.5 匹配输出7.6 json 文本参考...
    99+
    2023-01-12
    Bash EOF
  • Bash EOF的使用小结
    目录1. 命令行输出2. 写入文本3. 追加文本4. 覆盖文本5. 自定义 EOF6. 另一种格式7. 示例7.1 配置文件7.2 新建分区并挂载7.3 设置变量7.4 输出脚本7....
    99+
    2023-01-12
    Bash EOF
  • linux的eof怎么使用
    这篇文章主要讲解了“linux的eof怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux的eof怎么使用”吧! l...
    99+
    2023-04-21
    linux eof
  • np.ones的使用小结
    目录概述用法例子概述 np.ones()函数返回给定形状和数据类型的新数组,其中元素的值设置为1。此函数与numpy zeros()函数非常相似。 用法 np.ones(shape,...
    99+
    2023-03-14
    np.ones 使用 np.ones
  • Spring Lifecycle的使用小结
    目录前言Lifecycle自定义Lifecycle实现类测试SmartLifecycle自定义SmartLifecycle实现类多个实现类源码分析LifecycleProcessor...
    99+
    2022-11-13
  • document.cookie使用小结
    目录一、cookie设置二、修改cookie值三、获取cookie值四、删除cookie值一、cookie设置 1、每个cookie都是键/值对,设置多个时,用;隔开,如:docum...
    99+
    2022-11-13
  • document.cookie 使用小结
    document.cookie 是一个用于读取和设置浏览器 cookie 的属性。使用 document.cookie,可以实现以下操作:1. 读取 cookie:可以通过访问 document.cookie 来读取当前页面的所有 co...
    99+
    2023-08-11
    document.cookie
  • jsoup 框架的使用小结
    目录概述概念简介相关概念简介jsoup 的主要类APIJsoup 类Connection 接口Element(元素)类查找元素获取元素数据修改数据基本使用获取文档(Document)...
    99+
    2023-05-14
    jsoup使用 jsoup 框架用法
  • SpringBoot中Dozer的使用小结
    什么是Dozer? Dozer是一种Java Bean到Java Bean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通用的,灵活的,可重用的和可配置的开源映射...
    99+
    2022-11-13
  • Android Webview使用小结
    本文实例为大家分享了Android Webview使用小结,供大家参考,具体内容如下 #采用重载URL的方式实现Java与Js交互 在Android中,常用的Java与Js交互...
    99+
    2022-06-06
    小结 webview Android
  • ORACLE ANALYZE使用小结
      ANALYZE的介绍       使用ANALYZE可以收集或删除对象的统计信息、验证对象的结构、标识表或cluster中的行迁移/行链接信息等。官方文档关于ANALYZE功能介绍如下:   ·         Collect...
    99+
    2017-07-04
    ORACLE ANALYZE使用小结
  • java循环结构、数组的使用小结
    数组 数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 数组本身是引用数据类型,既可以存储基本数据类型,也可以存储...
    99+
    2022-11-12
  • Shell中的变量使用小结
    变量的定义,只能以字母和下划线开始,区分大小写,可以包含数字 字母下划线.详见官方手册 [root@svn shell_example]# yourname='Linux' [root@svn shel...
    99+
    2022-06-04
    小结 变量 Shell
  • go mod的使用方法小结
    目录前言1.go modules的基本介绍1.1 提供的命令1.2 提供的环境变量1.2.1 说明2.go modules的基本使用2.1 初始化项目3.使用go mod发布自己的包...
    99+
    2022-11-13
  • Nginx的gzip指令使用小结
    目录简介说一段废话背景指令介绍gzipgzip_static易错点提示简介 GZIP顾名思义,就是将文件压缩传输。图片、视频、大文件不建议使用压缩,压缩需要占用你的服务器资源,压缩完...
    99+
    2022-11-13
  • Python使用struct库的用法小结
    目录struct简介常用函数struct.pack(format:str, v1, v2, …)struct.unpack(format:str,buffer:byte...
    99+
    2022-11-11
  • mongodb使用问题小结
    mongodb安装完成后一直无法使用IP连接: 如果MongoDB服务未安装,则直接执行下面命令安装,无法自动创建的文件需要手动去创建。 mongod --dbpath=E:mongodbdatadb  --logpath=E:mong...
    99+
    2021-10-28
    mongodb使用问题小结
  • mongodb 内存使用小结
        mongodb 内存使用     mongodb通过把文件mapp到内存来访问数据,在os 层可以使用top 命令查看相应的process ,换句访问的文件越多,process 也越多,使用的内存也越多,也可以DB内也可以使用命...
    99+
    2015-07-03
    mongodb 内存使用小结
  • jmeter基本使用小结
    目录1.测试工具2.jmeter测试过程2.1 线程组2.2 http请求2.3 自定义参数2.4 随机参数2.5 服务器状态监测1.测试工具 jmeter压力测试相关工具: 1....
    99+
    2022-11-12
  • filters.revealTrans.Transition使用方法小结
    filters.revealTrans.Transition使用方法小结:1. 创建Transition对象:使用`var tran...
    99+
    2023-08-17
    使用方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作