Bash 用于自动更改到项目目录的激活后脚本
我的virtualenv postactivate脚本中有一行条目,它通知我所在的virtualenv:Bash 用于自动更改到项目目录的激活后脚本,bash,virtualenv,virtualenvwrapper,virtualenv-commands,Bash,Virtualenv,Virtualenvwrapper,Virtualenv Commands,我的virtualenv postactivate脚本中有一行条目,它通知我所在的virtualenv: export PS1="\[\033[40;1;36m\](`basename $VIRTUAL_ENV`)\[\033[00m\]\[\033[01;34m\] \W\[\033[00m\] \$ " 我想添加一行,当我发出workon命令时,该行也将更改为我的项目目录。这实际上只适用于我,因此我很高兴在myproject上发出working命令,并使用myproject作为唯一变量,然
export PS1="\[\033[40;1;36m\](`basename $VIRTUAL_ENV`)\[\033[00m\]\[\033[01;34m\] \W\[\033[00m\] \$ "
我想添加一行,当我发出workon命令时,该行也将更改为我的项目目录。这实际上只适用于我,因此我很高兴在myproject上发出working命令,并使用myproject作为唯一变量,然后更改为/path/to/projects/myproject。这将工作,因为我的所有项目都在同一个目录中。证明:
cd ~/projects/django-projects/$1
可以,但是命令变量实际上是post_activate。我可以很容易地从命令行获取字符串并将其传递给这个脚本吗
非常感谢您的帮助。我就是这样做的,尽管我认为有多种解决方案:
dir=${VIRTUAL_ENV:17}; cd ~/projects/django-projects/$dir
ok dir=${VIRTUAL_ENV:17};cd~/projects/django projects/$dir对我来说很有用。这对于获取虚拟环境名称更好:dir=$basename$virtual_ENV;为什么不干脆用cd$VIRTUAL_ENV?