الفرق بين المراجعتين لصفحة: «Bash/shell initialization files»

من موسوعة حسوب
إضافة أولية للمحتوى دون تنسيق
إضافة 0.1 بدون تنسيق
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:ملفات تهيئة الصدفة}}</noinclude>
<noinclude>{{DISPLAYTITLE:ملفات تهيئة الصدفة}}</noinclude>
ملفات الإعدادات على مستوى النظام System-wide Configuration files


== ملفات الإعدادات على مستوى النظام System-wide Configuration files ==
etc/profile/


=== 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) لملفات الإعدادات الأخرى مثل:
* ملف etc/inputrc/ ، وهو ملف تهيئة على مستوى النظام لأمر readline، حيث يمكنك تهيئة أسلوب الجرس (bell style) لسطر الأوامر.
* مجلد etc/profile.d/ ، وهو يحتوي الملفات التي تضبط سلوك برامج محددة على مستوى النظام.
يجب أن تكون كل الإعدادات التي تريد تطبيقها على جميع المستخدمين في النظام لديك موجودة في ذلك الملف -etc/profile/-، وقد يكون شكله مشابهًا لما يلي:<syntaxhighlight lang="bash">
# /etc/profile


# 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
 
    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
    if [ -r "$i" ]; then
    fi
 
        . $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
</syntaxhighlight>ويضبط ملف التهيئة ذاك بعض متغيرات الصدفة الأساسية إضافة إلى بعض المتغيرات التي يطلبها أي مستخدم يشغّل جافا أو أي تطبيقات جافا في متصفحه. انظر [[Bash/variables|المتغيرات في Bash]].


<span> </span>
ويضبط ملف التهيئة ذاك بعض متغيرات الصدفة الأساسية إضافة إلى بعض المتغيرات التي يطلبها أي مستخدم يشغّل جافا أو أي تطبيقات جافا في متصفحه. انظر المتغيرات في 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."

}