Tha ShellCheck 0.9 ri fhaighinn, anailisiche statach airson sgriobtaichean shligean

Chaidh sgaoileadh a’ phròiseict ShellCheck 0.9 fhoillseachadh, a’ leasachadh siostam airson mion-sgrùdadh statach air sgriobtaichean shligean a bheir taic do bhith a’ comharrachadh mhearachdan ann an sgriobtaichean a’ toirt aire do fheartan bash, sh, ksh agus dash. Tha còd a’ phròiseict air a sgrìobhadh ann an Haskell agus air a sgaoileadh fo chead GPLv3. Tha co-phàirtean air an toirt seachad airson amalachadh le Vim, Emacs, VSCode, Sublime, Atom, agus diofar fhrèaman a bheir taic do aithris mhearachdan a tha co-chosmhail ri GCC.

Tha ShellCheck 0.9 ri fhaighinn, anailisiche statach airson sgriobtaichean shligean

Tha e a’ toirt taic do bhith a’ comharrachadh an dà chuid mearachdan co-chòrdadh sa chòd, a tha a’ ciallachadh gu bheil an eadar-theangair a’ nochdadh mearachd aig àm cur gu bàs, agus duilgheadasan semantach, air sgàth sin nach tèid dragh a chuir air coileanadh, ach tha neo-riaghailteachdan ann an giùlan an sgriobt a’ tachairt. Faodaidh an anailisiche cuideachd botail, duilgheadasan neo-fhollaiseach agus lochdan a chomharrachadh a dh’ fhaodadh fàilligidhean adhbhrachadh ann an suidheachaidhean sònraichte.

Am measg nan clasaichean de mhearachdan a chaidh a lorg, is urrainn dhuinn duilgheadasan a thoirt fa-near le bhith a’ teicheadh ​​​​bho charactaran sònraichte agus gan cumadh ann an luachan, mearachdan ann an abairtean cumhach, cleachdadh mì-cheart de dh’ àitheantan, duilgheadasan giollachd ùine agus cinn-latha, agus mearachdan co-chòrdadh àbhaisteach airson luchd-tòiseachaidh. Mar eisimpleir, às aonais beàrnan nuair a thathar a’ dèanamh coimeas eadar “[[ $foo===0 ]]”, làthaireachd beàrnan “var = 42” no comharra an t-samhla $ nuair a thathar a’ sònrachadh “$ foo = 42”, cleachdadh chaochladairean às aonais briathran “mac-talla $1”, comharra air camagan ceàrnagach a bharrachd ann an “tr -cd’ [a-zA-Z0-9]’”,

A bharrachd air an sin, tha e a’ toirt taic do thoraidhean mholaidhean airson stoidhle còd a leasachadh, cuir às do dhuilgheadasan so-ghiùlain, agus àrdachadh earbsachd sgriobtaichean. Mar eisimpleir, an àite “echo $[1+2]” bithear a’ moladh an co-chòrdadh “$((..))” a chleachdadh, thèid an togail ‘rm -rf“$STEAMROOT/”*’ a chomharrachadh mar neo-shàbhailte agus comasach air an eòlaire freumha a sguabadh às mura h-eil an caochladair air a lìonadh $ STEAMROOT, agus thèid cleachdadh "echo {1..10}" a chomharrachadh mar neo-chòrdail ri dash is sh.

Anns an dreach ùr:

  • Rabhadh a bharrachd airson abairtean mar ‘local readonly foo’.
  • Rabhadh a bharrachd mu òrdughan nach eil rim faighinn.
  • Chaidh rabhadh a chur ris mu backlinks airson 'declare x=1 y=$x'.
  • Chaidh rabhadh a chur ris ma tha $? air a chleachdadh gus an còd tilleadh mac-talla, printf, [ ], [[ ]] agus deuchainn a chlò-bhualadh.
  • Moladh a bharrachd airson ((..)) a thoirt air falbh[((idx))] = val.
  • Chaidh moladh a chuir ris airson bragan dùbailte a cho-chruinneachadh ann an co-theacsan àireamhachd.
  • Chaidh moladh a chur ris gus brathan a thoirt air falbh san abairt a[(x+1)]=val.

Source: fosgailtenet.ru

Cuir beachd ann