- 主题:怎么让export的环境变量在zsh/csh里生效?
- export是传递特性啊,并不需要再次
 【 在 ilovecpp (cpp) 的大作中提到: 】
 : ld_preload是ld-linux.so处理的,跟csh有啥关系?
 : 他没有在csh里export当然不生效了。
 --
 FROM 163.177.68.*
 
- 问题是他csh的这变量可能是set的,你外面export没用啊。
 
 【 在 world 的大作中提到: 】
 : tmp$ bash
 : tmp$ export LD_PRELOAD=/usr/lib/libgimp-2.0.so.0
 : tmp$ zsh
 : ...................
 --
 FROM 58.37.62.*
 
- 你看他的回复,变量已经生效了,能 echo
 【 在 ilovecpp (cpp) 的大作中提到: 】
 : 问题是他csh的这变量可能是set的,你外面export没用啊。
 --
 FROM 123.116.74.*
 
- 多半是在.cshrc里set过此变量。
 要说csh能影响ld-linux.so行为?不能把。
 
 【 在 world 的大作中提到: 】
 : 你看他的回复,变量已经生效了,能 echo
 --
 FROM 58.37.62.*
 
- 不是 set 的,父进程的环境变量传递给子进程了啊;再说,能 echo 就能用,不管在哪儿 set 过。
 是啊,我也觉得不能影响,我测试 zsh 是正常的,他那应该是其他问题。
 【 在 ilovecpp (cpp) 的大作中提到: 】
 : 多半是在.cshrc里set过此变量。
 : 要说csh能影响ld-linux.so行为?不能把。
 --
 修改:world FROM 123.116.74.*
 FROM 123.116.74.*
 
- 试了一下,你是对的。就算csh里用set覆盖掉,子进程还是能看见外面bash的export。
 
 【 在 world 的大作中提到: 】
 : 不是 set 的,父进程的环境变量传递给子进程了啊;再说,能 echo 就能用,不管在哪儿 set 过。
 : 是啊,我也觉得不能影响,我测试 zsh 是正常的,他那应该是其他问题。
 --
 FROM 58.37.62.*
 
- 嗯,csh 里, set 影响本进程,setenv 才影响子进程。
 【 在 ilovecpp (cpp) 的大作中提到: 】
 : 试了一下,你是对的。就算csh里用set覆盖掉,子进程还是能看见外面bash的export。
 --
 FROM 123.116.74.*
 
- zsh可以,csh不行
 【 在 world 的大作中提到: 】
 : 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)
 
 来自 MI 10
 --
 FROM 112.97.53.*