首页 > 系统相关 >shell脚本中的EOF是什么

shell脚本中的EOF是什么

时间:2023-09-25 15:00:46浏览次数:39  
标签:脚本 shell EOF 标记 标签 sqlplus

概述

在Shell脚本中,EOF(End of File)是一个特殊标记,用于指示一段文本的开始和结束位置。但它并不是Shell脚本中的关键字或保留字。您可以自由选择EOF之前的标记,只需确保开始和结束标记匹配即可。基本上<<EOF告诉 shell 您将输入多行字符串,直到“标记” EOF。您可以根据需要命名此标签,通常是EOF或STOP。

EOF 参数示例

sqlplus / as sysdba << EOF
select name, open_mode from v$database;
archive log list;
EOF

sqlplus 命令将启动 sqlplus,但现在我们需要传递 Linux 解释器无法理解的 sql 查询。<< EOF参数将把 sql 查询作为用户输入直接传递到 sql 提示符。

这样做直到遇到相同的EOF参数。需要遵循的一些规则:

  • 标签可以是任何字符串,大写或小写,尽管大多数人按照惯例使用大写

  • 如果该行中有其他单词,则该标签将不会被视为此处标签。在这种情况下,它将仅被视为字符串的一部分。标签本身应位于单独的行上,才能被视为标签

  • 标记在该行中不应有前导或尾随空格才能被视为标记。否则它将被视为字符串的一部分

保存 EOF 输出

您可以将 EOF 输出保存到另一个文件

sqlplus / as sysdba << EOF > output.log
select name, open_mode from v$database;
archive log list;
EOF

EOF 示例

使用 EOF 打印变量值

a=10
cat << EOF
$a
EOF

通过 shell 脚本运行 rman 备份

cat << EOF > print.sh
#!/bin/bash
echo \$PWD
echo $PWD
EOF

 

 

标签:脚本,shell,EOF,标记,标签,sqlplus
From: https://www.cnblogs.com/lkj371/p/17727945.html

相关文章

  • Applescript脚本实现全自动无痕检测手机号码是否注册iMessage的原理
    一、检测数据的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写脚本控制Macos/iphon......
  • 封装继承多态和instanceof
    封装一般利用私有private把属性私有,使其无法被调用,想要调用就必须使用get/set快捷键Alt+insert方法来将其使用,它可以增强我们程序的安全性,同时再set的方法中我们可以加入关于变量能否被调用的一些限制get/set输出私有变量方法继承继承是类与类之间的关系,我们可以让子类通过ex......
  • 用python脚本计算某一个文件的行数
    python可以统计文件的行数,你相信吗?不管你信不信反正我信了。下面我们来看一下python怎样统计文件的行数,代码很简单,我也做了注释,很简单的实现。。。123456789101112131415161718192021#_*_coding:utf_8#引入sys和系统os模块import sys import os '''计算某一个文件的行数'''def......
  • 从文件路径中提取文件名的shell操作
    Sundray-SW/extdir#sfp=/extdir/debug_bin/ops-devsdSundray-SW/extdir#echo${sfp##*/}ops-devsdSundray-SW/extdir#basename${sfp}ops-devsdSundray-SW/extdir#dirname${sfp}/extdir/debug_bin ${}的一些特殊功能:file=/dir1/dir2/dir3/my.file.txt${file#*/}:拿......
  • bash的start脚本
    #!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=gateway-1.0-SNAPSHOT.jarINSTALL_PATH=/home/server/immp/gateway#使用说明,用来提示输入参数usage(){echo"Usage:sh脚本名.sh[start|stop|restart|status]"exit1}#检查程序是否在运......
  • linux巡检脚本常用
    Linux系统服务巡检脚本原创 李逸皓 运维book思议 2023-09-2418:01 发表于河北收录于合集#linux系统63个#运维103个#shell66个先放个链接,万一有人关注呢运维book思议李小白,一个北漂的运维。希望能够通过本公众号与业内各位大神交流技术问题。186篇......
  • bash shell快速备忘单
    linuxbashshell脚本的快速参考备忘单(全)原创 诺苏编程 Qt历险记 2023-08-1214:07 发表于广东收录于合集#linux10个#echo1个#bash1个入门hello.sh#!/bin/bashVAR="world"echo"Hello$VAR!"#=>Helloworld!执行脚本$bashhello.sh 变量NAME=......
  • ansible教程:使用win_shell和win_copy从 HTTP 文件服务器下载文件并将其复制到目标位置
    with_fileglob参数无法直接指定HTTP文件服务器上的文件路径。它是用于在本地文件系统中进行文件的模式匹配,并将匹配的文件作为迭代项来执行任务。如果你需要从HTTP文件服务器上下载文件并将其复制到目标位置,你可以使用适当的工具或库来实现这个任务。下面是一个示例,使用curl......
  • 一文读懂Shell进程操作:编程新手必看
    什么是程序,什么又是进程程序是指令的集合,而进程则是程序执行的基本单元。为了让程序完成它的工作,必须让程序运行起来成为进程,进而利用处理器资源、内存资源,进行各种 I/O 操作,从而完成某项特定工作。从这个意思上说,程序是静态的,而进程则是动态的。进程有区别于程序的地方还有:进程......
  • shell-进程管理脚本
    功能函数列表:    1、functionget_all_group 返回进程组列表字符串2、functionget_all_process 返回进程名称列表字符串        3、functionget_process_info 返回进程详细信息列表字符串,详细信息包括:运行状态、   PID、CPU、MEM、启......