Поиск по сайту:

Найдите ошибки в ваших сценариях оболочки с помощью ShellCheck

Вы начинающий программист и только что написали простой сценарий оболочки. Вы хотели проверить, нет ли в нем ошибок, но не знаете как? Не беспокойся! Теперь вы можете легко находить ошибки в сценариях оболочки с помощью ShellCheck в Linux.

ShellCheck — это инструмент статического анализа сценариев оболочки. ShellCheck проанализирует сценарий оболочки и мгновенно покажет, есть ли в ваших сценариях ошибки. Он написан на языке Haskell и свободно распространяется под лицензией GPLv3.

ShellCheck проанализирует скрипт и выполнит следующее:

  • Проверьте правильность цитирования,
  • Проверьте наличие неправильных тестовых утверждений,
  • Распознавать неправильные команды,
  • Распознавать синтаксические ошибки,
  • Предложить вам улучшить стиль сценария,
  • Распознавать опечатки,
  • Улучшите надежность вашего скрипта,
  • И проверьте несколько других проблем.

Вам не нужна помощь специалиста для исправления ошибок в ваших скриптах. Просто откройте ShellCheck, вставьте свой скрипт и — бац! Вы можете использовать ShellCheck как онлайн, так и оффлайн. В этом кратком уроке я покажу вам оба!

ShellCheck в Интернете

Вы можете проверить сценарии онлайн в любой момент, посетив веб-сайт ShellCheck.

Откройте веб-браузер и перейдите по следующей ссылке.

Вставьте в него свой сценарий оболочки, чтобы получить мгновенную обратную связь.

Пример вывода:

Проверьте сценарии оболочки на веб-сайте ShellCheck.

Примечание. Я не писал сценарий, используемый в этом примере. Я только что нашел его в Интернете, чтобы протестировать ShellCheck.

Кроме того, вы можете установить его на свой компьютер Linux и протестировать свой скрипт в любое время в автономном режиме.

Установите ShellCheck в Linux

ShellCheck поставляется для большинства операционных систем Linux. Вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива, как показано ниже.

В Arch Linux и его производных:

sudo pacman -S shellcheck

В Debian, Ubuntu, Linux Mint выполните следующую команду, чтобы установить его:

sudo apt-get install shellcheck

В RHEL CentOS включает репозиторий EPEL:

sudo yum -y install epel-release

И устанавливаем шеллчек:

sudo yum install ShellCheck

В системах Fedora:

sudo dnf install ShellCheck

В openSUSE (версия Tumbleweed) выполните следующую команду:

sudo zypper in ShellCheck

Информацию о других дистрибутивах можно найти на официальной странице установки.

Найдите ошибки в сценариях оболочки с помощью ShellCheck в Linux

После установки откройте Терминал и выполните следующую команду, чтобы протестировать ваши скрипты.

shellcheck <path_of_your_script>

Пример: 

shellcheck myscript.sh

Пример вывода:

In myscript.sh line 1:
This script displays the date, time, username and
^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang.


In myscript.sh line 6:
 echo "Your username is: `whoami` \\n"
 ^-- SC2006: Use $(..) instead of legacy `..`.
 ^-- SC2028: echo won't expand escape sequences. Consider printf.

Найдите ошибки в ваших сценариях оболочки с помощью ShellCheck

Как вы видите в приведенном выше выводе, ShellCheck отображает предложения в строке 1 и строке 6.

Помните, что ShellCheck не исправляет ошибки в скриптах автоматически. Вместо этого он будет выдавать предупреждения и предложения для ваших сценариев оболочки.

Утилита ShellCheck может быть полезна всем, кто хочет научиться написанию сценариев Shell. Просто напишите скрипт, скопируйте/вставьте код в ShellCheck и найдите ошибки. Это так просто!

Ресурсы:

  • Веб-сайт ShellCheck
  • ShellCheck на GitHub

Статьи по данной тематике