Hello Hello - 2 months ago 6x
Bash Question

Make bash alias that takes parameter?

I used to use CShell (), which let you make an alias that takes a parameter. The notation was something like

alias junk="mv \\!* ~/.Trash"

In Bash this does not seem to work. Given that Bash has a multitude of useful features, I would assume that this one has been implemented but I am wondering how.


Bash alias does not directly accept parameters. You will have to create a function and alias that.

alias does not accept parameters but it can alias a function that does. For example:

myfunction() {
    #do things with parameters like $1 such as
    mv $1 $1.bak
    cp $2 $1
alias myname=myfunction

By the way, Bash functions defined in your .bashrc and other files are available as commands within your shell. So for instance you can call the earlier function like this

$ myfunction original.conf my.conf