الفرق بين المراجعتين لصفحة: «Bash/shell initialization files»
أسامه-دمراني (نقاش | مساهمات) إضافة أولية للمحتوى دون تنسيق |
أسامه-دمراني (نقاش | مساهمات) إضافة 0.1 بدون تنسيق |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:ملفات تهيئة الصدفة}}</noinclude> | <noinclude>{{DISPLAYTITLE:ملفات تهيئة الصدفة}}</noinclude> | ||
ملفات الإعدادات على مستوى النظام System-wide Configuration files | |||
etc/profile/ | |||
تقرأ Bash التعليمات الموجودة في etc/profile/ إن استدعيْت بشكل تفاعلي عبر خيار login-- أو إن استدعيْت كـ sh ، تضبط تلك التعليمات عادة متغيرات PATH - USER - MAIL - HOSTNAME - HISTSIZE ، وهي متغيرات تابعة للصدفة. | تقرأ Bash التعليمات الموجودة في etc/profile/ إن استدعيْت بشكل تفاعلي عبر خيار login-- أو إن استدعيْت كـ sh ، تضبط تلك التعليمات عادة متغيرات PATH - USER - MAIL - HOSTNAME - HISTSIZE ، وهي متغيرات تابعة للصدفة. | ||
كذلك تُضبط قيمة unmask في etc/profile/ على بعض الأنظمة، أما في بعضها الآخر فإن هذا الملف يحتوي على موجّهات (pointers) لملفات الإعدادات الأخرى مثل: | كذلك تُضبط قيمة unmask في etc/profile/ على بعض الأنظمة، أما في بعضها الآخر فإن هذا الملف يحتوي على موجّهات (pointers) لملفات الإعدادات الأخرى مثل: | ||
# System wide environment and startup programs, for login setup | ملف etc/inputrc/ ، وهو ملف تهيئة على مستوى النظام لأمر readline، حيث يمكنك تهيئة أسلوب الجرس (bell style) لسطر الأوامر. | ||
مجلد etc/profile.d/ ، وهو يحتوي الملفات التي تضبط سلوك برامج محددة على مستوى النظام. | |||
يجب أن تكون كل الإعدادات التي تريد تطبيقها على جميع المستخدمين في النظام لديك موجودة في ذلك الملف -etc/profile/-، وقد يكون شكله مشابهًا لما يلي: | |||
<nowiki>#</nowiki> /etc/profile | |||
<nowiki>#</nowiki> System wide environment and startup programs, for login setup | |||
PATH=$PATH:/usr/X11R6/bin | PATH=$PATH:/usr/X11R6/bin | ||
# No core files by default | <nowiki>#</nowiki> No core files by default | ||
ulimit -S -c 0 > /dev/null 2>&1 | ulimit -S -c 0 > /dev/null 2>&1 | ||
USER="`id -un`" | USER="`id -un`" | ||
LOGNAME=$USER | LOGNAME=$USER | ||
MAIL="/var/spool/mail/$USER" | MAIL="/var/spool/mail/$USER" | ||
HOSTNAME=`/bin/hostname` | HOSTNAME=`/bin/hostname` | ||
HISTSIZE=1000 | HISTSIZE=1000 | ||
# Keyboard, bell, display style: the readline config file: | <nowiki>#</nowiki> Keyboard, bell, display style: the readline config file: | ||
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then | if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then | ||
INPUTRC=/etc/inputrc | |||
fi | fi | ||
سطر 35: | سطر 46: | ||
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC PS1 | export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC PS1 | ||
# Source initialization files for specific programs (ls, vim, less, ...) | <nowiki>#</nowiki> Source initialization files for specific programs (ls, vim, less, ...) | ||
for i in /etc/profile.d/*.sh ; do | for i in /etc/profile.d/*.sh ; do | ||
if [ -r "$i" ]; then | |||
. $i | |||
fi | |||
done | done | ||
# Settings for program initialization | <nowiki>#</nowiki> Settings for program initialization | ||
source /etc/java.conf | source /etc/java.conf | ||
export NPX_PLUGIN_PATH="$JRE_HOME/plugin/ns4plugin/:/usr/lib/netscape/plugins" | export NPX_PLUGIN_PATH="$JRE_HOME/plugin/ns4plugin/:/usr/lib/netscape/plugins" | ||
سطر 49: | سطر 67: | ||
unset i | unset i | ||
ويضبط ملف التهيئة ذاك بعض متغيرات الصدفة الأساسية إضافة إلى بعض المتغيرات التي يطلبها أي مستخدم يشغّل جافا أو أي تطبيقات جافا في متصفحه. انظر المتغيرات في Bash. | |||
يحتوي مصدر Bash على نماذج لملفات profile من أجل الاستخدام العام أو الفردي، وتمر تلك الملفات -والملف في المثال بالأعلى- على عدة تغييرات قبل استخدامها في بيئتك. | |||
etc/bashrc/ | |||
ربما يكون من الأفضل أن تضع الملفات الخاصة بتهيئة Bash في هذا الملف إن كنت تعمل على أنظمة بها أنواعًا مختلفة من الصدفات، ذلك أن الصدفات الأخرى -صدفة بورن مثلًا- تقرأ ملف etc/profile/. | |||
ويمكن تلافي حدوث الأخطاء التي تولّدها الصدفات التي لا تفهم البنية اللغوية (syntax) لصدفة bash بفصل ملفات الإعدادات (configuration files) للأنواع المختلفة من الصدفات، ويشير ملف bashrc./~ الخاص بالمستخدم في تلك الحالات إلى etc/bashrc/ من أجل تضمينه في عملية تهيئة الصدفة عند تسجيل الدخول. | |||
قد تجد أن ملف etc/profile/ الموجود في نظامك لا يحتوي إلا على إعدادات بيئة الصدفة وإعدادات بدء تشغيل البرنامج، بينما يحتوي etc/bashrc/ على تعريفات على مستوى النظام (system-wide definitions) لدوال الصدفة وأوامرها البديلة. أيضًا قد يشار إلى ملف etc/bashrc/ داخل ملف etc/profile/ أو في ملفات تهيئة الصدفة الخاصة بالمستخدم. | |||
يحتوي المصدر على نماذج لملفات bashrc، كما ستجد نسخة منه في usr/share/doc/bash-2.05b/startup-files/ . إليك جزءًا مما يكون في ملف bashrc الذي يأتي مع توثيق Bash: | |||
alias ll='ls -l' | |||
alias dir='ls -ba' | |||
alias c='clear' | |||
alias ls='ls --color' | |||
alias mroe='more' | |||
alias pdw='pwd' | |||
alias sl='ls --color' | |||
pskill() | |||
{ | |||
local pid | |||
pid=$(ps -ax | grep $1 | grep -v grep | gawk '{ print $1 }') | |||
echo -n "killing $1 (process $pid)..." | |||
kill -9 $pid | |||
echo "slaughtered." | |||
} |
مراجعة 15:23، 3 أغسطس 2018
ملفات الإعدادات على مستوى النظام System-wide Configuration files
etc/profile/
تقرأ Bash التعليمات الموجودة في etc/profile/ إن استدعيْت بشكل تفاعلي عبر خيار login-- أو إن استدعيْت كـ sh ، تضبط تلك التعليمات عادة متغيرات PATH - USER - MAIL - HOSTNAME - HISTSIZE ، وهي متغيرات تابعة للصدفة.
كذلك تُضبط قيمة unmask في etc/profile/ على بعض الأنظمة، أما في بعضها الآخر فإن هذا الملف يحتوي على موجّهات (pointers) لملفات الإعدادات الأخرى مثل:
ملف etc/inputrc/ ، وهو ملف تهيئة على مستوى النظام لأمر readline، حيث يمكنك تهيئة أسلوب الجرس (bell style) لسطر الأوامر.
مجلد etc/profile.d/ ، وهو يحتوي الملفات التي تضبط سلوك برامج محددة على مستوى النظام.
يجب أن تكون كل الإعدادات التي تريد تطبيقها على جميع المستخدمين في النظام لديك موجودة في ذلك الملف -etc/profile/-، وقد يكون شكله مشابهًا لما يلي:
# /etc/profile
# System wide environment and startup programs, for login setup
PATH=$PATH:/usr/X11R6/bin
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
# Keyboard, bell, display style: the readline config file:
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
PS1="\u@\h \W"
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC PS1
# Source initialization files for specific programs (ls, vim, less, ...)
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done
# Settings for program initialization
source /etc/java.conf
export NPX_PLUGIN_PATH="$JRE_HOME/plugin/ns4plugin/:/usr/lib/netscape/plugins"
PAGER="/usr/bin/less"
unset i
ويضبط ملف التهيئة ذاك بعض متغيرات الصدفة الأساسية إضافة إلى بعض المتغيرات التي يطلبها أي مستخدم يشغّل جافا أو أي تطبيقات جافا في متصفحه. انظر المتغيرات في Bash.
يحتوي مصدر Bash على نماذج لملفات profile من أجل الاستخدام العام أو الفردي، وتمر تلك الملفات -والملف في المثال بالأعلى- على عدة تغييرات قبل استخدامها في بيئتك.
etc/bashrc/
ربما يكون من الأفضل أن تضع الملفات الخاصة بتهيئة Bash في هذا الملف إن كنت تعمل على أنظمة بها أنواعًا مختلفة من الصدفات، ذلك أن الصدفات الأخرى -صدفة بورن مثلًا- تقرأ ملف etc/profile/.
ويمكن تلافي حدوث الأخطاء التي تولّدها الصدفات التي لا تفهم البنية اللغوية (syntax) لصدفة bash بفصل ملفات الإعدادات (configuration files) للأنواع المختلفة من الصدفات، ويشير ملف bashrc./~ الخاص بالمستخدم في تلك الحالات إلى etc/bashrc/ من أجل تضمينه في عملية تهيئة الصدفة عند تسجيل الدخول.
قد تجد أن ملف etc/profile/ الموجود في نظامك لا يحتوي إلا على إعدادات بيئة الصدفة وإعدادات بدء تشغيل البرنامج، بينما يحتوي etc/bashrc/ على تعريفات على مستوى النظام (system-wide definitions) لدوال الصدفة وأوامرها البديلة. أيضًا قد يشار إلى ملف etc/bashrc/ داخل ملف etc/profile/ أو في ملفات تهيئة الصدفة الخاصة بالمستخدم.
يحتوي المصدر على نماذج لملفات bashrc، كما ستجد نسخة منه في usr/share/doc/bash-2.05b/startup-files/ . إليك جزءًا مما يكون في ملف bashrc الذي يأتي مع توثيق Bash:
alias ll='ls -l'
alias dir='ls -ba'
alias c='clear'
alias ls='ls --color'
alias mroe='more'
alias pdw='pwd'
alias sl='ls --color'
pskill()
{
local pid
pid=$(ps -ax | grep $1 | grep -v grep | gawk '{ print $1 }')
echo -n "killing $1 (process $pid)..."
kill -9 $pid
echo "slaughtered."
}