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

Bash脚本问题:Git命令获取的变量值无法写入HTML文件

问题解决:Git命令输出赋值给Bash变量后无法写入HTML文件

问题根源

你的代码里变量赋值存在两个关键错误:

  • Bash变量赋值时,=两边绝对不能有空格,原代码中revision_number= git rev-parse --short HEAD的空格会导致revision_number被当作临时环境变量传递给git命令,而非赋值给该变量。
  • 要捕获命令的输出并赋值给变量,必须使用命令替换语法($(命令) 或 `命令`),直接跟命令不会把输出存入变量。

另外你提到git show -s --format=%B $revision_number能正常运行,是因为当$revision_number为空时,git show默认会操作当前HEAD提交,并非变量实际起了作用。

修正后的代码

#!/bin/bash
echo "Obtaining Revision Number"
cd /path/to/project/
# 用$(...)捕获命令输出,且=两边无空格
revision_number=$(git rev-parse --short HEAD)
cat > /path/to/myFile/file.html << EOF
The revision number is "${revision_number}"
EOF

验证说明

修正后,revision_number会正确获取git rev-parse --short HEAD的输出值,写入HTML文件时就能正常显示版本号。静态赋值能正常工作,正是因为遵循了=无空格的赋值规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:40:17