You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用shell脚本创建并写入内容到properties配置文件

问题原因排查

  • 路径不匹配:第一行touch abc.properties创建的是当前执行目录下的文件,但第二行追加操作指向的是${lscm_home}目录下的文件,若lscm_home变量未赋值、或者和当前执行目录不一致,内容自然无法写入到你预期的文件中。
  • 输出格式不符合要求:lscm show lastmod命令直接输出的是时间戳字符串,缺少必填的version=前缀,就算写入成功也不满足properties文件的配置规范。
  • 变量解析异常:如果你是在类似Jenkins流水线的环境中执行sh "xxx"格式的命令,双引号会让外层环境提前解析${lscm_home}变量,导致shell执行时路径错误。

修正方案

shell的重定向操作会自动创建不存在的文件,不需要单独执行touch命令。

普通shell脚本写法

先确认lscm_home变量已正确赋值,直接使用以下命令即可:

# 如需覆盖原有文件,将 >> 替换为 >
echo "version=$(lscm show lastmod . -f yyyyMMddHHmmssSSS)" >> ${lscm_home}/abc.properties

如果不需要把文件存到lscm_home目录,直接写入当前目录即可:

echo "version=$(lscm show lastmod . -f yyyyMMddHHmmssSSS)" >> abc.properties

Jenkins流水线写法

如果是在Jenkins的pipeline中执行,用单引号包裹shell命令,避免Jenkins提前解析shell变量:

sh 'echo "version=$(lscm show lastmod . -f yyyyMMddHHmmssSSS)" >> ${lscm_home}/abc.properties'

内容的提问来源于stack exchange,提问作者Kivi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:45:01