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 //取数组第四个元素的长度(数组下标从0开始) $ echo ${#A[3]} $ A[3]=ixyzero.com //将第四个数组元素重新赋值 $ echo ${A[@]} a b c ixyzero.com //清除变量 $ unset A $ echo ${A[@]} //清空变量,即将值变为空 $ A=() $ echo ${A[@]} #建立数组 arrSource=( "arrJobs.php" "arrSub.php" "arrFirst.php" ) arrDest=("buildhr" "buildtrain/htdocs" "bankhr" "healthr" "elehr" ) #取数组元素个数 lenArrSource=${#arrSource[*]} #循环列出数组元素——数组下标递增 i=0 while [ $i -lt $lenArrSource ] do echo ${arrSource[$i]} let i++ done #循环列出数组元素——数组元素遍历 for item in ${arrDest[@]} do echo $item done #源文件 arrSource=("/home/apache/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
《“Bash数组详解”》 有 1 条评论
更多参考链接:
http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html
http://www.cnblogs.com/chengmo/archive/2010/10/14/1851517.html
http://liwei.life/2016/06/06/shell%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%89%B9%E6%AE%8A%E7%AC%A6%E5%8F%B7/