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

时间:2018-06-03 06:48:42

标签: java linux shell unix solaris

我有一个由Autosys作业调度程序调用的旧shell脚本。在脚本中,他们调用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作业调度程序调用。

2 个答案:

答案 0 :(得分:5)

这是一种预期的行为。

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

SO Reference for a workaround.

答案 1 :(得分:4)

感谢Andrew的提示。

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

Could not determine current working directory.

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