shell安装脚本

复制代码
#!/bin/bash

MODULE_NUM=1
MODULE_MAX_NUM=5
WORK_PATH=/root/shell/workspace

#add module
add()
{
    installNum=$MODULE_NUM
    if [ -z $2 ]; then
        echo "install default number : $MODULE_NUM"
    else
        installNum=$2
    fi
    if [ $installNum -gt $MODULE_MAX_NUM ]; then
        installNum=$MODULE_MAX_NUM
    fi
    echo "install number is $installNum"
    for i in $(seq 1 $installNum); do
        do_add $i
    done
}

#do the add operation
do_add()
{
    if [ ! -e $WORK_PATH/test$1 ]; then
        mkdir $WORK_PATH/test$1
        echo "add test$1"
    fi
}

#do the remove operation
do_remove()
{
    if [ -d $WORK_PATH/test$1 ]; then
        echo "remove module $1"
        rm -rf $WORK_PATH/test$1
    fi
}

#remove all modules
remove()
{
    #echo "remove all modules"
    for((i=1;i<=$MODULE_MAX_NUM;i++)); do
        if [ -e $WORK_PATH/test$i ]; then
            do_remove $i
        fi
    done
}

#modify modules number
modify()
{
    modNum=$2
    echo modify modules number to $2
    for((i=$MODULE_MAX_NUM;i>$2;i--)); do
        #echo "remove module $i"
        do_remove $i
    done
    if [ $modNum -gt $MODULE_MAX_NUM ]; then
        modNum=$MODULE_MAX_NUM
    fi
    for((i=1;i<=$modNum;i++)); do
        #echo "add module $modNum"
        do_add $i
    done
}

#main process
case $1 in
add)
    add $1 $2
;;
rmv)
    remove $1
;;
mod)
    modify $1 $2
;;
*)
    echo -e "bad parameter, usage :
    balabala..."
;;
esac
复制代码

 

posted @   许仙儿  阅读(670)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示