ShellCheck 0.9, një analizues statik për skriptet shell, tani është i disponueshëm

ËshtĂ« publikuar edicioni i projektit ShellCheck 0.9, i cili zhvillon njĂ« sistem tĂ« analizĂ«s statike pĂ«r skriptet shell, duke mbĂ«shtetur identifikimin e gabimeve nĂ« skripte nĂ« pĂ«rputhje me karakteristikat e bash, sh, ksh dhe dash. Kodi i projektit Ă«shtĂ« shkruar nĂ« Haskell dhe shpĂ«rndahet nĂ«n licencĂ«n GPLv3. Ofron komponente pĂ«r integrim me Vim, Emacs, VSCode, Sublime, Atom dhe mjedise tĂ« ndryshme tĂ« integruara qĂ« mbĂ«shtesin informacione pĂ«r gabimet tĂ« pĂ«rshtatshme pĂ«r GCC.

ShellCheck 0.9, një analizues statik për skriptet shell, tani është i disponueshëm

Mbështetet identifikimi në kod si i gabimeve sintaksore, të cilat çojnë në nxjerrjen e një gabimi nga interpretuese në momentin e ekzekutimit, ashtu edhe i problemeve semantike, për të cilat ekzekutimi nuk ndërpritet, por ndodhin anomali në sjelljen e skriptit. Analizatori gjithashtu mund të identifikojë pika të dobëta, probleme të padukshme dhe pengesa që mund të çojnë në dështime në rast të ndodhisë të caktuar.

Nga klasat e gabimeve tĂ« identifikueshme, mund tĂ« pĂ«rmendim problemet me ekranuar simbolikĂ«ve specialĂ« dhe mbylljen nĂ« thonjĂ«za, gabime nĂ« shprehjet kushtore, pĂ«rdorim tĂ« gabuar tĂ« komandave, probleme nĂ« pĂ«rpunimin e kohĂ«s dhe datave, dhe gabime tipike sintaksore tĂ« fillestarĂ«ve. PĂ«r shembull, mungesa e hapĂ«sirave gjatĂ« krahasimit ‘[[ $foo==0 ]]’, prania e hapĂ«sirave ‘var = 42’ ose caktimi i simbolit $ gjatĂ« atribuimit ‘$foo=42’, pĂ«rdorimi i variablave pa thonjĂ«za ‘echo $1’, caktimi i skedave tĂ« tepĂ«rta nĂ« ‘tr -cd ‘[a-zA-Z0-9]’,

PĂ«r mĂ« tepĂ«r, mbĂ«shtetet ofrimi i rekomandimeve pĂ«r pĂ«rmirĂ«simin e stilit tĂ« kodit, riparimin e problemeve me portabilitetin dhe rritjen e besueshmĂ«risĂ« sĂ« ekzekutimit tĂ« skripteve. PĂ«r shembull, nĂ« vend tĂ« ‘echo $[1+2]’ do tĂ« sugjerohet tĂ« pĂ«rdoret sintaksa ‘$((..))’, konstrukti ‘rm -rf "$STEAMROOT/"*’ do tĂ« shĂ«nohet si i pasigurt dhe i aftĂ« pĂ«r tĂ« fshirĂ« katalogun kryesor nĂ«se variabla $STEAMROOT nuk Ă«shtĂ« e mbushur, ndĂ«rsa pĂ«rdorimi i ‘echo {1..10}’ do tĂ« theksohet si jo e pĂ«rputhshme me dash dhe sh.

NĂ« versionin e ri:

  • Shtuar njĂ« paralajmĂ«rim pĂ«r shprehjet e llojit ‘local readonly foo’.
  • Shtuar njĂ« paralajmĂ«rim pĂ«r pamundĂ«sinĂ« e komandave.
  • Shtuar njĂ« paralajmĂ«rim pĂ«r referencat mbrapsht nĂ« ‘declare x=1 y=$x’.
  • Shtuar njĂ« paralajmĂ«rim, nĂ«se $? pĂ«rdoret pĂ«r tĂ« dhĂ«nĂ« kodin e rikthimit echo, printf, [ ], [[ ]] dhe test.
  • Shtuar njĂ« rekomandim pĂ«r tĂ« hequr ((..))inarray[((idx))]=val.
  • Shtuar njĂ« rekomandim pĂ«r kombinimin e dy thonjĂ«zave nĂ« kontekste aritmetike.
  • Shtuar njĂ« rekomandim pĂ«r tĂ« hequr thonjĂ«zat e rrethuara nĂ« shprehjen a[(x+1)]=val.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster