ऑनवर्क्स लिनक्स और विंडोज ऑनलाइन वर्कस्टेशन

प्रतीक चिन्ह

वर्कस्टेशन के लिए मुफ्त होस्टिंग ऑनलाइन

<पिछला | विषय-सूची | अगला>

जब कोई लॉगिन शेल बाहर निकलता है, खूब जोर से पीटना फ़ाइल से कमांड पढ़ता है और निष्पादित करता है ~/.बैश_लॉगआउट, यदि यह मौजूद है। इस प्रक्रिया को विस्तार से बताया गया है लॉग इन और खूब जोर से पीटना मैन पेज।

7.2.3. सेटअप फ़ाइलों का एक विशिष्ट सेट


7.2.3.1. /etc/प्रोफ़ाइल उदाहरण


आइए इनमें से कुछ कॉन्फ़िगरेशन फ़ाइलों को देखें। पहला / Etc / प्रोफ़ाइल पढ़ा जाता है, जिसमें महत्वपूर्ण वेरिएबल जैसे

पथ, उपयोगकर्ता और होस्टनाम सेट हैं:


डेबी:~> बिल्ली /etc/profile

# /आदि/प्रोफ़ाइल


# लॉगिन सेटअप के लिए सिस्टम वाइड वातावरण और स्टार्टअप प्रोग्राम

# फ़ंक्शन और उपनाम /etc/bashrc में जाते हैं


# पथ हेरफेर

यदि [ `id -u` = 0 ] && ! प्रतिध्वनि $पथ | /bin/grep -q "/sbin" ; फिर PATH=/sbin:$PATH

fi


यदि [ `id -u` = 0 ] && ! प्रतिध्वनि $पथ | /bin/grep -q "/usr/sbin" ; फिर PATH=/usr/sbin:$PATH

fi


यदि [ `id -u` = 0 ] && ! प्रतिध्वनि $पथ | /bin/grep -q "/usr/local/sbin" फिर

PATH=/usr/local/sbin:$PATH

fi


अगर ! प्रतिध्वनि $पथ | /bin/grep -q "/usr/X11R6/bin" ; फिर PATH='$PATH:/usr/X11R6/bin'

fi

डेबी:~> बिल्ली /etc/profile

# /आदि/प्रोफ़ाइल


# लॉगिन सेटअप के लिए सिस्टम वाइड वातावरण और स्टार्टअप प्रोग्राम

# फ़ंक्शन और उपनाम /etc/bashrc में जाते हैं


# पथ हेरफेर

यदि [ `id -u` = 0 ] && ! प्रतिध्वनि $पथ | /bin/grep -q "/sbin" ; फिर PATH=/sbin:$PATH

fi


यदि [ `id -u` = 0 ] && ! प्रतिध्वनि $पथ | /bin/grep -q "/usr/sbin" ; फिर PATH=/usr/sbin:$PATH

fi


यदि [ `id -u` = 0 ] && ! प्रतिध्वनि $पथ | /bin/grep -q "/usr/local/sbin" फिर

PATH=/usr/local/sbin:$PATH

fi


अगर ! प्रतिध्वनि $पथ | /bin/grep -q "/usr/X11R6/bin" ; फिर PATH='$PATH:/usr/X11R6/bin'

fi

