An saki ShellCheck 0.9. Yana haɓaka tsarin bincike a tsaye don rubutun harsashi wanda ke tallafawa gano kuskure a cikin rubutun, la'akari da takamaiman fasali na bash, sh, ksh, da dash. An rubuta lambar aikin a Haskell kuma ana rarraba ta ƙarƙashin lasisin GPLv3. An ba da abubuwan haɗin gwiwa tare da Vim, Emacs, VSCode, Sublime, Atom, da IDE daban-daban waɗanda ke goyan bayan rahoton kuskure masu jituwa na GCC.

Mai nazari yana goyan bayan gano kurakuran haɗin gwiwa guda biyu, waɗanda ke haifar da mai fassara don fitar da kuskure a lokacin aiki, da kuma batutuwan ma'ana, waɗanda ba sa rushe aiwatarwa amma suna haifar da rashin daidaituwa a cikin halayen rubutun. Har ila yau, mai nazari na iya gano kwalabe, batutuwa masu hankali, da magudanar ruwa waɗanda za su iya haifar da haɗari a wasu yanayi.
Daga cikin nau'o'in kurakurai da za a iya ganowa akwai matsaloli tare da guje wa haruffa na musamman da faɗarwa, kurakurai a cikin maganganun sharadi, rashin amfani da umarni mara kyau, matsaloli tare da sarrafa lokaci da kwanan wata, da kuma kurakurai na yau da kullun na masu farawa. Misali, bacewar sarari yayin kwatanta "[[$foo==0]]", kasancewar sarari a cikin "var = 42" ko ƙayyade alamar $ lokacin sanya "$ foo=42", ta amfani da masu canji ba tare da ambaton "echo $1", yana ƙayyade maƙallan murabba'in da ba dole ba a cikin "tr -cd '[a-zA-Z0-9]'",
Bugu da ƙari, ana tallafawa shawarwari don inganta salon lambar, kawar da al'amurran da suka shafi ɗaukar hoto, da haɓaka amincin rubutun. Alal misali, maimakon "echo $[1+2]," za a ba da shawarar ma'anar "$((..))"; ginin' rm -rf "$ STEAMROOT/"*' za a yi masa alama a matsayin mara lafiya kuma yana iya share tushen littafin idan madaidaicin $STEAMROOT ba komai; kuma amfani da "echo {1..10}" za a yi alama a matsayin wanda bai dace da dash da sh.
A cikin sabon sigar:
- Ƙara faɗakarwa don maganganu kamar ' readonly foo'.
- Ƙara gargadi game da rashin samun umarni.
- Ƙara faɗakarwa game da bayanan baya a cikin 'bayyana x=1 y=$x'.
- Ƙara gargadi idan $? ana amfani da shi don dawo da lambar dawowar echo, printf, [], [[]] da gwaji.
- Ƙarin shawarwarin don cire ((..)) rashin tsari[((idx))]=val.
- Ƙarin shawarwarin don haɗa baka biyu a cikin mahallin lissafi.
- Ƙarin shawarwarin don cire bakan gizo a cikin kalmar a[(x+1)]=val.
source: budenet.ru
