为什么在python中设置的环境变量不能持续存在?

物理迈克尔:

我希望编写一个python脚本,通过在要执行一些模拟代码的任何目录中运行该脚本来创建一些适当的环境变量,而且我读到我无法编写脚本来使这些环境变量持久存在。 Mac OS终端。有两件事:

这是真的?

看起来这将是一件有用的事情;为什么一般不可能呢?

本森

您无法通过python做到这一点,但是一些聪明的bash技巧可以做类似的事情。基本理由是:每个进程的内存空间中都存在环境变量。使用fork()创建新进程时,它将继承其父级的环境变量。当在shell(例如bash)中设置环境变量时,如下所示:

export VAR="foo"

您正在执行的操作是告诉bash将其进程空间中的变量VAR设置为“ foo”。当您运行程序时,bash使用fork(),然后使用exec()来运行该程序,因此,从bash运行的任何内容都会继承bash环境变量。

现在,假设您要创建一个bash命令,该命令将一些环境变量DATA设置为当前目录中名为“ .data”的文件中的内容。首先,您需要一个命令来从文件中获取数据:

cat .data

打印数据。现在,我们要创建一个bash命令以在环境变量中设置该数据:

export DATA=`cat .data`

该命令获取.data的内容,并将其放入环境变量DATA中。现在,如果将其放在别名命令中,则有一个bash命令可以设置环境变量:

alias set-data="export DATA=`cat .data`"

您可以将该别名命令放在主目录的.bashrc或.bash_profile文件中,以使该命令在您启动的任何新bash shell中可用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Python

在Windows上的Python中获取和设置环境变量

来自分类Python

Python为什么看不到环境变量?

来自分类Python

在python脚本中设置环境变量

来自分类Python

在python中取消设置Linux环境变量的正确方法是什么?

来自分类Dev

为什么我不能将这些环境变量永久删除到Ubuntu 18.04系统中?

来自分类Dev

如何在Python中设置和检索环境变量

来自分类Dev

当我清楚地看到环境变量存在时,为什么我的构建抱怨环境变量缺失?

来自分类Dev

使用Python持续更改环境变量

来自分类Dev

为什么在bash 4.1.2中不能访问带有破折号的环境变量?

来自分类Dev

为什么要在Bash函数中设置环境变量,但不能在脚本本身中设置

来自分类Dev

Monkeypatch在单元测试python中持续存在

来自分类Dev

在Jinja中为循环设置变量不会在两次迭代之间持续存在

来自分类Dev

在python中设置调用bash脚本的环境变量

来自分类Dev

无法在ubuntu中通过python设置环境变量

来自分类Dev

Docker为什么未设置$ USER环境变量

来自分类Dev

在Python中设置环境变量

来自分类Dev

子环境变量无法正确设置,为什么?

来自分类Dev

为什么不能将变量用作设置环境变量的命令的前缀?

来自分类Dev

重新连接时,为什么必须在tmux中重新设置环境变量?

来自分类Dev

为什么bash $()可以设置环境变量?

来自分类Dev

为什么未设置此环境变量?

来自分类Dev

为什么部分设置了我的环境变量?

来自分类Dev

为什么python中的open()不像导入那样使用windows环境变量

来自分类Dev

为什么环境变量在 Linux 中没有返回?

来自分类Dev

为什么在 maven jetty 插件中设置环境变量不起作用?

来自分类Dev

设置环境变量python

来自分类Dev

为什么数据会跨请求持续存在?

来自分类Dev

为什么我的环境变量没有在 ConfigMap 的 Kubernetes Pod 中设置?

来自分类Dev

为什么我的状态在屏幕更改时持续存在?

Related 相关文章

  1. 1

    在Windows上的Python中获取和设置环境变量

  2. 2

    Python为什么看不到环境变量?

  3. 3

    在python脚本中设置环境变量

  4. 4

    在python中取消设置Linux环境变量的正确方法是什么?

  5. 5

    为什么我不能将这些环境变量永久删除到Ubuntu 18.04系统中?

  6. 6

    如何在Python中设置和检索环境变量

  7. 7

    当我清楚地看到环境变量存在时,为什么我的构建抱怨环境变量缺失?

  8. 8

    使用Python持续更改环境变量

  9. 9

    为什么在bash 4.1.2中不能访问带有破折号的环境变量?

  10. 10

    为什么要在Bash函数中设置环境变量,但不能在脚本本身中设置

  11. 11

    Monkeypatch在单元测试python中持续存在

  12. 12

    在Jinja中为循环设置变量不会在两次迭代之间持续存在

  13. 13

    在python中设置调用bash脚本的环境变量

  14. 14

    无法在ubuntu中通过python设置环境变量

  15. 15

    Docker为什么未设置$ USER环境变量

  16. 16

    在Python中设置环境变量

  17. 17

    子环境变量无法正确设置,为什么?

  18. 18

    为什么不能将变量用作设置环境变量的命令的前缀?

  19. 19

    重新连接时,为什么必须在tmux中重新设置环境变量?

  20. 20

    为什么bash $()可以设置环境变量?

  21. 21

    为什么未设置此环境变量?

  22. 22

    为什么部分设置了我的环境变量?

  23. 23

    为什么python中的open()不像导入那样使用windows环境变量

  24. 24

    为什么环境变量在 Linux 中没有返回?

  25. 25

    为什么在 maven jetty 插件中设置环境变量不起作用?

  26. 26

    设置环境变量python

  27. 27

    为什么数据会跨请求持续存在?

  28. 28

    为什么我的环境变量没有在 ConfigMap 的 Kubernetes Pod 中设置?

  29. 29

    为什么我的状态在屏幕更改时持续存在?

热门标签

归档