返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >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://lsjlt.com/news/177513.html(转载时请注明来源链接)

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

猜你喜欢
  • 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
  • BASH 学习笔记小结
    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例...
    99+
    2022-06-04
    小结 学习笔记 BASH
  • Bash Shell脚本学习小结
    1.字符截断:如果是一般路径的字符截断可以用basename和dirname这两个工具:basename可以从一个文件路径中截一个文件名 例如: $ basename /home/file.tarfile...
    99+
    2022-06-04
    小结 脚本 Bash
  • np.ones的使用小结
    目录概述用法例子概述 np.ones()函数返回给定形状和数据类型的新数组,其中元素的值设置为1。此函数与numpy zeros()函数非常相似。 用法 np.ones(shape,...
    99+
    2023-03-14
    np.ones 使用 np.ones
  • Bash Shell字符串操作小结
    1. 取长度 str="abcd"expr length $str # 4echo ${#str} # 4expr "$str" : ".*" # 4 好像一般使用第二种2. 查找子串的位置...
    99+
    2022-06-04
    小结 字符串 操作
  • Spring Lifecycle的使用小结
    目录前言Lifecycle自定义Lifecycle实现类测试SmartLifecycle自定义SmartLifecycle实现类多个实现类源码分析LifecycleProcessor...
    99+
    2024-04-02
  • document.cookie使用小结
    目录一、cookie设置二、修改cookie值三、获取cookie值四、删除cookie值一、cookie设置 1、每个cookie都是键/值对,设置多个时,用;隔开,如:docum...
    99+
    2024-04-02
  • document.cookie 使用小结
    document.cookie 是一个用于读取和设置浏览器 cookie 的属性。使用 document.cookie,可以实现以下操作:1. 读取 cookie:可以通过访问 document.cookie 来读取当前页面的所有 co...
    99+
    2023-08-11
    document.cookie
  • C++ 中eof()函数如何使用
    C++ 中eof()函数如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在使用C/C++读文件的时候,一定都使用过C++ eof()函数来判断文件是否为空...
    99+
    2023-06-17
  • SpringBoot中Dozer的使用小结
    什么是Dozer? Dozer是一种Java Bean到Java Bean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通用的,灵活的,可重用的和可配置的开源映射...
    99+
    2024-04-02
  • jsoup 框架的使用小结
    目录概述概念简介相关概念简介jsoup 的主要类APIJsoup 类Connection 接口Element(元素)类查找元素获取元素数据修改数据基本使用获取文档(Document)...
    99+
    2023-05-14
    jsoup使用 jsoup 框架用法
  • linux中的eof怎么用
    这篇文章主要介绍“linux中的eof怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux中的eof怎么用”文章能帮助大家解决问题。在linux中,eof是自定义终止符,是“END Of ...
    99+
    2023-06-30
  • ORACLE ANALYZE使用小结
      ANALYZE的介绍       使用ANALYZE可以收集或删除对象的统计信息、验证对象的结构、标识表或cluster中的行迁移/行链接信息等。官方文档关于ANALYZE功能介绍如下:   ·         Collect...
    99+
    2017-07-04
    ORACLE ANALYZE使用小结
  • Android Webview使用小结
    本文实例为大家分享了Android Webview使用小结,供大家参考,具体内容如下 #采用重载URL的方式实现Java与Js交互 在Android中,常用的Java与Js交互...
    99+
    2022-06-06
    小结 webview Android
  • java循环结构、数组的使用小结
    数组 数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 数组本身是引用数据类型,既可以存储基本数据类型,也可以存储...
    99+
    2024-04-02
  • Python使用struct库的用法小结
    目录struct简介常用函数struct.pack(format:str, v1, v2, …)struct.unpack(format:str,buffer:byte...
    99+
    2024-04-02
  • 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+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作