shell脚本操作hbase的两种命令

网上只能找到命令一:

exec hbase_home/bin/hbase shell <

但是EOF处会自动退出整个脚本,无法执行后面内容,不适用于大的自动化脚本

作者综合hbase官网和一些脚本知识,编写了命令二为可用:

echo "status
create 'testtable','colfaml'
list 'testtable'
put 'testtable','myrow-1','colfaml:q1','value-1'
scan 'testtable'
disable 'testtable'
drop 'testtable'" | hbase_home/bin/hbase shell -n 2>&1
status=$?
echo "The status was " $status
if [ $status == 0 ]; then
    echo "功能测试成功"
else
    echo "功能测试错误"
fi
echo "完毕"

注:2>&1为错误重定向为标准输出1的意思,即命令正确返回0,错误返回1

前面若添加 > /dev/null 即hbase_home/bin/hbase shell -n > /dev/null 2>&1则为将命令输出到只写文件/dev/null,控制台不打印命令输出,且命令正确返回0,错误返回1

这样解决了自动退出问题的同时还能自动判断命令执行情况

你可能感兴趣的:(shell脚本操作hbase的两种命令)