php - 如何用shell修改某个指定文件中的的内容
天蓬老师
天蓬老师 2017-04-10 17:53:17
[PHP讨论组]

现在要写一个shell 更新完静态资源后自动添加其版本号

比如有webroot/a.php

define('STATIC_VERSION', '2016.11.25.01.stable-v1');

执行脚本后将STATIC_VERSION常量中的2016.11.25.01.stable-v1,更改为:当前年.当前月.当前日.两位随机数.可定义的字符串

这种需求该怎样去实现呀?感谢各位专业大神

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
大家讲道理

保存下面代码为build.sh文件

#!/bin/bash

FILENAME=$1
VERSION_STR=$2
# 这里需要使用自己的随机数生成方式
RAND_STR=03

VERSION=`date +%Y.%m.%d.$RAND_STR.$VERSION_STR`

sed "/define('STATIC_VERSION'/ c define('STATIC_VERSION', '$VERSION')" $FILENAME

之后需要添加执行权限chmod +x build.sh

使用方式:

./build.sh test.php stable-v1
PHP中文网

谢邀,勉强写个。
由于实际应用中,采用行替换非常不灵活,此答案忽略,采用楼下的正则匹配。
version='2016.11.25.01.stable-v2'
sed -i "3cdefine('STATIC_VERSION', '$version');" ./test.php

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号