1

Надеюсь, кто-то может помочь мне здесь.

Я хочу создать псевдонимы на моем локальном компьютере (хосте) при запуске vagrant up . В процессе поиска команды vagrant run на хосте я наткнулся на плагин vagrant-triggers triggers. На первый взгляд кажется, что он делает именно то, что мне нужно (выполнение скрипта / команды на хост-машине во время процесса бродячей подготовки), однако я не смог заставить его работать успешно.

Ниже приведен мой пример кода. Я не получаю никаких ошибок, но псевдонимы не доступны на хосте.

Vagrant.configure("2") do |config|
  # Your existing Vagrant configuration
  ...

  # start vagrant-triggers example code
  {
    :up => [
      'alias runscript="$(PWD)/script"',
      'alias runscript2="$(PWD)/script2"'
    ],
    [:halt, :destroy] => [
      'unalias runscript',
      'unalias runscript2'
    ]
  }.each do |trigger, commands|
    config.trigger.after trigger, :stdout => true do
      commands.each do |command|
        run command
      end
    end
  end

  ...
end

1 ответ1

0

Команды выполняются в подоболочке vagrant процесса, и псевдонимы доступны только для этой подоболочки, но не для любого из родительских процессов. Так что вам нужно, например, написать вспомогательные сценарии в каталог, который вы поместили в PATH .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .