Unset command on bash arrays: pathname expansion and side effects mentioned in the manual

88 Views Asked by At

I saw this statement in the bash manual and wasn't sure how to connect the unset command, pathname expansion and side-effects.

The unset builtin is used to destroy arrays. unset name[subscript] destroys the array element at index subscript. Care must be taken to avoid unwanted side effects caused by pathname expansion.

Is there an example that illustrates the sort of side effect paired with pathname expansion that this manual is talking about?

1

There are 1 best solutions below

0
On BEST ANSWER

It means you have to quote it:

unset 'avar[index]'
unset "avar[$index]"
unset 'avar[1234]'

[] are also valid patterns for pathname expansion

So if you have a file like avar1, this would try to unset avar1 instead:

unset avar[12]