كيف يمكنني إضافة متغيرات البيئة?

أنا على التوالي أوبونتو 11.04. يمكنني استخدام محطة لبدء جلسة باش ، وأريد أن أضيف متغير البيئة:

$r@hajt:~$ env THEVAR=/example

لكنه لا يعمل. فإنه يدل على جميع المتغيرات مع ثيفار يجري آخر واحد ، ولكن دعوة أخرى ل env لا تظهر THEVAR بعد الآن- env | grep THEVAR إرجاع أي شيء.

وبالمثل ، البرامج النصية مع التصدير (export THEVAR=/example) أو تعيينات متغيرة أخرى (THEVAR=/example) لا تضيف متغير البيئة.

وأنا أعلم أنني أفعل شيئا خاطئا ، وأنا أعلم أنه ينبغي أن يكون شيئا بسيطا ، ولكن أنا فقط لا يمكن العثور على ما.

تحديث: المعنى الحقيقي لسؤالي كان هذا واحد: https://stackoverflow.com/questions/496702/can-a-shell-script-set-environment-variables-of-the-calling-shell

(على أي حال سأختار الإجابة الأكثر تصويتا وأترك العنوان المحرر - لم يكن هذا ما كنت أطلبه)

env يدير برنامجا في بيئة معدلة ، ثم يرفض جميع التغييرات.

لتعيين متغير فقط لقذيفة الحالية:

VARNAME="my value"

لتعيينه لقذيفة الحالية و جميع العمليات بدأت من قذيفة الحالية:

export VARNAME="my value"      # shorter, less portable version

لتعيينه بشكل دائم لجميع جلسات باش المستقبلية إضافة هذا الخط إلى الخاص بك .bashrc الملف في الخاص بك $HOME الدليل.

لتعيينه بشكل دائم ، و على نطاق المنظومة (جميع المستخدمين ، جميع العمليات) إضافة متغير مجموعة في / الخ / البيئة:

sudo -H gedit /etc/environment

يقبل هذا الملف فقط التعيينات المتغيرة مثل:

VARNAME="my value"

لا تستخدم export الكلمة هنا.

تحتاج إلى تسجيل الخروج من المستخدم الحالي وتسجيل الدخول مرة أخرى حتى تتغير متغيرات البيئة.

لتعيين متغير بيئة مرة واحدة ، استخدم export الأمر في موجه ، وليس في برنامج نصي قذيفة:

$ export THEVAR=/example

سيتم تعيين المتغير لبقية جلسة شل أو حتى إلغاء التعيين.

لتعيين متغير بيئة في كل مرة ، استخدم export القيادة في .bashrc ملف (أو ملف التهيئة المناسب لقذيفة الخاص بك).

لتعيين متغير بيئة من برنامج نصي ، استخدم export الأمر في البرنامج النصي ، ثم source السيناريو. إذا قمت بتنفيذ البرنامج النصي فإنه لن يعمل.

للحصول على شرح للفرق بين المصادر والتنفيذ ، انظر هذه الإجابة: https://superuser.com/questions/176783/what-is-the-difference-between-executing-a-bash-script-and-sourcing-a-bash-script/176788#176788

لإضافة متغير بيئة جديد بشكل دائم في أوبونتو (تم اختباره فقط في 14.04) ، استخدم الخطوات التالية:

  1. فتح محطة (عن طريق الضغط CtrlAltT)
  2. sudo -H gedit /etc/environment
  3. اكتب كلمة المرور
  4. قم بتحرير الملف النصي الذي تم فتحه للتو:
    على سبيل المثال إذا كنت تريد إضافة FOO=bar، ثم اكتب فقط FOO=bar في خط جديد
  5. احفظه
  6. بمجرد الحفظ ، قم بتسجيل الخروج وتسجيل الدخول مرة أخرى.
  7. يتم إجراء التغييرات المطلوبة.

للحصول على التغييرات البيئة / فار لتستمر بعد اكتمال البرنامج النصي، لديك لاستخدامsource ./script.sh أو تدوين الاختزال للمصدر،"."،مثل . ./script.sh

