#!/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[@]}