Iyo static yekuongorora utility yeShellCheck 0.9 zvinyorwa zvave kuburitswa

shell check

ShellCheck ndeye yakavhurika sosi static yekuongorora chishandiso icho chinongowana zvikanganiso mune yako shell zvinyorwa.

Kuwanikwa kwe iyo nyowani vhezheni ye ShellCheck 0.9, a static analyzer ye shell scripts inova chishandiso chakanakisa chekuongorora kodhi.

Kune avo vasingazive ShellCheck vanofanira kuziva kuti izvi iri static yekuongorora chishandiso kuratidza yambiro uye mazano pamusoro pemakodhi akaipa mune bash/sh shell zvinyorwa.

Inogona kushandiswa nenzira dzinoverengeka: kubva pawebhu nekunamatira yako Shell script mune yepamhepo mupepeti kana neimwe nzira, inogona kunge iri yekumisikidza pane yako system uye nekumhanya kubva kune iyo terminal, kuisanganisa neyako mameseji edhita, uyezve mune yako compilation kana masuti e humbowo.

Pane zvinhu zvitatu zvinoitwa naShellCheck zvakanyanya:

  • Nongedzera uye tsanangudza chaiwo anotanga syntax matambudziko anokonzeresa kuti shell ipe yakavanzika mhosho mameseji.
  • Nongedzera uye tsanangura zvakajairika zvepakati-nhanho semantic matambudziko anokonzeresa kuti goko riite zvisingaite.
  • Inonongedzera zvekare yambiro, iyo inogona kukonzeresa kushanda yakakwira script kutadza mune ramangwana mamiriro.

Pamusoro pezvo, inotsigira kuburitsa kurudziro yekuvandudza kodhi dhizaini, kubvisa nyaya dzekutakurika, nekuvandudza script kuvimbika. Semuenzaniso, pachinzvimbo che "echo $[1+2]" zvinokurudzirwa kushandisa syntax "$((...))", iyo inovaka 'rm -rf "$STEAMROOT/"*' ichamakwa se. isina kuchengetedzeka uye inokwanisa kubvisa dhairekitori remidzi kana shanduko isina kuzadzwa $STEAMROOT uye kushandisa "echo {1..10}" ichasimbiswa seisingaenderane nedash uye sh.

Hunhu hutsva hutsva hweShellCheck 0.9

Iyo nyowani vhezheni yeShellCheck 0.9 inosvika ine mashoma shanduko, yatinogona kuratidza kuwedzera kwea kurudziro yekubvisa ((..))inarray[((idx)))]=val, pamwe neiyo yakawedzera a yambiro pamusoro pemirairo isingawanikwe.

Imwe yedzimwe shanduko inomira pachena ndeyekuti yambiro yekumashure yakawedzerwa ye 'declare x = 1 y = $x', pamwe neyambiro yakawedzerwa kana $? inoshandiswa kuburitsa kodhi yekudzoka ye echo, printf, [], [[]], uye test.

Pamusoro peizvi, tinogona zvakare kuwana kuti itsva kurudziro yekubatanidza mabhuraketi akapetwa kaviri mune arithmetic mamiriro, pamwe nekurudziro yekubvisa maparentheses muchirevo a[(x+1)]=val.

Chekupedzisira, kana iwe uchida kukwanisa kuziva zvakawanda nezvazvo, unogona kubvunza iwo ruzivo mu inotevera chinongedzo.

Maitiro ekuisa ShellCheck paLinux?

Kana iwe uchifarira kukwanisa kuwana iyi huru yekushandisa, chaunofanirwa kuita kuvhura terminal pane yako system uye nyora imwe yeinotevera mirairo, zvinoenderana nekugovera kweLinux yauri kushandisa.

Vashandisi veDebian, Ubuntu uye chero kumwe kugovera kunobva pane izvi, ingo nyora mune terminal murairo unotevera:

sudo apt-tora kuisa shellcheck

Kana vari vashandisi ve RHEL, CentOS, Fedora kana chero kugoverwa kunobva pane izvi, kunogona kuisa ne:

sudo dnf gadza shellcheck

Kune vashandisi ve Arch Linux, Antergos, Manjaro uye zvigadzirwa zveArch Linux, isa zvinoshandiswa ne:

sudo pacman -S shellcheck

Ipo kune avo vanovhuraSUSE vashandisi, kuisirwa kunoitwa ne:

sudo zypper in shellcheck

Si shandisa Atom chinyorwa mupepeti, unogona zvakare kushandisa ShellCheck mukati mewadhinda hwindo rako uchienda. Ivo vanongofanirwa kuisa iwo maatomu mapakeji anodiwa kuShellCheck:

apm kuisa linter linter-shellcheck

ShellCheck tIyo zvakare inotsigira vamwe vapepeti, senge: Vim, Emacs, Sublime, nezvimwe. Unogona kuwana rondedzero yakakwana Mune inotevera chinongedzo.  

Kushandiswa kwekutanga kweShellCheck

Mushure mekuisa anodiwa mapakeji eShellCheck pane yako system, ivo vanogona kuvashandisa kubva kumagumo avo, ivo vanongofanirwa kunyora unotevera kuraira:

shellcheck / path / to / file

Iko kwavanongofanira kuisa nzira ine zita rezita reiyo Shell script.

Uchishandisa ShellCheck pamhepo

Zvakare, iwe unogona kushandisa ShellCheck pamhepo pasina kuisa chero chinhu pane yako system, saka iwe unongoda kushandisa yako yaunofarira web browser uye enda ku kune inotevera chinongedzo.

Pano ivo vanongofanirwa kuteedzera macode kubva kune yavo Shell script uye kuburitswa kweShellCheck kucharatidzwa.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako