تحية للجميع،
أعتقد أنه سيكون من الرائع أن تتمكن من تغيير متغيرات البيئة (يمكن الوصول إليها على سبيل المثال بواسطة $ env: Name أو Get-ChildItem env :) على Linux.
على سبيل المثال لتعيين قيم هناك ، ملف تكوين جديد في / etc ؟
في Windows يمكنني تغيير PSModulePath على سبيل المثال وإضافة مسار مخصص. الخيار الوحيد في Linux هو إنشاء ملف تعريف ps1 لجميع المستخدمين.
شكرا لك.
هل يمكنني أن أقترح عليك تغيير عنوان مشكلتك لتعكس حقيقة أنك تبحث عن PowerShell لتقديم طريقة _profile-مستقلة_ لتحديد متغيرات البيئة باستمرار؟
بعض الأفكار:
متغيرات البيئة بحكم تعريفها _shell / application-agnostic_ ويمكن رؤيتها من خلال _ all_ العمليات التابعة ، بغض النظر عن نوع shell / التطبيق الذي أنشأها.
PowerShell "يستمع إلى" فقط _2_ متغيرات البيئة ، $env:PSModulePath
أحدها.
بناءً على ما أفهمه ، فإن بيئات Linux (جميعها؟) لديها بالفعل ملف /etc/environment
كآلية على مستوى النظام ، ومستقلة عن الغلاف لتعريف متغيرات البيئة.
ومع ذلك ، إذا تم استخدام مجموعة من متغيرات البيئة حقًا بواسطة _PowerShell_ ، فإن ملف تعريف _PowerShell_ على مستوى النظام - $profile.AllUsersAllHosts
- يمكن القول إنه المكان المناسب لتعريفها.
/etc/profile
، والذي من المتوقع أن يقوم الغلاف الافتراضي بمعالجته ، والذي (أ) لا يسري على تطبيقات واجهة المستخدم الرسومية ، و (ب) يتطلب الغلاف الافتراضي لتلبية هذا التوقع و (ج) يتطلب shell الافتراضي لفهم بناء جملة POSIX-shell (أي PowerShell ، إذا تم تعريفه على أنه shell الافتراضي ، فلن [_تحديث_: /etc/profile
و ~/.profile
الآن _are_ يتم تكريمه إذا بدأت بـ pwsh -l
أو استخدم PowerShell كصدفة افتراضية]).حاولت تعيين متغير بيئة مثل هذا على جهاز Ubuntu:
كنت آمل أن يقوم هذا بتحرير ملف / etc / environment لتعيين نظام متغير البيئة على نطاق واسع.
للأسف ، لم يقم NET Core بعد بتنفيذ طريقة لتحديد متغيرات البيئة في أنظمة Unix. تنص الوثائق الخاصة بهذه الطرق على أن تطبيق القيم على أي شيء آخر غير العملية الحالية مدعوم فقط على windows. : frowning_face:
التعليق الأكثر فائدة
هل يمكنني أن أقترح عليك تغيير عنوان مشكلتك لتعكس حقيقة أنك تبحث عن PowerShell لتقديم طريقة _profile-مستقلة_ لتحديد متغيرات البيئة باستمرار؟
بعض الأفكار:
متغيرات البيئة بحكم تعريفها _shell / application-agnostic_ ويمكن رؤيتها من خلال _ all_ العمليات التابعة ، بغض النظر عن نوع shell / التطبيق الذي أنشأها.
PowerShell "يستمع إلى" فقط _2_ متغيرات البيئة ،
$env:PSModulePath
أحدها.بناءً على ما أفهمه ، فإن بيئات Linux (جميعها؟) لديها بالفعل ملف
/etc/environment
كآلية على مستوى النظام ، ومستقلة عن الغلاف لتعريف متغيرات البيئة.ومع ذلك ، إذا تم استخدام مجموعة من متغيرات البيئة حقًا بواسطة _PowerShell_ ، فإن ملف تعريف _PowerShell_ على مستوى النظام -
$profile.AllUsersAllHosts
- يمكن القول إنه المكان المناسب لتعريفها./etc/profile
، والذي من المتوقع أن يقوم الغلاف الافتراضي بمعالجته ، والذي (أ) لا يسري على تطبيقات واجهة المستخدم الرسومية ، و (ب) يتطلب الغلاف الافتراضي لتلبية هذا التوقع و (ج) يتطلب shell الافتراضي لفهم بناء جملة POSIX-shell (أي PowerShell ، إذا تم تعريفه على أنه shell الافتراضي ، فلن [_تحديث_:/etc/profile
و~/.profile
الآن _are_ يتم تكريمه إذا بدأت بـpwsh -l
أو استخدم PowerShell كصدفة افتراضية]).