- 主题:怎么让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.*