希望有人能帮助我。
我想在运行时在本地机器(主机)上创建别名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
.