返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 2158|回复: 0

[原创] 【原创】linux-shell脚本连接数据库的实际案例源码

[复制链接]
发表于 2021-3-16 12:12:07 | 显示全部楼层 |阅读模式

少侠不来段修仙之旅吗~

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
本帖最后由 da11 于 2021-3-16 14:14 编辑

#! /bin/bash
dbip='xx.xx.xx.xx'
dbps='test'
dbuser='test'
dbport='1521'
dbname='mysql'


read -p "请输入游戏账户名 " gameusername

#echo $gameusername

findid=`mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "select id from $dbname.users where username = '$gameusername';" 2> /dev/null`

if [ -z $findid ];then
        echo "找不到角色id"
        exit
        fi

echo $gameusername "找到的角色id是: " $findid

test=0
while [ $test == 0 ]
do

findCoinInfo=`mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "select * from $dbname.user_purse where id = '$findid';" 2> /dev/null`


findCoinuid=`echo $findCoinInfo | awk '{print $1}'`    #和findCoinid互换变量名!!!
findCoinid=`echo $findCoinInfo | awk '{print $2}'`      #和findCoinuid互换变量名!!!

findCoin=`echo $findCoinInfo | awk '{print $3}'`
findCoinHisMon=`echo $findCoinInfo | awk '{print $4}'`
findFutureCoin=`echo $findCoinInfo | awk '{print $8}'`

if [ -z $findFutureCoin ];then
        findFutureCoin=0
fi

#echo $findCoinInfo
echo "用户名: " $gameusername
echo "用户uid是: " $findCoinuid
echo "用户id是: " $findCoinid
echo "点劵: " $findCoin
echo "历史充值金额: " $findCoinHisMon
echo "不删档点劵: " $findFutureCoin

read -p "该用户充值的金额,输入exit退出程序: " UserMoney

if [ $UserMoney == "exit" ];then
        exit
fi

if [ -z $UserMoney  2> /dev/null ];then
        clear
        echo "直接回车无效"
        continue
fi

#乘100处理,因为需求计算浮点数
UserMoney=`awk 'BEGIN{print '$UserMoney'*100 }'`
echo ""


if [ $UserMoney == "0" 2> /dev/null ];then
        clear
        echo "充值0元???!"
        continue
fi

findCoinHisMon=`awk 'BEGIN{print '$findCoinHisMon'*100 }'`
findCoinHisMon=$(((findCoinHisMon)+UserMoney))
#findCoinHisMon=`awk 'BEGIN{print '$findCoinHisMon'/100 }'`

findCoin=$((findCoin+(UserMoney*5)))
#findCoin=$((findCoinHisMon/100))


JCCoinBS=120 #基础倍数1.2
if [ $findCoinHisMon -gt 0 -a $findCoinHisMon -le 1000 ];then
        CoinBS=120
        echo "第一档" $CoinBS
        findFutureCoinCache=$((UserMoney*$JCCoinBS))
        #echo $findFutureCoin
        findFutureCoinCache=$((findFutureCoinCache/100))
        findFutureCoin=$((findFutureCoinCache+findFutureCoin))

elif [ $findCoinHisMon -gt 1000 -a $findCoinHisMon -le 5000 ];then
        CoinBS=130
        JCNum=1000        
        echo "第二档" $CoinBS
        
        ##findCoinHisMon=$((findCoinHisMon/100))
        #findFutureCoinCache1=$(((UserMoney-JCNum)*CoinBS))

        findFutureCoinCache1=$((((findCoinHisMon-JCNum)*CoinBS)/100))
        findFutureCoinCache2=$(((JCNum*$JCCoinBS)/100))
        findFutureCoin=$((findFutureCoinCache1+findFutureCoinCache2))

        ##findCoinHisMon=$((findCoinHisMon*100))

        echo "1: "$findFutureCoinCache1 " 2: "$findFutureCoinCache2

