یک مفهوم بسیار مهم در یونیکس بحث environment یا محیط می باشد که بواسطه آن متغیرهای محیطی تعریف میشوند. بعضی از آنها توسط سیستم و بعضی از آنها توسط شما ایجاد میشوند.
یک متغیر کاراکتری از نوع رشته می باشد که ما به آن مداری را تخصیص میدهیم. این نقدار میتواند عدد یا متن یا نام فایل یا هر دیوایسی یا نوع داده های دیگری باشید. برای مثال ما متغیر TEST را به صورت زیر تعریف میکنیم:
$ TEST="Unix Programming"
$ echo $TEST
Unix Programming
بخاطر داشته باشید که متغیر ها هنگام تعریف از $ استفاده نمیکنند اما هنگام فراخوانی باید برای آنها از $ استفاده کرد. همچنین بهتر از نام متغیرها با حروف بزرگ باشد.
وقتی شما به سیستم لاگین میکنید شل برای شما محیطهای مختلفی را فراهم میکند. برای این کار شل فایلهای زیر را میخواند:
* etc/profile/
* profile
این پروسه مراحل زیر را دنبال میکند:
۱) شل ابتدا بررسی میکند که آیا فایل etc/profile/ وجود دارد یا خیر.
۲) اگر آن فایل وجود داشت شل آن را میخواند. در صورتی که این فایل وجود نداشت شل خطایی را چاپ نمیکند.
۳) در این مرحله شل چک میکند که آیا فایل profile. در دایرکتوری home وجود دارد یا خیر. دایرکتوری home دایرکتوری می باشد که به محض باز شدن ترمینال شما کار را از آنجا آغاز خواهید کرد.
۴) اگر این فایل وجود داشت شل آن را میخواند و در غیر این صورت شل آن را نادیده گرفته و خطایی چاپ نمیکند.
به محض اینکه این دو فایل خوانده شد شل برای شما محیط prompt را نمایش میدهد:
$
اینجا محیطی ست که شما بعد از اندکی کار با اون حتما حس خیلی خوبی از آزادی کار با کامپیوتر خواهید داشت و میتوانید تمامی دستورات خود را آنجا به اجرا در بیاورید.
نکته قابل توجه اینکه شما در این محیط میتوانید انواع شل ها را اعم از bash و ksh و... به اجرا در بیاورید.
فایل profile.
فایل etc/profile/ در یونیکس توسط ادمین نگه داری میشود.
اما فایل profile. کاملا تحت کنترل شماست و شما میتوانید تنظیمات شخصی خود را روی آن انجام دهید. حداقل تنظیماتی که شما میتوانید روی آن انجام دهید به صورت زیر می باشد:
۱) نوع ترمینالی که از آن استفاده میکنید.
۲) لیست دایرکتوری ها در جایی که دستورات وجود دارند.
۳) لیست متغیرهایی که شما میبینید یا حس میکنید که روی ترمینال شما اثر میگذارند.
شما میتوانید فایل profile. را در دایرکتوری خانه خود از طریق دستور vim باز کنید و محتویات آن متغیرهایی که وجود دارند را ببینید.