列出一个so依赖的所有库,主要方便对比两个系统中依赖库的不同版本:
#!/bin/bash -x
listldd()
{
local lddlib=$1
local ldddep=$2
if [ $ldddep -eq 0 ];then
return 0
fi
for lib in `ldd $lddlib | awk -F " => " '{print $2}' | awk '{print $1}'`
do
if [ ! -n $lib ];then
continue;
fi
if [ `echo $lib | grep "^("` ];then
continue
fi
echo "$lddlib -> $lib" | tee -a libldd.log
let "ldddep -= 1"
listldd $lib $ldddep
done
}
CURDIR=`pwd`
cd $CURDIR
#clear...
cat /dev/null > libldd.log
listldd $1 $2
#!/bin/bash -x
listldd()
{
local lddlib=$1
local ldddep=$2
if [ $ldddep -eq 0 ];then
return 0
fi
for lib in `ldd $lddlib | awk -F " => " '{print $2}' | awk '{print $1}'`
do
if [ ! -n $lib ];then
continue;
fi
if [ `echo $lib | grep "^("` ];then
continue
fi
echo "$lddlib -> $lib" | tee -a libldd.log
let "ldddep -= 1"
listldd $lib $ldddep
done
}
CURDIR=`pwd`
cd $CURDIR
#clear...
cat /dev/null > libldd.log
listldd $1 $2