run_cmd="spark-submit \
$SPARK_OPTIONS \
--conf spark.hadoop.fs.default.name=file:/// \
--conf spark.hadoop.fs.defaultFS=file:/// \
--py-files \
${TARGET}/test.zip \
$TEST_PY \
$RAW_DATA_FILE \
$OUTPUT \
--route $AGG_OUTPUT1 \
--origin $AGG_OUTPUT2 \
--first $AGG_OUTPUT3" #line 71
echo $run_cmd
echo $run_cmd | bash
#line 75
代码如上所示,它可以在Ubuntu上成功运行。但是,当我在我的macbook上运行它时,spark-submit
正常完成并且输出也正确生成,但是它输出错误,这听起来真的不合理。此外,如果spark-submit
异常退出,则不会触发此错误。
./test.sh: line 71: unexpected EOF while looking for matching `"'
./test.sh: line 75: syntax error: unexpected end of file
答案 0 :(得分:1)
您尚未发布所有相关代码,只有60~75附近的一些行。
如果您在发布的代码之前的某处有一个未关闭的"
,则会发生错误。例如:
a="
b="something"
如果您使用bash
运行此脚本,则会报告:
script.sh: line 3: unexpected EOF while looking for matching `"'
script.sh: line 4: syntax error: unexpected end of file
与您的情况一样,错误报告不在未关闭"
的行上,
但在其他地方。
会发生什么,Bash将a
的值解释为\n\nb=
,
然后在"
之后有一个永不关闭的开头something
。
您的代码中也发生了同样的事情。
查找先前未在脚本中正确关闭的"
。