要求:判断文件名前缀是否为空,为空则提示并退出
判断文件个数是否为整数,否则提示并退出
脚本内容如下:
1 #!/bin/bash
2 read -p "请输入需要删除的文件个数:" num #假如需要删除6个文件
3 [[ $num =~ ^[1-9][0-9]*$ ]] || { echo "需要删除的文件个数应该为正整数";exit; }
4
5 read -p "请输入需要删除的文件名字前缀:" name
6 [[ $name =~ ^[a-z]+$ ]] || { echo "需要删除的文件名应该为小写字母";exit; }
7
8 read -p "请输入需要删除文件的起始标号:" s #从2开始删除,应该删除的是2、3、4、5、6、7
9
10
11 val=$num+$s #val=6+2=8
12 for (( i=$s;$i<$val;i++ )) #当i=2;2<8;do,i++; 当i=3;3<8;do,i++; …… 当i=7;7<8;do,i++;
13 do
14 rm -rf $name$i
15 echo "已为你成功删除$name$i" #如果实际删除的文件过多,此行command可以注释掉,只需要留下第17行的commmand这样执行效果更简约
16 done
17 echo "已为你成功删除了$num个以$name开头的文件"
连同4-1创建以etime为前缀的脚本执行过程: