Shell中for循環的幾個常用寫法

第一類:數字性循環
-----------------------------
for1-1.sh

#!/bin/bash
for((i=1;i<=10;i++));
do 
echo $(expr $i \* 3 + 1);
done

-----------------------------
for1-2.sh

#!/bin/bash
for i in $(seq 1 10)
do
echo $(expr $i \* 3 + 1);
done

-----------------------------
for1-3.sh

#!/bin/bash
for i in {1..10}
do
echo $(expr $i \* 3 + 1);
done

-----------------------------
for1-4.sh

#!/bin/bash
awk 'BEGIN{for(i=1; i<=10; i++) print i}'

第二類:字符性循環

-----------------------------

for2-1.sh

#!/bin/bash
 
for i in `ls`;
do 
echo $i is file name\! ;
done

-----------------------------

for2-2.sh

#!/bin/bash
 
for i in $* ;
do
echo $i is input chart\! ;
done

-----------------------------

for2-3.sh

#!/bin/bash
 
for i in f1 f2 f3 ;
do
echo $i is appoint ;
done

-----------------------------

for2-4.sh

#!/bin/bash
 
list="rootfs usr data data2"
for i in $list;
do
echo $i is appoint ;
done

第三類:路徑查找

-----------------------------

for3-1.sh

#!/bin/bash
 
for file in /proc/*;
do
echo $file is file path \! ;
done

-----------------------------

for3-2.sh

#!/bin/bash
 
for file in $(ls *.sh)
do
echo $file is file path \! ;
done

生產環境實戰:

[root@office builds]# cat /server/scripts/clean_war.sh
#!/bin/bash
# description: Clean all jenkins build war.
##############################################################
# File Name: clean_war
# Version: V1.0
# Author: jeremy
# QQ: 88888888
# Organization: www.qq.com
# Created Time : 2018-09-14 18:33:19
##############################################################
war="
jdwin-upms-server.war
jdwin-crm-admin.war
jdwin-cms-admin.war
jdwin-ucenter-admin.war
jdwin-upms-rpc-service-assembly.tar.gz
jdwin-crm-rpc-service-assembly.tar.gz
jdwin-ucenter-rpc-service-assembly.tar.gz
jdwin-cms-rpc-service-assembly.tar.gz
jdwin-sns-rpc-service-assembly.tar.gz
pc-ui-1.0.1-R1.war
mobile-ui-1.0.1-R1.war
sunfo-admin-1.0.1-R1.war
"
for war in $war
do
  find /data/jenkins/ -type f -name $war |xargs rm -f
done


https://blog.csdn.net/babyfish13/article/details/52981110

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章