![](/img/trans.png)
[英]how to load shell environment variables when Emacs starts py-shell?
[英]how to load environment variables when fork a sub shell in bash?
下一个bash脚本在crontab中被调用。
我在/etc/profile.d/python.sh中为python定义了一些环境变量。
$ JOBCMD是一些会长期运行的python脚本,因此我想用fork调用该脚本。
#!/bin/sh
. /etc/profile.d/python.sh
JOBCMD=`/path/to/a_long_time_shell.py`
if [ -z "$variable" ]; then
(
. /etc/profile.d/python.sh
$JOBCMD &
)
fi
exit 0
结果是$ JOBCMD无法在/etc/profile.d/python.sh中获取环境变量? 我该如何解决?
我看到的最简单的方法是在python.sh
导出变量:
export a=123
export b=234
代替
a=123
b=234
我猜你在做什么。
或者,如果知道所需的变量,则可以在调用脚本之前将其导出:
...
. /etc/profile.d/python.sh
export a
export b
$JOBCMD &
...
export JOBCMD=`/path/to/a_long_time_shell.py`
应该使它可用于所有新创建的过程。 或者,甚至更好。 您可以使用psutils按名称查找进程,并以此方式进行处理。 将事物传递到环境中是进行IPC的一种怪异方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.