У меня есть сценарий CLI Ruby, который принимает пользовательский ввод и запускает дополнительный сценарий в зависимости от этого ввода с помощью команды basi c system("ruby [user selection")
. Сценарии запускаются с сервера, а не из локальных файлов. Я превратил это в апплет Ma c для конечных пользователей, который хорошо работает. Пользователь запускает апплет, скрипт открывается в Терминале, пользователь вводит их данные, а вторичный скрипт запускается в том же окне Терминала.
Я хочу сделать что-то подобное для Windows пользователей. Я использовал Ocra для создания исполняемого файла скрипта. Он успешно выполнен и принял пользовательский ввод, однако сценарий завершается сразу после того, как пользователь вводит свой выбор, и окно командной строки закрывается, поэтому он никогда не завершает запуск вторичного сценария. Я предполагаю, что причина этого заключается в том, что процесс завершается после того, как упакованный скрипт (главный исполнитель) «готов».
Есть ли способ сделать так, чтобы скрипт автоматически запускался в командной строке и не выходил до перехода к дополнительному скрипту? Я не хочу просто передавать файл .rb
, потому что я хочу избежать приглашения, в котором вас просят выбрать программу для открытия файла или наличие автоматического открытия файла в текстовом редакторе. Мне также не нужны гемы / зависимости, упакованные со сценарием, так как у пользователей уже есть все, что им нужно, установленное на их компьютерах.
Является ли Ocra правильным выбором, или я должен идти другим путем? это?