gpt4 book ai didi

bash - 通过添加环境变量执行 Shell 脚本

转载 作者:可可西里 更新时间:2023-11-01 15:07:16 25 4
gpt4 key购买 nike

#!/bin/bash
export HIVE_OPTS="$HIVE_OPTS -hiveconf mapred.job.queue.name=hdmi-technology"
export HIVE_AUX_JARS_PATH=/home/hadoop/lib/HiveUDF.jar
hive -S -e 'set mapred.job.queue.name=hdmi-technology'
hive -S -e 'SELECT count(*) from testingtable2' > attachment.txt

每当我尝试像下面那样运行上面的 shell 脚本 (count.sh) 时,我总是会出错,我不知道我在做什么错,因为我是 shell 脚本的新手,我不确定如何添加shell 脚本中的环境变量。

bash-3.00$ sh count.sh
count.sh: HIVE_OPTS= -hiveconf mapred.job.queue.name=hdmi-technology^M: is not an
identifier

顺便说一句,我在前两行中添加了环境变量,我在我的 shell 脚本中做错了吗?任何帮助将不胜感激。

在我按照以下评论进行了所有更改之后,

mv count.sh count, 
chmod +x count,
./count

每当我尝试在我的提示中直接执行此操作时 export HIVE_AUX_JARS_PATH=/home/hadoop/lib/HiveUDF.jar 它工作正常,但每当我尝试将其添加到我的 shell 脚本中时,如前所述在我的问题中,我总是得到“java.io.FileNotFoundException(文件文件:/home/hadoop/lib/HiveUDF.jar 不存在。为什么会这样?

最佳答案

您正在使用不是 bash 的 sh 命令运行 bash 脚本。使用 ./count.sh 运行它,这样 shebang 行就会生效,或者只说 bash count.sh

关于bash - 通过添加环境变量执行 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11680020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com