درسنامه ۳-۱: چرا Bash و اسکریپت؟
در این درس با مفهوم شِل (Shell)، Bash و اینکه «اسکریپت» دقیقا چیست آشنا میشویم و میبینیم چرا یادگرفتن Bash برای یک کاربر لینوکس (حتی در سطح مبتدی) بسیار مفید است.
شل و Bash یعنی چه؟
- شِل برنامهای است که دستورات شما را در خط فرمان میگیرد و آنها را اجرا میکند.
- در بیشتر توزیعهای لینوکس، شل پیشفرض
bashاست. - وقتی در ترمینال مینویسید:
این دستورات توسط برنامهٔ bash دریافت و اجرا میشوند.
اسکریپت Bash چیست؟
اسکریپت Bash در واقع یک «فایل متنی ساده» است که در آن چند دستور پشت سر هم نوشته شدهاند و Bash آنها را از بالا به پایین اجرا میکند؛ دقیقا مثل اینکه شما خودتان همان دستورات را یکییکی در ترمینال تایپ کنید.
مزیت اسکریپت: - کارهای تکراری را فقط یکبار مینویسید و هر وقت لازم شد اجرا میکنید. - میتوانید چندین دستور را با هم ترکیب کنید و مثل یک برنامهٔ کوچک در بیاورید. - میتوانید به اسکریپت ورودی بدهید، روی آنها شرط بگذارید و خروجی تمیز بگیرید.
مثال ذهنی: فرض کنید هر روز باید این سه کار را انجام دهید:
- وارد یک پوشهٔ خاص شوید.
- از آن پوشه یک آرشیو
tar.gzبگیرید. - آرشیو را در یک پوشهٔ بکآپ کپی کنید.
اگر این سه دستور را در یک فایل Bash قرار بدهید، هر روز فقط کافی است آن اسکریپت را اجرا کنید تا همهٔ کارها پشت سر هم انجام شوند.
چه کارهایی را میشود با Bash انجام داد؟
چند نمونهٔ رایج: - گرفتن بکآپ ساده از فایلها و پوشهها - پاکسازی فایلهای موقت و لاگهای قدیمی - اجرای چند برنامه پشت سر هم با تنظیمات مشخص - آمادهسازی محیط یک پروژه (ساخت پوشهها، تنظیم مجوزها و ...)
در این فصل با مثالهای کوچک و ساده شروع میکنیم تا کمکم ذهن شما به شکل «برنامهنویسی با دستورات لینوکسی» عادت کند.
تمرین کوتاه
- در یک برگه یا فایل متنی، سه کار تکراری که معمولا در ترمینال انجام میدهید را بنویسید؛ مثلا:
- ساختن یک پوشه
- رفتن داخل آن
- ساختن چند فایل خالی
- کنار هر کار، دستور مربوط به آن را بنویسید (
mkdir,cd,touchو ...). - به این فکر کنید که اگر این سه دستور پشت سر هم در یک فایل متنی باشند، چقدر راحتتر میتوانید آن کار را تکرار کنید.
در درس بعد، اولین اسکریپت Bash خود را میسازیم و آن را اجرا میکنیم.