比如我要修改一个配置文件,如下,修改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 配置文件修改成功"
执行脚本,提示修改成功!