shell 读文件操作动态变量 脚本

#!/bin/bash
filename=../config/database.config

readFun(){
    str=$1
    checkKey=$2
    varName=$3 
    if [[ $str =~ $checkKey ]];then
    str1=${str#*\"}
        result=${str1%\"*}
    if [[ $result == $str ]];then
            echo "格式不对!!!!:"$str
        exit 2
        fi
    eval $varName=$result
   fi
}

while read line
do
# 函数 参数字符串 过滤参数 变量名 
readFun "$line" mysql_host mysqlHost
readFun "$line" mysql_user mysqlUser
readFun "$line" mysql_password mysqlPass
readFun "$line" mysql_database mysqlDatabase

done < $filename

echo "host:"$mysqlHost "user:"$mysqlUser "pass:"$mysqlPass "database:"$mysqlDatabase

echo "准备初始化数据库"
echo "输入内容:"$mysqlPass
mysql -h$mysqlHost -u$mysqlUser -p $mysqlDatabase < database.sql

state=$?
if [[ $state == 0 ]];then
    echo "初始化数据库成功!!"
    exit 0
fi
echo "初始化数据库失败~~"

 

database.config内容格式

{mysql_host,"xxx"},
{mysql_user,"xxx"},
{mysql_password,"xxx"},
{mysql_database,"xxx"},

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值