Linux下Qt打包的shell脚本

一、shell脚本

复制某文件夹下内容到指定位置:

#!/bin/bash
dst="/home/edward/YR/test"   #所建文件夹的路径       
cp -r /home/edward/Desktop/lost/* $dst





二、通用脚本

package.sh
liblist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')   #抓依赖库语句
可执行程序名.sh
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"




三、我写的Qt打包shell脚本

①package.sh
#!/bin/bash

#1.判断是否存在YRPackage_UOS目录,没有则创建
cd /home/edward/YR
if [ ! -d "YRPackage_UOS"  ];then
  mkdir YRPackage_UOS
else
  echo dir exist
fi

#2.将YeecohReader.exe拷贝到YRPackage_UOS目录下  【注意路径】
cp /home/edward/YR/YR134/build-YeecohReader-Qt_5_11_3_in_PATH_qt5-Release/YeecohReader /home/edward/YR/YRPackage_UOS

#3.自动抓取依赖库
cd /home/edward/YR/YRPackage_UOS
exe="YeecohReader"                            #需要发布的程序名称
dst="/home/edward/YR/YRPackage_UOS"   #所建文件夹的路径      
liblist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')   #依赖库
cp $liblist $dst          #将依赖库复制到当前目录下

#4.手动添加上一步没抓到的缺失依赖库
cp -r /home/edward/Desktop/lost/* $dst

执行打包脚本,库就都抓取(复制)过来了

在这里插入图片描述



②YeecohReader.sh
#!/bin/sh

#1.设置变量
DSTUSER=`whoami`
DSTHOME=/home/$DSTUSER
DSTYEECOH=$DSTHOME/.yeecoh

#2.检查是否已经存在.yeecoh目录(在第一次执行时进行.yeecoh目录的拷贝)
cd $DSTHOME
if [ ! -d ".yeecoh"  ];then       #如果文件夹不存在
  cp -R /opt/apps/yeecohreader/files/Yeecoh $DSTYEECOH
  chmod -R a+w $DSTYEECOH
else   
  echo .yeecoh exist
fi

#3.执行可执行程序
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi

LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/opt/apps/yeecohreader/files   #重新设置动态库搜索路径LD_LIBRARY_PATH

$dirname/$appname "$@" #执行可执行程序
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员爱德华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值