4

我知道以下代码在 /opt/hadoop/conf 目录中创建了一个文件 core-site.xml。有人可以为我用 linux shell 术语分解它吗?特别是 << 运算符 & CORE_EOF? 这些标记是如何工作的?我有点理解这一点,但想知道得更好。

cat >/opt/hadoop/conf/core-site.xml <<CORE_EOF
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:8020</value>
  </property>
</configuration>
CORE_EOF
4

2 回答 2

18

带有 << 运算符的命令将执行以下操作:

  • 启动运算符左侧指定的程序,例如 cat。
  • 抓取用户输入,包括换行符,直到在一行上满足运算符右侧指定的内容,例如 EOF
  • 将除 EOF 值之外的所有已读取的内容发送到左侧程序的标准输入。

    cat << EOF
    Hello
    World
    EOF
    

将发送“你好

世界”

到 cat 的标准输入。

这和这样做是一样的:

cat < file

文件包含:

Hello
World
于 2012-08-28T22:45:33.753 回答
0

在这种情况下创建一个新文件或用相同的名称重写旧文件

并将您的字符串放入文件中。

当您想将字符串添加到文件中时,请键入:

>> /opt/hadoop/conf/core-site.xml << EOF

细绳

细绳

EOF

于 2012-08-29T09:44:37.887 回答