Получение «Произошла ошибка при инициализации ВМ» - PullRequest
0 голосов
/ 03 июня 2018

У меня есть устаревший сценарий оболочки, который вызывается планировщиком заданий 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 планировщика заданий.

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Спасибо Андрею за подсказку.

Как было сказано в посте, это был устаревший скрипт, в каждом из которых было по тысячи строк, что усложняло наш анализ.Но, наконец, выяснили, что процесс, в котором мы получаем ошибку, запускается другим пользователем.У этого пользователя не было разрешения на доступ к родительской папке, и поэтому мы получали

Could not determine current working directory.

. Я дал разрешение на родительскую папку этому пользователю, и это сработало.Спасибо всем вам ...

0 голосов
/ 03 июня 2018

Это ожидаемое поведение.

Сценарий запускается в подоболочке и не может изменить рабочий каталог родительской оболочки.Его эффекты теряются, когда он заканчивается.

SO Ссылка для обходного пути.

...