elif [ $findCoinHisMon -gt 5000 -a $findCoinHisMon -le 20000 ];then
        CoinBS=140
        JCNum=5000        
        echo "第三档" $CoinBS

        #findFutureCoinCache1=$(((UserMoney-JCNum)*CoinBS))
        findFutureCoinCache1=$((((findCoinHisMon-JCNum)*CoinBS)/100))
        findFutureCoinCache2=$((((JCNum-1000)*130)/100))
        findFutureCoinCache3=$((10*$JCCoinBS))

        findFutureCoin=$((findFutureCoinCache1+findFutureCoinCache2+findFutureCoinCache3))

        echo "1: "$findFutureCoinCache1 " 2: "$findFutureCoinCache2 " 3: "$findFutureCoinCache3

elif [ $findCoinHisMon -gt 20000 -a $findCoinHisMon -le 100000 ];then
        CoinBS=150
        JCNum=20000        
        echo "第四档" $CoinBS

        #findFutureCoinCache1=$(((UserMoney-JCNum)*CoinBS))
        findFutureCoinCache1=$((((findCoinHisMon-JCNum)*CoinBS)/100))
        findFutureCoinCache2=$((((JCNum-5000)*140)/100))
        findFutureCoinCache3=$(((50-10)*130))
        findFutureCoinCache4=$((10*$JCCoinBS))

        findFutureCoin=$((findFutureCoinCache1+findFutureCoinCache2+findFutureCoinCache3+findFutureCoinCache4))

        echo "1: "$findFutureCoinCache1 " 2: "$findFutureCoinCache2 " 3: "$findFutureCoinCache3 " 4: "$findFutureCoinCache4

elif [ $findCoinHisMon -gt 100000 ];then
        CoinBS=170
        JCNum=100000        
        echo "第五档" $CoinBS

        #findFutureCoinCache1=$(((UserMoney-JCNum)*CoinBS))
        findFutureCoinCache1=$((((findCoinHisMon-JCNum)*CoinBS)/100))
        findFutureCoinCache2=$((((JCNum-20000)*150)/100))
        findFutureCoinCache3=$(((200-50)*140))
        findFutureCoinCache4=$(((50-10)*130))
        findFutureCoinCache5=$((10*$JCCoinBS))

        findFutureCoin=$((findFutureCoinCache1+findFutureCoinCache2+findFutureCoinCache3+findFutureCoinCache4+findFutureCoinCache5))

        echo "1: "$findFutureCoinCache1 " 2: "$findFutureCoinCache2 " 3: "$findFutureCoinCache3 " 4: "$findFutureCoinCache4" 5: "$findFutureCoinCache5
fi

echo "请确认以下信息:"
echo "用户名: " $gameusername
echo "用户uid是: " $findCoinuid
echo "用户id是: " $findCoinid
echo "点劵: " $findCoin

findCoinHisMon=`awk 'BEGIN{print '$findCoinHisMon'/100 }'`
echo "历史充值金额: " $findCoinHisMon

echo "不删档点劵: " $findFutureCoin

echo ""

read -p "确认请按y " pd1

if [ $pd1 == "y" ];then
        clear
        echo '充值操作已确认,将在5秒后插入数据库,中途可以按Ctrl+c紧急停止程序'

        echo "用户名: " $gameusername
        echo "用户uid是: " $findCoinuid
        echo "用户id是: " $findCoinid
        echo "点劵: " $findCoin
        echo "历史充值金额: " $findCoinHisMon
        echo "不删档点劵: " $findFutureCoin
        sleep 5
        mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "UPDATE $dbname.user_purse SET coin='$findCoin' where id='$findid';"

        mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "UPDATE $dbname.user_purse SET history_money='$findCoinHisMon' where id='$findid';"

        mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "UPDATE $dbname.user_purse SET future_coin='$findFutureCoin' where id='$findid';"
        clear
        continue
else
        clear
        echo "没有确认信息,充值操作没有执行"
        #findCoinInfo=`mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "select * from $dbname.user_purse where id = '$findid';" 2> /dev/null`
        #
        #findCoinuid=`echo $findCoinInfo | awk '{print $1}'`
        #findCoinid=`echo $findCoinInfo | awk '{print $2}'`
        #findCoin=`echo $findCoinInfo | awk '{print $3}'`
        #findCoinHisMon=`echo $findCoinInfo | awk '{print $4}'`
        #findFutureCoin=`echo $findCoinInfo | awk '{print $8}'`
        #if [ -z $findFutureCoin ];then
        #        findFutureCoin=0
        #fi

        continue
fi



done






游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表