对目录下所有库文件进行rpath更改操作的SHELL脚本
Posted 柳鲲鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对目录下所有库文件进行rpath更改操作的SHELL脚本相关的知识,希望对你有一定的参考价值。
LINUX和MAC差异是命令不同。
function quantum6_change_rpath_command_3param()
# echo $1 $2 $3
# linux chrpath
install_name_tool -change \\
$2 \\
$3 \\
$1
function quantum6_change_rpath_file2_3param()
mac_change_rpath_command \\
$1 \\
$2 \\
$3/$2
function quantum6_change_rpath_file_3param()
local SRC_TEXTS=`otool -L $1`
if [ "$SRC_TEXTS" == "" ]; then
return
fi
for item in $SRC_TEXTS
do
local LIB_NAME
if [[ $item == *$2* ]]; then
LIB_NAME=`echo $item | awk -F '/' ' print $6 '`
elif [[ $item == /lib*dylib ]]; then
LIB_NAME=`echo $item | awk -F '/' ' print $2 '`
elif [[ $item == lib*dylib ]]; then
LIB_NAME=$item
else
continue
fi
# echo $item $LIB_NAME
quantum6_change_rpath_command_3param \\
$1 \\
$item \\
$3/$LIB_NAME
done
function quantum6_change_rpath_dir_3param()
local CURR_DIR=`pwd`
cd "$1"
# pwd
local files=`ls | tr " " "\\?"`
for item in $files
do
if [ -d "$item" ]; then
quantum6_change_rpath_dir_3param "$item" $2 $3
elif [ -f "$item" ]; then
quantum6_change_rpath_file_3param "$item" $2 $3
fi
done
cd $CURR_DIR
RPATH_SRC="/Users/taishansoft/lib-ffmpeg"
DEST_DIR=/Users/taishansoft/eclipse-workspace/FontTest/lib-ffmpeg
RPATH_DEST="./lib-ffmpeg"
mquantum6_change_rpath_dir_3param $DEST_DIR $RPATH_SRC $RPATH_DEST
以上是关于对目录下所有库文件进行rpath更改操作的SHELL脚本的主要内容,如果未能解决你的问题,请参考以下文章
python文件和目录操作方法大全(含更改文件夹下所有文件名称的实例)
这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件