概述
在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