サーバーにデプロイされた 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}
奇妙なことに、これは場合によっては機能しますが、他の場合には機能しません。私が得る問題は、文字列を連結しようとしているときです(つまり、上記の最後の行)。場合によっては完全に機能しますが、他の文字列の文字は、後で配置されるのではなく、別の文字列の文字に置き換えられます。
次の場合は機能しません。
- デプロイされたファイルから読み取ると
- 展開されたファイルを別の場所にコピーして、そこから読み取ると
次の場合に機能します。
- ファイルをゼロから書き込み、そのファイルから読み取る場合。
- 独自のファイルを作成し、展開されたファイルから作成したファイルにコンテンツをコピーするとします。
これはとても奇妙だと思います。これを認識している人はいますか?