موقعی که اسکریپت در یک زیرپوسته اجرا میشود ، شما باید شل اجرا کننده اسکریپت را تعیین کنید. ممکن است اسکریپت را در یک شل که پیش فرض سیستم شما نیست نوشته اید، بنابراین دستوراتی که شما وارد کردهاید، موقعی که در شل اشتباه اجرا گردند، ممکن است منجر به خطا گردند.
اولین سطر اسکریپت نوع شل اجرا کننده را تعیین میکند. دو کاراکتر اول این سطر باید #! ،باشد، سپس مسیر پوستهای که باید دستورات بعدی را تفسیر کند، میآید. سطرهای خالی نیز سطر محسوب میشوند، بنابراین اسکریپت نباید بایک سطر خالی شروع گردد.
در طول این دوره، تمام اسکریپتها با این سطر شروع خواهند شد
#!/bin/bash
همان طور که قبلاً اشاره شد، این سطر، اشاره به آن میکند که Bash قابل اجرا، میتواند در /bin
یافت شود.
باید بر این واقعیت واقف باشید که، ممکن است شما تنها فردی که کدهایتان را میخواند، نباشید. تعداد زیادی از کاربران و مدیران سیستم اسکریپهایی را اجرا میکنند که توسط دیگران نوشته شدهاند. اگر آنها بخواهند از چگونگی کار شما آگاه گردند، توضیحات برای روشن کردن خوانندهها سودمند است .
توضیحات همچنین امور خودتان را آسانتر میکند . در نظر بگیرید که شما مقدار زیادی از صفحههای مستندات را برای رسیدن به نتیجه خاصی از یک فرمان، که میخواهید در اسکریپت خود استفاده کنید، خواندهاید. اگر بعد از چند ماه یا هفته نیاز به تغییر اسکریپت داشته باشید، بدون توضیح آن که چه کردهاید، چگونه و یا چرا چنین کردهاید، به خاطرنمیآورید که چطور کار میکند.
از مثال script1.sh
یک کپی به نام commented-script1.sh
بگیرید وآن را به صورت زیر، که ما طوری ویرایش نمودهایم، که در آن، توضیحات، عملکرد اسکریپت را منعکس میکنند، اصلاح نمایید.شل از هر چه پس از علامت # در یک سطر باشد صرف نظر میکند و فقط موقع باز کردن فایل اسکریپت شل قابل رؤیت میباشد :
#!/bin/bash # This script clears the terminal, displays a greeting and gives information # about currently connected users. The two example variables are set and displayed. clear # clear terminal window echo "The script starts now." echo "Hi, $USER!" # dollar sign is used to get content of variable echo echo "I will now fetch you a list of connected users:" echo w # show who is logged on and echo # what they are doing echo "I'm setting two variables now." COLOUR="black" # set a local shell variable VALUE="9" # set a local shell variable echo "This is a string: $COLOUR" # display content of variable echo "And this is a number: $VALUE" # display content of variable echo echo "I'm giving you back your prompt now." echo
در یک اسکریپت آراسته، سطرهای اول به طور معمول توضیح میدهند، از اسکریپت چه انتظار داریم. سپس در صورت لزوم، هر قطعه بزرگ از دستورات برای وضوح هدف آن بخش، توضیح داده میشود. اسکریپتهای init لینوکس در دایرکتوری init.d
سیتم شما، به عنوان یک نمونه، معمولاً خوب توضیح داده شدهاند، چون باید قابل خواندن و ویرایش نمودن توسط کسی که لینوکس را راهاندازی میکند، باشند.