Лесно намерите грешки в Shell скриптове с ShellCheck

Кратко: ShellCheck е удобен инструмент, който ви предупреждава за възможен синтаксис и прости логически грешки, без да изпълнявате. Можете да го използвате и с текстов редактор Atom.

Както всички знаем, терминалът е неразделна част от системата Linux. А зад всичко, което правим в терминала, е черупката - програма, която взаимодейства със самата операционна система. Всяка команда, която влизаме в терминала, в крайна сметка се интерпретира от черупката и след това действа съответно.

Shell като език за програмиране

Въпреки това има още нещо за черупката. UNIX обвивката не е само интерпретатор на команди, тя служи и като език за програмиране! Shell като програмен език осигурява променливи, конструкции за управление на потока, цитиране и функции.

Файл, съдържащ команди и кодове на обвивката, се нарича Shell Script. Така че, можете да изпълнявате различни сложни задачи и автоматизация за вашата система, използвайки скриптове.

Както и да е, тъй като ние сме хора, правим грешки. Така че очевидно при писането на скриптове ще правите грешки, като например - синтактични грешки, грешки, лоши модели и т.н. Тук ще знаем за инструмента - ShellCheck - който ще ни помогне с това.

ShellCheck

ShellCheck е инструмент за статичен анализ за скриптовете ви. Той е с отворен код и е разработен основно за Bash или sh скриптове. Сега може да се чудите, какво, по дяволите, е статичният анализ ? Е, статичният анализ е метод за отстраняване на грешки в програмата, като се изследват неговите (статични) кодове, вместо да се изпълнява / изпълнява.

Нека разгледаме какви видове неща, които ShellCheck проверява за:

  • Цитиране: Shell има специфични начини за използване на променливи и низове. Ако сте ги използвали неправилно, ShellCheck ще ви предупреди.
  • Условия: Проверява се за неправилно използване на изявленията за изпитване.
  • Често използвани команди: ShellCheck ще ви предупреди за неправилно използвани команди на черупката.
  • Общи грешки на начинаещите: Различни синтактични грешки, които потребителите на Shell правят като Shell използва различни строги синтаксични правила, които се различават от другите езици за програмиране. Например: не можете да поставяте пространства около знака = докато декларирате променливите. Повечето езици няма да се интересуват, но тук е важно.
  • Стил: ShellCheck ще ви даде предложения за подобряване на стила на вашия код.
  • Грешки при въвеждане на данни и въвеждане: Различни въпроси, свързани с данните и въвеждането.
  • Устойчивост, преносимост и други : ShellCheck ще даде предложения за стабилност на скриптовете ви, ще ви предупреди за проблеми с преносимостта с различни черупки (bash, sh, ksh, dash и др.) И други неща.

За документация и различна полезна информация, не забравяйте да проверите проекта ShellCheck GitHub:

ShellCheck в GitHub

Инсталиране на ShellCheck

За използване в офлайн режим можете да инсталирате пакета ShellCheck на вашата система. На Ubuntu въведете следната команда във вашия терминал:

 sudo apt install shellcheck 

За други дистрибуции проверете раздела за инсталиране на GitHub ReadMe.

Ако използвате текстов редактор Atom, можете също така да използвате ShellCheck в рамките на прозореца на редактора в движение. Просто инсталирайте необходимите атомни пакети за ShellCheck:

 apm install linter linter-shellcheck 

ShellCheck поддържа и други редактори, като - Vim, Emacs, Sublime и др. Можете да намерите пълен списък в секцията GitHub ReadMe.

Използване на ShellCheck

Онлайн

Можете да използвате ShellCheck онлайн, без да инсталирате нищо на вашата система (въпреки това ще ви трябва уеб браузър, хаха!).

  • Копирайте кодовете на скрипта.
  • Посетете уебсайта на ShellCheck.
  • Поставете кодовете си в редактора.
  • Тя ще покаже изхода ShellCheck.

Ето един пример:

Използване на ShellCheck Online

Интерфейс на командния ред

След като инсталирате необходимите пакети за ShellCheck на вашата система, можете да го използвате от вашия терминал без никаква мрежова свързаност. Просто въведете следната команда:

 shellcheck 

Заменете частта с името на файла на вашия скрипт.

Интерфейс на командния ред ShellCheck

Разширения на редактора

След като инсталирате необходимите разширения за вашия текстов редактор, можете да видите изхода ShellCheck в движение, без да изпълнявате командата shellcheck ръчно. Ето как изглежда редакторът Atom:

Atom с Linter-ShellCheck

Плюсове минуси

Независимо дали сте опитен програмист на Shell или просто начинаещ, имате всичко, за да спечелите и нищо не губите, като използвате ShellCheck. Всеки път, когато пишете скриптове, проверете го с ShellCheck, ще можете да откривате грешки и бъгове по-рано и като цяло да бъдете по-продуктивни с Linux.


Опитвали ли сте се да напишете скрипт преди? Използвахте ли ShellCheck? Ако го направихте, как преживяхте? Споделяйте с нас! :)

Препоръчано

Как да се определи десен клик Touchpad не работи на Ubuntu 18.04
2019
Unity Gaming Engine пристига в Linux
2019
Как да използвате разширенията на GNOME Shell
2019