#!/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
上記のシェル スクリプト (count.sh) を以下のように実行しようとすると、常にエラーが発生します。シェル スクリプトを初めて使用するため、何が間違っているのかわかりません。環境変数を追加する方法もわかりません。シェルスクリプト。
bash-3.00$ sh count.sh
count.sh: HIVE_OPTS= -hiveconf mapred.job.queue.name=hdmi-technology^M: is not an
identifier
最初の 2 行で環境変数を追加しているのですが、シェル スクリプトで何か間違ったことはありますか? どんな助けでも大歓迎です。
以下のコメントに従って行ったすべての変更の後、
mv count.sh count,
chmod +x count,
./count
プロンプトでこれを直接実行しようとするとexport HIVE_AUX_JARS_PATH=/home/hadoop/lib/HiveUDF.jar
問題なく動作しますが、質問で述べたようにシェルスクリプトにこれを追加しようとすると、常に「java.io.FileNotFoundException(File file:/home/hadoop/lib)」が発生します/HiveUDF.jar が存在しないのはなぜですか?