执行功能
执行功能2的导出功能
A rslib_custom/Partizan_netlibs/lib_x400/libcommon_boost_1_76_0_rapidjson-1.1.0_mxml-3.2.a
A rslib_custom/Partizan_netlibs/lib_x400/lib-bcast-serv_boost_1_76_0_rapidjson-1.1.0.a
Checked out revision 1342. ---导出成功!!!!!
q
q
退出while循环
Input a number between 1 to 5 或者按 'q' 退出脚本:q
str_1 = q
=========================
退出脚本!!!
=========================
执行功能3、功能7、功能8的正常打印
A hybrid_normal/APP/dvr/main/tools/config/BASCOM/N7XXX/不支持序列号(SN)/custom-config.ini
A hybrid_normal/APP/APP.pro
Checked out revision 2056.---导出成功!!!!!
q
q
退出while循环
Input a number between 1 to 5 或者按 'q' 退出脚本:3
str_1 = 3
指令3,将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件
cp /home/liguoqiang/svnwork/5.07_8.2.1/hybrid_normal/APP/dvr/main/release/* /home/liguoqiang/svnwork/5.07_8.2.1/release/8xxx/ -rf
cp Release/images_5-0
cp no_video_TOPCAM.png
cp Release/language_TOP/*
cp Release/style_5-0
cp Release/font/yahei_arial_gothic_unicode[full]_32M.ttf
cp: cannot stat ‘Release/raysharp-hdvr-ui’: No such file or directory
Parallel mksquashfs: Using 16 processors
Creating 4.0 filesystem on app_V211028_N4XXX_M, block size 131072.
[============================================================================================================================================================================|] 823/823 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 131072
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 6154.00 Kbytes (6.01 Mbytes)
41.91% of uncompressed filesystem size (14682.60 Kbytes)
Inode table size 4714 bytes (4.60 Kbytes)
19.61% of uncompressed inode table size (24034 bytes)
Directory table size 7222 bytes (7.05 Kbytes)
35.28% of uncompressed directory table size (20470 bytes)
Number of duplicate files found 33
Number of inodes 734
Number of files 726
Number of fragments 6
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 8
Number of ids (unique uids + gids) 2
Number of uids 1
liguoqiang (1024)
Number of gids 1
rsteam (1096)
压缩app文件的名称 = app_V211028_N4XXX_M
Input a number between 1 to 5 或者按 'q' 退出脚本:8
str_1 = 8
8、压缩app删除,进入/home/liguoqiang/svnwork/5.07_8.2.1/release
Input a number between 1 to 5 或者按 'q' 退出脚本:7
str_1 = 7
7、单独压缩app
Parallel mksquashfs: Using 16 processors
Creating 4.0 filesystem on app_V211028_N4XXX_M, block size 131072.
[============================================================================================================================================================================|] 823/823 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 131072
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 6154.00 Kbytes (6.01 Mbytes)
41.91% of uncompressed filesystem size (14682.60 Kbytes)
Inode table size 4714 bytes (4.60 Kbytes)
19.61% of uncompressed inode table size (24034 bytes)
Directory table size 7222 bytes (7.05 Kbytes)
35.28% of uncompressed directory table size (20470 bytes)
Number of duplicate files found 33
Number of inodes 734
Number of files 726
Number of fragments 6
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 8
Number of ids (unique uids + gids) 2
Number of uids 1
liguoqiang (1024)
Number of gids 1
rsteam (1096)
压缩app文件的名称 = app_V211028_N4XXX_M
Input a number between 1 to 5 或者按 'q' 退出脚本:
#3# 功能6的打印
liguoqiang@raysharp-PowerEdge-R440:~/svnwork$ source ./a5.sh 5.07_8.2.1 8xxx 5-0 TOP 32 M 8.2.1 2056 8110 1766 1342 app_V211028_N4XXX_M
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1、创建今日份日期文件,且创建release、n文件夹以及下属的对应型号文件夹
2、svn导出最新程序
3、将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件
4、软连接试验,解压app
5、链接处下载ie包,反解压,压缩成ie格式
6、拿取N7XXX、N8XXX不支持序列号SN
7、单独压缩app或者删除
8、压缩app删除
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Input a number between 1 to 5 或者按 'q' 退出脚本:6
str_1 = 6
6、拿取N7XXX、N8XXX不支持序列号SN
拷贝8.2.1配置文件
Input a number between 1 to 5 或者按 'q' 退出脚本:6
str_1 = 6
6、拿取N7XXX、N8XXX不支持序列号SN
custom-config.ini文件存在
Input a number between 1 to 5 或者按 'q' 退出脚本:
a5版本脚本:
#!/bin/bash
###########################命令形式###########################
#1、source ./a3.sh 1.07_8.2.2 8xxx
#3、source ./a3.sh 1.07_8.2.2 8xxx 5-0 TOP 32 M
#2、source ./a3.sh 1.07_8.2.1 8xxx 5-0 TOP 32 M 8.2.1 2056 8110 1766 1342
#补充第3点:source ./a3.sh 5.07_8.2.1 8xxx 5-0 TOP 32 M 8.2.1 2056 8110 1766 1342 app_V211028_N4XXX_M
###########################命令形式###########################
filemkdir_1="release"
filemkdir_2="n"
mypath="/home/liguoqiang/svnwork"
App_release="/home/liguoqiang/svnwork/$1/hybrid_normal/APP/dvr/main/release"
Gui_Release="/home/liguoqiang/svnwork/$1/hybrid_normal/GUI"
kd=$PWD
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "1、创建今日份日期文件,且创建release、n文件夹以及下属的对应型号文件夹"
echo "2、svn导出最新程序"
echo "3、将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件"
echo "4、软连接试验,解压app"
echo "5、链接处下载ie包,反解压,压缩成ie格式"
echo "6、拿取N7XXX、N8XXX不支持序列号SN"
echo "7、单独压缩app或者删除"
echo "8、压缩app删除"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
num=0
while :
do
echo -n "Input a number between 1 to 5 或者按 'q' 退出脚本:"
read str_1
echo "str_1 = $str_1"
case $str_1 in
1)
echo "指令1,创建日期文件夹以及release、n、对应型号文件夹"
if [ $kd == $mypath ];then
echo "当前路径是svnwork目录"
(
if [ ! -e $1 ];then
echo "$1不存在,开始创建$1"
mkdir $1
chmod -R 775 $1
else
echo "$1存在,进入$1"
cd $1
fi
)
else
echo "非svnwork目录,进入svnwork目录,创建$2"
cd /home/liguoqiang/svnwork
(
if [ ! -e $1 ];then
echo "$1不存在,开始创建$1"
mkdir $1
chmod -R 775 $1
else
echo "$1存在,进入$1"
cd $1
fi
)
pwd
fi
if [ ! -e $mypath/$1/$filemkdir_1/$2 ];then
svc=($filemkdir_1 $filemkdir_2)
num=${#svc[@]}
echo "svc数组中的文件名有:${svc[*]} ; 数量num = $num"
echo "文件创建路径:$mypath/$1"
for ((i=0;i<num;i++))
do
mkdir -p $1/${svc[$i]}/$2
chmod -R 775 $1/${svc[$i]}/$2
done
else
echo "release、n中的$2文件已经存在,请执行其他步骤或输入 'q' 退出"
fi
;;
2)
echo "指令2,下载SVN链接"
echo "版本下载Input a number between 1 to 5 或者按 'q' 退出case 2(下载链接选择):"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "1、hybrid_normal下载"
echo "2、core_lib_light下载"
echo "3、rslib_normal下载"
echo "4、rslib_custom下载"
echo "5、实验功能:删除rslib_custom、rslib_normal重新下载"
echo "q、退出外层case 2(下载链接选择),进入到外层"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
if [ -e $1 ] && [ "8.2.1" == $7 ];then
cd $1
while :
do
read str_2
echo $str_2
case $str_2 in
1)
svn co -r$8 http://172.18.1.242/svn/hybrid/hybrid-8.2.1/hybrid_normal
;;
2)
svn co -r$9 http://172.18.1.242/svn/RS-DEVICE-MODULE/network-module/release/debug/core_lib_light
;;
3)
svn co -r${10} http://172.18.1.242/svn/hybrid/hybrid-8.2.1/rslib_normal
;;
4)
svn co -r${11} http://172.18.1.242/svn/hybrid/hybrid-8.2.1/rslib_custom
;;
5)
if [ -e $mypath/$1/rslib_custom ];then
rm $mypath/$1/rslib_custom -rf
else
echo "rslib_custom不存在,请下载"
fi
if [ -e $mypath/$1/rslib_normal ];then
rm $mypath/$1/rslib_normal -rf
else
echo "rslib_normal不存在,请下载"
fi
;;
q)
echo "退出while循环"
break
;;
esac
#break
done
else
echo "{7}=$7"
break
fi
cd $mypath
;;
3)
echo "指令3,将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件"
if [ -e $1 ];then
if [ -e $App_release ];then
#echo "cp $1/hybrid_normal/APP/dvr/main/release/*"
#echo "GUI脚本路径:$Gui_Release/copy_uirelease.sh"
#echo "GUI脚本命令参:$3 $4 $5 $6 $mypath/$1/$filemkdir_1/$2/"
#./copy_uirelease.sh 5-0 TOP 32 M ../../release/n7xxx
chmod -R 777 $App_release/*
if [ $2 != "" ];then
echo "cp $App_release/* $mypath/$1/$filemkdir_1/$2/ -rf"
cp $App_release/* $mypath/$1/$filemkdir_1/$2/ -rf
else
echo "$2文件不存在,app拷贝无去向,请重新执行脚本命令 '1' "
return
fi
chmod -R 777 $Gui_Release/*
cd $Gui_Release
if [ $3 != "" ] && [ $4 != "" ] && [ $5 != "" ] && [ $6 != "" ] && [ $$mypath/$1/$filemkdir_1/$2 != "" ];then
#执行GUI脚本拷贝
./copy_uirelease.sh $3 $4 $5 $6 $mypath/$1/$filemkdir_1/$2/
else
echo "执行GUI脚本拷贝命令参不全,请补全命令参,并重新执行脚本"
return
fi
cd $mypath/$1/$filemkdir_1
chmod -R 777 ./*
mksquashfs $2 ${12} -comp xz
chmod 777 ${12} -R
echo "压缩app文件的名称 = " ${12}
cd $mypath
#return
else
echo "没有执行第2步中的hybrid_normal下载,app中的release文件夹不存在,请先执行'case 2'"
fi
else
echo "$1文件不存在"
return
fi
;;
6)
echo "6、拿取N7XXX、N8XXX不支持序列号SN"
if [ -e $1 ] && [ "7xxx" == "$2" ] && [ ! -f $mypath/$1/$filemkdir_1/$2/custom-config.ini ];then
echo "拷贝8.2.2配置文件"
cp $mypath/$1/hybrid_normal/APP/dvr/main/tools/config/standard/N7XXX/不支持序列号\(SN\)/* $mypath/$1/$filemkdir_1/$2/ -rf
elif [ -e $1 ] && [ "8xxx" == "$2" ] && [ ! -f $mypath/$1/$filemkdir_1/$2/custom-config.ini ];then
echo "拷贝8.2.1配置文件"
cp $mypath/$1/hybrid_normal/APP/dvr/main/tools/config/standard/N8XXX/不支持序列号\(SN\)/* $mypath/$1/$filemkdir_1/$2/ -rf
else
echo "custom-config.ini文件存在"
fi
;;
7)
echo "7、单独压缩app"
if [ ! -f $mypath/$1/$filemkdir_1/${12} ] && [ -e $mypath/$1 ];then
cd $mypath/$1/$filemkdir_1
chmod -R 777 ./*
mksquashfs $2 ${12} -comp xz
chmod 777 ${12} -R
echo "压缩app文件的名称 = " ${12}
cd $mypath
else
echo "$1文件不存在,请先执行步骤1"
fi
;;
8)
echo "8、压缩app删除,进入$mypath/$1/$filemkdir_1"
if [ -e $mypath/$1/$filemkdir_1/${12} ];then
cd $mypath/$1/$filemkdir_1
rm ${12}
cd $mypath
else
echo "app文件不存在,无需删除"
fi
;;
q)
echo "========================="
echo "退出脚本!!!"
echo "========================="
break
;;
esac
done
当前全部功能正常打印:
liguoqiang@raysharp-PowerEdge-R440:~/svnwork$ source ./a3.sh 2022_8.2.1 7xxx 5-0 TOP 32 M 8
.2.0 2056 8110 1766 1342 app_V211028_N4XXX_M
验证打印****************/ 2022_8.2.1 /**************
打印数组元素: /home/liguoqiang/svnwork/2022_8.2.1/hybrid_UI5.0_Normal_API
打印数组元素: /home/liguoqiang/svnwork/2022_8.2.1/n
打印数组元素: /home/liguoqiang/svnwork/2022_8.2.1/release
2、 n文件已存在 : destdir_n = n
打印:release /home/liguoqiang/svnwork/2022_8.2.1/release
release目录下的文件=/home/liguoqiang/svnwork/2022_8.2.1/release/7xxx
release目录下的文件=/home/liguoqiang/svnwork/2022_8.2.1/release/8xxx
1、 release文件已存在 : destdir_release = release
release文件存在
7xxx 参数2=/home/liguoqiang/svnwork/2022_8.2.1/release/7xxx
8xxx 参数2=/home/liguoqiang/svnwork/2022_8.2.1/release/7xxx
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1、创建今日份日期文件,且创建release、n文件夹以及下属的对应型号文件夹
2、svn导出最新程序
3、将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件
4、软连接试验,解压app
5、链接处下载ie包,反解压,压缩成ie格式
6、拿取N7XXX、N8XXX不支持序列号SN
7、单独压缩app或者删除
8、压缩app删除
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Input a number between 1 to 8 或者按 'q' 退出脚本:1
str_1 = 1
指令1,创建日期文件夹以及release、n、对应型号文件夹
当前路径是svnwork目录
2022_8.2.1存在,进入2022_8.2.1
release、n中的7xxx文件已经存在,请执行其他步骤或输入 'q' 退出
Input a number between 1 to 8 或者按 'q' 退出脚本:2
str_1 = 2
指令2,下载SVN链接
版本下载Input a number between 1 to 5 或者按 'q' 退出case 2(下载链接选择):
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1、hybrid_normal下载
2、core_lib_light下载
3、rslib_normal下载
4、rslib_custom下载
5、实验功能:删除rslib_custom、rslib_normal重新下载
q、退出外层case 2(下载链接选择),进入到外层
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
{7}=8.2.0
Input a number between 1 to 8 或者按 'q' 退出脚本:3
str_1 = 3
指令3,将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件
cp /home/liguoqiang/svnwork/2022_8.2.1/hybrid_UI5.0_Normal_API/APP/dvr/main/release/* /home/liguoqiang/svnwork/2022_8.2.1/release/7xxx/ -rf
cp Release/images_5-0
cp no_video_TOPCAM.png
cp Release/language_TOP/*
cp Release/style_5-0
cp Release/font/yahei_arial_gothic_unicode[full]_32M.ttf
Parallel mksquashfs: Using 16 processors
Creating 4.0 filesystem on app_V211028_N4XXX_M, block size 131072.
[=========================================================================|] 1509/1509 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 131072
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 51009.23 Kbytes (49.81 Mbytes)
48.72% of uncompressed filesystem size (104693.90 Kbytes)
Inode table size 6792 bytes (6.63 Kbytes)
25.39% of uncompressed inode table size (26754 bytes)
Directory table size 7174 bytes (7.01 Kbytes)
35.98% of uncompressed directory table size (19940 bytes)
Number of duplicate files found 34
Number of inodes 730
Number of files 719
Number of fragments 10
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 11
Number of ids (unique uids + gids) 2
Number of uids 1
liguoqiang (1024)
Number of gids 1
rsteam (1096)
压缩app文件的名称 = app_V211028_N4XXX_M
Input a number between 1 to 8 或者按 'q' 退出脚本:6
str_1 = 6
6、拿取N7XXX、N8XXX不支持序列号SN
custom-config.ini文件存在
Input a number between 1 to 8 或者按 'q' 退出脚本:8
str_1 = 8
8、压缩app删除,删除目录/home/liguoqiang/svnwork/2022_8.2.1/release
Input a number between 1 to 8 或者按 'q' 退出脚本:7
str_1 = 7
7、单独压缩app
Parallel mksquashfs: Using 16 processors
Creating 4.0 filesystem on app_V211028_N4XXX_M, block size 131072.
[=========================================================================\] 1509/1509 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 131072
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 51009.20 Kbytes (49.81 Mbytes)
48.72% of uncompressed filesystem size (104693.90 Kbytes)
Inode table size 6760 bytes (6.60 Kbytes)
25.27% of uncompressed inode table size (26754 bytes)
Directory table size 7174 bytes (7.01 Kbytes)
35.98% of uncompressed directory table size (19940 bytes)
Number of duplicate files found 34
Number of inodes 730
Number of files 719
Number of fragments 10
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 11
Number of ids (unique uids + gids) 2
Number of uids 1
liguoqiang (1024)
Number of gids 1
rsteam (1096)
压缩app文件的名称 = app_V211028_N4XXX_M
Input a number between 1 to 8 或者按 'q' 退出脚本:
str_1 =
Input a number between 1 to 8 或者按 'q' 退出脚本:4
str_1 = 4
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1、创建今日份日期文件,且创建release、n文件夹以及下属的对应型号文件夹
2、svn导出最新程序
3、将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件
4、软连接试验,解压app
5、链接处下载ie包,反解压,压缩成ie格式
6、拿取N7XXX、N8XXX不支持序列号SN
7、单独压缩app或者删除
8、压缩app删除
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Input a number between 1 to 8 或者按 'q' 退出脚本:q
str_1 = q
=========================
退出脚本!!!
=========================
liguoqiang@raysharp-PowerEdge-R440:~/svnwork$
当前全部功能代码shell
#!/bin/bash
###########################命令形式###########################
#1、source ./a3.sh 1.07_8.2.2 8xxx
#3、source ./a3.sh 1.07_8.2.2 8xxx 5-0 TOP 32 M
#2、source ./a3.sh 1.07_8.2.1 8xxx 5-0 TOP 32 M 8.2.1 2056 8110 1766 1342
#补充第3点:source ./a3.sh 2022_8.2.1 7xxx 5-0 TOP 32 M 8.2.1 2056 8110 1766 1342 app_V211028_N4XXX_M
###########################命令形式###########################
ConvenientDirectory()
{
project_name="${destdir##*/}" #只拿取destdir路径下的最后一个文件名
echo "验证打印****************/ $project_name /**************"
#***************************1**拿到/home/liguoqiang/svnwork 下的所有文件夹名称***************************
index=0
for file_a in ${destdir}/*
do
temp_file=`basename $file_a` #只拿取路径下的最后一个文件名到temp_file
num[index]=$file_a #destdir路径下的全部文件及其路径,给到 num 数组中的元素
echo "打印数组元素: ${num[index]} "
#echo "打印****************/ $temp_file /**************"
((index++))
done
#***********************2***遍历num数组中 下的元素个数,拿到release、n文件夹名称,且给file数组赋值****************
for i in ${!num[@]};
do
if [ ${num[i]##*/} == $filemkdir_1 ];then
echo "打印:${num[i]##*/} ${num[i]}"
destdir_release=${num[i]##*/}
{
index_1=0
for file_xxx in ${num[i]}/* #遍历 num 数组中元素release目录下所有文件名到数组 file 中
do
release_Nxxxx=`basename $file_xxx`
file[index_1]=$file_xxx
echo "release目录下的文件=${file[index_1]}"
((index_1++))
done
}
echo "1、 release文件已存在 : destdir_release = $destdir_release "
elif [ ${num[i]##*/} == $filemkdir_2 ];then
destdir_n=${num[i]##*/}
echo "2、 n文件已存在 : destdir_n = $destdir_n"
fi
done
if [ $destdir_release != "" ];then
echo "release文件存在"
else
echo "release文件不存在"
fi
#*****************************遍历file数组中 下的元素个数,拿到release下文件夹名称******************************************************************
for i in ${!file[@]};
do
echo "${file[i]##*/} 参数2=$destdir/$1$destdir_release/$parameter2"
done
}
CodeExecution()
{
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "1、创建今日份日期文件,且创建release、n文件夹以及下属的对应型号文件夹"
echo "2、svn导出最新程序"
echo "3、将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件"
echo "4、软连接试验,解压app"
echo "5、链接处下载ie包,反解压,压缩成ie格式"
echo "6、拿取N7XXX、N8XXX不支持序列号SN"
echo "7、单独压缩app或者删除"
echo "8、压缩app删除"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
while :
do
echo -n "Input a number between 1 to 8 或者按 'q' 退出脚本:"
read str_1
echo "str_1 = $str_1"
case $str_1 in
1)
echo "指令1,创建日期文件夹以及release、n、对应型号文件夹"
if [ $kd == $mypath ];then
echo "当前路径是svnwork目录"
(
if [ ! -e $destdir ];then
echo "$parameter1不存在,开始创建$parameter1"
mkdir $parameter1
chmod -R 775 $parameter1
else
echo "$parameter1存在,进入$parameter1"
cd $destdir
fi
)
else
echo "非svnwork目录,进入svnwork目录,创建$1"
cd /home/liguoqiang/svnwork
(
if [ ! -e $destdir ];then
echo "$parameter1不存在,开始创建$parameter1"
mkdir $parameter1
chmod -R 775 $parameter1
else
echo "$parameter1存在,进入$parameter1"
cd $destdir
fi
)
pwd
fi
if [ ! -e $destdir/$filemkdir_1/$parameter2 ];then
#if [ $destdir_release == "" ];then
svc=($filemkdir_1 $filemkdir_2)
num=${#svc[@]}
echo "svc数组中的文件名有:${svc[*]} ; 数量num = $num"
echo "文件创建路径:$mypath/$parameter1"
for ((i=0;i<num;i++))
do
mkdir -p $parameter1/${svc[$i]}/$parameter2 #创建该条文件夹路线上的所有文件
chmod -R 775 $parameter1/${svc[$i]}/$parameter2
done
else
echo "$destdir_release、$destdir_n中的$parameter2文件已经存在,请执行其他步骤或输入 'q' 退出"
fi
;;
2)
echo "指令2,下载SVN链接"
echo "版本下载Input a number between 1 to 5 或者按 'q' 退出case 2(下载链接选择):"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "1、hybrid_normal下载"
echo "2、core_lib_light下载"
echo "3、rslib_normal下载"
echo "4、rslib_custom下载"
echo "5、实验功能:删除rslib_custom、rslib_normal重新下载"
echo "q、退出外层case 2(下载链接选择),进入到外层"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
if [ -e $destdir ] && [ "8.2.1" == $parameter7 ];then
cd $destdir
while :
do
read str_2
echo $str_2
case $str_2 in
1)
svn co -r$parameter8 http://172.18.1.242/svn/hybrid/hybrid-8.2.1/hybrid_normal
;;
2)
svn co -r$parameter9 http://172.18.1.242/svn/RS-DEVICE-MODULE/network-module/release/debug/core_lib_light
;;
3)
svn co -r$parameter10 http://172.18.1.242/svn/hybrid/hybrid-8.2.1/rslib_normal
;;
4)
svn co -r$parameter11 http://172.18.1.242/svn/hybrid/hybrid-8.2.1/rslib_custom
;;
5)
if [ -e $destdir/rslib_custom ];then
rm $destdir/rslib_custom -rf
echo "rm rslib_custom!!!"
else
echo "rslib_custom不存在,请下载"
fi
if [ -e $destdir/rslib_normal ];then
rm $destdir/rslib_normal -rf
echo "rm rslib_normal!!!"
else
echo "rslib_normal不存在,请下载"
fi
;;
q)
echo "退出while循环"
break
;;
esac
#break
done
else
echo "{7}=$parameter7"
fi
cd $mypath
;;
3)
echo "指令3,将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件"
if [ -e $destdir ];then
if [ -e $App_release ] || [ -e $App_release_8_2_0 ];then
#echo "cp $1/hybrid_normal/APP/dvr/main/release/*"
#echo "GUI脚本路径:$Gui_Release/copy_uirelease.sh"
#echo "GUI脚本命令参:$3 $4 $5 $6 $mypath/$1/$filemkdir_1/$2/"
#./copy_uirelease.sh 5-0 TOP 32 M ../../release/n7xxx
if [ -f $mypath/$parameter1/$filemkdir_1/$parameter2/custom-config.ini ];then
if [ $parameter2 != "" ];then
if [ "8.2.1" == $parameter7 ] || [ "8.2.1" == $parameter7 ];then
echo "cp $App_release/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf"
#chmod -R 777 $App_release/*
cp $App_release/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf
elif [ "8.2.0" == $parameter7 ];then
echo "cp $App_release_8_2_0/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf"
#chmod -R 777 $App_release_8_2_0/*
cp $App_release_8_2_0/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf
else
echo "$parameter7不是2.1、2.2、2.0三种型号"
fi
else
echo "$parameter2文件不存在,app拷贝无去向,请重新执行脚本命令 '1' "
return
fi
if [ $parameter3 != "" ] && [ $parameter4 != "" ] && [ $parameter5 != "" ] && [ $parameter6 != "" ] && [ $mypath/$parameter1/$filemkdir_1/$parameter2 != "" ];then
#执行GUI脚本拷贝
if [ "8.2.1" == $parameter7 ] || [ "8.2.1" == $parameter7 ];then
chmod -R 777 $Gui_Release/*
cd $Gui_Release
./copy_uirelease.sh $parameter3 $parameter4 $parameter5 $parameter6 $mypath/$parameter1/$filemkdir_1/$parameter2/
elif [ "8.2.0" == $parameter7 ];then
chmod -R 777 $Gui_Release_8_2_0/*
cd $Gui_Release_8_2_0
./copy_uirelease.sh $parameter3 $parameter4 $parameter5 $parameter6 $mypath/$parameter1/$filemkdir_1/$parameter2/
fi
else
echo "执行GUI脚本拷贝命令参不全,请补全命令参,并重新执行脚本"
return
fi
else
echo "配置文件没有方置,请执行步骤'6'"
fi
cd $mypath/$parameter1/$filemkdir_1
chmod -R 777 ./*
mksquashfs $parameter2 $parameter12 -comp xz
chmod 777 $parameter12 -R
echo "压缩app文件的名称 = " $parameter12
cd $mypath
#return
else
echo "没有执行第2步中的hybrid_normal下载,app中的release文件夹不存在,请先执行'case 2'"
fi
else
echo "$destdir文件不存在"
return
fi
;;
4)
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "1、创建今日份日期文件,且创建release、n文件夹以及下属的对应型号文件夹"
echo "2、svn导出最新程序"
echo "3、将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件"
echo "4、软连接试验,解压app"
echo "5、链接处下载ie包,反解压,压缩成ie格式"
echo "6、拿取N7XXX、N8XXX不支持序列号SN"
echo "7、单独压缩app或者删除"
echo "8、压缩app删除"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
;;
6)
echo "6、拿取N7XXX、N8XXX不支持序列号SN"
if [ -e $destdir ] && [ ! -f $mypath/$parameter1/$filemkdir_1/$parameter2/custom-config.ini ];then
if [ "8.2.1" == $parameter7 ] || [ "8.2.2" == $parameter7 ];then
if [ "7xxx" == "$parameter2" ];then
echo "拷贝8.2.2配置文件 \ 拷贝8.2.1配置文件"
cp $destdir/hybrid_normal/APP/dvr/main/tools/config/standard/N7XXX/不支持序列号\(SN\)/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf
elif [ "8xxx" == "$parameter2" ];then
echo "拷贝8.2.2配置文件 \ 拷贝8.2.1配置文件"
cp $destdir/hybrid_normal/APP/dvr/main/tools/config/standard/N8XXX/不支持序列号\(SN\)/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf
fi
elif [ "8.2.0" == "$parameter7" ];then
if [ "8xxx" == "$parameter2" ];then
echo "拷贝8.2.0 8xxx配置文件"
#Z:\svnwork\5.07_8.2.1\hybrid_UI5.0_Normal_API\APP\dvr\main\tools\config\standard\N7XXX\不支持序列号(SN)
cp $destdir/hybrid_UI5.0_Normal_API/APP/dvr/main/tools/config/standard/N8XXX/不支持序列号\(SN\)/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf
elif [ "7xxx" == "$parameter2" ];then
echo "拷贝8.2.0 7xxx配置文件"
#Z:\svnwork\5.07_8.2.1\hybrid_UI5.0_Normal_API\APP\dvr\main\tools\config\standard\N7XXX\不支持序列号(SN)
cp $destdir/hybrid_UI5.0_Normal_API/APP/dvr/main/tools/config/standard/N7XXX/不支持序列号\(SN\)/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf
elif [ "nvr" == "$parameter2" ];then
echo "拷贝8.2.0 7xxx配置文件"
#Z:\svnwork\5.07_8.2.1\hybrid_UI5.0_Normal_API\APP\dvr\main\tools\config\standard\N7XXX\不支持序列号(SN)
cp $destdir/hybrid_UI5.0_Normal_API/APP/dvr/main/tools/config/standard/NVR/不支持序列号\(SN\)/* $mypath/$parameter1/$filemkdir_1/$parameter2/ -rf
fi
else
echo "$parameter2命令参,不存在"
fi
else
echo "custom-config.ini文件存在"
fi
;;
7)
echo "7、单独压缩app"
if [ ! -f $mypath/$parameter1/$filemkdir_1/$parameter12 ] && [ -e $mypath/$parameter1/$filemkdir_1/$parameter2 ];then
cd $mypath/$parameter1/$filemkdir_1
chmod -R 777 ./*
mksquashfs $parameter2 $parameter12 -comp xz
chmod 777 $parameter12 -R
echo "压缩app文件的名称 = " $parameter12
cd $mypath
else
echo "$1文件不存在,请先执行步骤1"
fi
;;
8)
echo "8、压缩app删除,删除目录$mypath/$parameter1/$filemkdir_1"
if [ -e $mypath/$parameter1/$filemkdir_1/$parameter12 ];then
cd $mypath/$parameter1/$filemkdir_1
rm $parameter12
cd $mypath
else
echo "app文件不存在,无需删除"
fi
;;
q)
echo "========================="
echo "退出脚本!!!"
echo "========================="
break
;;
esac
done
}
filemkdir_1="release"
filemkdir_2="n"
mypath="/home/liguoqiang/svnwork"
App_release="/home/liguoqiang/svnwork/$1/hybrid_normal/APP/dvr/main/release"
Gui_Release="/home/liguoqiang/svnwork/$1/hybrid_normal/GUI"
App_release_8_2_0="/home/liguoqiang/svnwork/$1/hybrid_UI5.0_Normal_API/APP/dvr/main/release"
Gui_Release_8_2_0="/home/liguoqiang/svnwork/$1/hybrid_UI5.0_Normal_API/GUI"
kd=$PWD
#补充第3点:source ./a3.sh 5.07_8.2.1 8xxx 5-0 TOP 32 M 8.2.1 2056 8110 1766 1342 app_V211028_N4XXX_M
#++++++++++++++++++++++++++++++++++++++++++++++++++++
#shell位置变量对应
#++++++++++++++++++++++++++++++++++++++++++++++++++++
parameter1=$1
parameter2=$2
parameter3=$3
parameter4=$4
parameter5=$5
parameter6=$6
parameter7=$7
parameter8=$8
parameter9=$9
parameter10=${10}
parameter11=${11}
parameter12=${12}
#13=${13}
#14=${14}
destdir=$mypath/$1
if [ ! -e $destdir ];then
echo "ERROR: No such destdir: $destdir"
exit
fi
ConvenientDirectory
CodeExecution
#text_1