在 Linux 环境下,编写一个非常实用的删除小脚本

代码如下:该脚本的编写非常的简单,这里就不进行详细的讲解了。使用方法和简单的功能描述写在代码的下方。


#!/bin/bash

if [ $# = 0 ];then
    echo "请输入参数,格式为:rmove XXX ,其中XXX是你要删除的“文件”或“文件夹”的名称!"
else
    if [ $# = 1 ];then
        if [ -d $1 ];then
            echo "你所要删除的文件格式为“文件夹”!"
            echo "你确定要删除 $1 吗?(yes/y/Y 或者 no/n/N)"

            read enter
            useript="$enter"

            if [[ "$useript" = "yes" || "$useript" = "y" || "$useript" = "Y" ]];then
                if [ `ls $1 | head -1` ];then
                echo "你所要删除的文件夹非空,确认将该文件夹下的子文件全部删除么?一定要慎重啊,删完可就什么都不剩了(yes/y/Y 或者 no/n/N)"

                read enter2
                useript="$enter2"
                    if [[ "$useript" = "yes" || "$useript" = "y" || "$useript" = "Y" ]];then
                    rm -rf $1
                    echo "已经将 $1 删除"
                    elif [[ "$useript" = "no" || "$useript" = "n" || "$useript" = "N" ]];then
                    echo "请确认好删除再使用本命令!"
                    else
                    echo "你输入的是什么?请按规则输入,谢谢(yes/y/Y 或者 no/n/N)"
                    fi
                else
                rmdir $1
                echo "已经将 $1 删除"
                fi
            elif [[ "$useript" = "no" || "$useript" = "n" || "$useript" = "N" ]];then
            echo "请确认好删除再使用本命令!"
            else
            echo "你输入的是什么?请按规则输入,谢谢(yes/y/Y 或者 no/n/N)"
            fi
        elif [ -f $1 ];then
        echo "你所要删除的文件格式为“文件”!"
        echo "你确定要删除 $1 吗?(yes/y/Y 或者 no/n/N)"

        read enter
        useript="$enter"

        if [[ "$useript" = "yes" || "$useript" = "y" || "$useript" = "Y" ]];then
        rm $1
        echo "已经将 $1 删除"
        elif [[ "$useript" = "no" || "$useript" = "n" || "$useript" = "N" ]];then
        echo "请确认好删除再使用本命令!"
        else
        echo "你输入的是什么?请按规则输入,谢谢(yes/y/Y 或者 no/n/N)"
        fi
        else
        echo "你所要删除的“文件”或“文件夹不存在”,请确认好输入后重试!"
        fi
        else
        echo "请输入一个参数,咱一次只能删一个,谢谢"
    fi
fi


使用方法:在 Linux 环境下的任意位置创建一个文件,应用 " touch XXX " 命令(XXX为文件名,随便创建,本文中均用 XXX 代替)。使用任意 Linux 编程环境,这里我们使用 Vi 工具,应用 " vi XXX " 命令进行编译。将上方的代码粘贴进去,其中所有 echo 指令输出的双引号内的汉字均可替换,保存退出。

退出后,使用下列指令。

$~ cp XXX /bin/rmove
$~ chmod 755 /bin/rmove

这样一来,我们的 Linux 系统中,就多了一个新的小脚本功能,快来试一试吧~


功能描述:

1)当输入 rmove 指令时,此时传入的参数为零(就是说你只敲了个 rmove 别的啥也没敲),会提示你该指令的用法。

2)当输入 rmove XX XX 时,此时传入的参数大于1,会有一个警告,因为本脚本尚不支持批量删除。

3)当输入 rmove XX 时,此时传入的参数为1,会判断你所传入的文件名称是否存在,不存在则报错。如果存在,会判断是文件还是文件夹,此时会询问是否删除 XX 。键盘输入 Y 或 y 或 yes 执行删除,键盘输入 N 或 n 或 no 不执行删除。删除成功后,返回成功提醒。

4)当删除的是文件夹的时候,判断文件夹是否为空,当不为空的时候,提示是否将文件夹下所有内容删除。


简简单单的小脚本,本人也还在初学过程中。让我们一起进步,加油! 


stay hungry ! stay foolish !

猜你喜欢

转载自blog.csdn.net/zhangxu1994ye/article/details/80728962
今日推荐