shell編程(五)for語句

C/C++中的for循環語句

if (i = 0; i < num; ++i)
{
	//do something
}

在C/C++中使用小括號花括號的形式將判斷語句和邏輯語句進行區分,比較容易進行識別,也比較容易進行書寫。

shell中的for循環語句

1. 第一種寫法:

#!/bin/bash 
#author by dhy
#test for in ...

for i in `seq 15`  #使用反引號+數字
do 
  echo "Num == $i"
done

1. for 之後使用 in 然後後面需要使用反引號將數組進行包含
2. 取值的時候需要加上$符號
在這裏插入圖片描述

seq的作用(略講)

在這裏插入圖片描述
其中一個作用就是可以實現數字從 n 到 m 的遍歷。如果未指定對應的起始地方,則就會從1開始進行遍歷。

2. 第二種寫法

第二種寫法和C++中類似,括號將判斷語句進行包含。

#!/bin/bash 
#by authors dhy
# sum from 1 to 100
j=0
for ((i=1;i<=100;i++))
do
  j=`expr $i + $j`
done

echo $j

需要注意的一點就是,在使用括號進行包含的時候,需要使用兩個括號包含,才能達到效果
在進行賦值的時候,不能夠加$符號在這裏插入圖片描述

實際應用

例:查找當前目錄下的所有文件後綴爲.sh的文件進行打包

#!/bin/bash 
#author by dhy
#backup tar all .sh file

for i in find ./ -name "*.sh"
do 
  tar -czf backup_sh.tgz $i
done

在這裏插入圖片描述

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