for循環

語法:for 變量名 in 條件; do …; done
案例1:計算1到100全部數字的和linux

#!/bin/bash
sum=0
for i in `seq 1 100`
do
    sum=$[$sum+$i]
    echo $i
done
echo $sum

分析上面的案例,咱們先看下下面shellshell

#!/bin/bash
for i in `seq 1 10`
do 
  echo $i
done

執行這個shell,結果以下,結果是返回了1到10的值vim

[root@lijie-01 ~]# sh for1.sh
1
2
3
4
5
6
7
8
9
10

其實在linux中咱們用的更多的是對文件作循環 案例2:文件列表循環bash

#!/bin/bash
cd /etc/
for a in `ls /etc/`
do
    if [ -d $a ]
    then
       ls -d $a
    fi
done

有下面一個狀況須要注意,for循環時以空格或者回車做爲分割符,在使用 for i in ls ./;do echo $i;done命令裏面ls ./做爲判斷條件時,當文件名中有空格時,一個文件會以空格分割拆分紅多個文件code

[root@lijie-01 shell]# vim for2.sh
[root@lijie-01 shell]# touch 1 2
[root@lijie-01 shell]# touch 3\ 4.txt
[root@lijie-01 shell]# ll
總用量 44
-rw-r--r--  1 root root   0 4月  20 06:24 1
-rw-r--r--  1 root root   0 4月  20 06:24 2
-rw-r--r--  1 root root   0 4月  20 06:24 3 4.txt
[root@lijie-01 shell]# ls 3
ls: 沒法訪問3: 沒有那個文件或目錄
[root@lijie-01 shell]# for i in `ls ./`;do echo $i;done   //這裏循環出來3 4.txt這個文件被拆分爲兩個文件了
1
2
3
4.txt

以上,所以咱們之後在使用 for i in ls ./;do echo $i;done命令裏面ls ./這種類型的判斷條件時,須要注意空格或者回車鍵for循環

相關文章
相關標籤/搜索