معرفی اسکرپیت‌نویسی در محیط Shell

معرفی اسکرپیت‌نویسی در محیط Shell

همان‌طور که پیش از این گفتیم، Shell یک مفسر کامندلاینی است که فضایی در پنجرهٔ ترمینال ایجاد می‌کنند تا بتوان در آن کدنویسی کرده و به اجرای یکسری اسکرپیت‌ها پرداخت؛ به‌عنوان‌ مثال، دستور زیر را در نظر بگیرید:

find . -name "*.c" -ls

خیلی با این‌که پس از تایپ کردن چنین دستوری در ترمینال چه اتفاقی رخ می‌دهد نداریم بلکه در این‌جا صرفاً هدف این است که نشان دهیم اجرای دستور فوق در کامندلاین هیچ تفاوتی درعمل با اجرای فایلی اسکریپتی حاوی دستورات زیر ندارد:

#!/bin/bash
find . -name "*.c" -ls

در اسکرپیت فوق، خط اول که با علامت !# شروع شده مسیر کامل مفسر (Interpreter) که در این‌جا bin/bash/ است را مشخص می‌کند که برای اجرای این فایل قرار است مورد استفاده قرار گیرد.

گزینه‌های مفسر اسکریپت‌ها برای محیط Shell
Command Interpreter (مفسر دستورات) این وظیفه را دارا است تا دستورات قرار گرفته در اسکرپیت مدنظر را اجرا کند؛ از جمله مفسرهای رایج در لینوکس برای این‌کار می‌توان به perl/bin/usr/ ،bash/bin/ ،csh/bin/ ،python/bin/usr/ و sh/bin/ اشاره کرد.

به‌خاطر داشته باشیم که تایپ کردن لیست بلندبالایی از کامندها در ترمینال می‌تواند خسته‌کننده بوده و احتمال ضریب خطا را نیز بالا خواهد برد اما بااستفاده از شل به‌سادگی خواهیم توانست اسکریپت‌های طولانی که قرار است بارها‌وبارها اجرا شوند را به‌سادگی و بدون هیچ خطایی اجرا کنیم. در لینوکس طیف گسترده‌ای از Shellها در اختیار کاربران قرار دارد که عبارتند از:

/bin/sh
/bin/bash
/bin/tcsh
/bin/csh
/bin/ksh

به خاطر داشته باشید در مسیر etc/shells/ می‌توانید به لیستی از شل‌های موجود روی سیستم‌عامل دست یافت.

بسیاری از کاربران لینوکس از شلی تحت‌عنوان Bash استفاده می‌کنند اما همان‌طور که در تصویر زیر مشخص است، به‌ غیر از بش، گزینه‌های دیگری نیز در اختیار کاربران لینوکس قرار دارد:

11-1
درآمدی بر اسکریپت‌نویسی در محیط لینوکس
بهزاد مرادی
۱۳۹۶/۰۵/۰۸
11-2
معرفی اسکرپیت‌نویسی در محیط Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۸
11-3
شروع اسکریپت‌نویسی با Bash
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-4
آشنایی با نحوهٔ Return کردن مقادیر در Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-5
لیست کاراکترهای خاص برای اکسریپت‌نویسی در Bash
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-6
آشنایی با مفهوم Redirection ورودی‌ها و خروجی‌ها در اسکرپیت‌نویسی Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-7
کامندهای از پیش تعریف شدهٔ Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-8
آشنایی با پارامترهای اسکریپتی
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-9
جایگزینی کامندها در اسکریپت‌نویسی Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-10
درآمدی بر Environment Variables در لینوکس
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-11
آشنایی با مفهوم فانکشن در اسکریپت‌نویسی Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-12
آشنایی با نحوهٔ استفاده از دستورات شرطی در اسکریپت‌نویسی
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-13
درآمد بر اکسپرشن‌های ریاضیاتی در اسکریپت‌نویسی Shell در لینوکس
بهزاد مرادی
۱۳۹۶/۰۵/۱۰
11-14
کار با String در اسکریپت‌نویسی لینوکس
بهزاد مرادی
۱۳۹۶/۰۶/۱۶
11-15
نحوهٔ استفاده از دستور case در اسکریپت‌نویسی شل
بهزاد مرادی
۱۳۹۶/۰۶/۱۸
11-16
آشنایی با نحوهٔ به‌کارگیری از Loop در اسکریپت‌نویسی بش
بهزاد مرادی
۱۳۹۶/۰۶/۱۹
11-17
آشنایی با فرایند دیباگینگ اسکریپت‌های شل
بهزاد مرادی
۱۳۹۶/۰۶/۲۰
rocket
نظرات
اگر login نکردی برامون ایمیلت رو بنویس: