شل چیست..؟
بیشتر ما این حقیقت میدانیم که کامپیوترها زبان دودویی ۰ و ۱ را متوجه میشوند.هر وقتی که ما یک دستور را در یگ قالب متن وارد میکنیم ،آن به زبان قابل فهم برای کامپیوتر ترجمه میشود و خروجی پردازش شده که به صورت فرمت باینری است به زبان قابل فهم برای انسان تبدیل میشود و در قالب متون روی صفحهی نمایش نمایش داده میشود.شل تمام این ترجمهها را انجام میدهد.
شل (پوسته ) لینوکس/یونیکس یک رابط خط فرمان است که اجازه ارتباط کاربران با سیستمعامل به وسیلهی پذیرش دستورات کاربران از طریق کیبرد را میدهد.شل دستورات را اجرا میکند و خروجی را در صفحهی نمایش چاپ میکند.برخلاف محیط گرافیکی (مبتنی بر رابط گرافیکی ) که به طور معمول ما در کامپیوترهای حال حاضر مشاهده میکنیم ،این تعامل صرفاً مبتنی بر متن و دستور گرا بوده که این نوع تعامل رابط خط فرمان (CLI) نامیده میشود.قبل از محیطهای GUI که در سیستمهای کامپیوتری معرفی شده ، CLI تنها راه استفادهای بود که کاربر میتوانست با سیستم کامپیوتر تعامل و دستور دهد.
این قوانیین را بدانید:
Process: هر کاری که توسط کاربر در سیستم انجام شده یک فرایند است.
X-windows یا windows: در لینوکس صفحهی نمایش میتواند به بخشهای کوچکی به نام windows تقسیم شده باشد.آن به کاربران اجازه میدهد تا چندین کار را در یک زمان را انجام دهند.همچنین در زمان سوئیچ کردن از یک کار یا وظیفه به دیگری در روش گرافیکی خوب خیلی آسان میشود.
Text terminal:این یک صفحهی نمایش است که کاربران میتوانند دستورات را در قالب متن برای دستور دادن به سیستم عامل برای انجام یک وظیفه وارد کنند.
Session:مدت زمان بین ورود به سیستم و خروج از آن.
انواع لینوکس / یونیکس شل
بورن شل
بورن شل در آزمایشگاه های بل توسط استیون بورن به عنوان یک جایگزین برای شل تامپسون توسعه داده شد و هنوز هم به عنوان یک شل پیش فرض بسیاری از سیستم عامل های شبه یونیکس باقی مانده است.هر سیستم عامل شبه یونیکس حداقل شامل یک شل که با شل بورن سازگار میباشد است.بر خلاف C و شل کورن، بورن شل ساختارهای برنامه نویسی پیچیده و ویژگی های تعاملی ندارد.sh نام برنامه شل Bourne که در /bin/sh واقع شده است میباشد.
C شل
C شل توسط بیل جوی در دانشگاه کالیفرنیا به عنوان جایگزین برای قدیمی ترین شل یونیکس – بورن شل توسعه داده شد.csh نام برنامه شل C میباشد و % اعلان این شل میباشد.C شل برای آن دسته از برنامه نویسانی که سینتکسی شبیه به زبان C استفاده میکنند معرفی شده است.
Korn شل
شل کورن توسط دیوید کورن در آزمایشگاههای بل به عنوان ترکیبی از انواع شلهای دیگر یونیکسها اختراع شد.کورن شل همهی ویژگیهای C شل و زبانهای اسکریپتی را داراست و خیلی شبیه به بورن شل است.این شل به عنوان یک عضو از خانوادهی بورن شل به حساب میآید که اعلان شل مورد استفاده در کورن شل همان اعلان شل مورد استفاده در بورن شل یعنی علامت $ است.شل کورن در یادگیری خیلی آسان است از این جهت بین بسیاری از کاربران با تجربه ترجیح داده میشود.
شل BASH
BASH مخفف Bourne-Again Shell است ،که از جناس اسم توسعه دهندهی Bourne Shell آن یعنی استفان بورن برداشت شده است و طبق توضیحات خود به عنوان باشینگ sh, csh و ksh با یکدیگر است. BASH شل توسط برایان فاکس برای پروژهی گنوم و به عنوان یک نرمافزار رایگان جایگزین برای بورن شل توسعه داده شده است.BASH برای همه به عنوان یک شل برای سیستمعامل گنو توزیع شده است و به عنوان شل پیشفرض در لینوکس و سیستمعامل مک مورد استفاده قرار گرفته است.
برنامه نویسی شل، مبانی
- برای دسترسی به شل لینوکس، ترمینال را باز کنید.
- برای دیدن شلی که دارید ،وارد کنید : echo $SHELL
- در لینوکس علامت دلار $ نشام دهندهی متغیر شل است.
- دستور Echo رشتههایی در روی صفحهی ترمینال خود نمایش خواهد داد.
- برای لینک دادن یا پیوند دادن چندین دستور ،از عمل لوله (| ) استفاده کنید.
نوشتن shebang یعنی #!/bin/sh در بالای اسکریپت شل خود را هرگز فراموش نکنید.این ،دستورالعملها را به برنامهی شل /bin/sh منتقل میکند.
دستورات لینوکس بهتر است که در سینتکس مناسب نوشته شوند تا اسکریپت کار کند.هر اشتباهی اجازهی نخواهد داد تا اسکریپت کار کند.
اسکریپتهای شل چیزی جز یک فایل متنی با پسوندهای .sh بیشتر نیستند.
نوشتن اولین اسکریپت شل – Hello World
- ترمینال را باز کنید و به محلی که قراره اولین اسکریپت خود را ایجاد کنید بروید.
- با ویرایشگر مورد علاقهی خود ،اسکریپت خود را در یک فایل متنی بنویسید و آن را با پسوند .sh ذخیره کنید.مانند helloworld.sh
- به آن سطح دسترسی اجرایی بدهید – chmod 744 helloworld.sh
- آن را اجرا کنید – sh helloworld.sh یا ./helloworld.sh
ورودی نمونه:
نمونهی خروجی:
این یک راهنمای شروع بود.با ما برای مقالات بیشتر در مورد زبان اسکریپتی شل در ارتباط باشید.
cheers!