bash - 已在运行的 session 上的 matlab 命令(来自 bash/命令行)

标签 bash matlab

$ matlab -nodesktop -nojvm &

如何在刚刚创建的 session 上执行 matlab 命令?

换句话说,我想在后台运行一个 matlab session ,并在任何给定时间从任意终端执行 matlab 命令和/或脚本,而无需创建新 session 。

最佳答案

我建议采用与 carandraug 类似的解决方案,只是我更喜欢使用 tmux 作为多路复用器。正确传递命令可能有点棘手,因此创建一个处理细节的 shell 脚本。

假设您已经在这样的终端中启动了 matlab:

tmux new -s matlab "matlab -nodesktop -nojvm"

现在一个名为 matlab 的 tmux session 正在运行没有 gui 的 matlab。

创建这个 shell 脚本:

x

#!/bin/bash

if [[ $# -eq 0 ]]; then
  while read; do
    tmux send-keys -t matlab "$REPLY"$'\n'
  done
else
  tmux send-keys -t matlab "$@"$'\n'
fi

在不同的终端中,您现在可以运行引用的 matlab 命令:

mx "A = reshape(1:9, 3, 3)"

或者甚至通过管道传递命令:

for mat in A B C; do echo "$mat = reshape(1:9, 3, 3)"; done | mx

关于bash - 已在运行的 session 上的 matlab 命令(来自 bash/命令行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12306333/

相关文章:

database - Matlab 到 Microsoft Access 数据库 2010 日期和时间

linux - 在目录中用awk拆分文件夹名称

linux - 错误 TR 命令宽度 :punct: param

linux - 仅在下面的目录中查找和复制同名文件并复制到不同的目录

linux - 基于字符串字段的 if 语句

matlab - matlab适合解决的问题

linux - 在 shell 脚本中使用 ~/(user entry)

python - MATLAB 比 Python 快吗?

arrays - 你如何在 matlab 中初始化一个包含 90 个 '0' 的数组?

javascript - 结合 Matlab 和 JavaScript : Methods of integration?