如何使用shell脚本检查hbase
表的存在:
if [HBASE COMMAND]
echo "table exist"
else
echo "create new table"
答案 0 :(得分:1)
可以使用$?
检查退出状态,请参阅打开群组基本规范第7期<{3}} :
printf "exists '%s'\n" mytable | hbase shell 2>&1 | grep -q "does exist" 2>/dev/null
if [ $? -eq 0 ] ; then
printf "table exists\n"
else
printf "create new table\n"
fi
您可以使用if
语句直接执行复合命令列表;请参阅 The Open Group Base Specifications Issue 7 中的2.5.2 Special Parameters部分。如果退出状态为0(成功),则执行then
块中包含的命令。
尝试检查mytable
if printf "exists '%s'\n" mytable | hbase shell 2>&1 | grep -q "does exist" 2>/dev/null ; then
printf "table exists\n"
else
printf "create new table\n"
fi
如果grep -q
匹配(如果在生成的输出中找到字符串0
,则 regex
不会向标准输出打印任何内容,退出状态为does exist
(成功)通过hbase
命令)。
hbase shell -n
可用于从shell脚本执行命令。
使用exists
命令检查表的存在。