sudo -su: команда не найдена

Я делаю это в скрипте .sh, который я так называю sudo ./script.sh:

user=${SUDO_USER} # ="alex"
sudo -su ${user} node

Результат:

/bin/bash: node: command not found

То же самое и для других команд как yarn или nvm, также все они установлены и работают при входе в систему как alex

Что я делаю не так? :

/home/alex/.nvm/versions/node/v10.15.1/bin/node

node для alex устанавливается с использованием nvm, который добавляет это к концу /home/alex/.zshrc (alex использует zsh)

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
3
задан 11 June 2019 в 17:35

1 ответ

Я думаю, что нет узла с именем пользователя. попробуйте это

cat /etc/passwd | grep node

, если он печатает узел, это работает

user=${SUDO_USER} 
sudo -su ${user} node

, если не создать пользовательский узел, например,

adduser node
user=${SUDO_USER} 
sudo -su ${user} node

и, наконец, ваши скрипты .sh будет работать.

0
ответ дан 11 June 2019 в 17:35

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

Похожие вопросы: