我有一个 Matlab 程序,它经常运行不同的 unix 命令。对于这个问题,让我们假设我正在做的是:
unix('ls test')
当我将显示器从待机状态唤醒时,我经常会意外按下一个键(如回车键或箭头键)fe。从理论上讲,这不应该干扰 unix 命令。虽然不幸的是,Matlab 会接受这个输入并将其转发到命令的执行中。上面的命令就变成了这样:
unix('ls te^[0Ast')
(旁注:^[0A 是换行符的十六进制表示)
显然,这会产生错误。
有谁知道如何解决这个问题?
我在想可能有一种方法可以用我的脚本启动 Matlab,这种方法不会从 unix shell 中转发任何用户输入。
#!/bin/bash
matlab -nodisplay -nosplash -r "runMyScript();"
我可以以某种方式将用户输入管道传输到其他地方并将 Matlab 与任何类型的输入隔离开来吗?