我们在一个嵌入式系统上使用Linux,该系统的各种shell命令中都安装了Busybox 1.20.2。我们遇到了一个非常奇怪的问题,即env命令不能显示LD_LIBRARY_PATH
的值:
$ export LD_LIBRARY_PAT=/usr/bin
$ export LD_LIBRARY_PATH=/usr/bin
$ export LD_LIBRARY_PATH1=/usr/bin
$ env | sort
ENV=/etc/profile.environment
HISTFILE=/tmp/.ash_history.debug.357
HOME=/home/debug
LD_LIBRARY_PAT=/usr/bin
LD_LIBRARY_PATH1=/usr/bin
LOGNAME=debug
MAIL=/var/mail/debug
PATH=/home/debug/bin:/usr/bin:/bin:/usr/sbin:/sbin
PWD=/home/debug
PYTHONPATH=:/home/debug/tools/tools-0.0.0/common
SHELL=/bin/bash
SHLVL=1
SSH_CLIENT=10.10.10.22 58307 22
SSH_CONNECTION=10.10.10.22 58307 10.10.12.23 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=debug
_=/usr/bin/env
$
$ echo $LD_LIBRARY_PAT
/usr/bin
$ echo $LD_LIBRARY_PATH
/usr/bin
$ echo $LD_LIBRARY_PATH1
/usr/bin
从你所看到的情况来看,LD_LIBRARY_PATH
已经被设置了,但是在env输出的结果中却没有显示出来。据我所知,这是唯一会发生这种情况的环境变量。
有人能解释一下为什么会出现这种情况吗?谢谢!
env
以外的其他东西进行测试吗?比如 Python 或 Perl 等,看看它们是否正确继承了LD_LIBRARY_PATH
?busybox 是否明确禁止导出LD_LIBRARY_PATH
呢? - Etan Reisner