אנדרואיד

כיצד להגדיר ולפרט משתני סביבה בלינוקס

linux 2 ª aula

linux 2 ª aula

תוכן עניינים:

Anonim

במערכות מבוססות לינוקס ו- Unix משתנים סביבתיים הם ערכים בעלי שמות דינאמיים המאוחסנים במערכת המשמשים יישומים שהושקו בקליפות או בקליפות משנה. במילים פשוטות, משתנה בסביבה הוא משתנה עם שם וערך משויך.

משתנים סביבתיים מאפשרים לך להתאים אישית את אופן הפעולה של המערכת ואת התנהגות היישומים במערכת. לדוגמה, משתנה הסביבה יכול לאחסן מידע על עורך הטקסט או הדפדפן המוגדר כברירת מחדל, הנתיב לקבצי הפעלה או הגדרות אזור המערכת והמקלדת.

במדריך זה נסביר לקרוא ולהגדיר משתני סביבה ופגזים.

משתני סביבה ומשתני מעטפת

למשתנים יש את הפורמט הבא:

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

  • שמות המשתנים תלויי רישיות. על פי הקונבנציה, משתני הסביבה צריכים להיות בעלי שמות מקרים עליונים. בעת הקצאת ערכים מרובים למשתנה הם חייבים להיות מופרדים על ידי המעי הגס : תו. אין מקום סביב שווה = סמל.

ניתן לסווג משתנים לשתי קטגוריות עיקריות, משתני סביבה ומשתני קליפה.

משתנים סביבתיים הם משתנים הזמינים בכל מערכת והם עוברים בירושה על ידי כל התהליכים והקונכיות שהולידו.

משתני מעטפת הם משתנים החלים רק על מופע הקליפה הנוכחי. לכל פגז כמו zsh ו- bash , יש סט משתנים פנימי משלו.

קיימות מספר פקודות המאפשרות לרשום ולהגדיר משתני סביבה ב- Linux:

  • env - הפקודה מאפשרת לך להפעיל תוכנית אחרת בסביבה מותאמת אישית מבלי לשנות את התוכנית הנוכחית. כאשר משתמשים בו ללא ויכוח הוא ידפיס רשימה של משתני הסביבה הנוכחיים. printenv - הפקודה מדפיסה את כל משתני הסביבה שצוינו. set - הפקודה מגדירה או מבטלת משתני מעטפת. בשימוש ללא ויכוח הוא ידפיס רשימה של כל המשתנים כולל משתני סביבה ופגז ופונקציות מעטפת. unset - הפקודה מוחקת משתני מעטפת וסביבה. export - הפקודה קובעת משתני סביבה.

רשימת משתני סביבה

הפקודה המשמשת ביותר להצגת משתני הסביבה היא printenv . אם שם המשתנה מועבר כוויכוח לפקודה, מוצג רק הערך של המשתנה. אם לא צוין שום טיעון, printenv מדפיס רשימה של כל משתני הסביבה, משתנה אחד בכל שורה.

לדוגמה, כדי להציג את הערך של משתנה הסביבה HOME שתפעיל:

printenv HOME

הפלט ידפיס את הנתיב של המשתמש המחובר כרגע:

/home/linuxize

אתה יכול גם להעביר יותר printenv לפקודה 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. LOGNAME - שם המשתמש הנוכחי. PATH - רשימת ספריות לחיפוש בעת ביצוע פקודות. כשאתה מפעיל פקודה המערכת תחפש בספריות הללו בסדר זה ותשתמש בהפעלה הראשונה שנמצאה. LANG - הגדרות היישובים הנוכחיים. TERM - אמולציית המסוף הנוכחית. MAIL - מיקום היכן שמור הדואר של המשתמש הנוכחי.

פקודות printenv ו- env מדפיסות רק את משתני הסביבה. אם ברצונך לקבל רשימה של כל המשתנים, כולל סביבה, מעטפת ומשתנים ופונקציות מעטפת, תוכל להשתמש בפקודת 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

אתה יכול גם להשתמש בפקודת הד כדי להדפיס משתנה מעטפת. לדוגמה, כדי להדפיס את הערך של המשתנה BASH_VERSION שתפעיל:

echo $BASH_VERSION

4.4.19(1)-release

קביעת משתני סביבה

כדי להמחיש טוב יותר את ההבדל בין משתני מעטפת לסביבה נתחיל בהגדרת משתני מעטפת ואז נעבור למשתני הסביבה.

כדי ליצור משתנה חדש עם השם MY_VAR וערך Linuxize פשוט הקלד:

MY_VAR='Linuxize'

אתה יכול לאמת שהמשתנה מוגדר על ידי שימוש באחד echo $MY_VAR לסינון הפלט של פקודת הסט באמצעות grep set | grep MY_VAR set | grep MY_VAR :

echo $MY_VAR

Linuxize

השתמש בפקודה printenv כדי לבדוק אם משתנה זה הוא משתנה בסביבה או לא:

printenv MY_VAR

התפוקה תהיה ריקה שתאמר לנו שהמשתנה אינו משתנה בסביבה.

אתה יכול גם לנסות להדפיס את המשתנה במעטפת משנה ותקבל פלט ריק.

bash -c 'echo $MY_VAR'

פקודת export משמשת להגדרת משתני סביבה.

כדי ליצור משתנה בסביבה פשוט ייצאו את משתנה הקונכיות כמשתנה בסביבה:

export MY_VAR

אתה יכול לבדוק זאת על ידי הפעלה:

printenv MY_VAR

Linuxize

bash -c 'echo $MY_VAR'

Linuxize

ניתן גם להגדיר משתני סביבה בשורה אחת:

export MY_NEW_VAR="My New Var"

משתני סביבה שנוצרו בדרך זמינים רק בהפעלה הנוכחית. אם אתה פותח מעטפת חדשה או אם אתה מתנתק כל המשתנים יאבדו.

משתנים סביבתיים מתמידים

כדי לגרום למשתני סביבה להתמיד, עליך להגדיר משתנים אלה בקובצי התצורה של הבזק. ברוב ההפצות לינוקס כשאתה מתחיל הפעלה חדשה, משתנים סביבתיים נקראים מהקבצים הבאים:

  • /etc/environment - השתמש בקובץ זה כדי להגדיר משתני סביבה כוללים מערכת. משתנים בקובץ זה מוגדרים בפורמט הבא:

    FOO=bar VAR_TEST="Test Var"

    /etc/profile - משתנים המוגדרים בקובץ זה נטענים בכל פעם שמוזנים פגז התחברות. בעת הכרזת על משתני סביבה בקובץ זה עליך להשתמש בפקודת export :

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

    קבצי תצורה ספציפיים לכל משתמש. לדוגמה, אם אתה משתמש בבאש, אתה יכול להכריז על המשתנים ב- ~/.bashrc :

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

כדי לטעון את משתני הסביבה החדשים לסשן הפגז הנוכחי השתמש בפקודת source :

source ~/.bashrc

סיכום

במדריך זה הראנו לכם כיצד להגדיר ולפרט משתני סביבה ומעטפת.

אל תהסס להשאיר תגובה אם יש לך שאלות.

מסוף