ShellCheck 0.9 waa la heli karaa, falanqeeye taagan oo ah qoraallada qolofka

Siidaynta mashruuca ShellCheck 0.9 waa la daabacay, iyada oo la samaynayo nidaamka falanqaynta joogtada ah ee qoraallada qolofka ee taageera aqoonsiga khaladaadka qoraallada iyada oo la tixgelinayo astaamaha bash, sh, ksh iyo jeex. Xeerka mashruuca wuxuu ku qoran yahay Haskell waxaana lagu qaybiyay shatiga GPLv3. Qaybaha waxaa loo bixiyaa is dhex galka Vim, Emacs, VSCode, Sublime, Atom, iyo qaabab kala duwan oo taageera GCC-ku-habboonaanta warbixinta qaladka.

ShellCheck 0.9 waa la heli karaa, falanqeeye taagan oo ah qoraallada qolofka

Waxay taageertaa in la aqoonsado khaladaadka syntax ee code-ka, taas oo u horseedaysa turjubaanka inuu muujiyo khalad wakhtiga la fulinayo, iyo dhibaatooyinka semantic, taas oo ay ugu wacan tahay fulinta aan la carqaladayn, laakiin cillado ku yimaada habdhaqanka qoraalka ayaa dhacaya. Falanqeeyuhu waxa kale oo uu aqoonsan karaa caqabadaha, dhibaatooyinka aan caddayn iyo dabinnada keeni kara guul-darrooyinka duruufaha qaarkood.

Waxaa ka mid ah fasalada khaladaadka la ogaaday, waxaan ogaan karnaa dhibaatooyinka ka baxsanaya jilayaasha gaarka ah iyo ku dhejinta xigashooyinka, khaladaadka tibaaxaha shuruudaha, isticmaalka khaldan ee amarrada, dhibaatooyinka socodsiinta wakhtiga iyo taariikhda, iyo khaladaadka caadiga ah ee bilowga ah. Tusaale ahaan, maqnaanshaha boosaska marka la is barbar dhigo "[[$foo==0]]", joogitaanka boosaska "var = 42" ama calaamadda $ calaamadda marka la meeleynayo "$ foo=42", isticmaalka doorsoomayaasha iyada oo aan la soo xigan "echo $1", calaamada xargaha labajibbaaran ee dheeraadka ah ee "tr -cd"[a-zA-Z0-9]",

Intaa waxaa dheer, waxay taageertaa soo saarista talooyinka hagaajinta qaabka koodka, baabi'inta dhibaatooyinka la qaadi karo, iyo kordhinta kalsoonida qoraallada. Tusaale ahaan, halkii laga isticmaali lahaa "echo $[1+2]" waxaa la soo jeedin doonaa in la isticmaalo ereyga "$((..))", dhismaha 'rm -rf"$STEAMROOT/"*' waxa lagu calaamadin doonaa mid aan badbaado lahayn. oo awood u leh inay tirtirto tusaha xididka haddii doorsoomuhu aanu buuxin $STEAMROOT, iyo isticmaalka "echo {1..10}" waxaa loo iftiimin doonaa inuu yahay mid aan ku habboonayn dash iyo sh.

Nooca cusub:

  • Digniin lagu daray tibaaxaha sida 'Readonly Foo'.
  • Digniin lagu daray amarrada aan la heli karin
  • Digniin lagu daray oo ku saabsan backlinks si 'ku dhawaaqo x=1 y=$x'.
  • Digniin lagu daray haddii $? loo isticmaalo in lagu daabaco koodhka soo celinta ee echo, printf, [], [[]] iyo imtixaan.
  • Talo lagu daray in meesha laga saaro ((..))inarray[((idx))]=val.
  • Waxaa lagu daray talo ku saabsan isku dhafka laba-geeska laba-geeska ah ee xaaladaha xisaabta.
  • Waxaa lagu daray talo ah in meesha laga saaro jaantusyada weedha a[(x+1)]=val.

Source: opennet.ru

Add a comment