获取“VM 初始化期间发生错误”

2022-09-03 02:47:04

我有一个遗留的shell脚本,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.

因此,在shell脚本中,我尝试打印当前目录,如下所示

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 作业计划程序调用。


答案 1

感谢安德鲁的提示。

正如帖子中所说,这是一个遗留脚本,每个脚本中都有数千行,这使得我们的分析变得困难。但最终发现,我们遇到错误的过程是由另一个用户启动的。该用户没有访问父文件夹的权限,因此我们得到了

Could not determine current working directory.

我将父文件夹的权限授予该用户,并且它有效。感谢你们所有人...


答案 2

这是预期的行为。

该脚本在子 shell 中运行,并且无法更改父 shell 工作目录。当它完成时,它的效果会丢失。

因此,请参阅解决方法。


推荐