Autosysジョブスケジューラによって呼び出されているレガシーシェルスクリプトがあります。スクリプトでは、jarファイルを呼び出しています
res="`$Java_HOME/bin/Java ....`"
echo >$res<
次のエラーが発生します。
Error occurred during initialization of VM
Java.lang.Error: Properties init: Could not determine current working directory.
だからシェルスクリプトで私は以下に示すように現在のディレクトリを印刷しようとしました
echo "PWD:" "$PWD" # Nothing gets printed.
echo "USER:" "$USER" # User id is getting printed
if [ -d "/export/home/abc/" ]; then
echo "Directory present" # gets printed
echo `ls -ltr` # total 3 gets printed
echo `cd /export/abc/def`
echo `pwd` # nothing gets printed
fi
すべてのクラスパスがスクリプト自体に設定されており、クラスパスは正常に見えます。私はここで問題になる可能性があるものを取得していません。
また、このスクリプトは、Autosysジョブスケジューラによって呼び出される別のスクリプトによって呼び出されていることに注意してください。
ヒントをくれたAndrewに感謝します。
投稿で述べたように、これはレガシースクリプトであり、各スクリプトに何千行もあり、分析が困難でした。しかし、最終的に、エラーが発生しているプロセスが別のユーザーによって起動されていることがわかりました。そのユーザーには親フォルダにアクセスする権限がなかったため、
Could not determine current working directory.
そのユーザーに親フォルダへのアクセス許可を与えたところ、機能しました。あなた方全員に感謝します...