将主机的当前用户传递给流浪者 shell 配置器



我想在我的Vagrantfile中传递当前用户,但我不知道该怎么做。

我试过这个:

config.vm.provision :shell, inline: "echo $(whoami) > /etc/profile.d/me"

但这会导致"root"被放入文件中,我假设它是流浪主机的用户。我想获取主机的用户名。

这是因为您的内联 shell 脚本在 vagrant box 内运行。

你可以这样做:

根据平台从主机获取用户名(如果您从不希望使用 Windows 主机,则可以简化此操作)。

@host_user = Gem.win_platform? ? "#{ENV['USERNAME']}" : "#{ENV['USER']}"

在置备期间将主机中的用户名作为环境变量传递,并在内联脚本中使用它。

config.vm.provision "Passing host username as env var...", type: :shell, inline: $hostUser, env: {"HOST_USER" => "#{@host_user}"}

在 ruby 部分之外添加它,然后它由上面的代码运行,并将作为环境变量传递的用户名附加到您指定的文件中:

$hostUser = <<-SET_HOST_USER
echo "$HOST_USER" > /etc/profile.d/me"
SET_HOST_USER

相关内容

  • 没有找到相关文章

最新更新