- 主题:怎么让export的环境变量在zsh/csh里生效?
我测试了一下可以生效啊
【 在 iwannabe (I wanna be) 的大作中提到: 】
: 在bash下export XXXX
: 运行bash后这个环境变量还存在
: 但是csh和zsh不认
: ...................
--
FROM 123.116.74.*
我没有csh,测了下zsh也可以生效,我感觉你这里的问题可能和环境变量没关系。
【 在 iwannabe (I wanna be) 的大作中提到: 】
: o,可以生效,但是我设置的LD_PRELOAD在csh里无法生效
--
FROM 123.116.74.*
tmp$ bash
tmp$ export LD_PRELOAD=/usr/lib/libgimp-2.0.so.0
tmp$ zsh
tmp % ldd /bin/ls
linux-vdso.so.1 (0x00007ffd7833b000)
/usr/lib/libgimp-2.0.so.0 (0x00007f2913633000)
【 在 ilovecpp (cpp) 的大作中提到: 】
: ld_preload是ld-linux.so处理的,跟csh有啥关系?
: 他没有在csh里export当然不生效了,难道bash的export还能穿透csh不成。
--
FROM 123.116.74.*
你看他的回复,变量已经生效了,能 echo
【 在 ilovecpp (cpp) 的大作中提到: 】
: 问题是他csh的这变量可能是set的,你外面export没用啊。
--
FROM 123.116.74.*
不是 set 的,父进程的环境变量传递给子进程了啊;再说,能 echo 就能用,不管在哪儿 set 过。
是啊,我也觉得不能影响,我测试 zsh 是正常的,他那应该是其他问题。
【 在 ilovecpp (cpp) 的大作中提到: 】
: 多半是在.cshrc里set过此变量。
: 要说csh能影响ld-linux.so行为?不能把。
--
修改:world FROM 123.116.74.*
FROM 123.116.74.*
嗯,csh 里, set 影响本进程,setenv 才影响子进程。
【 在 ilovecpp (cpp) 的大作中提到: 】
: 试了一下,你是对的。就算csh里用set覆盖掉,子进程还是能看见外面bash的export。
--
FROM 123.116.74.*