شروع اسکریپت‌نویسی با Bash

شروع اسکریپت‌نویسی با Bash

در ادامه قصد داریم یک اسکریپت Bash خیلی ساده بنویسیم که این وظیفه را دارا است تا یک پیام دوخطی را روی صفحهٔ ترمینال به‌نمایش درآورد:

 #!/bin/bash
echo "HELLO"
echo "WORLD"

دستورات فوق را بااستفاده از ادیتور دلخواه خود در فایلی تحت‌عنوان script.sh ذخیره می‌سازیم؛ حال می‌بایست این فایل را اصطلاحاً Executable (قابل اجرا) کنیم و برای این منظور، دستور زیر را اجرا می‌کنیم:

$ chmod +x script.sh

البته توجه داشته باشیم که اگر این فایل را روی دسکتاپ ایجاد کرده‌ایم، ابتدا می‌بایست بااستفاده از دستور cd به مسیر دسکتاپ رفته سپس دستور فوق را اجرا کنیم. حال با تایپ کردن دستور script.sh/. و یا دستور زیر، کلمات HELLO و WORLD روی صفحهٔ ترمینال نمایش داده می‌شوند:

bash script.sh
HELLO
WORLD

همواره این نکته را به‌خاطر داشته باشیم که اگر بخواهیم به روش script.sh/. اسکرپیت خود را اجرا کنیم اما درعین‌حال فراموش کنیم که این فایل را قابل‌اجرا کنیم، با ارور زیر مواجه خواهیم شد:

$ bash: ./script.sh: Permission denied

مثالی تعاملی از اسکریپت‌نویسی با Bash 
در اسکریپتی که در ادامه خواهیم نوشت، از یوزر خواسته می‌شود تا مقداری را وارد کند سپس این مقدار در متغیری موقتی تحت‌عنوان sname ذخیره می‌شود که از این پس، ما می‌توانیم از طریق sname$ به مقدار این متغیر دسترسی پیدا کنیم. برای این منظور، فایلی تحت‌عنوان ioscript.sh در ادیتور دلخواه خود -همچون Gedit- ساخته و اسکریپت‌های زیر را داخل آن می‌نویسیم:

#!/bin/bash
# Interactive reading of variables
echo "ENTER YOUR NAME"
read sname
# Display of variable values
echo $sname

همان‌طور که پیش از این گفتیم، ابتدا باید این فایل را بااستفاده از دستور chmod +x ioscript.sh قابل‌اجرا کنیم؛ حال با اجرای دستور زیر، این اسکریپت Run (ران به‌معنی اجرا) می‌شود و جملهٔ ENTER YOUR NAME به‌معنی «نام خود را وارد کنید» درمعرض دید کاربر قرار می‌گیرد. کاربر اسمش را وارد کرده و اینتر می‌کند و می‌بینیم که مقدار وارد شده توسط کاربر نمایش داده می‌شود:

./ioscrpt.sh 
ENTER YOUR NAME
Behzad
Behzad
به خاطر داشته باشید علامت # به‌منظور کامنت‌گذاری در اسکریپت مورد استفاده قرار می‌گیرد؛ هرکجا که از هش‌تگ استفاده شود، دستورات نوشته شده پس از آن، Comment تلقی خواهند شد.

در تفسیر اسکریپت فوق بایستی گفت که در خط اول مسیر مفسر Bash روی سیستم نوشته شده است (به‌خاطر داشته باشیم که در اسکریپت‌نویسی باید bash با حرف ابتدایی کوچک نوشته شود)؛ در خط دوم کامنتی داریم تحت‌عنوان Interactive reading of variables به‌معنی «بازخوانی تعاملی متغیرها» و سپس در خط سوم دستور "echo "ENTER YOUR NAME را نوشته‌ایم که این وظیفه را دارا است عبارت ENTER YOUR NAME را درمعرض دید کاربر قرار دهد.

در ادامه، بااستفاده از دستور read sname مقداری که کاربر در ترمینال وارد می‌کند را دریافت کرده و این مقدار را در فضایی موقتی ذخیره می‌سازیم و درنهایت پس از گذاشتن یک کامنت تحت‌عنوان Display of variable values به‌معنی «نمایش مقادیر متغیر» و نمایش متغیر sname$ با دستور echo، هرآنچه کاربر وارد کرده باشد را مجدد درمعرض دیدش قرار می‌دهیم.

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 نکردی برامون ایمیلت رو بنویس: