代码如下:该脚本的编写非常的简单,这里就不进行详细的讲解了。使用方法和简单的功能描述写在代码的下方。
#!/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 !