通过Java

时间:2018-10-02 07:23:57

标签: shell imagemagick-convert

我有一个执行OCR的Shell脚本。它具有图像magick convert命令。直接运行shell脚本运行正常,但是通过java程序执行shell脚本时,找不到convert命令。我已经简化了用于测试目的的shell脚本。这是我的shell脚本-

#!/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 :(得分:0)

这意味着您在终端中使用的登录shell设置了一个PATH,其中包括ImageMagick,而Java程序设置了一个PATH,其中不包括ImageMagick。

因此,启动终端并运行:

which convert

,您将得到类似的东西:

/usr/local/bin/convert

这意味着convert/usr/local/bin中。因此,现在编辑您的Shell脚本并将其添加到您的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