使用sed将JAVA_HOME环境变量添加到hadoop env,sh文件中的问题

使用sed将JAVA_HOME环境变量添加到hadoop env,sh文件中的问题,hadoop,sed,environment-variables,Hadoop,Sed,Environment Variables,当我运行命令时: sed -i "\$aexport JAVA_HOME=c:\Program Files (x86)\Java\jre1.8.0_151\bin" $HADOOP_HOME/etc/hadoop/hadoop-env.sh 我得到一个错误: sed:无法读取/usr/share/hadoop/etc/hadoop/hadoop-env.sh 没有这样的文件或目录 我验证了目录和文件是否存在$HADOOP\u HOME=/usr/share/HADOOP 你知道问题是什么吗?我

当我运行命令时:

sed -i "\$aexport JAVA_HOME=c:\Program Files (x86)\Java\jre1.8.0_151\bin" $HADOOP_HOME/etc/hadoop/hadoop-env.sh
我得到一个错误:

sed:无法读取/usr/share/hadoop/etc/hadoop/hadoop-env.sh 没有这样的文件或目录

我验证了目录和文件是否存在<代码>$HADOOP\u HOME=/usr/share/HADOOP


你知道问题是什么吗?我已经搜索了StackOverflow和google,但没有找到解决方案。

因此,我将通过以下检查作为起点来解决此问题:

我-检查名为
$HADOOP\u HOME
的变量的值,我相信您已经检查过了,您可以通过执行
echo“$HADOOP\u HOME”
将其打印一次,如果这是好的,请执行以下操作

II-执行
ls-ld$HADOOP\u HOME/etc/HADOOP/HADOOP env.sh
并查看文件是否存在

III-然后尝试将sed命令更改为以下命令一次:

sed -i "\$aexport JAVA_HOME=c:\Program Files (x86)\Java\jre1.8.0_151\bin" "$HADOOP_HOME/etc/hadoop/hadoop-env.sh"

那就告诉我们进展如何。

你在用Cygwin吗?您可以单独导出JAVA_主页。这里是对第1-3:1项的响应/usr/share/hadoop 2-rw-r--r--1 gary gary 16080 Dec 8 11:42/usr/share/hadoop/etc/hadoop/hadoop-env.sh3。sed:无法读取/usr/share/hadoop/etc/hadoop/hadoop-env.sh:没有这样的文件或目录