الفرق بين المراجعتين ل"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."

}