在 vagrant up 期间使用 vagrant-triggers 在主机上创建别名

在 vagrant up 期间使用 vagrant-triggers 在主机上创建别名

希望有人能帮助我。

我想在运行时在本地机器(主机)上创建别名vagrant up。通过搜索主机上的 vagrant run 命令,我偶然发现了vagrant-triggers插件。从表面上看,它似乎完全按照我的要求执行(在 vagrant 配置过程中在主机上执行脚本/命令),但我无法让它成功运行。

以下是我的示例代码。我没有收到任何错误,但别名在主机上不可用。

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

命令在vagrant进程的子 shell 中执行,别名仅适用于该子 shell,不适用于任何父进程。因此,您需要将帮助脚本写入您放在PATH.

相关内容