Доступан је СхеллЦхецк 0.9, статички анализатор за схелл скрипте

Објављено је издање пројекта СхеллЦхецк 0.9 којим се развија систем за статичку анализу схелл скрипти који подржава идентификацију грешака у скриптама узимајући у обзир карактеристике басх, сх, ксх и дасх. Код пројекта је написан на Хаскелл-у и дистрибуиран под ГПЛв3 лиценцом. Компоненте су обезбеђене за интеграцију са Вимом, Емацс, ВСЦоде, Сублиме, Атом и различитим оквирима који подржавају извештавање о грешкама компатибилним са ГЦЦ.

Доступан је СхеллЦхецк 0.9, статички анализатор за схелл скрипте

Подржава идентификацију како синтаксичких грешака у коду, које доводе до тога да тумач прикаже грешку у тренутку извршавања, тако и семантичких проблема због којих се извршавање не поремети, али долази до аномалија у понашању скрипте. Анализатор такође може да идентификује уска грла, неочигледне проблеме и замке које могу довести до кварова под одређеним околностима.

Међу класама откривених грешака можемо приметити проблеме са избегавањем специјалних знакова и њиховим постављањем у наводнике, грешке у условним изразима, нетачну употребу команди, проблеме са обрадом времена и датума и типичне грешке у синтакси за почетнике. На пример, одсуство размака приликом поређења „[[ $фоо==0 ]]“, присуство размака „вар = 42“ или индикација симбола $ приликом додељивања „$фоо=42“, употреба променљивих без наводника „ецхо $1“, назнака додатних угластих заграда у „тр -цд '[а-зА-З0-9]'“,

Поред тога, подржава излаз препорука за побољшање стила кода, елиминисање проблема са преносивости и повећање поузданости скрипти. На пример, уместо „ецхо $[1+2]“ биће предложено коришћење синтаксе „$((..))“, конструкција „рм -рф „$СТЕАМРООТ/”*“ ће бити означена као небезбедна и може да избрише основни директоријум ако променљива није попуњена $СТЕАМРООТ, а употреба "ецхо {1..10}" ће бити означена као некомпатибилна са цртицама и сх.

У новој верзији:

  • Додато упозорење за изразе као што је 'лоцал реадонли фоо'.
  • Додато упозорење о недоступним командама.
  • Додато упозорење о повратним везама за 'декларисање к=1 и=$к'.
  • Додато упозорење ако $? користи се за штампање повратног кода за ецхо, принтф, [ ], [[ ]] и тест.
  • Додата препорука за уклањање ((..))инарраи[((идк))]=вал.
  • Додата препорука за спајање двоструких заграда у аритметичким контекстима.
  • Додата је препорука за уклањање заграда у изразу а[(к+1)]=вал.

Извор: опеннет.ру

Додај коментар