Это потому, что ваш встроенный скрипт оболочки запускается внутри 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