Napisałem scenariusz ZSH wykorzystujący funkcję wywołania zwrotnego chpwd
do źródła konfiguracji ZSH konkretnego projektu. Nie jestem pewien, czy działa z Bash, ale myślę, że warto spróbować. Jeśli nie znajdzie pliku skryptu w katalogu, do którego dołączasz, sprawdza katalogi nadrzędne, dopóki nie znajdzie skryptu źródłowego (lub dopóki nie dotrze do /
). Wywołuje również funkcję unmagic
podczas wyłączania katalogu, co pozwala oczyścić środowisko po opuszczeniu projektu.
http://github.com/jkramer/home/blob/master/.zsh/func/magic
przykład o "magicznym" skryptu:
export BASE=$PWD # needed for another script of mine that allows you to cd into the projects base directory by pressing ^b
ctags -R --languages=Perl $PWD # update ctags file when entering the project directory
export PERL5LIB="$BASE/lib"
# function that starts the catalyst server
function srv {
perl $BASE/script/${PROJECT_NAME}_server.pl
}
# clean up
function unmagic {
unfunction src
unset PERL5LIB
}
Po prostu dodaj 'printf" \ e] 1; $ PWD \ a "' i bam (!), Nazwa karty zmieni się na pwd. – Fadi
@Fadi podczas true, większość ludzi po prostu dodaje sekwencję uniksową do samego monitu, nie ma to znaczenia, że jest aktualizowany przy każdym monicie (a nie tylko przy zmianie katalogu), ponieważ nie będzie to zauważalne. – falstro