LINUX和MAC差异是命令不同。

#!/bin/bash# sudo apt -y install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-devfunction mac_change_rpath_command_3param()
{# linux: local RPATH_TOOL=chrpath local RPATH_TOOL=install_name_toollocal RPATH_CMD=/usr/bin/${RPATH_TOOL}if [ ! -f ${RPATH_CMD}  ]; thenRPATH_CMD=./${RPATH_TOOL}fi${RPATH_CMD} -change \"${2}" \"${3}" \"${1}"}function mac_change_rpath_file_3param()
{local SRC_TEXTS=`otool -L "${1}"`if [ "${SRC_TEXTS}" == "" ]; thenreturnfilocal itemfor item in ${SRC_TEXTS}dolocal LIB_NAMEif [[ ${item} == *${2}* ]]; thenLIB_NAME=`echo ${item} | awk -F '/' '{ print $6 }'`elif [[ ${item} == /lib*dylib ]]; thenLIB_NAME=`echo ${item} | awk -F '/' '{ print $2 }'`elif [[ ${item} == lib*dylib ]]; thenLIB_NAME=${item}elsecontinuefi# echo ${item} ${LIB_NAME}mac_change_rpath_command_3param \"${1}" \"${item}" \"${3}"/${LIB_NAME}done}function mac_change_rpath_dir_3param()
{local CURR_DIR=`pwd`cd "${1}"# pwdlocal files=`ls | tr " " "\?"`local itemfor item in ${files}doif [ -d ${item} ]; thenmac_change_rpath_dir_3param       "${item}" "${2}" "${3}"elif [ -f ${item} ]; thenmac_change_rpath_file_3param "${1}/${item}" "${2}" "${3}"fidonecd "${CURR_DIR}"
}# {{{{{{{{{{INSTALL_LIB_DIR=`pwd`
INSTALL_LIB_DIR="${INSTALL_LIB_DIR}/ffmpeg"RPATH_SRC="/Users/tsit/lib-ffmpeg/lib"
RPATH_DEST="${INSTALL_LIB_DIR}"mac_change_rpath_dir_3param "${INSTALL_LIB_DIR}"   "${RPATH_SRC}"    "${RPATH_DEST}"# }}}}}}}}}}

对目录下所有库文件进行rpath更改操作的SHELL脚本相关推荐

  1. Linux下将数据文件的指定域读取到shell脚本中

    Linux下将数据文件的指定域读取到shell脚本中 这个例子说明了怎样在Linux下shell脚本中从数据文件读取特定的域(field)并进行操作.例如,假设文件employees.txt的格式是{ ...

  2. Linux 里有/lib和/usr/lib,这两个目录下的库文件有什么区别吗?如果没区别为什么又要分开放呢...

    有区别的. /lib里面给的是root和内核所需so或者a之类的库文件,而/usr/lib是普通用户能够使用的. Linux的程序有两种模式,这个你应该知道,是用户模式和内核模式,和这个也是有关系的, ...

  3. 【转】Linux 里有/lib和/usr/lib,这两个目录下的库文件有什么区别吗?如果没区别为什么又要分开放呢

    有区别的. /lib里面给的是root和内核所需so或者a之类的库文件,而/usr/lib是普通用户能够使用的. Linux的程序有两种模式,这个你应该知道,是用户模式和内核模式,和这个也是有关系的, ...

  4. linux的库文件路径,Linux下的库文件搜索路径

    对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执行&quo ...

  5. python 递归目录_Python3:递归实现输出目录下所有的文件

    今天来整理一下os库中方法的使用,如何输出一个目录下的所有文件? 1.首先介绍几个基本的的方法: 1)os.getcwd()  #返回当前工作目录 2)os.listdir()    #返回一个列表, ...

  6. golang递归获取目录下的所有文件

    简言 1. golang为我们提供了完善的文件操作库,例如os,ioutil等 2. 前人已经写了文件操作的示例,具体可参考这篇博客 https://colobu.com/2016/10/12/go- ...

  7. linux--多目录下的MakeFile文件(嵌套Makefile)编写

    linux--多目录下的makefile文件(嵌套Makefile)编写 1 简介 2 规则 2.1 简介 2.1.1 Makefile 主要的 5个部分 (显示规则, 隐晦规则, 变量定义, 文件指 ...

  8. 递归思想解决输出目录下的全部文件

    刚刚了解了下递归思想 递归就是在方法内调用本方法 下面说一个实际的应用 输出目录下的全部文件,当目录中还有目录时,则进入目录输出里面的文件 import java.io.*; class ShowFi ...

  9. 用bash命令得到Windows一个目录下的所有文件并且把结果输入到一个文件

    方式一: 只用如下一条语句就可以了: tree/f>index.txt 放入一个文件中命名为"****.bat" 双击就会在该目录下生成一个index.txt文件,在这个文件 ...

  10. python删除过期文件_Python删除指定目录下的过期文件的代码

    在代码过程中,将代码过程中比较常用的一些代码段做个备份,如下的代码是关于Python删除指定目录下的过期文件的代码,应该能对小伙伴也有帮助. import os import sys import t ...

最新文章

  1. OpenStack镜像制作笔记 --以windows8.1-amd64为例
  2. 黑客攻破网站涂鸦特效(强烈建议看看)
  3. 请简要说明一下CyclicBarrier和CountDownLatch的区别?
  4. 编译AjaxControlToolkit发生错误如何解决?
  5. 服务器的虚拟内存怎么调,服务器的虚拟内存怎么调才好
  6. C4D优质电商背景素材|分分钟搞定设计稿
  7. [转载] python maketrans_python2和python3中maketrans和translate的用法
  8. 给input设置css样式,input能改变css样式吗
  9. windows server 2008 R2开启ftp服务
  10. ſ xf(sinx)dx 中的f(sinx)到底是什么
  11. AWL词汇 Academic Word List (1)
  12. 【DVB】采用DVB-T或DVB-T2的国家达166个
  13. 用python计算残差等
  14. win键失效、win+e、win+r等及桌面左下角开始点击无响应
  15. psv无线怎么连接电脑连接电脑连接服务器,PSVR怎么接电脑 PS VR连接电脑使用教程...
  16. 智慧地铁内涵、特征与定义
  17. edt ast linux date,Linux 的时区修改.doc
  18. 这个生物黑客体内植入了14枚芯片,真的很酷吗?
  19. 联想-thinkbook-有线网卡故障和有线网卡故障-修改方法
  20. Ubuntu最新版本(Ubuntu22.04LTS)安装nfs服务器及使用教程

热门文章

  1. shell 封装mysql查询
  2. springboot单元测试_springboot2.x基础教程:单元测试
  3. endnotex9下载安装_endnote x9怎么和word关联?Word中用EndNote X9教程
  4. 二进制数组操作的数组维度必须匹配_Testbench编写指南(2)文件的读写操作
  5. acs880变频器选型手册_设备安装:变频器调试成功就差这一步了
  6. yii2 表单提交没有对应的路由参数解决办法
  7. 基于 Redis 的分布式锁到底安全吗(上)?
  8. 提升数据建模的10种技术措施
  9. HR别掉坑里了,送你最精确的计薪算法!
  10. Git 命令行(cygwin) + Git Extensions + Git Source Control Provider