shell scripting بحثی است که در بیشتر انجمنهای لینوکسی مطرح میشود و اکثر کاربران نیز در مورد آن دانشی ندارند. آموختن این برنامه نویسی ساده و قدرتمند میتواند کمک کند تا شما زمان زیادی را ذخیره کنید و از هدر رفتن زمان جلوگیری کنید. در این آموزش چند قسمتی به شما shell scripting و مفاهیم پایه آن را یاد خواهیم داد و امیدواریم که افراد علاقمند خود پیگیر مراحل بعدی شده و در آن پیشرفت قابل توجهی داشته باشند.
shell scripting چیست؟
یک کاربر لینوکس بودن بدین معنی است که شما بیشتر اوقات در حال بازی کردن با ترمینال و دستورات هستید. چه خوشتان بیاید و چه از آن متنفر باشید با این حال پروسه ها و عملیاتی وجود دارند که در ترمینال و محیط دستوری بسیار راحتتر و سریعتر انجام خواهند شد و نیاز شما را به گشت و گذار در محیط گرافیکی و کلیک کردن کم میکنند. هرچه بیشتر از خط فرمان استفاده کنید بیشتر به آن وابسته خواهید شد. خوب کمی دقیقتر میشویم. خط فرمان نیز یک برنامه است که اسم آن shell میباشد. بیشتر توزیعهای لینوکسی امروزه از بش استفاده میکنند و این دقیقاً چیزی است که شما دستورات خود را در آن وارد میکنید.
برخی از شما که از قبل ویندوز استفاده کردهاید ممکن است با فایلهای batch آشنایی داشته باشید. این فایلهای دارای نوشته هایی بودند که باید آنها را تکمیل میکردید و پس از آن ویندوز وظیفه داشت تا آنها را اجرا کند. این فایلهای batch یکی از انواع محدود شل اسکریپت ها بودند.
shell scripting به شما اجازه میدهد تا دستورات را مانند یک برنامه در بیاورید و سیستم را مانند یک رویداد اسکریپت شده میکند همچنین shell scripting به شما اجازه میدهد تا از عملگرهای برنامه نویسی مانند if و for و then و else استفاده کنید و همچنین نیازی به رابط کاربری سیستم عامل نیز نداشته باشید. این مار بسیار ساده خواهد بود و شما نیازی ندارید تا از زبانهای برنامه نویسی دیگری استفاده کنید. چرا که شما کاملاً مسلط به خط فرمان و دستورات لینوکس خواهید بود.
قبل از شروع کار
قبل از اینکه در مورد اسکریپت نویسی صحبت کنیم بهتر است کمی اطلاعات پایهای کسب کنیم. ما از bash shell استفاده میکنیم که بیشتر توزیعهای لینوکسی از آن استفاده میکنند همچنین bashبرای کاربران مک نیز در دسترس است و ویندوزی ها نیز میتوانند با استفاده از cygwin از بش استفاده کنند. از آنجایی که Bash یک محیط عمومی است و به دستگاه خاصی وابسته نیست میتوانید برنامههایی مالتی پلتفرم نیز بسازی و با کمترین تغییرات در بیشتر دستگاهها اجرا کنید. اسکریپت نویسی به سادگی و دسترسی ادمین یک سیستم و یا superuser آن انجام میشود. همچنین کار خوبی است که اسکریپت ها را قبل از اینکه به صورت کامل در یک سیستم راه اندازی کنید تست کرده و از صحت درست اجرا شدن آن مطمئن شوید. همچنین بهتر است از فایلهایی که بر روی آن اسکریپت مینویسید و قرار است اسکریپت روی آنها تغییر ایجاد کند بک آپ تهیه کنید. همچنین بهتر است که از آپشن هایی درست و به جا استفاده کنید. برای مثال -i را برای rm به کار ببرید. همچنین همیشه باید مراقب باشید تا اسکریپت شما خرابکاری نکند و اطلاعات شما را نیز تخریب نکند.
در هسته اسکریپت ها تنها چیزی که موجود است یک فایل متنی است و شما میتوانید با هر ویرایشگر متنی آنها را بنویسید و فقط مطمئن باشید که در آخر آن را به عنوان یک فایل متنی ذخیره میکنید یعنی دقیقاً plain text و به عنوان reach text ذخیره نشود. از آنجایی که استفاده از nano بسیار آسان است برای shell scripting نیز در اینجا از آن استفاده میکنیم.
در قسمت بعدی در مورد پرمیشن های اسکریپت و موارد دیگر بحث خواهیم کرد.
[…] در قسمت قبل مفاهیمی ساده از شل و اسکریپت نویسی را بیان کردیمکه برای شروع برنامه نویسی برای شل بسیار مهم است. حال در این بخش به ادامه آموزش خواهیم پرداخت. […]