Bash 别名参数

Bash 别名参数

可能的重复:
如何将参数传递给别名?

我正在尝试创建一个 bash 别名,它可以让我快速对当前 git 存储库进行存档。

我当前的别名是:

alias gitarch="git archive master --format=tar | gzip >$@"

如果我提供一个完全相同的目标文件,那么这非常有用,gitarch ~/Desktop/MyArchive.tar.gz但我希望能够只键入一个文件名,并且它将始终以 tar.gz 扩展名保存到桌面。我尝试这样做:

alias gitarch="git archive master --format=tar | gzip >~/Desktop/[email protected]"

...但它似乎无法正常工作。

谁能告诉我让它发挥作用的秘诀吗?

答案1

秘诀就是简单地创建一个bash函数 - 别名不支持位置参数替换:

gitarch() { git archive master --format=tar | gzip >"$1"; }

相关内容