Как отлаживать сценарии Linux Bash с помощью ShellCheck

Как отлаживать сценарии Linux Bash с помощью ShellCheck

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

Получить ShellCheck

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

Откройте окно терминала и обновите свои пакеты. Затем следуйте инструкциям, которые соответствуют вашей операционной системе Linux.

Ubuntu

ShellCheck находится в официальных источниках программного обеспечения Ubuntu, поэтому установить его довольно просто. В терминале используйте диспетчер пакетов Apt и получите последнюю версию ShellCheck.

sudo apt установить shellcheck

Debian

В Debian Stable есть более старая версия ShellCheck, готовая к установке пользователями. Имейте в виду, что эта версия задерживается из-за того, как работает Debian.

Примечание: хотите более новую версию программы ShellCheck? Следуйте нашему руководству и узнайте, как установить более современное программное обеспечение на Debian .

sudo apt-get install shellcheck

Arch Linux

Чтобы получить ShellCheck на Arch Linux, вам сначала нужно включить программный репозиторий «Сообщество». Для включения «Сообщества» необходимо отредактировать файл Pacman.conf. Чтобы отредактировать файл, откройте Pacman.conf в Nano.

sudo nano /etc/pacman.conf

Прокрутите (с помощью клавиш со стрелками) и найдите в файле раздел «Сообщество». Удалите все вхождения символа # (около трех строк). Затем сохраните изменения, нажав Ctrl + O кнопку.

После внесения новых изменений в Pacman.conf нажмите Ctrl + X, чтобы закрыть Nano. Затем повторно синхронизируйте Pacman, чтобы настроить доступ к репозиторию Arch Linux «Сообщество».

sudo pacman -Syyuu

Наконец, установите ShellCheck в Arch Linux с помощью:

sudo pacman -S shellcheck

Fedora

Чтобы получить инструмент анализа скриптов ShellCheck в Fedora Linux, откройте терминал и используйте инструмент управления пакетами DNF.

sudo dnf установить ShellCheck

OpenSUSE

Установка ShellCheck на OpenSUSE не требует особых действий, как это есть в основных источниках программного обеспечения дистрибутива. Чтобы получить его, введите следующую команду пакета Zypper в окне терминала.

sudo zypper установить ShellCheck

Общий Linux

Пользователи менее известных дистрибутивов Linux, которым нужен доступ к инструменту анализа скриптов ShellCheck, должны установить универсальную двоичную версию. К счастью, эту двоичную версию легко установить и не нужно возиться с исходным кодом. Чтобы заставить его работать, выполните следующие действия!

Шаг 1:   экспортируйте версию ShellCheck, которую вы собираетесь загрузить, в среду своего терминала.

export scversion = " стабильный "  # или "v0.4.7", или "последний"

Шаг 2: с помощью инструмента загрузки wget загрузите последнюю версию двоичного кода ShellCheck.

wget " https://storage.googleapis.com/shellcheck/shellcheck- $ {scversion} .linux.x86_64.tar.xz "

Шаг 3: извлеките архив ShellCheck TarXZ с помощью  команды tar  .

tar --xz -xvf shellcheck- " $ {scversion} " .linux.x86_64.tar.xz

Шаг 4: установите ShellCheck на свой компьютер с Linux с помощью команды cp .

cp shellcheck- " $ {scversion} " / shellcheck / usr / bin /

Отладка скриптов с помощью ShellCheck

Основная цель ShellCheck - просмотреть скрипт (обычно Bash), обнаружить неверно используемые команды и предложить исправления. Для базового использования сделайте следующее.

Во-первых, компакт-диск со сценарием, который вы хотите проверить, находится на вашем компьютере с Linux. В этом руководстве наш скрипт находится в ~ / shell-scripts . Ваш может отличаться.

cd ~ / shell-скрипты

Запустите команду ls и просмотрите все файлы в текущем каталоге.

Примечание: если вы собираетесь использовать ShellCheck в каталоге с несколькими типами файлов, рекомендуется объединить  grep  и  ls  вместе. Совместное использование этих двух команд позволяет отфильтровать все файлы, не относящиеся к сценариям.

