我下面有一个小脚本;但是,我不太明白 for 循环和 if 语句。首先,我们看一下脚本:
listFieldNumbers ()
{ for ii in ${!field_number[@]};
do
if [ $ii -lt $(( ${#field_number[*]}-1 )) ];
then echo -n "$(( ${field_number[$ii]} + 1 )),";
else echo "$(( ${field_number[$ii]} + 1))";
fi;
done; }
我不明白以下陈述是什么意思:
field_number[@]
{#field_number[*]}
答案1
field_number
是一个数组,
${!field_number[@]}
给出数组的索引列表
${#field_number[*]}
,是数组中元素的数量。
我建议您查找有关数组的 bash 教程。与他们合作有点棘手。
答案2
- 引用 field_number 数组中的所有元素
- 它是
${#field_number[*]}
field_number 元素的数量
只需阅读本教程:http://www.thegeekstuff.com/2010/06/bash-array-tutorial/