****此腳本來自於慕課網,版權歸原作者所有****
腳本目的:查詢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