ShellCheck का परिचय
- ShellCheck shell scripts में bugs ढूंढने वाला एक tool है.
- इसे local environment में cabal, apt, dnf, pkg, brew के ज़रिए install किया जा सकता है.
- script को paste करने पर ShellCheck analysis result दिखाता है.
ShellCheck की विशेषताएँ
- ShellCheck को GPLv3 license के तहत स्वतंत्र रूप से इस्तेमाल किया जा सकता है.
- इसका documentation ShellCheck Wiki में उपलब्ध है, और source code GitHub पर देखा जा सकता है.
- यह ज़्यादातर distributions या package managers में पहले से packaged है.
- प्रमुख editors में integrated linter के रूप में supported है, और CodeClimate, Codacy, CodeFactor के ज़रिए GitHub repositories के code की automatic checking की जा सकती है.
- यह Haskell भाषा में लिखा गया है, इसलिए उस भाषा में रुचि रखने वाले users के लिए भी उपयुक्त है.
आभार
- GitHub Sponsors के लिए विशेष धन्यवाद: Gitpod, Mercedes-Benz, BashSupport Pro, per1234, WhitewaterFoundry, cavcrosby, dcminter, photostructure, Cronitor, djdefi, steve-chavez आदि.
GN⁺ की राय
- इस लेख की सबसे महत्वपूर्ण बात यह है कि ShellCheck shell scripts में bugs खोजने के लिए एक उपयोगी tool है.
- ShellCheck मुफ़्त है, कई platforms और editors पर supported है, और इस्तेमाल में आसान है—यह बात लोगों को दिलचस्प लग सकती है.
- खास तौर पर, open source community का support और Haskell में develop किया जाना software developers के लिए आकर्षक हो सकता है.
1 टिप्पणियां
Hacker News राय
स्क्रिप्ट लिखते समय सावधानियां
-u(nounset) option का उपयोग करके undeclared variables के इस्तेमाल पर error कराने की सिफारिश की गई। array expansion के समय खाली array का unbound माना जाना एक अपवाद है.-n(noexec) option का उपयोग करके command execution रोका जा सकता है और fake execution (dry-run) आज़माया जा सकता है.-e(errexit) option भी उपयोगी है, लेकिन यह ध्यान रखना चाहिए कि केवल failed "naked" commands ही exit को trigger करती हैं. इससे बचने के लिए command में|| fail "..."जोड़ना पसंद किया जाता है.shell script की vulnerabilities ढूँढना
$((1 + ENV_VAR))के माध्यम से$ENV_VARको control किया जा सकता है, तो code inject किया जा सकता है.Shellcheck और strictbash
Shellcheck का उल्लेख
Haskell और Turtle का उपयोग
Shellcheck और linters का उपयोग
.gitlab-ci.ymlfiles में शामिल होती हैं, इसलिए उनकी जांच करना मुश्किल होता है. इसे अपने-आप जांचने के लिए एक wrapper बनाया गया.Bash language server
Shellcheck का सीखने वाला प्रभाव
/bin/shscript की जांच की गई, तब 80 के दशक से scripts लिखने के अनुभव के बावजूद कुछ नया सीखने को मिला.Bach उपयोग की सिफारिश
Shellcheck और source/import handling