218_shell_for批量创建多级目录及其下属子目录

这是一个Shell脚本,用于自动化创建指定路径的日期文件夹、release和n文件夹,以及它们下属的对应型号文件夹。脚本首先检查当前路径,如果在svnwork目录中,会创建或进入指定的文件夹,并设置权限。然后根据参数判断是否执行拷贝和压缩程序文件的操作。若文件夹已存在,脚本会提示并询问是否继续其他步骤或退出。

在这里插入图片描述
在这里插入图片描述

得到8XXX文件:
/home/liguoqiang/svnwork/text_shell_liguoqiang/2022/n/8xxx
#!/bin/bash
filemkdir_1="release"
filemkdir_2="n"
mypath="/home/liguoqiang/svnwork/text_shell_liguoqiang"
kd=$PWD

echo "1、创建今日份日期文件,且创建release、n文件夹以及下属的对应型号文件夹"
echo "2、svn导出最新程序"
echo "3、将app\gui中的编译好的文件,拷贝到release下对应型号文件夹下,并且压缩app文件"
echo "4、软连接行试,解压app"
echo "5、链接处下载ie包,反解压,压缩成ie格式"

if [ "1" == $1 ];then
    echo "指令1,创建日期文件夹以及release、n、对应型号文件夹"
    if [ $kd == $mypath ];then
        echo "当前路径是svnwork目录"
        (
            if [ ! -e $2 ];then
                echo "$2不存在,开始创建$2"
                mkdir $2
                chmod -R 775 $2
            fi
        )
    else
        echo "非svnwork目录,进入svnwork目录,创建$2"
        cd /home/liguoqiang/svnwork/text_shell_liguoqiang
        (

            if [ ! -e $2 ];then
                echo "$2不存在,开始创建$2"
                mkdir $2
                chmod -R 775 $2
            fi

        )
        pwd
    fi

    svc=($filemkdir_1 $filemkdir_2)
    num=${#svc[@]}
    echo "svc数组中的文件名有:${svc[*]} ; 数量num = $num"
    echo "文件创建路径:$mypath/$2"
    for ((i=0;i<num;i++))
    do
        mkdir  -p $2/${svc[$i]}/$3
        chmod -R 775 $2/${svc[$i]}/$3
    done

elif [ "2" == $1 ];then
    if [ -e /home/liguoqiang/svnwork/$2/hybrid_normal/APP/dvr/main/release ];then
        echo "cp Release$2/hybrid_normal/APP/dvr/main/release/*"
        cp $2/hybrid_normal/APP/dvr/main/release/* $filemkdir_1/$3/ -rf
        return
     else
        echo "app中的release文件夹不存在"
    fi
fi

修改后:

1)
            echo "指令1,创建日期文件夹以及release、n、对应型号文件夹"
            if [ $kd == $mypath ];then
                echo "当前路径是svnwork目录"
                (
                    if [ ! -e $parameter1 ];then
                        echo "$parameter1不存在,开始创建$parameter1"
                        mkdir $parameter1
                        chmod -R 775 $parameter1
                    else
                        echo "$parameter1存在,进入$parameter1"
                        cd $destdir
                    fi
                    #source ./a3.sh 2.28_text 8xxx 5-0 NOVUS 32 M 8.2.1 2232 8110 1766 1342 app_V220228_N8XXX_M
                )
            else
                echo "非svnwork目录,进入svnwork目录,创建$1"
                cd /home/liguoqiang/svnwork
                (

                    if [ ! -e $parameter1 ];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
         ;;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

扳手的海角

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

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

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

打赏作者

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

抵扣说明:

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

余额充值