for循環
for ((exp1;exp2;exp3));do COMMANDS; done
循環輸出0-9
for((i=0;i<10;i++));do echo $i done
屬于一個範圍,則循環
for NAME [in WORDS ...];do COMMANDS; done
如果name是zhangsan,lisi,wangwu中的一個,則滿足循環條件,輸出name
for name in zhangsan lisi wangwu; do echo $name; done
while循環
文法結構
while COMMANDS; do COMMANDS; done
應用示例
當software檔案存在時,則輸出ok,然後執行删除檔案的操作,總共輸出一個ok
while ls /software; do echo ok; rm -rf /software; done
if語句
文法結構
if 存在條件
then
if 表達式或者檔案測試
then
if [表達式或檔案]
then
if [[表達式或檔案]]
then
if COMMANDS; then COMMANDS;[elif COMMANDS; THEN COMMANDS;]...[else COMMANDS;] fi
應用執行個體
(1)如果指令能執行,則輸出ok,否則輸出no ok
if ls /; then echo ok;else echo no ok;fi
(2)在上條的基礎上,将指令運作結果發送到/dev/null目錄下
if ls / &> /dev/null; then echo ok; else echo no ok; fi
(3)如果3大于8,則輸出ok, 否則輸出on ok
if [ 3 -gt 8];then echo ok; else echo no ok;fi
變量
無需聲明一個變量
var=1234
将varA中的值23換成ABC
varB=${varA/23/'ABC'}
可以直接被使用
var=${MYTEST}
多個字元值
echo $var
一個值
echo '$var'
¥var
echo "$var"
thatVar=varA
var =`ls -l`