shell脚本【拷贝多份原目录】【删除拷贝目录】【可以指定个数】

Background

每个脚本开发的背后都是由需求推动的。这次是为了在Linux环境下并行运行一个程序,一个实例一个目录,然后就有了这个脚本。这个脚本只是目录的自动拷贝和删除。以下是源码,这个脚本有四个必传参数:

  • srcdir:第一个是源目录,就是被拷贝的原目录;
  • operate:第二个是具体操作,复制或删除生成的复制目录;
  • start:第三个是起始数;
  • end:第四个是终止数。

1、operate-dir.sh

#/bin/bash
:<<!
【脚本说明】
1、此脚本一个作用是把一个源目录复制成多份,每一份的后缀数字递增;
2、另一个作用是删除复制的目录;
3、需要传入两个参数,生成或删除的起始目录后缀数字。
!

# 被复制的源目录
srcdir=$1

# 操作,复制或删除
operate=$2

# 起始数
start=$3

# 终止数
end=$4

# 复制生成的目录包含的字符
dstdirinclude='_copy_'

# 复制生成的目录前缀
dstdirprefix=${srcdir/\//}$dstdirinclude

# 提示信息
msg='Please input params [<srcdir> <copy|delete> <start> <end>]'

# 定制化shell输出
function custom_print(){
    echo -e "\033[5;34m ***** \033[0m"
    echo -e "\033[32m $@ ! \033[0m"
    echo -e "\033[5;34m ***** \033[0m"
}

# 生成目录
function do_copy(){
    # 循环执行
    for i in `seq ${start} ${end}`
    do {
        cp -r $srcdir $dstdirprefix$i
        msg="create success $dstdirprefix$i"
        custom_print $msg
    }
    done
}

# 删除目录
function do_delete(){
    # 循环执行
    for i in `seq ${start} ${end}`
    do {
        rm -rf $dstdirprefix$i
        msg="delete success $dstdirprefix$i"
        custom_print $msg
    }
    done
}

# 判断输入参数
if [[ -z $srcdir || -z $operate || -z $start || -z $end ]]; then
    custom_print $msg
else
    # 判断是什么操作
    if [[ $operate = "copy" ]]; then
        do_copy
    elif [[ $operate = "delete" ]]; then
        do_delete
    else
        custom_print $msg
    fi
fi

2、使用介绍

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

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

WaiSaa

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

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

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

打赏作者

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

抵扣说明:

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

余额充值