一、前言?
最近在做一个QT的项目,顺便学习一下程序的打包,然后就遇到了这个问题
二、Show your 操作
1.在网上get到 ldd 命令 :显示程序使用的库文件
2. 然后运行脚本命令
deplist=$( ldd Programe | awk '{if (match($3,"/")){ print $3}}' )
cp $deplist direction
我们可以看到库文件的样式,第一行只有一个名字,没有具体路径,因此是无效的库文件,只有 “=>”后面带有“/”(即存在目录)的项才有效。因此我们使用awk的脚本功能,判断第三个参数,即是“=>”之后的路径必须包含“/”
其中“Programe”是程序文件名字,direction则是拷贝目标目录
之后将第一行的输出重定向到变量中, 再使用cp指令从列表拷贝到指定目录
3. 操作结果
(1) 原始状态
(2) 执行命令
(3)结果