配列から要素を完全に削除する方法は?

配列から要素を完全に削除する方法は?

unset array[0]要素を削除しますが、これを実行するとecho ${array[0]}まだNULL値が発生し、それを行う他の方法がありますが、配列の要素に次のようなスペースが含まれている場合

array[0]='james young'
array[1]='mary'
array[2]='randy orton'

しかし、これらも効果がないでしょう。

array=${array[@]:1} #removed the 1st element

これで、新しい配列が次のようになりたいと思います。

array[0]='mary'
array[1]='randy orton'

スペースは割り当て後に問題を引き起こし、実際の配列は置換のようになります。

array=(mary randy orton)

ベストアンサー1

配列構文を使用して割り当てるときに変数を引用します。

array=("${array[@]:1}") #removed the 1st element

編集するコメントの質問に基づいています。$@次のように使用できるからです。

set -- "${@:2}" #removed the 1st parameter

おすすめ記事