我有一个部署到服务器的 Web 应用程序。我正在尝试创建一个脚本,它可以从与应用程序一起部署的属性文件中读取 Web 应用程序的当前版本。
该文件如下所示:
//other content
version=[version number]
build=[buildnumber]
//other content
我想创建一个看起来像这样的变量:version-buildnumber
这是我的脚本:
VERSION_FILE=myfile
VERSION_LINE="$(grep "version=" $VERSION_FILE)"
VERSION=${VERSION_LINE#$"version="}
BUILDNUMBER_LINE=$(grep "build=" $VERSION_FILE)
BUILDNUMBER=${BUILDNUMBER_LINE#$"build="}
THEVERSION=${VERSION}-${BUILDNUMBER}
奇怪的是,这在某些情况下有效,但在其他情况下无效。我遇到的问题是当我尝试连接字符串时(即上面的最后一行)。在某些情况下,它可以完美运行,但在其他情况下,一个字符串中的字符会替换另一个字符串中的字符,而不是在之后放置。
在这些情况下它不起作用:
- 当我从部署的文件中读取
- 如果我将部署的文件复制到另一个位置并从那里读取
它在这些情况下确实有效:
- 如果我从头开始编写文件并从该文件中读取。
- 如果我创建自己的文件,然后将部署文件中的内容复制到我创建的文件中。
我觉得这很奇怪。有没有人认识到这一点?