2009-12-07 10 views
10

Mi sembra che ci sono due modi per eseguire Matlab in modalità batch:run Matlab in modalità batch

la prima:

unset DISPLAY 
matlab > matlab.out 2>&1 << EOF 
plot(1:10) 
print file 
exit 
EOF 

Il secondo usa l'opzione "-r MATLAB_command":

matlab -nojvm -nosplash -r MyCommand 

sono questi due equivalente?

Cosa significa "< < EOF" e l'ultimo "EOF" nel primo metodo?

Grazie e saluti!

risposta

6

Il primo metodo è semplicemente redirects l'uscita standard > matlab.out e l'errore standard 2>&1 nel file matlab.out.

Quindi utilizza il modo di passare l'input a MATLAB heredoc (questo non è specifico per MATLAB, è un metodo per passare più righe come input per i programmi della riga di comando in generale).

La sintassi è << seguito da un identificatore univoco, poi il testo, infine, l'ID univoco per finire. Si può provare questo sul guscio:

cat << END 
some 
text 
multiple lines 
END 

Il secondo metodo di utilizzare l'opzione -r inizia MATLAB ed eseguire l'istruzione passata immediatamente. Potrebbero essere alcuni comandi o il nome di uno script o una funzione trovata nel percorso. È equivalente a fare qualcosa di simile:

python -c "print 'hello world'" 

si riferiscono a questo page per un elenco delle altre opzioni di avvio.

Problemi correlati