شيل چيڪ 0.9 پروجيڪٽ جو رليز شايع ڪيو ويو آهي، شيل اسڪرپٽ جي جامد تجزيي لاءِ هڪ سسٽم ٺاهي رهيو آهي جيڪو اسڪرپٽ ۾ غلطين جي نشاندهي ڪرڻ ۾ مدد ڪري ٿو bash، sh، ksh ۽ dash جي خاصيتن کي مدنظر رکندي. پروجيڪٽ ڪوڊ Haskell ۾ لکيل آهي ۽ GPLv3 لائسنس تحت ورهايو ويو آهي. اجزاء مهيا ڪيا ويا آهن انضمام لاءِ Vim، Emacs، VSCode، Sublime، Atom، ۽ مختلف فريم ورڪ جيڪي GCC-compatible error reporting جي حمايت ڪن ٿا.
اهو ڪوڊ ۾ نحو جي ٻنهي غلطين جي نشاندهي ڪرڻ ۾ مدد ڪري ٿو، جنهن جي نتيجي ۾ مترجم کي عمل جي وقت غلطي ڏيکاري ٿي، ۽ سيمينٽڪ مسئلا، جنهن جي ڪري عمل ۾ رڪاوٽ نه آهي، پر رسم الخط جي رويي ۾ بي ضابطگيون ٿينديون آهن. تجزيه نگار به رڪاوٽن، غير واضح مسئلن ۽ نقصانن جي نشاندهي ڪري سگهي ٿو جيڪي ڪجهه حالتن ۾ ناڪامي جو سبب بڻجي سگهن ٿيون.
معلوم ٿيل غلطين جي طبقن ۾، اسان خاص اکرن کان بچڻ ۽ انهن کي حوالن ۾ فريم ڪرڻ، مشروط اظهار ۾ غلطيون، حڪمن جي غلط استعمال، پروسيسنگ وقت ۽ تاريخون، ۽ شروعات ڪندڙن لاءِ عام نحو جي غلطين کي نوٽ ڪري سگهون ٿا. مثال طور، اسپيس جي غير موجودگي جڏهن مقابلو ڪندي “[[$foo==0 ]]”، اسپيس جي موجودگي “var = 42” يا $ علامت جو اشارو جڏهن تفويض “$foo=42”، متغيرن جو استعمال اقتباس کان سواءِ “echo $1”، اشارو اضافي چورس بریکٹس ۾ "tr -cd '[a-zA-Z0-9]'",
اضافي طور تي، اهو ڪوڊ اسٽائل کي بهتر ڪرڻ، پورائيبلٽي مسئلن کي ختم ڪرڻ، ۽ اسڪرپٽ جي اعتماد کي وڌائڻ لاء سفارشن جي پيداوار جي حمايت ڪري ٿو. مثال طور، “echo $[1+2]” بدران ان کي نحو استعمال ڪرڻ جي تجويز ڏني ويندي “$((..))”، تعمير 'rm -rf “$STEAMROOT/”*' کي غير محفوظ طور نشان لڳايو ويندو ۽ روٽ ڊاريڪٽري کي ختم ڪرڻ جي قابل ٿي سگھي ٿو جيڪڏھن متغير نه ڀريو ويو $STEAMROOT، ۽ "echo {1..10}" جي استعمال کي نمايان ڪيو ويندو جيئن ڊيش ۽ ش سان مطابقت نه آھي.
نئين نسخي ۾:
- شامل ڪيل ڊيڄاريندڙ اظهار لاءِ 'لوڪل صرف پڙهڻ لاءِ foo'.
- شامل ڪيل ڊيڄاريندڙ غير دستياب حڪمن بابت.
- شامل ڪيل ڊيڄاريندڙ پٺ لنڪ بابت 'declare x=1 y=$x'.
- شامل ڪيل ڊيڄاريندڙ جيڪڏھن $؟ echo، printf، [ ]، [[ ]] ۽ ٽيسٽ جي موٽڻ واري ڪوڊ کي پرنٽ ڪرڻ لاءِ استعمال ڪيو ويو.
- شامل ڪيل سفارش کي ختم ڪرڻ لاءِ ((..))inarray[((idx))]=val.
- رياضي جي حوالي سان ڊبل قوسون گڏ ڪرڻ لاءِ سفارش شامل ڪئي وئي.
- اک[(x+1)]=val ايڪسپريس ۾ قوس کي هٽائڻ لاءِ سفارش شامل ڪئي وئي.
جو ذريعو: opennet.ru