zoukankan      html  css  js  c++  java
  • linux命令 EOF

    在shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。

    EOF只是一个分界符,当然也可以用abcde替换。
    当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。
    此分界符可以是所定义的任何字符串,其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,完全可以换成abcde之类的字符串,只是一个起始和结束的标志罢了。

    1,command<<EOF
    (内容)
    EOF
    例如:
     

    代码示例:
    #!/bin/bash
    #Filename:do.sh
    su - oracle -c "
    export ORACLE_SID=orcl
    sqlplus /nolog <<EOF
    connect / as sysdba
    startup;
    exit;
    EOF"
    sleep 5
    su - oracle -c 
    lsnrctl start

    说明:
    将“内容段”整个作为命令的输入。
    用su命令读取整段命令,并逐行执行。

    2,特殊用法:
    : << COMMENTBLOCK
       shell脚本代码段
    COMMENTBLOCK
    用来注释整段脚本代码。 : 是shell中的空语句。
     

    echo start
    :<<COMMENTBLOCK
    echo
    echo "this is a test"
    echo
    COMMENTBLOCK
    echo end

    这段脚本执行时,中间部分不会被执行:
     

    代码示例:
    [root@newserver shell]# sh eof.sh
    start
    end
  • 相关阅读:
    6.让代码更具可读性
    5构造函数和析构函数
    4面向对象之类的继承
    3隐形的指针
    2面向对象之类的封装
    od快捷键
    1.纠结的c++
    101宏定义的其他用法
    100解剖宏定义函数
    99,printf scanf手动功能实现
  • 原文地址:https://www.cnblogs.com/7q4w1e/p/9732583.html
Copyright © 2011-2022 走看看