1

セットアッププログラム中に、構成ファイル(log4j.properties)を変更する必要があります。

log4j.propertiesの1行には次のものが含まれています

log4j.appender.R.File=${catalina.base}/logs/OurProductWorker.log

に変更してほしい

log4j.appender.R.File=${catalina.base}/logs/OurProductWorker5.log

(または同様の番号)

これは機能します:

sed -i 's/OurProductWorker.log/'"$1.log"'/g' "log4j.properties"

$1=呼び出された関数の1から9までの数値)

これは失敗します:

B_PRODUCT=OurProduct 
sed -i 's/"$B_PRODUCT"Worker.log/'"$1.log"'/g' "log4j.properties"

OEM向けにこれをリブランドする必要があるため、変数を使用する必要があります。個々の関数よりも、スクリプトの最初で一連の変数を変更する方が明らかに簡単です。

4

1 に答える 1

2

これを試して

sed -i 's/'"$B_PRODUCT"'Worker.log/'"$1.log"'/g' "log4j.properties"

変数を展開するには、常に一重引用符を「オフ」にする必要があります($ 1で行ったように)。

これがお役に立てば幸いです。

于 2012-05-02T20:31:33.120 に答える