Je regarde le code source de virtualenv, et le script activate contient ce code:Que fait si ["x"! = X] dans bash?
if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then
_OLD_VIRTUAL_PS1="$PS1"
if [ "x" != x ] ; then
PS1="$PS1"
else
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
# special case for Aspen magic directories
# see http://www.zetadev.com/software/aspen/
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
fi
export PS1
fi
Qu'est-ce que la ligne if [ "x" != x ]
faire? x n'est défini nulle part ailleurs dans le script.
Il ressemble à l'ancien truc [["x $ foo"! = X] 'pour vérifier les chaînes vides sur les anciens shells. –
C'est exactement ce qui se passe. Le script est généré automatiquement, et parfois il y a une variable qui y est ajoutée. Voir [this] (https://github.com/pypa/virtualenv/blob/develop/virtualenv_embedded/activate.sh#L59) et [this] (https://github.com/pypa/virtualenv/blob/develop/ virtualenv.py # L1582). Je vous remercie! –
@AKaptur: De rien! – ruakh