我的Shell学习笔记之数数Mysql配置文件的配置条目数量

****此脚本来自于慕课网,版权归原作者所有****

脚本目的:查询Mysql配置文件my.cnf 中某配置项(例如[mysqld])的配置条目数量,并输出。

具体脚本如下:

#****
#Author: tomshen
#QQ: ×××
#Date: 2019-10-14
#Description: The test script
#Copyright (C): 2019 All rights reserved
#****
#输出my.cnf配置文件的每个配置段的名称,和每个配置段的配置项条目数

FILE_NAME=/etc/my.cnf

function get_all_segment
{
#获取所有的段
declare -a mysql_array=$(sed -n '/[.*]/p' $FILE_NAME | sed -e 's/[//g' | sed -e 's/]//g')

for var1 in ${mysql_array[@]}
do
echo "$var1"
done
unset var1
unset mysql_aeeay

}

function count_items_in_segment
{
#获取每个配置段的,配置条目的行数

    items=$(sed -n "/\[$1\]/,/\[.*]/p"  $FILE_NAME | grep -v ^# | grep -v ^$ | grep -v "\[.*\]")

    index=0
    for item in $items
    do
            index=`expr $index + 1`
    done
    echo $index

}

number=0
for segment in get_all_segment
do
number=expr $number + 1
items_count=count_items_in_segment $segment
echo "$number. 配置项: $segment 配置条目数:$items_count"

done

猜你喜欢

转载自blog.51cto.com/3037673/2442432