1. مقدمه
هدف از نوشتن این راهنما
این راهنمای آموزشی برای کمک به افراد جهت درک برخی بنیادهای اسکریپتنویسی شل، نوشته شده است، و امیدوار است بعضی از امکانات برنامهنویسی ساده اما قدرتمند، موجود در شل bourne، را معرفی نماید است . این راهنما، خود به صورت پایههایی برای آموزشها و تمرینهای یک به یک یا گروهی مبانی این برنامهنویسی و نیز به عنوان مرجعی برای استفاده بعدی، نوشته شده است .
دریافت جدیدترین نگارش این راهنما
جدیدترین نگارش این راهنمای آموزشی از آدرس http://steve-parker.org/sh/sh.shtml قابل دسترسی میباشد. همیشه برای آخرین نسخه آنجا را بررسی کنیدتاریخچه خلاصهای از sh
Steve Bourne پوستهای نوشت که در هفتمین نسخه یونیکس آزمایشگاههای تحقیقاتی Bell ظاهر شد، .
پوستههای بسیار دیگری نیز نوشته شده است، اما این آموزش روی شلهای Bourne و Bourne Again shell متمرکز است .
شلهای دیگر از جمله ، شل کورن (ksh)، و سیشل (csh)، و انواعی ازقبیل tcsh میباشند.
این راهنمای آموزشی آن شلها را پوشش نمیدهد . ممکن است نگارش بعدی ksh را شامل شود، لیکن قصد نوشتن آموزش برای csh
همچون csh programming is considered harmful را ندارم .
خوانندگان
این راهنما برخی تجربیات قبلی از جمله موارد ذیل را مفروض میداند:
- استفاده از شل محاورهای یونیکس
- حداقل دانش برنامهنویسی - استفاده از متغیرها، توابع - دانش پشتوانهای سودمندی خواهند بود
- ادراک چگونگی ساختار دستورات یونیکس و توانایی استفاده از برخی دستورات رایجتر آن .
- برنامه نویسان پرل، پایتون، c، پاسکال، یا هر زبان برنامهنویسی دیگر ( حتی BASIC )، کسانی که میتوانند اسکریپتهای شل را بخوانند، اما احتمالاً احساس میکنند، به طور دقیق چگونگی کار آنها را درک نمیکنند .
قراردادهای نگارشی مورد استفاده در این راهنما
کلمات با اهمیت وقتی برای اولین مرتبه ذکر میگردند به صورت مایل نوشته میشوند .
کدهای مهم و خروجی اسکریپتها به صورت متنهای آرایش نشده نمایش داده میشوند ( مترجم: و در پسزمینهای با رنگ متفاوت ).
قبل از ورودیهای خط فرمان یک علامت ($)، قرار میگیرد .اگر اعلان فرمان شما متفاوت است، دستور زیر را اجرا کنید :
PS1="$ " ; export PS1
پس ازآن، محاوره شما با سیستم باید همانند مثالهای موجود در راهنما( مانند نمونه $ ./my-script.sh که در پایین آمده ) باشد .
خروجی اسکریپت ( مانند نمونه "Hello World" در پایین )در ابتدای سطر نمایش داده میشوند .
$ echo '#!/bin/sh' > my-script.sh $ echo 'echo Hello World' >> my-script.sh $ chmod 755 my-script.sh $ ./my-script.sh Hello World $کل اسکریپت نیز با دو خط افقی ضخیم احاطه گردیده و ارجاعی به محل وجود فایل متنی ساده اسکریپت هم بعد از خط اول قرار دادهام :
first.sh
#!/bin/sh # This is a comment! echo Hello World # This is a comment, too!
توجه داشته باشید که برای اجرایی کردن یک فایل باید بیت قابلیت اجرا را تنظیم کنید و برای یک اسکریپت شل، بیت خواندن را هم باید تنظیم نمایید:
$ chmod a+rx first.sh