Linux下Shell的for循环语句

第一类:数字性循环

for1-1.sh

#!/bin/bash

for((i=1;i<=10;i++))
do
    #echo $(expr $i * 3 + 1)
    expr $i * 3 + 1
done

输出:

4
7
10
13
16
19
22
25
28
31

for1-2.sh

#!/bin/bash

for i in $(seq 1 10)
do
    #echo $(expr $i * 3 + 1)
    expr $i * 3 + 1
done

for1-3.sh

#!/bin/bash

for i in {1..10}
do
    expr $i * 3 + 1
done

for1-4.sh

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

第二类:字符性循环

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 the file name!
done

for2-3.sh

#!/bin/bash

for i in f1 f2 f3
do
    echo $i is input arguments!
done

for2-4.sh

#!/bin/bash

list="boot usr tmp opt"
for i in $list
do
    echo $i is appointed!
done

第三类:路径查找

for3-1.sh

#!/bin/bash

for file in /proc/*
do
    echo $file is file path !
done

for3-2.sh

#!/bin/bash

for f in $(ls *.sh)
do
    echo $f is file path !
done


转载自: https://www.cnblogs.com/EasonJim/p/8315939.html

原文地址:https://www.cnblogs.com/chenjo/p/12554825.html