您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

您无法通过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中可用。

python 2022/1/1 18:27:54 有200人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