ソースファイルをインポートできません。

ソースファイルをインポートできません。

Tomcatのカスタム設定がtomcat.env

我々がcatalina.sh得る値は次のとおりです。

. "$CATALINA_BASE/bin/setenv.sh"

しかし、設定が別のファイルに存在するので、次のように追加してみました。

#!/bin/sh

if [ -f ./envvars/tomcat.env ]; then
   . ./envvars/tomcat.env
fi

ただし、ファイルの値はスクリプトを実行しているシェルにはインポートされませtomcat.envん。catalina.shしたがって、カスタム構成はまだ設定されていません。

なぜこれが起こるのかご存知ですか?それとも私がソースを誤って理解しているのでしょうか?

フォルダ構造

--bin (contains)
-------- catalina.sh
-------- setenv.sh
-------- envvars (contains)
-------------------- tomcat.env

スクリプトは、catalina.sh を呼び出す対話型の親スクリプトで実行され、catalina.sh の内部では tomcat.env を内部的に取得する setenv.sh を取得します。

ベストアンサー1

相対パスとして存在するディレクトリで実行する必要がありますcatalina.sh。私の考えでは、これは上記の例を実行する前にこれを行う必要がある./envvars/tomcat.envことを意味すると思います。しかし、これはあなたが望むものではないかもしれません。cd$CATALINA_BASE/bincatalina.sh

または、フルパスにファイルをインポートするようにスクリプトを編集しますsetenv.shtomcat.env

#!/bin/sh

if [ -f "$CATALINA_BASE/bin/envvars/tomcat.env" ]; then
   . "$CATALINA_BASE/bin/envvars/tomcat.env"
fi

おすすめ記事