我目前正在学习unix,我有一个关于设置临时环境路径的问题。我有以下 C 脚本,
///home/jason/Public/TestTempEnv.c
putenv("PATH=$PATH:/home/jason/Public/:/home/jason/Private/");
system("register");
根据我的理解,它将在 $PATH 中定义的所有路径中从第一个定义的路径开始,从左到右搜索“register”。
但是,如果我有一个执行以下操作的 python 脚本,
import os
os.system("export PATH=/home/lucy/:$PATH && /home/jason/Public/TestTempEnv")
Python脚本设置临时路径,然后调用TestTempEnv.c
脚本,TestTempEnv.c
中的最终路径将是/home/lucy/在执行
路径? 注册
之前添加
补充一下,我已经使用命令编译了 C 脚本,gcc TestTempEnv.c -o TestTempEnv
最佳答案
您可以使用 execve 并精确指定环境变量: int execve(const char *fichier, char *const argv[], char *const envp[]); 见人
关于python - 为脚本设置临时环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40447845/