2012-09-28 1 views
1

J'ai une entrée d'une ligne dans mon script virtualenv postactivate qui notifie mon virtualenv dont je suis dans:scénario Postactivate pour l'auto-changement dans le répertoire du projet

export PS1="\[\033[40;1;36m\](`basename $VIRTUAL_ENV`)\[\033[00m\]\[\033[01;34m\] \W\[\033[00m\] \$ " 

Je veux ajouter une ligne qui change également dans le répertoire de mon projet quand j'émets la commande workon. Ceci est seulement pour moi vraiment, donc je suis heureux d'émettre la commande workon myproject et d'utiliser myproject comme seule variable, puis passer à /path/to/projects/myproject. Cela fonctionnera car tous mes projets sont dans le même répertoire. Pour démontrer:

cd ~/projects/django-projects/$1 

fonctionnerait, mais bien sûr, la variable de commande est en fait post_activate. Puis-je facilement récupérer la chaîne depuis la ligne de commande et la passer à ce script?

Toute aide très appréciée.

+0

ok 'dir = $ {VIRTUAL_ENV: 17}; cd ~/projects/django-projects/$ dir' a fonctionné pour moi. –

Répondre

0

Voilà comment je l'ai fait, ien je pense qu'il ya plusieurs solutions:

dir=${VIRTUAL_ENV:17}; cd ~/projects/django-projects/$dir 
+0

I c'est mieux pour obtenir le nom de l'environnement virtuel: 'dir = $ (basename $ VIRTUAL_ENV);' –

+1

Pourquoi ne pas simplement 'cd" $ VIRTUAL_ENV "'? – Tobias

Questions connexes