Shell陣列

一見藍天發表於2008-07-09
$ A=(a b c def)EybLinux聯盟
EybLinux聯盟
==================================================EybLinux聯盟
$ echo ${A[@]} //取全部元素EybLinux聯盟
a b c defEybLinux聯盟
EybLinux聯盟
=================================================EybLinux聯盟
EybLinux聯盟
$ echo ${A[0]} //取第一個元素EybLinux聯盟
aEybLinux聯盟
EybLinux聯盟
=================================================EybLinux聯盟
EybLinux聯盟
//取得陣列元素的個數EybLinux聯盟
$ echo ${#A[@]}EybLinux聯盟
4EybLinux聯盟
$ echo ${#A

}EybLinux聯盟
4EybLinux聯盟
$ echo ${#A[3]} //取得元素3的長度EybLinux聯盟
$EybLinux聯盟
EybLinux聯盟
==================================================EybLinux聯盟
EybLinux聯盟
$ A[3]=yaoshuyin //將第三個元素重新賦值EybLinux聯盟
$ echo ${A[@]}EybLinux聯盟
a b c yaoshuyinEybLinux聯盟
EybLinux聯盟
==================================================EybLinux聯盟
//清除變數EybLinux聯盟
$ unset AEybLinux聯盟
$ echo ${A[@]}EybLinux聯盟
$EybLinux聯盟
EybLinux聯盟
==================================================EybLinux聯盟
EybLinux聯盟
//清空變數,即將值變為空EybLinux聯盟
$ A=EybLinux聯盟
$ echo ${A[@]}EybLinux聯盟
$EybLinux聯盟
==================================================EybLinux聯盟
EybLinux聯盟
A=B EybLinux聯盟
B=C EybLinux聯盟
unset $A 事實上所取消的變數是 B 而不是 AEybLinux聯盟
EybLinux聯盟
EybLinux聯盟
=======================示例 while迴圈========================EybLinux聯盟
EybLinux聯盟
#建立陣列EybLinux聯盟
arrSource=(“arrJobs.php” “arrSubHangye.php” “arrFirst.php” )EybLinux聯盟
EybLinux聯盟
arrDest=(“buildhr” EybLinux聯盟
“buildtrain/htdocs” EybLinux聯盟
“bankhr” EybLinux聯盟
“healthr” EybLinux聯盟
“elehr” EybLinux聯盟
)EybLinux聯盟
EybLinux聯盟
#取陣列無元素個數EybLinux聯盟
lenArrSource=${#arrSource
}EybLinux聯盟
lenArrDest=${#arrDest
}EybLinux聯盟
EybLinux聯盟
EybLinux聯盟
#迴圈列出陣列元素EybLinux聯盟
i=0EybLinux聯盟
while [ $i -lt $lenArrSource ]EybLinux聯盟
doEybLinux聯盟
echo ${arrSource[$i]}EybLinux聯盟
let i++EybLinux聯盟
doneEybLinux聯盟
EybLinux聯盟
EybLinux聯盟
i=0EybLinux聯盟
while [ $i -lt $lenArrDest ]EybLinux聯盟
doEybLinux聯盟
EybLinux聯盟
echo ${arrDest[$i]}EybLinux聯盟
let i++EybLinux聯盟
doneEybLinux聯盟
EybLinux聯盟
EybLinux聯盟
=======================示例: for迴圈===============================EybLinux聯盟
EybLinux聯盟
#原始檔EybLinux聯盟
arrSource=(“/home/800hr/htdocs/login_jump.php”)EybLinux聯盟
EybLinux聯盟
#目標網站EybLinux聯盟
arrDest=(ithr elehr buildhr bankhr healthr ctvhr chenhr mechr clothr cneduhr 56hr tourhr foodhr greenhr cnlawhr waimaohr)EybLinux聯盟
EybLinux聯盟
for outer in ${arrSource
} #${arrSource
} 是陣列中的所有元素EybLinux聯盟
doEybLinux聯盟
for inner in ${arrDest
}EybLinux聯盟
doEybLinux聯盟
echo “ln -s $outer /home/${inner}/campus/” EybLinux聯盟
doneEybLinux聯盟
done


相關文章