البرمجة

تعلم حول التعيين في Unix Shell

في Unix shell، تكون الفراغات حول علامات التعيين (مثل “=”) مهمة. عندما توجد فراغات بين اسم المتغير وعلامة التعيين، فإن الشيء الذي يتم تعيينه للمتغير يصبح هو نتيجة الأمر الذي يأتي بعد علامة التعيين (مع تجاهل الفراغات). في هذه الحالة، بمجرد إضافة فراغ بين علامة التعيين واسم المتغير، يصبح الأمر يحاول تعيين القيمة “expr $nos % 10” (وهكذا) إلى متغير تُسمى “rem ” بدلاً من أن يكون الهدف هو تعيين القيمة نفسها.

بمجرد إزالة الفراغات، يتم تعيين القيم بشكل صحيح إلى المتغيرات كما هو متوقع، وهذا هو السبب في أن الشيء الذي تراه يعمل بشكل صحيح.

المزيد من المعلومات

في Unix shell، يعتبر الفراغ (أو أي حرف فارغ) محددًا لفصل بين الكلمات في الأوامر. عندما تضع فراغًا بين اسم المتغير وعلامة التعيين، يُعتبر الفراغ جزءًا من اسم المتغير. وبما أنه غير معتاد وملزم لاستخدام الفراغات في أسماء المتغيرات، فإن النتيجة تكون مختلفة عن المتوقع.

لتجنب هذه المشكلة، يُفضل ألا تضع أي فراغات بين اسم المتغير وعلامة التعيين عند تعريف المتغير. وبالنسبة للأمر expr، فإنه يتوقع أن يكون هناك فراغات بين العمليات الحسابية والعمليات الأخرى.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!