در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش لینوکس : مدیریت سیستم : قسمت 4: Shell سفارشی: Login Scripts

سلام و وقت بخیر. همانطور که کمی در قسمت قبل اشاره کردیم، برای اینکه Alias ها از بین نروند باید آنها را در bashrc. ذخیره کرد. در کل 2 فایل وجود دارد که این اطلاعات environment (منظور محیطی که توش هستیم) را نگه میدارد. اصطلاحا به این 2 فایل "Login Scripts" گفته میشود. با یکی از آنها آشنا شدیم که bashrc. نام دارد. دیگری bash_profile. نام دارد که این فایل هم در hone directory هر کاربر قرار دارد. حال هر کدام چه نقشی بازی میکنند؟
bash_profile. ===>> این فایل فقط یک بار آن هم در هنگام log in خوانده میشود. میتواند به PATH هر کاربر Append شود.
bashrc. ===>> هر بار که یک bash جدید باز میکنیم، خوانده میشود. برای تعریف متغیر ها و یا شخصی سازی prompt میتوان از آن استفاده کرد.

به دستورات زیر دقت کنید.

[root@CentOS6 mohammad]# pwd
/home/mohammad
[root@CentOS6 mohammad]# ls -a .bash*
.bash_history  .bash_logout  .bash_profile  .bashrc
[root@CentOS6 mohammad]# 

فایل bash_history. دستوراتی که این کاربر زده را نگه میدارد.
فایل bash_logout. اسکریپت های log out را نگه میدارد. مثلا اگر بخواهیم هنگام خروج یک کاربر دستوراتی اجرا شود در این فایل میگذاریم. مثلا اگر بخواهیم هنگامی که کاربر خارج میشود تاریخچه دستوراتی که وارد کرده پاک شود، دستورات لازم را اینجا میگذاریم.
فایل bash_profile. یک بار آن هم هنگام log in خوانده میشود.
فایل bashrc. میتواند بارها بعد از log in خوانده شود. بیشتر تنظیمات سفارشی کردن shell در این فایل انجام میشود.

بیایید نگاهی به محتویات bash_profile. بیندازیم.

[mohammad@CentOS6 ~]$ echo $HOME
/home/mohammad
[mohammad@CentOS6 ~]$ pwd
/home/mohammad
[mohammad@CentOS6 ~]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
[mohammad@CentOS6 ~]$ 
[mohammad@CentOS6 ~]$ 

دلیل اینکه این فایل یک بار خوانده میشود این است که وقتی کاربر وارد شد، برای او یک متغیر PATH تنظیم میشود. یک الگوی ثابت برای PATH وجود دارد و برای هر کاربر از این الگوی ثابت به اضافه مسیر bin که در home directory کاربر وجود دارد استفاده میشود. دقت کنید که متغیر PATH برابر مقدار پیش فرض خود به اضافه HOMEbin$ شده. منطقش اینه که PATH برابر خودش ( PATH=$PATH ) ، به اضافه HOME/bin$ که مقدار HOME$ را میبینید. از : برای جدا کردن مقادیر PATH استفاده میشود. شاید ندانید PATH چیست. در واقع PATH آدرس تمام دستوراتی است که یک کاربر میتواند اجرا کند، شامل کتابخانه ها و ... .

[mohammad@CentOS6 ~]$ 
[mohammad@CentOS6 ~]$ echo  $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/mohammad/bin
[mohammad@CentOS6 ~]$ 
[mohammad@CentOS6 ~]$ 

به قسمت آخر PATH دقت کنید. اوت تیکه رو فایل bash-profile. درست کرده. این تعریف PATH فقط یکبار اتفاق میفته برای همین توی bash-profile. نوشته شده. اگه دوباره bash-profile. اجرا بشه، الکی طول این PATH زیاد میشه. ( شاید مشکلات دیگه ای هم باشه که من نمیدونم ). در قسمت بالای bash-profile. هم چک میکند که اگر bashrc. وجود دارد آنرا اجرا کند. برای همین بیشتر تنظیمات shell را در bashrc. میگذاریم.

حال یه نگاهی هم به bashrc. بیندازیم.

