دوستان اگر در حوزه 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 نوشته میشه به خاطر نذاشتن یک سمی کولن یا همین فاصله مشکل در اجرا داره ، امیدوارم مورد توجه شما قرار گرفته باشه.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود