后台实施HIVE库的操作
./test.sh hive_user hive_db hive_table select grant
echo " 1.user 2.db 3.table 4.priv 5.grantOrRevoke"
array=($1 $2 $3 $4 $5)
argn=(user db table priv grantOrRevoke)
if [ ${#array[@]} -ne 5 ]
then
echo "argument is bad "
exit 1
fi
for ((i=0;i<${#array[@]};i++));do
if [ "${array[$i]}" = null ] || [ "${array[$i]}" = '' ]
then
i=$(($i+1))
echo " the the ${argn[$i]} 's argument is bad";
else
echo " the ${argn[$i]} 's argument ${array[$i]} is OK";
fi
done
if [ "${array[4]}" = "grant" ] && [ "${array[2]}" = "*" ]
then
echo "hive -e ‘grant ${array[3]} on database ${array[1]} to ${array[0]}’"
elif [ "${array[4]}" = "grant" ] && [ "${array[2]}" != "*" ]
then
echo "hive –e ‘use database ${array[1]};grant ${array[3]} on table ${array[2]} to ${array[0]}’ "
elif [ "${array[4]}" = "revoke" ] && [ "${array[2]}" = "*" ]
then
echo "hive –e ‘revoke ${array[3]} on database ${array[1]} from ${array[0]}’"
elif [ "${array[4]}" = "revoke" ] && [ "${array[2]}" != "*" ]
then
echo "hive –e ‘use database ${array[1]};revoke ${array[3]} on table ${array[2]} from ${array[0]}’ "
fi