因此,我正在编写一个自定义的 makefile 脚本(如果有人关心的话,用于 TinyOS),它会构建一个文件然后在模拟器中运行它。
问题是模拟器从标准输入中获取输入,如果我从我和我的团队使用的 eclipse 插件运行 makefile,我无法真正在其中输入任何命令。
我已经通过使用以下行解决了该问题
gnome-terminal --title="MSPSim Terminal" -x mspsim build/telosb/main.elf
现在,这显然只有当用户 a) 在 GNOME 系统上,并且 b) 有 gnome-terminal 时才有效。
由于我个人发现这个快捷方式补丁非常有用,所以我想将它作为补丁提交给 TinyOS - 但显然我需要先使它可移植。
有谁知道如何在 Linux、Mac OSX 和 Cygwin 的任何版本上启动一个新的终端窗口,最好以一种文件适用于这三个版本的方式,无论您使用什么?
答案1
您可能需要使用一组条件,这些条件基于uname
潜在终端要使用的可执行文件的存在。然后您需要调整参数以匹配特定终端接受的内容。
答案2
没有这样的工具,至少我不知道。xterm 几乎无处不在,但你也不能确定是否安装了 xterm。
答案3
实际上,我最终将其从 Makefile 中分离出来,并将其放入它自己的 shell 脚本中,因为单引号的引用存在问题(我认为是为了 OSX 兼容性)。
由于我打算重复使用这个脚本,因此我已将其放在网上github如果您最喜欢的终端仿真器不受支持,请将其手册页发送给我,以便我确定它需要哪些参数,然后我会将其添加进去。