我试图让随机字符在与字符一起存储的数组中打印出来。我是新手,一直在寻找一些指导,但遇到了一些问题。在范围内创建随机数并访问arrayindex字符
我创建一个数组来测试哪些商店字符。然后我有一个名为Range的变量,它是21(这是数组的长度)。
#create an characters to test with
letters=(a,b,e,g,i,j,k,l,m,n,p,q,r,s,t,u,v,y,x,w,z)
RANGE=21
然后我尝试从0 - >范围内得到一个随机数,所以它将与数组索引对应。然后我需要访问随机数的数组索引并将其存储在名为arraychar
的变量中。我已经做了这样的:
number=$RANDOM%$RANGE #gets int of a random number between 0 and range (size of array)
arraychar=${letters[$number]} #chooses a random char from array and stores in arraychar
然后我想这封信作为参数传递给我的可执行文件,像这样:
for i in `seq 1 3`;do
echo $i " "
./sample-tree -$arraychar
done
它一直挂在这里,我也不太清楚是什么它在干什么,为什么它不工作。
任何帮助将不胜感激,因为我是一个新手!
谢谢。
这不是在bash中创建数组的语法。元素之间应该有空格,而不是逗号。 – Barmar 2014-09-05 02:06:20
'letters =({a..z})'syntax也起作用(至少在bash 4 ..) – anishsane 2014-09-05 07:56:01