linux的简单shell脚本包括数组和条件判断

来源:互联网 发布:ubuntu debian 知乎 编辑:程序博客网 时间:2024/06/05 19:10

后台实施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

0 0
原创粉丝点击