[mohammad@CentOS6 ~]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# User specific aliases and functions
[mohammad@CentOS6 ~]$ 
[mohammad@CentOS6 ~]$ 

در قسمت بالای فایل ابتدا چک میکند که آیا فایل bashrc. سراسری وجود دارد یا نه، اگر باشد آنرا میخواند. bashrc. سراسری برای تنظیمات shell همه کاربران است. برای همین در مسیر etc قرار دارد. مثلا اگر بخواهیم یک alias برای همه کاربران تعریف شود، آنرا در bashrc. سراسری واقع در پوشه etc تعریف میکنیم. یا مثلا اگر خواستیم که هیچ کاربری نتواند هیچ فایلی را overwrite کند دستورش را در bashrc. سراسری وارد میکنیم.
حال اگر خواستیم فایل bashrc. دوباره خوانده شود، مثلا تغییراتی در آن داده ایم، از یکی از 2 دستور زیر استفاده کنید. ممکن است هشداری مبنی بر تنظیمات جدید در سیستم دهد.

[mohammad@CentOS6 ~]$ . .bashrc
[mohammad@CentOS6 ~]$ source .bashrc

مثلا :

[mohammad@CentOS6 ~]$ echo "set -o noclobber" >> .bashrc
[mohammad@CentOS6 ~]$ source .bashrc
[mohammad@CentOS6 ~]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# User specific aliases and functions

set -o noclobber
[mohammad@CentOS6 ~]$ ls > file1
[mohammad@CentOS6 ~]$ ls > file1
-bash: file1: cannot overwrite existing file
[mohammad@CentOS6 ~]$ 

بسیار خوب... این بخش اینجا تموم میشه... الان که نگاه میکنم میبینم همچین خیلی هم مطالب مقدماتی نیست، ببخشید به هر حال اگه سخت شد. امیدوارم مفید باشه.
پایان قسمت چهارم ( قسمت آخر ) از بخش اول

نویسنده : سید محمد باقر موسوی
منبع : جزیره لینوکس و سیستم های متن باز وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
#دوره_آموزشی_linux_فارسی #نوشتن_shell_script_در_لینوکس #آموزش_لینوکس_فارسی #آموزش_linux_مقدماتی #آموزش_shell_scripting #آموزش_دستورات_مقدماتی_لینوکس #آموزش_shell_scripting_در_لینوکس #دوره_آموزشی_shell_scripting_در_لینوکس #نوشتن_یک_shell_script_ساده
عنوان
1 آموزش لینوکس : مدیریت سیستم : قسمت 1 : Shell سفارشی : متغیرها رایگان
2 آموزش لینوکس : مدیریت سیستم قسمت 2 : Shell سفارشی : تنظیمات Shell رایگان
3 آموزش لینوکس : مدیریت سیستم : قسمت 3 : Shell سفارشی : Aliases رایگان
4 آموزش لینوکس : مدیریت سیستم : قسمت 4: Shell سفارشی: Login Scripts رایگان
5 آموزش لینوکس : مدیریت سیستم : قسمت 5 : ایجاد اسکریپت رایگان
6 آموزش لینوکس : مدیریت سیستم : قسمت 5 : Read User Input رایگان
7 آموزش لینوکس : مدیریت سیستم : قسمت 6 : IF Statement رایگان
8 آموزش لینوکس : مدیریت سیستم : قسمت 7 : Case Statement رایگان
9 آموزش لینوکس : مدیریت سیستم : قسمت 8 : Loops رایگان
10 آموزش لینوکس : مدیریت سیستم : قسمت 9 : Managing Users رایگان
11 آموزش لینوکس : مدیریت سیستم : قسمت 10 : Managing Groups رایگان
12 آموزش لینوکس : مدیریت سیستم : قسمت 11 : ارتباط با اکتیودایرکتوری رایگان
13 آموزش لینوکس : مدیریت سیستم : قسمت 12 : OpenLDAP رایگان
14 آموزش لینوکس : مدیریت سیستم : قسمت 13 : Cron AnaCron و Batch رایگان
15 آموزش لینوکس : مدیریت سیستم : قسمت 14 : آشنایی با IPTables رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....