概述
在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行。
它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器,或是循环变数。这使得for循环能够知道在迭代过程中的执行顺序。今天主要用两个实例来介绍下shell脚本的for循环。
1、批量生成随机字符文件名
需求:使用for循环在/data目录下批量创建10个html文件,其中每个文件需要包含10个字符,包含3个随机小写字母和3个随机大写字母加固定字符串hwb
#!/bin/bash############################################################## File Name: make_file.sh#############################################################[ -d /data ] || mkdir -p /datarpm -qa |grep pwgen &>/dev/nullif [ $? -eq 1 ] then yum install -y expect &>/dev/nullficd /data &&for i in {1..10} do #File_Name=`uuidgen |tr "0-9-" "a-z"|cut -c 1-10` File_Name2=`mkpasswd -l 10 -c 3 -C 3` touch ${File_Name2}_hwb.htmldone
脚本結果:
2、批量改名特殊案例
将前面结果文件名中的hwb字符串全部改成linux(最好用for循环实现),并且将扩展名html全部改成大写。
#!/bin/bash############################################################## File Name: rename_file.sh#############################################################cd /data &&File_name=`ls |sed -r 's#(.*)_hwb.html#1#g'`for i in $File_name do if [ -f ${i}_hwb.html ] then mv ${i}_hwb.html ${i}_linux.HTML else echo "文件修改完成." exit fidone
结果:
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~