前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell批量修改文件参数,采用数组方式对应修改

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

原创
作者头像
eisc
修改2021-07-26 10:30:53
9200
修改2021-07-26 10:30:53
举报
代码语言:javascript
复制
#!/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 "$set"
     else   
         echo "$NR 没有获取到行 $setcs 退出修改"
     fi
 done

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com