相关疑难解决方法(0)

为什么我的 LD_LIBRARY_PATH 未设置启动终端?

我有一个 shell 脚本来设置一些环境变量并启动我作为参数发送的任何程序:

export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
export TESTER="MY TEST VAR"

$@
Run Code Online (Sandbox Code Playgroud)

bash例如,当我使用它来调用它时,它可以工作:

kjfletch@flatbed:~$ envrun.sh bash
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
/home/kjfletch/local/lib:
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Run Code Online (Sandbox Code Playgroud)

当我用它来调用终端 ( xterm, aterm, ...) 时,我LD_LIBRARY_PATH会被取消设置:

kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH

kjfletch@flatbed:~$ echo $TESTER

MY TEST VAR
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?我怎么能阻止这个?(我正在运行 Debian 5.0)

更新

我的终端没有调用 bash 作为登录:

kjfletch@flatbed:~$ echo $0
bash
Run Code Online (Sandbox Code Playgroud)

我的LD_LIBRARY_PATH没有出现在任何 bash 启动文件中(除了 .bash_history 和 ~/.profile 不存在。):

kjfletch@flatbed:~$ grep "LD" ~/.bash*
kjfletch@flatbed:~$ grep "LD" /etc/bash.bashrc 
kjfletch@flatbed:~$ grep "LD" /etc/profile 
Run Code Online (Sandbox Code Playgroud)

linux terminal shell environment-variables

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

environment-variables ×1

linux ×1

shell ×1

terminal ×1