فهرست مطالب
چکیده
در این بخش معارفه، ما :
برخی شلهای رایج را توصیف میکنیم
ویژگیها و مزایای Bash گنو را نمایان میکنیم
بلوکبندی نمودن شل را شرح میدهیم
فایلهای ارزشگذاری اولیه شل را معرفی میکنیم
میبینیم چگونه شل فرمانها را اجرا میکند
به چند نمونه اسکریپت ساده نگاه میکنیم
شل یونیکس، فرمانهای کاربر را تفسیر میکند، دستورها، یابه طور مستقیم توسط کاربر وارد میشوند، یا آن که میتوانند از یک فایل که اسکریپت شل، یا برنامه شل، نام دارد، خوانده شوند. اسکریپهای شل تفسیر میشوند، ترجمه نمیگردند. شل فرمانها را از اسکریپت سطر به سطر میخواند و سیستم را برای یافتن آنها جستجو مینماید (بخش "مزایای پوسته Bourne Again SHell" را ببینید)، در حالیکه مترجم یک برنامه را به شکلی قابل فهم برای ماشین، و یک فایل اجرایی - که ممکن است بعد در یک اسکریپت استفاده شود - تبدیل میکند.
غیر از ارسال دستورها به کرنل، وظیفه اصلی یک شل، فراهم نمودن یک محیط کاربری است، که بتواند با استفاده از فایلهای منبع پیکربندی شل، به طور جداگانه پیکربندیشود.
همانطور که مردم زبانهای مختلفی برای گفتگو دارند، سیستم یونیکس شما هم معمولاً انواع متنوعی از شلها را ارائه میکند:
sh یا شل بورن: پوسته اصیلی که هنوز هم درسیستمهای یونیکس ودر محیطهای وابسته یونیکس استفاده میگردد. این یک شل ابتدایی است، یک برنامه کوچک با چند ویژگی. درحالیکه یک شل استاندارد نیست، هنوز هم برای سازگاری با برنامههای یونیکس، در هر سیستم لینوکس در دسترس میباشد .
bash یا Bourne Again SHell : شل استاندارد گنو، بصیر و قابل انعطاف است. شاید قابل توصیهترین برای کاربران مبتدی و درعین حال ابزاری قدرتمند برای کاربران پیشرفته و حرفهای. در لینوکس، bash شل استاندارد برای عموم کاربران است. این شل یک فوق مجموعه شل بورن نامیده شده است، یک مجموعه از افزودنی و پلاگین، این به آن معنا میباشد که Bourn Again shell سازگار با پوسته بورن میباشد: فرمانهایی که در sh کار میکنند، در bash نیز کار میکنند. حال آن که، عکس آن همیشه صدق نمیکند. تمام مثالها و تمرینهای این کتاب در bash کار میکنند.
csh یا سی شل(C): دستور زبان این شل به زبان برنامه نویسی C شباهت دارد. گاهی مطلوب برنامهنویسان.
tcsh یا TENEX C shell: یک فوق مجموعه از C شل معمولی، با افزایش سرعت و سهولت کار، به همین دلیل برخی آن را Turbo C shell نامیدهاند.
ksh یا Korn shell:گاهی تحسین شده توسط افرادی با پیشینه یونیکس. یک فوق مجموعه شل بورن، بایک پیکربندی استاندارد ناراحت کنندهٔ کاربران مبتدی.
فایل /etc/shells
محتوی پوستههای موجود در یک سیستم لینوکس است :
mia:~>
cat/etc/shells
/bin/bash /bin/sh /bin/tcsh /bin/csh
شل پیشفرض شما در فایل /etc/passwd
، تنظیم گردیده ، مانند این سطر برای کاربر mia:
mia:L2NOfqdlPrHwE:504:504:Mia Maya:/home/mia:/bin/bash
برای تغییر وضعیت از یک پوسته به دیگری، فقط نام شل جدید را در یک ترمینال فعال وارد کنید. سیستم با استفاده از تنظیمات PATH
دایرکتوری راکه فایلی به این نام در آن قراردارد، یافته، و چون شل یک فایل اجرایی (برنامه) است، شل فعلی آن را فعال میکند و شل جدید اجرا میشود. به طور معمول یک اعلان جدید نشان خواهد داد، زیرا هر شل ظاهر نوعی خود را دارد:
mia:~>
tcsh
[mia@post21 ~]$