Re: Package maintainer script policy.
In article <[🔎] 87hfzsv7nj.fsf@tiamat.datasync.com>,
Manoj Srivastava <srivasta@datasync.com> wrote:
> See? $nosuch and "$nosuch" are not the same thing. Never have
> been. To drive the point home, try this little shell function that
> reports the number of positional arguments and the values.
Yes, well, but the rules are different for normal variables and $@.
Now if you were talking about $* you would be right.
$ bash -c '[ "$@" = whatever ]'
bash: [: =: unary operator expected
See? ;)
So
exec program "$@"
is indeed _the_ preferred way to pass arguments unchanged, but you really
have to understand the very subtle differences between $* and $@.
Another one:
$ bash -c 'set 1 2 3; set "$*"; echo $#'
1
$ bash -c 'set 1 2 3; set "$@"; echo $#'
3
See? "$@" expands to _three_ strings. Cool, huh?
Mike.
--
Miquel van Smoorenburg | Our vision is to speed up time,
miquels@cistron.nl | eventually eliminating it. <*>
--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: