为什么第一个不起作用并且无法conda
在PATH上找到而第二个起作用?
$ 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
我正在将@Kusalananda的评论变成社区答案,所以这个问题不会一直没有答案。
在这两个命令中,$PATH
值来自交互式 shell 调用su
和sudo
,而不是来自实际尝试调用 的 shell conda
。这是由于命令的双引号(第一个命令)和不引用(第二个命令)引起的。在第二个命令中,您甚至不执行conda
with sudo
(sudo
命令以 结束&&
)。您可能想尝试sudo -u "$NB_USER" sh -c 'echo $PATH && conda --version'
或类似的东西(sudo
我的机器上没有,所以无法正确测试)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句