Команда преобразования не найдена, когда скрипт оболочки запускается через Java - PullRequest
0 голосов
/ 02 октября 2018

У меня есть сценарий оболочки, который выполняет OCR.У него есть команда преобразования изображения в магию.Сценарий оболочки работает нормально при непосредственном запуске, но когда сценарий оболочки выполняется через Java-программу, команда преобразования не найдена.Я упростил сценарий оболочки для тестирования.Это мой сценарий оболочки -

#!/bin/bash

LOGFILE=/opt/apache-tomcat-9.0.12/bin/test14.log

(
 FILE_NAME=$1;
 convert $FILE_NAME -density 6000 -resize "2000x" DENSE_$FILE_NAME;
) >& $LOGFILE

, и это то, что напечатано в файле журнала test14 -

line 7: convert: command not found

Пожалуйста, дайте мне знать, что я делаю неправильно.

1 Ответ

0 голосов
/ 02 октября 2018

Это означает, что ваша оболочка входа в систему, которую вы используете в Терминале, устанавливает PATH, который включает ImageMagick, а ваша Java-программа устанавливает PATH, который не делает.

Итак, запустите Терминал и выполните:

which convert

и вы получите что-то вроде:

/usr/local/bin/convert

Это означает, что convert находится в /usr/local/bin.Так что теперь отредактируйте ваш скрипт и добавьте его к вам PATH:

#!/bin/bash
export PATH=/usr/local/bin:$PATH

LOGFILE=/opt/apache-tomcat-9.0.12/bin/test14.log

(
 FILE_NAME=$1;
 convert $FILE_NAME -density 6000 -resize "2000x" DENSE_$FILE_NAME;
) >& $LOGFILE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...