首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这在sh脚本中是什么意思?

这在sh脚本中是什么意思?
EN

Stack Overflow用户
提问于 2013-09-11 09:45:47
回答 2查看 165关注 0票数 0

我打算在sh脚本中进入hive shell(如下所示)并执行一些HQL请求。

代码语言:javascript
运行
复制
$ hive
Hive history file=/tmp/admin/hive_job_log_admin_201309110939_570764_8012_1eecdf83_1dd4da6d.txt
hive>

然后我得到了一个脚本,它可以按照我想要的方式工作。sh脚本的代码片段如下:

代码语言:javascript
运行
复制
#!/bin/bash

#HQL
/home/hive/hive/bin/hive -u root -p root <<EOF
show tables;
EOF

但是我不知道<<EOF和最后一个EOF到底是什么意思。有人能给我一个具体的解释吗?非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2013-09-11 09:46:48

这被称为"here document“(也是here-document,here here,here is,here-string或here-script)语法。

代码语言:javascript
运行
复制
<<EOF
show tables;
EOF

生成文本:

代码语言:javascript
运行
复制
show tables;

有关详细信息,请参阅heredoctag wiki

票数 4
EN

Stack Overflow用户

发布于 2013-09-11 10:06:52

EOF只是一个常见的文件描述符,它可以是任何东西,而不仅仅是EOF,它可以是MyEOF等。如果您将其声明为MyEOF,那么它将使用字符串MyEOF作为标准输入,您可以将$MyEOF指定为变量,以后可以将其内容用作标准输入。如Johnsyweb所提到的,这被称为short字符串,因为它使用与整个块形成对比的短串,如heredoc中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18731424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档