可能的重复:
如何将参数传递给别名?
我正在尝试创建一个 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"; }