我试图在 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/