Linux aarch64下 Qt软件打包发布 我按照网上的方法编写了脚本 并查看了相关的依赖项 同时我放开了此文件夹的权限 我执行了脚本
#!/bin/bash
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
$(mkdir $LibDir)
for Variable in ${lib_array[@]}
do
cp "$Variable" $LibDir
done
结果得到提示
一直没找到原因
根据你提供的信息,提示信息可能是因为 mkdir
命令创建目录时存在权限问题。
可以尝试添加 -p
选项,以递归创建目录并忽略已存在的目录。修改后的脚本如下:
#!/bin/bash
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
mkdir -p $LibDir
for Variable in ${lib_array[@]}
do
cp "$Variable" $LibDir
done
另外,可以通过添加 set -x
命令开启调试模式,以打印出脚本执行过程中的详细信息,帮助定位问题。修改后的脚本如下:
#!/bin/bash
set -x
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
mkdir -p $LibDir
for Variable in ${lib_array[@]}
do
cp "$Variable" $LibDir
done
执行脚本后,可以查看输出信息,找到具体的错误原因。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。