请教环境变量在何处设置怎样才能对procmailrc有效的问题

用getmail -n收信。getmail的配置文件中调用procmail:
path = /usr/bin/procmail

arguments = (“-f”, “%(sender)”, “-m”, “~/.procmailrc”)

但是如果在.zshrc或者.bashrc中写明某个环境变量比如叫LOG,在~/.procmailrc中就无法引用,好像~/.procmailrc没有读到这个变量。但是$HOME之类的是可以引用的。到底在哪里写环境变量,才能确保procmail能正确读到?

另外顺便问下,如果我的登录shell是zsh,但是经常用bash -ic 调用脚本,环境变量要写在哪,才能确保脚本能正确读到?谢谢哈。

环境变量是继承的,因此你需要在父进程中设置。

你的 getmail 是从哪里调用的,你就在哪里设置。

试验结果,好像因为procmail不是显式通过bash调用的,所以不能识别bashrc的环境变量,跟父进程设置无关。getmail也类似。估计只有/etc/enviroment中设置的环境变量才能正常读取。或者显式写bash -ic ‘procmail’ 估计也行。还是谢谢哈。

啊?这不正证明了和父进程强相关吗?

哦哦,那是我理解错了。就是说虽然是getmail设置中调用了procmail,但是getmail不是procmail的父进程。