[pacman-dev] [PATCH] Make strip paths configurable

Aaron Griffin aaronmgriffin at gmail.com
Mon Jul 28 17:22:05 EDT 2008


On Mon, Jul 28, 2008 at 4:12 PM, Xavier <shiningxc at gmail.com> wrote:
> On Mon, Jul 28, 2008 at 11:05 PM, Aaron Griffin <aaronmgriffin at gmail.com> wrote:
>> On Mon, Jul 28, 2008 at 3:51 PM, Xavier <shiningxc at gmail.com> wrote:
>>> On Mon, Jul 28, 2008 at 10:45 PM, Aaron Griffin <aaronmgriffin at gmail.com> wrote:
>>>>
>>>> aaron at gerolde:~$ [ -z foo bar baz ]
>>>> -bash: [: too many arguments
>>>> aaron at gerolde:~$ [ -z "foo bar baz" ]
>>>> aaron at gerolde:~$
>>>
>>>
>>> Well don't ask me to explain, but here is a closer test case I think :
>>>
>>> [xavier at nx7400 ~]$ array=({foo,bar,baz})
>>> [xavier at nx7400 ~]$ [ -z "${array[@]}" ]
>>> bash: [: too many arguments
>>
>> Weird. I'd guess this is something to do with globbing taking
>> priority. Seeing as this is just testing for some value, using single
>> quotes fixes the issue.
>
> With single quotes, I am not sure it still works correctly.

Touché! I gave it very little thought... of course it works, it never
does any variable expansion!

> What about handling it just like a normal variable ?
> [xavier at nx7400 ~]$ array=({foo,bar,baz})
> [xavier at nx7400 ~]$ [ -z "$array" ] || echo array not empty
> array not empty
> [xavier at nx7400 ~]$ unset array
> [xavier at nx7400 ~]$ [ -z "$array" ] || echo array not empty
> [xavier at nx7400 ~]$

That'd work, except for cases of idiocy, like...
array=('' {foo,bar,baz})


More information about the pacman-dev mailing list