Shell 的变量是无类型的,但是有数组的用法
赋值
name = (value1 ... valuen)
$ A=(a b c def)
$ echo $A
a
$ echo $A[2]
a[2]
$ echo ${A[2]} # 取出第三个(0开始)元素
c
$ echo ${A[@]} # 取全部元素
a b c def
$ echo ${#A[@]} # 取出元素的个数
4
$ echo ${#A[3]} # 取出元素的长度("def"长为3)
3
此时下标从0开始
name[index] = value
$ name[0]=debian
$ name[1]=redhat
$ name[2]=gentoo
$ name[3]=lfs
$ name[4]=ylinux
$ echo ${name[@]}
debian redhat gentoo lfs ylinux
$ echo ${#name[@]}
5
$ echo ${#name}
6
数组下标的范围没有任何限制,同时也不必使用连续的分量.
示例
...
--repository|--repo)
if [ -z "$ARG" ] ; then
echo_help
cleanup_and_exit
fi
# ${#repos[@]} 值为当前数组元素个数
# 这里的作用是可以使用多个 --repository|--repo 选项指定多个 repos
repos[${#repos[@]}]="$PARAM";
repos[${#repos[@]}]="$ARG";
shift
;;
...
