如何在bash脚本中的源环境shell之后运行命令

如何在bash脚本中的源环境shell之后运行命令,bash,ubuntu,environment,Bash,Ubuntu,Environment,我正在尝试在设置环境后运行命令。此命令运行一个python脚本,该脚本取决于环境 我有以下代码: #!/bin/bash source ~/some/linux/env/shell python test.py 但是,“python test.py”仅在我退出env shell之后运行。 我希望能够在这个新的shell环境中运行“python test.py”。首先添加python running和explaining目录 #!/usr/bin/env python 您必须授予代码执行权限

我正在尝试在设置环境后运行命令。此命令运行一个python脚本,该脚本取决于环境

我有以下代码:

#!/bin/bash

source ~/some/linux/env/shell
python test.py
但是,“python test.py”仅在我退出env shell之后运行。
我希望能够在这个新的shell环境中运行“python test.py”。

首先添加python running和explaining目录

#!/usr/bin/env python
您必须授予代码执行权限。您可以在下面给予许可

chmod a+x test.py
现在可以从命令行运行它了

./test.py

不。不是答案。test.py运行良好。我想在环境外壳内运行它,而不是在退出环境外壳后运行。也许你可以这样尝试。“/usr/bin/environments/project/env/bin/python test.py”您能澄清一下
env shell中的内容吗?什么信息丢失了?“source”命令将在当前bash中执行…/env/shell,任何导出的变量都将传递给python代码。不会丢失任何内容。只有在我退出新shell(在本例中键入exit命令)之前,source后面的下一行永远不会执行。我想找到一种在新shell中执行这个“python test.py”的方法。我再次检查,发现
env shell
正在使用rcfile创建一个新的bash shell。我可以编辑
envshell
以包含python行,但我希望避免这种情况。我想保持它的样子。考虑共享“shell”文件。在不知道反馈内容的情况下很难提供反馈。它可能是一个交互式shell,但无法验证。