如何在linux中以脚本文件的形式运行matlab代码?
我正在研究在Linux中运行类似于bash/python脚本的matlab脚本。例如,可以作为应用程序运行的matlab脚本。以下是我提出的实现-如何在linux中以脚本文件的形式运行matlab代码?,linux,bash,matlab,Linux,Bash,Matlab,我正在研究在Linux中运行类似于bash/python脚本的matlab脚本。例如,可以作为应用程序运行的matlab脚本。以下是我提出的实现- 创建包含以下行的/usr/bin/mash脚本文件- #!/bin/bash grep -ve '^(#!\|^\s*$)' ${@: -1} | ${@: 1:$#-1} exit $? 使mash脚本可执行- $ chmod +x /usr/bin/mash $ chmod +x mash 编写名为test.msh的mat
- 创建包含以下行的
脚本文件-/usr/bin/mash
#!/bin/bash grep -ve '^(#!\|^\s*$)' ${@: -1} | ${@: 1:$#-1} exit $?
- 使mash脚本可执行-
$ chmod +x /usr/bin/mash
$ chmod +x mash
- 编写名为
test.msh的matlab脚本文件
#!/usr/bin/mash /usr/local/MATLAB/R2012a/bin/matlab -nodisplay format long a = 2*pi % matlab commands ...
$ ./test.msh ... >> >> a = 6.283185307179586
- 使
脚本可执行-test.msh
$ chmod +x /usr/bin/mash
$ chmod +x mash
- 运行
test.msh
#!/usr/bin/mash /usr/local/MATLAB/R2012a/bin/matlab -nodisplay format long a = 2*pi % matlab commands ...
$ ./test.msh ... >> >> a = 6.283185307179586
mash
脚本,即可获得类似效果:
#/usr/bin/bash
/path/to/matlab -r "$(sed -n -e '4,$p' < "$0")"
exit $?
#/usr/bin/bash
/path/to/matlab-r“$(sed-n-e'4,$p'<“$0”)”
退出$?
如果希望matlab在执行脚本后终止,如示例中所示,可以将第二行替换为
sed -n -e '4,$p' < "$0" | /path/to/matlab
sed-n-e'4,$p'<“$0”|/path/to/matlab
这里的想法是执行一个bash命令,该命令只需剪掉脚本的头部,并将其余部分传递给matlab。不要把它放在
/usr/bin
/usr/local/bin
是一个更好的地方/usr/bin
是分发管理文件夹(或者应该是)。当列表中有代码块时,需要8个缩进,而不是4个缩进。)代码>。比我想出的更好的解决方案。谢谢