मैं virtualenv के स्रोत कोड देख रहा हूँ, और सक्रिय स्क्रिप्ट इस कोड में शामिल हैं:क्या होता है यदि ["x"! = X] बाश में करते हैं?
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
लाइन if [ "x" != x ]
क्या करता है? x स्क्रिप्ट में कहीं और परिभाषित नहीं किया गया है।
पुराने पुराने गोले पर खाली तारों की जांच के लिए पुरानी '[" x $ foo "! = X]' चाल की तरह दिखता है। –
यह वही है जो चल रहा है। लिपि स्वतः उत्पन्न होती है, और कभी-कभी एक चर होता है जो वहां विभाजित हो जाता है। [यह] देखें (https://github.com/pypa/virtualenv/blob/develop/virtualenv_embedded/activate.sh#L59) और [यह] (https://github.com/pypa/virtualenv/blob/develop/ virtualenv.py # L1582)। धन्यवाद! –
@AKaptur: आपका स्वागत है! – ruakh