/ / как да направя алвар-променящ псевдоним - bash

как да направя алвар за промяна на енввар - баш

Изпълнявам няколко приложения на 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 който би разширил както псевдонима за целевите приложения за приложния файл, така и командата, която да бъде изпълнена псевдоним

някакви идеи?

Отговори:

2 за отговор № 1

Това е мястото, където функциите на черупките са идеалното решение:

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