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的介绍

  • 相关阅读:
    SVN使用之分支、合并
    eq相等 ,ne、neq不相等 EL表达式
    PLSQL:plsql中文乱码,显示问号
    mysql中实现行号,oracle中的rowid
    安装完QQ必须要删除掉的几个恐怖文件
    关于table的一些兼容性问题
    Javascript事件绑定的几种方式
    jQuery中的一些正则匹配表达式
    将java类的泛型集合转换成json对象
    python登录豆瓣,发帖
  • 原文地址:https://www.cnblogs.com/kxdblog/p/4419835.html
Copyright © 2011-2022 走看看