سوف المصدر تنفيذ الأوامر في البرنامج النصي كما لو كنت قد كتبتها في... لذلك فإنه يغير بعض جوانب البرنامج النصي ، مثل الخروج... لذلك إذا تحقق البرنامج النصي الخاص بك من شيء ما وقرر الخروج إذا كان خطأ ، على سبيل المثال ، عبر الاتصال exit 0، فإنه سيتم إنهاء الدورة الطرفية / شل الحالية.

وأنا أعلم أنه في وقت متأخر جدا، ولكن إذا كنت ترغب في إضافة متغير البيئة لجميع المستخدمين ( مثل استخدام جافا) - يمكنك القيام بما يلي:

1) فتح /etc/bash.bashrc باستخدام نانو (يمكنك استخدام أي محرر ، وأنا لا أفضل همة كما انها أسوأ عندما يتعلق الأمر سهولة الاستخدام-لا شيء شخصي).

2) إلحاق الملف:

export VAR=path export PATH=$PATH:/bin3) (أفضل إذا كنت يمكن أن ترتد مربع) - أو ببساطة فتح جلسة سه جديدة وتأكيد باستخدام الأمر `إنف'.

ولكن إذا كنت تريد أن يكون لكل مستخدم إعداد منفصل لهذا ، فيجب عليك إجراء تغيير (مكتوب) على .bashrc الملف تحت ~/.bashrc (أو /home/$USER/ إذا كنت جديدا على أنظمة لينكس)

إذا كنت تفعل أشياء عبر البرنامج النصي، يتم وضع طريقة واحدة سهلة لتعيين متغير البيئة بشكل دائم أدناه بيان في البرنامج النصي الخاص بك,

if [[ ! -d "$MyVar" ]]; then     export MyVar="abc"    echo 'export MyVar="abc"' >> ~/.bashrcfi

إذا كنت بحاجة إلى تقييم التعبيرات مثل الأشخاص ذوي الإعاقة ، يمكنك استخدام هذا ، على سبيل المثال,

echo "export EIGEN_ROOT=\"$(pwd)/eigen\"" >> ~/.bashrc

إذا كنت تستخدم أوبونتو أو أي نظام قائم على يونكس ثم تصدير المتغيرات في ~/.bashrc الملف. إنه ملف مخفي ويمكنك الوصول إليه من خلال الجهاز أو عن طريق إلغاء إخفاء الملفات المخفية في نظام الملفات.

ثم قم بتحرير الملف وتعيين export THEVAR=/example هناك ، حفظ وانها فعلت.

إذا كنت تقوم بنشر تطبيقات جافا باستخدام القط يمكنك تعيين متغيرات البيئة بالطريقة التالية:

1.سودو سو ومؤتمر نزع السلاح ل / فار/ليب / القط 8 / بن/ (أو أيهما هو مسار بن القط الخاص بك)

  1. المس setenv.sh(إذا لم يكن موجودا) ، إذا كان الملف موجودا بالفعل setenv.sh'

  2. شمود 777 setenv.sh (جعل الملف قابل للتنفيذ)

  3. سادسا setenv.sh وتعيين السطر التالي في سيتينف.مفتاح شيكسبورت = القيمة

  4. سودو سيستمكتل إعادة تشغيل القط.الخدمة

في ملف جافا الخاص بك يمكنك استخدام التعليمات البرمجية التالية للتحقق مما إذا تم تعيين المتغير

private static void printEnv() {    System.out.println("******************************Environment Vars*****************************");    Map<String, String> enviorntmentVars = System.getenv();    enviorntmentVars.entrySet().forEach(System.out::println);    System.out.println("******************************system Vars*****************************");    Properties enviorntmentProperties = System.getProperties();    enviorntmentVars.entrySet().forEach(System.out::println);}

والآخر هو حول المتغيرات العالمية ، وهذا واحد لا يضيف مثل هذا القيد. سأبقيه منفصلا.

https://help.ubuntu.com/community/EnvironmentVariables

عند تعريفها / تصديرها في .البشرك ، وأنها تعمل بشكل صحيح.

ماذا عن ‘ثيفار= / مثال’?

تكرار ممكن من جوجل الأرض و BROWSER متصفح متغير البيئة