我有一个执行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
请让我知道我在做错什么。
答案 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