Как я могу запустить пакет в оболочке?

Я хочу иметь пакетный файл, который открывает командную строку, запускает в ней оболочку iex, а затем запускает мою программу elixir. Проблема, с которой я сталкиваюсь, заключается в том, что как только я вызываю iex -S mix, который компилирует код и открывает оболочку elixir, я не могу писать в нее больше команд.

:: Start iex and compile with mix
iex -S mix

:: Start elevators 
Elevator.Supervisor.start

pause 

введите здесь описание изображения

Последняя часть Elevator.Supervisor.start по какой-то причине никогда не запускается. Я думаю, это потому, что я открыл оболочку в командной строке. Есть ли способ передать команды в iex?


person C. K.    schedule 19.03.2020    source источник
comment
Вам нужно передать ввод в IEX?   -  person HaxAddict1337    schedule 19.03.2020
comment
@HackingAddict0302 iex не принимает никаких трубопроводов.   -  person Aleksei Matiushkin    schedule 19.03.2020


Ответы (1)


TL;DR использовать .iex.exs файл, который загружается iex при запуске.


  • Создайте файл с именем .iex.exs в корне каталога проекта с содержимым, которое вы хотите запустить:
    Elevator.Supervisor.start()
  • удалите все ссылки на код elixir (который теперь расположен в .iex.exs) из вашего .bat файла
  • запустить .bat файл
  • наслаждаться.
person Aleksei Matiushkin    schedule 19.03.2020
comment
Файл .iex.exs загружается iex при запуске, как я указал в самой первой строке ответа. - person Aleksei Matiushkin; 19.03.2020
comment
Я понял. Мой .iex.exs находился в папке над той, где работает iex. Спасибо. - person C. K.; 19.03.2020