假设我有以下数组,其中元素可以任何方式排序:
items=('this-item' 'that-item' '-fd')
如何使用短划线(-fd
)删除开始?
答案 0 :(得分:3)
这是一种方式:
for i in "${!items[@]}"; do
[[ ${items[i]} == -* ]] && unset "items[$i]" ## Or unset 'items[i]'
done
# Optionally re-align indices:
items=("${items[@]}")
如果您只想删除第三个元素,您可以:
items=("${items[@]:0:2}")
或者只是
unset 'items[2]'
如果您有超过3个元素:
items=(1 2 3 4 5)
items=("${items[@]:0:2}" "${items[@]:3}")
或者只是
unset 'items[2]'; items=("${items[@]}")
请注意,数组索引从0开始。如果某些索引被删除,也可能会有所不同。