通过键盘绑定运行的脚本不会写入文件

通过键盘绑定运行的脚本不会写入文件

以下 bash 脚本解释图像文件中的文本并写入 .txt 文件。

#!/usr/bin/env bash

LD_LIBRARY_PATH="/usr/local/lib"
export LD_LIBRARY_PATH

/usr/local/bin/tesseract /home/martin/work/textpic.png /home/martin/work/tesseract-out

当我从终端运行它时,会创建 tesseract-out.txt,但是当我通过自定义键盘快捷键运行它时,不会写入任何内容。我通过放入脚本来确保运行正确的脚本echo "test" > /home/martin/work/test.txt,这会创建文件。

我已经在 tesseract 上运行,sudo chmod 777以防出现一些权限问题。

我有一个预感,当脚本通过快捷方式运行时,tesseract 需要一些不在路径中的 lib 文件,因此我将这些行放在脚本文件的顶部(我知道它需要的一些 lib 文件位于 /usr /本地/lib):

LD_LIBRARY_PATH="/usr/local/lib"
export LD_LIBRARY_PATH

但它并没有达到目的。我该如何调试出现的问题?如果我能以某种方式获得某种错误消息,那就大有帮助了。

我的Linux版本:

DISTRIB_RELEASE=18.3
DISTRIB_CODENAME=sylvia
DISTRIB_DESCRIPTION="Linux Mint 18.3 Sylvia"
NAME="Linux Mint"
VERSION="18.3 (Sylvia)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 18.3"
VERSION_ID="18.3"
HOME_URL="http://www.linuxmint.com/"
SUPPORT_URL="http://forums.linuxmint.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
VERSION_CODENAME=sylvia
UBUNTU_CODENAME=xenial

我使用的键盘快捷键管理器是 Mint 18 中的标准 GUI 管理器。也许我可以使用其他东西来获得更好的错误消息?

GUI 键盘快捷键

编辑:

我通过将其放在/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH) > /home/martin/work/libs-in-path.txt脚本底部并针对readelf -d /usr/local/bin/tesseract | grep NEEDED.

相关内容