ذكري المظهر

كيفية تعيين وقائمة متغيرات البيئة في لينكس

Linux Tutorial for Beginners: Introduction to Linux Operating System

Linux Tutorial for Beginners: Introduction to Linux Operating System

جدول المحتويات:

Anonim

في متغيرات بيئة الأنظمة التي تستند إلى Linux و Unix هي مجموعة من القيم المسماة الديناميكية ، ويتم تخزينها داخل النظام والتي يتم استخدامها بواسطة التطبيقات التي يتم تشغيلها في الأصداف أو الأجزاء الفرعية. بعبارة بسيطة ، متغير البيئة هو متغير ذو اسم وقيمة مرتبطة به.

تسمح لك متغيرات البيئة بتخصيص كيفية عمل النظام وسلوك التطبيقات على النظام. على سبيل المثال ، يمكن لمتغير البيئة تخزين معلومات حول محرر النص الافتراضي أو المستعرض ، أو المسار إلى الملفات القابلة للتنفيذ ، أو إعدادات تخطيط النظام ولوحة المفاتيح.

في هذا الدليل ، سنشرح لك قراءة وتعيين متغيرات البيئة والقذيفة.

متغيرات البيئة ومتغيرات شل

المتغيرات لها التنسيق التالي:

KEY=value KEY="Some other value" KEY=value1:value2

  • أسماء المتغيرات حساسة لحالة الأحرف. حسب الاصطلاح ، يجب أن تحتوي متغيرات البيئة على أسماء UPPER CASE. عند تعيين قيم متعددة للمتغير ، يجب فصلها بواسطة النقطتين : character.There ليس هناك مسافة حول يساوي = الرمز.

يمكن تصنيف المتغيرات إلى فئتين رئيسيتين ، متغيرات البيئة ، ومتغيرات shell.

متغيرات البيئة هي متغيرات متوفرة على مستوى النظام وموروثة من قبل جميع العمليات الفرعية والأصداف التابعة.

متغيرات shell هي متغيرات تنطبق فقط على مثيل shell الحالي. كل قذيفة مثل zsh و bash ، لديها مجموعة خاصة بها من متغيرات shell الداخلية.

هناك العديد من الأوامر المتاحة التي تسمح لك بسرد وتعيين متغيرات البيئة في Linux:

  • env - يسمح لك الأمر بتشغيل برنامج آخر في بيئة مخصصة دون تعديل البرنامج الحالي. عند استخدامها بدون وسيطة ، ستطبع قائمة بمتغيرات البيئة الحالية. printenv - يقوم الأمر بطباعة كل أو متغيرات البيئة المحددة. set - مجموعات الأوامر أو تقوم بإلغاء تحديد متغيرات shell. عند استخدامها بدون وسيطة ، ستطبع قائمة بجميع المتغيرات بما في ذلك متغيرات البيئة والشل ، ووظائف shell. unset - يحذف الأمر shell ومتغيرات البيئة. export - يقوم الأمر بتعيين متغيرات البيئة.

قائمة متغيرات البيئة

الأمر الأكثر استخدامًا لعرض متغيرات البيئة هو printenv . إذا تم تمرير اسم المتغير كوسيطة إلى الأمر ، يتم عرض قيمة هذا المتغير فقط. إذا لم يتم تحديد وسيطة ، فإن printenv يطبع قائمة بجميع متغيرات البيئة ، متغير واحد في كل سطر.

على سبيل المثال ، لعرض قيمة متغير بيئة HOME ستقوم بتشغيله:

printenv HOME

سيقوم الإخراج بطباعة مسار المستخدم الذي قام بتسجيل الدخول حاليًا:

/home/linuxize

يمكنك أيضًا تمرير أكثر من وسيطة واحدة إلى الأمر printenv :

printenv LANG PWD

en_US /home/linuxize

printenv

سيظهر الإخراج بشيء من هذا القبيل:

LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35;… LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US S_COLORS=auto XDG_SESSION_ID=5 USER=linuxize PWD=/home/linuxize HOME=/home/linuxize SSH_CLIENT=192.168.121.1 34422 22 XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop SSH_TTY=/dev/pts/0 MAIL=/var/mail/linuxize TERM=xterm-256color SHELL=/bin/bash SHLVL=1 LANGUAGE=en_US: LOGNAME=linuxize XDG_RUNTIME_DIR=/run/user/1000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/printenv

