ShellCheck 0.9 është disponible, një analizues statik për skriptet shell

ËshtĂ« publikuar versioni 0.9 i projektit ShellCheck, i cili zhvillon njĂ« sistem analizimi statik pĂ«r shell scripts, duke mbĂ«shtetur identifikimin e gabimeve nĂ« skriptet me shpĂ«rndarjen e veçorive tĂ« bash, sh, ksh dhe dash. Kodi i projektit Ă«shtĂ« shkruar nĂ« gjuhĂ«n Haskell dhe shpĂ«rndahet nĂ«n licencĂ«n GPLv3. Ofrohen komponentĂ« pĂ«r integrim me Vim, Emacs, VSCode, Sublime, Atom dhe mjedise tĂ« ndryshme tĂ« integruara qĂ« mbĂ«shtesin daljen e informacionit mbi gabimet nĂ« pĂ«rputhje me GCC.

ShellCheck 0.9 është disponible, një analizues statik për skriptet shell

Mbështetet identifikimi në kod si të gabimeve sintaksore që shkaktojnë një gabim në ekzekutimin e interpretorit, ashtu edhe problemeve semantike, të cilat, ndonëse ekzekutimi nuk ndërpritet, shkaktojnë anomali në sjelljen e skriptit. Analizuesi gjithashtu mund të identifikojë ngushticat, problemet e padukshme dhe pengesat që mund të çojnë në dështime nën disa rrethana.

Nga klasat e gabimeve qĂ« identifikohen, mund tĂ« pĂ«rmendim problemet me ekranuar simbolat e veçantĂ« dhe kufizimin me citoj, gabimet nĂ« shprehjet kushtore, pĂ«rdorimin e pasaktĂ« tĂ« komandeve, si dhe problemet me pĂ«rpunimin e kohĂ«s dhe datave, si dhe gabime sintaksore tipike tĂ« fillestarĂ«ve. PĂ«r shembull, mungesa e hapĂ«sirave gjatĂ« krahasimit «[[ $foo==0 ]]», pranimi i hapĂ«sirave «var = 42» ose indicimi i simbolit $ gjatĂ« caktimit «$foo=42», pĂ«rdorimi i variablave pa citoj «echo $1», indicimi i skedave tĂ« tepĂ«rta nĂ« «tr -cd ‘[a-zA-Z0-9]'»

PĂ«rveç kĂ«saj, mbĂ«shtetet ofrimi i rekomandimeve pĂ«r pĂ«rmirĂ«simin e stilit tĂ« kodit, eliminimin e problemeve me portabilitetin dhe rritjen e besueshmĂ«risĂ« sĂ« funksionimit tĂ« skripteve. PĂ«r shembull, nĂ« vend tĂ« «echo $[1+2]» do tĂ« rekomandohet pĂ«rdorimi i sintaksĂ«s «$((..))», konstrukti ‘rm -rf «$STEAMROOT/»*’ do tĂ« shĂ«nohet si e pasigurt dhe nĂ« gjendje tĂ« fshijĂ« katalogun rrĂ«njĂ« nĂ«se variabla $STEAMROOT nuk Ă«shtĂ« e mbushur, ndĂ«rsa pĂ«rdorimi i «echo {1..10}» do tĂ« theksohet si jo pĂ«rputhĂ«s me dash dhe sh.

Në këtë version të ri:

  • ËshtĂ« shtuar njĂ« paralajmĂ«rim pĂ«r shprehjet e llojit ‘local readonly foo’.
  • ËshtĂ« shtuar njĂ« paralajmĂ«rim pĂ«r komandat qĂ« nuk janĂ« tĂ« disponueshme.
  • ËshtĂ« shtuar njĂ« paralajmĂ«rim pĂ«r referencat e prapme nĂ« ‘declare x=1 y=$x’.
  • ËshtĂ« shtuar njĂ« paralajmĂ«rim, nĂ«se $? pĂ«rdoret pĂ«r tĂ« dhĂ«nĂ« kodin e kthimit tĂ« echo, printf, [ ], [[ ]] dhe test.
  • ËshtĂ« shtuar njĂ« rekomandim pĂ«r tĂ« fshirĂ« ((..))inarray[((idx))]=val.
  • ËshtĂ« shtuar njĂ« rekomandim pĂ«r tĂ« bashkuar dyfishin e kornizave nĂ« kontekste aritmetike.
  • ËshtĂ« shtuar njĂ« rekomandim pĂ«r tĂ« fshirĂ« kornizat e rretha nĂ« shprehjen a[(x+1)]=val.

Burimi: opennet.ru

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