تعجبني فكرة تحديث موجه bash لتضمين اسم البيئة الحالية عند تشغيل برنامج نصي للتفعيل. لكن لدي موجه ملون لطيف خاص بي ، لذلك أود تخصيص كيفية إضافة اسم بيئة virtualenv إلى الموجه.
يبدو أن الحل الأسهل هو إضافة متغير بيئة جديد - مثل VIRTUAL_ENV_DISABLE_PROMPT
- وليس القيام بالسحر السحري PS2
عند تعيين هذا المتغير. بهذه الطريقة ، يمكن لتعريفي الفوري الحالي التحقق من وجود VIRTUAL_ENV
، وتضمين ذلك عند الضرورة.
لقد قمت بإنشاء تصحيح يقوم بتنفيذ هذا:
https://bitbucket.org/dcreager/virtualenv/changeset/bcc84d4f18f9/
Original Comment By: Douglas Creager
Original Comment By: Jannis Leidel
إذا تم حل هذه المشكلة ، كيف يمكن للمرء الحصول على هذه الوظيفة في virtualenv؟
هل تستخدم VIRTUAL_ENV_DISABLE_PROMPT؟
Original Comment By: Joseph Turian
جوزيف: يبدو الأمر كذلك. قضيت الوقت في البحث عن المصدر وهو هناك:
إذا [-z "$ VIRTUAL_ENV_DISABLE_PROMPT"] ؛ ومن بعد
لذلك ، لن يتم التعامل مع $ PS1 إلا إذا كان $ VIRTUAL_ENV_DISABLE_PROMPT
غير مضبوط (أو إذا تم ضبطه على سلسلة فارغة). وبالتالي ، التصدير
VIRTUAL_ENV_DISABLE_PROMPT = 1 يجب أن تفعل الحيلة.
Original Comment By: Anonymous
التعليق الأكثر فائدة
جوزيف: يبدو الأمر كذلك. قضيت الوقت في البحث عن المصدر وهو هناك:
إذا [-z "$ VIRTUAL_ENV_DISABLE_PROMPT"] ؛ ومن بعد
لذلك ، لن يتم التعامل مع $ PS1 إلا إذا كان $ VIRTUAL_ENV_DISABLE_PROMPT
غير مضبوط (أو إذا تم ضبطه على سلسلة فارغة). وبالتالي ، التصدير
VIRTUAL_ENV_DISABLE_PROMPT = 1 يجب أن تفعل الحيلة.