Command line parameter problem in scripts ?

赵方杰 fuziok at gmail.com
Tue Oct 10 19:32:59 UTC 2006


$* is a common var, but $@ is an array of vars.

2006/10/11, Kim Lux <lux at diesel-research.com>:
> On Tue, 2006-10-10 at 18:20 +0100, Paul Howarth wrote:
> > > How do I get $1 to be * rather than just a specific file ?
> >
> > You can't. The shell that you are running is what is expanding the "*",
> > not the script.
>
> Then the following web page is wrong ?  Note the example for ls.  It
> shows $1 to be '*' !
>
>
> > Try changing the script not to use $1 instead:
> >
> > =======================================
> > echo
> > echo Arguments are "$@"
> >
> > for eachFile in "$@"
> > do
> > 	...
> > done
> > =======================================
>
> $@ is the whole command line, right ?
>
> While we are on the subject, what is the diff between $* and $@ ?
>
> I'd find this info on my own but it doesn't appear that google will take $*
> or $@ as search terms.  Someone correct me if I am wrong on this.
>
> Thanks.
>
> --
> Kim Lux,  Diesel Research Inc.
>
>
> --
> fedora-list mailing list
> fedora-list at redhat.com
> To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
>




More information about the fedora-list mailing list