我正在学习Shell脚本,有一件事让我感到困扰,就是我不知道${}实际上是做什么的。
我在Google上搜索发现${}用于替换。
但我无法理解的是这里的内容。
如果${}是用来进行替换的话,那么
distro=("redhat" "debian" "gentoo")
echo ${distro[0]}
echo ${distro[2]}
echo ${#distro[@]}
当没有任何替换时,它为什么运行上述代码。
我在这件事上错了。
我正在学习Shell脚本,有一件事让我感到困扰,就是我不知道${}实际上是做什么的。
我在Google上搜索发现${}用于替换。
但我无法理解的是这里的内容。
如果${}是用来进行替换的话,那么
distro=("redhat" "debian" "gentoo")
echo ${distro[0]}
echo ${distro[2]}
echo ${#distro[@]}
当没有任何替换时,它为什么运行上述代码。
我在这件事上错了。
如果你想查询bash的手册,请输入man bash
,然后使用/\${
查找${
,按几次n
即可找到相关内容。
数组中的任何元素都可以使用${name[subscript]}来引用。
并且
${#name[subscript]}会扩展为${name[subscript]}的长度。如果subscript是*或@,则扩展为数组中元素的数量。
通过之前的段落,您还可以发现:
可以使用类似于name=(value1 ... valuen)的复合赋值形式赋值给数组,其中每个值的格式为[subscript]=string。索引数组分配不需要括号和下标。