shell和matlab之间的参数传递比shell和Python之间的参数传递要简单,在matlab程序中(以.m脚本文件为例,其他程序如函数等未测试)不需要进行任何配置,直接使用即可,见下面代码:
    test.m   
    ###
    attName     = att;
    attName     = [attName,'/'];
    dataType    = [dt,'/'];         
    data_path   = ['/media/ntfs-1/',dataType,attName,'train_valid_test.mat'];
    struc_path  = [num2str(struc1),'-',num2str(struc2),'-',num2str(struc3)];
   
    disp(data_path);
    disp(stru_path);
    ###

run.sh
    ###
    hls1=750
    hls2=1000
    hls3=750
    attName='b'
    dataType='9box_max'
    
    /usr/local/MATLAB/R2011a/bin/matlab -nodesktop -nosplash -r "struc1=$hls1,struc2=$hls2,struc3=$hls3,att='$attName',dt='$dataType';test.m;quit"
    ###
    运行run.sh 结果为:
    /media/ntfs-1/9box_max/b/train_valid.test.mat
    750-1000-750

说明:
   
 1. 由上面可以看到,shell和matlab之间的参数传递比shell与Python之间的参数传递要简单,在matlab程序中直接进行使用即可,不需要另外加载或者编写接口。比如在test.m中“attName=att;”,这里的att就是shell脚本中的"att='$attName'"。
    2. 在shell中调用matlab传递参数时,若参数是字符串类型,则应该在参数值外面加上引号,比如上面的att='$attName',但是调用Python的时候则没有这个规定。
    3. 上面的run.sh 中的“-nodesktop -nosplash -r”指的是不打开matlab图形界面;“-r”后面的引号内容分为三块,每一块之间用分号“;”隔开。第一块是具体的参数,第二块就是要调用的matlab程序,第三块“quit”是指运行完matlab程序的时候,跳出matlab程序,否则shell命令还留在matlab的命令行中。

shell和matlab之间的参数传递的更多相关文章

  1. shell和python之间的参数传递

        我们在使用shell调用其他语言的程序的时候,希望能够便捷的从shell中输入参数,然后由目标程序接收参数并运行,这样就省去了每次需要在原程序进行修改带来的麻烦,这里介绍一下如何从shell中 ...

  2. 萧墙HTML5手机发展之路(53)——jQueryMobile页面之间的参数传递

    基于单个页面模板HTTP通过路POST和GET请求传递参数.在多页模板,并且不需要server沟通,通常有三种方式在多页模板来实现页面之间的参数传递. 1.GET道路:上一页页生成参数并传递到下一个页 ...

  3. shell重温---基础篇(参数传递&echo命令)

    经过前两天的学习,关于shell的基础算是知道的一般般啦,最起码不算是小白了(纯属意淫).今天就来点干货哈.   首先是运行shell脚本时的参数传递.脚本内获取参数的格式为$n.n代表了一个数字,例 ...

  4. shell中命令之间数据的传递

    1.管道 "|" ls | cat -n > out.txt 2. 子shell 2.1 子shell 说明 在shell脚本中可以用()操作符可以定义一个子shell #/ ...

  5. 【App FrameWork】页面之间的参数传递

    若应用中有多个页面,这时2个页面之间可能需要进行参数传递.那么如何来实现呢? 首先想到的就是URL参数传递的方式,如:在panel里设置属性 data-defer="Pages/Shake. ...

  6. [C#参考]主线程和子线程之间的参数传递

    几个进程在大多数情况下要包含很多的子线程,那么他们之间免不了的要互相传递很多的参数,那么参数怎么传递的呢? 主线程向子线程传递参数的方法 第一种方法:Thraed类有一个带参数的委托类型的重载形式,这 ...

  7. Vue中组件化编码使用、实现组件之间的参数传递(实战练习二)

    上一章节实现的是静态页面的设计.这一章节实现将数据抽取出来.通过组件间参数的传递来实现 上一章节链接地址:https://blog.csdn.net/weixin_43304253/article/d ...

  8. C#与MATLAB之间传递参数

    本文转载自http://www.cr173.com/html/10249_1.html MWNumericArray是MWArray和c#中数据的中间类,怎么用?怎样在C参数? a.double型.i ...

  9. jsp与servlet之间的参数传递【转】

    JSP与 servlet之间的传值有两种情况:JSP -> servlet, servlet -> JSP. 通过对象 request和 session (不考虑 application) ...

随机推荐

  1. js是这样判断值的数据类型的

    js如何判定给定值的数据类型? typeof typeof "a" // "string" typeof 1 // "number" typ ...

  2. js的console你知道多少

    js的console你知道多少? 列出所有的console属性 console.dir(console) 或者 console.dirxml(console) 记录代码执行时间 console.tim ...

  3. 简单的HTTP服务实现

    最近因工作需要为外部公司提供http服务,由于内容比较少,同时为了方便安装,就想着自己写一个简单的服务器. 思路是将一个Http服务器嵌入一个Windows Service程序中,于是在网上找了很多资 ...

  4. linux进程的问题

    #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <pthread.h& ...

  5. openAS2搭建

    概要 秘钥生成工具 :链接:https://pan.baidu.com/s/1C3fnlkpu36mmpu8Y1fDnUA 密码:pg4k openas2  :链接:https://pan.baidu ...

  6. oracle查询列合并为行(listagg简单用法)

    今天工作时遇见一个数据查询分组问题,就是将分组后同一组数据某一列合并为一行,因为之前很少用到,这次工作中刚好有用到,所以手痒难耐,将它记录下来. 查询sql如下: select t.province_ ...

  7. mysql 存储过程 编写注意事项

    mysql的存储过程有很多需要注意的地方,一不留神就会出错,可能调试了老半天才发现原因 1  没有return 语句 可以采用leave代替,返回直接使用select语句 比如select 1: 2. ...

  8. android 命名规则

    包名结构: 资源命名方式:

  9. Cfree clion windows c语言 socket 网络编程

    server.c #include <stdio.h> #include <winsock2.h> #define SERVER_PORT 5208 //侦听端口 int ma ...

  10. 算法描述》LCA两三事(蒟蒻向)

    LCA是图论中常用的解决树形结构子问题的工具,这一问题一般需要用一个简短的子函数直接解决,但是这对于广大蒟蒻们仍然是一个不小的问题. LCA是指在树形结构中两点的最近公共祖先,对于这个问题,直接向上找 ...