2

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?

4

1 回答 1

3

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]
于 2013-08-30T20:34:32.897 回答