On Sun, Dec 20, 2015 at 01:42:30PM +0100, Joachim Backes wrote:
Hi all,
Running F23, and my shell is /bin/bash.
My problem: suppose you define an alias:
alias x='echo PAR=$1'
Now call the alias by:
x 1
Output: PAR= 1
My question: why do I get the blank before the "1"?
aliases are not intended to be used with positional parameters.
You will need to use functions to do that.
As to the space, "x", not "x 1" gets replaced by the
alias definition. So
$ x 1
becomes
$ echo PAR=$1 1
As noted above, positional parameters to not exist for aliases
so this becomes
$ echo PAR= 1
To confirm $1 is not interpreted, try
$ x now is the time
which becomes
$ echo PAR= now is the time
Jon
--
Jon H. LaBadie jonfu(a)jgcomp.com