my.cnf配置格式如下

vi my.cnf
[client]
port=3306
socket=/tmp/mysql.socket

[mysqld]
port=3306
server-id=1
datadir=/usr/local/mysql/data

[mysqld_safe]
port=3306

more parseMy.sh

#!/bin/bash
cnf=$(cd `dirname $0`;pwd)"/my.cnf"

#得到区块数组
g_sec=(`sed -n '/\[*\]/p' $cnf |grep -v '^#'|tr -d []`)
#sed -n '/\[*\]/p' 得到包含[*]的行
#grep -v '^#' 去掉#打头的行
#tr -d [] 去掉[]
#g_sec=(client mysqld mysqld_safe)

for ((i=0;i<${#g_sec[@]};i++))
do
echo "解析No."$i
sec_name=${g_sec[i]}
g_names=(`sed -n '/\['$sec_name'\]/,/\[/p' $cnf|grep -Ev '\[|\]|^$|^#'|awk -F '=' '{print $1}'`)
#sed -n '/\['$sec_name'\]/,/\[/p' 得到从[$sec_name]到临近[的所有行
#grep -Ev '\[|\]|^$|^#' 去掉包含[或]的行 去掉空行 去掉#打头的行
#awk -F '=' '{print $1}'`得到=号前面字符

g_values=(`sed -n '/\['$sec_name'\]/,/\[/p' $cnf|grep -Ev '\[|\]|^$|^#'|awk -F '=' '{print $2}'`)
#awk -F '=' '{print $1}'`得到=号后面字符

for ((j=0;j<${#g_names[@]};j++))
do
echo ${g_names[$j]}" "${g_values[$j]}
done

done

shell解析my.cnf配置文件的更多相关文章

  1. my.cnf 配置文件参数解释

    my.cnf 配置文件参数解释: #*** client options 相关选项 ***# #以下选项会被MySQL客户端应用读取.注意只有MySQL附带的客户端应用程序保证可以读取这段内容.如果你 ...

  2. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  3. MySQL数据库my.cnf配置文件注释详解

    我们知道,在MySQL数据库安装完成后,要对my.cnf配置文件进行适当的修改才能充分利用MySQL数据库的功能.但是对于初学者来说,修改my.cnf配置文件似乎是一个比较难的过程.为了解决这个问题, ...

  4. shell解析命令行的过程以及eval命令

    本文说明的是一条linux命令在执行时大致要经过哪些过程?以及这些过程的大致顺序. 1.1 shell解析命令行 shell读取和执行命令时的大致操作过程如下图: 以执行以下命令为例: echo -e ...

  5. MySQL my.cnf 配置文件注释

    以下是my.cnf配置文件参数解释 [client] port                     = 3309socket                   = /home/longxiben ...

  6. 使用shell解析脚本依赖关系,并自动补数

    将脚本依赖关系放到表中 使用shell解析脚本依赖关系,递归的计算各个脚本. #!/bin/bash # dm 补数 basepath=$(cd ``; pwd) cd $basepath sourc ...

  7. 【mysql案例】mysql5.6.14配置my.cnf多实例,mysql_install_db初始化不读取my.cnf配置文件

    1.1.1. mysql5.6.14多实例my.cnf时,初始化不读取my.cnf配置文件 [环境描写叙述] 在多实例配置的/etc/my.cnf环境中,运行mysql_install_db后.启动M ...

  8. (转)shell解析命令行的过程以及eval命令

    shell解析命令行的过程以及eval命令   本文说明的是一条linux命令在执行时大致要经过哪些过程?以及这些过程的大致顺序. 1.1 shell解析命令行 shell读取和执行命令时的大致操作过 ...

  9. shell专题(二):Shell解析器

    (1)Linux提供的Shell解析器有: [atguigu@hadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/da ...

随机推荐

  1. Java虚拟机--------JVM常见参数

    JVM 调优常见参数 Java1.7的jvm参数查看一下官方网站. http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java. ...

  2. WPF 去掉Drag a column header here to group by that column

    <dxg:GridControl.View> <dxg:TableView x:Name="view" ShowGroupPanel="False&qu ...

  3. 一致性hash算法及java实现

    一致性hash算法是分布式中一个常用且好用的分片算法.或者数据库分库分表算法.现在的互联网服务架构中,为避免单点故障.提升处理效率.横向扩展等原因,分布式系统已经成为了居家旅行必备的部署模式,所以也产 ...

  4. [UnityShader基础]05.模板测试

    参考链接: https://blog.csdn.net/u011047171/article/details/46928463 https://blog.csdn.net/JohnBlu/articl ...

  5. IntelliJ IDEA 性能优化

    idea打开的多了 内存占用也就多了 下边是亲试的优化ide性能的方法 1.设置JVM的启动参数: 进入idea的安装目录的bin文件夹 打开 idea.exe.vmoptions 文件, 修改-Xm ...

  6. html: 仿制soundmanager2右上角面板

    仿制 http://schillmania.com/projects/soundmanager2/#volume 右上角面板 <style type="text/css"&g ...

  7. tensorflow实战系列(四)基于TensorFlow构建AlexNet代码解析

    整体流程介绍: 我们从main函数走,在train函数中,首先new了一个network;然后初始化后开始训练,训练时设定设备和迭代的次数,训练完后关闭流程图. 下面看network这个类,这个类有许 ...

  8. 如何创建.gitignore文件,忽略不必要提交的文件

    1.gitignore 在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的.对于这些文件应该对于Github来讲是透明的.Github提供这种功能,可以自己指定哪些文件 ...

  9. oracle 连接字符串的问题

    未指定的错误,发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息.数据类型不被支持. 原因是你用的ADO   for   ORACLE的驱动是微软的Microsoft OLE DB ...

  10. pytorch入门之安装和配置

    pytorch是一种python接口的深度学习框架,其他的框架还有caffe,tensorflow等等. 1,pytorch目前支持linux和OSX两种系统.支持的Python版本有2.7,3.5, ...