Подтвердить что ты не робот

Запустить Matlab в пакетном режиме

Мне кажется, что есть два способа запуска Matlab в пакетном режиме:

первый:

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

Второй использует параметр "-r MATLAB_command":

matlab -nojvm -nosplash -r MyCommand   

Являются ли эти два эквивалента?

Что означает "< < EOF" и последнее значение "EOF" в первом методе?

Спасибо и приветствую!

4b9b3361

Ответ 1

Первый метод просто перенаправляет стандартный вывод > matlab.out и стандартную ошибку 2>&1 в файл matlab.out.

Затем он использует heredoc способ передачи ввода в MATLAB (это не относится к MATLAB, это метод передачи нескольких строк как вход в программы командной строки в целом).

Синтаксис <<, за которым следует уникальный идентификатор, затем ваш текст, наконец, уникальный идентификатор для завершения. Вы можете попробовать это на оболочке:

cat << END
some
text
multiple lines
END

Второй способ использования опции -r запускает MATLAB и выполняет оператор, переданный немедленно. Это могут быть некоторые команды или имя script или функция, найденная на пути. Это эквивалентно выполнению чего-то вроде:

python -c "print 'hello world'"

Обратитесь к этой странице для списка других параметров запуска.