Looping over arrays, printing both index and value

前端 未结 6 1941
无人及你
无人及你 2020-12-07 07:35

I want to do something like this:

foo=( )
foo[0]=\"bar\"
foo[35]=\"baz\"
for((i=0;i<${#foo[@]};i++))
do
    echo \"$i: ${foo[$i]}\"
done
# Output:
# 0: ba         


        
6条回答
  •  借酒劲吻你
    2020-12-07 07:59

    users=("kamal" "jamal" "rahim" "karim" "sadia")
    index=()
    t=-1
    
    for i in ${users[@]}; do
      t=$(( t + 1 ))
      if [ $t -eq 0 ]; then
        for j in ${!users[@]}; do
          index[$j]=$j
        done
      fi
      echo "${index[$t]} is $i"
    done
    

提交回复
热议问题