Наличие новая версия Шеллчек 0.9, статический анализатор сценариев оболочки, который является отличным инструментом для анализа кода.
Для тех, кто не знает ШеллПроверить они должны знать, что это это инструмент статического анализа отображение предупреждений и подсказок о плохих кодах в сценариях оболочки bash/sh.
Его можно использовать несколькими способами: из Интернета путем вставки сценария оболочки в онлайн-редактор или, альтернативно, это может быть установка его в вашей системе и запуск из терминала, интеграция с вашим текстовым редактором, а также в ваша подборка или комплекты доказательств.
ShellCheck в первую очередь выполняет три задачи:
- Укажите и объясните типичные синтаксические проблемы новичков, которые заставляют оболочку выдавать загадочные сообщения об ошибках.
- Укажите и объясните типичные семантические проблемы среднего уровня, из-за которых оболочка ведет себя странно.
- Он также указывает на тонкие предупреждения, которые могут привести к сбою работающего расширенного сценария в будущем.
Кроме того, он поддерживает вывод рекомендаций по улучшению стиля кода, устранению проблем с переносимостью и повышению надежности скриптов. Например, вместо «echo $[1+2]» будет предложено использовать синтаксис «$((…))», конструкция ‘rm -rf «$STEAMROOT/»*’ будет помечена как небезопасно и способно удалить корневую директорию, если переменная $STEAMROOT не заполнена и при использовании «echo {1..10}» будет выделено как несовместимое с тире и sh.
Основные новые возможности ShellCheck 0.9
Новая версия ShellCheck 0.9 поставляется с несколькими изменениями, из которых мы можем выделить добавление рекомендация удалить ((..))inarray[((idx))]=val, а также это добавило предупреждение о недоступных командах.
Одно из других заметных изменений заключается в том, что для «declare x = 1 y = $x» было добавлено предупреждение о обратной ссылке, а также добавлено предупреждение, если $? используется для выдачи кода возврата echo, printf, [ ], [[ ]] и test.
В дополнение к этому, мы также можем обнаружить, что новый рекомендация объединять двойные квадратные скобки в арифметических контекстах, а также рекомендацию убрать скобки в выражении a[(x+1)]=val.
Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.
Как установить ShellCheck в Linux?
Если вы хотите получить эту замечательную утилиту, все, что вам нужно сделать, это открыть терминал в вашей системе и ввести одну из следующих команд в зависимости от используемого вами дистрибутива Linux.
Пользователи Debian, Ubuntu и любого другого дистрибутива, созданного на их основе, просто введите в терминале следующую команду:
sudo apt-get установить shellcheck
Если они пользователи RHEL, CentOS, Fedora или любой другой дистрибутив, созданный на их основе, можно установить с помощью:
sudo dnf установить shellcheck
Для пользователей Arch Linux, Antergos, Manjaro и производные от Arch Linux, установите утилиту с помощью:
sudo pacman -S проверка оболочки
В то время как для тех, кто является пользователями openSUSE, установка выполняется с помощью:
sudo zypper in shellcheck
Si используйте текстовый редактор Atom, вы также можете использовать ShellCheck прямо в окне редактора. Им просто нужно установить пакеты Atom, необходимые для ShellCheck:
apm установить линтер linter-shellcheck
ShellCheck тОн также поддерживает другие редакторы, такие как: Vim, Emacs, Sublime и т. Д. Вы можете найти полный список По следующей ссылке.
Базовое использование ShellCheck
После установки необходимых пакетов для ShellCheck в вашей системе, они могут использовать их со своего терминала, им просто нужно написать следующую команду:
shellcheck / путь / к / файлу
Где им просто нужно указать путь с именем файла сценария оболочки.
Использование ShellCheck онлайн
Кроме того, вы можете использовать ShellCheck онлайн, не устанавливая ничего в вашей системе, поэтому вам нужно только использовать предпочитаемый веб-браузер и перейти на по следующей ссылке.
Здесь им просто нужно скопировать коды из своего сценария оболочки, и отобразится вывод ShellCheck.