如何将值附加到 shell 脚本中的列表?

如何将值附加到 shell 脚本中的列表?
#!/bin/bash
cd /pg
file=`ls -l |awk '{print $9}'`
list=()
for i in $a
do
   echo $i
   a=`cat /pg/$i | head  -n  1 |awk '{print $8}' ` #output: first interation 15 & 2nd values 60
   list+=($a)
   
   #a1=`cat /pg/$i | head -n 2 |awk '{print $8}'`
done
echo $list

通过这个,a=`ls -l |awk '{print $9}'`我得到了两个文件并通过 for 循环进行迭代并将值附加到 list() 列表应该包含“15”,“16”,但列表只包含一个值“15”请帮我修复同样的问题。

答案1

要访问整个数组,请使用

echo "${list[@]}"

使用 just$list相当于${list[0]},即只显示第一个元素。

答案2

# create list
hosts1=()
hosts2=()
# add hosts
hosts1+=( host1 )
hosts1+=( host2 )
hosts2+=( host3 )
hosts2+=( host4 )
# combine 2 lists
hosts1+=( ${hosts2[@]} )
# add some more
echo ${hosts1[@]}
hosts1+=( host5 )
hosts1+=( host6 )
echo ${hosts1[@]}

相关内容