Установите Grails как другой пользователь с помощью sudo
Я хочу установить Grails в моем bash-файле начальной загрузки (который выполняется от имени пользователя root). Я попытался изменить установку, как показано в руководстве Grails:
curl -s get.gvmtool.net | sudo -u vagrant -H bash
sudo -u vagrant -H bash "$HOME/.gvm/bin/gvm-init.sh"
sudo -u vagrant -H bash gvm install grails
Но это дает ошибки:
bash: /root/.gvm/bin/gvm-init.sh: Permission denied
bash: gvm: No such file or directory
Что я делаю неправильно?
1 ответ
Решение
Это может сработать:
curl -s get.sdkman.io | sudo -u vagrant -H bash -i
sudo -u vagrant -H bash -i 'source "$HOME/.sdkman/bin/sdkman-init.sh"; sdk install grails'
Опция -i (имитировать первоначальный вход в систему)
... Это означает, что специфичные для входа файлы ресурсов, такие как.profile или.login, будут читаться оболочкой. Если указана команда, она передается в оболочку для выполнения.