فيما يلي بعض متغيرات البيئة الأكثر شيوعًا:

  • USER - USER الحالي المسجل. HOME - الدليل الرئيسي للمستخدم الحالي. EDITOR - محرر الملف الافتراضي الذي سيتم استخدامه. هذا هو المحرر الذي سيتم استخدامه عند كتابة edit في جهازك. SHELL - مسار غلاف المستخدم الحالي ، مثل bash أو zsh. اسم المستخدم - اسم المستخدم الحالي. PATH - قائمة الدلائل المطلوب البحث عنها عند تنفيذ الأوامر. عندما تقوم بتشغيل أمر ، سيقوم النظام بالبحث في هذه الدلائل بهذا الترتيب واستخدام أول من وجد قابل للتنفيذ. LANG - إعدادات الإعدادات المحلية الحالية. TERM - مضاهاة المحطة الحالية. MAIL - موقع حيث يتم تخزين بريد المستخدم الحالي.

أوامر printenv و env تطبع فقط متغيرات البيئة. إذا كنت ترغب في الحصول على قائمة بجميع المتغيرات ، بما في ذلك البيئة ، و shell والمتغيرات ، ووظائف shell ، يمكنك استخدام الأمر set :

set

BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()

سيعرض الأمر قائمة كبيرة بجميع المتغيرات ، لذلك ربما تريد توجيه الإخراج إلى أمر less .

set | less

يمكنك أيضًا استخدام الأمر echo لطباعة متغير shell. على سبيل المثال ، لطباعة قيمة المتغير BASH_VERSION ستقوم بتشغيل:

echo $BASH_VERSION

4.4.19(1)-release

إعداد متغيرات البيئة

لتوضيح الفرق بين متغيرات Shell و Environment بشكل أفضل ، سنبدأ بتعيين متغيرات Shell ثم ننتقل إلى متغيرات البيئة.

لإنشاء متغير shell جديد باسم MY_VAR وقيمة Linuxize اكتب ببساطة:

MY_VAR='Linuxize'

يمكنك التحقق من تعيين المتغير باستخدام إما echo $MY_VAR لتصفية إخراج الأمر set مع grep set | grep MY_VAR set | grep MY_VAR :

echo $MY_VAR

Linuxize

استخدم الأمر printenv للتحقق مما إذا كان هذا المتغير متغير بيئة أم لا:

printenv MY_VAR

سيكون الإخراج فارغًا والذي يخبرنا أن المتغير ليس متغير بيئة.

يمكنك أيضًا محاولة طباعة المتغير في غلاف فرعي وستحصل على إخراج فارغ.

bash -c 'echo $MY_VAR'

يتم استخدام أمر export لضبط متغيرات البيئة.

لإنشاء متغير بيئة ، قم ببساطة بتصدير متغير shell كمتغير بيئة:

export MY_VAR

يمكنك التحقق من ذلك عن طريق تشغيل:

printenv MY_VAR

Linuxize

bash -c 'echo $MY_VAR'

Linuxize

يمكنك أيضًا تعيين متغيرات البيئة في سطر واحد:

export MY_NEW_VAR="My New Var"

متغيرات البيئة التي تم إنشاؤها بهذه الطريقة متاحة فقط في الجلسة الحالية. إذا قمت بفتح shell جديد أو إذا قمت بتسجيل الخروج ، فستفقد جميع المتغيرات.

متغيرات البيئة المستمرة

لجعل متغيرات البيئة ثابتة ، تحتاج إلى تحديد تلك المتغيرات في ملفات تكوين bash. في معظم توزيعات Linux عند بدء جلسة جديدة ، تتم قراءة متغيرات البيئة من الملفات التالية:

  • /etc/environment - استخدم هذا الملف لإعداد متغيرات البيئة على مستوى النظام. يتم تعيين المتغيرات في هذا الملف بالتنسيق التالي:

    FOO=bar VAR_TEST="Test Var"

    /etc/profile - يتم تحميل المتغيرات المعينة في هذا الملف كلما تم إدخال غلاف تسجيل دخول bash. عند التصريح عن متغيرات البيئة في هذا الملف ، فأنت بحاجة إلى استخدام الأمر export :

    export JAVA_HOME="/path/to/java/home" export PATH=$PATH:$JAVA_HOME/bin

    لكل مستخدم قذيفة ملفات التكوين محددة. على سبيل المثال ، إذا كنت تستخدم Bash ، فيمكنك تعريف المتغيرات في ~/.bashrc :

    export PATH="$HOME/bin:$PATH"

لتحميل متغيرات البيئة الجديدة في جلسة shell الحالية ، استخدم الأمر source :

source ~/.bashrc

استنتاج

في هذا الدليل ، لقد أوضحنا لك كيفية إعداد ومتغيرات البيئة وقذيفة.

لا تتردد في ترك تعليق إذا كان لديك أي أسئلة.

طرفية