• ثبت نام
  • ورود
  • 49624 - 021 تلفن
  • ثبت نام
  • ورود
  • 49624 - 021 تلفن

اسکریپت نویسی پیشرفته لینوکس – نکات ظریف و مهم

Advanced linux bash shell scripting - novinhost.org

Advanced linux bash shell scripting - novinhost.org

قسمت های مفیدی را در مورد اسکریپت نویسی لینوکس پشت سر گذاشتیم, در این قسمت قصد داریم بعضی نکات مهم را که معمولا در کتاب های آموزشی یافت نمیشوند را با شما در میان بگذاریم, تا موقع اسکریپت نویسی به مشکل بر نخورید

 

 

Advanced linux bash shell scripting - novinhost.org

نکات مهم در نام گذاری متغیر:

            لینوکس یک سری کلمات رزرو شده دارد که نباید در نامگذاری متغیر ها استفاده شود.

            از جمله آنها دستورات معمول لینوکس و تعدادی از حروف الفبای انگلیسی است.

            لیست کامل کلمات رزرو شده در آدرس زیر قابل مشاهده است:

            https://www.gnu.org/software/bash/manual/html_node/Reserved-Word-Index.html

            به طور مثال دستورات elif, else, esac تنها کلماتی رزرو شده ای هستند که با E شروع میشوند.

            اگر شما متغیر را به صورت case = 10 تعریف کنید, با خطا مواجه خواهید شد. چرا که کلمه case از کلمات رزرو

            شده میباشد.

            نکته دیگر در نام گذاری متغیر ها این است, که نام متغیر با اعداد شروع نشود.

            در نامگذاری متغیر ها از علامت _ (زیرخط) به جای – (خط تیره) استفاده کنید.

            فراموش نکنید که در نام گذاری توابع از علامت نقطه ‘.’ و خط تیره(-) استفاده نکنید.

           

مقایسه مقادیر:

            در دستور های شرطی مانند if, برای مقایسه مقادیر متنی از علامت  =   و برای مقادیر عددی از –eq استفاده کنید.

            مثال:

a=273.0 

          

if [ “$a” = 273 ]

then

.

.

در این شرط, بلوک then هیچ وقت اجرا نخواهد شد, در صورتی که طراحی سایت سئومیخواهید برابر بودن متغیر بالا و عدد ۲۷۳ را درست تشخیص دهد, باید از دستور if [ “$a” -eq 273.0 ] استفاده کنید.

همچنین برای مقایسه کوچکتر یا بزرگتر بودن اعداد بهتر است از –lt و –gt به جای  <  و < استفاده کنید.

دستور

while [ “$number” < 5 ] ممکن است با خطا مواجه شود.

while [ “$number” -lt 5 ]  شرط مناسب تری است.

نوشته مشابه

ثبت نظر