2016-04-07 21 views
0

シェルスクリプトの配列を繰り返し処理しています。条件が一致すると、 'b'が配列からその要素を削除します。私は、インデックスの位置を反復処理に使用していません。私の配列は、私のコードは、私は私の配列を印刷するとき、それは(c)を印刷する必要がありますように、条件が一致したときにどのように私は「B」を削除することができシェルスクリプトの条件が一致したときに配列から要素を削除する

for h in $Arr 
do 
    echo -e "Value of current element $h.\n" 

    if [ $h == "b" ] 
    then 
     echo -e "Delete it\n" 

    else 
     echo -e "Stay here\n" 
    fi 
done 

値(BとC)

ですしています?

答えて

0

許容値でテンポラリ配列Brrを作成し、その値にArrを割り当てることができます。

Arr=" a b c" 
Brr="" 
for h in $Arr 
do 
    echo -e "Value of current element $h.\n" 
    if [ $h == "b" ] 
    then 
    echo -e "Delete it\n" 
    #do not add it to Brr 
    else 
    echo -e "Stay here\n" 
    # add it to Brr the temp array 
    Brr="${Brr} $h" 
    fi 
done 
Arr="${Brr}" 
echo $Arr 
関連する問題