을 가지고 RUN_TEST :쉘 변수 이름은 내가 다음 스크립트와 함께 일하고 있어요 추가 문자
#!/bin/sh
temp=$1;
cat <<EOF | matlab
[status name] = unix('echo $temp');
disp(name);
% some Matlab code
test_complete = 1;
save(name)
exit
EOF
그때와 .mat 파일을 저장, 스크립트에 이름을 전달하는 코드를 실행하려면 통과 된 이름. 그러나 이상한 행동이 있습니다.
[energon2] ~ $ ./run_test 'run1'
Warning: No display specified. You will not be able to display graphics on the screen.
< M A T L A B (R) >
Copyright 1984-2010 The MathWorks, Inc.
Version 7.12.0.635 (R2011a) 64-bit (glnxa64)
March 18, 2011
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
>> >> >> >> run1
>> >> >> >> >>
[energon2] ~ $ ls *.mat
run1?.mat
"?" 저장 될 때 파일 이름의 끝에 있지만 명령 행에 표시되지 않는 경우. 이것은 나의 필요에 받아 들일 만하다, 그러나 그것이 일어나고있는 이유를 모르기 위해 약간 자극적이다. 모든 설명을 주시면 감사하겠습니다.
편집 : 해결책 : Yuk는 근본적인 원인과 save ('$ temp')의 사용에있어 아래에서 정확했습니다. 다음 스크립트를 사용 중입니다.
#!/bin/sh
temp=$1;
cat <<EOF | matlab
% some Matlab code
test_complete = 1;
save('$temp')
exit
EOF
도움 주셔서 감사합니다.
'getenv ('temp')는 어떤 결과를 주나요? – macduff
getenv ('temp')는 빈 문자열을 반환합니다. – Sevenless