/ / Автоматични промени в $ PATH в баш - баш, пътека

Автоматични промени в $ PATH в Баш - баш, път

Проектът, върху който работя, има няколко изпълними скриптав хранилището. Тези скриптове всъщност са инструменти, които автоматизират някои задачи по разработването и ги призовавам само когато съм в репо-то и работят само върху файлове в репо-сделката.Тази типична работна сесия изглежда така:

$ cd $REPO
$ ./tools/start-session
$ some-script some arguments
$ other-script other arguments

С други думи, start-session скриптът просто добавя подходящ запис към $PATH променлива.

Бих искал да го автоматизирам по-нататък, за да не трябва да се обадя $REPO/tools/start-session скрипт. Това, което искам да постигна, е да направя баш автоматично да открива, че съм в репо-директора си и да добавя подходящо влизане $PATH, Въпросът е, че имам много работни копия намоят репо и инструментите се различават малко във всеки клон, ходя често между работните копия и бих искал моята черупка да видят какъв скрипт искам да се позове.

Как да направя това?

Единственото нещо, което мога да мисля, е, че $PS1 променливата се изпълнява всеки път, когато командата е завършена, за да мога по някакъв начин да закачам някои $PATH- смяна на скрипта там с помощта на гръб, т.е. правя нещо като

PS1=`update-path`$PS1

Но това не е правилният начин.

Отговори:

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

На правилния път, но не използвайте PS1 - ти искаш PROMPT_COMMAND, Например:

 PROMPT_COMMAND="ls"

ще изпълни ls всеки път, когато се появи нов ред. Дали това ще ви реши проблема с корена, не мога да кажа, тъй като аз не съм сигурен, че го разбирам правилно.


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

Бих създал прост скрипт bash - нека го наречем cs (сесия за промяна) - който променя директорията и актуализира пътя, така че вместо

$ cd $REPO
$ ./tools/start-session
$ some-script some arguments
$ other-script other arguments

ще направиш

$ cs $REPO
$ some-script some arguments
$ other-script other arguments

Нещо като това:

#!/bin/bash
cd $1
./tools/start-session