The infinite loop has nothing to do with $*.

alias _yeh_ tokenize 32 ABC DEF | while ($1) { echo -a $v1 } will also result in an infinite loop, that's normal since nothing is making the while condition fail.

$* isn't to be used like that, but more like this:

alias _ifmatch if ($1) echo -a $v1
alias _yeh_ tokenize 32 ABC DEF | _ifmatch $*

Or if you want to do something as simple as echoing,

//tokenize 32 ABC DEF | echo -a $*

$* will call the command where it is specified in, for each token. In our example, the aliases _ifmatch and echo get called twice, for each token, being ABC and DEF.


Gone.