一尘不染

制作一个带参数的 Bash 别名?

javascript

我曾经使用 CShell csh,它允许您创建一个带有参数的别名。符号类似于

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

在 Bash 中,这似乎不起作用。鉴于 Bash 有许多有用的功能,我会假设这个功能已经实现,但我想知道如何实现。


阅读 130

收藏
2022-02-22

共1个答案

一尘不染

Bash 别名不直接接受参数。您将必须创建一个函数。

alias不接受参数,但可以像别名一样调用函数。例如:

myfunction() {
    #do things with parameters like $1 such as
    mv "$1" "$1.bak"
    cp "$2" "$1"
}


myfunction old.conf new.conf #calls `myfunction`

顺便说一句,在您的.bashrc文件和其他文件中定义的 Bash 函数可以作为 shell 中的命令使用。因此,例如,您可以像这样调用较早的函数

$ myfunction original.conf my.conf
2022-02-22