如何在带有两个参数的别名中正确使用 $1

kir*_*gum 10 linux bash bash-scripting

我必须比较多个文件,而且我不想一直在两个地方更改命令。所以我想在 bash 中创建一个别名。

alias gd='gvimdiff $1 dir/$1'
Run Code Online (Sandbox Code Playgroud)

这样我就可以得到

gvimdiff res.tex dir/res.tex
Run Code Online (Sandbox Code Playgroud)

只需输入

gd res.tex
Run Code Online (Sandbox Code Playgroud)

Wuf*_*ers 18

你不能以这种方式使用别名,但是,你可以定义一个函数来做同样的事情。

function gd() {
    gvimdiff $1 dir/$1
}
Run Code Online (Sandbox Code Playgroud)

  • 那是一个单一的命令。 (4认同)

gee*_*aur 5

别名不是这样工作的。您应该能够使用历史替换(例如!!:1),不,bash不允许这样做)或定义一个函数