Kei te waatea a ShellCheck 0.9, he kaitirotiro pateko mo nga tuhinga anga

Ko te tukunga o te kaupapa ShellCheck 0.9 kua whakaputahia, e whakawhanake ana i tetahi punaha mo te tātari pateko o nga tuhinga anga e tautoko ana i te tautuhi i nga hapa i roto i nga tuhinga tuhi me te whakaaro ki nga ahuatanga o te bash, sh, ksh me te dash. Ko te waehere kaupapa kua tuhia ki Haskell ka tohatohahia i raro i te raihana GPLv3. Ka whakaratohia nga waahanga mo te whakauru ki a Vim, Emacs, VSCode, Sublime, Atom, me nga momo anga e tautoko ana i te ripoata hapa-hototahi ki te GCC.

Kei te waatea a ShellCheck 0.9, he kaitirotiro pateko mo nga tuhinga anga

E tautoko ana i te tautuhi i nga hapa wetereo e rua i roto i te waehere, e arai ana ki te kaiwhakamaori e whakaatu he hapa i te wa e mahia ana, me nga raruraru o te reo, na te mea kaore i te pakaru te mahi, engari ka puta mai nga rereke o te whanonga o te tuhinga. Ka taea hoki e te kaitataritari te tautuhi i nga pounamu, nga raruraru kore-marama me nga mahanga ka puta ki nga rahunga i raro i etahi ahuatanga.

I roto i nga karaehe o nga hapa kua kitea, ka taea e tatou te kite i nga raru mo te mawhiti i nga tohu motuhake me te hanga i nga korukī, he hapa i roto i nga kupu here, he he te whakamahi i nga whakahau, he raru te wa tukatuka me nga ra, me nga hapa wetereo angamaheni mo te hunga timata. Hei tauira, ko te kore o nga waahi ka whakatauritehia "[[ $foo==0 ]]", te noho o nga waahi "var = 42" ranei te tohu o te tohu $ i te wa e tohuhia ana "$foo=42", te whakamahi i nga taurangi. me te kore korukī “echo $1”, te tohu o etahi atu taiapa tapawha i roto i te "tr -cd '[a-zA-Z0-9]'",

I tua atu, ka tautokohia te putanga o nga taunakitanga mo te whakapai ake i te ahua o te waehere, te whakakore i nga raruraru kawe, me te whakanui ake i te pono o nga tuhinga. Hei tauira, hei utu mo te “echo $[1+2]” ka whakaarohia kia whakamahia te wetereo “$((..))”, ko te hanga 'rm -rf “$STEAMROOT/”*' ka tohua he kore haumaru. me te kaha ki te muku i te whaiaronga pakiaka mena kaore i whakakiia te taurangi $STEAMROOT, a ko te whakamahi i te "echo {1..10}" ka tohuhia he kore e hototahi ki te taarua me te sh.

I roto i te putanga hou:

  • Kua taapirihia he whakatupato mo nga korero penei 'panui anake foo'.
  • Kua taapirihia he whakatupato mo nga tono kore watea.
  • Kua taapirihia he whakatupato mo nga hononga tuara ki te 'whakapuaki x=1 y=$x'.
  • Kua taapirihia he whakatupato mena he $? whakamahia hei tā i te waehere whakahoki o te echo, printf, [ ], [[ ]] me te whakamatautau.
  • Kua taapirihia te taunakitanga hei tango ((..))inarray[((idx))]=val.
  • I taapirihia he taunakitanga mo te whakakotahi i nga reu rua ki nga horopaki tatau.
  • I tapirihia he kupu tohutohu hei tango i nga reu o te kupu a[(x+1)]=val.

Source: opennet.ru

Tāpiri i te kōrero