Re: Problem with bash: alias command

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

 



On 12/20/2015 10:30 AM, Jon LaBadie wrote:
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

Actually, $1 does get expanded, but not until after the alias expansion.
Your current shell probably has no positional parameters, so $1 is NULL.
Try this:

    alias x='echo PAR=$1'
    set foobar         # Your current shell now has a parameter.
    echo $*            # See it.
    x 42

It's simple. Aliases do not interpret parameters. They just do a simple
string substitution of the defined string for the alias name. After
that substitution, the resulting command line is executed just as
though you typed it at the terminal.

--
Bob Nichols     "NOSPAM" is really part of my email address.
                Do NOT delete it.

--
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux