OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

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

7.2.3. קבוצה טיפוסית של קבצי התקנה


7.2.3.1. דוגמה /etc/profile


בואו נסתכל על כמה מקבצי התצורה הללו. ראשון / etc / profile נקרא, שבו משתנים חשובים כגון

PATH, USER ו-HOSTNAME מוגדרים:


דבי:~> cat /etc/profile

# /etc/profile


# סביבת מערכת ותוכניות הפעלה, להגדרת התחברות

# פונקציות וכינויים נכנסים ל- /etc/bashrc


# מניפולציה של נתיב

if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/sbin" ; ואז PATH=/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/sbin" ; ואז PATH=/usr/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/local/sbin" לאחר מכן

PATH=/usr/local/sbin:$PATH

fi


אם ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; ואז PATH="$PATH:/usr/X11R6/bin"

fi

דבי:~> cat /etc/profile

# /etc/profile


# סביבת מערכת ותוכניות הפעלה, להגדרת התחברות

# פונקציות וכינויים נכנסים ל- /etc/bashrc


# מניפולציה של נתיב

if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/sbin" ; ואז PATH=/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/sbin" ; ואז PATH=/usr/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/local/sbin" לאחר מכן

PATH=/usr/local/sbin:$PATH

fi


אם ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; ואז PATH="$PATH:/usr/X11R6/bin"

fi

שורות אלה בודקות את הנתיב להגדיר: if שורש פותח מעטפת (מזהה משתמש 0), מסומן ש / sbin, / usr / sbin ו

/usr/local/sbin נמצאים בנתיב. אם לא, הם מתווספים. זה נבדק לכולם ש

/usr/X11R6/bin נמצא בנתיב.


# ללא קבצי ליבה כברירת מחדל ulimit -S -c 0 > /dev/null 2>&1

# ללא קבצי ליבה כברירת מחדל ulimit -S -c 0 > /dev/null 2>&1

כל הזבל הולך ל / dev / null אם המשתמש לא משנה הגדרה זו.


USER=`id -un` LOGNAME=$USER

MAIL="/var/spool/mail/$USER"


HOSTNAME=`/bin/hostname` HISTSIZE=1000

USER=`id -un` LOGNAME=$USER

MAIL="/var/spool/mail/$USER"


HOSTNAME=`/bin/hostname` HISTSIZE=1000

כאן משתנים כלליים מקבלים את הערכים המתאימים להם.


if [ -z "$INPUTRC" -a! -f "$HOME/.inputrc" ]; ואז INPUTRC=/etc/inputrc

fi

if [ -z "$INPUTRC" -a! -f "$HOME/.inputrc" ]; ואז INPUTRC=/etc/inputrc

fi

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


תמונה


יצוא נתיב משתמש LOGNAME MAIL שם מארח HISTSIZE INPUTRC

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


תמונה

7.2.3.2. ספריית profile.d


