2016-01-26 3 views
0

Я использую инструмент joey hess 'myrepos для управления несколькими репозиториями.Передача переменных окружения myrepos (mr)

В какой-то момент я хотел бы передать переменные среды в действия и разделы, чтобы они расширялись. В частности, я передаю такие вещи, как $SYNCTL, которые должны указывать на каталог верхнего уровня, где монтируются репозитории.

(Обратите внимание, что это не имеет ничего общего с режем верхнего уровня, как refered к по myrepos:. Это верхний уровень реж выше которого все должно быть проигнорировано, которая отличается)

К сожалению, эти переменные не расширяется.

Например, если я экспортировать SYNCTL=/home/myuser, а затем определить репозиторий:

[$SYNCTL/myrepo] 

в .mrconfig

, что в действительности никогда не найден. $SYNCTL не имеет ничего общего, что приводит к тому, что myrepos ищет /myrepo, который, очевидно, не существует, поэтому myrepos просто игнорирует этот раздел.

Я также попытался расширить переменную внутри секции репо, например, так:

[myrepo] 
status = echo $SYNCTL 

но ничего не печатает ни. В этом случае репо найдено, но печатается пустая строка.

Есть некоторые переменные, которые могут быть расширены (например, HOME), но не все, похоже, работают. Я думал, что это как-то связано с --force-env, но работает mr --force-env status тоже ничего не печатает.

Есть ли способ обойти эту проблему? Должно быть?

+1

Я ничего не знаю о myrepos, но «репо найдено, но пустая строка печатается» звучит для меня, как «SYNCTL» не экспортируется должным образом. Можете ли вы дважды проверить (например, с помощью 'env | grep SYNCTL', считая, что на самом деле это программа' env', а не оболочка, встроенная для вашей оболочки), что она экспортируется, а не просто определена локально для вашей оболочки? –

+0

Это было так просто. Благодаря! –

ответ

2

Убедитесь, что вы экспортируете переменную окружения SYNCTL. Например, в bash -alikes вместо

SYNCTL=$HOME/reponame 

, который только определяет оболочки локальной переменной, используйте

export SYNCTL=$HOME/reponame 

сделать переменную среды, которая будет унаследованный от порожденных процессов.

Смежные вопросы