2017-11-19 10 views
2

私はlog4j.propertiesからアプリケーションログパスを取得し、それを動的パスにしようとしています。 log4j.propertiesのログファイルには{catalina.base}が含まれており、$ CATALINA_HOME環境変数に置き換えます。 私は以下の文字列置換を使用しました。環境変数を含むパス文字列を置き換えてください

ここにコードがあります。

/* */

ログファイル= $(awkの/LOGFILE.File/{print $ NF} '$ CATALINA_HOME/webappsに/ "$ファイル名" log4j.propertiesからログのパスを取得します/ WEB-INF /クラス/ log4j.properties | grepを-Po ')LOGFILE.File = K [^ "] * \'

/* $ CATALINA_HOMEと{} catalina.base交換してください*/

convertlogfile = "$ {logfile /" {catalina.base} "/ $ CATALINA_HOME}"

/*出力を参照してください*/

エコー$のconvertlogfile

問題が出力されている: $は/ usr/local/tomcatに/ログ/ application.logで

最初の '$'記号を取り除くことができず、パスを使用できませんでした。

答えて

0

echo $convertlogfileの出力が$/usr/local/tomcat/logs/Application.logであれば、 は、$logfileの値は${catalina.base}でなければなりません。 そして私はあなたが簡単に行うことができたときにパターン置換を利用したい理由を理解していない:

convertlogfile=$CATALINA_HOME 

しかし、いずれにせよを、先頭に$を取り除くために、あなたは、このような置き換えを書くが、可能性がありもう一度、私はポイントが表示されません:

convertlogfile="${logfile/"\${catalina.base}"/$CATALINA_HOME}" 
+0

ありがとう。出来た。 – mtkarakaya

関連する問題