收藏文章 楼主

shell批量修改文件参数,采用数组方式对应修改

版块:疑难   类型:普通   作者:小绿叶技术博客   查看:1043   回复:0   获赞:0   时间:2021-07-24 18:30:37

#!/bin/bash

#脚本开发:小绿叶数据博客

#脚本自动替换参数

setcs=(

"error_reporting ="

"display_errors ="

"date.timezone ="

"post_max_size ="

"upload_max_filesize ="

)

upsetcs=(

"error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE;"

"display_errors = On;"

"date.timezone = PRC;"

"post_max_size = 32M;"

"upload_max_filesize = 32M;"

)

suzu=${#setcs[*]} ; echo "修改文件总参数个为:$suzu"

# 由于数组角标默认从0开始,数组角标数数到元素个数会多出一个空的,才用小数组个数6==》6-1=0~5

phpini="/etc/opt/remi/php74/php.ini"

if [ ! -e $phpini.back ]

then

     echo "备份"

     cp $phpini $phpini.back

   else 

     echo "备份文件存在:$phpini.back"

fi


for((i=0;i<$suzu;i++))

  do

    set=${setcs[$i]} ; upset=${upsetcs[$i]}

    NR=`cat -n $phpini | grep "$set" | awk -F" " '{print $1}'` ; echo "行信息: $NR"

    

    if [[ ${NR} =~ ^[0-9]+ ]]

     then

         echo "$set   +++++> 参数更新: $upset  

         -------------------------------------------------------------"

         sed -i "$NR a $upset" $phpini

         sed -i "$NR d" $phpini

         echo "修改后的信息:";  cat $phpini | grep "$upset"

     else   

         echo "$NR 没有获取到行 $setcs 退出修改"

     fi

 done


提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

回复:shell批量修改文件参数,采用数组方式对应修改

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息