我需要找出从/ sbin / ldconfig返回的信息中加载的库。我想出了以下内容:
#!/bin/bash
echo $(dirname $(/sbin/ldconfig -p | awk "/$1/ {print \$4}" | head -n 1))
运行此结果:
$ whichlib libGL.so
/usr/X11R6/lib
这是一个由两部分组成的问题:
谢谢, 保罗
答案 0 :(得分:0)
根据您的具体操作,您可能希望直接在您计划运行的可执行文件上运行ldd
,而不是一般案例ldconfig
。
既然你问过,你可以这样编写你的脚本:
dirname "$(/sbin/ldconfig -p | awk "\$1 == "$1" {print \$4; exit}")"
它更精确,管道更少。 echo $(cmd)
也是多余的;你可以写cmd
。
答案 1 :(得分:0)
可执行程序可以通过多种方式加载库: 1。
您正在使用选项2,而不考虑选项1和3.