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

Shell脚本读取文件内容到变量出现bad substitution错误求助

问题分析与解决

你出错的原因是误用了Bash语法:${cat ...}属于变量替换语法,仅用于处理变量的扩展、修改等操作,无法执行外部命令并捕获其输出。要实现读取文件内容到变量的需求,必须使用命令替换语法。

正确写法

推荐使用$()(相比反引号可读性更强,且支持命令嵌套):

almvers=$(cat "$CI_PROJECT_DIR/pom-almversion.txt")

也可以使用老式的反引号写法(不推荐用于嵌套场景):

almvers=`cat "$CI_PROJECT_DIR/pom-almversion.txt"`

额外提示

给$CI_PROJECT_DIR加上双引号是良好实践,能避免路径中包含空格、特殊字符时出现解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 16:59:57