我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Bash EOF的使用小结

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Bash EOF的使用小结

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

    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
    33
    

    输出:

    $ 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"],
    
    

    参考:

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

    What is Cat EOF in Bash Script?

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

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Bash EOF的使用小结

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

    下载Word文档

    猜你喜欢

    Bash EOF的使用小结

    目录1. 命令行输出2. 写入文本3. 追加文本4. 覆盖文本5. 自定义 EOF6. 另一种格式7. 示例7.1 配置文件7.2 新建分区并挂载7.3 设置变量7.4 输出脚本7.5 匹配输出7.6 json 文本参考:EOF适用场景:
    2023-01-12

    Bash EOF的使用小结

    本文主要介绍了Bash EOF的使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-12

    linux的eof怎么使用

    这篇文章主要讲解了“linux的eof怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux的eof怎么使用”吧!linux的eof是自定义终止符,其
    2023-04-21

    np.ones的使用小结

    本文主要介绍了np.ones的使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-14

    document.cookie 使用小结

    document.cookie 是一个用于读取和设置浏览器 cookie 的属性。使用 document.cookie,可以实现以下操作:1. 读取 cookie:可以通过访问 document.cookie 来读取当前页面的所有 cook
    2023-08-11

    jsoup 框架的使用小结

    jsoup是一款基于Java的HTML解析器,它提供了一套非常省力的API,不但能直接解析某个URL地址、HTML文本内容,而且还能通过类似于DOM、CSS或者jQuery的方法来操作数据,所以jsoup也可以被当做爬虫工具使用,这篇文章主要介绍了jsoup使用,需要的朋友可以参考下
    2023-05-14

    SqlServer中Exists的使用小结

    SQLServer中Exists操作符:Exists检查子查询结果集是否存在行,返回布尔值。语法:SELECT*FROMtableWHEREEXISTS(SELECT1FROMtable2WHEREtable2.column=table1.column)。优点:提高性能语法简洁灵活性用途:检查数据是否存在验证约束执行复杂查询局限性:不返回具体值可能导致额外开销最佳实践:考虑性能影响简化子查询使用索引避免不必要的嵌套微调查询
    SqlServer中Exists的使用小结
    2024-04-02

    Android Webview使用小结

    本文实例为大家分享了Android Webview使用小结,供大家参考,具体内容如下 #采用重载URL的方式实现Java与Js交互 在Android中,常用的Java与Js交互的实现方式是通过函数addJavascriptInterface
    2022-06-06

    ORACLE ANALYZE使用小结

    ANALYZE的介绍       使用ANALYZE可以收集或删除对象的统计信息、验证对象的结构、标识表或cluster中的行迁移/行链接信息等。官方文档关于ANALYZE功能介绍如下:   ·         Collect or delete statis
    ORACLE ANALYZE使用小结
    2017-07-04

    Shell中的变量使用小结

    变量的定义,只能以字母和下划线开始,区分大小写,可以包含数字 字母下划线.详见官方手册[root@svn shell_example]# yourname='Linux'[root@svn shell_example]# echo $you
    2022-06-04

    filters.revealTrans.Transition使用方法小结

    filters.revealTrans.Transition使用方法小结:1. 创建Transition对象:使用`var transition = new filters.revealTrans.Transition(element)`,
    2023-08-17

    golang中context使用小结

    context是Go中传递请求信息的包。它包含超时、取消和元数据等信息。context可以通过各种方法创建,包括使用context.Background()、context.WithTimeout()和context.WithCancel()。context通过函数参数或通道传播。它不应该以全局变量的形式共享。可以使用context的Deadline和Done方法检索超时和取消信息。context的Value方法可用于存储与请求相关的元数据。最佳实践包括始终传递context、使用值传递、设置合理的超时、
    golang中context使用小结
    2024-04-23

    Mybatis中TypeHandler使用小结

    MyBatisTypeHandler在Java类型和数据库类型之间转换。它提供了内置类型,如基本类型、字符串类型、日期类型等。开发者也可以创建自定义TypeHandler处理更复杂的数据类型。使用TypeHandler的好处包括简化数据处理、提高代码可读性、扩展性和性能。最佳实践包括优先使用内置类型、仅在必要时创建自定义类型、遵循TypeHandler接口规范,并充分测试其正确性。
    Mybatis中TypeHandler使用小结
    2024-04-02

    编程热搜

    目录