最初のものが機能せず失敗するconda
理由道2番目の作品はどうですか?
$ su - $NB_USER -c "echo $PATH && conda --version"
/opt/conda/condabin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-sh: 1: conda: not found
$ sudo -u $NB_USER -- echo $PATH && conda --version
/opt/conda/condabin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
conda 4.9.2
答え1
私は仕事をします。@クサラナンダさんのコメントはコミュニティの回答に含まれているため、この質問に対する回答は決して解決されません。
どちらのコマンドでも、値は実際に呼び出しを試みるシェルではなく、呼び出しを行う$PATH
対話型シェルから取得されます。これは、コマンドの二重引用符(最初のコマンド)と二重引用符(2番目のコマンド)が原因で発生します。 2番目のコマンドは(コマンドで終わる)も実行しません。試してみたり、似たようなことをしたい場合があります(自分のコンピュータにその機能がないため、正しくテストできません)。su
sudo
conda
conda
sudo
sudo
&&
sudo -u "$NB_USER" sh -c 'echo $PATH && conda --version'
sudo