如何再次从数组中打印元素?

时间:2015-08-25 20:31:01

标签: arrays bash shell

我有这个脚本:

#!/bin/bash

len=$1    
numbers=("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")

for i in $(seq 0 $len)    
do      
      echo -n ${numbers[i]}    
done    
echo

当我运行时:./ script 9

我得到了这个结果 -

0123456789

没关系,但是,如果我想要这个输出呢?

012345678901234567890123456789

一旦从数字数组中打印出最后一个元素,那么,如何让它再次从第一个元素中再次打印出来?

1 个答案:

答案 0 :(得分:2)

对数组索引使用模运算。

len=$1    
numbers=("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")

for i in $(seq 0 $len)    
do      
      echo -n ${numbers[i % ${#numbers[@]}]}    
done    
echo

例如,如果数组中有10个数字,当i达到10时,您希望使用10 % 10 == 0作为数组索引。