Как запустить команду java -jar из сценария Shell с удаленного сервера? - PullRequest
0 голосов
/ 24 ноября 2010

Пожалуйста, помогите мне в этом немедленно ...

Проблема с командой JAVA в шеллскрипте ..

У меня есть скрипт Cachereload.sh на одном сервере, который имеет следующую команду:

java -jar SingMgmnt.jar $4 $2 $3 sixdee sixdee $5

Это работает очень хорошо, когда я запускаю его с того же сервера.

Но я хочу запустить этот скрипт с другого сервера, и я сделал это как

ssh oracle@192.168.0.72 'sh -c "./Cachereload.sh"'

, который запросит пароль, и после этого выполнит скрипт. Но тогда я получаю ошибку,

./CacheReload.sh: line 4: java: command not found

Но я думаю, что не работает только команда java .. bcoz pwd, ls и даже команда mysql работают нормально с самого удаленного сервера ..

Пожалуйста, помогите мне ..

Благодарю всех вас Akhil

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Это будет связано с тем, что ваша среда ssh отличается от среды интерактивной оболочки. Например, если вы используете bash, ваш файл .bashrc будет получен только для интерактивных оболочек. Поэтому, если вы устанавливаете переменную PATH в файле .bashrc, это будет действовать только для интерактивных оболочек.

Простой обходной путь - обратиться к абсолютному пути двоичного файла Java в вашем Cachereload.sh скрипте.

0 голосов
/ 24 ноября 2010

что происходит, когда пользователь oracle запускает эту команду на сервере, а не через одну строку ssh.

Вполне вероятно, что java отсутствует в PATH для этого пользователя (возможно, не устанавливается вообще).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...