linux - 在 Matlab 中运行 Linux shell 命令时出错

标签 linux matlab sh

我试图在 Matlab 中运行一个 shell 脚本文件,但出现了我不知道的错误。我正在使用 system 命令如下:

system('sh path_to_file/file.sh') ;

我尝试更改权限

chmod -R 755 file

我仍然无法执行该文件。该文件在 Matlab 脚本之外成功运行。 我在 Ubuntu 18.04 上运行 Matlab。 我希望你能帮助我,提前致谢。

错误:

gnuplot: /home/user/Matlab2019a/bin/glnxa64/libQt5Network.so.5: no version information available (required by gnuplot)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libQt5Core.so.5: no version information available (required by gnuplot)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libQt5Core.so.5: no version information available (required by gnuplot)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libQt5Gui.so.5: no version information available (required by gnuplot)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libgd.so.3)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0)
gnuplot: relocation error: gnuplot: symbol qt_version_tag version Qt_5.9 not defined in file libQt5Core.so.5 with link time reference

最佳答案

显然您不能使用 MATLAB 的 shell 环境运行 gnuplot,因为路径指向 MATLAB 的库版本而不是系统版本。因此,您需要确保环境已重置。

One way to do this正在使用 env:

system('env -i sh path_to_file/file.sh')

但是 sh 不会读取 .bashrc,如果你在那里为 gnuplot 设置了相关环境(不确定是否如此)那么你应该使用 bash 而不是 sh

关于linux - 在 Matlab 中运行 Linux shell 命令时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58389113/

相关文章:

iOS CryptoSwift AES 加密到 Python 解密有效 - 但不是相反

shell - 在 sh 中连接字符串中的数字

docker - 如何在Docker容器中启用yum repo

linux - 如何移动目录中具有特定前缀的所有文件?

linux - 如何在目录中的文件上运行命令递归地在每个被访问的目录中创建一个新文件(Bash)?

c - 在内核模块中为根用户提供权限

linux - 如果某个进程从setuid二进制叉开始,并且子进程放弃了特权,那么仍可以信任该子进程吗?

matlab - 使用 MATLAB 从 WiFi 网络摄像头进行流式传输

matlab - 如何在Matlab中反转内联函数?

python - 在 Python 上显示来自 Matlab mat 文件的图像