ls

Или используйте команду grep для просмотра только файлов сценариев.

ls | grep ".sh"
ls | grep ".bash"

Найдите имя файла сценария в приглашении ls и выделите имя файла с помощью мыши. Когда все будет готово, запустите его через ShellCheck и проверьте свой код.

Как отлаживать сценарии Linux Bash с помощью ShellCheck

shellcheck name-of-file.sh

или

shellcheck имя-файла.bash

Как отлаживать сценарии Linux Bash с помощью ShellCheck

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

Сохранить отчет ShellCheck в файл

Получение мгновенного отчета в терминале для программирования на bash очень полезно, однако вы можете потерять его, если закроете терминал. Чтобы не потерять отчет о проверке оболочки, мы рекомендуем сохранить вывод в текстовый файл, запустив программу в сочетании с функцией >> в терминале.

shellcheck имя-файла.sh >> ~ / Documents / shellcheck-report-name-of-file.sh

или

shellcheck имя-файла.bash >> ~ / Documents / shellcheck-report-имя-файла.bash

Просмотрите сохраненный отчет в терминале с помощью команды cat .

Как отлаживать сценарии Linux Bash с помощью ShellCheck

cat ~ / Documents / shellcheck-report-name-of-file.sh | более

или

cat ~ / Documents / shellcheck-report-name-of-file.bash | более


Улучшите буфер обмена Gnome Shell с помощью Pano

Улучшите буфер обмена Gnome Shell с помощью Pano

Посмотрим правде в глаза, буфер обмена Gnome Shell по умолчанию не очень хорош. Установите Pano, чтобы улучшить работу с буфером обмена!

Как установить DaVinci Resolve 17 в Linux

Как установить DaVinci Resolve 17 в Linux

Вам нужен отличный нелинейный видеоредактор для Linux? Заставьте Davinci Resolve 17 работать с этим руководством!

Как загрузить обои на рабочий стол Linux с помощью загрузчика обоев

Как загрузить обои на рабочий стол Linux с помощью загрузчика обоев

Wallpaper Downloader — удобный загрузчик и менеджер обоев для Linux. Он поддерживает большинство сред рабочего стола Linux и очень прост в использовании. Это руководство

Как установить ОС Tuxedo на свой компьютер

Как установить ОС Tuxedo на свой компьютер

Хотите протестировать ОС Tuxedo на компьютерах Tuxedo? Узнайте, как установить последнюю версию Tuxedo OS на свой ПК.

Как установить файл DEB в Linux

Как установить файл DEB в Linux

.DEB вариант № Что ты делаешь с этим? Узнайте о многих способах установки файлов DEB на ПК с Linux.

Как играть в Dying Light на Linux

Как играть в Dying Light на Linux

Dying Light — видеоигра в жанре survival horror, разработанная Techland и изданная Warner Bros Interactive Entertainment в 2015 году. Игра сосредоточена на

Как установить Neptune Linux на свой компьютер

Как установить Neptune Linux на свой компьютер

Neptune использует среду рабочего стола KDE Plasma 5 и стремится создать элегантную ОС. Вот как установить Neptune Linux на свой компьютер.

Попробуйте новый рабочий стол на основе оснастки Ubuntu

Попробуйте новый рабочий стол на основе оснастки Ubuntu

Хотите опробовать новую настольную операционную систему Ubuntu, основанную на Snap-пакетах? Узнайте, как развернуть его на виртуальной машине с помощью этого руководства.

Как играть в Undertale на Linux

Как играть в Undertale на Linux

Undertale — это двухмерная инди-ролевая игра 2015 года, разработанная и изданная разработчиком игр Тоби Фоксом. Это руководство расскажет о загрузке и установке Undertale на вашем компьютере.

Как играть в Total War: THREE KINGDOMS на Linux

Как играть в Total War: THREE KINGDOMS на Linux

Total War: Three Kingdoms — это пошаговая стратегия в реальном времени, разработанная Creative Assembly. Вот как играть на Linux.