【发布时间】:2022-01-06 00:10:37
【问题描述】:
在命令行中,我的命令 python3 -u jupterlab notebook 完美运行,因为 python 位于 /srv/conda/envs/notebook/bin/python3。
接下来,我有一个bash脚本,比如/usr/local/share/python3-login,它的内容是
#!/bin/bash -l
echo $PATH
exec python3 -u "$@"
我的问题是在调用脚本的时候,遇到了python3 not found的错误/usr/local/share/python3-login: line 3: exec: python3: not found
我尝试通过在第2行添加echo $PATH进行调试,结果PATH是/opt/conda/condabin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/game,python3不存在
如何让我的 bash 脚本识别/srv/conda/envs/notebook/bin/python3?
为了添加更多上下文,我使用 Ubuntu OS 构建了一个 docker 映像
【问题讨论】:
-
阅读 bash 手册页中的 INVOCATION 部分。它描述了 bash 登录 shell 处理了哪些文件。最有可能的是,PATH 在其中一个文件中设置为您观察到的值。您想将其作为登录 shell 运行的原因是什么?