درست کریں: غیر متوقع طور پر ٹوکن کے قریب نحوی غلطی `(‘



مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں

غلطی کا پیغام غیر متوقع ٹوکن کے قریب نحو غلطی `(‘ یونکس قسم کے ماحول ، سیگ وین اور ونڈوز میں کمانڈ لائن انٹرفیس میں ہوتا ہے۔ یہ غلطی زیادہ تر ممکن ہوسکتی ہے جب آپ کسی شیل اسکرپٹ کو چلانے کی کوشش کرتے ہیں جو ترمیم یا پرانے DOS / Windows یا میک سسٹم میں تخلیق کیا گیا تھا۔



غیر متوقع ٹوکن کے قریب نحوی غلطی `(

غیر متوقع ٹوکن کے قریب نحوی غلطی `(‘



جب آپ روزمرہ کے کاموں کیلئے فائلوں کو دستی طور پر نقل کرنا جیسے لینکس کمانڈ لائن میں کمانڈ داخل کرتے ہو تو یہ خامی پیغام اس وقت بھی منظر عام پر آتا ہے جب یہ غلطی پیغام آنے کی بنیادی وجوہات خراب نظامت یا OS کے دوسرے نظام کے احکام کی ترجمانی کرنے میں مسئلہ کی وجہ سے ہیں۔ شیل



غیر متوقع طور پر ٹوکن near (‘‘ کے قریب سنٹیکس غلطی کی کیا وجہ ہے؟

اس خامی پیغام کی وجوہات بہت متنوع ہیں اور ایک مضمون میں اس کی فہرست نہیں دی جاسکتی کیونکہ احکامات پر عمل درآمد کرتے وقت ہزاروں ترکیب غلط ہونے کے امکانات موجود ہیں۔ اس غلطی کی بنیادی وجوہات یہ ہیں:

  • غلط ترکیب جب کسی بھی پلیٹ فارم میں کوئی کمانڈ چلاتے ہو۔ یا تو آپ کمانڈ صحیح طریقے سے استعمال نہیں کر رہے ہیں یا غلط ترکیب داخل کر چکے ہیں۔
  • شیل نہیں ہے ہم آہنگ یونکس / ڈاس سسٹم کے درمیان۔
  • باش شیل اسکرپٹ کو چلانے سے متعلق مسائل ہیں ایک اور ذریعہ .

اس مضمون میں ، ہم فرض کرتے ہیں کہ آپ کوڈنگ کی بنیادی باتوں کو جانتے ہیں اور آپ کو اندازہ ہے کہ آپ کیا کر رہے ہیں۔ اگر آپ مبتدی ہیں تو ، یہ بہتر ہے کہ آپ جس زبان / کمانڈ پر عمل کرنے کی کوشش کر رہے ہو اس کے گہرائی سے سبق حاصل کریں۔ آپ نے شاید کچھ نحو کی غلطی کی ہو۔

حل 1: جانچ پڑتال کا نحو اور احکام کی شکل

آپ کو اس خامی پیغام کا تجربہ کرنے کی پہلی اور سب سے اہم وجہ یہ ہے کہ آپ کے کوڈ میں خراب نحو ہے یا آپ احکامات کی درست شکل کی پیروی نہیں کررہے ہیں۔ ہر کمانڈ کی ایک وضاحتی شکل ہے جو آپ اس کی دستاویزات میں دیکھ سکتے ہیں۔ کئی پیرامیٹرز اختیاری ہیں جو دوسرے لازمی ہیں۔



مزید برآں ، اضافی خیال رکھنا چاہئے اضافی جگہ ، کا استعمال ڈبل قیمتیں ، اور لازمی پیرامیٹرز کی ضرورت ہے۔ اگر ان میں سے کوئی فرد لاپتہ ہے یا اسے غلط قرار دے دیا گیا ہے تو ، آپ اپنے کوڈ پر عمل درآمد نہیں کرسکیں گے۔

مثال کے طور پر ، مندرجہ ذیل کوڈ کے بجائے

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

آپ کو اس پر عمل درآمد کرنے کی ضرورت ہے

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

نیز ، یہ بھی یقینی بنائیں کہ اگر آپ اپنے کمانڈز / شیل اسکرپٹ کو صحیح طریقے سے انجام دے رہے ہیں تو اگر یہ کئی لائنوں پر پھیلا ہوا ہے۔

پیرامیٹر کی قسم کی وجہ سے ، ڈبل قیمت درج کرنا ضروری ہے۔ ایک اضافی جگہ آپ کے کوڈ کو برباد کر سکتی ہے اور غلطی کے پیغام کو مجبور کرتی ہے۔ اس بات کو یقینی بنائیں کہ آپ جانچ پڑتال کریں سرکاری دستاویزات اس کمانڈ کا جو آپ عمل کررہے ہیں اور دیکھیں کہ وہاں کوئی پریشانی ہے۔

حل 2: اپنے شیل اسکرپٹ کا دشواری حل کرنا

اگر کوئی شیل اسکرپٹ استعمال کررہا ہے جو سورس سسٹم میں کام کرتا ہے لیکن ہدف میں خرابی دیتا ہے تو ، آپ اسکرپٹ کا ازالہ کرسکتے ہیں جس پر عملدرآمد کے دوران محفوظ کیا جاتا ہے۔ یہ ایک بہت ہی عام وجہ ہے جیسا کہ متعدد معاملات میں ، شیل غیر ناقابل قابل کردار کی ترجمانی کرنے کی کوشش کرتا ہے۔

’vx‘ کے پیرامیٹر سے شیل چلانے کی کوشش کریں۔ اس سے ہمیں پتہ چل سکے گا کہ اسکرپٹ میں کن احکامات چلائے جارہے ہیں اور کن اقدار کو محفوظ کیا جارہا ہے۔ یہاں کے ذریعے آپ غلطیوں کا ازالہ اور تشخیص کرسکتے ہیں کہ کیا غلط ہو رہا ہے۔

مثال کے طور پر ، 'vx' شامل کرنے کے بعد ٹرمینل میں اسکرپٹ کو عملی شکل دیں:

# sh -vx ./test_script5.sh

آپ سکرپٹ کے مندرجات کو ’بلی‘ کمانڈ کا استعمال کرکے چیک کرسکتے ہیں۔

# cat test_script5.sh

حل 3: ‘do2unix.exe’ کمانڈ استعمال کرنا

ونڈوز / ڈاس ٹیکسٹ فائلوں میں ، ایک نئی لائن کیریج ریٹرن () r) کا ایک مجموعہ ہے جس کے بعد لائن فیڈ () n) ہوتی ہے۔ میک میں (میک OS X سے پہلے) ، لائن بریک میں سادہ کیریج ریٹرن ( r) استعمال ہوتا تھا۔ یونکس / لینکس اور میک OS X لائن فیڈ ( n) لائن بریک کا استعمال کرتے ہیں۔ اگر آپ سائگ وین استعمال کررہے ہیں تو ، اضافی کیریج ریٹرن ( r) کیریکٹر کی وجہ سے ڈاس / ونڈوز اور پرانے میک کے ذریعہ تیار کردہ اسکرپٹس پر کارروائی کرنے میں ناکام ہوجائے گی۔

استعمال کرنا

‘do2unix.exe’ کمانڈ استعمال کرنا

یہاں آپ ‘ڈاس 2 یونکس ڈاٹ ایکس ایکس’ کمانڈ بنا سکتے ہیں جو اسکرپٹ کو درست شکل میں تبدیل کرے گا اور پھر آپ اسے بغیر کسی مسئلے کے عمل میں لا سکتے ہیں۔

نتیجہ اخذ کرنے کے ل you ، آپ کو اپنے کمانڈز اور پلیٹ فارم کی قسم کی تحقیق کرنے کی ضرورت ہے جو آپ استعمال کر رہے ہیں اور یقینی بنائیں کہ اس میں کوئی تضاد نہیں ہے۔ چونکہ ہم ہر امکان کو احاطہ نہیں کرسکتے ہیں ، لہذا آپ کو اندازہ ہوگا کہ کس طرح کی غلطیاں ہوسکتی ہیں اور ان کو کیسے ٹھیک کیا جائے۔

3 منٹ پڑھا