راهنمای آموزشی اسکریپت نویسی - مقدماتی

لطفا برای بهتر دیدن صفحه از firefox استفاده کنید
Bash Guide for Beginners Machtelt Garrels

راهنمای Bash برای نوآموزان

سازمان‌دهی مطالب کتاب »
  « برتری‌های Bourne Again SHell

فصل 1. Bash و اسکریپت‌های Bas

فهرست مطالب

پوسته‌های رایج
وظایف عمومی پوسته
انواع پوسته‌ها
برتری‌های Bourne Again SHell
Bash پوسته گنو است
ویژگی های منحصر به فرد Bash
اجرای دستورات
کلیات
دستورات داخلی شل
اجرای دستورات ازداخل اسکریپت
ساخت بلوک
بلوک سازی شل
ایجاد اسکریپت های خوب
مشخصات اسکریپت‌های خوب
ساختار
واژگان فنی
سخنی در باره نظم و منطق
یک مثال اسکریپت Bash ‏ : mysystem.sh‏
نمونه اسکریپت init
خلاصه
تمرین ها

چکیده

در این بخش معارفه، ما :

  • برخی شل‌های رایج را توصیف می‌کنیم

  • ویژگی‌ها و مزایای 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 ~]$
سازمان‌دهی مطالب کتاب »
  « برتری‌های Bourne Again SHell
ترجمه محمود پهلوانی