עבור i ב-/etc/profile.d/*.sh ; לעשות אם [-r $i]; לאחר מכן

. $i

fi בוצע בטל i

עבור i ב-/etc/profile.d/*.sh ; לעשות אם [-r $i]; לאחר מכן

. $i

fi בוצע בטל i

כל תסריטי המעטפת הניתנים לקריאה מה- /etc/profile.d הספרייה נקראת ומבוצעת. אלה עושים דברים כמו הפעלת color-ls, כינוי vi ל מֶרֶץ, הגדרת מקומות וכו'. המשתנה הזמני i אינו מוגדר כדי למנוע ממנו להפריע להתנהגות המעטפת בהמשך.


תמונה

7.2.3.3. דוגמה .bash_profile


לאחר מכן לחבוט מחפש א .bash_profile בספריית הבית של המשתמש:


תמונה

דבי:~> cat .bash_profile

################################################## ###############

# #

# קובץ .bash_profile #

# #

# מופעל מה-bash shell כשאתה מתחבר. #

# #

################################################## ###############


מקור ~/.bashrc מקור ~/.bash_login

הקובץ הפשוט הזה מורה למעטפת שלך לקרוא תחילה ~ / .bashrc ולאחר מכן ~/.bash_login. אתה תתקל ב מָקוֹר פקודת מעטפת מובנית באופן קבוע בעת עבודה בסביבת מעטפת: היא משמשת להחלת שינויי תצורה על הסביבה הנוכחית.


תמונה

7.2.3.4. דוגמה .bash_login


אל האני ~/.bash_login file מגדיר הגנת קבצים כברירת מחדל על ידי הגדרת ה- אומסק ערך, ראה סעיף 3.4.2.2. ה ~ / .bashrc הקובץ משמש להגדרת חבורה של כינויים ופונקציות ספציפיות למשתמש ומשתני סביבה אישיים. זה קורא לראשונה / Etc / bashrc, המתאר את הנחיית ברירת המחדל (PS1) וערך ברירת המחדל של umask. לאחר מכן, תוכל להוסיף הגדרות משלך. אם לא ~ / .bashrc קיים, / Etc / bashrc נקרא כברירת מחדל.


תמונה

7.2.3.5. דוגמה /etc/bashrc


/ Etc / bashrc הקובץ עשוי להיראות כך:


דבי:~> cat /etc/bashrc

# /etc/bashrc


# פונקציות וכינויים רחבי המערכת

# דברים סביבתיים נכנסים ל-/etc/profile


# כברירת מחדל, אנחנו רוצים שזה יוגדר.

דבי:~> cat /etc/bashrc

# /etc/bashrc


# פונקציות וכינויים רחבי המערכת

# דברים סביבתיים נכנסים ל-/etc/profile


# כברירת מחדל, אנחנו רוצים שזה יוגדר.


# אפילו עבור קונכיות לא אינטראקטיביות, ללא כניסה.

if [ `id -gn` = `id -un` -a `id -u` -gt 99 ]; ואז umask 002

אחר

אומאסק 022

fi

# אפילו עבור קונכיות לא אינטראקטיביות, ללא כניסה.

if [ `id -gn` = `id -un` -a `id -u` -gt 99 ]; ואז umask 002

אחר

אומאסק 022

fi

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


# האם אנחנו מעטפת אינטראקטיבית? if [ "$PS1" ]; לאחר מכן

if [ -x /usr/bin/tput ]; לאחר מכן

if [ "x`tput kbs`" != "x" ]; לאחר מכן

# אנחנו לא יכולים לעשות את זה עם מסוף "מטומטם" stty erase `tput kbs`

elif [ -x /usr/bin/wc ]; לאחר מכן

if [ "`tput kbs|wc -c `" -gt 0 ]; לאחר מכן

# אנחנו לא יכולים לעשות את זה עם מסוף "מטומטם" stty erase `tput kbs`

fi fi

fi

מקרה $TERM ב

xterm*)

if [ -e /etc/sysconfig/bash-prompt-xterm ]; ואז PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm

אחר

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:\

${PWD/$HOME/~}\007"'

fi

;;

*)

[ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=\

/etc/sysconfig/bash-prompt-default

;;

esac

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "


if [ "x$SHLVL" != "x1" ]; אז # אנחנו לא מעטפת כניסה עבור i ב-/etc/profile.d/*.sh; לַעֲשׂוֹת

if [-x $i]; לאחר מכן

. $i

fi

עשה

fi

fi

# האם אנחנו מעטפת אינטראקטיבית? if [ "$PS1" ]; לאחר מכן

if [ -x /usr/bin/tput ]; לאחר מכן

if [ "x`tput kbs`" != "x" ]; לאחר מכן

# אנחנו לא יכולים לעשות את זה עם מסוף "מטומטם" stty erase `tput kbs`

elif [ -x /usr/bin/wc ]; לאחר מכן

if [ "`tput kbs|wc -c `" -gt 0 ]; לאחר מכן

# אנחנו לא יכולים לעשות את זה עם מסוף "מטומטם" stty erase `tput kbs`

fi fi

fi

מקרה $TERM ב

xterm*)

if [ -e /etc/sysconfig/bash-prompt-xterm ]; ואז PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm

אחר

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:\

${PWD/$HOME/~}\007"'

fi

;;

*)

[ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=\

/etc/sysconfig/bash-prompt-default

;;

esac

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "


if [ "x$SHLVL" != "x1" ]; אז # אנחנו לא מעטפת כניסה עבור i ב-/etc/profile.d/*.sh; לַעֲשׂוֹת

if [-x $i]; לאחר מכן

. $i

fi

עשה

fi

fi


תמונה


7.2.3.6. דוגמה .bash_logout


עם התנתק, הפקודות נכנסות ~/.bash_logout מבוצעות, מה שיכול למשל לנקות את הטרמינל, כך שיהיה לך חלון נקי בעת יציאה מהפעלה מרחוק, או בעת יציאה ממסוף המערכת:


דבי:~> cat .bash_logout

# ~/.bash_logout


ברור

דבי:~> cat .bash_logout

# ~/.bash_logout


ברור

בואו נסתכל מקרוב על איך התסריטים האלה עובדים בסעיף הבא. לִשְׁמוֹר מידע לחבוט בהישג היד.


תמונה


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: