
Итак, я работаю над пользовательским скриптом makefile (для TinyOS, если кому-то интересно), который создает файл, а затем запускает его в симуляторе.
Проблема в том, что симулятор получает входные данные из стандартного источника, и если я запускаю make-файл из плагина Eclipse, который использую я и моя команда, я не могу ввести в него никаких команд.
Я обошел эту проблему, используя строку
gnome-terminal --title="MSPSim Terminal" -x mspsim build/telosb/main.elf
Очевидно, что это работает только в том случае, если пользователь а) работает в системе GNOME и б) имеет gnome-terminal.
Поскольку лично я нахожу этот патч для быстрого создания ярлыка очень полезным, я хотел бы представить его в качестве патча для TinyOS, но, очевидно, сначала мне нужно сделать его портативным.
Кто-нибудь знает, как открыть новое окно терминала в любой версии Linux, Mac OSX и Cygwin, желательно так, чтобы файл работал во всех трех, независимо от того, что вы используете?
решение1
Вероятно, вам понадобится использовать набор условий, основанных на uname
и наличии исполняемых файлов для потенциальных терминалов. Затем вам нужно будет настроить аргументы, чтобы они соответствовали тому, что принимает конкретный терминал.
решение2
такого инструмента нет, по крайней мере, насколько мне известно. xterm почти везде есть, но вы также не можете быть уверены, что он у вас установлен.
решение3
На самом деле мне пришлось вынести это из Makefile в отдельный скрипт оболочки из-за проблем с цитированием одинарных кавычек (кажется, это необходимо для совместимости с OSX).
Поскольку я собираюсь использовать этот скрипт повторно, я выложил его в сеть нагитхабЕсли ваш любимый эмулятор терминала не поддерживается, пришлите мне страницу руководства для него, чтобы я мог определить, какие аргументы он принимает, и добавить ее.