清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#!/bin/bash
run () {
if [ ! -f *.pro ] || [ ! -f *.pro.user ]; then
echo "Warn: Can't find \"*.pro\" or \"*.pro.user\" files !"
return
fi
# 从*.pro.user文件中提供目标生成路径,用awk切割了两次
build_path_array=($(grep "BuildDirectory" *.pro.user | grep $1\
| awk -F\< '{print $2}' \
| awk -F\> '{print $2}' \
| uniq))
# 从*.pro文件中提供目标文件名,即TARGET变量的值
exec_file_name=$(echo $(awk -F\= '/TARGET/ {print $2}' *.pro))
for build_path in ${build_path_array[@]}
do
# 将目标路径与目标文件名拼接成目标文件全称
target=${build_path}/$exec_file_name
if [ -f "$target" ]; then # 检查目标文件是否存在
echo "Run \"$target\"."
$target & # 执行目标文件
break
fi
done
}
help () {
echo " Usage: Run executale file directly."
echo " run d|D|debug|Debug #run debug file"
echo " run r|R|release|Release #run release file"
}
#################################################################
# start here
case $1 in
D|d|Debug|debug)
run Debug;;
R|r|Release|release)
run Release;;
*) help
esac