bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is the best to pass an array with specially characters as comma


From: Dennis Williamson
Subject: Re: What is the best to pass an array with specially characters as command line arguments?
Date: Mon, 7 Nov 2011 08:29:59 -0600

On Mon, Nov 7, 2011 at 7:23 AM, Peng Yu <pengyu.ut@gmail.com> wrote:
> Hi Clark,
>
>> What do you mean by "1 long argument"?
>>
>> [bash-4.2.10] # cat foo.sh
>> v="  a b c ( a'b | "
>> set -o noglob
>> a=( $v )
>> set +o noglob
>> for i in "${a[@]}"; do
>>     echo "$i"
>> done
>> [bash-4.2.10] # bash foo.sh
>> a
>> b
>> c
>> (
>> a'b
>> |
>> [bash-4.2.10] #
>
>
> I misunderstood the usage of "${args[@]}". I though it returns only
> one long argument "  a b c ( a'b | ", but it actually expanded to 6
> short arguments "a", "b", "c", "(", "a'b" and  "|". Thanks for
> clarification.
>
>
>
> --
> Regards,
> Peng
>
>

If you use "${args[*]}" (with quotes and an asterisk instead of an at
sign), the result is one long argument. Otherwise, it's split.

-- 
Visit serverfault.com to get your system administration questions answered.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]