我从同一个文件夹中运行了几个Heroku应用程序,我经常需要通过两个环境变量之一来定位我正在键入的命令的特定应用程序
我可以选择的选项是:
heroku command --app MYAPPID
heroku command -r MYAPPSGITREMOTEID
HEROKU_APP=MYAPPID heroku command
我目前使用-r但是很难用它构建别名,特别是如果我想将heroku命令的输出传递给另一个命令...如果别名是,我不能调用myalias -r myappid
heroku command | tail
我更喜欢像
这样的东西 评估为@production heroku command
的 HEROKU_APP=MYPRODUCTIONID heroku command
奖励点如果它可以使用链接别名,例如@production myalias
,它会扩展目标app envvar别名和要执行别名的命令
任何想法?
答案 0 :(得分:2)
这是shell函数的完美解决方案:
myheroku () {
local heroku_app=$1
shift
env HEROKU_APP="$heroku_app" heroku "$@"
}
myalias1 () {
myheroku "$1" specific command here
}
myalias2 () {
myheroku "$1" some other command
}
# ...
然后
myalias1 @production
最终会调用
env HEROKU_APP="@production" heroku specific command here