Я смотрел на скрипт активации виртуальной среды, который был создан с помощью инструмента pipenv.
Я заметил следующую часть, касающуюся приглашения PS1:
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
_OLD_VIRTUAL_PS1="${PS1-}"
if [ "x(foo) " != x ] ; then
PS1="(foo) ${PS1-}"
else
PS1="(`basename \"$VIRTUAL_ENV\"`) ${PS1-}"
fi
export PS1
fi
Iзадайте следующие вопросы:
- Как создается сценарий активации
- Какова цель оператора
if [ "x(foo) " != x ] ;
, который всегда приводит к этому PS1="(foo) ${PS1-}"
, оператор else будетигнорируется в каждом случае.