当前位置: 首页 > 知识库问答 >
问题:

如何在Shell脚本中从Beeline获取连接状态?[副本]

西门淮晨
2023-03-14

我正在通过shellscript的直线执行配置单元查询。下面是一个代码示例:我看到即使连接到Hive数据库失败,$?仍将返回零作为退出代码。对于下面这样的用例,如何从beeline获取退出代码/连接状态?一旦beeline无法连接到DB,我需要停止shellscript的执行,并且应该记录一条适当的消息,提示配置单元连接失败。

beeline -u $HIVE_CONNECTION_STRING  --outputformat=csv2 -f $LOCATION_OF_HIVE_SELECT_QUERY_FILE > QueryResults.csv

if [$? -ne 0]; then 
   echo "Could not connect to DB."
   exit 1
else
   #Do rest of the process since data was fetched from DB successfully above
fi

共有2个答案

任宾鸿
2023-03-14

您不需要使用<代码>$ 。只需将命令放入if条件,然后交换then和else子句即可。

if beeline -u "$HIVE_CONNECTION_STRING" --outputformat=csv2 -f "$LOCATION_OF_HIVE_SELECT_QUERY_FILE" > QueryResults.csv
then 
  #Do rest of the process since data was fetched from DB successfully above
else
  echo "Could not connect to DB."
  exit 1
fi

顺便说一句:在程序参数中始终使用双引号变量。

高化
2023-03-14

我认为您有一个不应该有的空白-ne。试试这个-ne

beeline -u $HIVE_CONNECTION_STRING  --outputformat=csv2 -f $LOCATION_OF_HIVE_SELECT_QUERY_FILE > QueryResults.csv

if [$? -ne 0]; then 
   echo "Could not connect to DB."
   exit 1
else
   #Do rest of the process since data was fetched from DB successfully above
fi
 类似资料:
  • 本文向大家介绍shell脚本监控mysql主从状态,包括了shell脚本监控mysql主从状态的使用技巧和注意事项,需要的朋友参考一下 此脚本首先判断mysql服务器是否运行,如果正常,继续判断主从,否则发邮件告警,只发一次。 判断主从状态是判断IO和SQL线程是否都为yes,如果不是则发邮件通知,只发一次。

  • 问题内容: 在Jenkinsfile Groovy脚本阶段,假设我要发出一个Linux命令来输出字符串的行和列,并想要在特定行的输出中获取第n列。这样的命令的一个示例是“ ls -al”。所以我这样做正确吗? 但是,如何获取本质上为$ {COL [4]}的值,该值是“ ls -al”命令的第五列,即目录大小? 谢谢! 问题答案: 您在示例中显示的bash脚本不会返回正确的目录大小。它将以递归方式返

  • 问题内容: 我很确定答案是否定的,但是我想我还是会问。 如果我的站点引用了名为“ whatever.js”的脚本,是否可以从该脚本中获取“ whatever.js”?喜欢: 麻烦多于依赖检查所值得的,但是这真是麻烦。 问题答案: var scripts = document.getElementsByTagName(‘script’); var lastScript = scripts[scrip

  • 问题内容: 如何在Linux中从C执行Shell脚本? 问题答案: 这取决于您要对脚本(或要运行的任何其他程序)执行的操作。 如果只想运行脚本,这是最容易的事情,但是它也做其他一些事情,包括运行shell并让其运行命令(在大多数* nix下是/ bin / sh)。 如果您要通过标准输入来输入shell脚本或使用其标准输出,则可以使用(和)设置管道。这也使用外壳程序(大多数* nix下是/ bin

  • 注意:用户界面已经在 Dreamweaver CC 和更高版本中做了简化。因此,您可能在 Dreamweaver CC 和更高版本中找不到本文中描述的一些选项。有关详细信息,请参阅此文章。 使用“删除连接脚本”命令 可以使用“删除连接脚本”命令删除 Dreamweaver 在远程文件夹中放置的用于访问数据库的脚本。只有在 Dreamweaver 中进行设计时创作时才需要使用这些脚本。 在“数据库连

  • 问题内容: 我有一个Windows从站,安装了bash。我正在尝试在其上运行Shell脚本作为预构建步骤。关于如何执行此操作的任何想法? 问题答案: 您需要使用脚本作为参数运行bash: 您可能还需要根据环境提供完整的bash路径。