1
我有一個shell腳本,它有一個for循環,用於打印數組元素的值。 數組大小是2,但是當運行該數組的for循環時,我得不到正確的輸出。我的shell腳本有什麼問題
這裏是shell腳本:
#!/bin/bash
arry=$(ls /home/developer/.ssh/ | grep "\.pub")
declare -a ARR
i=0
for key in $arry
do
ARR[i]=$(echo $key | sed 's/.pub//g')
i=$((i+1))
done
echo ${#ARR[@]}
## the below for loop is not iterating as expected
for pri in $ARR
do
echo $pri
done
現在不是給輸出
2
a
heroku
以上代碼生成:
2
a
有什麼不對上述shell代碼?
我是比較新的shell腳本所以請原諒我的代碼你覺得它不好
連接輸出的屏幕截圖
它感謝您的答案,但可以解釋我的腳本 – Viren
@ user1328293有什麼問題:對於$ {ARR [@]}中的pri「'是迭代數組而不是'pri在$ ARR'中。 –
更具體地說,'$ ARR'擴展爲ARR的*第一個元素*,所以它只是遍歷第一個元素。 '「$ {ARR [@]}」是獲取* all *元素的正確方法。 –