我試圖讓隨機字符在與字符一起存儲的數組中打印出來。我是新手,一直在尋找一些指導,但遇到了一些問題。在範圍內創建隨機數並訪問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