shell script نویسی در لینوکس

مقدمه ای بر چگونه نوشتن یک shell script  در لینوکس

shell script   چیست ؟

shell script یک برنامه است که توسط هسته سیستم عامل Linux قابل فهم و ترجمه بوده و میتوان بوسیله آن از تکرار یکسری از وظایف و کارها جلوگیری کرده و آنها را بصورت خودکار در سیستم اجرا نمود که این امر باعث میشود که در زمان اجرای کارها صرفه جویی گردد .

در واقع با استفاده از shell script نویسی مجموعه ای دستورات را بصورت یکجا به اجرا در می آوریم .

برای نوشتن shell script لازم است یکسری قواعد را بیاموزیم

این قواعد شامل :

مفهوم متغیر یا variable که مانند تمام زبانهای برنامه نویسی برای ذخیره یک مقدار خاص بکار میرود مثلا این مقدار میتواند عدد یا یک رشته حرفی باشد

مثلا “STR=”hello world

یعنی متغیری بنام STR داریم که مقدار رشته حرفی عبارت “Hello world” را در خود ذخیره کرده است .

یا مثلا i=1 یعنی متغیری بنام i داریم که مقدار 1 را در خود ذخیره کرده است

برای چاپ محتوای یک متغیر از دستور echo $STR یا echo $i استفاده می کنیم

خط شروع هر shell script با علاممت bin/bash/# شروع میشود . این خط به هسته سیستم عامل اعلام میکند که من یک اسکریپت هستم و میخواهم از ترجمه گر bash برای ترجمه دستوراتم استفاده کنم

ممکن است بر حسب نیاز از مترجم های دیگری مانند /bin/sh, /bin/csh, /bin/tcsh, /bin/ksh‌و یا موارد دیگر استفاده نماییم

باقی خطوطی که با علامت # شروع شوند بعنوان دستور در اسکریپت بکار نرفته بلکه بعنوان comment یا نوشتن گزاره ای از اینکه مثلا این اسکریپت چه کاری قرار است انجام دهد می باشد .

Read -p این دستور در هنگام نیاز به خواستن جواب یک عبارت از محل خروجی بکار میرود .

یعنی چی

مثلا فرض کنید میخواهم نام را از ورودی بگیرم و با عبارتی با Please Enter your name را روی صفحه نمایش میدهم و منتظر ورود نام هستم در این صورت با استفاده از دستور

$read -p “Please enter your name:” NAME

منتظر ورود نام میشوم یعنی فقط یک خط فرمان کافی است تا عبارت را روی صفحه ظاهر کرده و منتظر گرفتن نام از ورودی شود

حالا زمانیکه من مثلا نام Sophia را وارد کنم این مقدار در متغیر NAME ذخیره میگردد که با استفاده از این متغیر میتوانیم در برنامه خود به منظورهای مختلفی استفاده کنیم

در واقع با اجرای فرمان بالا خط زیر روی صفحه نمایش داده میشود

Please enter your name :

با توجه به مفاهیمی که ذکر شد میخواهیم یک اسکریپت ساده بنویسیم

میخواهیم برنامه ای بنویسیم که عبارت “Hello World” را روی صفحه نمایش داده و از کاربر نام او را درخواست کرده و سپس پیامی مبنی بر سلام به نام کاربر روی صفحه نمایش دهد

برای این کار موارد زیر را به ترتیب انجام میدهیم

۱ابتدا یک فایل متنی را باز میکنیم میتوانیم با استفاده از یک ویرایشگر مانند vi , nano,gedit و یا هر مدل دیگری که راحتتر هستید این کار را انجام دهید

۲سپس در خط اول عبارت #/bin/bash را مینویسیم

۳مقدار متغیر STR=”Hello World” را در خط دیگر مینویسیم

۴در خط بعدی فرمانی را با دستور read -p میدهیم و در آن عبارتی که به کاربر بگوید که نام خود را وارد کن و بعد کلید Enter ر ا بزن را مینویسیم

۵فایل را ذخیره کرده و با اجرای دستور chmod +x fileneme کاری میکنیم که این فایل برای اجرا آماده شود .

۶در روی prompt system نام فایل را بضورت زیر اجرا میکنیم ./filename

نکته

معمولا در نامگذاری فایلهایی که برای اجرا و بصورت shell script نوشته شده اند قاعده مشخصی وجود ندارد اما معمولا نام فایل با کاری که قرار است انجام شود همخوانی دارد و همچنین پسوند فایل را معمولا با .sh نام گذاری مکینند که کاربر به محض دیدن نام فایل متوجه شود این فایل از نوع اسکریپت می باشد . بنابراین من نام فایل اسکریپت خود را user.sh میگذارم و با ادیتور vi آنرا باز کرده و شروع به نوشتن متن زیر میکنم

vi user.s

bin/bash/#

“STR=”Hello World

read -p “Please Enter your name: then hit [Enter]” NAME

“!{echo “Hello ${NAME

Chmod +x user.sh

user.sh/.

2 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *