zoukankan      html  css  js  c++  java
  • Shell脚本——cat/EOF输出多行

    在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判断生成不同的最终文件等等。

    一、cat和EOF

    cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
    EOF是“end of file”,表示文本结束符。
    结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。

    二、使用

    看例子是最快的熟悉方法:

    # cat << EOF > test.sh
    > #!/bin/bash
    > #you Shell script writes here.
    > EOF


    结果:

    引用
    # cat test.sh
    #!/bin/bash
    #you Shell script writes here.


    可以看到,test.sh的内容就是cat生成的内容。

    三、其他写法
    1、追加文件

    # cat << EOF >> test.sh


    2、换一种写法

    # cat > test.sh << EOF


    3、EOF只是标识,不是固定的

    # cat << HHH > iii.txt
    > sdlkfjksl
    > sdkjflk
    > asdlfj
    > HHH


    这里的“HHH”就代替了“EOF”的功能。结果是相同的。

    引用
    # cat iii.txt
    sdlkfjksl
    sdkjflk
    asdlfj


    4、非脚本中
    如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识

    # cat > iii.txt
    skldjfklj
    sdkfjkl
    kljkljklj
    kljlk
    Ctrl-D


    结果:

    引用
    # cat iii.txt
    skldjfklj
    sdkfjkl
    kljkljklj
    kljlk


    ※关于“>”、“>>”、“<”、“<<”等的意思,请自行查看bash的介绍

  • 相关阅读:
    C#中处理鼠标和键盘的事件
    C#中处理鼠标和键盘的事件
    C#中处理鼠标和键盘的事件
    mpich2安装
    算法题推箱子
    LINUX终端下windows盘的位置
    Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
    第九章顺序容器重学C++之《 C++ PRIMER》
    sed中使用变量
    抛出异常
  • 原文地址:https://www.cnblogs.com/kxdblog/p/4419835.html
Copyright © 2011-2022 走看看