linux shell脚本修改ini配置文件[session]下的键值

比如我要修改一个配置文件,如下,修改systemFlag.ini下的[huake]下的ip和port的值
在这里插入图片描述
代码如下,我就不解释了,有注释,用的是sed 来修改的,不懂的,可以去学习一下

#!/bin/bash  
  
#获取当前路径
currentPath=$(cd `dirname $0`; pwd)
# 配置文件路径  
config_file="$currentPath/systemFlag.ini"  
  
# 设置新的IP和端口值  \表示特殊符合处理,转义符
new_ip="47.98.173.88\/agpt\/safetymanagement\/rest\/api\/net-agpt"
new_port="55555"

# 检查配置文件是否存在  
if [ ! -f "$config_file" ]; then  
  echo "Error: $config_file does not exist!"  
  exit 1  
fi  
  
# 打印调试信息  
echo "Config file path: $config_file"  
echo "New IP value: $new_ip"  
echo "New Port value: $new_port"  
  
# 使用sed命令修改配置文件中【huake】下的ip和port的值  
#sed -i -e "s/^\[huake\]$/\[huake\]\nip=${new_ip}\nport=$new_port/" "$config_file"  #追加
# 替换
sed -i '/\[huake\]/,/\[.*\]/ s/ip=.*$/ip='${new_ip}'/' "${config_file}"
sed -i '/\[huake\]/,/\[.*\]/ s/port=.*$/port='${new_port}'/' "${config_file}"

echo "配置文件修改成功."
notify-send "$config_file 配置文件修改成功"

执行脚本,提示修改成功!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44667165/article/details/134074856