如何列出所有 Linux 环境变量,包括 LD_LIBRARY_PATH

Posted

技术标签:

【中文标题】如何列出所有 Linux 环境变量,包括 LD_LIBRARY_PATH【英文标题】:How to list all Linux environment variables including LD_LIBRARY_PATH 【发布时间】:2014-02-03 00:42:33 【问题描述】:

如何列出Linux中的所有环境变量?

当我输入命令 envprintenv 时,它会提供很多变量,但某些变量,如 LD_LIBRARY_PATHPKG_CONFIG 不会出现在此列表中。

我想键入一个列出所有环境变量的命令,包括此变量(LD_LIBRARY_PATHPKG_CONFIG

【问题讨论】:

你为什么认为那些应该有价值? 因为我给他们增加了价值 如果他们没有显示出来,那就是不正确。 GNU 标准建议默认将所有库安装在 /usr/local/lib.... 您可能还想先阅读此内容:cc.dtu.dk/?page_id=304 【参考方案1】:

试试

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

这将修改变量。

要打印它,请输入:echo $LD_LIBRARY_PATH,它应该会显示上述值。

如果您在打印时没有看到任何内容,则可能未设置该变量。

【讨论】:

【参考方案2】:

env 确实列出了所有环境变量。

如果LD_LIBRARY_PATH 不存在,则该变量未声明; or 已声明但未声明 exported,因此子进程不会继承它。

如果您在 shell 启动文件中设置 LD_LIBRARY_PATH,例如 .bash_profile.bashrc,请确保将其导出:

export LD_LIBRARY_PATH

【讨论】:

【参考方案3】:

这个问题其实是个好问题。当运行envprintenv 时,输出将是系统环境,但不属于LD_LIBRARY_PATH。

例如设置a=1,则不能以env显示。和 LD_LIBRARY_PATH 一样,它只被 ld.so 使用(ld.so——这个启动所有应用程序的小程序)

【讨论】:

以上是关于如何列出所有 Linux 环境变量,包括 LD_LIBRARY_PATH的主要内容,如果未能解决你的问题,请参考以下文章

10 分钟学会Linux常用 bash命令

如何列出 c/c++ 应用程序中的所有环境变量

linux查找进程id和杀死进程以及查看内存??

如何列出 Linux 中的所有 python 虚拟环境? [复制]

linux环境变量

linux 下查看进程用啥命令