У меня есть скрипт bash, который устанавливает программное обеспечение с apt-get
, а также загружает и устанавливает miniconda3
. Позже я хотел бы использовать команду conda
без перезапуска оболочки. Этот скрипт вызывается с sudo
, но для всех вещей, связанных с conda
, которые я хочу выдать за обычного пользователя, см. Ниже:
#!/usr/bin/env bash
# we are operating in the user's home dir
sudo -u $SUDO_USER bash Miniconda3-latest-Linux-x86_64.sh -b -p miniconda3
source [path_to_the_user_home]/miniconda3/etc/profile.d/conda.sh
sudo -u $SUDO_USER -H -s eval $(conda shell.bash hook)
sudo -u $SUDO_USER conda --version
Однако я получаю ошибку, что команда conda
не распознан Интересно, что если последняя строка будет просто conda --version
, то она будет правильно распознана. Кажется, что от 2-ой до последней строки работали для root, но не для пользователя (а это именно то, что я хочу)