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

Другие вопросы по тегам