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

  • 相关阅读:
    jQuery实现仿微博发布框字数提示
    jQuery实现滚动公告练习
    jQuery实现页面搜索
    jQuery某网站品牌列表效果
    [转]windows中断与共享的连接(samba)
    rpm --rebuilddb
    【转】一个 Linux 上分析死锁的简单方法
    取消脚本进程之——后台进程
    whoami与who am i
    linux启动执行某个脚本
  • 原文地址:https://www.cnblogs.com/kxdblog/p/4419835.html
Copyright © 2011-2022 走看看