在計算機科學中,for循環(英語:for loop)是一種程式語言的疊代陳述,能夠讓程式碼反覆的執行。
它跟其他的循環,如while循環,最大的不同,是它擁有一個循環計數器,或是循環變數。這使得for循環能夠知道在疊代過程中的執行順序。今天主要用兩個實例來介紹下shell腳本的for循環。
需求:使用for循環在/data目錄下批量創建10個html文件,其中每個文件需要包含10個字符,包含3個隨機小寫字母和3個隨機大寫字母加固定字符串hwb
#!/bin/bash
#############################################################
# File Name: make_file.sh
#############################################################
[ -d /data ] || mkdir -p /data
rpm -qa |grep pwgen &>/dev/null
if [ $? -eq 1 ]
then
yum install -y expect &>/dev/null
fi
cd /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.html
done
腳本結果:
將前面結果文件名中的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
fi
done
結果:
覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~