码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 自定义终结符:EOF


    1.EOF

    在平时使用Shell的时候,我们可能对于EOF并不陌生,我们经常使用cat > file << EOF来批量写入文件,但我们其实对于EOF又很陌生,很多人都只知道EOF有这么一个用法,但其实并不知道EOF代表什么,EOF其实就是END of File,自定义终止符,为什么说是自定义呢?往下看就知道了。

    cat > file << EOF
    input file
    EOF
    
    • 1
    • 2
    • 3

    上面的例子是多数人都会使用的批量文本重定向到文件,这是Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。

    为什么这是自定义终结符呢?因为既然是自定义的,那就可以是任何符号

    cat > file << E
    input file
    E
    
    • 1
    • 2
    • 3

    这个例子和上面那个例子的效果是一样的,<<后面可以跟任何字符。

    2.<

    前面我们说了<一般跟cat搭配,那么<<-EOF又是什么东西呢?

    一般我们在使用cat > file << EOF的时候,作为终结符的EOF必须顶格写,前面不能有空格什么的,但是cat > file <<- EOF,就不是这样了,<<-能把终结符前面的制表符给消除掉,这可以解决由于脚本中的自然缩进产生的制表符。

    #!/bin/bash
    cat > file << EOF
    input file
    	EOF
    # 执行报错:test.sh:行4: 警告:立即文档在第 2 行被文件结束符分隔 (需要 `EOF')
    #!/bin/bash
    cat > file <<- EOF
    input file
    	EOF
    # 以上会执行成功
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

  • 相关阅读:
    SQL Server几种琐
    SSGSSRCSR区别
    LLM系列 | 20 : Llama2 实战(下篇)-中文语料微调(附完整代码)
    学习笔记——PCA降维sklearn
    客服系统本地部署:实现高效客户服务
    前端学成在线项目详细解析二
    Oracle实现主键字段自增
    java基于ssm课程建设制作服务平台系统
    关于numpy模块接口兼容性的问题
    kafka使用场景与设计原理
  • 原文地址:https://blog.csdn.net/weixin_54279427/article/details/134256695
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号