1、for迴圈
for迴圈的運作方式,是講序列的元素意義取出,依序放入指定的變數中,然後重複執行含括的命令區域(在do和done 之間),直到所有元素取盡為止。
for的語法結構如下:
for 變數 in 序列
do 執行命令
done
例1:
用for迴圈在家目錄下建立a1-a10,然後在a1-a10建立b1-b10的目錄
#!/bin/bash
for a in
do mkdir /datas/a$a
cd /datas/a$a
for b in
domkdir b$b
done
done
#!/bin/bash
for k in $( seq 1 10 )
do mkdir /home/a$k
cd /home/a$
for l in $( seq 1 10 )
domkdir b$
cd /home/a$k
done
cd ..
done
例2
列出var目錄下各子目錄占用磁碟空間的大小。
#!/bin/bash
dir="/var"
cd $dir
for k in $(ls $dir)
do [ -d $k ] && du -sh $k
done
2、while迴圈
while迴圈的語法:
while 條件測試
do 執行命令
done
#!/bin/bash
declare -i i=1
declare -i sum=0
while ((i<=10))
do let sum+=i
let ++i
done
echo $sum
shell中基礎指令碼
shell 指令碼 shell script 是一種為 shell 編寫的指令碼程式。業界所說的 shell 通常都是指 shell 指令碼,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。由於習慣的原因,簡潔起見,本文出現的 shell程式設計 都是指 shell 指...
shell指令碼中 2 1
在指令碼開發中經常能看到 2 1 比如 2 root cd x php index.php task testone dev null 2 1對於 1 更準確的說應該是檔案描述符 1,而1標識標準輸出,stdout。對於2 表示標準錯誤,stderr。2 1 的意思就是將標準錯誤重定向到標準輸出。這...
shell指令碼中 set ex
剛剛學會了乙個很實用的shell命令set ex,在這裡分享一下。set e 先說說set e,這個引數的含義是,當命令發生錯誤的時候,停止指令碼的執行。通常來說,我們會習慣於使用 來實現這樣的功能,比如 echo 1 rm non existent file echo 2但是,寫成一行呢,可讀性有...