ये पंक्तियाँ सेट करने के लिए पथ की जाँच करती हैं: यदि जड़ एक शेल खोलता है (उपयोगकर्ता आईडी 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 / बातिल यदि उपयोगकर्ता इस सेटिंग को नहीं बदलता है।


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

यहां सामान्य चरों को उनके उचित मान दिए गए हैं।


यदि [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; फिर INPUTRC=/etc/inputrc

fi

यदि [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; फिर INPUTRC=/etc/inputrc

fi

यदि चर INPUTRC सेट नहीं है, और नहीं है .inputrc उपयोगकर्ता की होम निर्देशिका में, फिर डिफ़ॉल्ट इनपुट नियंत्रण फ़ाइल लोड की जाती है।


की छवि


निर्यात पथ USER लॉगनाम मेल HOSTNAME हिस्टसाइज़ INPUTRC

सभी चर निर्यात किए जाते हैं, ताकि वे आपके पर्यावरण के बारे में जानकारी का अनुरोध करने वाले अन्य कार्यक्रमों के लिए उपलब्ध हों।


की छवि

7.2.3.2. प्रोफ़ाइल.डी निर्देशिका


मेरे लिए /etc/profile.d/*.sh ; यदि करें [ -r $i ]; तब

. $मैं

फाई डन अनसेट आई

मेरे लिए /etc/profile.d/*.sh ; यदि करें [ -r $i ]; तब

. $मैं

फाई डन अनसेट आई

से सभी पठनीय शेल स्क्रिप्ट /आदि/प्रोफाइल.डी निर्देशिका को पढ़ा और निष्पादित किया जाता है। ये सक्षम करने जैसे कार्य करते हैं रंग-एल.एस, उपनाम vi सेवा मेरे शक्ति, स्थान सेटिंग आदि। अस्थायी चर i इसे बाद में शेल व्यवहार में गड़बड़ी से रोकने के लिए तैयार नहीं किया गया है।


की छवि

7.2.3.3. .bash_profile उदाहरण


फिर खूब जोर से पीटना एक के लिए देखता है .bash_profile उपयोगकर्ता की होम निर्देशिका में:


की छवि

डेबी:~> बिल्ली .bash_profile

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

# #

# .बैश_प्रोफ़ाइल फ़ाइल #

# #

# जब आप लॉग इन करते हैं तो बैश शेल से निष्पादित होता है। #

# #

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


स्रोत ~/.bashrc स्रोत ~/.bash_login

यह बहुत सीधी-सादी फ़ाइल आपके शेल को पहले पढ़ने का निर्देश देती है ~ / .bashrc और फिर ~/.bash_login. आपका सामना होगा स्रोत शेल वातावरण में काम करते समय नियमित रूप से अंतर्निहित शेल कमांड: इसका उपयोग वर्तमान वातावरण में कॉन्फ़िगरेशन परिवर्तन लागू करने के लिए किया जाता है।


की छवि

7.2.3.4. .bash_login उदाहरण


RSI ~/.bash_login फ़ाइल सेट करके डिफ़ॉल्ट फ़ाइल सुरक्षा को परिभाषित करती है umask मान, धारा 3.4.2.2 देखें। ~ / .bashrc फ़ाइल का उपयोग उपयोगकर्ता-विशिष्ट उपनामों और फ़ंक्शंस और व्यक्तिगत पर्यावरण चर के एक समूह को परिभाषित करने के लिए किया जाता है। यह पहले पढ़ता है / आदि / bashrc, जो डिफ़ॉल्ट प्रॉम्प्ट का वर्णन करता है (PS1) और डिफ़ॉल्ट umask मान। उसके बाद, आप अपनी स्वयं की सेटिंग्स जोड़ सकते हैं। अगर कोई नहीं ~ / .bashrc मौजूद, / आदि / bashrc डिफ़ॉल्ट रूप से पढ़ा जाता है.


की छवि

7.2.3.5. /etc/bashrc उदाहरण


आपका / आदि / bashrc फ़ाइल इस तरह दिख सकती है:


डेबी:~> बिल्ली /etc/bashrc

# /etc/bashrc


# सिस्टम व्यापी फ़ंक्शंस और उपनाम

# पर्यावरण सामग्री /etc/profile में जाती है


# डिफ़ॉल्ट रूप से, हम चाहते हैं कि यह सेट हो जाए।

डेबी:~> बिल्ली /etc/bashrc

# /etc/bashrc


# सिस्टम व्यापी फ़ंक्शंस और उपनाम

# पर्यावरण सामग्री /etc/profile में जाती है


# डिफ़ॉल्ट रूप से, हम चाहते हैं कि यह सेट हो जाए।


# यहां तक ​​कि गैर-संवादात्मक, गैर-लॉगिन शेल के लिए भी।

यदि [ `id -gn` = `id -un` -a `id -u` -gt 99 ]; फिर उमास्क 002

अन्य

उमास्क 022

fi

# यहां तक ​​कि गैर-संवादात्मक, गैर-लॉगिन शेल के लिए भी।

यदि [ `id -gn` = `id -un` -a `id -u` -gt 99 ]; फिर उमास्क 002

अन्य

उमास्क 022

fi

ये पंक्तियाँ निर्धारित करती हैं umask कीमत। फिर, शेल के प्रकार के आधार पर, प्रॉम्प्ट सेट किया जाता है:


#क्या हम एक इंटरैक्टिव शेल हैं? यदि [ "$PS1" ]; तब

यदि [ -x /usr/bin/tput ]; तब

यदि [ "x`tput kbs`" != "x" ]; तब

# हम "डंब" टर्मिनल स्ट्टी इरेज `tput kbs` के साथ ऐसा नहीं कर सकते

एलिफ़ [ -x /usr/bin/wc ]; तब

अगर [ "`tput kbs|wc -c`" -gt 0 ]; तब

# हम "डंब" टर्मिनल स्ट्टी इरेज `tput kbs` के साथ ऐसा नहीं कर सकते

फाई फाई

fi

केस $TERM में

xterm*)

यदि [ -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]\\$ "


यदि [ "x$SHLVL" != "x1" ]; फिर # हम /etc/profile.d/*.sh में i के लिए लॉगिन शेल नहीं हैं; करना

अगर [ -x $i ]; तब

. $मैं

fi

किया

fi

fi

#क्या हम एक इंटरैक्टिव शेल हैं? यदि [ "$PS1" ]; तब

यदि [ -x /usr/bin/tput ]; तब

यदि [ "x`tput kbs`" != "x" ]; तब

# हम "डंब" टर्मिनल स्ट्टी इरेज `tput kbs` के साथ ऐसा नहीं कर सकते

एलिफ़ [ -x /usr/bin/wc ]; तब

अगर [ "`tput kbs|wc -c`" -gt 0 ]; तब

# हम "डंब" टर्मिनल स्ट्टी इरेज `tput kbs` के साथ ऐसा नहीं कर सकते

फाई फाई

fi

केस $TERM में

xterm*)

यदि [ -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]\\$ "


यदि [ "x$SHLVL" != "x1" ]; फिर # हम /etc/profile.d/*.sh में i के लिए लॉगिन शेल नहीं हैं; करना

अगर [ -x $i ]; तब

. $मैं

fi

किया

fi

fi


की छवि


7.2.3.6. .bash_logout उदाहरण


लॉगआउट करने पर, कमांड अंदर आती है ~/.बैश_लॉगआउट निष्पादित होते हैं, जो उदाहरण के लिए टर्मिनल को साफ़ कर सकते हैं, ताकि दूरस्थ सत्र से लॉग आउट करने पर, या सिस्टम कंसोल छोड़ने पर आपके पास एक साफ़ विंडो हो:


डेबी:~> बिल्ली .बैश_लॉगआउट

# ~/.बैश_लॉगआउट


स्पष्ट

डेबी:~> बिल्ली .बैश_लॉगआउट

# ~/.बैश_लॉगआउट


स्पष्ट

आइए अगले भाग में इस पर करीब से नज़र डालें कि ये स्क्रिप्ट कैसे काम करती हैं। रखना पता खूब जोर से पीटना हाथ के पास।


की छवि


OnWorks पर शीर्ष OS क्लाउड कंप्यूटिंग: