Loading…

جزیره لینوکس و سیستم های متن باز

ارسال کننده: surreal
میتونم باجرعت بگم یک گیک هستم و همیشه عاشق یادگیری و انتقال تجربیات خودم به دیگرانم :)
ارسال پیام خصوصی
امتیازات این مطلب
نکته: برطرف کردن یک مشکل معمول در دستورات شرطی Bash Scripting
سلام به همه دوستان خوبم در جزیره لینوکس وب سایت بزرگ توسینسو ، آرتین غفاری هستم تا اینجا در خدمتتون هستم با اولین نکته آموزشیم در وب سایت توسینسو ، دوستان اگر در حوزه Bash Scripting یا همون Shell Scripting فعالیت می کنند یک مشکل خیلی عمده در نوشتن شرط های if براشون ممکنه پیش بیاد که شاید غیرمنطقی به نظر برسه و اوایل کار در حوزه Script نویسی اذیتتون کنه که میخام بهتون این مشکل رو معرفی کنم ، خوب برای اینکه موضوع به خوبی براتون جا بیوفته به نمونه کد و دستور شرطی زیر دقت کنید ، این کد در زمان اجرا خطا میده اما نکته اینجاست که خطا کجاست :
if [2==2];then
    echo "tosinso"
else 
  echo "tosinso.com"
fi


زمانیکه شرط بالا اجرا میشه خطای زیر رو مشاهده می کنیم که میگه دستور وارد شده پیدا نشد یا عملگرها ناشناخته هستند !!

test.sh: 1: test.sh: [2==2]: not found
unexpected operator
اما مشکل خطای بالا چیز پیچیده ای نیست و شاید خنده دار باشه ، مشکل دستور بالا فقط و فقط نذاشتن فاصله مناسب بین هر کدوم از پارامترهای دستوری هست ، یعنی Syntax یا نحوه نوشتن اسکریپت ها در Bash طوری هست که باید فاصله ها رو با دقت رعایت کنید ، حالا ما در ادامه همون دستورات رو وارد می کنیم و اینبار فاصله رو براشون رعایت می کنیم و نتیجه رو مشاهده می کنید که بدون مشکل هست و دستور شرطی ما به درستی اجرا میشه :

if [ "2" == "2" ];then
    echo "tosinso"
else
    echo "tosinso.com"
fi

همونطور که مشاهده می کنید دستور با موفقیت انجام شد و فقط مشکل ما یک Syntax یا نحوه خاص نوشتن و قرار دادن فاصله در کد بود ، شاید به نظر شما خنده دار باشه اما خیلی از کدهایی که در زبان هایی مثل C و ++C نوشته میشه به خاطر نذاشتن یک سمی کولن یا همین فاصله مشکل در اجرا داره ، امیدوارم مورد توجه شما قرار گرفته باشه.

نویسنده : آرتین غفاری
منبع : linux.tosinso.com
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
دیدگاه ها

هیچ دیدگاهی برای این مطلب ارسال نشده است

برای ارسال نظر وارد شوید.

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