2

シェル スクリプトをカスタマイズする必要があります。私のワークスペースには、シェルスクリプトが環境に基づいてインストール中にそれぞれの変数を取得する必要があるいくつかの環境/プロパティファイルがあります。

例: プロパティ ファイル内の変数が次のように定義されている場合:

com.prod.filename=PRODFILE
com.test.filename=TESTFILE
com.dev.filename=DEVFILE

また、プロジェクトをインストールするとき、または環境に基づいて実行時に、必要な適切なファイルを取得する必要があります。つまり、環境がテストの場合、TESTFILE を選択する必要があります。

4

2 に答える 2

4

まず、プロパティ ファイルはすべて同じ命名規則に従う必要があります。

例えば

myapp/properties/dev.properties
myapp/properties/qa.properties
myapp/properties/prod.properties

シェル スクリプトは、環境変数に基づいて使用するプロパティ ファイルを決定する必要がありAPP_ENVますdev。例えば:

startApp.sh:

#!/bin/bash
APP_ENV=${APP_ENV:-dev}
PROPERTIES_FILE=myapp/properties/${APP_ENV}.properties

# run the command using the properties file
echo "Using: ${PROPERTIES_FILE}"
mycommand ${PROPERTIES_FILE}

APP_ENV変数を変更することで、さまざまな環境でアプリケーションを実行できます。たとえば、次のように実行しprodます。

$ APP_ENV=prod startApp.sh
于 2013-07-17T11:19:20.897 に答える
2

連想配列を作成し、ファイル名をそれぞれの環境名に関連付けます。

#!/bin/bash

declare -A filename
filename[prod]=PRODFILE
filename[test]=TESTFILE
filename[dev]=DEVFILE

environ=test
echo "${filename[$environ]}"

出力:

TESTFILE
于 2013-07-17T10:55:08.197 に答える