Запуск сценария оболочки с бродячим обеспечением

Я установил бродячий бокс с использованием exact64 (ubuntu 14.04) и установил пакеты, необходимые для октопресса. Я могу ssh в бродячую коробку и генерировать сообщения и запускать предварительный просмотр для моего сайта октопресса.

Теперь я хочу создать сценарий обеспечения для автоматического запуска следующих команд после завершения работы машины.

gem install bundler rbenv rehash bundle install rake install rake generate rake preview 

поэтому я создал сценарий оболочки, используя вышеприведенные команды. Но когда я пытаюсь запустить бродяжничество или бродяжничество, это дает мне следующую ошибку.

 ==> default: ERROR: While executing gem ... (Gem::FilePermissionError) ==> default: You don't have write permissions into the /opt/vagrant_ruby/lib/ruby/gems/1.8 directory. ==> default: bash: rbenv: command not found 

Конфигурация моего Vagrantfile выглядит так. Я попробовал привилегированный вариант, который тоже стал правдой.

 config.vm.provision :shell, :privileged => false, :upload_path => "/home/vagrant/octopress/start.sh", :path => "start.sh" 

Что я здесь делаю неправильно?

Как вы можете видеть в приведенных выше журналах, сценарий предоставления пытается использовать gem из каталога / opt / vagrant_ruby / lib / ruby ​​/ gems. Но когда я схожу в бродячую коробку и проверяю местоположение gem и rbenv, эти пакеты находятся внутри домашней директории пользователей (/ home / vagrant). Кажется, проблема заключается в том, что сценарий не использует переменные окружения пользователя «бродяга». Но когда я проверяю whoami внутри скрипта, я становлюсь бродячим как выход.

Есть ли способ запустить сценарий выполнения с переменной бродячего пользователя?

One Solution collect form web for “Запуск сценария оболочки с бродячим обеспечением”

Этот брандмауэр-плагин устранил проблему для меня:

бродячие-спусковые

вы можете запустить свой сценарий обеспечения после того,

 config.trigger.after :command, :option => "value" do run "script" ... end 

и не забудьте добавить sudo в свои команды.

  • Ubuntu 16.04 и синхронизированная папка
  • локальные сценарии выключения (do's and do not)
  • загрузка git с помощью оболочки
  • Как автоматически подать два аргумента в программу после запуска?
  • Собственность в общей папке NFS не изменяется в гостевой ОС в Vagrant
  • Как ввести пароль для нескольких окон?
  • VirtualBox: автоматически монтируйте общую папку в Gentoo
  • Vagrant не воспитывает eth1 на Xubuntu 16.04 гость
  • Передача ssh-agent для Vagrant VM
  • Как печатать временную метку rsync vagrant и файлы?
  • Не устанавливайте общие папки NFS с помощью бродячего поставщика libvirt в Debian Jessie
  • Interesting Posts

    Как отправить RTSP-видео в программу, которая читает с символьного устройства?

    Можно ли использовать gcc для компиляции двоичных файлов в FreeBSD 10?

    Удалить неизвестное количество строк от * до пустой строки

    Список архивов Tar в сценарии bash

    Эквивалент команды «df -t» Solaris для Linux?

    Как добавить несколько user.rules в ufw?

    $ @ и 'set env $ PATH' – зачем это утверждение входит в .inputrc?

    как закончить последовательность tmux после переключения панелей

    Настроить схему солнечных батарей на LXTerminal

    Сопоставьте первые поля двух разделенных табуляцией файлов и значений соответствия печати

    Измельчение всего: файлы / папки и соответствующие имена файлов

    Получение липкого фонового терминала, работающего на рабочем пространстве bspwm в полноэкранном режиме

    IP-адрес не заполняется в eth0 в ifconfig

    Почему 'if ' ветвь всегда выбрана, даже если $ 1 не 1?

    Прочитайте строку из файла, манипулируйте, а затем добавьте в другой файл

    Linux и Unix - лучшая ОС в мире.