如何列出所有 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中的所有环境变量?
当我输入命令 env
或 printenv
时,它会提供很多变量,但某些变量,如 LD_LIBRARY_PATH
和 PKG_CONFIG
不会出现在此列表中。
我想键入一个列出所有环境变量的命令,包括此变量(LD_LIBRARY_PATH
和 PKG_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 已声明但未声明 export
ed,因此子进程不会继承它。
如果您在 shell 启动文件中设置 LD_LIBRARY_PATH
,例如 .bash_profile
或 .bashrc
,请确保将其导出:
export LD_LIBRARY_PATH
【讨论】:
【参考方案3】:这个问题其实是个好问题。当运行env
或printenv
时,输出将是系统环境,但不属于LD_LIBRARY_PATH。
例如设置a=1
,则不能以env
显示。和 LD_LIBRARY_PATH 一样,它只被 ld.so 使用(ld.so——这个启动所有应用程序的小程序)
【讨论】:
以上是关于如何列出所有 Linux 环境变量,包括 LD_LIBRARY_PATH的主要内容,如果未能解决你的问题,请参考以下文章