Comment une fonction shell savoir si elle est en cours d'exécution dans un virtualenv?

Comment bash test de la fonction si elle est en cours d'exécution à l'intérieur d'un Python virtualenv?

Les deux approches qui viennent à l'esprit sont:

[[ "$(type -t deactivate)" != function ]]; INVENV=$?

ou

[[ "x$(which python)" != "x$VIRTUAL_ENV/bin/python" ]]; INVENV=$?

(Note: vouloir $INVENV à 1 si nous sommes à l'intérieur d'un virtualenv, et 0 sinon, est ce que les forces de la regarder en arrière les tests ci-dessus.)

Est-il quelque chose de moins hacky?

  • Il est également command -v, une coque intégrée.
InformationsquelleAutor kjo | 2013-03-16