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 *元素的正确方法。 –