[Jenkins][JenkinsFile][Linux] sh 替换属性文件properties的内容

本文详细介绍如何使用Shell脚本中的sed命令来修改属性文件的内容,包括单行和多行替换,以及处理含有引号的替换场景。适用于JenkinsFile等自动化构建流程中对环境配置的灵活调整。

1、shell 替换属性文件内容:
sed -i "s#^key=.*#key=value#g" propertiesPath
如:
sed -i "s#^user.name=.*#user.name=用户名#g"  path/demo.properties
sed -i "s#^user.password=.*#user.password=密码#g"  path/demo.propertie

2、 在JenkinsFile里面,有时候有对项目的properties文件进行环境配置

pipeline {
    agent any
    stages {
        stage('configEnv') {
            steps {
                sh 'sed -i "s#^user.name=.*#user.name=用户名#g"  path/demo.properties'
            }
        }
    }
}

2.1 多行

pipeline {
    agent any
    stages {
        stage('configEnv') {
            steps {
                sh '''
                    #comment 注释
                    sed -i "s#^user.name=.*#user.name=用户名#g"  path/demo.properties
                    sed -i "s#^user.password=.*#user.password=密码#g"  path/demo.properties                
                '''
            }
        }
    }
}

2.2 替换内容有引号的情况,要进行两次转义

pipeline {
    agent any
    stages {
        stage('configEnv') {
            steps {
                sh '''
                    #comment 注释
                    sed -i "s#^user.name=.*#user.name=用户名#g"  path/demo.properties
                    sed -i "s#^user.password=.*#user.password=密码#g"  path/demo.properties
                    sed -i "s#^\\"user.password\\":.*#\\"user.password\\":\\"root\\"#g"  path/otherFile            
                '''
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值