能否编写一个把一个应用程序的库文件全部复制出来的脚本?

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
linquid
帖子: 47
注册时间: 2007-11-22 14:15
送出感谢: 0
接收感谢: 0

能否编写一个把一个应用程序的库文件全部复制出来的脚本?

#1

帖子 linquid » 2008-11-18 2:03

# lcp BIN BINPATH LIBPATH
# BIN:可执行文件路径
# BINPATH:可执行文件的目标路径(复制到哪里)
# LIBPATH:相关库文件的目标路径
lcp()
# run()是另一个函数,执行它后面的shell命令,并在遇到错误时报错、写错
误日志
# 首先复制BIN到BINPATH
run "$CP $BIN $BINPATH"
# 使用ldd找出与BIN相关的库文件,把ldd的输出送给LDDSTR
LDDSTR=`ldd $BIN`
# 循环检查LDDSTR字符串的每一项
for STR in $LDDSTR; do
# 判断出库文件路径
LIB=`echo $STR | grep "/lib/" `
if [ -z "$LIB" ]; then
continue
fi
# 复制LIB到LIBPATH,除非要复制的库文件在目标路径中已经存在
LIBNAME=`basename $LIB`
if [ ! -f "$LIBPATH/$LIBNAME" ]; then
run "$CP $LIB $LIBPATH"
run "cp $LIB $LIBPATH"
else
log "Warning: File "$LIBPATH/$LIBNAME" exis
t."
fi
done

这个是从一个文档拷贝的,但是有问题。麻烦高手改下。自己把头皮抠破了都没弄出来。
头像
linquid
帖子: 47
注册时间: 2007-11-22 14:15
送出感谢: 0
接收感谢: 0

Re: 能否编写一个把一个应用程序的库文件全部复制出来的脚本?

#2

帖子 linquid » 2008-11-20 16:31

:em20 没人回答.....
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 能否编写一个把一个应用程序的库文件全部复制出来的脚本?

#3

帖子 eexpress » 2008-11-20 16:36

为什么要这么作?
ldd都知道。似乎就bash不过关?呵呵
● 鸣学
回复

回到 “Shell脚本”