إصلاح: خطأ في بناء الجملة بالقرب من رمز غير متوقع `` (& lsquo ؛

خطأ في بناء جملة رسالة الخطأ بالقرب من الرمز المميز غير المتوقع "(" يحدث في بيئة من نوع Unix ، Cygwin ، وفي واجهة سطر الأوامر في Windows. من المحتمل أن يتم تشغيل هذا الخطأ عند محاولة تشغيل برنامج نصي shell تم تحريره أو تم إنشاؤها في أنظمة DOS / Windows أو Mac الأقدم.

خطأ في بناء الجملة بالقرب من الرمز المميز غير المتوقع "("

تظهر رسالة الخطأ هذه أيضًا عند إدخال أوامر في سطر أوامر Linux للمهام اليومية مثل نسخ الملفات يدويًا وما إلى ذلك. الأسباب الرئيسية لحدوث رسالة الخطأ هذه إما بسبب بناء جملة سيئ أو مشكلة في نظام التشغيل في تفسير أوامر نظام آخر / الصدف.

ما الذي يسبب خطأ في بناء الجملة بالقرب من الرمز المميز غير المتوقع "("؟

تتنوع أسباب رسالة الخطأ هذه كثيرًا ولا يمكن سردها في مقال واحد حيث توجد آلاف الاحتمالات لحدوث خطأ في بناء الجملة عند تنفيذ الأوامر. الأسباب الأساسية لهذا الخطأ هي:

  • بناء جملة غير صحيح عند تنفيذ أي أمر في أي من النظامين الأساسيين. إما أنك لا تستخدم الأمر بشكل صحيح أو أنك أدخلت الصيغة الخاطئة.
  • الغلاف غير متوافق بين أنظمة Unix / DOS.
  • توجد مشكلات في تشغيل البرنامج النصي bash shell من مصدر آخر .

في هذه المقالة ، نفترض أنك تعرف أساسيات الترميز ولديك فكرة عما تفعله. إذا كنت مبتدئًا ، فمن الأفضل أن تتبع دروسًا متعمقة للغة / الأمر الذي تحاول تنفيذه. ربما تكون قد ارتكبت خطأً في بعض القواعد اللغوية.

الحل 1: التحقق من بناء الجملة وتنسيق الأوامر

السبب الأول والأهم وراء ظهور رسالة الخطأ هذه هو وجود بناء جملة سيئ في التعليمات البرمجية أو عدم اتباعك للتنسيق الدقيق للأوامر. يحتوي كل أمر على تنسيق محدد مسبقًا يمكنك رؤيته في وثائقه. العديد من المعلمات اختيارية والبعض الآخر إلزامي.

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

على سبيل المثال ، بدلاً من الكود التالي

[mycom7] # ./ctopo.sh um_test1 [(1،2)، (2،1)]

تحتاج إلى تنفيذه على أنه

[mycom7] # ./ctopo.sh um_test1 "[(1،2)، (2،1)]"

تأكد أيضًا من تنفيذ الأوامر / البرنامج النصي shell بشكل صحيح إذا كان يمتد لعدة أسطر.

بسبب نوع المعلمة ، تعتبر علامات الاقتباس المزدوجة ضرورية. قد تؤدي المساحة الإضافية أيضًا إلى إتلاف رمزك وفرض رسالة الخطأ. تأكد من مراجعة الوثائق الرسمية للأمر الذي تقوم بتنفيذه ومعرفة ما إذا كانت هناك مشكلة.

الحل 2: استكشاف أخطاء برنامج شل النصي وإصلاحها

إذا كنت تستخدم برنامج شل النصي الذي يعمل في النظام المصدر ولكنه يعرض خطأ في الهدف ، فيمكنك استكشاف أخطاء البرنامج النصي وإصلاحها عن طريق التحقق من المتغيرات التي تم تخزينها أثناء التنفيذ ثم معرفة سبب المشكلة. هذا سبب شائع جدًا لأنه في العديد من الحالات ، تحاول القشرة تفسير شخصية غير قابلة للطباعة.

جرب تشغيل الصدفة بالمعامل "vx". سيوضح لنا هذا الأوامر التي يتم تشغيلها والقيم المخزنة في البرنامج النصي. من هنا يمكنك استكشاف الأخطاء وإصلاحها وتشخيص ما يحدث.

على سبيل المثال ، قم بتنفيذ البرنامج النصي في الجهاز بعد تضمين "vx" على النحو التالي:

# sh -vx ./test_script5.sh

يمكنك التحقق من محتويات البرنامج النصي باستخدام الأمر "cat" على النحو التالي:

# قطة test_script5.sh

الحل 3: استخدام الأمر "dos2unix.exe"

في الملفات النصية لـ Windows / DOS ، يكون السطر الجديد عبارة عن تركيبة من "إرجاع" (\ r) متبوعًا بموجز تغذية (\ n). في نظام التشغيل Mac (قبل نظام التشغيل Mac OS X) ، استخدم فاصل الأسطر حرف إرجاع بسيط (\ r). يستخدم نظاما التشغيل Unix / Linux و Mac OS X فواصل أسطر تغذية الأسطر (\ n). إذا كنت تستخدم Cygwin ، فستفشل في معالجة البرامج النصية التي تم إجراؤها بواسطة DOS / Windows و Mac الأقدم بسبب الحرف الإضافي Carriage Return (\ r).

باستخدام الأمر "dos2unix.exe"

هنا يمكنك عمل الأمر "dos2unix.exe" الذي سيحول البرنامج النصي إلى التنسيق الصحيح ومن ثم يمكنك تنفيذه دون أي مشاكل.

في الختام ، تحتاج إلى البحث عن أوامرك ونوع النظام الأساسي الذي تستخدمه والتأكد من عدم وجود أي تناقضات. نظرًا لأننا لا نستطيع تغطية كل الاحتمالات ، سيكون لديك فكرة عن أنواع الأخطاء التي يمكن أن تحدث وكيفية إصلاحها.