shell 使用脚本

列出一个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

猜你喜欢

转载自45121739-163-com.iteye.com/blog/757069