之前需要通过shell脚本传参给matlab程序,但是遇到一些问题,现将我遇到的问题分享出来,给遇到同样问题的人一些借鉴。

shell部分脚本Execl.sh:

/usr/bin/python /home/shk/IPMProduct.py $1
cd /home/shk/ && /usr/local/MATLAB/R2015b/bin/matlab -nodesktop -nosplash -r "sDate='$1';test;quit"

ps:

1./usr/bin/python /home/shk/IPMProduct.py $1。为调用Python程序,IPMProduct.py为python程序名,$1为shell脚本接收的第一个参数

2.cd /home/shk/ && /usr/local/MATLAB/R2015b/bin/matlab -nodesktop -nosplash -r "sDate='$1';test;quit"。为调用matlab程序,test为matlab程序名,sDate='$1'为传入matlab的字符型参数,matlab中用同样的变量sDate接收。quit为执行完test程序后退出matlab环境。-nodesktop -nosplash -r这几个参数见上一篇文档说明。

matlab程序部分代码 test.m:直接使用sDate变量即可

%clc;
%close all;
%clear;
filedir=['/gds/',sDate,'/'];
filenameT = dir(fullfile(filedir,'*_030KM_MS_UDS.HDF'));
filenameArr = char({filenameT.name}) 
 
fileoutdir=['/gds/DATA/',sDate,'/'];
[fileoutnameT]=mapplot(filedir,filenameArr,F107,fileoutdir);
 
题外话:之前由于matlab中clc; close all;clear;没有注释掉,每次传进来的参数值都被清理掉了,sDate没有获取数值,导致MATLAB程序错误。注释掉之后程序正常运行。真的是,这个问题困扰了我好久,一直以为是shell脚本中传参给matlab的程序没写对,查了好多资料,后来才发现是因为进入matla后参数都被清理掉了。

shell传参给matlab问题解决办法的更多相关文章

  1. jsp 的url传参中文乱码问题解决办法

    在js文件中,使用连接jsp的url传参,如果参数是中文会出现乱码问题,如下可以解决: 方法一:(已确认 可行) String username = new String(request.getPar ...

  2. Shell传参的多种方式

    Shell 传参的多种方式 使用$1 $2 这种类似占位符的方式 # 命令行调用 start.sh 8080 9090 # 脚本中获取 port1=$1 # 8080 port2=$2 # 9090 ...

  3. Linux:可执行程序的Shell传参格式规范

    1. Linux下可执行程序的Shell传参格式规范 Linux下的可执行程序在运行时经常需要传一些参数,而这些参数是有规范的.包括我们自己写的在Linux系统下运行的Shell脚本.Python脚本 ...

  4. shell传参和变量赋值

    1.变量赋值方式 (1)方式1--直接赋值(=) (2)方式2--read交互式赋值 (3)方式3--脚本传参赋值 2.read read -p "请输入你的名字和年龄:" nam ...

  5. 【WEB】jsp向servlet传参中文乱码问题解决

    传参方式:POST.GET.link方式 servlet向jsp传中文参数msg if(username.equals("") || password.euqals("& ...

  6. MYSQL预处理传参不区分大小写解决办法

    问题:预处理语句为:SELECT * FROM WHERE name=? 如果传送的参数为“admin” “ADmin” “ADMIN” “ADimn”等,结果处理后的语句为SELECT * FROM ...

  7. input type="file" accept="image/*"上传文件慢的问题解决办法

    相信大家都写过<input type="file" name="file" class="element" accept=" ...

  8. 【原】Gradle调用shell脚本和python脚本并传参

    最近由于项目自动化构建的需要,研究了下gradle调用脚本并传参的用法,在此作个总结. Pre build.gradle中定义了$jenkinsJobName $jenkinsBuild两个Jenki ...

  9. (二)shell中case语句、程序传参、while

    2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中 ...

随机推荐

  1. 请尽可能详尽的解释AJAX的工作原理

    第一步:创建ajax对象(XMLHttpRequest/ActiveXObject(Microsoft.XMLHttp)) 第二步:判断数据传输方式(GET/POST) 第三步:打开链接 open() ...

  2. python web指纹获取加目录扫描加端口扫描加判断robots.txt

    前言: 总结上几次的信息收集构造出来的. 0x01: 首先今行web指纹识别,然后在进行robots是否存在.后面是目录扫描 然后到使用nmap命令扫描端口.(nmap模块在windows下使用会报停 ...

  3. HTML篇

    要内容 web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 HTML规范 HTML结构详解 一.web标准 web准备介绍: w3c:万维网联盟组织,用来制定web标准的机构(组织) ...

  4. javascript原型继承中的两种方法对比

    在实际的项目中,我们通常都是用构造函数来创建一个对象,再将一些常用的方法添加到其原型对象上.最后要么直接实例化该对象,要么将它作为父类,再申明一个对象,继承该父类. 而在继承的时候有两种常用方式,今天 ...

  5. MYSQL中str_to_date函数的用法

    str_to_date(str,format) 函数的用法 str_to_date函数将str转化为日期型的数据,format表示转化后的格式. format参数格式: 常用: %Y  年 %m  月 ...

  6. 解决Maximum execution time of 120 seconds exceeded

    在循环开始前加入代码: //设置超时时间 ini_set("max_execution_time",18000); set_time_limit(0); set_time_limi ...

  7. 老外畅想C# 5.0这个可以有

    C# 5.0 - not quite there yet! 老外大胆的YY了一下,感觉挺有意思转发过来. 回顾C#发展的历史,C#1.0模仿了Java,并保留了C/C++的一些特性如struct,新学 ...

  8. JS中使用正则表达式

  9. java基础之集合:List Set Map的概述以及使用场景

    本文的整体思路以及部分文字来源:来源一 和 来源二 Java集合类的基本概念: 首先大家要明白集合为什么会出现: 在编程中,常常需要集中存放多个数据.从传统意义上讲,数组是我们的一个很好的选择,前提是 ...

  10. Opencv图像变成灰度图像、取反图像

    #include <iostream>#include <opencv2/opencv.hpp> using namespace cv;using namespace std; ...