Bash中还可以使用数组变量,其赋值有两种:
(1) name = (value1 ... valuen) 此时下标从0开始
(2) name[index] = value
数组下标的范围没有任何限制,同时也不必使用连续的分量.
--------------------------------------------------------------------------------
$ A=(a b c def)
==================================================
$ echo ${A[@]} //取全部元素
a b c def
=================================================
$ echo ${A[0]} //取第一个元素
a
=================================================
//取得数组元素的个数
$ echo ${#A[@]}
4
$ echo ${#A
- }
4 $ echo ${#A[3]} //取得元素3的长度 $ ================================================== $ A[3]=yaoshuyin //将第三个元素重新赋值 $ echo ${A[@]} a b c yaoshuyin ================================================== //清除变量 $ unset A $ echo ${A[@]} $ ================================================== //清空变量,即将值变为空 $ A= $ echo ${A[@]} $ ================================================== A=B B=C unset $A 事实上所取消的变量是 B 而不是 A =======================示例 while循环======================== #建立数组 arrSource=("arrJobs.php" "arrSubHangye.php" "arrFirst.php" ) arrDest=("buildhr" \ "buildtrain/htdocs" \ "bankhr" \ "healthr" \ "elehr" \ ) #取数组无元素个数 lenArrSource=${#arrSource - }
lenArrDest=${#arrDest - }
#循环列出数组元素 i=0 while [ $i -lt $lenArrSource ] do echo ${arrSource[$i]} let i++ done i=0 while [ $i -lt $lenArrDest ] do echo ${arrDest[$i]} let i++ done =======================示例: for循环=============================== #源文件 arrSource=("/home/800hr/htdocs/login_jump.php") #目标网站 arrDest=(ithr elehr buildhr bankhr healthr ctvhr chenhr mechr clothr cneduhr 56hr tourhr foodhr greenhr cnlawhr waimaohr) for outer in ${arrSource - } #${arrSource
- } 是数组中的所有元素
do for inner in ${arrDest - }
do echo "ln -s $outer /home/${inner}/campus/" done done
|