نیما بازگیر
نیما بازگیر
خواندن ۲ دقیقه·۶ سال پیش

آموزش کامل Bash Shell

 آموزش کامل Bash Shell - قسمت پنجم
آموزش کامل Bash Shell - قسمت پنجم

سلام،

در پست قبلی قسمتهای 1.4 و 1.5 با هم آموزش داده شده اند.

باز هم مثل آموزشهای قبلی بی مقدمه بریم سر اصل مطلب...


قسمت 1.6 – اجرای اسکریپت در حالت دیباگ

سوئیچ x- به ما کمک می کند به صورت خط به خط اسکریپت را اجرا و نتیجه اجرای هر خط اسکریپت را مشاهده کنیم. اگر بخاطر داشته باشید در قسمت اول آموزش فایلی با نام goodbye-world.sh ساختیم. ابتدا با اجرای دستور

cat goodbye-world.sh

محتوای فایل اسکریپت را مشاهده نمایید. سپس با دستور

bash -x goodbye-world.sh

اسکریپت را بصورت خط به خط اجرا کنید. نتیجه اجرای دستور توسط شما می بایست مشابه تصویر زیر باشد.

به مثال زیر توجه بفرمایید:

#!/bin/bash echo "Hello World!\n" adding_string_to_number="s" v=$(expr 5 + $adding_string_to_number)

اسکریپت را با نام hello.sh ذخیره و اجرا می کنیم؛ خروجی به شکل زیر خواهد بود.

expr: non-integer argument
expr: non-integer argument

همانطور که در تصویر بالا مشاهده می کنید خطاهایی از این قبیل برای Trace (دنبال کردن) اسکریپت کافی نیست و در اسکریپت های بزرگتر نیز پیدا کردن دستوری که موجب اعلام اینگونه خطاها شده کاری نسبتا دشوار خواهد بود، برای پیدا کردن چنین مشکلاتی استفاده از سوئیچ x- راهی مناسب می باشد. نتیجه اجرای اسکریپت به صورت bash -x hello.sh در شکل زیر نمایش داده شده است:

نکته: از دستور expr برای انجام عملیات ریاضی (فقط بر روی اعداد صحیح Integer) استفاده می کنیم. همانطور که در تصویر بالا دلیل ایجاد خطا را مشاهده می کنید تلاش شده که مقدار رشته ای s را با عدد 5 جمع زده و در متغیری با نام v ذخیره کنیم که ماهیت و فلسفه وجودی دستور expr موجب نمایش خطا شده است.

تمرین1: جهت آشنایی بیشتر با expr دستورات زیر را به ترتیب در ترمینال تایپ کرده و نتایج دریافت شده را تحلیل بفرمایید:

expr 1 + 1 myvar=$(expr 1 + 1) echo $myvar expr $myvar + 1 expr $myvar / 3 expr $myvar \* 3

البته راههای دیگری نیز برای انجام عملیات ریاضی در اسکریپت های Bash وجود دارد که در آموزشهای بعدی توضیح داده خواهند شد.

تمرین 2: دستورات فوق که جهت آشنایی بیشتر درمورد expr آورده شده را بصورت یک فایل اسکریپت قابل اجرا ذخیره کرده و از طریق سوئیچ x- نتیجه خط به خط اسکریپت را Trace نمایید.

موفق و سربلند باشید.

linuxآموزشاسکریپت نویسیقسمت پنجم
علاقمند حوزه های "برنامه نویسی" و "امنیت"
شاید از این پست‌ها خوشتان بیاید