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