я следующий Баш скрипт, вызывая сценарий MatLab ниже:Ошибки запуск Matlab с Баш скрипт ... вероятно, глупый
#!/bin/bash -x
var1=HelloWorld
var2=1:4
matlab -nosplash -nodisplay -r "testtest('$var1', $var2), exit"
и
function testtest(in1, in2)
if ischar(in2)
in2 = str2num(in2)
end
in1
total = sum(in2)
return
я получаю следующие ошибки (кажется, не зависит от функции, я пытаюсь позвонить):
+ var1=HelloWorld
+ var2=1:4
+ matlab -nosplash -nodisplay -r 'testtest('\''HelloWorld'\'', 1:4), exit'
MATLAB_MOD_VERSION:
MATLAB_VERSION: R2014a
LM_LICENSE_FILE (before Matlab is loaded) :
LM_LICENSE_FILE (after Matlab is loaded) : #@#
**************************************************************
... Matlab load text ...
**************************************************************
Executing: /app/matlab/R2014a/bin/matlab -nosplash -nodisplay -r testtest('HelloWorld', 1:4), exit
/app/matlab/R2014a/bin/matlab -C#@# -nosplash -nodisplay -r testtest('HelloWorld', 1:4), exit
/app/matlab/R2014a/bin/matlab: eval: line 1682: syntax error near unexpected token `)'
/app/matlab/R2014a/bin/matlab: eval: line 1682: `exec "/work1/app/matlab/R2014a-gcc/bin/glnxa64/MATLAB" -C#@# -nosplash -nodisplay -r "testtest('HelloWorld'," 1:4), exit'
/app/matlab/R2014a/bin/matlab: line 1682: warning: syntax errors in . or eval will cause future versions of the shell to abort as Posix requires
(Обратите внимание, что я заменил номер лицензии с # @ #, выше) Мысли?
Редактировать: Кажется, что это не похоже на пробелы в двойных кавычках. Если я избавлюсь от пробелов, это сработает, но я хочу сказать, что есть способ сделать эту работу с пробелами ... Наверное, для меня это не критично. Я думаю, что это связано с моим использованием одиночной/двойной цитаты. Я искал вокруг, и насколько я могу судить, я делаю все правильно ...
Я не смог воссоздать вашу ошибку на Matlab R2014a, Ubuntu 12.04. – corahm
Если вы посмотрите на вторую на последнюю строку вывода, кажется, апострофы ошибаются в ошибке. Не могли бы вы повторить командную строку в файле bash, чтобы убедиться? – bdecaf